没有合适的资源?快使用搜索试试~ 我知道了~
雷恩第一大学博士论文:大超尺度微体系结构及其性能评估
2017年论文/雷恩第一大学布列塔尼卢瓦尔大学印章下为的等级雷恩第一大学博士提及:信息学数学与信息与通信科学与技术提交人安德烈·蒙德利在INRIA研究单位编写国家计算机科学与自动化研究所雷恩大学1重访大超尺度微体系结构论文于2017年9月12日在雷恩由以下人员组成的评审团进行了答辩:史蒂文·德里安雷恩大学教授伯纳德·古森斯佩皮尼昂大学教授斯梅尔·尼尔巴伦西亚大学教授卡琳·海德曼会议主持人/考官安德烈·塞兹内克INRIA Rennes研究总监/论文总监皮埃尔·米肖INRIA Rennes研究员/论文亲爱的玛丽,你知道谁会在船上吗?我还在加沙等你。我会在船上迎接你。保持人性。维克。维托里奥·阿里戈尼谢谢你内容。法文摘要51导言91.1本工作的。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 91.2捐款101.3组织122最新技术水平132.1从管道到Superscalar132.2超大规模处理器的技术性能2.2.1教学水平平行162.2.2分支预测器182.2.3注册表重命名182.2.4无序执行202.3大问题复杂性222.3.1性能限制扩展222.3.2关键组件的影响242.3.3前端带宽252.3.4第一级数据缓存252.3.5旁路网络路径262.3.6加载/存储队列272.3.7通过限制管道活动性2.4集群292.4.1集群微体系结构302.4.2问题Buffer312.4.3转向322.4.4写作专业化352.4.5网络旁路和群集间延迟372.4.6商用超大规模处理器2.4.7集群VLIW/DSP架构392.5节能操作循环4012.5.1在前端节省环路能源402.5.2对循环使用专用缓存412.5.3在后端节省循环能源442.5.4循环加速器452.5.5环路高速缓存解决方案的工业采用463广泛发行的集群微体系结构473.1单线程IPC47增加案例3.2实验框架493.2.1模拟设置493.2.2基准503.2.3基线微体系结构513.3来自更复杂的超尺度微archi的潜在CPI收益-543.4双集群配置553.4.1具有基线指令窗口大小57的双群集3.4.2具有双指令窗口57的双集群3.4.3分析603.4.4向拟议的双集群配置迈进的可能步骤623.5能源考虑633.5.1静态PPE633.5.2用于减少动态EPI的群集间通信的门控643.6摘要654利用循环减少超标量无序核中的能量4.1基线和实验设置684.2循环缓冲器和循环检测器694.2.1描述704.2.2环形饮水机尺寸734.2.3调谐Miniter744.3冗余微操作删除764.3.1拟议机制764.3.2冗余微操作的识别4.3.3注册表重命名的变更784.3.4负载和存储794.3.5模拟结果804.3.6编译器优化影响:案例研究824.4减少负载的能量864.4.1推测性负载执行864.4.2DL 1/STQ门控?............................................................................884.4.3在循环模式90下存储队列和DL1门控4.4.4STQ单独门914.4.5DL1单独门控914.4.6STQ门控和DL1门控组合924.4.7存储器依赖性预测器的门控4.5摘要955结论975.1未来的超大规模体系结构975.2利用环路进行功耗995.3前景99参考书目103作者首字母缩略词列表123图125列表内容5法文摘要几十年来,由于晶体管速度越来越快,微架构的流水线越来越深,通用处理器的使用频率稳步上升然而,大约10年前,由于漏电流和温度的影响,前代产品的雕刻精度达到了物理极限 从那时起,处理器的频率没有增加。制造商没有提高 处理器 的频率 ,而 是在单个芯片上集成了更多的内核,扩大了缓存层次结构,提高了能效。在单个芯片上放置更多内核提高了芯片的效率,有利于并行应用然而,仅仅拥有更多的心是不够的。单个处理器的加速也很重要此外,在设计用于高性能的微体系结构时,降低功耗已经成为一个主要目标。在超标量单元中引入了一些特征,主要是为了减少能量消耗。功能性的一个例子是"循环缓冲器",它现在在几个Super标量微体系结构中实现。循环缓冲器的目的是节省微处理器前端块(指令高速缓存、分支预测器、解码器等)中的能量。当运行一个主体小到足以容纳该特定缓冲区的循环时在循环执行期间如果处理器频率保持不变,那么在未来的处理器中,提高顺序应用性能的唯一可能性对微体系结构的一些改进(例如, 更好的分支预测)同时提高了性能和能量效率。 然而,提高指 令 并 行 性 的 利 用 率 通 常 是 有 代 价 的 : 增 加硅 面 积 、 功 耗 、 设 计 工 作 等 。 因 此 , 微 体 系 结 构 被 缓 慢 地 、 一 次 一个增量 地修 改 。事实上,处理器制造商一直在努力例如,英特尔Nehalem6内容图1:集群体系结构示例英特尔Haswell微架构可以从36个输入的is-sue buffer中每周期发出6个微操作本文描述了未来10年的超标量单元,并探讨了利用回路行为来降低前向块以外的功耗的可能性。已经发表了一些建议,特别是关于循环加速器和非常规反向块超标量单元的建议。有人认为,指令窗口的大小与以前的集群微体系结构研究(图1)的一个主要区别是使用了宽问题集群,而过去的研究主要集中在窄问题集群从小集群到大集群的转变 以前对引航政策的研究表明,在实现良好的负载平衡的同时,减少组间通信是一个困难的问题。十年来在试点政策方面的工作得出的结论之一是,像Mod-3这样简单的政策内容7这会导致每周期指令数(IPC)的显著损失,而最小化IPC损失的驱动策略对于硬件实现来说事实上,这项研究表明,考虑大集群对Mod-N的性能有着巨大的影响,Mod-N是最简单的Mod-N向一个集群发送N条连续指令,然后向另一个集群发送接下来的N条指令,依此类推。Baniasadi和Moshovos发现,对于小集群 , 最 优 N 值 通 常 非 常 低 , 并 主 张 采 用 Mod-3 策 略 似 乎 在 Baniasadi 和Moshovos的文章之后,除了Mod-3之外,很明显,对于大集群,如果指令窗口足够大并且给定实际的组间延迟,则N的最佳值远大于3,通常为 由于相关数据的局部性,Mod-64策略导致比Mod-3策略少得多的群集间通信。因此,Mod-64比Mod-3容忍更多的簇间延迟。此外,一个集群产生的大约40%的值不需要传输到另一个集群,从而减少了第二个贡献提出了两个独立的和正交的优化有关的能源消耗和利用循环。第一个优化检测在每次迭代中产生相同结果的冗余微操作,然后永久删除这些微操作。第二种优化侧重于通过检测负载不需要访问存储队列或不需要访问第1层(DL1)数据缓存的情况来降低负载微操作的功耗。所提出的优化对计算性能的影响可以忽略不计,它们主要涉及能耗。8内容第一章引言1.1本工作几十年来,通用处理器的时钟频率一直在增长,这要归功于更快的晶体管和具有更深流水线的微架构大约十年前,技术如何突破了泄漏电源和温度墙。从那时起,高端处理器的时钟频率没有增加。处理器制造商不再提高时钟频率,而是在单个芯片上集成了更多内核,扩展了缓存层次结构并提高了能效。在单个芯片上放置更多内核增加了总芯片吞吐量,并使一些具有线程级并行性的应用程序受益。然而,许多应用程序具有低线程级并行性[BDMF10]。拥有更多的核心是不够的。加速单个线程也很重要。此外,在设计高性能微体系结构时,限制功耗已成为一项重大挑战。一些微体系结构特征已经被引入到超标量核心中,主要用于减少能量。这种特性的一个例子是目前在几个超标量微体系结构中实现的循环缓冲器[Int16a,Lan11,Rup12]。循环缓冲器的目的是节省内核前端的能量(指令缓存、分支预测器、去编码器等)。当用一个小到足以适合循环缓冲器的身体执行循环时。在循环执行期间,解码的指令直接从循环缓冲器提供到后端:指令高速缓存、分支预测表和大多数前端逻辑可以被时钟门控,这减少了前端功耗。如果时钟频率保持不变,那么未来处理器中更高单线程性能的唯一可能性是利用更多的指令级并行性(ILP)。一些微体系结构改进(例如,更好1 NVIDIA最近的一份白皮书提到ARM Cortex-A15的前端功耗降低了50%,这要归功于循环缓冲器[NVI 13]910简介≤≤分支预测器)可以同时提高性能和能效。然而,总的来说,利用更多的ILP在硅面积、能源消耗、设计和工作量等方面都有成本。因此,今天的微体系结构正在缓慢地、逐步地发展,利用了技术的扩展优势。处理器制造商一直在不断努力利用更多的ILP、更好的分支预测器、更好的数据预取器、更大的指令窗口、更多的物理寄存器等等。例如,英特尔Nehalem微体系结构(2008年11月)可以从36个输入的问题缓冲器中每周期输出6个微操作,而最新的英特尔Haswell微体系结构(2013年6月)可以从60个输入的问题缓冲器中每周期输出8个微操作[Int16a]。1.2贡献本论文的第一个贡献是探索超大规模问题处理器(16问题处理器)的可能设计。这样的处理器可能在十年后成为高端多核的核心。与过去的集群微架构研究的一个主要区别是,我们假设了广泛的问题集群(8个问题),而以前的研究主要集中在狭窄的问题集群(4个问题)。 从小问题到大问题集群不仅仅是数量上的变化,它对集群问题,特别是对指导政策产生了质的影响。过去关于引导策略的研究表明,在实现良好的集群负载平衡的同时最小化集群间通信是一个困难的挑战。十年来对转向策略的研究得出的结论之一是,简单的转向策略会产生显著的性能损失机会,而最小化性能损失的转向策略对于仅硬件实现来说过于复杂[BM00,SZ05,CCGG08]。这项研究表明,考虑广泛的问题,而不是狭窄的问题集群,对Mod-N的表现有着巨大的影响,Mod-N是最简单的指导政策之一。Mod-N向一个集群发送N个连续指令,向另一个集群发送下N个指令,依此类推,以循环方式[BM00]。Baniasadi和Moshovos发现,在窄问题聚类上,N的最优值通常非常小,支持Mod-3政策。据我们所知,在Baniasadi和Moshovos的论文之后,除了Mod-3之外,没有人考虑我们发现,对于宽问题簇,如果指令窗口足够大并且考虑实际的簇间延迟,则N的最优值大于3,通常为10倍。由于依赖于数据的局部性,Mod-64策略导致比Mod-3策略少得多的群集间通信。 因此,Mod-64比Mod-3容忍更大的簇间延迟。更多,关于捐款11一个集群产生的40%的值不需要转发到另一个集群,这使得减少集群间通信中的能量消耗成为可能。我们认为,通过组合聚类[LFK+93,Kes99,PJS97]和寄存器写入专用化[CPG00,ZK01,STR02],可以增加指令窗口和许多程序在循环中花费了很大一部分执行时间。[Kob84]第二个贡献是探索利用循环行为来减少前端以外的能耗的可能性。已经发布了一些针对环路加速器[CHM08,SIT+14,NGS15]或非常规超大规模核心后端[HNL14]的建议。Sodani和Sohi在[SS97]中指出,冗余执行存在于大多数程序中。在本文中,我们提出了两个独立的和正交的能量优化利用循环。我们提出的第一个优化是一种机制,用于检测在每次迭代中产生相同结果的冗余微操作,并将这些微操作从执行核心中删除。冗余的最简单情况是当微操作从寄存器中读取其所有操作数时,在循环中未进行修改当在进入循环之前设置值时,寄存器保持不变仅读取这些常量值的微操作可以被认为是冗余的,并且所产生的值在不同的迭代中是恒定的。以这种方式,冗余状态可以传播到其他微操作,并且可以操纵循环缓冲器以移除这些微操作。我们提出了对寄存器重命名的修改,以保持物理寄存器保持活动状态,该物理寄存器保持冗余微操作的结果,并且我们描述了在陷阱或循环退出的情况下恢复寄存器文件的解决方案建议的变更使用称为冗余负载表的小型完全关联表来跟踪存储和删除负载之间的冲突。我们正在评估删除冗余微操作的影响和硬件更改的成本。第二种优化侧重于节省负载微操作所消耗的我们检测负载不需要访问存储队列或不需要访问级别1数据缓存(DL1)的情况在传统情况下,每个负载同时检查存储队列(STQ)和DL1,但这两个访问中的一个是无用的。我们预测负载将在哪个队列中命中数据,以避免不必要的访问。所提出的方法允许STQ或DL1的门控。这些方法可以一起使用(它们是正交的),也可以彼此独立地使用。我们描述了错误的DL 1/STQ门控预测的影响,以及为每种类型的门控测试基准的机会。我们还使用一个配置来测试此机制,该配置模拟了非常大的指令足迹应用程序的实际操作。我们首先单独分析每种类型的门控,然后将其结合起来,重点关注这种节能解决方案的性能影响。建议的优化对12简介性能,但它们主要产生节能。1.3组织本文组织如下。第二章总结了与本文两个主要贡献相关的最新技术水平。它描述了在过去二十年中通过集群微体系结构提高后端性能和使用环路降低功耗所做的工作。第一个贡献在第3章中描述。我们主张利用扩展技术的一些优势来增加每个周期的单线程指令(IPC)。我们探讨了各种微体系结构参数对性能的影响,并表明,通过同时将现代高端内核的所有参数加倍,Spec INT基准测试的CPI平均可提高25%,Spec FP的CPI平均可提高40%。我们专注于对无序引擎进行群集的性能影响,发现尽管存在群集间延迟,但仍有可能实现显著的性能提升,前提是指令窗口参数加倍。 我们证明了Mod-64指导策略容忍几个周期的簇间延迟。我们解释了如何通过检测其他集群不需要的结果的第二个贡献在第四章中描述。在本节中,提供了有关基准测试循环行为的一些统计信息。然后,我们描述并评估了提出的两种能量优化:冗余微操作的去除和DL 1/STQ门控。我们提供了如何结合两种门控技术的概述。第五章总结了本文的研究成果,讨论了使用集群后端的超规模架构的未来,以及动态指令重用技术在降低功耗方面的未来应用。第二章最新技术水平微处理器是我们今天使用的大多数电子系统的核心。不仅仅是电脑、智能手机、平板电脑,还有汽车、洗碗器、电视等等。在计算机科学中,微处理器的体系结构已经从第一个微处理器1发展到最近的Intel/AMD微处理器。今天,技术允许创造微小的微处理器,能够执行比20年前超级计算机多几倍的指令。评估此功能的常用(大多数情况下是商业)方法是时钟速度。这个值以赫兹表示,是过去商业广告中的一种关键词。实际情况完全不同:时钟速度和处理器性能不同,它们表达的处理器功能也不同微处理器在笔记本电脑和智能手机等智能和便携式设备中的广泛使用,让人们看到了现代处理器的另一个重要特性,以及性能:能耗。2.1从管道到超大规模。设计和使用微体系结构意味着为数据路径设计新的解决方案。数据路径可以定义为指令必须在处理器中完成以完成其执行的路径。不同的指令可能需要不同的数据路径,并且如果指令要填充数据路径内的较长路径,然后通过大量的逻辑门,则该指令通常需要更多的执行时间。微体系结构研究中的一个基本概念是指令集体系结构(ISA)。ISA描述了程序员可以看到的体系结构设计的那些方面这是一套基本说明1术语"微处理器"是由Viatron Computer Systems创造的,它描述了1968年宣布的System 21小型计算机系统中使用的最先进的集成电路。1314最新技术水平微处理器可以执行。使用相同ISA 的两个微处理器可以具有两个完全不同的微体系结构,并且因此具有不同的执行指令的方式和不同的执行时间在论文的其余部分,微体系结构和体系结构这两个词将互换使用。标量流水线体系结构是一种实现,它假设在每个时钟周期执行一个内置结构,并且每个组件只能由每个周期的一条指令这是设计中最简单的体系结构之一,但其速度受到最长路径、与寄存器相比内存延迟较长以及速度较慢组件的限制。 从流水线到超大规模的演进允许提高性能,从而增加硬件复杂性。流水线允许指令的部分重叠,这些指令试图利用它们固有的并行性,也称为指令级并行性(ILP)。然而,可以执行的指令并行性的实际程度取决于几个因素,例如可用功能单元的有限数量、指令之间的数据依赖性以及分支指令的存在在理想情况下,我们有两种解决方案来提高流水线的性能:提高时钟频率和并行执行更多指令如果我们增加时钟频率(这意味着使用更短的时钟周期),则必须调整时钟的大小,以允许指令在单个流水线阶段中通过数据路径内容为了使管道能够继续运行,有必要重新设计体系结构,将工作划分为更多的阶段,在每个阶段中,它可以执行最少的新的更短时钟周期允许的工作然而,如果流水线阶段的数量增加,则将有更多的指令并行运行,并且因此运行程序中固有的并行性可能被充分利用。换句话说,流水线阶段的数量和时钟频率(以及时钟周期的长度)与影响实际性能的其他因素密切相关。奔腾IV严重利用了管道深度的增加,其中架构师能够通过近30级的管道达到达到4 GHz的频率[HSU+01]。不幸的是,由于体系结构和技术问题,不可能无限期地利用这种技术管道及其控制单元的复杂性增加、晶体管之间的链路厚度、干扰、能耗和散热都是深管道的典型问题[AHKB00]。并行执行更多指令,称为多问题执行,意味着执行两个或更多独立指令,即,它们不需要在同一时钟周期中执行的任何其他指令所产生的结果多个问题的执行需要复杂的功能单元,以及足够数量的
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++多态实现机制详解:虚函数与早期绑定
- Java多线程与异常处理详解
- 校园导游系统:无向图实现最短路径探索
- SQL2005彻底删除指南:避免重装失败
- GTD时间管理法:提升效率与组织生活的关键
- Python进制转换全攻略:从10进制到16进制
- 商丘物流业区位优势探究:发展战略与机遇
- C语言实训:简单计算器程序设计
- Oracle SQL命令大全:用户管理、权限操作与查询
- Struts2配置详解与示例
- C#编程规范与最佳实践
- C语言面试常见问题解析
- 超声波测距技术详解:电路与程序设计
- 反激开关电源设计:UC3844与TL431优化稳压
- Cisco路由器配置全攻略
- SQLServer 2005 CTE递归教程:创建员工层级结构
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功