[发明专利]用于选择性地绕过处理器指令流水线中的地址生成硬件的系统和方法在审
申请号: | 201980051545.6 | 申请日: | 2019-08-20 |
公开(公告)号: | CN112534406A | 公开(公告)日: | 2021-03-19 |
发明(设计)人: | 安德烈·科切夫;杰伊·弗莱施曼;卡伊·特勒斯特;约翰尼·C·褚;蒂姆·J·威尔肯斯;尼尔·马尔凯特加;迈克尔·W·隆 | 申请(专利权)人: | 超威半导体公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F9/30;G06F9/32 |
代理公司: | 上海胜康律师事务所 31263 | 代理人: | 樊英如;邱晓敏 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 选择性 绕过 处理器 指令 流水线 中的 地址 生成 硬件 系统 方法 | ||
公开了系统和方法,所述系统和所述方法选择性地绕过处理器指令流水线中的地址生成硬件。在一个实施方案中,一种处理器包括地址生成级和地址生成绕过确定单元(ABDU)。所述ABDU接收加载/存储指令。如果在所述ABDU处不知道所述加载/存储指令的有效地址,则所述ABDU经由所述处理器的所述地址生成级来路由所述加载/存储指令。然而,如果在所述ABDU处知道所述加载/存储指令的所述有效地址,则所述ABDU路由所述加载/存储指令以绕过所述处理器的所述地址生成级。
发明背景
在当前处理器实现方式中,指令由指令流水线执行,指令流水线是一组功能单元(即,数字逻辑电路),所述一组功能单元包括:分支预测单元和取出单元,这两者被统称为流水线的前端;解码单元,所述解码单元包括分派级;执行/调度器单元(EXSC);以及加载/存储单元,所述加载/存储单元与1级(L1)数据高速缓存对接,所述1级(L1)数据高速缓存又与2级(L2)数据高速缓存对接。指令流水线处理多种类型的指令,包括加载/存储指令,加载/存储指令中的每一者是用于从存储器地址检索数据的加载指令或用于向存储器地址写入数据的存储指令。加载/存储指令从中加载或存储到的存储器地址被称为加载/存储指令的有效地址,并且使用寻址模式在加载/存储指令中指定。
EXSC包括被称为地址生成(AGEN)级(又名AGEN硬件、AGEN单元(AGU)、地址计算单元(ACU)等)的数字逻辑电路,它为由指令流水线处理的每一加载/存储指令计算有效地址。每次AGEN计算都会带来在至少时间和功率方面的成本。然后,每个加载/存储指令从EXSC进入加载/存储单元,加载/存储单元使用由AGEN级计算的有效地址执行加载/存储指令。由于在AGEN级为每一加载/存储指令计算有效地址,当前处理器浪费了时间和功率为在指令流水线中的AGEN级之前的点处知道用于计算有效地址的所有输入的加载/存储指令计算有效地址。
发明内容
本文中公开了用于选择性地绕过处理器指令流水线中的AGEN硬件的系统和方法。除其他优点外,处理器不会浪费时间和功率来使用其AGEN级为给定的指令集中(即,给定的可执行代码实例中,诸如程序、应用程序、小程序等中)的每一加载/存储指令计算有效地址,而是仅为那些加载/存储指令的已识别的子集计算有效地址。除其他技术优点外,减少了处理时间和功耗两者。
在一些实施方案中,本系统和方法识别以下情况:其中在指令流水线中的AGEN级之前的点处,知道用于相应的加载/存储指令的AGEN计算的所有输入。在此类情况下,路由加载/存储指令以绕过AGEN级并且不引起AGEN计算,而经由AGEN级来路由在指令流水线中的该点处不知道至少一个AGEN计算输入的加载/存储指令,使得AGEN级仍对那些加载/存储指令执行AGEN计算。
如本文所使用的术语“AGEN计算输入”指代在给定的加载/存储指令实际上经由AGEN级进行路由的情况下AGEN级将使用来计算该加载/存储指令的有效地址的输入,根据本系统和方法,并非所有加载/存储指令都是经由AGEN级进行路由。在一些情况下,在流水线中的AGEN级前的点处知道AGEN计算输入,因为该输入是就定义而言不会发生改变的常数值。这种类型的加载/存储指令的两个示例是(i)程序计数器(PC)相关(又名指令指针(IP)相关)加载/存储指令,以及(ii)仅位移(又名即时位移)加载/存储指令。
在其他情况下,在指令流水线中的AGEN级前的点处知道给定的AGEN计算输入,因为该输入具有可能会改变(由于例如一个或多个其他指令的执行)的已知值(存储在例如寄存器中)。第二种类型的加载/存储指令的一个示例是堆栈指针(SP)相关加载/存储指令。关于该第二种类型的加载/存储指令,本系统和方法监视这种相关性,并且仅当没有发生使对这种相关性的依赖性失效的事件(诸如,相关寄存器被后续指令重写)时才允许这些加载/存储指令完全地绕过AGEN级。当确实发生此类事件时,本系统和方法的实施方案“撤回”使那些加载/存储指令绕过AGEN级,而是经由AGEN级来路由那些加载/存储指令。这带来在时间和功率方面的成本,但是这样做是为了实现准确执行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于超威半导体公司,未经超威半导体公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201980051545.6/2.html,转载请声明来源钻瓜专利网。