具有多个子寄存器文件的寄存器文件制造技术

技术编号:10286573 阅读:140 留言:0更新日期:2014-08-06 11:44
本发明专利技术公开了用于在乱序处理器中使用的被划分为多个子寄存器文件的寄存器文件。所述寄存器文件还具有多个缓冲器,每一个缓冲器与所述子寄存器文件中的一个相关联。每一个缓冲器接收并存储目的地为相关联的子寄存器文件的写入操作,所述写入操作随后被发布到所述子寄存器文件。具体地说,在每一个时钟周期,确定在所述缓冲器中是否存在还没有被发布到所述相关联的子寄存器文件的至少一个写入操作。如果在所述缓冲器中存在还没有被发布到所述相关联的子寄存器文件的至少一个写入操作,则将未发布的写入操作中的一个发布到所述相关联的子寄存器文件。每一个子寄存器文件也可以具有仲裁逻辑单元,所述仲裁逻辑单元通过优先考虑读取操作来解决想要在相同的时钟周期中访问所述相关联的子寄存器文件的读取和写入操作之间的冲突,除非相冲突的写入操作已经到达呈交时间。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了用于在乱序处理器中使用的被划分为多个子寄存器文件的寄存器文件。所述寄存器文件还具有多个缓冲器,每一个缓冲器与所述子寄存器文件中的一个相关联。每一个缓冲器接收并存储目的地为相关联的子寄存器文件的写入操作,所述写入操作随后被发布到所述子寄存器文件。具体地说,在每一个时钟周期,确定在所述缓冲器中是否存在还没有被发布到所述相关联的子寄存器文件的至少一个写入操作。如果在所述缓冲器中存在还没有被发布到所述相关联的子寄存器文件的至少一个写入操作,则将未发布的写入操作中的一个发布到所述相关联的子寄存器文件。每一个子寄存器文件也可以具有仲裁逻辑单元,所述仲裁逻辑单元通过优先考虑读取操作来解决想要在相同的时钟周期中访问所述相关联的子寄存器文件的读取和写入操作之间的冲突,除非相冲突的写入操作已经到达呈交时间。【专利说明】具有多个子寄存器文件的寄存器文件
技术介绍
在现代超标量处理器中,存在大量管线,这些管线都试图从共享寄存器文件进行读取并写入到共享寄存器文件。然而,在不降低时钟速度的情况下,难于实现具有大量的读取和与入端口的共孕寄存器文件。解决这一问题的一种方法是实现寄存器文件高速缓存。这使用多个高速缓存(与系统中的存储器高速缓存无关)来减小共享寄存器文件上的带宽。在这样的系统中,可以使用写回高速缓存系统来降低到寄存器的写入的数量,因为物理寄存器在退役时可以从高速缓存移除。然而,这些系统要求某种形式的管理来在高速缓存之间迁移当前没有驻留在共享寄存器文件中的数据。下面描述的实施例不局限于解决已知处理器的任何或所有缺点的实现。
技术实现思路
提供这一【专利
技术实现思路
】部分以便引入下面在【具体实施方式】中进一步描述的简化形式的概念的选择。这一
技术实现思路
部分并不意在识别请求保护的主题的关键特征或本质特征,也不意在在确定请求保护的主题的范围时用作辅助。本文描述了用于乱序处理器的被划分为多个子寄存器文件的寄存器文件。这些寄存器文件还具有多个缓冲器,每一个缓冲器与子寄存器文件中的一个相关联。每一个缓冲器接收并存储目的地为相关联的子寄存器文件的写入操作,随后将该写入操作发布到所述子寄存器文件。具体地说,在每一个调度周期(例如,时钟周期),确定在所述缓冲器中是否存在还没有被发布到相关联的子寄存器文件的至少一个写入操作。如果存在,则将未发布的写入操作中的一个发布到相关联的子寄存器文件。每一个子寄存器文件也可以具有仲裁逻辑单元,所述仲裁逻辑单元通过优先考虑读取操作来解决想要在相同的调度周期(例如,时钟周期)中访问相关联的子寄存器文件的读取和写入操作之间的冲突,除非相冲突的写入操作已经到达呈交时间。第一方面提供一种用于乱序处理器的寄存器文件,所述寄存器文件包括:多个子寄存器文件,每一个子寄存器文件包括至少一个物理寄存器;以及多个缓冲器,每一个缓冲器与子寄存器文件相关联并且配置为:接收并存储目的地为相关联的子寄存器文件的写入操作;接收并存储对于存储在子寄存器文件中的每一个写入操作的写入值,一旦接收到了对于特定的写入操作的写入值,该写入操作就变为等待写入操作;在每一个时钟周期,确定在缓冲器中是否存在至少一个等待写入操作;并且如果在缓冲器中存在至少一个等待写入操作,则选择等待写入操作中的一个并且将选择的写入操作发布到相关联的子寄存器文件。第二方面提供一种乱序处理器,包括:根据第一方面的寄存器文件;以及解码和重命名级,所述解码和重命名级配置为:接收取出的指令;对于在取出的指令的写入操作中提到的任何架构寄存器分派子寄存器文件和分派的子寄存器文件的物理寄存器;并且使用分派的子寄存器文件的指示符和分派的物理寄存器的指示符来重命名该架构寄存器。第三方面提供一种读取和写入乱序处理器的寄存器文件的方法,所述寄存器文件包括多个子寄存器文件,每一个子寄存器文件包括至少一个物理寄存器,所述方法包括:在多个缓冲器中的一个处接收目的地为相关联的子寄存器文件的写入操作;将接收的写入操作存储在所述缓冲器中;在所述缓冲器处接收对于所述写入操作的写入值;将接入的写入值存储在与所述写入操作相关联的缓冲器中,使所述写入操作变为等待写入操作;在每一个时钟周期,确定在所述缓冲器中是否存在任何等待写入操作;并且如果在所述缓冲器中存在至少一个等待写入操作,则选择所述等待写入操作中的一个并且将其发布到所述相关联的子寄存器文件。本文描述的方法可以由配置有存储在有形存储介质上的机器可读形式的软件的计算机执行,例如,以包括计算机可读程序代码的计算机程序的形式,所述计算机程序代码用于配置计算机来执行所述方法的组成部分,或者以包括计算机程序代码模块的计算机程序的形式,所述计算机程序代码模块适合于当在计算机上运行程序时执行本文描述的任何方法的所有步骤,并且其中所述计算机程序可以体现在计算机可读存储介质上。有形(或非暂态)存储介质的示例包括磁盘、指状驱动、存储卡等等,且不包括传播的信号。软件可以适合于在并行处理器或串行处理器上执行,以使得可以按照任何适当的顺序或同时执行所述方法步骤。本文描述的硬件部件可以由非暂态计算机可读存储介质生成,所述非暂态计算机可读存储介质具有编码在其上的计算机可读程序代码。这承认固件和软件可以被单独使用并且是有价值的。意在包括在“无效(dumb)”或标准硬件上运行或控制该“无效”或标准硬件的软件以便执行期望的功能。还意在包括“描述”或定义硬件的配置的软件,例如,用于设计硅芯片或用于配置通用可编程芯片的HDL(硬件描述语言)软件,以便执行期望的功能。可以对优选特征进行适当组合,这对于本领域的普通技术人员来说将变得显而易见,并且可以将优选特征与本专利技术的任何方面进行组合。【专利附图】【附图说明】将通过示例的方式参照下面的附图来描述本专利技术的实施例,在附图中:图1是示例单线程乱序处理器的示意图;图2是图1的示例寄存器文件的示意图;图3是用于控制到图2的子寄存器文件的读取/写入访问的示例逻辑单元的示意图;图4是用于写入图2的寄存器文件并从图2的寄存器文件读取的示例方法的流程图;图5是用于解决在相同的时钟周期中发布到图2的寄存器文件的相同子寄存器文件的读取和写入操作之间的冲突的示例方法的流程图;图6是示例多线程乱序处理器的示意图;图7是图6的不例寄存器文件的不意图;图8是用于控制到图7的子寄存器文件的读取/写入访问的示例逻辑单元的示意图;图9是用于解决在相同的时钟周期中发布到图7的寄存器文件的相同子寄存器文件的读取和写入操作之间的冲突的第一示例方法的流程图;以及图10是用于解决在相同的时钟周期中发布到图7的寄存器文件的相同子寄存器文件的读取和写入操作之间的冲突的第二示例方法的流程图。在整个附图中使用共同的附图标记来指示类似的特征。【具体实施方式】下面仅通过示例的方式来描述本专利技术的实施例。这些示例代表 申请人:当前已知的实施本专利技术的最佳方式,尽管它们不是能够实现本专利技术的唯一方式。该实施方式阐述了该示例的功能以及用于构建和操作该示例的步骤的序列。然而,可以通过不同的示例来实现相同或等效的功能和序列。本文描述的实施例涉及用于减少到在乱序处理器中使用的共享寄存器文件的读取和写入端口的数量的技术。具体地说,在本文描述的实施例中,将寄存器文件划分为多个较小的分立子寄存器文件,每本文档来自技高网
...

【技术保护点】
一种用于在乱序处理器(100,600)中使用的寄存器文件(102,630),所述寄存器文件包括:多个子寄存器文件(202‑212,702‑712),每一个子寄存器文件(202‑212,702‑712)包括至少一个物理寄存器;以及多个缓冲器(214‑224,714‑736),每一个缓冲器(214‑224,714‑736)与子寄存器文件(202‑212,702‑712)相关联并且布置为:接收目的地为相关联的子寄存器文件(202‑212,702‑712)的写入操作;将每一个接收到的写入操作存储在所述缓冲器中;接收对于存储在所述缓冲器(214‑224,714‑736)中的每一个写入操作的写入值;将每一个接收到的写入值存储在所述缓冲器中;对存储对于特定的写入操作的写入值做出响应,将所述特定的写入操作识别为等待写入操作;在每一个时钟周期,确定在所述缓冲器(214‑224,714‑736)中是否存在至少一个等待写入操作;并且对确定在所述缓冲器(214‑224,714‑736)中存在至少一个等待写入操作做出响应,选择所述等待写入操作中的一个并且将选择的写入操作发布到所述相关联的子寄存器文件(202‑212,702‑712)。...

【技术特征摘要】
...

【专利技术属性】
技术研发人员:H·杰克逊
申请(专利权)人:想象力科技有限公司
类型:发明
国别省市:英国;GB

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

1