没有合适的资源?快使用搜索试试~ 我知道了~
2015年论文/雷恩第一大学由布列塔尼欧洲大学盖章为的等级雷恩第一大学博士提及:计算机科学马蒂斯博士学院亚瑟·P·埃里斯在自动化通过价值预测提高超大规模处理器的性能论文答辩于2015年陪审团由以下人员组成:克里斯托弗·W·奥林斯基雷恩大学教授弗雷德里克·P·埃特罗格勒诺布尔理工学院ENSIMAG教授皮埃尔·B·乌莱里尔大学教授克里斯汀·R·奥昌格图卢兹大学教授皮埃尔·M·伊肖INRIA Rennes - Bretagne Atlantique研究员安德烈·S·埃兹内克INRIA Rennes - Bretagne Atlantique研究主任我为科学服务,这是我的快乐。巴兹尔,弟子谢谢你我想感谢我的评审团成员对我在论文中所做的工作的判断,以及他们的评论和问题。我特别要感谢雷恩第一大学教授Christophe Wolinski 我还要感谢ENSIMAG教授Frédéric Pétrot和里尔第一大学教授Pierre Boulet接受报告员的职位。最后,我要感谢图卢兹大学教授Christine Rochange和INRIABretagneAtlantique研究员PierreMichaud同意对这项工作进行评判。我还要特别感谢塞浦路斯大学的职业教练Yannakis Sazeides。首先是因为我同意作为客座成员参加评审团,但也因为我参与了我的论文工作所涉及的领域的基础的建立。我想感谢André Seznec对本论文的指导和顺利进行。我特别感谢他我要感谢ALF团队的成员进行了所有严肃和不那么严肃的讨论,这些讨论我也要感谢我的家人,我希望他们能或多或少地清楚地了解我多年来的如果没有他们在某个时候的积极参与,这份文件是我很感激我的朋友们,无论是那些我每天都能与之分享博士学位的人1最后,我要特别感谢我的指定校对员,没有他,这份手稿将有许多节日多亏了她,1"真正的工作"2内容表这份手稿比它应该的要有趣得多内容物内容表2法文摘要9导言151现代通用处理器1.1指令集1.1.1说明格式241.1.2建筑状态241.2简单流水线251.2.1不同任务的不同阶段271.2.1.1获取指令1.2.1.2指令解码1.2.1.3执行1.2.1.4内存1.2.1.5回写1.2.2限制301.3高级管道321.3.1分支预测321.3.2超大规模执行331.3.3无序执行341.3.3.1关键想法341.3.3.2注册表重命名351.3.3.3按订单发送和提交371.3.3.4无序问题、执行和退单391.3.3.5存储器指令的特殊情况421.3.3.6摘要和限制462价值预测作为提高连续绩效的一种方法2.1硬件预测算法502.1.1计算预测5032.1.1.1基于Stride-based的预测因子512.1.2基于上下文的预测552.1.2.1有限上下文法(FCM)预测552.1.2.2最后n个值预测572.1.2.3动态数据流继承的推测性上下文预测器2.1.3混合预测器602.1.4基于寄存器的价值预测612.2推测窗口612.3信心估计632.4验证642.5恢复642.5.1重新获取652.5.2重播662.5.3摘要672.6重新审视价值预测673当代背景下的价值预测3.1导言693.2动机703.2.1错误预测恢复703.2.1.1价值误判情景713.2.1.2平衡准确性和覆盖范围723.2.2连续预测733.2.2.1LVP743.2.2.2大步743.2.2.3有限上下文方法743.2.2.4摘要753.3提交时间验证和硬件影响按订单发动机763.4通过置信度最大化价值预测准确性3.5使用标记的几何预测器预测值783.5.1值标记几何预测器783.5.2差分VTAGE预测器803.6评估方法813.6.1价值预测813.6.1.1单模式预测器813.6.1.2混合预测器833.6.2模拟器833.6.2.1价值预测器操作843.6.2.2错误预测恢复853.6.3基准套件863.7模拟结果863.7.1一般趋势863.7.1.1前向概率计数器863.7.1.2管道挤压与选择性重放................................................. 883.7.1.3预测覆盖率和性能893.7.2混合预测器903.8结论924利用价值预测的新执行模型:EOLE954.1引言动机954.2复杂高效架构的相关工作974.2.1替代管道设计974.2.2优化现有结构984.3早期|无序的|延迟执行:EOLE................................................................ 994.3.1使用价值预测994.3.2早期执行硬件1014.3.3延迟执行硬件1024.3.4潜在OOO发动机卸载1054.4评估方法1064.4.1模拟器1064.4.1.1价值预测器操作1074.4.2基准套件1084.5实验结果1084.5.1价值预测绩效1084.5.2减少问题宽度1094.5.3收缩指令队列的影响1104.5.4摘要1104.6硬件复杂性1114.6.1收缩无序引擎1114.6.1.1无序调度程序1114.6.1.2功能单元旁路网络1124.6.1.3专用于Ooo引擎的有限数量的注册表文件端口1124.6.2与EOLE112相关的额外硬件复杂性4.6.2.1延迟执行块112的成本4.6.2.2早期执行块113的成本4.6.2.3物理寄存器文件1134.6.3降低早期/后期执行的硬件成本1134.6.3.1减轻早期执行硬件成本1134.6.3.2延迟执行和端口共享1154.6.3.3注册表文件的总体复杂性。 . . 1164.6.3.4进一步可能的硬件优化1174.6.4摘要1174.6.5关于EOLE模块化的说明:介绍OLE和EOE1194.7结论1205一个现实的、基于块的预测基础设施1235.1引言动机1235.2基于块的价值预测1245.2.1并发多重价值预测问题1245.2.2基于块的值预测器访问1265.2.2.1虚假分享问题1265.2.2.2关于每个条目中的1275.2.2.3每个周期的多个块1275.3实现基于块的D-VTAGE预测器1285.3.1D-VTAGE129固有的复杂性5.3.1.1预测关键路径1295.3.1.2联合阅读1295.3.1.3投机历史1295.3.2基于块的预测的影响1305.3.2.1预测输入分配1305.3.2.2预测验证1305.4基于块的推测窗口1315.4.1利用BeBoP实施完全联合结构第131章5.4.2投机历史的一致性1325.5评估方法1345.5.1模拟器1345.5.1.1价值预测器操作1345.5.2基准套件1355.6实验结果1355.6.1基线值预测1355.6.2基于块的价值预测1375.6.2.1更改条目数和编号每个条目的预测数1375.6.2.2部分步行1375.6.2.3恢复策略1385.6.2.4推测性窗口大小1385.6.3把它放在一起1395.7Predictor存储复杂性降低的相关工作1415.8第141章结论143作者参考书目157图159列表8内容物法文摘要21世纪初将标志着单处理器时代的结束这是多核时代的开始以前,每一代前置处理器都通过提高处理器的运行频率和实现固有的更高效的微架构(前置处理器执行指令的硬件算法)来保证超线性性能改进在这两种情况下,特别是,每两年可以在相同的表面上蚀刻两倍的晶体管,从而更薄的晶体管的使用通常也允许增加工作频率。然而,很快就发现,继续提高频率因此,奔腾4 Prescott(2004)的3.8GHz似乎是消费级处理器可达到的频率的上限。此外,通过添加更多的晶体管来使单处理器的微体系结构复杂化会导致效率下降。因此,在一个芯片上实现多个处理器(内核)并调整程序以利用多个内核,而不是不断提高单个内核的性能,这很快就变得更有利可图事实上,对于纯并行程序,如果我们有两个内核而不是一个内核(所有内核都是相同的),则整体性能提高相反,如果我们花费用于实现第二个核心的l’expérience因此,在过去几年中,我们看到每个芯片的内核数量有所增加,目前约为16个因此,并行程序的性能可以显著提高,特别是比纯顺序程序的性能快得这是有问题的,因为有许多程序本质上是顺序的,910摘要图1:值预测(VP)对程序表示的顺序依赖链的影响也就是说,不能从多颗心的存在中获益 此外,并行程序通常具有纯顺序部分。这意味着,即使有无限多个内核运行每个等位基因的部分,性能也会受到序列部分的限制因此,即使在多核时代,仍有不幸的是,提高顺序性能的最自然的方法因此,有必要找到在不合理地增加处理器复杂性的情况下提高性能的替代在本研究中,我们重新审视了这种方法。值预测(VP)允许 因此,依赖于推测结果的指令可以更早地执行,从而提高顺序性能。因此,值预测允许更好地利用已经存在的硬件资源图1示出了预测指令的结果如何允许提取比程序的顺序语义所表达的但是,预测值需要一种机制来验证预测,并确保即使结果不正确也能保持正确的执行。法文摘要11预测不佳。一般来说,这种机制是直接植入心脏的,以无序的方式执行,这本身已经非常复杂。因此,用这种验证机制实现值预测将与不使处理器复杂化此外,值预测需要访问寄存器文件,该寄存器文件是包含要执行的指令的操作数的值及其结果的结构实际上,一旦预测了结果,就必须将其插入到寄存器文件中,以便依赖于它的指令可以使用它同样,为了验证预测,必须从寄存器文件中读取预测,并将其与非推测结果进行比较 这些访问与无序执行引擎执行的访问竞争,因此需要额外的读/写端口以避免冲突。然而,寄存器文件的表面积和消耗随着访问端口的数量而超线性增长。因此,有必要找到一种在不增加寄存器文件的复杂性的情况下实现值预测的方法最后,向处理器提供预测的结构,即预测器,无论是在操作上还是在它所需的存储预算然而,它必须能够在每个周期中提供多个预测,因为处理器可以在每个周期中处理多这意味着,与寄存器文件一样,需要多个访问端口来访问每个周期的多个预测。添加具 有 多 个 访 问 端 口 的 几 千 字 节 预 测 器 将 对 处 理 器消耗产生重大影响,因此应避免。这三个要求是值在这篇论文中,我们重新审视了当前背景下的价值预测。特别地,我们提出了上述三个问题的解决方案,允许值预测不显著增加已经非常高的处理器复杂性。因此,值预测成为提高顺序性能的现实方法。首先,我们提出了一个新的预测器,利用了分支预测领域的最新进展该预测器比现有的基于上下文的预测器更有效地进行预测。此外,它不受固有的实现困难的影响,例如需要推测性地管理本地历史这我们还表明,如果预测因子的准确性非常高,即错误的预测是非常罕见的,因此当指令按顺序从处理器中取出时,可以进行预测验证因此,他12摘要不需要为了确保高精度,我们使用概率置信度估计机制来模拟8-10位计数器,第二,我们注意到,由于值预测,许多指令在无序地进入执行引擎之前就已经准备好执行了类似地,预测指令不需要在它们从前置指令中移除之前执行,因为依赖于它们因此,我们提出了一种新的执行模型因此,可以减少无序执行引擎在每个周期中可以处理的指令数因此,我们得到的处理器具有与使用值预测的处理器类似的性能,但是其无序执行引擎最后,我们提出了一个预测基础设施,它可以在每个周期预测多个指令,同时只具有一个访问端口的结构。为了实现这一点,我们利用了处理器按顺序执行指令的事实,并且因此可以将对应于存储器因此,可以在对预测器的单个访问中检索对应于指令块的所有我们还讨论了一些预测器预测结果所需的推测性上下文管理,并提出了一个现实的解决方案,也利用了指令块布局。我们还考虑了减少预测器所需存储预算的方法,并表明可 以 使 用 1 6 - 3 2 K B , 这 与 一 级 缓存 或 分 支 预 测 器 的 预 算 相 似 。最终,我们实现了11.2%的平均性能提升所获得的性能永远不会低于参考处理器的性能(即,没有预测值)在考虑的程序我们使用的处理器的无序执行引擎比参考处理器中的复杂性低得多,而寄存器文件等效于参考处理器的寄存器因此,主要成本来自值预测器,但是该成本是合理的,因为可以实现具有单个访问端口的表法文摘要13因此,这三个贡献形成了在现代高性能通用处理器中的值预测的可能实现,并且因此提供了增加处理器的推测指令窗口大小以提高顺序性能的严肃替代方案14摘要简介处理器一般用途与否--实际上是现代计算机科学的基石 为了说服我们自己,让我们试着想象一下,如果没有这样的芯片,计算机科学会有什么结果。最有可能的是,它将被重新归类为一个数学领域,因为图形处理、生物信息学(包括DNA测序和蛋白质折叠)和机器学习的处理能力将不足以简单地存在。在没有运行编译代码的机器的情况下,语言和编译器也会变得不那么重要。当然,处理器的使用并不局限于计算机科学:处理器无处不在,从手机到汽车,到家庭,等等。然而,处理器在设计、验证和制造方面极其复杂。他们的用户往往不太了解这种复杂性。为了了解处理器设计的含义,让我们考虑一下现代处理器的原子单位:晶体管。最新一代的通用微处理器具有数百万到数万亿个晶体管。通过以某种方式连接这些晶体管,可以实现诸如OR和AND之类的二进制函数。然后,通过组合这些基本函数,我们得到了一个能够进行加法和乘法等高级运算的设备虽然晶体管之间的所有连接都没有明确说明--这是手工设计的,但许多高性能处理器具有自定义逻辑,电路设计人员在晶体管级别上发挥作用。因此,设计和验证处理器是极其耗时和资源密集的。更重要的是,即使现代通用处理器具有每秒执行数万亿次算术运算的能力,似乎为了在计算机科学研究和生活质量改善方面保持稳定的空间,处理器也应该保持更快和更节能。那些代表处理器架构的两大挑战。为了实现这些目标,架构师的行为比晶体管高一级,但比逻辑门高不了多少级。或、与等)。特别地,他或她可以改变处理器的不同组件的连接方式、它们的操作方式以及简单地添加或移除组件。这与电路设计者的观点相反,他希望通过重新排列电路来提高性能。1516简介在不修改由该组件承载的功能的情况下,在组件内部进行辅助,以减少功耗或缩短电关键路径。因此,计算机架构师实际上就像一个普通的架构师:他或她绘制处理器的蓝图(分别为房子),而构建者(分别为电路设计师)实际上负责构建带有跨阻器和导线的处理器(分别任何房屋材料)。然而,应该注意的是,处理器架构师应该意识到当前的电路技术实际上做了什么,以及什么没有做。因此,不像一个普通的建筑师,他或她在设计他或她的计划时应该牢记物理定律。一般来说,处理器架构是一种权衡。例如,在简单性("我的处理器只能在硬件中进行添加,但它很容易构建")和性能("问题是除法非常慢--因为我必须使用添加来模拟它们")之间,或者在原始计算能力("我的处理器可以同时进行4次添加")和功率效率("它比真空吸尘器消耗更多的功率来完成它")之间进行权衡。因此,从本质上讲,体系结构包括从合理的高水平设计计算机处理器,考虑到这些权衡,并试验新的组织。特别是,处理器架构在短短几十年内经历了几次范式转变,从1周期架构到现代深度流水线超大规模处理器,从单核到多核,从非常高的频率到非常高的功耗和能效。除此之外,目标仍然是相似的:增加在给定时间内可以完成的工作量,同时最大限度地减少做这项工作所花费的精力。总的来说,提高处理器性能有两个主要方向。第一个利用了处理器是时钟对象这一事实,这意味着当相关的时钟滴答作响时,一些计算步骤已经完成。对于实例,处理器可以在每个时钟滴答声中执行一条指令。因此,如果处理器的时钟速度增加,则可以在给定的时间单位内完成更多的工作,因为现在在所述时间单位内有更多的时钟滴答声。然而,随着时钟频率的增加,处理器的功耗会超线性增长2,并且很快变得太高而无法处理。此外,晶体管具有固有的最大开关频率,并且信号在给定的时钟周期内只能在导线中传播这么远。 超过这两个限制将导致不可预测的结果。由于这些原因,时钟频率在过去十年中通常保持在2GHz和5GHz之间,并且由于同样的原因,这种情况应该保持不变。第二,由于晶体管植入工艺的改进,越来越多的晶体管可以在给定的硅表面上被压碎。此phe-由于电源电压通常必须随着频率的增加而增加,因此功率消耗随频率超线性增加。如果电源电压可以保持恒定,则增加应该是线性的。
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 十种常见电感线圈电感量计算公式详解
- 军用车辆:CAN总线的集成与优势
- CAN总线在汽车智能换档系统中的作用与实现
- CAN总线数据超载问题及解决策略
- 汽车车身系统CAN总线设计与应用
- SAP企业需求深度剖析:财务会计与供应链的关键流程与改进策略
- CAN总线在发动机电控系统中的通信设计实践
- Spring与iBATIS整合:快速开发与比较分析
- CAN总线驱动的整车管理系统硬件设计详解
- CAN总线通讯智能节点设计与实现
- DSP实现电动汽车CAN总线通讯技术
- CAN协议网关设计:自动位速率检测与互连
- Xcode免证书调试iPad程序开发指南
- 分布式数据库查询优化算法探讨
- Win7安装VC++6.0完全指南:解决兼容性与Office冲突
- MFC实现学生信息管理系统:登录与数据库操作
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功