สถาปัตยกรรมซีพียู
การทำงานซีพียูประกอบด้วยส่วนต่างๆ ดังต่อไปนี้
หน่วยประมวลผลตรรกะ (หน่วย ALU)
1.การบวก ลบ คูณ และหาร ซึ่งนอกจากหน่วย ALU จะทำหน้าที่เป็นเครื่องคำนวณในการบวก
ลบ คูณ หารตัวเลขและการคำนวณ
ทางตรรกศาสตร์ซึ่งเป็นเปรียบเทียบเงื่อนไขตามหลักการทาวคณิตศาสตร์ เช่น
เปรียบเทียบจำนวน 2 จำนวนตามเงื่อนไข มากกว่า น้อยกว่า
เท่ากันหรือ
ไม่เท่ากับ ผลลัพธ์ที่ได้เป็นจริง T หรือเท็จ F ซึ่งรูปแบบของการคำนวณทางคณิตศาสตร์และตรรกะ
จะอยู่ในรูปของเลขฐานสองหรือข้อมูลแบบไบนารี่
สามารถทำการบวกเพื่อรวมข้อมูลของ รีจีสเตอร์ 2
ตัวเข้าด้วยกัน นอกจากนี้ยังมีวงจรสำหรับทำการลบได้โดยตรงอีกด้วย
2. หน่วยควบคุมหรือวงจรควบคุม
ในการประมวลผลข้อมูล ซีพียูจะต้องมีหน่วยควบคุมการประมวลผลตามคำสั่ง และมีการควบ
คุมการทำงานของส่วนต่างๆในระบบคอมพิวเตอร์
ไม่ว่าจะเป็นการควบคุมและจัดสรรสัญญาณนาฬิกาส่งออกไปให้ส่วนต่างๆอ้างอิงในการทำงาน
ตังอย่างที่เห็นได้ชัด เช่น
การควบคุมลำดับขั้นตอนการประมวลผล การประสานงานระกว่างหน่วยประมวลผล
กลางกับหน่วยความจำ เป็นต้นการทำ
งานของหน่วยประมวลผลกลางแบบพื้นฐาน
การทำงานของหน่วยประมวลผลกลางแบ่งออกตามหน้าที่ได้เป็น 5กลุ่มดังนี้
-
Decode-การตีความ 1 คำสั่งนั้นด้วยวงจรถอดรหัส (Decoder circuit) ตามจำนวนหลัก (BIT) ว่ารหัสนี้จะให้วงจรอื่นใดทำงานด้วยข้อมูลใด
- Execute – การทำงานตาม 1 คำสั่งนั้น คือ
วงจรใดในไมโครโปรเซสเซอร์ทำงาน เช่น วงจรบวก, วงจรลบ, วงจรเปรียบเทียบ, วงจรย้ายข้อมูล
- Memory – การติดต่อกับหน่วยความจำ
การใช้ข้อมูลที่อยู่ในหน่วยจำชั่วคราว (RAM, Register) มาใช้ในคำสั่งนั้นโดยอ้างที่อยู่ (Address)
- write back –การเขียนข้อมูลกลับ โดยมีหน่วยจำ Register ช่วยเก็บที่อยู่ของคำสั่งต่อไป
ภายหลังมีคำสั่งกระโดดบวกลบที่อยู่
การทำงานของหน่วยประมวลผลกลางแบบมี Pipeline
โดยการทำงานเหล่านี้ถ้าเป็นแบบพื้นฐานก็จะทำงานกันเป็นขั้นตอนเรียงตัวไป
เรื่อยๆแต่ในหลักความเป็นไปได้คือการทำงานในแต่ละส่วนนั้นคอนข้าง
จะเป็นอิสระออกจากกัน
จึงได้มีการจับแยกกันให้ทำงานขนานกันของแต่ละส่วนไปได้ หลักการนี้เรียกว่า Pipeline เป็นการทำงานการประมวลผลแบบ
ขนานในการไหลของแต่ละคำสั่ง (ILP: Instruction Level Parallelism) โดยข้อมูลที่เป็นผลจากการคำนวณของชุดก่อนหน้าจะถูกส่งกลับไปให้ชุดคำสั่งที่
ตามมาในช่องทางพิเศษภายในหน่วยประมวลผลเอง
การทำงานของหน่วยประมวลผกลางแบบมี Pipeline และเป็น Superscalar
การทำงานแบบขนานนี้สามารถทำให้มีความสามารถเพิ่มขึ้นได้อีกคือเพิ่มการทำงานแต่ละส่วนออกเป็นส่วนที่เหมือนกันในทุกกลุ่มแต่ให้ทำงานคน
ละสายชุดคำสั่งกัน
วิธีการนี้เรียกว่าการทำหน่วยประมวลผลให้เป็น Superscalar วิธีการทำให้มีหลายๆชุดคำสั่งทำงานได้ ในขณะเดียวกัน โดยงานหนัก
ของ Superscalar อยู่ที่ส่วนดึงชุดคำสั่งออกมา (Dispatcher) เพราะส่วนนี้ต้องตัดสินใจได้ว่าชุดคำสั่งไหนสามารถทำการประมวลผลแบบขนานได้
หลัก
การนี้ก็เป็นการทำการประมวลผลแบบในระดับการไหลของแต่ละคำสั่ง (ILP: Instruction Level Parallelism) เช่นกัน
สถาปัตยกรรมแบบ CISC: Complex Instruct on Set
Computing
เป็นสถาปัตยกรรมการออกแบบซีพียูที่ใช้ในเครื่องซีพียูทั่วๆไป
แต่เดิมแนวความคิดที่จะทำให้คอมพิวเตอร์ทำงานได้รวดเร็วขึ้น จะใช้วิธีการเพิ่มขีด
ความสามารถของคำสั่งทำให้คำสั่งหนึ่งต้องทำงานเพิ่มขึ้นและซับซ้อน
ด้วยวิธีนี้ทำให้สถาปัตยกรรมของตัวซีพียูต้องสนับสนุนชุดคำสั่งใหม่ๆ เพิ่มขึ้น
ประกอบด้วย ไซเคิล (Cycle) การทำงานของแต่ละคำสั่งจะใช้จำนวนไซเคิลไม่เท่ากัน
บางคำสั่งทำงานเสร็จภายในไซเคิล ความคิดนี้จึงกลายมาเป็น
คอมพิวเตอร์ในกลุ่ม CISC และความคิดนี้ได้พัฒนาต่อเนื่องมาเป็นลำดันจนถึงปัจจุบันซีพียูหลายตัว
เช่น 80386 80486 จนมาถึง Pentium 4 ก็ใช้แนวความ
คิดนี้
สถาปัตยกรรมแบบนี้จะทำให้การออกแบบวงจรภายในซับซ้อนมาก
แต่ง่ายกับโปรแกรมเมอร์ในการเรียนรู้คำสั่งเพราะการประมวลผลทั้งหมดจะ กระทำในตัวซีพียู
ซึ่งถ้าคำสั่งซับซ้อนมากๆก็จะทำให้การประมวลผลช้า
สถาปัตยกรรมแบบ RISC: Reduces Instruction Set
Computing
ปี ค.ศ.1975
กลุ่มนัดวิจัยแห่งมหาวิทยาลัยแคลิฟอร์เนีย ได้พัฒนาซีพียูที่มีสถาปัตยกรรมแบบ RISC: Reduces Instruction Set
Computing โดยให้ซีพียู
ทำงานด้วยไซเคิลที่แน่นอน
และลดจำนวนคำสั่งลงให้เหลือคำสั่งพื้นฐานมมากที่สุด แล้วใช้หลักการทำงานแบบไปป์ไลน์ (Pipeline) จึงนับว่าเป็น
สถาปัตยกรรมที่ได้ทำการแก้ปัญหาของ RISC โดยใช้การประมวลผลแบบง่ายๆเป็นการพัฒนาประสิทธิภาพของฮาร์ดแวร์ให้มีความเร็วสูงขึ้น
เนื่อง
จากออกแบบซีพียูไม่ซับซ้อนเหมือนอย่าง RISC จึงง่ายต่อการพัฒนาประสิทธิภาพของฮาร์ดแวร์คอมพิวเตอร์แบบ
RISC จึงทำงานได้เร็ว ซึ่งต่อมาบริษัท
ซัรไมโครซิสเต็มก็นำมาใช้เป็นซีพียูหลักในเครื่อง SPARC และจะพบได้ในเครื่องระดับเวิร์คสเตชั่นขึ้นไป
ไม่มีความคิดเห็น:
แสดงความคิดเห็น