- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * (c) 跟踪cache取 (d) 驱动 Pentium 4 流水线操作 (2) (e) 分配:寄存器换名 (f) 微操作排队 Pentium 4 流水线操作 (3) (g) 微操作调度 (h) 派遣 Pentium 4 流水线操作 (4) (i) 寄存器组 (j)执行:控制 Pentium 4 流水线操作 (5) (k) 转移检查 (l) 转移检查结果 Pentium 4 流水线操作 (6) 14.4 PowerPC PowerPC 体系结构是 IBM 801、RTPC 和 RS/6000 的直系后代。 所有这些都是 RISC 机器,但此系列中第一个示超标量特征的是 RS/6000。 PowerPC 结构的最初实现是601。 PowerPC的后来模式更进一步采用了超标量概念。 本节集中于601,它提供了基于RISC超标量设计的优秀例子。 PowerPC 601 框图 128位L2/总线接口 统一的 指令/数据cache(32KB) 取指和派遣 整数单元 浮点单元 转移处理单元 256位 256位 32位 64位 32位 PowerPC 601 流水线结构 PowerPC 601 流水线 取 转移指令 整数指令 Load/Store指令 浮点指令 取 取 取 派遣、译码执行、预测 派遣、 译码 执行 写回 派遣、 译码 写回 写回 地址 生成 执行1 执行2 派遣 译码 * * * * * * * * * * * * * * * * * * * * * * * 第十四章 指令并行性和超标量处理器 14.1 概述 何谓超标量 普通指令 (算术, load/store, 条件转移) 能够同时启动并独立执行 对 RISC CISC 均适用 然而,几乎所有已实现的超标量都是在RISC 体系上完成的 为什么使用超标量技术 大多数应用中,大多操作是对标量进行的 因此,超标量方法代表了高性能通用处理器的趋势 通常的超标量组织 整数寄存器 浮点寄存器 流水线的功能单元 存储器 超级流水线 超级流水线利用了如下事实: 多数流水阶段所完成的任务只需不到半个时钟周期的时间 于是,双倍的内部时钟速率允许在一个外部时钟周期内完成两个任务 超标量允许指令并行执行 超标量vs超级流水线 连续指令 基点机器 超级流水线 超标量 限制 超标量方法依赖于并行执行多条指令的能力 硬件技术与编译器优化技术的结合能够达到最大程度的指令级并行性 并行性受到以下因素的限制: 真实数据相关性 过程相关性 资源冲突 输出相关性 反相关性 真实数据相关性 考虑如下两条指令: ADD r1, r2 MOVE r3, r1 第二条指令可以并行完成取指、译码,但直到第一条指令执行之后才能执行 因为第二条指令的完成需要第一条指令产生的数据,这种情况称为真实数据相关性 过程相关性 转移(发生或不发生)之后的指令有对转移的过程相关性,而且直到转移指令被执行之前它们不能去执行 而且,如果使用变长指令,在取下一条指令之前,指令必须被译码,以确定还需要几个取指阶段 这就妨碍了指令同时取 资源冲突 两个或更多指令在同一时间竞争同一资源 e.g. 两个算术指令 可以设置两套资源 e.g. 有两个运算单元 相关性效应 无相关性 数据相关性 i0使用i0计算的数据 过程相关性 资源冲突 i0和i1使用同一单元 14.2 设计考虑 指令级并行性 顺序中的指令是独立的 可以重叠执行 受制于数据和过程相关性 机器并行性 是指处理器获取指令级并行性好处的能力的大小 受制于流水线的数目 指令发射策略 指令发射是指启动指令去处理器功能单元执行的过程 指令发射策略表示启动指令执行时所采用的协议 三种类型的排序: 取指令的顺序 指令执行的顺序 指令改变寄存器和存储器位置内容的顺序 按序发射,按序完成 按照能实现顺序执行的那个顺序发射指令(按序发射),并以同样的顺序写结果(按序完成) 效率不是很高 按序发射,按序完成(框图) 按序发射,无序完成 产生了输出相关性 R3:= R3 + R5; (I1) R4:= R3 + 1; (I2) R3:= R5 + 1; (I3) I2 依靠 I1 的计算结果 – 数据相关性 如果 I3 在 I1 之前完成, I1 的计算结果就会出错 – 输出相关性 按序发射,无序完成(框图) 无序发射,无序完成 解耦流水线的译码段和执行段 可以持续取指、译码直到流水线满 当一个功能单元空闲时,某条指令即可执行 因为指令已经被译码,处理器可以提前判决 无序发射,无序完成(框图) 反相关性 读-写相关性 R3:=R3 + R5; (I1) R4:=R3 + 1; (I2) R3:=R5 + 1; (I3) R7:
您可能关注的文档
最近下载
- 自行车里程速度计设计论文(本科)毕业设计论文.doc VIP
- GBT3049—2006工业用化工产品铁含量测定的通用方法1,10—菲啰啉分光光度法.pdf
- 新版《建筑设计防火规范》(GB50016-2014年)规范编制组宣讲课件.ppt VIP
- 2024年洛阳文化旅游职业学院单招职业技能测试题库及答案(全优).docx VIP
- 环保管家服务方案.docx VIP
- 2024年洛阳文化旅游职业学院单招职业技能测试题库及答案(必刷).docx VIP
- 大数据平台数据治理规划方案.docx
- 山东文旅云智能科技有限公司笔试考啥.pdf
- 航空移动卫星通信(AMSS).ppt
- 17J008 挡土墙(重力式、衡重式、悬臂.docx VIP
文档评论(0)