[发明专利]用于堆栈指针值预测的方法和装置有效
申请号: | 201910109821.1 | 申请日: | 2015-01-16 |
公开(公告)号: | CN109871341B | 公开(公告)日: | 2023-10-27 |
发明(设计)人: | H·杰克逊 | 申请(专利权)人: | 美普思技术有限责任公司 |
主分类号: | G06F13/24 | 分类号: | G06F13/24;G06F9/30;G06F9/38;G06F9/448 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 周靖;杨明钊 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 堆栈 指针 预测 方法 装置 | ||
描述了用于堆栈指针值预测的方法和装置。在实施例中,当出现增大堆栈的指令时存储数据。所存储的信息包括尺寸参数,该尺寸参数表明了堆栈增大了多少以及以下中的一个或两个:当前保持有堆栈指针值的寄存器ID或当前堆栈指针值。当出现随后的用于缩小堆栈的指令时,在所存储的数据中搜索具有相对应尺寸参数的一个或多个条目。如果识别出这样的条目,则存储在该条目中的其它信息被用来预测堆栈指针值,而非使用指令来计算新的堆栈指针值。在使用了寄存器重命名的情况下,条目中的信息用于将堆栈指针重映射到不同的物理寄存器。
本申请是申请日为2015年1月16日,申请号为201510023224.9,发明名称为“用于堆栈指针值预测的方法和装置”(原名称为“堆栈指针值预测”)的申请的分案申请。
技术领域
本申请涉及用于堆栈指针值预测的方法和装置。
背景技术
通过以不同于程序中的顺序而执行指令,从而使得当指令的输入数据可用时可以执行指令而无需等待程序中前面的指令的执行,乱序(out-of-order)微处理器可以提供改进的计算性能。为了允许指令在微处理器上乱序运行,能够将由指令所使用的寄存器重命名是有用的。这使得能够将“读后写”(WAR)依赖性从指令中移除,这是由于这些依赖性并不是真正的依赖性。通过使用寄存器重命名以及移除这些依赖性,更多的指令可以不按程序顺序而被执行,并且进一步改进性能。通过维持哪些在指令中被命名的寄存器(被称为虚拟寄存器)被映射到了微处理器的物理内存上的映射来执行寄存器重命名。然而,并行性仍然被程序中的真正依赖性所限制,例如读取之前指令的结果的一个指令。
对于这点可能的解决方案涉及预测指令的结果,从而使得可以使用预测的值来发出未来的指令而无需等待实际结果。这打破了真正依赖性,但如果预测是错误的,则预测的效果必须被清除或收回(rewound)。
下文描述的实施例并不限于解决了值预测的已知方法的任何或所有缺点的实施方式。
发明内容
提供本发明内容来以简化的形式介绍在下文的具体实施方式中所进一步描述的精选的概念。本发明内容并不是要标识出所要求保护的主题的关键特征或实质特征,也不是要用作对确定所要求保护的主题的范围的辅助。
描述了用于预测堆栈指针值的方法和装置。在一个实施例中,当出现用于增大堆栈的指令时存储数据。所存储的信息包括尺寸参数,该尺寸参数表明了堆栈增大了多少以及以下中的一个或两个:当前保持有堆栈指针值的寄存器ID或当前堆栈指针值。当出现随后的用于缩小堆栈的指令时,在所存储的数据中搜索具有相对应尺寸参数的一个或多个条目。如果识别出这样的条目,则存储在该条目中的其它信息被用来预测堆栈指针值,而非使用指令来计算新的堆栈指针值。在使用了寄存器重命名的情况下,条目中的信息用于将堆栈指针重映射到不同的物理寄存器。
第一方面提供1)一种用于预测处理器中的堆栈的堆栈指针值的方法,该堆栈具有相关联的堆栈指针并且该方法包括:响应于检测到增大该堆栈的指令,在数据结构中存储数据条目,该数据条目包含有对应于该指令增大该堆栈的量的尺寸值以及以下中的至少一个:存储有在该指令增大所述堆栈之前的堆栈指针值的物理寄存器的寄存器ID,以及在该指令增大所述堆栈之前的堆栈指针值;并且响应于随后检测到缩小堆栈的指令,将对应于该指令缩小该堆栈的量的尺寸值与该数据结构中一个或多个所存储的尺寸值进行比较;响应于检测到对应于该指令缩小该堆栈的量的尺寸值与一个或多个所存储的尺寸值之间的对应,基于包含有在该比较中所使用的一个或多个所存储的尺寸值的数据条目来更新该堆栈指针,并且从该数据结构中移除包含有在该比较中所使用的一个或多个所存储的尺寸值的该数据条目;并且响应于未检测到对应于该指令缩小该堆栈的量的尺寸值与一个或多个所存储的尺寸值之间的对应,从该数据结构中移除所有条目。
2)、根据项1)所述的方法,其中,每个所存储的数据条目包括对应于指令增大所述堆栈的量的尺寸值以及存储有在该指令增大所述堆栈之前的堆栈指针值的物理寄存器的寄存器ID。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于美普思技术有限责任公司,未经美普思技术有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910109821.1/2.html,转载请声明来源钻瓜专利网。