网站大量收购独家精品文档,联系QQ:2885784924
  1. 1、本文档共78页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DLX流水线

(1) 指令发射(issue):指令从译码段(ID)进入 执行段(EX)。 相应的指令称为已发射的指令。 (2) DLX整数流水线中,可以在ID段检测所有的 数据相关; 若数据相关,则在指令流出前,让其暂停。 (3) 可以在ID段确定需要什么样的定向,并设置 相应的控制; 这样能减少硬件复杂度。 6. 对DLX流水线控制的实现 3 流水线中的相关 (4) 也可以在需要用到操作数的那个时钟周期检测 相关或定向; (5) 举例说明: ◆ 由Load指令引起的RAW相关的互锁(简称Load 互锁)可以通过ID段的检测来实现; ◆ 到ALU输入的定向可以在EX段实现。 Load互锁 ◆ 流水线相关硬件可以检测到的各种相关情况 可以看出,仅需把Load指令的目的寄存 器地址与Load指令后的两条指令的源寄存器 地址进行比较。 3 流水线中的相关 3 流水线的控制相关 1. 分支指令的执行结果 一、分支引起的暂停及减少分支开销的方法 ◆ 转移失败:PC值加4 ◆ 转移成功:将PC值改变为转移目标地址     一旦检测到分支指令(在ID段),就暂停 执行其后的指令,直到分支指令到达MEM段, 确定出新的PC值为止。 2. 处理分支指令最简单的方法 3 流水线中的相关 在DLX流水线中,分支转移成功导致暂停3个 时钟周期。   若分支指令的频度为30%,理想CPI=1, 则 实际CPI=1+30%×3≈2 减少分支开销的两种途径 ◆ 在流水线中尽早判断分支转移是否成功; ◆ 转移成功时,尽早计算出转移目标地址。 两者应同时采用,缺一不可。   对于DLX作如下改进: (1) 把“=0?”测试移至ID段; 3 流水线中的相关 (2) 在ID段增设一个加法器,这样可以把分支 开销减少一拍。   3 流水线中的相关 二、程序中分支的行为特点 1. 各种能改变PC值的指令的执行频度 (SPEC基准程序,DLX上执行) ◆ 条件分支 整数程序:14%~15% 浮点程序:3%~12% 向前分支与向后分支的比:    3∶1 ◆ 无条件分支 绝大多数:≤4% 3 流水线中的相关 2.条件分支转移成功的概率 ◆ 平均值 整数程序 向前:13%   无条件:4% 向后:3% 浮点程序 向前:7%    无条件:1% 向右:3% 所有条件分支:67% 向前:60%     向后:85%  (向后分支一般形成循环) 3 流水线中的相关 4 MIPS R4000流水线计算机简介 4.1 MIPS R4000 整型流水线 1. 指令集:MIPS-3 指令集(64位),类似于DLX 共8个段:较深的流水线有利于提高时钟频率。 超级流水 与DLX流水线相比:把访存操作进一步分段。 取指令:改为 两个周期 读写数据:改为 三个周期 2.MIPS R4000 流水线结构 流水线技术 4 MIPS R4000流水线计算机简介 ◆ 流水线寄存器的构成 4. DLX流水线的操作   对于流水线中的指令来说,在任一时刻,它 仅在流水线中的某一段内执行操作。   因此,只要知道每一流水段在各种指令下进 行何种操作,就知道了整个流水线的操作。    (表1)给出了DLX流水线各段的操作。 2 DLX的基本流水线 流水段 表 1 DLX流水线的每个流水段的操作 任何指令类型 ALU 指令 Load/Store 指令 分支指令 IF ID EX IF/ID.IR ← Mem[PC] IF/ID.NPC,PC ← (if EX/MEM.cond {EX/MEM.NPC} else {PC+4}); ID/EX.A ← Regs[IF/ID.IR6..10]; ID/EX.B ← Regs[IF/ID.IR11..15]; ID/EX.NPC ← IF/ID.NPC; ID/EX.IR ← IF/ID.IR; ID/EX.Imm ← (IR16)16##IR16..31; EX/MEM.IR ← ID/EX.IR; EX/MEM.ALUOutput ← ID/EX.A op ID/EX.B 或 EX/MEM.ALUOutput ← ID/EX.A op ID/EX.Imm; EX/MEM.cond ← 0; EX/M

文档评论(0)

2105194781 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档