用于在微处理器中进行选择性重命名的方法和设备的制造方法

文档序号:9602475阅读:503来源:国知局
用于在微处理器中进行选择性重命名的方法和设备的制造方法
【专利说明】用于在微处理器中进行选择性重命名的方法和设备
[0001] 枏据35U.S.C. § 119主张优先权
[0002] 本专利申请案主张于2013年7月12日申请且转让给本案受让人并以引用的方 式明确并入本文中的标题为"用于在微处理器中进行选择性重命名的方法和设备"(Method andApparatusforSelectiveRenaminginaMicroprocessor)的第61/845, 476 号临时 申请的优先权。 技术领域
[0003] 本发明的各方面一般涉及处理器,且更特别地涉及在微处理器中进行选择性重命 名。 【背景技术】
[0004] 寄存器重命名是在处理器中处理指令流时的常见进程。例如,指令根据指令集架 构生成架构化寄存器。架构化寄存器被重命名为物理寄存器,其存储有指令的结果。
[0005] 重命名映射表(RMT)将架构化寄存器映射至物理寄存器。随着程序执行,架构化 寄存器不断地被映射至物理寄存器,且可用于存储结果的物理寄存器的数量可被快速耗 尽。因此,处理器的设计必须提供许多物理寄存器以确保通过指令生成的架构化寄存器的 每一个新代具有用于放置结果的物理寄存器。
[0006] 这本身是有问题的,这是因为标准的解决方案要具有高度移植的大物理寄存器堆 (PRF)。具有高度移植的PRF可影响处理器的循环时间、处理器的功耗以及处理器的时钟速 度,即,处理器运行的多快或慢。
[0007] 因此,需要用于寄存器重命名的改进的设备和方法,从而可使PRF尽可能得小。
【发明内容】

[0008] 本发明的实例性实施方案涉及系统、方法和非临时性计算机可读存储媒体,其包 含当通过机器进行存取时会使所述机器执行在微处理器(和/或处理器)中进行选择性重 命名的方法的数据。例如,在一或多个实施方案中,一种操作处理器的方法通过获得第一生 产者指令进行操作。所述第一生产者指令包含第一生产者指令结果。所述第一生产者指令 还包含第一标识符。所述第一标识符可包含指令序列标识符。所述第一标识符可包含令牌 计数。
[0009] 所述方法还通过生成用于所述第一生产者指令的架构化寄存器的第一代进行操 作。生成用于所述第一生产者指令的所述架构化寄存器的所述第一代包括标识重命名映射 表(RMT)中与所述架构化寄存器的所述第一代相对应的用于所述第一生产者指令的条目。
[0010] 所述方法进一步地通过将物理寄存器分配至所述架构化寄存器进行操作。将所述 物理寄存器分配至所述架构化寄存器包括标识所述重命名映射表(RMT)中与所述架构化 寄存器的所述第一代相关联的用于所述第一生产者指令的物理寄存器条目。
[0011] 所述方法进一步地通过获得第二生产者指令进行操作。所述第二生产者指令包含 第二生产者指令结果和第二标识符。所述第二标识符可包含指令序列标识符。所述第二标 识符可包含令牌计数。
[0012] 所述方法进一步地通过生成所述架构化寄存器的第二代并将所述物理寄存器分 配至所述架构化寄存器的所述第二代进行操作。
[0013] 所述方法进一步地通过如果所述第二标识符对应于所述第一标识符,则允许将所 述第二生产者指令结果写入所述第一物理寄存器中的方式进行操作。所述方法进一步地通 过如果所述第二标识符不对应于所述第一标识符,则禁止将所述第二生产者指令结果写入 所述第一物理寄存器中的方式进行操作。
[0014] 在一或多个实施方案中,所述方法进一步地通过将新的物理寄存器分配至所述架 构化寄存器的所述第二代以及如果所述新的物理寄存器与所述物理寄存器相同,则释放所 述物理寄存器的方式进行操作。
[0015] 所述处理器可以是乱序处理器。所述第一生产者指令可以是潜在的管线清除指 令。在一些实施方案中,所述架构化寄存器是由指令集架构所限定的。
[0016] 在一或多个实施方案中,所述方通过确定所述第一生产者指令为潜在的管线清除 指令并响应于关于所述第一生产者指令为潜在的管线清除指令的所述确定复位所述第一 和第二标识符进行操作。
[0017] -或多个实施方案包含处理器,其被配置成在管线中处理指令以生成至少一个架 构化寄存器和至少一个指令结果。所述处理器可包含重命名映射表(RMT)。RMT可包含分 别将至少一个架构化寄存器映射至至少一个物理寄存器的至少一个条目。在所述RMT中的 至少一个条目包含RMT标识符。
[0018] 所述处理器还可包含物理寄存器堆(PRF)。PRF可包含表示所述至少一个物理寄 存器的至少一个条目。在所述PRF的所述至少一个条目可包含PRF标识符。
[0019] 所述处理器可包含执行模块,其被配置成如果所述PRF标识符对应于所述RMT标 识符,则允许将所述指令结果写入所述物理寄存器中。所述执行模块还可在如果所述PRF 标识符不对应于所述RMT标识符的情况下,禁止将所述指令结果写入所述物理寄存器中。
[0020] 在替代的实施方案中,一种操作处理器的方法通过从处理器管线获得第一生产者 指令进行操作。所述第一生产者指令可包含第一生产者指令结果。所述处理器可包含数据 转发网络。操作所述处理器的所述方法可进一步地通过生成用于所述第一生产者指令的架 构化寄存器的第一代并获得第二生产者指令进行操作。所述第二生产者指令可包含第二生 产者指令结果。操作所述处理器的所述方法可进一步地通过生成所述架构化寄存器的所述 第二代、将物理寄存器分配至所述架构化寄存器的所述第二代、允许将所述第二生产者指 令结果写入所述物理寄存器中并允许从所述数据转发网络读取所述第一生产者指令进行 操作。
[0021] 提交了本
【发明内容】
,要理解的是其不用于解释或限制权利要求的范围或含义。本
【发明内容】
并不旨在识别所主张的主题的关键或必要的特性,也不旨在帮助确定所主张的主 题的范围。 【附图说明】
[0022] 附图是为了有助于描述本文所描述的技术的实施方案而提出的且仅是为了说明 实施方案而非对其进行限制而提供的。
[0023] 图1为根据一或多个实施方案的实例性处理器的框图。
[0024] 图2为根据一或多个实施方案的更详细的关于图1中所示的实例性处理器的图。
[0025] 图3示出根据一个实施方案的用于在指令重命名阶段在处理器中进行选择性重 命名的方法的实例性流程图。
[0026] 图4示出根据一个实施方案的用于在指令完成阶段在处理器中进行选择性重命 名的方法的实例性流程图。
[0027] 图5示出根据一个实施方案的用于在指令提交/撤回阶段在处理器中进行选择性 重命名的方法的实例性流程图。
[0028] 图6示出根据一个替代实施方案的在使用数据转发网络的处理器中进行选择性 重命名的方法的实例性流程图。
[0029] 【具体实施方式】参照了附图。在附图中,参考数字的最左边的数字(多个数字)标 识参考数字最初出现的图。在所有附图中使用相同的数字以表示相同的特性和组件。 【具体实施方式】
[0030] 通常,本文所揭示的主题的一个实施方案涉及在乱序处理器(和/或处理器)中 进行选择性重命名以改善处理器的循环时间、处理器的功耗以及处理器的时钟速度,即处 理器运行得多快或慢。在寄存器重命名中,当通过指令第一次生成架构化寄存器时,其基于 用于特定处理器的指令集架构(ISA)被重命名为不同的名字,即物理寄存器名。当通过指 令第二次生成架构化寄存器时,通常向架构化寄存器的第二代分配不同于之前分配的物理 寄存器的新的物理寄存器。以这种方式,处理器现在即可按与用于新的物理寄存器的指令 结果的生产和消耗相平行或乱序的方式执行用于之前的物理寄存器的指令结果的生产和 消耗。这个进程往往会快加处理器的操作。
[0031] 重命名映射表(RMT)将架构化寄存器的名字映射至所分配的物理寄存器,从而使 用于指令结果的生产者/消费者对知道要查找到用于写入/读取的重命名的物理寄存器。 当向架构化寄存器的第二代分配新的物理寄存器时,RMT相应地进行更新,从而使第二生产 者/消费者对知道要查找到用于写入/读取的重命名的物理寄存器。
[0032] 这个重命名进程所存在的一个问题是要向相同的架构化寄存器的每一代分配不 同的物理寄存器。即,要向每个生产者/消费者对分配不同的物理寄存器。其结果是,要么 处理器快速地用完物理寄存器,要么物理寄存器堆(PRF)变得相当大。
[0033] 根据本文所述的一或多个实施方案,PRF的大小可以减小,这是因为在寄存器重命 名期间,重用了物理寄存器。在一或多个实施方案中,物理寄存器的重用是利用潜在的管线 清除(PPF)指令、潜在的恢复点或类似物而实现的。PPF指令为处理器在取指令时间推测下 一条指令将是什么的指令。
[0034] 条件转移指令为PPF指令的一个实例。使用条件转移指令,处理器不知道是否将 进行转移直到指令实际执行为止。鉴于其不是使处理器进行等待直到实际执行为止的最佳 方式,这是因为完成指令要进行许多循环,例如,转移预测器用于通过推测或猜测最终将采 用哪种转移并从转移预测器所提供的目标地址取指令而使进程加速。
[0035] 如果转移预测被证明是不正确的且响应于转移预测而取的指令不应该已被执行 过,处理器则试图将其状态恢复至推测出错的点上。即,处理器将试图假装好像未超越PPF指令发生过什么一样且处理器将试着将其状态重建为其实际在PPF指令时的状态。
[0036] PPF指令的另一个实例是存储器操作(即,加载或存储),其在转换后备缓冲器 (TLB)中遭遇遗漏并导致页面错误,并需要控制以切换至随后将正确的转换加载至TLB中 的操作系统代码。
[0037] 在本文所述的一或多个实施方案中,在管线中具有两个PPF指令,以及在其之间 的非PPF指令。在这种情况下,没有任何理由使处理器的状态将必须再落在两个PPF指令 之间。如果处理器的状态需要恢复至第一PPF指令,其将落在第一PPF指令处或如果处理 器的状态需要恢复至第二PPF指令,其将落在第二PPF指令处。处理器的状态将无需恢复 至在两个PPF指令之间的任何点上,如架构化寄存器被第一次重命名为物理寄存器处。
[0038] 此外,如果在所分配的第一物理寄存器中写入的结果已被消耗掉,那么则无需向 通常分配有不同于之前的物理寄存器的新的物理寄存器的架构化寄存器的下一代分配新 的物理寄存器。根据本文所述的实施方案,架构化寄存器的下一代会重用之前的物理寄存 器。即,知道在架构化寄存器的前一代和架构化寄存器的下一代之间不具有PPF指令的处 理器会将之前的物理寄存器分配至出现的下一个生产者/消费者对。
[
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1