寄存器写入抑制制造技术

技术编号:34166954 阅读:14 留言:0更新日期:2022-07-17 09:49
提供了用于为处理器分配寄存器的技术。所述技术包括识别指令分派集中满足第一组寄存器分配抑制标准中的所有寄存器分配抑制标准的第一指令,抑制所述第一指令的寄存器分配,识别所述指令分派集中不满足第二组寄存器分配抑制标准中的所有寄存器分配抑制标准的第二指令,并为所述第二指令分配寄存器。并为所述第二指令分配寄存器。并为所述第二指令分配寄存器。

Register write inhibit

【技术实现步骤摘要】
【国外来华专利技术】寄存器写入抑制
[0001]相关申请的交叉引用
[0002]本申请要求于2019年11月26日提交的标题为“寄存器写入抑制(REGISTER WRITE SUPPRESSION)”的第16/697,147号未决美国非临时专利申请的权益,其全部内容特此通过引用并入本文。

技术介绍

[0003]寄存器重命名是一种允许具有某些架构寄存器依赖性的指令在乱序处理器中仍乱序执行的技术。更具体地说,寄存器重命名消除错误的依赖关系,因此只保留真正的写后读数据依赖关系。写后写和读后写是错误的依赖关系。
[0004]根据寄存器重命名,将寄存器文件中用于写入指令结果的空闲物理寄存器分配给指令。此外,将不同的物理寄存器分配给写入到同一架构寄存器的两个指令。如果这两个指令没有写后读数据依赖关系,则这两个指令可能被乱序分派。尽管寄存器重命名提供某些益处,但推测执行的深度受可用于分配的物理寄存器数量等因素的限制。
附图说明
[0005]可从结合附图以举例的方式给出的以下描述中获得更详细的理解,在附图中:
[0006]图1是在其中可以实现一个或多个所公开实施方案的示例性装置的框图;
[0007]图2是位于图1的处理器内的指令执行流水线的框图;
[0008]图3示出与寄存器重命名相关的示例性阶段;
[0009]图4示出根据示例的用于物理寄存器分配以减少寄存器文件压力的技术;以及
[0010]图5是根据示例的用于将寄存器文件中的物理寄存器分配给指令的方法的流程图。
具体实施方式
[0011]提供了用于为处理器分配寄存器的技术。所述技术包括识别指令分派集中满足第一组寄存器分配抑制标准中的所有寄存器分配抑制标准的第一指令,抑制所述第一指令的寄存器分配,识别所述指令分派集中不满足第二组寄存器分配抑制标准中的所有寄存器分配抑制标准的第二指令,并为所述第二指令分配寄存器。
[0012]图1是其中实现本公开的方面的示例性装置100的框图。装置100包括例如计算机、游戏装置、手持式装置、机顶盒、电视、移动电话或平板电脑。装置100包括处理器102、存储器104、存储装置106、一个或多个输入装置108以及一个或多个输出装置110。装置100还可以任选地包括输入驱动器112和输出驱动器114。应理解,装置100可以包括图1中未示出的附加部件。
[0013]处理器102包括中央处理单元(CPU)、图形处理单元(GPU)、位于相同的管芯上的CPU和GPU、或一个或多个处理器核心,其中每个处理器核心是CPU或GPU。存储器104可以与处理器102位于同一管芯上,或者可以与处理器102分开定位。存储器104包括易失性或非易
失性存储器,例如随机存取存储器(RAM)、动态RAM或高速缓存。
[0014]存储装置106包括固定或可移动存储装置,例如硬盘驱动器、固态驱动器、光盘或快闪驱动器。输入装置108包括键盘、小键盘、触摸屏、触摸板、检测器、麦克风、加速度计、陀螺仪、生物计量扫描仪或网络连接(例如,用于无线IEEE 802信号的传输和/或接收的无线局域网卡)。输出装置110包括显示器、扬声器、打印机、触觉反馈装置、一个或多个灯、天线或网络连接(例如,用于无线IEEE 802信号的传输和/或接收的无线局域网卡)。
[0015]输入驱动器112与处理器102和输入装置108通信,并且容许处理器102接收来自输入装置108的输入。输出驱动器114与处理器102和输出装置110通信,并且容许处理器102将输出发送到输出装置110。应注意,输入驱动器112和输出驱动器114为任选部件,并且装置100在不存在输入驱动器112和输出驱动器114的情况下将以相同方式操作。
[0016]图2是位于图1的处理器102内的指令执行流水线200的框图。虽然说明用于指令执行流水线200的一种特定配置,但应当理解,各种各样的指令执行流水线都落在本公开的范围内。指令执行流水线200从存储器检索指令并执行指令,从而将数据输出到存储器并修改与指令执行流水线200相关联的元件,例如寄存器文件218内的寄存器的状态。
[0017]指令执行流水线200包括使用指令高速缓存202从系统存储器(例如存储器104)中提取指令的指令提取单元204、对提取的指令进行解码的解码器208、执行计算以处理指令的功能单元216、经由数据高速缓存220从系统存储器加载数据或将数据存储到系统存储器的加载存储单元214,以及包括为指令存储工作数据的寄存器的寄存器文件218。
[0018]解码器208生成微操作并将微操作分派到引退队列210。应注意,此处的术语“指令”在指代解码后的指令时,有时可与术语“微操作”互换使用。换言之,有时指出,经过解码器级208的特定单元相对于指令执行某些动作,并且在这些情况下,词语“指令”是指解码器级208输出的微操作。
[0019]寄存器映射器209将由解码器208输出的指令所指定的架构寄存器映射到寄存器文件218的物理寄存器。寄存器映射器209将寄存器文件218的空闲寄存器映射到通过指令写入的架构寄存器。寄存器映射器209还维护指示哪些架构寄存器映射到哪些物理寄存器的表,并使用此表将指令的输入寄存器映射到正确的物理寄存器。寄存器映射器209响应于向其分配物理寄存器的指令的以下动作释放物理寄存器:为映射到要释放的物理寄存器的架构寄存器分配新的物理寄存器;并且导致分配新物理寄存器的指令本身退出。换言之,物理寄存器响应于指令不再需要物理寄存器的值而被释放。当架构寄存器被覆盖并且覆盖架构寄存器的指令退出时,不再需要此值。
[0020]引退队列210跟踪当前进行中的指令并确保指令的按序引退,尽管进行中时允许乱序执行。术语“进行中的指令”是指已经由引退队列210接收但还没有引退的指令。当指令已完成(执行功能单元216和/或加载/存储单元214中的所有操作)并且不是或不再推测性地执行时,会发生引退。保留站212维护进行中的指令并跟踪指令操作数。当所有操作数都准备好执行特定指令时,保留站212将指令发送到功能单元216或加载/存储单元214以供执行。已完成指令在引退队列210中标记为引退,并且在引退队列210的前端引退。引退是指将指令的结果提交到处理器的架构状态的行为。例如,指令可能会以推测的方式乱序执行。如果推测失败,则指令不会引退,而是从流水线200中清除。在引退点,在大多数情况下,认为指令不再是以推测方式执行,因此所述指令的结果被“提交”到流水线200的状态。
[0021]指令执行流水线200的各种元件经由公共数据总线222进行通信。例如,功能单元216和加载/存储单元214将结果写入到公共数据总线222,所述结果可以由保留站212读取以执行相关指令,并由引退队列210读取作为已完成执行的进行中的指令的最终处理结果。加载/存储单元214还从公共数据总线222读取数据。例如,加载/存储单元214从来自公共数据总线222的已完成指令中读取结果,并经由数据高速缓存220将结果写入到存储器以存储指令本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种为处理器分配寄存器的方法,所述方法包括:识别指令分派集中满足第一组寄存器分配抑制标准中的所有寄存器分配抑制标准的第一指令;抑制所述第一指令的寄存器分配;识别所述指令分派集中不满足第二组寄存器分配抑制标准中的所有寄存器分配抑制标准的第二指令;以及为所述第二指令分配寄存器。2.如权利要求1所述的方法,其中抑制所述第一指令的寄存器分配包括抑制所述第一指令的标志寄存器的分配。3.如权利要求1所述的方法,其中:所述第一组寄存器分配抑制标准包括所述第一指令不是所述指令分派集中的最新指令的标准;并且所述第二组寄存器分配抑制标准包括所述第二指令不是所述指令分派集中的最新指令的标准。4.如权利要求1所述的方法,其中:所述第一组寄存器分配抑制标准包括所述第一指令写入全部由所述指令分派集中的较新指令覆盖的标志的标准;并且所述第二组寄存器分配抑制标准包括所述第二指令写入全部由所述指令分派集中的较新指令覆盖的标志的标准。5.如权利要求1所述的方法,其中:所述第一组寄存器分配抑制标准包括所述指令分派集中比所述第一指令新的指令都不会读取由所述第一指令写入的任何所述标志的标准;并且所述第二组寄存器分配抑制标准包括所述指令分派集中比所述第二指令新的指令都不会读取由所述第二指令写入的任何所述标志的标准。6.如权利要求1所述的方法,其中:所述第一组寄存器分配抑制标准包括关于标志寄存器的标准;并且所述第二组寄存器分配抑制标准包括关于标志寄存器的标准。7.如权利要求1所述的方法,其中:所述第一组寄存器分配抑制标准包括关于数据寄存器的标准;并且所述第二组寄存器分配抑制标准包括关于数据寄存器的标准。8.如权利要求1所述的方法,其中所述指令分派集包括按程序顺序连续的指令,没有介入指令。9.如权利要求1所述的方法,其中抑制所述第一指令的分配包括防止分配由所述第一指令写入的寄存器。10.一种用于为处理器分配寄存器的指令处理子系统,所述指令处理子系统包括:解码单元,所述解码单元被配置为分派指令分派集;以及寄存器映射器,所述寄存器映射器被配置为:识别所述指令分派集中满足第一组寄存器分配抑制标准中的所有寄存器分配抑制标准的第一指令;
抑制所述第一指令的寄存器分配;识别所述指令分派集中不满足第二组寄存器分配抑制标准中的所有寄存器分配抑制标准的第二指令;以及为所述第二指令分配寄存器。11.如权利要求...

【专利技术属性】
技术研发人员:尼尔
申请(专利权)人:超威半导体公司
类型:发明
国别省市:

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

1