没有合适的资源?快使用搜索试试~ 我知道了~
首页处理器分支预测研究的历史和现状.pdf
处理器分支预测研究的历史和现状.pdf
需积分: 33 29 下载量 162 浏览量
更新于2023-03-16
评论 1
收藏 481KB PDF 举报
在过去十几年中,分支预测技术一直是提高处理器性能的重要方法,工业界和学术界对之进行了大量研究。 分支预测的本质是克服指令控制相关,提高指令并行度。随着研究的不断深入,当前学术界认为分支预测是一个 指令学习的过程,这就使得对分支预测的研究出现了新的趋势。本文对分支预测技术的历史和研究现状进行了归 纳,以便从总体上了解分支预测技术的发展过程。
资源详情
资源评论
资源推荐
处理器分支预测研究的历史和现状
冯子军 肖俊华 章隆兵
摘要 在过去十几年中,分支预测技术一直是提高处理器性能的重要方法,工业界和学术界对之进行了大量研究。
分支预测的本质是克服指令控制相关,提高指令并行度。随着研究的不断深入,当前学术界认为分支预测是一个
指令学习的过程,这就使得对分支预测的研究出现了新的趋势。本文对分支预测技术的历史和研究现状进行了归
纳,以便从总体上了解分支预测技术的发展过程。
1 引言
过去的十几年里,分支预测技术一直是提高通用处理器性能的重要方法。分支预测的本质是
克服指令控制相关,提高指令并行度,从而使得处理器的性能得到提高。在这方面学术界和工业
界都进行了大量的研究和实践,分支预测的重要性体现在以下几个方面:
首先,现在的通用处理器大多采用深度流水线和宽发射机制,分支预测是两者的关键支撑技
术。虽然前两年英特尔(Intel)的奔腾 4(Pentium4)靠深度流水提高主频一直为人所诟病,但是
同时应该注意到没有一定深度的流水,处理器频率就不可能太高,也就不会有很高的性能。目前
x86 处理器一般都有 20-30 级的流水线。此外展望新世纪体系结构时候,耶鲁.帕特(Yale.Patt)
预测宽发射将成为单芯片集成 10 亿晶体管主要解决方案之一
[1]
,而且宽发射也是提高单片处理器
性能的重要手段之一,最近英特尔的新处理器Conroe就从原先奔腾的三发射提高到四发射,使得
处理器性能提高 30%也是例证
[2]
。
简单的分析表明:在当前流行的深流水线宽发射体系结构中,分支预测率会严重影响取指带
宽的利用率。在 5 发射 10 级流水线条件下,预测准确率为 90%时,带宽会浪费 47%;而如果准
确率提高到 96%则带宽浪费可降低到 26%(一般处理器设计为 2 到 8 发射,此处为了计算方便假
定 5 发射)。
另外,分支预测技术不仅在高性能通用处理器中采用,而且在嵌入式处理器也广泛采用,所
以作为一个处理器设计者,我们应该知道当前存在的分支预测的各种算法及其优缺点,这样才能
对功耗和性能进行权衡。事实上,一种分支预测机制可能在某些应用中可以提高运算效率,但在
另一些应用可能效果就不明显,因此设计者需要对不同应用采用不同的分支预测解决方案。
还应该指出,很好地理解分支指令对微处理器的设计至关重要,分支指令是计算机不同于计
算器的最重要区别,使得计算机得以超越简单的数字计算功能转变为可以完成各种复杂任务和运
算的信息处理装置。分支指令决定了程序从取指令到执行指令的路径,对分支指令的特性和行为
理解深刻就可以帮助处理器设计者来平衡处理器结构。在程序里面分支指令组合起来就形成了程
序分支行为,后面的介绍将说明不同分支预测机制的提出就是根据这些程序行为来进行设计和改
进的。分支行为是取指单元设计必须考虑的关键因素,而掌握更复杂的分支特性,比如分支相关,
就能很好地帮助我们对不同应用选择和改进分支预测。
综上所述,可以知道分支预测的重要性,本文就处理器的分支预测技术的过去、现在和将来
做一下总结和展望。本文首先介绍分支指令的性质和分支行为的一些属性,其次介绍分支预测的
发展历程和主要的分支预测方法,然后介绍分支预测的最新进展,最后预测未来处理器设计分支
可能会出现的问题和发展趋势。
2 分支行为
分支预测器设计的本质是在对分支指令行为认识的基础上,提出分支指令的预测机制,从而
减少分支惩罚,也就是分支预测误预测导致的流水线等待。一组分支指令组合起来就成为程序的
分支行为。程序分支行为非常复杂,国外学术界作了大量的研究。这里只介绍一些基本的特点,
以便更好地了解后面重点说明的预测机制。下面我们就分别简单介绍一下分支指令属性和程序分
支的行为。
2.1 分支指令的基本属性
分支指令总的来说有三个基本属性:分支指令的类型、分支指令发生的频率和分支指令的成
功率。分支指令的类型可以分为条件分支指令和无条件分支指令,由于分支指令目标地址的不同,
无条件分支又可以进一步分为立即分支指令,间接分支指令和返回分支指令。立即分支指令就是
分支的地址就在分支指令中,一般都是直接跳转,比如跳转(jump)这类指令;间接分支就是分
支的目标地址不在分支指令中,而是从其他寄存器中取得;返回型分支的分支目标地址是从链接
寄存器(Link register)或者堆栈中得到,一般是程序返回使用。
图 1 不同分支类型所占 SPEC 程序比例
如图 1 所示,统计分析SEPC程序结果表明,分支指令中 72%是条件分支,17%是无条件立即
跳转指令,10%是返回指令,1%是间接分支指令。其中立即分支跳转可以采用BTB(Branch Target
Buffer,分支预测缓冲区)这种方式精确预测,返回型跳转可以采用返回地址栈(RAS
1
)精确预测
[5]
,
间接分支跳转的预测一直没什么好的办法,在[6]中进行了讨论。所以分支预测大量的工作是进行
条件分支预测。
图 2 分支指令执行的频率分布
图 2 说明了 SPEC 程序条件分支预测执行的频率分布。从图中我们可以看到,大部分条件分
支在程序运行过程中,仅仅执行几次,平均来说所有分支指令的 53%仅仅执行 99 次或者更少,
只有 11%的分支执行了超过 10000 次或者更多。
1
Return Address Stack
图 3 分支执行的频率占整个 SPEC 分支的权重
图 3 说明了不同分支指令执行在整个程序分支的权重,上面所说的执行 99 次或者更少的分支
指令有 53%,图 2 所统计的执行 99 次或者更少的分支指令占 spec 程序的 53%,但是这 53%的指
令在 spec 程序分支执行比重中只占 0.2%,在柱状图上都显示不出来。而图 2 所示的占 11%的分
支指令占据了所有分支执行的 87%,也就是 10%的指令占据了程序 90%的运行时间。
图 4 统计了分支预测的分支成功率的分布。分支成功率是分支指令成功跳转除以整个程序运
行的分支总数。从图上统计可以看出来大概 28%的指令总是跳转或者总不跳转,另外有 32%的指
令,跳转的几率总少于 5%或者多于 95%总跳转,也就是说 60%的分支指令具有强烈的一个跳转
方向,所以可以推出,具有挑战性的工作是预测其余 40%的分支跳转。
图 4 分支成功率权重分布
2.2 程序的分支属性
我们所运行的程序中有大量的分支指令,这些指令组合起来就表现为程序的分支行为,不同
应用程序的分支行为非常复杂。国际上对分支预测的研究一般都主要针对SPEC CPU(简称SPEC)
的程序,因为SPEC程序是专业测试机构精心挑选出来的、在各个行业有代表性应用的一组程序
[3]
,
一般国际上都是通过对比SPEC的分数来说明处理器性能。对SPEC测试程序的分析表明 5 到 7 条
指令里面就有 1 条分支指令,而处理器一般都是一次取 4 到 6 条指令,也就是说几乎每次都可能
取到一条分支指令,这进一步说明了对分支指令研究的重要性,甚至有文章认为分支预测将来可
能是处理器性能提高的瓶颈
[4]
。总体而言程序分支行为有以下特点:
循环结构在现在程序中大量存在。大量的研究表明,循环结构的分支指令行为在程序中是最
为常见、重复出现的一种分支模式。一般我们可以用一个字符串来记录程序循环模式,比如一个
循环 10 次的程序可以用 1110100110 来表示,其中 0 代表不跳转,1 代表跳转。前文已对分支指
令的属性作了说明和分类,而多条分支指令组合成程序的分支行为,可以根据循环的模式来进行
分支预测,这些模式在 SPEC 程序几十亿指令的执行过程中会重复出现。
程序分支属性存在系统性(或者联想性)。这种形式不重复出现,但是大量存在,例如 SPEC
剩余10页未读,继续阅读
tigerybbai
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- stc12c5a60s2 例程
- Android通过全局变量传递数据
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0