计算机组织与结构:LEC04_静态流水线.pptVIP

计算机组织与结构:LEC04_静态流水线.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 作 业 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 前递情况下的数据相关 取数指令的结果在MEM阶段才有效,后续相关指令需要阻塞一拍 lw r1,100(r2) sub r4,r1,r3 and r6,r1,r7 or r8,r1,r9 xor r10,r1,r11 * 通过静态调度解决相关 如下程序段的优化和非优化代码 a = b + c; d = e -f; Fast code: LW Rb,b LW Rc,c LW Re,e ADD Ra,Rb,Rc LW Rf,f SW a,Ra SUB Rd,Re,Rf SW d,Rd Slow code: LW Rb,b LW Rc,c ADD Ra,Rb,Rc SW a,Ra LW Re,e LW Rf,f SUB Rd,Re,Rf SW d,Rd * ALU Mux2 Mux2 Mux8 Mux8 译码器 + Mux2 2 指令存储器 数据存储器 cond? PC C A B C D S1 S2 S3 S4 S5 S1 = AC S3 =~A(B|C|D)|A~B~C|~BC~D S4 = A(B|C|D) S5 = AB~C~D S1 S3 S2 S1 S1 S3 S3 s1,s2,d d2 d1 S4 0 源和目标有相等且非0且取数相关 输入使能 输入使能 Reset Mux3 Mux3 OP Dest Src1 Src2 Imm Forward控制 * Forwarding的相关处理逻辑 以ALU左端的输入为例 当s1和前面两级的目标寄存器域d1和d2都不相等时,选择中间通路 当s1==d2时,选择右边通路 当s1==d1且当前操作不是LD时,选择左边通路 当s1==d1且当前操作是LD时,后面流水线暂停,往前面流水线送空操作 * 流水线和例外 * 例外(Exception)与流水线 例外原因 I/O请求:外部中断 指令例外:用户请求例外 系统调用、断点、跟踪调试指令 运算部件 整数运算溢出、浮点异常 存储管理部件 访存地址不对齐、用户访问系统空间、TLB失效、缺页、存储保护错(写只读页) 保留指令错:未实现指令 硬件错 等等 * 例外发生的流水阶段 取指:访存例外 译码:保留指令、中断指令如Trap、Syscall 执行:整数溢出、浮点异常(如除零)等 访存:访存例外 其它:外部中断,可能在任何时候发生 例外特征 同步与异步 用户请求与系统强制 可屏蔽与不可屏蔽 指令内与指令间 可恢复与结束 * * 在前述例外中,指令内可恢复例外的处理比较困难,条件转移指令的delay slot又增加了例外处理的难度 精确例外:在处理例外时,发生例外指令前面的所有指令都执行完,例外指令后面的所有指令还未执行。精确例外是存储管理和IEEE运算规范的要求 发生例外指令前面的指令继续执行完 后面的指令不能修改机器状态,对运算状态字的修改可能在EX阶段进行 多条指令发生例外 * 可以把每条指令的例外延迟到WB时再处理 对机器状态的修改也在WB阶段进行 对状态寄存器的修改从EX阶段延迟到WB阶段 * 简单流水线的例外处理 任何一级流水发生例外时,在流水线中记录下发生例外的事件,直到WB阶段再处理 如果在EX阶段要修改机器状态(如状态寄存器),保存下来直到WB阶段再修改。 指令的PC值随指令流水前进到WB阶段例外处理专用 外部中断作为IF的例外处理 指定通用寄存器中的一个(如最后一个)为例外处理时保存PC值专用。 当发生例外的指令在WB阶段时: 保存该指令的PC(也在WB阶段),有些机器还保存其它状态 置PC值为例外处理程序入口地址 * ALU Mux2 Mux2 Mux8 Mux8 译码器 + Mux2 2 指令存储器 数据存储器 cond? PC C A B C D S1 S2 S3 S4 S5 S1 = AC S3 =~A(B|C|D)|A~B~C|~BC~D S4 = A(B|C|D) S5 = AB~C~D S1 S3 S2 S1 S1 S3 S3 dest dest dest S4 0 Mux2 源和目标有相等且非0 输入使能 输入使能 Reset Mux2 0 OP Dest Src1 Src2 Imm 相关控制 * ALU Mux2 Mux2 Mux8 Mux8 译码器 + Mu

文档评论(0)

学习让人进步 + 关注
实名认证
文档贡献者

活到老,学到老!知识无价!

1亿VIP精品文档

相关文档