สถาปัตยกรรมคอมพิวเตอร์ (Comput

Download Report

Transcript สถาปัตยกรรมคอมพิวเตอร์ (Comput

สถาปัตยกรรมคอมพิวเตอร์
(Computer Architecture)
น.ท.ไพศาล โมลิสกุลมงคล
สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
1
บทที่ 12
หน่ วยควบคุมและเส้ นทางข้ อมูล
(Control Unit and Data path)
สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
2
หน่ วยควบคุม (Control Unit)

ฟั งก์ชนั ของโปรเซสเซอร์
Opcode
 การกาหนดโหมดของแอ็ดเดรส
 รี จิสเตอร์

อินพุต/เอาต์พตุ โมดูลอินเทอร์ เฟซ (I/O Module Interface)
 เมมโมรี โมดูลอินเทอร์ เฟซ (Memory Module Interface)
 โครงสร้ างการโปรเซสอินเทอร์ รัพต์


ทัง้ 6 ประการนี ้เป็ นสิง่ ที่โปรเซสเซอร์ ต้องทา โดยการควบคุมของ
“หน่วยควบคุม” (Control Unit)
สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
3
ความสัมพันธ์ของหน่วยควบคุม, เส้ นทางข้ อมูล หน่วยความจา และอินพุต/เอาต์พตุ
สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
4
ไมโครโอเปอเรชัน (Micro-Operation)



ชุดของวงรอบคาสัง่ (Instruction Cycle) มีวงรอบเฟ็ ตช์ (fetch),
อินไดเร็กต์ (indirect), เอ็กซิคิวต์ (execute) และอินเทอร์ รัพต์
(interrupt) เป็ นหน่วยย่อย ๆ ประกอบอยูภ่ ายใน
แต่ละหน่วยย่อยจะมีขนตอนย่
ั้
อย ๆ หลายขันตอนที
้
่เรี ยกว่า “ไมโครโอ
เปอเรชัน” (Micro Operation)
รี จิสเตอร์ ในซีพียู ประกอบด้ วย
เมมโมรี แอ็ดเดรสรี จิสเตอร์ (Memory Address Register : MAR)
 เมมโมรี บฟ
ั เฟอร์ รีจิสเตอร์ (Memory Buffer Register : MBR)
 โปรแกรมเคาเตอร์ (Program Counter : PC)
 อินสตรัคชันรี จิสเตอร์ (Instruction Register : IR)

สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
5
t1 :MAR <-- (PC)
t2 :MBR <-- Memory
PC <-- (PC)+I
t3 :IR <-- (MBR)
การไหลของข้ อมูลในวงจรเฟ็ ตช์
สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
6
t1 :MAR <-- (IR(address))
t2 :MBR <-- Memory
t3 :IR(address) <-(MBR(address))
การไหลของข้ อมูลในวงจรอินไดเร็กต์
สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
7
t1 :MBR <-- (PC)
t2 :MAR <-- save_address
PC <-- routine_address
t3 :Memory <-- (MBR)
การไหลของข้ อมูลในวงจรอินเทอร์ รัพต์
สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
8
วงรอบเอ็กซิควิ ต์



ไมโครโอเปอเรชันสาหรับวงรอบเอ็กซิควิ ต์จะแตกต่างจากไมโครโอเปอเร
ชันในวงรอบเฟ็ ตช์, อินไดเร็กต์ และอินเทอร์ รัพต์
ในวงรอบเอ็กซิควิ ต์จะเปลี่ยนไปตามโอเปอเรชันที่โปรเซสเซอร์ ทางาน
Add R1, X
ไมโครโอเปอเรชันจะเป็ น
t1 : MAR <-- (IR(Address))
t2 : MBR <-- Memory
t3 : R1 <-- (R1) + (MBR)
สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
9
โฟว์ชาร์ ตของวงรอบคาสัง่
สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
10
ลาดับวงรอบคาสัง่
สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
11
การควบคุมของโปรเซสเซอร์

ฟั งก์ชนั พื ้นฐานของหน่วยควบคุม
กาหนดฟั งก์ชนั พื ้นฐานของโปรเซสเซอร์
 อธิบายไมโครโอเปอเรชันที่โปรเซสเซอร์ ทา
 กาหนดฟั งก์ชน
ั ที่หน่วยควบคุมต้ องทาเพื่อให้ เกิดไมโครโอเปอเรชัน


ฟั งก์ชนั พื ้นฐานของโปรเซสเซอร์
ALU
 รี จิสเตอร์
 เส้ นทางข้ อมูลภายใน
 หน่วยควบคุม

สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
12
การควบคุมของโปรเซสเซอร์

กลุม่ ของไมโครโอเปอเรชัน
ย้ ายข้ อมูลจากรี จิสเตอร์ หนึง่ ไปยังรี จิสเตอร์ อื่น
 ย้ ายข้ อมูลจากรี จิสเตอร์ ไปยังอินเทอร์ เฟซภายนอก เช่น บัสของระบบ
 ย้ ายข้ อมูลจากอินเทอร์ เฟซภายนอกเข้ ามายังรี จิสเตอร์
 ทาโอเปอเรชันทางด้ านคณิตศาสตร์ และตรรกะ โดยใช้ รีจิสเตอร์ สาหรั บอินพุต
และเอาต์พตุ


งานหลักของหน่วยควบคุม
การจัดลาดับ (Sequencing)
 การเอ็กซิคิวต์ (Execution)

สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
13
สั ญญาณควบคุม (Control Signal)

อินพุตของหน่ วยควบคุม
สัญญาณนาฬิกา (Clock)
 อินสตรัคชันรี จิสเตอร์ (Instruction register)
 แฟ็ ก (Flag)
 สัญญาณควบคุมจากคอนโทรลบัส (Control signals from control bus)


เอาต์ พุตของหน่ วย
สัญญาณควบคุมภายในโปรเซสเซอร์ (Control signals within the
processor)
 สัญญาณควบคุมไปยังคอนโทรลบัส (Control signals to control bus)

สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
14
โมเดลของหน่วยควบคุม
สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
15
ตัวอย่างเส้ นทางข้ อมูลและสัญญาณควบคุมที่มี AC เพียงตัวเดียว
สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
16
ตาราง ไมโครโอเปอเรชันและสัญญาณควบคุม
สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
17
การจัดโครงสร้ างภายในโปรเซสเซอร์
สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
18
ซีพียทู ี่มีบสั ภายใน
สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
19
โครงสร้ างฮาร์ ดแวร์

อินพุตของหน่ วยควบคุม
สัญญาณนาฬิกา (Clock)
 อินสตรัคชันรี จิสเตอร์ (Instruction register)
 แฟ็ ก (Flag)
 สัญญาณควบคุมจากคอนโทรลบัส (Control signals from control bus)


หน่วยควบคุมอย่างง่ายจะมีอินพุตเป็ นตรรกะเฉพาะอย่างในแต่ละ
opcode ซึง่ ทาได้ โดยใช้ “ตัวถอดรหัส” (Decoder)
สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
20
หน่วยควบคุมที่มีตวั ถอดรหัส
สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
21
ตรรกะของหน่ วยควบคุม



พิจารณาตามรูป 12.8 และตาราง 12.1 ที่แสดงชุดของไมโครโอเปอ
เรชันของ 3 วงรอบ (เฟ็ ตช์, อินไดเร็กต์ และอินเทอร์ รัพท์)
ที่สญ
ั ญาณควบคุม C5 ที่มีใช้ ในวงรอบเฟ็ ตช์ และอินไดเร็กต์
สมมุตกิ าหนดสัญญาณควบคุม 2 สัญญาณคือ P และ Q จะได้
PQ = 00
วงรอบเฟ็ ตช์
PQ = 01
วงรอบอินไดเร็กต์
PQ = 10
วงรอบเอ็กซิควิ ต์
PQ = 11
วงรอบอินเทอร์ รัพต์
ทาให้ ได้ นิพจน์ C5 เป็ น
C5 = P’ Q’ T2 + P’Q T2
สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
22
ตรรกะของหน่ วยควบคุม



สมมุตวิ งรอบเอ็กซิควิ ต์มี 3 คาสัง่ ที่อา่ นเข้ ามาคือ LDA, ADD และ AND
ทาให้ ได้ นิพจน์ C5 เป็ น
C5 = P’ Q’ T2 + P’ Q T2 + P Q’ (LDA + ADD + AND) T2
จะเห็ฯว่ามีความซับซ้ อน และยิ่งซับซ้ อนมากยิ่งขึ ้นสาหรับระบบ
คอมพิวเตอร์ สมัยใหม่
“ไมโครโปรแกรมมิ่ง” (Microprogramming) จึงถูกออกแบบขึ ้นมาเพื่อ
ลดความซับซ้ อนนี ้
สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
23
ไมโครโปรแกรม (Microprogram)





กาหนดขึ ้นครัง้ แรกในช่วงปี 1950 โดย M.V.Wilk
ไม่คอ่ ยเกิดผลมากนัก เนื่องจากต้ องใช้ หน่วยความจาที่เร็วแต่ราคาไม่สงู
มากนัก
ข้ อมูลใน Datamation ในปี 1964 เขียนไว้ วา่ ในขณะนันยั
้ งไม่มีระบบ
ไมโครโปรแกรมใช้ งานเลย
System/360 ของ IBM ได้ เปิ ดตัวโดยมีโมดูลใหญ่เป็ นไมโครโปรแกรม
ในช่วงไม่นานมานี ้
สิง่ หนึง่ ที่มีการนาไมโครโปรแกรมมาใช้ ประโยชน์ก็คือหน่วยควบคุมของ
โปรเซสเซอร์
สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
24
ไมโครโปรแกรม (Microprogram)





โปรเซสเซอร์ CICS จะแสดงโครงสร้ างของหน่วยควบคุมแบบไมโคร
โปรแกรม
แต่ละไมโครโอเปอเรชันจะอธิบายในรูปแบบของสัญญลักษณ์
สัญญลักษณ์็คือภาษาที่เรี ยกว่า “ภาษาไมโครโปรแกรม”
(Microprogramming language)
แต่ละบรรทัดเป็ นชุดของไมโครโอเปอเรชันที่เกิดขึ ้นใน 1 เวลา รู้จกั ในชื่อ
“ไมโครอินสตรัคชัน” (Microinstruction)
ลาดับของคาสัง่ รู้จกั ในชื่อของ “ไมโครโปรแกรม” (Microprogram) หรื อ
“เฟิ ร์มแวร์ ” (Firmware)
สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
25
(ก)
(ข)
(ก)ไมโครอินสตรัคชันแนวนอน (ข) ไมโครอินสตรัคชันแนวตัง้
สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
26
โครงสร้ างของคอนโทรลเมมโมรี
สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
27
หน่ วยควบคุมแบบไมโครโปรแกรม
สถาปั ตยกรรมย่อย ๆ ของหน่วยควบคุม
สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
28
ฟั งก์ชนั ของหน่วยควบคุมแบบไมโครโปรแกรม
สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
29
การจดลาดบไมโครอินสตรคชน

ข้ อพิจารณาการออกแบบ
ขนาดของไมโครอินสตรัคชัน
 เวลาในการสร้ างแอ็ดเดรส


เทคนิคการจัดลาดับ
ใช้ 2 แอ็ดเดรสฟิ ลด์ (two address fields)
 ใช้ แอ็ดเดรสฟิ ลด์เดียว (single address field)
 รู ปแบบที่เป็ นตัวแปร (variable format)

สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
30
Branch Control Logic : แบบ 2 แอ็ดเดรสฟิ ลด์
สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
31
Branch Control Logic : แบบแอ็ดเดรสฟิ ลด์เดียว
สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
32
Branch Control Logic : รูปแบบที่เป็ นตัวแปร
สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
33
การสร้ างแอ็ดเดรส
ตาราง เทคนิคการสร้ างแอ็ดเดรสของไมโครอินสตรัคชัน
คอนโทรลแอ็ดเดรสรี จิสเตอร์ ของ IBM 3033
สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
34
การเอ็กซิควิ ต์ ไมโครอินสตรคชน
สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
35
การเข้ ารหสไมโครอินสตรคชน
การเข้ ารหัสโดยตรง (Direct Encoding)
สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
36
การเข้ ารหสไมโครอินสตรคชน
การเข้ ารหัสโดยอ้ อม (Indirect Encoding)
สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
37