《计算机组织与系统结构》由会员分享,可在线阅读,更多相关《计算机组织与系统结构(74页珍藏版)》请在金锄头文库上搜索。
1、北京大学计算机科学技术系北京大学计算机科学技术系北京大学微处理器研究开发中心北京大学微处理器研究开发中心计算机组织与系统结构计算机组织与系统结构计算机组织与系统结构计算机组织与系统结构设计多周期处理器设计多周期处理器 Designing a Multiple Cycle ProcessorDesigning a Multiple Cycle Processor (第十二讲)2008.5.12程 旭程 旭北京大学计算机科学技术系北京大学计算机科学技术系北京大学微处理器研究开发中心北京大学微处理器研究开发中心处理器设计过程处理器设计过程自底向上自底向上 组装部件,根据情况,建立关键时序组装部件,根
2、据情况,建立关键时序自顶向下自顶向下 根据高级需求,描述出部件行为根据高级需求,描述出部件行为循环往复、逐步求精循环往复、逐步求精 首先建立局部解决方案,再不断扩展和改进首先建立局部解决方案,再不断扩展和改进数据通路数据通路控制处理器控制处理器指令系统体系结构指令系统体系结构寄存器堆MuxALURegMem译码器时序发生器单元门北京大学计算机科学技术系北京大学计算机科学技术系北京大学微处理器研究开发中心北京大学微处理器研究开发中心单周期处理器单周期处理器MUX01MUX0132ALUctrClkbusWRegWr3232busA32busB555RwRaRb 32 32-bit Registe
3、rsRsRtRtRd RegDstExtenderMux3216imm16ALUSrcExtOpMemtoRegClkData InWrEn 32AdrData Memory32MemWrInstruction Fetch Unit ClkZeroInstructionJumpBranch01Imm16RdRsRtMain Controlop 6ALU Controlfunc 63ALUop ALUctr 3RegDstALUSrc :InstrInstrInstrALU北京大学计算机科学技术系北京大学计算机科学技术系北京大学微处理器研究开发中心北京大学微处理器研究开发中心主控制器(主控)的真
4、值表主控制器(主控)的真值表R-typeorilwswbeqjump RegDst ALUSrc MemtoReg RegWrite MemWrite Branch Jump ExtOp ALUop (Symbolic)1 0 0 1 0 0 0 x R-type0 1 0 1 0 0 0 0 Or0 1 1 1 0 0 0 1 Addx 1 x 0 1 0 0 1 Addx 0 x 0 0 1 0 xSubtractx x x 0 0 0 1 x xxxop00 000000 110110 001110 101100 010000 0010ALUop 10000x ALUop 01000x
5、ALUop 00001x主控主控op 6ALU 控制控制 (局部局部)func36ALUopALUctr 3RegDst ALUSrc :北京大学计算机科学技术系北京大学计算机科学技术系北京大学微处理器研究开发中心北京大学微处理器研究开发中心主控的PLA实现主控的PLA实现opop.op.op.op.op.op.R-typeorilwswbeqjumpRegWriteALUSrcMemtoReg MemWrite Branch JumpRegDstExtOpALUop ALUop ALUop北京大学计算机科学技术系北京大学计算机科学技术系北京大学微处理器研究开发中心北京大学微处理器研究开发中心
6、控制信号的生成系统控制信号的生成系统 在单周期处理器中在单周期处理器中, 每条指令都是通过唯一一个控制命令(或 微指令)来实现的每条指令都是通过唯一一个控制命令(或 微指令)来实现的 总的来说总的来说, 控制器就是一个有限状态自动机控制器就是一个有限状态自动机 微指令也能够产生控制序列微指令也能够产生控制序列 (下面将介绍下面将介绍)Control Logic / Store (PLA, ROM)OPcodeDatapathInstructionDecodeConditionsControl Pointsmicroinstruction北京大学计算机科学技术系北京大学计算机科学技术系北京大学微
7、处理器研究开发中心北京大学微处理器研究开发中心计算机的五个基本部件计算机的五个基本部件本讲主题本讲主题: 多周期多周期数据通路设计数据通路设计控制控制数据通路数据通路存储器处理器存储器处理器输入输入输出输出教学目标: 已经掌握的内容教学目标: 已经掌握的内容北京大学计算机科学技术系北京大学计算机科学技术系北京大学微处理器研究开发中心北京大学微处理器研究开发中心本讲提纲本讲提纲复习复习: 单周期处理器单周期处理器较高速的设计较高速的设计多周期数据通路多周期数据通路性能分析性能分析多周期控制引论多周期控制引论北京大学计算机科学技术系北京大学计算机科学技术系北京大学微处理器研究开发中心北京大学微处理
8、器研究开发中心单周期处理器的抽象图单周期处理器的抽象图看起来就象一个以看起来就象一个以PC为状态的有穷状态自动机为状态的有穷状态自动机PCNext PCRegister FetchALUReg. WrtMem AccessData MemInstruction FetchResult StoreALUctrRegDstALUSrcExtOpMemWrEqualnPC_selRegWrMemWrMemRdMain ControlALU controlopfunExt北京大学计算机科学技术系北京大学计算机科学技术系北京大学微处理器研究开发中心北京大学微处理器研究开发中心上一讲设计的CPI=1的处理
9、器的问题上一讲设计的CPI=1的处理器的问题时钟周期长时钟周期长所有指令都需要最长指令执行所需的时间所有指令都需要最长指令执行所需的时间实际的存储器并不象我们假设的理想存储器那么好实际的存储器并不象我们假设的理想存储器那么好 并不能在一个短周期内完成所有工作并不能在一个短周期内完成所有工作PCInst MemorymuxALUData MemmuxPCReg FileInst MemorymuxALUmuxPCInst MemorymuxALUData MemPCInst MemorycmpmuxReg FileReg FileReg File算术逻辑指令装入指令存储指令转移算术逻辑指令装入指
10、令存储指令转移关键路径关键路径setupsetup北京大学计算机科学技术系北京大学计算机科学技术系北京大学微处理器研究开发中心北京大学微处理器研究开发中心存储器访问时间存储器访问时间物理大小物理大小 = 小存储器速度快小存储器速度快 (大存储器速度慢大存储器速度慢) 问题问题: 寄存器堆寄存器堆 vs. 存储器存储器= 使用层次存储系统使用层次存储系统Storage ArrayStorage Arrayselected word lineselected word lineaddressaddressstorage cellstorage cellbit linebit linesense a
11、mpssense ampsaddressaddress decoderdecoderCacheProcessor1 cycleproc. busL2 Cachemem. bus2-3 cycles20 20 - - 50 cycles50 cyclesmemory北京大学计算机科学技术系北京大学计算机科学技术系北京大学微处理器研究开发中心北京大学微处理器研究开发中心减少时钟周期时间减少时钟周期时间切分组合相关图,插入寄存器切分组合相关图,插入寄存器/锁存器锁存器在两个较短的周期内(而非一个较慢的周期内)完成上述相同工作在两个较短的周期内(而非一个较慢的周期内)完成上述相同工作存储单元存储单元无
12、环 组合逻辑无环 组合逻辑存储单元存储单元存储单元存储单元无环 组合逻辑无环 组合逻辑(A)存储单元存储单元存储单元存储单元无环 组合逻辑无环 组合逻辑(B)北京大学计算机科学技术系北京大学计算机科学技术系北京大学微处理器研究开发中心北京大学微处理器研究开发中心对时钟周期时间的基本限制对时钟周期时间的基本限制下一地址生成逻辑下一地址生成逻辑 PC branch ? PC + offset : PC + 4取指逻辑取指逻辑 InstructionReg MemPC寄存器访问寄存器访问 A RrsALU操作操作 R A + BALUctrALUSrcMemWrMemWrControlOperand
13、 FetchExecReg. FileMem AccessData MemInstruction FetchResult StoreRegDstExtOpRegWrMemRdPCNext PCnPC_sel北京大学计算机科学技术系北京大学计算机科学技术系北京大学微处理器研究开发中心北京大学微处理器研究开发中心划分 CPI=1 的数据通路划分 CPI=1 的数据通路在最小的步骤之间,增加寄存器在最小的步骤之间,增加寄存器ALUctrALUSrcMemWrMemWrPCNext PCOperand FetchExecReg. FileMem AccessData MemInstruction Fe
14、tchResult StoreRegDstExtOpnPC_selRegWrMemRd北京大学计算机科学技术系北京大学计算机科学技术系北京大学微处理器研究开发中心北京大学微处理器研究开发中心多周期数据通路示例多周期数据通路示例关键路径关键路径 ?PCNext PCOperand FetchExt ALUReg. FileMem AccessData MemResult StoreALUctrRegDstALUSrcExtOpnPC_selRegWrMemWrMemRdABRMReg FileMemToRegEqualInstruction FetchIR北京大学计算机科学技术系北京大学计算机科
15、学技术系北京大学微处理器研究开发中心北京大学微处理器研究开发中心如何设计处理器: 循序渐进如何设计处理器: 循序渐进1. 指令系统体系结构 逻辑寄存器传输指令系统体系结构 逻辑寄存器传输2. 数据通路部件数据通路部件3. RTL+ 部件 数据通路部件 数据通路4. 数据通路数据通路 + 逻辑寄存器传输 物理寄存器传输逻辑寄存器传输 物理寄存器传输5. 物理寄存器传输 控制物理寄存器传输 控制北京大学计算机科学技术系北京大学计算机科学技术系北京大学微处理器研究开发中心北京大学微处理器研究开发中心第四步: R-型指令 (add, sub, . . .)第四步: R-型指令 (add, sub, .
16、 . .)逻辑寄存器传输逻辑寄存器传输物理寄存器传输物理寄存器传输指令逻辑寄存器传输指令逻辑寄存器传输ADDURrd Rrs + Rrt; PC PC + 4指令物理寄存器传输指令物理寄存器传输IR MEMpcADDUA Rrs; B RrtS A + BRrd S; PC PC + 4ExecReg. FileMem AccessData MemABSMReg FileEqualPCNext PCIRInst. Mem北京大学计算机科学技术系北京大学计算机科学技术系北京大学微处理器研究开发中心北京大学微处理器研究开发中心指令逻辑寄存器传输指令逻辑寄存器传输ORiRrt Rrs OR zx(Im16); PC PC + 4指令物理寄存器传输指令物理寄存器传输IR MEMpcORiA Rrs