CN1627253A - 条件控制管理装置及方法 - Google Patents
条件控制管理装置及方法 Download PDFInfo
- Publication number
- CN1627253A CN1627253A CN 200310109315 CN200310109315A CN1627253A CN 1627253 A CN1627253 A CN 1627253A CN 200310109315 CN200310109315 CN 200310109315 CN 200310109315 A CN200310109315 A CN 200310109315A CN 1627253 A CN1627253 A CN 1627253A
- Authority
- CN
- China
- Prior art keywords
- condition
- conditional
- register
- instruction
- circuit
- 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
Links
Images
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
提供一种用于数据处理系统中的条件控制管理装置和方法,所述管理装置包括:存放多个条件运算结果的多个条件寄存器;以及管理单元,所述管理单元具有运算电路和选通电路,所述运算电路按照条件指令要求的条件对上述多个条件寄存器的各个条件运算结果进行运算,所述选通电路根据所述运算电路运算得到的结果在一运算选通信号的控制下输出选中的运算结果作为管理单元的输出控制信号,控制数据处理系统的执行单元执行对条件指令的操作,其中所述条件指令为条件执行指令或条件跳转指令。
Description
技术领域
本发明涉及微处理器领域,尤其是涉及一种在微处理器中管理条件控制的装置和方法。
背景技术
微处理器以连续执行多条指令来进行数据处理,并常常会引入多条流水线在同一时钟周期内同时对多条指令进行操作,以此来提高数据处理速度。但指令的处理过程并不总是依序进行,有的指令是要求在满足了一定条件后要跳转到某个地址执行新的指令,这种依据一定条件进行跳转的指令称为条件跳转指令。也有一些指令是要求在满足了一定条件后就执行一些给定的指令,这种指令称为条件执行指令。条件跳转指令和条件执行指令可统称为条件指令。
为了更有效率地执行这种根据一定条件进行条件执行或条件跳转的指令,可以在处理器中设置条件寄存器。相应地,可以专门设计一些条件控制指令,对一定的条件是否满足进行判断,当条件满足时,即对该条件寄存器赋值。这样就可以直接利用条件寄存器的值来判断是否满足一定的条件,以决定是否进行条件执行指令或条件跳转指令的操作。
然而,在实际的数据处理过程中,用来进行判断的条件往往多种多样,如果为每种条件或者大多数种类的条件都设置一个专门的条件控制指令,显然是不够现实的。因为这些指令中大多数使用频率不太高,也就是说,其本身的使用范围就有一定的限制;同时也会使指令集更加庞大,而相应的译码单元也变会得更为复杂,如此一来就降低了指令集的整体效率。
在现有的一些处理器中采用了另一种处理方式,它们在进行条件较为复杂或是指令集中没有设计专门的条件控制指令时、或者是当后一条件执行指令的条件可能与在前执行的条件指令的条件运算结果相关而需要暂时保留条件寄存器的值时,就把条件寄存器的值转赋给通用寄存器,对通用寄存器按照一般数据运算的操作方式进行逻辑运算等操作,再把运算操作得到的值重新赋给条件寄存器。这种处理方式对于条件判断需要执行额外的运算操作,不利于处理器功耗的降低;另外要额外增加赋值、执行运算操作及写回到条件寄存器的时间开销,也影响了整体上的指令处理速度。
在VLIW(超长指令字)体系的处理器中,1个指令包中的多个子指令可以并行处理;而在流水线结构进行指令处理的系统中,同一个指令周期内可能有多条指令依序以流水线方式在进行处理。这样的情形下,如果同时有多条子指令为条件执行指令或条件控制指令,对于条件寄存器就很可能引起冲突,特别是对于条件较为复杂或是没有专门的条件控制指令的系统,如果采用了现有技术中以赋值给通用寄存器来进行条件运算的方法,可能会有多个子指令同时要求进行条件运算,这样,很容易引起流水线冲突,造成流水线的堵塞;另一方面也会要求程序员被迫考虑哪些指令可以并行执行,如何避免流水线的冲突,加重程序员的负担。而程序员为避免流水线的冲突,仅仅是为了流水线时间上的延迟,就需要在软件上来插入无意义的空(NOP)指令,由此从功耗和处理速度两方面都会造成一定的影响。
为克服现有技术中对需要依据对条件的判断结果来进行处理的指令执行效率低下的问题,本发明提出了一种条件控制管理装置和一种条件控制管理方法。
发明内容
本发明的目的在于提供一种条件控制管理装置和一种条件控制管理方法,提高数据处理中条件执行指令和条件跳转指令等需要依据对条件的判断结果来进行处理的指令的执行效率,并减少流水线的冲突。
本发明所采用的技术方案是在数据处理系统中设置一种条件控制管理装置。该装置包括存放多个条件运算结果的多个条件寄存器,以及管理单元。管理单元具有按照条件指令要求的条件对上述多个条件寄存器的各个条件运算结果直接进行运算的运算电路和选通电路,选通电路根据运算电路运算得到的结果在运算选通信号的控制下发出控制信号控制数据处理系统的执行单元对条件指令的操作。
其中上述条件运算结果为逻辑值,管理单元对上述条件运算结果直接进行的运算为逻辑运算。
条件控制管理装置的管理单元中的选通电路发出的控制信号分为使能信号和不使能信号。数据处理系统的执行单元对控制信号进行响应,当控制信号为使能信号时,将会进行条件指令的操作;当控制信号为不使能信号时,将会执行该条件指令的下一条指令。
本发明提供的条件控制管理方法是先对条件指令进行解码,再把解码后的条件指令送入条件控制管理装置。条件控制管理装置把多个条件寄存器中存放的多个运算结果送入管理单元,并按照条件指令所要求的条件对送入的多个条件运算结果进行运算,生成控制信号。然后管理单元把控制信号送给数据处理系统的执行单元。数据处理系统的执行单元得到的控制信号如果为使能信号,将会进行条件指令的操作;执行单元得到的控制信号如果为不使能信号,将会执行该条件指令的下一条指令。
本发明中,上述逻辑运算为与、或、非、或非、与非逻辑运算。上述运算电路也可以是非逻辑电路、比较电路或组合逻辑电路。
本发明中,所述条件指令为条件执行指令或条件跳转指令。
本发明提供多个条件寄存器,并采用条件控制管理装置直接对条件寄存器进行运算和控制,可以满足多个条件指令并行执行的需求,尤其与VLIW(超长指令字)体系的多路并行计算能力相匹配,有利于减少多指令并行时可能产生的冲突,这样,不仅提高了算法优化的能力,也大大加快了条件指令的处理速度。
附图说明
以下附图为对本发明示例性实施例的辅助说明,结合以下附图对本发明实施例的阐述,是为进一步揭露本发明的特征所在,但并不限制本发明,图中相同标号代表实施例中相应元件或步骤,其中:
图1为实施本发明的一数字信号处理系统的结构示意图。
图2为本发明的条件控制管理装置的结构图。
图3为本发明的条件控制管理方法的流程图。
具体实施方式
图1所示为一种示例性的数字信号处理系统的结构示意图。该系统包括数据存储器11、指令存储器12、指令缓冲器13、解码器14、数据地址产生单元15、控制寄存器16和执行单元17。数据存储器和指令存储器分别装载数据和指令。执行指令时,先从指令存储器的对应地址取指令,送入指令缓冲器,再从指令缓冲器顺序送入解码器进行指令解码。有的指令也可以直接从指令缓冲器中取指令,再直接送入解码器进行指令解码。指令解码后传送给数据地址产生单元产生数据地址,然后在数据存储器中相应的数据地址取数据并装载到执行单元进行运算。指令解码后的控制信号送往控制寄存器,控制寄存器对指令执行的顺序或状态等进行协调和管理。已公开的控制寄存器中可以包括地址寄存器、偏移寄存器、取模寄存器等,也可以包括各种标志位寄存器,如溢出标志位寄存器、进位标志位寄存器等。而为了判断并执行各种条件指令(包括条件执行指令和条件跳转指令),也可以在控制寄存器中配置条件寄存器,存放条件运算的结果。这样,对要进行的条件执行指令或条件跳转指令,可以直接利用对条件寄存器中的条件进行判断来决定是否执行或跳转。而对于之后的条件指令,如果要求的条件与条件寄存器中一致,则不再需要重新进行条件运算,而可以直接利用条件寄存器的存放值进行判断。如本领域中的技术人员所已知的那样,数字信号处理系统中也可以不完全包括数据存储器、指令存储器、指令缓冲器、解码器、数据地址产生单元等,另一方面,数字信号处理系统也可以以微处理器来实现。
在本发明的实施例中,控制寄存器具有条件控制管理装置。如图2所示,条件控制管理装置包括第一条件寄存器T0、第二条件寄存器T1和管理单元20。第一条件寄存器T0和第二条件寄存器T1均为1位的标志位寄存器。指令集可以设置各种条件控制指令来进行各类逻辑运算,运算结果则送入第一条件寄存器T0和第二条件寄存器T1进行存放。而赋值语句等指令同样可以对第一条件寄存器T0和第二条件寄存器T1的值进行改写。对于有两条条件子指令并行的母指令,可以把得到的运算结果分别送入第一条件寄存器T0和第二条件寄存器T1。系统中条件寄存器的数量并不受限制,例如,在VLIW(超长指令字)体系的指令集中,一条母指令中包含多条可以同时执行的子指令,如果母指令中有较多的条件子指令并行,则可以按照实际需求设置更多的条件寄存器,因此本发明并不限于仅有两个条件寄存器,本领域的普通技术人员完全可以按需设置多个条件寄存器,这并没有超出本发明的范围。
在此,以“比较数据寄存器”指令(CMPD)为例来解释条件控制指令,并以此说明第一条件寄存器T0和第二条件寄存器T1中存放的第一条件运算结果和第二条件运算结果的获得。
“比较数据寄存器”指令(CMPD)对数据寄存器的值进行比较,并把比较判断的结果赋予第一条件寄存器T0或第二条件寄存器T1。本实施例中设置了8个数据寄存器,分别为:DR0、DR1、DR2、DR3、DR4、DR5、DR6、DR7。以下为三种类型的CMPD指令:
(1)CMPD{GTS|LTS|EQ}<DRX>,<DRY>,<Tn>
其中,GTS表示“大于”,LTS表示“小于”,EQ表示“等于”,DRX和DRY(其中,X=0、1、2、...、7,Y=0、1、2、...、7,且X不等于Y)分别表示第一数据寄存器的值和第二数据寄存器的值,其中,第一和第二数据寄存器可以是上述8个数据寄存器中的任意两个数据寄存器,本领域的技术人员完全可以按照实际情况进行选择。Tn指示出该条件控制指令将要进行改写的为T0还是T1,本领域的技术人员完全可以按需设置Tn的值与T0和T1的对应关系,例如,Tn为0时指示出该条件控制指令将要进行改写的为T0、Tn为1时指示出该条件控制指令将要改写的是T1,反之亦然。该指令格式如下所示:
OC | 1 | 0 | 1 | 0 | 1 | 1 | m | m | Tn | e | e | e | E | E | E |
其中,OC为指令操作码,例如可用在并行子指令中指示该条子指令的存在,这是本领域所已知的。eee为第一数据寄存器DRX的值,EEE为第二数据寄存器DRY的值。mm可选的值为GTS/LTS/EQ,编码分别为00/01/10。这条指令是对第一数据寄存器的值和第二数据寄存器的值进行比较,结果为mm则Tn置1,否则置0。
(2)CMPD{GTS|LTS|EQ}<DRX>,#<imm3>,<Tn>
其中,GTS、LTS、EQ意义同上;DRX表示上述8个数据寄存器中任一个数据寄存器的值,imm3表示无符号的3位立即数,Tn指示出该条件控制指令将要进行改写的为T0还是T1。该指令格式如下:
OC | 1 | 0 | 1 | 1 | 1 | 0 | m | m | Tn | e | e | e | I | I | I |
OC为指令操作码,例如可用在并行子指令中指示该条子指令的存在。eee为数据寄存器的值,III为3位的立即数值。mm可选的值为GTS/LTS/EQ,编码分别为00/01/10。这条指令是把数据寄存器DRX的值和一个无符号的3位立即数进行比较,结果为mm则Tn置1,否则置0。
(3)CMPD{GTU|LTU|EQ}<DRX>,#<imm16>,<Tn>
其中,GTU、LTU分别表示“大于无符号数”和“小于无符号数”,EQ意义同上;DRX表示数据寄存器的值,imm16表示16位立即数,Tn指示出该条件控制指令将要进行改写的为T0还是T1。指令格式如下所示:
oc1 | 11 | 1 | 1 | 0 | 1 | m | m | Tn | i | i | i | A A A | oc2 | 0 0 | i i i i i i i i i i i i i |
OC1、OC2为指令操作码,例如可用在并行子指令中指示该条子指令的存在。AAA为数据寄存器DRX的值,16个i表征一个无符号的16位立即数。mm可选的值为GTU/LTU/EQ,编码分别为00/01/10。这条指令是把数据寄存器的值和一个由16位无符号立即数扩展而成的值进行比较,结果为mm则Tn置1,否则置0。
第一条件寄存器T0和第二条件寄存器T1可分别存放不同或相同的条件控制指令的条件运算结果。可将第一条件寄存器T0和第二条件寄存器T1中存放的数据分别称为第一条件运算结果和第二条件运算结果。条件控制指令对第一、第二条件寄存器T0、T1进行修改后,条件指令可以依据第一或第二条件寄存器T0或T1中存放的第一条件运算结果或第二条件运算结果进行执行或跳转操作。如果第一或第二条件运算结果的值为1,表示条件执行指令(或条件跳转指令)的条件得到满足,可以进行条件执行指令(或条件跳转指令)的操作;如果第一或第二条件运算结果的值为0,表示条件执行指令(或条件跳转指令)条件不满足,不再执行条件执行指令(或条件跳转指令)要求的操作,而是直接跳到条件执行指令(或条件跳转指令)的下一条指令。在此,条件控制指令对第一、第二条件寄存器T0、T1是显性的修改,条件寄存器在修改后,只要没有其他的条件控制指令对该第一、第二条件寄存器T0、T1进行修改,那么之后依据该条件控制指令的条件执行指令(或条件跳转指令)可以直接引用第一、第二条件寄存器T0、T1的值。因此,可以在条件控制指令之后插入其他的指令,而依据该条件控制指令的条件执行指令(或条件跳转指令)仍可直接引用第一、第二条件寄存器T0、T1的值,并且可以有多条依据该条件控制指令的条件执行指令(或条件跳转指令)直接引用第一、第二条件寄存器T0、T1的值。这里所述的条件执行指令和条件跳转指令可统称为条件指令,这是本领域的技术人员所能理解的。
条件控制管理装置中的管理单元隐性声明对条件寄存器的修改。当需要不显性修改第一、第二条件寄存器T0、T1的值,例如要在多条依据同一条件控制指令的条件指令中插入一条依据其他条件控制指令的条件指令(包括条件执行指令和条件跳转指令),或者当条件指令所依据的条件无法直接由系统指令集中已定义的条件控制指令而得到时,管理单元可以对第一、第二条件寄存器T0、T1进行各种逻辑运算,而不必转赋于通用寄存器而在系统的算术运算单元(ALU)中进行运算再写回到第一、第二条件寄存器T0、T1。如图2所示,第一、第二条件寄存器T0、T1中的值送入管理单元,由管理单元进行逻辑运算后,发出控制信号(执行控制信号或跳转控制信号)。本实施例中管理单元发出的控制信号为二元信号,分为使能信号(执行使能信号或跳转使能信号)和不使能信号(不执行信号或不跳转信号),由数据处理系统的执行单元对控制信号进行响应。在本实施例中,当控制信号为1时,为使能信号,指示出条件指令所依据的条件得到了满足,可以进行条件指令相应的执行命令;当控制信号为0时,即为不使能信号,指示出条件指令所依据的条件未得到满足,因而直接跳到条件指令的下一条指令,而不再执行条件指令要求进行处理的指令,然而本领域的技术人员也可以按需设置成当控制信号为0时为使能信号,当控制信号为1时为不使能信号。
图2所示的管理单元20包括运算电路201和选通电路202。运算电路可以与条件指令(条件执行指令或条件跳转指令)要求的运算类型相对应,包含与、或、非、与非、或非等多个逻辑电路。选通电路可以是多路复用器或其它选通功能的电路。下文中,以多路复用器为例来描述选通电路。条件指令经解码器译码后的操作码中包含运算选通信号,指出需要对第一、第二条件寄存器T0、T1进行的逻辑运算的类型,如与、或、非、与非、或非等。第一、第二条件寄存器T0、T1的值送入逻辑运算电路,对应于每种运算类型的多个逻辑电路可以同时对第一、第二条件寄存器T0、T1送入的值进行运算。而多个逻辑电路的运算完成后,多个逻辑运算结果分别直接送到多路复用器的输入端。多路复用器的控制端为所述运算选通信号。运算选通信号按照所需的逻辑运算类型,控制多路复用器选择相应的逻辑电路的运算结果,并从输出端送出选中的运算结果。多路复用器输出端送出的运算结果即为管理单元发出的控制信号,从而可直接对条件指令进行控制。这里,管理单元的控制信号与经选通的逻辑电路的运算结果直接对应,选通的逻辑电路的运算结果可能为1或0,而控制信号也相应地为1或0。在其它实施例中,管理单元的运算电路可以为非逻辑电路,也可以加入比较电路或其它组合逻辑电路,使多路复用器输出端的控制信号仍旧为1或0,从而可直接判断是否执行条件指令所包含的命令。
本实施例以条件执行指令为例来进行说明。条件执行指令为if*cc形式,其中*为条件执行指令在执行条件命令时所依据的判断条件,cc为满足条件后要执行的操作。*的判断条件主要有如下几种运算类型:
(1)[T0],其编码为00010,含义为if T0 True do,即T0为真时,条件满足;
(2)[!T0],其编码为00011,含义为if T0 False do,即T0为假时,条件满足;
(3)[T1],其编码为00110,含义为if T1 True do,即T1为真时,条件满足;
(4)[!T1],其编码为00111,含义为if T1 False do,即T1为假时,条件满足;
(5)[T0||T1],其编码为01000,含义为if[T1,T0]!=00 do,即T0或T1至少其中之一为真时,条件满足;
(6)[!T0||T1],其编码为01001,含义为if[T1,T0]!=01 do,即!T0或T1至少其中之一为真时,条件满足;
(7)[T0||!T1],其编码为01010,含义为if[T1,T0]!=10 do,即T0或!T1至少其中之一为真时,条件满足;
(8)[!T0||!T1],其编码为01011,含义为if[T1,T0]!=11 do,即!T0或!T1至少其中之一为真时,条件满足;
(9)[T0&&T1],其编码为01111,含义为if[T1,T0]==11 do,即T0和T1二者均为真时,条件满足;
(10)[!T0&&T1],其编码为01110,含义为if[T1,T0]==10 do,即!T0和T1者均为真时,条件满足;
(11)[T0&&!T1],其编码为01101,含义为if[T1,T0]==01 do,即T0和!T1二者均为真时,条件满足;
(12)[!T0&&!T1],其编码为01100,含义为if[T1,T0]==00 do,即!T0和!T1二者均为真时,条件满足。
其中的条件执行指令的12种类型的编码直接对应于运算选通信号,而管理单元的运算电路也相应的包含上述12种运算类型的逻辑电路。运算选通信号控制多路复用器选择相应运算类型的逻辑电路所送出的运算结果,从而可以控制条件寄存器的运算类型。在本发明的一个实施例中,运算电路中为每一种运算类型设置了专门的逻辑电路,因此可以通过逻辑电路的数量增减来满足实际的运算需求。由于与、或、非等逻辑电路为本领域人员熟知的技术,在此不做过多描述。在其它实施例中,运算类型也可以根据实际的运算需求进行调整,例如可直接通过改变运算电路的具体电路布线来实现,这种实现方法也是本领域中所已知的。
条件执行指令的前缀部分(prefix)用T来表征指令是否执行以及采用怎样的执行方式,这样,对条件执行指令在多级流水线的译码级即可根据第一条件寄存器T0或/和第二条件寄存器T1的值来决定是否执行。对于多级流水线上同时有多条不同条件执行指令要求处理的情况,至少就可以利用两个显性的条件寄存器,即第一条件寄存器T0和第二条件寄存器T1,另外有隐性的管理单元来判断条件是否满足。另一方面,条件寄存器的数量可以根据系统和指令集的要求来配置,这是本领域的技术人员所易于理解的。
可以理解的是,条件跳转指令等运用条件作判断进行处理的指令与条件执行指令相似,是在判断满足了一定条件后即跳转到其它指令,因此,本发明的条件控制管理单元类似地可应用于这些条件跳转指令以对判断条件进行有效的控制,这对于本领域的普通技术人员来说是显而易见的,因此,对于条件跳转指令的描述这里不再赘述。
本发明提供的条件控制管理方法的执行步骤可参见图3。该方法中的步骤S1是利用解码器对指令缓冲器送出的条件指令进行译码。步骤S2把译码后的条件指令送入条件控制管理装置。步骤S3中条件控制管理装置按照条件指令所要求的条件把第一条件寄存器T0或/和第二条件寄存器T1的条件运算结果送入条件控制管理装置的管理单元,选通控制信号经过管理单元的选通电路(即多路复用器)在管理单元中选择相应的运算电路进行运算。步骤S4把管理单元中运算电路的运算结果经由多路复用器后生成控制信号,送给执行单元。步骤S5中执行单元根据控制信号,控制对指令的操作,所述控制信号为二元信号,以1表示使能信号、0表示不使能信号,或反之亦然。数据处理系统的执行单元得到的控制信号为使能信号,将会执行条件指令的操作;执行单元得到的控制信号为不使能信号,将会执行条件指令的下一条指令。在该方法中,所述条件指令是条件执行指令或条件跳转指令。
本实施例只是为了进一步更清楚地描述本发明,而非对本发明的限制。例如,本发明并不限于特定的数字信号处理系统,在其他不同的控制系统或数据处理系统中同样也可以应用本发明。应该可以理解,本发明并不限于实施例所做的阐述,任何基于本发明的修改和本发明的等同物都应涵盖在本发明的精神和范围之内。
Claims (10)
1.一种用于数据处理系统中的条件控制管理装置,所述数据处理系统具有控制寄存器和执行单元,所述条件控制管理装置包含于所述控制寄存器中,其特征在于,所述条件控制管理装置包括:
存放多个条件运算结果的多个条件寄存器;以及
管理单元,
其中,所述管理单元具有运算电路和选通电路,所述运算电路按照条件指令要求的条件对上述多个条件寄存器的各个条件运算结果进行运算,所述选通电路根据所述运算电路运算得到的结果在一运算选通信号的控制下输出选中的运算结果作为管理单元的输出控制信号,控制数据处理系统的执行单元执行对条件指令的操作。
2.如权利要求1所述的条件控制管理装置,其特征在于,所述运算电路为逻辑运算电路,所述条件运算结果为逻辑值。
3.如权利要求2所述的条件控制管理装置,其特征在于,所述逻辑运算电路包括与、或、非、或非、与非逻辑电路中的一种或多种。
4.如权利要求1所述的条件控制管理装置,其特征在于,所述运算电路是非逻辑电路、比较电路或组合逻辑电路中的任一种。
5.如权利要求1所述的条件控制管理装置,其特征在于,所述选通电路为多路复用器。
6.如上述任一项权利要求所述的条件控制管理装置,其特征在于,所述管理单元的输出控制信号分为使能信号和不使能信号,所述数据处理系统的执行单元对所述输出控制信号进行响应,当所述输出控制信号为使能信号时,进行条件指令的操作,当所述输出控制信号为不使能信号时,执行该条件指令的下一条指令。
7.如权利要求6所述的条件控制管理装置,其特征在于,所述条件指令为条件执行指令或条件跳转指令。
8.一种用于数据处理系统中的条件控制管理方法,所述数据处理系统具有控制寄存器和执行单元,所述条件控制管理装置包含于所述控制寄存器中,其特征在于,所述方法包括以下步骤:
对条件指令进行解码;
把解码后的条件指令送入条件控制管理装置,其中所述条件管理装置具有多个条件寄存器和一个管理单元;
把所述多个条件寄存器中存放的多个条件运算结果送入管理单元,管理单元中具有运算电路和选通电路,所述运算电路对所送入的多个条件运算结果进行运算,选通电路根据运算选通信号选出运算结果作为条件管理装置的管理单元的输出控制信号;
管理单元把输出控制信号送给数据处理系统的执行单元;
数据处理系统的执行单元根据所述输出控制信号执行条件指令的操作。
9.如权利要求8所述的条件控制管理方法,其特征在于,所述管理单元的输出控制信号分为使能信号和不使能信号,所述数据处理系统的执行单元对所述输出控制信号进行响应,当所述输出控制信号为使能信号时,进行条件指令的操作,当所述输出控制信号为不使能信号时,执行该条件指令的下一条指令。
10.如权利要求8或9所述的条件控制管理方法,其特征在于,所述条件指令为条件执行指令或条件跳转指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2003101093151A CN1302379C (zh) | 2003-12-12 | 2003-12-12 | 条件控制管理装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2003101093151A CN1302379C (zh) | 2003-12-12 | 2003-12-12 | 条件控制管理装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1627253A true CN1627253A (zh) | 2005-06-15 |
CN1302379C CN1302379C (zh) | 2007-02-28 |
Family
ID=34758937
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2003101093151A Expired - Fee Related CN1302379C (zh) | 2003-12-12 | 2003-12-12 | 条件控制管理装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1302379C (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101847092A (zh) * | 2009-05-20 | 2010-09-29 | 威盛电子股份有限公司 | 微处理器以及指令执行方法 |
CN101859325A (zh) * | 2010-06-07 | 2010-10-13 | 华为技术有限公司 | 一种数据表项的查找处理方法和装置 |
CN102566975A (zh) * | 2010-12-27 | 2012-07-11 | 北京国睿中数科技股份有限公司 | 一种跳转路径的分支跳转处理装置、方法和处理器 |
CN102707927A (zh) * | 2011-04-07 | 2012-10-03 | 威盛电子股份有限公司 | 具有条件指令的微处理器及其处理方法 |
CN113485748A (zh) * | 2021-05-31 | 2021-10-08 | 上海卫星工程研究所 | 卫星条件指令系统及其执行方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001344100A (ja) * | 2000-06-02 | 2001-12-14 | Sharp Corp | 複数のフラグレジスタを備えた中央演算処理装置 |
US6647489B1 (en) * | 2000-06-08 | 2003-11-11 | Ip-First, Llc | Compare branch instruction pairing within a single integer pipeline |
-
2003
- 2003-12-12 CN CNB2003101093151A patent/CN1302379C/zh not_active Expired - Fee Related
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101847092A (zh) * | 2009-05-20 | 2010-09-29 | 威盛电子股份有限公司 | 微处理器以及指令执行方法 |
CN101847092B (zh) * | 2009-05-20 | 2013-08-21 | 威盛电子股份有限公司 | 微处理器以及指令执行方法 |
CN101859325A (zh) * | 2010-06-07 | 2010-10-13 | 华为技术有限公司 | 一种数据表项的查找处理方法和装置 |
CN101859325B (zh) * | 2010-06-07 | 2012-07-11 | 华为技术有限公司 | 一种数据表项的查找处理方法和装置 |
CN102566975A (zh) * | 2010-12-27 | 2012-07-11 | 北京国睿中数科技股份有限公司 | 一种跳转路径的分支跳转处理装置、方法和处理器 |
CN102707927A (zh) * | 2011-04-07 | 2012-10-03 | 威盛电子股份有限公司 | 具有条件指令的微处理器及其处理方法 |
CN102707927B (zh) * | 2011-04-07 | 2016-02-03 | 威盛电子股份有限公司 | 具有条件指令的微处理器及其处理方法 |
CN105468333A (zh) * | 2011-04-07 | 2016-04-06 | 威盛电子股份有限公司 | 具有条件指令的微处理器及其处理方法 |
CN105468333B (zh) * | 2011-04-07 | 2018-04-06 | 威盛电子股份有限公司 | 具有条件指令的微处理器及其处理方法 |
CN113485748A (zh) * | 2021-05-31 | 2021-10-08 | 上海卫星工程研究所 | 卫星条件指令系统及其执行方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1302379C (zh) | 2007-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1158596C (zh) | 使用相关矩阵的调度操作 | |
CN1128401C (zh) | 超标量处理机系统中单周期调度多指令的方法和系统 | |
US6418527B1 (en) | Data processor instruction system for grouping instructions with or without a common prefix and data processing system that uses two or more instruction grouping methods | |
US7366874B2 (en) | Apparatus and method for dispatching very long instruction word having variable length | |
CN1098487C (zh) | 用于影响数据处理器中的顺序指令处理的方法和装置 | |
KR100284789B1 (ko) | N-지로 분기를 갖는 슈퍼스칼라 또는 초장 명령어 워드컴퓨터에서 다음 명령어를 선택하는 방법 및 장치 | |
US5710902A (en) | Instruction dependency chain indentifier | |
CN1511280A (zh) | 在具有限制性存储器模型的系统中多存储缓冲器转发的系统和方法 | |
US9747216B2 (en) | Computer processor employing byte-addressable dedicated memory for operand storage | |
CN1782988A (zh) | 用于选择性地禁止猜测性的条件分支执行的方法和设备 | |
US20030005261A1 (en) | Method and apparatus for attaching accelerator hardware containing internal state to a processing core | |
US7117342B2 (en) | Implicitly derived register specifiers in a processor | |
US8707013B2 (en) | On-demand predicate registers | |
US5274777A (en) | Digital data processor executing a conditional instruction within a single machine cycle | |
KR19980018874A (ko) | 파이프라인 방식 프로세서 (processor with pipelining-structure) | |
JP3749233B2 (ja) | パイプラインでの命令実行方法及び装置 | |
CN1302379C (zh) | 条件控制管理装置及方法 | |
EP3295299A1 (en) | Decoding information about a group of instructions including a size of the group of instructions | |
CN1650258A (zh) | 可扩展处理器中的自动任务分配 | |
US5974531A (en) | Methods and systems of stack renaming for superscalar stack-based data processors | |
CN116670644A (zh) | 通用计算核上的交错处理的方法 | |
US9747238B2 (en) | Computer processor employing split crossbar circuit for operand routing and slot-based organization of functional units | |
US20030212881A1 (en) | Method and apparatus to enhance performance in a multi-threaded microprocessor with predication | |
CN114528248A (zh) | 阵列重构方法、装置、设备及存储介质 | |
US9513921B2 (en) | Computer processor employing temporal addressing for storage of transient operands |
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: 20070228 Termination date: 20111212 |