CN113703833A - 一种可变长向量物理寄存器文件的实现方法、装置及介质 - Google Patents
一种可变长向量物理寄存器文件的实现方法、装置及介质 Download PDFInfo
- Publication number
- CN113703833A CN113703833A CN202111064450.3A CN202111064450A CN113703833A CN 113703833 A CN113703833 A CN 113703833A CN 202111064450 A CN202111064450 A CN 202111064450A CN 113703833 A CN113703833 A CN 113703833A
- Authority
- CN
- China
- Prior art keywords
- register
- vector
- vector physical
- bits
- instruction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000013507 mapping Methods 0.000 claims abstract description 20
- 230000009191 jumping Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
Abstract
本发明公开了一种可变长向量物理寄存器文件的实现方法、装置及介质,本发明方法包括预先将向量物理寄存器文件分成N个寄存器组;在指令重命名时,如果向量指令要写的向量体系结构寄存器宽度是2*M位,则从N个寄存器组中选择两个向量物理寄存器都是空闲的一个寄存器组分配给该向量指令的目的寄存器以建立重命名映射关系,且将被选择的寄存器组中的两个向量物理寄存器的空闲位都清零;如果是M位,则从N个寄存器组中选择一组中的一个空闲的寄存器分配给该向量指令的目的寄存器以建立重命名映射关系,且将这个向量物理寄存器的空闲位清零。本发明面向乱序多发射微处理器,能够充分利用向量物理寄存器资源、提高微处理器在同等面积开销下性能。
Description
技术领域
本发明涉及微处理器设计技术领域的乱序多发射微处理器设计技术,具体涉及一种可变长向量物理寄存器文件的实现方法、装置及介质。
背景技术
目前主流的商用高性能通用微处理器(CPU)几乎都采用乱序多发射结构,这种结构以不同于程序的顺序执行指令,从而更大程度的开发指令级并行性。指令间存在的数据相关限制了指令的乱序执行,为了解决这个问题,寄存器重命名技术被应用于乱序多发射处理器的设计中。寄存器重命名是指当某个体系结构寄存器作为一条指令的目的寄存器时,将其映射到微处理器实现的一个空闲的物理寄存器的过程。微处理器的体系结构寄存器(即程序员可见的寄存器)通常只有32个,但物理寄存器的个数较多,通常达到一百多个,有的甚至超过两百个。此外,为了进一步获得高性能,主流体系结构都扩展了向量指令,有的体系结构中向量长度是可变的,向量指令操作的向量体系结构寄存器的宽度由一个系统寄存器指定。比如,对于最大向量长度为256位的微处理器,通过系统寄存器可以指定向量指令操作的向量体系结构寄存器是128位还是256位。为了对向量体系结构寄存器进行重命名,微处理器设计时通常会按照最大向量长度实现一个向量物理寄存器文件。当向量指令操作的向量体系结构寄存器的宽度小于最大向量长度时,向量物理寄存器文件的高位部分将因为得不到利用而被浪费。随着乱序多发射微处理器中向量物理寄存器数目的增多,这种浪费更加严重。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种可变长向量物理寄存器文件的实现方法、装置及介质,本发明面向乱序多发射微处理器,能够充分利用向量物理寄存器资源、提高微处理器在同等面积开销下性能。
为了解决上述技术问题,本发明采用的技术方案为:
一种可变长向量物理寄存器文件的实现方法,包括:
1)预先将微处理器的向量物理寄存器文件组织成N个寄存器组,每个寄存器组包含一对M位的向量物理寄存器,为每个M位的向量物理寄存器维护一个空闲位,初始时所有向量物理寄存器的空闲位都被置位为1;
2)在指令重命名时,判断要重命名的向量指令要写的向量体系结构寄存器宽度是2*M位还是M位,如果是2*M位,则从N个寄存器组中选择两个向量物理寄存器都是空闲的一个寄存器组分配给该向量指令的目的寄存器以建立重命名映射关系,且将被选择的寄存器组中的两个向量物理寄存器的空闲位都清零;如果是M位,则从N个寄存器组中选择一组中的一个空闲的寄存器分配给该向量指令的目的寄存器以建立重命名映射关系,且将这个向量物理寄存器的空闲位清零;
3)指令提交时,将被释放的向量物理寄存器的空闲位置位为1。
可选地,步骤1)中预先将微处理器的向量物理寄存器文件组织成N个寄存器组时,若N个寄存器组当作为2*M位的向量物理寄存器被使用,则针对寄存器组采用寄存器组的编号作为访问索引号。
可选地,步骤1)中预先将微处理器的向量物理寄存器文件组织成N个寄存器组时,若N个寄存器组当作为M位的向量物理寄存器被使用,则针对寄存器组采用{组内编号,寄存器组的编号}作为索引号,其中0≤寄存器组的编号<N,组内编号为0或1。
可选地,步骤2)包括:
2.1)在指令重命名时,判断要重命名的向量指令要写的向量体系结构寄存器宽度是2*M位还是M位,如果是2*M位,则跳转执行步骤2.2);如果是M位,则跳转执行步骤2.5);
2.2)判断是否还存在两个向量物理寄存器的空闲位都为1的寄存器组,如果有,跳转执行步骤2.3);否则重命名发生阻塞,跳转执行步骤2.2);
2.3)选择一个两个向量物理寄存器的空闲位都为1的寄存器组分配给该指令的目的寄存器以建立重命名映射关系,跳转执行步骤2.4);
2.4)将被选择的寄存器组中的两个向量物理寄存器的空闲位都清零,跳转执行步骤3);
2.5)判断是否还存在空闲位为1的向量物理寄存器,如果有,跳转执行步骤2.6);否则重命名发生阻塞,跳转执行步骤2.5);
2.6)选择一个空闲位为1的向量物理寄存器分配给该指令的目的寄存器以建立重命名映射关系,然后跳转执行步骤2.7);
2.7)将被选择的向量物理寄存器的空闲位清零,跳转执行步骤3)。
可选地,步骤2.6)中选择一个空闲位为1的向量物理寄存器时,优先选择只有一个向量物理寄存器空闲位为1的寄存器组中的空闲向量物理寄存器。
可选地,步骤3)包括:判断要提交的向量指令的目的寄存器的宽度是2*M位还是M位,如果是2*M位,则释放一个寄存器组,将该寄存器组中两个向量物理寄存器的空闲位都置位为1,否则释放一个寄存器,将该向量物理寄存器的空闲位置位为1,退出。
此外,本发明还提供一种寄存器重命名组件,包括相互连接的重命名执行单元和向量物理寄存器文件,所述重命名执行单元被编程或配置以执行所述可变长向量物理寄存器文件的实现方法的步骤,所述向量物理寄存器文件N个寄存器组,每个寄存器组包含一对向量物理寄存器,寄存器重命名组件所在微处理器的最大向量长度为2*M。
此外,本发明还提供一种乱序多发射微处理器,包括内置寄存器重命名组件的微处理器本体,所述寄存器重命名组件为被编程或配置以执行所述可变长向量物理寄存器文件的实现方法的寄存器重命名组件。
此外,本发明还提供一种可变长向量物理寄存器文件的实现装置,包括相互连接的微处理器和存储器,所述微处理器被编程或配置以执行所述可变长向量物理寄存器文件的实现方法的步骤。
此外,本发明还提供一种计算机可读存储介质,该计算机可读存储介质中存储有被编程或配置以执行所述可变长向量物理寄存器文件的实现方法的计算机程序。
和现有技术相比,本发明具有下述优点:本发明方法包括将最大向量长度为2*M的乱序多发射微处理器中的向量物理寄存器文件组织成N个寄存器组,每个寄存器组包含一对寄存器,每个寄存器的宽度是M位。当向量指令要写的向量体系结构寄存器的宽度为2*M时,从N个寄存器组中选择两个寄存器都是空闲的一个寄存器组分配给该指令的目的寄存器以建立重命名映射关系。当向量指令要写的向量体系结构寄存器的宽度为M位时,从N个寄存器组中选择一个空闲的寄存器分配给该指令的目的寄存器以建立重命名映射关系,并且优先选择只有一个寄存器是空闲的寄存器组中的空闲向量物理寄存器,指令提交时被释放的向量物理寄存器重新变成空闲的,因此能充分利用向量物理寄存器资源,提高微处理器在同等面积开销下的性能。
附图说明
图1为本发明实施例方法的基本流程示意图。
图2为本发明实施例方法的详细流程示意图。
具体实施方式
如图1所示,本实施例可变长向量物理寄存器文件的实现方法包括:
1)预先将微处理器(最大向量长度为2*M)的向量物理寄存器文件组织成N个寄存器组,每个寄存器组包含一对M位的向量物理寄存器,为每个M位的向量物理寄存器维护一个空闲位,初始时所有向量物理寄存器的空闲位都被置位为1;
2)在指令重命名时,判断要重命名的向量指令要写的向量体系结构寄存器宽度是2*M位还是M位,如果是2*M位,则从N个寄存器组中选择两个向量物理寄存器都是空闲的一个寄存器组分配给该向量指令的目的寄存器以建立重命名映射关系,且将被选择的寄存器组中的两个向量物理寄存器的空闲位都清零;如果是M位,则从N个寄存器组中选择一组中的一个空闲的寄存器分配给该向量指令的目的寄存器以建立重命名映射关系,且将这个向量物理寄存器的空闲位清零;
3)指令提交时,将被释放的向量物理寄存器的空闲位置位为1。
本实施例方法将用于对最大向量长度为2*M的向量体系结构寄存器进行重命名的所有向量物理寄存器资源组织成N个寄存器组,每个组包含两个M位的向量物理寄存器。当要重命名的向量指令要写的目的寄存器的宽度为M时,可以选择任意一个空闲的M位向量物理寄存器建立重命名映射关系,N个2*M位的寄存器可以作为2*N个M位的寄存器被使用,从而能够充分利用向量物理寄存器资源,提高微处理器在同等面积开销下的性能。
本实施例中,步骤1)中预先将微处理器的向量物理寄存器文件组织成N个寄存器组时,若N个寄存器组当作为2*M位的向量物理寄存器被使用,则针对寄存器组采用寄存器组的编号作为访问索引号。使用寄存器组的编号作为索引,一个2*M位向量体系结构寄存器重命名后的向量物理寄存器编号只有一个,不会增加操作数的数据通路的开销。
本实施例中,步骤1)中预先将微处理器的向量物理寄存器文件组织成N个寄存器组时,若N个寄存器组当作为M位的向量物理寄存器被使用,则针对寄存器组采用{组内编号,寄存器组的编号}作为索引号,其中0≤寄存器组的编号<N,组内编号为0或1。通过这种索引方式,当一个M位向量体系结构寄存器进行重命名时,可以索引到所有2*N个M位的向量物理寄存器,同时将寄存器组的编号放在较低位,和2*M位向量体系结构寄存器重命名时索引向量物理寄存器的方式保持一致,简化了向量物理寄存器的访问。
如图2所示,本实施例中步骤2)包括:
2.1)在指令重命名时,判断要重命名的向量指令要写的向量体系结构寄存器宽度是2*M位还是M位,如果是2*M位,则跳转执行步骤2.2);如果是M位,则跳转执行步骤2.5);
2.2)判断是否还存在两个向量物理寄存器的空闲位都为1的寄存器组,如果有,跳转执行步骤2.3);否则重命名发生阻塞,跳转执行步骤2.2);
2.3)选择一个两个向量物理寄存器的空闲位都为1的寄存器组分配给该指令的目的寄存器以建立重命名映射关系,跳转执行步骤2.4);
2.4)将被选择的寄存器组中的两个向量物理寄存器的空闲位都清零,跳转执行步骤3);
2.5)判断是否还存在空闲位为1的向量物理寄存器,如果有,跳转执行步骤2.6);否则重命名发生阻塞,跳转执行步骤2.5);
2.6)选择一个空闲位为1的向量物理寄存器分配给该指令的目的寄存器以建立重命名映射关系,然后跳转执行步骤2.7);
2.7)将被选择的向量物理寄存器的空闲位清零,跳转执行步骤3)。
寄存器重命名阶段依据空闲位判断是否还有可以被用来进行重命名的向量物理寄存器,当要重命名的向量体系结构寄存器宽度为M位时,只要有一个空闲的M位向量物理寄存器,重命名就可以正常进行。当要重命名的向量体系结构寄存器宽度为2*M位时,必须有两个空闲的M位向量物理寄存器,且这两个向量物理寄存器必须位于同一个寄存器组,这样向量体系结构寄存器重命名后只对应一个向量物理寄存器编号。
本实施例中,步骤2.6)中选择一个空闲位为1的向量物理寄存器时,优先选择只有一个向量物理寄存器空闲位为1的寄存器组中的空闲向量物理寄存器。通过这种分配方式,将两个向量物理寄存器都是空闲的寄存器组中的寄存器尽可能晚的分配出去,当向量长度从M位切换到2*M位时,发生寄存器重命名阻塞的可能性会降低,从而提高微处理器的性能。
本实施例中,步骤3)包括:判断要提交的向量指令的目的寄存器的宽度是2*M位还是M位,如果是2*M位,则释放一个寄存器组,将该寄存器组中两个向量物理寄存器的空闲位都置位为1,否则释放一个寄存器,将该向量物理寄存器的空闲位置位为1,退出。通过判断目的寄存器的宽度可以准确知道分配给该向量体系结构寄存器的M位向量物理寄存器的数目,从而精准回收被分配出去的向量物理寄存器。
综上所述,本实施例方法包括将最大向量长度为2*M的乱序多发射微处理器中的向量物理寄存器文件组织成N个寄存器组,每个寄存器组包含一对寄存器,每个寄存器的宽度是M位。当向量指令要写的向量体系结构寄存器的宽度为2*M时,从N个寄存器组中选择两个寄存器都是空闲的一个寄存器组分配给该指令的目的寄存器以建立重命名映射关系。当向量指令要写的向量体系结构寄存器的宽度为M位时,从N个寄存器组中选择一个空闲的寄存器分配给该指令的目的寄存器以建立重命名映射关系,并且优先选择只有一个寄存器是空闲的寄存器组中的空闲向量物理寄存器,指令提交时被释放的向量物理寄存器重新变成空闲的,因此能充分利用向量物理寄存器资源,提高微处理器在同等面积开销下的性能。
此外,本实施例还提供一种寄存器重命名组件,包括相互连接的重命名执行单元和向量物理寄存器文件,该重命名执行单元被编程或配置以执行前述可变长向量物理寄存器文件的实现方法的步骤,该向量物理寄存器文件N个寄存器组,每个寄存器组包含一对向量物理寄存器,寄存器重命名组件所在微处理器的最大向量长度为2*M。
此外,本实施例还提供一种乱序多发射微处理器,包括内置寄存器重命名组件的微处理器本体,该寄存器重命名组件为被编程或配置以执行前述可变长向量物理寄存器文件的实现方法的寄存器重命名组件。
此外,本实施例还提供一种可变长向量物理寄存器文件的实现装置,包括相互连接的微处理器和存储器,该微处理器被编程或配置以执行前述可变长向量物理寄存器文件的实现方法的步骤。
此外,本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有被编程或配置以执行前述可变长向量物理寄存器文件的实现方法的计算机程序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/的处理器执行的指令产生用于实现在流程图的一个流程或多个流程和/或方框图的一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储介质中,使得存储在该计算机可读存储介质中的指令产生包括指令装置的制造品,该指令装置实现在流程图的一个流程或多个流程和/或方框图的一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图的一个流程或多个流程和/或方框图的一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种可变长向量物理寄存器文件的实现方法,其特征在于,包括:
1)预先将微处理器的向量物理寄存器文件组织成N个寄存器组,每个寄存器组包含一对M位的向量物理寄存器,为每个M位的向量物理寄存器维护一个空闲位,初始时所有向量物理寄存器的空闲位都被置位为1;
2)在指令重命名时,判断要重命名的向量指令要写的向量体系结构寄存器宽度是2*M位还是M位,如果是2*M位,则从N个寄存器组中选择两个向量物理寄存器都是空闲的一个寄存器组分配给该向量指令的目的寄存器以建立重命名映射关系,且将被选择的寄存器组中的两个向量物理寄存器的空闲位都清零;如果是M位,则从N个寄存器组中选择一组中的一个空闲的寄存器分配给该向量指令的目的寄存器以建立重命名映射关系,且将这个向量物理寄存器的空闲位清零;
3)指令提交时,将被释放的向量物理寄存器的空闲位置位为1。
2.根据权利要求1所述的可变长向量物理寄存器文件的实现方法,其特征在于,步骤1)中预先将微处理器的向量物理寄存器文件组织成N个寄存器组时,若N个寄存器组当作为2*M位的向量物理寄存器被使用,则针对寄存器组采用寄存器组的编号作为访问索引号。
3.根据权利要求2所述的可变长向量物理寄存器文件的实现方法,其特征在于,步骤1)中预先将微处理器的向量物理寄存器文件组织成N个寄存器组时,若N个寄存器组当作为M位的向量物理寄存器被使用,则针对寄存器组采用{组内编号,寄存器组的编号}作为索引号,其中0≤寄存器组的编号<N,组内编号为0或1。
4.根据权利要求1所述的可变长向量物理寄存器文件的实现方法,其特征在于,步骤2)包括:
2.1)在指令重命名时,判断要重命名的向量指令要写的向量体系结构寄存器宽度是2*M位还是M位,如果是2*M位,则跳转执行步骤2.2);如果是M位,则跳转执行步骤2.5);
2.2)判断是否还存在两个向量物理寄存器的空闲位都为1的寄存器组,如果有,跳转执行步骤2.3);否则重命名发生阻塞,跳转执行步骤2.2);
2.3)选择一个两个向量物理寄存器的空闲位都为1的寄存器组分配给该指令的目的寄存器以建立重命名映射关系,跳转执行步骤2.4);
2.4)将被选择的寄存器组中的两个向量物理寄存器的空闲位都清零,跳转执行步骤3);
2.5)判断是否还存在空闲位为1的向量物理寄存器,如果有,跳转执行步骤2.6);否则重命名发生阻塞,跳转执行步骤2.5);
2.6)选择一个空闲位为1的向量物理寄存器分配给该指令的目的寄存器以建立重命名映射关系,然后跳转执行步骤2.7);
2.7)将被选择的向量物理寄存器的空闲位清零,跳转执行步骤3)。
5.根据权利要求4所述的可变长向量物理寄存器文件的实现方法,其特征在于,步骤2.6)中选择一个空闲位为1的向量物理寄存器时,优先选择只有一个向量物理寄存器空闲位为1的寄存器组中的空闲向量物理寄存器。
6.根据权利要求1所述的可变长向量物理寄存器文件的实现方法,其特征在于,步骤3)包括:判断要提交的向量指令的目的寄存器的宽度是2*M位还是M位,如果是2*M位,则释放一个寄存器组,将该寄存器组中两个向量物理寄存器的空闲位都置位为1,否则释放一个寄存器,将该向量物理寄存器的空闲位置位为1,退出。
7.一种寄存器重命名组件,包括相互连接的重命名执行单元和向量物理寄存器文件,其特征在于,所述重命名执行单元被编程或配置以执行权利要求1~6中任意一项所述可变长向量物理寄存器文件的实现方法的步骤,所述向量物理寄存器文件N个寄存器组,每个寄存器组包含一对向量物理寄存器,寄存器重命名组件所在微处理器的最大向量长度为2*M。
8.一种乱序多发射微处理器,包括内置寄存器重命名组件的微处理器本体,其特征在于,所述寄存器重命名组件为被编程或配置以执行权利要求1~6中任意一项所述可变长向量物理寄存器文件的实现方法的寄存器重命名组件。
9.一种可变长向量物理寄存器文件的实现装置,包括相互连接的微处理器和存储器,其特征在于,所述微处理器被编程或配置以执行权利要求1~6中任意一项所述可变长向量物理寄存器文件的实现方法的步骤。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质中存储有被编程或配置以执行权利要求1~6中任意一项所述可变长向量物理寄存器文件的实现方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111064450.3A CN113703833B (zh) | 2021-09-10 | 2021-09-10 | 一种可变长向量物理寄存器文件的实现方法、装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111064450.3A CN113703833B (zh) | 2021-09-10 | 2021-09-10 | 一种可变长向量物理寄存器文件的实现方法、装置及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113703833A true CN113703833A (zh) | 2021-11-26 |
CN113703833B CN113703833B (zh) | 2024-01-12 |
Family
ID=78659930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111064450.3A Active CN113703833B (zh) | 2021-09-10 | 2021-09-10 | 一种可变长向量物理寄存器文件的实现方法、装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113703833B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6092175A (en) * | 1998-04-02 | 2000-07-18 | University Of Washington | Shared register storage mechanisms for multithreaded computer systems with out-of-order execution |
US20010004755A1 (en) * | 1997-04-03 | 2001-06-21 | Henry M Levy | Mechanism for freeing registers on processors that perform dynamic out-of-order execution of instructions using renaming registers |
US20030217249A1 (en) * | 2002-05-20 | 2003-11-20 | The Regents Of The University Of Michigan | Method and apparatus for virtual register renaming to implement an out-of-order processor |
CN105528195A (zh) * | 2015-12-03 | 2016-04-27 | 上海高性能集成电路设计中心 | 一种支持同时多线程指令乱序发射的飞行记分牌处理方法 |
CN111221575A (zh) * | 2019-12-30 | 2020-06-02 | 核芯互联科技(青岛)有限公司 | 一种乱序高性能处理器的寄存器重命名方法及系统 |
CN112181494A (zh) * | 2020-09-28 | 2021-01-05 | 中国人民解放军国防科技大学 | 一种浮点物理寄存器文件的实现方法 |
-
2021
- 2021-09-10 CN CN202111064450.3A patent/CN113703833B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010004755A1 (en) * | 1997-04-03 | 2001-06-21 | Henry M Levy | Mechanism for freeing registers on processors that perform dynamic out-of-order execution of instructions using renaming registers |
US6092175A (en) * | 1998-04-02 | 2000-07-18 | University Of Washington | Shared register storage mechanisms for multithreaded computer systems with out-of-order execution |
US20030217249A1 (en) * | 2002-05-20 | 2003-11-20 | The Regents Of The University Of Michigan | Method and apparatus for virtual register renaming to implement an out-of-order processor |
CN105528195A (zh) * | 2015-12-03 | 2016-04-27 | 上海高性能集成电路设计中心 | 一种支持同时多线程指令乱序发射的飞行记分牌处理方法 |
CN111221575A (zh) * | 2019-12-30 | 2020-06-02 | 核芯互联科技(青岛)有限公司 | 一种乱序高性能处理器的寄存器重命名方法及系统 |
CN112181494A (zh) * | 2020-09-28 | 2021-01-05 | 中国人民解放军国防科技大学 | 一种浮点物理寄存器文件的实现方法 |
Non-Patent Citations (1)
Title |
---|
邓晴莺;张民选;: "基于映射表的寄存器文件设计以及编译器优化", 电子学报, no. 02 * |
Also Published As
Publication number | Publication date |
---|---|
CN113703833B (zh) | 2024-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5710902A (en) | Instruction dependency chain indentifier | |
JP5747104B2 (ja) | 分散型プレディケート予測を実現するための方法、システム、およびコンピュータによってアクセス可能な媒体 | |
CN105247484B (zh) | 利用本地分布式标志体系架构来仿真访客集中式标志体系架构的方法 | |
CN107003837B (zh) | 用于推测性编译器优化的轻量级受限事务存储器 | |
US9811377B2 (en) | Method for executing multithreaded instructions grouped into blocks | |
US7434032B1 (en) | Tracking register usage during multithreaded processing using a scoreboard having separate memory regions and storing sequential register size indicators | |
EP2783282B1 (en) | A microprocessor accelerated code optimizer and dependency reordering method | |
EP2783280B1 (en) | An accelerated code optimizer for a multiengine microprocessor | |
EP2783281B1 (en) | A microprocessor accelerated code optimizer | |
CN108139907B (zh) | 向量数据传送指令 | |
CN109871341B (zh) | 用于堆栈指针值预测的方法和装置 | |
CN112181494B (zh) | 一种浮点物理寄存器文件的实现方法 | |
US9135005B2 (en) | History and alignment based cracking for store multiple instructions for optimizing operand store compare penalties | |
US10628155B2 (en) | Complex multiply instruction | |
US10459727B2 (en) | Loop code processor optimizations | |
JP6908601B2 (ja) | ベクトルロード命令 | |
US20180052707A1 (en) | Cooperative thread array granularity context switch during trap handling | |
EP3140730B1 (en) | Detecting data dependencies of instructions associated with threads in a simultaneous multithreading scheme | |
US8490098B2 (en) | Concomitance scheduling commensal threads in a multi-threading computer system | |
US20160004538A1 (en) | Multiple issue instruction processing system and method | |
CN113703833B (zh) | 一种可变长向量物理寄存器文件的实现方法、装置及介质 | |
CN1296815C (zh) | 二进制翻译中标志位的优化处理方法 | |
CN101216755B (zh) | Risc处理器及其浮点寄存器的非对齐访存方法 | |
CN114945902A (zh) | 减少i/o开销的混洗归约任务 | |
CN101042641A (zh) | 一种具有动态提交流水线功能的数字信号处理器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |