CN108845829B - 一种系统寄存器访问指令的执行方法 - Google Patents
一种系统寄存器访问指令的执行方法 Download PDFInfo
- Publication number
- CN108845829B CN108845829B CN201810717643.6A CN201810717643A CN108845829B CN 108845829 B CN108845829 B CN 108845829B CN 201810717643 A CN201810717643 A CN 201810717643A CN 108845829 B CN108845829 B CN 108845829B
- Authority
- CN
- China
- Prior art keywords
- register
- micro
- instruction
- system register
- tempgr
- 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
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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
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
本发明公开了一种系统寄存器访问指令的执行方法,步骤包括取出系统寄存器访问指令并拆分成两个微操作,使得访问系统寄存器的微操作只会访问一个临时的通用寄存器TempGR,由其他某个访问通用寄存器堆的FU0完成TempGR和真正要访问的通用寄存器之间的传输,将TempGR和体系结构定义的通用寄存器统一编址,发射系统寄存器访问指令拆分出的访问系统寄存器的微操作到系统寄存器访问单元SPU,另一个微操作发射到FU0,微操作执行完毕后将SPU的结果旁路到FU0的一条输入数据总线,SPU的输入数据总线只旁路FU0的结果。本发明具有减少执行单元的输入数据总线的数据来源、降低数据旁路网络复杂度的优点。
Description
技术领域
本发明涉及微处理器设计领域,具体涉及一种系统寄存器访问指令的执行方法。
背景技术
为了提高性能,目前的主流微处理器(CPU)几乎都会实现数据旁路,即一个执行单元的执行结果直接送到本单元或其他单元的输入数据总线,而不用等到结果写回到寄存器堆后再从寄存器堆读取数据送到执行单元的输入数据总线。
假设一个微处理器有n个执行单元访问同一个寄存器堆,每个执行单元拥有两条输入数据总线和一条结果总线,即该单元执行的指令的源寄存器不超过2个,目的寄存器不超过1个。如果这n个执行单元之间实现完全的数据旁路,那么数据旁路网络如图1所示,其中FU0表示第1个执行单元,R00表示第1个执行单元的第1个读寄存器端口,R01表示第1个执行单元的第2个读寄存器端口,W0表示第1个执行单元的写寄存器端口,FU1表示第2个执行单元,R10表示第2个执行单元的第1个读寄存器端口,R11表示第2个执行单元的第2个读寄存器端口,W1表示第2个执行单元的写寄存器端口,依此类推,FU(n-1)表示第n个执行单元,R(n-1)0表示第n个执行单元的第1个读寄存器端口,R(n-1)1表示第n个执行单元的第2个读寄存器端口,W(n-1)表示第n个执行单元的写寄存器端口。对于每个执行单元的执行结果,在被写回寄存器堆的同时,也会被送到同一个数据旁路网络中所有执行单元的每条输入数据总线,所以每条输入数据总线的数据来源有(n+1)个,分别是寄存器堆的读出数据和n个执行单元的结果。
系统寄存器通常保存的是微处理器的有关配置和状态信息。系统寄存器访问指令包括读系统寄存器指令和写系统寄存器指令两类,读系统寄存器指令把某个系统寄存器的值读出来后存入通用寄存器,我们用助记符movGRn, SPR表示,其中GRn是通用寄存器,也是这条指令的目的寄存器,SPR表示系统寄存器,写系统寄存器指令把来自某个通用寄存器的值写入系统寄存器,我们用助记符mov SPR, GRn表示,其中GRn是这条指令的源寄存器。
一种体系结构中定义的系统寄存器动辄几十个,甚至几百个,主流微处理器设计时对系统寄存器并不进行重命名,因此系统寄存器的访问指令需要顺序执行。为了不增加其他指令乱序执行的控制复杂度,系统寄存器访问指令由一个单独的执行单元执行,我们这个系统寄存器访问单元命名为SPU。由于系统寄存器访问指令需要读写通用寄存器,因此在设计数据旁路时,SPU也将属于通用寄存器堆的数据旁路网络中的一个执行单元。假设原本访问通用寄存器堆的执行单元有n个,SPU加入后,通用寄存器堆的完全旁路网络将如图2所示,其中Rspu表示SPU执行单元的读寄存器堆端口,Wspu表示SPU执行单元写寄存器堆端口。因为SPU的加入,n个执行单元的每条输入数据总线的数据来源都增加了一个,与数据旁路有关的逻辑,包括用于唤醒指令的寄存器比较逻辑和用于从多个数据源中选择所需数据的数据选择逻辑都要相应增加;SPU的输入数据总线的来源除了通用寄存器堆和自身的结果总线,还包括其他写通用寄存器堆的n个执行单元的结果总线。
实现数据旁路虽然可以提高性能,但是与此同时带来了复杂的实现逻辑和紧张的时序,因此微处理器设计时会进行折中考虑。比如,系统寄存器通常只有特权级软件才能访问,并且一般是在初始化和调试等过程中才会被访问,系统寄存器访问指令的执行速度对微处理器的性能影响很小,所以设计时可以考虑不把SPU的结果旁路到其他执行单元的输入数据总线,SPU的输入数据也不旁路其他执行单元的结果,而是直接从通用寄存器堆读取。但是这种做法只适用于发射后读取寄存器堆的微处理器设计,对于在进入发射队列前读取寄存器堆获取源操作数的微处理器设计,进入发射队列后不会再去读取寄存器堆,执行单元的结果必须旁路到需要该结果的输入数据总线。而且,这种做法只能减少数据选择逻辑的来源,SPU的结果产生后,依然要唤醒所有需要该结果的指令,所以寄存器比较逻辑不会减少。可见,执行系统寄存器访问指令的SPU单元的加入,导致通用寄存器堆的旁路网络更加复杂了,不旁路SPU的执行结果虽然可以在一定程度上降低旁路网络的复杂度,但是这种做法没有减少执行单元的输入数据总线的数据来源,导致唤醒指令的寄存器比较逻辑并没有减少。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种系统寄存器访问指令的执行方法,本发明能减少执行单元的输入数据总线的数据来源、降低数据旁路网络复杂度。
为了解决上述技术问题,本发明采用的技术方案为:
一种系统寄存器访问指令的执行方法,实施步骤包括:
1)从指令缓冲取出系统寄存器访问指令;
2)将系统寄存器访问指令拆分成两个微操作,使得访问系统寄存器的微操作只会访问一个临时的通用寄存器TempGR,再由其他某个访问通用寄存器堆的执行单元完成TempGR和系统寄存器访问指令真正要访问的通用寄存器GRn之间的传输;
3)以拆分出的微操作为单位解析操作数信息,系统寄存器访问指令拆分出的微操作解析出的操作数将会有临时的通用寄存器TempGR出现;
4)将临时的通用寄存器TempGR和体系结构定义的通用寄存器统一编址;
5)将系统寄存器访问指令拆分出的微操作发射到执行单元;
6)执行系统寄存器访问指令拆分出的微操作;
7)执行结果的旁路。
优选地,步骤2)的详细步骤包括:
2.1)判断系统寄存器访问指令是否为读系统寄存器指令,如果为读系统寄存器指令则跳转执行步骤2.2),否则该指令是写系统寄存器指令,跳转执行步骤2.3);
2.2)将读系统寄存器访问指令拆分成如下两个微操作:第一个微操作的功能是读取某个SPR的值,将其存入临时通用寄存器TempGR,第二个微操作的功能是读TempGR的值,将其存入读系统寄存器指令真正的目的寄存器GRn中;跳转执行步骤3);
2.3)将写系统寄存器访问指令拆分成如下两个微操作:第一个微操作的功能是读取通用寄存器GRn的值,将其存入临时通用寄存器TempGR,第二个微操作的功能是读TempGR的值,将其存入写系统寄存器指令要写入的系统寄存器SPR中;跳转执行步骤3)。
优选地,步骤3)中以拆分出的微操作为单位解析操作数信息时,对于读系统寄存器指令的第一个微操作,解析出其目的操作数为临时通用寄存器TempGR,对于读系统寄存器指令的第二个微操作,解析出其源操作数为临时通用寄存器TempGR,目的操作数为通用寄存器GRn;对于写系统寄存器指令的第一个微操作,解析出其源操作数为通用寄存器GRn,目的操作数为临时通用寄存器TempGR,对于写系统寄存器指令的第二个微操作,解析出其源操作数为临时通用寄存器TempGR。
优选地,步骤4)中将临时的通用寄存器TempGR和体系结构定义的通用寄存器统一编址,假设体系结构定义的通用寄存器有m个,那么微处理器实现的通用寄存器堆共有(m+1)项,第0项对应的是体系结构定义的第0号通用寄存器GR0,第1项对应的是体系结构定义的第1号通用寄存器GR1,依此类推,第(m-1)项对应的是体系结构定义的第(m-1)号通用寄存器GR(m-1),第m项对应的是临时通用寄存器TempGR。
优选地,步骤5)中将系统寄存器访问指令拆分出的微操作发射到执行单元具体是指:将读系统寄存器指令拆分出的第一个微操作和写系统寄存器指令拆分的第二个微操作发射到系统寄存器访问单元SPU;将读系统寄存器指令拆分出的第二个微操作和写系统寄存器指令拆分的第一个微操作发射到某个访问通用寄存器堆的执行单元,指定为执行单元FU0。
优选地,步骤7)中执行结果的旁路具体是指:将系统寄存器访问单元SPU的结果旁路到执行单元FU0的一条输入数据总线,系统寄存器访问单元SPU的输入数据总线只旁路执行单元FU0的结果。
和现有技术相比,本发明具有下述有益效果:
1、本发明能减少执行单元的输入数据总线的数据来源。由于SPU的结果只需要旁路给指定的完成TempGR和GRn传输的执行单元的一条输入数据总线,这个执行单元的另一条输入数据总线和其他访问通用寄存器堆的执行单元的输入数据总线都不需要旁路SPU的结果,因此,这些输入数据总线的数据来源都减少了一个。
2、本发明能降低数据旁路网络的设计复杂度。除SPU外的其他n个访问通用寄存器堆的执行单元,除指定的完成TempGR和GRn传输的执行单元的一条输入数据总线需要旁路SPU的结果外,其他(2n-1)条输入数据总线都不需要旁路SPU的结果,SPU的输入数据总线只需要旁路FU0的结果,与SPU的结果需要旁路到所有访问通用寄存器堆的执行单元的输入数据总线相比,数据旁路网络的设计复杂度降低了。
附图说明
图1为现有具有n个执行单元的数据旁路网络示意图。
图2为现有SPU加入后通用寄存器堆的数据旁路网络示意图。
图3为本发明实施例的基本实施流程示意图。
图4为应用本发明实施例的通用寄存器堆的组织结构示意图。
图5为应用本发明实施例的通用寄存器堆的数据旁路网络示意图。
具体实施方式
如图3所示,本实施例系统寄存器访问指令的执行方法的实施步骤包括:
1)从指令缓冲取出系统寄存器访问指令;
2)将系统寄存器访问指令拆分成两个微操作,使得访问系统寄存器的微操作只会访问一个临时的通用寄存器TempGR,再由其他某个访问通用寄存器堆的执行单元完成TempGR和系统寄存器访问指令真正要访问的通用寄存器GRn之间的传输;
3)以拆分出的微操作为单位解析操作数信息,系统寄存器访问指令拆分出的微操作解析出的操作数将会有临时的通用寄存器TempGR出现;
4)将临时的通用寄存器TempGR和体系结构定义的通用寄存器统一编址;假设体系结构定义的通用寄存器有m个,那么TempGR映射到m,即微处理器实现的通用寄存器堆除了体系结构定义的m个通用寄存器外,还包括临时寄存器TempGR;
5)将系统寄存器访问指令拆分出的微操作发射到执行单元;
6)执行系统寄存器访问指令拆分出的微操作;
7)执行结果的旁路。
本实施例中,步骤2)的详细步骤包括:
2.1)判断系统寄存器访问指令是否为读系统寄存器指令,如果为读系统寄存器指令则跳转执行步骤2.2),否则该指令是写系统寄存器指令,跳转执行步骤2.3);
2.2)将读系统寄存器访问指令拆分成如下两个微操作:
movTempGR, SPR;
movGRn, TempGR
第一个微操作的功能是读取某个SPR的值,将其存入临时通用寄存器TempGR,第二个微操作的功能是读TempGR的值,将其存入读系统寄存器指令真正的目的寄存器GRn中;跳转执行步骤3);
2.3)将写系统寄存器访问指令拆分成如下两个微操作:
movTempGR, GRn;
mov SPR, TempGR
第一个微操作的功能是读取通用寄存器GRn的值,将其存入临时通用寄存器TempGR,第二个微操作的功能是读TempGR的值,将其存入写系统寄存器指令要写入的系统寄存器SPR中;跳转执行步骤3)。
本实施例中,步骤3)中以拆分出的微操作为单位解析操作数信息时,对于读系统寄存器指令的第一个微操作,解析出其目的操作数为临时通用寄存器TempGR,对于读系统寄存器指令的第二个微操作,解析出其源操作数为临时通用寄存器TempGR,目的操作数为通用寄存器GRn;对于写系统寄存器指令的第一个微操作,解析出其源操作数为通用寄存器GRn,目的操作数为临时通用寄存器TempGR,对于写系统寄存器指令的第二个微操作,解析出其源操作数为临时通用寄存器TempGR。完成读系统寄存器指令第二个微操作和写系统寄存器指令第一个微操作的执行单元FU0具有两个源操作数通道,而这两个微操作只有一个源操作数,本实施例中将这个源操作数放在FU0的第一条源操作数通道上。
如图4所示,本实施例步骤4)中将临时的通用寄存器TempGR和体系结构定义的通用寄存器统一编址,假设体系结构定义的通用寄存器有m个,那么微处理器实现的通用寄存器堆共有(m+1)项,第0项对应的是体系结构定义的第0号通用寄存器GR0,第1项对应的是体系结构定义的第1号通用寄存器GR1,依此类推,第(m-1)项对应的是体系结构定义的第(m-1)号通用寄存器GR(m-1),第m项对应的是临时通用寄存器TempGR。
本实施例中,步骤5)中将系统寄存器访问指令拆分出的微操作发射到执行单元具体是指:将读系统寄存器指令拆分出的第一个微操作和写系统寄存器指令拆分的第二个微操作发射到系统寄存器访问单元SPU;将读系统寄存器指令拆分出的第二个微操作和写系统寄存器指令拆分的第一个微操作发射到某个访问通用寄存器堆的执行单元,指定为执行单元FU0。
本实施例中,步骤7)中执行结果的旁路具体是指:将系统寄存器访问单元SPU的结果旁路到执行单元FU0的一条输入数据总线,系统寄存器访问单元SPU的输入数据总线只旁路执行单元FU0的结果。读系统寄存器指令的结果要写入通用寄存器堆,但是只会写入临时通用寄存器TempGR,而只有指定的完成TempGR和GRn传输的执行单元FU0才需要读TempGR,因此SPU的结果只需要旁路给FU0的一条输入数据总线。同样的,写系统寄存器指令要读通用寄存器堆,但是只会读临时通用寄存器TempGR,而只有FU0才会写TempGR,所以SPU输入数据总线的数据源除了通用寄存器堆外,只有FU0的结果总线。
如图5所示,应用本实施例后,除SPU外的其他n个访问通用寄存器堆的执行单元,除FU0的第一条输入数据总线需要旁路SPU的结果外,其他(2n-1)条输入数据总线都不需要旁路SPU的结果。而SPU的输入数据总线只需要旁路FU0的结果。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (4)
1.一种系统寄存器访问指令的执行方法,其特征在于实施步骤包括:
1)从指令缓冲取出系统寄存器访问指令;
2)将系统寄存器访问指令拆分成两个微操作,使得访问系统寄存器的微操作只会访问一个临时的通用寄存器TempGR,再由其他某个访问通用寄存器堆的执行单元完成TempGR和系统寄存器访问指令真正要访问的通用寄存器GRn之间的传输;
3)以拆分出的微操作为单位解析操作数信息,系统寄存器访问指令拆分出的微操作解析出的操作数将会有临时的通用寄存器TempGR出现;
4)将临时的通用寄存器TempGR和体系结构定义的通用寄存器统一编址;
5)将系统寄存器访问指令拆分出的微操作发射到执行单元;
6)执行系统寄存器访问指令拆分出的微操作;
7)执行结果的旁路;
步骤5)中将系统寄存器访问指令拆分出的微操作发射到执行单元具体是指:将读系统寄存器指令拆分出的第一个微操作和写系统寄存器指令拆分的第二个微操作发射到系统寄存器访问单元SPU;将读系统寄存器指令拆分出的第二个微操作和写系统寄存器指令拆分的第一个微操作发射到某个访问通用寄存器堆的执行单元,指定为执行单元FU0;步骤7)中执行结果的旁路具体是指:将系统寄存器访问单元SPU的结果旁路到执行单元FU0的一条输入数据总线,系统寄存器访问单元SPU的输入数据总线只旁路执行单元FU0的结果。
2.根据权利要求1所述的系统寄存器访问指令的执行方法,其特征在于,步骤2)的详细步骤包括:
2.1)判断系统寄存器访问指令是否为读系统寄存器指令,如果为读系统寄存器指令则跳转执行步骤2.2),否则该指令是写系统寄存器指令,跳转执行步骤2.3);
2.2)将读系统寄存器访问指令拆分成如下两个微操作:第一个微操作的功能是读取某个SPR的值,将其存入临时通用寄存器TempGR,第二个微操作的功能是读TempGR的值,将其存入读系统寄存器指令真正的目的寄存器GRn中;跳转执行步骤3);
2.3)将写系统寄存器访问指令拆分成如下两个微操作:第一个微操作的功能是读取通用寄存器GRn的值,将其存入临时通用寄存器TempGR,第二个微操作的功能是读TempGR的值,将其存入写系统寄存器指令要写入的系统寄存器SPR中;跳转执行步骤3)。
3.根据权利要求1 所述的系统寄存器访问指令的执行方法,其特征在于,步骤3)中以拆分出的微操作为单位解析操作数信息时,对于读系统寄存器指令的第一个微操作,解析出其目的操作数为临时通用寄存器TempGR,对于读系统寄存器指令的第二个微操作,解析出其源操作数为临时通用寄存器TempGR,目的操作数为通用寄存器GRn;对于写系统寄存器指令的第一个微操作,解析出其源操作数为通用寄存器GRn,目的操作数为临时通用寄存器TempGR,对于写系统寄存器指令的第二个微操作,解析出其源操作数为临时通用寄存器TempGR。
4.根据权利要求1 所述的系统寄存器访问指令的执行方法,其特征在于,步骤4)中将临时的通用寄存器TempGR和体系结构定义的通用寄存器统一编址,假设体系结构定义的通用寄存器有m个,那么微处理器实现的通用寄存器堆共有(m+1)项,第0项对应的是体系结构定义的第0号通用寄存器GR0,第1项对应的是体系结构定义的第1号通用寄存器GR1,依此类推,第(m-1)项对应的是体系结构定义的第(m-1)号通用寄存器GR(m-1),第m项对应的是临时通用寄存器TempGR。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810717643.6A CN108845829B (zh) | 2018-07-03 | 2018-07-03 | 一种系统寄存器访问指令的执行方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810717643.6A CN108845829B (zh) | 2018-07-03 | 2018-07-03 | 一种系统寄存器访问指令的执行方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108845829A CN108845829A (zh) | 2018-11-20 |
CN108845829B true CN108845829B (zh) | 2021-06-25 |
Family
ID=64201328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810717643.6A Active CN108845829B (zh) | 2018-07-03 | 2018-07-03 | 一种系统寄存器访问指令的执行方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108845829B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110175048A (zh) * | 2019-05-15 | 2019-08-27 | 童先娥 | 一种指令处理方法及处理器 |
CN110515656B (zh) * | 2019-08-28 | 2021-07-16 | 中国人民解放军国防科技大学 | 一种casp指令的执行方法、微处理器及计算机设备 |
CN110647361B (zh) * | 2019-09-09 | 2021-08-27 | 中国人民解放军国防科技大学 | 一种空闲物理寄存器的获取方法和装置 |
CN114780148B (zh) * | 2022-06-17 | 2022-09-23 | 飞腾信息技术有限公司 | 一种系统寄存器访问指令的执行方法、装置及电子设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5638526A (en) * | 1991-11-20 | 1997-06-10 | Fujitsu Limited | Apparatus for operand data bypassing having previous operand storage register connected between arithmetic input selector and arithmetic unit |
CN1278332A (zh) * | 1997-11-07 | 2000-12-27 | 爱特梅尔股份有限公司 | 具有地址相关指令的边界扫描系统 |
CN1560731A (zh) * | 2004-03-03 | 2005-01-05 | 浙江大学 | 32位媒体数字信号处理器 |
US7103756B2 (en) * | 2002-09-30 | 2006-09-05 | Hewlett-Packard Development Company, L.P. | Data processor with individually writable register subword locations |
CN102968293A (zh) * | 2012-11-28 | 2013-03-13 | 中国人民解放军国防科学技术大学 | 基于指令队列的程序循环代码动态检测及执行方法 |
CN107851027A (zh) * | 2015-07-31 | 2018-03-27 | Arm有限公司 | 数据处理系统 |
CN108027772A (zh) * | 2015-09-19 | 2018-05-11 | 微软技术许可有限责任公司 | 用于逻辑处理器的不同的系统寄存器 |
CN108027769A (zh) * | 2015-09-19 | 2018-05-11 | 微软技术许可有限责任公司 | 使用寄存器访问指令发起指令块执行 |
-
2018
- 2018-07-03 CN CN201810717643.6A patent/CN108845829B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5638526A (en) * | 1991-11-20 | 1997-06-10 | Fujitsu Limited | Apparatus for operand data bypassing having previous operand storage register connected between arithmetic input selector and arithmetic unit |
CN1278332A (zh) * | 1997-11-07 | 2000-12-27 | 爱特梅尔股份有限公司 | 具有地址相关指令的边界扫描系统 |
US7103756B2 (en) * | 2002-09-30 | 2006-09-05 | Hewlett-Packard Development Company, L.P. | Data processor with individually writable register subword locations |
CN1560731A (zh) * | 2004-03-03 | 2005-01-05 | 浙江大学 | 32位媒体数字信号处理器 |
CN102968293A (zh) * | 2012-11-28 | 2013-03-13 | 中国人民解放军国防科学技术大学 | 基于指令队列的程序循环代码动态检测及执行方法 |
CN107851027A (zh) * | 2015-07-31 | 2018-03-27 | Arm有限公司 | 数据处理系统 |
CN108027772A (zh) * | 2015-09-19 | 2018-05-11 | 微软技术许可有限责任公司 | 用于逻辑处理器的不同的系统寄存器 |
CN108027769A (zh) * | 2015-09-19 | 2018-05-11 | 微软技术许可有限责任公司 | 使用寄存器访问指令发起指令块执行 |
Non-Patent Citations (1)
Title |
---|
细粒度多线程处理器中前瞻性数据加载的设计与实现;王永文等;《计算机研究与发展》;20120229;第313-316页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108845829A (zh) | 2018-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108845829B (zh) | 一种系统寄存器访问指令的执行方法 | |
US7793079B2 (en) | Method and system for expanding a conditional instruction into a unconditional instruction and a select instruction | |
US6470445B1 (en) | Preventing write-after-write data hazards by canceling earlier write when no intervening instruction uses value to be written by the earlier write | |
US9886278B2 (en) | Computing architecture and method for processing data | |
US10437594B2 (en) | Apparatus and method for transferring a plurality of data structures between memory and one or more vectors of data elements stored in a register bank | |
US7822948B2 (en) | Apparatus, system, and method for discontiguous multiple issue of instructions | |
US5778248A (en) | Fast microprocessor stage bypass logic enable | |
KR20040085058A (ko) | 일련의 처리 명령들의 파이프라인 처리 방법 및 장치 | |
US20220413849A1 (en) | Providing atomicity for complex operations using near-memory computing | |
US20210109758A1 (en) | Post completion execution in an out-of-order processor design | |
US8522242B2 (en) | Conditional batch buffer execution | |
US6862676B1 (en) | Superscalar processor having content addressable memory structures for determining dependencies | |
US6324640B1 (en) | System and method for dispatching groups of instructions using pipelined register renaming | |
JPH11282678A (ja) | ス―パスカラ・プロセッサでストア命令を処理する方法及び装置 | |
US6970996B1 (en) | Operand queue for use in a floating point unit to reduce read-after-write latency and method of operation | |
US6378063B2 (en) | Method and apparatus for efficiently routing dependent instructions to clustered execution units | |
US20080082797A1 (en) | Configurable Single Instruction Multiple Data Unit | |
US20080010426A1 (en) | Processor system and processing method for operating system program in processor system | |
US6725355B1 (en) | Arithmetic processing architecture having a portion of general-purpose registers directly coupled to a plurality of memory banks | |
JP3435278B2 (ja) | データ処理装置 | |
US5926645A (en) | Method and system for enabling multiple store instruction completions in a processing system | |
JPS60178580A (ja) | 命令制御方式 | |
CN113703841B (zh) | 一种寄存器数据读取的优化方法、装置及介质 | |
US20020169944A1 (en) | Method for prioritizing operations within a pipelined microprocessor based upon required results | |
US20070043551A1 (en) | Data processing |
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 |