DE2915113A1 - Busvorrichtung fuer ein datenverarbeitendes system - Google Patents

Busvorrichtung fuer ein datenverarbeitendes system

Info

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
Application number
DE19792915113
Other languages
English (en)
Other versions
DE2915113C2 (de
Inventor
Edward M Drobny
Robert E Suelflow
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
Honeywell Information Systems Italia SpA
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 Honeywell Information Systems Italia SpA filed Critical Honeywell Information Systems Italia SpA
Publication of DE2915113A1 publication Critical patent/DE2915113A1/de
Application granted granted Critical
Publication of DE2915113C2 publication Critical patent/DE2915113C2/de
Granted 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding 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
DIPL. CHEM. DR. PETER FÜRNISS 2915113 PATENTANWÄLTE
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 Λ
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)

DIPL. ING. HEINZ BARCEHLE München, DIPL. CHEM. DR. PETER FÜRNISS 2915113 PATENTANWÄLTE Aktenzeichen: Unser Zeichen: P 2868 Anmelder: Patentansprüche
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
DE19792915113 1978-08-04 1979-04-12 Busvorrichtung fuer ein datenverarbeitendes system Granted DE2915113A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
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