【技术实现步骤摘要】
【国外来华专利技术】用于功率节约的寄存器重命名
[0001]本公开涉及用于功率节约的寄存器重命名。
技术介绍
[0002]现代处理器经常使用物理寄存器重命名的乱序执行。先前的系统已经使用物理寄存器重命名通过针对每个产生的结果分配新的目的地寄存器来去除写后写和读后写的危险。
[0003]在一些处理器中(例如,摩托罗拉88000和RISC
‑
V Zfinx选项),架构寄存器能够在不同时间保存不同类型的数据。例如,单个寄存器能够保存整型值或浮点值。在一些传统的处理器中,其中指令集架构允许将多种数据类型保存在同一架构寄存器中,统一的物理寄存器文件已经用于保存不同的数据类型,并且路由到处理不同数据类型的各种功能单元。
[0004]用于矩阵计算的二维结构(例如,脉动阵列)非常有效,因为操作数位于阵列中并且只需要少量移动来处理数据。然而,这些用于矩阵计算的二维结构是硬连线的并且通常用于固定功能机器。因为操作数是分布式的,所以它非常专业,并且编写微码来做正确的事情。在通用中央处理器(CPU)的不同上下文中,这些优势会丢失,并且对于访问寄存器与访问高速缓存与访问内存存在非常不同的定时。
附图说明
[0005]当结合附图阅读时,从以下详细描述中可以最好地理解本公开。需要强调的是,根据惯例,附图的各种特征不是按比例绘制的。相反,为清楚起见,任意扩大或缩小了各种特征的尺寸。
[0006]图1是针对使用基于数据类型预测的寄存器重命名来执行指令的系统的示例的框图。
[0007]图2是针对使用基于数据 ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种用于执行指令的集成电路,包括:第一集群,所述第一集群包括第一组物理寄存器和第一执行资源电路,所述第一执行资源电路被配置为执行将所述第一组物理寄存器的一个或多个寄存器的内容作为输入的操作,其中,用于所述第一执行资源电路的操作的所述输入是第一数据类型;第二集群,所述第二集群包括第二组物理寄存器和第二执行资源电路,所述第二执行资源电路被配置为执行将所述第二组物理寄存器的一个或多个寄存器的内容作为输入的操作,其中,用于所述第二执行资源电路的操作的所述输入是不同于所述第一数据类型的第二数据类型;以及寄存器重命名电路,所述寄存器重命名电路被配置为:确定将被存储在第一逻辑寄存器中的第一指令的结果的数据类型预测;以及基于所述数据类型预测匹配所述第一数据类型,将所述第一逻辑寄存器重命名以被存储在所述第一组物理寄存器的物理寄存器中。2.根据权利要求1所述的集成电路,其中,所述第一指令是非类型化传输指令。3.根据权利要求1所述的集成电路,其中,所述第一指令是加载指令。4.根据权利要求1至3中任一项所述的集成电路,其中,所述数据类型预测是基于所述第一指令的操作码来确定的。5.根据权利要求1至4中任一项所述的集成电路,其中,基于将访问所述第一指令的所述结果的排队指令的操作码来确定所述数据类型预测,其中,所述排队指令存储在指令缓冲器中。6.根据权利要求5所述的集成电路,其中,所述指令缓冲器是所述集成电路的解码缓冲器。7.根据权利要求5所述的集成电路,其中,所述指令缓冲器是所述集成电路的指令高速缓存的高速缓存行。8.根据权利要求1至7中任一项所述的集成电路,其中,所述数据类型预测是基于当前存储在所述第一逻辑寄存器中的数据的当前数据类型来确定的。9.根据权利要求1至8中任一项所述的集成电路,其中,所述数据类型预测是基于程序计数器的值来确定的。10.根据权利要求1至9中任一项所述的集成电路,其中,所述寄存器重命名电路被配置为:检测错误预测,其中,将在所述第一指令之后执行的第二指令将作为所述第二数据类型的输入访问所述第一逻辑寄存器;以及响应于所述错误预测,在所述第二指令之前发出微操作,其中,所述微操作将存储在所述第一组物理寄存器的物理寄存器中的所述第一逻辑寄存器的值复制到所述第二组物理寄存器的物理寄存器。11.根据权利要求1至9中任一项所述的集成电路,包括从所述第一组物理寄存器的物理寄存器到所述第二执行资源电路的替代数据路径,并且其中,所述寄存器重命名电路被配置为:检测错误预测,其中,将在所述第一指令之后执行的第二指令将作为所述第二数据类型的输入访问所述第一逻辑寄存器;以及
响应于所述错误预测,使所述第二执行资源电路使用所述替代数据路径访问所述第一逻辑寄存器的值。12.根据权利要求1至11中任一项所述的集成电路,其中,所述第一逻辑寄存器是具有至少两个元素的向量,并且所述第一组物理寄存器的所述物理寄存器存储所述向量。13.根据权利要求1至11中任一项所述的集成电路,其中,所述第一逻辑寄存器是具有多行和多列元素的矩阵,并且所述第一组物理寄存器的所述物理寄存器存储所述矩阵。14.根据权利要求1至13中任一项所述的集成电路,其中,所述第一数据类型是浮点型并且所述第二数据类型是整型。15.根据权利要求1至13中任一项所述的集成电路,其中,所述第一数据类型是整型并且所述第二数据类型是浮点型。16.根据权利要求1至13中任一项所述的集成电路,其中,所述第一数据类型是布尔型并且所述第一组物理寄存器的寄存器是单个位大小。17.根据权利要求16所述的集成电路,其中,所述第一执行资源电路被配置为执行分支指令。18.根据权利要求1至13中任一项所述的集成电路,其中,所述第一数据类型是标量并且所述第二数据类型是半角标量。19.根据权利要求1至13中任一项所述的集成电路,其中,所述第一数据类型是打包SIMD并且所述第二数据类型是非打包SIMD。20.一种用于执行指令的方法,包括:确定将存储在第一逻辑寄存器中的第一指令的结果的数据类型预测;以及基于所述数据类型预测匹配第一数据类型,重命名所述第一逻辑寄存器以被存储在从多个集群中选择的第一集群的物理寄存器中,其中,所述多个集群包括:第一集群,所述第一集群包括第一组物理寄存器和第一执行资源电路,所述第一执行资源电路被配置为执行将所述第一组物理寄存器的一个或多个寄存器的内容作为输入的操作,其中,用于所述第一执行资源电路的操作的所述输入是所述第一数据类型;...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。