DE2915113A1 - Busvorrichtung fuer ein datenverarbeitendes system - Google Patents
Busvorrichtung fuer ein datenverarbeitendes systemInfo
- Publication number
- DE2915113A1 DE2915113A1 DE19792915113 DE2915113A DE2915113A1 DE 2915113 A1 DE2915113 A1 DE 2915113A1 DE 19792915113 DE19792915113 DE 19792915113 DE 2915113 A DE2915113 A DE 2915113A DE 2915113 A1 DE2915113 A1 DE 2915113A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- memory
- data bus
- bus
- correction
- 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
Links
- 238000012545 processing Methods 0.000 title claims description 18
- 230000015654 memory Effects 0.000 claims description 67
- 239000000872 buffer Substances 0.000 claims description 46
- 238000012937 correction Methods 0.000 claims description 30
- 238000001514 detection method Methods 0.000 claims description 27
- 238000012546 transfer Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 5
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 238000000034 method Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 101150013204 MPS2 gene Proteins 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
- Bus Control (AREA)
- Debugging And Monitoring (AREA)
- Hardware Redundancy (AREA)
Description
DIPL. ING. HEINZ BARCEHLE München, 1O.April T979
Aktenzeichen: Unser Zeichen: P 2868
Anmelder: Honevwel 1 Tr-fon-at-icn .--vstt^.s Inc.
?T ?τί Lh Street
Wa 11 ha rri, Ma s ς . r 7 \ 5 Λ
Wa 11 ha rri, Ma s ς . r 7 \ 5 Λ
Busvorrichtung für ein datenverarbeitendes System
030007/0653
Kanzlei: Herrnstraße 15, München
Die Erfindung betrifft datenverarbeitende Systeme, insbesondere
ein Verfahren und eine Vorrichtung zum Übertragen einer fehlerfreien Datengruppe aus dem Steuerungsspeicher
einer Ausführungseinheit in den Instruktionspuffer einer zentralen Verarbeitungseinheit mit Hilfe von zwei Dreifach-Zustands-Datenbussen.
In datenverarbeitenden Systemen, in denen verschiedene Subsysteme miteinander in Verbindung treten müssen, resultieren
Fehler, die zum Beispiel durch das Vorhandensein von Störungen verursacht sein können, manchmal in dem
Empfang von Daten, die nicht mit den übertragenen Daten übereinstimmen. Im allgemeinen verwenden datenverarbeitende
Systeme als Kommunikationsmittel Signale, die einem Zustand mit hohem Niveau und einem Zustand mit niedrigem
Niveau entsprechen, die oft als logische Zustände 1 bzw. 0 bezeichnet werden. Störungen oder Fehler der Ausrüstung
können den Empfang einer "1" oder einer "0" verursachen, wenn tatsächlich eine "0" oder eine "1" übertragen wurde.
Eine Datengruppe oder ein Wort besteht aus einer Vielzahl von Einsen und Nullen. Z.B. kann die Code-Gruppe 101 korrekt
die Zahl 5 darstellen. Wenn während der Übertragung ein Fehler aufgetreten ist, kann z.B. diese Code-Gruppe als
der Binär-Code 100 empfangen werden, was der Zahl 4 entsprechen würde. Während altbekannte Paritätsüberprüfungen
eine geeignete Methode zum Entdecken eines Fehlers in einem einzelnen Bit zur Verfügung stellen, versagt eine
solche Paritätsüberprüfung, wenn zwei Bits fehlerhaft sind. Zyklische Codes wurden entwickelt und stellen eine beachtliche
Verbesserung gegenüber den Paritätsüberprüfungen in der Hinsicht dar, daß Vielfach-Fehler entdeckt werden
können. Eine genaue Behandlung von Fehlerkorrektur-Techniken
030007/0-6S3
kann gefunden werden in: Hamming, "Error Detecting and Error Correcting Codes" Bell System Technical Journal,
Bd. 29, 1950, S. 147 - 160. Die Anwendung des Werkes von
Hamming erlaubte die Entdeckung und Korrektur von zufällig vorkommenden Fehlern innerhalb eines einzelnen Bits eines
empfangenen Codeworts.
Es ist bekannt, Fehlerentdeckungs- und -korrektur-Einrichtungen zur Überprüfung und Korrektur von Daten zu verwenden,
die aus einem Hauptspeicher herausgeholt werden und für andere Subsysteme in dem datenverarbeitenden System
bestimmt sind, z.B. die Zentraleinheit. Indessen werden bis jetzt solche Vorrichtungen nicht verwendet, um Mikroinstruktionen
aus dem Steuerungsspeicher der Instruktionseinheit innerhalb der zentralen Verarbeitungseinheit selbst
zu überprüfen und zu korrigieren. Wenn in den eine Makroinstruktion
darstellenden Daten, die von dem Steuerspeicher in den Ausführungspuffer übertragen wurden, ein Fehler vorkam,
wurde der Prozess einfach abgebrochen und von neuem ausgeführt, da im allgemeinen angenommen wurde, daß der
Fehler das Ergebnis eines vorübergehenden Übertragungsproblems war.
Die Aufgabe der Erfindung liegt darin, innerhalb eines datenverarbeitenden Systems Fehlerentdeckungs- und -korrektur-Einrichtungen
innerhalb der zentralen Verarbeitungseinheit selbst vorzusehen, um sicherzustellen, daß fehlerfreie
Datengruppen von dem Steuerspeicher der Ausführungseinheit in den Ausführungspuffer übertragen werden.
Eine weitere Aufgabe der Erfindung liegt darin, daß die Anwesenheit der Vorrichtung zum Fehlerentdecken und zu
deren Korrektur die übertragung von Datengruppen von dem
030007/0653
Steuerspeicher in den Ausführungspuffer nicht verzögert
und auch keinen außergewöhnlichen Aufwand an zusätzlicher hardware erfordert.
Zur Lösung dieser Aufgabe schlägt die Erfindung bei einem Ausführungs-Steuerungsspeicher eines zentralen Prozessors
einer datenverarbeitenden Anlage eine Bus-Vorrichtung zur Versorgung eines Instruktionspuffers mit einer fehlerfreien
Datengruppe vor, die einen ersten, mit dem Speicher verbundenen und eine Vielzahl von Datenleitungen aufweisenden
Datenbus zur Übertragung von aus dem Speicher geholten Daten in den Instruktionspuffer und in den Schaltkreis zur
Fehlerentdeckung und -korrektur und zur übertragung von korrigierten Daten in den Instruktionspuffer enthält,
sowie einen zweiten, mit dem Schaltkreis zur Fehlerentdeckung und Korrektur, dem Speicher und dem ersten Datenbus
verbundenen Datenbus zum Empfang von Speicherdaten aus dem ersten Datenbus und zu deren Anlegen an den Schaltkreis
zur Fehlerentdeckung und -korrektur und zum übertragen korrigierter Daten auf den ersten Datenbus.
Weitere Merkmale, Einzelheiten und Vorzüge der Erfindung ergeben sich aus der folgenden Beschreibung einer bevorzugten
Ausführungsform der Erfindung sowie anhand der Zeichnungen. Hierbei zeigen:
Fig. 1 ein Blockdiagramm eines datenverarbeitenden Systems;
Fig. 2 ein Funktionsdiagramm eines Teils der zentralen Verarbeitungseinheit;
03006*? /6
■s-
Fig. 3 ein Funktionsblockdiagramm eines erfinderischen Teils der Ausführungseinheit, und
Fig. 4 und 5 mehr ins einzelne gehende Diagramme der in Fig. 3 gezeigten Anordnung.
Fig. 1 ist ein Blockdiagramm eines verbesserten datenverarbeitenden
Systems 10, in welchem die vorliegende Erfindung verkörpert ist. Das datenverarbeitende System 10 weist zwei
SIU's 12a und 12b auf. Jede SIU weist 15 Anschlußstellen
A bis K sowie vier zusätzliche Anschlußstellen für Speicher auf, nämlich eine Anschlußstelle für den lokalen SpeicherO
(LMO), für den lokalen Speicher 1 (LM1), sowie zwei Anschlußstellen
für Hauptspeicher, in denen die Steuerungsfunktionen oder Kontrolleinrichtungen (MMCO und MMC1) für
den Hauptspeicher angeordnet sind. Zu manchen Paaren von Anschlußstellen wie G und H sowie E und F kann ein Paar von
verriegelten Ein-Ausgabeprozessoren (IOP) 14a, 14b, 14c
und 14d angeschlossen werden. Bis zu vier zentrale Verarbeitungseinheiten
(CPU) 16a, 16b, 16c und 16d, zwei für jede
SIU, können an irgendwelche zwei der Anschlußstellen A, B, C, D, E, F, G oder H angeschlossen werden. Der lokale
Speicher (LM1) 20b, 2od jeder SIU 12 und ein Hauptspeicher (MM) 22a, 22c und (MM.) 22b, 22d können mit der Steuerungseinrichtung
des Hauptspeichers (MMO) 24a, 24c und (MM1) 24b, 24d der SIU's 12a und 12b verbunden werden. Jeder der
Hauptspeicher 20a und 20b weist weiterhin zwei Anschlußstellen auf, die über Kreuz verbunden sind, um Kommunikation zwischen
Geräten und Speichern, die mit den entsprechenden SIU's 12 verbunden sind, zuzulassen.
Jede der Kontrolleinrichtungen MMCQ 24a, 24c, MMC1 24b, 24d
der Hauptspeicher der SIU's 12a, 12b besitzt neben der Fähigkeit,
Daten in einen Hauptspeicher MMO 22a, 22c, oder MM1 22b,
030007/0653
JBT -
•J·
22d einzuschreiben und Daten aus MM oder MM1 herauszulesen,
darüberhinaus gewisse Kommunikationssteuerungsfunktionen.
Kommunikation zwischen den SIU1s kann vor sich gehen von
einer Kontrolleinrichtung eines Hauptspeichers wie z.B. MMC0 24a der SIU 12a in den Hauptspeicher MMQ 22c der SIU
12b. Hauptspeicher MM 22c steht in Verbindung oder überträgt die Nachricht zu seiner Kontrolleinrichtung MMC0 24c der SIU
12b. MMC 24c richtet seinerseits die Kommunikation an die bezeichnete Anschlußstelle der SIU 12b, an die ein Prozessor
wie z.B. IOP 14c oder CPU 16c z.B. der SIU 12b angeschlossen
ist, nämlich den Prozessor, an den die Verbindung sich richtet.
Im Verlauf der Durchführung eines Anwendungsprogramms kann eine CPU, wie z.B. 16a, einen Punkt erreichen, an dem eine
Operation notwendig wird, entweder von einem peripheren Gerät dort gespeicherte Daten hereinzubringen oder aus einem
Speicher Informationen herauszulesen, die zu einem peripheren Gerät übertragen werden sollen. Wenn die Notwendigkeit für
eine Einabe/Ausgabe-Operation vorkommt, oder allgemeiner, wenn ein Prozessor mit einem anderen Prozessor oder mit sich
selbst in Verbindung treten will, verursacht das Betriebssystem des äatenverarbeitenden Systems 10 die Übertragung einer
Instruktion zu einer CPU wie z.B. 16a. Der INhalt des Operationsfeldes des Instruktionswortes benennt oder bezeichnet
eine spezielle Art der Verbindung, die durchgeführt werden soll. Das Betriebssystem versieht die CPU 16a
außerdem mit einem Datenwort, innerhalb dessen ein bestimmtes Feld den Prozessor benennt, an den die Verbindungsnachricht
abgeschickt werden soll.
Fig. 2 ist ein Blockdiagramm der Hardware-Elemente einer
CPU 16, die nur so weit beschrieben werden, wie es notwendig
ist, um den richtigen Hintergrund für eine Beschreibung der vorliegenden Erfindung darzustellen. Eine genauere Beschreibung
030007/06S3
kann in der US-Patentanmeldung mit der Serial No. 746 444, angemeldet am 1. Dezember 1976, auf den Namen des Anmelders
der vorliegenden Anmeldung, gefunden werden.
Instruktionen werden über einen Instruktionspuffer ZIP 26
von einer Hauptspeicherkontrolleinrichtung wie z.B. MMC 24a empfangen und durch den Schalter 28 des Instruktionspuffers
ZIP nach RBIR 30 zur Speicherung übertragen. Das in dem Steuerspeicher der Steuereinheit CCS32 enthaltene
Steuerwort umfaßt 32 Bits. Ein 13 Bit weites Feld, bestehend
aus den Bitstellen 0 bis 12, stellt die Adresse der Startstelle des Mikroprogramms dar, das von dem Operationscode
des Instruktionswortes im Instruktionsregister RBIR 30 angegeben ist, oder die Adresse der ersten Mikroinstruktion des
Mikroprogramms. Wenn der Operationscode von einer Instruktion von RBIR 30 an CCS32 angelegt wird, wobei das Steuerwort
der Steuereinheit an der dem OP Code entsprechenden Adresse gespeichert ist, werden die Inhalte der Bitstellen 0 bis 12
an den Steuerspeicher der Ausführungseinheit ECS 34 durch
den Schalter CCS-ADR 36 angelegt. Der Empfang der Adresse der Mikroinstruktion durch ECS34 verursacht, daß die an
diese Adresse gespeicherte Mikroinstruktion in den Ausführungspuffer 38 übertragen wird, in dem ausgewählte Felder der
Mikroinstruktion durch den Decodierer 40 decodiert werden, um die nötigen Steuerungssignale oder Informationen für die
verschiedenen Subsysteme oder Komponenten einer CPU, z.B. 16a, vorzusehen.
Wenn die erste Mikroinstruktion in den Ausführungspuffer 38
geladen wurde, und während der nächsten Taktperiode, wird die Mikroinstruktion in der Decodiereinrichtung 40 decodiert,
um die nötige Information und Steuerungssignale zu erzeugen,
030007/0653
-y6-• /ft.
damit ein hier nicht dargestellter Zwischenspeicher adressiert wird und ein Teil seines Inhaltes übertragen, gespeichert,
und bearbeitet wird.
Die nächste oder zweite Mikroinstruktion, die als Ergebnis der Adresse der ersten Mikroinstruktion erzeugt wird,
die im Mirkoinstruktionsregister UIC42 gespeichert ist, und mit Hilfe des Addierers 44 um 1 erhöht wird und durch
den Schalter üIC+1, 46 angelegt wird, verursacht, daß die
zweite Mikroinstruktion in den Ausführungspuffer 38 übertragen wird.
Fig. 3 ist ein Funktionsblockdiagramm eines Teils des Ausführungssteuerspeichers
34 in Fig. 2, der der Gegenstand der vorliegenden Erfindung ist.Zwei getrennte, aber untereinander
verbundene Dreifachzustandsdatenbusse werden verwendet. Der erste, als Speicherdatenbus bezeichnete Bus, ist verbunden
zwischen dem Ausgang des Dreifachzustandsgeräts 50,
dem Eingang des Dreifachzustandsgeräts 54, dem Ausgangdes
Speichers 52 und dem Eingang des Ausführungspuffers 38 (siehe Fig. 2). Der zweite als Rückseitenbus bezeichnete Bus
ist verbunden zwischen dem Ausgang der Dreifachzustandsgeräte 56, 62 und 54 und zwischen den Eingängen der Datenregister
60, der UND-Funktion und dem Dreifachzustandsgerät
Während jeder der Busse als eine einzelne Leitung gezeichnet ist, besteht doch jeder der Busse aus einer Vielzahl von
Leitungen zur Bhandlung der parallelen übertragung einer Vielzahl von Datenbits.
Die hier verwendete Fehlerentdeckungs- und korrektureinrichtung ist eine außerhalb des Zyklus vorkommende Erkennung und Korrektur.
Um dies zu erreichen, wird angenommen, daß vom Speicher
030007/0653
./is-
52 in den Ausführungspuffer 38 übertragene Daten für jeden laufenden Zyklus korrekt sind, und sie werden in
den Ausführungspuffer 38 durch den Systemtaktgeber eingepulst. Während des folgenden Zyklus werden die gleichen
Daten auf das Auftreten von Fehlern in dem Schaltkreis 58 zur Fehlerentdeckung und -korrektur überprüft. Wenn ein
korrigierbarer Fehler entdeckt wird, wird ein Signal in einen anderen Teil der CPU abgeschickt und korrigierte
Daten werden auf den Bus geschickt, um während des folgenden Taktes in den Ausführungspuffer gepulst zu werden. Unkorrigierbare
Fehler resultieren in einem Abbruch des Systems.
Zwei kritische Zeitwege sind in diesem Schema betroffen. Erstens ist es nötig, Daten aus dem Speicher 52 in den
Ausführungspuffer 38 vor dem Systemtakt zu bringen. Der zweite kritische Punkt liegt darin, vor dem folgenden Takt
ein Fehlersignal zu erzeugen und die korrigierten Daten dem Ausführungspuffer zugänglich zu machen.
Der Ausgang des Speichers 52 ist mit dem Ausführungspuffer 38 verbunden. Der gleiche Ausgang ist ebenso mit dem Eingang
eines Dreifachzustandspuffers 54 verbunden, wie er z.B. von Texas Instruments unter der Teilenummer 74S24O hergestellt
wird, zur übertragung der Daten in den Fehlerentdeckungsund -korrekturschaltkreis 58 über das Datenregister 60.
Während dieser Zeit ist der Dreifachzustandspuffer 54 eingeschaltet
mit Hilfe eines Lesesignals, das in einem anderen Teil der CPU erzeugt wird. Gleichzeitig sind die Dreifachzustandspuf
fer 50, 56 und 62 ausgeschaltet und stellen für ihre jeweiligen Busse eine hohe Impedanz dar. Das bedeutet,
der Dreifachzustandspuffer 62 ist ausgeschaltet durch das
Fehlen eines Schreibersignals an seinem Eingang. In gleicher Weise verhindert das Fehlen eines Schreibersignals an einem
030007/0653
zweiten Eingang der logischen UND-Funktion 66, daß für den
Fehlerentdeckungs- und -korrekturschaltkreis vorgesehene Daten wieder in den Speicher 52 über die logische UND-Funktion
66 gelangen. In ähnlicher Weise werden die Dreifachzustandspuffer 50 und 56 durch das Fehlen eines Signals
ausgeschaltet, welches korrekte Daten anzeigt und in dem Schaltkreis 58 zur Fehlerentdeckung und -korrektur erzeugt
wird. Daher können Daten von dem Dreifachzustandspuffer in den Schaltkreis zur Fehlerentdeckung und -korrektur ohne
Störungen übertragen werden.
Während eines Korrekturzyklus übertragen die gleichen beiden in zwei Richtungen betreibbaren Busse Daten von dem Dreifachzustandspuffer
56 in den Ausführungspuffer über den Dreifachzustandspuffer
50. Während dieser Zeit sind Puffer 62 und die logische UND-Funktion 66 ausgeschaltet durch das
Fehlen des Schreibersignals, während der Dreifachzustandspuffer 54 und der Speicher 52 durch das Fehlen eines
Lesesignals ausgeschaltet sind. Die Puffer 50 und 56 sind eingeschaltet mit Hilfe eines korrigierte Daten anzeigenden
Signals und übertragen Daten aus dem Schaltkreis 58 zur Fehlerentdeckung und -korrektur in den Ausführungspuffer.
Es ist hier anzumerken, daß der Speicherdatenbus, der die Puffer50, 54 und den Speicher 52 mit der Ausführungseinheit
verbindet, die Notwendigkeit für einen herkömmlichen Datenschalter beseitigt, der eine zusätzliche Verzögerung in dem
Datenweg zu dem·Rest der CPU sowohl für Speicherdaten als
auch für korrigierte Daten darstellen würde.
Während der Schreibezyklen werden Daten vom Puffer 64 in den Speicher 52 über den Puffer 62 und die logische UND-Funktion
66 übertragen. Während dieser Operation sind die Dreifachzustandspuffer 50, 54 und 56 wie oben beschrieben, aus-
/3-
geschaltet. Die Anordnung der Fig. 3 ist in größerer Einzelheit in den Figuren 4 und 5 gezeigt. Während die Anordnung
der Figuren 4 und 5 so dargestellt ist, daß sie fähig ist, 8 Bitdaten zu behandeln, sollte es klar sein,
daß dies nur ein Beispiel ist, und daß die Anordnung erweitert werden kann,um eine viel größere Anzahl von Datenbits
zu umfassen.
Die Eingabedatenpuffer 64 der Fig. 3 sind hier als UND-Gatter
70 bis 77 gezeichnet. Der Dreifachzustandspuffer
der Fig. 3 ist als eine Vielzahl von Dreifachzustandsgattern 80 bis 87 in Fig. 4 gezeichnet. Für jede Datenleitung ist
ein Dreifachzustandsgatter erforderlich.Wie oben beschriebe,
läßt das Dreifachzustandsgerät in eingeschaltetem Zustand an seinem Eingang anliegende Daten zu deren Bestimmungsort
durchgehen. Das heißt, wenn das Schreibesignal, das mit jedem der Dreifachzustandsgeräte 80 bis 87 verbunden ist,
eingeschaltet ist, gelangen die über die UND-Gatter 70 bis 77 an die Dreifachzustandsgeräte 80 bis 87 angelegte Daten
durch diese Dreifachzustandsgeräte hindurch auf die Datenbusleitungen BO bis B7. Wenn das Schreibesignal ausgeschaltet
ist, erscheinen die Dreifachzustandsgeräte 80 bis 87 als hohe Impedanz.
Während eines Schreibezyklus werden Daten, die in den Speicher geschrieben werden sollen, an den einen Eingang
jedes der UND-Gatter 70 bis 77 angelegt. Diese Daten passieren die UND-Gatter 70 bis 77, wenn ein Einschaltesignal, das mit
dem zweiten Eingang jedes der UND-Gatter 70 bis 77 verbunden ist, aktiviert wird. Was in Fig. 3 als eine einzelne UND-Funktion
gezeigt war, ist nun in Fig. 5 als eine Vielzahl von UND-Gattern 90bis 97 gezeichnet, deren jeweils einer Eingang
mit den Datenbusleitungen BO bis B7 und deren jeweils zweiter Eingang mit einem das Schreiben ermöglichenden Signal verbunden
030007/0653
■AS-
ist. Wenn das Schreibesignal aktiviert ist, gelangen die Daten auf den Datenbusleitungen BO bis B7 durch die UND-Gatter
90 bis 97 in den Speicher 52, wo sie mit Hilfe der Schreibesteuerung 51 gespeichert werden.
Während eines Lesezyklus ist das Schreibesignal ausgeschaltet und verhindert, daß Daten durch die Dreifachzustandspuffer
80 bis 87 und die UND-Gatter 90 bis 97 hindurchgelangen. Wenn am Speicher 52 ein Lesesteuersignal 53 und eine
Adresse anliegen, gibt der Speicher die unter dieser Adresse abgespeicherten Daten aus. Diese Daten wandern zwei
Wege entlang. Der erste führt in den Rest der CPU, wie durch die Leitungen 100 bis 107 angezeigt. Gleichzeitig werden die
Daten aus dem Speicher 52 an die Dreifachzustandsgeräte 110 bis 117 angelegt. Jedes der Dreifachzustandsgeräte
110 bis 117 hat an seinem einen Eingang ein Lesesignal anliegen,
das, wenn es aktiviert ist, Daten durch die Dreifachzustandsgeräte hinduchtreten läßt. Wenn das Lesesignal ausgeschaltet
ist, erseheinen die Dreifachzustandsgeräte 110 bis
117 als hohe Impedanz.
Angenommen, das Lesesignal ist eingeschaltet und das Schreibesignal
ausgeschaltet, so gelangen Daten aus dem Speicher 52 durch die Dreifachzustandsgeräte 110 bis 117 und werden an
die Eingänge der Datenregister 60 (Siehe Fig. 4) über die Datenbusleitungen BO bis B7 angelegt. Die Daten in dem Datenregister
60 werden wie oben beschrieben an den Schaltkreis 58 zur Fehlerentdeckung und -korrektur angelegt, indem bestimmt
wird, ob in den Daten ein Fehler vorliegt und ob dieser Fehler korrigierbar ist oder nicht. Zwei Signale werden von dem
Schaltkreis zur Federentdeckung und -korrektur in einen anderen Teil der CPU abgesandt. Diese Signale sind als Fehler-Signal
und als Fehler-Korrektur-Signal gezeigt, welches anzeigt, daß beim Vorliegen eines Fehlers dieser Fehler korrigierbar
ist.
■03.0Ό07/0653
Wenn der Fehler korrigierbar ist wird das gleiche korrekte datenanzeigende Signal an die Dreifachzustandsgeräte 120
bis 127 angelegt. Die korrigierten Daten werden ebenso an die Dreifachzustandsgeräte 120 bis 127 angelegt und gelangen
durch sie über die Busleitungen BObis B7 zu den Eingängen der Dreifachzustandsgeräte 130 bis 137. Während dieser Periode
ist das Schreibesignal ausgeschaltet und verhindert so, daß Daten durch die UND-Gatter 90bis 97 zurück in den Speicher
52 gelangen.
Das gleiche oben beschriebene korrekte datenanzeigende Signal wird an die Dreifachzustandsgeräte 130 bis 137 angelegt,
um den Durchgang der Daten auf den Busleitungen BO bis B7 in die CPU über die Leitungen 100 bis 107 zu ermöglichen.
Während dieser Zeit ist das Lesesignal ausgeschaltet, um zu verhindern, daß korrigierte Daten durch die Dreifachzustandsgeräte
110 bis 117 hindurchgelangen.
Die oben beschriebene Anordnung erlaubt daher, daß drei
elektrische Funktionen auf einer, als Rückseitenbus bezeichneten Leitung durchgeführt werden. Diese Funktionen bestehen
darin, Speicherdaten in den Schaltkreis zur Fehlerentdeckung und -korrektur zu übertragen, korrigierte Daten aus
diesem Schaltkreis in die Datenausgabeschaltkreise und Eingabedaten in den Speicher zu übertragen.
Der Speicherdatenbus erlaubt die Übertragung von Daten
sowohl in die CPU als auch in den Schaltkreis zur Fehlerentdeckung
und -korrektur. Darüberhinaus sieht der Speicherdatenbus Möglichkeiten zur übertragung von korrigierten Daten von
dem Schaltkreis zur Fehlerentdeckung und -korrektur in die CPU vor. Beide Busse minimieren die Notwendigkeit für irgendwelche
zusätzlichen Gatter oder Schalter und stellen daher die schnellstmöglichen Datenwege zur Verfügung, sobald kritische
Zeitabläufe auftreten.
030007/0653
ee
Claims (10)
1. Busvorrichtung zum Versorgen eines Instruktionspuffers
in einem Ausführungs-Steuerungsspeicher eines Zentralprozessors eines datenverarbeitenden Systems mit einer
fehlerfreien Datengruppe, gekennzeichnet durch einen ersten, mit dem Speicher verbundenen und eine Mehrzahl
von Datenleitungen aufweisenden Datenbus zur Übertragung von aus dem Speicher geholten Daten in den
Instruktionspuffer und in den Fehlerentdeckungs- und -korrektur-Schaltkreis und zum Einbringen korrigierter
Daten in den Instruktionspuffer, sowie durch einen zweiten, mit dem Fehlerentdeckungs- und Korrektur-Schaltkreis,
dem Speicher und dem ersten Datenbus verbundenen zweiten Datenbus zum Empfang von Speicherdaten
von dem ersten Datenbus und zum Anlegen dieser Speicherdaten an den Schaltkreis zur Fehlerentdeckung
und -korrektur sowie zum übertragen der korrigierten Daten auf den ersten Datenbus.
2. Vorrichtung nach Anspruch 1, gekennzeichnet durch mit
dem Speicher und dem zweiten Datenbus verbundene Schreibe-Einrichtungen zum Schreiben von Daten in den
Speicher
Kanzlei: Herrnstraße 15, München 23
3. Vorrichtung nach Anspruch 2, dadurch gekennzeichnet, daß die Schreibe-Einrichtung eine erste Vielzahl von
Speichern zum Aufnehmen der in den Speicher zu speichernden Daten aufweist, des weiteren eine erste Vielzahl von
Schalteinrichtungen, deren jeweils einer Eingang mit dem Ausgang eines der Puffer der ersten Vielzahl von Puffern
verbunden ist, um die empfangenen Daten auf den zweiten Datenbus zu bringen, sowie eine zweite Vielzahl von
Puffern, deren Eingänge mit dem zweiten Datenbus und deren Ausgänge mit dem Speicher verbunden sind.
4. Busvorrichtung nach Anspruch 3, dadurch gekennzeichnet, daß jede Schalteinrichtung der ersten Vielzahl von
Schalteinrichtungen ein Dreifach-Zustand-Gatter ist, das im eingeschalteten Zustand an seinem Eingang anliegende
Daten durchläßt und im ausgeschalteten Zustand an seinem Ausgang eine hohe Impedanz darstellt.
5. Vorrichtung nach Anspruch 4, dadurch gekennzeichnet, daß jedes der Dreifach-Zustands-Gatter mit Hilfe eines
von dem Zentralprozessor generierten und an den zweiten Eingang jedes dieser Dreifach-Zustands-Gatter angelegten
Schreiber-Signals eingeschaltet wird, und daß jedes dieser Dreifach-Zustands-Gatter durch das Fehlen
eines Schreiber-Signals an diesem zweiten Eingang ausgeschaltet wird.
6. Vorrichtung nach einem der Ansprüche 1 bis 5, gekennzeichnet durch eine zweite Vielzahl von Schalteinrichtungen,
deren jeweils einer Eingang mit dem ersten Datenbus und deren Ausgang mit dem zweiten Datenbus
verbunden ist.
7. Vorrichtung nach Anspruch 6, dadurch gekennzeichnet, daß jede Schalteinrichtung der zweiten Vielzahl von
Schalteinrichtungen ein Dreifach-Zustand-Gatter ist, welches im eingeschalteten Zustand Speicherdaten auf
den zweiten Datenbus überträgt und im ausgeschalteten Zustand an seinem Ausgang eine hohe Impedanz darstellt.
8. Vorrichtung nach Anspruch 7, dadurch gekennzeichnet, daß jede Schalteinrichtung der zweiten Vielzahl von
Schalteinrichtungen mit Hilfe eines von der Zentraleinheit erzeugten Lese-Signals eingeschaltet wird,
und durch das Fehlen dieses Lese-Signals ausgeschaltet wird.
9. Vorrichtung nach Anspruch 8, gekennzeichnet durch eine
dritte Vielzahl von Schalteinrichtungen, deren Eingänge mit dem Schaltkreis zur Fehlerentdeckung und -korrektur
und deren Ausgänge mit dem zweiten Datenbus verbunden sind, um korrigierte Daten von dem Schaltkreis zur
Fehlerentdeckung und -korrektur auf den zweiten Datenbus zu bringen, sowie eine vierte Vielzahl von Schaltgeräten,
deren Eingänge mit dem zweiten Datenbus und deren Ausgänge mit dem ersten Datenbus verbunden sind,
um die korrigierten Daten in den Ausführungspuffer zu übertragen.
10. Vorrichtung nach Anspruch 9, dadurch gekennzeichnet, daß die dritte und vierte Vielzahl von Schalteinrichtungen,
wenn sie von dem Schaltkreis zur Fehlerentdeckung und -korrektur eingeschaltet sind, die Daten
durchlassen und, wenn sie von dem Schaltkreis zur Fehlerentdeckung und -korrektur ausgeschaltet sind,
einen Ausgang mit hoher Impedanz darstellen.
030007/0653
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/930,966 US4225959A (en) | 1978-08-04 | 1978-08-04 | Tri-state bussing system |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2915113A1 true DE2915113A1 (de) | 1980-02-14 |
DE2915113C2 DE2915113C2 (de) | 1989-01-05 |
Family
ID=25460029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19792915113 Granted DE2915113A1 (de) | 1978-08-04 | 1979-04-12 | Busvorrichtung fuer ein datenverarbeitendes system |
Country Status (6)
Country | Link |
---|---|
US (1) | US4225959A (de) |
JP (1) | JPS5525194A (de) |
AU (1) | AU520932B2 (de) |
CA (1) | CA1149068A (de) |
DE (1) | DE2915113A1 (de) |
FR (1) | FR2432736A1 (de) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4336611A (en) * | 1979-12-03 | 1982-06-22 | Honeywell Information Systems Inc. | Error correction apparatus and method |
FR2528613B1 (fr) * | 1982-06-09 | 1991-09-20 | Hitachi Ltd | Memoire a semi-conducteurs |
US4663728A (en) * | 1984-06-20 | 1987-05-05 | Weatherford James R | Read/modify/write circuit for computer memory operation |
US4962474A (en) * | 1987-11-17 | 1990-10-09 | International Business Machines Corporation | LSSD edge detection logic for asynchronous data interface |
US5373514A (en) * | 1990-09-20 | 1994-12-13 | Synopsys, Inc. | Three-state bus structure and method for generating test vectors while avoiding contention and/or floating outputs on the three-state bus |
JPH04162300A (ja) * | 1990-10-26 | 1992-06-05 | Nec Corp | 半導体メモリ |
JP2020198044A (ja) * | 2019-06-05 | 2020-12-10 | 富士通株式会社 | 並列処理装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3573728A (en) * | 1969-01-09 | 1971-04-06 | Ibm | Memory with error correction for partial store operation |
US3693153A (en) * | 1971-07-09 | 1972-09-19 | Bell Telephone Labor Inc | Parity check apparatus and method for minicomputers |
US3809884A (en) * | 1972-11-15 | 1974-05-07 | Honeywell Inf Systems | Apparatus and method for a variable memory cycle in a data processing unit |
US4037091A (en) * | 1976-04-05 | 1977-07-19 | Bell Telephone Laboratories, Incorporated | Error correction circuit utilizing multiple parity bits |
US4058851A (en) * | 1976-10-18 | 1977-11-15 | Sperry Rand Corporation | Conditional bypass of error correction for dual memory access time selection |
-
1978
- 1978-08-04 US US05/930,966 patent/US4225959A/en not_active Expired - Lifetime
-
1979
- 1979-04-12 DE DE19792915113 patent/DE2915113A1/de active Granted
- 1979-05-03 CA CA000326834A patent/CA1149068A/en not_active Expired
- 1979-06-14 JP JP7515679A patent/JPS5525194A/ja active Granted
- 1979-07-20 AU AU49117/79A patent/AU520932B2/en not_active Ceased
- 1979-07-30 FR FR7919605A patent/FR2432736A1/fr active Granted
Non-Patent Citations (2)
Title |
---|
US-Z.: IBM Technical Disclosure Bulletin, Vol. 15, No. 3, August 1972, S. 852-854 * |
US-Z.: IEEE Transactions on Computers Vol. C-22, No. 3, März 1973, S. 255-262 * |
Also Published As
Publication number | Publication date |
---|---|
DE2915113C2 (de) | 1989-01-05 |
US4225959A (en) | 1980-09-30 |
AU520932B2 (en) | 1982-03-04 |
FR2432736B1 (de) | 1983-07-29 |
JPS5525194A (en) | 1980-02-22 |
CA1149068A (en) | 1983-06-28 |
AU4911779A (en) | 1980-02-07 |
JPS6235144B2 (de) | 1987-07-30 |
FR2432736A1 (fr) | 1980-02-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2714805C2 (de) | ||
DE3786862T2 (de) | Fehlertolerante Rechnerarchitektur. | |
DE68924119T2 (de) | Verfahren und Vorrichtung zum Wiederanlauf nach einem Fehler in einem digitalen Rechnersystem. | |
DE2619159C2 (de) | Fehlererkennungs- und Korrektureinrichtung | |
DE3587145T2 (de) | Puffersystem mit erkennung von lese- oder schreibschaltungsfehlern. | |
DE4302495C2 (de) | Einrichtung und Verfahren zum Bestimmen der Länge eines Befehls in einem sequentiellen Befehlsstrom | |
EP0048767A1 (de) | Prioritätsstufengesteuerte Unterbrechungseinrichtung | |
DE69030931T2 (de) | Mehrfachsequenzprozessorsystem | |
DE2357168C2 (de) | Schaltungsanordnung für einen Speichermodul | |
DE19983098B4 (de) | Mehrfach-Bitanzeige zur Behandlung von Schreib-nach-Schreib-Fehlern und zur Eliminierung von Bypass-Komparatoren | |
DE3111447A1 (de) | Anzeigeschaltung fuer speicherschreibfehler | |
DE2750721A1 (de) | Ein/ausgabe-system | |
DE2722124A1 (de) | Anordnung zum feststellen des prioritaetsranges in einem dv-system | |
DE4434529A1 (de) | Verfahren zum Verarbeiten eines Befehls mit Einsatzbedingung und Vorrichtung dazu | |
DE3123382A1 (de) | "verfahren und einrichtung zum uebertragen von daten zwischen zentraleinheiten oder prozessoren von mehrprozessorsystemen" | |
DE69029164T2 (de) | Vorrichtung und Verfahren zum Ersetzen der Parität | |
DE3911721A1 (de) | Schaltung zur verzoegerten freigabe eines schreibvorganges in einen vorratsspeicher fuer ein zweifachbus-mikrocomputersystem | |
DE2915113A1 (de) | Busvorrichtung fuer ein datenverarbeitendes system | |
DE3786853T2 (de) | Gerät zur Erkennung und Klassifizierung von Steuerwortfehlern. | |
DE2538802C2 (de) | Schaltung zum Nachweis von Fehlern unter den aus Informations- und Prüfbits erzeugten, einen fehlerhaften Speicherort angebenden Bits | |
DE69122001T2 (de) | Integrierte Schaltung mit einer Standardzelle, einer Anwendungszelle und einer Prüfzelle | |
EP0096113A2 (de) | Bussystem | |
DE2915159C2 (de) | ||
DE68910838T2 (de) | Fehlererkennungsschaltung für einen Dekodierer. | |
EP0491073B1 (de) | Verfahren und Schaltungsanordnung zur Datensicherung in Speichereinheiten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8127 | New person/name/address of the applicant |
Owner name: HONEYWELL BULL INC., MINNEAPOLIS, MINN., US |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |