สถาปัตยกรรมชุดคำสั่ง

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 เป็ นอย่ างไร
ให้ ทาแผนที่ความคิด (การบ้ าน)