[文学研究]计算机组织与系统结构 - 北京大学.ppt

[文学研究]计算机组织与系统结构 - 北京大学.ppt

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

复习: 三种数据冒险 数据冒险示例 复杂指令流水线 复杂按序指令流水线 延迟回写(Delay writeback)以确保所有操作到W级都具有相同的时延 写端口不可被复用(每个周期只有一条指令进入、一条指令流出) 指令按序提交,简化了精确中断的实现。 复杂指令流水线 何时可以安全地发射一条指令? 硬件策略:指令并行 为什么需要硬件在运行时支持? 在编译时有些相关情况不能真正判定 简化编译处理 针对某一机器产生的代码可以在另一机器上有效运行 核心思路:允许暂停之后的指令被处理 DIVD F0,F2,F4 ADDD F10,F0,F8 SUBD F12,F8,F14 允许乱序(out-of-order)执行 = 乱序完成 在1963年的CDC 6600机器中,ID段检测结构冒险和记分板(Scoreboard)数据 核心思路: 寄存器换名 DIVD F0,F2,F4 DIVD F0,F2,F4 ADDD F10,F0,F8 ADDD F10,F0,F8 SUBD F0,F8,F14 SUBD F100,F8,F14 MULD F6,F10,F0 MULD F6,F10,F100 消除WAR和WAW冒险 支持按序发射指令的记分板技术 Scoreboard for In-order Issues 硬件策略:指令并行(续一) 乱序执行 分解 ID段: 1. Issue—decode instructions, check for structural hazards 2. Read operands—wait until no data hazards, then read operands 只要指令同时满足上述两个条件,记分板就允许该指令执行,而无需等待前面的指令完成 CDC 6600: 按序发射 乱序执行 乱序提交(commit) ( 也就是完成[completion]) 记分板的含义 乱序完成 = WAR, WAW冒险? 对WAR的解决方案 排队等待操作以及它们操作数的拷贝 只在读操作段才读取寄存器 对WAW的解决方案,必须检测冒险:暂停等待到其他指令完成 在执行阶段可能有多个指令 = 设置多个执行部件或者流水化执行部件 记分板跟踪相关、状态或操作 记分板用四个流水段代替ID、EX、WB三段 记分板控制的四级 1. Issue—decode instructions check for structural hazards (ID1) If a functional unit for the instruction is free and no other active instruction has the same destination register (WAW), the scoreboard issues the instruction to the functional unit and updates its internal data structure. If a structural or WAW hazard exists, then the instruction issue stalls, and no further instructions will issue until these hazards are cleared. 2. Read operands—wait until no data hazards, then read operands (ID2) A source operand is available if no earlier issued active instruction is going to write it, or if the register containing the operand is being written by a currently active functional unit. When the source operands are available, the scoreboard tells the functional unit to proceed to read the operands from the registers and begin execution. The scoreboard resolves RAW hazards dynamically in this step, and instructions may be sent into execution out of order. 记分板控制的四级(续一) 3. Execution—operate o

文档评论(0)

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

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

1亿VIP精品文档

相关文档