L1-多周期数据通路.

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

高小鹏gxp@buaa.edu.cn北京航空航天大学计算机学院2015年7月1多周期数据通路、RTL、时序分析2015年计算机组成研讨班多周期CPU形式建模综合方法目录从单周期到多周期多周期处理器基本结构功能部件建模RTL(RegisterTransferLanguage)基于RTL的时序分析2种数据通路设计对比分析2单周期数据通路的5个逻辑步骤从逻辑上:数据通路总共为5个逻辑步骤公共步骤:取指令、译码/读操作数所有指令均必须经历的2个步骤PC指令存储器+4RegisterFilertrsrdALU数据存储器immMUX取指令IFPC驱动IM读取指令译码/读操作数DCD/RF译码属于控制器范畴,但可以与读操作数并行执行EXEALU完成算数/逻辑运算访存MEM读DM或写DM回写WBALU计算结果或IM读出数据写入寄存器堆1.取指令IF2.译码/读操作数DCD/RF3.执行EXE4.访存MEM5.回写WB运算类指令:理想执行过程(R-R)指令:ADD、SUB、OR。。。需求:R[rd]R[rs]opR[rt]过程:取指、译码/读寄存器、执行、访存、回写PCinstructionmemory+4RegisterFilertrsrdALUDatamemoryimmMUXopcodefunctrsrtrdshamt3101.取指令IF2.译码/读操作数DCD/RF3.执行EXE4.访存MEM5.回写WB分支类指令:理想执行过程指令:BEQ、。。。需求:PC条件?PC+Ext(Imm):PC+4过程:取指、译码/读寄存器、执行、访存、回写PCinstructionmemory+4RegisterFilertrsrdALUDatamemoryimmMUXopcodersrtimmediate3101.取指令IF2.译码/读操作数DCD/RF3.计算EXE4.访存MEM5.回写WB跳转指令:理想执行过程指令:J需求:PCPC[31:28]||target_address||00过程:取指、译码/读寄存器、执行、访存、回写PCinstructionmemory+4RegisterFilertrsrdALUDatamemoryimmMUXopcodetargetaddress3101.取指令IF2.译码/读操作数DCD/RF3.执行EXE4.访存MEM5.回写WB读存储指令:理想执行过程指令:LW需求:GPR[rt]←memory[GPR[base]+offset]过程:取指、译码/读寄存器、执行、访存、回写PCinstructionmemory+4RegisterFilertrsrdALUDatamemoryimmMUX1.取指令IF2.译码/读操作数DCD/RF3.执行EXE4.访存MEM5.回写WB写存储指令:理想执行过程指令:SW需求:memory[GPR[base]+offset]←GPR[rt]过程:取指、译码/读寄存器、执行、访存、回写PCinstructionmemory+4RegisterFilertrsrdALUDatamemoryimmMUX1.取指令IF2.译码/读操作数DCD/RF3.执行EXE4.访存MEM5.回写WB物理执行路径vs.理想执行过程2个现象现象1:不同指令的理想执行过程不同现象2:所有指令都有前3个阶段前2阶段完全相同;第3阶段功能有差异启示不同指令的理想执行过程不同,即理想执行时间不同不同指令能否具有不同物理执行路径,以对应理想执行过程?IFDCD/RFEXEMEMWB计算分支跳转读存储写存储单周期数据通路的缺陷模型:PC组合逻辑寄存器堆单一组合逻辑实现了全部5个阶段的逻辑功能必然存在关键路径,且关键路径导致每条指令延迟均相同结论:无法利用不同指令具有不同执行需求的潜在特性PCinstructionmemory+4RegisterFilertrsrdALUDatamemoryimmMUX目录从单周期到多周期多周期处理器基本结构功能部件建模RTL(RegisterTransferLanguage)基于RTL的时序分析2种数据通路设计对比分析多周期数据通路构思单周期的单一路径被物理上切分为多段路径在数据通路上插入多个寄存器单一组合逻辑被切分为多段组合逻辑单一关键路径的大延迟变为多个分段路径的小延迟PCinstructionmemory+4RegisterFilertrsrdALUDatamemoryimmMUX12345基础多周期数据通路支持7条指令ADDU、SUBU、ORI、LW、SW、BEQ、JALPC计算完成与PC相关的一切计算PC+4;PC+imm16;PC+imm26指令存储器AddrDataPC指令寄存器指令[31:26]指令[25:21]指令[20:16]指令[15:0]ABALUZeroOvALU结果ALUOut16扩展3201数据存储器AddrReadDataWriteDataPC计算PCIMMNPC261F012M1数据寄存器012寄存器堆A1A2A3WDRD1RD2123451.取指令IF2.译码/读操作数DCD/RF3.执行EXE4.访存MEM5.回写WB分段的数据通路5个分段:对应指令所需5个可能环节分段结构:R-C-R(寄存器-组合逻辑-寄存器)以寄存器读出为起始,中间可以包括组合逻辑计算14分段通路段内平行功能起始(读寄存器)中间逻辑结束(写寄存器)依赖读取指令PCIMIR读操作数读2个寄存器IRRFA/B读取指令读1个寄存器,立即数扩展A(/B),EXT执行R-R运算A,BALUALUOut读操作数R-I运算A,EXT访存读存储ALUOutDMDR执行执行写存储ALUOut,BDM回写存储回写DRRF读存储@访存计算回写ALUOutRF执行多周期数据通路特点:功能划分功能聚集:相近功能属于同一分段读操作数:读取RF、立即数扩展执行:各类算数/逻辑运算访存:读存储、写存储回写:ALU计算回写、读存储器回写组装特点:根据不同指令需求,灵活组合分段不同指令执行,占用不同的功能单元很好的映射不同指令的理想执行过程阶段1(读取指令):公共阶段,必须有阶段2(读操作数):公共阶段,必须有15多周期数据通路特点:功能执行段内执行:每段1个Cycle,数据~处理~保存数据(读出):前级寄存器的输出处理(逻辑):由本段内的组合逻辑完成,如ALU保存(写入):处理的结果写入后级寄存器段间执行:存在逻辑依赖关系前段没有执行,后段执行无意义注意:不是不能执行,而是执行结果无意义例如:指令不读入IR,读操作数就没有意义!整体执行:多少个分段,多少个cycle与控制器很好的匹配(后面介绍)16北京航空航天大学计算机学院ADDU指令的多周期数据通路:IF阶段加载指令:读取IM,写入IR(指令寄存器)更新PC:PCPC+4指令存储器AddrDataPC指令寄存器指令[31:26]指令[25:21]指令[20:16]指令[15:0]ADDUSUBULWSWORILUIBEQJALPC计算PCIMMNPCTIP:PC需要写使能与单周期不同了!北京航空航天大学计算机学院ADDU指令的多周期数据通路:DCD/RF阶段读取操作数:GPRA、BA、B:分别存储寄存器文件的2个输出指令存储器AddrDataPC指令寄存器指令[31:26]指令[25:21]指令[20:16]指令[15:0]AB寄存器堆ReadReg1ReadReg2WriteRegWriteDataReadData1ReadData2ADDUSUBULWSWORILUIBEQJALPC计算PCIMMNPC北京航空航天大学计算机学院ADDU指令的多周期数据通路:EXE阶段存储计算结果ALU计算结果存储在ALUOut寄存器指令存储器AddrDataPC指令寄存器指令[31:26]指令[25:21]指令[20:16]指令[15:0]AB寄存器堆ReadReg1ReadReg2WriteRegWriteDataReadData1ReadData2ADDUSUBULWSWORILUIBEQJALALUZeroOvALU结果ALUOutPC计算PCIMMNPC北京航空航天大学计算机学院ADDU指令的多周期数据通路:WB阶段回写寄存器ALUOut存储的计算结果写入对应的寄存器指令存储器AddrDataPC指令寄存器指令[31:26]指令[25:21]指令[20:16]指令[15:0]AB寄存器堆ReadReg1ReadReg2WriteRegWriteDataReadData1ReadData2ADDUSUBULWSWORILUIBEQJALALUZeroOvALU结果ALUOutPC计算PCIMMNPC北京航空航天大学计算机学院ORI指令的多周期数据通路ORIR[rt]R[rs]|zero_ext(Imm16);增加硬件:零扩展单元、MUX指令存储器AddrDataPC指令寄存器指令[31:26]指令[25:21]指令[20:16]指令[15:0]AB寄存器堆ReadReg1ReadReg2WriteRegWriteDataReadData1ReadData2ADDUSUBUORILWSWBEQJALALUZeroOvALU结果ALUOut160扩展3201PC计算PCIMMNPC01M1北京航空航天大学计算机学院LW指令的多周期数据通路LOADR[rt]MEM[R[rs]+sign_ext(Imm16)]增加硬件:数据存储器、数据寄存器、扩展单元、MUX扩展单元:包括零扩展功能和符合扩展功能指令存储器AddrDataPC指令寄存器指令[31:26]指令[25:21]指令[20:16]指令[15:0]AB寄存器堆ReadReg1ReadReg2WriteRegWriteDataReadData1ReadData2ADDUSUBUORILWSWBEQJALALUZeroOvALU结果ALUOut16扩展3201数据寄存器数据存储器AddrReadDataWriteData01PC计算PCIMMNPC01M1北京航空航天大学计算机学院SW指令的多周期数据通路STOREMEM[R[rs]+sign_ext(Imm16)]R[rt];增加硬件:连接线从B寄存器至数据存储器的指令存储器AddrDataPC指令寄存器指令[31:26]指令[25:21]指令[20:16]指令[15:0]AB寄存器堆ReadReg1ReadReg2WriteRegWriteDataReadData1ReadData2ADDUSUBUORILWSWBEQJALALUZeroOvALU结果ALUOut16扩展3201数据寄存器数据存储器AddrReadDataWriteData01PC计算PCIMMNPC01M1北京航空航天大学计算机学院BEQ指令的多周期数据通路PC(R[rs]=R[rt])?PC+sign_ext(imm16):PC+4增加硬件:连接线从IM[15:0]至PC计算单元指令存储器AddrDataPC指令寄存器指令[31:26]指令[25:21]指令[20:16]指令[15:0]AB寄存器堆ReadReg1ReadReg2WriteRegWriteDataReadData1ReadData2ADDUSUBUORILWSWBEQJALALUZeroOvALU结果ALUOut16扩展3201数据寄存器数据存储器AddrReadDataWriteData01PC计算PCIMMNPC01M1北京航空航天大学计算机学院JAL指令的多周期数据通路PCPC[31:28]||Imm26||00;R[31]PC增加硬件:连接线从IM[15:0]至PC计算单元指令存储器AddrDataPC指令寄存器指令[31:26]指令[25:21]

1 / 70
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功