读写寄存器文件的方法、装置、电子设备及存储介质与流程
未命名
08-13
阅读:136
评论:0
1.本技术涉及计算机领域,特别涉及读写寄存器文件的方法、装置、电子设备及存储介质。
背景技术:
2.寄存器文件(register file)又称寄存器堆,是处理器(例如,cpu(central processing unit,中央处理器)、gpu(graphics processing units,图像处理单元))中多个寄存器组成的阵列,通常由快速的sram(static random-access memory,静态随机存取存储器)静态随机读写存储器实现。
3.寄存器文件能够被处理器的线程所访存。寄存器文件通常只包括一个ram。随着处理器的技术发展,处理器多支持多线程技术。处理器工作在多线程工作模式下时,可能会出现一部分线程访存寄存器文件,另外一部分不访存寄存器文件的情况。例如,一部分线程执行的条件指令,不满足访存条件,不能对寄存器文件进行访存。通常寄存器文件为单个ram,即使只有部分线程访问寄存器文件的ram的部分区域,也需要驱动整个ram,这就造成了电能的浪费。
4.如何使寄存器文件在处理器工作在多线程模式时更省电是本领域的技术问题之一。
技术实现要素:
5.为了解决上述技术缺陷之一,本技术实施例中提供了一种读写寄存器文件的方法、装置、电子设备及存储介质。
6.根据本技术实施例的第一个方面,提供了一种写入寄存器文件的方法,应用于处理器,包括:响应于第一写入信号,将写入寄存器文件的第一数据按照每个随机存取存储器ram的位宽平均拆分成多个第二数据,并将一一对应地将每个第二数据发送给每个ram;根据线程使能信息获取寄存器文件中每个ram的第二写入信号,和/或根据线程使能信息和第一时钟信号获取每个ram的第二时钟信号;针对每个ram,根据该ram的第二写入信号、第二时钟信号、第二数据和写入地址,向该ram写入数据;其中,寄存器文件包括多个ram,每个ram的位宽等于处理器工作在多线程模式时每个线程访存数据的位宽。
7.根据本技术实施例的第二个方面,提供了一种读取寄存器文件的方法,应用于处理器,包括:响应于第一读取信号,根据线程使能信息获取寄存器文件中每个ram的第二读取信号,和/或根据线程使能信息和第一时钟信号获取每个ram的第三时钟信号;针对每个ram,根据该ram的第二读取信号、第三时钟信号和读取地址,从该ram读取第三数据;将所有第三数据组合成用于读取的第四数据;其中,寄存器文件包括多个ram,每个ram的位宽等于处理器工作在多线程模式时每个线程访存数据的位宽。
8.根据本技术实施例的第三个方面,提供了一种写入寄存器文件的装置,应用于处理器,包括:拆分模块,用于响应于第一写入信号,将写入寄存器文件的第一数据按照每个
随机存取存储器ram的位宽平均拆分成多个第二数据,并将一一对应地将每个第二数据发送给每个ram;第一获取模块,用于根据线程使能信息获取寄存器文件中每个ram的第二写入信号,和/或根据线程使能信息和第一时钟信号获取每个ram的第二时钟信号;写入模块,用于针对每个ram,根据该ram的第二写入信号、第二时钟信号、第二数据和写入地址,向该ram写入数据;其中,寄存器文件包括多个ram,每个ram的位宽等于处理器工作在多线程模式时每个线程访存数据的位宽。
9.根据本技术实施例的第四个方面,提供了一种读取寄存器文件的装置,应用于处理器,包括:第二获取模块,用于响应于第一读取信号,根据线程使能信息获取寄存器文件中每个ram的第二读取信号,和/或根据线程使能信息和第一时钟信号获取每个ram的第三时钟信号;读取模块,用于针对每个ram,根据该ram的第二读取信号、第三时钟信号和读取地址,从该ram读取第三数据;组合模块,用于将所有第三数据组合成用于读取的第四数据;其中,寄存器文件包括多个ram,每个ram的位宽等于处理器工作在多线程模式时每个线程访存数据的位宽。
10.根据本技术实施例的第五个方面,提供了一种电子设备,包括:存储器;处理器;以及计算机程序;其中,计算机程序存储在存储器中,并被配置为由处理器执行以实现如上述任一项的写入寄存器文件的方法,以及,如上述任一项的读取寄存器文件的方法。
11.根据本技术实施例的第六个方面,提供了一种计算机可读存储介质,其上存储有计算机程序;计算机程序被处理器执行以实现上述任一项的写入寄存器文件的方法,以及,如上述任一项的读取寄存器文件的方法。
12.本技术实施例中的方法中寄存器文件包括多个独立的规模较小的ram,能够生成用于读写每个ram的信号,当处理器只有部分线程访存时,只读写被使能线程对应的ram,读写ram的规模相对于寄存器文件使用整块ram的规模较小,更为节能。
附图说明
13.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
14.图1为本技术实施例提供的一种写入寄存器文件的方法流程图;
15.图2为本技术实施例提供的一种读取寄存器文件的方法流程图;
16.图3为本技术实施例提供的一种访存寄存器方法的原理示意图;
17.图4为本技术实施例提供的一种访存寄存器方法的原理示意图;
18.图5为本技术实施例提供的一种写入寄存器文件的装置原理框图;
19.图6为本技术实施例提供的一种读取寄存器文件的装置原理框图。
具体实施方式
20.为了使本技术实施例中的技术方案及优点更加清楚明白,以下结合附图对本技术的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本技术的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
21.在实现本技术的过程中,发明人发现,现有技术中,实现寄存器文件的ram为一个
整体,具有统一的时钟线、读写使能、数据线和地址线。这是与处理器相配合的。无论处理器工作在单线程或者多线程模式下,处理器都要选中寄存器文件的整个ram进行操作。这样就导致若多线程模式下,读写用不到整个ram的空间时,仍然需要选中整个ram进行操作。并且,ram的耗能与ram的规模相关,ram的规模越大,耗能越大。当无需对整个ram进行访存操作时,选中整个ram进行操作,对整个ram提供时钟,使能整个ram的读或写操作,是浪费功耗的。
22.针对上述问题,本技术实施例中提供了一种写入寄存器文件的方法,应用于处理器,如图1所示,包括以下步骤:
23.步骤s101,响应于第一写入信号,将写入寄存器文件的第一数据按照每个随机存取存储器ram的位宽平均拆分成多个第二数据,并将一一对应地将每个第二数据发送给每个ram;
24.步骤s102,根据线程使能信息获取寄存器文件中每个ram的第二写入信号,和/或根据线程使能信息和第一时钟信号获取每个ram的第二时钟信号;
25.步骤s103,针对每个ram,根据该ram的第二写入信号、第二时钟信号、第二数据和写入地址,向该ram写入数据;
26.其中,寄存器文件包括多个ram,每个ram的位宽等于处理器工作在多线程模式时每个线程访存数据的位宽。
27.本技术实施例应用的场景为与处理器配合使用的寄存器文件。处理器可以是gpu(graphics processing unit,图形处理器)。处理器支持单线程和多线程工作模式。本技术实施例中的寄存器文件由多个独立的ram组成,处理器工作在多线程模式下时,每个ram一一对应地用于被特定的线程用来访存。一个线程访存的ram不受其他ram的影响,这就需要这个ram有独立的读写控制端口、时钟端口和数据端口,写入时分别给这些端口提供读写信号、时钟信号和数据信号。本技术实施例中每个ram可以共用的处理器的写地址信号。
28.本技术实施例的步骤s101和s102用于根据来自处理器的线程使能信息获取读写信号、时钟信号和数据信号,步骤s103每个ram根据上述信号完成数据写入。具体实现方式如下:
29.一、获取每个ram的写入数据
30.如步骤s101,可以将数据进行拆分。来自处理器的第一数据分成几段第二数据分别发送给对应要写入的ram。ram的位宽等于每个线程写入数据的位宽。相当于将被写入的数据拆分成几份,每份的位宽等于ram的位宽,以便写入ram。具体实现,可以是将写入寄存器文件的写数据线分段,每段写数据线与一个ram的数据输入端进行连接。例如,来自处理器的写数据线的位宽为32位,拆分成2段,每段与寄存器文件中一个ram的数据输入端相连,即来自处理器的数据线的bit0~bit15与ram0的bit0~bit15的数据输入端相连,来自处理器的数据线的bit16~bit31与ram1的bit0~bit15的数据输入端相连。这样,来自处理器的32位的第一数据分成两个16位第二数据分别发送给寄存器文件的两个ram。每个第二数据与一个线程相对应。
31.二、获取每个ram的写入信号和写入时钟信号
32.优选地,处理器工作在多线程模式时,所述根据线程使能信息获取寄存器文件中每个ram的第二写入信号,包括:针对每个ram,根据所述线程使能信息,判断该ram对应线程
是否被使能,若被使能,则将该ram的写使能置为有效;若未被使能,则将该ram的写使能置为无效;所述根据所述线程使能信息和第一时钟信号获取所述每个ram的第二时钟信号,包括:针对每个ram,根据所述线程使能信息,判断该ram对应线程是否被使能,若被使能,则导通所述第一时钟信号与该ram的写时钟输入端的连接;若未被使能,则断开所述第一时钟信号与该ram的写时钟输入端的连接。
33.具体地,步骤s102中的线程使能信息用于指示处理器处于多线程模式时,哪个线程是被使能用于访存寄存器文件。例如,处理器工作在双线程模式,包括线程0和线程1,线程使能信息为两位2进制数的threaden[1:0]。threaden[1:0]=2’b01时,线程0可以用于写入寄存器文件,线程1不可以。
[0034]
线程访存的方式是写入或是读取,由处理器控制寄存器文件的写使能有效(对应寄存器文件收到的第一写入信号)或者读使能有效(对应寄存器文件收到第一读取信号)来决定。
[0035]
本技术实施例通过控制每个ram的第二写入信号的有效性和第二写入时钟信号的有效性来控制线程是否对ram进行写入。两个信号需要同时有效,才能对ram进行写入。实际应用中,可以通过同时控制两种信号,或者控制其中的一种信号来控制信号对应的ram是否用于写入。例如,处理器的一个线程通过第二写入信号控制一个ram的写使能端,而该ram的时钟固定来自时钟源,或者这个线程不控制该ram的写使能,只控制该ram是否有时钟输入,或者这个线程即控制ram的写使能又控制ram的时钟输入。
[0036]
(1)控制ram的写使能
[0037]
本技术实施例中的ram与线程是一一对应的,根据线程使能信息,来调节每个ram的写使能。例如,如上文所述,若包括两个线程,线程使能信息为threaden[1:0]。threaden[1:0]=2’b01时,线程0可以用于写入寄存器文件,线程1不可以。线程0对应的ram的写入使能应该置为有效,线程1的写入使能应该置为无效。线程0的时钟信号应该有效,由于线程1的写使能是无效的,线程1的时钟信号有效或者无效都可以。可以只通过控制ram的写使能来控制ram是否用于被写入。为了降低功耗,此时一般控制时钟无效。
[0038]
(2)控制ram的时钟输入
[0039]
本技术实施例每个ram的时钟可以是独立的。产生这些时钟,可以通过一个或更多的时钟源。通过开关来控制,是否有时钟输出到ram的写时钟输入端。开关通断的依据就是线程使能信息。
[0040]
本技术实施例提供的方法能够根据多个线程使能的情况,通过控制寄存器文件包含的多个ram的写时钟输入,来控制每个线程对应的ram是否用于写入,控制更灵活,能够达到节能的目的。
[0041]
本技术实施例提供的方法能够根据多个线程使能的情况,通过控制寄存器文件包含的多个ram的写使能和写时钟,来控制每个线程对应的ram是否用于写入,控制更灵活,能够达到节能的目的。
[0042]
另外,寄存器文件支持工作在单线程的处理器的写入,此时,所有ram的写使能有效,每个ram的时钟端与时钟源相连。
[0043]
优选地,处理器工作在单线程模式时,所述根据线程使能信息获取寄存器文件中每个ram的第二写入信号,包括:将所有所述ram的写使能置为有效;所述根据所述线程使能
信息和第一时钟信号获取所述每个ram的第二时钟信号,包括:导通所述第一时钟信号与每个ram的写时钟输入端的连接。
[0044]
本技术实施例的写入寄存器文件的方法,还支持工作在单线程模式的处理器对寄存器文件进行写入,处理器能够更灵活地根据需求选择合适的线程模式对寄存器文件进行写入。
[0045]
三、寄存器文件的ram进行写入
[0046]
本技术实施例的ram根据写使能、写入时钟、ram的写入数据、寄存器文件的写入地址,进行写入。其中,每个ram可以共用来自处理器的写入地址。例如,寄存器文件包括ram0和ram1,处理器向寄存器文件的00h地址写入数据,则分别向ram0的00h地址,ram1的00h地址写入经过拆分的数据。
[0047]
综上所述,本技术实施例中的方法中寄存器文件包括多个独立的规模较小的ram,能够生成用于读写每个ram的信号,当处理器只有部分线程访存时,只读写被使能线程对应的ram,读写ram的规模相对于寄存器文件使用整块ram的规模较小,更为节能。
[0048]
如图2所示,本技术实施例提供了一种读取寄存器文件的方法,应用于处理器,包括以下步骤:
[0049]
步骤s201,响应于第一读取信号,根据线程使能信息获取寄存器文件中每个ram的第二读取信号,和/或根据线程使能信息和第一时钟信号获取每个ram的第三时钟信号;
[0050]
步骤s202,针对每个ram,根据该ram的第二读取信号、第三时钟信号和读取地址,从该ram读取第三数据;
[0051]
步骤s203,将所有第三数据组合成用于读取的第四数据;
[0052]
其中,寄存器文件包括多个ram,ram的数量与处理器支持的线程的数量相同,每个ram包括独立的读写控制端口、时钟端口和数据端口。
[0053]
本技术实施例的读取方法,步骤s201与上文中的步骤s102类似,根据线程使能信息中线程使能的情况,控制每个ram的读使能的有效性(即对应第二读取信号),以及每个ram的时钟输入端是否有时钟输入(对应第三时钟信号的有效性)。从每个被使能的线程对应的ram读取线程访存位宽对应的数据(即第三数据),然后再组合成处理器读取的数据位宽的数据(即第四数据)。
[0054]
例如,寄存器文件包括ram0和ram1两个ram。根据寄存器文件ram0,是被使能的,ram1是未被使能的。根据寄存器文件的第一读取信号,控制ram0读使能(即第二读取信号),ram1未被读使能,提供ram0需要的读时钟信号。ram0根据地址,读使能,和读时钟信号读取数据,与ram1的读取数据线上的数据进行组合,得到最终用于被处理器读取的数据。
[0055]
优选地,根据线程使能信息获取寄存器文件中每个ram的第二读取信号,包括:针对每个ram,根据线程使能信息,判断该ram对应线程是否被使能,若被使能,则将该ram的读使能置为有效;若未被使能,则将该ram的读使能置为无效。
[0056]
优选地,处理器工作在多线程模式时,根据线程使能信息获取寄存器文件中每个ram的第二读取信号,包括:针对每个ram,根据线程使能信息,判断该ram对应线程是否被使能,若被使能,则将该ram的读使能置为有效;若未被使能,则将该ram的读使能置为无效;根据线程使能信息和第一时钟信号获取每个ram的第三时钟信号,包括:针对每个ram,根据线程使能信息,判断该ram对应线程是否被使能,若被使能,则导通第一时钟信号与该ram的读
时钟输入端的连接;若未被使能,则断开第一时钟信号与该ram的读时钟输入端的连接。
[0057]
本技术实施例提供的方法能够根据多个线程使能的情况,通过控制寄存器文件包含的多个ram的读使能和读时钟输入,来控制每个线程对应的ram是否用于读取,控制更灵活,能够达到节能的目的。
[0058]
类似上文中的处理器工作在单线程模式下的写入方法,本技术实施例也提供了处理器工作在单线程模式下的读取方法。
[0059]
优选地,处理器工作在单线程模式时,根据线程使能信息获取寄存器文件中每个ram的第二读取信号,包括:将所有ram的读使能置为有效;根据线程使能信息和第一时钟信号获取每个ram的第三时钟信号,包括:导通第一时钟信号与每个ram的读时钟输入端的连接。
[0060]
具体地,图3为本技术实施例提供的一种访存寄存器方法的原理示意图。根据示意图,进行一次写入时,将写入数据按照对应的线程拆分成两个部分,两个部分对应完成写入的不同线程,每个部分的位宽等于ram的位宽,分别写入线程对应的ram中。读取时,将从两个ram读取的数据组合成用于处理器读取的数据。
[0061]
图4为本技术实施例提供的另一种访存寄存器方法的原理示意图。写使能wr对应第一写入信号,读使能对应第一读取信号,线程模式threadmode[1:0]的两位信号分别对应处理器的多线程模式或者单线程模式,线程使能threaden[1:0]用于控制两个线程中哪个线程是处于工作状态下,读写控制模块用于执行步骤s102,根据线程使能threaden[1:0]和线程模式threadmode[1:0]生成每个ram的读写信号和读写时钟。读写时钟实际上由读写控制模块生成的门控信号控制外部的时钟clk是否与ram0、ram1的时钟输入端连通来生成。写地址,为两个ram共用的。写数据wdata经过写数据拆分模块,拆分成两份,每份数据的位宽等于ram的位宽。读取地址同样是两个ram共用。读取到的数据rdata0和rdata1进行拼接,得到拼接后的rdata,用于处理器读取。
[0062]
图5为本技术实施例提供的一种写入寄存器文件的装置原理框图,应用于处理器,包括拆分模块1、第一获取模块2和写入模块3:
[0063]
拆分模块1,用于响应于第一写入信号,将写入寄存器文件的第一数据按照每个随机存取存储器ram的位宽平均拆分成多个第二数据,并将一一对应地将每个第二数据发送给每个ram;
[0064]
第一获取模块2,用于根据线程使能信息获取寄存器文件中每个ram的第二写入信号,和/或根据线程使能信息和第一时钟信号获取每个ram的第二时钟信号;
[0065]
写入模块3,用于针对每个ram,根据该ram的第二写入信号、第二时钟信号、第二数据和写入地址,向该ram写入数据;
[0066]
其中,寄存器文件包括多个ram,ram的数量与处理器支持的线程的数量相同,每个ram包括独立的读写控制端口、时钟端口和数据端口。
[0067]
图6为本技术实施例提供的一种读取寄存器文件的装置原理框图,应用于处理器,包括第二获取模块4、读取模块5和组合模块6:
[0068]
第二获取模块4,用于响应于第一读取信号,根据线程使能信息获取寄存器文件中每个ram的第二读取信号,和/或根据线程使能信息和第一时钟信号获取每个ram的第三时钟信号;
[0069]
读取模块5,用于针对每个ram,根据该ram的第二读取信号、第三时钟信号和读取地址,从该ram读取第三数据;
[0070]
组合模块6,用于将所有第三数据组合成用于读取的第四数据;
[0071]
其中,寄存器文件包括多个ram,ram的数量与处理器支持的线程的数量相同,每个ram包括独立的读写控制端口、时钟端口和数据端口。
[0072]
本技术实施例提供一种电子设备,包括:存储器;处理器;以及计算机程序;其中,计算机程序存储在存储器中,并被配置为由处理器执行以实现如上述任一项的写入寄存器文件的方法,以及,如上述任一项的读取寄存器文件的方法。
[0073]
本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序;计算机程序被处理器执行以实现如上述任一项的写入寄存器文件的方法,以及,如上述任一项的读取寄存器文件的方法。
[0074]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本技术实施例中的方案可以采用各种计算机语言实现,例如,c语言、vhdl语言、verilog语言、面向对象的程序设计语言java和直译式脚本语言javascript等。
[0075]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0076]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0077]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0078]
在本技术的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术的限制。
[0079]
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本技术的描述中,“多个”的含义是至少两个,例如两
个,三个等,除非另有明确具体的限定。
[0080]
在本技术中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接或可以互相通讯;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本技术中的具体含义。
[0081]
尽管已描述了本技术的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术范围的所有变更和修改。
[0082]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
技术特征:
1.一种写入寄存器文件的方法,应用于处理器,其特征在于,包括:响应于第一写入信号,将写入寄存器文件的第一数据按照每个随机存取存储器ram的位宽平均拆分成多个第二数据,并将一一对应地将每个所述第二数据发送给每个ram;根据线程使能信息获取寄存器文件中每个ram的第二写入信号,和/或根据所述线程使能信息和第一时钟信号获取每个所述ram的第二时钟信号;针对每个所述ram,根据该ram的所述第二写入信号、所述第二时钟信号、所述第二数据和写入地址,向该ram写入数据;其中,所述寄存器文件包括多个所述ram,每个所述ram的位宽等于处理器工作在多线程模式时每个线程访存数据的位宽。2.根据权利要求1所述的方法,其特征在于,处理器工作在多线程模式时,所述根据线程使能信息获取寄存器文件中每个ram的第二写入信号,包括:针对每个ram,根据所述线程使能信息,判断该ram对应线程是否被使能,若被使能,则将该ram的写使能置为有效;若未被使能,则将该ram的写使能置为无效;所述根据所述线程使能信息和第一时钟信号获取所述每个ram的第二时钟信号,包括:针对每个ram,根据所述线程使能信息,判断该ram对应线程是否被使能,若被使能,则导通所述第一时钟信号与该ram的写时钟输入端的连接;若未被使能,则断开所述第一时钟信号与该ram的写时钟输入端的连接。3.根据权利要求1所述的方法,其特征在于,处理器工作在单线程模式时,所述根据线程使能信息获取寄存器文件中每个ram的第二写入信号,包括:将所有所述ram的写使能置为有效;所述根据所述线程使能信息和第一时钟信号获取所述每个ram的第二时钟信号,包括:导通所述第一时钟信号与每个ram的写时钟输入端的连接。4.一种读取寄存器文件的方法,应用于处理器,其特征在于,包括:响应于第一读取信号,根据线程使能信息获取寄存器文件中每个ram的第二读取信号,和/或根据所述线程使能信息和第一时钟信号获取每个ram的第三时钟信号;针对每个ram,根据该ram的所述第二读取信号、所述第三时钟信号和读取地址,从该ram读取第三数据;将所有所述第三数据组合成用于读取的第四数据;其中,所述寄存器文件包括多个所述ram,每个ram的位宽等于处理器工作在多线程模式时每个线程访存数据的位宽。5.根据权利要求4所述的方法,其特征在于,处理器工作在多线程模式时,所述根据线程使能信息获取寄存器文件中每个ram的第二读取信号,包括:针对每个ram,根据所述线程使能信息,判断该ram对应线程是否被使能,若被使能,则将该ram的读使能置为有效;若未被使能,则将该ram的读使能置为无效;所述根据所述线程使能信息和第一时钟信号获取每个ram的第三时钟信号,包括:针对每个ram,根据所述线程使能信息,判断该ram对应线程是否被使能,若被使能,则导通所述第一时钟信号与该ram的读时钟输入端的连接;若未被使能,则断开所述第一时钟信号与该ram的读时钟输入端的连接。6.根据权利要求4所述的方法,其特征在于,处理器工作在单线程模式时,
所述根据线程使能信息获取寄存器文件中每个ram的第二读取信号,包括:将所有所述ram的读使能置为有效;所述根据所述线程使能信息和第一时钟信号获取每个ram的第三时钟信号,包括:导通所述第一时钟信号与每个ram的读时钟输入端的连接。7.一种写入寄存器文件的装置,其特征在于,包括:拆分模块,用于响应于第一写入信号,将写入寄存器文件的第一数据按照每个随机存取存储器ram的位宽平均拆分成多个第二数据,并将一一对应地将每个所述第二数据发送给每个ram;第一获取模块,用于响应于第一写入信号,根据线程使能信息获取寄存器文件中每个ram的第二写入信号,和/或根据所述线程使能信息和第一时钟信号获取所述每个ram的第二时钟信号;写入模块,用于针对每个所述ram,根据该ram的所述第二写入信号、所述第二时钟信号、所述第二数据和写入地址,向该ram写入数据;其中,所述寄存器文件包括多个所述ram,每个所述ram的位宽等于处理器工作在多线程模式时每个线程访存数据的位宽。8.一种读取寄存器文件的装置,其特征在于,包括:第二获取模块,用于响应于第一读取信号,根据线程使能信息获取寄存器文件中每个ram的第二读取信号,和/或根据所述线程使能信息和第一时钟信号获取每个ram的第三时钟信号;读取模块,用于针对每个ram,根据该ram的所述第二读取信号、所述第三时钟信号和读取地址,从该ram读取第三数据;组合模块,用于将所有所述第三数据组合成用于读取的第四数据;其中,所述寄存器文件包括多个所述ram,每个所述ram的位宽等于处理器工作在多线程模式时每个线程访存数据的位宽。9.一种电子设备,其特征在于,包括:存储器;处理器;以及计算机程序;其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如权利要求1-3任一项所述的写入寄存器文件的方法,以及,如权利要求4-6任一项所述的读取寄存器文件的方法。10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序;所述计算机程序被处理器执行以实现如权利要求1-3任一项所述的写入寄存器文件的方法,以及,如权利要求4-6任一项所述的读取寄存器文件的方法。
技术总结
本申请实施例提供读写寄存器文件的方法、装置、电子设备及存储介质,包括:将第一数据按照每个随机存取存储器RAM的位宽平均拆分成多个第二数据,将每个第二数据发送给每个RAM;获取寄存器文件中每个RAM的第二写入信号,和/或根据线程使能信息和第一时钟信号获取每个RAM的第二时钟信号;根据第二写入信号、第二时钟信号、第二数据和写入地址,向该RAM写入数据;寄存器文件包括多个RAM,每个RAM的位宽等于处理器工作在多线程模式时每个线程访存数据的位宽。本申请实施例中寄存器文件包括多个RAM,能够生成用于读写每个RAM的信号,当处理器只有部分线程访存时,只读写被使能线程对应的RAM,读写规模相对于寄存器文件使用整块RAM的规模较小,更为节能。更为节能。更为节能。
技术研发人员:刘丽霞 林苍松
受保护的技术使用者:长沙景美集成电路设计有限公司
技术研发日:2023.03.28
技术公布日:2023/8/9
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
