CN1013067B - 紧配合的多处理器指令同步 - Google Patents

紧配合的多处理器指令同步

Info

Publication number
CN1013067B
CN1013067B CN89109161A CN89109161A CN1013067B CN 1013067 B CN1013067 B CN 1013067B CN 89109161 A CN89109161 A CN 89109161A CN 89109161 A CN89109161 A CN 89109161A CN 1013067 B CN1013067 B CN 1013067B
Authority
CN
China
Prior art keywords
instruction
processor
sequence
fixed
point
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.)
Expired
Application number
CN89109161A
Other languages
English (en)
Other versions
CN1044177A (zh
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1044177A publication Critical patent/CN1044177A/zh
Publication of CN1013067B publication Critical patent/CN1013067B/zh
Expired legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3818Decoding for concurrent execution
    • G06F9/3822Parallel decoding, e.g. parallel decode units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent 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,由定点单元和浮点单元指令预取缓冲器20和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的数据处理系统,其中所述的指令序列包括至少一条要求由两个处理器进行操作的指令。
CN89109161A 1989-01-13 1989-12-09 紧配合的多处理器指令同步 Expired CN1013067B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US297,783 1989-01-13
US07/297,783 US5075840A (en) 1989-01-13 1989-01-13 Tightly coupled multiprocessor instruction synchronization

Publications (2)

Publication Number Publication Date
CN1044177A CN1044177A (zh) 1990-07-25
CN1013067B true 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)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
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
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
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
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
US5961629A (en) * 1991-07-08 1999-10-05 Seiko Epson Corporation High performance, superscalar-based computer system with out-of-order instruction execution
ATE188786T1 (de) * 1991-07-08 2000-01-15 Seiko Epson Corp Risc-mikroprozessorarchitektur mit schnellem unterbrechungs- und ausnahmemodus
US5539911A (en) 1991-07-08 1996-07-23 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
DE69231762T2 (de) 1991-07-08 2001-07-26 Seiko Epson Corp Risc-prozessor mit dehnbarer architektur
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
JP3644959B2 (ja) 1992-09-29 2005-05-11 セイコーエプソン株式会社 マイクロプロセッサシステム
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
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
DE69325769T2 (de) * 1992-11-04 2000-03-23 Digital Equipment Corp Erkennung von Befehlssynchronisationsfehlern
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
US5471598A (en) * 1993-10-18 1995-11-28 Cyrix Corporation Data dependency detection and handling in a microprocessor with write buffer
US5584009A (en) * 1993-10-18 1996-12-10 Cyrix Corporation System and method of retiring store data from a 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
US5740398A (en) * 1993-10-18 1998-04-14 Cyrix Corporation Program order sequencing of data in a microprocessor with 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
US5870612A (en) * 1996-10-15 1999-02-09 International Business Machines Corporation Method and apparatus for condensed history buffer
US5860014A (en) * 1996-10-15 1999-01-12 International Business Machines Corporation Method and apparatus for improved recovery of processor state using history buffer
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
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
TWI348652B (en) * 2005-10-17 2011-09-11 Via Tech Inc Driver assisted asynchronous command processing
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
CN102617431B (zh) * 2011-01-28 2013-09-25 天津滨海索尔特生物技术中心有限公司 用无机碱提取盐藻中的β-胡萝卜素的方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
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 中央処理装置実行命令の検出方式
DE3878513T2 (de) * 1987-03-20 1993-09-16 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

Also Published As

Publication number Publication date
CN1044177A (zh) 1990-07-25
GB2227108A (en) 1990-07-18
KR930004214B1 (ko) 1993-05-21
EP0377991A3 (en) 1991-07-31
EP0377991B1 (en) 1997-03-26
JPH02227769A (ja) 1990-09-10
KR900012155A (ko) 1990-08-03
MY105754A (en) 1995-01-30
DE68927911T2 (de) 1997-09-18
PH30201A (en) 1997-02-05
CA1321655C (en) 1993-08-24
US5075840A (en) 1991-12-24
HK1000050A1 (en) 1997-10-24
GB8928776D0 (en) 1990-02-28
AU4433789A (en) 1990-07-19
EP0377991A2 (en) 1990-07-18
AU618142B2 (en) 1991-12-12
BR9000112A (pt) 1990-10-23
JP2645669B2 (ja) 1997-08-25
DE68927911D1 (de) 1997-04-30

Similar Documents

Publication Publication Date Title
CN1013067B (zh) 紧配合的多处理器指令同步
KR100470299B1 (ko) 곱셈-누산 연산의 단일 사이클 처리
US6687810B2 (en) Method and apparatus for staggering execution of a single packed data instruction using the same circuit
CN1021144C (zh) 带有指令标识装置的数据处理系统
EP0377990B1 (en) Data processing systems
US4916606A (en) Pipelined parallel data processing apparatus for directly transferring operand data between preceding and succeeding instructions
JPS6028015B2 (ja) 情報処理装置
JPH03138759A (ja) 信号プロセツサ
JPH03653B2 (zh)
JPH0240744A (ja) 仮想アドレス‐物理アドレスの変換が有効に行なわれることを予想する方法及び装置
CN1144934A (zh) 具有执行送数指令执行部件的数据处理器及其操作方法
WO2012106716A1 (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
US5713039A (en) Register file having multiple register storages for storing data from multiple data streams
US5732251A (en) DSP with register file and multi-function instruction sequencer for vector processing by MACU
CN1257450C (zh) 节省资源的硬件环路
US20080215859A1 (en) Computer with high-speed context switching
US7234044B1 (en) Processor registers having state information
EP0374598B1 (en) Control store addressing from multiple sources
CN101615114B (zh) 完成两次乘法两次加法两次位移的微处理器实现方法
JPS60129839A (ja) 情報処理装置
EP0689130A1 (en) Computer instruction pipelining
CN101042641A (zh) 一种具有动态提交流水线功能的数字信号处理器
JPS61288230A (ja) パイプライン制御方式

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