当前位置: 首页 > 专利查询>ARM有限公司专利>正文

数据处理系统中的寄存器重命名技术方案

技术编号:2831859 阅读:246 留言:0更新日期:2012-04-11 18:40
使用寄存器重命名的处理器2通过将重命名任务分成初始组和剩余组执行需要大量将要重命名的体系结构寄存器说明符的程序指令。首先执行初始组并将结果通过主通道32传送用于进一步的处理。依次执行剩余组,结果通过后台通道34传送用于进一步的处理。该技术对于为装入/存储多LDM指令执行重命名操作尤为有用。

【技术实现步骤摘要】

本专利技术涉及数据处理系统。更具体地,本专利技术涉及使用寄存器重命 名的数据处理系统,借此一组体系结构寄存器的寄存器说明符映射到一 组物理寄存器的寄存器说明符。
技术介绍
寄存器重命名是用于帮助支持无序处理的公知技术。典型地,这种 系统都针对高性能应用,其中减少门数和减少功率消耗并不是最主要的考虑。当处理引用大量的寄存器的程序指令,并且每个寄存器都需要重命 名时,寄存器重命名技术就出现了问题。支持一次重命名大量寄存器所 必需的机制需要不利的大的门数以及相关的不利的大量功率消耗。此 外, 一旦重命名机制重命名了寄存器,那么所有这些重命名的寄存器说 明符必须沿着指令流水线被并行地传送到将使用它们的单元。沿着指令 流水线并行地传输这么大量的重命名的寄存器说明符也需要不利的门数和面积代价,功率消耗也有相关的不利增加。虽然在那些门数、面积 和功率消耗并不是特殊约束的系统中上述问题也许不重要,但是在需要保持低门数、小面积和低功耗的不昂贵的、节约能量的小处理器环境中 这些却是严重的问题。上述的替代方案是暂停需要大量寄存器重命名操作的指令,使得这 些能够在几个处理周期中完成。然而,这会不利地暂停后续程序指令, 并且一旦产生了重命名的寄存器说明符则还需要沿着流水线经过不适 宜的宽路径并行传输这些寄存器说明符。
技术实现思路
从一个方面来看,本专利技术提供了用于处理数据的设备,所述设备包物理寄存器组;寄存器重命名电路,其响应于体系结构寄存器说明符组的寄存器说明符将所述寄存器说明符映射到所述物理寄存器组的寄存器,所述体系 结构寄存器说明符组代表指令集中的指令指定的寄存器,所述物理寄存 器组是用于处理所述指令集的指令的物理寄存器;其中所述寄存器重命名电路响应于指定需要多于预定数目的寄存器映 射的操作的程序指令以(i ) 将所述预定数目的寄存器映射分成初始寄存器映射组和剩余寄存器映射组;说明符,以在主通道上输出用于进一步的处理;以及(iii)在执行所述初始寄存器映射组之后,执行所述剩余寄存器 映射组产生用于物理寄存器的寄存器说明符,以在与所述主通道分离的 后台(background)通道上输出,并且与此同时用于至少一些其他程序 指令的寄存器说明符由所述寄存器重命名电路产生并在所述主通道上 输出。本技术认识到在实际中,需要大量物理寄存器说明符的指令的物理 寄存器说明符实际上不会一次全部消耗掉,所以也就不需要在单次操作 中产生并沿指令流水线一起传输。本技术通过从寄存器重命名电路中提 供主通道和后台通道用于输出用于进一步处理的寄存器说明符来开发 这种认识。因此,初始寄存器说明符组和用于后续程序指令的寄存器说 明符可以沿着主通道向下从寄存器重命名逻辑输出用于进一步的处 理。这提供了开始执行需要大量寄存器说明符的程序指令的进一步处理 所需要的初始寄存器说明符是可用的而沿正常主通道向下没有延迟,而台:道提供了这样;机制,借此机制,口可以传、输用于需要:多寄存器i 明符的指令的剩余寄存器说明符组以作进一步的处理,与此同时其他寄 存器说明符被沿着主通道传送。作为示例,考虑ARM指令集的装入/存储多指令。例如,这样的指 令可以指定从存储器读出的数据值装入八个寄存器。这个装入/存储多 指令由装入/存储单元执行,在采用寄存器重命名的系统环境中,需要 给装入/存储单元提供用于重命名的物理寄存器组的寄存器说明符,使 得其可以将数据值装入到合适的物理寄存器中。然而,这种装入/存储 单元典型地具有有限的并行装载数据值的能力并且这也许小于将要发生的寄存器装载的总数量。因此,如果装入/存储单元可被沿着主通道 传送启动整个装入/存储操作所需要的寄存器说明符并且通过后台通道 馈给随后的寄存器说明符,那么可以在执行装入/存储多指令中合理使 用装入/存储单元而不需要暂停在重命名阶段以允许所有的重命名操作一次完成;也不需要从重命名阶段并行传送很多的寄存器说明符;或也不需要阻止后续程序指令能够在传送剩余寄存器说明符的同时通过主 通道传送它们的重命名物理寄存器说明符。虽然后台通道有可能在单次操作中传送所有的剩余寄存器说明符 组用于进一步的处理,但是更有效、更灵活的是提供了后台通道以序列 的形式输出剩余寄存器说明符组。为了参与其中,寄存器重命名逻辑具有用于存储体系结构寄存器说明符的緩冲存储器,体系结构寄存器说明符表示将要执行的剩余寄存器 映射组。这个緩冲存储器可以作为有序表存储体系结构寄存器说明符, 有序表表示剩余寄存器映射组将被执行和输出的次序,并且这个次序可 以与期望电路所使用的次序匹配,其中该电路以保持与体系结构模型一 致的方式使用那些寄存器说明符执行进一步处理,在该体系结构模型中 产生并一次传输寄存器说明符用于进一步的处理。可能产生于本技术的限制是如果体系结构寄存器说明符被包含在 将要执行的剩余寄存器映射组中,那么包括那个体系结构寄存器说明符 的后续程序指令直到先前的程序指令及其相关的剩余体系结构寄存器 说明符组已被处理到这样的程度以致有关的体系结构寄存器说明符已 经受到合适的重映射之前不会发生重映射。这保持了重命名操作的上游 以及包括重命名操作的有序执行,因为是重命名操作以及典型地相关的 恢复机制和联合机制允许容忍无序执行。可发生的另一限制是指令将不会使用剩余映射组除非来自任何先 前指令的剩余要被执行的映射的剩余映射组是空的。将理解的是具有超出预定数量的并且要求使用主通道和后台通道 的大量寄存器说明符的程序指令可以有各种不同的形式。本技术可以采 用的 一 种特别的示例形式是由相关的装入/存储单元执行的装入/存储 指令。在本文上下文中,后台通道可以将用于物理寄存器的寄存器说明 符直接传送到装入/存储单元。如果装入/存储单元能够在任意处理器循环中消耗N个寄存器说明符,那么这个可以被用来选择后台通道的宽度使得其可以支持在处理循环中传输多达N个寄存器说明符以便按照希望的程度保持装入/存储单元完全被占用。从另一方面来看,本专利技术提供了一种处理数据的方法,所述方法包括以下步骤将体系结构寄存器说明符组的寄存器说明符映射到物理寄存器组 的寄存器,所述体系结构寄存器说明符组代表指令集中的指令指定的寄 存器,所述物理寄存器组是用于处理所述指令集的指令的物理寄存器; 其中响应于指定需要多于预定数量的寄存器映射的操作的程序指令,所 述映射步骤为(i ) 将所述预定数量的寄存器映射分成初始寄存器映射组和剩 余寄存器映射组;说明符以在主通道上输出用于进一步的处理;以及(iii)在执行所述初始寄存器映射组之后,执行所述剩余寄存器 映射组产生用于物理寄存器的寄存器说明符以在与所述主通道分离的 后台通道上输出并且同时用于至少一些其他程序指令的寄存器说明符 由所述寄存器重命名逻辑产生并在所述主通道上输出。从又一方面看来,本专利技术提供了用于处理数据的设备,所述设备包括物理寄存器装置组;寄存器重命名装置,其响应于体系结构寄存器说明符组的寄存器说 明符用于将所述寄存器说明符映射到所述物理寄存器组的寄存器,所述 体系结构寄存器说明符组代表指令集中的指令指定的寄存器,所述物理 寄存器组是用于处理所述指令集的指令的物理寄存器;其中所述寄存器重命名装置响应于程序指令,该程序指令说明需要多于 预定数量的寄存器映射的操本文档来自技高网...

【技术保护点】
一种处理数据的设备,所述设备包括:    物理寄存器组;    寄存器重命名电路,其响应于体系结构寄存器说明符组的寄存器说明符将所述寄存器说明符映射到所述物理寄存器组的寄存器,所述体系结构寄存器说明符组代表指令集中的指令指定的寄存器,并且所述物理寄存器组是用于处理所述指令集的指令的物理寄存器;其中    所述寄存器重命名电路响应于指定需要多于预定数量的寄存器映射的操作的程序指令,以便:    (i)将所述预定数量到的寄存器映射分成初始寄存器映射组和剩余寄存器映射组;    (ii)执行所述初始寄存器映射组产生用于物理寄存器的寄存器说明符以在主通道输出用于进一步的处理;以及    (iii)在执行所述初始寄存器映射组之后,执行所述剩余寄存器映射组产生用于物理寄存器的寄存器说明符以在与所述主通道分离的后台通道上输出,并且与此同时用于至少一些其他程序指令的寄存器说明符由所述寄存器重命名电路产生并在所述主通道上输出。

【技术特征摘要】
GB 2006-10-3 0619522.61.一种处理数据的设备,所述设备包括物理寄存器组;寄存器重命名电路,其响应于体系结构寄存器说明符组的寄存器说明符将所述寄存器说明符映射到所述物理寄存器组的寄存器,所述体系结构寄存器说明符组代表指令集中的指令指定的寄存器,并且所述物理寄存器组是用于处理所述指令集的指令的物理寄存器;其中所述寄存器重命名电路响应于指定需要多于预定数量的寄存器映射的操作的程序指令,以便(i)将所述预定数量到的寄存器映射分成初始寄存器映射组和剩余寄存器映射组;(ii)执行所述初始寄存器映射组产生用于物理寄存器的寄存器说明符以在主通道输出用于进一步的处理;以及(iii)在执行所述初始寄存器映射组之后,执行所述剩余寄存器映射组产生用于物理寄存器的寄存器说明符以在与所述主通道分离的后台通道上输出,并且与此同时用于至少一些其他程序指令的寄存器说明符由所述寄存器重命名电路产生并在所述主通道上输出。2. 权利要求1的设备,其中所述剩余寄存器映射组是作为寄存器 映射序列而执行的,每一个寄存器映射产生将在所述后台通道上输出的 用于物理寄存器的寄存器说明符并且产生减少的剩余寄存器映射组。3. 权利要求1的设备,其中所述寄存器重命名电路具有用于存储 表示所述剩余寄存器映射组的体系结构寄存器说明符的緩冲存储器。4. 权利要求3的设备,其中所述緩冲存储器将所述体系结构寄存 器说明符存储为有序列表,该有序列表表示所述剩余寄存器映射组将要 被执行的顺序。5. 权利要求1的设备,其中具有包含在所述剩余寄存器映射组中 的体系结构寄存器说明符的程序指令直到所述体系结构寄存器已经从 所述剩余寄存器映射组中移除之后才经历寄存器重映射。6. 权利要求1的设备,其中如果任何剩余寄存器映射组是从先前 的指定需要多于所述预定数量的寄存器映射的操作的程序指令剩余下 来的,则暂停指定所述需要多于所述预定数量的寄存器映射的操作的所 述程序指令。7. 权利要求l的设备,包括装入/存储单元,并且其中所述程序指8. 权利要求7的设备,其中所述后台通道将用于所述物理寄存器 的寄存器说明符直接传送到所述装入/存储单元。9. 权利要求7的设备,其中所述装入/存储单元能够执行装入/存 储操作,该操作在处理循环中消耗存储在N个物理寄存器中的值,并且 所述后台通道被配置为在处理循环中向所述装入/存储单元传送用于多 达N个物理寄存器的寄存器说明符。10. —种处理数据的方法,所述方法包括以下步骤将体系结构寄存器说明符组的寄存器说明符映射到物理寄存器组的寄存器,所述体系结构寄存器说明符组代表指令集中的指令指定的寄 存器并且所述物理寄存器组是用于处理所述指令集的指令的物理寄存 器;其中响应于指定需要多于预定数量的寄存器映射的操作的程序指令,所 述映射步骤为(i ) 将所述预定数量的寄存器映射分成...

【专利技术属性】
技术研发人员:MEL樊尚F贝贡CDR艾罗NBE拉塔耶
申请(专利权)人:ARM有限公司
类型:发明
国别省市:GB[英国]

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

1