- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DLX基本流水线
3.2 DLX的基本流水线;2. 一条DLX指令最多需要以下5个时钟周期:;(2)指令译码/读寄存器周期(ID) A ← Regs[IR6 ..10] B ← Regs[IR11 ..15] Imm ← (IR16)16 ## IR16 ..31 操作
指令译码和读寄存器是并行进行的。之所 以能做到这一点,是因为在DLX指令格式中, 操作码在固定位置。这种技术也称为固定字段 译码。; ;◆ 存储器访问 ALUOutput ← A+Imm 操作 ;◆ 寄存器―寄存器 ALU 操作 ALUOutput ← A op B 操作;◆ 寄存器―立即值 ALU 操作 ALUOutput ← A op Imm 操作;◆ 分支操作 ALUOutput ← NPC+Imm Cond ← (A op 0) 操作;(4)存储器访问/分支完成周期(MEM) 在该周期处理的DLX指令只有Load、Store和 分支指令。;◆ 存储器访问 LMD ← Mem[ALUOutput] 或 Mem [ALUOutput] ← B 操作;◆ 分支操作 if(cond)PC ← ALUOutput else PC ← NPC 操作;(5)写回周期(WB) 不同指令在该周期完成的工作也不一样。;寄存器―寄存器型 ALU 指令 Regs[IR16 ..20] ← ALUOutput;寄存器―立即值型 ALU 指令 Regs[IR11 ..15] ← ALUOutput;Load 指令
Regs[IR11 ..15] ← LMD ;3. 分支指令需要4个时钟周期, 其它指令需要5个时钟周期
假设分支指令占总指令数的12%, 则:
CPI=4.88
上述实现无论在性能上,还是在硬件开销上,都不是优化的。;3.2.2 基本的DLX流水线;3.2 DLX的基本流水线;按时间错开的数据通路序列;3. 采用流水技术还应解决好以下几个问题:;◆ 没有考虑 PC 问题; 但分支指令也可能改变PC的值,而且是在MEM段进行,这会导致冲突。; 为解决问题,我们重新组织数据通路,把所有改变PC值的操作都放在IF段进行。;(2)每一流水段内的操作都必须在一个时钟周期 内完成;◆ 流水线寄存器的构成;4. DLX流水线的操作;流水段;流水段;5.DLX流水线的控制;3.2.3 流水线性能分析;◆ 若流水线各段的时间不等,则:;重复设置瓶颈段(时-空图举例);◆ 第一种情况:各段时间相等(设为△t0) 假设流水线由 m 段组成,完成 n 个任务。;完成 n 个任务所需的时间; 实际吞吐率;3.2 DLX的基本流水线;
完成 n 个任务所需的时间 T流水=∑△ti+(n-1)△tj △tj=max{△ti }
实际吞吐率; 加速比是指流水线的速度与等功能非流水线的速度之比。;3.2 DLX的基本流水线;可以看出:当n m 时,S ≈ m想一想:n 越大越好?;3.2 DLX的基本流水线;(2) 若各段时间相等,则各段的效率ei相等,即 e1=e2 =e3= =em=n△t0/T流水 (解释) 整个流水线的效率为:;(4) 提高流水线效率所采取的措施对于提高 吞吐率也有好处。;3.2 DLX的基本流水线;解:(1) 确定适合于流水处理的计算过程;3.2 DLX的基本流水线;可以看出,在求解此问题时,该流水线的效率不高。 (原因);举例 Ⅱ : 这样行不行? 正确答案;例3.2 假设前面DLX非流水线实现的时钟周期时间 为10ns,ALU和分支指令需要4个时钟周期,访 问存储器指令需5个时钟周期,上述指令在程序 中出现的相对频率分别是:40%、20%和40%。在 基本的DLX流水线中,假设由于时钟扭曲和寄存 器建立延迟等原因,流水线要在其时钟周期时 间上附加1ns的额外开销。现忽略任何其他延迟 因素的影响,请问:相对于非流水实现而言, 基本的DLX流水线执行指令的加速比是多少?
;解:当非流水执行指令时,指令的平均执行时 间为
TPI非流水 = 10ns×((40%+20%)×4+40%×5) = 10ns×4.4 = 44ns
在流水实现中,指令执行的平均时间 是最慢一段的执行时间加上额外开销,即
文档评论(0)