CN101930355B - 实现寄存器文件分组编址、读写控制方法的寄存器电路 - Google Patents
实现寄存器文件分组编址、读写控制方法的寄存器电路 Download PDFInfo
- Publication number
- CN101930355B CN101930355B CN 201010261114 CN201010261114A CN101930355B CN 101930355 B CN101930355 B CN 101930355B CN 201010261114 CN201010261114 CN 201010261114 CN 201010261114 A CN201010261114 A CN 201010261114A CN 101930355 B CN101930355 B CN 101930355B
- Authority
- CN
- China
- Prior art keywords
- data
- module
- register
- bit data
- address
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 19
- 230000009471 action Effects 0.000 claims description 28
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims description 23
- 102100031584 Cell division cycle-associated 7-like protein Human genes 0.000 claims description 17
- 101000777638 Homo sapiens Cell division cycle-associated 7-like protein Proteins 0.000 claims description 17
- 101100325756 Arabidopsis thaliana BAM5 gene Proteins 0.000 claims description 16
- 101150046378 RAM1 gene Proteins 0.000 claims description 16
- 101100476489 Rattus norvegicus Slc20a2 gene Proteins 0.000 claims description 16
- 101100328887 Caenorhabditis elegans col-34 gene Proteins 0.000 claims description 9
- 230000008901 benefit Effects 0.000 claims description 9
- 230000010076 replication Effects 0.000 claims description 6
- 230000015572 biosynthetic process Effects 0.000 claims description 2
- 241001269238 Data Species 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008520 organization Effects 0.000 description 3
- 230000015654 memory Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000010534 mechanism of action Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
本发明公开了一种实现寄存器文件分组编址、读写控制方法的寄存器电路,包括一个写回数据生成模块、一个写地址和控制信号生成模块、两块寄存器RAM,两个读地址和控制信号生成模块和两个操作数生成模块;其中第一块寄存器分为RAM0~RAM3寄存器组,第二块寄存器分为RAM4~RAM7寄存器组,每个寄存器组的大小为寄存器文件的四分之一;写回数据生成模块的输出分别连接各寄存器组的32位数据输入;写地址和控制信号生成模块的输出分别连接各寄存器组的写控制输入;RAM0~RAM3寄存器组通过第一操作数生成模块输出128位的第一源操作数;RAM4~RAM7寄存器组通过第二操作数生成模块输出128位的第二源操作数。
Description
技术领域
本发明涉及一种32位RISC处理器中浮点寄存器文件的分组编址、读写控制方法及电路的实现结构。
背景技术
精简指令集(RISC)处理器普遍采用基于寄存器的计算模式,其源操作数来自寄存器或立即数,而执行的结果一般也要写回到寄存器中。基于这样的结构特点,为了支持多操作数的同时访问,RISC处理器的寄存器必须提供至少两个的读端口和一个写端口。在具体的处理器设计中,有两种典型的设计思路:1)全定制的设计:文献“A Small,Fast and Low-PowerRegister File by Bit-Partitioning”(Proceedings of the 11th InternationalSymposium on High-Performance Computer Architecture(HPCA-11 2005))和“The Alpha 21264Microprocessor(IEEE MICRO,Vol.19(2))中对这种设计进行了介绍,以原DEC公司的Alpha系列处理器为代表的全定制设计通过定制寄存器文件,从而提供多个读端口和写端口,这种方法在超标量RISC处理器设计中,为了适应多条指令的同时访问,寄存器文件甚至设计了八个以上的读端口;2)基于单元库的半定制设计:这种设计应用单元库提供的多端口存储器模块来通过结构设计实现需求的端口保证,GaislerResearch公司的LEON系列处理器(www.gaisler.com)通过使用单元库提供的两块双端口存储器,写端口共用,读端口相互独立来实现“两读一写”的寄存器文件结构。在这两种设计思路中,全定制设计具有较高的技术门槛,而且随着设计的端口增多,设计复杂性急剧上升,设计难度大;而基于单元库的半定制设计以结构复制的方式实现了设计的简便性。
在端口设计之外是寄存器的地址组织,目前广泛采用统一线性编址模式。图1给出了应用一个读端口、一个写端口的RAM块[图1(b)]来实现统一线性编址寄存器文件结构[图1(a)]的设计结构示意图,通过对两块RAM的同时写入和分别读出可以提供需要的“两读一写”端口结构。
在32位RISC处理器中,所有的寄存器位宽都是32位,这样对于超过32位位宽的数据格式采取用多个寄存器来保存的方法。例如,32位的单精度浮点数采用一个寄存器保存;64位的双精度浮点数用两个连续地址的寄存器保存,寄存器地址以2的整数倍对齐;而128位的四精度浮点数则采用4个连续地址的寄存器来保存,寄存器地址以4的整数倍对齐。针对目前的寄存器文件结构,对应的典型情况是32位RISC处理器在进行双或四精度浮点运算时,必须要花费两或四个周期才能取得完整的操作数送入执行部件;同时,双或四精度的计算结果需要两或四个周期才能写回寄存器。这种由多个寄存器共同提供一个操作数的计算模式,导致必须对寄存器文件进行多次读写,在高性能微处理器设计中,这种为准备操作数和结果写回而来的多寄存器访问周期对于处理器的性能具有较大的影响。
如何统一不同操作数格式的寄存器访问时间,是高性能处理器设计,尤其是浮点协处理器设计中必须要解决的问题,经检索相关文献和专利,尚未发现有解决该问题的方法。
发明内容
本发明针对浮点协处理器高精度浮点计算时操作数准备和操作结果存回寄存器需要多个时钟周期的问题,提出一种在不额外增加寄存器数量的情况下,能够实现单、双或四精度不同位宽操作数的统一单周期访问的寄存器编址、读写访问控制方法与电路结构。
为达到以上以上目的,本发明是采取如下技术方案予以实现的:
一种用于浮点协处理器的寄存器文件分组编址、读写控制方法,包括下述两大步骤:
(1)寄存器文件分组编址
将寄存器文件分为四组,即每次最大寄存器访问数目为4,同时,改变寄存器的编址模式,将原来统一线性编址的模式改为基于分组的“之”字型编址,即,对于2n+1个的浮点寄存器来讲,其地址为n+1位的二进制地址,在分成四组之后,每一组中采用统一线性编址,称为组内偏移地址,该组内偏移地址对应于原地址rs[n:0]的rs[n:2]部分,原地址rs[n:0]的rs[1:0]部分作为四组寄存器的组号出现,这样将一个一维的线性地址转变为了一个两维的行列结构;对于单精度数据访问对应于RAM0、RAM1、RAM2或者RAM3中的一个寄存器组中一个寄存器的访问;双精度数据的访问则对应于RAM0和RAM1或RAM2和RAM3两组寄存器分组中相同偏移地址的访问;四精度数据的访问则对应于对四个分组中相同偏移地址的同时访问;
(2)寄存器文件的读写控制
在步骤(1)分组编址的情况下,为每一组寄存器都提供一套读写控制信号、地址信号和数据信号,其中每一组的地址信号对应于要访问寄存器地址的最高位到第三位,即rs[n:2],数据信号、读写控制信号是每组专属的,其中,读写控制信号按照如下的步骤生成:
1)根据指令操作类型译码,产生指示单、双、四精度操作的操作类型信号;
2)应用操作类型信号判断寄存器组选择的类型,其中单精度时由要访问寄存器地址的最低两位rs[1:0]的对应值来确定RAM0、RAM1、RAM2或者RAM3四个寄存器组中要被选中的单组并提供读或写控制信号;双精度时由要访问寄存器地址的第二位rs[1]来确定RAM0和RAM1或RAM2和RAM3寄存器组两两组合的两对中的一对并提供读或写控制信号;四精度时所有的四个寄存器组都选通并提供读或写控制信号;
对于支持单、双、四精度的浮点协处理器而言,其最大处理位宽为128位,其源操作数和运算结果在进入数据路径前都被拼接成128位的模式,对于单精度来讲,其低96位补“0”;双精度时低64位补“0”,四精度时则为对应的128位的数据,根据这样的数据结构,每个寄存器组的数据信号的生成步骤如下:
1)数据读出时,读出使能的寄存器组都将数据送出,根据操作类型指示信号,单精度时,寄存器组输出的数据和低96位的“0”相拼接,双精度时寄存器组输出的数据和低64位的“0”相拼接,四精度时寄存器组输出的数据直接得到128位的操作数;
2)数据写入时,根据操作类型指示信号和寄存器组选择信号进行128位数据的写入分配,单精度时,将128位的高32位全部送到四组寄存器的数据信号上,配合寄存器组写使能和组选择信号完成对选择的寄存器组的rs[n:2]地址的写入;双精度时将128位的高64位按照地址对齐模式送至RAM0和RAM1或RAM2和RAM3两两成对的寄存器组的数据信号上,配合寄存器组写使能和组选择信号将64位结果的高低各32位的数据写入选择的两组寄存器的rs[n:2]中;四精度时,将128位的结果按照地址对齐模式分为4个32位数据,并分别送至四个寄存器的数据信号上,配合寄存器组写使能和组选择信号实现4组寄存器文件中rs[n:2]的写入。
一种实现前述用于浮点协处理器的寄存器文件分组编址、读写控制方法的寄存器电路结构,包括一个写回数据生成模块、一个写地址和控制信号生成模块、两块寄存器RAM,两个读地址和控制信号生成模块和两个操作数生成模块;
其中第一块寄存器分为RAM0~RAM3寄存器组,第二块寄存器分为RAM4~RAM7寄存器组,每个寄存器组的大小为寄存器文件的四分之一;
写回数据生成模块的输入连接128位写回结果,输出分别连接各寄存器组的32位数据输入;写地址和控制信号生成模块的输入连接由指令译码而来的包括rd[n:0]地址信号、写控制信号和操作类型选择信号,输出分别连接各寄存器组的写控制输入;
所述第一块寄存器的RAM0~RAM3寄存器组通过第一操作数生成模块输出128位的第一源操作数;RAM0~RAM3寄存器组的读控制输入连接第一读地址和控制信号生成模块的输出,第一读地址和控制信号生成模块的输入连接rs1[n:0]地址信号、读控制信号和操作类型选择信号;
所述第二块寄存器的RAM4~RAM7寄存器组通过第二操作数生成模块输出128位的第二源操作数;RAM4~RAM7寄存器组的读控制输入连接第二读地址和控制信号生成模块的输出,第二读地址和控制信号生成模块的输入连接rs2[n:0]地址信号、读控制信号和操作类型选择信号。
与现有技术相比,本发明的优点是:
1、可以实现双、四精度操作数的单周期访问,从而能够分别节省两个、六个由于数据读取和结果写回的时钟周期开销;
2、可以沿用既有的寄存器端口设计结构,不用额外进行寄存器的定制设计,同时没有增加额外的寄存器数量;
3、相比以前设计中由于要多周期读取或写入所以要提供数据寄存器来保持前面周期读出或待写回数据的设计结构,本发明单周期能够实现单、双、四精度数据的读取和写回,所以不再需要相应的暂存数据的寄存器;
4、除了为多组寄存器提供的控制信号、数据信号而来的连线开销之外,没有增加额外的硬件开销;
5、采用操作类型控制组选通的机制,可以避免寄存器的无效动作,从而从结构上提供低功耗的收益。
本发明能够归一化RISC结构处理器操作数位宽不一致时的访问时长,从而最小化处理器源操作数访问和结果写回的时钟周期数,使得长位宽操作数的操作不受操作数准备和结果写回的影响,从而提升处理器的性能,
附图说明
以下结合附图及具体实施方式对本发明作进一步的详细说明。
图1为现有技术的采用统一线性编址的寄存器文件结构。其中图1(a)为寄存器文件结构;图1(b)为寄存器文件用RAM块结构。
图2为本发明中的寄存器文件分组和地址编址结构示意图。
图3为采用本发明方法的不同数据位宽统一访问时长的浮点寄存器电路结构。
图4为图3中的两个操作数生成模块的具体电路原理图。
图5为图3中的写回数据生成模块电路原理图。
具体实施方式
一种用于浮点协处理器的寄存器文件分组编址、读写控制方法,包括下述两大步骤:
(1)寄存器文件分组编址
高精度浮点计算时操作数准备和结果存回寄存器需要多个时钟周期的原因是寄存器位宽为32位,每次读出或写入的是一个寄存器,而双、四精度需要分别读出或写入的是两个和四个寄存器,这样需要多次寄存器读或写。为了减少读或写周期数,需要实现对多个寄存器的同时读和写,将原来统一的寄存器文件进行分组,每一组使用一块“一读一写”端口的RAM块来实现,这样在每次访问时通过相应的读写控制方法可以实现对多个寄存器的访问,从而实现数据位宽的扩展,根据单、双、四精度数据格式的寄存器地址对齐策略,在读或写时由不同的组提供相应的寄存器的数据读出或写入,从而实现不同位宽的单周期统一读写。
本发明基于此思想,由于四精度数据操作是一次访问需要的最大位宽,所以将寄存器文件分为四组,即每次最大寄存器访问数目为4。同时,改变寄存器的编址模式,将原来统一线性编址的模式修改为基于分组的“之”字型编址,即,对于2n+1个(n为自然数)的浮点寄存器来讲,其地址为n+1位的二进制地址,在分成四组之后,每一组中采用统一线性编址,称为组内偏移地址,该地址对应于原地址rs[n:0]的rs[n:2]部分,原地址的rs[1:0]部分作为四组寄存器的组号出现,这样将一个一维的线性地址转变为了一个两维的行列结构,详细的结构示意图见图2。这样,对于单精度数据的访问则对应于对于RAM0、RAM1、RAM2或者RAM3中的一个寄存器组中一个寄存器的访问;双精度数据的访问则对应于RAM0和RAM1或RAM2和RAM3两两成对的寄存器分组中相同偏移地址的访问;四精度数据的访问则对应于对四个分组中相同偏移地址的同时访问。基于这样的分组编址模式,从寄存器文件的组织上为不同数据格式统一时长的访问提供了保证。
(2)寄存器文件的读写控制
在步骤(1)分组编址的情况下,对应的读写访问方法与采用统一线性编址的读写访问方法不同。在原来统一线性编址的情况下,整个寄存器文件使用一套控制信号,在采用分组编址之后,为每一组寄存器都提供一套读写控制信号、地址信号和数据信号,其中每一组的地址信号对应于要访问寄存器地址的最高位到第三位,即rs[n:2],数据信号和读写控制信号是每组专属的。读写控制信号按照如下的模式生成:
1)根据指令操作类型译码,产生指示单、双、四精度操作的操作类型信号;
2)应用操作类型信号判断组选择的类型,其中单精度时由要访问寄存器地址的最低两位rs[1:0]的对应值来确定RAM0、RAM1、RAM2或者RAM3四个寄存器组中的一个选通并提供读或写控制信号,双精度时由要访问寄存器地址的第二位rs[1]来确定两两成对的寄存器对的一个选通并提供读或写控制信号,四精度时所有的寄存器组都选通并提供读或写控制信号。
对于支持单、双、四精度的浮点协处理器而言,其最大处理位宽为128位,所以其源操作数和运算结果在进入数据路径前都被拼接成128位的模式,对于单精度来讲,其低96位补“0”;双精度低64位补“0”,四精度则为对应的128位的数据。根据这样的结构,每个寄存器组的数据信号的生成模式如下:
1)在数据读出端,读出使能的寄存器组都将数据送出,根据操作类型指示信号,单精度时,寄存器组输出的数据和低96位的“0”相拼接,双精度时寄存器组输出的数据和低64位的“0”相拼接,四精度时寄存器组输出的数据直接得到128位的操作数;
3)数据写入时,根据操作类型指示信号和寄存器组选择信号进行128位数据的写入分配,单精度时,将128位的高32位全部送到四组寄存器的数据信号上,配合写使能和组选择信号完成对选择的寄存器组的rs[n:2]地址的写入;双精度时将128位的高64位按照地址对齐模式送至RAM0和RAM1或RAM2和RAM3两两成对的组的数据信号上,配合寄存器组写使能和组选择信号将64位结果的高低各32位的数据写入选择的两组寄存器的rs[n:2]中;四精度时,将128位的结果按照地址对齐模式分为4个32位数据并分别送至四个寄存器的数据信号上,配合寄存器组写使能和组选择信号实现4组寄存器文件中rs[n:2]的写入。
根据上述的分组编址和读写控制方法,可以实现单、双、四精度浮点数据格式操作时对浮点寄存器的统一单周期访问。
如图3所示,本发明还提供了一种实现前述用于浮点协处理器的寄存器文件分组编址、读写控制方法的具体寄存器电路结构。包括一个写回数据生成模块、一个写地址和控制信号生成模块、两块寄存器RAM,两个读地址和控制信号生成模块和两个操作数生成模块;
其中第一块寄存器分为RAM0~RAM3寄存器组,第二块寄存器分为RAM4~RAM7寄存器组,每个寄存器组的大小为寄存器文件的四分之一;
写回数据生成模块的输入连接128位写回结果,输出分别连接各寄存器组的32位数据输入;写地址和控制信号生成模块的输入连接由指令译码而来的包括rd[n:0]地址信号、写控制信号和操作类型选择信号,输出分别连接各寄存器组的写控制输入;
所述第一块寄存器的RAM0~RAM3寄存器组通过第一操作数生成模块输出128位的第一源操作数;RAM0~RAM3寄存器组的读控制输入连接第一读地址和控制信号生成模块的输出,第一读地址和控制信号生成模块的输入连接rs1[n:0]地址信号、读控制信号和操作类型选择信号;
所述第二块寄存器的RAM4~RAM7寄存器组通过第二操作数生成模块输出128位的第二源操作数;RAM4~RAM7寄存器组的读控制输入连接第二读地址和控制信号生成模块的输出,第二读地址和控制信号生成模块的输入连接rs2[n:0]地址信号、读控制信号和操作类型选择信号。
图3采用“一读一写”端口的RAM块实现的分组编址及访问控制,原来的两块RAM块分别被四组大小为寄存器文件四分之一规模的寄存器组来替代。
在由指令译码结构而来的操作类型选择信号的控制下,读地址和控制信号生成模块将n+1位的源操作数地址rs[n:0]分为两部分,一个为每一组RAM块中的地址rs[n:2]和rs[1:0],其中rs[n:2]用于对组中特定寄存器的访问,rs[1:0]用于在单、双精度操作数时进行组选择,四精度时所有组都要进行读取,无需进行组选择。根据操作类型信号和组选择信号rs[1:0]确定仅将寄存器读写控制信号传送给特定的组,这样可以避免不必要的跳变。
操作数生成模块根据组选通信号形成拼接后的128位数据,再根据操作类型选择具体拼接得到的值作为操作数输出,使用这样的两级选择和数据拼接结构来形成操作数的生成,电路结构如图4所示,包括一个4路选择模块,2路选择模块,128位数据拼接模块,64位数据拼接模块。其中,4路选择模块的输入分别为RAM0、RAM1、RAM2或者RAM3的32位输出,根据rs[1:0]选择其中的一个32位的值输出至数据拼接模块1。数据拼接模块1输出128位数据,其高位为输入的32位数据,低96位补“0”;
64位数据拼接模块分别将输入的RAM0和RAM1、RAM2和RAM3拼接为两个64位输出,2路选择模块根据rs[1]选择其中的一个64位值输出至数据拼接模块2。数据拼接模块2输出128位数据,其高位为输入的64位数据,低64位补“0”;
128位数据拼接模块将RAM0、RAM1、RAM2和RAM3输出的数据拼接为128位,输出至3路选择模块。3路选择模块根据操作类型选择输出数据拼接1模块输出的128位数据、数据拼接2模块输出的128位数据或者128位数据拼接模块输出的128位数据中的一个作为输出,其中单精度操作时选择拼接1模块输出的数据作为输出;双精度时选择拼接2模块的数据作为输出;四精度时选择128位数据拼接模块的输出作为输出。
写数据生成模块根据对128位处理结果进行截取、复制操作形成操作单、双、四精度时到分组RAM块上的写回数据,根据操作类型选择选通到分组RAM写入数据端口上的数据,由写控制信号确定特定组的写入。其电路结构如图5所示,对于作为写回结果的128位数据,四倍复制时将128位数据的高32位数据四倍复制形成128位写入数据;两倍复制模块将128位数据的高64位数据,两倍复制形成128位写入数据;3路选择模块将四倍复制模块和两倍复制模块输出的两个128位数据与128位写回结果数据三个128位数据,根据操作类型选择其一输出。输出的128位数据拆分为4个32位数据分别连接到RAM0、RAM1、RAM2、RAM3的写入数据端口上。需要注意的是,根据处理器体系结构中定义的大端或小端结构的不同,双精度和四精度结果在写回时可能需要寄存器地址的倒序。
本发明已经应用于一款兼容SPARC V8结构的RSIC处理器中,通过应用本发明中设计的浮点寄存器文件,可以通过一次寄存器访问而完成单、双、四精度数据不同数据位宽的操作,在双、四精度操作时分别能够缩短2个和6个寄存器访问周期,在不影响处理器频率的情况下,提高了指令的执行效率,从而提高了整个处理器的性能。由于这种分组的RAM块的大小只是原来一块RAM块的四分之一,方便了在物理设计时布局布线的灵活性,由于多组控制信号和数据信号而增加的连线硬件开销,可以在一定程度上被小RAM块带来的布局布线灵活性所弥补,就具体实现结果来看,芯片面积并未提高。
Claims (1)
1.一种实现寄存器文件分组编址、读写控制方法的寄存器电路,包括一个写回数据生成模块、一个写地址和控制信号生成模块、两块寄存器RAM,两个读地址和控制信号生成模块和两个操作数生成模块;
其中第一块寄存器分为RAM0~RAM3寄存器组,第二块寄存器分为RAM4~RAM7寄存器组,每个寄存器组的大小为寄存器文件的四分之一;
写回数据生成模块的输入连接128位写回结果,输出分别连接各寄存器组的32位数据输入;写地址和控制信号生成模块的输入连接由指令译码而来的包括rd[n:0]地址信号、写控制信号和操作类型选择信号,输出分别连接各寄存器组的写控制输入;
所述第一块寄存器的RAM0~RAM3寄存器组通过第一操作数生成模块输出128位的第一源操作数;RAM0~RAM3寄存器组的读控制输入连接第一读地址和控制信号生成模块的输出,第一读地址和控制信号生成模块的输入连接rs1[n:0]地址信号、读控制信号和操作类型选择信号;
所述第二块寄存器的RAM4~RAM7寄存器组通过第二操作数生成模块输出128位的第二源操作数;RAM4~RAM7寄存器组的读控制输入连接第二读地址和控制信号生成模块的输出,第二读地址和控制信号生成模块的输入连接rs2[n:0]地址信号、读控制信号和操作类型选择信号;
以上所述操作类型选择信号是指根据指令操作类型译码,产生指示单、双、四精度操作的操作类型信号;
读地址和控制信号生成模块将n+1位的源操作数地址rs[n:0]分为两部分,一个为每一组RAM块中的地址rs[n:2]和rs[1:0],其中rs[n:2]用于对组中特定寄存器的访问,rs[1:0]用于在单、双精度操作数时进行组选择,四精度时所有组都要进行读取,无需进行组选择;
操作数生成模块根据组选通信号形成拼接后的128位数据,再根据操作类型选择具体拼接得到的值作为操作数输出,包括一个4路选择模块,2路选择模块,128位数据拼接模块,64位数据拼接模块,其中,4路选择模块的输入分别为RAM0、RAM1、RAM2或者RAM3的32位输出,根据rs[1:0]选择其中的一个32位的值输出至数据拼接模块1,数据拼接模块1输出128位数据,其高位为输入的32位数据,低96位补“0”;
64位数据拼接模块分别将输入的RAM0和RAM1、RAM2和RAM3拼接为两个64位输出,2路选择模块根据rs[1]选择其中的一个64位值输出至数据拼接模块2,数据拼接模块2输出128位数据,其高位为输入的64位数据,低64位补“0”;
128位数据拼接模块将RAM0、RAM1、RAM2和RAM3输出的数据拼接为128位,输出至3路选择模块,3路选择模块根据操作类型选择输出数据拼接模块1输出的128位数据、数据拼接模块2输出的128位数据或者128位数据拼接模块输出的128位数据中的一个作为输出,其中单精度操作时选择数据拼接模块1输出的数据作为输出;双精度时选择数据拼接模块2的数据作为输出;四精度时选择128位数据拼接模块的输出作为输出;
写回数据生成模块根据对128位处理结果进行截取、复制操作形成操作单、双、四精度时到分组RAM块上的写回数据,根据操作类型选择选通到分组RAM写入数据端口上的数据,由写控制信号确定特定组的写入;对于作为写回结果的128位数据,四倍复制时将128位数据的高32位数据四倍复制形成128位写入数据;两倍复制模块将128位数据的高64位数据,两倍复制形成128位写入数据;3路选择模块将四倍复制模块和两倍复制模块输出的两个128位数据与128位写回结果数据三个128位数据,根据操作类型选择其一输出,输出的128位数据拆分为4个32位数据分别连接到RAM0、RAM1、RAM2、RAM3的写入数据端口上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010261114 CN101930355B (zh) | 2010-08-24 | 2010-08-24 | 实现寄存器文件分组编址、读写控制方法的寄存器电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010261114 CN101930355B (zh) | 2010-08-24 | 2010-08-24 | 实现寄存器文件分组编址、读写控制方法的寄存器电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101930355A CN101930355A (zh) | 2010-12-29 |
CN101930355B true CN101930355B (zh) | 2013-07-24 |
Family
ID=43369553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010261114 Active CN101930355B (zh) | 2010-08-24 | 2010-08-24 | 实现寄存器文件分组编址、读写控制方法的寄存器电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101930355B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104317554B (zh) * | 2014-10-14 | 2017-02-15 | 中国航天科技集团公司第九研究院第七七一研究所 | 用于simd处理器的寄存器文件数据读写装置和方法 |
CN104317555B (zh) * | 2014-10-15 | 2017-03-15 | 中国航天科技集团公司第九研究院第七七一研究所 | Simd处理器中写合并和写撤销的处理装置和方法 |
CN112711441A (zh) * | 2019-10-25 | 2021-04-27 | 安徽寒武纪信息科技有限公司 | 用于转换数据类型的转换器、芯片、电子设备及其方法 |
CN112711440A (zh) * | 2019-10-25 | 2021-04-27 | 安徽寒武纪信息科技有限公司 | 用于转换数据类型的转换器、芯片、电子设备及其方法 |
CN113721979A (zh) * | 2020-05-25 | 2021-11-30 | 北京希姆计算科技有限公司 | 可配置位宽的寄存器电路及方法、解码电路和芯片 |
CN112114875B (zh) * | 2020-08-27 | 2023-06-02 | 中国科学院计算技术研究所 | 一种超导并行寄存器堆装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5771368A (en) * | 1990-10-29 | 1998-06-23 | Sun Microsystems, Inc. | Memory addressing scheme for increasing the number of memory locations available in a computer for storing higher precision numbers |
US20010011342A1 (en) * | 1998-07-09 | 2001-08-02 | Pechanek Gerald G. | Methods and apparatus for dynamic instruction controlled reconfigurable register file with extended precision |
CN1334525A (zh) * | 2000-06-30 | 2002-02-06 | 英特尔公司 | 用于校准的单指令多数据的通用寄存器文件结构 |
CN101539850A (zh) * | 2008-03-21 | 2009-09-23 | 富士通株式会社 | 单精度浮点数据存储方法和处理器 |
US20100098099A1 (en) * | 2001-07-04 | 2010-04-22 | Juniper Networks, Inc. | Ppp terminating equipment, network equipment and method of responding to lcp echo requirement |
-
2010
- 2010-08-24 CN CN 201010261114 patent/CN101930355B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5771368A (en) * | 1990-10-29 | 1998-06-23 | Sun Microsystems, Inc. | Memory addressing scheme for increasing the number of memory locations available in a computer for storing higher precision numbers |
US20010011342A1 (en) * | 1998-07-09 | 2001-08-02 | Pechanek Gerald G. | Methods and apparatus for dynamic instruction controlled reconfigurable register file with extended precision |
CN1334525A (zh) * | 2000-06-30 | 2002-02-06 | 英特尔公司 | 用于校准的单指令多数据的通用寄存器文件结构 |
US20100098099A1 (en) * | 2001-07-04 | 2010-04-22 | Juniper Networks, Inc. | Ppp terminating equipment, network equipment and method of responding to lcp echo requirement |
CN101539850A (zh) * | 2008-03-21 | 2009-09-23 | 富士通株式会社 | 单精度浮点数据存储方法和处理器 |
Also Published As
Publication number | Publication date |
---|---|
CN101930355A (zh) | 2010-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114238204B (zh) | 可重构并行处理 | |
US12254316B2 (en) | Vector processor architectures | |
CN101930355B (zh) | 实现寄存器文件分组编址、读写控制方法的寄存器电路 | |
JP7616757B2 (ja) | 行列演算アクセラレータの命令のための装置、方法、及びシステム | |
US7761694B2 (en) | Execution unit for performing shuffle and other operations | |
EP1701250B1 (en) | Ultra low power ASIP (Application-domain Specific Instruction-set Processor) microcomputer | |
CN100555216C (zh) | 一种数据处理方法及处理器 | |
WO1991020027A1 (en) | Method and apparatus for a special purpose arithmetic boolean unit | |
CN101930356B (zh) | 用于浮点协处理器的寄存器文件分组编址、读写控制方法 | |
CN102253921A (zh) | 一种动态可重构处理器 | |
CN100410919C (zh) | 处理器 | |
CN104008021A (zh) | 针对多数据体系结构的精确的异常信号发送 | |
CN102541749A (zh) | 多粒度并行存储系统 | |
US20060259747A1 (en) | Long instruction word processing with instruction extensions | |
US20060101231A1 (en) | Semiconductor signal processing device | |
CN109614145B (zh) | 一种处理器核心结构及数据访存方法 | |
EP3633504A1 (en) | Multi-functional execution lane for image processor | |
US11726757B2 (en) | Processor for performing dynamic programming according to an instruction, and a method for configuring a processor for dynamic programming via an instruction | |
CN111124360B (zh) | 一种可配置矩阵乘法的加速器 | |
Haghi et al. | WFA-FPGA: An efficient accelerator of the wavefront algorithm for short and long read genomics alignment | |
CN103186502A (zh) | 用于共享处理器过程上下文的寄存器堆组织 | |
CN112074810B (zh) | 并行处理设备 | |
CN104317554B (zh) | 用于simd处理器的寄存器文件数据读写装置和方法 | |
US20070101089A1 (en) | Pseudo pipeline and pseudo pipelined SDRAM controller | |
Hartenstein et al. | High‐performance computing using a reconfigurable accelerator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |