หน่วยที่ 4 สถาปัตยกรรมซีพียู
การทำงานซีพียูประกอบด้วยส่วนต่างๆ
ดังต่อไปนี้
หน่วยประมวลผลตรรกะ (หน่วย 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 และจะพบได้ในเครื่องระดับเวิร์คสเตชั่นขึ้นไป
No comments:
Post a Comment