本发明是涉及具有互连多处理机的数据处理系统的改进,数据和控制信息在这些互连处理机之间进行交换。 一种通常的增加系统处理能力的结构是采用多道处理,即加入第二或第三个处理机。这就增加了每秒加到操作任务上的计算机指令的数目。事实上典型的互连信道是由带有存贮器到存贮器数据传送装置的并行总线组成的。通常的数据传送是把一个大的数据块从一个处理机的存贮器传送到另一个处理机地存贮器。数据传送的速率是关注的主要问题,如果太慢不能充分地获得多处理的优越性;而如果太快,将阻塞上述两个处理机的有效处理过程,同时将影响那些对时间有依赖性的操作,比如I/O设备和中断处理等等。
与多处理机系统相连系的一个问题是,系统设计者必须细心地注意传送速度与处理机之间传送数据块的大小的平衡,以使从附加的处理机得到最大效益时,在传送中没有处理机被封锁。
在通常的系统结构中,是通过一个公共地址和数据总线访问存贮器子系统。这样,在处理机之间的所有传送装置将直接地减少可用的存贮带宽,所以从未获取到在多处理机系统结构中固有的最大潜在好处。任何封锁和处理能力的减少都会增加中断等待时间,使之超过希望的或可接受的极限。
图1中包含了表示在现有技术中常规的处理机到处理机传送数据流的方框图。在该例中,表示了带有从P1到P2数据流的两个处理机子系统。略去初始化和传送结尾工作,可把该数据传送顺序进一步分为下面三个操作阶段:
1.从处理机P1的存贮单元读出数据,并把它传送到P1的接口网络的阶段。在这个阶段中禁止处理机P1访问它的系统总线。
2.操作的第二阶段是关于在一个处理机到处理机的信道上数据的传送。
3.在操作的第三阶段,把该数据写入处理机P2的存贮单元。在该阶段中,禁止处理机P2访问它的系统总线。
如果把系统的处理机到处理机的传送速率设计为最大,则在数据块传送的所有三个阶段中都禁止处理机P1和P2二者访问它们的内部总线。封闭P1和P2各自的存贮器装置,于是使得在该数据传送期间处理机P1和P2都停止执行指令。
我们可以设计该系统,使之把干扰分布在整个期间。可以把通过处理机到处理机接口网络对存贮器装置的访问,与各自系统中的其它动作(比如,取指或直接存贮器存取DMA通信)交叉进行。在这种情况下,处理机P1和P2分别只在阶段1和3停止。这样,将以一个减低了的速率继续执行指令。与前面的例子相比,干扰将发生在一个比较大的期间,由于两个动作(执行指令和传送操作)的异步特性使累加或总的干扰增大;而由于在系统内部总线上的重复判优使其减少。
无论在哪个例子中,对处理机的干扰都是直接与传送的数据量成正比的。
本发明的目的是互连多处理机的一个有效机构,使得数据和控制信息的传送对同这种操作相联系的通常的处理机性能无大的影响。这里所描述的是在一个数据处理系统中多处理机互连的交变信道的确定和实现。
本发明中的信道是建立在视频随机存取存贮器(VRAM)的存贮技术之上的。视频随机存取存贮器是一种动态的随机存取存贮器(RAM),它通过一个串行端口提供对“字”移位寄存器和对芯片的存取。所以视频随机存取存贮器提供两个数字端口,动态RAM的常规随机存取端口,以及只有视频RAM才有的串行或顺序存取端口。目前可用Texas Instruments公司的NO,TMS 4161部件作为视频RAM。在“Supplement To MDS Memory Date Book 1984”中,在题目为“Dual port Memory With High Speed Serial Access”的部分的第5-3到5-10页上描述了这种Texas Instrument公司的存贮器。
图1是表示现有技术的一个多处理机数据处理系统的方框图;
图2是表示本发明中采用的视频RAM子系统的简图;
图3是根据本发明的一个多处理机数据处理系统的方框图;
图4是表示在两个顺序存取视频RAM部件之间的数据传送的定时图。
通过把视频RAM安装到N位(这里N=8,16,32…)的并行结构中,其串行端口具有宽度为N的顺序存取端口的特性。如图2所示,可把存贮器21看成两个独立的RAM,一个“低”速随机存取RAM21a和一个稍微“高”些速度顺序存取RAM21b。
可以通过把信道的数据总线连接到视频RAM的顺序存取端口来构成多处理机通信信道。这种系统将具有下述所希望的特性。在实际的数据传送期间,不论对哪个处理机其干扰都将是零。对于执行任何操作或I/O任务,两个处理机都处于100%的利用率状态。这与在现有技术中,常规系统的封闭或减少指令执行正好相反。处理机对于建立和结束传送操作的卷入取决于指定的实现方式,可以少到用10-20条指令。
图3是一个方框图,表示根据本发明采用视频RAM结构的处理机到处理机传送的数据流。下面描述实现从处理机P1的存贮器31a到处理机P2的存贮器41a的消息(数据)传送的事件的一种可能的顺序。该消息可由多个数据块组成,每一块等于图2的顺序RAM21b的位数。该操作的过程如下:
1.一个要求将信息传输到P2的在P1中执行的任务,将使得来自RAM阵列31a的适当的数据块装入到顺序RAM31b中,并通知信道控制网络32去传送该信息。
2.应用适当的信令规约的信道控制网络32,将请求使用处理机到处理机信道51,并且通过线路51b与处理机P2的信道控制网络42建立一条通信线路。
3.一旦建立了信道控制网络32和42之间的通信链路,然后运用图3中的线路51a,采用视频RAM所要求的规约,通过顺序RAM31b输出端的驱动器/接收器(D/R),就可把数据输入到顺序RAM41b。
4.一旦把顺序RAM31b的整个内容(一个数据块)传送到顺序RAM41b,即中止在该信道上数据的传送操作。这将给出一段时间,在此期间处理机P2的信道控制网络42把顺序RAM41b的内容转移到RAM矩阵41a,利用适当的视频RAM的规约,请求对该视频RAM的随机存取端口进行一次访问。然后准备接收另一个数据块。在此同时,处理机P1的信道控制网络32将把下一个数据块从RAM矩阵31a转移到顺序RAM31b,利用适当的视频RAM的规约,请求对视频RAM的随机存取端口进行一次访问,准备通过该信道的下一个传送。将通过信道的规约来调节在信道上数据传输的暂停。如果这是在信道上要传送的最后一个数据块,则将通过处理机P1的控制网络32终止该操作;否则将继续按上述进行。
如图3所示,数据是在各个视频RAM的顺序RAM端口之间传送的,而并不利用处理机P1的内部系统总线33或处理机P2的系统总线43。只是在对视频RAM的内部数据传送时,才请求对系统总线33或34的访问,并且每个顺序存取矩阵数据的传送只限于一个存贮周期。根据具体实施情况,对于指令处理和其它I/O动作来说该系统的利用率可达99%。例如,在一个采用32位处理机到处理机信道51和100ns数据时钟的系统中,当所遇到的总干扰小于1%时,可以保持40M字节/秒的连续速率,如下面的表1所示。
还应注意,在实际的数据传送中,无论对哪个处理机,处理机到处理机信道都可工作在同步方式和异步方式。如图4所示,可以在一个单时钟的控制下进行存贮器31b到存贮器41b的数据传送,这将大大地简化了常规传送机构上的控制网络32和42。在请求访问存贮器31a和41a的随机存取端口的暂停点上,要求把操作同步到各自的处理机时钟上。
表1
干扰计算
假设:
1.处理机到处理机传送速率为100ns/每次传送
2.传送字的大小=4字节(32位)
3.随机存取矩阵与顺序存取矩阵之间交换信息的传送量为256个字(或1024字节)
4.存贮器存取周期=250NS
传送速率= (4字节)/(一次传送) × (一次传送)/(100NS)
=40M字节/秒
干扰= (250NS)/(存贮周期) ×× (存贮周期)/((100)×(256)) ×100%
=0.9766%