2位动态cpu分支预测测怎么预测,能举个例子吗

&&国之画&&&&&&
版权所有 京ICP备号-2
迷上了代码!【技术讨论】真心求一个SNB和HSW的分支预测详解_intel处理器吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:29,567贴子:
【技术讨论】真心求一个SNB和HSW的分支预测详解收藏
rt。。。要详解呢不要简单的跟我说个正确率什么的。。。
一群水笔!!
噗。。。。擦擦擦
20年前的ps游戏全新复刻驾临pc端
你想知道分支预测的什么?---------欢迎关注Intel处理器吧      大神都在这里!。   --来自助手版贴吧客户端
我自己画的branch prediction示意图,抽象吧?
重发了一张抽象图。
我来描述一下我上边的这个简单的模型,在我开始装逼之前呢,要说明,第一我肯定不知道IVB和HSW的branch prediction的具体机制的,这都属于实现细节,只有参考参与过的人员的论文估计才知道,网上的所有结构图不过是在取指的旁边写一个branch prediction,就代表了,这种结构有预测功能,细节都是看不到的。第二呢,本人一外行菜鸟,如果装逼不成呢,别艹我。
为什么要对于分支指令进行预测呢?理由是加快指令流的速度,减少指令流阻塞。处理器的前端结构(取指,译码,重命名与分派)的作用是为执行内核提供有用的指令,以便进行计算,可以想象前段往往是IPC的瓶颈,如果前段的指令流停顿了或不能提供足够的指令,处理器计算的速度再快也是白搭。而指令流为什么会停顿呢,往往是因为指令之间的相关性------转跳------条件分支和非条件分支(转跳),他们使得指令的获取有了不确定性,所以前端要停下来等待这些指令计算完毕了,才能从确定的地址再次取指。所以为了突破这一相关性的瓶颈上限,分支指令预测技术成为一项主流的技术。
分支预测又有分类:静态与动态。静态分支预测呢就是和指令的实际运行情况无关,比如遇到一条分支指令,预测他总是发生或总是不发生。优点是逻辑十分简单,缺点就是准确率较差。动态的分支预测呢,就要根据指令执行的情况来判断是否进行分支,我上边画的这个草图就是一个基于2位历史信息的分支预测机制。首先PC或计算出当前取指的指针,IFU就会前往Icache取指,同时PC将地址定向到BTB,BTB是一个buffer,里面存储的预测用的信息,BTB的第一个块BIA中存储着处理器之前处理过的所有的分支指令的地址,PC传过来的分支指令会与之中的项进行比对,检查这条这条指令是否是分支指令(此时还没有译码,匹配即是,没有匹配则不是),如果匹配,后边的BTA中存储着对应分支指令的转跳地址(就是这个分支指令转跳到哪里),最后一个BHT则是历史信息,储存着最近两次这条对应的分支指令是否发神了转跳的信息(比如NN表示最近两次都没发生转跳,TT表示最近两次都发生了转跳,NT以此类推了。。。。)匹配成功后的表项会将对应的历史位和BTA输出,两个历史位进入FSM进行逻辑判断,得出一个结论(转跳还是不),然后PC中的指令地址+4(或者其他的数值,代表顺序取指的地址)与BTA对比(选择逻辑),FSM的出的结论对他们选择后输出一个到IFU取指。一般BTB的访问完成需要2个或更多时钟周期。
预测的验证与BTB的更新:分支预测,再怎么准确也是预测,预测总归需要验证,验证的话,分为两步,一步是地址验证(转跳的地址是否正确?)另一步是判断是否真正发生了分支。第一步一般在译码段就能完成(译码段有专门的地址计算生成器,专为分支指令开设,目的就是尽早发现错误,尽可能降低预测失败的惩罚),第二部则是要到执行内核(EX)执行完毕后才能做到。如果两部都证明了分支预测的正确,则没有任何惩罚,指令则得以完成,并改变机器状态。如果有任意一项证明其错误,则所有前段,内核等buffer中处于该分支指令路径上的其他指令全部要清空,IFU从正确的地址重新取指,这就是惩罚。无论是否预测正确,计算出的结果都要把信息写回BTB(历史信息和BTA),为以后的分支预测提供信息,这就是BTB的更新。
更为高级的分支算法:我说的这种两位历史预测法,仅仅是基于该静态分支的有限的历史信息,没有考虑到指令上下文的情况。某些分支的行为同在他之前执行的指令的行为有着很大的关联。因此更精确的分支预测算法应当考虑其他关联指令的历史行为。所以很多BTB会引入全局的历史信息表,既考虑这条指令的历史行为(局部),也考虑上下文的行为(总体),并用一个竞赛预测器,选取最好的结果(当然这个逻辑就很复杂了,我肯定就不知道了)。
增强分支性能的途径:显然,增强性能的两条路是:1.提高预测的正确率。2.减少失败惩罚。1的话,如我所说使用更为高级的算法机制,当然是本质的问题,其他的一些途径比如增加BTB的表项(容量),使其容纳更多的信息,或者把2位历史信息改成三位啊等等,扩容的方法也会有所提升。2的话,尽可能的提前branch验证,比如我提到的计算地址在译码段完成,而不是等到EX段,或者是EX计算完成后直接将结果定向到IF段。还有一种行之有效的方法是简短流水线的深度(预测与验证之间的长度),这样分支惩罚会被大大地缩短(prescott的缺点之一在于其31级的流水线(这还不包括取指部分)使得预测与检验的距离太长,惩罚伤不起)装逼完毕。
大神装逼果然牛逼!!看的我荡气回肠!!菊花都通畅了
给大神跪了
不明觉厉帮顶。
这么复杂的         。。。。。在蓝翔学两年,在新东方学两年,再去北大青鸟学两年,现在的我终于可以用电脑控制挖掘机炒菜了~
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或动态分支预测的不理解的地方解决方法 - 汇编语言当前位置:& &&&求教汇编
动态分支预测的不理解的地方解决方法求教汇编
动态分支预测的不理解的地方解决方法&&网友分享于:&&浏览:0次求教汇编
动态分支预测的不理解的地方书上&这样说的
处理器是奔腾的&&书是杨季文的&INTEL&80x86&&
&&代码是这样的
&&SHR&&EBX,1&&&;EBX&=&B
&&JC&&&NEXT
NEXT&:```````
&&&&&我个人感觉&从第4步开始&写错了&&&本来没有命中&&却置成了1&&后面的好像也有错&,希望大家给我指正&,感激不尽&
另外还有一个问题&
&&例如&:如下&右边的3条单时钟指令可代替左边的一条3时钟指令
ADD&[EBX],ECX&&&&&&MOV&EAX,[EBX]&&
&&&&&&&&&&&&&&&&&&&ADD&EAX,ECX
&&&&&&&&&&&&&&&&&&&MOV&[EBX],AX
由于Pentium对存储器的访问仍保持顺序执行时的次序,只有在U流水线中的指令完成需要的存储器访问后,v流水线可能有的配对指令才能够进行存储器访问,因此上述左边指令可能多耽搁流水线超过2个时钟,而右边的片段可避免由于存储访问而耽搁流水线(这我不明白了,右边的也不是进行存储器访问了,这不需要时钟吗&?好晕&&&望高手详解了&,谢谢了。------解决方案--------------------1.&这个没有问题,命中BTB和预测正确是两个概念,前者只是分支转移执行后在BTB中留下记录,之后再执行这个转移指令之前,如果预测器查找之前的记录还在,那就是命中BTB了,但不代表预测分支转移还是不转移正确。
2.&如果仅凭上述代码来看,效率的差别是这样的,(在Pentium上)和ADD&[EBX],ECX配对的V流水线指令只能有一条(如果这条指令是单周期指令,那V流水线就空置了2个时钟周期),也就是3个时钟周期之内最多执行2条指令,而后者的三条单时钟周期指令,最多在V流水线中可配对3条指令,也就是3个时钟周期之内最多执行6条指令。
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有微信关注二维码记录式分支预测器--《浙江大学》2010年硕士论文
记录式分支预测器
【摘要】:
分支预测技术的不断改进使得处理器的性能得到极大的提升,两级模式分支预测器以其简单结构和高效性能被广泛应用。但是该类预测器存在几个严重的缺陷,它们分别是分支别名、历史噪音和多路存取。前人对分支别名和历史噪音问题作出了大量的研究,取得了非常大的改进,但是并没有完全解决这两个问题,还有改进的空间。同时以前的研究并没有考虑由于多路存取而造成的预测错误。
本文总结了分支别名和历史噪音的问题,提出模式分支预测中多路存取的问题,描述了由于多路存取带来的分支预测错误问题,分析了循环和函数调用对分支历史的影响,提出了基于循环和函数调用的栈式分支预测结构,它过滤循环和函数体外的分支对循环和函数体内分支预测的干扰。然后又根据栈式结构提出了记录式分支预测结构。
记录式分支预测结构是在分支预测时维护和选择GHR值的硬件结构,它不影响原来预测器的更新过程,不需要改变原来预测器的组织结构,能够被使用在任何的模式预测器上。记录式结构有3条分支预测原则,这3条原则通过保证预测过程中遇到多路存取时访问相同分支修改的PHT项,减少了历史噪音对分支预测的错误影响。记录式结构对分支别名无效。
本文在simplescalar模拟器上修改了Gshare预测器,实现了记录式Gshare预测器,同时还实现了2Bc-gskew预测器和记录式2Bc-gskew预测器。实验结果显示,具有记录式分支预测结构的预测器比原来预测器具有更少的分支预测错误。而且在一般情况下,随着记录式结构PC记录的长度变长和PHT容量增大,记录式结构能够减少更多的预测错误比例。当PC记录为20项,PHT容量为4096项时,记录式Gshare能够比Gsharep平均减少7.6%的分支预测错误,记录式2Bc-gskew能够比2Bc-gskew平均减少1 4.5%的分支预测错误。
【关键词】:
【学位授予单位】:浙江大学【学位级别】:硕士【学位授予年份】:2010【分类号】:TP332【目录】:
Abstract5-10
第1章 绪论10-16
1.1 课题背景10-13
1.1.1 分支预测的背景10-11
1.1.2 两级分支预测的缺陷11-13
1.2 本文工作13-15
1.3 论文组织结构15
1.4 本章小结15-16
第2章 分支预测器概述16-28
2.1 程序和体系结构的分支特性16
2.2 分支预测技术16-24
2.2.1 静态分支预测16-17
2.2.2 动态分支预测17-20
2.2.3 分支别名干扰20-22
2.2.4 分支历史信息干扰22-24
2.3 多核结构下分支预测的挑战24-27
2.4 本章小结27-28
第3章 栈式和记录式分支预测器设计动机28-38
3.1 基于模式动态分支预测器的缺陷28-29
3.1.1 别名和历史噪音28-29
3.1.2 多路存取29
3.2 分支层次29-35
3.2.1 通过层次降低噪音30-32
3.2.2 层次的特性32-34
3.2.3 存在的问题34-35
3.3 地址比较GHR选择35-37
3.4 本章小结37-38
第4章 栈式和记录式分支预测器结构设计38-53
4.1 栈式结构设计38-42
4.2 栈式结构性能分析42-43
4.3 记录式结构设计43-46
4.4 Gshare与记录式Gshare实例比较46-50
4.5 记录式2Bc-gskew预测器50-52
4.6 本章小结52-53
第5章 实验设计与数据分析53-70
5.1 实验平台和设计53-54
5.2 实验结果和分析54-69
5.2.1 栈式Gshare预测器性能测试54-56
5.2.2 PC记录和GHR组的容量设置56-58
5.2.3 记录式Gshare性能分析58-64
5.2.4 记录式2Bc-gskew性能分析64-69
5.3 本章小结69-70
第6章 总结与展望70-72
6.1 总结70
6.2 展望70-72
参考文献72-75
作者简历及在学期间所取得的科研成果75-76
欢迎:、、)
支持CAJ、PDF文件格式
【相似文献】
中国期刊全文数据库
陈海民;李峥;王瑞蛟;;[J];计算机应用;2011年07期
归发弟;;[J];中国科技信息;2011年16期
吴烨;熊伟;蔡蕾;景宁;;[J];计算机科学与探索;2011年08期
李新月;;[J];实用电子文摘;1997年10期
于振中;闫继宏;赵杰;高永生;陈志峰;;[J];吉林大学学报(工学版);2011年04期
梅其祥;李宝;路献辉;;[J];计算机学报;2011年07期
张鹏;陈鸿;武锦辉;;[J];计算机与数字工程;2011年07期
何腊梅;;[J];钢铁技术;2011年03期
林清俊;陈福利;黄晓峰;;[J];制造业自动化;2011年15期
马欣;余达太;;[J];计算机应用与软件;2011年07期
中国重要会议论文全文数据库
焦永;;[A];2011年通信与信息技术新进展——第八届中国通信学会学术年会论文集[C];2011年
苟鹏飞;王诗博;杨兵;喻明艳;;[A];第十五届计算机工程与工艺年会暨第一届微处理器技术论坛论文集(B辑)[C];2011年
席斌;沈少萍;;[A];中国宇航学会深空探测技术专业委员会第六届学术年会暨863计划“深空探测与空间实验技术”重大项目学术研讨会论文集[C];2009年
李海源;田畅;吴泽民;;[A];2009通信理论与技术新发展——第十四届全国青年通信学术会议论文集[C];2009年
肖熙;王作英;;[A];第二届全国人机语音通讯学术会议论文集[C];1992年
李颖宏;田红芳;胡敦利;;[A];中国仪器仪表学会第五届青年学术会议论文集[C];2003年
焦永;赵锐;陈跃跃;;[A];计算机技术与应用进展——全国第17届计算机科学与技术应用(CACIS)学术会议论文集(下册)[C];2006年
刘斌;申江;余辉;邹同华;;[A];第六届全国食品冷藏链大会论文集[C];2008年
李苇营;易克初;胡征;;[A];第二届全国人机语音通讯学术会议论文集[C];1992年
刘斌;申江;王艳红;;[A];中国制冷学会2009年学术年会论文集[C];2009年
中国重要报纸全文数据库
;[N];电脑报;2005年
林宗辉;[N];电子资讯时报;2006年
陕西省经济信息中心
中国建设银行陕西省分行
史锋;[N];计算机世界;2001年
;[N];江苏经济报;2001年
;[N];中国电脑教育报;2004年
姜波;[N];网络世界;2006年
;[N];电脑报;2006年
刘秀德;[N];中国证券报;2007年
;[N];电脑报;2007年
本报记者  朱泉峰;[N];计算机世界;2006年
中国博士学位论文全文数据库
马可;[D];中国科学技术大学;2007年
杜贵然;[D];中国人民解放军国防科学技术大学;2001年
李静梅;[D];哈尔滨工程大学;2010年
肖勇;[D];国防科学技术大学;2005年
王莉;[D];中国科学技术大学;2009年
谢学军;[D];哈尔滨工业大学;2006年
余雪岗;[D];吉林大学;2007年
唐余亮;[D];厦门大学;2009年
陈鹏;[D];中国科学技术大学;2007年
孟建熠;[D];浙江大学;2009年
中国硕士学位论文全文数据库
蒋冠军;[D];浙江大学;2010年
焦平;[D];哈尔滨工程大学;2010年
沙子岩;[D];浙江大学;2010年
江国范;[D];浙江大学;2008年
李静梅;[D];哈尔滨工程大学;2007年
薛勃;[D];上海交通大学;2007年
钱荣;[D];西安建筑科技大学;2004年
赵灿明;[D];中国科学技术大学;2009年
高军;[D];中国人民解放军国防科学技术大学;2002年
甘初晖;[D];哈尔滨工业大学;2007年
&快捷付款方式
&订购知网充值卡
400-819-9993
《中国学术期刊(光盘版)》电子杂志社有限公司
同方知网数字出版技术股份有限公司
地址:北京清华大学 84-48信箱 知识超市公司
出版物经营许可证 新出发京批字第直0595号
订购热线:400-819-82499
服务热线:010--
在线咨询:
传真:010-
京公网安备75号}

我要回帖

更多关于 动态分支预测技术 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信