CN113703833B - 一种可变长向量物理寄存器文件的实现方法、装置及介质 - Google Patents

一种可变长向量物理寄存器文件的实现方法、装置及介质 Download PDF

Info

Publication number
CN113703833B
CN113703833B CN202111064450.3A CN202111064450A CN113703833B CN 113703833 B CN113703833 B CN 113703833B CN 202111064450 A CN202111064450 A CN 202111064450A CN 113703833 B CN113703833 B CN 113703833B
Authority
CN
China
Prior art keywords
register
vector
vector physical
bits
idle
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.)
Active
Application number
CN202111064450.3A
Other languages
English (en)
Other versions
CN113703833A (zh
Inventor
孙彩霞
邓全
郭辉
郭维
雷国庆
王俊辉
郑重
倪晓强
黄立波
隋兵才
王永文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202111064450.3A priority Critical patent/CN113703833B/zh
Publication of CN113703833A publication Critical patent/CN113703833A/zh
Application granted granted Critical
Publication of CN113703833B publication Critical patent/CN113703833B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/22Microcontrol or microprogram arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register 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中任意一项所述可变长向量物理寄存器文件的实现方法的计算机程序。
CN202111064450.3A 2021-09-10 2021-09-10 一种可变长向量物理寄存器文件的实现方法、装置及介质 Active CN113703833B (zh)

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 CN113703833A (zh) 2021-11-26
CN113703833B true 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 (4)

* Cited by examiner, † Cited by third party
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
CN105528195A (zh) * 2015-12-03 2016-04-27 上海高性能集成电路设计中心 一种支持同时多线程指令乱序发射的飞行记分牌处理方法
CN111221575A (zh) * 2019-12-30 2020-06-02 核芯互联科技(青岛)有限公司 一种乱序高性能处理器的寄存器重命名方法及系统
CN112181494A (zh) * 2020-09-28 2021-01-05 中国人民解放军国防科技大学 一种浮点物理寄存器文件的实现方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6314511B2 (en) * 1997-04-03 2001-11-06 University Of Washington 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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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
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)

* Cited by examiner, † Cited by third party
Title
基于映射表的寄存器文件设计以及编译器优化;邓晴莺;张民选;;电子学报(第02期);全文 *

Also Published As

Publication number Publication date
CN113703833A (zh) 2021-11-26

Similar Documents

Publication Publication Date Title
KR101706496B1 (ko) 비인가 스택 피봇팅을 방지하기 위한 시스템들 및 방법들
EP2783282B1 (en) A microprocessor accelerated code optimizer and dependency reordering method
US7428631B2 (en) Apparatus and method using different size rename registers for partial-bit and bulk-bit writes
US8423750B2 (en) Hardware assist thread for increasing code parallelism
US9298464B2 (en) Instruction merging optimization
JP5218998B2 (ja) バッファを用いて高効率でロード処理を実行する方法およびプログラム
US8904153B2 (en) Vector loads with multiple vector elements from a same cache line in a scattered load operation
US20120060016A1 (en) Vector Loads from Scattered Memory Locations
CN112181494B (zh) 一种浮点物理寄存器文件的实现方法
WO2013077876A1 (en) A microprocessor accelerated code optimizer
WO2015153121A1 (en) A data processing apparatus and method for executing a stream of instructions out of order with respect to original program order
US10649780B2 (en) Data processing apparatus and method for executing a stream of instructions out of order with respect to original program order
CN1782988A (zh) 用于选择性地禁止猜测性的条件分支执行的方法和设备
WO2014090085A1 (en) Branch-free condition evaluation
WO2013096629A1 (en) Providing hint register storage for a processor
EP3140730B1 (en) Detecting data dependencies of instructions associated with threads in a simultaneous multithreading scheme
US9448837B2 (en) Cooperative thread array granularity context switch during trap handling
US8490098B2 (en) Concomitance scheduling commensal threads in a multi-threading computer system
CN113703833B (zh) 一种可变长向量物理寄存器文件的实现方法、装置及介质
US20160004538A1 (en) Multiple issue instruction processing system and method
CN110515656B (zh) 一种casp指令的执行方法、微处理器及计算机设备
EP1632846A2 (en) System and method for run-time value tracking during execution
CN102662678B (zh) 数据处理装置及其内存数据处理方法
CN116502224A (zh) 一种应用于软件安全执行的硬件监测器方法及装置
CN118295710A (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