โครงสร้างระบบคอมพิวเตอร์



เราสามารถแบ่งโครงสร้างหลัก ๆ ของระบบคอมพิวเตอร์ได้เป็น 3 ส่วนดังนี้


1. อินพุต - เอาท์พุต (Input - Output) เป็นส่วนของคอมพิวเตอร์ที่ใช้ติดต่อกับโลกภายนอกโดยรับ-ส่งข้อมูลกับคอมพิวเตอร์ เพื่อให้กลไกภายในตรับไปปฏิบัติโดยผ่านทางอินพุตทำให้ผู้ใช้สามารถรับทราบผลการปฏิบัติงานของเครื่องได้ ตัวอย่างของอุปกรณ์อินพุต ได้แก่ แป้นพิมพ์ ตัวขับดิสก์ เป็นต้น และตัวอย่างของอุปกรณ์เอาท์พุต ได้แก่ จอภาพและเครื่องพิมพ์ เป็นต้น
                   2. หน่วยประมวลผลกลาง หรือ ซีพียู (Central Processing Unit: CPU) เป็นส่วนที่ทำหน้าที่ปฏิบัติตามคำสั่งที่ได้รับมาจากอินพุต

หรือนำเอาข้อมูลจากส่วนอินพุตมาประมวลผล เพื่อให้ได้ผลลัพธ์ที่ต้องการ การปฏิบัติงานตามคำสั่งหรือการประมวลผลนี้เราเรียกว่าการเอ็กซีคิ้ว
(execute)การเอ็กซีคิ้วชุดคำสั่งหรือโปรแกรมเรียกว่าการรัหรืออาจกล่าวว่าโปรแกรมถูกเอ็กซีคิ้ว


หน่วยประมวลผลกลางเราสามารถแบ่งย่อยลงไปได้อีก 2 ส่วนคือ

                   -หน่วยควบคุม ( control unit ) มีหน้าที่ควบคุมการทำงานของอุปกรณ์ต่าง ในระบบทั้งหมดให้มีการทำหน้าที่ให้ถูกต้อง
                   -หน่วยคำนวณ ( arithmetic logic unit ) มีหน้าที่ในการคำนวณทางด้านคณิตศาสตร์
เช่น บวก ลบ คูณ หาร และงานทางด้านตรรกศาสตร์ เช่น AND OR นอกจากนี้ยังสามารถทำโอเปอร์ชั่นอื่นๆ อีก เช่น การเลื่อนบิต ( shift ) หรือการทำคอมพลีเมนต์ ( complement ) เพื่อสลับค่าตัวเลขจากบวกเป็นลบ หรือจากลบเป็นบวก
เช่น -5 หรือ +5 เป็นต้น สำหรับหน่วยควบคุมมีหน้าที่ควบคุมการทำงานส่วนต่างๆ เป็นไปตามลำดับขั้นตอนที่ถูกต้อง
อาศัยเทคโนโลยีก้าวหน้าในปัจจุบัน เราสามารถผลิตซีพียู ลงบนแผงวงจรรวมหรือไอซี (Integrated
Circuit) ที่มีขนาดเล็ก ๆ ได้ และเราเรียกกันว่าไมโครโปรเซสเซอร์ หรือ โปรเซสเซอร์
                   3.หน่วยความจำ (Memory) เป็นอุปกรณ์ที่สร้างขึ้นเพื่อสามารถเก็บข้อมูลหรือคำสั่งที่คอมพิวเตอร์  ต้องการใช้เอาไว้ ดังนั้นหน่วยความจำจึงเป็นสิ่งจำเป็นมาก ในคอมพิวเตอร์ขนาดใหญ่ๆ อาจมีหน่วยความจำขนาดหลายเมกกะไบต์ (106 ไบต์) หรือ หลายจิกกะไบต์ (109 ไบต์ ) เราอาจแบ่งหน่วยความจำออกเป็น 2 ประเภทใหญ่ คือ
                   - หน่วยความจำปฐมภูมิ เป็นหน่วยความจำที่ติดต่อกับซีพียูโดยตรงมี 2 ชนิดคือ แบบที่ข้อมูลที่เก็บไว้ไม่สูญหาย
แม้ไม่มีไฟฟ้าป้อน เป็นหน่วยความจำที่เรียกกันทั่วไปว่า รอม ( Read Only Memory : ROM ) ข้อมูลที่เก็บไว้ภายใน  ถูกสร้างขึ้นในขณะที่สร้างหน่วยความจำจากโรงงาน ผู้ผลิต และไม่สามารถแก้ไขได้ (แต่ในปัจจุบันหน่วยความจำประเภทนี้ได้รับการพัฒนา
ให้สามารถบันทึกและลบข้อมูลภายในได้ แต่ต้องอาศัยอุปกรณ์พิเศษเฉพาะหน่วยความจำชนิดนี้ ได้แก่ programmable ROM หรือ PROM และ erasable PROM หรือ EPROM ) ส่วนหน่วยความจำอีกชนิดหนึ่งคือ แรม ( Random  Access Memory , RAM ) ข้อมูลที่เก็บไว้จำเป็นต้องใช้กระแสไฟเพื่อรักษาข้อมูลให้คงอยู่ ถ้าไม่มีกระแสไฟฟ้าข้อมูลที่เก็บไว้ก็หายไปหมด
                   -หน่วยความจำทุติยภูมิ หน่วยความจำประเภทนี้ เราจะไม่ถือเป็นส่วนหนึ่งของหน่วยประมวลผล แต่เป็นส่วนหนึ่งของอุปกรณ์อินพุต-เอาท์พุตมากกว่า ตัวอย่างของหน่วยความจำ ประเภทนี้ได้แก่ ดิสก์ เทป เป็นต้น เพื่อให้เกิดความเข้าใจในการศึกษาระบบปฏิบัติการ การจัดแบ่งโครงสร้างของระบบคอมพิวเตอร์อาจแตกต่างจากที่เคยพบมา เราจะแบ่งโครงสร้างของระบบคอมพิวเตอร์เป็นดังนี้
                   1. ระบบภายใน ในส่วนนี้ประกอบไปด้วย ซีพียู และหน่วยความจำปฐมภูมิ ซึ่งต่อไปนี้จะเรียกส่วนนี้ว่าเป็นเครื่องคอมพิวเตอร์ หรือ คอมพิวเตอร์
                   2. ระบบภายนอก ในส่วนนี้คือ ส่วนอุปกรณ์ อินพุต-เอาท์พุต และหน่วยความจำทุติยภูมิ ทั้งหมดนี้เราเรียกว่าเป็นอุปกรณ์รอบข้าง (peripheral) เป็นการแสดงการติดต่อข้อมูลในระบบคอมพิวเตอร์ ซึ่งยังคงเหมือนกับ แต่ลดความยุ่งยากลง เพื่อให้ดูเข้าใจง่ายขึ้น ในส่วนของอุปกรณ์
อินพุตจะรับข้อมูล หรือ รับคำสั่ง แล้วส่งให้ซีพียูประมวลผล เมื่อซีพียูมีข้อมูลจะส่งกลับให้ผู้ใช้ ซีพียูจะส่งข้อมูลไปทางอุปกรณ์เอาท์พุต ในการทำงานของซีพียูบางครั้งซีพียูอาจส่งข้อมูลไปเก็บ เอาไว้ในหน่วยความจำทุติยภูมิ เช่น ดิสก์ ในลักษณะนี้ดิสก์จะทำหน้าที่เป็นอุปกรณ์เอาท์พุต
และในทำนองเดียวกัน ซีพียูอาจรับหรือต้องการข้อมูลมาจากดิสก์เช่นเดียวกัน ซึ่งในกรณีนี้ดิสก์จะเป็นอุปกรณ์อินพุต นั่นคือ หน่วยความจำทุติยภูมิสามารถเป็นได้ทั้งอุปกรณ์อินพุต และ เอาท์พุตการที่เราแยกหน่วยความจำปฐมภูมิกับหน่วยความจำทุติยภูมิออกกัน เนื่องจากว่าหน่วยความจำปฐมภูมินั้น ติดต่อกับซีพียูโดยตรงไม่ต้องผ่านอุปกรณ์อื่น แต่สำหรับหน่วยความจำทุติยภูมิเป็นอุปกรณ์ภายนอกแยกออกไป และ ข้อสำคัญก็คือ การติดต่อระหว่างอุปกรณ์อินพุต-เอาท์พุตและหน่วยความจำทุติยภูมิต้องมีการอุปกรณ์ช่วยเหลือ
การจัดการหน่วยความจำ
                   การจัดการหน่วยความจำเป็นหน้าที่อีกประการหนึ่งของ OS หน่วยความจำเป็นองค์ประกอบหนึ่งในการพิจารณาขีดความสามารถของเครื่องคอมพิวเตอร์ ถ้าคอมพิวเตอร์มีหน่วยความจำมาก ขีดความสามารถในการทำงานก็จะเพิ่มขึ้นด้วยโปรแกรมที่มีความสลับซับซ้อนและมีความสามารถมากมักต้องการหน่วยความจำปริมาณมากด้วย แต่หน่วยความจำเป็นทรัพยากร
ที่มีราคาแพง และในเครื่องคอมพิวเตอร์ขนาดเล็กหน่วยความจำมีขนาดจำกัด ทำให้เราไม่สามารถขยายขนาดหน่วยความจำได้มากตามที่ต้องการ จึงจำเป็นต้องใช้หน่วยความจำที่มีอยู่ให้เกิดประโยชน์สูงสุด เพื่อความสะดวกของผู้ใช้ เราจึงยกงานการจัดการหน่วยความจำนี้ให้เป็นหน้าที่ของ OS เช่น ตรวจดูว่าโปรแกรมใหม่จะถูกนำไปวางไว้ในหน่วยความจำที่ไหน? เมื่อใด? หน่วยความจำไหนควรถูกใช้ก่อนหรือหลัง? โปรแกรมไหนจะได้ใช้หน่วยความจำก่อน?
การจัดการหน่วยความจำของ OS นั้นมีการใช้มาตรการหรือยุทธวิธีในการจัดการอยู่ 3 ประการ
1.  ยุทธวิธีการเฟตซ์ (fetch strategy)
2. ยุทธวิธีการวาง (placement strategy)
3. ยุทธวิธีการแทนที่ (replacement strategy)

การจัดการโปรเซสเซอร์   
                   โปรเซสเซอร์เป็นทรัพยากรประเภทหนึ่งของระบบ ในบางระบบมีโปรเซสเซอร์อยู่เพียงตัวเดียวคือซีพียู แต่ในบางระบบก็มีโปรเซสเซอร์หลายตัวช่วยซีพียูทำงานเช่น โปรเซสเซอร์ช่วยงานคำนวณ ( math-coprocessor) และโปรเซสเซอร์ควบคุมอินพุต-เอาต์พุต เป็นต้น เนื่องจาก โปรเซสเซอร์มีราคาแพงมากเราจึงควรจัดการให้มีการใช้งานโปรเซสเซอร์ให้คุ้มค่าที่สุด โดยพยายามให้มันทำงานอยู่ตลอดเวลา เมื่อกล่าวถึงตัวจัดคิวในระยะสั้น ก็คงต้องกล่าวถึงตัวจัดคิวในระยะยาวด้วย (long-term scheduler)
                   การทำงานของตัวจัดคิวในระยะยาวมีความแตกต่างกับตัวจัดคิวในระยะสั้นอยู่ในบางส่วน การจัดคิวในระยะสั้นเป็นการจัดคิวในระดับโปรเซส
และทำหน้าที่คัดเลือกโปรเซสในสถานะพร้อมและส่งเข้าไปอยู่ในสถานะรัน ส่วนการจัดคิวในระยะยาวจะเป็นการจัดคิวในระดับ "งาน"
ไม่ใช่ระดับ "โปรเซส" เมื่อผู้ใช้ส่งงานเข้ามาในระบบ งานเหล่านี้จะเข้าไปรออยู่ในคิวงานเมื่อระบบอยู่ในสภาพพร้อมที่จะรับ
โปรเซสใหม่ได้



 จากรูปจะเห็นว่ามี Main bus เชื่อมต่อทั้ง 3 ส่วนเข้าด้วยกัน
                   ภาพรวมโครงสร้างระบบคอมพิวเตอร์ มีองค์ประกอบโดยรวม 4 ส่วน ที่ประกอบกันขึ้นเป็นระบบ ดังนี้
1.  Processor  คือ หน่วยประมวลผล (CPU) ซึ่งเป็นหน่วยในการประมวลผลและควบคุมการทำงาน
2.  Main Memory : หน่วยความจำหลัก เป็นหน่วยความจำจริง(real memory)  หรือหน่วยความจำหลัก(primary memory)  เก็บข้อมูลแบบชั่วคราวลบเลือนได้
3. I/O modules : อุปกรณ์ไอโอ  เป็นหน่วยในการนำเข้าและแสดงผลข้อมูล  เช่น
                - อุปกรณ์หน่วยความจำสำรอง (secondary memory devices): เป็นอุปกรณ์สำหรับ
หน่วยความจำประเภทที่ 2 เช่น Disk หรือ  Harddisk หรืออาจจะเป็น File อย่างหนึ่ง  พวก File พิเศษ
                - อุปกรณ์สื่อสาร (communications equipment ) : อุปกรณ์ในการสื่อสาร หรือส่งสัญญาณข้อมูลระหว่างเครื่อง  4.  System bus  : ระบบบัส คือ ช่องทางการขนส่งข้อมูล จะทำหน้าที่ในการเชื่อมข้อ Processor, Main Memory และ I/O modules เข้าด้วยกัน

โครงสร้างระบบคอมพิวเตอร์

                   1.1 Microprocessor (ไมโครโปรเซสเซอร์)
  ไมโครโพรเซสเซอร์ 
                   การทำงานทั้งหมดของไมโครคอมพิวเตอร์จะถูกควบคุมด้วยไมโครโพรเซสเซอร์ โดยทำหน้าที่เป็นหน่วย ประมวลผลกลาง การทำงานของไมโครโพรเซสเซอร์จะทำงานตามคำสั่งที่เราป้อนให้กับมัน ในปัจจุบันไมโคร โพรเซสเซอร์ ที่ใช้กันมีอยู่หลายรุ่น ถ้าหากเป็นคอมพิวเตอร์ IBM PC ที่ใช้กันทุกวันนี้จะเป็น ไมโครโพรเซสเซอร์ของบริษัทอินเทล หรือที่เรียกกันว่าไมโครโพรเซส เซอร์ตระกูลอินเทล ซึ่งมีอยู่หลายรุ่นในการพัฒนาไมโครโพรเซสเซอร์รุ่นใหม่ๆ จะพัฒนาให้ทำงานได้เร็วขึ้นมีชุดคำสั่งมากขึ้นมีการพัฒนารีจิสเตอร์ให้มีประสิทธิภาพดีขึ้น และ อ้างหน่วยความจำได้มากขึ้นเครื่องคอมพิวเตอร์ IBM PC มีการพัฒนาออกมา หลายรุ่น เครื่องรุ่นใหม่ๆ จะใช้ ไมโครโพรเซสเซอร์ที่ทำงาน ได้เร็วขึ้นไมโครโพรเซสเซอร์ที่นิยมใช้กันในคอมพิวเตอร์ IBM PC รุ่นแรกๆ ถึงรุ่น ปัจจุบันมีดังนี้

1. ไมโครโพรเซสเซอร์ 8088/808

                   คอมพิวเตอร์ IBM PC รุ่นแรกจะเป็นคอมพิวเตอร์แบบ 16 บิต โดยใช้ CPU ที่เป็นไมโครโพรเซสเซอร์เบอร์ 8088 เรียกคอมพิวเตอร์รุ่นนี้ว่ารุ่น XT หรือ PC/XT ส่วนประกอบภายในจะกระทำกับข้อมูลขนาด 16 บิต จำนวน 14 ตัว โดยการประมวลผลภายในจะกระทำกับข้อมูลขนาด 16 บิต แต่การติดต่อกับอุปกรณ์ภายนอก CPU จะใช้บัสข้อมูล ขนาด 8 บิต CPU รุ่นนี้จะมีสายแอดเดรสทั้งหมด 20 เส้นทำให้อ้างตำแหน่งได้ 1 MB สำหรับ CPU รุ่น 8086 โครงสร้างภายในจะเหมือนกับรุ่น 8088 แต่จะติดต่อกับอุปกรณ์ภายนอกด้วยบัสข้อมูลแบบ 16 บิต จึงเรียกรุ่น 8086 ว่าเป็น 16 บิตที่แท้จริง 


2. ไมโครโพรเซสเซอร์ 80286
                   ไมโครโพรเซสเซอร์รุ่นนี้เรียกสั้น ๆ ว่า 286 เป็นรุ่นที่พัฒนาต่อจาก 8086 มีประสิทธิภาพสูงมากใช้ในเครื่อง คอมพิวเตอร์ IBM PC/AT บัสข้อมูลของไมโครโพรเซสเซอร์รุ่นนี้เป็นแบบ 16 บิต แต่มีแอดเดรสบัส 24 เส้นทำให้อ้างตำแหน่งของ ข้อมูลได้มาก ขึ้นการทำงานของ 286 จะมีสองแบบคือแบบเรียลโหมด และแบบโปรเทคต์โหมด โดย แบบเรียลโหมดการทำงานจะเหมือนกับ 8086 อ้างหน่วยความจำได้ 1MB แต่แบบโปรเทคต์โหมดจะติดต่อกับ หน่วยความจำได้มากที่สุดเท่าที่มีหน่วยความจำต่ออยู่ แต่ ไม่เกิน 16 MB การทำงานของไมโครโพรเซสเซอร์รุ่นนี้ สามารถ ทำงานหลายโปรแกรมในเวลาเดียวกันได้ เรียกการทำงานแบบ นี้ว่า มัลติทาสกิ่ง นอกจากนี้ 286 ยังทำงานท ี่ความถี่สัญญาณที่สูงขึ้น ทำให้ CPU ทำงานได้เร็วมากขึ้น

3. ไมโครโพรเซสเซอร์ 80386
                   เป็นรุ่นที่พัฒนาจากรุ่น 286 ให้ทำงานได้ดีขึ้นใช้สัญญาณนาฬิกาที่มีความถี่สูงขึ้น รีจิสเตอร์เป็นแบบ 32 บิต ดังนั้น การโอนย้าย ข้อมูลจะเป็นแบบ 32 บิตสามารถอ้างหน่วยความจำได้สูงถึง 4000 MB สามารถอ้างหน่วยความจำ ได้ทั้งแบบเรียลโหมด และแบบโปรเทคต์โหมด ไมโครโพรเซสเซอร์รุ่นได้ออกมาสองรุ่นคือ 80386DX และ 80386SX โดย 80386DX จะใช้บัส ข้อมูลขนาด 32 บิต บัสแอดเดรสขนาด 32 บิต ส่วน 80386SX ใช้บัสข้อมูล ภายนอกขนาด 16 บิต และใช้แอดเดรสบัสขนาด 24 บิต

4. ไมโครโพรเซสเซอร์ 80486
                   เป็นรุ่นที่พัฒนาต่อจากรุ่น 386 โดยใช้สัญญาณนาฬิกาที่เร็วกว่าและมีหน่วยความจำแคชประกอบอยู่ภายใน ไมโครโพรเซสเซอร์รุ่น ได้ออกมาหลายรุ่นคือ 486DX เป็นรุ่นที่มีหน่วยประมวลผลร่วมทางคณิตศาสตร์ประกอบ อยู่ภายใน รุ่น 486SX เป็นรุ่นที่มีราคา ถูกลงโดยตัดหน่วยประมวลผลร่วมทางคณิตศาสตร์ออกไป รุ่น 486DX2 และ DX4 เป็นรุ่นที่พัฒนาให้ทำงานได้เร็วขึ้นเรียกว่า Overdrive Processor โดยจะเพิ่มความถี่ของสัญญาณนาฬิกาภายใน จากสัญญาณนาฬิกาภายนอก 2 และ 3 เท่าตามลำดับสำหรับ หน่วยความจำแคชเป็นหน่วยความจำที่ทำให้ คอมพิวเตอร์ทำงานได้เร็วขึ้นถ้าหาก CPU ทำงานร่วมกับหน่วยความจำทั่วไปบางครั้ง CPU ทำงานได้เร็วกว่า เวลาที่หน่วยความจำทำงาน ทำให้ CPU ต้องหยุดรอในการอ่านเขียนข้อมูกับหน่วยความจำ จึงมีการ นำหน่วยความจำ แคชมาใช้ โดยแคชเป็นหน่วยความจำประเภทหนึ่งที่ทำงานได้เร็วมาก และจะมีตัวควบคุมแคช ทำหน้าที่เก็บ ข้อมูลที่ CPU ต้องการใช้บ่อย ๆ เอาไว้ เมื่อ CPU ทำงาน CPU จะหาข้อมูลในแคชก่อนถ้าไม่มีข้อมูลที่ต้องการ CPU จะไปหา ข้อมูลในหน่วยความจำ RAM ซึ่งทำงานช้ากว่าหน่วยความจำแคช

5. ไมโครโพรเซสเซอร์เพนเทียม
                   เป็นไมโครโพรเซสเซอร์ที่ถูกพัฒนาให้มีประสิทธิภาพสูงขึ้น บัสข้อมูลในการติดต่อกับอุปกรณ์ภายนอกเป็นแบบ 64 บิต สามารถอ้างหน่วยความจำได้มากขึ้น มีหน่วยความจำแคชภายในขนาดใหญ่ขึ้นในไมโครโพรเซสเซอร์จะ ทำงาน ออกเป็นสองส่วน คือ Execute Unit (EU) และ Bus Interface Unit (BIU) ดังรูป การทำงานของ EU จะทำหน้าที่ ประมวลผล รหัสคำสั่งและข้อมูลที่ได้รับมาจาก BIU การเปลี่ยนแปลงหรือการกระทำกับข้อมูลใด ๆ จะต้องเกิดจากส่วย EU จะประกอบ ด้วยรีจิสเตอร์ที่ใช้งานทั่วไปได้แก่ AX, BX, CX, DX สแตกพอยน์เตอร์ (SP) เบสพอยน์เตอร์ (BP) ซอร์สอินเด็กซ์ (SI) เดสทิเนชันอินเด็กซ์ (DI) รีจีสเตอร์แฟลก หน่วยควบคุม รวมทั้งหน่วยประมวลผลทางคณิตศาสตร์และลอจิกที่เรียกว่า ALU ส่วน BIU จะทำหน้าที่เชื่อมต่อบัสในการส่งข้อมูล ต่าง ๆ ควบคุมการเข้าถึงหน่วยความจำและการติดต่อกับอุปกรณ์ภายนอกต่าง ๆ ของตัวไมโครโพรเซสเซอร์ ประกอบด้วย หน่วยควบคุมบัส รีจิสเตอร์เซกเมนต์ วงจรลอจิกที่ใช้อ้างตำแหน่งหน่วยความจำ เป็นต้น ในโพรเซส เซอร์โมเดลเราจะเห็นว่าประกอบด้วยรีจิสเตอร์ต่าง ๆ มากมาย โดยรีจิสเตอร์หมายถึงหน่วยเก็บข้อมูลชั่วคราว ที่มีหน้าท ี่เฉพาะภายในไมโครโพรเซสเซอร์
                   การให้คอมพิวเตอร์ทำงานคือการให้ไมโครโพรเซสเซอร์ทำงานโดยจะเริ่มจากการอ่านข้อมูลจากหน่วยความจำ โปรแกรมเข้ามาในตัวไมโครโพรเซส เซอร์จากนั้น จะถอด รหัสคำสั่งและทำงานตามคำสั่งเมื่อทำงานตาม











ไม่มีความคิดเห็น:

แสดงความคิดเห็น