微观系统结构.ppt

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

微观系统结构 计算机组成与系统结构 第二篇 第2章 胡越明 Agenda 2.1 指令级并行性 2.2 动态指令调度 2.3 分支预测 2.4 多重启动 2.5 推测执行 2.6 静态指令调度 2.7 静态全局指令调度 2.8 微观系统结构实例 2.1 指令级并行性 基本的指令流水线 指令流水线的相关性 1. 资源相关(结构相关) 流水执行的多条指令同时使用同一个部件 2. 数据相关 流水执行的多条指令访问相同的数据 RAW、WAR、WAW 3. 控制相关 转移指令引起的相关 指令流水线的资源相关 指令流水线的数据相关 消除数据相关影响的方法 停顿 编译检测 相关专用通路 流水线的停顿 硬件检测机制 EX/MEM.RD = ID/EX.RS EX/MEM.RD = ID/EX.RT MEM/WB.RD = ID/EX.RS MEM/WB.RD = ID/EX.RT 编译检测 软件检测机制 相关专用通道 可减少或者消除数据相关性带来的影响 Data forwarding 指令流水线的控制相关 指令流水线的控制相关 转移延迟槽 改进转移指令执行性能的方式 将转移指令的执行在流水线中提前进行 转移延迟槽技术 问题 如何解决资源相关性? 数据相关性是否一定导致流水线停顿? 数据相关性 写后读(RAW) 上一条指令的输出数据与下一条指令的输入数据之间的相关 真相关 读后写(WAR) 上一条指令的输入数据与下一条指令的输出数据之间的相关 反相关 写后写(WAW) 两条指令的输出数据之间的相关 输出相关 解决名字相关的方法 寄存器更名 编译器静态实现 硬件动态实现 存储器检测 如100(R4)和20(R6) 指令流水的问题 指令流水线的中断 精确的异常处理 异常的处理能够像在串行的执行方式下一样 2.2 动态指令调度 指令调度 改变指令的执行顺序以解决相关性带来的问题 静态指令调度 改变程序中指令的位置 由编译程序实现 动态指令调度 改变指令的实际执行顺序 不改变取指令和指令译码的顺序 无序执行 由控制器硬件实现 有序执行与无序执行 无序执行 后续指令比前面的指令后开始进入执行阶段 后续指令比前面的指令后执行完成 真相关的指令停顿 继续读取操作数 没有改变取指和译码的顺序 有序执行 有序开始执行 有序执行完成 无序执行的实现 退耦流水线Decoupled pipeline 退耦结构指令流水线的特点 简单的无序执行机制 指令预取 功能部件之间可无序执行 功能部件之内有序执行 可以提高程序执行速度 无序执行的实现 退偶指令流水级阶段 启动指令 对指令进行译码 检查资源相关性 读操作数 检查数据相关性 在没有数据相关性时读入操作数 执行 操作数全都具备 写回 例2-8 在1个采用退耦结构的指令流水线中,指令的流水过程分为启动(IS)、执行(EX)、写回(WB)三个阶段,浮点加法运算器是3级流水部件(A1~A3),浮点乘法器是4级流水部件(M1~M4),其余每个流水阶段都只需1个周期。对于下列指令序列,试画出流水线的时空图。(指令后缀s表示单精度浮点运算) Sub.s F1,F0,F5 Add.s F1,F1,F0 Mult.s F2,F5,F1 Mult.s F4,F6,F0 Add.s F6,F3,F0 Add.s F3,F3,F1 解答 指令的实际执行完成顺序是1、2、5、6、4、5 动态指令调度的方法 记分牌方法 集中式动态调度 Tomasulo法 分布式动态调度 记分牌方法scoreboard 构成 指令状态表 功能部件状态表 寄存器结果状态表 执行阶段 启动 读操作数 执行 写结果 操作规则 启动规则:无结构冲突,没有WAW相关 读操作数规则:操作数具备——消除RAW相关 写结果规则:前面指令已读取操作数或者无数据相关——消除WAR相关 记分牌的例子 记分牌的缺点 依靠流水线停顿来解决相关性 没有消除名字相关 集中式调度 记分牌部件是性能瓶颈 Tomasulo调度法 特点: 寄存器更名 消除名字相关 分布式保存站 并行调度消除调度瓶颈 写回控制 写写相关时最后一条指令写入 命令队列 使取指令与启动执行退耦 Tomasulo调度法 执行步骤 发送issue 如果浮点运算部件中有一个空的保存站就发送该指令到保存站中 如果操作数在寄存器中就将它们送到保存站 如果没有空的保存站或缓存部件,则指令暂等 执行 保存站中的指令在具备所需的操作数时就进入执行部件 写结果 结果形成时通过CDB总线写到寄存器与等待此结果的所有保存站 问题一 Tomasulo法如何实现寄存器更名? 问题二 Tomasulo法如何进行写回控制? 问题三 Tomasulo法存在什么缺点?

文档评论(0)

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

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

1亿VIP精品文档

相关文档