CN1390324A - 在流水线结构的处理器中处理条件转移指令的方法和装置 - Google Patents
在流水线结构的处理器中处理条件转移指令的方法和装置 Download PDFInfo
- Publication number
- CN1390324A CN1390324A CN00815782A CN00815782A CN1390324A CN 1390324 A CN1390324 A CN 1390324A CN 00815782 A CN00815782 A CN 00815782A CN 00815782 A CN00815782 A CN 00815782A CN 1390324 A CN1390324 A CN 1390324A
- Authority
- CN
- China
- Prior art keywords
- instruction
- processor
- transfer
- condition
- reprogramming
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 15
- 238000012545 processing Methods 0.000 title claims abstract description 9
- 238000012546 transfer Methods 0.000 claims description 43
- 230000008520 organization Effects 0.000 claims description 10
- 230000008672 reprogramming Effects 0.000 claims description 10
- 239000003550 marker Substances 0.000 claims description 6
- 238000003556 assay Methods 0.000 claims description 2
- 230000001351 cycling effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3804—Instruction prefetching for branches, e.g. hedging, branch folding
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30058—Conditional branch instructions
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Abstract
一种用于在具有流水线结构的处理器中处理条件转移指令的方法和装置,其中对每个根据其将执行条件转移的指令添加一个或多个附加的位,所述附加的位表明在哪种条件下执行条件转移。另外装置可以具有根据附加的用于执行条件转移的位改变程序计数读数的装置。
Description
技术领域
本发明涉及一种在具有“流水线”结构的处理器中处理条件转移指令的方法和装置。
背景技术
用于执行特定指令的必要的周期的数量是处理器的最重要的性能特征之一。为了实现最大的处理速度和最小的功耗,周期的数量必须尽可能少。对此根据已有技术,具有所谓的“流水线”结构的处理器已公知。这意味着,处理器可以同时处理多个指令,其中每个指令分别位于一不同的处理阶段。例如当正在执行一个指令时,下一个指令被译码,并且同时从存储器中调取下下个指令。
特别是在这样一种用于条件转移指令(转移)的“流水线”结构中将导致“冒险”,因此有可能会出现甚至错误的结果。具体地说,在一条件转移指令的情况下,只有当该条件转移指令处理后才能确定下一个指令的地址。采用此方式时只有当从处理器的运算-逻辑单元中得到执行前一个指令的结果时,才能从存储器内调取下一个指令和译码。
迄今已有技术的对该“冒险”问题的解决方案是,紧接转移指令后插入多个空指令(NOP),即非工作-或等待指令,使结果在任何情况下都保持正确。由于必须对空指令进行处理,从而造成多个处理器周期被用于必须处理的空指令。
发明说明
所以本发明的目的在于实现在一个具有流水线结构的处理器中对条件转移指令的处理,而又不会由于空指令造成较大的处理周期的损失。
根据本发明,应用在一具有流水线结构的处理器中处理条件转移指令的方法实现了该目的,其中对每个根据其将执行条件转移的指令添加一个或多个附加的位,所述附加的位表明在哪种条件下执行条件转移。采用此方式可以较早地建立一个是否执行转移的指令。因此,可以早期地确定一个作为紧接在转移后的下一个指令。所以利用在指令组中的转移预测可以较早地建立条件转移指令的转移目的。
其中特别优选的是,根据将进行条件转移的指令对每个指令附加添加相应的转移地址。采用此方式不仅较早地了解是否应执行条件转移的指令,而且还已经了解了相应的目的地址。因而可以由处理器的主存储器中调取正确的指令。
另外优选对每个指令附加添加一个或多个位,所述位表明在哪种条件下才执行该指令。
为了进一步对处理器的工作速度实现最佳化特别优选的是,当设置相应的位时,在执行每个具有一个或多个附加位的指令的同时,在处理器中将检验与该位或这些位相应的标记符(例如zero,carry,overflow),并根据检验结果相应地调整处理器的的程序计数(PC)。
本发明的目的同样还通过一种在具有流水线结构的处理器中处理条件转移指令的装置得以实现,其中具有一用于执行条件转移的改变程序计数读出的装置。
其中特别优选的是,用于改变程序计数读出的装置具有针对处理器的机器指令中相应的附加位的一个或多个输入端和具有针对处理器的运算器输出的相应的“标记符”的一个或多个输入端。
其中特别有益的是,保证机器指令的相应的附加位存在的同时存在用于改变程序计数读出的装置的相应的“标记符”。
优选用于改变程序计数读出的装置具有一个加法器。
附图说明
下面将对照附图对本发明做详细的说明。图中示出:
图1为具有两级的流水线的处理器的流程图;
图2示出本发明的22位长的机器指令的结构;
图3示出本发明的25位长的机器指令的结构;
图4为本发明的为执行条件转移改变程序计数读出的装置的示意图;
图5示出本发明的另一用于执行条件转移的改变程序计数读出的装置;
图6为本发明的具有流水线结构的,利用转移预测执行转移指令的处理器的总体结构的示意图;和
图7为本发明的具有“转移预测”装置的处理器的详图。
具体实施方式
本发明以处理器的“流水线”结构为基础。对此在帕特森和亨尼西所著的“计算机的组织和设计”一书中做了说明。
对流水线结构简述如下:
通常利用下述运算由处理器对每个机器指令进行处理:
1.输入指令
2.对指令进行译码
3.执行指令
4.重录
根据已有技术已知,这些运算部分同时进行,其中例如正在执行一个指令,同时另一个指令被译码。在图1中的两级的流水线中对此做了表述。
因此处理器应用流水线,以便实现平均在一个处理器周期中处理一个指令。
但这种处理器的流水线结构在必须执行多个条件转移指令时,势必导致出现问题。该问题的专用术语为“转移冒险”。这意味着,一个转移指令,即一个条件转移指令只有在执行完在先的指令后才能表明,是否下一个指令将被继续处理或应被转移到另一个目的地址。
根据已有技术,该问题是通过对在条件转移指令后的时标填充一个“不工作”-指令,即填充等待一个处理器周期的指令解决的。虽然可以保证在任何情况下程序继续正确的运行,但将丧失一个处理器周期并因此丧失最大可能的计算机容量。下面将举例对迄今的已有技术做进一步说明,所述举例分别涉及对一数字的绝对值的计算:
首先存在条件执行的可能性,例如
/*A=|B|*/
LOAD R1 B
COMPARE R1 0/*if B≥0,carry=0*/
NEGATIVE R1 on-carry/*negate,if carry=1*/
STORGE R1 A
如果只有唯一一个指令被条件地执行并且该指令不含有转移时,则该执行方式是可行的。当仅用一个指令不能表示的较为复杂的功能和任务情况下,则可以如在下面的程序中的描述,分别执行条件转移。如在下面黑框内的程序段所示,必须在两个转移指令之后加入一个“不工作”指令。在两级的流水线的情况下,当流水线较长时,则相应有较多的“不工作”指令:
LOAD R1 B
COMPARE R1 0
JUMP ON CARRY L1JUMP L2NO OP |
L1: NEGATIVE R1
L2: STORE R1 A
最后根据已有技术还有一种推断执行的方案。这意味着,可以简单地实施一种方案,并且假设,具有大约大于50%的概率可以正确的继续进行。为此将付出很大的硬件代价,这是因为当预测不正确的情况下必须将一些指令“拆散”。另外当“估计错误”时,将因此丧失处理器周期。
而且迄今根据已有技术还没有对该问题相应的解决方案,该问题即这种“转移冒险”,在条件转移时出现的问题将导致流水线结构的处理器的工作周期的损失。根据本发明通过带有“条件执行”的指令和“转移运算”-指令的结合以如下方式解决了该问题:
下面举一简单的例子,即指令“Add R2 to R1,if R1 then=0,jump toL1”。该问题用“C”语言编写如下:
R1=R1+R2
if(R1==0)
GO TO L1
L1:.......
为此根据本发明采用了机器指令ADD R1,R2,#JMP,ON ZERO。其中#JMP表示至进入点L1的转移地址。
为此我们将指令由“后条件”扩展到已知的“前条件”。例如:P1,ADD R1,R2,#JMP,Q1。
其中P1表示:当满足P1时,执行R1=R1+R2。根据本发明Q1表示:当根据R1=R1+R2计算满足Q1时,利用JMP执行转移。
为此可以将下述的“C”-程序:
if(A=1)
B=A;
else
C=A;
译成下述机器码:
LOAD R1 A
Q1 TEST R1 1#L/*if A=1 jump L*/
P1 Q1 STORE R1 B
STORE R1 C
如图2和3所示,根据本发明在指令编码中既设有用于“前条件”的位,又设有用于“后条件”的位。
图2示出一个仅具有22位长的指令的例子,其中一位1用于“前条件”,一位2用于“后条件”,8位3至10用于相对转移值(位移)和分别用于两个寄存器地址的每一个3位,和6位指令码。
在实际中通常需要检查诸如“前条件”和“后条件”等多个条件。所以必须设有如图3所示的相应的多个位。
如图3所示,位0至1含有用于后条件的信息,位2至3含有用于前条件的信息,位4至10含有相对的转移地址,即转移距离。
本发明的方法与程序循环结合在一起使用是特别有效的,例如用于下述的“C”程序:
for(i=1;i<5;i++){
x[i]=i;
} /*C-Program*/
根据本发明然后将此转换成特别简化的机器程序:
Load R1 5
Load R2 x /*Address of x[5]*;
L1=STORE-INDEXED R2 R1/*x[i]=i*/
Q1 DECREMENT R1 #1 L1
ADD R2 1 /*i=i+1*/
其中“后条件Q1”表示:当R1=R1-1不等于0时的条件转移。
本发明实现的编程简化的另一个例子是下述用于对循环缓冲存储器处理的程序。
根据已有技术必须对该问题编程如下:
TST(R3)#buffer-end //ring buffer end reached
BNZ NEXT // if no
NOP
LDI(R3)#buffer-start//else set the pointer to buffer
again
根据本发明下述的两个指令足以替代上述程序:
TST (R3) #buffer-end
LDI (R3) #buffer-start
但要注意的是,本发明的该方案并不适用于所有循环结构。根据本发明的所有循环结构可以编程如下:
LDI(R4)#loop-cnt-minus-1//init loop counter
WHILE-LOOP:
FIRST-PC //code sequency
SUBI(R4)#1 #loop-flag//decrement by 1 and
indicate loop end
BNZ WHILE-LOOP //if not zero go to loop
begin
根据本发明替代通常的减法机器指令SUB采用机器指令SUBI,该机器指令被扩展,从而其具有一个标志符-位,该标志符-位用于指示在条件转移指令BNZ前的一个周期,该标志符-位构成条件转移时的正确的转移,从而在任意的两级的流水线的情况下不会出现处理器周期的损失。指令LDI表示循环开始。
典型的避免“转移冒险”的方案在于,对条件转移的有待转移的目的进行预测。
循环的实施一般需要如下三个步骤:
1.启动循环计数器
2.递减或递增循环计数
3.在循环结束时的转移
条件转移时的周期损失在于,在转移后执行的下一个指令取决于循环条件的满足。该事实导致在条件转移指令后必须必须插入空-指令NOP。通过在运算指令中采用诸如ADD或SUB等循环-标志符在执行相加或相减指令结束时将对循环条件进行检查。然后检查“0-标志符”,即运算器在0上的显示,以便确定应设置在处理器的程序计数器的哪个地址上。“循环-标志符”可以解释为“启动-位移-标志符”或通常的地址移动。
图4示出本发明执行“循环”-标志符的最简单的基本原理。
程序存储器10在此通过一乘法器12与程序计数器14连接。程序计数器(PC)14与逻辑门16连接,逻辑门将程序计数器的输出值与一个常数或循环-标志符逻辑连接在一起。该逻辑电路16的输出端与乘法器(MUX)12的一个输入端连接,乘法器的另一输入端与程序存储器10连接,并且乘法器的输出端与程序计数器14连接。由处理器通过控制信号对乘法器12进行控制。
本发明的另一改进在于通过对循环开始的缓冲存储,可以省去转移指令:
LDP(R4)#loop-cnt-minus-1WHILE-LOOP:
FIRST-PC
SUBI(R4)#1#Loop-flag
NEXT-INS:
在此需要一个附加的指令LDP,该指令示出一个循环的开始。下一个程序码地址然后作为循环开始被缓冲存储。采用指令LDI并将下一个计数值显示装入缓冲存储器中。但因此当然还需要一个附加的指令。指令SUBI具有一个循环标志符,该循环标志符用于说明就条件转移而言哪个是正确的转移。对zero-标志符进行检验,以便判决是否应返回环路开始,或执行下一个指令(NEXT-INS),该指令由#-Loop-标志符指示出。
如图5所示这种简化的循环结构处理需要较为复杂的电路结构。
如图4所示,具有一个程序存储器10,该程序存储器与乘法器12的输入端连接,乘法器的输出端与程序计数器(PC)14连接。程序计数器(PC)的输出端同样与逻辑门16连接,逻辑门对程序计数器的输出值与循环标志符进行逻辑连接。逻辑电路16的输出端与乘法器12的另一输入端连接。但在本实施例的情况下,乘法器还具有一输入端,该输入端与缓冲存储器18连接,可以将程序计数器14的值装入缓冲存储器的输入端。采用此方式时,显示指令“Load the next program counterreading into the buffer”是多余的。
图6示出处理器的整个结构,所述处理器具有处理本发明的指令的能力。图6中具有与图4和5相同的附图标记。程序计数器(PC)14又对程序编码存储器10进行存取,并分别对有待处理的程序行进行存取。由程序存储器10将相应的指令编码输送给指令译码器(IDEC)20,指令译码器接着将相应的控制指令传送给运算器(ALU)22和寄存器组34。然后根据需要将寄存器的内容写入运算器22,或如箭头所示由运算器重写入寄存器组,装入积存器内容。运算器的标志符zero、carry和overflow然后同时被输送给指令译码器(IDEC)20和乘法器(MUX)12的控制输入端。乘法器12的两个输入端被值1和由指令译码器20输出相对的转移值#JMP占用。乘法器12的输出端与一加法器16连接,加法器16的另一输入端与程序计数器14的输出端连接。
当流水线-级多于两个时必须注意的是,标志符-信号zero,carry,overflow和所属的相对的转移值#JMP必须同时加在乘法器12上。但如果是一个本实施例所述的两级的流水线,此点则是不必要的。下面将对具有本发明的“后-条件”的指令编码加以说明。再重新对照图2,在该图中示出长度为22位的本发明的最简单的指令语句。
最高的6位(21至16)包含指令码(OPCODE),例如:相加。下面的三位包含长度为三位的在15、14、13位的第一寄存器的地址(REG A)(通常的处理器大多采用的寄存器不超过8个),接着是第二个,在本情况时有待选址的寄存器(REG B)在12、11、10位上。
在该指令中处理器的运算器将寄存器A和B的内容相加并存储在寄存器中。根据本发明这时对该指令附加另外几位,即9至2位(位移),所述位对下述转移条件下的转移距离加以说明。接着的是条件-位1和0,其中位1(后)表示后条件,而位0(前)表示前条件。
其中处理过程如下:对指令进行调取和译码。为此处理器在一特定的程序计数读出状态上,例如PC=0时开始。
在该程序计数读出的情况下,由程序存储器中调取出一个22位指令,该指令位于与程序计数器读数相符的存储器中的地址上。
然后由指令译码器(IDEC)20对该指令进行处理。
其中首先检查是否设置了相应的前条件-位1。如果是此情况,则在没有满足相应的前条件的情况下,尚未执行指令。
本发明与已有技术的区别在于后条件-位。
根据后条件-位产生信号“BR-CTR”。同时按如下方式进行相加:
为运算器产生一个控制信号ALU-CTR以及读出-和写入地址和允许信号。指令译码器20同时提供转移距离“BR”。“BR-CTR”-信号按下述方式进行转移控制:
1.当后条件-位=0,即PCNEW=PCOLD+1时,没有转移;
2.当后转移-位=1和条件得到满足,例如0-标志符=1时,则执行相对转移。程序计数器将被设置在新值PCMEW=PCOLD+BR。
如图3所示,例如可以采用一个以上的后条件-位。此时可以对多个条件进行检查(例如zero、carry、overflow)。
根据本发明在对指令译码时由指令译码器20同时首次产生运算器的控制信息和有关转移目的地址的信息。
这时指令被执行并且必要时被转移。
为此运算器(ALU)执行运算。运算结果被重新写入寄存器中。同时相应的zerro、carry等等标志符被加在运算器的输出端。
其中同步向转移控制提供各个标志符的位、“BRCTR”和“BR”值。如图7所示,控制单元“Cond”26产生两个控制信号S1和S2。S1用于对不进行转移或预测相对转移进行控制。S2用于通过乘法器12接通相对转移地址“PCNEW”。
因此对转移可以节省附加于相应的运算指令的附加指令。从而可以减少所需指令的数量并随之提高处理器的吞吐量。
在图7中详细地示出了用于处理具有本发明的“后-条件-位”的处理指令的处理器的结构。在图7中用与图4、5和6相同的附图标记标示相同的单元。
而且如图7所示,还具有程序计数器14,该程序计数器对指令存储器(CODEROM)10进行选址。由指令存储器将为22位的指令宽度输送给指令译码器(IDEC)20。该指令译码器产生用于控制寄存器24和运算器(ALU)22的通常的信号。根据本发明指令译码器还产生信号“BR”(该信号包括多个位)并说明转移距离,以及信号“BR-CTR”,该信号表明一有待处理的条件转移和有待检查的运算器的相应的标志符-位。
运算器22将运算结果和表示特定条件(例如zero、overflow、carry等)的相应的标志符加在输出端。当然也可以将结果重新输送给寄存器24。由ALU输出的“BR-CTR”-信号和标志符被输送给另外一个逻辑单元(Cond)26。该逻辑单元根据相应的BR-CTR-信号和附属的标志符产生信号S1和S2,所述信号对乘法器12和一个位于加法器16输入端前的开关进行控制。该开关器在1和作为满足标志符条件的函数的“BR”之间进行转换。加法器的另一输入端与程序计数器14的输出端连接。
采用本发明的方式可以以处理器的较少的附加的技术代价实现对条件转移速度的大幅度的改善。
Claims (8)
1.一种用于在一具有流水线结构的处理器中对条件转移指令处理的方法,其特征在于,对每个根据其将执行条件转移的指令添加一个或多个附加的位,所述附加的位表明在哪种条件下执行条件转移。
2.按照权利要求1所述的方法,其特征在于,对每个根据其将执行条件转移的指令附加添加相应的转移地址。
3.按照权利要求1或2所述的方法,其特征在于,对每个根据其将执行条件转移的指令附加添加一个或多个位,所述位表明在哪种条件下才执行指令。
4.按照权利要求1至3中任一项所述的方法,其特征在于,在设置相应的位的情况下,对每个具有一个或多个附加位的指令在执行该指令的同时在处理器中将检验与该位或这些位相应的标记符(例如zero、carry、overflow),并根据检验结果相应地调整处理器的的程序计数器(PC)。
5.一种用于在具有流水线结构的处理器中处理条件转移指令的装置,其特征在于,具有一用于执行条件转移的改变程序计数读数的装置。
6.按照权利要求5所述的装置,其特征在于,用于改变程序计数读数的装置具有用于处理器的机器指令中相应的附加位的一个或多个输入端和具有用于处理器的运算器输出的相应的“标记符”信号的一个或多个输入端。
7.按照权利要求6所述的装置,其特征在于,机器指令的相应的附加位同时与用于改变程序计数的装置的相应的“标记符”同时存在。
8.按照权利要求5至7中任一项所述的装置,其特征在于,用于改变程序计数读数的装置具有一个加法器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19945940.1 | 1999-09-24 | ||
DE19945940A DE19945940C2 (de) | 1999-09-24 | 1999-09-24 | Verfahren und Vorrichtung zur Bearbeitung bedingter Sprungbefehle in einem Prozessor mit PIPELINE-Rechnerarchitektur |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1390324A true CN1390324A (zh) | 2003-01-08 |
Family
ID=7923254
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN00815782A Pending CN1390324A (zh) | 1999-09-24 | 2000-09-21 | 在流水线结构的处理器中处理条件转移指令的方法和装置 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP1218819A1 (zh) |
KR (1) | KR100631318B1 (zh) |
CN (1) | CN1390324A (zh) |
DE (1) | DE19945940C2 (zh) |
WO (1) | WO2001022217A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100337194C (zh) * | 2004-03-26 | 2007-09-12 | 国际商业机器公司 | 减少指令高速缓存和流水线处理器之间等待时间的装置和方法 |
CN104067194A (zh) * | 2011-12-22 | 2014-09-24 | 英特尔公司 | 用于计算多轮skein散列算法的执行单元的设备和方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2723238B2 (ja) * | 1988-01-18 | 1998-03-09 | 株式会社東芝 | 情報処理装置 |
US5349671A (en) * | 1989-03-23 | 1994-09-20 | Matsushita Electric Industrial Co., Ltd. | Microprocessor system generating instruction fetch addresses at high speed |
US5136697A (en) * | 1989-06-06 | 1992-08-04 | Advanced Micro Devices, Inc. | System for reducing delay for execution subsequent to correctly predicted branch instruction using fetch information stored with each block of instructions in cache |
CN1153133C (zh) * | 1996-12-09 | 2004-06-09 | 松下电器产业株式会社 | 采用小规模硬件作高命中率分支预测的信息处理装置 |
FR2770662B1 (fr) * | 1997-11-03 | 1999-12-10 | Inside Technologies | Microprocesseur pipeline a saut conditionnel en un cycle d'horloge |
-
1999
- 1999-09-24 DE DE19945940A patent/DE19945940C2/de not_active Withdrawn - After Issue
-
2000
- 2000-09-21 KR KR1020027003878A patent/KR100631318B1/ko not_active IP Right Cessation
- 2000-09-21 CN CN00815782A patent/CN1390324A/zh active Pending
- 2000-09-21 WO PCT/EP2000/009267 patent/WO2001022217A1/de active Application Filing
- 2000-09-21 EP EP00967740A patent/EP1218819A1/de not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100337194C (zh) * | 2004-03-26 | 2007-09-12 | 国际商业机器公司 | 减少指令高速缓存和流水线处理器之间等待时间的装置和方法 |
CN104067194A (zh) * | 2011-12-22 | 2014-09-24 | 英特尔公司 | 用于计算多轮skein散列算法的执行单元的设备和方法 |
US9569210B2 (en) | 2011-12-22 | 2017-02-14 | Intel Corporation | Apparatus and method of execution unit for calculating multiple rounds of a skein hashing algorithm |
CN104067194B (zh) * | 2011-12-22 | 2017-10-24 | 英特尔公司 | 用于计算多轮skein散列算法的执行单元的设备和方法 |
Also Published As
Publication number | Publication date |
---|---|
DE19945940C2 (de) | 2002-01-17 |
KR100631318B1 (ko) | 2006-10-09 |
KR20020085878A (ko) | 2002-11-16 |
DE19945940A1 (de) | 2001-04-12 |
WO2001022217A1 (de) | 2001-03-29 |
EP1218819A1 (de) | 2002-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1279442C (zh) | 选择性存取不同指令缓冲阶层的装置及方法 | |
CN1089460C (zh) | 多指令集的数据处理 | |
CN1088214C (zh) | 用多指令集处理数据的器件和方法 | |
CN1145879C (zh) | 数据处理系统及其控制方法 | |
CN1299218C (zh) | 执行指令的方法 | |
CN1292343C (zh) | 处理器及处理管线中例外反应的装置与方法 | |
CN1834899A (zh) | 使浮点格式实现指令级规格的设备及方法 | |
CN1788253A (zh) | 数据处理系统内的断定指令 | |
CN1746842A (zh) | 用于乱序执行条件指令的硬件装置及其执行方法 | |
CN1251185A (zh) | 具有risc结构的八位微控制器 | |
CN1799024A (zh) | 处理消息摘要指令 | |
CN1153346A (zh) | 用字长短的指令实现多个寄存器的数据传送的信息处理装置 | |
CN1035190A (zh) | 基于操作数长度和对位的微码转移 | |
CN1525323A (zh) | 处理器以及用于产生在处理器中使用的程序的编译器 | |
CN1149472C (zh) | 更名装置及处理器 | |
CN1275142C (zh) | 用于执行硬件环路的方法、装置和系统 | |
CN1148656C (zh) | 面向线程的调试 | |
CN1485741A (zh) | 信息处理装置以及电子设备 | |
CN1206144A (zh) | 能够减少转移故障的具有小尺寸电路的流水线处理器 | |
CN1427336A (zh) | 微处理器 | |
CN1390324A (zh) | 在流水线结构的处理器中处理条件转移指令的方法和装置 | |
CN1959630A (zh) | 微处理器 | |
CN1234066C (zh) | 基于操作队列复用的指令流水线系统和方法 | |
CN1438574A (zh) | 一种16位微处理器指令集 | |
CN100343799C (zh) | 产生流水线微处理器的早期状态标志的装置及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned | ||
C20 | Patent right or utility model deemed to be abandoned or is abandoned |