CN87106765A - 按预定次序执行两个指令序列的方法和装置 - Google Patents
按预定次序执行两个指令序列的方法和装置 Download PDFInfo
- Publication number
- CN87106765A CN87106765A CN198787106765A CN87106765A CN87106765A CN 87106765 A CN87106765 A CN 87106765A CN 198787106765 A CN198787106765 A CN 198787106765A CN 87106765 A CN87106765 A CN 87106765A CN 87106765 A CN87106765 A CN 87106765A
- Authority
- CN
- China
- Prior art keywords
- address
- sequence
- instruction
- write
- storage
- 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
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
-
- 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, look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
- G06F9/3889—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
-
- 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, look ahead
- G06F9/3824—Operand accessing
- G06F9/3834—Maintaining memory consistency
Abstract
一个数据处理系统按照一个预定的次序执行两个指令序列。该执行过程包括选择含有各读/写地址的各读/写指令(4)。借助于所述各指令,共用于两个序列的主存储器(1)为了数据信息的读/写而被激活。在执行排序为第二的序列期间使用了一种在事先并未保证是和在执行排序为第一的序列期间所获得的数据信息无关的数据信息。数据处理能力的增加是借助一个包含有一个辅助存储器和一些比较电路的中间存储器单元而达到的。
Description
本发明涉及一种按预定次序执行两个指令序列的方法和装置,所述各执行过程包括选择各条读指令,后者每一条都包含其读地址,以便检索储存在主存储器的多个存储单元之一中的并通过它们各自的地址就可以访问的数据信息;以及包括选择各条写指令,后者每一条都包含其写地址和数据信息,以便将该数据信息传送到一个通过该写地址就可以访问的主存储器的存储单元中去,而伴随执行排序为第二的序列一起使用的数据信息并不预先被保证是和伴随执行排序为第一的序列一起得到的数据信息无关的。
一个平凡的、常用的解决上述信息处理问题的方法在于,直到那个按照上、下文被称作是第一的序列被执行完毕才开始执行那个按照上、下文被称作是第二的序列。这个平凡的解决办法在由单个处理器控制的数据处理系统中是自然而然就会得到的,这样就使得通过使用对于两个序列是公用的主存储器的各存储单元一次一个地执行所述各序列。
人们已知可通过并行执行所述各指令序列的方法来增加数据处理能力。只要事先保证所述各序列是相互独立的,就可以借助所谓处理或多道处理,或者也可以借助一个包括至少两个数据处理单元(其每一个各执行它的指令序列)的单处理器系统来获得无故障的并行操作。还已知可以依靠一个共用于多个数据处理单元的主存储器,以及依靠多个独立的、各与其数据处理单元相关联并不时相互更新内容的存储器这样两种方法来实现信息处理。
如果拥有的是一些互相影响着的、因而必须按规定次序执行的敏感的指令序列,那么就要使用,例如按照1985年8月15日出版的“计算机设计”(Computer Design)期刊的76-81页上,关于“西昆特计算机系统有限公司的白兰斯8000系统的技术摘要”(“Balance 8000 System Technical Summary,Sequent Computer Systems,Inc”)的程序设计语言、编译程序和序列硬件以便对相互独立的各序列作并行处理,而不让各敏感的序列作并行处理。
正如在本介绍中已提到的,本发明是关于在使用一个共用于两个序列的主存储器的情况下所进行的数据信息处理。在所建议采用的信息处理方式中,两个序列同时被并行执行而无需注意按所述事先确定的次序开始。然而,为确保该预定次序,必需在先行执行所述第一序列期间不让由于所选择的、与所述第二序列相关联的各条写指令而获得的数据信息被传送到所述主存储器的各存储单元中去。借助一个包含有一个辅助存储器和一些比较电路的中间存储器单元,所述第二序列对第一序列的依从情况就可得到监控,从而得到所述规定的次序。
由于在执行所述第二序列期间所选择出来的各条读指令而获得的各个地址都被中间存储在所述辅助存储器中。在执行所述第一序列期间所选择出来的每一个写地址都要同每一个储存在所述辅助存储器中的许多读地址进行比较。只要确定地址不具有相似性,那么在执行所述第二序列期间就不会使用依赖于在执行所述第一序列期间所获得的数据信息的数据信息。如果在执行所述第二序列期间发生了信息已从主存储器的一个存储单元中检索出来,该信息随后又由于一项和所述第一序列相关联的写操作而被校正,也就是如果所述两个序列不再是互相独立的,那么,所述辅助存储器就被擦除乾净,所述第二序列的各项指令选择又再一次开始。于是,在所述第一序列的第一部分已经被执行的那个时刻才发生所述第二序列重新开始执行,因而所述第二序列依赖于所述第一序列的剩余部分的风险会小一些。
根据在执行所述第二序列期间所选择出来的各条写指令而获得的各个写地址和数据信息也被储存在所述辅助存储器中。在执行所述第二序列期间所选择出来的每一个读地址都要和被中间储存在所述辅助存储器中的许多写地址的每一个进行比较。这时如果没有能确定地址有相似性,那么数据信息就会从借助于所述读地址就可进行访问的所述主存储器的存储单元中检索出来,可是如果查明地址有相似性,那么分配给所述地址的数据信息就会从所述辅助存储器中检索出来。
当执行所述第一序列的过程结束时,被中间储存在所述辅助存储器中的所述数据信息就被传送到所述主存储器的各个存储单元中去,后者是可以通过同样地被中间储存的、和各个写地址相关联的内容进行访问的。
如果执行所述第二序列至少是和在执行所述第一序列结束时刻所选择出来的各条指令无关的,那么使用所建议的信息处理方式就会使数据处理能力提高。如果一个被选择出来的地址,当该地址没有作为一个写地址而过早地在执行所述第二序列期间出现时,是作为读地址而被单独地中间储存在所述辅助存储器中,那么该已经被提高的处理能力还可以进一步提高。
本发明的各项特征可从本发明的权利要求书中一目了然。
现在要在下面参照附图详细说明本发明,其中图1说明经由总线系统连接到一个公用的主存储器的两个数据处理单元。图2比图1更详细地说明一个指令存储器装置、一个启动和标识电路以及一个门网路,它们是包含在一个数据处理单元中的。图3说明一个包含在一个数据处理单元中的中间存储器。
按照图1的一个数据处理系统包括一个用于储存数据信息的主存储器1,这些数据信息是至少由两个数据处理单元2处理的,各数据处理单元2经由总线系统3分别连接到所述主存储器上。所述各数据处理单元的每一个都执行一个用于控制各规定的功能单元(未在图1中说明)、以便实现各种规定的系统功能的指令序列。依据所述各数据处理单元是否是由一个公用处理器控制,或者各个单元是否包括多个处理器而定,按常规在原则上可得到一个单处理器或多道处理器的系统,并包括一套公用总线和一个公用主存储器。这样一个包括多个数据处理单元和一套总线的数据处理系统是在例如英特尔(Intel)公司的《APX286硬件参考手册(AP X286 Hardware Reference Manual)》中,以及在1984年3月22日的《电子学(Electronics)》杂志上的论文“备份支撑为虚拟机环境的总线提供强大的多道处理体系结构”(Backup Support gives VME bus powerful multi-processing architecture)中已描述过的。
图1考虑到本发明,以极其简略的方式说明两个用于执行上述按预定次序排列的第一和第二指令序列的数据处理单元2。除了一个用于一次一条地选择储存在一个指令存储器中的各条指令的传统的指令存储器装置4以外,各个数据处理单元包括一个被叫做启动/标织电路的、用于表明它自身的序列是所述第一独立序列还是所述第二可能从属的序列的装置5,以及包括一个用于对包含在各条指令中的各个地址和数据信息进行中间储存的中间存储器单元6,但是这些数据是单独用于执行所述第二序列的数据处理单元中的,最后还包括一个用于控制使所述数据处理单元连接到所述总线系统3的门网络7。
从以后的叙述中将会理解到,由于需要一些指令的中间存储器,所述总线系统的负载是会有所增加的,但是可以设想,这样就使所述总线系统对于各数据处理单元以及对于所述主存储器的可存取性能力可以按预定次序而不受干扰地实行全部数据的处理。在所述总线系统中,图1说明一套多位地址总线8、一条用于传送各写信号的线9以及一套多位数据总线10。它还进一步表明,所述数据总线是双向连接到主存储器1和各数据处理单元2上的,而地址总线8和写信号线9则是单方向连接到一个寻址电路11和所述主存储器的一个写激活输入端12上,在该主存储器上,对地址和写信号的接收使所述数据总线的各项内容将被传送到一个可通过该地址进行访问的主存储器的存储单元上。在单独接收一个地址的情况下,储存在主存储器中的一个可以通过该地址进行访问的存储单元中的数据,就被从所述主存储器经由数据总线10传送到发送该地址的所述数据处理单元中去。各数据处理单元的起动/标识电路5,各备有一个起动信号输出端13,后者被连接到另一个电路5上的起动信号输入端14上。于是,这就表明了并行执行两个序列的可能性,它将在下文中予以说明,并被用于所建议的信息处理方法中。
最后,在图1中,各起动/标识电路5被说明为,各备有自己的标识信号输出端15,它被连接到所述另一个数据处理单元的中间存储器单元6的第一标识信号输入端上。
图1没有示出关于在各数据处理单元和所述总线系统之间的各种数据传送方面所使用和实行的常用的缓冲器和激活过程;所述总线系统正如下面将要说明的,也是用于在各数据处理单元之间传送各个地址和写信号的。
图2比图1更详细地说明若干数据处理单元的细节,这些知识对于理解所建议的信息处理方法是必要的。
指令存储器装置4包括一个用于储存一个指令序列的指令存储器17,该指令序列借助于一个选择装置18而一次一条指令地从所述指令存储器读出,这是由于被该选择装置的若干输出端之一激活所致。
所述序列包括三种指令类型。第一种类型,下文称为“读指令”,它是由一个二进制的“一”集读比特位置19所标识的,用于命令从主存储器的一个存储单元中检索数据,通往该存储单元的入口是借助于一个储存在许多地址比特位置20中的地址,例如A1,获得的,该地址是包含在所述有读比特标志的指令中的。第二种指令类型,下文称为“写指令”,它是由一个“一”集写比特位置21所标识的,用于命令将数据,即将例如D2的数据,写入一个主存储器的存储单元中,该数据是包含在所述有写比特标志的指令中、并被储存在许多数据比特位置22中的,同时它是使用一个例如A2的地址的,该地址也是包含在所述有写比特标志的指令中,并被储存在各地址比特位置20中的。第三种指令类型,它是由“零”集各比特位置19和21所标识的,用于命令进行信息处理而无需从所述主存储器读出或写入该主存储器。使用例如储存在和第三种类型的指令相关联的各比特位置20和22中的S1信息不是在本发明的范围之内的,但图2示明了一个第一“或”门23,它是包括在所述门网络7内、并有其连接到各比特位置19和21的各输入端以及其连接到一个第一“与”门装置24的反相激活输入端的输出端,该“与”门装置24在激活状态下将所述各比特位置20和22的各项内容,即S1直接传送到所述数据处理单元中去。所述第三种类型的各条指令并不装入所述总线系统或所述主存储器内,因此后两者对于多个数据处理单元可以是公用的,不必对主存储器和总线系统提出过高的速度要求。
按照图2,各数据处理单元的启动/标识电路5各包括第二和第三“与”门25和26。门25的各输入端中有一个被连接到门26的输出端上,门26的各输入端被连接到上述启动信号输入端14,同时连接到包含在同一数据处理单元中的中间存储器单元6的一个重新启动信号输出端27上。各数据处理单元各包括一个启动信号发生器(图2上未予说明),该发生器的输出端经由一个启动端子28被连接到门25的另一个输入端上,连接到上述启动信号输出端13上以及连接到一个第一触发器29的置位输入端上,该触发器29有一个构成上述标识信号输出端15的输出端。第二触发器30有其连接到门26的输出端的置位输入端以及其连接到本地中间存储器单元6上一个第二标识信号输入端31的输出端。门25在其激活状态下选择所述第三种类型的一条指令,该指令是一条具有各项内容S1的启动指令,由于它,所述数据处理单元借助其选择装置18启动所述相关联的指令序列的执行过程。这是假设了,所述储存在指令存储器17中的序列是同选择装置的一个输出端32的激活状态一起终止的,该输出端32是连接到各触发器29和30的各复位输入端上的。
所述第一序列的执行是由所述本地启动信号发生器启动的。因此,在第一触发器29的输出端上的一个二进制“一”就表明与所述本地序列相关联的各种指令选择正在进行中,并且该本地序列是所述第一序列。在第二触发器30的输出端上的一个二进制“一”就表明与所述本地序列相关联的各种指令选择正在进行中,并且该本地序列是所述第二序列。按照本发明,该两序列的各条指令是并行选择的,例如是通过把一个启动信号从与所述第一序列相关联的启动信号输出端13传送到与所述第二序列相关联的启动信号输入端14上来做到并行选择的。
从指令存储器17中选择出来的各条指令被传送到所述数据处理单元的门网路7中,并且经由各端子33-36传送到所述数据处理单元的中间存储器单元6中。每一个门网络7都包括有一个第二“与”门装置37,以便在激活状态下经由第一“或”门装置38,将各比特位置20-22的各项内容传送至所述总线系统的地址总线8、写信号线9和数据总线10上。所述门装置37有其连接到一个第四“或”门39的输出端的激活输入端,该“或”门39的第一和第二输入端则分别被连接到一个第一控制门40和一个第二控制门41的各输出端上。所述控制门40有其连接到所述指令存储器的写比特位置21上的第一输入端和连接到第一触发器29的输出端上的第二输入端。控制门41有其连接到所述指令存储器的读比特位置19上的第一输入端和连接到中间存储器单元6的一个类别信号输出端42上的第二反相输入端。
以下要说明的是关于,在执行所述第二序列期间所选择出来的各条读指令当中有一个第一和一个第二类别,所述各第一和第二类别是分别由经由所述类别输出端42传送的一个二进制的“零”和“一”所标识的;并且是,当相关联的数据处理单元执行所述第一序列时,所述类别输出端42就发送一个二进制的“零”。因此,所述门装置37由于在执行第一序列期间被选择出来的所有各读指令和各写指令,以及由于所述第一类别的一条读指令而被激活。但是,所述门装置37由于一条第三种类型的指令或者是在执行所述第二序列期间所选择出来的一条写指令,或者由于一条所述第二类别的读指令都不会被激活。
每一个门网络还包括一个第三“与”门装置43,以便在激活状态下经由一个第二“或”门装置44传送从中间存储器单元6中的端子45获得的数据信息,然后该数据信息由所述相关的数据处理单元处理。所述门装置43有其连接到类别信号输出端42的激活输入端。“或”门装置44有其连接到所述总线系统的数据总线10的第二输入端。当选择出一条第二类别指令时,数据信息就不是从主存储器1检索出而是从中间存储器单元6检索出的。
最后,每个门网络7还包括一个第四“与”门装置46,以便在激活状态下将来自与该同一个数据处理单元相关联的中间存储器单元6的各输出端子45、47和48的数据和地址信息以及各个写信号传送到总线系统3去。所述门装置46的激活将会和所述中间存储器单元的说明一起描述。
图3说明包括有一个辅助存储器49的中间存储器单元。后者拥有对经由各端子33-36传送的数据信息以及各读地址和写地址进行中间储存的各列,所述各列是为了借助于一个扫描装置50进行写、读和擦除而选定的。下面将说明,当所述相关联的指令序列终于被执行的时候,所述辅助存储器是怎样被擦除乾净的。从一个第五“或”门51发送出来的一个扫描脉冲的前沿将所述扫描装置设置到零。通往所述辅助存储器各列的入口是由一个步进发生器产生的各步进脉冲的前沿而获得的,该脉冲并且是经由一个被激活的步进“与”门53被传送到所述扫描装置的一个步进端子54上的。所述各步进脉冲也被发送到一个读激活端子55上,结果使得各项列内容一次只被读出一项。
按照图3的中间存储器单元包括有一个第一“或非”门56,它的各输入端是用于接收被中间储存在所述辅助存储器的各写比特位置57和各读比特位置58中的所述各写标志和读标志的,而其反相输出端经由一个停止“或”门59连接到步进“与”门53的一个反相输入端以及连接到第三和第四“与”控制门60和61的各第一输入端上,它们的各输出端连接到“或”门51上。所述控制门60有其连接到一个第五“与”控制门62的第二输入端,该控制门62的第一输入端连接到上述标识信号输入端31上,它的第二输入端则经由一个第一控制端子63而连接到上述第一“或”门23的输出端上。
因此,各扫描脉冲只在所述中间存储器单元中产生,后者是包括在执行所述第二序列的数据处理单元之中的。当选定一条读指令或一条写指令之际就命令一项扫描操作。当读到一个未被占用的列(即一个既没有标志写入也没有标志读出的列)时,步进过程即告停止。用于启动扫描的一个条件是,所述先前的扫描过程已经停止。
所述第一“或非”门56经由一个写“或”门64被连接到所述扫描装置的一个写激活输入端65上。这里假设一条具有相关联的地址A3和数据D3/1的写指令以及一条具有相关联的地址A4的读指令构成以主存储器为目标的所述第二序列的各第一和第二指令,这些指令以所述方法被中间储存在所述辅助存储器的第一和第二列中,这些列拥有各比特位置57和58,它们先于相应的存储器而被置为零。
所述控制门61有其连接到一个第六“与”控制门66的第二输入端,该控制门66的第一输入端连接到上述第一标识输入端16上,而其第二输入端经由一个第一总线端子67连接到所述总线系统的写信号线9上。于是当选定一条与所述第一序列相关联的写指令之际,对所述第二序列中间存储器单元也命令一项扫描操作。步进发生器52的定时频率被假设为相对于所述指令的选择速度是足够高的,致使所有经由各控制门62和66而命令进行的扫描操作都拥有所要实行的时间。
所述中间存储器单元包括一个第一比较电路68,其输出端的激活是依靠在经由端子36而从指令存储器17获得的地址和在一次扫描操作期间从辅助存储器的各地址比特位置69读得的各地址之一之间有相似性的。第七“与”控制门70有其连接到停止“或”门59的输出端,连接到第一比较电路68输出端的第一输入端和打算用于接收被中间储存在辅助存储器的各写比特位置57中的所述各写标志的第二输入端。于是,就可获得这样的性能,如果从所述指令存储器选择出来的一条读地址或写地址同一条被中间储存的写地址一致,那么一项扫描操作即被停止。
所述写“或”门64有其连接到一个第八“与”控制门71输出端的第二输入端,该控制门71的第一输入端被连接到所述第一比较电路上,其第二和第三输入端则分别接收被中间储存在辅助存储器的各写比特位置57中的所述各写标志以及经由端子34、从指令存储器17中选择出来的所述写标志。如果从所述指令存储器选择出来的一条写地址,例如A3,同一条被中间储存的写地址相一致,那么由于所述选择出来的写地址而使所述扫描停止了的辅助存储器中的该列就被更新内容,以便,例如所述辅助存储器的第一列在更新内容之后把数据信息D3/2中间储存在该辅助存储器的各数据比特位置72中。
所述控制门70有其连接到一个第九“与”控制门73的一个输入端的输出端,该控制门73有其打算接收经由端子33、从指令存储器17中选择出来的所述读标志的第二输入端,门73的输出端构成上述类别信号输出端42,后者因此和所述辅助存储器第二列中地址A4的中间存储器一起,已将一个二进制的“零”传送给上述控制门41和门装置42。这里假设,具有相关联地址A4的所述读指令的选择在选择了许多具有除A3和A4以外各地址的指令(图3上未作说明)之后就被第一次重复。于是就可获得这样的性能,所述被第一次重复的选择在类别信号输出端42上不致出现一个二进制的“一”,并不致造成由于第一比较电路68确定的地址相似性而发生的扫描停止,结果使所述被第一次重复的读指令被第二次中间储存入一个其中各比特位置57和58已预先被置为“零”的列中。如果所述具有相关联地址Ax的第二序列各读指令在该同一地址Ax和所述一条写指令的选择一起出现在所述第二序列中之前被选择出来,那么它们就被称为“第一类别指令”。被置成“零”的输出端42标识着一条第一类别指令。
假设一条具有相关联地址A4和数据D4的写指令是在上述被第一次重复的读指令的选择之后,并在许多具有除A3和A4以外各地址的指令(图3上未作说明)的选择之后选择出来的,因而得到,该写指令被中间储存在一个未被预先占用的列中。进一步假设,所述具有相关联地址A4的读指令的选择是在所述具有地址A4的写指令的选择之后被第二次重复,这样就在一读出所述被中间储存的具有地址A4的写指令之际就同时发生扫描停止。不存在内容更新,也就是所述写标志在比特位置57中保持不变,因而没有读标志在比特位置58内执行,而且有一个二进制的“一”出现在类别信号输出端42上,由此第二次被重复的、具有相关联地址A4的所述读指令被标识为第二类别指令。因此,辅助存储器不包含第二类别各指令,但是,选择这些指令的结果使图2中说明的控制门41停止对总线系统3传送指令,并使伴随相关联的扫描停止而从辅助存储器各数据比特位置72读出的数据信息,即D4,经由图2中说明的门装置43和44而传送到所述数据处理单元中去。
所述中间存储器单元包括一个第二比较电路74,其输出端是从地址总线8、经由一个第二总线端子75而获得的地址和在一项扫描操作期间从辅助存储器各地址比特位置69读出的各地址之一之间存在相似性的情况下所激活的。所述第二比较电路被连接到一个第十“与”控制门76的第一输入端上,该控制门76的第二输入端连接到上述控制门66上,其第三输入端是接收被中间储存在辅助存储器各比特位置58中的各读标志,而它的输出端则构成上述重新启动信号输出端27,并同时被连接到一个擦除“或”门77上。图2中说明的“或”门26,从一个激活控制门76接收重新启动信号。扫描装置50从一个被激活了的擦除“或”门77接收一个擦除命令脉冲,由于该脉冲,被中间储存在所述辅助存储器中的所有地址信息就立即被删掉。
于是获得这样的性能,如果遇到一条被中间储存的第一类别读指令,其中该指令的相关联地址同所述和一条在执行第一序列期间被选择出来的写指令相关联的地址一致,那么就进行将辅助存储器擦除乾净和重新启动执行所述第二序列的过程。所述擦除过程是必要的,因为相关联的数据处理单元已经从主存储器接收了数据信息,由于遇到了第一类别指令,如果始终注意到所述的预定次序,即如果在所述第一和第二序列中的各条指令未曾被并行选择出来,那么所述存储器将不会接收该第一类别指令。
所述中间存储器单元包括一个第二“或非”门78,它的各输入端被连接到上述各标识信号输入端16和31上,而且它还有一个连接到“或”门51的反相输出端。当所述第一和第二序列的各项选择结束时,必然就命令一项扫描操作,尽管在所述包括在执行了第一序列的数据处理单元中的中间存储器单元中该项扫描是无效的。“或非”门78的输出端被连接到一个第十一“与”控制门79的第一输入端上,控制门79的第二输入端则接收被中间储存在辅助存储器各比特位置57中的各写标志,而它的输出端是经由一个第二控制端子80而连接到上述门装置46上的。这样就使得,由“或非”门78启动的扫描操作导致所有被中间储存在所述辅助存储器中的写指令都经由各端子45、47和48,经由门装置46和38,以及总线系统3传送到主存储器1内。
最后,按照图3的中间存储器单元有一个第十二“与”控制门81,它的各输入端被连接到“或非”门56和78上,它的输出端则连接到擦除“或”门77上。于是当由“或非”门78启动的扫描操作结束时就得了一个擦除命令脉冲。
作为总的效果,借助于中间存储器单元就可实现,按照预定的次序无故障地、最终地执行了所述第一和第二序列,而不管该两序列的执行最初是已被命令要并行实施的。
Claims (2)
1、按照一个预定次序执行两个指令序列的方法,所述执行过程包括选择各条读指令,后者每一条都包含其读地址,以便检索储存在主存储器的多个存储单元之一中的数据信息,这些存储单元是通过它们各自的地址就可以访问的;以及包括选择各条写指令,后者每一条都包含有其写地址和数据信息,以便将该数据信息传送到一个通过该写地址就可以访问的主存储器的存储单元中去,而伴随执行排序为第二的序列一起使用的所述数据信息并不预先被保证是和伴随执行排序为第一的序列一起获得的数据信息无关的,
所述方法的特征在于下列步骤:
a)并行执行两个序列中的所述各条指令而不管其次序,
b)如果数据信息是由于执行所述第二序列各条写指令而获得的,那么在执行所述第一序列期间就不让该数据信息传送到所述主存储器的各存储单元中去,
c)对由于在执行所述第二序列期间选择出来的一条写指令而获得的一个写地址以及数据信息作中间存储。
d)如果由于在执行所述第二序列期间选择出来一条读指令而作为读地址获得的一个地址,不是事先伴随执行所述第二序列各条写指令而选择出来的,那么就将该地址作中间储存,
e)在一个在执行所述第二序列期间被选择出来的读地址和所述被中间储存的写地址之间实施第一比较。
f)由于借助在一个读地址和一个写地址之间所进行的所述第一比较而确定的相似性,因而不让从借助于该读地址就可以进行访问的所述主存储器中检索数据信息,而是代之以读出被中间储存的、和该写地址相关联的信息。
g)在被中间储存的读地址和由于执行所述第一序列各条写指令而获得的各个写地址的每一个之间实施第二比较,
h)当由所述第二比较确定出地址有相似性时,就重新启动执行所述第二序列,
i)当执行所述第一序列的过程结束时,借助于也是被中间储存的写地址将所述被中间储存的数据信息传送到通过该写地址就可以访问的所述主存储器的存储单元中去。
2、按照权利要求1,按照预定次序执行两个指令序列的装置,它包括一个用于启动执行排序为第一的序列的第一启动电路(13,25,28),以及各个用于储存分别排序为第一和第二的所述序列和用于一次一条地选择被储存的各条指令的分别为第一和第二的指令存储器装置(4),所述各指令存储器单元经由总线系统(3)被连接到一个具有其许多主存储器存储单元的主存储器单元(1,11),那些存储单元是可以为了读/写数据信息而借助于从所述各指令存储器装置中的各读/写地址比特位置(19,20,21)中选择出来的各个读/写地址进行访问的;和执行所述第二序列一起所使用的数据信息并不事先被保证是和伴随执行所述第一序列而获得的数据信息无关,
所述装置的特征在于该装置包括
a)有于启动所述第二序列的第二启动电路(14,25,26),其第一激活输入端(14)是连接到所述第一启动电路上的,
b)其输入端侧和输出端侧分别连接到所述第二指令存储器装置和总线系统的第一指令传送电路(37,38,39,41),在执行所述第一序列期间由于选择一条包含在所述第二序列中的写指令,它就被解除激活,
c)其输入端各端子(33-36)被连接到所述第二指令存储器装置上的辅助存储器单元(49,50),它包括用于中间储存在执行所述第二序列期间由于选择一条写指令而获得的一个写地址和数据信息的各数据比特位置(72)和各写地址比特位置(57,69)以及用于中间储存由于在执行所述第二序列期间选择一条读指令而被获得为一个读地址(如果该地址不是事先和执行所述第二序列各写指令一起被选择出来的)的各读地址比特位置(58,69),
d)一个开关比较电路(68,70,73),它的各第一比较端子被连接到所述第二指令存储器装置的各读地址比特位置(19,20)上,它的各第二比较端子被连接到辅助存储器的所述各写地址比特位置(57,69)上,所述开关比较电路的输出端由于在它的各开关比较端子上所接收的各个地址之间的不同和相同而分别发送一个第一和一个第二逻辑开关信号状态,
e)一个数据开关(37,38,39,41,44),其第一数据输入端连接到所述总线系统,其第二数据输入端连接到所述辅助存储器单元的各数据比特位置(72)上,它的各控制输入端则连接到所述开关比较电路的输出端上,该数据开关用于在所述第一开关信号状态下从所述主存储器的存储单元中检索数据信息,该存储单元可以借助由所述开关比较电路接收的读地址进行访问;以及用于在所述第二开关信号状态下从所述辅助存储器中检索和写地址相关联的数据信息,该写地址是由所述开关比较电路接收的,
f)具有用于接收到执行所述第一序列期间被选择出来的各个写地址的各第一比较端子(16,75)、连接到所述辅助存储器单元的所述各读地址比特位置(58,59)的各第二比较端子以及它的连接到所述第二启动电路的一个第二激活输入端的输出端(27)的比较判别电路(66,74,76),其输出端在所述各比较判别端子上所接收的各个地址之间有一致性的情况下就被激活,以及
g)一个在其输入端侧和输出端侧分别被连接到所述辅助存储器单元的各数据比特位置(72)和各写地址比特位置(57,69)上,以及连接到总线系统(3)上的第二指令传送电路(38,46,78,79),当执行所述第一序列结束时它就被激活。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE8604223A SE454921B (sv) | 1986-10-03 | 1986-10-03 | Sett och anordning for att i en pa forhand avgjord ordningsfoljd exekvera tva instuktionssekvenser |
SE8604223-1-LM | 1986-10-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN87106765A true CN87106765A (zh) | 1988-04-20 |
Family
ID=20365824
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN198787106625A Pending CN87106625A (zh) | 1986-10-03 | 1987-09-30 | 按预定顺序执行两个指令序列的方法和设备 |
CN198787106765A Pending CN87106765A (zh) | 1986-10-03 | 1987-10-03 | 按预定次序执行两个指令序列的方法和装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN198787106625A Pending CN87106625A (zh) | 1986-10-03 | 1987-09-30 | 按预定顺序执行两个指令序列的方法和设备 |
Country Status (20)
Country | Link |
---|---|
US (1) | US4956770A (zh) |
EP (1) | EP0285634B1 (zh) |
JP (1) | JPH01500935A (zh) |
KR (1) | KR920006769B1 (zh) |
CN (2) | CN87106625A (zh) |
AU (1) | AU596234B2 (zh) |
BR (1) | BR8707473A (zh) |
CA (1) | CA1289670C (zh) |
DE (1) | DE3777632D1 (zh) |
DK (1) | DK168135B1 (zh) |
ES (1) | ES2005370A6 (zh) |
FI (1) | FI93907C (zh) |
GR (1) | GR871511B (zh) |
IE (2) | IE61307B1 (zh) |
MA (1) | MA21073A1 (zh) |
MX (1) | MX159991A (zh) |
PT (1) | PT85811B (zh) |
SE (1) | SE454921B (zh) |
TN (1) | TNSN87108A1 (zh) |
WO (1) | WO1988002513A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112214434A (zh) * | 2019-07-10 | 2021-01-12 | 富士通株式会社 | 处理电路、信息处理设备和信息处理方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5075844A (en) * | 1989-05-24 | 1991-12-24 | Tandem Computers Incorporated | Paired instruction processor precise exception handling mechanism |
US5163139A (en) * | 1990-08-29 | 1992-11-10 | Hitachi America, Ltd. | Instruction preprocessor for conditionally combining short memory instructions into virtual long instructions |
US5420990A (en) * | 1993-06-17 | 1995-05-30 | Digital Equipment Corporation | Mechanism for enforcing the correct order of instruction execution |
JPH07334372A (ja) * | 1993-12-24 | 1995-12-22 | Seiko Epson Corp | エミュレートシステム及びエミュレート方法 |
SE9901146D0 (sv) | 1998-11-16 | 1999-03-29 | Ericsson Telefon Ab L M | A processing system and method |
SE9901145D0 (sv) | 1998-11-16 | 1999-03-29 | Ericsson Telefon Ab L M | A processing system and method |
US8738822B2 (en) * | 2005-05-03 | 2014-05-27 | Flexera Software Llc | System and method for controlling operation of a component on a computer system |
JP5350677B2 (ja) * | 2008-05-19 | 2013-11-27 | 株式会社東芝 | バス信号制御回路、及び、バス信号制御回路を備えた信号処理回路 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1218656A (en) * | 1968-03-27 | 1971-01-06 | Int Computers Ltd | Improvements in or relating to computer system |
US3787673A (en) * | 1972-04-28 | 1974-01-22 | Texas Instruments Inc | Pipelined high speed arithmetic unit |
GB1441458A (en) * | 1972-06-28 | 1976-06-30 | Texas Instruments Inc | Stored programme data processing for parallel processing of programme segment |
IT991096B (it) * | 1973-07-10 | 1975-07-30 | Honeywell Inf Systems | Calcolatore elettronico con reti funzionali indipendenti per l esecuzione simultanea di opera zioni diverse sugli stessi dati |
SE378690B (zh) * | 1973-12-13 | 1975-09-08 | Ellemtel Utvecklings Ab | |
SE387763B (sv) * | 1975-10-23 | 1976-09-13 | Ellemtel Utvecklings Ab | Anordning vid ett datorminne for att mojliggora en successiv forflyttning under drift av ett ledigt minnesfelt |
JPS57162165A (en) * | 1981-03-30 | 1982-10-05 | Fanuc Ltd | Re-editing system for storage area |
US4466061A (en) * | 1982-06-08 | 1984-08-14 | Burroughs Corporation | Concurrent processing elements for using dependency free code |
JPS5932045A (ja) * | 1982-08-16 | 1984-02-21 | Hitachi Ltd | 情報処理装置 |
JPS60146350A (ja) * | 1984-01-11 | 1985-08-02 | Hitachi Ltd | 通信制御装置 |
US4720779A (en) * | 1984-06-28 | 1988-01-19 | Burroughs Corporation | Stored logic program scanner for a data processor having internal plural data and instruction streams |
SE454920B (sv) * | 1986-10-03 | 1988-06-06 | Ellemtel Utvecklings Ab | Sett och anordning for att i en pa forhand avgjord ordningsfoljd exekvera tva instruktionssekvenser medelst separatminnen |
-
1986
- 1986-10-03 SE SE8604223A patent/SE454921B/sv not_active IP Right Cessation
-
1987
- 1987-09-16 IE IE250687A patent/IE61307B1/en not_active IP Right Cessation
- 1987-09-16 IE IE250587A patent/IE61306B1/en not_active IP Right Cessation
- 1987-09-22 MX MX8438A patent/MX159991A/es unknown
- 1987-09-28 KR KR1019880700625A patent/KR920006769B1/ko not_active IP Right Cessation
- 1987-09-28 JP JP62506081A patent/JPH01500935A/ja active Pending
- 1987-09-28 BR BR8707473A patent/BR8707473A/pt not_active IP Right Cessation
- 1987-09-28 WO PCT/SE1987/000437 patent/WO1988002513A1/en active IP Right Grant
- 1987-09-28 DE DE8787906632T patent/DE3777632D1/de not_active Expired - Lifetime
- 1987-09-28 US US07/197,410 patent/US4956770A/en not_active Expired - Lifetime
- 1987-09-28 PT PT85811A patent/PT85811B/pt not_active IP Right Cessation
- 1987-09-28 AU AU80365/87A patent/AU596234B2/en not_active Ceased
- 1987-09-28 EP EP87906632A patent/EP0285634B1/en not_active Expired - Lifetime
- 1987-09-30 TN TNTNSN87108A patent/TNSN87108A1/fr unknown
- 1987-09-30 GR GR871511A patent/GR871511B/el unknown
- 1987-09-30 CN CN198787106625A patent/CN87106625A/zh active Pending
- 1987-10-01 CA CA000548361A patent/CA1289670C/en not_active Expired - Lifetime
- 1987-10-01 MA MA21314A patent/MA21073A1/fr unknown
- 1987-10-02 ES ES8702813A patent/ES2005370A6/es not_active Expired
- 1987-10-03 CN CN198787106765A patent/CN87106765A/zh active Pending
-
1988
- 1988-05-25 FI FI882468A patent/FI93907C/sv not_active IP Right Cessation
- 1988-06-02 DK DK300788A patent/DK168135B1/da not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112214434A (zh) * | 2019-07-10 | 2021-01-12 | 富士通株式会社 | 处理电路、信息处理设备和信息处理方法 |
Also Published As
Publication number | Publication date |
---|---|
FI882468A0 (fi) | 1988-05-25 |
FI882468A (fi) | 1988-05-25 |
SE8604223L (sv) | 1988-04-04 |
KR920006769B1 (ko) | 1992-08-17 |
CA1289670C (en) | 1991-09-24 |
GR871511B (en) | 1987-10-01 |
IE872506L (en) | 1988-04-03 |
IE61307B1 (en) | 1994-10-19 |
US4956770A (en) | 1990-09-11 |
IE872505L (en) | 1988-04-03 |
DE3777632D1 (de) | 1992-04-23 |
AU596234B2 (en) | 1990-04-26 |
FI93907B (sv) | 1995-02-28 |
MX159991A (es) | 1989-10-23 |
EP0285634A1 (en) | 1988-10-12 |
EP0285634B1 (en) | 1992-03-18 |
WO1988002513A1 (en) | 1988-04-07 |
AU8036587A (en) | 1988-04-21 |
JPH01500935A (ja) | 1989-03-30 |
DK300788A (da) | 1988-06-02 |
SE454921B (sv) | 1988-06-06 |
MA21073A1 (fr) | 1988-07-01 |
SE8604223D0 (sv) | 1986-10-03 |
CN87106625A (zh) | 1988-04-13 |
PT85811A (pt) | 1988-11-30 |
FI93907C (sv) | 1995-06-12 |
PT85811B (pt) | 1993-08-31 |
BR8707473A (pt) | 1988-09-13 |
TNSN87108A1 (fr) | 1990-01-01 |
ES2005370A6 (es) | 1989-03-01 |
KR880701913A (ko) | 1988-11-07 |
IE61306B1 (en) | 1994-10-19 |
DK168135B1 (da) | 1994-02-14 |
DK300788D0 (da) | 1988-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1096034C (zh) | 多处理系统 | |
CN101061467B (zh) | 远程存储数据副本 | |
CN1342280A (zh) | 用于被复制的服务器的协议 | |
CN102016852B (zh) | 内容可寻址存储系统和方法 | |
JP3053511B2 (ja) | デジタル情報のデータ・ブロックを記憶する方法及びそのためのディスク記憶装置 | |
US8381032B2 (en) | System-directed checkpointing implementation using a hypervisor layer | |
CN109117391A (zh) | 用于存储器系统的控制器 | |
CN1237443C (zh) | 在调试异构体系结构中的集成可执行程序时设置断点的方法和设备 | |
JP2001501002A (ja) | リファレンスラベルを使用するミラー化データコピー画像生成方法およびシステム | |
CN87106765A (zh) | 按预定次序执行两个指令序列的方法和装置 | |
JPS58225447A (ja) | 計算装置の動作方法 | |
WO2007072317A2 (en) | Non-volatile memory with block erasable locations | |
CN1145488A (zh) | 具有永久性存储器的可恢复磁盘控制系统 | |
CN102541757A (zh) | 写缓存方法、缓存同步方法和装置 | |
CN103294163B (zh) | 信息处理装置、信息处理系统和节能控制方法 | |
CN1220948C (zh) | 获取计算机硬件信息的方法 | |
CN1269039C (zh) | 信息处理设备 | |
US20040003387A1 (en) | Dynamically resolving fix groups for managing multiple releases of multiple products on multiple systems | |
US6880106B2 (en) | Automation system and method for operating an automation system | |
AU589047B2 (en) | Method and device to execute two instruction sequences in an order determined in advance | |
CN1093964C (zh) | 输入/输出装置的检查点恢复方法 | |
EP0291557A1 (en) | Hardware demand fetch cycle system interface | |
US20050091462A1 (en) | Copy machine for generating or updating an identical memory in redundant computer systems | |
EP0465847A2 (en) | Memory access control having commonly shared pipeline structure | |
JPH10340164A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |