CN101593096A - 一种共享寄存器相关性消除的实现方法 - Google Patents

一种共享寄存器相关性消除的实现方法 Download PDF

Info

Publication number
CN101593096A
CN101593096A CNA2009100226562A CN200910022656A CN101593096A CN 101593096 A CN101593096 A CN 101593096A CN A2009100226562 A CNA2009100226562 A CN A2009100226562A CN 200910022656 A CN200910022656 A CN 200910022656A CN 101593096 A CN101593096 A CN 101593096A
Authority
CN
China
Prior art keywords
write
register
read
instruction
relevant
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
Application number
CNA2009100226562A
Other languages
English (en)
Other versions
CN101593096B (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.)
Xian Jiaotong University
Original Assignee
Xian Jiaotong University
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 Xian Jiaotong University filed Critical Xian Jiaotong University
Priority to CN2009100226562A priority Critical patent/CN101593096B/zh
Publication of CN101593096A publication Critical patent/CN101593096A/zh
Application granted granted Critical
Publication of CN101593096B publication Critical patent/CN101593096B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

一种共享寄存器相关性消除的实现方法,提供了双核共享寄存器涉及的各种相关性的类别:即根据指令序列读写同一个寄存器的先后次序不同,出现四种数据竞争;提供不同类型相关性的检测机制:当在取指阶段取完指令后放入指令寄存器中,通过比较指令寄存器中的相应的源操作数、目的操作数的编码段完成RAW相关性的检测;提供了各类型相关性的消除机制:提供读读相关RAR(Read After Read)、先写后读相关RAW(Read After Write)、写写相关WAW(Write After Write)、先读后写相关WAR(Write after Read)性消除策略。

Description

一种共享寄存器相关性消除的实现方法
技术领域
本发明属于超大规模集成电路设计技术领域,具体涉及一种应用于多核CPU的设计的共享寄存器相关性消除的实现方法。
背景技术
微处理器性能上的飞跃,首先是工艺改进的结果,其次是处理器核心体系结构改进的结果。
但随着最小线宽极限的逐渐接近,目前单纯依靠提高主频和优化结构来改善处理器的计算能力变得越来越困难,其散热和功耗也已成为制约单核发展的关键因素。单核心微处理器的发展势头已经呈现逐步降低的趋势,而单片多核微处理器的出现,解决了由于频率增速放缓所带来的微处理器性能发展的瓶颈问题。在工作主频相同的情况下采用多核心来大幅度提高性能,利用简洁的架构实现更高的运算性能。集成多个简单内核的微处理器的架构或许会是未来微处理器发展的一大趋势。计算机的发展总是追求系统物理规模的不断减小,以及性能和集成度的不断提高,随着应用的需要,芯片上的处理器数目将不断增多,双核也必然走向多核。由于应用的需要,多核技术将与其它先进技术交织,成为处理器的发展方向。这就带来了多核心间数据交换及核间通讯问题,而其设计复杂性成为多核设计的难点。
针对上述背景技术中提及的处理器发展方向,一方面国际上只有INTEL等个别企业推出多核处理器,多核研究尚处在起步阶段;另一方面国内多核研究领域既没有成熟芯片面世,也没有相关文章发表,显示国内多核研究工作尚未真正开始。
发明内容
本发明的目的在于提供一种共享寄存器相关性消除的实现方法的实现,该方法使得处理器可以通过共享寄存器实现单片上的物理多核集成。
为了实现上述任务,本发明采用如下的解决方案:
1)提供了双核共享寄存器涉及的各种相关性的类别:即根据指令序列读写同一个寄存器的先后次序不同,出现四种数据竞争;
2)提供不同类型相关性的检测机制:当在取指阶段取完指令后放入指令寄存器中,通过比较指令寄存器中的相应的源操作数、目的操作数的编码段完成RAW相关性的检测;
3)提供了各类型相关性的消除机制:提供读读相关RAR(Read After Read)、先写后读相关RAW(Read After Write)、写写相关WAW(Write After Write)、先读后写相关WAR(Write after Read)性消除策略。
本发明步骤1)各种相关性的类别是根据指令序列读写同一个寄存器的先后次序不同,出现下面四种数据竞争:假定有两条指令i和j,并且指令i在指令j前面:
先写后读相关RAW(Read After Write):指令j读源寄存器Rx,但指令i还没有将结果写回目的寄存器Ry,此时指令j得到的是一个不正确的旧操作数值,这是最普遍的一种数据竞争,处理器微结构设计中一般采用旁路机构BPU转发数据来减少这种竞争,但不能彻底消除这种竞争;
写写相关WAW(Write After Write):指令i和j都写同一个目的寄存器Ry,但是指令j的写操作和指令i同时发生或者在指令i之前完成,最后写的结果是在错误的次序下完成的,导致在目的寄存器Ry的值是指令i写的值或者是不确定的值,而不是指令j写的值,这种数据竞争主要出现在写操作可能发生于多个流水级的处理器中,或者乱序完成的流水线中以及多核心流水线之间;
先读后写相关WAR(Write after Read):指令j写操作结果在指令i读源操作数之前完成,导致指令i读出一个不正确的新值,这种竞争出现在某些指令写结果较早,而某些指令读源操作数较迟的情况,因为流水线的自然结构是指令读操作数在写操作数之前,因此这种数据竞争非常少;
读读相关RAR(Read after Read):指令i和j都读同一个源寄存器不会引起数据冲突;
由于读读相关RAR操作不会引起数据混乱,所以读读相关RAR性不需要处理,另外由于双核微处理器采用的是共享寄存器堆方法,以及按序发射的指令发射策略,并且2条流水线统一在ID级读源操作数,在EXE级写目的操作数,因此在读源操作数必定在写目的操作数之前,所以也不会引起先读后写相关WAR的竞争,在其微结构里面两个核间的数据竞争只会是WAW和RAW数据竞争。
本发明步骤2)提供不同类型相关性的检测机制是在双核的每个时钟周期里,两个核心的流水线从ID级各发射一条指令到EXE级执行,其检测方法是在译码级完成,当在取指阶段取完指令后就放入指令寄存器中,通过比较指令寄存器中的相应的源操作数、目的操作数的编码段完成RAW相关性的检测;
首先指令编码在REG1、REG2类型里,第21位到25位是第一源寄存器scr1的编码,第16位到20位是目的寄存器dst的编码,第0位到4位是第二源寄存器scr2的编码,对应到指令寄存器ir里,ir25~21对应源操作数第一源寄存器scr1,ir20~16对应目的操作数目的寄存器dst,ir4~0对应源操作数第二源寄存器scr2;REG3、CTRL、MEM类指令里只有一个源操作数第一源寄存器scr1,除了CTRL类型以及存数类指令没有目的操作数外,其他类型的指令格式都有目的操作数;
先写后读相关RAW检测的具体方案如下:
首先令,
dst(1)=~(bar(1)|bsr(1)|STORE(1))&ir(1)20~16+(bal(1)|bsr(1))&ir(1)25~21;
scr1(2)=ir(2)25~21
scr2(2)=ir(2)4~0&~(REG3(2)|CTRL(2)|MEM(2));
如果dst(1)==scr1(2)|scr2(2),则存在RAW相关性;
其中,ir(1)代表核1的指令寄存器,dst(1)代表核1的目的操作数,bar(1)、bsr(1)、STORE(1)为核1译完码后无条件转移和存储类控制信号,ir(2)代表核2的指令寄存器,scr1(2)和scr2(2)代表核2的两个源操作数,REG3(2)、CTRL(2)、MEM(2)分别代表核2译码后的寄存器类、控制类、存储器类的控制信号。
本发明步骤3)各类型相关性的消除机制:先读后写相关WAW数据竞争的解决方式:双核微处理器是按序发射指令,因此指令的执行是按照程序中的顺序执行,如果相邻两条指令要对同一寄存器写数据,只要把后一条指令的结果写入寄存器中就可以消除先读后写相关WAW;
具体的处理如下:
C1、C2分别代表核1、核2的写总线,WC1(i)、WC2(i)代表核1、核2的写控制信号,i的值是0~28,代表0~28号通用寄存器,只有写控制信号发生时,才把总线C1、C2上的内容写到寄存器中;
得出,REG(i)=(WC2(i)&C2)|(~WC2(i)&WC1(i)&C1),REG(i)代表第i号寄存器,如果两个核都对同一寄存器写入数据,只把核2的数据写入相应的寄存器当中,通过对寄存器的写操作的修正,解决先读后写相关WAW相关性问题;
先写后读相关RAW数据竞争的解决:①在ID级读源操作数时,此时正确的值在流水线内部还没有产生,产生先写后读相关RAW请求,然后由流水线控制部件处理;②在ID级读源操作数时,此时正确的值已在流水线内部产生,只会发生在核内部由于流水线重叠产生,而双核之间的的并行是完全同步的,即取指、译码、执行完全是同步的,读操作是在译码级进行,这时两个核都还没有执行操作,在两个核间不会产生这种相关性,因此,只对于情况①进行相关性处理。
本发明在统计并分析可能引起寄存器竞争的所有情况的前提下,提炼出导致寄存器竞争的两类原因,进而提出相关性消除的新方法。传统情况,为避免引起寄存器竞争,通常采取三种方式避免。一方面,可以在源代码编写阶段,通过引入空操作等方法实现寄存器相关性消除,导致代码效率下降;另一方面,可以在译码前增加指令前缀并预处理指令,导致指令格式不固定加大代码设计难度和增加芯片处理单元带来芯片面积、功耗等额外开销;最后,仅仅为解决最普遍的先写后读相关这种数据竞争,处理器微结构设计中一般采用旁路机构(BPU)转发数据来减少这种竞争,既增加了芯片面积还不能彻底消除这种竞争。
本发明通过分析各种相关性情况,将需要处理的情况尽量减少,实际处理中采用修改PC、地址端口,同时对指令寄存器清零等方式,简单实现了寄存器相关性的完全消除。一方面代码编写不需要考虑寄存器相关性,增加了芯片的易用性,提高了编写及处理代码效率;另一方面,指令处理过程中格式固定且几乎不需要额外的处理单元,处理器设计及指令处理相对简单、高效。
附图说明
图1是本发明的指令格式;
图2是本发明共享寄存器模型;
图3是本发明先写后读相关RAW性消除;
图4是RAW相关性消除波形图。
以下结合附图和实施例对本发明作进一步的详细说明。
具体实施方式
参见图1,2,发明的共享寄存器组相关性消除方法,按以下方式进行:
1)各种相关性的类别分析;
2)不需要处理的相关性分析;
3)需要处理的相关性的检测机制;
4)各种相关性的消除策略。
各种相关性的类别分析:因为对于单一任务的程序指令序列是有固定顺序的,根据指令序列读写同一个寄存器(操作数)的先后次序不同,可能出现下面四种数据竞争(假定有两条指令i和j,并且指令i在指令j前面):
·先写后读相关RAW(Read After Write)。指令j读源寄存器Rx,但指令i还没有将结果写回目的寄存器Ry。这样指令j得到的是一个不正确的旧操作数值。这是最普遍的一种数据竞争,处理器微结构设计中一般采用旁路机构(BPU)转发数据来减少这种竞争,但不能彻底消除这种竞争。
·写写相关WAW(Write After Write)。指令i和j都写同一个目的寄存器Ry,但是指令j的写操作和指令i同时发生或者在指令i之前完成,最后写的结果是在错误的次序下完成的,导致在目的寄存器Ry的值是指令i写的值或者是不确定的值,而不是指令j写的值。这种数据竞争主要出现在写操作可能发生于多个流水级的处理器中,或者乱序完成的流水线中以及多核心流水线之间。
·先读后写相关WAR(Write after Read)。指令j写操作结果在指令i读源操作数之前完成,导致指令i读出一个不正确的新值。这种竞争出现在某些指令写结果较早,而某些指令读源操作数较迟的情况,因为流水线的自然结构是指令读操作数在写操作数之前,因此这种数据竞争是非常少的。
·读读相关RAR(Read after Read)。指令i和j都读同一个源寄存器。
不需要处理的相关性分析:由于RAR操作不会引起数据混乱,所以RAR相关性不需要处理。另外由于本双核微处理器采用的是共享寄存器堆方法,以及按序发射的指令发射策略,并且2条流水线统一在ID级读源操作数,在EXE级写目的操作数,因此在读源操作数必定在写目的操作数之前,所以也不会引起WAR竞争,在其微结构里面两个核间的数据竞争只会是WAW和RAW数据竞争。
需要处理的相关性的检测机制:
在双核的每个时钟周期里,两个核心的流水线从ID级各发射一条指令到EXE级执行。而要在执行前就必须做出正确的检测,并进行相应的处理,否则在执行级就很难解决其相关性。因此,本检测方法是在译码级完成,当在取指阶段取完指令后就放入指令寄存器中,通过比较指令寄存器中的相应的源操作数、目的操作数的编码段就可以完成RAW相关性的检测(对于WAW相关性的处理中包含对WAW的检测,所以在此不具体讨论WAW的检测)。
首先,我们来分析一下指令的编码格式。在REG1、REG2类型里,第21位到25位是源寄存器scr1的编码,第16位到20位是目的寄存器dst的编码,第0位到4位是源寄存器scr2的编码。对应到ir(指令寄存器)里,ir25~21对应源操作数scr1,ir20~16对应目的操作数dst,ir4~0对应源操作数scr2。REG3、CTRL、MEM类指令里只有一个源操作数scr1。除了CTRL类型以及存数类指令没有目的操作数外,其他类型的指令格式都有目的操作数。
RAW检测的具体方案如下:
dst(1)=~(bar(1)|bsr(1)|STORE(1))&ir(1)20~16+(bal(1)|bsr(1))&ir(1)25~ 21
scr1(2)=ir(2)25~21
scr2(2)=ir(2)4~0&~(REG3(2)|CTRL(2)|MEM(2));
如果dst(1)==scr1(2)|scr2(2),则存在RAW相关性。
其中,ir(1)代表核1的指令寄存器,dst(1)代表核1的目的操作数,bar(1)、bsr(1)、STORE(1)为核1译完码后无条件转移和存储类控制信号,ir(2)代表核2的指令寄存器,scr1(2)和scr2(2)代表核2的两个源操作数,REG3(2)、CTRL(2)、MEM(2)分别代表核2译码后的寄存器类、控制类、存储器类的控制信号。
需要处理的相关性的消除机制:
·WAW竞争的解决方式比较简单,因为本双核微处理器是按序发射指令,因此指令的执行是按照程序中的顺序执行,如果相邻两条指令要对同一寄存器写数据,只要把后一条指令的结果写入寄存器中就可以消除WAW相关。
具体的处理如下:
C1、C2分别代表核1、核2的写总线,WC1(i)、WC2(i)代表核1、核2的写控制信号,i的值是0~28,代表0~28号寄存器(通用寄存器)。只有写控制信号发生时,才把C总线上的内容写到寄存器中。
可以得出,REG(i)=(WC2(i)&C2)|(~WC2(i)&WC1(i)&C1),REG(i)代表第i号寄存器。可见,如果两个核都对同一寄存器写入数据,只把核2的数据写入相应的寄存器当中即可。通过对寄存器的写操作的修正,很好解决了WAW相关性问题。
·RAW数据竞争的解决方式:①在ID级读源操作数时,此时正确的值在流水线内部还没有产生,产生RAW相关请求,然后由流水线控制部件处理;②在ID级读源操作数时,此时正确的值已在流水线内部产生,这种情况只会发生在核内部由于流水线重叠产生,而双核之间的的并行是完全同步的,即取指、译码、执行完全是同步的。读操作是在译码级进行,这时两个核都还没有执行操作,所以在两个核间不会产生这种相关性。因此,只对于情况①进行相关性处理。
RAW的相关性解决起来就比较复杂,双核的RAW相关性和单核有着很大的差异,在单核流水线流动的过程中,下一条指令的发射比上一条指令晚一个时钟周期,也就是在下一条指令译码的时候上一条指令正在执行,所以可以通过引入旁路的方法把上一条指令的目的操作数直接作为后一条指令的源操作数,而不通过寄存器;对于双核,两个核是同时译码,同时开始执行,所以要引入旁路是相当困难的,因为取源操作数是在译码级完成的,而这时两个核都还没有开始执行,当然也不会产生目的操作数。那是否可以让核2延迟一个周期然后译码,此时就可以像单核内那样采用旁路的方法解决?前面已经分析相关性的检测只能在译码级进行,所以在译码前也就是在取指级要判断出相关性并进行延时处理是不可行的。因此本申请采用修改PC、地址端口,同时对指令寄存器清零的方式,让核2再次取那条具有相关性的指令,并在下一周期从新执行一次,这样就可以正确的取到上一条指令的目的操作数来作为源操作数。
具体的方案如下:如图3现在假设第M条指令和第M+1条指令存在RAW相关性,即第M条指令的目的操作数是第M+1条指令的源操作数。
当核1在第1个周期里取到第M条指令时,同时核2取到第M+1指令;在下个周期译码时,检测到第M条和第M+1条指令存在RAW相关,这时,核1和核2已经分别取出第M+2和第M+3条指令;在译完码的下一个周期的时钟下降沿通过给ir寄存器清零,阻止对第M+2和第M+3条指令的译码,并修改PC寄存器和地址端口的值,使得下一周期两个内核所取得指令分别是第M+1(核1)条、第M+2(核2)条。而当M+1(核1)条、第M+2(核2)条开始译码的时候,第M条指令已经执行完毕,目的操作数已经产生,因此消除了相关性。
图4是RAW相关性解决策略Modelsim仿真波形图。在190ns的时候,核1、核2进行取指,分别取到00001005和00001006这两个地址所对应的指令;在210ns的时候开始译码,这时ir0、ir1所存放的指令302216fe、3c22fc02就是两个核在190ns时所取到的指令,通过相关性检测,检测到了这两条指令具有相关性;在230ns时,修正地址端口所对应的地址并重新取指,同时修改PC,并对指令寄存器ir0、ir1清零,此时,核1与核2分别取的指令是00001006和00001007这两个地址所对应的指令,而00001005这个地址所对应的指令已经执行完毕,消除了RAW相关性,可见仿真结果与本文所提出的解决策略相一致,说明此解决策略是正确可行的。

Claims (4)

1、一种共享寄存器相关性消除的实现方法,其特征在于:
1)提供了双核共享寄存器涉及的各种相关性的类别:即根据指令序列读写同一个寄存器的先后次序不同,出现四种数据竞争;
2)提供不同类型相关性的检测机制:当在取指阶段取完指令后放入指令寄存器中,通过比较指令寄存器中的相应的源操作数、目的操作数的编码段完成RAW相关性的检测;
3)提供了各类型相关性的消除机制:提供读读相关RAR(Read After Read)、先写后读相关RAW(Read After Write)、写写相关WAW(Write After Write)、先读后写相关WAR(Write after Read)性消除策略。
2、根据权利要求1所述的共享寄存器相关性消除的实现方法,其特征在于:所述的步骤1)各种相关性的类别是根据指令序列读写同一个寄存器的先后次序不同,出现下面四种数据竞争:假定有两条指令i和j,并且指令i在指令j前面:
先写后读相关RAW(Read After Write):指令j读源寄存器Rx,但指令i还没有将结果写回目的寄存器Ry,此时指令j得到的是一个不正确的旧操作数值,这是最普遍的一种数据竞争,处理器微结构设计中一般采用旁路机构BPU转发数据来减少这种竞争,但不能彻底消除这种竞争;
写写相关WAW(Write After Write):指令i和j都写同一个目的寄存器Ry,但是指令j的写操作和指令i同时发生或者在指令i之前完成,最后写的结果是在错误的次序下完成的,导致在目的寄存器Ry的值是指令i写的值或者是不确定的值,而不是指令j写的值,这种数据竞争主要出现在写操作可能发生于多个流水级的处理器中,或者乱序完成的流水线中以及多核心流水线之间;
先读后写相关WAR(Write after Read):指令j写操作结果在指令i读源操作数之前完成,导致指令i读出一个不正确的新值,这种竞争出现在某些指令写结果较早,而某些指令读源操作数较迟的情况,因为流水线的自然结构是指令读操作数在写操作数之前,因此这种数据竞争非常少;
读读相关RAR(Read after Read):指令i和j都读同一个源寄存器不会引起数据冲突;
由于读读相关RAR操作不会引起数据混乱,所以读读相关RAR性不需要处理,另外由于双核微处理器采用的是共享寄存器堆方法,以及按序发射的指令发射策略,并且2条流水线统一在ID级读源操作数,在EXE级写目的操作数,因此在读源操作数必定在写目的操作数之前,所以也不会引起先读后写相关WAR的竞争,在其微结构里面两个核间的数据竞争只会是WAW和RAW数据竞争。
3、根据权利要求1所述的共享寄存器相关性消除的实现方法,其特征在于:所述的步骤2)提供不同类型相关性的检测机制是在双核的每个时钟周期里,两个核心的流水线从ID级各发射一条指令到EXE级执行,其检测方法是在译码级完成,当在取指阶段取完指令后就放入指令寄存器中,通过比较指令寄存器中的相应的源操作数、目的操作数的编码段完成RAW相关性的检测;
首先指令编码在REG1、REG2类型里,第21位到25位是第一源寄存器scr1的编码,第16位到20位是目的寄存器dst的编码,第0位到4位是第二源寄存器scr2的编码,对应到指令寄存器ir里,ir25~21对应源操作数第一源寄存器scr1,ir20~16对应目的操作数目的寄存器dst,ir4~0对应源操作数第二源寄存器scr2;REG3、CTRL、MEM类指令里只有一个源操作数第一源寄存器scr1,除了CTRL类型以及存数类指令没有目的操作数外,其他类型的指令格式都有目的操作数;
先写后读相关RAW检测的具体方案如下:
首先令,
dst(1)=~(bar(1)|bsr(1)|STORE(1))&ir(1)20~16+(bal(1)|bsr(1))&ir(1)25~21
scr1(2)=ir(2)25~21
scr2(2)=ir(2)4~0&~(REG3(2)|CTRL(2)|MEM(2));
如果dst(1)==scr1(2)|scr2(2),则存在RAW相关性;
其中,ir(1)代表核1的指令寄存器,dst(1)代表核1的目的操作数,bar(1)、bsr(1)、STORE(1)为核1译完码后无条件转移和存储类控制信号,ir(2)代表核2的指令寄存器,scr1(2)和scr2(2)代表核2的两个源操作数,REG3(2)、CTRL(2)、MEM(2)分别代表核2译码后的寄存器类、控制类、存储器类的控制信号。
4、根据权利要求1所述的共享寄存器相关性消除的实现方法,其特征在于:所述的步骤3)各类型相关性的消除机制:先读后写相关WAW数据竞争的解决方式:双核微处理器是按序发射指令,因此指令的执行是按照程序中的顺序执行,如果相邻两条指令要对同一寄存器写数据,只要把后一条指令的结果写入寄存器中就可以消除先读后写相关WAW;
具体的处理如下:
C1、C2分别代表核1、核2的写总线,WC1(i)、WC2(i)代表核1、核2的写控制信号,i的值是0~28,代表0~28号通用寄存器,只有写控制信号发生时,才把总线C1、C2上的内容写到寄存器中;
得出,REG(i)=(WC2(i)&C2)|(~WC2(i)&WC1(i)&C1),REG(i)
代表第i号寄存器,如果两个核都对同一寄存器写入数据,只把核2的数据写入相应的寄存器当中,通过对寄存器的写操作的修正,解决先读后写相关WAW相关性问题;
先写后读相关RAW数据竞争的解决:①在ID级读源操作数时,此时正确的值在流水线内部还没有产生,产生先写后读相关RAW请求,然后由流水线控制部件处理;②在ID级读源操作数时,此时正确的值已在流水线内部产生,只会发生在核内部由于流水线重叠产生,而双核之间的的并行是完全同步的,即取指、译码、执行完全是同步的,读操作是在译码级进行,这时两个核都还没有执行操作,在两个核间不会产生这种相关性,因此,只对于情况①进行相关性处理。
CN2009100226562A 2009-05-22 2009-05-22 一种共享寄存器相关性消除的实现方法 Expired - Fee Related CN101593096B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100226562A CN101593096B (zh) 2009-05-22 2009-05-22 一种共享寄存器相关性消除的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100226562A CN101593096B (zh) 2009-05-22 2009-05-22 一种共享寄存器相关性消除的实现方法

Publications (2)

Publication Number Publication Date
CN101593096A true CN101593096A (zh) 2009-12-02
CN101593096B CN101593096B (zh) 2011-11-16

Family

ID=41407766

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100226562A Expired - Fee Related CN101593096B (zh) 2009-05-22 2009-05-22 一种共享寄存器相关性消除的实现方法

Country Status (1)

Country Link
CN (1) CN101593096B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102063328A (zh) * 2010-12-17 2011-05-18 北京控制工程研究所 一种用于检测中断驱动型程序数据竞争的系统
CN102402417A (zh) * 2010-09-09 2012-04-04 金丽科技股份有限公司 微运算处理系统及其数据写入方法
CN102893254A (zh) * 2010-05-11 2013-01-23 Arm有限公司 条件式比较指令
CN101706715B (zh) * 2009-12-04 2013-01-23 龙芯中科技术有限公司 指令调度装置和方法
CN104536914A (zh) * 2014-10-15 2015-04-22 中国航天科技集团公司第九研究院第七七一研究所 基于寄存器访问标记的相关处理装置和方法
CN106201935A (zh) * 2016-06-28 2016-12-07 田彬 用于处理存储队列中数据相关的装置及方法
CN108027726A (zh) * 2015-09-26 2018-05-11 英特尔公司 用于在远程处理器上实施原子动作的硬件机制
CN110647359A (zh) * 2018-06-27 2020-01-03 爱思开海力士有限公司 半导体装置、其操作方法和具有其的层叠存储装置
CN111506347A (zh) * 2020-03-27 2020-08-07 上海赛昉科技有限公司 一种基于指令写后读相关假设的重命名的方法
CN111857830A (zh) * 2020-06-05 2020-10-30 上海赛昉科技有限公司 一种提前转发指令数据的通路设计方法、系统及存储介质

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101706715B (zh) * 2009-12-04 2013-01-23 龙芯中科技术有限公司 指令调度装置和方法
CN102893254A (zh) * 2010-05-11 2013-01-23 Arm有限公司 条件式比较指令
CN102893254B (zh) * 2010-05-11 2015-11-25 Arm有限公司 数据处理装置和数据处理设备
US9383999B2 (en) 2010-05-11 2016-07-05 Arm Limited Conditional compare instruction
CN102402417A (zh) * 2010-09-09 2012-04-04 金丽科技股份有限公司 微运算处理系统及其数据写入方法
CN102063328B (zh) * 2010-12-17 2012-12-26 北京控制工程研究所 一种用于检测中断驱动型程序数据竞争的系统
CN102063328A (zh) * 2010-12-17 2011-05-18 北京控制工程研究所 一种用于检测中断驱动型程序数据竞争的系统
CN104536914A (zh) * 2014-10-15 2015-04-22 中国航天科技集团公司第九研究院第七七一研究所 基于寄存器访问标记的相关处理装置和方法
CN104536914B (zh) * 2014-10-15 2017-08-11 中国航天科技集团公司第九研究院第七七一研究所 基于寄存器访问标记的相关处理装置和方法
CN108027726B (zh) * 2015-09-26 2022-07-15 英特尔公司 用于在远程处理器上实施原子动作的硬件机制
CN108027726A (zh) * 2015-09-26 2018-05-11 英特尔公司 用于在远程处理器上实施原子动作的硬件机制
CN106201935A (zh) * 2016-06-28 2016-12-07 田彬 用于处理存储队列中数据相关的装置及方法
CN110647359A (zh) * 2018-06-27 2020-01-03 爱思开海力士有限公司 半导体装置、其操作方法和具有其的层叠存储装置
CN110647359B (zh) * 2018-06-27 2023-06-27 爱思开海力士有限公司 半导体装置、其操作方法和具有其的层叠存储装置
CN111506347A (zh) * 2020-03-27 2020-08-07 上海赛昉科技有限公司 一种基于指令写后读相关假设的重命名的方法
CN111506347B (zh) * 2020-03-27 2023-05-26 上海赛昉科技有限公司 一种基于指令写后读相关假设的重命名的方法
CN111857830A (zh) * 2020-06-05 2020-10-30 上海赛昉科技有限公司 一种提前转发指令数据的通路设计方法、系统及存储介质
CN111857830B (zh) * 2020-06-05 2023-09-22 上海赛昉科技有限公司 一种提前转发指令数据的通路设计方法、系统及存储介质

Also Published As

Publication number Publication date
CN101593096B (zh) 2011-11-16

Similar Documents

Publication Publication Date Title
CN101593096B (zh) 一种共享寄存器相关性消除的实现方法
CN101593097B (zh) 嵌入式同构对称双核risc微处理器的设计方法
US10387319B2 (en) Processors, methods, and systems for a configurable spatial accelerator with memory system performance, power reduction, and atomics support features
US10515046B2 (en) Processors, methods, and systems with a configurable spatial accelerator
US10515049B1 (en) Memory circuits and methods for distributed memory hazard detection and error recovery
KR101754462B1 (ko) 동적 비순차적 프로세서 파이프라인을 구현하기 위한 방법 및 장치
US20190004945A1 (en) Processors, methods, and systems for a configurable spatial accelerator with transactional and replay features
TWI308295B (en) Apparatus and method for switchable conditional execution in a vliw processor
KR101703743B1 (ko) 가속된 레인 간 벡터 감축 명령어들
JP5933725B2 (ja) ベクトル散乱演算機能及びベクトル収集演算機能を提供する命令及びロジック
US5768575A (en) Semi-Autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for sepculative and out-of-order execution of complex instructions
KR102335194B1 (ko) 명령어 체이닝 능력을 이용한 멀티스레드형 프로세서에서의 기회 멀티스레딩
KR101775294B1 (ko) 게놈 시퀀싱 및 정렬을 위해 개체군 카운트 기능성을 제공하는 방법, 장치, 명령어 및 로직
US7590824B2 (en) Mixed superscalar and VLIW instruction issuing and processing method and system
JP2000122864A (ja) デ―タ処理システムおよび集合化を用いた命令システム
JP6450705B2 (ja) 永続コミットプロセッサ、方法、システムおよび命令
EP3757809A1 (en) Apparatuses, methods, and systems for memory interface circuit arbitration in a configurable spatial accelerator
EP3757814A1 (en) Apparatuses, methods, and systems for time-multiplexing in a configurable spatial accelerator
Hilton et al. iCFP: Tolerating all-level cache misses in in-order processors
US20220100680A1 (en) Apparatuses, methods, and systems for a configurable accelerator having dataflow execution circuits
WO2020005449A1 (en) Apparatuses, methods, and systems for conditional operations in a configurable spatial accelerator
CN100592255C (zh) 32位的多模式微处理器
TWI781588B (zh) 包含用於控制流向終止的模式特定結束分支之設備、系統及方法
Hilton et al. BOLT: Energy-efficient out-of-order latency-tolerant execution
TW201732564A (zh) 用於使用monitor及mwait架構之使用者層級執行緒同步的方法及裝置

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20111116

Termination date: 20140522