网站大量收购独家精品文档,联系QQ:2885784924

《系统结构与分析》第十五章 IA-64 体系结构.ppt

《系统结构与分析》第十五章 IA-64 体系结构.ppt

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 第十五章 IA-64 体系结构 IA-64 的背景 随着Pentium 4的推出,Intel从8086开始的微处理器系列已成为最成功的计算机产品系列 Intel公司与惠普(HP)公司联手开发新一代64位体系结构,称为IA-64 IA-64 是构筑在两公司和一些大学多年研究成果之上的一种崭新体系结构 64 位结构 既不是Intel的32位x86体系结构的64位扩展 也不是HP的64位PA-RISC体系结构的改写 此体系结构借助于系统化的并行方法,并利用了最新一代微芯片技术所提供的丰富电路和高速度 背离了超标量方案 15.1 推动因素 奠定IA-64的基本概念如下: 指令级并行性 由机器指令显式表明,而不是由运行时机器确定 长或超长指令字 (LIW/VLIW) 转移判定 (不同于转移预测) 推测装入 Intel HP 将这些概念称之为显式并行指令计算 (EPIC) IA-64 指使用 EPIC 技术实现的指令集体系结构 Itanium 是 Intel 第一个IA-64体系结构产品 超标量 vs IA-64 超标量 IA-64 RISC型指令,每字一条指令 RISC型指令,3条捆成一组 多个并行执行单元 多个并行执行单元 运行时重排序和优化指令流 编译时重排序和优化指令流 转移预测,只在一路上推测执行 沿转移的两路推测执行 仅当需要时才由存储器装人数据,并首先试图在cache中找到数据 在需要之前推测装入数据,并首先试图在cache中找到数据 为何采用新的体系 目前的芯片上可容纳上千万个晶体管,如何充分利用这些晶体管? 建造更大的cache 可能导致命中率减小 加入更多的执行单元来提高超标量的并行度 越来越多的执行单元加入,使得处理器需要更多的逻辑来指挥这些单元协调动作 转移预测必须改进,无序处理必须使用,更长的流水线必须被采用 但是,越长的流水线,预测错误所带来的性能损失也越大 无序执行要求更多的换名寄存器和更复杂的用于处理相关性的内部锁定电路 结果是,当今最好的处理器也只能做到每周期回收4条指令,通常是更少 显式并行性 编译时由编译器静态地调度指令,而不是运行时由处理器动态地调度指令 并在机器指令中包括这些信息 处理器使用这些信息完成并行执行 优点:EPIC处理器不需要使用非常复杂的电路 而且,处理器只有纳秒(ns)的时间来确定潜在的并行执行性, 而编译器却有高出几个数量级的时间来充裕地考察程序,并能将程序作为整体来考虑 15.2 通常组织 关键特性 大寄存器组 IA-64指令格式要求使用256个寄存器: 128个64位寄存器作为整数、逻辑和通用寄存器 128个82位寄存器作为浮点和图形寄存器使用 还有64个1位判定寄存器,用于判定执行 多个执行单元 8个或更多 执行单元的数量与可用的晶体管数有关。 若机器语言指令流指出8条整数指令可并行执行,一个只有4条整数流水线的处理器必须分两块来执行这些指令 而一个具有8条流水线的处理器,则可同时执行8条指令。 IA-64 执行单元 I单元: 整数算术 移位-与-加,逻辑运算 比较和整数多媒体指令 M单元: 寄存器和存储器之间的装入和存储以及某些整数ALU运算 B单元: 用于转移类指令 F单元: 用于浮点类指令。 指令类型和执行单元类型的关系 指令类型 描 述 执行单元类型 A 整数ALU I单元或M单元 I 非ALU的整数 · I单元 M 存储器 M单元 F 浮点 F单元 B 转移 B单元 L+X 扩展 I单元/B单元 15.3 判定、推测和软件流水 指令格式(1) IA-64 定义了一个含有3条指令和1个属性字段的128位的束(bundle),每条指令称之为音节(syllabe) 处理器一次能取一束或多束,每束带入3条指令 属性字段的信息指示哪些指令能并行执行,处理器能查看多束来确定其中哪些指令可并行执行。 例如,一指令流中有8条指令能并行执行,编译器将重排序这些指令使它们分散在连续的几个束中,并相应设置属性值。于是,处理器知道这8条指令是互不相关的 指令槽 2 指令槽 1 指令槽 0 属性 主操 作码 (a) IA-64 的束 (b) 通常的 IA-64 的指令格式 (c) 典型的 IA-64 的指令格式 PR=判定寄存器 GR=通用寄存器或浮点寄存器 128位的束 41位的指令 指令格式(2) 每条指令有定长的41位格式 比RISC和RISC超标量机器的传统32位格式长,然而比Pentium 4上的118位微操作短 两个因素致指令比较长: IA-64比典型的RISC和RISC超标量机器使用更多的寄存器,1个整数寄

文档评论(0)

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

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

版权声明书
用户编号:6100124015000001

1亿VIP精品文档

相关文档