CN1159630A - 信息处理系统 - Google Patents

信息处理系统 Download PDF

Info

Publication number
CN1159630A
CN1159630A CN96110641A CN96110641A CN1159630A CN 1159630 A CN1159630 A CN 1159630A CN 96110641 A CN96110641 A CN 96110641A CN 96110641 A CN96110641 A CN 96110641A CN 1159630 A CN1159630 A CN 1159630A
Authority
CN
China
Prior art keywords
processor
bus
mentioned
circuit
fault
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.)
Granted
Application number
CN96110641A
Other languages
English (en)
Other versions
CN1122217C (zh
Inventor
渡部彻
樱井康智
岸野琢己
广濑佳生
小田原孝一
野野村一泰
竹野巧
加藤慎哉
野田敬人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of CN1159630A publication Critical patent/CN1159630A/zh
Application granted granted Critical
Publication of CN1122217C publication Critical patent/CN1122217C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1679Temporal synchronisation or re-synchronisation of redundant processing components at clock signal level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/182Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits based on mutual exchange of the output between redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2041Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with more than one idle spare processing component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing

Abstract

一种TMR单元由总线连接许多处理器并同时执行相同处理操作。在这些处理器中,有一个为主处理器,其余的为从处理器。仅主处理器形成的信息被输出到总线上。每个处理器有一个多路复用控制电路。该多路复用控制电路将自身形成的输出信息与输出到总线上的总线信息进行比较,由此检测故障并使内部电路执行必要的处理。

Description

信息处理系统
本发明涉及高可靠性的信息处理系统,其中,构成多路复用单元的多个处理器例如三个,由一个总线连接,并同时执行相同处理,借此检测故障和执行必要的处理;特别是涉及,高可靠性信息处理系统,其中在多路复用单元中把处理器之一设置为主处理器,而剩下的处理器设置为从属处理器并检测故障。
近年来,信息处理系统广泛应用于许多领域,在信息处理系统发生故障的情况下,要考虑造成社会和经济影响的可能性。
因此,要求高可靠性信息处理系统尽量无故障产生,即使故障发生也能无疑地被检测到,另外,当保持处理内容一致时,可以继续处理过程,而不需停止处理器操作。
到目前为止,作为高可靠性信息处理系统,它提供具有由三个或更多个处理器组成的多路复用结构的信息处理系统。作为实现这种多路复用处理器的方法,考虑有如下的方法。在一个单元中配有三个或更多处理器和多数决定逻辑电路,多数决定逻辑电路采用一种方法。用这种方法,对由同一时钟同步操作的三个或更多个处理器的输出信号执行基于多数决定逻辑的算法操作,结果被传给如主存储器单元之类的另一个处理器。在多路复用处理器中使用多数决定逻辑,尽管每个处理器执行周期数没有增加可是执行周期数量都增加了对应于多数决定逻辑执行的数目,结果是延迟了处理时间。专用的多数决定逻辑电路本身的硬件量是很大的。在处理器和多数决定逻辑电路之间也需要很多信号线。电路结构变得复杂,而且成本也高。
根据本发明,提供了一种低成本、高可靠性的信息处理系统,它以相对较少的硬件量,充分地实现了高可靠性的功能。
(TMR单元)
本发明的信息处理系统基本上是基于三重处理器,例如,具有三个处理器作为最小的结构。三重处理器具有三个处理器在下文中被称为TMR单元。TMR单元是满足下列条件的设备:
I.由一个总线连接至少三个处理器。
II.三个处理器用相同时钟同步执行相同的处理。
III.处理器中的一个被定为主处理器,剩余的处理器被定为从处理器。
IV.主处理器把产生的信息输出到总线上,并且获取总线上的信息。
V.从处理器不向总线输出产生的信息,仅执行获取在总线上的信息。
根据本发明,相对于这样的TMR单元,为许多处理器中的每一个提供一个多路复用控制电路(TMR控制电路)。TMR控制电路在由处理器形成的输出信息和输出到总线上的总线信息之间比较的基础上检测故障,由此使内部电路执行必要的处理。由处理器形成的并输出到总线的信息表示各种信息,如:数据、地址、总线控制信息等诸如此类的信息。TMR控制电路具有一个总线信息一致判断电路,这个一致判断电路从在总线信息和由每个处理器形成的输出信息之间相异,检测总线信息的故障,并根据每个处理器形成的输出信息的输出定时,由总线信息一致判断电路执行故障检测的判断。TMR控制电路包括:输出定时形成电路,用于当形成的信息输出到总线时,形成指示信息输出定时的定时信号;一个定时信号输出电路,用于在主处理器的配置状态中通过专用信号线把定时信号输出到其他处理器;一个总线信息故障检测电路,用于通过根据从信号线输入的定时信号,或者在主处理器的配置状态中,由处理器自身形成的定时信号,比较总线信息和输出信息来实施故障检测,以及用于依据从信号线输入的主处理器的定时信号或在从处理器配置状态中由处理器自身形成的定时信号,比较总线信息和输出信号,当它们不一致时,借此检测出故障。在多总线结构情况下,每个总线提供了输出定时形成电路、定时信号输出电路和总线信息故障检测电路。当检测到主处理器故障时,配置给主处理器的处理器TMR控制电路由处理器自身从总线断开。配置给从处理器的处理器TMR控制电路在剩余的处理器中确定一个新主处理器,从而重新构成一个弱化了的多路复用单元。TMR控制电路具有主信息寄存器电路,以便设置主处理器。
根据本发明的高可靠性的信息处理器,在将信息包括形成的数据、地址和其他总线控制信息输出到总线情况下,仅有主处理器形成的信息被输出到构成TMR单元的各自处理器。由从处理器形成的信息被抑制,不输出到总线。在这种情况下,构成TMR的每个处理器依照输出处理器形成的信息的定时,获取输出到总线上的信息,并判断处理器形成的输出信息和在总线上信息,依照处理器形成信息的输出定时,是否一致,并当它们不一致时鉴别出在TMR单元中的故障。可以被使用的总线数量可设置为一个或多个总线结构,在多路复用总线结构的情况下,每个总线被执行故障检测。在检测到特定的总线故障情况下,断开这些故障总线,并仅利用剩余正常的总线由弱化了的结构继续进行处理。构成TMR单元的每个处理器暂时地保存从总线接收的总线信息、由处理器形成的输出信息、及进入处理器的信息输出定时,此后并进行故障检测。在这个情况下,虽然总线的访问周期数稍微增加,可是直到检测过程结束为止不需要在总线上维持这个信息,所以总线的周期时间可以被减少(实现了高速化)并可以改善了全部总线性能。在输出信息到总线上的情况下,主处理器同时输出指示信息输出定时的信号。通过构成TMR单元的处理器之间配备的专用信号线,将输出的定时信号输入到构成TMR单元的每个处理器。
构成TMR单元的每个处理器包括主处理器,将主处理器发送的信息输出定时信号与各自处理器形成的类似的信息输出定时信号进行“或”,并用来作为内部一致检测定时信号。在这个一致检测定时信号的基础上,比较总线信息和处理器形成的输出信号来进行关于差异的检测。至于一直输出的总线信息的一致检测,比较在总线上的信息和由每个处理器形成的输出信号就够了,无需利用任何特定的输出定时信号。
在构成TMR单元的每个处理器中,通过检测总线信息的相异而检测到故障的情况下,每个处理器形成了一个故障检测信号并利用在处理器间配备的专用信号线,发送给每个处理器。每个处理器包括主处理器用发送来的故障检测信号判断有故障的产生。当检测到故障时,构成TMR单元的每个处理器根据接收到的故障检测信号的判断图形(pattern),判断故障部分。当这个故障被检测到时,为了防止故障数据造成各种资源中断,对直到故障检测完成为止的一段必要时间保持从总线输入的信息,并利用保持信息控制内部电路。当故障被检测到时,禁止内部电路的各种资源更新。更进一步,根据故障检测从总线断开故障处理器。当从总线断开的处理器判断是主处理器时,从剩余的正常处理器中确定一个新的主处理器。当重新决定了新的主处理器并构成了弱化TMR单元时,这个新主处理器要重新传送因总线产生故障而保持的信息,借此允许执行重做。重传可用处理器中的传送指令执行或也可将专用信号线连接处理器并从并从检测到故障的主处理信号发送一个信号指令重传。在其他处理器被连接到这个相同的总线上的情况下也要重传,重传,不限制在构成TMR单元的处理器。
(现存处理器显示标志)
构成TMR单元处理器的TMR控制电路有一个现存处理器显示标志电路,带有现存处理器显示标志,指示当前哪个处理器是正常运行和哪个处理器由于故障或类似问题,被从多路复用单元断开。这个现存处理器显示标志的标志信号被用作故障判断结构果的屏蔽输出和屏蔽输入。例如,根据现存处理器显示标志的信号,输出屏蔽电路就屏蔽从处理器自身信息的输出,指明这个处理器是在断开状态因为与TMR单元断开连接并产生这个屏蔽输出。因此,防止了从TMR单元断开的处理器把错误的故障检测结果通知给构成TMR单元的其他处理器,而引起这些器错误地操作。由于TMR控制电路有一个总线输出允许标志电路,在总线被设置的输出允许状态下,总线输出允许标志打开,输出屏蔽电路根据总线输出允许标志的信号从屏蔽处理器自身信息的输出,并产生屏蔽输出。因此,再次无疑地防止了从TMR单元被断开的处理器把错误的故障检测结果通知结构成TMR单元的其他处理器而引起这些处理的错误地操作。现存处理器显示标志用于由输入屏蔽电路屏蔽其它处理器的输出信息因而,即使从TMR单元断开的处理器把错误的故障检测结果通知给其他处理器,也可以防止错误的操作。每个处理器的TMR控制电路有一个主信息通知电路,通过专用信号线输入和输出主信息指明每个处理器识别哪个处理器作为主处理器,借此相互地通知这个主信息。TMR控制电路有一个主信息故障判断电路,在处理器自身的主信息和在主信息通知电路中从其他处理器通知的主信息之间的比较结果基础上,形成主故障判断信号指示哪个处理器产生了主信息故障。在鉴别出是主处理器总线信息的故障或主处理器主信息故障情况下,构成TMR单元的每个处理器从剩余的正常处理器内确定一个新的主处理器,并更新主信息的内容。
(总线故障可能性标志)
在构成TMR单元的每个处理器具有这样的结构的情况下,即在TMR控制电路和总线之间进一步提供了收发电路,当总线自身产生故障时,获得的故障检测图形像是主处理器正常,而在所有的从处理器有中总线信息故障。通过多数决定处理判断故障检测图形是主处理器故障。因而,提供有总线故障检测电路,当检测到了总线故障可能性图形时,打开总线故障可能性标志。当检测到总线故障可能性图形(pattern)时,总线故障可能性标志被打开时,主处理器被更新,而老的主处理器不执行从多路复用单元断开连接。在总线故障可能性标志被打开之后,当总线故障可能性图形的故障又一度产生和检测到老主处理器的故障时,判断为老主处理器故障。这个老主处理器从多路复用单元被断开连接。在总线故障可能性标志被打开之后,总线故障可能性图形的故障又一度产生和检测到总线自身的故障时,因为再次检测到了总线故障可能性图形,在这种场合总线自身被断开连接。在总线多路复用结构情况下,每个总线提供了总线故障检测电路。当总线自身的故障被检测到时,故障总线被断开连接,仅使用剩余的正常总线,并由被减少的总线结构继续进行处理。此外,当构成TMR单元的处理器故障时,这个故障处理器由一个的硬件自动地断开连接,从而形成了一个弱化结构并继续进行处理。
(唤醒方式)
例如,在构成TMR单元的许多处理器中一个处理器故障,这个TMR单元被减少到两个处理器且被重构成。也包括由两个处理器构成TMR单元的事例。在这种情况下,必需替换这个故障处理器为一个新的处理器并复位到三重结构。为复位到这个三重结构,在替换处理器的时钟电平同步完成之后,必需把在TMR单元的处理器的存储器中内容拷贝到替换处理器的存储器并使它们一致。然而,在进入这个存储器拷贝操作期间当执行多路复用操作时,在拷贝资源侧的存储器中被拷贝的内容是被重写的,所以存储器内容的一致不能被保证。因此,直到存储器拷贝完成了为止,作为TMR单元的多路复用操作不能不被禁止。在这样时间期间,系统进入停止状态。
根据本发明,所提供的高可靠性信息处理系统,可以使系统停顿时问从故障处理器的替换到多路复用操作起动,减至最小。
根据本发明的高可靠性信息处理系统,由方式设置单元设置一个唤醒方式,例如,一个处理器由于故障从TMR单元被断开连接,被替换成一个新的处理器并与构成TMR单元的处理器执行时钟电平同步。在设置唤醒方式的状态下,主处理器的存储器控制单元允许经过总线执行内部存储器访问,以及替换处理器通过获取在总线上的数据允许执行内部存储器访问。特别说明,在设置唤醒方式状态下,读访问如下。在有自处理器到存储器读访问情况下,主处理器的存储器控制单元传送存储器的读数据到总线,在这同时又从总线获取读数据并传送给这个处理器。在有读访问存储器的情况下,从处理器和替换处理器每个的存储器控制单元获取由主处理器通过总线传送的读数据并传送回给这个处理器。在设置唤醒方式的状态下写访问如下,当有自处理器到存储器的写访问时,主处理器的存储器控制单元传送存储器的写数据到总线,在这同时,从总线获取写数据,传送到存储器并写入存储器内。当有到存储器的写访问时,从处理器和替换处理器每个的存储器控制单元获取由主处理器从总线传送的写数据并写入到存储器。如上所述,在故障处理器被替换之后设置唤醒方式的状态中,由主处理器的存储器访问的所有数据被传送到总线,并被反映进从处理器和替换处理器的各自存储器。因此,即使在并行执行多路复用操作和存储器拷贝使操作时,不会发生由多路复用操作的存储器重写操作使被拷贝的存储器内容不一致的情况。因此,从故障处理器的替换到时钟电平同步的完成,作为TMR单元,系统停顿时间被抑制到最小限度时间。当获得了时钟电平的同步时,即使存储器拷贝没有被完成,作为TMR单元,多路复用操作也可以被重新起动。此外,当完成了存储器拷贝时,由于包括替换处理器的TMR单元的重构,这个系统可以被变换到多路复用操作。
(目录系统)
本发明的TMR单元使用目录系统的存储器系统,以适应存储器容量的增加、处理器数目的增加和公用总线的性能。按照这个目录方法,在一定的块单元基础上划分存储器,指明每个存储器块处于何种状态的信息按对应块地址的入口(地址)保存在目录存储器中,作为主存储器的存储器块状态,有共享态态指明在一个或许多处理器的高速缓冲存储器中,保存着相同数据的状态;有不明确状态,指明在高速缓冲存储器中保存着最新的数据且存储器内容是不同的;有无效状态,在主存储器中数据是最新,而不在所有处理器的高速缓冲存储器中;以及其它类似状态。目录存储器需要的容量值,可使被管理的存储器大小按块尺寸被划分,并有一个相当大的存储器容量。在本发明的高可靠性系统的TMR单元中,当故障处理器被替换成一个新处理器时不用关闭系统电源,作为TMR单元的系统操作被停顿,在故障处理器和替换处理器之间的时钟电平的同步状态和内部状态被设置为相同的状态。其后,系统被激活并把现存处理器的存储器中内容拷贝到替换处理器。此后,TMR单元被重构和作为本来的TMR单元多路复用操作被重新起动。当随着处理器的替换,处理器之间内部状态设置到相同状态时,必需使在目录存储器中的所有内容无效。也就是说,当系统被停顿时,相对于主处理器和从处理器,在目录存储器中所有每个进入不明确状态的块,及在高速缓冲存储器中所有每个存在最新的数据的块,被写回到主存储器并被设置到无效状态。此后,在所有处理器包括替换处理器的目录存储器中的内容被变为无效并被设置为初始状态。在这种情况下,必须在很短时间内结束目录存储器的无效,以高速执行无效处理。即,在无效处理过程中,处理器经目录存储器控制单元把无效指示的每个入口值顺序的写入到目录存储器。因此,在处理器执行所有入口写操作及无效的情况下,在这段无效时间中TMR单元的系统操作被停顿。在本发明的高可靠性信息处理器,即使由于几毫秒那样很短时间的系统停顿也影响操作的执行。
根据本发明,提供的高可靠性信息处理系统可以立即的完成目录存储器的无效。按照构成TMR单元的每个处理器,主存储器以预定的块尺寸划分,目录信息指示在主存储器中每个存储器块的状态,被存储到目录存储器,并在由电源打开使系统的初始化设置时,把一个特定值α写入到目录信息的特定位。配备一个指令寄存器,在指令寄存器中已存储有与目录信息的特定位相同的α值。当读目录存储器时,目录存储器数据控制单元比较特定位的值与指令寄存器的值。当它们一致时,目录信息成为有效。当它们不同时,目录信息被更新到一个表示无效指示值,表明在主存储器中数据是最新,其他部分不存在。因此,在处理器替换时,仅仅通过无效单元把指令寄存器的值改变为另一个值,在目录存储器中所有内容可由数据控制单元立即被无效。也可提供一个控制寄存器,用于即使当指令寄存器的值和目录信息的特定位的值不一致时,禁止由数据控制单元使目录存储器无效,并使目录信息有效。这样结构在操作期间不需要无效情况下可以使用,如故障处理器从TMR单元断开连接,在故障修复之后被使用为处理器而不是TMR单元。在TMR单元中,也存在用户要多次无效的情况。在这种情况下,当一次无效时,目录存储器的特定位的值改变成指令寄存器的改变值。因此,在无效结束时,指令寄存器被复位到最初值,并且指令寄存器的值由下一个无效,再次被改变情况下,目录存储器的特定位已经由以前的无效被改变和指令寄存器的值一致,所以它变成为有效而不能被无效。因而,在完成无效之后,为了目录存储器的特定位的值β复位到最初值α,必须执行一个重新预置。然而,在操作期间这个预置变成为处理器的负荷。因此,在本发明中,目录存储器的控制单元提供了如下预置功能。即,提供了一个预置激活寄存器和一个预置完成显示寄存器,当一个预定值由处理器写入到预置激活寄存器时,预置控制单元使数据控制单元起动目录存储器的初始化操作。
在初始化操作期间,把与指令寄存器中的值相同的值α写入到目录存储器的特定位,并把指示无效状态值的写入到其他位。在目录存储器中所有区域(所有入口)写入完成之后,一个预置完成的指示值被写入到完成显示寄存器。在无效之后执行这样的目录存储器预置,就可进行多次无效。在目录存储器的初始化操作中,当每个入口的处理时间间隔是很短时,来自处理器访问变得繁忙,成为性能恶化的原因。因此,提供了时间间隔指令寄存器,由预置控制单元进行的目录存储器入口单元的初始化操作时间间隔被指定,处理器访问的繁忙被减少,性能恶化被抑制。主存储器在最大安装可能区域内有一个任意的安装状态。由块尺寸划分主存储器的最大安装的最大容量,获得目录存储器入口数量。可是,当在预置处理时,对没安装主存储器入口也被执行了预置时,预置时间比所需要的增加了很多。因此,提供一个预置入口数量寄存器,根据在主存储器中安装数量指示预置入口的数量,在地址比较单元中,当在初始化操作期间预置目标地址被更新到与由预置入口数量寄存器指示的入口数量一致时,指示给预置控制单元初始化操作结束。因而,能仅仅预置对应于在主存储器中安装数量的目录存储器的入口。由于主存储器中安装也有间断执行的情况,所以通过地址加法单元把由预置入口寄存器指示的预置入口数量加到由预置起动地址寄存器指示的起动地址上,借此获得预置目的地址。在地址比较单元中,当在初始化操作期间预置目标地址被更新到与从加法单元的地址一致时,指示了初始化操作结束,借此能对在目录存储器中对应于在主存储器中安装数量的间断安装入口预置。在这种情况下,也可能提供一个目的地址寄存器指示预置目的地址;不使用地址加法单元。
参考附图,从下面详细的叙述,本发明的上述和其他目的、特征和优点将更清楚。
附图的概要说明
图1是本发明的原理解释图;
图2是本发明TMR系统检测故障实施例的方框图;
图3是表示多总线结构的实施例方框图;
图4是以高速执行故障检测实施例的方框图;
图5是为通报故障检测定时的本发明实施例的方框图;
图6A和6B是为相互通报故障检测结果的本发明实施例的框图;
图7A和7B是总线信息故障判障部分的本发明的实施例方框图;
图8是表示在图7A和7B中故障处理器判断电路的实施例方框图;
图9是按照图8实施例存故障部分的判断内容说明图;
图10A和10B是当故障产生时,多种方法取消更新的本发明实施例方框图;
图11表示图10A和10B中执行了更新取消中内部电路的一部分,电路图表示的实施例;
图12A和12B是对从TMR单元断开故障处理器,本发明的实施例方框图;
图13表示图12A和12B中,故障处理器判断电路实施例的电路图;
图14是表示图12A和12B中,总线输出使能形成电路实施例的电路图;
图15是当检测到故障时重新确定主处理器,本发明的实施例的方框图;
图16表示图15A和15B中,主处理器故障判断电路实施例的方框图;
图17表示图15A和15B中,主信息寄存器实施例的电路图;
图18是根据图17主处理器号更新的说明图;
图19A和19B是在故障时刻重传保持信息,本发明的实施例的方框图;
图20表示图19A和19B中,故障处理器判断实施例的电路图;
图21是图19A和19B中,重传控制电路实施例的电路图;
图22A和22B是当故障发生时,指示重传保持信息本发明实施例方框图;
图23表示图22A和22B中,有故障处理器判断电路实施例的电路图;
图24是在22A和22B中,为重传信号,三态电路实施例的电路图;
图25表示图22A和22B中,重传控制电路实施例的电路图;
图26A和26I是表示图25的操作定时图;
图27A和27B是有具存在处理器显示标志电路的实施例方框图;
图28A和28B是根据存在处理器显示标志,路径信息故障检测结果的屏蔽输出的方框图;
图29A和29B是根据路径输出允许标志,路径信息故障检测结果的屏蔽输出方框图;
图30A和30B是根据现存处理器显示标志,路径信息故障检测结果的屏蔽输出方框图;
图31A和31B是具有主信息通知功能的TMR单元的方框图;
图32A和32B是具有主信息的故障检测功能的TMR单元的方框图;
图33A和33B是在主信息产生了故障检测中,有处理器的判断功能的TMR单元的方框图;
图34A和34B是由处理器自身的存在处理器显示标志,屏蔽输出主信息的TMR单元的方框图;
图35A和35N是由总线输出允许标志屏蔽输出主信息的TMR单元的方框图;
图36A和36B是由每个处理器的存在处理器显示标志,屏蔽从别的处理器输入主信息的TMR单元的方框图;
图37A、37B和37C是带有多路传输总线结构,具有通过一个由主信息通知的故障检测判断功能的TMR单元的方框图;
图38A和38B是当检测到故障时,具有关闭存在处理器显示标志功能的TMR单元的方框图;
图39表示图38A和38B中,存在处理器显示标志控制电路的方框图;
图40A和40B是当检测到故障时,具有关闭总线输出允许标志功能的TMR单元的方框图;
图41表示图40A和40B中,总线信息故障判断电路的方框图;
图42是图40A和40B是,主信息故障检测判断电路的方框图;
图43表示图40A和40B中,总线输出使能形成电路的方框图;
图44A和44B是当检测到主处理器的故障时,具有更新主信息功能的TMR单元的方框图;
图45表示图44A和44B中,主信息寄存器电路的方框图;
图46A和46B是当检测到主处理器的故障时,具有不更新主信息功能的TMR单元的方框图;
图47表示图46A和46B中,主信息寄存器电路的方框图;
图48A、48B和48C是当检测到故障时,TMR单元有各种资源更新抑制功能的TMR单元的方框图;
图49是图48A到48C中数据更新抑制电路的方框图;
图50A和50B是当检测到故障时,具有指令重传功能的TMR单元的方框图;
图51表示图50A和50B中,指令重传三态电路的方框图;
图52A、52B和52C是具有总线故障可能性标志的方框图;
图53表示图52A到52C中,总线故障图表的说明图;
图54表示图52A到52C中,总线故障检测电路的方框图;
图55表示图52A到52C中,总线信息检测判断电路的方框图;
图56是图52A到52C中,主信息寄存器电路的方框图;
图57A、57B和57C是具有总线故障检测标志复位功能的TMR单元的方框图;
图58表示图57A到57C中,总线故障检测电路的方框图;
图59A、59B和59C是TMR单元用多路传输总线结构,带有一个总线故障可能性标志的方框图;
图60表示图59A到59C中,多路传输总线故障判断电路的方框图;
图61A,61B和61C是当检测到总线故障时,TMR单元关闭总线输出使能标志并断开故障总线的连接的方框图;
图62表示图61A到61C中,总线故障检测电路的方框图;
图63表示图61A到61C中,主信息寄存器电路的方框图;
图64表示图61A到61C中,总线输出使能电路的方框图;
图65是由软件的指令复位总线故障可能性标志的总线故障检测电路的方框图;
图66表示图65中的由软件复位过程的流程图;
图67是由硬件复位总线故障可能性标志的总线故障检测电路的方框图;
图68A、68B和68C是具有总线故障显示标志的方框图;
图69表示图68A到68C中的故障显示标志电路的方框图;
图70A、70B和70C是具有总线故障产生标志的方框图;
图71是TMR单元由于有一复位两个一处理器故障产生标志寄存器的方框图;
图72A、72B和72C是有具故障产生的软件通知功能的TMR单元的方框图;
图73表示图72A到72C中的软件通知信号形成电路的方框图;
图74是由唤醒方式引导处理器替换的实施例的方框图;
图75A和75B是在唤醒方式中的读取过程说明图;
图76A和76B表示图75A和75B中,电路读取操作说明图;
图77是在唤醒方式中写入过程说明图;
图78A和78B表示图75中的电路写入操作说明图;
图79是由于唤醒方式存在或缺乏的主处理流程图;
图80是由于唤醒方式存在或缺乏用于从属和替换处理器的处理流程图;
图81A和81B是由于唤醒方式存在或缺乏,在处理器替换时间对照一个系统停止的说明图;
图82是有目录存储器的处理器的方框图;
图83是用于执行无效目录存储器控制单元的方框图;
图84是当电源被打开时,目录存储器的初始化过程流程图;
图85是在运行期间目录存储器的通常流程图;
图86是在运行期间目录存储器的无效处理流图;
图87表示图83中,目录存储器控制单元的电路方框图;
图88是可以控制无效处理的抑制的目录存储器控制单元的方框图;
图89表示图88中的目录存储器控制单元的电路方框图;
图90是在运行和初始化处理期间,用于多次无效的一般流程图;
图91是在运行期间用于执行初始化处理的目录存储器控制单元的方框图;
图92表示图91中,目录存储器控制单元的电路方框图;
图93是可以控制入口单元的初始化处理时间间隔的目录存储器控制单元的方框图;
图94表示图93中的时间间隔控制部分的电路方框图;
图95是主存储器的装入状态和目录存储器的使用状态的说明图;
图96是根据主存储器装入对初始化区域的目录存储器控制单元的方框图;
图97表示图96中,一个特定区域的初始化部分的电路方框图;
图98是根据非连续的主存储器安装对初始化区域的目录存储器控制单元的方框图;
图99表示图98中一个特定区域的初始化部分的电路方框图;
图100是简化了图98中的初始化最终地址的设置,目录存储器控制单元的方框图;
图101表示图100中,一个特定区域的初始化部分的电路方框图。
最佳实施例的细节说明
〔TMR结构〕
图1是根据本发明表示在高可靠性的信息处理系统中TMR结构图。TMR单元10至少包括三个处理器:10-1、10-2、10-3。构成TMR单元10的三个处理器10-1、10-2、10-3与总线12相连以便发送和接收信息。除TMR单元10之外的处理器10-n也与总线12相连。在以下说明中,除特别声明,处理器指构成TMR单元10的10-1到10-3的三个处理器。
构成TMR结构的10-1到10-3的处理器,在TMR结构的运行过程中,处理器10-1到10-3之中的一个作为主处理器,其余两个作为从处理器。通常情况,主处理器输出必要的信息到总线12,所有的处理器(一个主处理器和两个从处理器)检验总线12上的信息,借此检测故障。
图2表示在图1中的TMR单元10的有关细节。现将以提供给处理器10-1的TMR控制电路48为例来描述一个结构及其运行。为了避免在构成TMR单元10的处理器中形成重叠,处理器号#1~#3从外部输入到处理器10-1到10-3。处理器号#1到#3也可以不从外部输入而在处理器内部形成。不过当一个处理器插入例如背板等的时候,而不是在设备中进行任何专门的设置,使用自动输入固定的号码,这种方法可以减少错误设置的可能性。因此对于一个高可靠性的处理器来说从外部设置处理器号是有利的。以处理器10-1为例,在处理器中配置有主信息寄存器14和当前主处理器号,例如设置为#1。主处理器号#1也类似地被设置到10-2和10-3的处理器的主信息寄存器14中的自身处理器的处理器号#1从外部输入,通过输入终端18-1和驱动器20与在主信息寄存器14中保持主处理器号#1共同被输入到主信息一致判断电路16。主信息一致判断电路16在两个输入处理器号之间检测是否符合。当处理器号符合时,自身的处理器被断定为主处理器。打开自身的主信号E1。打开信号指处于逻辑高电平。所以关闭信号指处于逻辑低电平。在处理器10-1中,主信息一致判断电路16输入的两个信号都是#1,因此自身的主信号E打开。另外,对处理器10-2和10-3来说处理器号并不符合,因此它们被断定为从处理器,自身的主信号E1关闭。
提供给处理器10-1的输出信号形成电路22是根据内部电路的各种指令(未表示)形成必要的输出信号D1。数据,地址以及各种总线控制信号都包含在输出信息D1中。由输出信息形成电路22形成的输出信息D1被输入到总线的三态电路24。总线的三态电路24还备有输出驱动器26。输出驱动器26把输出信息形成电路22形成的输出信号D1通过输入/输出终端30输出到总线12。由输出信息形成电路22形成输出信息的同时,输出定时形成电路32生成总线输出信号E2作为输出定时信号。总线输出信号E2输入到总线输出使能形成电路34。在本实施例中,总线输出使能电路34是通过“与”门36实现的。由主信息符合电路16形成的自身主信号E1也被输入到总线输出使能电路34。因此,只有当总线输出信号E2和自身的主信息E1都为“开”时,即只有当处理器10-1是主处理器时,总线输出使能形成电路才打开总线三态电路24的驱动器26的使能信号。总线三态电路24的驱动器26通过使能终端接收来自总线输出使能形成电路34的总线使能信号E2。只有当总线使能信号E3处于“开”状态,驱动器26才把输出信息D1从输出信息形成电路22输出到总线12上。总线三态电路24的I/O终端30连接到外部总线12上,并与构成TMR单元10的其他从处理器10-2、10-3以及除TMR单元10之外其他处理器10-n相连。
在总线12上的信息被输入到处理器10-1中,也作为总线信息D2通过总线三态电路24的输入驱动器28输入到总线信息一致判断电路38中,内部输出信息形成电路22形成的信息D1也被输入到总线信息一致判断电路38中。总线信息一致判断电路38检测这两个输入信息是否符合。如果D1和D2两个信息一致,总线信息一致判断电路38打开总线正常信号E4。当D1与D2两个输入信息不一致,总线正常信号E4被关闭。总线信息故障检测电路40由反相器42和“与”门44构成。从总线信息一致判断电路38形成的总线正常信号E4以及由输出定时形成电路32形成的总线输出信号E2被输入到总线信息故障检测电路40中。只有当总线输出信号E2处于打开状态并且总线正常信号E4处于关闭状态,总线信息故障检测电路40才打开互异生成信号E5,这就意味着检测到了总线信息故障。互异生成信号E5提供给处理器中的每一个电路,有关情况将在稍后加以清晰的说明。当互异生成信号E5的为“开”态时,收到该信号每一个内部电路都断定在构成TMR单元10的处理器10-1到10-3(也包括总线12自身)的某个出现了故障,因此执行一个相应的必要的故障处理过程。
在上述的图2的TMR构造中,除构成TMR单元10的处理器10-1到处理器10-3,对处理器10-1到10-3形成的总线信息没有必要再用其他装置进行多数决定等。基于TMR构造的高可靠功能可以经济地由三个相同处理器10-1到10-3来实现。
〔多总线结构〕
图3表示了一个带有多总线结构的本发明的高可靠信息处理器的实施例。首先,构成TMR单元10的处理器10-1到10-3由多总线相联。例如,在实施例中,它们由总线12-1和12-2相连并执行数据的接收和发送。除TMR单元10之外的处理器10-n也连到总线12-1和12-2上。对于处理器10-1到10-3,在由TMR结构的运行过程中,处理器10-1到10-3之中的一个作为主处理器运行,其余两个作为从处理器运行。通常情况下,主处理器生成对总线12-1或12-2的必要信息,而所有的处理器(一个主处理器两个从处理器)检测总线12-1或12-2形成的输出信息,以便检测故障。基于双总线12-1和12-2的多总线结构中,处理器10-1到10-3之中的每一个都有对总线12-1和12-2的故障检测功能,如图2中的实施例所述。在多总线结构中构成TMR单元10的处理器10-1到10-3的每一个的内部构成将以处理器10-1例如加以说明。
构成TMR总元10的处理器10-1到10-3的每一个的内部电路都由三个主要电路构成,将以处理器10-1为代表说明。其中一个电路是多样处理电路46,实现非TMR处理功能的处理器固有的功能。其余两个电路是TMR控制电路48-1和48-2实现TMR处理功能。基本上提供与外部总线12-1和12-2相对应的具有相同功能的电路。即TMR控制电路48-1与外部总线12-1相对应,TMR控制电路48-2与外部总线12-2相对应。作为数据/控制的信号线50把多样处理电路46和TMR控制电路48-1以及48-2连接起来。在实施例中,虽然作为数据/控制的信号线50一般用于两个TMR控制电路48-1和48-2,信号线50也可以独立地提供给TMR控制电路48-1和48-2之中的每一个。断开通知信号线E6和E7由TMR控制电路48-1和48-2连到多样处理电路46上。在实施例中以输出总线故障的断开通知信号E6和E7为例。然而,也可以设计成TMR控制电路48-1和48-2保持断开信息,多样处理电路46可以在必要时获得。总线断开信息也可以在多样处理电路46中,代替TMR控制电路48-1和48-2中保持必要的一段时间。在多样处理电路46正常运行状态从外部总线12-1和12-2中收发信息的情况下,对应于使用着的总线12-1或12-2的TMR控制电路48-1或48-2发送和接收必要信息。相应的TMR控制电路往外部总线12-1和12-2发送和接收有关多样处理电路46要求的处理的信息。例如,当总线12-1产生故障并且该故障被TMR控制电路48-1中的总线断开检测电路52-1检测到时,触发电路54-1保持检测结果并处于打开状态。触发电路(FF)54-1一直保持到检测故障结果的打开状态直到接收复位指令。当触发器54-1处于打开状态,相应的总线断开通知信号E6也处于打开状态,在总线12-1上检测到的故障被通知给多样处理电路46。由于断开通知信号E6打开,多样处理电路46识别到相应的总线12-1发生故障。即执行有关总线12-1发生故障的处理过程。此后,在利用外部总线时,只有剩下的正常的总线12-2才是可用的,在总线12-1断开情况,在缩减状态中继续进行处理。总线12-2故障的处理情况类似。当TMR控制电路48-2中的总线断开检测电路52-2检测到总线12-2故障时,保持检测结果的触发器54-2打开。总线断开通知信号E7将故障通知给多样处理电路46。执行对应于总线12-2发生故障的处理和断开故障总线12-2简化处理。
〔高速故障检测的实现〕
图4表示了一种TMR单元10由3个处理器10-1到10-3组成的结构,由单外部部线12连接,信息可以发送和接收,并把不在TMR结构中的处理器10-n也被连接起来。构成TMR单元10的处理器10-1到10-3的内部结构以处理器10-1作为代表。处理器10-1的内部结构大体上与图2中的示例相同。然而,为了加快故障检测速度,就增加了保持输出到总线12的信息D1的触发器(FF)56,保持输出到总线12的信息D2的触发器58,以及保持输出定时形成电路32重的总线输出信号E2的触发器60,通过提供触发器56、58和60。内部电路对总线12的处理可以不必等待后续电路单元的判断过程即可完成。而有关总线12的高速故障检测即可实现。特别说来,当由输出信息形成电路22形成的输出信息D1并通过总线三态电路24输出到总线12上时,输出信息D1也被保存于触发器56中。虽然总线输出信号E2也是与输出信息D1形成的同时由输出定时形成电路32产生的,它也被保存于触发器60。更进一步地,总线12上的信息也通过总线三态电路24被输入到触发器58中作为总线信息D2被保存起来。触发器56和58中的总线信息D1和D2被总线信息一致判断电路38所比较和判断。基于判断的结果,由总线信息故障检测电路40利用在触发器60中的总线输出信号E8,即可检测总线信息故障。在如图2的情况下,触发器一直等到总线信息一致判定电路38判定结果以及总线信息故障检测电路40的检测结果得到以后才作保持操作,由外部总线12的输出信息D1的状态和由内部的输出定时形成电路32产生的输出信号E2的输出状态必须被保持,因此,故障检测需稍长的一点时间作为总线周期。另一方面,由于提供了触发器56、58和60,输出信息D1、总线信息D2、总线输出信号E2可以缩短到一个短时间直到触发器的定时保持。高速故障检测可以借此实现。在这种情况下,虽然总线周期数增多了,可周期时间有更大的削减。
在图4中,通过提供触发器以实现高速故障检测的操作即将被描述。由输出信息形成电路22生成的输出信息D1被提供到总线三态电路24。由于处理器10-1是主处理器,总线输出使能生成电路34形成的总线使能信号E3打开,因而使能驱动器26进入使能状态。输出信息D1通过输出驱动器26和I/O终端30输入到总线12。在这种情况下,从输出定时形成电路32产生的总线输出信号E2被保存于触发器60中,并被作为总线输出信号E88送到总线信息故障检测电路40中。输出到总线12的信息被输入到处理器10-1,并通过总线三态电路24保存于触发器58中。在此情况下,由内部输出信息形成电路22形成输出信息D1已经被保存在另一个触发器56中。保存在触发器56和触发器58中的输出信息D1和总线信息D2被输入到总线信息一致判断电路38中。总线信息一致判断电路38判断两个输入信息D1和D2是否一致。若它们一致,总线正常信号E4被打开。若它们不相同,总线正常信号E4被关闭。总线信息故障检测电路40接收从总线信息一致判断电路38输出的总线正常信号E4和保存在触发器60中的总线输出信号E8,在总线输出信号E8处于打开和总线正常信号E4处于关闭状态时,打开差异产生信号E5,指明总线信息故障检测。从总线故障检测电路40输入互异生成信号E5到处理器10-1的内部电路(未示)。由此可判断除总线12自身故障外,构成TMR单元10的处理器10-1到10-3的某个发生了故障。执行必要的故障处理。上述构成TMR单元10的处理器10-1到10-3,输出到总线12的输出信息。由自身形成的输出信息和由自身形成的输出定时,每个总线都被保持。通过利用在装置中的这些保持信息,可以检测总线信息的故障。因此,虽然总线12的访问周期数稍有增加,可以提高总线12自身的周期速度,在整体上能够改善总线性能。
〔故障检测定时指示〕
图5为图4的实施例提供了更进一步的检测输出到总线12上的输出定时错误的功能,在图5的实施例中,以TMR单元10中的从10-1到10-3的3个处理器中的一个处理器10-1为代表,除了在图4的实施例中所提供的电路以外,还提供了输出定时三态电路62,触发器70,以及总线信息检测定时形成电路72。即:由输出定时形成电路32形成总线输出信号E2被输入到输出定时三态电路62的输出驱动器64。由主信息一致判断电路16输出自身的主信号E1被输入到输出驱动器64的一个使能终端上。由于处理器10-1是一个主处理器,自身的主信号E1打开,输出驱动器64处于使能态,总线输出信号E2就从输出驱动器64输出到输入/输出终端68-1上。与I/O终端68-1相对应,也提供给处理器10-2和10-3的I/O终端68-2和68-3。由专用信号线75连接I/O终端68-1到68-3。因此,处理器10-1的总线输出信号E2就由输出定时三态电路62的驱动器64经信号线75提供给了处理器10-2和10-3的I/O终端68-2和68-3。另一方面,对用于输出定时的三态电路62提供了一个输入驱动器66,输入驱动器66接收由I/O终端68-1经信号线75输入的总线输出信号,借此获得输出定时信号E9。由处理器10-1自身为输出定时三态电路62形成的总线输出信号E2保存在触发器60中。由输出定时三态电路62的输入驱动器66形成的输出定时信号E9保存在触发器70中。触发器60和70的输出被输入到有或门74的总线信息检测定时形成电路72。由触发器60保存的从处理器10-1自身形成的总线输出信号E2以及触发器70保存的由信号线75输入的输出定时信号的“或”输出,作为总线信息检测定时形成电路72通过或门74输出的总线检测信号E10。总线检测信号E10同由总线信息一致判断电路38产生的总线正常信号E4一起输入到总线信息故障控制电路40。在正常工作状态下,由触发器60保持的内部总线输出信号E2和触发器70保持的由信号线75得到的输出定时信号是同时获得的。在另一方面,当执行同一操作的处理器10-1到10-3之中某个输出定时的偏差时,在从处理器10-2和10-3中,触发器60和70的保持输出中的一个首先获得。例如,现在假定从主处理器10-1输出定时信号先由触发器70打开,并且从总线信息检测定时形成电路72输出总线检测信号E10也打开。在这种情况下,在处理器10-2或10-3中,由于来自输出定时形成电路32的总线输出信号E2不处于打开状态,并且来自输出信息形成电路22的输出信息D1没有被发送,来自总线信息一致判断电路38的总线正常信号E4关闭。因为只有总线检测信号E10处于打开状态,这个互异生成信号E5处于打开状态。因此可以识别在处理器10-1到10-3之中出现了信息输出定时错误。
现在说明图5的实施例中处理器10-1的运行情况。处理器10-1的主信息一致判断电路16比较主信息寄存器14中的处理器号和从外面输入的自身处理器号,由于它们符合,自身主信号E1打开,因而对输出定时三态电路62的输出缓冲器64设置为使能状态。输出信息形成电路22根据内部电路的各种指令形成必要的输出信息D1。形成的信息D1供给总线三态电路24的输出驱动器26。与此同时,由输出定时形成电路32形成总线输出信号E2并置为打开状态。来自总线输出使能形成电路34的使能信号E3被打开。输出驱动器26被置为使能态。因而,从输出信息形成电路22输出信息D1由输出驱动器26输出到总线12上。输出定时形成电路32形成的总线输出信号E2输入到输出定时三态电路62的输出驱动器64。此时,由于来自主信息符合制断电路16的自身主信号E1打开,输出驱动器64处于使能态,并把输入的总线输出信号E2经I/O终端68输出到信号线75。与此同时来自输出定时形成电路32的总线输出信号E2被保存在触发器60中。在此情况下,输出定时三态电路62的输入驱动器66接收来自输出驱动器64的总线输出信号E2,把它作为输出定时信号E9并让触发器70保存它。通过对触发器60和70的输出求或,总线信息检测定时形成电路72打开总线检测信号E10。总线信息一致判断电路38判断在触发器56中的输出信息D1和同时保存在触发器58中的总线信息D2是否相同。当信息D1与D2符合时,总线正常信号E4打开。若两者不同时,总线正常信号E4关闭。总线正常信号E4与总线检测信号E10一起输入到总线信息故障检测电路40。只有当来自总线信息符合检测电路的总线正常信号E4是关闭,当总线检测信号E10打开时,总线信息线信息故障检测电路40打开互异生成信号E5,以指示在定时中发现总线信息错误。总线信息故障检测电路40产生的互异生成信号E5提供给每个内部电路(未表示)。由此判断在构成TMR单元10的处理器10-1到10-3之中的某个,包括总线12自身,出现了故障。执行必要的故障处理。
〔故障检测结果通知〕
当总线信息不一致被检测到之后,在图6A和6B中,构成TMR单元10的处理器10-1到10-3输出总线信息故障检测信号以通知检测到了不一致。处理器10-1到10-3接收由其他处理器经专用信号线86-1、86-2、86-3发送的总线信息故障检测信号,借此判断发生的故障。因而,在构成TMR单元的处理器10-1到10-3之中的一个发生故障可以被其他处理器检测到。如在图6A和6B中所表示的是以处理器10-1为代表,为了通知故障检测结果,除图5的结构之外,又新增添了符合检验三态电路76,设备号译码电路82,触发器88,90,92,以及一个总线信息故障通知信号形成电路94。对应于处理器10-1到10-3的三个三态电路被提供给符合检验三态电路26。即带有使能端的输出驱动器78-1和输入驱动器80-1提供给处理器10-1。带有使能端的输出驱动器78-2和输入驱动器80-2提供给处理器10-2。带有使能端的输出驱动器78-3和输入驱动器80-3提供给处理器10-3。设备号译码电路82把从外部输入的处理器号,译码,并打开译码信号E11-1、E11-2及E11-3之,它用任何一个。译码处理器号#1则打开译码信号E11-1。对处理器号#2译码则打开译码信号E11-2。对处理器号#3译码则打开译码信号E11-3。由设备号译码电路82供给的译码信息E11-1到E11-3提供给符合检测三态电路76的输出驱动器78-1到78-3的使能端。所以,对于从外部设置的处理器号#1而言,由于设备号译码电路82只打开译码信号E11-1,只有驱动器78-1的输出才被设为使能状态。由总线信息故障检测电路40产生的通知总线信息不一致的总线信息故障检测信号E5被并行地输入到输出驱动器78-1到78-3。输出驱动器78-1到78-3的输出被分别连到输入/输出终端84-11,84-12,84-13上,也通过专用信号线86-1,86-2,86-3连到处理器10-2和10-3上。同处理器10-1类似,处理器10-2和10-3也有相应的I/O终端84-21到84-23和84-31和84-33,分别连到专用信号线86-1到86-3上。提供给符合检测三态电路76的输入驱动器80-1到80-3的输出也分别连接到触发器88,90和92上。提供触发器88,90,92是考虑到总线信息故障检测信号的延迟。当延迟不带来任何问题时,没有必要提供触发器88,90,92。保存在触发器88,90,92中的总线信息故障检测信号被作为保持信号E13,E14,E15输入到总线信息故障通知信号形成电路94,它用或门96。总线信息故障通知信号形成电路94通过对上处理器10-1、10-2,10-3相对应的总线信息故障检测信号E13,E14,E15求“或”,输出总线信息故障判断成信号E21,以便指示在处理器10-1到10-3的某个内部电路中检测到故障。
下面根据故障检测结果的外部输出以及在处理器内的故障检测,分别对图6A和6B中处理器10-1的操作进行描述。正如图5中的实施例所描述的,当处理器10-1形成的输出信息与总线12上的总线信息不符合时,由总线信息故障检测电路40生成的总线信息故障检测信号E5被打开并输入给符合检测三态电路76中去。由外部输入的处理器号#1由设备号解码电路82解码后只有对应于处理器号#1的解码信号E11-1被打开。因而,只有与处理器10-1对应的符合检测三态电路76的输出驱动器78-1被设置为使能态。总线信息故障检测信号E5被输出到信号线86-1,并被发送到处理器10-2和10-3以及在触发器88之中保存。另一方面,在处理器10-2和10-3中,当总线信息故障检测信号被类似地输出到信号线86-2和86-3时,由符合检测三态电路76的输入驱动器80-2和80-3得到总线信息故障检测信号并被保存于触发器90和92之中。因而,由处理器10-1检测到的总线信息故障检测信号E5被保存在触发器88中。由处理器10-2经信号线86-2发送的总线信息故障检测信号被保存在触发器90中。此外,由处理器10-3经信号线86-3发送的总线信息故障检测信号被保存在触发器92中。作为保持信号E13、E14、和E15的这些信号被输入到总线信息故障通知信号形成电路94。总线信息故障通知信号形成电路94对表示处理器10-1到10-3的总线信息故障检测状况的信号E13,E14,E15求“或”,形成总线信息故障判断信号E16,表明处理器10-1到10-3之中的某个产生故障或者输出内部电路发生故障,因而执行必要的故障处理。
〔故障部位的判断〕
图7A和7B表示的是一个实施例,在构成TMR单元10的处理器10-1到10-3之中检测到了处理器故障,也包括总线12故障,并且判断出产生故障的部位。为实现故障部位的判断,以处理器10-1为代表,在图6A和6B之中提供总线信息故障通知信号形成电路94,由提供判断故障处理器的总线信息故障(处理器)判断电路98取代。在触发器88、90、92中,保存处理器10-1到10-3每个总线信息故障检测信号E13、E14和E15被输入到总线信息故障判定电路98。更进一步的,保存现行主处理器号的主寄存器14的寄存器信号E0被输入到总线信息故障判定电路98。现在假定处理器10-1到10-3的寄存器号被设定为#1,#2,#3,寄存器信号E0以一个2位信号表示。在把处理器10-1定为主处理器的情况下,对应于主处理器号#1产生输出“01”。若把处理器10-2设定为主处理器,对应于主处理器号#2产生2位输出“10”。进一步,若把处理器10-3设定为主处理器,产生指示主处理器号#3的2位输出“11”。每个2位数据作为寄存器信号E0输入。总线故障判定电路98根据来自处理器10-1到10-3的总线信息故障检测信号E13和E15和来自主信息寄存器14的寄存器信号E0来打开判断信号E18、E19、E20、E21,中的一个来指示故障部位。
图8表示图7A和7B中的总线信息故障判断电路98的电路方框图。在图8中,根据确定主处理器的主处理器号#1、#2,#3,总线信息故障判定电路98分别有判定电路100、102、104对应于号码#1、#2和#3。即:当处理器10-1被设置为主处理器时,对应于号码#1的故障判定电路100的输出信号被用于判断。若处理器10-2被设置为主处理器,对应于号码#2的故障判定电路102的输出信号被用于判断。另外,若处理器10-3被设置为主处理器,对应于号码#3的故障判定电路104的输出信号被用于判断。对应号码#1的故障判定电路100由“与”门106,108,112,114,116,和一个或门110构成。对应于号码#2的故障判定电路102和对应于号码#3的故障判定电路104具有与故障判定电路100相同的门电路结构,它们之中的不同只是输入信号E13,E14和E15的输入位置不同。输入信号E13是处理器10-1的总线故障检测信号。输入信号E14是处理器10-2的总线故障检测信号。输入信号E15是处理器10-3的总线故障检测信号。信号按照E13、E14、E15的顺序依序输入到故障检测电路100。信号按照E14,E15,E13的顺序依序输入到故障检测电路102。信号按E15E13E14的顺序依序输入到故障检测电路104。在故障检测电路100,102,和104之后,还提供了选择电路118、120、和122。选择电路118含有与#1号故障检测电路110的4个输出信号相对应的“与”门126,128,130,132。“与”门124接收2位寄存器信号E16和E17作为从主寄存器14来的寄存器信号E0,选择“与”门126,128,130,132。
主信息寄存器信号E16和E17是设置在处理器10-1为主处理器的情况下,被设定为“01”来代表处理器号码#1。因而,由反相的寄存器信号E17作为高位并输入这个反相信号,由输入寄存器信号“01”时输出为1,借此把“与”门126、128,130和132设定为允许状态。每个选择电路120和122有与选择电路118相类似的结构,除了二位信号E16和E17输入到“与”门134和144形成允许的状态不同。也就是说,在处理器10-2被设定为主处理器时,选择电路120中,寄存器信号E16被反相以便当输入工位信号为“10”代表处理器号码#2时得到的输出为1。当处理器10-3被设定为主处理器时,选择电路122直接把输入的寄存器信号E16和E17输入到“与”门144以实现当代表处理器号#3的二位输入信号为“11”时输出信号为1。
在最后级  还提供了对选择电路118、120、122的输出求“或”的4个或门154、156、158、160。或门154,156,158,和160的输出信号E18、E19、E20和E21就是故障部位的判断信号。当判定信号E18打开时,表明处理器10-1故障。当判定信号E19打开时,表明处理器10-2故障。当判定信号E20打开时,表明处理器10-3故障。并且,当判定信号E21′打开;表明总线12故障。
图9表示了在图8的实施例中,当主处理器设置为处理器号#1的处理器10-1时,故障判断内容。在图9中,符号0代表处理器10-1到10-3正常,并且总线信息故障检测信号E13、E14和E15都关闭,没有检测到故障。符号X表示处理器10-1到10-3的总线信息故障检测信号E13、E14和E15处于打开状态,并检测到了故障。首先在方式1中,处理器10-1到10-3之中没有故障,因而故障判断结果是所有处理器都正常。在方式2中,表明处理器10-3作为从处理器出现故障。在方式3表明处理器10-2作为从处理器出现故障。在方式4表明处理器10-1作为主处理正常而处理器10-2和10-3作为从处理器都出现故障。在这种情况下判断两个处理器10-2与10-3作为从处理器无故障而处理器10-1作为主处理器故障。在方式5关系到处理器10-1故障。在方式6关系到作为主处理器10-1出现故障并且在两个从处理器中处理器10-3检测出有故障的情况。这种情况判断有双重故障。在方式7关系到在作为主处理器的处理器10-1检测到故障并且在两个从处理器中的处理器10-2检测到故障情况,这种情形下也被判断为双重故障。在方式8关系到所有处理器10-1到10-3都出现了故障。在此情况下判断为处理器10-1到10-3都出现了故障。在此情况下判断为处理器10-1到10-3无故障而总线12出现了故障。
在图8中,对应于号码#1的故障判定电路100对于图9中的方式4、5、3、2和8分别对每个故障部位执行判断。首先,三个总线信息故障检测信号E13、E14、E15输入到“与”门106。其中指示处理器10-1的故障检测情况的信号E13被反相输入。因此,在“E13、E14、E15”=“01”的方式4中,“与”门106的输出打开。“与”门108接收处理器10-1的故障检测信号E13。处理器10-2的故障检测信号E14被反相输入“与”门108中。因而,  当“E13、E14”=“01”时,“与”门108的输出打开。在这种情况下,在图9中的方式5中的处理器10-1和10-2判断为故障检测状态。此时忽略了处理器10-3的故障检测状态借此简化电路结构。因为在图9的方式4和5中处理器10-1都出现故障,或门110对它们求或,通过选择电路118和或门154打开判断信号E18,表明处理器10-1故障。“与”门112接收处理器10-1的故障检测信号E14。处理器10-3的故障检测信号E15被反相并输入到“与”门112。因而,当“E14、E15”=“10”时,“与”门112的输出打开。这时应于在图9中的方式3中处理器10-2出现故障。因而,通过选择电路118和或门154打开判定信号E19,表明方式3的故障检测结果,即故障部位是处理器10-2故障。处理器10-2的故障检测信号E14被反相并输入到“与”门114。处理器10-3的故障检测信号E15输入到“与”门114。因此,当“E14、E15”=“ 01”时,“与”门114的输出打开。这表明在图9中方式2中的处理器10-3故障。经选择电路118和或门158打开判断信号E20表明方式2中处理器10-3是故障部位。因而,“与”门116把3个故障检测信号E 13、E14和E15相与。这对应于在图9中方式8中处理器10-1到10-3全部故障。通过选择电路118和或门160打开判断信号E21,指明总线12故障。当处理器10-2被设定为主处理器而处理器10-1和10-3被设定为从处理器时,在图8中对应号码#2的故障判定电路102有效。此时,把图9中的主处理器定为10-2,把第一个从处理器设定为10-3,第二个从处理器设定为10-1,就满足了设置判断条件3。类似地,当处理器10-3被设定为主处理器时,故障判定电路104有效。此时,把图9中的主处理器设定为处理器10-3,第一个从处理器设定为处理器10-1,第二个从处理器设定为10-2,就满足了设置判断条件3。
〔故障发生后抑制对各种资源的更新〕
图10A和10B是一个实施例,在这里,当构成TMR单元10的处理器10-1到10-3之中每个被测到有故障时,要在相应的故障发生的信息周期中,抑制对处理器的各种资源的更新。除了在图6A和6B中以处理器10-1为代表表示的故障检测实施例之外,这个实施例重新表示了以更新抑制为对象内部电路部分162,内部控制电路164和保存来自总线12数据的触发器166。虽然图10A和10B的实施例按照图6A和6B的实施例相关的故障检测为例,它也可以类似地被应用到图2、4、5的故障检测之中。此时,需要改变保存总线信息的触发器的层次级号码。
正如实施例6A和6B所描述的,当处理器10-1检测到总线信息故障之后,总线信息故障通知信号形成电路94产生总线信息故障指示信号E21。另一方面,由总线12输入的信息提供在两个周期内由两个触发器58相继保存,随御经总线三态电路24和触发器166到达下一个内部电路162部分。提供了触发器166是为了在总线信息故障通知信号形成电路94中形成总线信息故障指示信号E21,并与来自总线12的5信息定时相匹配。现在假定保存在触发器58中的总线信息为D2,保存在触发器166中的总线信息为D2-1,触发器166中的总线信息D2-1被送入内部电路的162部分。
以内部电路的一个寄存器为例说明故障发生时对更新的抑制,为达到抑制更新的目的,这个寄存器由来自非TMR单元10中其他处理器的数据更新。图11表示了图10A和10B中内部电路的162部分例子。这个内部电路的一部分含有一个用触发器构成的寄存器176。在寄存器176的输入端有一个多路传输电路,由“与”门168,170,172和或门174构成。寄存器176有一个使能端180,把图10A和10B中的总线信息故障通知信号E21经反相器178输出。在为了更新寄存器176的数据从非TMR单元中的处理器读取数据时,在两个周期后,来自总线12的数据被作为总线数据D2-1输入到寄存器176的多路传输电路的“与”门168。在图10A和10B中。来自内部电路164的总线选择信号E22被输入到“与”门168中,总线选择信号E22与来自总线12的输入数据D2-1同时打开。在此情况下,提供给其他“与”门170,172的选择信号关闭。通过打开总线选择信号E22使数据D2-1由输入多路电路的“与”门168输出并通过或门174输入到寄存器176。在通常情况下,总线信息故障通知信号E21关闭,并且寄存器176处于使能态,因而在二个周期后总线12上的信息被置入寄存器176。然而,当检测到总线信息故障时,在两个周期后,总线信息故障通知信号E21打开。因而,在两个周期后接受由反相器178的反相信号使能端180被关闭,借此抑制把信息D2-1写入寄存器176。因而,在发生总线信息故障时就避免了对寄存器176的破坏,上述的抑制更新资源是以一个寄存器为例描述的。然而,在故障发生时,其他内部电路也可采用类似的控制以避免对资源的破坏。对图11中的内部电路而言,虽然故障发生时的抑制周期为一个周期,必要时也可以使之成为连续若干周期。
〔继续发生故障的处理器〕
图12A和12B表示了一个实施例把有故障部位从TMR单元10中断开的结构,以便在故障发生时,故障部位不会对其它处理器产生不良影响。虽然在故障检测方面,以处理器10-1为代表的构成TMR单元10的处理器与图7A和7B所示的实施例大体相同,但却以总线信息故障判断电路182代替了图7A和7B中的总线信息故障判断电路98,以总线输出使能形成电路184代替了图7A和7B中的总线输出使能形成电路34。与图7A和7B中的实施例类似,保存于触发器88、90、92中的处理器10-1到10-3的总线信息故障检测信号E13、E14、E15被输入。由设备号译码电路82外部设置的处理器号#1译码生成的译码信号E11-1、E11-2、E11-3已被输入。在处理器10-1中,由于从外部输入处理器号#1,由译码电路82产生的三个译码信号中只有E11-1打开。并且,主信息寄存器14中的代表处理器号#1的主处理器号的信号E0也输入到总线信息故障判定电路182。主处理器号的信号E0包含:位信息E16和E17。在处理器号为#1时,“E17、E16”=“01”。总线信息故障判定电路182根据输入的总线信息故障检测信号E13、E14、E15和译码信号E11-1、E11-2、E11-3,以及主处理器号信号E0(两位信号E16和E17)来判断是否自身处理器产生了故障。若确定故障处理器是自身处理器时,故障处理器判断信号E14打开。总线输出使能形成电路184的总线输出允许标志在正常状态下打开。在总线输出允许标志打开,并且来自主信息一致判断电路16的自主信息E1打开,当由输出定时形成电路32形成的总线输出信号E2的打开与输出信息形成电路22形成的输出信息D1同步发生时,总线三态电路24的输出驱动器26的使能信号E3打开。
图13表示的是图12A和12B中总线信息故障判断电路182的实施例。总线信息故障判定电路182包括:当处理器10-1被设定为主处理器时,为检测故障部位的对应于#1的故障判断电路186;当处理器10-2被设定为主处理器时,为检测故障部位的对应于号码#2的故障判断电路188;当处理器10-3被设定为主处理器时,为检测故障部位的对应于号码#3的故障判断电路190;对应于号码#1、#2,#3的故障判断电路186,188,190有相同的电路结构,以对应号码#1的故障判断电路186为代表。亦即,故障判断电路有4个“与”门106,108,112,114和一个或门110。在说明图7A和7B中的总线信息故障判断电路98的图8的实施例中,把对应于#1的故障判断电路110中的“与”门116除去即得到此电路。继续对号码#1,#2,#3的故障判断电路186,188,190,还提供了选择电路192,194,196。选择电路192,194,196也同样是把在图8中的选择电路118,120,122中的“与”门132,142,152除去而得到的,相应地,提供了或门154,156,158,它们是把图8中最后部分的或门160去掉所得的电路相同。更进一步地,提供了“与”门198,200,202和或门204构成的输出电路单元。根据图9的表,在图13中对应号码#1的故障判断电路186输入处理器10-1、10-2,10-3的故障检测信号E13、E14、E15,并且,逻辑上执行故障处理器判断。即,在图9方式4中作为主理器的处理器10-1正常,两个从处理器10-2和10-3之中发现故障的情况下,“与”门106打开输出,指明主处理器10-1故障。在图9方式5中作为主处理器的处理器10-1故障而2个从处理器10-2和10-3正常的情况下,“与”门108打开输出,指明处理器10-1发生故障,甚至在“与”门106和108之中的任一个输出打开时,处理器10-1故障,因而,通过或门110把“与”门106和108的输出求或之后再输出。在图9方式3中当处理器10-2作为从处理器发生故障时,“与”门112打开输出,判断处理器10-2故障。当在图9方式2中处理器10-3作为从处理器发生故障时,“与”门114打开输出,判定处理器10-3故障。当与从外部输入到主信息寄存器14中的处理器号码#1相对应的两位信号E16和E17为“E17E16”=“01”时,选择电路192打开“与”门124的输出,使来自与#1相对应的故障判定电路186的判定信号得以输出。因而,当或门154输出信号E18打开时,表明主处理器10-1故障。当或门156输出信号E19打开时,表明以处理器10-2故障。当或门158输出信号E20打开时,表明从处理器10-3故障。来自图12A和12B中的设备信号译码电路82的译码信号E11-1、E11-2、E11-3分别被输入到“与”门198,200,和202中去。由于从外部向处理器10-1内设置了处理器号码#1,所以只有译码信号E11-1,处于打开状态。只有从或门154的指示处理器10-1故障的信号E18被选择,并且通过或门204作为故障处理器判断信号E24被输出到图12A和12B中的总线输出使能形成电路184。
图14表示了在图12A和12B中关于总线输出使能形成电路184的实施例。总线输出使能形成电路由以下几部分构成:标志寄存器20′,为输入数据到标志寄存器205的“与”门206,控制标志寄存器205的写使能和复位的或门203、输出与站208。为标志寄存器205准备了总线输出允许标志。对于总线输出允许标志,在处理器起动时,通过软件设置数据D3和软件设指令信号E25来打开输出允许标志,“1”被作为输出允许标志的初始值。此后,在普通操作中一直保持这个值。当在图13中的总线信息故障判断电路182检测到自身处理器故障,打开故障处理器判断信号E24时,通过或门203复位标志寄存器205,并且总线输出允许标志被复位“0”。当总线输出允许标志被设置1并被保存于标志寄存器205中时,给“与”门208的标志信号E26打开。在主处理器中,由在图12A和12B中的主信息一致判断电路16输出自身的主信号E1也被打开。因而,当在图12A和12B中的输出定时形成电路32的总线输出信息E2打开时,在图14中“与”门208输出的使能信号也被打开。总线三态电路24的输出驱动器26处于使能态。由输出信息形成电路22的输出信息可被传送到总线12。另一方面,在自身处理器的故障检测基础上,由故障处理器判断信号E24打开使标志寄存器205的标志复位到“0”,标志信号E26被关闭,“与”门208被设置为标止状态,因而使能信号E3关闭。所以,禁止了从故障处理器向总线12发送输出信息,借马故障处理器从总线12断开。由于故障处理器从总线12断开,防止故障处理器影响其他处理器。
〔重新确定主处理器〕
图15A和15B表示了一个实施例:当发生故障,主处理器从总线上断开时,在构成TMR单元10的处理器中确定新的主处理器,由重新确定的主处理器继续工作。构成TMR单元10的处理器10-1,10-2和10-3有相同的结构,在当前表示处理器10-1代表主处理器。处理器10-1的结构特征是由主处理器故障判断电路212代替了在图7A和7B实施例中的总线信息故障判断电路98,另外,提供了具有另一种结构的主信息寄存器214代替了在图7A和7B中的主信息寄存器14。其他结构与图7A和7B中的实施例结构大致相同。
处理器10-1提供了判断主处理器故障的主处理器故障判断电路212。由符合检测三态电路76得到基于故障检测结果上的处理器10-1到10-3的信号被保存在触发器88,90和92中,并被作为故障检测信号E13,E14,E15输入到主处理器故障判断电路212。指示现行主处理器的主号码信号E0被保存到主信息寄存器214中,也就是说,处理器10-1的号码#1,也被输入到电路212中。主号码信号E0是由2位信号E12和E16构成。例如:对主处理器号#1、#2、#3的2位信号“E17、E16”被设置为“01”、“10”、“11”。主处理器故障判断电路212根据输入的故障检测信号E13、E14、E15和主号码信号E0“E17和E16两部数据”判断主处理器的故障。
图16表示的表示图15A和15B中主处理器故障判断电路212的实施例。当处理器10-1被设置为主处理器时,由对应号码#1的故障判断电路216进行故障判断。当处理器10-2被设置为主处理器时,由对应号码#2的故障判断电路218进行故障判断。当处理器10-3被设置为主处理器时,由对应号码#3的故障判断电路220进行故障判断。对应号码#1的故障判断电路216包括“与”门106、108和或门110。对应号码#1的故障判断电路216的判断条件是基于图9中的表上。即,当输入的故障检测信号E13、E14、E15同图9中的方式4或5一致时,或癯110的输出打开。也就是说,方式4对应于主处理器10-1正常而在两个从处理器10-2和10-3中检测到故障。在这种情况下,认为处理器10-1作为主处理器产生了故障。此时故障检测信号E13关闭而两个故障检测信号E14与E15打开。因而“与”门106的输出被打开。在图9的方式5中由“与”门108判断。方式5对应于主处理器10-1故障而其余两个从处理器正常。在此情况下,判断主处理器10-1故障。此时,由于故障检测信号E14关闭而故障检测信号E13打开,“与”门108的输出被打开。对于对应号码#2的故障判断电路218和对应号码#3的故障判断电路220,这分别对应处理器10-2和103被设置为主处理器的情况,虽然电路结构是相同的,组检测信号E13、E14和E15的输入位置都是不同的。对应号码#2的故障判断电路218检测处理器10-2的故障,处理器10-2被设置为主处理器并打开输出。对应号码#3的故障判断电路220检测处理器10-3的故障,处理器10-3被设置为主处理器并打开输出。在对应号码#1、#2、#3的故障判断电路216、218、220之后还有三输入的“与”门260、262、264。“与”门260由在图8中的选择电路118提供的“与”门124和126构成。“与”门262由在图8中的选择电路120提供的“与”门134,136,构成。类似地“与”门264由在图8中的选择电路122提供的“与”门145和146构成。当对应于处理器10-1的处理器号码#1的二位数据〔‘1“被设置到图15A和15B中的主信息寄存器214以标志处理器10-1作为主处理器时,“与”门260被设置为允许态,信号E17关闭,信号E6打开。“与”门260生成故障判断电路216的输出作为主处理器故障判断信号E27。当信号E17打开,E10关闭,标志着处理器10-2为主处理器的2位数据“10”被送入图15A,和15B中的主信息寄存器214时,“与”门262被设置为允许态。“与”门262生成对应号码#2的故障判断电路218的输出作为主处理器故障信号E28。当信号E17和E16均被打开,标志着处理器10-3为主处理器的2位数据“11”被送入图15A和15B中的主信息寄存器214中时,“与”门264被设置为允许态,“与”门264产生对应于号码#3的故障判断电路220的输出作为主处理器故障信号E29。由“与”门260、262和264生成的主处理器故障判断信号输出到或门23。或门234生成一个主处理器故障判断信号E30。这个信号E30提供给图15A和15B中的主信息寄存器214。
假定主处理器号码的初始值为#1,则相对应的2位数据“01”在处理器起动时由软指令置入图15A和15B中的主信息寄存器214。此时,假定在主处理器故障判断电路212中判断出主处理器10-1故障并打开主处理器故障判断信号E30。在此情况下,主信息寄存器214将内含2位数据加1,更新为一个新值。例如,假定当前处理器号等于主处理器号#1,故障判断后将其更新为#2。
图17是表示在图15A和15B中的主信息寄存器214的实施例。对主信息寄存器214提供了一个由触发器238和240构成的2位寄存器236。2位寄存器236由触发器238形成第一位(低位),由触发器240形成第二位(高位)。触发器238和240的输出分别被设置为2位E16和E17。在2位寄存器236的第一位触发器238的输入级,提供多路复用电路,它包含“与”门242和244以及或门246。在第二位触发器240的输入级,也提供一个多路复用电路,它包含“与”门248、250,异或门252以及或门254。此外,一个软件设置指令信号E31或者由在图15A和15B中的主处理器故障判断电路212供给的主处理器故障判断信号E30,通过或门256提供给2位寄存器236的两个触发器238和240的写使能端。进一步由软件设置的数据D4供给“与”门242和248的一个输入端。在加电后的初始状态,2位寄存器236的2个触发器238、240为清零。此时,当数据D4被置为01并且软件设置指令信号E31由软件打开,依据数据D4“1”被写入2位寄存器236的第一位触发器238,“ 0”被写入第二位触发器240。因而,在初始状态,2位寄存器236的2位信号E17和E16被设置为“01”,表示十进制的主处理器号#1。当处理器10-1被设置为主处理器,2位寄存器23 b的触发器238被置为“1”,触发器240被置为“0”,由这两个触发器的输出反馈至异或门252使其输出设置为“1”。触发器240的一个输入端12被置为1。另一方面,触发器238的一个输入端口被置为“0”。在2位数据“01”的保持态,也时处理器10-1的处理器号码#1被设置到2位寄存器236,假定在呈处理器10-1中检测到故障并打开主处理器故障判断信号E30。故障判断信号E30通过或门256打开2位寄存器236的触发器238和240的写使能端。因为触发器238的输入为“0”,触发器238由“1”变“0”。因为触发器240的输入为“1”,触发器240由“0”变“1”。这个2位信号E17和E16变为“10”。2位数据“10”示明十进制处理器号码#2,即处理器10-2。通过这种方式,根据当前主处理器的故障判断信号,指示处理器10-2为主处理器的处理器号码#2被更新到主信息寄存器214之中。图18表示了通过图15A和15B中的主信息寄存器214更新主处理器号内容的一张表。若处理器号为#1,则将被更新为#2,若处理器号为#2则将被更新为#3,若处理器号为#3,则将被更新为#1。
〔保持信息的重传〕
图19A和19B表示了一个实施例,在此,当故障发生了并且需要重新确定了新的主处理器之后,在每一个处理器中,包括非TMR单元10的处理器,在故障保持产生之后形成的各种信息通过新的重构处理器体系输送到总线上去。在故障被检测到并重新构成之后,通过对保持信息的重传,由简化的TMR结构执行重试故障发生处理,可以保证高可靠性。在实施例中,以构成TMR单元10的处理器10-1到10-3之中的处理器10-1为代表,处理器10-1中有一个总线信息故障判断电路300,以此代表图15A和15B中的主处理器故障判断电路212在输出数据形成电路22这边还提供了重传控制电路302。
与在图15A和15B实施例中所描述的方法类似,由构成TMR单元10的处理器10-1到10-3到形成的故障检测信号被输入到符合检测三态电路76,并通过触发器88,90,和92,作为对应于处理器10-1到10-3的故障检测信号E13,E14,和E15输入到总线信息故障判断电路300。把主号码信号E0表现为2位寄存器信息“01”对应于主处理器号设置在主信息寄存器中,例如处理器号#1,相对应的二位信息“01”的主号码信号E0也被输入到总线信息故障判断电路300之中。这个主号码信号E0由信号E16和E17两位组成。根据输入并保存在触发器88,90,92之中的故障检测信号E13,E14,E15和来自主信息寄存器214的主号码信号E0,总线信息故障判断电路300输出指示主处理器故障的处理器故障判断信号E30至主信息寄存器214,作为确定新主处理器的必要信息。在故障检出的时,刻控制信号(3个周期信号)E32变换到保持输出信息,向总线12输出到变换控制电路302。
图20是表示在图19A和19B中总线信息故障判断电路300的一个实施例。这个电路300包含对应号码#1的故障判断电路216,对应#2的故障判断电路218,对应#3的故障判断220。尖于号码#1,#2,#3的故障判断电路216,218和220与在图16中表示的图15A和15B的主处理器故障判断电路212的实施例相同。这个电路随后包含“与”门260、262和254以及或门234的电路也与图16中的电路相同。或门234的输出与2个周期人倒相信号E31一起输入到“与”门235中,对此稍后说明。通过这个电路单元,处理器故障判断信号E30指明在当前形成了主处理器的处理器产生故障,并把E30信号输入到在图19A和19B中的主信息寄存器214中,当主处理器发生故障时借此更新主处理器号。为达到此目,主信息寄存器214使用图17的电路。向“与”门235输入2个周期倒相信号E31的原因是由于一旦检测到总线信息故障,在故障处理器从TMR单元10中断开之前仍会连续发生相同的处理器故障,抑制连续故障的检测。在这种情况下,当由于其他原因产生连续故障时,可以对由重传控制电路302根据当前故障重传进行故障检测。由或门271收集故障检测信号E13,E14和E15。1个周期信号E31是在故障产生时被打开1个周期的时间,它是由或门271的输出形成的。由或门271生成的在故障检测时被打开的1个周期信号E31同2周期信号E31的倒相信号一起输入到“与”门272,对此稍后说明。“与”门272的输出依次被锁入触发器273、274和275。由或门276对触发器273、274的输出求或,形成了故障检测时打开2个周期的2个周期信号E31。类似地,由或门277对2个周期信号E31和触发器275的输出求或,就形成了故障检测时打开3个周期的3个周期信号E32。这3个周期信号E32被输出到图19A和19B中的重传控制电路302。
由输出数据形成电路22形成的对总线12的输出数据D1,被输入到在图19A和19B中处理器10-1提供的重传控制电路302,并且由总线信息故障判断电路300的3周期信号E32也被输入到电路300。在正常状态下,3个周期信号E32关闭,输出信息D1通过重传控制电路302,由总线三态电路24传送到外部总线12上。当故障发生时,第一个输出数据D1在重传控制电路302 302中保持到3个周期。这个被保存的输出信息D1由来自总线故障判断电路300输出2个周期信号E32并在第4周期打开2个周期信号传送到总线12上。
图21是图19A和19B中重传控制电路302的实施。重传控制电路302有一个多路复用电路,其吉触发器278,279和230被串联连接,并在后级应用到“与”门282、284和或门286。基于故障检测的3周期信号E32被直接输入到多路复用电路的“与”门284中。3周期信号E32的反相信号被输入到“与”门282中。
在正常状态下,由于3周期信号E32关闭,“与”门284处于禁止态而“与”门282处于允许态。被输入的输出数据D1经过“与”门282和或门286并作为输出信息D1-1直接输出。另一方面,输入数据D1在第一周期被保存在触发器278中,在第二周期保存在触发器279中,在第三周期保存在触发器280中。因而,相对于3个周期,总的输出信息,包括输出到总线12的一定量的输出信息以实时状态保存在重传控制电路302中。当总线信息故障发生时,故障处理器判断信号E30在2周期之后由总线信息故障判断电路300输出到主信息寄存器214。当主处理器故障时,根据更新的主处理器号,切换到新的主处理器。随后,从总线信息故障判断电路300的3个周期信号E32在故障发生的3个周期之后打开。因而,在图21中的重传控制电路302的让284被设置为允许允许状态。由故障检测保存在触发器280、279、278的3个周期输出信息重新被传送到总线12上。必要时,构成新的主处理器切换到新的TMR单元10,即,由处理器10-2和10-3两个处理器构成TMR单元10。在处理器10-2设置为主处理器的情况下由重传执行读出修改。此时,处理器10-2作为新的主处理器执行由重传控制电路302的功能保存3个周期输出信息的变换。至此,曾是主处理器的处理器10-1被从总线12上断开。当从处理器故障时,故障从处理器从总线12上断开。由原来的主处理器和余下的从处理器构成TMR单元10,借此由主处理器执行读出修改。在图19A和19B的实施例中,已经描述了在构成TMR单元10的处理器10-1到10-3中,在故障检测时的重传控制。然后,当非TMR单元10中的处理器在故障检测后切换新的主处理器之前已经把信息输送到总线12的情况下,这个处理器要上关的周期内还要把保持的数据重新输出到总线12。这是由于象TMR单元10中的处理器10-1到10-3一样,所有能向总线12输出信息的处理器有一个重传传送信息保存电路。所有能从总线12接收信息的处理器含有:在构成TMR单元10的处理器10-1到10-2中任何一个处理器和总线12发生故障的检测功能,并且当故障被检测到时,抑制依据故障信息更新内部资源的功能。上述的在故障检测时完成必要的切换主处理器之后,通过对保持信息的重传,不但对于总线信息在正常时刻故障的情况,而且对于在不正常时刻传送总线信息情况,例如,在构成TMR单元10处理器,即主处理器在非TMR单元10中的处理器传送总线信息时刻,主处理器错误地输出总线信息的情况下,应该传送总线信息的本来处理器重新传送正常的总线信息,保证最终能对正确总线信息的正确地完成变换。
〔重传指令信号的形成〕
图22A和22B是一个实施例,其中,包括总线以及在处理器10-1到10-3构成TMR单元10中发生故障情况下,重传指令的信号指明从主处理器发送到从处理器中,或更进一步地,发送给非TMR单元10中的处理器,使信息在故障发生之后由简化的新TMR单元10重新向总线输出信息。对于构成TMR单元10的处理器10-1到10-3,实施例已设置当前主处理器为处理器10-1。虽然对处理器10-1到10-3故障检测包含在处理器10-1内的总线12的故障检测,实质上图19A和19B中的实施例大体相同,为了生成重传指令信号,采用了与图19A和19B实施例中的总线信息故障判断电路300和重传控制电路302稍微不同的总线信息故障判断电路305和重传控制电路312。并对处理器10-2和10-3构成TMR单元10以及非TMR单元10的处理器,新提供了传送重传信号的重传信号三态电路。
对处理器10-1提供了符合检测三态电路76,它接收由处理器10-1到10-3的每一个形成的故障检测结果信号,并与图19A和19B的实施例类似,把故障检测信号E13,E14,E15通过触发器88,90和92传送到总线信息故障判断电路305。2位数据的主号码信号E0,指明输入到主信息寄存器211的当前主处理器号码,输入到总线信息故障判断电路路305。此时,由于处理器10-1被设置为主处理器,与处理器号#1相对应,主号码信号E0表现为2位输入“01”。2位数据由信号E16、E17表示,并且“E17、E16”=“01”。
图23表示了在图22A和22B中的总线信息故障判断电路305的实施例。故障检测信号E13、E14,E15输入到或门271。或门271的输出与2周期信号E31的反相信号一起输入到“与”门272,对此,稍后说明,因而形成TMR系统故障检测信号E34,表明在构成TMR单元10的处理器10-1到10-3中的任何一个发现了故障
。TMR系统故障检测信号E34输出到在图22A和22B中的重传信号三态电路306。“与”门272的输出被依次保存于触发器273和274中。触发器273和274的输出送入或门276去求或,借此生成2个周期信号E31,这个信号在故障发生二个周期之后打开2个周期的时间。把2个周期信号E31的反相信号输入“与”门272的原因是因为一旦总线信息检测到故障,在故障处理器从TMR单元10断开之前,可能持续产生相同的故障。因而,为了避免对持续相同故障的检测,由2个周期信号E31′的反相信号将TMR系统故障信号E34关闭。存在有提供包含如下内容的电路:故障判断电路216,218和220;由依据主信息寄存器214中的主处理器号码#1给出2位数据的信号E17和E16所控制的写门260、262和264以及或门234,还有“与”门235。这个电路单元在与图20中表示图19A和19B中的是线信息故障判断电路300实施例的输出级电路相同。由这个电路的输出级,把指明TMR单元10中当前主处理器故障的信号E30输出到图22A和22B中的主信息寄存器214中。当故障处理器判断信号E30打开时,主信息寄存器214更新当前设置的主处理器号。详细地说,主寄存器214有在图17中所示的电路结构,并根据图18的表更新主处理器的处理器号。
由总线信息故障判断电路305生成的TMR系统故障检测信号E34被输入到重传信号三态电路306中。由主信息一致判定电路16生成的自身主信号E1也被输入到重传信号三态电路306中。由于处理器10-1显示处理器,自身主信号E1打开。重传信号三态电路306通过输入/输出终端308-1将重传指令信号输出到专用信号线310上。这个信号线310被连接到输入/输出终端308-2和308-3(未表示),这两个终端与提供给TMR单元10中的处理器10-2和10-3的重传信号三态电路(未表示)连在一起。并且信号线310也与非TMR单元10的处理器的重传信号三态路的输入/输出终端相连。
图24表示重传信号三态电路306的实施例。为三态电路306提供了带有使能端的输出驱动器314和输入驱动器316。来自主信息符合电路16的自身主信号E1打开,使输出驱动器314处于使能态。由总线信息故障判断电路305生成的TMR系统故障检测信号E34经I/O终端308-1发送到信号线310上。重传信号发送到TMR单元10的处理器10-2和10-3以及其他非TMR单元10的处理器。输入驱动器316经信号线310输入来自构成TMR单元10其他处理器的重传指令信号,并输出一个重试信号E35到图22A和22B中的重传控制电路312中去。
基于来自构成TMR单元10的其它处理器的重传指令信号的重试信号E35,由重传信号三态电路306接收并被输入到图22A和22B中的重传控制电路312中去。在正常状态下,重试信号E35关闭,由输出信息形成电路22生成的输出信息D1直接通过重传控制电路312,并由总线三态电路24输出到总线12上去。当重试信号E35打开时,重传控制电路312执行重传控制。
图25是表示图22A和22B中的重传控制电路312的一个实施例。触发器330,332和334在三个级上连接,重试信号E35被输入到处于第一级的触发器330。或门336收集触发器30、332和334的输出,借以形成3个周期信号E36。3个周期信号E36被发送到内部电路(未表示),并在发生故障时刻用以掏对内部资源的更新。由在图22A和22B中的输出信息形成电路22形成输出信息D1被输入到“与”门324,并且也输入到三级相连的触发器318、320和322的第一级触发器318。由或门336产生的3个周期信号E33 6的反相信号输入至“与”门324。3个周期信号E36被直接输入到“与”门326。最后一级触发器322的输出也被输入到“与”门326。或门328收集“与”门324和326的输出,或门328的输出被作为在图22A和22B中的总线三态电路24的输出信息D1-1。
图26A到26I是图25中的重传控制电路312的定时图。首先,当在图26A中的重试信号E35打开时,这个信号被依次保存在图26B到26D所示的触发器330、332和334中。因而,由图26E中的或门336输出的3个周期信号E36,在重试信号E35打开时从下一个周期,打开持续3个周期信号E36。另一方面,在故障发生时,数据D1被图26F中的触发器318保存。此时,由于3个周期信号E36关闭,“与”门326处于禁止态,直接生成输出信息D1。保存在触发器318中的输出信息D1时,保存的输出又从处于允许态的“与”门326经过或门328传送了3个周期的时间。在重传控制电路212中,形成输出信息并在故障发生之后在总线上保持信息,直到重新起动时刻,这时它从当前主处理器又把新的变换送到总线12上。在非TMR单元10中处理器在重传起动之前输出信息到总线12上的情况下,保存在该处理器中的数据由相关周期内又被重新输出到总线12上。为实现此功能,所有非处理器10-1到10-3构成的TMR单元10的其他处理器也有一个传送数据保存电路以便重传。甚至所有的非TMR单元10中的处理器,为接收从TMR单元10的主处理器发送重传信号指定,也有从总线12上接收信息功能,识别故障检测的功能,抑制更新内部资源的功能。
〔现存处理器显示标志〕
图27A和27B的实施例的特征是提供了现存处理器显示标志,指明构成TMR单元10的处理器10-1到10-3中那些正常工作,或者,相反地,那些处理器因为故障从TMR单元中断开。这个实施例以图6A和6B中的处理器10-1结构示例。提供处理器10-1一个现有处理显示标志电路340。与构成TMR单元10的处理器10-1到10-3相对应,现存处理器显示标志电路340含有标志寄存器342,344和346。标志寄存器342有处理器10-1的现存处理器显示标志。标志寄存器344中有处理器10-2的现存处理器显示标志。标志寄存器346中有处理器10-3的现存处理器显示标志。类假地,对处理器10-2和10-2的每一个提供了现存处理器显示标志电路340。处理器10-1上的软件必要时可以读取现存处理器显示标志电路340的标志寄存器342到346,以便了解构成TMR单元10的处理器10-1到10-3的情况。
图28A和28B表示一个实施例,其中,对于构成TMR单元10的处理器10-1到10-3,当处理器自身由于故障从TMR单元10中断开时,由总线信息故障检测产生的不同信号不会错误地送至其他处理器。现存处理器显示标志电路340含有与处理器10-1到10-3对应的标志寄存器342,344和346,当TMR单元10中的处理器正常运行时,标志寄存器342到346打开。当TMR单元10的处理器因为故障而被断开时,它们关闭。在标志寄存器342、344、346之后提供“与”门352、354和356。从设备号译码电路82的译码信号E11-1、E11-2和E11-3被分别输入到“与”门352、354和356。分别对译码信号E11-1到E11-3以及来自标志寄存器342,344,346的标志信号E41,E42和E43求与。设备号译码电路82对来自输入终端18-1的处理器号#1译码,并打开E领事1-1。因而只有“与”门352被设置为允许态。与来自标志寄存器342的关于处理器10-1的现存处理器显示标志相对应的标志信号被通过或门348作为输出信号E40输入。构成屏蔽输出电路的与“与”门350提供给符合检测三态电路76。来自总线信息故障检测电路40的相异检测信号E5被输入到“与”门350。来自现存处理器显示标志电路340的输出信号E40被输入到“与”门350的另一个输入端。因而,在“与”门350中,由总线信息故障检测电路向其他处理器10-2和10-3输出的相异检测信号E5被现存处理器显示标志电路340产生的输出信号E40所屏蔽,并且,在E5之后被输出出去。即,当TMR单元10中的处理器10-1正常运行时,来自现存处理器显示标志电路340的输出信号E40打开,借此把“与”门350设置为允许态。此时,若由于故障检测而使总线信息故障检测电路40打开相异检测信号E5,这个信号通过起屏作用的“与”门350,并且我动器78-1经专用信号线86-1将总线信息故障检测结果通知给其他处理器10-2和10-3。另一方面,  当由于故障等问题处理器10-1被从TMR单元10中断开时,由于标志寄存器342的标志关闭,输出信号E40也关闭,因而为了屏蔽作用的“与”门350设置为禁止态。因此,即使由于总线故障检测信号而使来自总线信息故障检测电路40的相异检测信号关闭,也可以禁止对其他处理器10-2和10-3通知总线故障检测结果。根据这样的屏蔽输出而从TMR单元10中断开的处理器总是通告给其他处理器一个未发现总线信息故障的状态。这样可以器对整个TMR单元10施加不利的影响。
图29A和29B表示一个防止园故障从TMR单元10中断开的处理器,错误地向其他处理器传送总线信息故障检测结果的另一个实施例。在实施例中,提供给在图28A和28B中的符合检测三态电路76作为输出屏蔽输出电路的“与”门350,被3输入的“与”门352代替,“与”门352的输入包括来自现存处理器显示标志电路340的记录信号E40,还有基于在总线输出使能形成电路34中设置的总线输出允许标志的标志信号E42。首先,总线输出使能形成电路34有在图2中所示的“与”门36,来自主信息一致判定电路16的自身主信号E1允许输出定时电路32的总线输出信号E2得以输出,并给总线三态电路24的输出驱动器提供使能信号。因而,除“与”门36外,还提供由打开自身主信号E1设置总线输出允许标志的标志寄存器,这足以把标志寄存器的输出作为标志信号E42输入到提供给图29A和29B中的符合检测三态电路76起屏蔽输出作用的“与”门352。在因故障从TMR单元10中断开的处理器10-1中,通过利用基于起输出屏蔽作用的总线输出允许标志的标志信号E42,如果至少有在现存处理器显示标志电路340的现存处理器显示标志和总线输出使能形成电路34的总线输出允许标志中的一个正常,就可以禁止处于关闭状态的相异生成信号E5的传送,这个信号是基于断开的处理器10-1而正常运行的处理器10-2和10-3的总线信息故障检测测电路40产生的故障检测结果。即,禁止对其他处理器10-2和10-3传送由于故障而从TMR单元10中断开的处理器10-1产生的不必要的总线信息故障检测结果的被双重屏蔽输出动能,借此提高可靠性。
图30A和30B是一个实施例,其中,即使指明总线信息故障构测结果的符合检测信号,被错误地从构成TMR单元10的处理器10-1到10-3中因故障断开的处理器传送出去,执行屏蔽输入可避免误操作。除了图29A和29B中的屏蔽输出“与”门352之外,在符合检测三态电路76的输入驱动器80-1、80-2和80-3的输出侧配备了屏蔽输入“与”门360,362和364。现存处理器显示标志电路340提供了标志寄存器342、344和346的标志信号E41,E42和E43直接输入到“与”门360,362和364的其他输入端。因而,对应于标志寄存器342,344和346中某一个寄存器的现存处理器显示标志关闭,使得相应的“与”门360,362和364之中的某一个被设置为禁止态。因故障从TMR单元10中断开的处理器禁止由它产生的并由基于总线信息故障检测结果的关闭状态使之有效的相异生成信号E5输出到触发器88,90和92中。通过如此的对总线信息故障检测结果的输入屏蔽,即使指明总线信息故障检测结果的输入屏蔽,即使指明总线信息故障检测结果的相异检测信号E5从其他的TMR单元10中断开的处理器错误地传送出去,可以使这个信号被忽略掉。这就有可能避免故障处理器对TMR整个单元10产生不利影响。
〔主信息的保证〕
图31A和31B是一个实施例,其中指示出在TMR单元10中的处理器10-1到10-3之中,那个是主处理器的主信息被通知到各处理器,借此避免错误地识别主信息。在构成TMR单元10的处理器10-1到10-3之中,以处理器10-1为代表,通过对主信息寄存器14的设置决定主处理器。例如,假定分配处理器10-1为主处理器,处理器10-2和10-3为从处理器。主信息寄存器14根据保存的主信息输出自身主信息E0。为了把主信息共同通知给处理器10-2和10-3,提供主信息三态电路366。主信息三态电路366对应于处理器10-1到10-3含有3个三态输出驱动器368-1,368-2和368-3。主信息三态电路366的3个三态电路的输出通过终端372-11,372-12,373-13和专用信号线374-1,374-2和374-3连接到其他处理器10-2和10-3相应的终端372-21到372-23和372-31到372-33上。来自主信息寄存器14的主处理器号码信号E0在通常情况下输入到提供给至信息三态电路366的输出驱动器368-1,368-2和368-3中。设备号译码电路82产生的译码信号E11-1到E11-3被分别输入到输出驱动器368-1到368-3的使能端。设备号译码电路82对输入终端18-1的处理器号#1译码并且只打开译码信号E11-1。因而,只有输出驱动器368-1处于使能态,来自主信息寄存器14的主处理器号信号E0经控制信号线374-1通知到了其他处理器10-2和10-3。此时,处理器自身通过输入驱动器370-1取到作为信号E44的主信息寄存器14中的主处理器信号E0也提供类似的主信息三态电路366给其他处理器10-2和10-3。因而基于在处理器10-2和10-3中的主信息寄存器14保存的主信息的主处理器号信号经专用信号线374-2和374-3,通知主处理器号信号E45和E46可从输入驱动器368-2和368-3中获得。对上述由构成TMR单元10的处理器10-1到10-3中的主信息寄存器通过主信息三态电路366通知的主信息进行判断,可以避免即使处理器被设置为主处理器而却被认为是从处理器导致主处理器从TMR单元10中消失的情况。也可以避免这样的情况,即,相反地,尽管处理器被设置为从处理器而却被认为是主处理器导致出现多主处理器的情况。
图32A和32B的特点是,除图31A和31B外,构成TMR单元10的处理器10-1到10-3互相被自身处理器识别的主处理器号,以此检测主信息故障。随主信息三态电路366之后,提供了检测主信息故障的主信息故障检测电路376。主信息故障检测电路376含有与处理器10-1到10-3对应的3个比较器384,386和388,并把比较结果提供给“与非”门390。基于处理器10-1的主信息的主处理器号信号E44经触发器378由输入驱动器370-1输入到比较器384。基于处理器10-2的主信息的主处理器号信号E45经触发器380由输入驱动器370-2输入到比较器386。基于处理器10-3的主信息的主处理器号信号E46经触发器382由输入驱动器370-3输入到比较器388。比较器384比较处理器10-1和10-2的主处理器号信号E44和E45。比较器386比较处理器10-2和10-3的主处理器号信号E45和E46。比较器388比较处理器10-3和10-1的主处理器号信号E46和E44。若两个处理器号相同,比较器384,386和388的输出打开。若它们不相同,则输出关闭。当正确的主信息被设置在所有的处理器10-1到10-3时,由于所有的主处理器信号E44,E45,E46相同,比较器384、386和388的输出打开。“与非”门390输出的主信息故障产生信号E50被关闭。另一方面,当任何一个主处器号信号不一致时,三个比较器384、386、388的中一个的输出关闭。因而,由“与非”门390输出的主信息故障产生信号E50打开。因此,由构成TMR单元10的处理器10-1到10-3中的某个识别出主信息故障,执行必要的故障处理。在主信息三态电路366和主信息故障检测电路376之间提供触发器378,380和382,3个主处理器号信号被保持一次。这是由于从总线信息故障发生直到检测的时间和从主信息故障发生直到检测的时间被设置为相同的定时。在主信息故障检测一侧的触发器的级数也随提供给主线信息故障检测电路40一侧的触发器56和58的个数而变。
图33A和33B的特点是,当构成TMR单元10的处理器10-1到10-3采用多数比较可被自身处理器识别的主处理器号,借此判断主信息故障时,可以判断哪个处理器的主信息出现了故障,为了判断主信息故障的处理器,给图32A和32B新增了主信息故障判定电路392。与处理器10-1、10-2和10-3相对应,带有反相输入的“与”门394、396和398提供给了主信息故障判断电路392。主信息故障检测电路376的比较器384和388的输出被输入到“与”门394,比较器386和384的输出被输入到“与”门396,比较器386和388的输出被输入到“与”门398。当判断处理器10-1的主信息发生故障时,“与”门394打开主信息故障信号E51。当检测出处理器10-2的主信息故障时,“与”门396打开主信息故障信号E52。当检测出处理器10-3的主信息发生故障时,“与”门398打开主信息故障信号E53。例如,假定处理器10-2的主信息故障。因而,在主信息故障检测电路376中,基于故障主信息的主处理器信号E45输入到比较器384和386中,比较器384和386的输出关闭,与此无关的比较器388的输出打开。此较器384和386的输出被输入到主信息判断电路392的“与”门396中。因而,主信息故障判断信号E52也被打开。这样就可能判断出处理器10-2的主信息故障。对于其他处理器10-1和10-3来说,当主信息发生故障时,可通过相似的逻辑判断出哪个处理器的主信息发生了故障。进一步地说,有关总线信息故障的总线信息故障判断电路98通过触发器88,90和92提供给了符合检测三态电路76。总线信息故障判断电路98与图7A和7B中的实施例有相同的结构,它的细节在图8中的电路表出。即,处理器10-1,10-2和10-3输出指明导致故障的处理器的判断信号E18,E19和E20以及判断在任何一个处理器中发生总线信息故障的总线信息故障判断信号E21。总线信息故障判断电路98产生的每个信号都被用在图37A到37C中的双重结构,对比,稍后再描述。
图34A和34B显示一个实施例,其中,当处理器10-1到10-3因自身故障从TMR单元10中断开时,防止错误主信息不被通知到构成TMR单元10的其他处理器。在图33A和33B的这个实施例中,即使在处理器10-1到10-3的任一个因故障从TMR单元10中断开时,主信息被直接输出到构成TMR单元10的其他处理器,所以存在其他处理器错误识别的隐患。为防止发生这种情况,在图34A和34B中,由于从TMRU1中断开的处理器使用并不存在的处理器号作为主信息,在处理器号为#1、#2、#3的实施例中,生成了并不存在的处理器#0。在对处理器#0通知作出响应时,当从其他处理器作为主信息通知并不存在的处理器号#0时,构成TMR单元10的处理器认为这是正常的,借以避免误操作。在处理器从TMR单元10中断开的情况下,为了把并不存在的处理器号#0通知给其他处理器作为主信息,给主信息三态电路360提供了屏蔽输出“与”门412。来自主信息寄存器14的主处理器号E0被输入到“与”门412中去。来自现存处理器显示标志电路340的指示自身处理器存在的信号E40被送入“与”门412的另一个输入端中去。如在图28A和28B中所示的现存处理器显示标志电路340那样,对于处理器10-1,标志寄存器342的现存处理器显示标志和由设备号译码电路82产生的与处理器10-1的号码#1相对应的译码信号E11-1打开,使得标志信号E40打开。当处理器10-1构成TMR单元10,由于现存处理器显示标志打开,标志信号E40也被打开,“与”门412被设置为允许态,主信息被通知给其他处理器10-2和10-3。另一方面,当处理器10-1因故障从TMR单元10中断开时,处理器自身的现存处理器显示标志关闭,并且标志信号E40也关闭,借此把“与”门412设置为禁止态。因此,通过输出驱动器368-1把处理器号#1作为主信息通知给其他处理器10-2和10-3被禁止了,所以这种状态同将不存在的处理器号#0通知出去的情形相同。当处理器从TMR单元10中断开时,此时,有可能通知其他处理器作为主信息并不存在的处理器号#0被认为是主处理器。另一方面,当从TMR单元10中断开的处理器通知并不存在的处理器号#0为主信息时,构成TMR单元10并运行的处理器必须忽略掉这样的主信息的通知。因而,主处理器号检测器385,387和389,检测被识别是主处理器的并被分别输入到比较器384,386和388中的处理器号是并不存在的处理器号#0,并且打开比较器输出提供给主信息故障检测电路376。检测器385,387和389的输出与比较器384、386和388的输出一起被输入到或门407、408和410中。或门407,408和410的输出提供给“与非”门390以及主信息故障判断电路392。例如,当处理器10-2从TMR单元10中断开,并且把不存在的处理器号#0被当作主信息通知出去的时候,处理器号#0被当作主信息通知出去的时候,处理器号#0的通知输入到主信息故障检测电路376中的比较器386和384中去,比较器384和386的输出被关闭。同时,在3个主处理器号检测电路385,387和389中与处理器10-2对应的主处理器号检测电路387检测量到通知的处理器号#0,并打开它的输出。因而,虽然比较器384和386的输出被不存在的处理器号#0所关闭,由于主处理器检测电路387的输出打开,“或”门407和408的输出也可被打开。在此情形下,由于“或”门410的输出为开,因“与”非门390输出的主信息故障产生信号E50关闭。即使有来自从TMR单元10中断开的处理器10-2的并不存在的处理器号#0的通知,这个通知被忽略了,制止了主信息故障检测。
图35A和35B表示了一个实施例,其中,当因故障等原因,一个处理器从TMR单元10中断开时,制止了向构成TMR单元10的处理器通知错误的主信息。这个实施例的特点是,除了在图35A和35B中有现存处理器显示标志之外,还利用了总线输出允许标志执行主信息的屏蔽输出。在实施例中,提供给主信息三态电路360一个3个输入的屏蔽输出“与”门413。与图34A和34B中的方式类似,来自主信息寄存器14的主处理器号信号E0和来自现存处理器显示标志电路340的指示从TMR单元10上断开或连接的信号E40被输入到“与”门413中。基于总线输出允许标志的标志信号E42与图29A和29B中用于对悬线信息故障检测结果屏蔽输出的信号相同。通过提供屏蔽输出“与”门413,如果至少来自现存处理器显示标志电路的标志信号E40和基于提供给总线输出使能形成电路34的总线输出允许标志的标志信号E42之中的一个正常,从TMR单元10中断开的处理器就可以将并不存在的处理器号#0作为主信息输出。
通过这样的双重结构,就可能避免使故障处理器对整个TMR单元产生不良影响。
图36A和36B表示一个实施例,其中,即使错误的主信息被因故障从TMR单元10中断开的处理器通知给构成TMR单元10的其他处理器,可以对输入进行屏蔽以免产生误操作。在处理器10-1中,关于从其他处理器10-2和10-3由专用信号线374-2和374-3通知主信息的处理器号的信号被包括自身处理器在内的处理器经输入驱动器370-1,370-2和370-3取走。在输出级提供屏蔽输入“与”门414、416和418。由现存处理器显示标志电路340输出给处理器10-1到10-3的标志信号E41、E42和E43被分别到“与”门414、416和418的其他输入端。因而,由于标志E41到E43中对应于从TMR单元10中断的处理器的某个标志关闭,相应的“与”门414、416和418之中的某一个置为禁止状态,借此制止把指明主信息的处理器号信号输入到主信息故障检测电路376中。输入被“与”门414、416和418屏蔽的处理器号信号被作为处理器号#0对待。由于处理器号#0是一个并不存在的处理器号,主信息故障检测电路376可以通过对屏蔽输入“与”门414、416和418的输入禁止屏蔽输入,以避免因故障从TMR单元10中断开的处理器对整个TMR单元产生不良影响。
图37A到37C表示一个多总线结构的高可靠性处理器的实施例。在多总线结构中,构成TMR单元10的处理器10-1、10-2和10-3被连到多条总线上,在实施例中,连到总线12-1和12-2上,借此发送和接收数据。在这种情况下,由处理器10-1到10-3识别的主处理器号被通知到其他处理器的每个总线12-1和12-2上。此时,尽管可以考虑对总线12-1和12-2采用不同的主处理器,把总线12-1和12-2上的主处理器设置为某个相同的处理器,可以使控制大大简化。在这个实施例中,以总线12-1一侧以33A和33B的实施例为例子。在总线12-1一侧,部分表示处理器10-1的多路复用控制电路,包括构成悬线信息故障控制单元的TMR控制电路400和构成主信息故障控制单元的TMR控制电路402。采用同样的电路结构,在总线12-2侧作为总线信息控制单元提供TMR控制电路404和作为总线12-2主信息故障控制单元提供TMR控制电路406。在总线12-2一侧,信号线以与总线12-1侧大致相同的方式显而易见地连接起处理器10-1,10-2和10-3。指示TMR单元10中主信息故障的主信息故障判断信号E50,由在TMR控制电路402一侧所示的主信息故障检测电路376在TMR控制电路402和406中产生。在主信息故障判断电路392中,派生了主信息故障的处理器的判断信号E51,E52和E53。总线12-2一侧由TMR控制电路406也获得类似的判断信号。因而,对于有关两者的主信息的故障检测和判断信号来说,提供了“或”门422,424,426和428,并在两总线12-1和12-2之间相应信号求或。因此,有可能判断出主信息故障的发生,并能判断出在哪个处理器中主信息发生了故障。即,主信息故障检测信号E60和相应于处理器10-1到10-3的主信息故障判断信号E61、E62和E63由总线12-2的作为主信息故障控制单元的TMR控制电路406中获得。因而,来自总线12-1一侧的TMR控制电路402的信号E61到E63和信号E50到E53分别通过“或”门422、424、426和428求与。可以得到对总线12-1和12-2整体的主信息故障检测信号E70和指示哪个处理器发生故障的判断信号E71,E72和E73。在图37A到37C的多总线结构中,虽然处理器10-1的每个总线体系的TMR控制电路都用了图33A和33B的实施例作例子,也可以利用图34A和34B,36A和36B中的任一个实施例的电路结构。
图38A和38B表示一个实施例,其中,当判断出构成TMR单元10的处理器10-1到10-3的某个处理器被判断为因总线信息或主信息相异时,为了把故障处理器从TMR单元中断开,相应处理器的现存处理器显示标志被关闭。
在38A和38B中,提供给处理器10-1一个带有现存处理器显示标志电路340的现存处理器显示标志控制电路341。从TMR控制电路400作为总线信息故障控制单元提供总线信息故障电路98,指示总线信息故障的处理器判断信号E18、E19和E20被输入到现存处理器显示标志控制电路341中。从TMR控制电路402的作为主信息故障控制单元提供主信息故障判断电路392,指示主信息发生主信息故障的处理器的判断信号E51、E52和E53也被输入其中。现存处理器显示标志控制电路341有如图39所示的结构。
在图39中,为保存处理器的现存处理器显示标志寄存器342、344和346被分别提供给处理器10-1、10-2和10-3。通常,利用触发器作为标志寄存器342、344和346。“与”门430、434和438的输出被连到标志寄存器342、344和346的数据输入端。“与”门430,434和438是2个输入端“与”门。软件设置指令信号E74通常输入到“与”门430,434和438中,与处理器10-1到10-3相对应的集合数据E77,E78和E79也被输入到“与”门430,434和438中。亦即,相应的现存处理器显示标志可以由软件随意地设置成重新设置到标志寄存器342、344和346中去。3个输入端“或”门432、436和437的输出被连到标志寄存器342、344和346的写使能端。由图38A和38B中的总线信息故障判断电路98产生的,指示由其中获得总线故障信息检测结果的处理器的判断信号E18、E19和E20被输入到“或”门432、436和437中去。由图38A和38B中的主信息故障判断电路输出的,指示主信息发生故障的处理器的判断信号E51、E52和E53也被输入到“或”门432、436和437中去。在图38A,38B和图39中,例如,假定在处理器10-3中发生故障,相对于总线信息故障的情况,对应处理器10-3的总线信息故障判断信号E20打开。因而,图39中标志寄存器346的显示标志关闭。即使在主信息故障的情况下,类似地,表明处理器10-3主信息故障的判断信号E53关闭,示志寄存器346的显示标志关闭。如上所述,在所有的处理器中,与因故障从TMR单元10中断开的处理器相对应的现存处理器显示标志关闭,借此有可能避免故障处理器对其他构成TMR单元的正常运行的处理器产生不良影响。
图40A和40B表示一个实施例,它的特点是当故障发生时,为避免故障处理器通过总线对构成TMR单元的其他处理器产生不良影响,通过禁止总线输出,使故障处理器从TMR单元10中断开。当TMR单元10中发生故障时,在故障是总线故障的情况下,由总线信息故障处理器判断电路98A产生的总线信息故障检测信号E21打开,并指示其中发生总线故障的处理器的判断信号E18,E19和E20中的某一个打开。此外,总线信息故障处理器判断电路98A产生一个自身处理器故障判断信号E81,当在自身处理器中发生总线信息故障时,打开自身处理器故障判断信号E81。自身处理器故障判断信号E81是由总线信息故障判断电路98A通过利用设备号译码电路82产生的译码信号E11-1到E11-3形成的。
图41表示总线信息故障判断电路98A的实施例。首先,电路98有图7A、7B和图8中实施例表示的电路结构。从解发器88、90和92的处理器10-1到10-3来的总线信息故障检测信号E13,E14,和E15被输入到电路98中。并且,从主信息寄存器14来的主处理器号码信号E0被输入电路98中。从电路98输出总线信息故障检测信号E21和表示处理器10-1到10-3中哪一个发生故障的判断信号E18、E19和E20。指示总线信息故障处理器的信号E18、E19和E20被输入到“与”门442,444和446中,并且分别与来自设备号译码电路82的译码信号E11-1、E11-2、E11-n求与。“或”门448接收“与”门442,444和446的输出,并且产生有关总线信息故障的自身处理器故障判断信号E81。因而,当是故障处理器时,例如,处理器10-1自身是故障处理器时,来自电路18的指示处理器10-1的判断信号E18打开。由于此时来自设备号译码电路82的译码信号E11-1也打开,“与”门442的输出打开。自身处理故障判断信号E81经“或”门448输出到总线输出使能形成电路34A中。内部标志寄存器设置的总线输出允许标志被关闭并且总线三态电路24的总线使能信号E3也关闭,借此禁止将总线信息D1从输出信息形成电路22输出到总线12上去。另一方面,主信息故障(处理器)检测判断电路440作为图40A和40B中的主信息故障控制单元提供给TMR控制电路402。主信息故障检测判断电路440由图38A和38B中的主信息故障检测电路376和主信息故障判断电路392结合而成,并且,更进一步地,当判断自身处理器故障时,打开输出自身处理器故障判断信号E80。
图42表示在图40A和40B中的主信息故障判断电路440的实施例,其中还包含有在图38A和38B中所示的主信息故障检测电路376和主信息故障判断电路392。主信息故障检测信号E50和从主信息故障判断电路392输出的,在表示产生主信息故障处理器的判断信号E51、E52和E53。表明自身处理器中的主信息发生故障的自身处理器故障判断信号E80,信号E80由包含“与”门450、452和454以及“或”门456的电路形成。也就是说,由主信息故障判断电路392的每一个判断信号E51、E52和E53被输入到“与”门450、452和454中去。从处理器号译码电路82的译码信号E11-1、E11-2和E11-3被分别输入到与450、452和E454的其他输入端。由“或”门456对3个“与”门的输出求或,借此产生表示在自身处理器中发生主信息故障的自身处理器故障判断信号E80。来自主信息故障判断电路440的关于主信息故障的自身处理器故障判断信号E80也被输入到图40A和40B所示的总线输出使能形成电路34A中去。由关闭了总线输出允许标志,使能信号E31被关闭,借此禁止通过总线三态电路24把总线信息输出到总线12上。
在图40A和40B中的总线输出使能形成电路34A有图43中的电路结构。首先,提供了为设置/重置总线输出允许标志的标志寄存器460。由软件设置指令信号E82和设置数据E83输入到“与”门456,“与”门456的输出被输入到标志寄存器460的一个数据输入端。3个输入“或”门358的输出连接到标志寄存器460的写使能端。从在图41中的总线信息故障判断电路90A的自身处理器故障判断信号E81和在图42中从主信息故障判断电路440的自身处理器故障判断信号E80“或”门458中。因而,由软件设置的标志寄存器460的总线输出允许标志,相对于处理器自身的总线信息故障和主信息故障的任一个强制地重新设置。作为标志寄存器460的输出,来自图40A和40B中的主信息一致判断电路16的自主信号E1和来自输出定时形成电路32的总线输出信号E2被输入到标志寄存器460,并且当所有3个信号是打开的,总线使能信号E3被打开时,借此允许总线输出。然而,当标志寄存器460中的总线输出允许标志被自身的总线信息故障或主信息故障关地时,“与”门462由标志信号E84设置为禁止态。对总线三态电路24的使能信号E3被关闭,借以禁止将总线信息输出到总线12上。如上所述,通过关闭因总线信息故障或主信息故障而从TMR单元10中断开的处理器的总线输出允许标志,可以避免故障处理器存取总线信息和正常运行的TMR单元的其他处理器避免施加不利的影响。
图44A和44B表示一个实施例,其中,在当前作为主处理器的处理器因主信息故障从总线上断开时,重新从构成TMR单元的其他处理器中确定主处理器和继续处理过程。为了重新确定主处理器,提供了在处理器10-1中表示的主信息寄存器电路14A。来自总线信息故障判断电路98A的指示其中产生总线信息故障的处理器的判断信号E18、E19和E20,以及来自主信息故障检测电路440的发生主信息故障的处理器的判断信号E51、E52和E53被输入到主信息寄存器电路14A中。
图45表示主信息寄存器电路14A的一个实施例。首先,主信息被存贮在主信息寄存器494之中。向主信息寄存器494中装入主信息可以在软件设置指令信号E86和到“与”门486的软件数据E87的基础上由软件实施。“与”门486的输出经“与”门488和“或”门492供给主信息寄存器494,并设置主信息。有时不总是须要提供“与”门488。“或”门496的一个输出被送至主信息寄存器494的写使能端。写使能端可在由软件写入主信息时由软件设置指令信号E86打开。写使能端在处理器自身检测到总线信息或主信息故障时打开。主信息可由新的主处理器号形成电路484的算法更新。当检测到总线信息故障时判断处理器的判断信号E18、E19和E20经“或”门464、466和468输入到译码器470、472和474中去。主信息故障的判断信号E51、E52和E53被输入到“或”门464、466和468的其他输入端。译码器470、472和474产生译码信号01、10和11相应于因“或”门464、466和468的输出打开而辨别出产生总线信息故障或主信息故障的处理器,由于译码输出采用与主信息寄存器494作为主处理器的设置信息相同的输出。比较器476、478和480分别比较指示设置在主信息寄存器494中的主处理器的主信息和由译码器470、472和474产生的译码信号,若他们一致,则打开输出。例如,现在假定主处理器10-1的主信息01被寄存器在主信息寄存器494中,并且由于判断信号E18打开,例如,处理器10-1的总线信息故障和由译码器470产生了译码信号01,这样比较器476的输出打开。比较器476、478和480的输出被收集到“或”门482中。“或”门482的一个输出被通过“或”门496作为主故障信号提供给主信息寄存器494的写使能端,借以把主信息寄存器设置为允许状态。与此同时,主信息故障信号提供给“与”门490,借以把“与”门490设置为允许态并且由新主处理器是形成电路494能够更新新主处理器的主信息。由新主处理器号形成电路484在主信息寄存器494的更新中,例如,新主处理器号根据在图17中表示的新主处理器形成顺序被设置到主信息寄存器494中。显而易见,虽然新主处理器的选择顺序可任意设置,但是它必要由相同算法使构成TMR单元的所有处理器能够更新。因此,即使在主处理器中发生了总线信息或主信息的故障,通过在剩余处理器中选择新的主处理器,TMR单元能够接着继续处理。
图46A和46B表示一个实施例,其中,在当前作为主处理器因主信息故障被从总线断开服务处理器的情况下,防止从构成TMR单元10的剩余的正常处理器中确定新的主处理器。即,在图45的实施例中,在主处理器被识别为是其中主信息发生了故障的处理器时,根据顺序要被设置为下一个主处理器的处理器由处理器自身把处理器自身的号设置到主信息寄存器,并且成为新的主处理器。在这种情况下,如果当前出故障的处理器是主处理器,就不会出现任何问题。然而,相反地,当作为下一个主处理器候选的从处理器内的主信息发生故障时,借误地认为当前主处理器故障,以至于故障的从处理器自身试图成为主处理器。因而,有两个主处理器同时存在于TMR单元中并且系统崩溃的隐患。因此,在图46A和46B的实施例中,即使主信息故障被检测出来;这个主处理器并设有重新确定。因此,来自主信息故障检测判断电路440的判断信号E51、E52和E53并设有输入到图46A和46B中所示的以处理器10-1为代表的主信息寄存器14B,而只有来自总线信息故障判断电路98A的判断信号E18,E19和E20被输入进去。
图47表示主信息寄存器14B的实施例。只有因总线信息故障,处理器的判断信号E18,E19和E20被输入到译码器470,472和474之中。其他结构与图45中的电路相同。因此,即使如果主信息故障被判断出来,这个主信息寄存器494中内容并没有更新为新的主处理器。只有当总线信息故障被检测出来时,基于在总线信息故障指示处理器的判断信号E18,E19和E20之中某个信号打开时,才执行在主处理器中新主处理器更新主信息寄存器494操作。
图48A到48C表示一个实施例,其中,当主信息故障时(也包括总线信息故障的情况),制止对各种资源的更新,以便每个处理器不在故障发生时在总线上取得数据引入到内部电路。像已经描述的那样,在总线信息发生故障的情况下,由总线信息故障判断电路98A输出总线故障判断信号E21。当主信息发生故障时,由主信息故障检测判断电路440输出主信息故障判断信号E50。在总线三态电路24中从总线12上取得的数据被两次保存在触发器58和500中。这是因为要与总线信息故障判断信号E81的形成定时相匹配。保存在触发器500之中的数据作为总线数据通过数据更新抑制电路496送入内部电路。数据更新抑制电路496从内部控制电路498中获取总线选择信号E21,从总线信息故障判断电路98A中获取总线信息故障判断信号E81,从主信息故障判断电路440获取主信息故障判断信号E50,并且借以控制数据更新和抑制。
图49是数据更新抑制电路496实施例的电路图。保存于触发器500的数据D11被输入到多路复用器501的“与”门502中,总线选择信号E91输入“与”门502。例如,多路复用器501具有与其他电路相对应的“与”门504和506。多路器501将任何由“与”门502、504或506所选的数据输出到寄存器510的输入数据总线。对寄存器510的使能端提供了“或”门512和反相器514。总线信息故障判断信号E81和主信息故障判断信号E80被输入到“或”门512之中。在构成TMR单元的处理器10-1到10-3都正常运行的正常状态下,总线信息故障判断信号E21和主信息故障判断信号E50都关闭,以使反相器514的输出打开,寄存器510处于使能态。因此,总线上的数据通过“与”门502和“或”门508在给多路501的总线选择信号E91打开的情况下,被设置到寄存器510。另一方面,当总线信息或主信息发生故障被检测到时,总线信息故障判断信号E21或主信息故障判断信号E50打开,反相器514的输出关闭,借以把寄存器510设置为禁止态。禁止态被设置到数据输出到总线上之后2周期过后的定时上。此时,虽然总线上的数据D11由多路器501输入到寄存器510,由于寄存器510处于禁止态,把数据D11写入寄存器510被禁止了。避免了在故障发生时由总线上的信息破坏寄存器的内容。虽然在图49中是有关在故障发生时避免由总线上的数据破坏寄存器内容的例子,在故障发生时,通过进行必要的类似的控制,在其他的内部电路中也可以避免对资源的破坏。图49中,虽然抑制周图被设为一个周期,也可以根据需要的连续的周期数抑制一段时间。
图50A和50B表示一个通过把故障发生情况通知给连接在总线12上的处理器10-1到10-n指示重传的实施例。当在TMR单元的运行中发生故障时,由于不能信任此时总线上的数据,在故障处理器被断开后,有必要重新把数据输出到总线上。由于连在相同总线上的TMR单元之外的处理器自身不能检测故障,有必要从构成TMR单元的处理器通知他们发生了故障。在故障发生被通知了的情况下,如果构成TMR单元之外的处理器能存取总线信息,在TMR单元重新构成之后,它们有必要向总线重新输出数据。为在故障发生时指示重新传送,如以处理器10-1为代表所示的那样,提供了指示重新传送三态电路516。来自主信息一致判断电路16的自身主信号E1,来自总线信息故障判断电路98A的总线信息故障检测信号E21,来自主信息故障检测判断电路440的主信息故障检测信号E50,由主信息三态电路360和保存在触发器395,397和399中获得主信息处理器号信号E101,E102和E103,以及由主信息故障检测判断电路440输出的,其中发生主信息故障的处理器的判断信号E51,E52和E53被分别输入到指示重传三态电路中。来自指示重传三态电路516的信号被通过终端518-1经专用信号线520连接到构成TMR单元10的处理器10-2和10-3以及非TMR单元10中的处理器10-n。
图51表示图50A和50B中的指示重传三态电路516的电路图。作为三态电路单元对专用信号线520提供了输出驱动器538和输入驱动器540。由“或”门536得到的总线信息故障检测信号E21和主信息故障检测信号E50的或提供给输出驱动器538。由驱动器534供给一个使能信号到输出驱动器538的使能端。当检测到故障时,使能信号打开。在这种情况下,输入到“或”门536的总线信息故障检测信号E21或主信息故障检测信号E50被作为重传指令信号由专用信号线520输出到其他处理器。与此同时,由输入驱动器540形成处理器自身的重试信号E92。当检测到总线信息故障时,由于主信息自身是可信任的,在当故障发生时刻指示主处理器的自主信号E1被打开的情况下,重传指令信号被送到其他处理器。也就是说,由总线信息故障检测信号E21和自主信号E1的“与”门530求与获得。通过“或”门532由驱动器534打开输出驱动器538的使能端。此时得到的总线信息故障检测信息E21被作为重传指示信号经专用信号520发送到其他处理器。另一方面,在主信息发生故障的情况下,由于自身处理器的主信息自身并不总是可以被信任,要识别出已判断主信息没有发生故障的处理器所认可的主处理器号与自身的处理器号是否一致。若它们一致;相关处理器代替主处理器向其他处理器发送重传指示信号。即,当检测到主信息故障时处理器的判断信号E51、E52和E53被反相并输入到“与”门518,521和522中。主处理器号信号E101、E102和E103被输入到“与”门518,521和522的其他输入端。现在假定在图51中的指示重传三态电路516被提供给在图50A和50B中的处理器10-1,并且在处理器10-2之中发生了主信息故障。在此情形下,指示其中主信息发生故障的处理器的提供给“与”门521的判断信号E52打开。由于被输入的是反相信号,所以“与”门521被设置为禁止态,借此防止作为被判断是故障的主信息的主处理器号信号E102的输入。因而,来自处于允许态的“与”门518和522的正确的主处理器号信号E101和E103,例如,两个信号E101和E103都是正确地主处理器号#0,并且通过“或”门524设置到比较器526。处理器10-1自身的处理器号#1已经被设置到比较器526的另一个输入端。因而,由于比较器526的输出由符合检测而打开,并且此时的主信息故障检测信号E50打开,使能信号由驱动器534经过“与”门528和“或”门532打开。因而,到“或”门536的主信息故障检测信号E50被作为重传指示信号经专用信号线520传送给其他处理器。接收到重传指令信号的其他处理器执行必要的故障处理,如重传数据,禁止对资源的更新等等。
〔总线故障检测〕
就在这个发明所描述的TMR单元的实施例中来说,虽然在每个处理器内部和总线之间的三态电路的级数被设置为1级,在实际的系统中,如图52A到52C在处理器10-1之中表示的,在许多情况之下,进一步在印刷电路板上,在处理器10-1中由逻辑电路在一个三态输入/输出终端和总线12之间,提供了收发器装置546,548,550,552和554。总线收发器装置546被用于总线信号。总线收发器装置548被用于输出定时信号。总线收发器装置550被用于总线信息故障检测信号(相异检测信号)。总线收发器装置552被用于主信息信号。更进一步地,总线收发器装置554被用于重传指示信号。总线驱动器装置546到554的每一个都有一个输入驱动器和一个输出驱动器。在处理器内部和总线之间提供收发器的结构中,当主处理器的收发器装置或总线12自身发生故障时,错误数据被输出到总线12。然而,在主处理器中,由于处理器自身的输出数据被返回和被带入在逻辑电路或印刷电路板中,处理器自身取来正确的数据。因此,由总线信息故障检测电路40输出了的总线信息故障检测信号(相异检测信号)E5被在主处理器中关闭,并在所有其他的从处理器中打开。在总线信息故障判断电路98B中,由多数判断来确定主处理器故障。因而,在三态输入/输出终端之后进一步提供收发器装置的结构情况下,当总线自身故障发生时,这样故障还不能识别是由主处理器的故障。
图53表示基于在图52A到52C的实施例的总线信息故障判断电路98B中,来自处理器10-1到10-3线信息故障检测信号的判断内容,具体地讲,这些信号是保存在触发器88、90和92中的相异检测信号E121、E122和E123。设检测到总线信息故障的情况用0表示,检测到总线信息故障的情况用X表示。首先,在处理器10-1到10-3构成TMR单元10的某个处理器处于检测出总线信息故障的方式2、3和5中的任一个方式的情况,可以确定相关处理器的故障在所有处理器10-1到10-3都检测出故障的方式8情况下,也可以确定了主处理器故障。显而易见,在所有处理器10-1到10-3之中都未发现故障的方式1中,所有的处理器都是正常的。由于在方式6和方式7中产生包括主处理器故障的双重的故障,其中一个从处理器发生故障的情况是不可能的,这样的情形被从判断对象中去除。然而,在只有主处理器未检测到故障而两个从处理器检测出总线信息故障的方式4情况下,不可能判断出故障部位是主处理器还是总线。像方式4这样的判断类型被称为总线故障可能性类型。因而,图52A到52C的实施例具有判断在图53的方式4的情况下,是主处理器发生故障还是总线发生故障的功能。如在图52A到52C中处理器10-1中所表示的那样,这样的判断功能可以通过新增加总线故障检测电路544,形成总线故障信号E114把总线故障信号E114分别提供给总线信息故障判断电路98B和主信息寄存器电路14B。
图54表示图52A到52C中的总线故障检测电路544的方框图。总线信息故障检测电路544由4个输入“与”门590、592和594、“或”门596和设置及重设总线故障可能性标志的标志寄存器598。由在图52A到52C中的主处理器号译码电路542译码产生的主信息译码信号E111、E112和E113被分别输入到“与非”门590、592和594中去。现在,假定以处理器10-1为例,主处理器被设置为处理器10-1,则只有主信息译码信号E111打开。来自处理器10-1自身以及其他处理器10-2和10-3的并且保存在提供给图52A到52C中的符合检测三态电路7b的触发器88、90和92中的总线信息故障检测信号(相异检测信号)E121、E122和E123并行地输入到“与”门590,592和594的剩余的3个输入端。在它们之中,相应处理器的总线信息故障检测信号E121、E122和E123之中的每一个都被反相输入到“与”门590,592和594。对“与”门590,592和594来说,只有在图53方式4中所示的来自主处理器的总线信息故障检测信号E121关闭,并且由剩余两个从处理器通知的总线信息故障检测信号E122和E123打开,“与”门590的输出才打开。在方式4中,打开“与”门590的输出,由“或”门596打开总线故障检测信号E114。与此同时,标志寄存器598的总线故障可能性标志被设置为1。
图55表示图52A到52C中总线信息故障判断电路98B的方框图。由主处理器和其余两个从处理器通知的并保存在图52A到52C之中的触发器88,90,和92中的总线信息故障检测信号(相异检测信号)E121、E122和E123输入到提供给高端的“与非”门568和提供给低端的“与”门570。当所有3个总线信息故障检测信号E121,E122和E123指示故障发生并被打开时,低端“与”门570的输出打开。也就是说,在图53的方式8情况下输出打开。另一方面,当在三个总线信息故障检测信号E121,E122和E123之中至少有一个没有指示故障并检测并关闭的时候,高端“与非”门568打开输出。即,在图53中除方式8外的方式情况下打开输出。总线信息检测信号E121、E122、E123“与非”门568,“与”门570的输出被输入到由两个“与”门以及收集两个“与”门的输出的“或”门所构成的混合门电路562,564和566中去。进一步地,由在图52A到52C中的主处理器号译码电路542输出的主信息译码信号E111、E112和E113被分别输入混合门电路562,564和566之中。例如,考虑与处理器10-1对应的混合门电路562,在方式8的情况下,“与”门570打开输出,所有的处理器都通告产生故障,由于只有主译码信号E111打开,混合门电路562的输出打开。另一方面,当“非与”门568打开输出,三个处理器中至少有一个没有通知总线信息故障检测时,只有在因故障指示处理器10-1作为主处理器检测故障的总线信息故障检测信号E121打开时,混合门电路562的输出才打开。混合门电路562、564和566的输出被分别输入到“与”门572,574和576中去。来自图54中的总线故障检测电路544的总线故障检测信号E114的输出被输入到“与”门572、574和576的另一个反相输入端。只有在图53中方式4的情况下总线故障检测信号E114才打开,并被反相输入到“与”门572、574和576中去,以使那些“与”门被设置为禁止态。禁止产生指示其中发生总线信息相异故障的处理器的总线信息故障检测信号E18,E19和E20。在非方式4的其他方式中,由于总线故障检测信号E114被关闭,某个指示其中发生总线信息故障的处理器的总线信息故障判断信号E18、E19或E20打开,并且从“与”门572、574和576之中的任何一个输出。“或”门578对混合门电路562、564和566的输出求或,并产生指示TMR单元10中发生总线信息故障的总线信息故障检测信号E21。进一步地,为了产生在自身处理器中检测总线信息故障的总线信息故障判断信号E81,提供了“与”门582、584和586“或”门588和“与”门580。对“与”门580而言,在方式4的故障检测状态中,由在方式4中打开的总线故障检测信号E114的反相输入禁止了产生指示自身处理器发生总线信息故障的判断信号E81的产生。通过在图54中的总线故障检测电路544和在图55中的总线信息故障检测电路98B的电路结构,在图53方式4中主处理器正常而其他两个从处理器发出主处理器总线输出故障检测通知时,避免了因总线故障可能性类型检测而打开主处理器的总线信故障判断信号E18。如54中所示,为总线信息故障判断电路98B提供了总线故障可能性标志598打开的执行过程。因此,在方式4中总线一边发生故障的情况下,能够避免在主处理器中错误地执行总线信息相异的判断。
图56表示当在图54中由总线故障检测电路544检测出总线故障可能性类型时,执行切换主处理器功能的主信息寄存器电路14B。在主信寄存器14B中,当由图54中总线故障检测电路544得到的总线故障检测信号E114表示图53的方式4中被打开时,由“或”门600强制打开总线故障检测信号E85,由“或”门497打开主信息寄存器494的写使能端,以此更新主信息,达到根据新主处理器号形成电路484的规则形成T1一个主处理器的目的。对于在图52A到52C中的现存处理器显示标志控制电路341,指示由图55中总线信息故障判断电路98B输入的总线信息故障生成位置的判断信号E18、E19和E20,被来自图54的总线故障检测电路544的故障检测信号E114经“与”门572、574和576分别屏蔽掉。因而,主处理器的现存处理器显示标志并没有被关闭,而仅是通过更新主信息寄存器14B来切换至处理器。TMR单元10中进行的处理可以继续执行。进一步地,由于来自总线信息故障判断电路98B的总线信息故障检测信号E21下被打开,三态电路516将重传指令信号通知给所有经专用信号线520向总线12进行传送的处理器,借此允许执行重传处理。如上所述,在TMR单元10第一次检测出总线故障可能性类型之后并没有将以前的执行状态改变为一个新的状态,除了主处理器已经被更新和总线故障可能性标志打开之外。当在这种状态下发生普通总线信息故障时,导致总线信息故障的处理器被从TMR单元10中断开。
图57A到57C表示一个具有以下功能的实施例,即,在第一次检测出总线故障可能性类型之后,处理器并不被断开,而只有主处理器被更新并且处理继续进行,在此之后,当老的主处理器故障被检测出来之后,由第一次总线故障可能性类型检测所设置的总线故障可能性标志被重新设置。在这个实施例中,提供了以处理器10-1中所示为代表的总线故障检测电路544A。总线故障检测电路544A有图58所示的电路结构。虽然总线故障检测电路544A基本上与图54中的实施例相同,由“或”门602将总线信息故障检测信号E21主信息故障检测信号E50的或提供给起设置/新设置总线故障可能性标志作用的标志寄存器598的写使能端。其他的结构大体上与图54中的相同。也就是说,当检测出图53中方式4中的总线故障可能性类型时,图58中的总线信息故障检测电路544A打开标志寄存器598的总线故障可能性标志。在此情况下,主处理器没有被断开。由图56所示的主信息寄存器14B更新主处理器,并且继续进行处理。当由主处理器的故障产生第一个故障时,在完成了切换到新主处理器工作之后,老处理器(在这个时刻,它成为从处理器)的故障应该重新检测。在此情况下,由于产生了指示从处理器总线信息故障的判断信号E21或者是指示主信息故障的检测信号E50,经“或”门602打开标志寄存器598的写使能端,把总线故障可能性标志关闭。与此同时,将老的主处理器从TMR单元10中断开。在老的处理器因总线故障可能性标志关闭而被断开之后,当因其他原因使主处理器发生故障时,可以避免立即把这个故障判断为总线信息故障而导TMR致单元10不能被重新构成的情况。
图59A到59C表示这个发明中具有多总线结构的高可靠性信息从处理器的实施例,它的特色表示图57A到57C所示的单总线构成的情况下的处理器10-1到10-3的结构,被应用到包含总线12-1和12-2的双总线结构中。也就是说,如处理器10-1中所示的那样,提供了图57A到57C所示的两个内部电路系统以及一个包含总线收发器装置的电路。对这两个系统的电路单元,在总线12-1一侧提供了总线故障检测电路544A,在总线12-2一侧提供了总线故障检测电路60A。总线故障检测电路544A与图58中所示的电路相同。在总线12-2一侧的总线故障检测电路604也具有相同的电路结构。输入到总线故障检测电路544A的总线信息故障检测信号E131到E134由提供给总线12-2一侧的TMR控制电路404的总线信息故障判断电路得到。主信息故障判断信号E135和E141到E143由总线12-2一侧的TMR控制电路406的主信息故障检测判断电路得到。进一步地,还提供了多总线故障判断电路606。如图60中所示,多总线故障判断电路606由“或”门608到628构成。从608到616的5个“或”门与检测总线12-1和总线12-2各侧的总线信息故障的电路单元有关。例如,以“或”门 608为例,由它求出总线12-1一侧的总线信息故障检测信号E21和总线12-2一侧的总线信息故障检测信号E161的或,并且产生作为整个系统的总线故障检测E150。“或”门610,612和614产生判断信号E151,E152和E153,指示哪个处理器其中发生了总线故障。因而,对于指示其中在总线12-1一侧发生总线信息故障的处理器的判断信号E18、E19和E20而言,在总线12-3一端产生相同的判断信号E162,E163和E164,并且分别输入到“或”门610、612和614以形成两个输入。“或”门616接收自身处理器故障检测信号E81和有关总线12-1和12-2的总线信息故障检测信号E165,并且产生一个作为整个系统的总线信息自身处理器故障检测信号的信号E154。从“或”门618到628的5个“或”门执行对总线12-1和12-2的主信息故障检测判断。“或”门618接收总线12-1和12-3的主信息故障检测信号E50和E166,并且产生一个总的主信息故障检测信号E155。“或”门620、622和624分别接收两个信号E51和E167,E52和E168,E53和E169,这些信号指示处理器10-1到10-3之中的哪些发生了有关总线12-1和12-2的主信息故障,这些信号由“或”门求或后产生指示处理器10-1到10-3中哪些发生了主信息故障的判断信号E156、E157和E158,“或”门626接收自身处理器故障检测信号E80和指示总线12-1和12-2发生主信息故障的信号E169,并且产生一个总的主信息自身故障检测信号E159。最后一个“或”门628对下两个总线故障检测信号求或,一个是来自图59A到59C的总线故障检测电路544A的信号E114,另一个是来自图59A到59C的总线故障检测电路604的信号E124,求或后产生一个总的总线故障检测信号E160。如上所述,当在总线12-1或12-2中检测到总线自身故障可能性类型时,并不由总线12-1和12-2的故障检测信号的或信号执行断开,而仅仅将主处理器更新,处理继续进行。
图61A到61C表示一个本发明中的具有如下功能的实施例,即在第一次检测出总线故障可能性类型之后,处理器并不断开,而只是将主处理器更新并且继续进行处理,当再次检测到总线故障可能性类型时,根据第二次的故障检测判断总线自身产生了故障,因而将总线断开。总线故障检测电路544B在第一次检测出总线故障可能性类型的基础上产生第一个总线故障检测信号E171,在第二次检测出总线故障可能性类型的基础上产生第二个总线故障检测信号E172。在第一和第二次检测出总线故障可能性类型时都输出总线故障检测信号E114。由总线故障检测电路544B基于第一次总线故障可能性类型检测而产生的第一个总线故障检测信号E171被提供给主信息寄存器14C,借此允许主处理器被更新。由总线故障检测电路544B基于第二次总线故障可能性类型检测而产生的第二个总线故障检测信号E172被提供给了总线输出使能形成电路34。通过关闭总线输出允许标志断开到总线12的连接。
图62表示图61A到61C中的总线故障检测电路544B的实施例的方框图。总线故障检测电路544B基本上与在图54中的总线故障检测电路544相同。由处理器10-1到10-3中总线信息相异而产生的总线信息故障检测信号E121,E122和E123的反相信号被并行地输入到“与”门590,592和594之中。来自主处理器号译码电路542的译码信号E111,E112和E113被分别输入到“与”门590,592和594之中。在这种情况下,当处理器10-1被设置为主处理器时,只有译码信号E111被打开。在图53方式4中得到总线故障可能性类型的情况下,信号E121,E122和E123的状态分别是关闭、打开和打开,“与”门590的输出打开,借此通过“或”门596打开总线故障检测信号E114。来自“或”门596的总线故障检测信号E114被分别输入到“与”门630和632中。设置/重新设置总线故障可能性标志的标志寄存器598的输出的反相信号被提供给“与”门630的另一个输入端。由于在初始状态下,总线故障可能性标志关闭,标志寄存器598的输出关闭。通过对这个输出的反相输入,“与”门630处于允许态。因而,当总线故障检测信号E114因第一次总线故障可能性类型检测打开时,“与”门630的输出也被打开,借此打开第一个总线故障检测信号E171。此时,由于第一个总线故障检测信号E171已经被送入标志寄存器598的一个数据输入端,由“或”门602得到的总线信息故障检测信号E21打开,将总线故障可能性标志设置进去。如图61A到61C所示,由于第一个总线故障检测信号E171被输入到主信息寄存器14C中,主处理器被更新。
图63是图61A到61C中主信息寄存器14C的方框图。主信息寄存器14C的基本结构与图56中的结构是相同的。采用了“或”门634代替“或”门600。由图62中总线故障检测电路544B产生的第一个总线故障检测信号E171被输入到“或”门634中,借以由新主处理器号形成电路484强制对主信息寄存器进行更新。
重新参考图62,在第一总线故障检测信号E171打开并更新主处理器之后,当检测到方式4中相同故障类型时,例如,由于此时主处理器被切换到处理器10-2并且译码信号E112打开,当根据总线故障可能性类型而使总线信息故障检测信号呈现为(E121,E122,E123=打开,关闭,打开)时,“与”门592的输出打开。由“或”门596再次打开总线故障检测信号E114。此时,由于标志寄存器598中的总线故障可能性标志打开,由反相输入使“与”门630被设置为禁止态,“与”门632被设为允许态。因而,由于“或”门596的输出打开使“与”门632的输出也打开,并被作为第二个总线故障检测信号E172而输出出去。基于第二次总线故障可能性类型检测的第二个总线故障检测信号E172被输入到图64所示的总线输出使能形成电路34B中。总线输出使能形成电路34B的基本结构与图43中的总线输出使能形成电路34A相同。第二个总线故障检测信号E172由图62中的总线故障检测电路544B输入到“或”门636中,借此强制关闭标志寄存器460的总线输出允许标志。总线输出允许标志关闭使标志信号E84关闭,“与”门462被设置为禁止态,禁止由自主信号E1以及输出定时信号E2打开总线使能信号E3,并且在图52A到52C中的总线三态电路24被从总线12上断开。同时,在其他处理器10-2和10-3中,也执行将处理器10-1从总线12上断开的处理。因此,在构成TMR单元10的所有处理器10-1到10-3之中的总线输出允许标志都被关闭,并且执行将TMR单元10从总线12上断开的处理。在这种情况下,如果TMR单元10构成了图59A到59C中所示的多总线结构,故障的总线被从TMR单元10断开,在利用其余的多总线构成的弱化结构的情况下,可以继续进行处理。
在衅61A到61C所示的实施例中,当因噪声或类似问题在总线12中发生间断的故障时,这个检测作为总线故障可能性类型被由TMR单元10检测到。由总线故障可能性类型检测更新TMR单元10的主处理器。总线故障可能性标志被设置。在这种状态下,在系统正常运行很长一段时间之后,当因噪音或类似问题又在总线12上发生间断的故障时,由于总线故障可能性标志仍处于打状态,判断产生了总线故障,使总线12被断开。因而,利用图65中的总线故障检测电路544C代替图61A到61C中的总线故障检测电路544B,并且,为了避免因为总线的间断的噪声断开总线,提供了由软件打开重新设置总线故障可能性标志的功能。
图65中的总线故障检测电路544C的特点是,对图62中的总线故障检测电路544B的标志寄存器598而言,由三输入“或”门638代替了“或”门602,并且,除总线信息故障检测信号E21和主信息故障检测信号E50之外,标志寄存器598的总线故障可能性标志还可以被软件重新设置指令信号E174关闭。由软件重新设置总线故障可能性标志的处理由图66中的流程图所示。首先在步骤S1中,周期性读出标志寄存器598的总线故障可能性标志。当在步骤S2中确定了标志处于打开状态的情况下,执行步骤S3,并在经过一段预先设置的时间之后再次读取总线故障可能性标志。在步骤S4中若确定经过一段预先设时间后读取的标志仍是打开状态,执行步骤S5。在步骤S5中,通过打开软件重新设置指令信号E174,总线故障可能性标志被重新设置。因而,即使在超过预定时间的时间范围内因噪声或类似问题连续发生两次故障,曾被打开的总线故障可能性标志被软件指令强制关闭。因而,避免了总线在下一次故障检测中被断开。
图67是另一个总线故障检测电路544D的方框图,这个电路被用于取代图61A到61C中实施例中的总线故障检测电路544B。这个实施例的特点是,在第一次故障检测打开总线故障可能性标志之后,激活一个定时器,并且在定时器预先设置的一段时间以后,强制关闭总线故障可能性标志。即,在图61A到61C中的总线故障检测电路544D的特点是提供了定时器640,这个定时器由标志寄存器598的打开标志激活,并在一段预定时间过去之后打开定时器信号E175,定时器640的定时信号E175取代了软件重新设置指令信号E174中,被输入到“或”门638中。因而,从由第一次总线故障可能性类型检测的“或”门596输出的总线故障检测信号E114打开,从而打开“与”门630的输出,因而标志寄存器598的总线故障可能性标志被打开,定时器640的使能输入端打开,由此时输出的第一个总线故障检测信号E171打开装入负载端,并且激活定时器640。在预先设置的一段时间过去之后,当定时器输出信号E175打开,标志寄存器598的总线故障可能性信号被通过“或”门638强制重新设置为关闭状态。通过这样的包含定时器的硬件结构,当总线上连续两次发生因噪声而出现的间断故障时,可以避免将总线从TMR单元断开。
〔总线断开的软件通知〕
图68A到68C表示一个具有如下功能的实施例,即,当总线12自身发生故障并且被从TMR单元10上断开时,总线故障的事件显示到软件。为了向软件显示发生了总线断开故障的事件,提供了如TMR单元10中处理器10-1为代表所示的故障显示标志电路642。
图69是图68A到68C中的故障显示标志电路642的方框图。对故障显示标志电电路642提供了一个标志寄存器644。由来自图68A到68C的总线故障检测电路544B的在第二次总线故障可能性类型检测;打开的第二个总线故障检测信号E172,并输入到标志寄存器644的数据输入端。第二个总线故障检测信号E172和软件重新设置指令信号E176的“或”门646输出供给标志寄存器的写使能端。当两次连续发生总线故障可能性类型检测并且第二个总线故障检测信号打开时,标志寄存器644的总线故障产生标志打开,输出标志信号E178。此时,软件通过一个电路接收到通知,对于这个电路我们将稍后描述,软件读取标志寄存器644的总线故障产生标志,由于这个标志打开,软件可以得知发生了总线故障。当总线故障发生时,由于总线已经被断开,软件执行相应的故障处理,使在总线发生故障时执行的命令在结构弱化的情况下,通过剩余的正常总线得到执行。
图70A到70C表示一个具如下功能的实施例,即在TMR单元10仅由2个处理器执行弱化处理时,如果检测到总线信息故障或者是主信息故障,这样的事件被通知给软件。至于TMR单元10中的每一个处理器,如以处理器10-1为代表所示,当仅由2个处理器执行的弱化处理时,用以设置/重新设置指示故障检测状态的故障显示标志提供了故障显示标志电路,642A。显示处理器10-1到10-3现存状态的现存处理器显示标志信号E41到E43,被从现有处理器标志控制电路340输入到故障显示标志电路642。还将来自总线信息故障判断电路98B的总线故障检测信号E21输入电路642中,更进一步地,来自提供给TMR控制电路402的主信息故障检测判断电路的主信息故障检测信号E50也被输入电路642中。此外,总线故障检测电路504B在第二次检测到总线故障可能性类型时所产生第二个总线检测信号E172也被输入到电路642当中。
图71表示图70A到70C中故障显示标志电路642A的实施例方框图。除了在图69中的故障显示标志电路642之外,还将一个打开/关闭2-处理器故障发生标志的标志寄存器660提供给故障显示标志电路642A。由“与”门648,650和652以及“或”门654通过现有处理器标志信号E41,E42和E43检测出2个处理器的弱化类型,检测结果被输入到标志寄存器660的数据输入端。例如,当由图70A到70C中的处理器10-2和10-3执行弱化处理时,由于因断开连接而使现有处理器标志E41关闭而信号E42和E43打开,导致“与”门648的输出打开,并被通过“或”门654输入到“与”门656中去。总线信息故障检测信号E21或主信息故障检测信号E50被通过“或”门658送到“与”门656的另一个输入端。因而,当检测到故障时,“与”门656的输出打开,并且标志寄存器660的2一处理器故障发生标志被设置为打开状态。触发器660的标志可由“或”门662传送来的软件重新设置指令信号E180重新设置。因而,当由总线信息故障检测信号E2 1或者主信息故障检测信号E50通知故障发生时,软件从标志寄存器644和660读取标志信号E178和E182,并通过打开的标志信号E182识别出发生了2-处理器故障。软件可以执行必要的故障处理。
图72A到72C表示一个具有如下功能的实施例,当TMR单元10仅由两个处理器执行弱运行时,或者当总线自身发生故障时,如果检测到了总线信息相异或者主信息相异的故障,这样的事件被通知给软件。在实施例中,如构成TMR单元10的处理器10-1中所示,就提供了软件通知信号形成电路664。
图73表示图72A到72C中软件通知信号形成电路664实施例的方框图。根据软件通知信号形成电路664,提供了“或”门666中断信号触发器668给图71中的故障显示标志电路642A。也就是说,由标志寄存器664的总线故障发生标志打开标志信号E178,和标志寄存器660的2-处理器故障发生标志打开标志信号E182,被经“或”门666保存在触发器668中。因而,当总线故障可能性类型连续二次时,标志寄存器664的总线故障发生标志打开,由标志信号E178经“或”门666设置中断信号触发器668。由中断信号E184的打开,将故障发生情况通知给软件,并且可以执行必要的故障发生处理。类似地,当仅由二个处理器执行弱化运行时检测到了总线信息故障或主信息故障的情况,并且标志寄存器660的2-处理器故障发生标打开时,中断信号触发器668被设置,并且打开中断信号E184。向软件通知发生了故障中断。类似地,执行必要的故障处理。
〔切换故障处理器时的唤醒方式〕
图74表示一个唤醒方式的实施例,其中,在处理器10-3作为构成TMR单元10的处理器10-1到10-3之中的一个因故障断开之后,当故障处理器被新处理器替换时,此时将激活的系统设置为唤醒方式。虽然用三个模块构成包括一个主模块和两个从模块(其中一个是替换模块)表示了在实施例中的例子,这个发明也可以类似地应用到包含一个主模块和一个从模块(替换模块)的两个模块结构中。TMR单元10处于唤醒方式,是一个由主处理器10-1和从处理器10-2构成的弱化结构。替换模块10-3因其中的存储器内容与主处理器10-1和从处理器10-2的存储器内容不同而不能重新加TMR单元10。因而,在唤醒方式下,要执行从主处理器10-1到替换处理顺10-3进行存储器拷贝的处理。替换新处理器的操作如下所示:首先,在处理器10-3故障的状态下,TMR单元10在由两个处理器组成主处理器10-1和从处理器10-2的弱化结构中执行多路操作。在此状态下,当确定了处理器10-3发生了故障,如图所示操作员将故障处理器替换为新的处理器。当故障处理器被替换时,由于处理器10-1到10-3由时钟同步电平激活,TMR单元10的多路操作在这个时刻上停顿一次。在因多路操作而产生的所谓系统停顿状态下,在现有处理器10-1和10-2以及替换处理器10-3之间接三个处理器10-1到10-3执行时钟电平进行同步。更进一步地,替换处理器的状态被设置为现有处理器10-1和10-2相同的状态。当上述处理器之间的同步和内部电路状态的设置完成之后,相对处理器10-1到10-3全体设置为唤醒方式。由主处理器10-1和从处理器10-2作为TMR单元10多路操作和激活对替换处理器10-3存储器的拷贝处理。
为了能在唤醒状态下进行处理操作,在图74中表示的主处理器10-1作为代表,存储器控制单元706-1提供给主处理器10-1中的处理器单元702-1和作为主存储器的存储器704-1。存储器控制单元706-1经TMR控制电路48-1连到总线12上。总线12由数据总线12-10和地址总线12-11构成。对TMR控制电路48-1自身而言,采用了前述实施例中所详细描述的电路。利用唤醒方式,将唤醒方式设置电路1040-1作为设置单元提供给存储器控制单元706-1。在设置内部状态末尾的时间点上,以及在处理器由替换处理器10-1替换之后,在处理器10-1到10-3之中时钟电平操作末尾的时间点上;唤醒标志设置电路1040-1将唤醒标志转换到1。在从主处理器10-1的存储器704-1向替换处理器10-3的存储器进行拷贝的处理结束的时间点上,曾一度被打开的唤醒标志关闭为0。定时形成电路1060从处理器单元702-1接收PE访问信号e102从TMR控制电路48-1接收总线访问信号e104,并分别在读访问和写访问时,产生定时信号e60,e70和e80。也就是,在其他处理器通过读访问对处理器自身的存储器进行读访问时,定时信号e60打开,定时器信号e60由其他访问关闭。定时器信号e70在由自身处理器的处理器单元702-1对存储器704-1进行读访问时打开。在处理器自身的处理器单元702-1对存储704-1进行写访问时,类似地打开定时信号e80。地址总线1084由处理器单元702-1经多路复用器1082提供给存储器704-1。在总线12一侧的地址总线1086从TMR控制电路48-1输入到多路复用器1082中。定时信号e70或e80由处理器自身的处理器单元进行读访问或与访问时打开,多路复用器1082从定时形成电路1060经“或”门1074接受到定时信号e70或e80,借以将地址总线1084从处理器单元702-1连接到存储器704-1上。在另一方面,在定时形成单元1060从其他处理器读取存储器704-1的情况下,当定时信号e60打开时,由于“或”门1074的输出关闭,多路复用器1082将地址总线1086从TMR控制电路48-1连接到存储器704-1上。来自处理器单元702-1的数据总线1088经多路复用器1076连到存储器704-1上;并且还经TMR控制电路48-1从多路复用器1078连到外部数据总线12-10上。多路复用器1076从处理器单元702-1选择数据总线1088和从外部数据总线12-10经过TMR控制电路48-1选择数据总线1090。也就是说,当由处理器自身的处理器单元702-1的写访问使来自定时形成电路单元1060的定时信号e80打开时,并且当时的方式不是唤醒方式的时候,多路复用器1076选择来自处理器单元702-1的数据总线1088,并连到存储器704-1上。另一方面,当定时信号e70关闭,或者由外部访问设置唤醒方式时,来自TMR控制电路48-1侧的数据总线1090被选中,并被连到存储器704-1上。多路复用器1078选择从存储器704-1到外部数据总线12-10的数据总线1092和来自处理器单元702-1的数据总线1088。由带有一个“与”门和一个“或”门的门电路1070进行对多路器1078进行对多路器1078的选择控制。来自唤醒标志设置电路1040-1的标志信号e55和由处理器自身读访问所产生的来自定时形成电路单元1060的定时信号e70被输入到门电路1070的“与”门中。因而,由于唤醒方式设置状态,在处于打开状态时为标志信号e55。在这种状态下,当来自定时形成电路单元1060的指示处理器自身在作读访问的定时信号e70打开时,门电路1070的输出关闭,来自存储器70A-1的数据总线1092被选中,读取的数据被传送到外部数据总线12-10上。不论是否处于唤醒方式下,当从其他处理器的读操作打开来自定时形成电路单元1060的定时信号e60时,经门电路1070切换多路复用器1078,类似地,将从存储器读取的数据送到数据总线12-10。多路复用器1080经TMR控制电路48-1选择来自存储器704-1的数据总线1092和来自外部数据总线12-10的数据总线1090。由门电路1072执行对多路复用器1080的选择控制。门电路1072由一个两输入“与非”门和一个反相器构成。由于在唤醒方式下标志信号e55打开,门电路1072的反相器输出关闭。因而,不考虑由自身处理器读访问产生的来自定时形成电路单元1060的定时信号e70是关闭还是打开,“与非”门的输出总是打开的。多路复用器1080选择来自外部数据总线12-10的数据总线1090,并连到处理器单元702-1的数据总线1088上。因而,在唤醒方式下,从存储器704-1读取的数据并非直接由多路复用器1080传送出去,而是从多路复用器1078传送到外部总线上。与此同时,从多路复用器1080一侧获得读取数据并传输给处理器单元702-1。
图75A和75B表示在唤醒方式下,简化了主处理器10-1到10-3的读访问。图75A表示处理器10-1到10-3的处理器单元702-1到702-3同时对同一个存储器地址进行读访问的情况。也就是说,构成TMR单元10的处理器10-1和10-2以后替换处理器10-3,它们的处理器单元702-1到702-3同时通过提供给存储器控制单元706-1到706-3的数据切换单元1050-1到1050-3对存储器704-1到704-3进行读访问。此时,在唤醒标志设置电路1040-1到1040-3中,标志被分别设置为1。
图75B表示在对存储器顺序读访问时的读取数据的传送情况。首先在主处理器10-1中,通过设置唤醒方式,数据切换单元1050-1将以存储器704-1读取的数据传送到外部总线12上,在与此同时,从总线12上获得读取数据并传送给处理器单元702-1。另一方面,在从处理器10-2和替换处理器10-3中,处理器单元702-2和702-3的读访问并没有通过数据切换单元1050-2和1050-3,将来自存储704-2和704-3的读取数据分别传送至处理器单元702-2和702-3,相反地,它们被忽略掉了。取而代之的是,在总线12上获得读数据并分别传送到处理器单元702-2和702-3。如上所述,在唤醒方式的读访问中,从主处理器10-1的存储器704-1中读取的数据通过数据总线12映射到所有的处理器10-1到10-3的处理器单元702-1到702-3上。
图76A和76B表示在与图74中的主处理器的内部结构相同的情况下,在图75A中读访问时的操作处理情况。图76A表示主处理器10-1的操作。由来自处理器单元702-1的读访问使定时形成电路1060打开定时信号e70。此时,由于来自唤醒标志设置电路1040-1的标志信号e55打开,门电路1070的“与”门打开输出,并且多路和器1078,经“或”门切换到存储器704-1一侧的数据总线1092上。另一方面,由于标志信号e55打开使门电路1072的输出打开,多路复用器1080总是选择来自TMR控制电路48-1的数据总线1090。更进一步地,由于定时信号e70打开,使多路复用器1082经“或”门1074选择来自处理器单元702-1的地址总线1084。存储器704-1接收来自处理器单元702-1的读地址并将数据输出。从存储器7040-1读取的数据从多路复用器1078通过TMR控制电路48-1并由粗线箭头所示的那样,传送到外部数据总线12-10上。来自处理器单元702-1的地址数据也被直接传送到外部地址总线12-11上。传送到外部数据总线12-10的读取数据同时经TMR控制单元48-1和多路复用器1080传送到处理器单元702-1上。图76B表示在读操作时,从处理器10-2和替换处理器10-3的操作状态。虽然操作大体上与图76A中主处理器10-1的操作相同,却并不执行将数据输出到总线12上这一操作。因而,在替换处理器10-3中,由主处理器10-1传送到数据总线12-10的读取数据经TMR控制电路48-3和多路复用器1080送到处理器单元102-3上。亦即,在替换处理器10-3中,忽略掉对存储器704-3的读操作所读得的数据。从处理器10-2与图76B中的替换处理器执行大致相同的处理操作。
图77表示在唤醒方式下的写访问时的数据传送情况。一般情况下,在图75A和75B所示的读访问结束之后,如图77所示;处理器10-1到10-3的处理器单元702-1到702-1执行对存储器704-1到704-3的写访问。在写访问中,主处理器10-1经数据切换单元1050-1将写数据传送至外部总线12上并由数据切换单元1050-1从总线12上取得写数据,并且写入存储器70-1中。在另一方面,在从处理器10-2和替换处理器10-3中,当处理器单元702-2和702-3执行写访问时,由处理器10-1传送到总线12的写数据由数据切换单元1050-2和1050-3取得,并且写入存储器704-2和704-3中。也就是说,在从处理器10-2和替换处理器10-3中,来自处理器单元702-2和702-3自身的写数据被忽略掉。
图78A和78B表示图77中主处理器10-1和替换处理器10-3在写访问时的操作细节。图78A表示在唤醒方式下,主处理器10-1的写访问。与处理器单元702-1进行写访问结合,接收PE访问信号e102,定时形成单元1060打开定时信号e80。因而,“或”门1074的输出打开,多路复用器1084被选中,对存储器704-1进行地址设定。由于定时信号e80同时打开门电路10790的输出;多路复用器1078选择来自处理器单元702-1的数据总线1088,并由TMR控制电路48-1连到外部总线12-10上。由于唤醒标志打开,多路复用器1076经TMR控制电路48-1选择数据总线1090,并且把输出到总线12-10上的数据写入存储器704-1。图78B表示从处理器10-2和替换处理器10-3的写访问。显然执行的操作与图78A中主处理器10-1所执行的大致相同,但并不将数据输出到总线12上。
虽然图74的实施例中;作为例子提供给存储器存控制单元706-1的数据切换单元1050是用硬件构成的,在唤醒方式下,处理器也可以利用软件处理实现读访问和写访问。图79是在主处理器中由软件执行写访问的流程图。首先,在步骤S1中,先判断唤醒标志是否等于1。当唤醒标志等于1时,执行步骤S2,并且判断是读访问还是写访问。在读访问的情况下,在步骤S2中读取存储器,在步骤S4中;读取的数据被传向总线。在步骤S5中,从总线取得读取数据并且传送到处理器单元。当在步骤S2中判断出访问为写访问时,在步骤S6中将写数据从处理器单元传送到总线上。在步骤S7中从总线上获取写数据,并由步骤S8将数据写入存储器中。对于这样的唤醒方式设置状态,在多结构的普通TMR单元进行操作时,由于唤醒标志等于0,按照步骤S9判别读/写。在读访问的情况下,在步骤S10中读存储器。在步骤S11中将读取的数据传送给处理器单元。在写访问的情况下,在步骤S12中将写数据由处理器单元传送到存储器,并在步骤S13中将数据写入存储器。即,在普通的存储器访问情况下,读数据和写数据不向外部总线传送。这些处理在处理器内部执行。
图80是与在图79中主处理器相对应的从处理器或替换处理器的处理流程图。首先,在步骤S1中,当判断出唤醒标志已经被设置为1时,在步骤S2中检测是要作读访问还是作写访问。在读访问的情况下,在步骤S3中由处理器单元执行读取存储器。在步骤S4中,忽略存储器的读取的数据,并且获取由主处理器传送在总线上的读数据。在步骤S5中,读取的数据被传送给处理器单元。
在写访问的情况下,在步骤S6中,由处理器单元执行写存储器。在步骤S7中,忽略掉处理器单元的写数据,并且在总线上获取由主处理器传送的写数据。在步骤S8中,写数据被传输并且写入存储器中。在普通的多路操作中,其唤醒标志被关闭为0,与在图79中主处理器的步骤S9到S13方法相类似,在处理器中,对于读访问或写访问,执行通过存储器读传送到处理器单元和通过存储器传送执行来自处理器单元的写操作。
图81A和81B分部表示由本发明的唤醒方式设置处理,以及对应于一定处理阶段而未设置唤醒方式时的处理。图81A显示未设置唤醒方式时的处理。首先;在普通方式下,由三个模块多路操作,即,三个处理器10-1到10-3被执行。当在阶段F2所示状态下发生了模块故障时,在阶段F3中将故障模块从TMR单元10中断开。从剩余的正常的处理器中确定一个新的主处理器。此时包含2个模块的弱化结构执行多路操作。当转换到2个模块的多路操作时,在阶段F4中,由软件中断识别出故障模块,并且向外部输出数据。操作员可以识别出发生故障的模块。如在阶段F5中所示;操作员取出发生故障的模块。在阶段F6中,执行处理器替换以增加新模块。当系统处于2-模块操作状态下,在此情况下的处理器替换是一种积极的维护。如果在阶段F6中可以增加新的模块,现存模块的2-模块多路操作处理在阶段F2中被停止下来。在系统停顿状态,首先,如阶段F8所示,对新模块和现存模块的时钟电平进行同步。更进一步地,新模块的内部状态被设置为现存模块的内部状态。随后,在阶段F9中,执行从现有模块的主存储器向新模块的主存储器进行存储器拷贝。在存储器拷贝阶段,并不激活多路操作,这是因为,如果多路操作被激活,在拷贝操作中拷贝源的存储器内容被重写,导致在现存模块的存储内容与新模块的存储内容不一致。在存储器拷贝完成之后,在阶段F10,将存储器内容分配到TMR单元的从属模块中,并将TMR单元由三个处理器重新构造作为目的。在阶段F11取消系统停顿并且重新启动了一模块多路操作处理。在有的系统不具有上述本发明的唤醒模式的情况下,从在阶段F7中现有模块停止进行2-模块多路操作处理到在阶段F8的同步,在阶段F9的存储器拷贝,在阶段F10的3模块重新构成,这之间有必要停顿这个系统T1时间。另一方面,在允计设置本发明中的唤醒方式的情况下,在图81B表示例行的处理。在图81B中,在阶段F1到F7的内容与图81A中的大体相同。在阶段F7中,在替换和增加新模块基础上,停止由2-模块多路操作的现有模块的处理,由阶段F8执行在现有模块和新模块之间进行时钟电平同步并设置内部状态。此后,在阶段F9中,设置唤醒方式的标志信号被打开为1。随后,在阶段F10中,在没有完成存储器拷贝情况下重新起动处理。在重新起动处理时,重新起动现有模块的2-模块多路操作处理。因而,在本发明中,从本阶段F7现有块停止处理到阶段F9设置唤醒模式,只需停顿很短的一段时间T2。当在阶段F10重新起动处理时,在阶段F11执行从现有模块的主存储器向新模块的主存储器进行存府器拷贝。即使在存储器拷贝时主存储器的内容被2-模块多路操作重写,伴随着重写主存储器的访问数据从主处理器传送到外部总线上,并且被映射到从处理器和替换处理器的主存储器中。拷贝源存储器的内容与拷贝目的存储器内容总是一致。因而,没有必要在新模块存储拷贝期间将系统停下来,可以继续进行2-模块多路操作处理。在阶段F11完成存储器拷贝之后,在阶段F12将唤醒方式标志关闭为0。由于唤醒方式标志关闭,在阶段F13,新模块重新转换到TMR单元,重新构成了模块的TMR单元,并且重新起动3-模块多路操作处理。在唤醒方式设置状态下,替换处理器的存储器拷贝处理也可以由主处理器10-1的处理器单元完成,为了减轻处理器单元的负担,仅使用存储器拷贝的系统适配器提供给总线12,并且,可由来自主处理器10-1的存储器拷贝指令,系统适匹一侧也可以完成从主处理器到替换处理器的存储器拷贝的访问。
〔目录存储器〕
图82表示用于本发明的TMR单元和目录系统的处理器10-1,被用于对主存的访问。对处理器10-1提供了处理器单元702。处理器单元702由一个CPU和一个高速缓存机构构成。对于处理器单元702,也可以采用含有多个高速缓存的CPU的多CPU结构。通过存储器控制单元706提供给主存储器704。主存储器704由目录系统管理。为实现目录系统,提供了目录存储器控制单元1102和目录存储器1100。目录存储器控制单元1102经TMR控制电路48被进一步地连到外部总线(普通总线)12上,至于TMR控制电路48,我们已在实施例中作过详细讨论。主存储器704按预定大小的块单元进行划分,例如,按64个字节为一个单元进行划分,利用存储器块的地址作为入口,将目录信息保存在目录存储器1100中,以指示处理器10-1中的内存块处于何种状态。对于作为目录信息保存在目录存储器1100中的存储器块状态而言,例如,可有如下状态:“共享”态默认为这样一种状态,即在主存储器中存储器块的相同数据被保存在一个或多个处理器单元702的高速缓存中。“不明确”态指是这样一种状态,保存在处理器单元702的高速缓存中的最新数据与主存储器704中的数据不同。更进一步地,“无效”态指是这样一种状态,其中,主存储器704中的数据是最新数据但这个数据却并不存任何一个处理器单元的高速缓存中。在本发明的高可靠性的信息处理器的TMR单元结构中,当在多路操作时在某一特定的处理器中发生了故障时,故障处理器被从TMR单元中断开,借以由剩余的正常运行的处理器重新构成TMR单元。由操作员将因故障而断开的处理器替换为新的处理器。当故障处理器被替换为新处理器时,为了把替换处理器加入到TMR单元中,它必须使在目录存储器1100中的所有入口都无效。在进行无效处理中,由于处理器单元702执行对目录存储器1100中所有入口的写操作,对无效的操作系统停顿一段时间。应该尽可能使停顿时间越短越好。因而,在本发明中,使目录存储器1100无效的操作可以在瞬间完成。
图83是图82中目录存储器控制电路单元1102的方框图。可以由处理器单元只改变一个简单的寄存器指令的值,而瞬间完成目录存储器1100无效的操作。目录存储器控制单元1102提供如下的电路:地址形成单元1104,指令寄存器1106,比较单元1108和数据控制单元1110。目录信息已被保存在目录存储器1100中,以预定大小的块单元为基础划分主存储器704而得到目录存储器1100的每一个入口。每一个目录信息由存储器块状态1111和如图中影线部门所示的特定位1112构成。在打开系统电源进行初始化处理时,一个特定的值α,例如,(α=0)的位值被写入目录存储器1100中的特定位1112。在系统激活的初始化处理时,指示初始状态的代码,例如,(全0)被写入存储器块状态域1111。与写入目录存储器1100的特定位1112中的位值α相同的值,例如,α=0,在系统激活时,已被写入指令寄存器1106中。因而,在电源打开,系统被激活之后的运行状态下,指令寄存器1106和特定位1112中的值总是一致的。在TMR单元的运行态下,来自处理器单元702的对主存储器704的访问地址被设置到地址形成单元1104中。通过对目录破除计器的读访问,可以读取相应入口的目录信息。在对目录信息的读操作中,特定位1112的值被送往比较单元1108中,并且与指令寄存器1106中的值进行比较。此时,指令寄存器1106和特定位1112的值都是α,比较单元1108产生一个符合输出。在这种情况下,来自比较单元1108的使无数指令1114被关闭,因而,数据控制单元将从目录存储1100中读出的存储器状态111设置为有效,并根据存储器块状态1111所示的“共享”,“不明确”或“无效”状态,对主存储器704进行访问,或对处理器单元702的高速缓存进行访问。由于在操作过程中要替换处理器或者发生其他类似情况时,在有必要使用录存储器1100无效的情况下,保存在指令寄存器1106中的值α被改为另一个值β,例如,可以通过处理器单元702的命令使β=1。目录存储器1100中所有入口的地址形成工作都交付给地址形成单元1104来完成,借此,可以允许执行无效处理。即,每次地址形成单元1104标明产生的地址是作为目录存储器1100的入口时,特定位1112被读出,并由比较单元1108进行比较。此时,虽然特定位1112的值等于α,指令寄存器1106中的值已被变为β执行使无效操作。用于比较单元判断这些值并不符合,使无效指令1114被打开。数据控制单元1110接收无效指令1114,不论目录存储器1100的存储器块状态1111是什么,都将状态值改为指示“无效”态的值,即初始化时的(全0)值。如上所述,由目录存储器控制电路1102对目录存储器1100进行地址标识,可以高速完成使无效处理,而在从首地址到尾地址的范围内不需要处理器单元702的干预。
图84的流程图与在图82的处理器10-1中打开电源激活系统时对目录存储器1100进行初始化的处理有关。在初始化处理中,在步骤S1中,处理器单元将一个特定值α写入指令寄存器中。在步骤S2中,将起始地址设置到地址形成单元1104中。在步骤S3中,把设置在指令寄存器1106中相同的值α写入到目录存储器1100的特定1112中。在步骤S4中,将初始状态代码写入到存储器块状态域1111中。在完成对一个入口的初始化工作之后,在步骤S5中检查这个地址是否是结束地址。如果不是,在步骤S6中进行地址更新,并重复执行上述相同的处理。若地址是结束地址,在步骤S7中,将初始化结束来通知给处理器单元702。
图85的流程图是表示在普通操作状态下的处理。在步骤S1中,当有对目录存储器控制单元1102的访问与来自处理器单元702的主存储器访问相结合时,由地址形成单元1104标识访问地址,读取目录存储器1100,并且捕获特定位置1112的值。在步骤S3中,由比较单元1108将这个值同指令寄存器1106中的值进行比较。当在步骤S4中判别出这两个值是一致的时候,执行步骤S5。在目录存储器1100中的存储器块状态域1111被设为有效。根据读数据操作执行相应的处理。为比较单元1108判断出它们并不一致的时候,打开使无效指令单元1114。在步骤S6中,在目录存储器1100中的存储器块状态域1111执行无效的处理。在这种情况下,在步骤S2中,与“无效”态相一致的。对主存704进行访问。
图86的流程图是表示在图83中目录存储器控制单元1102在操作过程中的无效处理。首先,在步骤S1中,处理器单元702将指令寄存器1106中的值由初始化状态下的α设置为一个不相同的值β。在步骤S2中,由地址形成单元1104设置目录存储器1100的起始地址。在步骤S3中,读取由起始地址所标识的入口的特定位1112。在步骤S4中,由比较单元1108对特定位1112的值和指令寄存器1106的值进行比较。在这种情况下,由于比较单元1108的比较结果一定指示出产生了相异,它将在步骤S5中被识别出来。随后进入步骤S6,将指令寄存器1106中的值β写入目录存储器1100中的特定位1112,并且,与此同时,表示“无效”态的值被写入存储器块状态域1111。在步骤S7中,检查当前地址是否是尾地址。如果不是,在步骤S8中对地址进行更新,并访问下一个入口。在地址是尾地址的情况下,在步骤S9中,向处理器单元702通知无效结束。随着这个通知,处理器单元702被移位到,例如,在被重新构成的TMR单元中的运行状态。通过上述的第一次无效处理,所有在目录存储器1100中的特定位1112被设置为保存在指令寄存器1106中的值β,这个值是在无效发生时被改变的。
图87表示图83中目录存储器控制单元1102的方框图,它是由逻辑电路构成的。把目录控制单元1115提供给数据控制单元1110,借此向处理器单元702传送或接收访问信息1116。在普通操作过程中,当执行对主存储器的访问时,访问信息1116被输入到目录控制单元1115中。主存储器访问地址1118由在预定时间打开的地址保存指令1136保存到地址形成单元1104的D-触发器1134中。与此同时,目录控制单元1115输出一个存储器控制信号1150,并且在访问信息的基础上,更新存储器块状态域1111。随后,为在本发明的操作过程中允许使能无效处理,在电源打开后,恰好在初始化时,处理器单元702清除主存储器704,以便在目录存储器1110中所有入口的存储器块状态域1111被设置为全0。此时,构成指令寄存器1106的D-触发器中所保存的值α,例如,(α=比特0)被设置到在目录存储器1110中所有入口的特定位1112中,特定值α在电源打开后恰好在初始化时,也被从处理器单元作为数据1102提供给指令寄存器1106。指令寄存器1106在寄存器设置指令1130批开时,保存值α,寄存器设置指令1130来自包含译码器1124和“与”门1126的寄存器译码单元1122,这个指令在预定时间被打开。寄存器设置指令1130与来自目录控制单元1115的寄存器写指令1128同时打开。在操作过程中,在目录存储器无效的情况与处理器替换或类似事件相结合时,处理器单元写入一个不同的值β,例如(β=比特1)写入指令寄存器1106。也就是说,目录控制单元接收来自处理器单元的访问信息1116,并打开寄存器写指令1128。在寄存器写指令1128打开时,处理器单元提供地址1118和数据1120。由译码器1124识别寄存写信号。寄存器设置指令1130被打开。作为数据1120给出的不同的值β被设置到指令寄存器1106中。随后,处理器单元依次产生访问信息1116和地址1118,从首地址开始使目录存储器1110无效。因而,每当地址形成电路1104保持对目录存储器1110的访问地址时,通过由来自目录控制单元1115的存储器控制信号1150执行对目录存储器1110的读操作。通过驱动器114传送写数据和通过驱动器1146传送读数据,将数据从目录存储器1110传送到目录控制单元1115中。此时,在目录存储器1110中的特定位1112被输入到比较单元1108中。比较单元1108由写驱动器1140,读驱动器1142和比较电路1138构成。对特定位1112读取的数据经驱动器1142被送入比较电路1138中,并且与此时改变为β的指令寄存器1106中的值进行比较。由于特定位1112的值等于电源打开后初始化时设置的值α,这两个值不相同。由比较电路1138输出的使无效指令1114被打开。“与”门1148因使由于无效指令1114打开“与”门1148设置为禁止态。从在目录存储器1110中存储器块状态域1111读取的数据并不提供给目录控制单元1115。存储器块状态域1111被置为无效。由于无效指令1114打开,目录控制单元1115被设置为禁止态。从“与”门1148获得的数据被作为存储器块状态域1111的读取数据。目录控制单元1115经驱动器1144执行更新处理,把读取的数据写回存储器块状态域1111。因此,目录块状态域1111被重新写,例如,“全0”,指示“无效”状态。
图88表示在图83中目录存储器控制单元1102的另一个实施例,它的特点是,新提供了控制寄存器1160,可以强制禁止由比较单元1108打开无效指令1114。在本发明中,在把TMR单元构成一个高可靠性的信息处理器的情况下,在操作期间与处理器的替换相结合,它需要瞬间地无效目录存储器1110。然而,在本发明中所用的处理器被另一个处理器所利用,例如,由一个单个处理器所利用,在这种状况下,没有必要马上TMR使单元中的目录存储器1100无效。因而,在图88的实施例中,当它被用于TMR单元中,由控制寄存器1160的值使比较单元1108有效,并且,在另一个应用中不需要立即无效,通过改变控制寄存器1160的值,可以取消由比较单元1108指示无效的功能。
图89是由逻辑电路构成的图88中的目录存储器控制单元1102的方框图。为目录存储器控制单元1102提供了新的控制寄存器1160。由来自处理器单元的数据1164可改变在控制寄存器1160中的值,控制寄存器1160的值还可以被来自寄存器译码单元1122的基于寄存器写指令1128的寄存器设置指令1130所改变,上述的寄存器写指令1128是在访问信息1116的基础上产生的。控制寄存器1160的输出被输入到提供给比较单元1108的“与”门1166中。比较电路1138的输出被输入到“与”门1166的另一个输入端。“与”门1166的输出作为无效指令1114被送到数据控制单元1110中。把本发明的TMR单元作为一个处理器使用的情况下,比特1为写入控制寄存器1160中,打开“与”门1166的控制输出,“与”门1166被设置为允许态。因而,在无效处理过程中,因在比较电路1138中的相异打开无效指令信号的输出,并且这个输出被有效地输入到数据控制单元1110中。目录存储器1100被置为无效。另一方面,由于在目录存储器的使用过程中存在非TMR单元的其他使用,没有必要使目录存储器立即置为无效,将比特0存入控制寄存器1160和“与”门1166的控制输出被关闭。因而,“与”门1166被设置为禁止态,不论在比较电路1138中的输出是打开或者关闭,到数据控制单元1110的无效指令1114被关闭。从目录存储器1100中读出的存储器块状态域1111中的中的值总是得到有效的处理。
在TMR单元中,在使用在图82中所示的目录系统的处理器10-1时,有可能出现这样的情况,根据系统结构操作员期望多次进行无效操作。在这种情况下,在目录存储器控制单元1102中,当目录存储器1100被置为无效时,特定位1112中的值被改变为保存在指令寄存器1106中的值β,值β指示无效操作。因而,如果在无效操作结束时,指令寄存器1106中的值重新改为最初的值α,并且,在此之后,为了再次执行无效操作而使指令寄存器中的值变β,由于特定位1112已经在第一次使无效操作中被置为了β,在第二次无效操作中,比较单元1108的所有输入信号一致。使无效指令1114被关闭。不能执行无效处理。因而,为了在操作过程中多次执行无效处理,在把目录存储器1100置为无效的工作完成之后,有必要执行一个初始化处理。使特定位1112中的值β改变为初始值α。在作为TMR单元的处理器进行操作期间,一段时间重新初始化处理特定位1112返回到初始值α。因而,如图83所示,如果由访问信息和来自处理器单元702的入口地址指令来实施,就会加重处理器单元702的负担,并且它作为TMR单元而进行的多路处理的性能会下降。因而,如图90的一般流程图所示,在步骤S1中的初始化之后,在步骤S2中执行普通的处理。在步骤S3中,由替换处理器或类似原因执行了第一次无效操作。此后,在步骤S4中再次执行第二次初始化操作。随后,在步骤S5中执行第二次无效操作。在这种情形下,为了在步骤S4中的重新初始化操作降低了处理顺单元的负担,如在图91中的实施例所示,在目录存储器控制单元1102一侧提供给硬件初始化电路。
在图91中,目录存储器控制单元1102含有:地址形成单元1104,指令寄存器1106,比较单元1108,以及在图83的装置相似的实施例中的数据控制单元1110。除了上述部件之外,为目录存储器控制单元1102提供了目录存储器1100进行初始化处理的硬件初始化控制单元1170,初始化激活寄存器1172,初始化地址寄存器1174和一个完成显示寄存器1176。由目录存储器单元1102将指令寄存器1106中的值从α变为β,当执行完目录存储器1100的无效操作时,处理器单元702向初始化激活寄存器1172中写入一个指示初始化指令的值。由于初始化激活寄存器11729接收了写操作的输出,初始化单元1170起动初始化操作。在初始化操作过程中,目录存储器1100中的首地址被第一次设置到初始化地址寄存器1174,并通过地址形成单元1104读取目录存储器1100。通过上述的读操作,由比较单元1108对特定位1112和指令寄存器1106中的值作比较。此时,在目录存储器1100中的特定位1112已经因第一次进行无效操作则改变为β值。而指令寄存器1106的值已灰复到初始值α。因而,由于出现相异,比较单元1108打开无效指令1114。数据控制单元1110接收到打开的无效指令1114,将读取的数据中的特定位1112设置为指令寄存器1106中的值α,并且把存储器块状态域1111改变为初始状态,并再次重写。在目录存储器1100中的所有入口都执行上述的初始化操作。在处理完成之后,完成的指示的这个值被写入完成显示寄存器1176,并作为对来自处理器单元702的状态命令的响应,而通知出去。在目录存储器1100的操作过程中,完成了上述的初始化操作之后,可以把指令寄存器1106的值由α改变为β,可以再次执行对目录存储器1100的无效操作。
图92是图91中的目录存储器控制单元1102的逻辑电路方框图。来自处理器单元的数据1184在目录控制单元1115产生寄存器设置指令1186时被保存入初始化激活寄存器1172,寄存器设置指令1186基于来自处理器单元的访问116,由此,给初始化控制单元1170的起动指令1188被打开。与此同时,因初台化起动指令1188打开,作为地址计数器的初始化地址计数器1174被清除。把定时器电路1178和预定值判断电路1180提供给初始化控制单元1170。当接收到处于打开状态的起动指令1188时,定时器电路1178被激活,此后,在预定的时间段上输出初始化指令1190。初始化指令1190被送往目录控制单元1115,并使得目录存储器1100被初始化和更新。在这种情况下,从初始化地址寄存器1174经多路器1182供给目录存储器地址1185。在无效操作发生时,多路器1182被切换到D-触发器1134一侧,由处理器单元作为目录存储器地址1185的输出地址1118。由存储器控制单元1150获得的存储器数1145到目录存储器1100,也就是说,所读得的数据通过驱动器1146输入到“与”门1148。在这种情况下,虽然没有表示出来,与在图88中相同比较单元1108被提供给目录存储器控制单元1102,并对在目录存储器中的特定位1112的值和指令寄存器1106中的值作比较。虽然指令寄存器1106中的值为α,由于使用无效处理,目录存储器1100中的特定位1112等于β。由于这两个值不一致,打开无效指令1114,借此将“与”门1148设置为禁止态。因而,从目录存储器1100中读出的存储器数据1145被作为“全0”输入到目录控制单元1115。由存储器控制信号1150将输入到目录存储器控制单元1115的“全0”的读取数据传送给“与”门1142。在这种情况下,打开初始化指令1190,并把“与”门1142设置为禁止态。因而,来自目录控制单元1115的写数据被设置为“全0”,并由驱动器1114作为存储器数据1145供给目录存储器1100,并被写入。因此,在指令寄存器中的值相同的α,“α=0”,被写入目录存储器1100的特定位1112,并且“全0”也被写入全部的块状态域1111。在写操作完成之后,当提供给初始化控制单元1170的定时器1178再次打开和初始化指令1190时,初始化地址寄存器被设置为+1,标识下一个存储地址。对初始化控制单元1170提供了预定值判断电路1180,对在初始化址寄存器中存储器地址1175与在目录存储1100中的预定最大地址比较。因而,当预定值判断电路1180判断出存储器地址1175与在目录存储器1100中的最大地址相同时,打开初始化完成指令1192,定时器电路1178被重置,初始化操作停止。与此同时,初始化完成指令被传送到作为完成显示寄存器的D-触发器1176中,并作为数据1194通知给处理器单元。把完成显示寄存器1176中的值通知给处理器单元可采用下述方法:通过发送状态命令处理器单元定期地查看完成显示寄存器1176或者类似的使用完成显示寄存器1176的输出来中断处理器单元。
图93表示图91的一个改进型,它的特色是,可以由处理器单元随意设置对目录存储器1100的初始化处理之间的间隔值。即,在图91中的初始化控制单元1170中,虽然可以由图92所示的定时器电路1178已经固定地设置初始化周期,如果目录存储器1100的访问间隔太短,来自处理器单元702的存储器访问变忙,并导致执行性能降低。当访问间隔太大的情况下,需要过长的时间进行初始化。更进一步地,初始化处理的访问间隔的最佳值甚至随系统或操作形式而变化。因而,在图93的实施例中,初始化处理的访问间隔周期必要时可由来自处理器单元702的指令来设置。在图93的实施例中,比图91的实施例新增加了一个预设间隔指令寄存器1200。现在将要讨论寄存器1200的实施细节。如在图94的目录存储器控制单元1102中所示,采用了一个定时器电路,对初始化控制单元1170提供了定时电路1178的定时器周期可以由外部设置,借此使打开初始化指令1190的定时器周期可随预设间隔信息1202的变化而变化,预设间隔信息1202来自预设间隔指令寄存器1200。来自处理器单元702的数据1184在寄存器设置指令1186打开时,被保存到预设间隔指令寄存器1200中。可由数据1184确定定时器电路1178的定时器周期,其他的结构与图91中的逻辑电路的结构大致相同。
图95显示目录存储器1100的使用状态,这个状态与图82中在处理器10-1中的主存储器704的配置状态相对应。一般情况下,主存储器含有一种可扩展对几个主存储器704-1到704-n的结构。由于配置的存储器数目不同,主存储器的容量也有很大的不同。另一方面,目录存储器1100的存储器容量与主存的最大容量相对应。在这样的可扩展主存储器的结构中,在实际系统中,很少发生安装了最大主存储器数的存储器的情况。
在图95的例子中,安装了3个主存储器704-1到704-3,并且,对应于安装状态的目录存储器1100的使用状态被设置为影线利用区域1204。在这种情形下,对目录存储器1100的整个区域进行初始化是徒劳的。只初始化利用区域1204就足够了。因而,在图96的实施例中,处理的初始化入口数量与对应实际安装主存储器的数量相同,从目录存储器1100的首地址开始,进行初始化处理,处理的次数与上述入口数相同。附图91中的实施例外,对于在图96中的目录存储器控制单元1102,新提供了初始化入口数寄存器控制单元1102,新提供了初始化入口数寄存器1206和地址比较单元1208。与实际安装的主存储器数相对应的初始化入口数被保存在初始化入口数寄存器1206中。把实际安装的主存储器容量被目录系统的块容量除,即得到初始化入口数。地址比较单元1208比较以下2个值:一个是由初始控制单元1170初始化处理所更新的初始化地址寄存器1174中的值,另一个是指示目录系统中初始化结束位置的初始化入口数寄存器1206中的值。当他们一致;地址比较单元1208打开比较输出,借此由初始化控制单元1170结束初始化处理。
图97表示在图96中的目录存储器控制单元1102中的以下部分的逻辑电路:包括初始化控制单元1170,地址比较单元1208,初始化入口数寄存器1206。首先,由来自处理器单元的指令将指示初始化入口数的数据1212送到初始化入口数寄存器1206,并在处理器设置指令1210打开时被保存。保存在初始化入口数寄存器1206中的初始化入口数被输入到地址比较单元1208中。另一方面,在这个实施例中,初始化控制单元仅有定时器电咱1178,并且由来自初始化激活寄存器1172的起动指令1188打开时被激活,在预定定时器周期由打开初始化指令1190,并将指令1190输出到初始化地址寄存器1174和目录控制单元1115(未表示)。由地址比较单元1208对在初始化地址寄存器1174中的当前初始化地址1175与在初始化入口数寄存器1206中的值进行比较。当他们一致时,打开初始化完成指令1192。通过重新设置定时器1178,完成初始化处理。
图98表示图96的一个改进型,它的特点是,对任意特定的目录存储器区域执行初始化处理。即,有可能出现这样的情况,在图95中的主存储器的安装地址是间断的,而非连续的。在这种情况下,如果在目录存储器中从地址0到最大地址的这样二个范围进行初始化操作,要花费较长的时间。因而,有必要对分部部分的区域进行初始化。按照在图98中的实施例,除了在图96中的初始化入口数寄存器1206之外,还增加了起始地址寄存器1214和地址加法单元1216。可由来自处理器单元702的指令任意的初始化起始地址写入起始地址寄存器1214中。使用区域的初始入口数,在初始化地址寄存器1214的起始地址,设置的起动点被存贮在初始化入口数寄存器1206中。在起始地址寄存器1214中的初始化入口数被传送到初始化地址寄存器1174,并形成起始地址。由地址加法单元1216将起始地址加到在初始化入口数寄存器1206中的值上,以计算初始化结束地址,并将其设置到地址比较单元1208中。地址比较单元1208把每次初始化时从初始化地址寄存器1174输出的初始化目标地址与来自地址加法单元1216的初始化结束地址相比较。当它们一致时,初始化控制单元1170停止控制。
图99表示在图98中对应的逻辑电路:初始化控制单元1170,地址比较单元1208,初始化入口数寄存器1206,起始地址寄存器1214和地址加法单元1216。即,对图96中的电路,又新提供了使用(1)-触发器起始地址寄存器1214和地址加法单元1216。由寄存器指令1218打开而存储的起始地址数据1220被保存在起始地址寄存器1214中,作为对初始化地址寄存器1174的数据,并被用作计数器的初始值。因而,由提供给初始化控制单元1170的定时器1178在预定周期内打开初始化指令1190,使初始化地址寄存器1174从设置在起始地址寄存器1214中的起始地址开始计数。并从起始地址开始执行初始化处理。当地址比较单元1208判断出初始化地址与地址加法单元1216输出的初始化结束地址相同时,打开初始化完成指令1192,定时器1178被关闭,初始化处理完成。
图100表示图98的一个改进型。为简化硬件结构,图100的特点是,提供了由处理器单元设置目录存储器1100中初始化结束地址的尾地址寄存器1222。其他的结构基本上与图98中的结构相同。
图101表示初始化控制单元1170,地址比较单元1208,尾地址寄存器1222,起始地址寄存器1214和初始化地址寄存器1174的一部分逻辑电路。与图99相比较,根据这个逻辑电路,只利用了一个尾地址寄存器1222来代替初始化入口数寄存器1206和加法单元1216,以便硬件结构可以得到了简化。根据处理器单元702一侧的主存储器安装状态,由基于实际安装的存储器容量的初始化入口数到起始地址的值相加,得到在目录存储器1100中的初始化结束的计算值,并将其设置到尾地址寄存器1222中。
根据本发明的如上描述,不必准备大规模的硬件结构,可由相对较小规模的硬件结构廉价地实现具有高可靠功能的信息处理系统。
可以无疑地检测到故障。更进一步地,当故障发生时,故障处理器被断开,并不必把所有构成多路单元的处理器停下来就可重新构成一个弱化的结构,在保持处理内容匹配操作时可以继续进行处理。
当故障处理器被替换为新处理器时,即使在主存储器拷贝期间,通过设置唤醒方式,经总线传送将主处理器的存储器访问映射到从处理器和替换处理器的存储器中。因此,系统可以继续操作,而不必停止构成现存多路复用单元的处理器的多路复用操作,并且不会在拷贝处理过程中,产生存储器内容不一致。在更换处理器时的系统停顿时间被削减到量小。可明显改进作为容错系统的信息处理器的高可靠性。
更进一步地,由于基于在目录存储器中的特定位和在指令寄存器中的值之间相异地执行无效操作,仅仅通过改变指令寄存器可以使在目录存储中的整个区域无效。可在很短的时间内完成对目录存储器的无效操作。作为TMR单元运行时的系统停顿时间被削减为最小。这非常有利于作为高可靠性信息处理器的性能改进。

Claims (26)

1.一种信息处理系统,其特征在于包括:
一个多路复用单元,它通过一条总线连接,并具有许多处理器同时执行相同的操作,其中,上述处理器中的一个设置为主处理器,其余处理器设置为从处理顺,上述主处理器执行将形成的信息传送到上述总线和在上述总线上获取信息,上述从处理器执行在上述总线上获取信息;
为上述多路复用单元的每个处理器设置的多路复用控制电路,并且基于由上述每个处理器形成的信息和输出到上述总线的信息之间的比较结果检测故障,从而,让内部电路执行必要的处理。
2.根据权利要求1的系统,其特征在于:
上述多路复用控制电路具有一个信息一致判断电路,用于在输出到上述总线的信息和由上述处理器的每一个形成的信息之间检测互异,并在上述每一个处理器形成的信息的输出定时,由上述信息一致判断电路实施互异检测判断。
3.根据权利要求1的系统,其特征在于上述多路复用控制电路包括:
输出定时形成电路,用于当形成的信息输出到上述总线时,形成一个定时信号,指示信息输出定时;
定时信号输出电路,用于通过在主处理器的配置状态中的专用信号线,向其他处理器输出上述定时信号;
急线信息故障检测电路,用于按上述信号线输入的定时信号或在主处理器的配置状态中由处理器自身形成的定时信号,输出总线信息和输出信息的比较结果,以及用于按上述信号线输入的主处理器的定时信号或者在从处理器的配置状态中由处理器自身形成的定时信号,输出总线信息和输出信息的比较结果。
4.根据权利要求1的系统,其特征在于上述多路复用控制电路具有:
总线信息故障检测电路;用于当根据总线信息和输出信息的比较而检测到故障时,由专用信号线把故障检测结果输出到其他处理器;
总线信息故障判断电路,用于当从其他处理器获得了故障检测结果或者获得了处理器自身的故障检测结果时,形成一个指示故障的故障判断信号。
5.根据权利要求1的系统,其特征在于,当检测到了主处理器的故障时,被分配为主处理器的处理器的多路复用控制电路由处理器自身和上述总线断开连接,并由被分配为从处理器的处理器的多路复用控制电路在剩余的处理器中确定一个新的主处理器,并重新构成一个弱化的多路复用单元。
6.一种信息处理系统,其特征在于包括:
多路复用单元,通过总线被连接并具有许多处理器同时执行相同的操作,其中,上述处理器中的一个处理器设置为主处理器,其余处理器设置为从处理器,上述主处理器执行向上述总线传送形成的信息并获取在总线上的信息,上述从处理器执行在上述总线上信息的获得;
对上述多路复用单元的每个处理器提供的多路复用控制电路,在由述每个处理器形成的输出信息和被输出到上述总线的总线信息之间的比较结果基础上检测故障,由此允许内部电路执行必要的处理;
一个现存处理器显示标志电路具有一个现存处理器显示标志来指示在构成多路复用单元的许多处理器中那个处理器正常地运行,那个处理处由于故障或类似问题从上述多路复用单元断开。
7.根据权利要求6的系统,其特征在于:
上述多路复用控制电路具有一个输出屏蔽电路,用于当从上述多路复用单元处理器自身被断开时,通过被关闭的上述现存处理器显示标志来屏蔽从处理器自身信息的输出,并输出上述被屏蔽的输出信息。
8.根据权利要求7的系统,其特征在于:
上述多路复用控制电路具有一个总线输出允许标志电路,用于设置在到总线的输出允许状态中打开总线输出允许标志,而且上述输出屏蔽电路根据上述总线输出允许标志屏蔽从处理器自身信息的输出,并输出这个被屏蔽的输出信息。
9.根据权利要求7的系统,其特征在于上述多路复用控制电路具有一个输入屏蔽电路,用于当从处理器自上述多路复用单元断开时,根据被关闭的上述现存处理器显示标志屏蔽从其他处理器的输出信息,并输入上述被屏蔽的输出信息。
10.根据权利要求1的系统,其特征在于:
上述多路复用控制电路具有一个主信息通知电路,用于相互通知主信息,通过专用信号线由输入和输出上述主信息,指明每个处理器识为那个处理器作为主处理器。
11.根据权利要求10的系统,其特征在于:
上述多路复用控制电路具有一个主信息故障判断电路,用于形成主故障判断信号,该信号在上述主信息通知电路中处理器自身的主信息和从其他处理器通知的主信息之间比较结果基础上,指出其中产生了主信息故障的处理器。
12.根据权利要求11的系统,其特征在于:
当由上述主信息故障判断电路判断出是主处理器故障的主信息时,上述多路复用控制电路从总线上断开这个故障的主处理器,从其余的从处理器中确定一个新的主处理器,并且重新构成一个弱化了的多路复用单元。
13.一种信息处理系统,其特征在于包括:
多路复用单元,通过总线连接并具有许多处理器同时执行相同的操作,其中上述处理器中有一个处理器被设置为主处理器,其余处理器设置为从处理器,上述主处理器执行向上述总线传送形成的信息并获取在上述总线上的信息,而上述从处理器执行获取在上述总线上的信息;
对上述多路复用单元的每个处理器提供一个多路复用控制电路,它基于由上述处理器的每一个处理器形成的输出信息和被输出到上述总线的总线信息之间比较结果检测故障,由此使内部电路执行必要的处理;
更进一步地,对上述处理器的每一个处理器提供一个收发电路并被安置在上述多路复用控制电路的总线输入/输出电路和总线之间;
对上述处理器的每一个处理器的多路复用控制电路提供一个总线故障检测电路,该电路当检测到总线故障可能性模式时即关于,总线信息故障,主处理器中被判断为正常而在所有的从处理器中判断到是总线信息故障时,打开总线故障可能性标志,在上述总线故障可能性标志打开的基础上更新主处理器,在上述总线故障可能性标志打开的基础上更新主处理器,并由于上述更新,禁止旧的主处理器从上述多路复用单元断开。
14.根据权利要求13的系统,其特征在于:
在第一次检测到上述总线故障可能性模式而打开上述标志基础上更新主处理器之后,当检测到上述旧的主处理器故障时,上述总线故障检测电路确定旧的主处理器产生了故障,由此断开旧的主处理器并重新构成一个被弱化了多路复用单元。
15.根据权利要求13或14的系统,其特征在于:
在上述每个处理器中提供有许多上述总线,由此构成一个多总线,设有各总线的上述每个多路复用控制电路提供有上述总线故障检测电路,在由于第一次检测到上述总线故障可能性模式而打开,上述标志的基础上,更新主处理器之后,当再次检测到上述总线故障可能性模式时,上述总线故障检测电路断开所有连接到上述总线上的处理器,由此使系统以弱化的多总线结构运行。
16.根据权利要求13的系统,其特征在于:
在打开状态持续预定时间或更长时间而没有产生故障情况下,上述总线故障检测电路复位上述总线故障可能性标志。
17.一个信息处理系统,其特征在于包括:
多路复用单元通过总线连接并具有许多处理器同时执行相同处理操作,其中,上述处理器中的一个处理器设置为主处理器,其余处理器设置为从处理器,上述主处理器执行向上述总线传送形成的信息并获取在上述总线上的信息,上述从处理器执行获取在总线上的信息;
一个方式设置单元,用于当由于故障从上述多路复用单元断开的处理器被替换成新处理器,并就构成上述多路复用单元的处理器,  实施时钟电平的同步时,设置唤醒方式;以及
一个存储器控制单元,用于在设置了上述唤醒方式的状态中允许上述主处理器经过总线执行存储器访问,并让上述从处理器和上述替换处理器获取在总线上的数据和允许执行存储器访问。
18.根据权利要求17的系统,其特征在于在设置了上述唤醒方式的状态中,
在有处理器读访问存储器情况下,上述主处理器的上述存储器控制单元读数据从存储器传送到上述总线,在这同时,从上述总线获取读数据并传送到上述处理器,
在有读访问存储器的情况下,上述从处理器和上述替换处理器的每个存储器控制单元获取由上述主处理器从上述总线传送的读数据。
19.根据权利要求18的系统,其特征在于在设置了上述唤醒方式的状态中,
在有处理器写访问到存储器的情况下,上述主处理器的上述存储器控制单元将存伴器写数据传送到上述总线,在这同时从上述总线获取写数据,并传送和写入到上述存储器,
在有写访问到存储器的情况下,上述从处理器和替换处理器的每个存储器控制单元获取由上述主处理器从上述总线传送的写数据并写入到存储器。
20.一种信息处理系统,其特征在于包括:
多路复用单元通过总线连接并具有许多处理器同时执行相同处理器操作,其中,上述处理器中的一个处理器设置为主处理器,其余的处理器设置为从处理器,上述主处理器执行将形成的信息传送到上述总线并获取在上述总线上的信息,上述从处理器执行获取在上述总线上的信息;
一个目录存储器,在该目录存储器中存储了指示主存储器被划分或预定块大小的每个存储器状态的目录信息,更进一步地,由于电源打开在系统初始化时把特定值写入到上述目录信息的特定位;
一个指令寄存器,在该指令寄存器中存贮有上述目录信息的特定位相同的值;
一个数据控制单元,用于当上述目录信息被读出时,比较上述特定位的值和上述指令寄存器中的值,当这些值一致时,使上述目录信息为有效,当上述值不一致时,修改上述目录信息“无效”状态,指示在主存储器中数据是最新的并不存在于其他部分中;
一个使无效单元,用于当上述处理器被替换时,将上述指令寄存器中的值改变成另一个值的单元,由此使上述目录存储器中所有内容无效。
21.根据权利要求20的系统,其特征在于进一步具有,一个控制寄存器,用于禁止数据控制单元使上述目录存储器无效的处理,并具有即使当在上述指令寄存器中的值和上述目录信息特定位的值不一致时,上述目录信息成为有效。
22.根据权利要求20的系统,其特征在于进一步包括:
一个初始化启动寄存器;
一个初始化完成显示寄存器;
一个初始化控制单元,用于当一个预定值由处理器写入到上述初始化启动寄存器时,使上述数据控制单元开始上述目录存储器的初始化操作,在初始化操作期间将与上述指令寄存器中相同的值,写入上述目录存储器的特定位,将指示“无效”状态的值写入到其位,并且在上述目录存储器中所有区域写入完成之后,将指示初始化完成的值到上述完成显示寄存器;
在上述目录存储器的无效之后,接着使目录存储器初始化,由此使无效被执行许多次。
23.根据权利要求22的系统,其特征在于进一步具有一个时间段指令寄存器,用于为上述初始化控制单元对上述目录存储器登录单元的初始化操作指定时间段。
24.根据权利要求22的系统,其特征在于进一步包括:
一个初始化登录号数寄存器,用于对应于上述主存储器的安装号数,在上述目录存储器中指示初始化登录号数;
一个地址比较单元,用于当在初始化操作期间被更新的初始化目标地址与上述初始化登录数寄存器所指示的地址号数相一致时,指示初始化操作结束给上述初始化控制单元;
其中对应于上述主存储安装的上述目录存储器的一个区域能够初始化:
25.根据权利要求24的系统,其特征在于进一步包括:
一个起始地址寄存器,用于指示初始化起动地址;
一个地址加法单元,用于把上述初始化登录寄存器所指示的初始化登录号数加到上述起动地址寄存器所指示的起始地址上,从而得到初始化结束的地址;
其中上述地址比较单元,当在初始化操作期间更新的初始化目标地址同上述加法单元表的地址相一致时,把初始化操作的结束来指示给上述初始化控制单元,由此启动在上述目录存储器中对应于上述主存储器的安装,各不连续区域的初始化。
26.根据权利要求24的系统,其特征在于,进一步包括:
一个起始地址寄存器,用于指示初始化起动地址;
一个结束地址寄存器,用于指示初始化结束地址;
其中上述地址比较单元,当在初始化操作期间被更新的初始化目标地址与上述初始化结束地址相一致时,将初始化操作的结束指示给上述初始化控制单元,由此启动在上述目录寄存器中对应于上述主存储器安装的任意区域的初始化。
CN96110641A 1995-07-13 1996-07-11 信息处理系统 Expired - Fee Related CN1122217C (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP177102 1995-07-13
JP17710295 1995-07-13
JP073541 1996-03-28
JP07354196A JP3502216B2 (ja) 1995-07-13 1996-03-28 情報処理装置

Publications (2)

Publication Number Publication Date
CN1159630A true CN1159630A (zh) 1997-09-17
CN1122217C CN1122217C (zh) 2003-09-24

Family

ID=26414684

Family Applications (1)

Application Number Title Priority Date Filing Date
CN96110641A Expired - Fee Related CN1122217C (zh) 1995-07-13 1996-07-11 信息处理系统

Country Status (4)

Country Link
US (2) US5835697A (zh)
JP (1) JP3502216B2 (zh)
CN (1) CN1122217C (zh)
GB (1) GB2345365B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1129857C (zh) * 1998-12-15 2003-12-03 富士通株式会社 多处理器转换装置和主处理器转换方法
CN1819593B (zh) * 2004-11-01 2010-05-05 联想(新加坡)私人有限公司 信息处理器和数据传输系统及方法
CN102207927A (zh) * 2011-05-27 2011-10-05 清华大学 动态可重构处理器之间的数据传输方法、处理器和系统
CN102591763A (zh) * 2011-12-31 2012-07-18 龙芯中科技术有限公司 一种基于确定性重放的处理器整体故障检测系统与方法
CN102855441A (zh) * 2002-03-29 2013-01-02 英特尔公司 用于执行安全环境初始化指令的系统和方法
CN106384489A (zh) * 2016-09-08 2017-02-08 四川赛科安全技术有限公司 用于实现火灾报警控制器回路扩容的分管器

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3502216B2 (ja) * 1995-07-13 2004-03-02 富士通株式会社 情報処理装置
US6151643A (en) 1996-06-07 2000-11-21 Networks Associates, Inc. Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer
US5923831A (en) * 1997-09-05 1999-07-13 International Business Machines Corporation Method for coordinating membership with asymmetric safety in a distributed system
JP3344345B2 (ja) * 1998-12-15 2002-11-11 日本電気株式会社 共有メモリ型ベクトル処理システムとその制御方法及びベクトル処理の制御プログラムを格納する記憶媒体
US6493777B1 (en) * 1999-09-15 2002-12-10 Lucent Technologies Inc. Method for dynamically reconfiguring data bus control
US7213167B1 (en) * 2000-01-18 2007-05-01 Verso Technologies, Inc. Redundant state machines in network elements
US7908520B2 (en) * 2000-06-23 2011-03-15 A. Avizienis And Associates, Inc. Self-testing and -repairing fault-tolerance infrastructure for computer systems
EP1278336A1 (en) * 2001-03-30 2003-01-22 Yozan Inc. Radio lan system, radio lan system control method, and control program
US20030012169A1 (en) * 2001-03-30 2003-01-16 Sunao Takatori Wireless lan system and control method and control and control program of wireless lan system
US6836840B2 (en) * 2001-07-30 2004-12-28 International Business Machines Corporation Slaves with identification and selection stages for group write
US6965558B1 (en) * 2001-08-23 2005-11-15 Cisco Technology, Inc. Method and system for protecting a network interface
EP1353271A3 (en) * 2002-04-10 2007-09-12 Alps Electric Co., Ltd. Controller with fail-safe function
US7222254B2 (en) * 2003-09-15 2007-05-22 Intel Corporation System and method for over-clocking detection of a processor utilizing a feedback clock rate setting
US7167955B1 (en) * 2003-12-23 2007-01-23 Unisys Corporation System and method for testing and initializing directory store memory
US8495411B2 (en) * 2005-02-07 2013-07-23 International Business Machines Corporation All row, planar fault detection system
US7506196B2 (en) * 2005-02-07 2009-03-17 International Business Machines Corporation System and method for detecting a faulty object in a system
US7506197B2 (en) * 2005-02-07 2009-03-17 International Business Machines Corporation Multi-directional fault detection system
US7437595B2 (en) * 2005-02-07 2008-10-14 International Business Machines Corporation Row fault detection system
US7451342B2 (en) * 2005-02-07 2008-11-11 International Business Machines Corporation Bisectional fault detection system
US7826379B2 (en) * 2005-02-07 2010-11-02 International Business Machines Corporation All-to-all sequenced fault detection system
US7529963B2 (en) * 2005-02-07 2009-05-05 International Business Machines Corporation Cell boundary fault detection system
US7246332B2 (en) * 2005-02-08 2007-07-17 International Business Machines Corporation Methods, systems and media for functional simulation of noise and distortion on an I/O bus
US7543180B2 (en) * 2006-03-08 2009-06-02 Sun Microsystems, Inc. Enhancing throughput and fault-tolerance in a parallel-processing system
JP4253332B2 (ja) * 2006-07-03 2009-04-08 株式会社東芝 復号装置、方法およびプログラム
US9757639B2 (en) 2009-11-24 2017-09-12 Seth E. Eisner Trust Disparity correction for location-aware distributed sporting events
US7934983B1 (en) * 2009-11-24 2011-05-03 Seth Eisner Location-aware distributed sporting events
TW201421349A (zh) * 2012-11-27 2014-06-01 Hon Hai Prec Ind Co Ltd Dvi鏈接自動切換系統及方法
JP5983362B2 (ja) * 2012-11-29 2016-08-31 富士通株式会社 試験方法、試験プログラム、および、試験制御装置
WO2014118985A1 (ja) * 2013-02-04 2014-08-07 三菱電機株式会社 バスモジュール及びバスシステム
CN104657240B (zh) * 2013-11-18 2018-08-21 华为技术有限公司 多内核操作系统的失效控制方法及装置
US9690678B2 (en) * 2014-03-19 2017-06-27 Siemens Energy, Inc. Fault tolerant systems and method of using the same
KR20160010785A (ko) * 2014-07-18 2016-01-28 삼성전자주식회사 가전기기 및 그 제어 방법
US10649690B2 (en) * 2015-12-26 2020-05-12 Intel Corporation Fast memory initialization
CN106020898A (zh) * 2016-05-30 2016-10-12 华讯方舟科技有限公司 一种多处理器设备的软件升级方法及系统
JP6608875B2 (ja) * 2017-06-20 2019-11-20 Necプラットフォームズ株式会社 診断制御装置、診断制御方法およびプログラム
CN109709930B (zh) * 2017-10-25 2020-09-25 株洲中车时代电气股份有限公司 一种故障导向安全控制装置及方法
US10277385B1 (en) * 2018-05-27 2019-04-30 Nxp B.V. Slave node for CAN bus network

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59220865A (ja) * 1983-05-30 1984-12-12 Hitachi Ltd 二重化共有メモリのオンライン保守制御方法
US4965717A (en) * 1988-12-09 1990-10-23 Tandem Computers Incorporated Multiple processor system having shared memory with private-write capability
AU625293B2 (en) * 1988-12-09 1992-07-09 Tandem Computers Incorporated Synchronization of fault-tolerant computer system having multiple processors
JPH07117905B2 (ja) * 1989-02-09 1995-12-18 日本電気株式会社 マイクロプロセッサ
FR2649224B1 (fr) * 1989-06-30 1995-09-01 Nec Corp Systeme de traitement de l'information capable de prendre facilement en charge le traitement d'un processeur defaillant
US5297269A (en) * 1990-04-26 1994-03-22 Digital Equipment Company Cache coherency protocol for multi processor computer system
US5347639A (en) * 1991-07-15 1994-09-13 International Business Machines Corporation Self-parallelizing computer system and method
JPH05128080A (ja) * 1991-10-14 1993-05-25 Mitsubishi Electric Corp 情報処理装置
JP3063334B2 (ja) * 1991-12-19 2000-07-12 日本電気株式会社 高信頼度化情報処理装置
JPH05204692A (ja) * 1992-01-30 1993-08-13 Nec Corp 情報処理装置の故障検出・切離方式
GB2268817B (en) * 1992-07-17 1996-05-01 Integrated Micro Products Ltd A fault-tolerant computer system
US5434997A (en) * 1992-10-02 1995-07-18 Compaq Computer Corp. Method and apparatus for testing and debugging a tightly coupled mirrored processing system
JPH0773059A (ja) * 1993-03-02 1995-03-17 Tandem Comput Inc フォールトトレラント型コンピュータシステム
JP3200757B2 (ja) * 1993-10-22 2001-08-20 株式会社日立製作所 並列計算機の記憶制御方法および並列計算機
US5630056A (en) * 1994-09-20 1997-05-13 Stratus Computer, Inc. Digital data processing methods and apparatus for fault detection and fault tolerance
US5537583A (en) * 1994-10-11 1996-07-16 The Boeing Company Method and apparatus for a fault tolerant clock with dynamic reconfiguration
US5530946A (en) * 1994-10-28 1996-06-25 Dell Usa, L.P. Processor failure detection and recovery circuit in a dual processor computer system and method of operation thereof
US5577050A (en) * 1994-12-28 1996-11-19 Lsi Logic Corporation Method and apparatus for configurable build-in self-repairing of ASIC memories design
JP3502216B2 (ja) * 1995-07-13 2004-03-02 富士通株式会社 情報処理装置

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1129857C (zh) * 1998-12-15 2003-12-03 富士通株式会社 多处理器转换装置和主处理器转换方法
US9990208B2 (en) 2002-03-29 2018-06-05 Intel Corporation System and method for execution of a secured environment initialization instruction
CN102855441A (zh) * 2002-03-29 2013-01-02 英特尔公司 用于执行安全环境初始化指令的系统和方法
CN102855441B (zh) * 2002-03-29 2015-12-16 英特尔公司 用于执行安全环境初始化指令的系统和方法
US10031759B2 (en) 2002-03-29 2018-07-24 Intel Corporation System and method for execution of a secured environment initialization instruction
US10042649B2 (en) 2002-03-29 2018-08-07 Intel Corporation System and method for execution of a secured environment initialization instruction
US10175994B2 (en) 2002-03-29 2019-01-08 Intel Corporation System and method for execution of a secured environment initialization instruction
CN1819593B (zh) * 2004-11-01 2010-05-05 联想(新加坡)私人有限公司 信息处理器和数据传输系统及方法
CN102207927A (zh) * 2011-05-27 2011-10-05 清华大学 动态可重构处理器之间的数据传输方法、处理器和系统
CN102207927B (zh) * 2011-05-27 2016-01-13 清华大学 动态可重构处理器之间的数据传输方法、处理器和系统
CN102591763A (zh) * 2011-12-31 2012-07-18 龙芯中科技术有限公司 一种基于确定性重放的处理器整体故障检测系统与方法
CN102591763B (zh) * 2011-12-31 2015-03-04 龙芯中科技术有限公司 一种基于确定性重放的处理器整体故障检测系统与方法
CN106384489A (zh) * 2016-09-08 2017-02-08 四川赛科安全技术有限公司 用于实现火灾报警控制器回路扩容的分管器
CN106384489B (zh) * 2016-09-08 2019-01-01 四川赛科安全技术有限公司 用于实现火灾报警控制器回路扩容的分管器

Also Published As

Publication number Publication date
CN1122217C (zh) 2003-09-24
US5835697A (en) 1998-11-10
JP3502216B2 (ja) 2004-03-02
US6073249A (en) 2000-06-06
JPH0991163A (ja) 1997-04-04
GB2345365A (en) 2000-07-05
GB2345365B (en) 2000-08-16
GB0007412D0 (en) 2000-05-17

Similar Documents

Publication Publication Date Title
CN1122217C (zh) 信息处理系统
CN1114859C (zh) 数据共享方法和计算机体系结构
CN1225709C (zh) 分散存储型多处理机系统及故障恢复方法
CN1137439C (zh) 容错计算机系统
Czaja et al. Immunologic features and HLA associations in chronic viral hepatitis
CN1157960C (zh) 电信平台系统及其方法
CN102483705B (zh) 多核结构的用户级中断机制
CN1259212A (zh) 容错计算机系统
Konstantinidis et al. Trends between gene content and genome size in prokaryotic species with larger genomes
EP1573544B1 (en) On-die mechanism for high-reliability processor
CN1175341C (zh) 异步更新共享资源的接口系统和方法
CN1192314C (zh) 并行处理器结构的sram控制器
JP3800564B2 (ja) フェイル−ファースト、フェイル−ファンクショナル、フォルトトレラント・マルチプロセッサ・システム
Hurst et al. Growth effects of uniparental disomies and the conflict theory of genomic imprinting
CN1487415A (zh) 使用基于时间的断点调试计算机程序的方法和系统
TW432284B (en) Recovery mechanism for l1 data cache parity errors
EP3683681B1 (en) An interrupt controller and method of operation of an interrupt controller
CN1779660A (zh) 三者间的异步复制
CN1466720A (zh) 代理程序系统
CN1722046A (zh) 安全处理器和用于安全处理器的程序
CN1764904A (zh) 虚拟排序的写
CN1080105A (zh) 一种分布控制方法及实现自动保护转换的机械装置
CN1301476C (zh) 网关卡、网关控制方法以及网关装置
CN1690973A (zh) 远程复制方法及远程复制系统
CN1770110A (zh) 对I/O完成进行无锁InfiniBandTM轮询的方法、系统和存储介质

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20030924

Termination date: 20130711