在多处理机数据处理系统中对主存信号组同步访问的装置和方法

文档序号:6405233阅读:172来源:国知局
专利名称:在多处理机数据处理系统中对主存信号组同步访问的装置和方法
技术领域
本发明一般涉及数据处理系统,更准确地说,涉及若干处理机在一个公用主存储器中、存储各数据元的数据处理系统。
在若干处理机共享一个主存储器、用于存储为处理机所需要的数据的数据处理系统中,一种控制程序在许多用户之间履行合理共享包括主存储器的资源,而同时维护各数据元的完整性,避免偶然的不良损害。该控制程序能够在若干数据处理机中同时执行。因此,控制程序必须同步访问用来控制资源的配置和保护的各数据元。假如数据处理系统的各用户的程序同时在几个数据处理机上执行(称为并行处理或多执行路线操作),一个相似的问题就会呈现在他们的面前。
为此,已经意识到需要一种适应性强的和有效的技术,借此能够同步改变存储在主存储器中的各数据元,从而维护数据的完整性。
本发明的一个目的是提供一种改进的数据处理装置。
本发明的一个特征是提供一种改进的技术,用于同步改变在一个数据处理系统中的各数据元。
本发明的另一个特征是为同步更新主存储器的各数据元提供单一指令。
本发明的再一个特征是在数据元更新前,保证保存数据元在数据处理装置中。
根据本发明,前面所说的和其他的特征都已达到,其方法是提供一种指令,以下称之为RMAQI(读、掩模、加法四倍长字互锁)指令,它使主存储器(或它的一部分)受到互锁,转移编址数据元到数据处理装置,使该数据元与掩码寄存器的内容组合,加该结果到一只加数寄存器的内容中,并使数据元返回到初始主存位置,同时,把原始数据元保存在该数据处理装置中。指令的功能度允许以与其他数据处理装置(它们企图对主存储器中的同一数据做相同的操作)同步的方式,把预选的数据元或数据元组放进主存储器中,和/或把主存数据中一个或更多的数据增长(在其中加上某值)。
本发明的这些和其他的特征,在结合附图看过以下说明后将可充分理解。


图1A和图1B是能够应用本发明的数据处理系统的实施例。
图2是能够应用本发明的数据处理装置的中央处理机的实施例。
图3是数据处理系统各操作方式间的关系的图解说明。
图4说明从用户方式或核心态方式转换到EPICODE方式的各步骤。
图5说明存储器互锁机构的操作。
图6说明按照本发明执行RMAQI指令的各步骤。
现参照图1A和图1B,图上示出能够应用本发明的两个示范性的数据处理系统配置。在图1A中,中央处理机(#1)11与系统总线19耦合。其他的中央处理机(例如,#N)12也能与系统耦合。中央处理机11(直到12)按照中央处理机的结构,结合中央处理机各控制程序处理数据,该控制程序由主存储器15中的常驻指令组成。非常驻数据和指令通常存储在海量存储器单元中,并且经由系统总线19而转移到或离开主存储器15。输入/输出设备〔#1〕16(直到〔#M〕17)借助系统总线19将各种设备,例如各海量存储器,用户终端和各种通信设备耦合到数据处理系统。海量存储器存储着数据处理装置所需要的数据和指令。中央处理机11直至12的操作所需要的数据集和/或指令(通常称为页数据和/或指令),从具有较慢的可访问性的海量存储器转移到主存储器,中央处理机对后者的访问是比较快的。面向总线的系统具有较容易重新组合系统的优点,但是它具有如下缺点每个系统组分需要控制装置,以提供连接系统总线的接口。再参照图1B,图中示出一个数据处理系统,其中中央处理机11(直到12)和输入/输出设备16(直到17)通过存储器控制设备14耦合到主存储器15。存储器控制设备14代替系统总线19以及由图1A中示出的面向总线的数据处理配置中各数据处理系统元件所执行的控制功能。存储器控制设备14提供数据转换和各指令的集中指挥和监控,它可以比图1A的面向总线的配置具有更高的效率,但失去了灵活性。
下面参照图2,举例说明能够有效利用本发明的示范性中央处理机的方框图。发行部件22负责向若干专用执行部件提供(译码的)指令,专用执行部件包括标量操作地址生成部件,至少一个执行部件(#1)25(直到执行部件〔#Q〕26)和向量运算部件28,向量运算部件28包括向量运算处理部件28A、向量运算地址生成部件28B和向量运算寄存器28C。经过执行部件处理的数据一般从标量寄存器23或向量寄存器28C取出。从执行部件得到的结果数据存储在标量寄存器23、矢量寄存器28C或数据高速缓冲存储器27之中。数据高速缓冲存储器27可以看做在主存储器15和中央处理机11之间提供接口的高速缓冲存储器。(数据高速缓冲存储器27在图2中显示为直接与主存储器耦合。如图1A和图1B中所示,实际的耦合可以包括插入的数据处理器件)发行部件22包括用于确定哪个执行部件将处理所选择的数据以及什么时候所选择的执行部件可进行数据处理的器件。后面这个特征包括查明将可用于存储所处理的数据的目的存储单元。指令高速缓冲存储器21存储各种已译码的并通过发行部件转送到适当执行部件的指令。发行部件22具有力图使各执行部件的处理操作达到最大限度的器件。因而,发行部件22包括预取器件和各种算法以保证在必要时适当的指令(包括任一分支指令)可用于发行部件22。正如通过标量操作地址生成部件24和向量运算部件28所表明的,许多执行部件都是用于掌握某类处理操作的专用处理设备。例如,一个执行部件可以配置成可处理浮点运算,或整数算术运算,等等。因此,发行部件22与各标量寄存器23有关联,该寄存器能够存储执行程序所需要的数据或用于提供数据处理操作的记录。例如,一个寄存器是程序计数器寄存器,它按执行程序指令序列存储准备处理的下一个指令的(虚拟)地址。标量操作地址生成部件24用于把在主存储器15中的虚拟地址转变成物理单元。当各执行部件以不同速率处理指令时,发行部件22还负责以校正序列对来自执行部件的数据进行再定序。
向量运算部件28包括向量处理部件28A,向量运算地址生成部件28B和向量运算寄存器28C。该向量运算处理部件的活动,能够控制向执行部件24至26的数据分配,以及其中指令的执行。根据另一个实施例(未画出),通过向量运算部件28来执行各种指令的执行部件可适用于数据处理系统。当执行部件既适用于向量运算又适用于标量运算时,控制装置服从发行部件22的全面系统控制,后者分配数据处理机的资源。
接着参照图3,图上示出两种传统的操作系统的方式和EPICODE方式之间的关系。用户方式3A一般执行应用程序,以完成用户直接关心的处理功能。为了能获得所期望的处理能力,用户配备有比较完整的控制装置,但是为保存系统的完整性也以一定方式予以限制。用户可自由执行任何指令而并不损害系统的完整性。这些指令被称之为非特权指令。核心态方式3B是在其间操作系统执行各指令的方式。与核心态方式有关联的各指令都是有特权的,且都不适用于用户程序,因为误操作或出于恶意的应用这些指令可导致程序失败或相反损害系统完整性的后果。核心态方式也能够执行所有非特权的指令。与用户方式3A和核心态方式3B两者分开,但又适用于两者的是EPICODE方式3C。这种数据处理系统的操作方式专供应当无间断执行的指令序列之用。这种方式设置有一定的特权和某些专用的硬件,用于执行对策,以确保适当指令序列的不可间断的(原子的)执行。
下面参照图4,图上示出从两种操作方式中的任一种进入EPICODE方式的各步骤。事件401,例如,中断、硬件异常或EPICODE格式的指令传到数据处理系统,要求进入EPICODE方式。在步骤402中,阻止发行部件发出新的指令,但已开始执行的指令仍予以完成。完成当前执行的指令允许所有硬件异常在执行EPICODE方式之前予以发出信号。在步骤403中,执行为EPICODE方式保留指令的特权被允许。在步骤404中,禁止外部中断信号,在步骤405中,禁止指令流引用的虚拟地址变换。在步骤406中,保存任何会在EPICODE方式的执行中被破坏的处理机状态。例如,程序计数器的内容在该步骤中被保存起来。在步骤407中,允许访问与EPICODE方式有关联的专用寄存器集。在步骤408中,通过把来自硬件寄存器(称为EPICODE地址寄存器)的地址与一定的状态信号标志组合起来,形成新的程序计数器地址。以及在步骤409中,执行形成编址程序的通常的和EPICODE的指令序列。
参照图5,图上示出用于为面向总线系统提供主存储器互锁的技术。根据一个实施例,判断部件51决定中央处理机中哪一个能够得到访问系统总线19。当一个中央处理机获准访问系统总线19时,操作码、地址和任选数据依靠系统总线19转移到主存储器15。主存储器15接受该信息,并把地址写入地址寄存器151,又把操作码写入寄存器154。当写入寄存器154的操作码包括互锁信号(以及已经不存在互锁信号)时,于是,主存储器把互锁位和目前具有闭锁访问主存储器15的独占权的数据处理机的标识存进寄存器152中。其后,甚至当一个子系统获得控制系统总线19,试图以互锁的方式访问主存储器时,则将无法完成。当施控的中央处理机释放了互锁位时,那时,其他的子系统(各中央处理机或输入/输出设备)就能够以一种互锁的方式,访问主存储器。设置一个互锁位并不妨碍其他的中央处理机或输入/输出设备以非互锁的方式在主存储器中存取数据元。在某些执行程序中,在主存储器中可以应用与各地址的子集相关的若干互锁位。这样,只有与互锁位有关联的存储单元是不可访问的,因为互锁访问允许主存储器的其余部分适用于互锁的数据处理操作。在存在存储器控制器部件14的配置中(在图1B中),判断功能,排队功能和存取控制都在该部件中完成。在该最佳实施例中,存储子系统有四个功能,读(四倍长字)功能、写(四倍长字)功能、获取锁功能和释放锁功能。此外,在该最佳实施例中,互锁并不阻止数据的读或写,但不允许存在互锁时由另一个数据处理机在那个地址上再加上另外的锁。
以下参考图6,图上说明执行RMAQI指令的各步骤。在步骤601中,数据处理装置执行指令,禁止中断信号,获取对主存储器的存取而且启动互锁访问。在步骤602中,作为RMAQI指令的主题的数据元被转移到中央处理机,并且在步骤603中,存进标量寄存器23之一中。该数据在步骤604中与存储在另一个标量寄存器23中的掩码信号组一起完成逻辑“与”操作。在步骤605中,把来自另一个标量寄存器23中的操作数加到步骤604的结果上。在步骤606中,该修改的数据送回到原先从那里取出的主存单元,而且在步骤607中,主存储器互锁被释放,同时允许中断。该原始数据仍可用于在步骤603中涉及的第一个标量寄存器中。
具有图2的流水线执行部件的中央处理机,在该最佳实施例中执行时受到若干限制,然而,其他结构的执行程序也可利用本发明。该中央处理机包括若干执行部件,每个执行部件适合于执行一类指令。作为实例,一个执行部件,例如标量地址生成部件24,在中央处理机和主存储器之间控制各逻辑信号组的传送,也就是,执行标量装入/存储指令。一个执行部件适合于执行数据移位指令,一个执行部件用于浮点加/减运算,一个执行部件适合于整数和浮点乘法运算以及一个执行部件适合于整数和浮点除法运算。各专用的执行部件可以但并不必须在流水线式配置中执行程序。中央处理机的其他各特征如下。从指令高速缓冲存储器21把在当前执行指令序列中的指令传送到发行部件22。在发行部件中,该指令被分解成它的组成部分,而且由此产生与数据相关控制信号和地址信号。然而,在一个指令可以开始执行之前(也就是,被发行之前),必须满足若干限制。用于该指令的所有源和目的寄存器必须是可用的,也就是,对一个所需的寄存器不能有未完成的写入操作。在该指令将存储经处理的量的未来循环中寄存器的写入路径必须是可用的。执行期间,为处理指令所需要的执行部件必须可以用来完成该项操作。关于向量运算部件,在整个向量运算期间,所述运算占用一个执行部件。当存储器装入/存储指令遭受一次高速缓冲存储器失误时,该装入/存储部件忙的标志将导致紧接着的装入/存储指令被延迟,直到该高速缓冲存储器失误应答完成为止。当指令发行时,供给果用的目的寄存器以及写入路径循环都被保留。在操作数建立期间,产生全部与指令无关的寄存器地址,操作数被读出和存储,同时还产生与数据相关控制信号。指令操作数和控制信号传送到相关的执行部件以供执行。由执行部件产生的结果存进寄存器文件中或适当存入数据高速缓冲存储器15中。一旦指令发出,处理结果可能不适用于若干机器循环。其时,在下一个机器循环中,当必要的发行条件已满足时,可以把下一条指令译码并发出。这样,各指令以正常的指令序列被译码和发出,但是,由于执行部件的不同的指令执行时间,所以能够以不同的次序存储其结果。这种失调的存储使对异常的处理和故障指令的再试复杂化。然而,这些事件是比较罕见的,因此,所述失调存储提供了执行和硬件的一些优点。
上述数据处理系统是典型的,而且能够以多种方式来实施。更具体地说,可选择微码技术以实施这种结构。当不使用微码技术时,数据处理系统的许多必要的功能需要复杂的排序,而且,对于中央处理机中其他活动,还必须原子式地执行上述必要的功能。这种功能的某些实例包括1.调度中断和例外,2.存储器管理控制功能,例如转换缓冲器填充,3.要求复杂排序的指令,例如从例外或中断返回(REI)指令,4.要求对处理机资源受控存取的指令,例如导致存储器互锁的指令,5.为了软件的兼容性,要求在所有执行程序两端设置接口的指令,但是所述接口的物理实现在各执行程序之间可以大不相同。各实施例包括从例外和中断返回,以及向处理机寄存器传送或从处理机寄存器向外传送。
本发明实现一种装置,利用它可通过一种指令供若干程序同步改变各数据元,该指令是1.对存储器互锁访问,2.在指定的存储单元读出逻辑信号组(也就是,在最佳实施例中,该地址可以或是物理地址或是虚拟地址),3.保存来自该指定的存储单元的该值,4.产生来自指定的存储单元的数据元与掩码操作数的逻辑乘积(即,“与”功能),5.把由该项操作产生的该逻辑乘积与加数操作数相加,6.把合成的总数写回到该指定的存储单元以及7.释放互锁。该指令带来如下结果在多处理机系统中,设有别的中央处理机或附加的处理机(例如,输入/输出处理机)能够借助于别的互锁和修改指令来修改同一存储单元。该指令和其中所述的装置能够用于执行所谓的自旋锁,测试和编号操作,循环叠代归纳可变赋值,对共享目标的引用计数以及其他要求多处理机系统同步化的各种操作。在应用EPICODE方式的条件下,或者可应用该方式的场合,能够以原子方式执行微码程序这种复杂的指令序列。此外,通过以EPICODE方式执行指令,可利用外加的寄存器,而且使某些事件不能中断指令的执行。很清楚,虽然该RMAQI指令是在通过指令信号标志的虚拟地址中用四倍长字的数据元标识的,但是,任何长度的数据元都能够利用本发明的技术。在最佳实施例中,例如,提供一种RMALI指令,其中,经过指令处理的数据是一种通过指令标志的虚拟地址的长字。此外,该最佳实施例包括一种RMAQIP指令,该指令标志一种物理地址。所有这些指令是以EPICODE方式执行的。
以上描述用于举例说明最佳实施例的操作,并不意味着限制本发明的范围。本发明的范围应当只受以下权利要求书的限制。根据上述说明,本专业的技术人员将很清楚可以进行许多仍将包含在本发明的精神和范围之内的改变。
权利要求
1.用于修改具有若干中央处理机的数据处理系统主存储器单元中数据元的装置,其特征在于包括对所述各中央处理机之一中的被选指令应答,用于阻止对所述主存单元互锁访问的互锁设备;用于把所述数据元从所述主存单元转移到所述一个中央处理机的转移设备;用于按所述被选指令的规定修改所述数据元的处理设备;把所述经修改的数据元从所述一个数据处理机转移到所述主存单元的所述转移设备;以及在所述已修改的数据元存储后允许对所述主存单元互锁访问的所述互锁设备。
2.根据权利要求1的数据元修改装置,其特征在于所述处理设备包括用于把所述数据元存进所述一个中央处理机的第一存储设备;用于产生所述数据信号组与第一预选寄存器的内容的逻辑乘积,以构成组合数据元的逻辑设备;以及用于把在第二预选寄存器中的信号组加到所述组合信号组,以构成所述修改后的数据元的加法设备。
3.根据权利要求2的数据信号组修改装置,其特征在于所述数据处理机随所述被选指令而进入不同的操作方式。
4.根据权利要求1的数据信号组修改装置,其特征在于第二中央处理机在互锁访问未被允许时可以对所述主存储器进行非互锁的访问。
5.根据权利要求1的数据信号组修改装置,其特征还在于所述被选指令通过所述处理设备识别所述数据元而且确定所述修改。
6.用于修改数据处理系统的主存储器中的数据元的方法,其特征在于包括以下步骤给所述数据处理系统提供一种导致主存储器互锁的指令,该指令修改所述数据元,然后释放所述主存储器互锁;以及不间断地执行所述指令。
7.根据权利要求6的修改主存储器中数据元的方法,进一步包括为所述数据处理系统提供第三操作方式的步骤,其中所述指令能够不间断地执行。
8.根据权利要求7的修改主存储器中数据元的方法,其特征还在于所述指令的修改步骤的所述执行过程包括以下步骤产生所述数据元组与掩码寄存器内容的逻辑乘积,以构成中间数据元;以及把操作数加到所述中间数据元上。
9.根据权利要求8的修改主存储器中数据元的方法,其特征在于进一步包括把所述指令的分指令存进保留的主存单元的步骤。
10.一种包含主存储器和若干数据处理机的数据处理系统,其特征在于包括存储在预定存储单元中的若干指令序列;用于根据相关指令不间断地执行所述指令序列之一,与所述数据处理机有关的控制设备,其中被选的所述指令序列之一导致如下结果给所述主存储器提供互锁,修改主存储器中的数据元,然后释放所述主存储器互锁。
11.根据权利要求10的数据处理系统,其特征在于所述数据处理机以不同于用户方式和核心态方式的操作方式执行所述指令序列。
12.根据权利要求11的数据处理系统,其特征在于在所述第三种操作方式中,中断信号被禁止。
13.根据权利要求10的数据处理系统,其特征在于在所述数据元已经修改好之后,把所述数据元存进执行所述指令之一的中央处理机中。
14.根据权利要求10的数据处理系统,其特征还在于修改所述数据元的装置包括用于逻辑组合所述数据元与掩码信号组的装置,和用于把操作数加到所述组合的掩码信号组与数据元上的装置。
15.一种具有若干中央处理机和主存储器的数据处理系统,其特征在于包括与所述各中央处理机中的每个有关联的、用于存储其中的数据元的寄存器设备;与所述各中央处理机中的每个有关联的、用于在所述主存储器和所述各中央处理机之一之间转移已标识的数据元的转移设备;用于把存储在所述寄存器设备中的已标识的数据元与预定的逻辑信号组进行组合,以构成修改后的数据元的组合设备;与所述各主存储器中的每个有关联的、用于对至少一个相关的数据元进行施控互锁访问的各互锁设备;以及与所述各中央处理机中的每个相关联的、用于执行包括被选指令的各指令的执行设备,第一处理机对所述被选指令的执行使所述互锁设备阻止第二中央处理机对所述已标识数据元互锁访问,所述被选指令使所述转移设备把所述已标识数据元转移到与所述第一中央处理机有关联的所述寄存器设备,所述被选指令使所述组合设备提供修改后的已标识的数据元,所述被选指令导致所述修改后的已标识的数据元替代在所述主存储器中的所述已标识数据元,所述被选指令使所述互锁设备操作允许对所述修改后的数据元互锁访问。
16.根据权利要求15的数据处理系统,其特征在于所述被选指令被不间断地执行。
17.根据权利要求16的数据处理系统,其特征在于所述已标识的数据元在所述修改后的已标识的数据元已经存进所述主存储器中之后,仍然存储在所述第一中央处理机寄存器设备中。
18.根据权利要求17的数据系统,其特征在于所述被互锁的已标识的数据元能够被不同的中央处理机以非互锁的方式进行访问。
19.根据权利要求16的数据处理系统,其特征在于所述中央处理机具有用于执行非特权指令的第一操作方式,用于执行特权和非特权指令的第二操作方式,以及用于执行预定的指令序列的第三操作方式,所述指令执行预定的特权和非特权指令,所述被选指令是一种预定的指令。
20.根据权利要求19的数据处理系统,其特征在于在当前执行指令完成而且中断信号被禁止之后进入所述第三操作方式。
21.根据权利要求16的数据处理系统,其特征在于所述组合设备包括用于把所述已标识的数据元与存储在所述寄存器设备中的掩码信号组进行逻辑组合的装置。
22.根据权利要求16的数据处理系统,其特征还在于所述组合设备包括用于把所述已标识的数据元加到存储在所述寄存器设备中的操作数上的装置。
23.根据权利要求16的数据处理系统,其特征还在于所述被选指令至少标识掩码信号组之一和一个操作数信号组,所述掩码信号组准备通过所述组合设备与所述已标识数据元进行逻辑组合,而所述操作数信号组准备通过所述组合设备加到所述数据元上。
24.根据权利要求16的数据处理系统,其特征还在于所述已标识的数据元用于使所述各中央处理机同步。
全文摘要
本发明包括一种指令,该指令获取访问主存储器里的互锁信号,而且启动主存储器中的互锁,从而,排除其他数据处理机同时获得访问该互锁信号。该指令使与互锁信号有关的数据元转移到保留该数据元的数据处理机中,该数据元可以进入掩码装置,然后加进一个量。改变后的数据元返回到主存储器存储单元,然后,释放主存储器互锁信号,从而完成该指令。
文档编号G06F9/46GK1030312SQ88104199
公开日1989年1月11日 申请日期1988年7月1日 优先权日1987年7月1日
发明者戴维·N·卡特勒, 戴维·A·奥必斯, 迪利普·班达卡, 韦恩·卡尔多萨, 理查德·T·威特克 申请人:数字设备公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1