为什么用流水线? ·假设执行100条指令 单周期机器 45 ns/cycle x 1 CPl X 100 inst=4500 ns ·多周期机器 10 ns/cycle x 4.6 CPl(due to inst mix)x 100 inst =4600 ns ·理想流水线机器 10 ns/cycle x (1 CPl x 100 inst 4 cycle drain)=1040 ns 中国科学技术大学 chapter3. 17
中国科学技术大学 chapter3.17 为什么用流水线? • 假设执行100条指令 • 单周期机器 – 45 ns/cycle x 1 CPI x 100 inst = 4500 ns • 多周期机器 – 10 ns/cycle x 4.6 CPI (due to inst mix) x 100 inst = 4600 ns • 理想流水线机器 – 10 ns/cycle x (1 CPI x 100 inst + 4 cycle drain) = 1040 ns
为什么用流水线(cont)?一资源利用率高 Time clock cycles I Inst o Im Reg Dm R t Inst 1 Im Reg DI Reg o Inst 2 Im Reg R d Inst 3 Im Reg Dm R Inst 4 四A Dm Re 中国科学技术大学 chapter 3.18
中国科学技术大学 chapter3.18 为什么用流水线(cont.)?-资源利用率高 I n s t r. O r d e r Time (clock cycles) Inst 0 Inst 1 Inst 2 Inst 4 Inst 3 ALU Im Reg Dm Reg ALU Im Reg Dm Reg ALU Im Reg Dm Reg ALU Im Reg Dm Reg ALU Im Reg Dm Reg
流水线正常工作的基本条件 ·各段间需要使用寄存器文件保存当前段传送到 下一段的数据和控制信息 存储器带宽是非流水的5倍 中国科学技术大学 chapter3. 19
中国科学技术大学 chapter3.19 流水线正常工作的基本条件 • 各段间需要使用寄存器文件保存当前段传送到 下一段的数据和控制信息 • 存储器带宽是非流水的5倍
新的DLX(MPS数据通路 DEX EXMEM MEME nsmuccnIR MEWER 中国科学技术大学 chapter.20
中国科学技术大学 chapter3.20 新的 DLX (MIPS)数据通路
Stage Any instruction IE/ID IR Mem [PC]: [rs] E/ID NPC, PC +(if ((Ex /MEM. opcode =s branch)& Ex/MEM. con)EX/MEM ALCL tput)else ( EC+4)): 1/E.A←R8[IPDD.Ira]];:/B←Re[IP/.I[比t1]; ID/E.C←I/ID.1c;I/gxIR←I/ID.IR; ID/EX Imm sign extend(IF/ID IR [inmmediate field]); ALU instruction Load or store instruction Branch instruction E/MEM.IR←ID/Bx.IR; E/MM.IR←ID/E.I z/ MEM. ALJoutput← r/MA. ALuautput← E/MM. GLUoutput← ID/E. A func ID/ EXB ID/EXA+ ID/EXImm ID/EX NPC+ID/EX Imm; EX/MEM. ALJoutput← ID/E.A op ID/EXImm; EX/MEM. cand←0; EK/cnd←0; Ex/MpM.cond← E/NMB←ID/Ex.B (ID/EK.A MEM MEM/WB. IR +EX/MEM. IR MEM/W.IR←Ex/NM.TR MEM/NB. ALDOutput MEM/WB.LMD← EX/MEM. OUTput Mem [Ex/MEM. ALUOutput]; Mem[x/pA. ALUOutput]← wB Regs [MEM/W.IR[rd]]← For load only: MEM/WB. AIDOutput: Rega [MEM/wB.IR[xt]]← MEM/WB LMD; Rega [MEM/.IR[xt]]← MDM/№. ALDoutput 中国科学技术大学 chapter3.21
中国科学技术大学 chapter3.21