สถาปัตยกรรมชุดคำสั่ง
Download
Report
Transcript สถาปัตยกรรมชุดคำสั่ง
บทที่ 5
การออกแบบโปรเซสเซอร์
(Processor Design)
โปรเซสเซอร์ และซีพยี ู
โปรเซสเซอร์ (Processor) จะเป็ นตัวประมวลผล
เพียงตัวเดียว
ซีพยี ู (CPU : Central Processing Unit) หมายถึง
หน่ วยประมวลผลกลางที่หมายรวมถึงตัว
ประมวลผล, หน่ วยประมวลผลทางคณิตศาสตร์
และตรรกะ (ALU) และหน่ วยควบคุม (Control Unit)
องค์ ประกอบของซีพยี ู
สถาปัตยกรรมของซีพยี ู
สถาปั ตยกรรมของซีพียูเป็ นตัวบ่ งบอกถึงลักษณะเฉพาะ และ
ลักษณะการทางานที่สาคัญของซีพียู
อาจจะเรียกอีกแบบหนึ่งว่ า “สถาปั ตยกรรมชุดคาสั่ง” (ISA :
Instruction Set Architecture)
ลักษณะเฉพาะของซีพียูนีก้ ล่ าวรวมไปถึง จานวนและประเภท
ของรีจสิ เตอร์ , วิธีการกาหนดโหมดของแอ็ดเดรสของ
หน่ วยความจา และการออกแบบชุดคาสั่งต่ าง ๆ (Instruction
Sets)
ปั จจุบันนีแ้ บ่ งออกเป็ น 2 กลุ่มคือ CISC (Complex Instruction
Set Computers) และ RISC (Reduced Instruction Set
Computers)
เปรียบเทียบซีพยี ูตระกูล CISC และ RISC
การใช้ หน่ วยความจา
ประสิทธิภาพ
การสนับสนุ นของคอมไพเลอร์
คุณลักษณะของคอมพิวเตอร์ แบบ CISC
มีการรวมเอาคุณสมบัตดิ ้ านต่าง ๆ เช่น การกาหนดโหมดของแอ็ดเดรส
(Addressing Mode) หรื อประเภทคาสัง่ (Instruction Type) เข้ า
ด้ วยกันเพื่อปรับปรุงขีดความสามารถในการทางาน
นักออกแบบมองว่าปริมาณการใช้ หน่วยความจา และเวลาที่ใช้ ในการ
เข้ าถึงต่าง ๆ ในการทางานของคอมพิวเตอร์ ต้องมองเป็ นราคาต่อหน่วย
สถาปั ตยกรรมแบบ CISC มีจานวน Addressing Mode หลายแบบ
ลักษณะนี ้ส่งผลให้ ชดุ คาสัง่ ที่ใช้ มีขนาด และใช้ เวลาในการประมวลผล
แตกต่างกัน
ผู้ใช้ ยอมรับและพอใจ เนื่องจากผู้ใช้ สามารถเพิ่มจานวนโอเปอเรชันบน
โปรแกรมที่มีขนาดเท่าเดิมได้
ยุคเชื่อมต่ อระหว่ าง CISC กับ RISC
เดิมคอมพิวเตอร์ ยคุ แรกจะประมวลผลชุดคาสัง่ ทีละคาสัง่ ในหนึง่
ช่วงเวลา
นักออกแบบได้ พยายามที่จะปรับปรุงอัตราการประมวลผลชุดคาสัง่ ให้
เพิ่มมากขึ ้นโดยใช้ วิธีการโอเวอร์ แลป (Overlap) ชุดคาสัง่ ให้ มีมากกว่า
ชุดคาสัง่ ในการประมวลผลแต่ละครัง้
วิธีการโอเวอร์ แลปดังกล่าวนี ้ต่อมารู้จกั กันในชื่อของ Pipelining และ
Superscalar
หลักการทัว่ ๆ ไป ของการประมวลผลชุดคาสัง่ คือคอมพิวเตอร์ จะโหลด
ชุดคาสัง่ ที่ต้องการประมวลผลมาจากหน่วยความจา เราเรี ยกขันตอนนี
้
้
ว่าดึงหรื อเฟ็ ตช์คาสัง่ (Fetch)
ยุคเชื่อมต่ อระหว่ าง CISC กับ RISC
หลังจากนันก็
้ จะทาการประมวลผลหรื อเอ็กซิควิ ต์ (Execute) แล้ วจึง
จะเฟ็ ตช์ชดุ คาสัง่ ต่อไปเข้ ามาหลังจากประมวลผลชุดคาสัง่ แรกเสร็จสิ ้น
วิธีการเพิ่มประสิทธิภาพด้ วยการโอเวอร์ แลปก็คือการเฟ็ ตช์ชดุ คาสัง่
ถัดไปเข้ ามาก่อนที่ชดุ คาสัง่ แรกจะทาเสร็จ เราเรี ยกว่า พรีเฟ็ ตช์
(Prefetch)
อีก เทคนิคที่คล้ ายกันเรี ยกว่าซุปเปอร์ สเกลลาร์ (Superscalar) ซึง่ เป็ น
เทคนิคที่ใช้ กบั โปรเซสเซอร์ ที่มีความสามารถรับชุดคาสัง่ เข้ าไป
ประมวลผลได้ ทีละหลาย ๆ ชุดคาสัง่ พร้ อม ๆ กัน
เทคนิคไปป์ไลน์และซุปเปอร์ สเกลลาร์ ไม่สามารถนามาใช้ กบั CISC ได้
เนื่องจาก CISC มีความยาวของชุดคาสัง่ ที่ไม่แน่นอน และ Addressing
mode ที่หลากหลายและซับซ้ อนทาให้ ลดประสิทธิภาพของ CISC ลง
ลักษณะเฉพาะของ RISC
หนึง่ ชุดคาสัง่ ต่อวงรอบ
ความยาวของชุดคาสัง่ คงที่
ติดต่อกับหน่วยความจาด้ วยคาสัง่ โหลดและสโตร์ เท่านัน้
การใช้ การกาหนดโหมดของแอ็ดเดรสที่เรี ยบง่าย
การใช้ โอเปอเรชันที่เรี ยบง่ายและมีจานวนจากัด
การหน่วงเวลาชุดคาสัง่ บางประเภท
การใช้ เทคนิคพรี เฟ็ ตช์ และสเปคคูเลทีฟ
การแบ่งหน้ าที่ให้ คอมไพเลอร์ จดั การ
กรณีตัวอย่ าง RISC : The SPARC
สถาปั ตยกรรมของโปรเซสเซอร์ และหน่ วยความจาของ SPARC
แยกกลุม่ รี จิสเตอร์ ระหว่าง Integer register และ Floating-point register
มี Branch delayที่ต้องการโปรแกรมเคาเตอร์ (PC) 2 ชุด
Processor state ประกอบด้ วยรี จิสเตอร์ 32 ชุด
ชุดคาสัง่ มีขนาดคงที่ 32 บิต
อินสตรัคชันรี จิสเตอร์ (IR)มีขนาด 32 บิต
หน่วยความจามีขนาด 32 บิตมีขนาดได้ ถง
ึ 232 ไบต์
มีการกาหนดใช้ MMU (Memory Mapping Unit) ทาให้ สามารถอ้ างอิงเนื ้อที่
บนหน่วยความจาได้ มากขึ ้น
กรณีตัวอย่ าง RISC : The SPARC
การกาหนดโหมดของแอ็ดเดรสของ SPARC (Addressing Mode)
register + register
register + sign-extended, immediate 13-bit constant
คำถำม
• ให้ นักเรียน บอกความหมายของซีพยี ู ประเภทของซีพยี ู รวมถึง
กระบวนการทางานของซีพยี ู
• สถาปัตยกรรม ไมโครโปรเซสเซอร์ แบบ RISC และ CISC เป็ นอย่ างไร
ให้ ทาแผนที่ความคิด (การบ้ าน)