多指令流出技术:- V- L- I- W-和- Superscalar简介课件.pptVIP

多指令流出技术:- V- L- I- W-和- Superscalar简介课件.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文档。上传文档
查看更多
多发射的问题 如果Integer和FP操作很容易区分组合,那么对这类程序在下列条件满足的情况下理想CPI= 0.5 : 程序中50% 为FP 操作 没有任何相关 如果在同一时刻发射的指令越多,译码和发射就越困难 即使是同一时刻发射2条 =需检查2个操作码,6个寄存器描述符 ,检查是发射1条还是2条指令。 VLIW 指令字较长可以容纳较多的操作 根据定义,VLIW中的所有操作是由编译时刻组合的,并且是相互无关的,也就是说:可以并行执行 例如 2 个整数操作,2个浮点操作,2个存储器引用,1个分支指令 每一个操作用16 到 24 位 表示 = 共7*16 = 112 bits 到 7*24 = 168 bits wide 需要用编译技术调度来解决分支问题 基于VLIW的循环展开 Memory Memory FP FP Int. op/ Clock reference 1 reference 2 operation 1 op. 2 branch LD F0,0(R1) LD F6,-8(R1) 1 LD F10,-16(R1) LD F14,-24(R1) 2 LD F18,-32(R1) LD F22,-40(R1) ADDD F4,F0,F2 ADDD F8,F6,F2 3 LD F26,-48(R1) ADDD F12,F10,F2 ADDD F16,F14,F2 4 ADDD F20,F18,F2 ADDD F24,F22,F2 5 SD 0(R1),F4 SD -8(R1),F8 ADDD F28,F26,F2 6 SD -16(R1),F12 SD -24(R1),F16 SUBI R1,R1,#48 7 SD 16(R1),F20 SD 8(R1),F24 8 SD -0(R1),F28 BNEZ R1,LOOP 9 Unrolled 7 times to avoid delays 7 results in 9 clocks, or 1.3 clocks per iteration (1.8X) Average: 2.5 ops per clock, 50% efficiency 注: 在VLIW中,一条超长指令有更多的读写寄存器操作(15 vs. 6 in SS) Trace Scheduling 消除分支的一种策略 两步: Trace Selection 有哪些信誉好的足球投注网站可能最长的直线型代码(由一组基本块构成)(通过静态预测或profile技术)(trace) Trace Compaction 将trace中的指令拼装为若干条VLIW 指令 需要一些保存环境的代码,以防预测错误 由编译器撤销预测错误造成的后果(恢复寄存器的原值) HW推断执行(Tomasulo) vs. SW (VLIW) 推断执行 HW 确定地址冲突 HW 分支预测较好,预测准确率较高 HW 可支持精确中断模型 HW 不必执行保存环境和恢复环境的指令 SW 推断执行比HW设计简单的多 Superscalar vs. VLIW 代码量较小 二进制兼容性好 译码、发射指令的硬件设计简单 更多的寄存器,一般使用多个寄存器文件而不是多端口寄存器文件 Superscalar 的动态调度(1/2) 静态调度的缺陷: 有相关就停止发射 基于原来Superscalar的代码生成器所生成的代码可能在新的Superscalar上运行效率较差,代码与superscalar的结构有关 Superscalar 的动态调度(2/2) 用Tomasulo如何发射两条指令并保持指令序 假设有1 浮点操作,1个整数操作 Tomasulo控制器一个控制整型操作的发射,一个控制浮点型操作的发射 如果每个周期发射两条不同的指令,比较容易保持指令序(整型类操作序,浮点类操作序) 现在只有FP的Loads操作可能会引起整型操作发射和浮点操作发射的相关 存储器引用问题: 将load的保留站组织成队列方式,操作数必须按指令序读取 Load操作时检测Store队列中Store的地址以防止RAW冲突 Store操作时检测Load队列的地址,以防止WAR相关 Store操作按指令序进行,防止WAW相关 计算机体系结构 Chapter4_4 * 2006-11-14 多指令流出技术: VLIW 和Superscalar简介 周学海 xhzhou@ustc.edu.cn Review #1/2 Reservations stations: 寄存器重命名,缓冲源操作数 避免寄存器成为瓶颈 避免了Scoreboard中无法解决的 WAR, WAW hazards 允许硬件做循环展开

文档评论(0)

liuxiaoyu99 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档