[发明专利]响应于分支预测表调换指令而调换分支方向历史及相关的系统和方法有效
申请号: | 201380046029.7 | 申请日: | 2013-09-12 |
公开(公告)号: | CN104603747B | 公开(公告)日: | 2018-06-05 |
发明(设计)人: | 小约翰·威廉·哈斯金斯 | 申请(专利权)人: | 高通股份有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/38 |
代理公司: | 北京律盟知识产权代理有限责任公司 11287 | 代理人: | 宋献涛 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 调换 分支预测表 分支方向 分支预测 指令 高速缓冲存储器 分支历史 软件代码 响应 指派 指令处理系统 当前软件 指令处理 准确度 处理量 代码区 配置 区时 存储 管理 | ||
本发明揭示响应于分支预测表调换指令而调换分支方向历史及相关的系统和方法。在一个实施例中,分支历史管理电路经配置以处理分支预测表调换指令。响应于所述分支预测表调换指令,所述分支历史管理电路经配置以将从高速缓冲存储器指派给当前软件代码区的先前分支方向历史组调换到分支预测表BPT中以用于分支预测。当前分支方向历史组被调换出所述BPT且存储于高速缓冲存储器中以避免被覆写。以此方式,在处理特定软件代码区时,使用指派给所述特定软件代码区的分支方向历史组来用于分支预测。因此,增加了指令处理系统的分支预测准确度及指令处理处理量。
技术领域
本发明的技术大体上涉及使用分支方向历史来预测基于中央处理单元(CPU)的系统中的条件性分支计算机指令的条件性分支的解析度。
背景技术
处理器在计算机平台进化的核心处。随着处理器的物理设计已经进化,处理信息及执行功能的方法也已经改变。举例来说,已在处理器设计中实施指令的“管线化”。处理器管线由许多级构成,其中每一级执行与执行指令相关联的功能。每一级被称作管级或管片段。所述级连接在一起以形成管线。指令在管线的一端处进入且在另一端处退出。管线化的一个优点在于指令的执行是重叠的,因为指令被并行地评估。管线化还被称作指令层级并行度(ILP)。
在此方面,图1说明中央处理单元(CPU)12的示范性指令处理系统10。指令在由图1中的指令流14表示的连续流中经过处理。指令处理系统10采用指令管线15。指令管线15包含多个管级,包含指令获取级、指令解码级、指令执行级及指令提交级。在所说明的实例中,指令流14源自指令存储器16,指令存储器16提供对计算机可执行程序的指令的存储。指令获取电路18从指令存储器16及/或从指令高速缓冲存储器22读取指令20(例如,指令20(0)-20(W)),且可递增通常存储于寄存器24(0)-24(X)中的一者中的程序计数器。寄存器24(0)-24(X)是指令处理系统10的架构寄存器,其可包含通用寄存器(GPR)及/或其它架构寄存器(作为非限制性实例,帧指针、堆叠指针、链接寄存器及/或程序计数器)。
在指令获取电路18获取指令20之后,指令解码电路26解码指令20。指令解码电路26将指令20转译为处理器特定的微指令,且从寄存器24(0)-24(X)中的适当一者或从数据存储器(未图示)及/或数据高速缓冲存储器(未图示)检索指令20(如果存在)所需的操作数。指令解码电路26可保存一组多个指令28(0)-28(Y)以用于解码。指令20被发布到指令执行管线32的指令队列30中。指令20的实际执行发生在指令执行管线32(例如,指令执行管线32(0)-32(Z))中。提供指令提交电路34,其确定需要所执行的指令20中的哪一者,且例如通过使用所执行的指令20的结果更新寄存器24(作为非限制性实例,寄存器24(0)-24(X))、数据存储器及/或数据高速缓冲存储器而提交那些结果。
指令20可包含条件性分支指令。可采用或不采用条件性分支指令。直到条件性分支指令被执行且确定分支条件,才知晓是否将采用条件性分支指令。然而,除条件性分支指令之外的指令可被获取到指令管线15中,之后执行条件性分支指令。举例来说,如果采用分支,那么在未采用分支的情况下获取到待执行的指令管线15中的指令20可必须从指令管线15冲洗。因此,指令处理可被指令管线15中的时钟循环级的数目延迟,以再填充指令管线15。
为了减少指令管线15的指令冲洗,分支预测系统36可用于指令处理系统10中。分支预测系统36预测条件性分支指令的方向。在此方面,分支预测系统36提供基于所提交的分支指令38的历史来预测条件性分支指令的方向的分支预测40。将分支预测40提供给指令处理系统10的指令处理电路42(作为非限制性实例,指令获取电路18及/或指令解码电路26)。基于分支预测40,处理器可将条件性分支指令的分支目标地址处的指令20获取到指令管线15中或将下一连续指令20获取到指令管线15中。然而,使用常规的方法提供的分支预测可能不如所需的那么准确。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于高通股份有限公司,未经高通股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201380046029.7/2.html,转载请声明来源钻瓜专利网。