使用微分支目标缓冲器的高性能零气泡条件分支预测制造技术

技术编号:14339793 阅读:87 留言:0更新日期:2017-01-04 12:17
提供一种使用微分支目标缓冲器的高性能零气泡条件分支预测。实施例包括一种微BTB,所述微BTB每循环(每一个循环)可预测最多达两个分支,并且跳转或不跳转预测上插入零气泡,从而显著改善处理器的性能并且降低微功耗。一种微处理器的前端可包括具有主BTB的主前端逻辑部分、生成预测信息的微BTB和解耦队列。微BTB可包括具有多个条目的图形以及具有多个项的CAM。图形的各个条目可包括指向跳转方向上的下一分支的链接指针以及指向非跳转方向上的下一分支的链接指针。微BTB可将热分支作为新种子插入图形中。

【技术实现步骤摘要】
本申请要求于2015年9月9日提交的第62/216,352号美国专利申请、于2016年2月18日提交的第15/047,617号美国专利申请、于2015年6月26日提交的第62/185,530号美国专利申请以及于2015年6月26日提交的第62/185,535号美国专利申请的权益,所述美国专利申请通过引用合并于此。
本公开总体上涉及数字电路,更具体地讲,涉及使用微分支目标缓冲器(uBTB)的分支预测。
技术介绍
中央处理单元(CPU)通常在处理流水线中提早预测分支指令的方向和目标以便提升性能。关于分支指令的类型、位置和目标的信息通常被高速缓冲存储器在分支目标缓冲器(BTB)中,BTB使用指令提取地址被访问,并且使用内容可寻址存储器(CAM)来检测BTB是否包括含映射至当前提取窗口的分支。BTB还可使用组关联结构来检测BTB是否包括映射至当前提取窗口的分支。传统BTB通常是大结构,当与分支方向预测器组合时导致针对预测跳转(predicted-tanken)分支的至少一个循环的惩罚(即,气泡(bubble))。在一些情况下,传统BTB甚至可引发针对预测不跳转分支的惩罚。已进行了一些尝试来使本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201610480501.html" title="使用微分支目标缓冲器的高性能零气泡条件分支预测原文来自X技术">使用微分支目标缓冲器的高性能零气泡条件分支预测</a>

【技术保护点】
一种微处理器的前端,包括:主前端逻辑部分,包括主分支目标缓冲器BTB;微BTB,与主前端逻辑部分的主BTB分离,并且被配置为生成预测信息;解耦队列,耦合至微BTB和主前端逻辑部分,并且被配置为接收预测信息并将预测信息排入队列,并且将排入队列的预测信息提供给主前端逻辑部分。

【技术特征摘要】
2015.06.26 US 62/185,530;2015.06.26 US 62/185,535;1.一种微处理器的前端,包括:主前端逻辑部分,包括主分支目标缓冲器BTB;微BTB,与主前端逻辑部分的主BTB分离,并且被配置为生成预测信息;解耦队列,耦合至微BTB和主前端逻辑部分,并且被配置为接收预测信息并将预测信息排入队列,并且将排入队列的预测信息提供给主前端逻辑部分。2.根据权利要求1所述的微处理器的前端,其中,微BTB包括:图形,包括一个或更多个条目;内容可寻址存储器CAM,包括一个或更多个项。3.根据权利要求2所述的微处理器的前端,其中:主前端逻辑部分被配置为提取程序;微BTB的图形的所述一个或更多个条目中的每个条目表示所述程序的内部部分内的对应分支。4.根据权利要求3所述的微处理器的前端,其中:微BTB的图形的所述一个或更多个条目中的每个条目包括:指向跳转方向上的第一下一分支的第一链接指针以及指向非跳转方向上的第二下一分支的第二链接指针。5.根据权利要求4所述的微处理器的前端,其中:微BTB的图形的所述一个或更多个条目中的每个条目包括:与指向跳转方向上的第一下一分支的第一链接指针关联的第一有效位以及与指向非跳转方向上的第二下一分支的第二链接指针关联的第二有效位;微BTB的图形被配置为当第一链接指针有效时设定第一有效位,当第二链接指针有效时设定第二有效位。6.根据权利要求5所述的微处理器的前端,其中:微BTB的图形的所述一个或更多个条目中的每个条目包括:下一预测位,被配置为指示是遵循指向待预测的第一下一分支的第一链接指针还是指向待预测的第二下一分支的第二链接指针。7.根据权利要求3所述的微处理器的前端,其中:微BTB的图形的所述一个或更多个条目中的每个条目包括:成对位,被配置为指示应该并行预测两个分支。8.根据权利要求2所述的微处理器的前端,其中:微BTB的CAM的所述一个或更多个项中的每个项包括:权重,被配置为指示CAM的给定项中的分支是否足够热以保证作为新种子插入微BTB的图形中。9.根据权利要求8所述的微处理器的前端,其中:微BTB的CAM的所述一个或更多个项中的每个项包括:状态位,被配置为指示CAM的所述给定项中的分支是否已经存在于微BTB的图形中。10.根据权利要求9所述的微处理器的前端,其中:微BTB被配置为当状态位指示CAM的所述给定项中的分支还未存在于图形中时,将足够热的分支作为新种子插入图形中;微BTB被配置为当状态位指示CAM的所述给定项中的分支已经存在于图形中时,不将足够热的分支作为新种子插入图形中。11...

【专利技术属性】
技术研发人员:詹姆斯·邓达斯杰拉尔德·大卫·祖拉斯基蒂莫西·拉塞尔·斯奈德
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:韩国;KR

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1