使用多块物理寄存器映射表的寄存器重命名系统及其方法技术方案

技术编号:3764694 阅读:433 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了使用多块物理寄存器映射表的寄存器重命名系统及其方法。提供了使用物理寄存器映射表的多块实现的处理器架构的多个实施例。将架构寄存器关联到物理寄存器的寄存器重命名系统包括物理寄存器映射表和重命名逻辑。物理寄存器映射表具有多个项,每个项指示相应的物理寄存器的状态。映射表具有多个非重叠段,其中每个段都具有映射表的相应的项。重命名逻辑被耦合用以并行地搜索映射表的多个段,以识别指示相应的物理寄存器具有第一状态的项。重命名逻辑选择性地将多个架构寄存器中的每个关联到相应的被识别为处于第一状态的物理寄存器。本发明专利技术还提供了使用物理寄存器映射表的多块实现的方法。

【技术实现步骤摘要】

本公开一般涉及处理器架构领域,并且更为特别地涉及超标量体系结构的处理器中的寄存器重命名。
技术介绍
—般而言,处理器是一种可以运行计算机程序以执行算术计算、数据置换等等的 设备。微处理器是这样一种类型的处理器,其将处理器的大多数功能或所有功能都合并在 单个集成电路上。超标量体系结构的微处理器是通过同时将多个指令分派给处理器中的冗 余的运行资源(也称为功能单元)而能够在一个时钟周期中运行不止一个指令的微处理 器。当运行指令和微操作时,处理器通常从寄存器读取源操作数并将结果或目标操作数存 储在寄存器中。寄存器是处理器内的临时存储单元,与其他地方的可用存储器相比,寄存器 的内容可以被更快地访问,并且寄存器通常被用于保存供处理器使用的算术和其他结果。 一个给定的寄存器可包含多个比特,例如8比特、16比特或32比特,并且可通过相应的寄存 器标识符诸如寄存器号来进行访问。 寄存器重命名是在超标量体系结构的处理器中用来允许并行运行指令的各种技 术中的一种。因为处理器的程序指明的寄存器常常比硬件中能够实现的寄存器要少,所以 一个给定的超标量体系结构的处理器实现常常具有比程序中所指明的寄存器数目更多的 寄存器。在通常被称为寄存器重命名的阶段,某个程序所使用的多个通用架构寄存器被关 联到或者被映射到该超标量体系结构的处理器中的多个物理寄存器。例如,在可以发出多 至4条指令供并行执行的超标量体系结构的处理器中,物理寄存器文件中的多至四个空物 理寄存器必须是可用的,以便允许在每个时钟周期多至4个架构寄存器可被重命名。 相关联的架构寄存器与相应的物理寄存器之间的关系通常被记录在物理寄存器 映射表(PRMT)的项中。PRMT中的每个项记录物理寄存器文件中的相应的物理寄存器的状 态,例如相应的物理寄存器是否是空(并且因此是否可用于存储相关联的架构寄存器的数 据)。已解码的程序指令所使用的架构寄存器被关联到相应的物理寄存器,并且每个架构寄 存器的标识符例如地址也被记录在与相关联的物理寄存器相联系的PRMT项中。因此,PRMT 记录每个物理寄存器的状态以及架构寄存器与物理寄存器的关联/映射信息。随着程序指 令的运行,从一个时钟周期到另一个时钟周期,被配置用于存储相关联的架构寄存器的数 据的每个物理寄存器的状态发生变化,并且在PRMT中对已配置的物理寄存器的状态的这 种变化进行跟踪。已配置的物理寄存器不能被用于另一架构寄存器,直到其所关联到的当 前架构寄存器被程序指令释放为止。 物理寄存器越多,使用的物理寄存器文件就越大,使用诸如八十项的寄存器文件 这样的大的物理寄存器文件在近来变得越来越普遍。使用大量的物理寄存器有助于减少发 生由于指令依赖所带来的管道延迟,从而允许一次发出更多的指令。因此,PRMT中的项数 随着物理寄存器的数目增加而增加。然而,在超标量体系结构的处理器中,大的PRMT相比 小的PRMT而言使得更难找到指示关联的物理寄存器为空的项。另外,用传统的专用集成电11路(ASIC)设计方法和结构来实现的更大的PRMT倾向于需要更大的电路面积、增加路径延 迟,并且结果产生更高的功耗。因为路径延迟和功耗是处理器设计中的两个关键因素并且 影响性能,所以理想的是在对性能只有最小影响的情况下实现用于寄存器重命名的更大的 P丽。
技术实现思路
在一方面,一种将架构寄存器关联到物理寄存器的寄存器重命名系统包括具有多 个项的物理寄存器映射表和重命名逻辑。该映射表的每个项都指示相应的物理寄存器的状 态。映射表具有多个非重叠的段,其中每个段具有相应的映射表项。重命名逻辑被耦合用 以并行地搜索多个映射表段,以识别每个都指示相应的物理寄存器处于第一状态的项。该 重命名逻辑选择性地将多个架构寄存器中的每个关联到相应的被识别为处于第一状态的 物理寄存器。 在另一方面,一种处理器中的寄存器重命名系统包括第一寄存器块、第二寄存器 块和被耦合到该第一和第二寄存器块的搜索逻辑。第一块中的每个寄存器存储物理寄存器 映射表的第一段中的相应项,其指示相应的物理寄存器的多个状态中的一个。第二块中的 每个寄存器存储物理寄存器映射表的第二段中的相应项,其指示相应的物理寄存器的多个 状态中的一个。搜索逻辑并行地搜索第一和第二寄存器块,以识别第一和第二块中的所存 储的相应的映射表项指示相应的物理寄存器处于第一状态的寄存器。 在另一方面,一种将架构寄存器关联到物理寄存器的寄存器重命名系统包括第一 寄存器块、第二寄存器块、被耦合到该第一寄存器块的第一检查逻辑、被耦合到该第一寄存 器块的第二检查逻辑、被耦合到该第二寄存器块的第三检查逻辑、以及被耦合到该第二寄 存器块的第四检查逻辑。第一寄存器块存储物理寄存器映射表的第一部分,其中第一块中 的每个寄存器存储映射表的第一部分中的相应项。第二寄存器块存储物理寄存器映射表的 第二部分,其中第二块中的每个寄存器存储映射表的第二部分中的相应项。第一检查逻辑 被耦合到第一寄存器块以在第一时钟周期中从第一块的第一端朝着第一块的与第一端相 对的第二端来搜索第一块中的寄存器,以识别映射表的第一部分中的其中每个都指示相应 的物理寄存器为空的项。第二检查逻辑被耦合到第一寄存器块以在第一时钟周期中从第一 块的第二端朝着第一块的第一端来搜索第一块中的寄存器,以识别映射表的第一部分中的 其中每个都指示相应的物理寄存器为空的项。第三检查逻辑被耦合到第二寄存器块以在第 一时钟周期中从第二块的第一端朝着第二块的与第一端相对的第二端来搜索第二块中的 寄存器,以识别映射表的第二部分中的其中每个都指示相应的物理寄存器为空的项。第四 检查逻辑被耦合到第二寄存器块以在第一时钟周期中从第二块的第二端朝着第二块的第 一端来搜索第二块中的寄存器,以识别映射表的第二部分中的其中每个都指示相应的物理 寄存器为空的项。 在一个方面,一种处理器包括物理寄存器映射表、搜索逻辑和映射逻辑。物理寄存 器映射表具有多个项,其中该映射表的每个项都指示相应的物理寄存器的状态。搜索逻辑 被耦合用以并行地搜索映射表的多个段以识别其中每个均指示相应的物理寄存器处于第 一状态的项。搜索逻辑所搜索的每段映射表具有的相应的映射表项与搜索逻辑所搜索的另 一段映射表中的项不相同。映射逻辑被耦合到搜索逻辑并接收多个架构寄存器标识符,其中每个标识符指示相应的架构寄存器。映射逻辑将接收到的每个架构寄存器标识符映射到 相应映射表段中的指示相应的物理表处于第一状态的相应项。 在一方面,一种基于处理器的系统包括输入设备、输出设备、数据存储设备以及耦 合到该输入设备、输出设备和数据存储设备的处理器。该处理器包括多个寄存器块、被耦合 到该寄存器块的搜索逻辑、以及被耦合到该寄存器块和搜索逻辑的映射逻辑。每个寄存器 块存储一段物理寄存器映射表以将映射表的相应项存储在相应寄存器块的每个寄存器中, 每个项指示相应的物理寄存器的状态。搜索逻辑同时搜索寄存器块中的第一块和第二块, 以识别第一块和第二块中的存储指示着相应的物理寄存器处于第一状态的相应项的寄存 器。映射逻辑接收多个架构寄存器标识符,其中每个标识符标识相应的架构寄存器,并且 将每个架构寄存器标识符映射到该第一块和第二块中的被识别为存储着指示相应的物理 寄存器处于第一状态本文档来自技高网
...

【技术保护点】
一种将架构寄存器关联到物理寄存器的寄存器重命名系统,包括:具有多个项的物理寄存器映射表,所述映射表中的每个项均指示相应的物理寄存器的状态,所述映射表具有多个非重叠段,其中每个段均具有相应的映射表项;以及重命名逻辑,所述重命名逻辑被耦合用以并行地搜索所述映射表的多个段,以识别每个均指示相应的物理寄存器处于第一状态的项,所述重命名逻辑还用以选择性地将多个架构寄存器中的每个关联到相应的被识别为处于所述第一状态的物理寄存器。

【技术特征摘要】

【专利技术属性】
技术研发人员:朱鹏飞孙红霞吴永强
申请(专利权)人:世意法北京半导体研发有限责任公司
类型:发明
国别省市:11[中国|北京]

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

1