หน่วยที่ 4

หน่วยที่ 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 และจะพบได้ในเครื่องระดับเวิร์คสเตชั่นขึ้นไป

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

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