-
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.