双计算机系统的制作方法

文档序号:6405819阅读:155来源:国知局
专利名称:双计算机系统的制作方法
技术领域
本发明涉及一种双计算机系统包括具有与一条公共通信线(即底板总线)相连的双计算机系统以及由该计算机系统所连接的多个输入/输出单元。具体地,本发明涉及冗余备用型的双计算机系统,其中,一台计算机从事实际工作(在控制状态)而另一计算机则保持备用状态以备前者发生故障时使用,而更具体地,涉及一种双计算机系统,在两台计算机之间未装有用于将两台计算机中的一台保持在控制状态和另一台在备用状态的双机控制的独立装置。
在先有技术中,采用了双冗余型计算机系统作为增进控制系统的可靠性的一种方法。
该系统,例如,公开在美国专利3,503,048,美国专利3,562,761与美国专利3,864,670中。


图1为展示先有技术中双计算机系统一个例子的结构的方框图,它公开在美国专利3,864,670中。
该系统由两台计算机(处理器单元)FC1与FC2,一个双机控制单元D×C用于监视这两台计算机的操作,以及多个经由一条总线与该两台计算机相连的输入/输出单元IO1至IOn所组成。
双机控制单元D×C接收来自两台计算机的就绪信号RDY0与RDY1以实现双机控制操作,在这种操作中首先将一台计算机保持在控制状态而将另一台保持在备用状态,使得当在控制状态中的计算机出现故障或为了维修而从系统中脱离时能将备用方面的计算机切换成控制状态,而这些RDY0与RDY1信号则主要从自检结果中获得(如检测奇偶校验错误或无应答的存储器访问检验,算术检验或输入/输出应答检验)以指示操作状态的。
具有控制权並被保持在控制状态中的计算机执行与一台高层计算机的通信或者将控制运算结果输出给各种输入/输出单元IOi。
在备用状态中的计算机不执行控制运算操作或通信但进行自检或数据基均衡使之备用以顺利进行控制权的切换。
这样构成的先有技术的系统必须在两台计算机之间装备双机控制单元DXC,而使其结构复杂化。更糟的是,从中产生了一个麻烦的问题,便是在两台计算机中的一台被用于完成控制操作或者在一台计算机被从系统中抽出另作使用的情况中,必须操作一个设置开关对此进行指示。
在W086/00439(即国际申请号pCT/US85/00936)中公开了另一种在两台计算机之间无双机控制系统的系统。然而,该系统並不被人们认为一台计算机的故障不致对另一台计算机施加影响或者能够简单地将它改变成只由一台计算机控制的单机系统。
本发明是鉴于上述问题而构想的並以提供一个不需要任何独立于两台计算机的双机控制单元而能够完成双机控制的系统为其主要目的的,在这一系统中一台计算机的故障不致对另一台计算机施加影响並且能简单地改变成只由一台计算机实现控制的单机系统。
本发明的另一个目的是实现一种双计算机系统,它即使在其自身通信接口与一条底板总线有关的故障出现时仍能切换双机而並不在计算机系统的通信上施加任何影响以及增进可靠性。
本发明的又一个目的是实现一个系统,它能从一台高层计算机简单地装入一个程序。
图1是展示先有技术的双计算机系统的例子的结构的方框图;
图2是展示应用本发明的总体系统结构的概念图;
图3是展示本发明的双计算机系统的一个实施例的结构的方框图,它是配置在图2的控制单元MFC中的;
图4是展示图2的第一与第二计算机系统FC1与FC2中单个双机控制单元15的连接的图;
图5是展示本发明的另一个实施例的方框图;
图6是展示根据本发明的双计算机系统的又另一个实施例的结构的方框图;
图7是展示根据本发明的双计算机系统的又一个实施例的结构的方框图;
图8是展示图7的系统中的通信的装入操作的流程图;
图9是本发明的又一个实施例的结构的构想图並展示了与一条通信线路相连的多个输入/输出单元的关系;
图10是展示从图9的实施例中的一个通信接口单元的信号线上实现重读信号的功能的一个线路例子的结构的方框图;
图11是展示在通信接口单元上的信号重读功能的操作的时间图表;
图12是展示每一台计算机系统中的一个CPU单元的一个地址映象的图;
图13是展示本发明的又一个实施例的结构的方框图;以及图14是展示图13中的系统的数据均衡操作的概念的图。
图2是展示应用本发明的一个总体系统的构思的结构图。在图2中出现的参照字母MIF指明一台用作人机接口(或操作员站)的高层计算机,它具有一台CRT显示器和一个键盘。字母pRT指明与该高层计算机MIF相连的一台打印机。
字母MFC指明一台通过一条通信线路L1与该高层计算机MIF相连的控制单元,它具有反馈功能及定序(Sequence)功能以控制过程,以及执行算术公式的功能,使之加入根据本发明的双计算机系统。通信线路L1构成为在各个控制单元之间传递通信权(即接力棒),使得到通信权的控制单元能使用通信线路L1进行通信。
字母SC指明与控制单元MFC相连的一个信号调节器,它具有与分布在现场的各种传感器以及一块控制板进行接口的功能。控制单元MFC还与一个远程输入/输出单元和各种定序器pLC直接连接。
图3是展示配置在图2的控制单元MFC中的双计算机系统的一个实施例的结构的方框图。
参照字符FC1与FC2指明双联的第一与第二计算机系统,它们与连接高层计算机的通信线路L1相连並具有基本上相同的内部结构。
在第一与第二计算机系统FC1与FC2的每一个中,参照数字1指明一台处理器单元(即CpU单元),而数字2则指明用于通信线路L1的一个通信接口单元,它通过一条内部总线IBS与处理器单元1相连。
通信线路L1采用接力棒(即记号)传递方法,在这一方法中,访问它的使用权顺序地在各个与之相连的运行中的计算机系统和其它系统之间传递,使得各系统在接收到通信权(即接力棒)时可以执行通信。
在CpU单元1中,参照数字14指明就绪信号生成装置,它是用于在自检的内容的基础上输出一个就绪信号的,而数字16则指明一个判定单元,它响应来自下面将要描述的一个通信接口单元的读入装置26的一个信号並在该信号的值的基础上控制就绪信号生成装置14的操作。数字15指明一个双机控制单元,它响应该就绪信号以控制是否进入运行状态(在控制方)或者备用状态。
在通信接口单元2参照数字24指明一个接力棒检测器用于监视通信线路L1上的信号以检测接力棒帧指示通信线路L1的通信权传递到该接口单元本身;数字25指明一个接力棒接受计数器用于当接力棒检测器24检测到接力棒帧时将其内容增加“1”;以及数字26指明读入装置用于读入接受计数器25的内容以通过内部总线IBS向判定单元16传送数据。
图4是展示图2中的第一与第二计算机系统FC1与FC2中每一个中的双机控制单元15的连接关系的图。
为每一计算机系统配置了NAND(与非)门G10与G20用于从就绪信号生成装置14输入信号CpURDY。通过将FC1中的NAND的输出端与FC2中的NAND的一个输入端相连,及将FC2中的NAND的输出端与FC1中的NAND的输入端相连,将两个NAND门连接成一个触发电路。
结果是,较早启动就绪信号CDURDY的一方的计算机系统启动一个控制许可信号DCS以获得控制权而进入运行状态,而在另一方的计算机系统则进入备用状态,从而完成双机切换操作。
如此这般构成的系统的操作将在下面说明。这里将假定第一计算机系统FC1是在运行状态而第二计算机系统FC2则在备用状态。
假设第一计算机系统FC1发生对通信的要求,当接力棒帧来到时该系统FC1时,即,当接力棒检测器24接收到接力棒帧时,便能进行通信操作。当通信操作(即传输)结束时,接力棒帧被传送给下一个通信系统。
在通信系统接收到传送给它自己的接力棒帧而並不要求数据通信的情况下,接力棒帧便立即传送给下一计算机系统。
这里,已经传送出接力棒帧的计算机系统监视在通信线路上的信号以检测这样一个错误,即下一计算机系统的通信接口单元2发生故障不能接收被传送的接力棒帧或者不能根据通信需要传送通信帧或者不能将接力棒帧传送给下一计算机系统。
在检测到这些错误的情况下,计算机系统按照予定的规则纠正接力棒帧的目的地並将接力棒帧传送给能够接受它的位于纠正后的目的地的计算机系统。
从而,在与通信线路L1相连的某些单个的计算机系统或其它系统发生故障时,它们被从接力棒帧的传送路径上摘除而使接力棒帧得以在正常操作中的计算机或其它系统之间传递。
在一台正常的计算机系统中,接力棒检测器24检测接力棒的每一次传递以更新接力棒接收计数器25的内容。
读入装置26读取接力棒接收计数器25的内容通过内部总线IBS将它传送给判定单元16。
判定单元16监视被传送的接力棒接收计数器25的内容並判定通信接口单元2是否在正常操作中,如果在每一个予定的时间间隔上得到更新(这是接力棒帧传递一周所需的时间间隔)则通信接口单元2是正常操作的。反之,在经过了较予定的时间间隔更长的一个时间间隔而接力棒接收计数器25的内容仍未被更新的情况下,判定单元16判定由于通信接口单元2中的故障而接力棒帧不能接收或传送。
如果判定单元16判定通信接口单元2发生故障,它便指令就绪信号生成装置不启动就绪信号CpURDY到双机控制单元15。
如果双机控制单元15不启动就绪信号CpURDY,NAND电路G10将其输出翻转以翻转由NAND电路G10与G20构成的触发电路。结果,送往第二计算机系统FC2的控制许可信号DCS被启动将这一方切换成运行状态以恢复通信功能。
偶而,使在备用状态中的第二计算机系统FC2去执行上述判定单元16的操作。在备用方的通信接口单元2的诊断通过通信线路L1传送诊断帧並在运行状态中的计算机系统的通信接口单元2的操作是正常的情况下重新接收该诊断帧。
图5为展示本发明的另一个实施例的结构的方框图。
在这一实施例中,每一计算机系统将其通信接口单元2通过一个耦合器单元3连接到通信线路L1上,该耦合器装有一个禁阻开关4用于中断传送与接收功能以便维修。
此外,指示禁阻开关4的通联状态的状态信号被送往第一与第二计算机系统FC1与FC2的各个判定单元16。
耦合器单元3调制或解调所传送的或接收的信号。另一方面,禁阻开关4被接通(为禁阻状态)以便进行维修,例如,禁阻传送与接收。在这一状态中,对应的计算机系统由于在故障中而被从接力棒帧的传递路径中清除掉操作。
在这一实施例中,当来自禁阻开关4的状态信号並不指示禁阻状态时,判定单元16判定接力棒接收计数器25的内容是否在一个予定的时间间隔上得到更新,並且在来自禁阻开关4的状态信号指示禁阻状态的情况下,即使接收计数器25的内容在予定的时间间隔上未被更新时也判定接力棒检测单元24的操作是正常的。
根据这一实施例,即使在提供了为便于维修而中断传送与接收功能的禁阻开关的情况下,通信接口单元的故障也能准确地得到检测。
有时,在上述特殊实施例中只有一种形式的经过通信线路L1流通的接力棒帧。然而,尽管如此,本发明也可应用于这样一种系统在该系统中除了指示通信权的正常接力棒以外还配有在诊断中自动寻找出故障的系统的一个诊断接力棒以便正常接力棒能定时流通。在这种系统中,更具体地说,在接收到诊断接力棒的情况中,接收计数器的内容不变,只有在检测到正常接力棒的情况下才能被更新。
如以上所说明的,根据本实施例,可以检测出通信接口单元的故障而对通信不产生不利影响,从而使通信能迅速地切接到双联的计算机上。
此外,在没有为了维修而禁阻传送与接收功能的禁阻开关的情况下,可以检测通信接口单元的故障而对开关的状态没有不利的影响。
图6是展示根据本发明的双计算机系统的又一个实施例的结构的方框图。在该实施例中,对于可以只由一台计算机系统构成的单机系统结构进行了讨论。
在第一与第二计算机系统FC1与FC2中参照数字10指明用于输出一个信号(CpURDYO)的一个CpU单元,该信号指明算术运算,控制和判定能够正常完成的状态;数字2指明用于输出一个信号(COMRDY)的一个通信接口单元,该信号指示通过通信线路L1与一台高层计算机的通信可以正常进行;而字母TM则指明用于在系统加电以后经过一个固定时间间隔输出一个时间已到信号(T1)的一个定时器。
参照数字150指明为双机控制输出一个用于授予两台计算机系统中一台的一个控制权的信号(DCS)的逻辑电路。每一逻辑电路由5个门组成。
具体地说,逻辑电路由下述部分组成一个门G11(或G21),其一个输入端输入来自通信接口单元2指示其操作能正常进行的信号(COMRDY)而其另一个输入端则输入来自定时器TM的时间已到信号(T1);门G12(G22)则输入门G11(或G21)的信号以及来自一个变换器IM11(或IM22)的指示控制权属于它这一方的一个信号;一个门G13(或23)输入门G12(或G22)的信号以及通过一个变换器IN22(或IN12)和一个变换器IN13(或IN23)来自伴随方的计算机系统的CpU单元的指示操作能正常进行的信号(CpURDY1);以及一个门G14(或G24)输入门G13(或G23)的信号和来自CpU单元10指示操作能正常进行的一个信号(CpURDY0);以及一个门G10(或G20)输入门G14(或G24)的信号和指示控制权属于伴随方的一个信号(DCS1)。
这里,两台计算机系统FC1与FC2中的门G10与G20将它们的输出(DCS1)相互输入另一门中从而使它们构成一个触发电路。
在两台计算机都已就绪的情况中,COMRDY信号首先到达的那一方在上升时间获得控制权。当双方未就绪时,最先到达COMRDY的一方也优先争取控制权。从而,两台计算机系统不会同时获得控制权。
逻辑电路150的构成是这样的,得到和放弃控制权的条件是由下式(1)与(2)中的各个信号分别在它得到控制权与否的情况中表示的。这里,连接在信号上的后缀“0”指明该信号是控制方计算机系统输出的,而后缀“1”则指明该信号是受控制方的计算机系统输出的。
从无控制权→控制权的切换条件(用于提升DCSO)是CpURDYO*DCS1+CpURDY1*COMRDY*T1*DCS1……(1);
与从控制权→无控制权的切换条件(用于降低DSCO)是DCS+CpURDY0*CpURDY1……(2)。
这样构成的系统的操作在下面联系提升和降低指示控制权的存在的信号DCSO的独立操作加以说明<提升DCSO的操作DCSO=0→1>
提升DCS的逻辑由公式(1)表示。
在公式(1)中,第一次指示正常条件,在这一条件下当受控制的计算机系统FC未得到控制权(DCS1=0)的情况下以及控制计算机系统的CpU单元处于就绪状态的情况下(CpURDY0=1),DCSO被提升。
第二项指示即使两台计算机系统都不就绪时,其中的一台的CpU10也得到控制权,使通信接口单元2能进行通信,这便表明了本发明的操作特色。
在加电时内存储器的内容消失的情况中,除非内存储器在通信中从高层计算机装入了程序,就绪状态是不会产生的。结果,在加电以后的一个一定时间间隔内,由于两台计算机系统的CpU单元10没有就绪以致任何一台计算机系统既不能以公式(1)中的第一次的条件获得控制权而通信接口单元又不能进行通信並装入程序。
当加电以后的这一个一定的时间间隔过去以后,定时器TM到达时间将T1信号提升到“1”。结果,如果通信接口单元2已就绪並在伴随方的CpU单元尚末就绪而没有得到控制权的条件下,便可以从公式(1)的第二项得到控制权。
当计算机系统获得控制权时,其通信接口单元便可以进行通信,並装入从高层计算机的通信中来到的程序。
如此装入了程序的CpU单元10进入进行正常操作的就绪状态(CpURDyo<降低DCSO的操作DCSO=1→0>
降低指示控制权存在的信号DCSO的逻辑由公式(2)表达。
只存在具有控制权的计算机系统的CpU单元未就绪的情况下以及伴随计算机系统的CpU单元已就绪的情况下,这一公式(2)才实现控制权的放弃。
另一方面,虽然並不常见,伴随计算机系统由于在控制计算机系统已经得到了控制权的状态中的某种原因偶而得到了控制权,根据公式(2)的第一项它也要放弃控制权,应用这些逻辑,两台计算机系统不会同时得到控制权。
下面要解释一下为什么在降低DCSO的逻辑中不调整通信接口单元2的状态的理由。
具体地说,根据操作状态例如在启动CpU单元时的初始化阶段,当CpURDYO未被提升时可以发布一条初始化指令将通信接口单元置于非就绪状态。在这一状态中,並不传送控制权。
此外,在正常操作开始以后,CpU单元被它自己对通信接口单元的诊断(包括对COMRDY的状态的监视)所起动(enabled),这种诊断是用来检测通信接口单元的故障並以此将CpURDY0信号降低到“0”的(即,非就绪状态)。
根据到目前为止的说明,在系统运行中处于控制状态的计算机系统发生故障的情况下,由两个门G10与G20构成的触发电路受到翻转而将操作切换到那时为止处于备用状态中的那一台计算机系统上。如果在这一状态中,在故障方的计算机系统被取出进行修理,来自出现故障的伴随者一方的CpURDY1信号保持不变,使触发电路不被翻转並对系统的运行不施加影响。
从而,根据本实施例,两台计算机系统中的一台被起动以获得控制权,即使它们是在非就绪状态中也一样,这是由于增加了该简单的逻辑电路並由于在考虑了来自伴随CpU单元的状态信号CpURDY而切换控制权的,从而使得不需要任何特殊操作便可完成程序与数据基的装入操作。
图7为展示本发明的又一个实施例的结构的方框图。
在双计算机系统中,当CpU单元通过通信接口单元装入程序时其操作必须一度中断。这是因为在CpU单元运行中重新写入程序会使该CpU单元的操作失去控制。
本实施例是这样设计的,可以由通信完成在双计算机系统上装入程序而对控制权的切换不产生不利的影响。
在图7中,第一与第二计算机系统FC1与FC2的CpU单元10经自检而输出信号(CpURDYO),该信号表明了CpU单元10不但能正常地完成予先规定的算术运算,控制和判定操作也能完成其它一些操作。通信接口单元2装备有停止信号输出装置C1,能够响应来自高层计算机的一条“停止”命令向伴随CpU单元输出一个信号(STOpO)以停止其操作以及在伴随CpU单元停止以后向这一方的CpU单元输出一个停止信号(CSTOp);以及重新启动信号输出装置C2,它能够在全系统处于停止状态时响应来自高层计算机的一条“重新启动”命令,输出用于较早地重新启动其CpU单元的一个信号(CRESTART)。
其双机控制15与图6中的双机控制有相似的结构。
在本实施例中,下面将要说明在通过通信来自高层计算机的程序要被装入的情况下的操作。
现在,假定第一计算机系统FC1具有控制权並正在执行控制操作。在这一状态中,先于程序装入从高层计算机传送该“停止”命令。
当计算机系统FC1一方的通信接口单元2中的停止信号输出装置C1接收到这一“停止”命令时,向伴随方的计算机系统FC2的CpU单元10输出该停止信号(STOpO)。响应这一停止信号,在备用方的计算机系统的CpU单元立即停止其操作。
在CpU单元10停止了它的操作以后,然后停止信号输出装置C1向其自己一方的CpU单元10输出该停止信号(CSTOp),响应这一停止信号,CpU单元10立即停止其操作。
在这一状态中,两台计算机系统各自的CpU单元都在停止状态中,因而从它们输出的信号CpURDY0与CpURDY1都被降低了。结果,按照上述公式(1)与(2)的控制权切换条件都不满足,从而切换控制权。
当计算机进入停止状态时,可以执行由通信装入程序的操作由通信将计算机系统的高层计算机上的程序装入。
当由通信装入程序结束时,高层计算机通过通信线路L1传送该“重新启动”命令。当通信接口单元2接收到该“重新启动”命令时,重新启动信号输出装置C2向CpU单元10输出信号(CRESTART)用于较早地重新启动在其具有控制权一方的CpU单元10。
响应这一重新启动信号(CRESTART),CpU单元10输出信号CpURDY0並开始控制算术运算。进入控制操作以后,CpU10将重新启动信号(RESTARTO)输出到伴随一方的计算机系统的CpU单元10以重新启动一CpU单元10。当该CpU单元10被重新启动时,这一方便立即进入备用操作,因为信号CpURDYO已经处于设置状态。
图8为展示到目前为止所描述的由通信的装入操作以及展示在各步骤中各计算机系统FC1和FC2的状态的流程图。
通过这些过程,可以在计算机系统的停止与重新启动时无任何控制权切换而完成由通信装入程序。
在这里要说明,用于实现这些操作的双机控制单元15的结构並不仅限于图7中所示,而定时器TM则可以省去。
图9为展示与通信线路L1(即,底板总线)相连接的输入/输出单元(即,I10单元)的关系的结构的概念的方框图。
本实施例为构造成共用底板总线的使得即使底板总线出现故障时也能完成双机切换。
在图9中,参照字符FC1与FC2表示以通信线路L1连接的(即,底板总线)具有双机结构的计算机系统,而字符101与10n则表示以底板总线连接的各种I/O单元。
在具有双机结构的各计算机系统FC1与FC2中,字母MU表示通过一条内部总线IBS与CpU单元10和通信接口单元2相连接的内存储器。
当CpU单元10访问底板总线L1时,通信接口单元2具有重读各信号线向底板总线输出的信号(或数据)的功能,借此对它们进行比较使之能检验它是否能准确无误地向底板总线输出信号。如果重读的结果揭示一个互相不重合,通信接口单元2便中断其访问並通知CpU单元10在重读中出现一个错误这一事实。
图10为展示通信接口单元2中用于实现重读信号线上的信号的功能的电路的一个例子的结构的方框图。
在图10中,参照数字211指明用于读取底板总线上各数据线上的信号的一个接收器,而数字212则指明用于将CpU单元10的输出数据传输给底板总线的一个驱动器。数字213指明用于比较向底板总线输出的数据与从底板总线的各信号线上重读的数据的一个比较器,数字214指明在比较器213的比较结果的基础上发布重读错误的输出的一个定时控制电路。
现在,假定双机系统的两台计算机系统FC1与FC2都在进行正常操作(即,来自各CpU单元10的就绪信号RDY都是激活的)並且计算机系统FC1正在进行控制操作而计算机系统FC2则正在进行备用操作。
导致底板重读检测错误的原因可分类如下(a)这一方的系统中的通信接口单元的内部故障;(b)这一方与伴随方的总线驱动器和接收器以及I/O单元101至10n的故障;和(c)底板总线的故障。
这里,(b)与(c)两类故障是共有的因为两台计算机系统都是与公共的底板总线相连的。
这一实施例当上述(a)类故障发生时能有效地工作,如下面所述。
现在,设想出现了故障,其中连接计算机系统FC1与底板的通信接口单元2出现了故障使得无法将准确的信号传输给底板总线。
如果在这种情况下,计算机系统FC1要访问I/O单元,通信接口单元2的重读功能检测到这一错误並中断了访问。此外,CpU单元10接收到出现重读检验错误的通知。
图11为展示在通信接口单元2上的上述重读功能的操作的一张时间图表。
计算机系统FC1将输出数据传送到I/O单元,如(a)处所示。这些数据是以一个输出允许信号OE的形式输出的,如(b)处所示,並通过驱动器212输出到底板总线L1,如(c)处所示。
这样输出到底板总线L1上的输出数据通过接收器211被重新读取,如(d)处所示,使之在比较器213中与输出数据进行比较。
如(e)处所示,如果这一比较结果揭示相同的结果则将EQUAL(相等)输出激活以指示无错误,而如果比较结果揭示不相同的结果则将EQUAL输出变换为不激活以指示重读错误的出现。
如图10所示,定时控制电路214是由一个触发器构成的,在重读定时时,如(f)处所示,将重读错误信号,如(g)处所示,输出到CpU单元10。
响应来自通信接口单元2的重读错误信号,CpU单元10将其诊断结果变为不就绪且中断访问与控制操作以防止将错误数据传送给I/O单元。
当来自CpU单元10的就绪信号CpURDY变为不激活时,双机控制单元15从各计算机系统FC1和FC2的状态中作出一个判断以输出该双机控制信号DCS将控制权赋予计算机系统FC2。结果,曾经保持在备用状态中的计算机系统FC2开始进行控制操作以继续执行整个系统的功能。
这样,对于上述(a)类的故障,将输出数据重新读入以检测错误。如果检测到了这一错误,由于判定了故障属于这一方的系统的通信接口单元而中断访问,並且CpU单元降低就绪信号CpURDY以切换双机控制。
在故障属于上述(b)和(C)类的情况中,CpU单元同样对它们进行检测並降低该就绪信号CpURDY以切换双机控制。由于在这一情况中,属于(b)和(C)类的故障是本质上两个系统所共有的,新近开始控制操作的计算机系统访问底板总线而导致重读错误,而使其CpU降低该就绪信号。结果,整个系统的操作被中断。
如果,在图9中,通信接口单元2被构造为从双机控制单元15接收指示存在或不存在控制权的信号,如虚线所示,並且赋予了下述功能,则一台计算机系统的故障可以被防止在另一台计算机系统上施加影响。
也就是说在控制权未赋给通信接口单元2这一方面的计算机系统的情况下,禁阻该通信接口单元2访问输入/输出单元101至10n的功能;以及将数据映射到从这一方的CpU所取的存储器单元MU的地址区域以外的区域上,供来自底板总线L1的访问且禁阻访问的功能。
图12为展示计算机系统FC1和FC2中每一台的CpU单元10的地址映象的图。
每一台计算机系统FC1或FC2在地址000000至1FFFFF处有其自己的内部存储器。区域200000至9FFFFF赋给底板总线L1。
其中,伴随方的计算机系统的内部存储器赋给区域200000至3FFFFF,而受控制的输入/输出的I/O区域赋给800000至9FFFFF。
通信接口单元2有下述功能(a)取得总线控制权的仲裁功能;
(b)总线控制功能;和(c)总线受控制功能。
这里,总线控制功能使图12中的地址映象的I/O区域只能被具有控制权的计算机系统所访问。这是因为出故障而丧失控制权的计算机系统不应当将错误数据输出给传送直接控制输出的输入/输出单元。
另一方面,总线受控制功能不允许来自底板总线L1的访问写入。这是保护CpU的操作防止用硬件手段的外来访问。
此外,总线受控制功能响应底板总线的地址
200000至
3FFFFF,而对内部存储器的访问是在地址(
0至
1FFFFF)上完成的,这些地址是以减
200000所得到的,以实现图12中所示的地址映象。
首先,假定计算机系统FC1在控制状态中(从事实际工作)而计算机系统FC2则在备用状态中。在这一状态中,在控制方的计算机系统FC1正在按照存储在存储单元MU的内存储器中的程序执行控制操作。
在这些操作中,通过底板总线L1从输入/输出单元101至10n读取输入数据並提交给必要的计算。在此以后,通过底板总线L1将输出数据传送给输入/输出单元101至10n。
备用方的计算机系统FC2在硬件、程序与数据未曾被判定为正常的以前並不执行备用操作。首先,控制方的计算机系统FC1的操作开始以后,将计算机系统FC1的程序和数据通过底板总线L1读出並存储在备用方计算机系统FC2的存储器MU中。这些程序和数据被存储以后,备用操作便开始了。
如果,在这一备用状态中,在控制方的计算机系统由于某种原因而发生故障,由于数据是均等的所以控制操作可以平滑地继续进行。在控制方计算机系统的控制操作中,更具体地说,数据和参数是在时时变化着,而控制方的计算机系统则在执行控制的同时将备用方所需的数据与参数存储在予定的位置。这些数据和参数被顺序地通过底板总线L1被复制到备用方的计算机系统FC2同样大小的存储单元MU中。
由于这些操作,备用方的计算机系统FC2总是具有和控制方计算机系统FC1相同的用于同一程序的必要数据和参数,因此当控制方的计算机系统发生故障时备用方计算机系统便可平滑地继续执行控制操作。
下面所要讨论的是当备用方计算机系统FC2发生故障时的操作。
现在,假想这样的情形,其中备用方计算机系统陷入了徘徊运行的故障中而不断地导致一个任意地址的写入操作。随着,这些任意地址的写入操作便被通信接口单元2的上述总线控制功能与总线受控制功能所封锁而不致对系统的控制操作产生影响。
更具体地说,计算机系统FC2本身没有控制权对I/O区域进行访问,因此由于对其本身的硬件的限制它无法完成该访问。此外,由于硬件不能对控制方计算机系统FC1的控制操作施加影响,所以对控制方计算机系统FC1的存储单元MU中的写入也不能完成。
在上述说明中,伴随方计算机系统的存储器中所有区域都不能进行写入。然而,这一结构可以修改为只有对控制操作必要的程序、数据与参数区域不能写入而用于均衡操作的存储单元则可以写入。
按照本实施例,一台计算机系统的故障並不影响另一台计算机系统的控制操作从而更好地提高了可靠性。
此外,数据与参数的复制操作是通过特别为这一目的而装备在两台计算机系统之间的双机控制单元15实行的。然而,可以用将来自两台计算机系统到各自的双机控制单元的地址变为一致的方法使软件能够为两台计算机所共享。
图13为展示本发明的又一个实施例的方框图。这一实施例是为了使从控制状态切换到备用状态的数据的均衡化平滑地进行而设计的。
在计算机系统FC1与FC2中的每一台中,参照数字151指明一个均衡化缓冲器,它是用于存储将在两台计算机系统之间进行均衡化的数据並且设置在计算机系统的RAM(随机访问存储器)中的。数字152指明数据出错检测装置,用于检测存储在均衡化缓冲器151中的数据的出错,而数字153指明标志装置,它在数据出错检测装置检测到一个出错时被提升。
双机控制单元15是这样构造的,它参考标志装置153,在要求切换控制权时,在该标志为OFF(低)的情况下开始控制权的切换,而当该标志为ON(高)时经过一个予定的时间间隔的后发送控制输出。
向这一双机控制单元15输入的有来自其自身的CPU单元10的就绪信号CPURDY;来自伴随方计算机的CPU单元10的就绪信号CPURDY;指示通信接口单元2能够正常地执行其操作的就绪信号COMPDY;以及来自标志装置153的信号。根据这些信号的状态,双机控制单元15输出这样一个双机控制切换信号DCS使得两台计算机系统中的一台能从事实际工作。
图14为展示数据均衡化操作的概念的图。
这一实施例假定计算机系统FC1处于控制状态(从事实际工作)而计算机FC2则处于备用状态。在这些状态中,控制方计算机系统FC1的均衡化缓冲器151在一个开始记号STM和一个结束记号EDM之间存储着要均衡化的数据。
备用方计算机系统FC2读取控制方均衡化缓冲器的指针PO的值。如果读入的值等于前一次的值,则计算机系统FC2判定不存在一个新的均衡化数据而不进行均衡化操作,如果指针的值改变了,存储在均衡化缓冲器151中开始记号STM与结束记号EDM之间並要为初始化而均衡化的数据便被从控制方计算机系统FC1加以复制。
要均衡化的数据由地址与数据构成,它们是被夹在开始记号与结束记号之间的。伴随方计算机系统FC2在找到复制数据中的结束记号EDM时便将这些夹在开始记号与结束记号之间的数据复制到一个指定的地址。
备用方计算机系统FC2的出错检测装置152在由于指针读取的错误或控制方更新均衡化缓冲器的指针而使均衡化缓冲器全部装满的情况下(如在控制方的压入更新早于备用方的均衡化执行的情况中)检测均衡化缓冲器中的开始记号或结束记号的缺陷以及数据的出错。如果检测到了这些出错,标志装置便被提升(即转换为ON)。
到目前为止所描述的均衡化操作是在备用方计算机的全部时间中执行的,而使控制权的切换在任意时间进行中断。
例如,假使控制方计算机系统FC1进入了异常操作,此时信号CPUREDYφ变为不就绪而使双机控制单元15作出响应反转信号DCS将控制权进行切换把实际工作传送给到那时为止一直在备用状态中的计算机系统FC2。
在双机切换时,到那时为止一直在备用状态中的计算机系统FC2的双机控制单元15参考标志装置153,当标志为OFF时立即开始控制权的切换。
反之,如果标志装置153为ON,双机控制单元15便被中断一个予定的时间间隔,例如,一分钟,然后进行操作传送控制输出。
在这一分钟的中断中,执行一个空转操作以完成必要数据之类的初始化或者程序的装入並将标志变换为OFF。所以,如果经过了一分钟之后已经获得了控制权的计算机系统发出了控制输出,控制是在相似于下述状态的状态中被切换的,即经过一分钟以后出入操作状态的状态,以防止将一个不希望有的控制输出传送给控制板的弊端。
到目前为止所描述的各个实施例中所例示的通信线路L1都是单一结构的,但是这一通信线路也可以是双线的。
权利要求
1.一种双计算机系统,具有一条接力棒传递型通信线路,当通信权(即,一个接力棒)传递到某一方时,这一方便可进行通信,每一台计算机系统包括一个接力棒检测单元用于检测递交给它自己的一个接力棒帧;一个接力棒接收计数器用于在所述接力棒检测单元检测到该接力棒帧时更新一个内容;以及一个判定装置用于读出所述接收计数器的内容,在所述接收计数器的内容即使经过了一个予定的时间间隔以后仍未更新的情况下,所述判定装置指令直到那时一直处于备用状态中的计算机系统去执行实际工作。
2.根据权利要求1的一种双计算机系统,其特征在于,进一步包括一个耦合器单元将所述计算机系统中每一台耦合到所述通信线并包括一个禁阻开关用于指令所述耦合器单元禁阻通信功能。其中所述判定单元指令这样一种双机控制的切换,即在所述接收计数器的内容即使经过了一个予定的时间间隔未被更新的情况中并且所述禁阻开关并不指令禁阻通信功能的条件下使得一直在备用状态中的计算机系统去执行实际工作。
3.根据权利要求(1)的一种双计算机系统,其特征在于。其中每一台所述计算机系统包括就绪信号生成装置,响应来自所述判定单元的一个指令信号以在其诊断内容的基础上输出一个就绪信号;以及一个双机控制单元,响应所述就绪信号以控制是否它要进入一个运行状态还是一个备用状态,以及其中所述就绪信号生成装置根据来自所述判定单元的指令信号使所述就绪信号不激活。
4.一种具有双连计算机的双计算机系统,包括一个CPU单元用于执行算术与控制操作并输出一个信号(CPURDYO)表示其操作可以正常进行;一个通信接几单元用于与所述计算机系统中的一台高层计算机进行通信并输出一个信号(COMRDYO)表示其操作可以正常进行;一个定时器用于在向所述系统供电后经过一个予定的时间间隔后输出一个时间已到信号(T1);以及一个逻辑电路用于接收来自所述CPU单元指示正常操作的能力的信号(CPURDYO);来自所述通信接几单元指示正常操作能力的信号(COMRDY);来自所述定时器的时间已到信号(T1);来自伴随方计算机系统的CPU单元指示正常操作能力的一个信号(CPURDY1);指示控制权属于这一方法一个信号(DCSO);以及指示控制权属于伴随方的一个信号(DCS1),从这些信号中取一个逻辑运算。
5.根据权利要求4的一种双计算机系统,其中所述逻辑电路,如果在控制权不属于这一方(DCS=0)的情况中下列公式(1)得到满足,将指示控制权属于这一方的信号(DCSO)设置到“1”以取得控制权,以及其中所述逻辑电路,如果在控制权属于这一方(DCS=1)的情况中下列公式(2)的条件得到满足,将指示控制权属于这一方的信号(DCSO)设置到“0”以放弃控制权CPURDYO*DCS1+CPURDY1*COMRDY*T1*DCS1……(1);和DCS+CPURDYO*CPURDY1……(2)
6.一种双计算机系统包括具有自检功能的双联计算机,其中每一台计算机系统包括一个CPU单元用于执行算术与控制操作并输出一个信号(CPURDYO)表示其操作能正常进行;一个双机控制单元用于接收来自所述CPU单元指示其正常操作能力的一个信号(CPURDYO),来自伴随方CPU单元指示其正常操作能力的一个信号(CPURDY1),指示控制权属于这一方的一个信号(DCSO),以及指示控制权属于伴随方的一个信号(DCS1)并从这些信号中取一个逻辑运算以确定控制权;以及一个通信接口单元用于输出一个信号(STOPO),该信号是用于与一台高层计算机进行通信并在它从所述高层计算机接收到一个“停止”命令时停止伴随方计算机系统的CPU单元的操作,以及输出一个信号(CRESTART),该信号用于当整个系统处于停止状态时从所述高层计算机接收到一条“重新启动”命令时较早地重新启动这一方的计算机系统的CPU单元。
7.一种双计算机系统包括与一条共用的底板总线相连的双计算机系统;以及适合于被所述计算机系统控制的各种I/O单元,其中所述双计算机系统中的一台计算机包括一个CPU单元;一个存储器通过一条内部总线与所述CPU单元相连;一个双机控制单元用于从这一方的计算机系统的CPU单元的自检结果和伴随方的计算机系统的CPU单元的目检结果中确定是否需要执行控制操作;一个通信接口单元与所述内部总线及所述底板总线相连并具有重读数据的功能,该数据是在所述CPU单元访问所述底板总线时输出到各信号线上的,借此在不相同时中断访问并通知所述CPU单元在重读中出现一个错误这一事实,以及所述CPU单元在接收到这一重读错误时将其目检结果作为不就绪来接收以中止其操作。
8.一种双计算机系统包括与一条共用底板总线相连的双计算机系统;以及适合于由所述计算机系统控制的各种I/O单元,其中所述双计算机系统中的每一个包括一个CPU单元;能从所述CPU单元与所述底板总线进行访问的一个存储器单元;一个双机控制单元用于监视一个就绪信号,该信号来自至少一台所述CPU指示其操作状态,以控制两台计算机中哪一台要从事实际工作而另一台则在备用状态;以及一个底板总线接口单元与所述底板总线相连并且当所述双机控制单元未授于控制权时具有禁阻对所述输入/输出单元进行访问的功能。还具有将数据映射在区域中的功能。从这一方的CPU单元看来该区域与所述存储器单元的地址范围不同,这些数据是供来自所述底板总线方面的访问并禁阻写访问的。
9.一种双计算机系统包括与一条共用底板总线相连的双计算机系统;以及适合于由所述计算机系统控制的各种I/O单元。其中所述双计算机系统中的每一台包括一个均衡化缓冲器用于存储要均衡化的数据;数据出错检测装置用于检测存储在所述均衡化缓冲器中数据的出错;标志装置适用于当所述数据出错检测装置检测到一个出错时将该标志装置提升;以及双机控制装置用于参考所述标志装置,在所述标志为OFF时,当需要切换控制权时开始切换控制权,在所述标志为ON时,经过一个予定的时间间隔后执行一个控制输出。
全文摘要
用于过程自动化或工厂自动化的一种双计算机系统,该系统由与一条共用底板总线相连的两台计算机系统与受这些计算机系统控制的多个I/O单元构成。每一台计算机系统由一个GPU单元,一个通信接口单元和一个双机控制单元构成。该双机控制单元用于控制该两台计算机系统确定哪一台计算机系统进入控制状态而另一台则进入备用状态。从而,不需要任何在两台计算机之间的独立的双机控制单元便可完成双机控制而提供一种高度可靠的系统。
文档编号G06F15/16GK1046235SQ9010184
公开日1990年10月17日 申请日期1990年4月3日 优先权日1989年4月4日
发明者赤井创, 安井均, 中川正幸, 林俊介, 十河定俊 申请人:横河电机株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1