数据处理系统的制作方法

文档序号:6632754阅读:249来源:国知局
专利名称:数据处理系统的制作方法
技术领域
本发明涉及一种通过多条通信路径将多个数据处理器装置彼此连接的数据处理系统。
背景技术
使用彼此连接的多个数据处理器装置(或CPU)处理数据的数据处理系统(或并行计算机)已经久为人知。即使每个数据处理器装置的性能不是很高,但是这种数据处理系统能够通过增加单元的数目而极大的提高其处理速度。
上述数据处理系统需要判断连接于数据处理器装置之间的通信路径中失效的发生。例如,专利文献1(日本特许公开No.S61-138354(图1))揭示了一种复制了连接于处理器之间的数据总线的结构。此外,专利文献2(日本特许公开No.H3-209550(图12))揭示了一种通过网络将以网格形式设置的多个处理器彼此连接的系统。在该系统中,当转换器出现故障时,将绕过该转换器而继续进行数据传送。
在连接于数据处理器装置之间的通信路径中发生失效的情况下,执行简并操作。在本说明书中,简并操作(degenerate operation)指一种操作模式,用于通过在正常(非失效)通信路径上传送将在失效通信路径上传送的数据而作为一个整体系统执行正常数据处理操作。
在下面的说明中,将参考图1A和1B说明数据处理器系统的简并操作。在该说明中,数据A和数据B从数据处理装置110传送到数据处理装置120。在正常操作中,通过输入/输出端口111A、通信路径130A和输入/输出端口121A传送数据A,通过输入/输出端口111B、通信路径130B和输入/输出端口121B传送数据B。
假设在通信路径130B中发生失效。在这种情况下,数据A和数据B都通过图1A所示结构中的输入/输出端口111A、通信路径130A和输入/输出端口121A传送。然而,在这种情况下,需要改变正常操作中的数据处理器装置110和120的操作以及简并操作中的数据处理装置110和120的操作。
在图1B所示的结构中,数据处理装置(110、120)与输入/输出端口(111A、111B、121A、121B)之间的每条总线都被复制。在该结构中,不需要在正常操作中和简并操作中的数据处理器装置110和120的操作变化。然而,与图1A所示的结构相比,此结构需要增加数据处理装置110和120的引脚数目(端子数目)。引脚数目的增加将引起数据处理器装置的成本的增加和/或数据处理器装置设计的复杂性的增加。

发明内容
本发明的一个目的是无需复制数据处理系统中的数据处理器装置的结构和操作而实现简并操作,在该数据处理系统中通过多条通讯路径将多个数据处理器装置彼此连接。
本发明的数据处理系统,在发送源数据处理器装置与发送目的地数据处理器装置之间设有彼此同步操作的第一和第二通信路径,该数据处理系统包括第一输入/输出端口,设置在该发送源数据处理器装置与该第一通信路径之间;第二输入/输出端口,设置在该发送源数据处理器装置与该第二通信路径之间;用于发送的旁路通信路径,设置在该第一与第二输入/输出端口之间;第三输入/输出端口,设置在该发送目的地数据处理器装置与该第一通信路径之间;第四输入/输出端口,设置在该发送目的地数据处理器装置与该第二通信路径之间;以及用于接收的旁路通信路径,设置在该第三与第四输入/输出端口之间。
当该第一和第二通信路径处于正常状态时,通过该第一输入/输出端口、该第一通信路径和该第三输入/输出端口,将该发送源数据处理器装置发送的第一数据传送到该发送目的地数据处理器装置,并且,通过该第二输入/输出端口、该第二通信路径和该第四输入/输出端口,将该发送源数据处理器装置发送的第二数据传送到该发送目的地数据处理器装置。同时,当该第二通信路径中发生失效时,通过该第一输入/输出端口、该第一通信路径和该第三输入/输出端口,将该第一数据传送到该发送目的地数据处理器装置,并且,通过该第二输入/输出端口、用于发送的该旁路通信路径、该第一输入/输出端口、该第一通信路径、该第三输入/输出端口、用于接收的该旁路通信路径和该第四输入/输出端口,将该第二数据传送到该发送目的地数据处理器装置。
在上述数据处理系统中,当在一条通信路径上发生失效时,与该失效的通信路径连接的输入/输出端口通过旁路通信路径进行与其附近的输入/输出端口的数据传送。因而,即使发生失效,数据处理器装置与每个输入/输出端口之间的数据传送也以与通信系统处于正常状态下时相同的方式进行。
在上述数据处理系统中,第一输入/输出端口可以包括等待缓冲器,用于保存第一数据,以使第一数据和第二数据同步。根据该结构,即使在通信路径中发生失效,第一和第二数据也能彼此同步地传送。
根据本发明,即使在通信路径中发生失效,数据处理器装置与每个输入/输出端口之间的数据传送也与通信系统处于正常状态下时相同。从而,无需复制数据处理器装置的结构和操作就能实现简并操作。


图1A和图1B是说明传统数据处理系统中的简并操作的示图;图2是示出本发明实施例的数据处理系统的总体结构的示图;图3是说明在正常操作中的数据处理系统中的数据传送的示图;图4是说明在发生失效时数据处理系统中的数据传送的示图;图5是说明I/O端口中发送电路的硬件结构的示图;图6是说明I/O端口中接收电路的硬件结构的示图;图7是说明数据处理系统中发送操作的流程图;图8是说明数据处理系统中接收操作的流程图;图9是其它连接结构的数据处理系统的应用实例;图10是另一其它连接结构的数据处理系统的应用实例;以及图11是说明包含四条数据通信路径的数据处理系统的结构的示图。
具体实施例方式
在下面的说明中,将参考附图阐明本发明的优选实施例。
图2是示出本发明实施例的数据处理系统的总体结构的示图。该实施例的数据处理系统1中包括多个系统板(#0到#n)2、连接于多个系统板2之间的多条数据通信路径3、以及连接于多个系统板2之间的地址总线4。在该实施例中,建立了3A到3D四条通信路径。尽管并未特别限定数据通信路径3的数目,但是其基本上应为偶数。
每个系统板2包括数据处理器装置11、CPU 12、I/O端口13和内存(DIMM)14。数据处理器装置11主要执行有关在系统板之间数据传送的处理。换句话说,数据处理器装置11至少负责有关用于将CPU 12的计算结果数据或从内存14读取的数据发送至其它系统板的操作的控制,以及有关用于将从其它系统板接收的数据传送至相应的CPU 12或内存14的操作的控制。
CPU 12与数据处理器装置11连接,并且通过运行指定的程序而执行相应于给定数据的处理。每个系统板2所包含的CPU 12的数目可以是一个或者多个。
I/O端口13执行将从数据处理器装置11发送的数据输出到数据通信路径3的处理,以及将从数据通信路径3接收的数据输入到数据处理器装置11的处理。此处,数据处理器装置11发送的数据包括CPU 12产生的计算结果数据和从内存14读取的数据。通过数据通信路径3接收的数据包括将被传递到CPU 12的数据和将被写入内存14的数据。每个I/O端口13为相应的数据通信路径3而设置。在本实施例中,在数据处理器装置11和数据通信路径3A到3D之间分别设有四个I/O端口13。
内存14与每个相应的I/O端口13连接。每个I/O端口13作为相应内存14的内存控制器而操作。
每条数据通信路径3A到3D是具有指定比特宽度的数据总线,并传送彼此同步的数据。地址总线4用于通知数据处理器装置11彼此之间的地址。
在每个系统板2中,多个I/O端口13以两个为一组。在每组中的I/O端口13之间设有旁路通信路径21。在本实施例中,在I/O端口13(A)与13(B)之间设有一条旁路通信路径21,而在I/O端口13(C)与13(D)之间也设有另一条旁路通信路径21。旁路通信路径21是例如具有指定比特宽度的数据总线。
在具有上述结构的数据处理系统1中,每个数据处理器装置11能够将数据发送至指定的系统板。然后,通过使用多个CPU 12执行并行计算,实现了高速数据处理。
图3和图4是说明在数据处理系统1中传送数据的总体示图。在下面的说明中,数据处理系统1具有在数据处理器装置11-1与11-2之间设有两条数据通信路径3A和3B的结构。数据处理器装置11-1包括一对I/O端口13(1A)和13(1B),并且数据处理器装置11-2包括一对I/O端口13(2A)和13(2B)。在I/O端口13(1A)与13(1B)之间设有旁路通信路径21-1,并且在I/O端口13(2A)和13(2B)之间设有旁路通信路径21-2。另外,将数据A和数据B从数据处理器装置11-1传送到数据处理器装置11-2。数据A和数据B是一对同步数据,要求它们被同时传送。
图3说明了在正常操作中数据处理系统1的操作。此处,“正常”指非失效的状态并且其中两条数据通信路径3A和3B都可用于数据传送。在正常操作中,通过I/O端口13(1A)、数据通信路径3A和I/O端口13(2A)将数据处理器装置(发送源数据处理器装置)11-1传送的数据A传送到数据处理器装置11-2。另一方面,通过I/O端口13(1B)、数据通信路径3B和I/O端口13(2B)将数据B传送到数据处理器装置11-2。也就是说,在正常操作中,基本上不通过旁路通信路径21-1或21-2传送数据A和数据B。
图4说明在数据通信路径3B中发生失效时数据处理系统1的操作。当在数据通信路径3B中发生失效时,通过I/O端口13(1A)、数据通信路径3A和I/O端口13(2A)将数据A传送到数据处理器装置11-2。另一方面,通过I/O端口13(1B)、旁路通信路径21-1、I/O端口13(1A)、数据通信路径3A、I/O端口13(2A)、旁路通信路径21-2以及I/O端口13(2B)将数据B传送到数据处理器装置11-2。
这时,数据处理器装置11-1同时输出数据A和数据B。然后,I/O端口13(1A)将直接从数据处理器装置11-1接收的数据A和从I/O端口13(1B)接收的数据B作为一个数据块而输出到数据通信路径3A。在接收端,一从数据通信路径3A接收到数据块时,I/O端口13(2A)就将数据块中包含的数据A传送到数据处理器装置11-2,同时将数据B传送到I/O端口13(2B)。然后,I/O端口13(2B)将数据B传送到数据处理器装置11-2。数据A从I/O端口13(2A)到数据处理器装置11-2的传送与数据B从I/O端口13(2B)到数据处理器装置11-2的传送同时进行。
在本实施例的数据处理系统中,如上述说明的,如图4所示,当在数据通信路径3A或者3B中发生失效时,执行简并操作。然而,即使改变了数据处理系统1的操作模式(图3中的正常操作和图4中的简并操作),但是数据处理器装置11-1和11-2的操作基本上没有改变。换句话说,数据发送源的数据处理器装置(该情况下为数据处理器装置11-1)以任一操作模式,同时向I/O端口13(1A)和13(1B)分别输出数据A和数据B。同样的,在数据发送目的地的数据处理器装置(该情况下为数据处理器装置11-2)中,同时从I/O端口13(2A)和13(2B)分别输入数据A和数据B。
因此,在本实施例的数据处理系统中,与图1A中所示的结构不同,每个数据处理器装置11不需要包含用于实现简并操作的特殊功能。即,不需要为实现简并操作而改变每个数据处理器装置11的操作。而且,与图1B所示的结构不同,不需要增加每个数据处理器装置11中的引脚数目以实现简并操作。
在数据处理系统1中,因为要在一对I/O端口13之间设置旁路通信电路21,因而将用于简并操作的电路添加到每个I/O端口13,从而与图1A所示的结构相比,增加了每个I/O端口13的引脚数目。然而,与数据处理器装置11相比,I/O端口13的电路规模要小得多,从而,可以相对容易地添加用于简并操作的电路。
在数据处理系统1中,如果在I/O端口13之间存在除数据通信路径3以外的用于发送/接收某种类型数据的通信路径,也可以将该通信路径用作旁路通信路径21。在该结构中,不需要仅用于简并操作的旁路通信路径21,并且不会增加I/O端口13的引脚的数目。
图5是说明I/O端口13中的发送电路的硬件结构的示图。在该图中,说明了一对I/O端口13(1A)和I/O端口13(1B)。然而,在图5中省略了接收电路。I/O端口13(1A)和I/O端口13(1B)具有相同的结构。
每个I/O端口13的操作根据数据通信路径3的状态而改变。为此,在说明I/O端口13的操作之前,将说明数据通信路径3的状态与每个I/O端口13的操作模式间的关系。数据处理系统1包括失效检测功能,图中未特别示出,用于检测每个通信路径3A和3B的状态并通知每个I/O端口13(1A、1B、2A和2B)。
下面说明与数据通信路径3A连接的I/O端口13(1A和2A)的操作模式(1)正常操作模式数据通信路径3A和3B都处于正常状态。
(2)简并操作模式数据通信路径3A处于正常状态,而在数据通信路径3B中发生失效。
(3)阻塞操作模式当数据通信路径3B处于正常状态时,在数据通信路径3A中发生失效(在阻塞操作模式中,I/O端口13不能将数据发送至相应的数据通信路径3)。
(4)操作中断模式在数据通信路径3A和3B中都发生失效。
以同样的方式,下面说明与数据通信路径3B连接的I/O端口13(1B和2B)的操作模式(1)正常操作模式数据通信路径3A和3B都处于正常状态。
(2)阻塞操作模式数据通信路径3A处于正常状态,而在数据通信路径3B中发生失效(在阻塞操作模式中,I/O端口13不能将数据发送至相应的数据通信路径3)。
(3)简并操作模式当数据通信路径3B处于正常状态时,在数据通信路径3A中发生失效。
(4)操作中断模式在数据通信路径3A和3B中都发生失效。
回到图5,当输出队列缓冲器32或者中间队列缓冲器36未满时,数据源31输出数据。在正常操作模式下的I/O端口中,响应队列忙信号“busy_1”,数据源31向选择器33输出数据。在简并操作模式或者阻塞操作模式下的I/O端口中,响应队列忙信号“busy_2”,数据源31向中间队列缓冲器36输出数据。从数据源31输出的数据是由相应的数据处理器装置11发送的数据。一对I/O端口(此情况下为I/O端口13(1A)和I/O端口13(1B))的数据源31同时输出数据。
输出队列缓冲器32临时保存选择器33选择的数据,并且在指定定时将保存于输出队列缓冲器32中的数据输出到相应的数据通信路径3中。然后,如果在每条数据通信路径3中都没有发生失效,则同时从一对I/O端口的输出队列缓冲器32中输出一组数据。在正常操作模式下的I/O端口中,选择器33从数据源31中选择数据。在简并操作模式下的I/O端口中,选择器33从速度调节器46中选择数据。
队列控制器34利用队列忙信号“busy_1”将输出队列缓冲器32的状态(满/空)通知数据源31。并且其根据通过选择器35提供的设置信号,将选择器33选择的数据写入输出队列缓冲器32。在正常操作模式下的I/O端口中,选择器35选择来自数据源31的设置信号“set1”。另一方面,在简并操作模式下的I/O端口中,选择器35选择来自等待缓冲器44的设置信号“set2”。
中间队列缓冲器36临时保存来自数据源31的数据。队列控制器37利用队列忙信号“busy_2”将中间队列缓冲器36的状态(满/空)通知数据源31。其也根据上述的设置信号“set1”将数据写入中间队列缓冲器36中。此外,当旁路通信路径21处于可用状态时,队列控制器37从中间队列缓冲器36读取数据。将从中间队列缓冲器36读取的数据发送到简并操作模式下的I/O端口中的等待缓冲器45中,或者发送到阻塞操作模式下的I/O端口中的选择器43中。
每当输出队列缓冲器32变空时,队列状态监控单元38利用启动信号“credit”通知状态。通过等待缓冲器39将启动信号“credit”提供给选择器40,并且将启动信号“credit”也发送到另一端的I/O端口中的选择器40。通过这样的处理,将同一I/O端口内的启动信号“credit_s”和/或来自另一端中的I/O端口的启动信号“credit_r”提供给选择器40。在简并操作模式下的I/O端口中,选择器40选择在同一I/O端口中的启动信号“credit_s”。另一方面,在阻塞操作模式下的I/O端口中,选择器40选择来自另一端中的I/O端口的启动信号“credit_r”。
传送请求单元41通过选择器40接收启动信号“credit”而不断地获取输出队列缓冲器32的状态(满/空)。当输出队列缓冲器32未满时,输出向I/O端口总线仲裁器42请求使用旁路通信路径21的请求信号“req”。当收到请求信号“req”时,I/O端口总线仲裁器42便在该请求信号“req”与其它请求信号(例如,请求通过旁路通信路径21发送/接收用于ECC交换的数据)之间仲裁。如果旁路通信路径21可用,则I/O端口总线仲裁器42向传送请求单元41返回响应信号“res”,并且选择器43根据来自I/O端口总线仲裁器42的指令选择从中间队列缓冲器36读取的数据,并将其输出到旁路通信路径21。当收到响应信号“res”时,传送请求单元41发出设置信号“set2”。设置信号“set2”通过等待缓冲器44而被发送到选择器35。
简并操作模式下的I/O端口的等待缓冲器45将从中间队列缓冲器36读取的数据保存一指定时期。在简并操作模式下的I/O端口中,速度调节器46从来自等待缓冲器45的数据和经过旁路通信路径21从另一端中的I/O端口发送的数据中产生数据块,并将该数据块输出到选择器33。
下面,说明具有上述结构的I/O端口13(1A和1B)的数据发送操作。在下面的说明中,数据处理器装置11-1向I/O端口13(1A)发送数据A,并向I/O端口13(1B)发送数据B。
(1)当数据通信路径3A和3B都能使用时;这种情况下,一对I/O端口同时执行下面的操作。数据源31输出的数据(数据A和数据B)被选择器33选择,并被写入输出队列缓冲器32,并且在指定定时将写入输出缓冲器32的数据输出到数据通信路径3(分别为3A和3B)中。此时,I/O端口13(1A)将数据A输出到数据通信路径3A,而I/O端口13(1B)将数据B输出到数据通信路径3B。
(2)当在数据通信路径3B中发生失效时;这种情况下,I/O端口13(1A)以简并操作模式操作,并且I/O端口13(1B)以阻塞操作模式操作。
将数据源31输出的数据(数据A和数据B)写入中间队列缓冲器36中。在简并操作模式或者阻塞操作模式下,如果在I/O端口间传送的启动信号“credit”定期证实输出队列缓冲器未满,并且,如果旁路通信路径21处于可用状态,则通过等待缓冲器45将I/O端口13(1A)的中间队列缓冲器36中保存的数据A发送到速度调节器46。这种情况下,通过旁路通信路径21传送I/O端口13(1B)的中间队列缓冲器36中保存的数据B,并将数据B发送到I/O端口13(1A)的速度调节器46。
在下面的说明中,将说明简并操作模式下的I/O端口13(1A)的操作。速度调节器46连续输出数据A和数据B。速度调节器46输出的数据A和数据B被选择器33选择,并被写入输出队列缓冲器32中。此外,在指定定时将写入输出队列缓冲器32中的数据A和数据B输出到数据通信路径3A。换句话说,将数据A和数据B从I/O端口13(1A)输出到数据通信路径3A。
在这种方式下,当数据通信路径3B发生失效时,通过旁路通信路径21将与失效的数据通信路径3B连接的I/O端口13(1B)中的数据B传送到I/O端口13(1A),并且输出到未失效的数据通信路径3A。此时,连续传送了一对数据(数据A和数据B)。
(3)在数据通信路径3A中发生失效;这种情况下的操作基本上与数据通信路径3B中发生失效的情况相同。然而,这种情况下,通过旁路通信路径21将与数据通信路径3A连接的I/O端口13(1A)中的数据A传送到I/O端口13(1B),并且输出到数据通信路径3B。
图6是说明I/O端口13的接收电路的硬件结构的示图。在该图中,说明了一对I/O端口13(2A)和I/O端口13(2B)。然而在图6中省略了发送电路。I/O端口13(2A)具有与I/O端口13(2B)相同的结构。
由检测器51或者检测器54检测从相应的数据通信路径3接收的数据。将检测器51检测的数据写入中间队列缓冲器52,并将检测器54检测的数据写入输入队列缓冲器55。中间队列缓冲器52保存写入的数据,直到旁路通信路径21可用时为止。将写入输入队列缓冲器55的数据发送到相应的数据处理器装置11。
在正常操作模式下的I/O端口中,选择器53选择从相应的数据通信路径3直接发送的数据。另一方面,在简并操作模式或者阻塞操作模式下的I/O端口中,选择器53选择来自选择器61的数据。
当数据写入中间队列缓冲器52中时,传送请求单元56发出用于通知操作的请求信号“pre_req”。通过等待缓冲器57将请求信号“pre_req”提供给选择器58,同时将其发送到另一端的I/O端口中的选择器58。通过这种处理,将I/O端口内的请求信号“pre_req_s”和/或另一端内的I/O端口的请求信号“pre_req_r”提供给选择器58。在简并操作模式下的I/O端口中,选择器58选择I/O端口内的请求信号“pre_req_s”。另一方面,在阻塞操作模式下的I/O端口中,选择器58选择来自另一端中的I/O端口的请求信号“pre_req_r”。
在收到选择器58选择的请求信号“pre_req”后,I/O端口总线仲裁器42在该请求信号和其它请求信号(例如,请求通过旁路通信路径21发送/接收用于ECC交换的数据)之间仲裁。如果旁路通信路径21可用,则I/O端口总线仲裁器42将响应信号“res”返回到传送请求单元56,并且选择器59根据来自I/O接口总线仲裁器42的指令选择从中间队列缓冲器52读取的数据,并将数据输出到旁路通信路径21。
在简并操作模式下的I/O端口中,等待缓冲器60将从中间队列缓冲器52读取的数据保存一指定时期。选择器61选择在简并操作模式下的I/O端口内的等待缓冲器60中保存的数据,并且在阻塞操作模式下的I/O端口中,通过旁路通信路径21选择从另一端的I/O端口发送的数据。
下面,将说明具有上述结构的I/O端口13(2A和2B)的数据接收操作。
(1)当数据通信路径3A和3B都能够使用时;这种情况下,分别通过数据通信路径3A和3B传送数据A和数据B。将来自数据通信路径3A的数据A写入I/O端口13(2A)内的输入队列缓冲器55,而将来自数据通信路径3B的数据B写入I/O端口13(2B)内的输入队列缓冲器55。用虚线画出I/O端口内的数据路径。然后,同时将写入一对I/O端口的输入队列缓冲器55的数据A和数据B传送到数据处理器装置11-2。
(2)当在数据通信路径3B中发生失效时;这种情况下,I/O端口13(2A)以简并操作模式操作,而I/O端口13(2B)以阻塞操作模式操作。
数据A和数据B都通过数据通信路径3A传送。然后,将数据A和数据B都写入I/O端口13(2A)内的中间队列缓冲器52中。随后,在I/O端口13(2A)与13(2B)之间传送请求信号“pre_req”。如果旁路通信路径21可用,则通过等待缓冲器60将I/O端口13(2A)的中间队列缓冲器52中保存的数据A发送到输入队列缓冲器55,并且通过旁路通信路径21传送数据B,并将其发送到I/O端口13(2B)的输入队列缓冲器55。同时将写入一对I/O端口的相应输入队列缓冲器55中的数据A和数据B传送到数据处理器装置11-2。
(3)在数据通信路径3A中发生失效;这种情况下的操作基本上与数据通信路径3B中发生失效的情况相同。然而,这种情况下,数据A和数据B都通过数据通信路径3B传送,并且通过旁路通信路径21将数据A从I/O端口13(2B)传送到I/O端口13(2A)。
本实施例的数据处理系统1能够通过旁路通信路径21在一对I/O端口之间交换ECC数据。此处,ECC数据是纠错码(或其等效的数据序列),并被添加到在数据处理器装置之间发送/接收的数据的末端。
当数据处理器装置11通过一对I/O端口13传送一对数据时,数据处理系统1能够将一个纠错码添加到一对数据中。例如,当使用16比特ECC时,能够将8比特ECC分给一对数据中的每一个。在这种情况下,通过在I/O端口之间交换8比特ECC(或者其等效的数据序列)能够实现16比特的ECC。
当数据处理系统1具有上述结构时,利用在数据通信路径3之外单独提供的数据总线而在I/O端口之间交换8比特ECC。因而,在具有该结构的系统中,利用用于ECC交换的数据总线能够实现关于本发明的旁路通信路径21。如果是这种情况,则I/O端口总线仲裁器42在数据总线(即通信路径21)之间进行仲裁。
如上所述,当在I/O端口之间设有用于除简并操作以外的目的的数据总线时,就可以通过使用该数据总线而实现旁路通信路径21。然而,用于ECC交换的数据总线只是一个实例,当在I/O端口之间建立了用于交换控制数据的某种通信路径时,也可以使用该通信路径而提供旁路通信路径21。
图7是说明数据处理系统1的发送操作的流程图。在下面的说明中,假设在包含两条数据通信路径3A和3B的系统中,将64字节的数据分为一对32字节的数据并传送。并假设每条数据通信路径3A和3B的数据宽度为4字节。步骤S1a到S8a是由与数据通信路径3A连接的I/O端口执行的处理,且步骤S1b到S8b是由与数据通信路径3B连接的I/O端口执行的处理。
在步骤S1a和步骤S1b中,将数据从数据处理器装置11传送到I/O端口13。此处,数据传送时间为8τ。在步骤S2a和步骤S2b中,判断数据处理系统1的操作是否处于简并操作模式。如果在任一数据通信路径3A或3B中发生失效时,此时判断操作模式为简并操作模式。在简并操作模式中,将在步骤S1a和步骤S1b中从数据处理器装置11接收的数据保存在中间队列缓冲器36中。
在步骤S3a和步骤S3b中,判断相应的数据通信路径3A或3B是否被阻塞。例如,在本说明中,如果数据通信路径3B中发生失效,则在#A侧的步骤S3a中判断为“No”,而在#B侧的步骤S3b中判断为“Yes”。也就是说,如果未处于阻塞状态,则处理进行到步骤S4a或步骤S4b,而如果处于阻塞状态,则处理进行到步骤S5a或步骤S5b。
在步骤S4a和步骤S4b中,将分别在步骤S1a和步骤S1b中从数据处理器装置11接收的数据存储在等待缓冲器45中。这种情况下,等待缓冲器45的等待时间为8τ(在4字节宽的总线中传送32字节数据所需的一段时间)。
在步骤S5a和S5b中,通过旁路通信路径21将分别在步骤S1a和步骤S1b中从数据处理器装置11接收的数据传送到另一端的I/O端口。如果旁路通信路径的数据宽度为4字节,则数据传送时间为8τ。
在步骤S6a或步骤S6b中,将由等待缓冲器45保存的数据和从另一端中的I/O端口接收的数据连续传送到输出队列缓冲器32中。此处,由于传送64字节数据,其数据传送时间为16τ。由与未失效的数据通信路径3连接的I/O端口中的速度调节器46执行步骤S6a和步骤S6b。
在步骤S7a和步骤S7b中,通过数据通信路径3将数据从发送源I/O端口传送到发送目的地I/O端口。这种情况下,由于传送64字节数据,其数据传送时间为16τ。仅由与未失效的数据通信路径3连接的I/O端口执行步骤S7a和步骤S7b。
当数据处理系统1未处于简并操作模式(步骤S2a和步骤S2b否)时,在步骤S8a和步骤S8b中,将分别在步骤S1a和步骤S1b中从数据处理器装置11接收的数据输出到相应的数据通信路径。换句话说,I/O端口(#A)将32比特的数据A输出到数据通信路径3A,而I/O端口(#B)将32比特的数据B输出到数据通信路径3B。
图8是说明数据处理系统1的接收操作的流程图。在下面的说明中,如对图7的说明,假设在包含两条数据通信路径3A和3B的系统中,将64字节的数据分为一对32字节的数据并传送。也假设每条数据通信路径3A和3B的数据宽度为4字节。步骤S11a到S17a是关于与数据通信路径3A连接的I/O端口的处理,且步骤S11b到S17b是关于与数据通信路径3B连接的I/O端口的处理。
在步骤S11a和步骤S11b中,检测通过相应的数据通信路径3接收的数据。在步骤S12a和步骤S12b中,判断数据处理系统1的操作是否处于简并操作模式。如果其处于简并操作模式,则分别在步骤S13a和步骤S13b中将接收的数据存储于中间队列缓冲器52中。在这种情况下,接收到的数据为由32字节的数据A和32字节的数据B组成的64字节的数据。另一方面,在正常操作模式下,不加任何修改地将接收的数据发送到输入队列缓冲器55。这种情况下,每个接收的数据为32字节的数据。
在步骤S14a和步骤S14b中,从64字节的接收数据中检测出32字节的数据A和32字节的数据B。在I/O端口(#A)中,在步骤S15a中将数据A写入等待缓冲器60,而在步骤S16a中,通过旁路通信路径21将数据B传送到I/O端口(#B)。另一方面,在I/O端口(#B)中,在步骤S15b中将数据B写入等待缓冲器60,而在步骤S16b中,通过旁路通信路径21将数据A传送到I/O端口(#A)。此处,等待缓冲器60的等待时间为8τ(在4字节宽的总线中传送32字节数据所需的一段时间)。
如果数据处理系统1处于正常操作模式,则跳过步骤S13a到S16a和步骤S13b到步骤S16b,并且将从相应的数据通信路径3接收的32字节数据分别写入输入队列缓冲器55中。如果在相应数据通信路径3中发生失效,则将通过旁路通信路径21从另一端的I/O端口传送的32字节数据写入输入队列缓冲器55中。此外,如果在另一数据通信路径3中发生失效,则将从相应的数据通信路径3接收的32字节数据写入输入队列缓冲器55中。也就是说,在任何一种情况下,将由I/O端口处理的32字节数据都被写入输入队列缓冲器55中。
在步骤S17a和步骤S17b中,将写入输入队列缓冲器55中的数据传送到数据处理器装置11中。
在上述实施例中,说明了两个I/O端口13与一个单元的数据处理器装置11连接的结构;然而,本发明并未限制于该结构。
例如,在图9中,每个I/O端口13X都与两个数据处理器装置11-1和11-2连接。这种情况下,就需要使I/O端口13X具有选择器,以选择从数据处理器装置11-1和11-2发送的数据,以及转换器,以转换将被传送到数据处理器装置11-1和11-2的数据的输出目的地。
每个数据处理器11-3和11-4都与一个I/O端口13Y连接。此处,假设图3和图4所示的数据处理器装置11-1(或11-2)和图9所示的一对数据处理器装置11-3和11-4具有相同的功能。数据处理器装置11-3和11-4彼此同步地操作。
在图10所示的实例中,每个I/O端口13Z连接有3个单元的数据处理器装置。换句话说,数据处理器装置11-1、11-2和11-3与#A系统的I/O端口13Z连接,而数据处理器装置11-1、11-2和11-3与#B系统的I/O端口13Z连接。这种情况下,每个I/O端口13Z也需要选择器和转换器。
图11是说明包含四个数据通信路径3A到3D的数据处理系统的结构的示图。这种情况下,相应于四条数据通信路径3A到3D的四个I/O端口与每个数据处理器装置11-1和11-2连接。
在I/O端口13(1A)与I/O端口13(1B)之间、在I/O端口13(1C)与I/O端口13(1D)之间、在I/O端口13(2A)与I/O端口13(2B)之间以及在I/O端口13(2C)与I/O端口13(2D)之间设有旁路通信路径21。
在具有上述结构的数据处理系统中,在正常操作模式下,通过I/O端口13(1A)、数据通信路径3A和I/O端口13(2A)发送/接收数据A,通过I/O端口13(1B)、数据通信路径3B和I/O端口13(2B)发送/接收数据B,通过I/O端口13(1C)、数据通信路径3C和I/O端口13(2C)发送/接收数据C,以及通过I/O端口13(1D)、数据通信路径3D和I/O端口13(2D)发送/接收数据D。此时,相应的数据A到数据D彼此同步地同时传送。
假设,在具有上述结构的数据处理系统中,在数据通信路径3B中发生失效。这种情况下,如参考图3到图8所作的说明,通过旁路通信路径21和#A系统中的通信路径(I/O端口13(1A)、数据通信路径3A和I/O端口13(2A))发送/接收数据B。通过旁路通信路径21和#C系统中的通信路径(I/O端口13(1C)、数据通信路径3C和I/O端口13(2C))发送/接收数据D。在这种方式下,即使只在数据通信路径3B中发生失效,但不仅在#A/#B系统中执行简并操作模式,而且在#C/#D系统中也执行简并操作模式。通过采用这种结构,相应的数据A到数据D能够彼此同步并且同时传送。
权利要求
1.一种数据处理系统,在发送源数据处理器装置和发送目的地数据处理器装置之间设有彼此同步操作的第一和第二通信路径,该数据处理系统包括第一输入/输出端口,设置在该发送源数据处理器装置与该第一通信路径之间;第二输入/输出端口,设置在该发送源数据处理器装置与该第二通信路径之间;用于发送的旁路通信路径,设置在该第一与第二输入/输出端口之间;第三输入/输出端口,设置在该发送目的地数据处理器装置与该第一通信路径之间;第四输入/输出端口,设置在该发送目的地数据处理器装置与该第二通信路径之间;以及用于接收的旁路通信路径,设置在该第三与第四输入/输出端口之间,其中当该第一和第二通信路径处于正常状态时,通过该第一输入/输出端口、该第一通信路径和该第三输入/输出端口,将该发送源数据处理器装置发送的第一数据传送到该发送目的地数据处理器装置,并且,通过该第二输入/输出端口、该第二通信路径和该第四输入/输出端口,将该发送源数据处理器装置发送的第二数据传送到该发送目的地数据处理器装置,其中当该第二通信路径中发生失效时,通过该第一输入/输出端口、该第一通信路径和该第三输入/输出端口,将该第一数据传送到该发送目的地数据处理器装置,并且,通过该第二输入/输出端口、用于发送的该旁路通信路径、该第一输入/输出端口、该第一通信路径、该第三输入/输出端口、用于接收的该旁路通信路径和该第四输入/输出端口,将该第二数据传送到该发送目的地数据处理器装置。
2.如权利要求1所述的数据处理系统,其中所述第一输入/输出端口包括队列缓冲器,保存将被发送到该第一通信路径的数据;以及通知单元,用于将该队列缓冲器的状态通知该第二输入/输出端口,并且所述第二输入/输出端口包括输出控制单元,响应来自该通知单元的通知,该输出控制单元将该第二数据输出到用于发送的该旁路通信路径。
3.如权利要求2所述的数据处理系统,其中所述输出控制单元仲裁请求使用用于发送的该旁路通信路径。
4.如权利要求1所述的数据处理系统,其中所述第一输入/输出端口包括等待缓冲器,用于保存该第一数据以使该第一数据和第二数据同步。
5.如权利要求4所述的数据处理系统,其中所述第一输入/输出端口包括调节单元,用于连续发送由该等待缓冲器保存的该第一数据和通过用于发送的该旁路通信路径接收的该第二数据。
6.如权利要求5所述的数据处理系统,其中所述第一输入/输出端口包括选择器,用于选择该发送源数据处理器装置发送的该第一数据或者该调节单元的输出。
7.如权利要求1所述的数据处理系统,其中所述第三输入/输出端口包括队列缓冲器,用于保存该第一和第二数据;以及等待缓冲器,用于保存该第一数据,以使从该队列缓冲器读取的该第一数据与从该队列缓冲器读取并通过用于接收的该旁路通信路径而传送到该第四输入/输出端口的该第二数据同步。
8.如权利要求1所述的数据处理系统,其中所述第四输入/输出端口包括选择器,用于选择通过该第二通信路径接收的数据或者通过用于接收的该旁路通信路径接收的数据。
9.如权利要求1所述的数据处理系统,其中通过用于发送的该旁路通信路径交换用于控制该第一数据的第一控制数据和用于控制该第二数据的第二控制数据。
10.如权利要求1所述的数据处理系统,其中通过用于接收的该旁路通信路径交换用于控制该第一数据的第一控制数据和用于控制该第二数据的第二控制数据。
11.如权利要求1所述的数据处理系统,其中该发送源数据处理器装置由多个发送源数据处理单元组成,并且其中所述第一或第二输入/输出端口与所述多个发送源数据处理单元连接,并且包括选择器,用于从所述多个发送源数据处理单元中选择数据。
12.如权利要求1所述的数据处理系统,其中该发送目的地数据处理器装置由多个发送目的地数据处理单元组成,并且其中所述第三或第四输入/输出端口与所述多个发送目的地数据处理单元连接,并且包括分配器,用于控制向所述多个发送目的地数据处理单元的数据分配。
13.如权利要求1所述的数据处理系统,其中多个发送源数据处理器装置与每个第一和第二输入/输出端口连接。
14.如权利要求1所述的数据处理系统,其中多个发送目的地数据处理器装置与每个第三和第四输入/输出端口连接。
15.一种数据处理系统,在发送源数据处理器装置与发送目的地数据处理器装置之间设有彼此同步操作的第一到第四通信路径,该数据处理系统包括第一到第四发送源输入/输出端口,分别设置在该发送源数据处理器装置与该第一到第四通信路径之间;用于发送的第一旁路通信路径,设置在该第一与第二发送源输入/输出端口之间;用于发送的第二旁路通信路径,设置在该第三与第四发送源输入/输出端口之间;第一到第四发送目的地输入/输出端口,分别设置在该发送目的地数据处理器装置与该第一到第四通信路径之间;用于接收的第一旁路通信路径,设置在该第一与第二发送目的地输入/输出端口之间;用于接收的第二旁路通信路径,设置在该第三与第四发送目的地输入/输出端口之间,其中当该第一到第四通信路径处于正常状态时,分别通过该第一到第四发送源输入/输出端口、该第一到第四通信路径和该第一到第四发送目的地输入/输出端口,将该发送源数据处理器装置发送的第一数据到第四数据传送到该发送目的地数据处理器装置,并且其中当该第二通信路径中发生失效时,通过该第一发送源输入/输出端口、该第一通信路径和该第一发送目的地输入/输出端口,将该第一数据传送到该发送目的地数据处理器装置,通过该第二发送源输入/输出端口、用于发送的该第一旁路通信路径、该第一发送源输入/输出端口、该第一通信路径、该第一发送目的地输入/输出端口、用于接收的该第一旁路通信路径和该第二发送目的地输入/输出端口,将该第二数据传送到该发送目的地数据处理器装置,通过该第三发送源输入/输出端口、该第三通信路径和该第三发送目的地输入/输出端口,将该第三数据传送到该发送目的地数据处理器装置,以及通过该第四发送源输入/输出端口、用于发送的该第二旁路通信路径、该第三发送源输入/输出端口、该第三通信路径、该第三发送目的地输入/输出端口、用于接收的该第二旁路通信路径和该第四发送目的地输入/输出端口,将该第四数据传送到该发送目的地数据处理器装置。
全文摘要
本发明提供一种数据处理系统。在第一与第二数据处理器装置之间设有两条数据通信路径(第一和第二数据通信路径)。在第一数据处理器装置与第一数据通信路径之间设有第一和第二I/O端口。在第二数据处理器装置与第二数据通信路径之间设有第三和第四I/O端口。当在第一数据通信路径中发生失效时,通过第一I/O端口、旁路通信路径、第二I/O端口、第二数据通信路径、第三I/O端口、旁路通信路径和第四I/O端口将第一数据处理器装置发送的数据传送到第二数据处理器装置。
文档编号G06F15/177GK1834949SQ20051008707
公开日2006年9月20日 申请日期2005年7月26日 优先权日2005年3月17日
发明者小口孝, 本田育史, 铃木贤司 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1