CN117762487A - 一种指令执行控制方法、芯片、电子设备及存储介质 - Google Patents

一种指令执行控制方法、芯片、电子设备及存储介质 Download PDF

Info

Publication number
CN117762487A
CN117762487A CN202311769809.6A CN202311769809A CN117762487A CN 117762487 A CN117762487 A CN 117762487A CN 202311769809 A CN202311769809 A CN 202311769809A CN 117762487 A CN117762487 A CN 117762487A
Authority
CN
China
Prior art keywords
instruction
execution
execution result
processing
processing period
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.)
Pending
Application number
CN202311769809.6A
Other languages
English (en)
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.)
ARM Technology China Co Ltd
Original Assignee
ARM Technology China Co Ltd
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 ARM Technology China Co Ltd filed Critical ARM Technology China Co Ltd
Priority to CN202311769809.6A priority Critical patent/CN117762487A/zh
Publication of CN117762487A publication Critical patent/CN117762487A/zh
Pending legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Advance Control (AREA)

Abstract

本申请涉及指令处理技术领域,提供了一种指令执行控制方法、芯片、电子设备及存储介质。在该方法中,在一个处理周期内,若多条指令的多个处理结果预备在该处理周期写入第一寄存器,则从多条指令的多个执行结果中任意选择一条指令的一个执行结果写入该第一寄存器,以及将剩余指令的剩余执行结果在其他处理周期写入第一寄存器。如此,可以减少指令的执行结果的丢失,并且,无需设置判断条件来判断多条指令的多个执行结果中哪一条执行指令的执行结果写入该第一寄存器,可以减少指令的执行结果的写入复杂度。

Description

一种指令执行控制方法、芯片、电子设备及存储介质
技术领域
本申请涉及指令处理技术领域,特别涉及一种指令执行控制方法、芯片、电子设备及存储介质。
背景技术
中央处理器(central processing unit,CPU)是计算机系统的运算和控制核心,可以实现处理指令、执行操作、处理数据等功能。例如,CPU对指令的处理过程可以包括取指、解码、执行和写回四个阶段。CPU对指令具体的处理过程可以包括:在取指阶段,从内存中获取指令,在解码阶段,对指令进行解码处理得到指令的操作码和操作数的地址,在执行阶段,基于操作数的地址从寄存器中获取操作数,并基于操作码对操作数进行算术或者逻辑处理,得到执行结果,在写回阶段,将执行结果写入寄存器。
在将多条指令的多条执行结果同步写入同一寄存器的场景中,由于一个寄存器在一个处理周期只能执行一次写操作,通常的方式是通过设置一系列判断条件,并基于判断条件来判断保留多条指令中的哪一条指令,并将多条指令中的剩余指令终止,即不将剩余指令对应的执行结果写入寄存器,如此终止多条指令中的剩余指令会造成所终止的指令的执行结果丢失,并且,由于判断条件复杂,基于判断条件来判断将哪一条指令的执行结果写入寄存器将会增加指令的执行结果的写入复杂度。
发明内容
为解决基于判断条件来判断保留多条指令中的哪一条指令,会增加指令的执行结果的写入复杂度的问题,本申请实施例提供一种指令执行控制方法、电子设备及存储介质。
第一方面,本申请实施例提供一种指令执行控制方法,包括:在处理周期Ti接收到待写入的M个指令的M个执行结果;在处理周期Ti内写入M个执行结果中的第一执行结果;基于在处理周期Ti后的处理周期Ti+j内写入M个执行结果中的第二执行结果;其中i和j为正整数,第一执行结果和第二执行结果为写入第一寄存器的执行结果。
基于上述方案,通过在不同处理周期将M个指令的M个执行结果写入第一寄存器,可以减少M个指令的M个执行结果的丢失,并且,无需设置判断条件来判断M个指令的M个执行结果中哪一个执行指令的执行结果写入第一寄存器,可以减少指令的执行结果的写入复杂度。
可以理解,处理周期Ti和处理周期Ti+j可以是相邻的两个处理周期,也可以是不相邻的两个处理周期。处理周期Ti和处理周期Ti+j可以相等,也可以不相等。
可以理解,写回单元在检测到第一执行结果和第二执行结果预备在同一处理周期写入第一寄存器时,可以设置第一执行结果的写入顺序为第一写入顺序以及设置第二执行结果的写入顺序为第二写入顺序。其中,写入顺序表示M个指令中每个指令的执行结果写入第一寄存器的先后顺序。
在第一方面的一些可选的实例中,在处理周期Ti+j写入M个执行结果中的第二执行结果,包括:在处理周期Ti后的处理周期Ti+j中,未接收到待写入处理周期Ti+j的执行结果;在处理周期Ti+j内写入M个执行结果中的第二执行结果。
在第一方面的一些可选的实例中,在处理周期Ti+j写入M个执行结果中的第二执行结果,还包括:判断出在处理周期Ti之后和处理周期Ti+j之间的处理周期Ti+k中,接收到待写入处理周期Ti+k的第三执行结果,第三执行结果不属于M个指令的M个执行结果;在处理周期Ti+k内写入第三执行结果;判断出在处理周期Ti后的处理周期Ti+j中,未接收到待写入处理周期Ti+j的执行结果;在处理周期Ti+j内写入M个执行结果中的第二执行结果。
在第一方面的一些可选的实例中,在处理周期Ti+j写入M个执行结果中的第二执行结果,包括:在处理周期Ti后的处理周期Ti+j中,接收到待写入处理周期Ti+j的第三执行结果,第三执行结果不属于M个指令的M个执行结果;在处理周期Ti+j内写入M个执行结果中的第二执行结果。
在第一方面的一些可选的实例中,方法还包括:在处理周期Ti+j后的处理周期Ti+n中,未接收到待写入处理周期Ti+n的执行结果;在处理周期Ti+n内写入第三执行结果。
在第一方面的一些可选的实例中,在对M个指令处理过程中,M个指令中的每个指令依次处于取指阶段、解码阶段、执行阶段和写回阶段;取指阶段、解码阶段、执行阶段和写回阶段对应的处理周期相等;或者取指阶段、解码阶段、执行阶段和写回阶段中至少任意两个阶段对应的处理周期不相等。
在第一方面的一些可选的实例中,方法还包括:设置第一执行结果的写入顺序为第一写入顺序,以及设置第二执行结果的写入顺序为第二写入顺序;第一写入顺序表示的处理周期在第二写入顺序表示的处理周期之前;在处理周期Ti内写入M个执行结果中的第一执行结果,基于在处理周期Ti后的处理周期Ti+j内写入M个执行结果中的第二执行结果,包括:基于第一写入顺序和第二写入顺序,在处理周期Ti内写入M个执行结果中的第一执行结果,基于在处理周期Ti后的处理周期Ti+j内写入M个执行结果中的第二执行结果。
第二方面,本申请实施例提供一种芯片,包括处理器和第一寄存器,处理器用于执行指令,当处理器执行指令时,执行如第一方面或第一方面任意一项所示的指令执行控制方法;第一寄存器用于存储指令的执行结果。
第三方面,本申请实施例提供一种电子设备,包括:如第二方面所示的芯片。
第四方面,本申请实施例提供一种可读存储介质,可读存储介质上存储有指令,指令在电子设备上执行时使得电子设备执行如第一方面或第一方面任意一项所示的指令执行控制方法。
附图说明
图1根据本申请的一些实例,示出了一种指令控制系统的结构示意图;
图2根据本申请的一些实例,示出了第一种基于流水线对多条指令并行处理的示意图;
图3根据本申请的一些实例,示出了第二种基于流水线对多条指令并行处理的示意图;
图4根据本申请的一些实例,示出了一种指令执行控制方法的流程示意图;
图5根据本申请的一些实例,示出了第三种基于流水线对多条指令并行处理的示意图;
图6根据本申请的一些实例,示出了第四种基于流水线对多条指令并行处理的示意图;
图7根据本申请的一些实例,示出了第五种基于流水线对多条指令并行处理的示意图;
图8根据本申请的一些实例,示出了第六种基于流水线对多条指令并行处理的示意图;
图9根据本申请的一些实例,示出了第七种基于流水线对多条指令并行处理的示意图;
图10根据本申请的一些实例,示出了一种电子设备的结构示意图。
具体实施方式
本申请的说明性实施例包括但不限于一种指令执行控制方法、电子设备及存储介质。
可以理解,本申请实施例提及的指令执行控制方法可以用于各种具有多个寄存器的电子设备。
可以理解,本申请实施例提及的指令执行控制方法可以应用于任意的处理器或者芯片,例如,采用X86架构、RISC-V架构、ARM架构、MIPS架构、PowerPC架构、SPARC架构、DECAlpha架构的处理器。
可以理解,CPU对指令的处理过程可以包括多个阶段,例如可以包括取指、解码、执行和写回四个阶段,也可以包括取指、解码、执行、访存和写回五个阶段等,本申请实施例不作具体限定。为了便于说明,下面以CPU对指令的处理过程可以包括取指、解码、执行和写回四个阶段为例进行说明。
图1示出了一种指令执行控制系统的结构示意图。如图1所示,指令执行控制系统100可以包括CPU 110和内存120,其中,CPU 110可以包括:取指单元111、解码单元112、寄存器113、执行单元114和写入单元115。
基于该指令执行控制系统,一条指令的具体处理流程如下:
取指单元111从内存120中读取指令,并发送至解码单元112。解码单元112对指令进行解码处理,得到指令中的操作码和操作数的地址,并将操作码和操作数的地址发送至执行单元114。执行单元114根据操作数的地址从寄存器113中获取操作数,并基于操作码对操作数进行算术或者逻辑处理,得到执行结果,将执行结果发送至写回单元115。写回单元115将执行结果写入寄存器113。
在一些可选的实例中,寄存器可以包括一个或多个寄存器,不同寄存器存储一种或多种不同的数据类型,其中,数据类型包括标量整数、标量浮点、打包整数、打包浮点、向量整数、向量浮点、状态等。
在一些可选的实例中,执行单元可以对各种类型的数据执行各种操作,其中,操作包括移位、加法、减法、乘法等。相应地,执行单元可以包括但不限于标量算术逻辑运算单元、矢量算术逻辑运算单元。
可以理解,CPU对指令的每个处理阶段可以在一个处理周期内进行,在一些可选的实例中,指令处于每个处理阶段的时间可以相等,即多个处理阶段对应的处理周期可以相等。
图2示出一种基于流水线对多条指令并行处理的示意图,其中,多条指令可以包括并行处理的第一指令和第二指令。CPU对第一指令的处理过程可以包括取指、解码、执行和写回四个阶段,CPU对第二指令的处理过程也可以包括取指、解码、执行和写回四个阶段。
由于CPU对第一指令和第二指令并行处理,因此,在第一处理周期T1,取指单元可以从内存中读取第一指令和第二指令。即在第一处理周期T1,第一指令和第二指令均处于取指阶段。
在第二处理周期T2,解码单元可以对第一指令进行解码处理,得到第一指令中的第一操作码和第一操作数的地址,并将第一操作码和第一操作数的地址发送至执行单元。并且,解码单元可以对第二指令进行解码处理,得到第二指令中的第二操作码和第二操作数的地址,并将第二操作码和第二操作数的地址发送至执行单元。即在第二处理周期T2,第一指令和第二指令均处于解码阶段。
在第三处理周期T3,执行单元可以根据第一操作数的地址从第一寄存器中获取第一操作数,并基于第一操作码对第一操作数进行算术或者逻辑处理,得到第一执行结果,并将第一执行结果发送至写回单元。并且,执行单元可以根据第二操作数的地址从第一寄存器或者第二寄存器中获取第二操作数,并基于第二操作码对第二操作数进行算术或者逻辑处理,得到第二执行结果,并将第二执行结果发送至写回单元。即在第三处理周期T3,第一指令和第二指令均处于执行阶段。
在第四处理周期T4,写回单元可以将第一执行结果写入第三寄存器,并且,写回单元可以将第二执行结果写入第三寄存器。即在第四处理周期T4,第一指令和第二指令均处于写回阶段。
由于第一指令的第一执行结果和第二指令的第二执行结果预备同步写入同一寄存器(即第三寄存器),而一个寄存器在一个处理周期只能执行一次写操作,则可以基于预先设置的判断条件来判断保留第二指令的第二执行结果写入寄存器,终止第一指令的第一执行结果写入寄存器,或者可以保留第一指令的第一执行结果写入寄存器,终止第二指令的第二执行结果写入寄存器,如此终止多条指令中的剩余指令会造成所终止的指令的执行结果丢失,并且,由于判断条件复杂,基于判断条件来判断将哪一条指令的执行结果写入寄存器将会增加指令的执行结果的写入复杂度。
可以理解,CPU对指令的每个处理阶段可以在一个处理周期内进行,在一些可选的实例中,指令处于每个处理阶段的时间可以不等,即多个处理阶段对应的处理周期可以不等。
例如,指令处于取指阶段的时间等于处于解码阶段的时间,且等于写回阶段的时间,但是小于处于执行阶段的时间,即取指阶段对应的处理周期等于解码阶段对应的处理周期,且等于写回阶段对应的处理周期,但是小于执行阶段对应的处理周期。
图3示出另一种基于流水线对多条指令并行处理的示意图,其中,多条指令可以包括并行处理的第一指令和第二指令。CPU对第一指令的处理过程可以包括取指、解码、执行和写回四个阶段,CPU对第二指令的处理过程也可以包括取指、解码、执行和写回四个阶段。
由于CPU对第一指令和第二指令并行处理,因此,在第一处理周期T1,取指单元可以从内存中读取第一指令。即在第一处理周期T1,第一指令处于取指阶段。
在第二处理周期T2,取指单元可以从内存中读取第二指令,解码单元可以对第一指令进行解码处理,得到第一指令中的第一操作码和第一操作数的地址,并将第一操作码和第一操作数的地址发送至执行单元。即在第二处理周期T2,第一指令处于解码阶段,第二指令处于取指阶段。
在第三处理周期T3,解码单元可以对第二指令进行解码处理,得到第二指令中的第二操作码和第二操作数的地址,并将第二操作码和第二操作数的地址发送至执行单元。即,在第三处理周期T3,第二指令处于解码阶段。
在第三处理周期T3至第四处理周期T4的时间段内,执行单元可以根据第一操作数的地址从第一寄存器中获取第一操作数,并基于第一操作码对第一操作数进行算术或者逻辑处理,得到第一执行结果,并将第一执行结果发送至写回单元。即,在第三处理周期T3至第四处理周期T4的时间段内,第一指令处于执行阶段。
在第四处理周期T4,执行单元可以根据第二操作数的地址从第一寄存器或者第二寄存器中获取第二操作数,并基于第二操作码对第二操作数进行算术或者逻辑处理,得到第二执行结果,并将第二执行结果发送至写回单元。即在第四处理周期T4,第二指令处于执行阶段。
在第五处理周期T5,写回单元可以将第一执行结果写入第三寄存器,并且,写回单元可以将第二执行结果写入第三寄存器。即在第五处理周期T5,第一指令和第二指令均处于写回阶段。
由于第一指令的第一执行结果和第二指令的第二执行结果预备同步写入同一寄存器(即第三寄存器),而一个寄存器在一个处理周期只能执行一次写操作,则可以基于判断条件来判断保留第二指令的第二执行结果写入寄存器,终止第一指令的第一执行结果写入寄存器,或者可以保留第一指令的第一执行结果写入寄存器,终止第二指令的第二执行结果写入寄存器,如此终止多条指令中的剩余指令会造成所终止的指令的执行结果丢失,并且,由于判断条件复杂,基于判断条件来判断将哪一条指令的执行结果写入寄存器将会增加指令的执行结果的写入复杂度。
可见,在将多条指令的多条执行结果同步写入同一寄存器的场景中,由于一个寄存器在一个处理周期只能执行一次写操作,通常的方式是通过设置一系列判断条件,并基于判断条件来判断保留多条指令中的哪一条指令,并将多条指令中的剩余指令终止,即不将剩余指令对应的执行结果写入寄存器,如此如此终止多条指令中的剩余指令会造成所终止的指令的执行结果丢失,并且,由于判断条件复杂,基于判断条件来判断将哪一条指令的执行结果写入寄存器将会增加指令的执行结果的写入复杂度。
为了解决上述问题,本申请实施例提供一种指令执行控制方法。在该方法中,在一个处理周期内,若多条指令的多个处理结果预备在该处理周期写入第一寄存器,则从多条指令的多个执行结果中任意选择一条指令的一个执行结果写入该第一寄存器,以及将剩余指令的剩余执行结果在其他处理周期写入第一寄存器。如此,可以减少指令的执行结果的丢失,并且,无需设置判断条件来判断多条指令的多个执行结果中哪一条执行指令的执行结果写入该第一寄存器,可以减少指令的执行结果的写入复杂度。
例如,第一指令的第一执行结果和第二指令的第二执行结果预备在第一处理周期写入第一寄存器,则可以在一处理周期将第一指令的第一执行结果写入该第一寄存器。
在一些可选的实例中,可以在该处理周期后的其他不需要将执行结果写入该第一寄存器的处理周期内,将剩余执行结果中的任意一个写入该第一寄存器。例如,可以在不需要将执行结果写入该第一寄存器的第二处理周期内,将第二指令的第二执行结果写入该第一寄存器。
在另一些可选的实例中,也可以在该处理周期后的其他需要将执行结果写入该第一寄存器的处理周期内,将剩余执行结果中的任意一个写入该第一寄存器。例如,可以在需要将第三指令的第三执行结果写入该第一寄存器的第二处理周期内,将第二指令的第二执行结果写入该第一寄存器,以及在不需要将执行结果写入该第一寄存器的第三处理周期内,将第三指令的第三执行结果写入该第一寄存器。
可以理解,在第一处理周期内写入到第一寄存器中时,写回单元可以先设置该多个执行结果的写入顺序,再基于每个执行结果的写入顺序,将多个执行结果依次写入寄存器。如此,无需预先设置判断条件,并基于判断条件来判断选取多个执行结果中的哪一个执行结果在第一处理周期内写入第一寄存器,可以减少指令的执行结果的写入复杂度。
在一些可选的实例中,写入顺序可以包括指令的执行结果写入寄存器的处理周期,从而,写入顺序可以表示多条指令中每条指令的执行结果写入寄存器的先后顺序。
在一些可选的实例中,写回单元可以设置第一指令的第一执行结果的写入顺序为第一写入顺序,以及设置第二指令的第二执行结果的写入顺序为第二写入顺序。对于图2所示的第一指令和第二指令,写回单元可以基于第一写入顺序和第二写入顺序,在第四处理周期将第一指令的第一执行结果写入第三寄存器以及在第五处理周期将第二指令的第二执行结果写入第三寄存器。对于图3所示的第一指令和第二指令,写回单元可以基于第一写入顺序和第二写入顺序,可以在第五处理周期将第一指令的第一执行结果写入第三寄存器以及在第六处理周期将第二指令的执行结果写入第三寄存器,或者可以在第六处理周期将第一指令的第一执行结果写入第三寄存器以及在第七处理周期将第二指令的执行结果写入第三寄存器。
在一些可选的实例中,写回单元设置多条指令中每条指令的写入顺序的方式可以为:写回单元将多条指令中任意一条指令的执行结果的写入顺序设置为第一写入顺序,将多条指令的多条剩余指令中的任意一条指令的执行结果的写入顺序设置为第二写入顺序,以此类推,可以设置每条指令的执行结果的写入顺序。
下面对本申请实施例提及的指令执行控制方法进行介绍,图4示出了一种指令执行控制方法的流程示意图,如图4所示,该指令执行控制方法可以包括:
401:在第一处理周期内,向第一寄存器写入多个执行结果中的第一执行结果。
可以理解,对于多个执行结果预备在第一处理周期写入第一寄存器的情况,可以从多个执行结果中任意选择一个(例如第一执行结果)在第一处理周期写入第一寄存器。
在一些可选的实例中,可以设置多个执行结果中第一执行结果的写入顺序为第一写入顺序,该第一写入顺序可以表示第一执行结果在第一处理周期写入第一寄存器。
402:在第二处理周期内,向第一寄存器写入多个执行结果中的第二执行结果,其中,第二处理周期在第一处理周期后。
在一些可选的实例中,在第一处理周期后的第二处理周期,若第二处理周期未接收到待写入第二处理周期的执行结果,在第二处理周期可以将多个执行结果中除了第一执行结果之外的剩余执行结果中的任意一个写入第一寄存器。例如,在第二处理周期,将剩余执行结果中的第二执行结果写入第一寄存器。
在一些可选的实例中,在第一处理周期后的第二处理周期,若第二处理周期接收到待写入第二处理周期的执行结果,第三处理周期未接收待写入第三处理周期的执行结果,可以在第二处理周期,将第一执行结果写入第一寄存器,在第三处理周期将多个执行结果中除了第一执行结果之外的剩余执行结果中的任意一个写入第一寄存器。
本申请实施例中,可以减少指令的执行结果的丢失,并且,无需设置判断条件来判断多条指令的多个执行结果中哪一条执行指令的执行结果写入该第一寄存器,可以减少指令的执行结果的写入复杂度。
下面以几个具体的例子对上文提及的指令执行控制方法进行介绍。
图5示出了一种基于流水线对多条指令并行处理的示意图,其中,多条指令可以包括并行处理的第一指令和第二指令。CPU对第一指令的处理过程可以包括取指、解码、执行和写回四个阶段,CPU对第二指令的处理过程也可以包括取指、解码、执行和写回四个阶段。
由于CPU对第一指令和第二指令并行处理,因此,在第一处理周期T1,取指单元可以从内存中读取第一指令和第二指令。即在第一处理周期T1,第一指令和第二指令均处于取指阶段。
在第二处理周期T2,解码单元可以对第一指令进行解码处理,得到第一指令中的第一操作码和第一操作数的地址,并将第一操作码和第一操作数的地址发送至执行单元。并且,解码单元可以对第二指令进行解码处理,得到第二指令中的第二操作码和第二操作数的地址,并将第二操作码和第二操作数的地址发送至执行单元。即在第二处理周期T2,第一指令和第二指令均处于解码阶段。
在第三处理周期T3,执行单元可以根据第一操作数的地址从第一寄存器中获取第一操作数,并基于第一操作码对第一操作数进行算术或者逻辑处理,得到第一执行结果,并将第一执行结果发送至写回单元。并且,执行单元可以根据第二操作数的地址从第一寄存器或者第二寄存器中获取第二操作数,并基于第二操作码对第二操作数进行算术或者逻辑处理,得到第二执行结果,并将第二执行结果发送至写回单元。即在第三处理周期T3,第一指令和第二指令均处于执行阶段。
由于第一指令的第一执行结果和第二指令的第二执行结果预备写入同一寄存器(即第三寄存器),而一个寄存器在一个处理周期只能执行一次写操作,因此,写回单元可以设置第一指令的第一执行结果的写入顺序为第一写入顺序,以及设置第二指令的第二执行结果的写入顺序为第二写入顺序,进而可以基于第一写入顺序和第二写入顺序,在第四处理周期T4,写回单元可以将第一执行结果写入第三寄存器。即在第四处理周期T4,第一指令处于写回阶段。在第五处理周期T5,写回单元可以将第二执行结果写入第三寄存器。即在第五处理周期T5,第二指令处于写回阶段。如此,可以避免丢弃第一指令的第一执行结果或者丢弃第二指令的第二执行结果,可以避免数据丢失。
图6示出了一种基于流水线对多条指令并行处理的示意图,其中,多条指令可以包括并行处理的第一指令和第二指令。CPU对第一指令的处理过程可以包括取指、解码、执行和写回四个阶段,CPU对第二指令的处理过程也可以包括取指、解码、执行和写回四个阶段。
由于CPU对第一指令和第二指令并行处理,因此,在第一处理周期T1,取指单元可以从内存中读取第一指令。即在第一处理周期T1,第一指令处于取指阶段。
在第二处理周期T2,取指单元可以从内存中读取第二指令,解码单元可以对第一指令进行解码处理,得到第一指令中的第一操作码和第一操作数的地址,并将第一操作码和第一操作数的地址发送至执行单元。即在第二处理周期T2,第一指令处于解码阶段,第二指令处于取指阶段。
在第三处理周期T3,解码单元可以对第二指令进行解码处理,得到第二指令中的第二操作码和第二操作数的地址,并将第二操作码和第二操作数的地址发送至执行单元。即,在第三处理周期T3,第二指令处于解码阶段。
在第三处理周期T3至第四处理周期T4的时间段内,执行单元可以根据第一操作数的地址从第一寄存器中获取第一操作数,并基于第一操作码对第一操作数进行算术或者逻辑处理,得到第一执行结果,并将第一执行结果发送至写回单元。即在第三处理周期T3至第四处理周期T4的时间段内,第一指令处于执行阶段。
在第四处理周期T4,执行单元可以根据第二操作数的地址从第一寄存器或者第二寄存器中获取第二操作数,并基于第二操作码对第二操作数进行算术或者逻辑处理,得到第二执行结果,并将第二执行结果发送至写回单元。即在第四处理周期T4,第二指令处于执行阶段。
由于第一指令的第一执行结果和第二指令的第二执行结果预备同步写入同一寄存器(即第三寄存器),而一个寄存器在一个处理周期只能执行一次写操作,因此,写回单元可以设置第一指令的执行结果的写入顺序为第一写入顺序,第二指令的指令结果的写入顺序为第二写入顺序,进而可以基于第一写入顺序和第二写入顺序,在第五处理周期T5,写回单元可以将第一执行结果写入第三寄存器。即在第五处理周期T5,第一指令处于写回阶段。在第六处理周期T6,写回单元可以将第二执行结果写入第三寄存器。即在第六处理周期T6,第二指令处于写回阶段。如此,可以避免丢弃第一指令的第一执行结果或者丢弃第二指令的第二执行结果,可以避免数据丢失。
图7示出了一种基于流水线对多条指令并行处理的示意图,其中,多条指令可以包括并行处理的第一指令和第二指令。CPU对第一指令的处理过程可以包括取指、解码、执行和写回四个阶段,CPU对第二指令的处理过程也可以包括取指、解码、执行和写回四个阶段。
由于CPU对第一指令和第二指令并行处理,因此,在第一处理周期T1,取指单元可以从内存中读取第一指令。即在第一处理周期T1,第一指令处于取指阶段。
在第二处理周期T2,取指单元可以从内存中读取第二指令,解码单元可以对第一指令进行解码处理,得到第一指令中的第一操作码和第一操作数的地址,并将第一操作码和第一操作数的地址发送至执行单元。即在第二处理周期T2,第一指令处于解码阶段,第二指令处于取值阶段。
在第三处理周期T3,解码单元可以对第二指令进行解码处理,得到第二指令中的第二操作码和第二操作数的地址,并将第二操作码和第二操作数的地址发送至执行单元。即在第三处理周期T3,第二指令处于解码阶段。
在第三处理周期T3至第四处理周期T4的时间段内,执行单元可以根据第一操作数的地址从第一寄存器中获取第一操作数,并基于第一操作码对第一操作数进行算术或者逻辑处理,得到第一执行结果,并将第一执行结果发送至写回单元。即在第三处理周期T3至第四处理周期T4的时间段内,第一指令处于执行阶段。
在第四处理周期T4,执行单元可以根据第二操作数的地址从第一寄存器或者第二寄存器中获取第二操作数,并基于第二操作码对第二操作数进行算术或者逻辑处理,得到第二执行结果,并将第二执行结果发送至写回单元。即在第四处理周期T4,第二指令处于执行阶段。
由于第一指令的第一执行结果和第二指令的第二执行结果预备同步写入同一寄存器(即第三寄存器),而一个寄存器在一个处理周期只能执行一次写操作,因此,在第五处理周期T5,写回单元可以将第一执行结果写入第三寄存器。即在第五处理周期T5,第一指令处于写回阶段。在第七处理周期T7,写回单元可以将第二执行结果写入第三寄存器。即在第七处理周期T7,第二指令处于写回阶段。如此,可以避免丢弃第一指令的第一执行结果或者丢弃第二指令的第二执行结果,可以避免数据丢失。
可以理解的是,本申请实施例提及的指令执行控制方法可以适用于写后写(writeafter read,WAR)数据相关的场景。
可以理解,WAR可以是指前一条指令在前一处理周期处于写回阶段,后一条指令在后一处理周期也处于写回阶段,并且,前一条指令和后一条指令写入同一寄存器。
此时,若第三条指令在后一处理周期处于执行阶段,需要从前一条指令和后一条指令写入的寄存器获取操作数,然而,此时(即后一处理周期),前一条指令和后一条指令均未将操作数写入寄存器,执行单元无法从寄存器获取有效的操作数,如此将会造成指令执行错误。
图8示出一种基于流水线对多条指令并行处理的示意图,其中,多条指令可以包括并行处理的第一指令、第二指令和第三指令。CPU对第一指令的处理过程可以包括取指、解码、执行和写回四个阶段,CPU对第二指令的处理过程也可以包括取指、解码、执行和写回四个阶段,CPU对第三指令的处理过程也可以包括取指、解码、执行和写回四个阶段。
由于CPU对第一指令、第二指令和第三指令并行处理,因此,在第一处理周期T1,取指单元可以从内存中读取第一指令。即在第一处理周期T1,第一指令处于取指阶段。
在第二处理周期T2,取指单元可以从内存中读取第二指令,解码单元可以对第一指令进行解码处理,得到第一指令中的第一操作码和第一操作数的地址,并将第一操作码和第一操作数的地址发送至执行单元。即在第二处理周期T2,第一指令处于取指阶段,第二指令处于解码阶段。
在第三处理周期T3,取指单元可以从内存中读取第三指令,解码单元可以对第二指令进行解码处理,得到第二指令中的第二操作码和第二操作数的地址,并将第二操作码和第二操作数的地址发送至执行单元。即在第三处理周期T3,第二指令处于解码阶段,第三指令处于取指阶段。
在第三处理周期T3至第四处理周期T4的时间段内,执行单元可以根据第一操作数的地址从第一寄存器中获取第一操作数,并基于第一操作码对第一操作数进行算术或者逻辑处理,得到第一执行结果,并将第一执行结果发送至写回单元。即在第三处理周期T3至第四处理周期T4的时间段内,第一指令处于执行阶段。
在第四处理周期T4,执行单元可以根据第二操作数的地址从第一寄存器或者第二寄存器中获取第二操作数,并基于第二操作码对第二操作数进行算术或者逻辑处理,得到第二执行结果,并将第二执行结果发送至写回单元。解码单元可以对第三指令进行解码处理,得到第三指令中的第三操作码和第三操作数的地址,并将第三操作码和第三操作数的地址发送至执行单元。即在第四处理周期T4,第二指令处于执行阶段,第三指令处于解码阶段。
在第五处理周期T5,写回单元可以将第一执行结果写入第三寄存器,并且,写回单元可以将第二执行结果写入第三寄存器,执行单元可以根据第三操作数的地址从第三寄存器中获取第三操作数(例如第一指令的第一执行结果或者第二指令的第二执行结果),并基于第三操作码对第三操作数进行算术或者逻辑处理,得到第三执行结果,并将第三执行结果发送至写回单元。即在第五处理周期T5,第一指令和第二指令均处于写回阶段,第三指令处于执行阶段。
由于第一指令和第二指令均未将操作数(即第一指令的第一执行结果或者第二指令的第二执行结果)写入寄存器,执行单元无法从寄存器获取有效的第三操作数,如此将会造成指令执行错误。
为此,本申请实施例提供一种指令执行控制方法,在遇到WAR数据相关时,设置多条指令中每条指令的执行结果的写入顺序以及设置多条指令中部分指令的执行顺序,并基于每条指令的执行结果的写入顺序,将多条指令的多个执行结果写入依次写入寄存器,再基于部分指令的执行顺序从寄存器中获取操作数。
如图9所示,在第一处理周期T1,取指单元可以从内存中读取第一指令。即在第一处理周期T1,第一指令处于取指阶段。
在第二处理周期T2,取指单元可以从内存中读取第二指令,解码单元可以对第一指令进行解码处理,得到第一指令中的第一操作码和第一操作数的地址,并将第一操作码和第一操作数的地址发送至执行单元。即在第二处理周期T2,第一指令处于取指阶段,第二指令处于解码阶段。
在第三处理周期T3,取指单元可以从内存中读取第三指令,解码单元可以对第二指令进行解码处理,得到第二指令中的第二操作码和第二操作数的地址,并将第二操作码和第二操作数的地址发送至执行单元。即在第三处理周期T3,第二指令处于解码阶段,第三指令处于取指阶段。
在第三处理周期T3至第四处理周期T4的时间段内,执行单元可以根据第一操作数的地址从第一寄存器中获取第一操作数,并基于第一操作码对第一操作数进行算术或者逻辑处理,得到第一执行结果,并将第一执行结果发送至写回单元。即在第三处理周期T3至第四处理周期T4的时间段内,第一指令处于执行阶段。
在第四处理周期T4,执行单元可以根据第二操作数的地址从第一寄存器或者第二寄存器中获取第二操作数,并基于第二操作码对第二操作数进行算术或者逻辑处理,得到第二执行结果,并将第二执行结果发送至写回单元。解码单元可以对第三指令进行解码处理,得到第三指令中的第三操作码和第三操作数的地址,并将第三操作码和第三操作数的地址发送至执行单元。即在第四处理周期T4,第二指令处于执行阶段,第三指令处于解码阶段。
由于第一指令的第一执行结果和第二指令的第二执行结果预备同步写入同一寄存器(即第三寄存器),而一个寄存器在一个处理周期只能执行一次写操作,因此,写回单元可以设置第一指令的第一执行结果的写入顺序为第一写入顺序,第二指令的第二执行结果的写入顺序为第二写入顺序,第三指令的第三执行结果的写入顺序为第三写入顺序,进而可以根据第一写入顺序、第二写入顺序和第三写入顺序,在第五处理周期T5,写回单元可以将第一执行结果写入第三寄存器。即在第五处理周期T5,第一指令处于写回阶段。在第六处理周期T6,写回单元可以将第二执行结果写入第三寄存器。即在第六处理周期T6,第二指令处于写回阶段。在第七处理周期T7,执行单元可以根据第三操作数的地址从第三寄存器中获取第三操作数,并基于第三操作码对第三操作数进行算术或者逻辑处理,得到第三执行结果,并将第三执行结果发送至写回单元。即在第七处理周期T7,第三指令处于执行阶段。在第八处理周期T8,写回单元可以将第三执行结果写入第四寄存器。即在第八处理周期T8,第三指令处于写回阶段。如此,可以避免丢弃第一指令的第一执行结果或者丢弃第二指令的第二执行结果,可以避免数据丢失。也可以避免执行第三指令时无法获取准确的操作数,可以保证指令执行正确。
下面对电子设备的硬件结构进行介绍。下面对电子设备的硬件结构进行介绍。如图10所示,图10示出了一种电子设备的硬件结构示意图。可以理解的是,本申请的电子设备可以为服务器、台式机(桌面型电脑)、手持计算机、笔记本电脑(膝上型电脑)等电子设备,下面以电子设备为服务器为例对电子设备的结构进行介绍。
在一个实施例中,服务器可以包括一个或多个处理器1001,与处理器1001中的至少一个连接的系统控制逻辑1002,与系统控制逻辑1002连接的系统内存1003,与系统控制逻辑1002连接的非易失性存储器(NVM)1004,以及与系统控制逻辑1002连接的输入输出(I/O)设备1005和网络接口1006。
在一些实施例中,处理器1001可以包括一个或多个单核或多核处理器。在一些实施例中,处理器1001可以包括通用处理器和专用处理器(例如,图形处理器,应用处理器,基带处理器等)的任意组合。在服务器采用eNB(Evolved Node B,增强型基站)或RAN(RadioAccess Network,无线接入网)控制器的实施例中,处理器1001可以被配置为执行各种符合的实施例。
在一些实施例中,系统控制逻辑1002可以包括任意合适的接口控制器,以向处理器1001中的至少一个和/或与系统控制逻辑1002通信的任意合适的设备或组件提供任意合适的接口。
在一些实施例中,系统控制逻辑1002可以包括一个或多个存储器控制器,以提供连接到系统内存1003的接口。系统内存1003可以用于加载以及存储数据和/或指令10031。在一些实施例中服务器的内存可以包括任意合适的易失性存储器,例如合适的动态随机存取存储器(DRAM)。
非易失性存储器(NVM)1004可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性的计算机可读介质。在一些实施例中,非易失性存储器(NVM)1004可以包括闪存等任意合适的非易失性存储器和/或任意合适的非易失性存储设备,例如HDD(Hard DiskDrive,硬盘驱动器),CD(Compact Disc,光盘)驱动器,DVD(Digital Versatile Disc,数字通用光盘)驱动器中的至少一个。
非易失性存储器(NVM)1004可以包括安装服务器的装置上的一部分存储资源,或者它可以由设备访问,但不一定是设备的一部分。例如,可以经由网络接口1006通过网络访问非易失性存储器(NVM)1004。
特别地,系统内存1003和非易失性存储器(NVM)1004可以分别包括:指令的暂时副本和永久副本。指令可以包括:由处理器1001中的至少一个执行时导致服务器实施本申请实施例中提及的指令执行控制方法的指令。在一些实施例中,指令、硬件、固件和/或其软件组件可另外地/替代地置于系统控制逻辑1002,网络接口1006和/或处理器1001中。
网络接口1006可以包括收发器,用于为服务器提供无线电接口,进而通过一个或多个网络与任意其他合适的设备(如前端模块,天线等)进行通信。在一些实施例中,网络接口1006可以集成于服务器的其他组件。例如,网络接口1006可以集成于处理器1001的,系统内存1003,非易失性存储器(NVM)1004,和具有指令的固件设备(未示出)中的至少一种,当处理器1001中的至少一个执行所述指令时,服务器实现本申请实施例中提及的指令执行控制方法。
网络接口1006可以进一步包括任意合适的硬件和/或固件,以提供多输入多输出无线电接口。例如,网络接口1006可以是网络适配器,无线网络适配器,电话调制解调器和/或无线调制解调器。
在一个实施例中,处理器1001中的至少一个可以与用于系统控制逻辑1002的一个或多个控制器的逻辑封装在一起,以形成系统封装(SiP)。在一个实施例中,处理器1001中的至少一个可以与用于系统控制逻辑1002的一个或多个控制器的逻辑集成在同一管芯上,以形成片上系统(SoC)。
服务器可以进一步包括:输入/输出(I/O)设备1005。I/O设备1005可以包括用户界面,使得用户能够与服务器进行交互;外围组件接口的设计使得外围组件也能够与服务器交互。在一些实施例中,服务器还包括传感器,用于确定与服务器相关的环境条件和位置信息的至少一种。
在一些实施例中,用户界面可包括但不限于显示器(例如,液晶显示器,触摸屏显示器等),扬声器,麦克风,一个或多个相机(例如,静止图像照相机和/或摄像机),手电筒(例如,发光二极管闪光灯)和键盘。
在一些实施例中,外围组件接口可以包括但不限于非易失性存储器端口、音频插孔和电源接口。
在一些实施例中,传感器可包括但不限于陀螺仪传感器,加速度计,近程传感器,环境光线传感器和定位单元。定位单元还可以是网络接口1006的一部分或与网络接口1006交互,以与定位网络的组件(例如,全球定位系统(GPS)卫星)进行通信。
以上介绍了电子设备可能具有的硬件结构,可以理解的是,本申请实施例示意的结构并不构成对电子设备的具体限定。在本申请另一些实施例中,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
本申请公开的实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本申请的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
可将程序代码应用于输入指令,以执行本申请描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理系统包括具有诸如例如数字信号处理器(DSP)、微控制器、专用集成电路或微处理器之类的处理器的任何系统。
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本申请中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、只读存储器(CD-ROMs)、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息(例如,载波、红外信号数字信号等)的有形的机器可读存储器。因此,机器可读介质包括适合于以机器(例如,计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。
需要说明的是,本申请各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元/模块可以是一个物理单元/模块,也可以是一个物理单元/模块的一部分,还可以以多个物理单元/模块的组合实现,这些逻辑单元/模块本身的物理实现方式并不是最重要的,这些逻辑单元/模块所实现的功能的组合才是解决本申请所提出的技术问题的关键。此外,为了突出本申请的创新部分,本申请上述各设备实施例并没有将与解决本申请所提出的技术问题关系不太密切的单元/模块引入,这并不表明上述设备实施例并不存在其它的单元/模块。
需要说明的是,在本专利的示例和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
虽然通过参照本申请的某些实施例,已经对本申请进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本申请的范围。

Claims (10)

1.一种指令执行控制方法,其特征在于,包括:
在处理周期Ti接收到待写入的M个指令的M个执行结果;
在处理周期Ti内写入所述M个执行结果中的第一执行结果;
基于在处理周期Ti后的处理周期Ti+j内写入所述M个执行结果中的第二执行结果;
其中i和j为正整数,所述第一执行结果和所述第二执行结果为写入第一寄存器的执行结果。
2.根据权利要求1所述的方法,其特征在于,所述在处理周期Ti+j写入所述M个执行结果中的第二执行结果,包括:
在处理周期Ti后的处理周期Ti+j中,未接收到待写入所述处理周期Ti+j的执行结果;
在所述处理周期Ti+j内写入所述M个执行结果中的第二执行结果。
3.根据权利要求1所述的方法,其特征在于,所述在处理周期Ti+j写入所述M个执行结果中的第二执行结果,还包括:
判断出在处理周期Ti之后和所述处理周期Ti+j之间的处理周期Ti+k中,接收到待写入所述处理周期Ti+k的第三执行结果,所述第三执行结果不属于M个指令的M个执行结果;
在所述处理周期Ti+k内写入所述第三执行结果;
判断出在处理周期Ti后的处理周期Ti+j中,未接收到待写入所述处理周期Ti+j的执行结果;
在所述处理周期Ti+j内写入所述M个执行结果中的第二执行结果。
4.根据权利要求1所述的方法,其特征在于,所述在处理周期Ti+j写入所述M个执行结果中的第二执行结果,包括:
在处理周期Ti后的处理周期Ti+j中,接收到待写入所述处理周期Ti+j的第三执行结果,所述第三执行结果不属于M个指令的M个执行结果;
在所述处理周期Ti+j内写入所述M个执行结果中的第二执行结果。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在处理周期Ti+j后的处理周期Ti+n中,未接收到待写入所述处理周期Ti+n的执行结果;
在所述处理周期Ti+n内写入所述第三执行结果。
6.根据权利要求1-5任一项所述的方法,其特征在于,在对所述M个指令处理过程中,所述M个指令中的每个指令依次处于取指阶段、解码阶段、执行阶段和写回阶段;
所述取指阶段、解码阶段、执行阶段和写回阶段对应的处理周期相等;或者
所述取指阶段、解码阶段、执行阶段和写回阶段中至少任意两个阶段对应的处理周期不相等。
7.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
设置所述第一执行结果的写入顺序为第一写入顺序,以及设置所述第二执行结果的写入顺序为第二写入顺序;所述第一写入顺序表示的处理周期在所述第二写入顺序表示的处理周期之前;
所述在处理周期Ti内写入所述M个执行结果中的第一执行结果,基于在处理周期Ti后的处理周期Ti+j内写入所述M个执行结果中的第二执行结果,包括:
基于所述第一写入顺序和所述第二写入顺序,在处理周期Ti内写入所述M个执行结果中的第一执行结果,基于在处理周期Ti后的处理周期Ti+j内写入所述M个执行结果中的第二执行结果。
8.一种芯片,其特征在于,包括处理器和第一寄存器,
所述处理器用于执行所述指令,当所述处理器执行所述指令时,执行如权利要求1-7任一项所述的指令执行控制方法;
所述第一寄存器用于存储所述指令的执行结果。
9.一种电子设备,其特征在于,包括:如权利要求8所述的芯片。
10.一种存储介质,其特征在于,所述存储介质上存储有指令,所述指令在电子设备上执行时使得所述电子设备执行权利要求1-7任一项所述的指令执行控制方法。
CN202311769809.6A 2023-12-20 2023-12-20 一种指令执行控制方法、芯片、电子设备及存储介质 Pending CN117762487A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311769809.6A CN117762487A (zh) 2023-12-20 2023-12-20 一种指令执行控制方法、芯片、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311769809.6A CN117762487A (zh) 2023-12-20 2023-12-20 一种指令执行控制方法、芯片、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN117762487A true CN117762487A (zh) 2024-03-26

Family

ID=90323167

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311769809.6A Pending CN117762487A (zh) 2023-12-20 2023-12-20 一种指令执行控制方法、芯片、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN117762487A (zh)

Similar Documents

Publication Publication Date Title
US9262160B2 (en) Load latency speculation in an out-of-order computer processor
US7340566B2 (en) System and method for initializing a memory device from block oriented NAND flash
US9639369B2 (en) Split register file for operands of different sizes
US7406560B2 (en) Using multiple non-volatile memory devices to store data in a computer system
US10713021B2 (en) Geometric 64-bit capability pointer
CN111158756B (zh) 用于处理信息的方法和装置
CN114721720B (zh) 一种指令集扩展方法、装置、电子设备及存储介质
US20230084523A1 (en) Data Processing Method and Device, and Storage Medium
CN111651202A (zh) 一种用于执行向量逻辑运算的装置
US8095775B1 (en) Instruction pointers in very long instruction words
CN107844321B (zh) 一种mcu处理系统
US9817763B2 (en) Method of establishing pre-fetch control information from an executable code and an associated NVM controller, a device, a processor system and computer program products
US20100199067A1 (en) Split Vector Loads and Stores with Stride Separated Words
CN111295641B (zh) 使用宽度减小vliw处理器的vliw指令处理的系统和方法
CN117762487A (zh) 一种指令执行控制方法、芯片、电子设备及存储介质
CN112540794A (zh) 处理器核、处理器、装置和指令处理方法
US11210091B2 (en) Method and apparatus for processing data splicing instruction
US8117427B2 (en) Motherboard, storage device and controller thereof, and booting method
CN117687693A (zh) 一种指令处理方法、芯片、电子设备及存储介质
US9389865B1 (en) Accelerated execution of target of execute instruction
JP3481479B2 (ja) 命令制御装置
US11914998B2 (en) Processor circuit and data processing method for load instruction execution
US20130318509A1 (en) Generating object code from a conjoined assembler directive
CN118295709A (zh) 一种指令处理方法、芯片、电子设备及存储介质
US20050204089A1 (en) Method and related system for accessing lpc memory or firmware memory in a computer system

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