A fault-tolerant computer architecture is described wherein the effect of
hardware faults is diminished. The architecture employs a main data bus
having a plurality of interface slots for interconnecting conventional
computer sub-systems. The number and type of sub-systems may vary
considerably, however, a central processor sub-system which encompasses
the inventive elements of the invention is always included. The central
processor sub-system employs a plurality of central processing modules
operating in parallel in a substantially synchronized manner. One of the
central processing modules operates as a master central processing module,
and is the only module capable of reading data from and writing data to
the main data bus. The master central processing module is initially
chosen arbitrarily from among the central processing modules. Each central
processing module contains a means by which the module can compare data on
the main data bus with data on a secondary bus within each module in order
to determine if there is an inconsistency indicating a hardware fault. If
such an inconsistency is detected, each module generates state outputs
which reflect the probability that a particular module is the source of
the fault. A synchronization bus which is separate from the main data bus
interconnects the central processing modules and transmits the state
outputs from each module to every other central processing module.
Une architecture d'ordinateur insensible aux défaillances est décrite où l'effet des défauts de matériel est diminué. L'architecture utilise un bus de données principal ayant une pluralité de fentes d'interface pour relier ensemble des sous-ensembles conventionnels d'ordinateur. Le nombre et le type de sous-ensembles peuvent changer considérablement, cependant, un sous-ensemble d'unité centrale de traitement qui entoure les éléments inventifs de l'invention est toujours inclus. Le sous-ensemble d'unité centrale de traitement utilise une pluralité de central traitant des modules fonctionnant en parallèle d'une façon sensiblement synchronisée. Un du central traitant des modules fonctionne comme module de traitement central principal, et est le seul module capable des données de lecture de et des données d'écriture au bus de données principal. Le module de traitement central principal est au commencement choisi arbitrairement de parmi le central traitant des modules. Chaque module de traitement central contient les moyens par lesquels le module peut comparer des données sur le bus de données principal aux données sur un autobus secondaire dans chaque module afin de déterminer s'il y a une contradiction indiquant un défaut de matériel. Si une telle contradiction est détectée, chaque module produit des sorties d'état qui reflètent la probabilité qu'un module particulier est la source de défaut. Un autobus de synchronisation qui est séparé du bus de données principal relie ensemble le central traitant des modules et transmet l'état produit de chaque module à chaque autre module de traitement central.