DE69126924T2 - Effiziente Fehlererkennung in einer VLSI-zentralen Verarbeitungseinheit - Google Patents

Effiziente Fehlererkennung in einer VLSI-zentralen Verarbeitungseinheit

Info

Publication number
DE69126924T2
DE69126924T2 DE69126924T DE69126924T DE69126924T2 DE 69126924 T2 DE69126924 T2 DE 69126924T2 DE 69126924 T DE69126924 T DE 69126924T DE 69126924 T DE69126924 T DE 69126924T DE 69126924 T2 DE69126924 T2 DE 69126924T2
Authority
DE
Germany
Prior art keywords
main
central processing
cache
bytes
byte
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.)
Expired - Fee Related
Application number
DE69126924T
Other languages
English (en)
Other versions
DE69126924D1 (de
Inventor
Bruce E Flocken
Russell W Guenthner
Ronald E Lange
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.)
Bull HN Information Systems Inc
Original Assignee
Bull HN Information Systems Inc
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 Bull HN Information Systems Inc filed Critical Bull HN Information Systems Inc
Application granted granted Critical
Publication of DE69126924D1 publication Critical patent/DE69126924D1/de
Publication of DE69126924T2 publication Critical patent/DE69126924T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf Informationsverarbeitungssysteme, und insbesondere auf eine wirksame Fehlererfassung in den Ergebnissen, die von einer Basisverarbeitungseinheit einer Großintegrations-Zentraleinheit (VLSI-CPU) erhalten werden.
  • Dieses Fehlererfassungsschema kann in bekannten Verarbeitungssystemen der Art ausgeführt werden, wie sie beispielsweise im US-Patent Nr. 4 456 952 mit dem Titel "Data Processing System Having Redundant Control Processors for Fault Detection" beschrieben ist. Dieses US-Patent ist dem Berechtigten der vorliegenden Patentanmeldung übertragen worden.
  • Das Patent gemäß dem Stande der Technik bezieht sich auf ein Datenverarbeitungssystem, das von einem Mikroprogramm gesteuert wird und zwei dual geschaltete Steuerprozessoren enthält, d.h. die CPU weist ein Paar von Steuerprozessoren auf und besitzt einen einzelnen Steuerspeicher und einen einzelnen Cache-Speicher. Weitere Merkmale des Standes der Technik können aus dem Oberbegriff des Anspruches 1 entnommen werden. Das bekannte System ist in üblicher Schaltungstechnik aufgebaut und macht keinen Gebrauch von modernen VLSI-Techniken, noch zieht sie Vorteil daraus.
  • Beim Entwurf einer Grundgerät- bzw. Großrechner-CPU, die die VLSI- Technik anwendet, ist es wünschenswert, die Anzahl verschiedener Typen von VLSI-Chips zu begrenzen, die benutzt werden, um die Auslegungsaufgabe innerhalb beherrschbarer Grenzen zu halten. Andererseits ist es aber auch sehr erwünscht, eine wirksame und zuverlässige Fehlererfassung sowie Handhabungseigenschaften vorzusehen und diese Forderung zwang zur Schaffung verschiedener Schaltungen, Firmware und Software, um die verschiedenen Fehlertypen zu erfassen und zu erkennen, die im Betrieb auftreten können. Unter den möglichen Fehlerzuständen, die in einer VLSI-Zentraleinheit angetroffen werden, befinden sich solche, bei denen eine Basis- Verarbeitungseinheit (BPU) beim Ausführen eines Befehls, wie etwa die Durchführung einer Routinedatenbehandlung, wie etwa das Berechnen, lediglich ein falsches Resultat liefert. Es kann gezeigt werden, daß die Anwendung einer eingebauten Fehlererfassung in der Beschaltung einer BPU sowohl zu einer Verdopplung der erforderlichen Chiptypen sowie zur Verdopplung der Anzahl der erforderlichen Chips führt, als auch zur Notwendigkeit des Einbauens von Vorladeschaltungstechniken. Diese Maßnahme erweitert nicht nur den zur Entwicklung einer BPU erforderlichen Entwurfsaufwand erheblich, sondern vergrößert auch das "Grundstück" oder den von der BPU und ihren Nebenschaltungen besetzten Raum, und dementsprechend den der CPU.
  • Es ist daher eine allgemeine Aufgabe der vorliegenden Erfindung, eine verbesserte Fehlererfassungsfähigkeit in einer VLSI-Zentraleinheit zu schaffen.
  • Es ist ein spezielleres Ziel der vorliegenden Erfindung, eine verbesserte Fehlererfassungsfähigkeit zum Erfassen eines Fehlerzustandes beim Betrieb einer VLSI-Basisverarbeitungseinheit zu schaffen.
  • Kurz gefaßt, werden die obigen und weitere Aufgaben in vorteilhafter Weise hauptsächlich durch Anwenden der in den kennzeichnenden Teilen des Anspruches 1 angegebenen Merkmale gelöst. Weitere Merkmale und Aspekte der Erfindung sowie Verbesserungen sind in den zugehörigen Unteransprüchen definiert.
  • Eine VLSI-CPU umfaßt eine BPU, die eine Adressier- und Ausführungseinheit (AX), eine dezimalnumerische Einheit (DN) und eine Gleitpunkteinheit (FB) enthält, und die weiter eine Cache-Einheit enthält, die logisch zwischen der BPU und dem Systemspeicher plaziert ist, wobei dies durch Verdoppeln jedes der AX-, DN und FB-Chips (d.h. Verdoppeln der BPU) sowie durch redundantes Durchführen aller BPU-Datenbehandlungsoperationen erfolgt. Die von den doppelten BPUS gelieferten Ausgaben werden an einen entsprechenden Haupt-Ergebnisbus (MRB) und einen entsprechenden Neben-Ergebnisbus (SRB) übermittelt, die an die Cache-Einheit angeschlossen sind, und in der Cache-Einheit werden die Ergebnisse verglichen. Falls die Ergebnisse nicht bei jedem Byte des Ergebnisses identisch sind, gibt der individuelle Chip in der den Ungleichheitszustand erfassenden Cache-Einheit ein Fehlersignal aus, so daß geeignete Schritte zum Abhelfen oder anderweitigen Reagieren auf das Fehlersignal unternommen werden können.
  • Der Wesensgehalt der Erfindung wird besonders im schlußfolgernden Abschnitt der Beschreibung herausgestellt und deutlich unterscheidend beansprucht. Die Erfindung kann aber sowohl hinsichtlich des Aufbaus als auch des Betriebsverfahrens am besten unter Bezugnahme auf die nachfolgende Beschreibung in Verbindung mit den angeschlossenen Ansprüchen und beigefügten Zeichnungen verstanden werden.
  • Fig. 1 ist ein sehr stark vereinfachtes Blockdiagramm der zentralen Systemstruktur eines Informationsverarbeitungssystems, bei dem der Erfindungsgegenstand Anwendung findet;
  • Fig. 2 ist ein allgemeines Blockdiagramm der Zentraleinheit der zentralen Systemstruktur der Fig. 1, bei dem die Zentraleinheit des Erfindungsgegenstandes verwendet wird;
  • Fig. 3 ist ein Zeitgabediagramm, das die Beziehung zwischen den Zeitgabeimpulsen CK1 und CK2 darstellt, die in der CPU und in der erfindungsgemäßen Fehlererfassungslogik angewandt werden;
  • Fig. 4 ist ein Blockdiagramm der Cache-Einheit, das die Beziehung zwischen den darin enthaltenen zehn Datenchips (DT) veranschaulicht; und
  • Fig. 5 ist ein Blockdiagramm eines der DT-Chips der Cache-Einheit, das die Fehlererfassungslogik des Erfindungsgegenstandes näher veranschaulicht.
  • Nachfolgend wird die Erfindung im einzelnen beschrieben.
  • Zunächst soll das Augenmerk auf Fig. 1 gerichtet werden, die eine exemplarische Zentral-Subsystemstruktur (CSS) darstellt, in der das Erfindungskonzept verkörpert werden kann. Die Systemsteuereinheit (SCU) 1 zentralisiert und steuert den operativen Ablauf des Systembuses 2 und des Speicherbuses 3. Im einzelnen ist die Aufgabe der SCU 1: A) Durchführen der Speichersteuerung, Durchführen der Einzelbitfehlerkorrektur und der Doppelbitfehlererfassung; B) Steuern der Speicherkonfiguration, bestehend aus einer oder mehreren Speichereinheiten (MU) 4; C) Handhaben der Übertragungen der 64-Bytes-Blöcke zwischen den Zentraleinheiten (CPUs) 5 und den Speichereinheiten (MUs) in Verbindung mit der Ausübung des Cache-Einspeichermerkmals der CPUs; D) Korrigieren der Einzelbitfehler, die in modifizierten Blöcken eines CPU-Caches oder bei einer Datenübertragung von einer CPU, MU oder einer Eingabe/Ausgabe-Einheit (IOU bzw. EAU) 6 gefunden werden; und E) Aufnehmen der Systemkalenderuhr.
  • Der Systembus 2 verbindet eine bis vier CPUs und eine bis vier IOUs untereinander und mit der SCU. Der Systembus enthält eine bidirektionale 16-Bytes-Datenschnittstelle, eine bidirektionale Adressen- und Befehlsschnittstelle, eine SCU-Statusschnittstelle, die von allen CPUs und IOUs überwacht wird, und eine kleine Anzahl von Steuerleitungen zwischen der SCU und jeder einzelnen CPU und IOU. Daten werden auf dem Systembus in Gruppen von 16, 32 oder 64 Bytes ausgetauscht; und weiter können Daten zwischen einer CPU und einer MU, einer IOU und einer MU, zwei CPUs, und einer CPU und einer IOU ausgetauscht werden. Die über den Systembus 2 laufenden Operationen sind folgende:
  • - Lesen: 16, 32 oder 64 Bytes;
  • - Exklusives Lesen: 64 Bytes;
  • - Schreiben von der IOU: 16, 32 oder 64 Bytes;
  • - Schreiben von der CPU (Swapping): 64 Bytes;
  • - Unterbrechungen und Anschließen; -Lese-/Schreibregister.
  • Jede Systembusoperation besteht aus einer Adreßphase und einer Datenphase, wobei eine Adreßphase alle zwei Maschinenzyklen starten kann. Anschließende Übertragungen von 16-Bytes-Daten innerhalb einer Gruppe können bei aufeinanderfolgenden Maschinenzyklen stattfinden. Eine IOU oder CPU kann auf die Datenphase von bis zu zwei Anforderungen gleichzeitig warten. Die Datenblöcke werden in der gleichen Reihenfolge übertragen, wie die Anforderungen empfangen werden.
  • Der Speicherbus 3 verbindet eine bis acht MUs mit der SCU. Der Speicherbus umfaßt eine bidirektionale 16-Bytes-Datenschnittstelle, eine Adreßund Befehlsschnittstelle von der SCU zu allen MUs, und eine kleine Anzahl von Steuerleitungen zwischen der SCU und jeder einzelnen MU. Daten werden auf dem Speicherbus in Gruppen von 16, 32 oder 64 Bytes ausgetauscht. Die über den Speicherbus 3 laufenden Operationen sind folgende:
  • - Lesen: 16, 32 oder 64 Bytes;
  • - Schreiben: 16, 32 oder 64 Bytes.
  • Der Hauptspeicher besteht aus bis zu acht MUs. (Ein neunter Schlitz, MU 4A, kann zur Erleichterung der Rekonfiguration und der Reparatur im Falle eines Versagens vorgesehen werden.) Mit jedem Doppelwort wird ein Einzelbitkorrektur-Doppelbiterfassungscode gespeichert; d.h. 8 Codebits für jede 72-Datenbits. Der Code ist so aufgebaut, daß ein 4-Bit-Fehler in einem einzelnen Chip als vier Einzelbitfehler in vier unterschiedlichen Worten korrigiert wird. Daten in einer MU werden von der SCU in 16-Bytes- Inkrementen (vier Wortinkrementen) adressiert. Alle Bytes innerhalb irgendeiner MU werden nacheinander adressiert; d.h. es gibt keine Verschachtelung zwischen MUs, die parallel arbeiten. Ein Speicherzyklus kann mit jedem Maschinenzyklus starten; und ein Speicherzyklus, von einer CPU her gesehen, umfaßt zehn Maschinenzyklen, wobei keine Konflikte mit anderen Einheiten unterstellt sind. Eine MU 4 enthält 160 dynamische Direktzugriffs- Speichereinheiten (DRAM, von denen jeder n mal 4-Bit-Speicherelemente umfaßt, wobei n = 256, 1024 oder 4096 ist.
  • Jede der IOUS 6 stellt eine Verbindung zwischen dem Systembus 2 und zwei Eingabe-/Ausgabebussen (IOBs) 7 her, derart, daß jeder IOB einen Übergang zu einer einzelnen IOU herstellt. Eine IOU vollzieht also Datenübertragungen zwischen der CSS und den E/A-Subsystemen, nicht dargestellt in Fig. 1.
  • Eine Takt- und Wartungseinheit (CMU) 8 erzeugt, verteilt und stimmt ab die Taktsignale für alle Einheiten in der CSS, sie bildet die Schnittstelle zwischen dem (den) Dienstprozessor(en) (SB) 9 und den Zentralverarbeitungs-, Eingabe/Ausgabe- und Energieversorgungssubsystemen; sie initialisiert die Einheiten der CSS; und sie behandelt Fehler, die in den CSS-Einheiten erfaßt werden. Die CSS verwendet ein Zweiphasen-Taktsystem und verklinkte Registerelemente, bei denen die absteigende Flanke des Taktes 1 die Endphase 1, und die absteigende Flanke des Taktes 2 das Ende der Phase 2 definiert, wobei jede Phase die Hälfte eines Maschinenzykluses ausmacht.
  • Die Systemprozessoren (SP) 9 können aus einem üblichen Personalcomputer mit integriertem Modem zur Erleichterung der Femwartung und der Fernoperationen bestehen, wobei große Systeme zwei SPS umfassen können, durch die das System dynamisch für hohe Verfügbarkeit rekonfiguriert werden kann. Der SP führt vier größere Funktionen aus:
  • - Überwachen und Steuern des CSS während der Initialisierung; Operationen der Fehlerprotokollierung und der Fehlerdiagnose;
  • - Wirken als die primäre Betriebssystemkonsole während des Urladens des Systems oder auf Bedienerbefehl;
  • - Wirken als Konsole und Datenserver für die Eingabe-/Ausgabe- Subsysteme des Wartungskanaladapters (MCA);
  • - Bereitstellen einer Fernwartungsschnittstelle.
  • Nachfolgend wird auf Fig. 2 Bezug genommen, die ein allgemeines Blockdiagramm für eine der CPUs 5 der Fig. 1 darstellt. Die Adreß- und Auftragsausführungseinheit (AX-Einheit) ist ein Mikroprozessormechanismus, das alle Adressiervorbereitungen durchführt und alle Befehle ausführt, mit Ausnahme von Dezimalarithmetik-, Binärgleitpunkt- und Multiplexier-/Dividierbefehlen. Zwei identische AX-Chips 10, 10A führen parallel Doppelaktionen durch oder führen den gleichen Befehl zusammen durch; und die entstehen den AX-Chipausgaben werden ständig miteinander verglichen, um Fehler zu erkennen. Nachfolgend wird die Struktur des AX-Chips näher beschrieben. Die von der AX-Einheit durchgeführten Hauptfunktionen umfassen:
  • - Bilden von absoluten und virtuellen Adressen;
  • - Speicherzugriffssteuerung;
  • - Sicherheitsprüfungen;
  • - Registeränderungs-, Registerbenutzungssteuerung;
  • - Ausführen von Basisbefehlen, Schiebebefehlen, Sicherheitsbefehlen, Zeichenbearbeitungsbefehlen- und gemischten Befehlen.
  • Die Cache-Einheit 11 umfaßt einen Datenteuspeicher- oder Direktzugriffsspeicher (RAM) von 64K Bytes (16K Worte) und einen eingerichteten assoziativen Verzeichnisteil, der den Hauptspeicherplatz jedes im Cache- Datenteil gespeicherten 64-Byte-Blocks (16-Wortblock) definiert. Physikalisch wird die Cache-Einheit in einem Array von 10 Daten-(DT)-Chips 11, einem Cache-Verzeichnis-(CD)-Chip 12 und einem Doppelverzeichnis-(DD)-Chip 13 implementiert. Jeder der DT-, CD- und DD-Chips wird nachfolgend näher beschrieben.
  • Die vom DT-Chiparray 11 durchgeführten spezifischen Funktionen umfassen:
  • - Kombinierte Befehls- und Operandendatenspeicherung;
  • - Befehls- und Operandenpufferung und -aufreihung;
  • - Datenschnittstelle zum Systembus 2 (Fig. 1);
  • - CLIMB-Sicherungsdatei.
  • Die Cache-Schreibstrategie lautet "store into". Falls beim Lesen eines Abschnittes eines modifizierten Blocks aus dem Cache ein Längsparitätsfehler erfaßt wird, wird der Block aus dem Cache ausgelagert, durch die SCU korrigiert und in den Hauptspeicher eingeschrieben. Dann wird der korrigierte Block aus dem Hauptspeicher zurückgeholt.
  • Zwei Kopien der Cache-Verzeichnisinformation werden jeweils in den CD- und DD-Chips gehalten, welche verschiedene logische Funktionen durchführen. Die beiden Verzeichniskopien ermöglichen die Befragung des Cache- Inhalts vom Systembus her parallel und ohne Störung des Befehls-/Operandenzugriffs von den CPUs her, und sie stehen auch zur Fehlerkorrektur bereit. Funktionen, die vom CD-Chip 12 durchgeführt werden, beinhalten:
  • - Cache-Verzeichnis für CPU-Zugriffe;
  • - Befehls-, Operanden- und Speicherpufferverwaltung;
  • - seitenorientiert speichernder Puffer für Virtuell-Real-Adreßumsetzung.
  • Funktionen, die vom DD-Chip 13 durchgeführt werden, beinhalten:
  • - Cache-Verzeichnis für Systemzugriffe;
  • - Systembussteuerung;
  • - verteilte Anschließ-/Unterbrechverwaltung;
  • - Cache-Verzeichnis-Fehlerkorrektur.
  • Die Befähigung zur Durchführung wirkungsvoller wissenschaftlicher Berechnungen wird durch Gleitpunkt-(FB)-Chips 15, 15A verwirklicht. Identische FB-Chips führen alle binärarithmetischen Gleitpunktbefehle zweifach durch. Diese Chips, die im Verein mit den Doppel-AX-Chips 10, 10A arbeiten, führen wissenschaftliche Skalar- oder Vektorberechnungen durch.
  • Die Aufgaben des FB-Chips 15 (verdoppelt durch den FB-Chip 15A) sind:
  • - Durchführung aller binären sowie Festpunkt- und Gleitpunkt-Multiplikations- und Divisionsoperationen;
  • - Berechnung von 12 mal 72-Bit-Partialprodukten in einem Maschinenzyklus;
  • - Berechnung von acht Quotientenbits je Teilungszyklus;
  • - Modulo-15-Restintegritätsprüfungen.
  • Funktionen, die von den FB-Chips 15, 15A durchgeführt werden, beinhalten:
  • - Durchführung aller arithmetischen Gleitpunkt-Mantissenbefehle, mit Ausnahme des Multiplizierens und Dividierens;
  • - Durchführen aller Exponentenoperationen oder -befehle in jedem binären oder hexadezimalen Format;
  • - Vorbearbeitung von Operanden und Nachbearbeitung von Ergebnissen für Multiplikations- und Divisionsbefehle;
  • - Bereitstellen der Indikator- und Statussteuerung.
  • Zwei Sonderzweck-Direktzugriffsspeicher (FRAM 17 und XRAM 18) sind in die CPU eingebaut. Der FRAM-Chip 17 ist ein Nebenchip zu den FB-Chips 15, 15A und arbeitet als FB-Steuerspeicher und Suchtabelle für ganzzahlige Dezimalzahlen. Der XRAM-Chip 18 ist ein Nebenchip zu den AX-Chips 10, 10A und dient sowohl als Notizblock, als auch zum Bereitstellen einer Sicherheitsspeicherung sowie von Korrekturfunktionen.
  • Die CPU benutzt einen Taktverteilungs-CK-Chip 16, dessen Funktionen beinhalten:
  • - Taktverteilung an die verschiedenen Chips, welche die CPU bilden;
  • - Schiebepfadsteuerung;
  • - Wartung;
  • - Schnittstelle zwischen CMU und CPU;
  • - Bereitstellen einer Taktstopplogik für die Fehlererfassung und - korrektur.
  • Kurz auf Fig. 3 Bezug nehmend, erkennt man, daß der CK-Chip 16 zwei versetzte Taktströme CK 1 und CK2 ausgibt, die einander nicht überlappen.
  • Der Dezimalnumerische-(DN)-Chip 14 (parallel zum DN-Chip 14A) vollzieht die Durchführung des dezimalnumerischen Befehls des erweiterten Befehlssatzes (EIS). Er führt auch die dezimal-nach- binär (DTB) gerichtete, die binär-nach-dezimal (BTD) gerichtete Umwandlung der EIS-Befehle sowie die EIS-Befehle des Typs Bewegen-Numerisch-Editieren (MVNE) in Verbindung mit dem AX-Chip 10 durch. Der DN-Chip empfängt beide Operanden vom Speicher und liefert Ergebnisse über die Cache-Einheit 11 an den Speicher.
  • Die AX-, DN- und FB-Chips werden manchmal zusammen als Basisverarbeitungseinheit (BPU) 19 bezeichnet. Es wurde weiter oben bemerkt, daß die AX-, DN- und FB-Chips verdoppelt wurden, wobei die doppelten Einheiten parallel arbeiten, um doppelte Resultate zu erhalten, die für die Integritätsprüfung verfügbar sind (die Einheitenpaare werden der Bequemlichkeit halber jeweils entsprechend als AX-Einheit, DN-Einheit und FB-Einheit bezeichnet.) Die Haupt- und Nebenergebnisse werden also beim normalen Betrieb dieser Chips erhalten. Die Hauptergebnisse werden an einen Hauptergebnisbus (MRB) 20 geliefert, während die Nebenergebnisse an einen Nebenergebnisbus (SRB) 21 geliefert werden. Die Haupt- und Nebenergebnisse werden entsprechend vom MRB und SRB an das Cache-Datenarray 11 geliefert, das aus zehn Daten-(DT)-Chips besteht. Nachfolgend wird der Zweck dieser Anordnung umfassender beschrieben. Zusätzlich bilden ein COMTO-Bus 22 und ein COMFROM-Bus 23 zusammen die AX-Einheit, die DN-Einheit und die FB-Einheit für bestimmte, miteinander verbundene Operationen, wie ebenfalls unten umfassender beschrieben wird.
  • Die AX-Einheit 10, die DN-Einheit 14 und die FP-Einheit 15, die mitein ander über den COMTO-Bus 22 und den COMFROM-Bus 22 kommunizieren, nehmen von der Cache-Einheit 11 Datenbearbeitungsbefehle und Operanden an und liefern die Ergebnisse über den MRB 20 an die Cache-Einheit zurück. Redundant nehmen die sekundäre AX-Einheit 10A, die sekundäre DN-Einheit 14A und die sekundäre FB-Einheit 15A (die miteinander über ihre eigenen COMTO- und COMFROM-Busse, in Fig. 2 nicht dargestellt, kommunizieren) die gleichen Datenbehandlungsbefehle und Operanden von der Cache-Einheit 11 an und liefern die Ergebnisse über den SRB 21 an die Cache-Einheit zurück. Die zu einer gegebenen Zeit auf dem MRB und dem SRB erscheinenden Ergebnisse sollten also stets identisch sein, und falls dies nicht der Fall ist, dürfte ein Basisbearbeitungsfehler aufgetreten sein.
  • Nachfolgend wird auf Fig. 4 Bezug genommen, die ein Blockdiagramm des größten Teils der Cache-Einheit 11 darstellt, in welcher bestimmte Fehler, die in der BPU aufgetreten sind, erfaßt sind. In der dargestellten Ausführungsform ist die Speichervorrichtung der Cache-Einheit in zehn Daten-(DT)- Chips 26, DT0 - DT9 unterteilt, von denen jeder ein einzelnes Acht-Bit- Byte bearbeitet und im Cache speichert, derart, daß wie in Fig. 2 dargestellt, bis zu achtzig Bits von jedem MRB und SRB parallel durch die gleiche Cache-Einheit behandelt werden können. Es werden also acht Bits (die identisch sein sollen) von jedem der Busse MRB und SRB als Eingaben an den DT0 angelegt, während ein anderer Satz von acht Bits (die identisch sein sollten) von jedem der Busse MRB und SRB als Eingaben an den DT1 angelegt werden, usw. bis DT9.
  • Der DT5 wird, nur beispielhalber, in zwei Hauptblöcke 27, 28 unterteilt, um zu demonstrieren, daß wenngleich Daten von sowohl dem MRB als auch dem SRB als Eingaben angelegt werden, nur die Daten vom MRB (falls berechtigt) an den Cache-RAM-Speicherblock 28 des DT5-Chips geliefert werden. Darüber hinaus kommuniziert der Cache-RAM 28 mit dem Systemspeicher und liefert, auch als Antwort auf die von der CD und den DD- Chips empfangenen Adreßinformationen Befehle und Operanden an die BPU (und die sekundäre BPU), wodurch die normalen Funktionen eines Cache- Speichers durchgeführt werden.
  • Falls zum Beispiel in dem vom DTS-Chip gehandhabten Byte ein Ungleichheitsereignis zwischen den jeweils vom MRB und vom SRB empfangenen Daten aufgespürt wird, wird ein Fehlersignal (spezifisch für DTS) über dieses Ereignis an die geeignete Fehlerbehandlungseinrichtung in der CPU gesandt, die bei der beispielsweisen Ausführungsform unter der Steuerung des CK-Chips 16 steht. Ähnlich kann eine Intracache-Antwort auf den erfaßten Fehler durch den Block 29 erfolgen.
  • Natürlich ist jeder Daten-(DT)-Chip 26 in der Lage, ein unabhängiges Fehlersignal zu erzeugen, das an den CK-Chip geliefert wird, um eine Fehlerbehandlung auszulösen. Die Art, in der ein Ungleichheitszustand erfaßt wird, kann am besten unter Bezugnahme auf Fig. 5 verstanden werden. Die acht Bits (0 - 7), die durch einen einzelnen DT-Chip von jedem der Busse MRB und SRB empfangen werden, werden beim Auftreten von CK1 in getrennte Bänke von Einlaßpuffern 31 eingegeben (um eine unnötige Wiederholung in Fig. 5 zu vermeiden, sind die Bits 2 - 6 in jeder Bank der Einlaßpuffer durch gestrichelte Linien dargestellt.) Ein Signal, das den Zustand jedes Bitspeicherelementes darstellt, wird als Eingabe an ein Gatter einer Reihe von EXKLUSIV- oder (XOR)-Gatter 33 in einem Muster eingegeben, bei dem die redundanten Bits 0, die jeweils vom MRB und vom SRB geliefert werden, an ein erstes XOR-Gatter angelegt werden, während die redundanten Bits 1, die vom MRB und vom SRB geliefert werden, an ein zweites XOR-Gatter angelegt werden; etc. Es wird also ein Bit-Bit-Vergleich des Acht-Bit-Bytes, das vom individuellen Daten-(DT)-Chip 26 behandelt wird, erzielt. Die Ausgaben aller XOR-Gatter 33 werden so miteinander verbunden, daß eine logische "1", die am gemeinsamen Ausgang beobachtet wird, das Vorhandensein eines Ungleichheitszustandes irgendwo im Byte anzeigt. Da die anderen Bytes des Ergebnisses gleichzeitig in den anderen DT-Chips überprüft werden, wird daher das gesamte Ergebnis auf einen Ungleichmaßigkeitszustand hin überprüft.
  • Die von der Bank der XOR-Gatter gelieferte gemeinsame Ausgabe wird an einen Eingang eines UND-Gatters 35 angelegt, dessen anderer Eingang vom Takt CK1 angesteuert wird, derart, daß beim Auftreten eines Ungleichheitszustandes ein Fehlersignal und ein Taktimpuis CK1 an das CK-Chip gesandt wird. Es sei darauf hingewiesen, daß jeder DT-Chip eine individuelle Fehlerleitung aufweist, die mit dem CK-Chip in Verbindung steht. Die Tatsache, daß dieses Signal an den CK-Chip geliefert wird, ist aber nur für die spezifische Ausführungsform kennzeichnend, die zur Veranschaulichung gewählt wurde. Bei einem gegebenen System kann das Fehlersignal entsprechend jedem gewählten Hardware-, Firmware- und/oder Software-Stratagem gesandt werden, das zur Behandlung von erfaßten BPU-Versagern vorgesehen worden ist. Das Fehlersignal kann auch intern innerhalb der Cache-Einheit benutzt werden, um Maßnahmen wie das Verriegeln und/oder Entriegeln von Informationen zu ergreifen, die vorübergehend im Cache oder untergeordneten Strukturen gespeichert werden, um das Diagnostizieren des Fehlers, das Wiederaufnehmen des Betriebs, das erneute Starten, etc. zu unterstützen.
  • Beim Auftreten des CK2 wird die Information (sowohl die Haupt- als auch die Nebenergebnisse), die im Einlaßspeicher gespeichert ist, an den Zwischenpuffer 37 übertragen. Beim nächsten CK1-Takt werden unter der Annahme, daß die Ergebnisse erfolgreich verglichen worden sind, nur die Hauptergebnisse an ein Neudatenregister 39 übertragen, von denen die ersten acht gültigen Bits routinemäßig im Cache-RAM 28 gespeichert werden können, der im individuellen DT-Chip enthalten ist. Jedoch sperrt eine einzelne mögliche Antwort des CK-Chips auf einen erfaßten Ungleichmäßigkeitszustand das nächste CK1-Signal, was die widersprüchlichen Bytes im Zwischenpuffer zur Prüfung und Analyse belassen würde.

Claims (5)

1. Datenverarbeitungssystem, das eine Anzahl von Hauptzentraleinheiten (10, 14, 15) und eine Anzahl von Nebenzentraleinheiten (10A, 14A, 15A) zum Ausführen von jeweils entsprechenden Befehlen und zum Erzeugen von Hauptergebnissen und Nebenergebnissen aus der Ausführung der genannten Befehle durch die Haupt- und Nebenzentraleinheiten in im wesentlichen zur gleichen Zeit aufweist, wobei eine Nebenzentraleinheit ihrer entsprechenden, im wesentlichen identischen Hauptzentraleinheit zugeordnet ist; wobei die Haupt- und Nebenergebnisse jeweils eine vorbestimmte Zahl von Bytes umfässen und jedes Byte eine gegebene Zahl von Bits umfaßt: wobei das genannte System ein Einspeichercache-Datenfeld (11), einen Hauptergebnisbus (20) und einen Nebenergebnisbus (21) aufweist, die jeweils entsprechend die Hauptzentraleinheiten und die Nebenzentraleinheiten mit dem Einspeichercache- Datenfeld verbinden und jeweils entsprechend an das Einspeichercache- Datenfeld ein von der Hauptzentraleinheit erzeugtes Hauptergebnis und ein von der Nebenzentraleinheit erzeugtes Nebenergebnis übertragen; wobei die genannten Haupt- und Nebenergebnisbusse die Haupt- und Nebenergebnisse aus der Ausführung des genannten Befehls durch die Haupt- und Nebenzentraleinheiten an das Einspeichercache-Datenfeld im wesentlichen gleichzeitig übertragen; dadurch gekennzeichnet, daß
- das Einspeichercache-Datenfeld (11) in eine Anzahl von Unterteilungen (26) entsprechend der vorbestimmten Zahl von Bytes unterteilt ist;
- jede Cacheunterteilung (26) eine Puffereinrichtung (31) zum vorübergehenden Speichern eines entsprechenden Bytes des Hauptergebnisses, eines Hauptbytes, eines entsprechenden Bytes des Nebenergebnisses und eines Nebenbytes aufweist; und daß sie weiter einen Komparator (33) zum Vergleichen der Hauptbytes und der Nebenbytes aufweist, die vorübergehend in dem genannten Puffer (31) jeder Cache-Datenfeldunterteilung zur gleichen Zeit gespeichert sind; und zum Erzeugen eines Fehlersignais in einer logischen Einrichtung (35), falls die Bits der entsprechenden Haupt- und Nebenergebnisbytes zu irgendeiner Zeit keinen Vergleich ergeben; und daß sie weiter einen Chipcache-RAM (28) zum Speichern des genannten Rauptbytes aufweist, falls kein Fehlersignal von irgendeinem der Komparatoren (33) erzeugt wird, wenn sie korrespondierende Bytes der Haupt- und Nebenergebnisse vergleichen, die vorübergehend im genannten Puffer (31) zur gleichen Zeit gespeichert werden.
2. System nach Anspruch 1, dadurch gekennzeichnet, daß die Haupt- und Nebenzentraleinheiten im wesentlichen identisch sind, und daß jede Zentraleinheit eine Adressier- und Durchführungs-Untereinheit (10, 10A), eine dezimalnumerische Untereinheit (14, 14A) und eine Gleitpunkt- Untereinheit (15, 15A) umfaßt.
3. System nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die genannte, vorbestimmte Zahl der Bytes 10 ist, und daß infolgedessen die Zahl der Cache-Datenfeldunterteilungen ebenfalls 10 ist.
4. System nach irgendeinem der vorhergehenden Ansprüche 1 bis 3, dadurch gekennzeichnet, daß jede Cache-Datenunterteilung auf einem einzelnen VLSI-Chip ausgebildet ist.
5. System nach Anspruch 4, dadurch gekennzeichnet, daß für jedes Byte ein Komparator vorgesehen ist, und daß jeder VLSI-Chip einen solchen Komparator (33) aufweist.
DE69126924T 1990-06-28 1991-06-20 Effiziente Fehlererkennung in einer VLSI-zentralen Verarbeitungseinheit Expired - Fee Related DE69126924T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/546,204 US5195101A (en) 1990-06-28 1990-06-28 Efficient error detection in a vlsi central processing unit

Publications (2)

Publication Number Publication Date
DE69126924D1 DE69126924D1 (de) 1997-09-04
DE69126924T2 true DE69126924T2 (de) 1998-03-12

Family

ID=24179314

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69126924T Expired - Fee Related DE69126924T2 (de) 1990-06-28 1991-06-20 Effiziente Fehlererkennung in einer VLSI-zentralen Verarbeitungseinheit

Country Status (4)

Country Link
US (1) US5195101A (de)
EP (1) EP0463573B1 (de)
CA (1) CA2041219C (de)
DE (1) DE69126924T2 (de)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04290144A (ja) * 1991-03-19 1992-10-14 Hitachi Ltd メモリ拡張方式
US5649090A (en) * 1991-05-31 1997-07-15 Bull Hn Information Systems Inc. Fault tolerant multiprocessor 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
US5435000A (en) * 1993-05-19 1995-07-18 Bull Hn Information Systems Inc. Central processing unit using dual basic processing units and combined result bus
US5440724A (en) * 1993-06-17 1995-08-08 Bull Hn Information Systems Inc. Central processing unit using dual basic processing units and combined result bus and incorporating means for obtaining access to internal BPU test signals
US5408651A (en) * 1993-09-27 1995-04-18 Bull Hn Information Systems Inc. Store "undo" for cache store error recovery
US5422837A (en) * 1993-12-14 1995-06-06 Bull Hn Information Systems Inc. Apparatus for detecting differences between double precision results produced by dual processing units operating in parallel
US5535405A (en) * 1993-12-23 1996-07-09 Unisys Corporation Microsequencer bus controller system
US5515529A (en) * 1994-03-25 1996-05-07 Bull Hn Information Syst Central processor with duplicate basic processing units employing multiplexed data signals to reduce inter-unit conductor count
US5495579A (en) * 1994-03-25 1996-02-27 Bull Hn Information Systems Inc. Central processor with duplicate basic processing units employing multiplexed cache store control signals to reduce inter-unit conductor count
US5630055A (en) * 1995-05-05 1997-05-13 Digital Equipment Corporation Autonomous pipeline reconfiguration for continuous error correction for fills from tertiary cache or memory
US5894564A (en) * 1995-06-07 1999-04-13 International Business Machines Corporation System for identifying memory segment bounded by previously accessed memory locations within data block and transferring thereof only when the segment has been changed
US5740350A (en) * 1995-06-30 1998-04-14 Bull Hn Information Systems Inc. Reconfigurable computer system
US5895485A (en) * 1997-02-24 1999-04-20 Eccs, Inc. Method and device using a redundant cache for preventing the loss of dirty data
US7213170B2 (en) * 2003-09-10 2007-05-01 Hewlett-Packard Development Company, L.P. Opportunistic CPU functional testing with hardware compare
US7206969B2 (en) * 2003-09-10 2007-04-17 Hewlett-Packard Development Company, L.P. Opportunistic pattern-based CPU functional testing

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4456952A (en) * 1977-03-17 1984-06-26 Honeywell Information Systems Inc. Data processing system having redundant control processors for fault detection
US4358823A (en) * 1977-03-25 1982-11-09 Trw, Inc. Double redundant processor
CA1118101A (en) * 1977-06-02 1982-02-09 Jerry Doniger Digital flight guidance system
US4768148A (en) * 1986-06-27 1988-08-30 Honeywell Bull Inc. Read in process memory apparatus
IT1213344B (it) * 1986-09-17 1989-12-20 Honoywell Information Systems Architettura di calcolatore a tolleranza di guasto.
US4811215A (en) * 1986-12-12 1989-03-07 Intergraph Corporation Instruction execution accelerator for a pipelined digital machine with virtual memory
JPH0833842B2 (ja) * 1987-05-01 1996-03-29 株式会社日立製作所 論理演算装置
JPH0821238B2 (ja) * 1987-11-12 1996-03-04 三菱電機株式会社 半導体記憶装置

Also Published As

Publication number Publication date
EP0463573B1 (de) 1997-07-23
EP0463573A3 (en) 1993-02-03
CA2041219C (en) 1994-07-26
CA2041219A1 (en) 1991-12-29
DE69126924D1 (de) 1997-09-04
EP0463573A2 (de) 1992-01-02
US5195101A (en) 1993-03-16

Similar Documents

Publication Publication Date Title
DE69215581T2 (de) Fehlertolerantes Mehrrechnersystem
DE69126924T2 (de) Effiziente Fehlererkennung in einer VLSI-zentralen Verarbeitungseinheit
DE68928360T2 (de) Hochleistungsrechnersystem mit fehlertoleranter Fähigkeit; Verfahren zum Betrieb desselben
DE3781873T2 (de) Rekonfigurierbare rechenanordnung.
DE3650651T2 (de) Fehlertolerantes Datenverarbeitungssystem
DE69529728T2 (de) Speicherplattenanordnungsgerät
DE68913629T2 (de) Satzverriegelungsprozessor für vielfachverarbeitungsdatensystem.
DE68924119T2 (de) Verfahren und Vorrichtung zum Wiederanlauf nach einem Fehler in einem digitalen Rechnersystem.
DE68928519T2 (de) Verfahren und Vorrichtung zur Vorhersage der richtigen Durchführung der Übersetzungen von virtuellen in physikalische Adressen
DE3786862T2 (de) Fehlertolerante Rechnerarchitektur.
DE3751600T2 (de) Dreifachredundantes fehlererkennungssystem und entsprechendes anwendungsverfahren.
DE69230211T2 (de) Integrierter Speicher, Verwaltungsverfahren und resultierendes Informationssystem
DE69221045T2 (de) Verfahren und Gerät zur programmierbaren Speicherssteuerung mit Fehlerregelung und Prüffunktionen
DE69018112T2 (de) Hochleistungsspeichersystem.
DE69502345T2 (de) Rechenwerkeinheit mit mehreren redundanten Rechnern
DE69030931T2 (de) Mehrfachsequenzprozessorsystem
DE2319753B2 (de) Anordnung zur Datenverarbeitung mittels in Mikroprogrammierung betriebener Prozessoren
DE4134192A1 (de) Integrierter schaltkreis mit verarbeitung im speicher
DE68922440T2 (de) Gerät und Verfahren zur gleichzeitigen Einreichung von Fehlerunterbrechung und Fehlerdaten zu einem Unterstützungsprozessor.
DE2524046A1 (de) Elektronische datenverarbeitungsanlage
DE69523598T2 (de) Sicherheitsstapelspeicher mit automatischer Erzeugung und Übertragung in einem fehlertoleranten Prozessor
DE2054830B2 (de) Informationsverarbeitungsanlage mit mitteln zum zugriff zu speicher-datenfeldern variabler laenge
DE3650642T2 (de) Speichermittel mit Mehrwortauslesen und Schreiben
DE69421587T2 (de) Speicherungsaufhebung zur Fehlerbeseitigung in einem Cache-Speicher
DE3814875C2 (de)

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee