ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
ได้พิมพ์โดยPongsom Kulawanit ได้เปลี่ยน 9 ปีที่แล้ว
1
รายละเอียดของการทำ Control และ Forwarding สำหรับ MIPS Pipeline
2
Morgan Kaufmann Publishers
13 April, 2017 Pipelined Control สัญญาณ control ได้มาจาก combinational logic ที่มี input เป็น instruction เพื่อประหยัดวงจรและ “สาย” สัญญาณ เลือกที่จะส่งต่อเฉพาะสัญญาณที่เกี่ยวข้อง Chapter 4 — The Processor
3
Morgan Kaufmann Publishers
13 April, 2017 Pipelined Control Chapter 4 — The Processor
4
Forwarding เพื่อกำจัด Data Hazard
Morgan Kaufmann Publishers 13 April, 2017 Forwarding เพื่อกำจัด Data Hazard Forward เมื่อคำสั่งก่อนหน้ามีการ write register EX/MEM.RegWrite, MEM/WB.RegWrite และเมื่อ destination register ไม่ใช่ $0 EX/MEM.RegisterRd ≠ 0, MEM/WB.RegisterRd ≠ 0 Chapter 4 — The Processor
5
Morgan Kaufmann Publishers
13 April, 2017 Forwarding Paths Chapter 4 — The Processor
6
Forwarding Conditions
Morgan Kaufmann Publishers 13 April, 2017 Forwarding Conditions Forward จาก MEM มาที่ EX if (EX/MEM.RegWrite and (EX/MEM.RegisterRd ≠ 0) and (EX/MEM.RegisterRd = ID/EX.RegisterRs)) ForwardA = 10 if (EX/MEM.RegWrite and (EX/MEM.RegisterRd ≠ 0) and (EX/MEM.RegisterRd = ID/EX.RegisterRt)) ForwardB = 10 Forward จาก WB มาที่ EX if (MEM/WB.RegWrite and (MEM/WB.RegisterRd ≠ 0) and (MEM/WB.RegisterRd = ID/EX.RegisterRs)) ForwardA = 01 if (MEM/WB.RegWrite and (MEM/WB.RegisterRd ≠ 0) and (MEM/WB.RegisterRd = ID/EX.RegisterRt)) ForwardB = 01 Chapter 4 — The Processor
7
Morgan Kaufmann Publishers
13 April, 2017 Double Data Hazard พิจารณาชุดคำสั่งต่อไปนี้ add $1,$1,$2 add $1,$1,$3 add $1,$1,$4 เกิดอะไรขึ้นถ้าเราใช้ forwarding logic ที่ได้กล่าวมา if ของ forward logic จาก WB มาที่ EX มาทีหลัง จะ overwrite สัญญาณ forwarding ของ if ที่มาก่อน Chapter 4 — The Processor
8
แก้ไข forwarding logic ใหม่
Morgan Kaufmann Publishers 13 April, 2017 แก้ไข forwarding logic ใหม่ Forward จาก MEM ก็ต่อเมื่อ ไม่ได้ forward จาก EX MEM hazard if (MEM/WB.RegWrite and (MEM/WB.RegisterRd ≠ 0) and not (EX/MEM.RegWrite and (EX/MEM.RegisterRd ≠ 0) and (EX/MEM.RegisterRd = ID/EX.RegisterRs)) and (MEM/WB.RegisterRd = ID/EX.RegisterRs)) ForwardA = 01 if (MEM/WB.RegWrite and (MEM/WB.RegisterRd ≠ 0) and not (EX/MEM.RegWrite and (EX/MEM.RegisterRd ≠ 0) and (EX/MEM.RegisterRd = ID/EX.RegisterRt)) and (MEM/WB.RegisterRd = ID/EX.RegisterRt)) ForwardB = 01 Chapter 4 — The Processor
9
Datapath with Forwarding
Morgan Kaufmann Publishers 13 April, 2017 Datapath with Forwarding Chapter 4 — The Processor
10
Morgan Kaufmann Publishers
13 April, 2017 Load-Use Data Hazard Chapter 4 — The Processor
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.