CN1044177A - 紧配合的多处理器指令同步 - Google Patents
紧配合的多处理器指令同步 Download PDFInfo
- Publication number
- CN1044177A CN1044177A CN89109161A CN89109161A CN1044177A CN 1044177 A CN1044177 A CN 1044177A CN 89109161 A CN89109161 A CN 89109161A CN 89109161 A CN89109161 A CN 89109161A CN 1044177 A CN1044177 A CN 1044177A
- Authority
- CN
- China
- Prior art keywords
- instruction
- processor
- sequence
- fixed
- carrying
- 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.)
- Withdrawn
Links
- 230000001360 synchronised effect Effects 0.000 title description 8
- 238000003860 storage Methods 0.000 claims abstract description 11
- 238000000034 method Methods 0.000 claims description 11
- 238000007667 floating Methods 0.000 description 58
- 239000000872 buffer Substances 0.000 description 29
- 238000012545 processing Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 101100322582 Streptomyces coelicolor (strain ATCC BAA-471 / A3(2) / M145) add1 gene Proteins 0.000 description 5
- 238000012856 packing Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000011079 streamline operation Methods 0.000 description 4
- 102100034033 Alpha-adducin Human genes 0.000 description 3
- 102100024348 Beta-adducin Human genes 0.000 description 3
- 101000799076 Homo sapiens Alpha-adducin Proteins 0.000 description 3
- 101000689619 Homo sapiens Beta-adducin Proteins 0.000 description 3
- 101000629598 Rattus norvegicus Sterol regulatory element-binding protein 1 Proteins 0.000 description 3
- 230000005055 memory storage Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
-
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- 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/3818—Decoding for concurrent execution
- G06F9/3822—Parallel decoding, e.g. parallel decode units
-
- 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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- 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/3861—Recovery, e.g. branch miss-prediction, exception handling
-
- 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/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- 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/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
数据***包括一贮存至少需由两个处理器操作的指令存储缓冲器。二个处理器执行缓冲器中的指令。指令分配电路向处理器分配指令。至少一个处理器具有在由另一个处理器执行指令序列中的上述指令前执行所分配的指令的能力。至少一个处理器具有延迟执行一条可中断指令直到该指令在序列中的适当序列号中能被执行时为止的能力。一旦出现中断,处理器能立即清除缓冲器以存储要执行的中断软件指令。
Description
本发明涉及数据处理***,更具体地说,涉及包括多个独立处理单元的数据处理。
传统的数据处理***一个一个地执行一个序列的指令。在包括多个处理单元的处理***中,通常对指令的译码是集中地进行的,以保证每个指令按其在序列中的位置进行译码。
1982年8月出版的第25卷,编号为3B的IBM技术公开报告的1637-1638上,刊登过一篇题为“多处理器同步设计方法”(Multiprocessor Synchronigation Design Methocl”)的文章,该文公开了一种进程,从而可以同时确定许多处理器之中任何处理器是否是在一个指定的状态。在进程结束时,所有处理器已就其当前的相互间的状况达成协议。
题为“用于高度平行多处理器***的同步处理部件”(IBM技术公开报告,30卷,第7号,1987,12,第98-99页)公开了一种利用一个同步处理部件增强多处理计算机的体系结构而使在一个高平行多处理计算机***中同步开销最小的技术。
题为“用于分布式处理同步和地址计算的运行一时间算法”(“Run-Time Algorithm for Distributed Processing Synchromizntion and Address Calculations”,见IBM技术公开报告,29卷,NO.110,1987,3,4658-4687页)介绍第用第一度在一个分布式处理体系结构的每个分布处理部件中所用的算法。这些算法以与在一个网络中的其它分布处理部件协调的方式为每个分布处理部件安排地址计算。
本发明的目的是为了提供这样一种多处理***:即使***中的各个处理器实际上可能并非顺序地执行各个指令,而此多处理***却似乎在顺序地执行一个序列的指令。
本发明的数据处理***包括:一个用于贮存要求由二个处理器操作的一序列指令的指令存贮电路;至少要有二个处理器,每个用来执行来自上述指令存贮电路的指令;一个指令分布电路用来将每个指令分派给至少其中一个处理器;至少其中一个处理器包括一个用于在由另一个处理器执行在指令序列中的上述的指令之前执行所分派的指令的电路。
在本发明的最佳实施例中的数据处理***中,包括用于贮存指令缓冲器。在该序列中至少一个指令要求至少由两个分开的处理器进行操作。指令贮存电路与两个处理器相连。每个处理器执行来自存贮电路的指令。另外还包括一个用来将每个指令分派给至少其中一个处理器的指令分派电路。至少一个处理器在另一处理器执行指令序列中的上述指令前具有执行所分派的指令的能力。
在该最佳实施例中,第一个处理器是定点运算处理器。第二个处理器是一个浮点运算处理器。指令序列包括由定点处理器本身执行的和由浮点处理器本身执行的指令。然而,在本最佳实施例中,指令序列也包括为定点处理器和浮点处理器的操作两者均所需的浮点装入和贮存指令。具体地说,定点处理器实行地址计算,以便完成浮点指令的装入和贮存操作。
在该实施例中,具有在由其它的处理器执行上述的指令前执行所分配的指令的能力的一个处理器还具有这样一种能力:当指令序列的首指令的执行需要由另一个处理器完成一个操作时,则延迟对其指令的执行。在该例中,如果浮点指令要求定点操作处理器,则浮点处理器将不完成浮点指令。
此外,在本实施例中,一个处理器除了具有在由另一个处理器执行上述指令前执行所分配的指令的能力外,还具有延迟执行一条可中断指令(即一种可给处理器产生一个中断条件的指令),直至在执行其它指令的适当序列位置上执行该可中断指令的这样的能力。
本发明的具有新颖性的特征在权利要求书中作了描述。然而,在结合附图阅读了下面对本发明的最佳实施例的介绍之后,读者将会对本发明本身以及其它的特征和特点有更好的理解。
图1为与一个公用指令缓冲存储器和一个公用存储器相连的两个处理单元的方框图;
图2为说明用于浮点处理器的控制功能的流程图;
图3为说明用于定点处理器的控制功能的流程图;
图4为不产生中断的浮点和定点指令表;
图5为用来执行图4的指令序列的定时图;
图6为包括单个可中断的指令的指令序列表;
图7为用来说明执行图6中的指令序列的定时图;
图8为包括一条实际上不产生中断的可中断指令的一个指令序列;及
图9为用来说明执行图8中的指令序列的的定时图。
本发明要解决多处理器的同步问题。具体说来,在所示的本发明的最佳实施例中,要解决在一个定点处理器和一个浮点处理器之间实现同步的问题。这是因为定点处理器必须为在浮点处理器中执行浮点装入和存贮操作而进行地址计算。要执行同步的另一因素则是由于浮点处理器要有能在定点处理器前头执行可中断指令的能力。
图1示出了通过一条代表多控制信号的控制线29与一个浮点处理器8相连的一个定点处理器6。定点处理器6和浮点处理器8又与一个公用指令缓冲存储器10和单个存储器80相连。定点处理器6包括一个与指令缓冲存储器10相连的指令预取缓冲器20。指令预取缓冲器20接收来自指令缓冲存贮器10的指令序列。来自指令预取缓冲器20的指令在译码电路22中被译码,以便向寄存器存储器22和控制电路30提供信息。在该实施例中,定点处理器6的寄存器存储器24包括32个可单独编址的寄存器。寄存器存储器24的输出送至算术逻辑单元26(ALU)。ALU24输出又被送回寄存器存储器24。定点处理器6还包括一个与寄存器存储器24和控制电路30相连的输入/输出电路(I/O)28 I/O电路28与外部存储器80相连。定点处理器6的控制电路30控制定点处理器6的内部操作,控制由I/O电路28对外部存储器80的存取及控制与浮点处理器8的同步。
浮点处理器8包括一个与指令缓冲存储器10相连的指令预取缓冲器40。译码电路42对来自指令预取缓冲器40的指令进行译码。译码电路42给浮点处理器控制电路52和寄存器存储器44提供输入信号。寄存器存储器44将其输出信号送至指数加法器电路50和乘法电路48。乘法电路48的输出信号送至加法器54,加法器54随后又将其输出送至舎入电路56。控制电路52还将控制信号输入到指数加法器50、乘法器48、加法器54和舍入电路56。在本实施中,指数加法器为浮点计算实行指数运算,并为乘法器48提供移位控制。乘法器48是一个采用保留进位加法器结构的***树状乘法器。指数加法电路50是一个用来作指数相加或相减的加法电路,进行相乘运算。该指数信息用来补偿加法操作,使加法中引入乘法算子。
舍入电路56递进加法器54的运算结果,从而向寄存器存储器44提供一个经舎入后的结果。浮点处理器8也包括一个与外存储器80相连的输入/输出电路(I/O)46。I/O电路46还与控制电路52相连。如同在定点处理器6一样,控制电路52提供在浮点处理器8中实行的浮点运算的内部控制。此外,浮点控制器52通过线29与定点处理器控制器30相连以便接收来自定点处理器6的诸同步信号。
在本实施例中,如果需要的话,存储器80可用作在定点处理器6和浮点处理器8之间进行数据通信的装置。此外,指令缓冲存储器10为定点处理器6和浮点处理器8两者贮存指令序列。在本实施中指令序列均送至定点处理器6的指令预取缓冲器20和浮点处理器8的指令预取缓冲器40。换言之,两个预取缓冲器20和40均接收同样的指令。
在本实施例中,定点处理器6是一个32位宽的处理单元,而浮点处理器8则是64位宽的处理单元。
图2示出了在浮点处理器的控制单元52中的流程图。具体地说该控制流程表示了在定点处理器6和浮点处理器8之间的同步功能的控制。首先,在图2的步骤100中,将来自指令预取缓冲器40的一条指令转移到译码电路42中。在步骤102中,该指令被译码。在步骤104中,对译出的指令就是否为一条可中断的指令进行判断。为了解释的目的,只认为用于浮点处理器8的装入和贮存的指令是可中断的。如果已译出的指令不是可中断的,则在步骤106中,对该指令就是否为一条浮点指令作出判断。如果不是,控制功能回到步骤100(如果正在翻译的指令实际上是一条定点算法指令,就会发生这种情形),回到步骤106,如果被翻译的指令是一条浮点指令的话,则该指令在步骤108被执行,并在该指令执行完毕后控制功能回到步骤100。
再回来说步骤104。如果译出的指令为一个可中断性指令,则控制电路52进到步骤110以监视清除和同步信号。所述清除和同步信号在图1中用连接定点处理器6的控制电路30和浮点处理器8的控制电路52的线29予以表示。在步骤112中,对是否收到清除信号进行判断,如果是,则所有在指令预取缓冲器40中的指令在步骤116被擦去,而控制流程回到步骤100。如果清除信号还未收到,则在步骤114中对同步信号是否已经出现作出判断。如果同步信号还未出现,则控制流程返回步骤110,去再次监视这两个信号。如果收到了同步信号,则步骤114将控制流程进到步骤106,由步骤106确定要执行的指令是否为浮点指令。以这种方式,浮点处理器8从定点处理器6中接收同步信号。然而应该理解到,如果一个指令是不可中断的,则浮点处理器不需要来自定点处理器中的同步信号。因此按照本发明,可使浮点处理器8在来自由定点处理器6执行的指令的序列前执行诸指令。
在图3中,示出了用于定点处理器6的控制流程。在步骤200中,来自指令预取缓冲器20的下条指令被转移到译码电路22。该指令在步骤202中被译码。在步骤204中,对该指令是一条定点单元指令还是一条浮点单元指令作出判断,如果该指令不是一条定点单元指令,则控制流程进到步骤200。然而,如果该指令系一条定点单元指令,则控制流程进到步骤206。应该认识到,一条浮点装入和一条浮点贮存指令均被定点处理器6考虑成为定点指令,这是因为,它们均需要由定点处理器6作定点地址计数。因此,任何不需要在定点处理器6中进行操作的浮点指令将返回到控制流程的步骤200。另一方面,任何要求定点处理器6进行操作的定点单元指令,或者一条浮点装入或贮存指令将使控制流程进到步骤206去执行该指令。在步骤208中,对该指令是否执行完毕作出判断,如果尚未完毕,则在步骤206中继续执行。一旦指令执行完毕,则流程进到步骤210去确定是否该指令事实上是可中断的。如果该指令是不可中断的,则控制流程返回到步骤200。然而,如果该指令是可中断的,则在步骤212中就一个指令中断实际已否发生作与判断。如果中断尚未发生,则控制流程进到步骤214,由此(见图1)将线29上的同步信号送至浮点处理器8的控制电路52,然后控制流程返回到步骤200。
如果指令中断已经发生,则控制流程进到步骤216,由步骤216,将图1中线29上的清除信号送至浮点处理器8的控制电路52,并清除指令预取缓冲器20。一旦完成步骤216,控制流程返回步骤200。
应该认识到,一个中断之所以造成清除指令缓冲器20和40是因为中断处理软件将被执行,因此留在指令预取缓冲器中的、在该中断发生前就存在的指令将不再被执行。通过清除指令预取缓冲器20和40,指令缓冲存储器10然后就可重新装入在中断过后要执行的合适的指令。
说到图3还要注意的一点是,如果指令是可中断的,则将在步骤216中产生一个清除信号或在步骤214中产生一个同步信号。回忆一下图2,如果一个指令是不可中断的话,则浮点单元将不等待接收任何来自定点处理器6中的同步信号。在图4和5中,示出了两个处理器6和8的操作。图4中示出了一列指令,及其要求执行所列指令的周期号和这些指令是否为可中断的。在图4所列的例子中,没有一个指令是可中断的。然而,其中一个指令(FXU-MUL3)要用4个周期执行。图中FPU代表为一条浮点单元指令,而FXU则代表一条定点单元指令。因此,浮点单元指令将在浮点处理器8中被执行,而定点单元指令则将在定点处理器6中被执行。
图5为用以说明几个周期(1至10)的定点单元处理器6(FXU)和浮点处理器(FPU)的流水线操作的定时图。流水线操作包括转移,译码和执行。同步和清除两项用以说明是否出现同步或清除信号。
参阅图5,在周期1,由定点单元和浮点单元指令预取缓冲器220和40分别都接收指令ADD1。在周期2中,ADD1被译码,而ADD2被转移到预取缓冲器20和40。在周期3中,多指令(MUL3)被转移到缓冲器20和40。ADD2指令都由处理器6和8译码。然而,ADD1指令仅被浮点处理器8执行,因该指令是一个浮点指令。在周期4中,ADD4指令被转移,MUL3指令被译码,而ADD2指令则由定点处理器6执行,因为它是一个定点指令。在周期5中,ADD5指令被转移到缓冲器20和40中。处理器6和8均对ADD4指令进行译码,而MUL3指令则在定点处理器6中被执行。在周期6,ADD5指令保留在缓冲器20中而ADD6指令则被装入到浮点处理器8的缓冲器40中。在定点处理器6中的ADD5指令如其在浮点处理器8中一样被译码。多指令(MUL3)继续在定点处理器6中被执行。应该注意到,虽然浮点指令ADD4为序列之首,该ADD4指令仍要有浮点处理器8来执行。在周期7中,在ADD6指令正在浮点处理器8中被译码的同时,MUL3指令继续在被执行。在周期8,MUL3指令继续在定点处理器6中被执行,而ADD6指令则在浮点处理器8中被执行。在周期9中,虽然ADD6指令已经被浮点处理器执行过,它在定点处理器6中的定点单元中还要被译码。此外,ADD5指令还要在定点处理器6中执行。在周期10中,因为ADD6指令是一条浮点指令,而该指令实际上是在ADD5指令之前被执行的,因而无论哪个处理器将不再会执行任何流水线操作。
图6和图7再次示出了一个用于定点处理器6和浮点处理器8的指令流的例子。然而,在该例子,有一条浮点装入指令要执行。图7示出了以类似于图5中的方式所实行的流水线式操作。因此,对浮点装入操作以前所实行那些流水线操作将不再介绍,因为那些操作同图5中的是一样的。在周期5中,将浮点装入指令装入指令装入到缓冲器20和40。在周期6中,该指令被译码。然而,请注意,此时定点处理器6正在执行一条需要三个周期的多指令MUL3。因此,在周期7中,虽然该装入指令已在浮点处理器中被译出,该指令仍等待在定点处理器6中被执行,因而在该周期中,该装入指令由于要等待在定点处理器6中作地址计算而不能在浮点处理器8中被执行。然而,继该装入指令到达的一条ADD6指令在周期7中被不译码。在周期8中,一旦在定点处理器6中完成装入操作,定点处理器6即给出一个同步信号。一经出现同步信号,浮点处理器8即为装入指令而执行其操作。最后,在周期9,浮点处理器执行ADD6指令。
图8和9又给出了一个指令序列的例子。该指令序列类似于图6,不同之处是,在图6中的只是可中断的一条浮点装入指令,而在图8中现在则是一条可产生中断的定点装入指令。图9又示出了图8指令列的定时图。图9和图7的不同处是在周期8。请注意,在该周期中,定点处理器6发出了一条清除指令,因为此时那条定点装入指令已发生了中断。一旦接收到清除信号,浮点处理器8即清除指令预取缓冲器40中的内容。同时,一旦产生清除信号,定点处理器6将清除其指令预取缓冲器20中的内容。
在本实施例中,如果发生一个页面错误(即不在存储器中),则就会发生对于装入和贮存指令的中断。换言之,就需要有一个数据缓冲存储器,并且如果待装入的一条指令不在数据缓冲存储器或存储器中,则就需实行从一个外部存储器中拿取该数据的操作。从外存取数的操作要占用许多周期,而用于此取数操作的指令序列放置在中断处理程序内。因此,一旦发生中断,指令缓冲存储器10将包含用来完成取数的中断处理程序操作。
虽然本发明已参照上述实施例作了介绍,但这不应被解释为是对本发明的限制。显而易见,熟悉本技术领域的人们还可参考本发明的上述描述,对所公开的实施例作各种修改,因此,毋容置疑,这种修改型或实施例均在本发明的权利要求所载明的确定范围内。
Claims (7)
1、一种数据处理***,其特征在于包括:
一个指令存贮装置,用来贮存至少要求由两个处理器装置实行的指令序列;
多个处理器装置,用来执行来自所述指令存贮器装置的指令;
指令分配装置,用来向至少一个上述处理器装置分配指令;
至少其中一个上述处理器装置包括一种用来在由另一个处理器装置执行指令序列中的一个上述指令前可执行所分配的指令的装置。
2、一个根据权利要求1的数据处理***,其中所述用于在执行上述指令前执行所分配的指令的装置还包括用于当所述指令要求由另一处理器装置操作时延迟执行序列的首指令的装置。
3、一个根据权利要求1的数据处理***,其中所述用于在执行上述指令前执行所分配的指令的装置还包括用于延迟执行一条可给所述处理装置产生一个中断条件的可中断指令,直到在顺序执行其它指令的过程中该可中断指令按序被执行为止。
4、一个根据权利要求3的***,其中上述指令分配装置包括用于检测发生中断、并根据此检测以在中断发生前所分配的次序分配指令序列的装置。
5、根据权利要求4的一个数据处理***,其中所述用于在执行上述指令前执行所分配的指令的装置还包括用于当所述指令需要由另一处理器装置进行操作时延迟首指令的装置。
6、根据权利要求5的数据处理***,其中所述指令存储装置贮存有用于至少两个处理器装置的指令序列,而指令分配装置则将每个指令分配给至少两个处理器装置。
7、根据权利要求6的数据处理***,其中所述的指令序列包括至少一条要求由两个处理器进行操作的指令。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/297,783 US5075840A (en) | 1989-01-13 | 1989-01-13 | Tightly coupled multiprocessor instruction synchronization |
US297,783 | 1989-01-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1044177A true CN1044177A (zh) | 1990-07-25 |
CN1013067B CN1013067B (zh) | 1991-07-03 |
Family
ID=23147726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN89109161A Expired CN1013067B (zh) | 1989-01-13 | 1989-12-09 | 紧配合的多处理器指令同步 |
Country Status (13)
Country | Link |
---|---|
US (1) | US5075840A (zh) |
EP (1) | EP0377991B1 (zh) |
JP (1) | JP2645669B2 (zh) |
KR (1) | KR930004214B1 (zh) |
CN (1) | CN1013067B (zh) |
AU (1) | AU618142B2 (zh) |
BR (1) | BR9000112A (zh) |
CA (1) | CA1321655C (zh) |
DE (1) | DE68927911T2 (zh) |
GB (1) | GB2227108A (zh) |
HK (1) | HK1000050A1 (zh) |
MY (1) | MY105754A (zh) |
PH (1) | PH30201A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100527087C (zh) * | 2005-10-17 | 2009-08-12 | 威盛电子股份有限公司 | 多核计算机***驱动程序的支持多执行绪指令执行的方法 |
CN102617431A (zh) * | 2011-01-28 | 2012-08-01 | 天津滨海索尔特生物技术中心有限公司 | 用无机碱提取盐藻中的β-胡萝卜素的方法 |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5293500A (en) * | 1989-02-10 | 1994-03-08 | Mitsubishi Denki K.K. | Parallel processing method and apparatus |
US5768575A (en) * | 1989-02-24 | 1998-06-16 | Advanced Micro Devices, Inc. | 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 |
US5226126A (en) * | 1989-02-24 | 1993-07-06 | Nexgen Microsystems | Processor having plurality of functional units for orderly retiring outstanding operations based upon its associated tags |
US5781753A (en) | 1989-02-24 | 1998-07-14 | Advanced Micro Devices, Inc. | 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 speculative and out-of-order execution of complex instructions |
US5185871A (en) * | 1989-12-26 | 1993-02-09 | International Business Machines Corporation | Coordination of out-of-sequence fetching between multiple processors using re-execution of instructions |
EP0547240B1 (en) * | 1991-07-08 | 2000-01-12 | Seiko Epson Corporation | Risc microprocessor architecture implementing fast trap and exception state |
EP1526446A3 (en) * | 1991-07-08 | 2007-04-04 | Seiko Epson Corporation | Extensible RISC microprocessor architecture |
US5539911A (en) * | 1991-07-08 | 1996-07-23 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
US5961629A (en) * | 1991-07-08 | 1999-10-05 | Seiko Epson Corporation | High performance, superscalar-based computer system with out-of-order instruction execution |
US5363495A (en) * | 1991-08-26 | 1994-11-08 | International Business Machines Corporation | Data processing system with multiple execution units capable of executing instructions out of sequence |
GB2263565B (en) * | 1992-01-23 | 1995-08-30 | Intel Corp | Microprocessor with apparatus for parallel execution of instructions |
US5438668A (en) | 1992-03-31 | 1995-08-01 | Seiko Epson Corporation | System and method for extraction, alignment and decoding of CISC instructions into a nano-instruction bucket for execution by a RISC computer |
US6735685B1 (en) | 1992-09-29 | 2004-05-11 | Seiko Epson Corporation | System and method for handling load and/or store operations in a superscalar microprocessor |
WO1994008287A1 (en) | 1992-09-29 | 1994-04-14 | Seiko Epson Corporation | System and method for handling load and/or store operations in a superscalar microprocessor |
US5410657A (en) * | 1992-10-09 | 1995-04-25 | International Business Machines Corporation | Method and system for high speed floating point exception enabled operation in a multiscalar processor system |
EP0596410B1 (en) * | 1992-11-04 | 1999-07-28 | Digital Equipment Corporation | Detection of command synchronisation error |
JP2549256B2 (ja) * | 1992-12-01 | 1996-10-30 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 浮動小数点プロセッサへデータを転送する方法及び装置 |
JP3182591B2 (ja) * | 1993-01-20 | 2001-07-03 | 株式会社日立製作所 | マイクロプロセッサ |
GB9305263D0 (en) * | 1993-03-15 | 1993-05-05 | Univ Westminster | Parrallel computation |
JP2596712B2 (ja) * | 1993-07-01 | 1997-04-02 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 近接した分岐命令を含む命令の実行を管理するシステム及び方法 |
CA2123442A1 (en) * | 1993-09-20 | 1995-03-21 | David S. Ray | Multiple execution unit dispatch with instruction dependency |
US5740398A (en) * | 1993-10-18 | 1998-04-14 | Cyrix Corporation | Program order sequencing of data in a microprocessor with write buffer |
US5471598A (en) * | 1993-10-18 | 1995-11-28 | Cyrix Corporation | Data dependency detection and handling in a microprocessor with write buffer |
US5615402A (en) * | 1993-10-18 | 1997-03-25 | Cyrix Corporation | Unified write buffer having information identifying whether the address belongs to a first write operand or a second write operand having an extra wide latch |
US5584009A (en) * | 1993-10-18 | 1996-12-10 | Cyrix Corporation | System and method of retiring store data from a write buffer |
US6219773B1 (en) | 1993-10-18 | 2001-04-17 | Via-Cyrix, Inc. | System and method of retiring misaligned write operands from a write buffer |
TW353732B (en) * | 1994-03-31 | 1999-03-01 | Ibm | Processing system and method of operation |
CN1048344C (zh) * | 1994-05-24 | 2000-01-12 | 禹成海 | 一种适度耦合多处理机***的体系结构 |
US5465336A (en) * | 1994-06-30 | 1995-11-07 | International Business Machines Corporation | Fetch and store buffer that enables out-of-order execution of memory instructions in a data processing system |
US5666506A (en) * | 1994-10-24 | 1997-09-09 | International Business Machines Corporation | Apparatus to dynamically control the out-of-order execution of load/store instructions in a processor capable of dispatchng, issuing and executing multiple instructions in a single processor cycle |
US5805906A (en) * | 1996-10-15 | 1998-09-08 | International Business Machines Corporation | Method and apparatus for writing information to registers in a data processing system using a number of registers for processing instructions |
US5860014A (en) * | 1996-10-15 | 1999-01-12 | International Business Machines Corporation | Method and apparatus for improved recovery of processor state using history buffer |
US5870612A (en) * | 1996-10-15 | 1999-02-09 | International Business Machines Corporation | Method and apparatus for condensed history buffer |
US6070235A (en) * | 1997-07-14 | 2000-05-30 | International Business Machines Corporation | Data processing system and method for capturing history buffer data |
US6065086A (en) * | 1998-02-17 | 2000-05-16 | International Business Machines Corporation | Demand based sync bus operation |
US6564298B2 (en) | 2000-12-22 | 2003-05-13 | Intel Corporation | Front end system having multiple decoding modes |
US20070083192A1 (en) * | 2005-10-07 | 2007-04-12 | Eric Welch | Apparatus and method for ablation of targeted tissue |
US20070157030A1 (en) * | 2005-12-30 | 2007-07-05 | Feghali Wajdi K | Cryptographic system component |
US20070192571A1 (en) * | 2006-02-14 | 2007-08-16 | Feghali Wajdi K | Programmable processing unit providing concurrent datapath operation of multiple instructions |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3229260A (en) * | 1962-03-02 | 1966-01-11 | Ibm | Multiprocessing computer system |
US3896418A (en) * | 1971-08-31 | 1975-07-22 | Texas Instruments Inc | Synchronous multi-processor system utilizing a single external memory unit |
GB1441458A (en) * | 1972-06-28 | 1976-06-30 | Texas Instruments Inc | Stored programme data processing for parallel processing of programme segment |
US3793631A (en) | 1972-09-22 | 1974-02-19 | Westinghouse Electric Corp | Digital computer apparatus operative with jump instructions |
CH556576A (de) * | 1973-03-28 | 1974-11-29 | Hasler Ag | Einrichtung zur synchronisierung dreier rechner. |
FR2471631B1 (fr) * | 1979-12-11 | 1986-02-21 | Cii Honeywell Bull | Dispositif de synchronisation et d'affectation de processus entre plusieurs processeurs dans un systeme de traitement de l'information |
JPS6043535B2 (ja) * | 1979-12-29 | 1985-09-28 | 富士通株式会社 | 情報処理装置 |
JPS58114274A (ja) * | 1981-12-28 | 1983-07-07 | Hitachi Ltd | デ−タ処理装置 |
US4498136A (en) * | 1982-12-15 | 1985-02-05 | Ibm Corporation | Interrupt processor |
US4564901A (en) * | 1983-07-21 | 1986-01-14 | Burroughs Corporation | Method of performing a sequence of related activities via multiple asynchronously intercoupled digital processors |
JPH0744849B2 (ja) * | 1985-07-31 | 1995-05-15 | 株式会社ニコン | 超音波モータ |
JPS6246341A (ja) * | 1985-08-23 | 1987-02-28 | Hitachi Ltd | 付加プロセツサの入出力制御方法 |
US4763294A (en) * | 1985-12-19 | 1988-08-09 | Wang Laboratories, Inc. | Method and apparatus for floating point operations |
JP2610821B2 (ja) * | 1986-01-08 | 1997-05-14 | 株式会社日立製作所 | マルチプロセツサシステム |
JPS6365528A (ja) * | 1986-09-06 | 1988-03-24 | Nec Corp | コ・プロセツサ |
JPS63282528A (ja) * | 1987-02-04 | 1988-11-18 | Sharp Corp | 中央処理装置実行命令の検出方式 |
ATE85853T1 (de) * | 1987-03-20 | 1993-03-15 | Digital Equipment Corp | Vorrichtung und verfahren zur synchronisation von arithmetischen exceptionen in parallelen pipeline-ausfuehrungseinheiten. |
EP0312764A3 (en) * | 1987-10-19 | 1991-04-10 | International Business Machines Corporation | A data processor having multiple execution units for processing plural classes of instructions in parallel |
US4937741A (en) * | 1988-04-28 | 1990-06-26 | The Charles Stark Draper Laboratory, Inc. | Synchronization of fault-tolerant parallel processing systems |
-
1989
- 1989-01-13 US US07/297,783 patent/US5075840A/en not_active Expired - Fee Related
- 1989-08-18 CA CA000608713A patent/CA1321655C/en not_active Expired - Fee Related
- 1989-11-02 AU AU44337/89A patent/AU618142B2/en not_active Ceased
- 1989-12-09 CN CN89109161A patent/CN1013067B/zh not_active Expired
- 1989-12-13 PH PH39687A patent/PH30201A/en unknown
- 1989-12-13 KR KR1019890018447A patent/KR930004214B1/ko not_active IP Right Cessation
- 1989-12-13 MY MYPI89001751A patent/MY105754A/en unknown
- 1989-12-20 DE DE68927911T patent/DE68927911T2/de not_active Expired - Fee Related
- 1989-12-20 EP EP89313401A patent/EP0377991B1/en not_active Expired - Lifetime
- 1989-12-20 GB GB8928776A patent/GB2227108A/en not_active Withdrawn
-
1990
- 1990-01-12 BR BR909000112A patent/BR9000112A/pt not_active Application Discontinuation
- 1990-01-12 JP JP2003662A patent/JP2645669B2/ja not_active Expired - Lifetime
-
1997
- 1997-07-23 HK HK97101597A patent/HK1000050A1/xx not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100527087C (zh) * | 2005-10-17 | 2009-08-12 | 威盛电子股份有限公司 | 多核计算机***驱动程序的支持多执行绪指令执行的方法 |
CN102617431A (zh) * | 2011-01-28 | 2012-08-01 | 天津滨海索尔特生物技术中心有限公司 | 用无机碱提取盐藻中的β-胡萝卜素的方法 |
Also Published As
Publication number | Publication date |
---|---|
EP0377991A3 (en) | 1991-07-31 |
JP2645669B2 (ja) | 1997-08-25 |
EP0377991A2 (en) | 1990-07-18 |
HK1000050A1 (en) | 1997-10-24 |
AU618142B2 (en) | 1991-12-12 |
JPH02227769A (ja) | 1990-09-10 |
MY105754A (en) | 1995-01-30 |
KR930004214B1 (ko) | 1993-05-21 |
EP0377991B1 (en) | 1997-03-26 |
CN1013067B (zh) | 1991-07-03 |
DE68927911T2 (de) | 1997-09-18 |
AU4433789A (en) | 1990-07-19 |
BR9000112A (pt) | 1990-10-23 |
GB2227108A (en) | 1990-07-18 |
DE68927911D1 (de) | 1997-04-30 |
PH30201A (en) | 1997-02-05 |
KR900012155A (ko) | 1990-08-03 |
GB8928776D0 (en) | 1990-02-28 |
CA1321655C (en) | 1993-08-24 |
US5075840A (en) | 1991-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1044177A (zh) | 紧配合的多处理器指令同步 | |
US4674032A (en) | High-performance pipelined stack with over-write protection | |
US6687810B2 (en) | Method and apparatus for staggering execution of a single packed data instruction using the same circuit | |
KR100470299B1 (ko) | 곱셈-누산 연산의 단일 사이클 처리 | |
US4412303A (en) | Array processor architecture | |
EP0377990B1 (en) | Data processing systems | |
US4916606A (en) | Pipelined parallel data processing apparatus for directly transferring operand data between preceding and succeeding instructions | |
EP1267256A2 (en) | Conditional execution of instructions with multiple destinations | |
CN1052740A (zh) | 带有指令标识装置的数据处理*** | |
KR100446564B1 (ko) | 데이타처리시스템및이시스템에서의연산실행방법 | |
JPS6028015B2 (ja) | 情報処理装置 | |
CN1144934A (zh) | 具有执行送数指令执行部件的数据处理器及其操作方法 | |
JPH0240744A (ja) | 仮想アドレス‐物理アドレスの変換が有効に行なわれることを予想する方法及び装置 | |
JPH03653B2 (zh) | ||
KR880011681A (ko) | 메모리연결형 파면어레이 프로세서 | |
JPH03138759A (ja) | 信号プロセツサ | |
US20120204008A1 (en) | Processor with a Hybrid Instruction Queue with Instruction Elaboration Between Sections | |
JP2620511B2 (ja) | データ・プロセッサ | |
US6092183A (en) | Data processor for processing a complex instruction by dividing it into executing units | |
JPS58121457A (ja) | 情報処理装置 | |
US5713039A (en) | Register file having multiple register storages for storing data from multiple data streams | |
US20080215859A1 (en) | Computer with high-speed context switching | |
EP0374598B1 (en) | Control store addressing from multiple sources | |
CN101615114B (zh) | 完成两次乘法两次加法两次位移的微处理器实现方法 | |
EP0689130A1 (en) | Computer instruction pipelining |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C13 | Decision | ||
GR02 | Examined patent application | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C15 | Extension of patent right duration from 15 to 20 years for appl. with date before 31.12.1992 and still valid on 11.12.2001 (patent law change 1993) | ||
OR01 | Other related matters | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |