计算机组织与糸统结构 流冰水技论 Introduction to Pipelining (第十四讲) 程旭 200058 北京大学计算机科学技术系 计算机系统结构教研室
ñ¯M§¯æ*§cù ¯æù;étÐ@ ¯æ §ù;é zc[Y Jouspevdujpo!up!Qjqfmjojoh ÄZÅ È
单周期处理器 Branch Regist Instruction ALUSrc Instruction Control Z ∧ ero Fetch unit Clk ALUop Rd Rt rd 5:0 ALU Regist func Control Mux Rs Rt Regw ALUctr 13 busa Mem Wr IMemtoReg Rw Ra rb busw 3232-bit 32 32 Registers USB Clk z1 WrEn adr ×=aR Data in imm16 Instr16 Memorv Clk ALUSrc ExtOn 北京大学计算机科学技术系 计算机系统结构教研室
ñ ¯M§¯æ*§cù ¯æù;étÐ@ 08; 08; $/8 0X[ $/8FWU &ON EXV: 5HJ:U EXV$ EXV% 5Z 5D 5E ELW 5HJLVWHUV 5V 5W 5W 5G 5HJ'VW ([WHQGHU LPP $/86UF ([W2S 0HPWR5HJ &ON 'DWD,Q :U(Q $GU 'DWD 0HPRU\ 0HP:U =HUR ,QVWUXFWLRQ )HWFK8QLW &ON ,QVWUXFWLRQ! -XPS %UDQFK ! ! ! ! ,PP 5G 0DLQ &RQWURO RS $/8 &RQWURO IXQF $/8RS 5HJ'VW $/86UF ! ! ,QVWU! =HUR O 4 6
该单周期处理器的缺陷 °时钟周期时间长: ·对于装入指令,周期时间必须足够长: Pc的 Clock-to-Q+ 指令存储器访问时间+ 寄存器堆访问时间+ ALU延迟(地址计算)+ 数据存储器访问时间+ 寄存器对建立时间+ 时钟纽斜 对于所有其他指令,周期时间都比所需的要长很多! 北京大学计算机科学技术系 计算机系统结构教研室
ñ¯M§¯æ*§cù ¯æù;étÐ@ O46´j§ eÊs<óÊÈS Íb9Û¸È<óÊÈOóS 3&X&ORFNWR4 Û¸,|<ÂÊÈ ,<ÚÂÊÈ $/8ʳÄukÅ DB,|<ÂÊÈ ,<ÍÎÊÈ Êsp eÍbÝJªÛ¸È<óÊÈѨÔXUS\î
多周期实现概述 °单周期处理器的问题根源: ·对于最慢的指令,周期时间必须足够长 °解决方案 ·将指令处理分为更小的步骤 每个周期执行一步(而不是整个指令) 周期时间:执行最长步所需的时间 使所有的步骤尽量具有相同的长度 这个多周期处理器的本质所在 °多周期处理器的优点 ·周期时间非常短 ·不同的指令需要不同的周期数来完成 装入需要5个周期 跳转仅仅需要3个周期 ·允许每条指令多次使用同一个功能部件 北京大学计算机科学技术系 计算机系统结构教研室
ñ¯M§¯æ*§cù ¯æù;étÐ@ JOÎಠe)<óØÚ<XÂl d ÍbÔ6XÛ¸È<óÊÈOóS e· ÚÛ¸ØÚÚÈãX9x £þ<ó; Ô9ÄàáHþ۸Š<óÊÈÖ ; ÔS9ÔXÊÈ SÝX9x£KÝÌàXSz þî<óØÚ<Xüü eî<óØÚ<Xì <óÊÈ2Á áàXÛ¸ÔUáàX<óD9`ä 9ÔU þ<ó Ç@ÔUþ<ó £5Û¸îõSüàÔþsѼÊ