ลักษณะโครงสร้างลำดับชั้นของระบบที่มีความซับซ้อนนั้น เป็นส่วนประกอบที่สำคัญมากของการออกแบบและการอธิบายคุณลักษณะ ผู้ออกแบบจะต้องการทราบลักษณะโครงสร้างของแต่ละระดับสำหรับการออกแบบแต่ละขั้นตอน ในแต่ละระดับระบบประกอบด้วยอุปกรณ์กลุ่มหนึ่งและความสัมพันธ์ระหว่างอุปกรณ์กลุ่มนั้น พฤติกรรมของแต่ละระดับสามารถกำหนดขึ้นมาได้จากการกำหนดนิยามที่กะทัดรัดของอุปกรณ์ประกอบในระดับล่างลงมา ผู้ออกแบบจึงต้องรับผิดชอบในสองเรื่องคือ โครงสร้าง และหน้าที่
- โครงสร้าง : วิธีการที่อุปกรณ์ต่าง ๆ เชื่อมต่อเข้าด้วยกัน
- หน้าที่ : การทำงานของส่วนประกอบแต่ละส่วนในฐานะเป็นส่วนหนึ่งของโครงสร้าง
แนวทางที่ใช้ในบทความนี้จึงเป็นดังนี้ ระบบคอมพิวเตอร์จะได้รับการอธิบายจากระดับบนสุด โดยเริ่มต้นจากการอธิบายส่วนประกอบหลัก ๆ อธิบายโครงสร้างและหน้าที่ แล้วจึงอธิบายส่วนประกอบย่อยของแต่ละองค์ประกอบหลักไปเรื่อย ตามลำดับโครงสร้างแบบลำดับชั้น
หน้าที่การทำงาน
โครงสร้างและหน้าที่ของเครื่องคอมพิวเตอร์โดยพื้นฐานนั้น สามารถอธิบายได้ดัง รูปที่ 1.1 ซึ่งแสดงให้เห็นส่วนประกอบหลักสี่ส่วน คือ- การประมวลผลข้อมูล (Data processing facility)
- ส่วนเก็บบันทึกข้อมูล (Data storage facility)
- ส่วนการเคลื่อนย้ายข้อมูล (Data movement apparatus)
- ส่วนการควบคุม (Control mechanism)
เครื่องคอมพิวเตอร์จะต้องมีความสามารถใน การประมวลผลข้อมูล (data processing) ข้อมูลอาจอยู่ในหลายรูปแบบ ทำให้ขอบเขตการประมวลผลข้อมูลนั้นกว้างขวางไปด้วย อย่างไรก็ตาม ในหัวข้อต่อ ๆ ไปจะอธิบายให้เห็นว่าวิธีการประมวลผลข้อมูล หรือชนิดของข้อมูลในระดับพื้นฐานนั้นมีเพียงไม่กี่อย่างเท่านั้น
เครื่องคอมพิวเตอร์จะต้องมีความสามารถใน การจัดเก็บข้อมูล (data storage) แม้ว่าเครื่องคอมพิวเตอร์จะทำการประมวลผลข้อมูลในทันทีคือ รับข้อมูลเข้ามา ทำการประมวลผล และส่งข้อมูลออกไปที่อุปกรณ์แสดงผลลัพธ์ อย่างน้อยเครื่องคอมพิวเตอร์จะต้องสามารถจัดเก็บข้อมูลไว้เป็นการชั่วคราว โดยเฉพาะข้อมูลที่กำลังทำงานอยู่ด้วยในขณะนั้น ดังนั้นหน้าที่พื้นฐานอีกประการหนึ่งคือ ความสามารถในการเก็บข้อมูลไว้ในระยะเวลาสั้น ๆ ส่วนหน้าที่ในการเก็บข้อมูลในระยะยาวนั้นก็มีความสำคัญไม่แพ้กัน แฟ้มข้อมูลถูกจัดเก็บไว้ในเครื่องคอมพิวเตอร์ก็เพื่อประโยชน์ในการนำข้อมูลมาใช้งานหรือแก้ไขในภายหลัง
เครื่องคอมพิวเตอร์จะต้องสามารถ เคลื่อนย้ายข้อมูล (data movement) จากภายในเครื่อง ฯ ไปยัังหรือมาจากอุปกรณ์อื่นได้ สิ่งแวดล้อมในการทำงานของเครื่องคอมพิวเตอร์ประกอบด้วยอุปกรณ์ที่ทำหน้าที่เป็นทั้งแหล่งที่มาของข้อมูลหรือแหล่งจัดเก็บข้อมูล เมื่อข้อมูลถูกนำมาจากหรือส่งไปที่อุปกรณ์ที่เชื่อมโยงอยู่กับเครื่องคอมพิวเตอร์โดยตรง กระบวนการนี้จะถูกเรียกว่า ไอโอ (Input/output or I/O) ส่วนอุปกรณ์จะเรียกว่า อุปกรณ์ต่อพ่วง (peripherals) เมื่อข้อมูลถูกเคลื่อนย้ายในระยะทางไกลจากอุปกรณ์ที่อยู่ไกลออกไปจะเรียกว่า การสื่อสารข้อมูล (data communication)
ประการสุดท้าย เครื่องคอมพิวเตอร์จะต้องมีความสามารถใน การควบคุม (control) หน้าที่การทำงานทั้งสามอย่างนี้ การควบคุมมักจะถูกกระทำผ่านผู้ใช้งานเครื่องคอมพิวเตอร์โดยใช้ คำสั่ง (instruction) ที่ถูกออกแบบมาเฉพาะ ภายในเครื่องคอมพิวเตอร์ หน่วยควบคุมการทำงาน (control unit) จะจัดการบริหารการใช้งานทรัพยากรต่าง ๆ และจัดการในด้านประสิทธิภาพสำหรับคำสั่งที่ได้รับต่อการทำงานของอุปกรณ์ที่ทำหน้าที่ต่าง ๆ ดังที่กล่าวมาแล้ว
การอธิบายในระดับทั่วไปนี้จะเห็นได้ว่า สิ่งที่เครื่องคอมพิวเตอร์จะต้องสามารถทำได้นั้นมีอยู่น้อยมาก รูปที่ 1.2 แสดงการทำงานทั้งสี่ประการของคอมพิวเตอร์คือ คอมพิวเตอร์ทำหน้าที่ในการเคลื่อนย้ายข้อมูล (รูปที่ 1.2a) จากอุปกรณ์ตัวหนึ่งหรือจากสายสื่อสารเส้นหนึ่งไปยังอุปกรณ์หรือสารสื่อสารอีกเส้นหนึ่ง คอมพิวเตอร์อาจทำหน้าที่เป็นอุปกรณ์จัดเก็บข้อมูล (รูปที่ 1.2b) ข้อมูลที่ถูกนำเข้ามาจากอุปกรณ์ภายนอก (การอ่านข้อมูล) หรือการส่งข้อมูลออกไปเก็บไว้ที่อุปกรณ์ภายนอก (การบันทึกข้อมูล) รูปสองรูปสุดท้ายแสดงการทำงานที่เกี่ยวข้องกับการประมวลผลข้อมูล (รูปที่ 1.2c) หรือทำการเปลี่ยนเส้นทางการเคลื่อนย้ายข้อมูลระหว่างอุปกรณ์บันทึกข้อมูลกับอุปกรณ์ภายนอก (รูปที่ 1.2d)
โครงสร้าง
รูปที่ 1.3 แสดงรูปร่างของเครื่องคอมพิวเตอร์แบบง่าย ๆ คอมพิวเตอร์มีการติดต่อกับสิ่งแวดล้อมด้วยวิธีการอย่างใดอย่างหนึ่ง โดยทั่วไปแล้วส่วนที่เชื่อมต่อกับสิ่งแวดล้อมภายนอกทั้งหมดถูกจัดให้เป็นอุปกรณ์ต่อพ่วง (Peripherals) หรือสายสื่อสาร (Communication Lines) ซึ่งจะให้กล่าวถึงความแตกต่างในลำดับต่อไป
หนังสือเล่มนี้ให้ความสำคัญกับโครงสร้างภายในเครื่องคอมพิวเตอร์ ซึ่งได้แสดงให้เห็นในระดับบนสุดของรูปที่ 1.4 องค์ประกอบที่สำคัญ 4 อย่าง คือ
- หน่วยประมวลผลกลาง (CPU : Central Processing Unit)
- หน่วยความจำหลัก (Main Memory)
- ไอโอ (I/O)
- การเชื่อมต่อภายในเครื่องคอมพิวเตอร์ (System Interconnection)
เครื่องคอมพิวเตอร์ในปัจจุบันอาจมีส่วนประกอบแต่ละชนิดมากกว่าหนึ่งตัว เช่นโดยทั่วไปเครื่องคอมพิวเตอร์จะมีหน่วยประมวลผลกลางเพียงตัวเดียว แต่ในหลายปีที่ผ่านมานี้มีการสร้างเครื่องคอมพิวเตอร์ที่มีหน่วยประมวลผลกลางหลายตัวทำงานอยู่ในเครื่องเดียวกันอุปกรณ์แต่ละชนิดจะได้รับการอธิบายเพิ่มเติมในส่วนที่สองของหนังสือเล่มนี้ อย่่างไรก็ตามอุปกรณ์ที่น่าสนใจมากที่สุดและมีความสลับซับซ้อนมากที่สุดคือ หน่วยประมวลผลกลาง (CPU) ซึ่งได้แสดงส่วนประกอบภายในไว้ในรูปที่ 1.5 ประกอบด้วยส่วนประกอบดังนี้
- ส่วนควบคุม (Control Unit) : ทำหน้าที่ควบคุมการทำงานของซีพียู
- ส่วนเอแอลยู (ALU : Arithmetic and Logic unit) : ทำหน้าที่ประมวลผลคำสั่งคณิตศาสตร์และคำสั่งทางตรรกะ
- รีจิสเตอร์ (Registers) : เป็นหน่วยบันทึกข้อมูลภายในตัวซีพียู
- ส่วนเชื่อมต่อภายในซีพียู (CPU Interconnection) : กลไกที่ช่วยให้ส่วนประกอบทั้งสามส่วนสามารถสื่อสารระหว่างกันได้
ส่วนประกอบแต่ละส่วนนี้ ได้รับการอธิบายรายละเอียดไว้ในส่วนที่สามของหนังสือซึ่งจะได้เห็นความสลับซับซ้อนที่เพิ่มขึ้นเมื่อนำไปใช้ในเทคนิคการประมวลผลแบบขนาน และออร์กาไนเซชั่นแบบไปป์ไลน์ การสร้างส่วนควบคุมนั้นก็มีแนวทางหลากหลายต่างกันออกไป เทคนิคที่นิยมใช้มากที่สุดคือ การใช้ไมโครโปรแกรม (Microprogrammed) โดยสาระสำคัญแล้วหน่วยควบคุมที่ใช้ไมโครโปรแกรมนั้นก็คือ การประมวลผลคำสั่งย่อย (Microinstruction) ที่กำหนดหน้าที่การทำงานของหน่วยควบคุม การใช้แนวทางนี้แสดงให้เห็นใน รูปที่ 1.6
1.3 ทำไมจึงต้องศึกษาเรื่องออร์กาไนเซชั่นและสถาปัตยกรรม
วารสาร IEEE/ACM Computer Curricula 2001 ซึ่งจัดทำโดย The Joint Task Force On Computing Curricula Of The IEEE (Institute of Electrical and Electronics Engineers) Computer Society and ACM (Association for Computing Machinery) ได้เสนอชื่อวิชาสถาปัตยกรรมคอมพิวเตอร์ให้เป็นหนึ่งในวิชาที่ควรบรรจุไว้ในหลักสูตรการศึกษาสำหรับสาขาวิชา Computer Science และ Computer Engineering ซึ่งข้อความตอนหนึ่งในวารสารดังกล่าวได้กล่าวไว้ดังนี้
"เครื่องคอมพิวเตอร์เป็นหัวใจของการคำนวณ ถ้าปราศจากเครื่องคอมพิวเตอร์แล้ววิชาที่เกี่ยวข้องกับการคำนวณส่วนใหญ่ในปัจจุบัน ก็จะกลายเป็นเพียงส่วนหนึ่งของทฤษฎีทางคณิตศาสตร์ การที่จะเป็นผู้เชี่ยวชาญในการคำนวณแขนงใดในปัจจุบันก็ตาม ผู้นั้นจะต้องไม่มองว่าคอมพิวเตอร์เป็นเพียงกล่องดำที่มีความสามารถในการคำนวณได้อย่างน่าอัศจรรย์ นักศึกษาที่เกี่ยวข้องกับด้านการคำนวณ ควรที่จะค้นคว้าหาความรู้ความเข้าใจเกี่ยวกับองค์ประกอบของเครื่องคอมพิวเตอร์ในด้านหน้าที่การทำงาน คุณลักษณะ ประสิทธิภาพ และความสัมพันธ์ระหว่างกัน นักศึกษาควรที่จะมีความเข้าใจสถาปัตยกรรมคอมพิวเตอร์ เพื่อที่จะได้สามารถวางโครงสร้างของโปรแกรมให้สามารถประมวลผลได้อย่างมีประสิทธิภาพ สำหรับการเลือกระบบคอมพิวเตอร์ในการใช้งาน ก็ควรที่จะมีความเข้าใจในข้อดีข้อเสียขององค์ประกอบต่าง ๆ เช่น ความเร็วของซีพียู และขนาดของหน่วยความจำ เป็นต้น"
เหตุผลที่สนับสนุนในการศึกษาสถาปัตยกรรมคอมพิวเตอร์ ได้แก่
- สมมุติว่านักศึกษาได้สำเร็จการศึกษา และก้าวเข้าไปสู่การทำงานจริง และถูกตั้งคำถามเพื่อให้เลือกเครื่องคอมพิวเตอร์ที่มีราคาต่อประสิทธิภาพสูงสุดสำหรับการใช้งานในองค์กรขนาดใหญ่ ความเข้าใจในเรื่องการเพิ่มค่าใช้จ่ายในองค์ประกอบส่วนต่าง ๆ เช่น การใช้ Cache ที่มีขนาดใหญ่ขึ้น หรือการใช้ซีพียูที่มีสัญญาณนาฬิกาสูงขึ้น จะมีส่วนสำคัญในการตัดสินใจเป็นอย่างยิ่ง
- ซีพียูจำนวนหนึ่งไม่ได้พัฒนาขึ้นมาสำหรับการใช้งานในเครื่องพีซีหรือเครื่องเซิร์ฟเวอร์ แต่เป็นเครื่องที่ทำงานเฉพาะด้าน ผู้ออกแบบอาจจะโปรแกรมคำสั่งด้วยภาษาซี ซึ่งสร้างขึ้นมาสำหรับระบบเรียลไทม์หรือระบบขนาดใหญ่ การแก้ไขปรับปรุงโปรแกรมอาจต้องอาศัยการใช้อุปกรณ์วิเคราะห์ตรรกะซึ่งแสดงความสัมพันธ์ระหว่าง สัญญาณอินเทอร์รัพท์จากตัวดักสัญญาณในเครื่องจักร และโค้ดภาษาเครื่องจักร (ซึ่งอธิบายไว้ในหนังสือเล่มนี้)
- นิยามที่ใช้ในสถาปัตยกรรมคอมพิวเตอร์สามารถนำไปประยุกต์ใช้ในวิชาอื่น ๆ เช่น ความรู้ในเรื่องที่คอมพิวเตอร์สนับสนุนสถาปัตยกรรมของภาษาสำหรับการโปรแกรม และสิ่งอำนวยความสะดวกในระบบปฏิบัติการจะช่วยเพิ่มความเข้าใจซึ่งกันและกัน
1.4 แนวทางการนำเสนอของหนังสือเล่มนี้
หนังสือเล่มนี้แบ่งออกเป็น 3 ส่วนคือ
ส่วนที่ 1 : นำเสนอภาพรวมของออร์กาไนเซชั่นคอมพิวเตอร์ และสถาปัตยกรรมคอมพิวเตอร์และอธิบายหัวข้อที่ใช้ในการพิจารณาในการออกแบบเครื่องคอมพิวเตอร์
ส่วนที่ 2 : กล่าวถึงส่วนประกอบหลักของเครื่องคอมพิวเตอร์ และการเชื่อมโยงระหว่างกัน ทั้งระหว่างอุปกรณ์ด้วยกันเอง และกับอุปกรณ์ภายนอก ส่วนนี้ยังอธิบายรายละเอียดเกี่ยวกับหน่วยความจำทั้งแบบภายนอก ภายใน และไอโอ ท้ายที่สุดได้อธิบายความสัมพันธ์ระหว่างสถาปัตยกรรมคอมพิวเตอร์ และระบบปฏิบัติการที่ใช้งานบนคอมพิวเตอร์เครื่องนั้น
ส่วนที่ 3 : อธิบายสถาปัตยกรรมภายใน และออร์กาไนเซชั่นของหน่วยประมวลผล ส่วนนี้เริ่มต้นด้วยการอธิบายเพิ่มเติมในส่วนการคำนวณทางคณิตศาสตร์ จากนั้นจึงอธิบายในเรื่องสถาปัตยกรรมของชุดคำสั่ง ส่วนที่เหลือได้กล่าวถึงโครงสร้างและหน้าที่ของหน่วยประมวลผล รวมทั้งการทำงานของหน่วยประมวลผลแบบ RISC
ไม่มีความคิดเห็น:
แสดงความคิดเห็น