DE3789176T2 - Mikroprozessor zur Datentransferwiederholung. - Google Patents

Mikroprozessor zur Datentransferwiederholung.

Info

Publication number
DE3789176T2
DE3789176T2 DE3789176T DE3789176T DE3789176T2 DE 3789176 T2 DE3789176 T2 DE 3789176T2 DE 3789176 T DE3789176 T DE 3789176T DE 3789176 T DE3789176 T DE 3789176T DE 3789176 T2 DE3789176 T2 DE 3789176T2
Authority
DE
Germany
Prior art keywords
signal
bus
microprocessor
error
data
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
DE3789176T
Other languages
English (en)
Other versions
DE3789176D1 (de
Inventor
Makoto Hanawa
Ikuya Kawasaki
Tadahiko Nishimukai
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Application granted granted Critical
Publication of DE3789176D1 publication Critical patent/DE3789176D1/de
Publication of DE3789176T2 publication Critical patent/DE3789176T2/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/14Error detection or correction of the data by redundancy in operation
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1405Saving, restoring, recovering or retrying at machine instruction level
    • G06F11/141Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Retry When Errors Occur (AREA)
  • Debugging And Monitoring (AREA)
  • Detection And Correction Of Errors (AREA)

Description

    HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung betrifft einen Mikroprozessor mit einem verbesserten Verfahren zum Wiederholen eines Datenübertragungszyklusses.
  • Ein Mikroprozessor dieser Art ist im US-Patent 4 348 722 beschrieben. Bei diesem Mikroprozessor werden sowohl ein normales Endsignal (DTACK) als auch ein unnormales Endsignal (BERR) und ein Wiederholungsanforderungssignal (HALT) als Datenübertragungs-Responsesignale dazu verwendet, einen Datenübertragungszyklus zu wiederholen.
  • Die Fig. 1 und 5B des US-Patents 4 348 722 sind in den Fig. 7 und 8 dargestellt. Wie in der Fig. 8 gezeigt, werden die Signale BERR und HALT ausgegeben, wenn die Datenübertragung unnormal endet und die Wiederholung angefordert wird.
  • Zur Anforderung der Wiederholung müssen die folgenden Punkte geprüft werden:
  • (1) Übersteigt die Anzahl von Wiederholungen einen Grenzwert?
  • (2) Ist die Datenübertragung wiederholbar? Das heißt, ist ein Zugriff auf ein Steuerregister enthalten?
  • (3) Ist die Wiederholung von Bedeutung? Das heißt, gibt es einen Zugriff auf einen nicht vorhandenen Bereich?
  • Die Wiederholung kann nicht angefordert werden, bevor nicht diese Punkte geprüft sind.
  • Beim Stand der Technik ist die zeitliche Steuerung der Erzeugungsschaltung für das BERR- und HALT-Signal kritisch, und es ist schwierig, externe Schaltungen für den Mikroprozessor zu erstellen.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die Erfindung wird im Patentanspruch 1 beschrieben.
  • Aufgabe der Erfindung ist es, einen Mikroprozessor zu schaffen, bei dem die mit den bekannten Mikroprozessoren verbundenen Probleme gelöst sind, zu dem leicht externe Schaltungen erstellt werden können und bei dem das Wiederholverfahren für den Datenübertragungszyklus verbessert ist.
  • Entsprechend einem Aspekt der vorliegenden Erfindung wird die Anzahl der Wiederholungen für dieselbe Datenübertragung gezählt, wenn die Datenübertragung zwischen dem Mikroprozessor und einer externen Vorrichtung unnormal endet, und wenn die Anzahl einen vorgegebenen Grenzwert übersteigt, wird eine weitere Wiederholung unterdrückt.
  • Andere Aufgaben und Merkmale der vorliegenden Erfindung gehen aus der Beschreibung der bevorzugten Ausführungsformen hervor.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die Fig. 1 zeigt ein Blockschaltbild eines Datenverarbeitungssystems, bei dem ein erfindungsgemäßer Mikroprozessor über einen Bus mit Peripheriegeräten verbunden ist,
  • die Fig. 2 ein Blockschaltbild eines Details des Mikroprozessors der Fig. 1,
  • die Fig. 3 eine Blockschaltbild eines Details einer Buszyklussteuerschaltung der Fig. 2,
  • die Fig. 4a, 4b, 4c und 4d zeigen die zeitlichen Verläufe von Signal-Wellenformen beim Übertragen von Daten im Datenverarbeitungssystem,
  • die Fig. 5 zeigt die Beziehung zwischen dem Adressenraum und einem speziellen Zugriffs-Responsesignal RMA,
  • die Fig. 6 ein Flußdiagramm für den Datenübertragungsvorgang bei dem Datenverarbeitungssystem,
  • die Fig. 7 einen bekannten Mikroprozessor, und
  • die Fig. 8 den zeitlichen Verlauf von Signal-Wellenformen zur Erläuterung der Arbeitsweise des Mikroprozessors der Fig. 7.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Die Fig. 1 zeigt eine Ausführungsform des erfindungsgemäßen Datenverarbeitungssystems. Durch einen asynchronen Übertragungsbus 140 sind ein Mikroprozessor 100, eine Speichervorrichtung 410 und eine Steuerregistervorrichtung 422 miteinander verbunden.
  • Der asynchrone Übertragungsbus 140 umfaßt eine Adreßleitung (A) 141, eine Adressenhinweisleitung (AS) 142, eine Lese/Schreib-Steuerleitung (R/W) 143, eine Datenleitung (D) 144, eine Übertragungsbestätigungsleitung (DTACK) 145, eine Fehlerleitung (FAULT) 146, eine Busfehlerleitung (BERR) 147 und eine spezielle Zugriffs-Responseleitung (RMA) 148.
  • Der Mikroprozessor 100 enthält einen schnellen Cache- Speicher geringer Kapazität, um die Eingabe/Ausgabedaten einer Rechen-Logik-Einheit (ALU) zu speichern, die im Mikroprozessor 100 enthalten ist. Zwischen dem Cache-Speicher 401 und der ALU ist eine schnelle Datenübertragung möglich.
  • Zur Unterstützung der Datenspeicherfunktion ist die Speichervorrichtung 410 vorgesehen. Die Speichervorrichtung 410 umfaßt einen langsamen Halbleiterspeicher 412 großer Kapazität. Die Speichervorrichtung 410 umfaßt des weiteren eine magnetische Speichervorrichtung wie eine Festplatte oder Diskette.
  • Zwischen den nicht gezeigten Eingabe/Ausgabevorrichtungen (I/O-Vorrichtungen) und dem asynchronen Übertragungsbus 140 ist eine Steuerregistervorrichtung 422 vorgesehen. Die durch die Eingabeeinrichtungen der I/O-Vorrichtung eingegebenen Daten werden zum Mikroprozessor 100 übertragen. In anderen Fällen werden Daten aus dem Mikroprozessor 100 zu Ausgabeeinrichtungen der I/O-Vorrichtungen übertragen.
  • Eine mit der Datenleitung des asynchronen Übertragungsbusses 140 verbundene Paritätsprüfschaltung 402 prüft die Parität auf der Datenleitung 144, und wenn ein Paritätsfehler festgestellt wird, gibt sie ein Busfehlersignal (BERR) 147 aus.
  • Die Speichervorrichtung 410 umfaßt eine Speichersteuerschaltung 411, eine Speicherschaltung 412, eine Fehlerprüfschaltung 413, eine Fehlerkorrekturschaltung 414 und eine Adressenprüfschaltung 415.
  • Wenn ein Buszyklus beginnt, prüft die Speichersteuerschaltung 411 die Adressenleitung (A) 141, um festzustellen, ob ein Zugriff auf einen Speicherraum vorliegt oder nicht. Wenn ein Zugriff auf den Speicherraum vorliegt, prüft sie, ob es ein Zugriff auf einen vorhandenen Speicherraum ist oder nicht, und wenn es ein Zugriff auf einen nicht vorhandenen Bereich ist, gibt sie ein Fehlersignal (FAULT) 146 aus. Wenn es ein Zugriff auf einen vorhandenen Bereich ist, greift sie auf die Speicherschaltung 412 zu und gibt ein Übertragungsbestätigungssignal (DTACK) 145 ab.
  • Beim Lesen von Daten werden die gelesenen Daten über einen Ausgangspuffer 416 zu der Datenleitung D 144 geführt, und durch die Fehlerprüfschaltung 413 erfolgt eine Fehlerprüfung. Wenn ein Fehler festgestellt wird, wird ein Busfehlersignal (BERR) 147 ausgegeben, um eine Wiederholung des Buszyklusses anzufordern.
  • Die Adressenprüfschaltung 415 stellt die Anforderung auf Wiederholung des Buszyklusses durch einen ECC-Fehler (Fehlerprüfungs- und Korrekturfehler) fest, und die Fehlerkorrekturschaltung 144 erzeugt über einen Ausgangspuffer 417 Daten mit korrigierten Fehlern. Die Adressenprüfschaltung 415 gibt das DTACK-Signal 145 aus.
  • Die Steuerregistervorrichtung 420 für die I/O-Vorrrichtungen umfaßt eine Registerzugriffsschaltung 421 und ein Steuerregister 422. Wenn der Buszyklus begonnen wird, prüft die Registerzugriffsschaltung die Adresse 141, um festzustellen, ob es ein Zugriff auf das Steuerregister ist oder nicht. Wenn es ein Zugriff auf das Steuerregister 422 für die I/O- Vorrichtungen ist (das heißt, wenn der Adressenraum ein I/O- Bereich ist), wird das spezielle Zugriffs-Responsesignal RMA 148 ausgegeben, auf das Steuerregister zugegriffen und das DTACK-Signal 145 ausgegeben.
  • Die Fig. 5 zeigt die Beziehung zwischen dem Adressenraum und dem RMA-Signal 148. Wenn Daten zum I/O-Bereich übertragen werden, wird das spezielle Zugriffs-Responsesignal RMA 148 ausgegeben, um eine Wiederholung durch einen Busfehler zu unterbinden.
  • Die Fig. 2 zeigt ein Blockschaltbild, das ein Detail des Mikroprozessors 100 darstellt.
  • Der Mikroprozessor 100 umfaßt eine Steuereinheit 110, eine Bussteuereinheit 120 und eine Buszyklussteuerschaltung 130.
  • Wenn Daten übertragen werden, erzeugt die Steuereinheit 110 ein I/O-Anforderungssignal IOREQ 111. Über eine Leitung WRT 112 wird ein Lese/Schreibbefehl ausgegeben, und bei einer Lese-Modifikations-Schreib-Operation wird er über eine Leitung RMWC 113 ausgegeben. Die Lese-Modifikations-Schreib-Operation ist eine Operation, bei der fortlaufend eine Datenleseoperation und eine Modifikations/Rückschreiboperation der gelesenen Daten ausgeführt wird.
  • Nach der Übertragung der Daten erhält die Steuereinheit 110 von der Buszyklussteuereinheit 130 ein Abrufendsignal FEND 114. Wenn das Abrufendsignal ausgegeben wird, ist der Buszyklus beendet und die Datenübertragung zum Cache-Speicher 401 des Mikroprozessors 100 abgeschlossen. Wenn die Datenübertragung unnormal endet, erzeugt die Buszyklussteuerschaltung 130 anstelle des Abrufendsignals FEND 114 ein Abruffehlersignal FFAULT 115 oder ein Abrufbusfehlersignal FBERR 116. In Reaktion darauf beginnt die Steuereinheit 110 mit einer Abruf-Ausnahmeverarbeitungsroutine oder einer Bus fehler-Ausnahmeverarbeitungsroutine, die später genauer erläutert werden.
  • Wenn die Bussteuereinheit 120 das I/O-Anforderungssignal 111 erhält, erzeugt sie ein Adressenausgabe-Freigabesignal (AEN) 121, ein internes Signal 122 für die Adressenhinweisleitung 142, ein internes Signal 123 für die Lese/Schreibsteuerleitung 143 und ein Datenausgabefreigabesignal (DEN) 124, um den Buszyklus zu starten. Sie erzeugt auch ein Signal BCYCECOND 125, um die Buszyklussteuerschaltung 130 zu starten.
  • Die Buszyklussteuerschaltung 130 umfaßt eine Endefeststellungsschaltung 131, eine Wiederholschaltung 132, eine Endemitteilungsschaltung 133 und einen Wiederholzähler 134. Wenn das Startsignal 125 ausgegeben wird, tastet die Endefeststellungsschaltung 131 die Übertragungsbestätigungsleitung 145, die Fehlerleitung 146 und die Busfehlerleitung 147 ab, und wenn eines der Signale auftritt, erzeugt sie ein Buszyklusendsignal, um der Bussteuereinheit 120 das Ende des Buszyklusses mitzuteilen.
  • Die Wiederholschaltung 132 reagiert auf das Buszyklusendsignal 135 mit der Erzeugung eines Wiederholsignales RETRY 136, wenn eine Wiederholung erfolgen soll, oder mit einem Endsignal END 137, wenn keine Wiederholung erfolgen soll. Das Wiederholsignal RETRY 136 wird der Bussteuereinheit 120 zugeführt, um den Buszyklus zu wiederholen. Das Endsignal END 137 wird einer Endemitteilungsschaltung 133 zugeführt, die zusammen mit der Fehlerleitung 146 und der Busfehlerleitung 147 die Signale FEND 114, FFAULT 115 und FBERR 116 erzeugt.
  • Der Wiederholzähler 134 wird durch das IOREQ-Signal 111 zurückgesetzt und durch das RETRY-Signal 136 hochgezählt. Wenn die Anzahl an Wiederholungen einen vorgegebenen Grenzwert erreicht, erzeugt er ein Signal MAXR 138, um weitere Wiederholungen zu verhindern.
  • Die Fig. 3 zeigt ein Schaltbild für die Buszyklussteuerschaltung 130. Wenn das Signal BCYCEND 135 ausgegeben wird, gibt die Wiederholschaltung 132 das Signal END 137 aus, wenn das Signal BERR 147 negiert wird, oder ein Signal (NORETRY) 201 wird ausgegeben, um eine Wiederholung zu unterbinden. Wenn andererseits das Signal BERR 147 ausgegeben wird und das Wiederholungssperrsignal NORETRY 201 negiert wird, gibt die Wiederholschaltung 132 das Signal RETRY 136 aus.
  • Das Wiederholungssperrsignal (NORETRY) 201 wird durch ein logisches ODER aus dem speziellen Zugriffs-Responsesignal RMA 148 von außen, dem Lese-Modifikations-Schreibsteuersignal 113 von der Steuereinheit 110 und dem Signal MAXR 138 vom Wiederholzähler 134 erzeugt.
  • Datenübertragungsfehler zwischen dem Mikroprozessor 100 und den Peripheriegeräten (der Speichervorrichtung 410 und der Steuerregistervorrichtung 420) über den asynchronen Übertragungsbus 140 werden in mehrere Moden aufgeteilt.
  • Wenn zum Beispiel bei dem Datenverarbeitungssystem der Fig. 1 auf der Datenleitung D 144 ein leichter Paritätsfehler festgestellt wird, gibt die Paritätsprüfschaltung 402 ein Ausgangssignal ab. Wenn andererseits in der Speicherschaltung 412 der Speichervorrichtung 410 ein leichter weicher Fehler entdeckt wird, gibt die Fehlerprüfschaltung 413 ein Ausgangssignal ab. In jedem Fall wird das Busfehlersignal BERR an den Mikroprozessor 100 angelegt. In einem solchen Fall ist die Wiederholung einer bidirektionalen Datenübertragung zwischen dem Mikroprozessor 100 und den Peripheriegeräten 410 und 420 sinnvoll, und die Wiederholung wird ausgeführt. In der Fig. 4a wird in einem Buszyklus ein Busfehler festgestellt, und im nächsten Buszyklus wird die Wiederholung ausgeführt und die Übertragung abgeschlossen.
  • Wie in der Fig. 4a gezeigt, startet die Bussteuerschalung 120 des Mikroprozessors 100 einen ersten Buszyklus T&sub1;, denn das I/O-Anforderungssignal IOREQ 111 ausgegeben wird. Es wird dann das Adressenausgabefreigabesignal AEN 121 erzeugt, und das Adressensignal A 141, das Adressenhinweissignal AS 142 und das Datensignal D 144 werden vom Mikroprozessor 100 auf den asynchronen Übertragungsbus 140 gegeben. Wenn im Buszyklus T&sub1; ein leichter Paritätsfehler oder ein weicher Fehler festgestellt wird, wird das Busfehlersignal BERR 147 ausgegeben. Damit wird das Buszyklusendsignal BCYCEND 135 und das Wiederholsignal RETRY 136 ausgelöst, und der erste Buszyklus T&sub1; endet und ein zweiter Buszyklus T&sub2; beginnt. Im Buszyklus T&sub2; wird das Signal AEN 121 ausgegeben, und die Signale A 141, AS 142 und D 144 werden vom Mikroprozessor 100 auf den Bus 140 gegeben. Wenn die Datenübertragung im zweiten Buszyklus T&sub2; erfolgreich ist (das heißt kein Paritätsfehler und kein weicher Fehler auftritt), wird das Übertragungsbestätigungssignal DTACK 145 ausgegeben, das Endsignal END 137 und das Abrufendsignal FEND 114 erzeugt und der zweite Buszyklus T&sub2; abgeschlossen.
  • Andererseits ist die Wiederholung der Datenübertragung bei bestimmten Zugriffsfehlern nicht sinnvoll. Wenn zum Beispiel der Mikroprozessor 100 auf einen nicht vorhandenen Bereich des Adressenraumes der Fig. 5 (das heißt einen Bereich außerhalb der Adressenbereiche der Speichervorrichtung 410 und des I/O-Steuerregisters 420) zugreift, ist das ohne Bedeutung. Dies kann erfolgen, wenn ein Software-Programmierer Speicherfunktionen verwendet, die über die Kapazität der Speichervorrichtung 410 hinausgehen. Im Falle eines solchen Fehlers bringt eine Wiederholung der bidirektionalen Datenübertragung zwischen dem Mikroprozessor 100 und den Peripheriegeräten 410 und 420 nichts, und die Wiederholung wird nicht ausgeführt. In der Fig. 4b wird ein solcher Fehler in einem Buszyklus festgestellt und im nächsten Buszyklus keine Wiederholung ausgeführt.
  • Wenn das Adressensignal A 141 auf einen nicht vorhandenen Bereich des Adressenraumes der Fig. 5 zugreift, gibt die Speichersteuerschaltung 411 der Speichervorrichtung 410 das Fehlersignal FAULT 146 aus, das über den asynchronen Übertragungsbus 140 zur Buszyklussteuerschaltung 130 des Mikroprozessors 100 geführt wird. Da von der Speichersteuerschaltung 130 im Buszyklus T&sub1; kein Wiederholsignal RETRY 136 ausgegeben wird, führt die Bussteuerschaltung 120 keine Wiederholung aus. Dagegen gibt die Buszyklussteuerschaltung 130 das Buszyklusendsignal BCYCEND 135, das Endsignal END 137 und das Abruffehlersignal FFAULT 114 aus. In Reaktion auf das Abruffehlersignal FFAULT 114 startet die Steuereinheit 110 des Mikroprozessors 100 die Fehler-Ausnahmeverarbeitungsroutine, die den Programmierer, den Bediener und den Benutzer über die Ausgabeeinrichtungen der I/O-Vorrichtungen über die Tatsache informiert, daß das Adressensignal auf einen nicht vorhandenen Bereich zugegriffen hat.
  • Angenommen, daß das Adressensignal A 141 dagegen auf den I/O-Bereich des Adressenraumes der Fig. 5 zugreift. Wenn das Adressensignal A 141 auf die Eingabeeinrichtung der I/O- Geräte zugreift und das Busfehlersignal BERR 147 ausgegeben wird, heißt das, daß im Datensignal D 144, das von der Eingabeeinrichtung der I/O-Geräte über den asynchronen Übertragungsbus zum Mikroprozessor 100 übertragen wurde, ein Datenfehler wie ein Paritätsfehler vorliegt. Nach der Übertragung liegen in der Eingabeeinrichtung nicht mehr die gleichen Daten vor, die von der Eingabeeinrichtung der I/O-Geräte unter der Steuerung des Mikroprozessors 100 zum Mikroprozessor 100 übertragen wurden. In diesem Fall wird das Busfehlersignal BERR 147 ausgegeben, und die Wiederholung der Datenübertragung von der Eingabeeinrichtung zum Mikroprozessor 100 ist ohne Bedeutung. Die Fig. 4c zeigt, daß in diesem Fall keine Wiederholung der Datenübertragung erfolgt.
  • Wenn das Adressensignal A 141 auf den I/O-Bereich des Adressenraumes der Fig. 5 zugreift, gibt die Registerzugriffsschaltung 421 der Steuerregistervorrichtung 420 das spezielle Zugriffs-Responsesignal RMA 148 aus. Andererseits wird wegen des Datenfehlers im Datensignal D 144 das Busfehlersignal BERR 147 ausgegeben, wie oben beschrieben. Das ausgegebene Signal RMA 148 wird über den asynchronen Übertragungsbus 140 zu der Buszyklussteuerschaltung 130 des Mikroprozessors 100 geführt. Da im Buszyklus T&sub1; von der Speichersteuerschaltung 130 kein Wiederholsignal RETRY 136 ausgegeben wird, wiederholt die Bussteuerschaltung 120 die Datenübertragung nicht. Andererseits gibt die Buszyklussteuerschaltung 130 das Buszyklusendsignal BCYCEND 135, das Endsignal END 137 und das Abrufbusfehlersignal FBERR 116 aus. In Reaktion auf das Abrufbusfehlersignal FBERR 116 startet die Steuereinheit 110 des Mikroprozessors 100 die Busfehler-Ausnahmeverarbeitungsroutine, die den Status der Eingabeeinrichtungen der I/O-Geräte prüft und über die Ausgabeeinrichtungen der I/O-Geräte den Benutzer davon in Kenntnis setzt, daß der Eingabevorgang an den Eingabeeinrichtungen wiederholt werden soll.
  • Es kann andererseits im Datensignal D 144 durch einen weichen Fehler in der Speicherschaltung der Speichervorrichtung 410 aufgrund elektromagnetischer Störungen in der Nähe des Mikroprozessors oder ein nicht normales Ansteigen der eingestrahlten Alphateilchen auch ein ernsthafter Paritätsfehler oder weicher Fehler für eine lange Zeit auftreten. In einem solchen Fall bleibt die Datenübertragung ohne Erfolg, auch wenn die Wiederholung der Fig. 4a ausgeführt wird. Wenn die Wiederholung der Datenübertragung endlos erfolgt, führt der Mikroprozessor 100 unnötigerweise eine endlose Routine aus, und der Benutzer benötigt viel Zeit, einen solchen unnormalen Zustand zu erkennen. Entsprechend wird für die Anzahl von Wiederholungen ein Grenzwert gesetzt, und wenn die Wiederholung nicht vor Erreichen des Grenzwertes erfolgreich ist, wird die Busfehler-Ausnahmeverarbeitungsroutine ausgeführt, um den Benutzer von dem unnormalen Zustand zu unterrichten, und weitere Wiederholungen werden verhindert. Die Fig. 4c zeigt diesen Vorgang.
  • Wenn die (n-1)-te Datenübertragung erfolglos bleibt, werden die n-te und weitere Wiederholungen verhindert. Im (n-1)-ten Buszyklus Tn-1 wird zwar das Busfehlersignal BERR 147 ausgegeben, nicht jedoch das Übertragungsbestätigungssignal DTACK 145. Wenn an den Wiederholzähler 134 der Buszyklussteuerschaltung 130 der Fig. 3 das (n-2)-te Wiederholsignal RETRY 136 angelegt wird, wird von der Schaltung 130 das Signal MAXR 138 ausgegeben. Im n-ten Buszyklus Tn wird das Wiederholsignal RETRY 136 nicht länger ausgegeben, während das Buszyklusendsignal BCYCEND 135, das Endsignal END 137 und das Abrufbusfehlersignal FBERR 116 ausgegeben werden. In Reaktion auf das Abrufbusfehlersignal FBERR 116 führt die Steuereinheit 110 des Mikroprozessors 100 die Busfehler-Ausnahmeverarbeitungsroutine aus, um über den unnormalen Zustand zu informieren.
  • Die Fig. 6 zeigt ein Flußdiagramm für den Betrieb des Datenverarbeitungssystems der Fig. 1.
  • Wenn die Datenübertragung begonnen wird, wird zuerst die Adresse geprüft, und wenn es ein Wiederholzyklus aufgrund eines ECC-Fehlers ist (Schritt 510), werden korrigierte Daten ausgesendet (Schritt 511), und das Signal DTACK 145 wird ausgegeben (Schritt 512). Der Ablauf der Schritte 5103-512 entspricht der Wiederholung der Fig. 4a.
  • Wenn es kein Wiederholzyklus aufgrund eines ECC-Fehlers ist, wird geprüft, ob der Zugriffsraum ein Speicherbereich oder ein Registerbereich ist (Schritt 520), und wenn es ein Registerbereich ist, wird das Signal RMA 148 ausgegeben (Schritt 521), auf das Register zugegriffen (Schritt 522) und das Signal DTACK 145 ausgegeben (Schritt 523). Der Ablauf der Schritte 520-523 entspricht dem Nichtwiederholvorgang der Fig. 4c.
  • Wenn andererseits der Zugriffsraum ein Speicherbereich ist, wird geprüft, ob es ein vorhandener Bereich ist oder nicht (Schritt 530), und wenn es ein nicht vorhandener Bereich ist, wird das Signal FAULT 146 ausgegeben (Schritt 531). Wenn der Bereich vorhanden ist, wird auf den Speicher zugegriffen (Schritt 540), das Signal DTACK 145 ausgegeben (Schritt 550) und die ECC-Prüfung ausgeführt (Schritt 560). Wenn ein ECC- Fehler festgestellt wird, wird das Signal BERR 147 ausgegeben (Schritt 561). Der Ablauf der Schritte 530-531 entspricht dem Nichtwiederholvorgang der Fig. 4b.
  • Bei der vorliegenden Ausführungsform ist die ECC-Prüfung der Speichervorrichtung und die Korrektur auf zwei Buszyklen aufgeteilt. Im ersten Zyklus werden die Speicherauslesung und die ECC-Prüfung ausgeführt und im zweiten Buszyklus die Korrektur und die Datenübertragung. Es wird entsprechend ein schneller Speicherzugriff erhalten, wenn kein ECC-Fehler vorliegt.
  • Bei der vorliegenden Ausführungsform wird die Wiederholung des Buszyklusses durch ein externes Eingangssignal gestartet. Entsprechend ist der zeitliche Rahmen für die Wiederholungsstartschaltung groß, und es wird eine schnelle Datenübertragung erhalten. Es ist des weiteren möglich, ein externes Eingangssignal vorzusehen, um die Wiederholung zu verhindern. In diesem Fall kann eine Fehlfunktion durch den Wiederholzugriff auf das Steuerregister verhindert werden.
  • Bei der vorliegenden Ausführungsform kann die Wiederholung durch die Steuerung der Steuereinheit im Prozessor verhindert werden. Entsprechend kann die Wiederholung im Lese- Modifikations-Schreibzyklus unterdrückt werden, um eine Fehlfunktion zu vermeiden. Die Anzahl an Wiederholungen wird gezählt, und wenn nach der vorgegebenen Anzahl von Wiederholungen immer noch ein Busfehler vorliegt, wird die Wiederholung verhindert. Entsprechend wird das endlose Durchlaufen der Wiederholungsschleife verhindert und die Zuverlässigkeit des Systems erhöht.
  • Erfindungsgemäß wird bei einem Datenverarbeitungssystem, das Daten zu und von externen Geräten überträgt, die Wiederholung der Datenübertragung durch ein Signal von der Eingabeeinrichtung angefordert, wenn die Datenübertragung unnormal endet. Entsprechend ist die Konstruktion von externen Schaltungen vereinfacht, und es wird ein Datenverarbeitungssystem geschaffen, das die Wiederholung des Datenübertragungszyklusses in einer Weise ausführt, die für den Mikroprozessor geeignet ist.

Claims (4)

1. Mikroprozessor zum Austauschen von Daten mit einem Peripheriegerät über einen Bus (140) mit:
(a) einer Bussteuereinheit (120) zum Eingeben wenigstens eines Adreßsignals und eines Datensignals in den Bus (140), und
(b) einer mit dem Bus (140) und der Bussteuereinheit (120) verbundenen Steuervorrichtung (110, 130), die eine erste Einrichtung (132) aufweist, die auf ein erstes Signal (BERR 147) von dem Peripheriegerät anspricht, das anzeigt, daß ein Fehler während der Datenübertragung über den Bus (140) aufgetreten ist, wobei die erste Einrichtung (132) bewirkt, daß ein zweites Signal (RETRY 136) erzeugt wird, das die Bussteuereinheit (120) anweist, die Datenübertragung zu wiederholen, dadurch gekennzeichnet, daß die Steuervorrichtung (110, 130) weiter eine zweite Einrichtung (131) aufweist, die ansprechend auf ein drittes Signal (FAULT 146) von dem Peripheriegerät, das anzeigt, daß das Adreßsignal einem Zugriff auf einen nicht vorhandenen Bereich in einem Adreßraum des Mikroprozessors entspricht, ein Ausgangssignal (NORETRY 201) erzeugt, das das Wiederholen blockiert.
2. Mikroprozessor nach Anspruch 1, wobei die Steuervorrichtung (110, 130) weiter eine dritte Einrichtung (133) aufweist, die ansprechend auf das von der zweiten Einrichtung (131) gelieferte Wiederholungssperrsignal (NORETRY 201) den Benutzer über eine Ausgabeeinrichtung eines E/A-Geräts des Peripheriegeräts davon unterrichtet, daß das Adreßsignal einem Zugriff auf einen nicht vorhandenen Bereich entspricht.
3. Mikroprozessor nach Anspruch 1, wobei das erste Signal (BERR 147) anzeigt, daß der Fehler während des Datenaustausches mit einem vorhandenen Speicherbereich in dem Adreßraum des Peripheriegeräts aufgetreten ist.
4. Mikroprozessor nach Anspruch 3, wobei die Steuervorrichtung (110, 130) weiter eine vierte Einrichtung (134) aufweist, die die Anzahl der von der ersten Einrichtung (132) angeordneten Wiederholungen zählt und ein weiteres Wiederholen blockiert, wenn die Zahl einen vorbestimmten Wert erreicht.
DE3789176T 1986-08-12 1987-06-30 Mikroprozessor zur Datentransferwiederholung. Expired - Fee Related DE3789176T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18920186 1986-08-12

Publications (2)

Publication Number Publication Date
DE3789176D1 DE3789176D1 (de) 1994-04-07
DE3789176T2 true DE3789176T2 (de) 1994-09-08

Family

ID=16237213

Family Applications (2)

Application Number Title Priority Date Filing Date
DE3789176T Expired - Fee Related DE3789176T2 (de) 1986-08-12 1987-06-30 Mikroprozessor zur Datentransferwiederholung.
DE3750662T Expired - Fee Related DE3750662T2 (de) 1986-08-12 1987-06-30 Mikroprozessor zur Datentransferwiederholung.

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE3750662T Expired - Fee Related DE3750662T2 (de) 1986-08-12 1987-06-30 Mikroprozessor zur Datentransferwiederholung.

Country Status (5)

Country Link
US (1) US4845614A (de)
EP (2) EP0256267B1 (de)
JP (1) JP2708427B2 (de)
KR (1) KR950001420B1 (de)
DE (2) DE3789176T2 (de)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2593339B2 (ja) * 1988-06-10 1997-03-26 富士写真フイルム株式会社 マイクロフィルム検索・読取装置
US5018063A (en) * 1988-12-05 1991-05-21 International Business Machines Corporation Method for reducing cross-interrogate delays in a multiprocessor system
JPH07120292B2 (ja) * 1989-06-19 1995-12-20 日本電気株式会社 情報処理システム
US5153881A (en) * 1989-08-01 1992-10-06 Digital Equipment Corporation Method of handling errors in software
US5220651A (en) * 1989-10-11 1993-06-15 Micral, Inc. Cpu-bus controller for accomplishing transfer operations between a controller and devices coupled to an input/output bus
EP0550976B1 (de) * 1991-12-10 2001-03-07 Fujitsu Limited Speicherzugriffsvorrichtung mit Adresspipeline
US5500950A (en) * 1993-01-29 1996-03-19 Motorola, Inc. Data processor with speculative data transfer and address-free retry
EP0764907A1 (de) 1995-09-22 1997-03-26 International Business Machines Corporation Verfahren und System zur Fehlerkorrektur in einem Datenverarbeitungssystem
US5566348A (en) * 1995-10-22 1996-10-15 International Business Machines Corporation System for adaptively optimizing automated optical library management
JP2000148604A (ja) * 1998-11-12 2000-05-30 Hitachi Ltd 記憶装置の制御方法
KR20000045794A (ko) * 1998-12-30 2000-07-25 서평원 스카시 버스 장애시의 재접속 방법
US6687846B1 (en) * 2000-03-30 2004-02-03 Intel Corporation System and method for error handling and recovery
US7318107B1 (en) 2000-06-30 2008-01-08 Intel Corporation System and method for automatic stream fail-over
US7020709B1 (en) 2000-06-30 2006-03-28 Intel Corporation System and method for fault tolerant stream splitting
AUPQ866000A0 (en) * 2000-07-07 2000-08-03 Activesky, Inc. A secure data storage device
US7093154B2 (en) * 2001-10-25 2006-08-15 International Business Machines Corporation Critical adapter local error handling
US20060047855A1 (en) 2004-05-13 2006-03-02 Microsoft Corporation Efficient chunking algorithm
US7865470B2 (en) * 2004-09-09 2011-01-04 Microsoft Corporation Method, system, and apparatus for translating logical information representative of physical data in a data protection system
US7487395B2 (en) * 2004-09-09 2009-02-03 Microsoft Corporation Method, system, and apparatus for creating an architectural model for generating robust and easy to manage data protection applications in a data protection system
US8145601B2 (en) 2004-09-09 2012-03-27 Microsoft Corporation Method, system, and apparatus for providing resilient data transfer in a data protection system
US7567974B2 (en) * 2004-09-09 2009-07-28 Microsoft Corporation Method, system, and apparatus for configuring a data protection system
US7613787B2 (en) 2004-09-24 2009-11-03 Microsoft Corporation Efficient algorithm for finding candidate objects for remote differential compression
US20060218435A1 (en) * 2005-03-24 2006-09-28 Microsoft Corporation Method and system for a consumer oriented backup
JP2007018454A (ja) * 2005-07-11 2007-01-25 Toshiba Corp マイクロプロセッサ
US7529866B2 (en) * 2005-11-17 2009-05-05 P.A. Semi, Inc. Retry mechanism in cache coherent communication among agents
US7571266B2 (en) * 2006-02-06 2009-08-04 Carlson Lance R Peripheral device in a computerized system and method
US7752340B1 (en) * 2006-03-31 2010-07-06 Emc Corporation Atomic command retry in a data storage system

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3539996A (en) * 1968-01-15 1970-11-10 Ibm Data processing machine function indicator
GB1315673A (en) * 1970-06-12 1973-05-02 Robotron Veb K Digital computer installations
US4017840A (en) * 1973-06-15 1977-04-12 Gte Automatic Electric Laboratories Incorporated Method and apparatus for protecting memory storage location accesses
US4348722A (en) * 1980-04-03 1982-09-07 Motorola, Inc. Bus error recognition for microprogrammed data processor
US4583161A (en) * 1981-04-16 1986-04-15 Ncr Corporation Data processing system wherein all subsystems check for message errors
US4524415A (en) * 1982-12-07 1985-06-18 Motorola, Inc. Virtual machine data processor
US4621323A (en) * 1983-03-28 1986-11-04 Digital Equipment Corporation Message transmission circuitry
US4616335A (en) * 1983-06-30 1986-10-07 International Business Machines Corporation Apparatus for suspending a system clock when an initial error occurs

Also Published As

Publication number Publication date
EP0256267A3 (en) 1989-10-25
EP0498472A2 (de) 1992-08-12
US4845614A (en) 1989-07-04
EP0256267B1 (de) 1994-03-02
DE3750662T2 (de) 1995-02-16
KR950001420B1 (ko) 1995-02-24
JP2708427B2 (ja) 1998-02-04
JPS63153657A (ja) 1988-06-27
DE3750662D1 (de) 1994-11-17
EP0498472A3 (en) 1992-11-04
DE3789176D1 (de) 1994-04-07
EP0498472B1 (de) 1994-10-12
KR880003244A (ko) 1988-05-14
EP0256267A2 (de) 1988-02-24

Similar Documents

Publication Publication Date Title
DE3789176T2 (de) Mikroprozessor zur Datentransferwiederholung.
DE68924119T2 (de) Verfahren und Vorrichtung zum Wiederanlauf nach einem Fehler in einem digitalen Rechnersystem.
DE69319763T2 (de) Verfahren und Gerät zur Durchführung eines Busarbitrierungsprotokolls in einem Datenverarbeitungssystem
DE4233569C2 (de) Informationsverarbeitungsgerät mit einer Mehrzahl von Prozessor-Modulen, die einen Fehlerüberwachungskreis enthalten
DE3486022T2 (de) System zur verteilten verarbeitung mit fehlerdiagnose.
DE3686901T2 (de) Auf hohem systemniveau selbstpruefendes intelligentes e/a-steuergeraet.
DE60002908T2 (de) Vorrichtung und verfahren zur verbesserten fehlerortung und diagnose in rechnern
DE69414592T2 (de) Ausführung von datenverarbeitungsbefehlen
DE2319753B2 (de) Anordnung zur Datenverarbeitung mittels in Mikroprogrammierung betriebener Prozessoren
DE3702006A1 (de) Speichervorrichtung
DE2244402A1 (de) Datenverarbeitungsanlage
DE3688400T2 (de) Cachespeicherschaltung geeignet zur verarbeitung einer leseanforderung waehrend der uebertragung eines datenblocks.
DE68922440T2 (de) Gerät und Verfahren zur gleichzeitigen Einreichung von Fehlerunterbrechung und Fehlerdaten zu einem Unterstützungsprozessor.
DE3889511T2 (de) Speicherung von Grenzzeitüberschreitungen und Quittungsantworten nach Ein-/Ausgabebefehlen.
DE69023695T2 (de) Initialisierungs-system und -methoden für Eingang/Ausgang-Verarbeitungseinheiten.
DE68921334T2 (de) Gerät zur programmierten vorübergehenden Aufhebung des Prozessorbetriebs zum Wiederversuch, zur Rückgewinnung und zum Austesten.
DE69508034T2 (de) Fehlererkennungs-System und -Verfahren für gespiegelten Speicher zwischen doppelten Plattenspeichersteuerungen
DE4010109C2 (de) Duplexrechnersystem
DE2835498C2 (de) Anordnung zur dynamischen Fehlerermittlung in Datenverarbeitungsanlagen
DE3782893T2 (de) Informationsverarbeitungssystem, faehig zur verminderung ungueltiger speicheroperationen durch erkennung von hauptspeicherfehlern.
DE69026291T2 (de) Datenübertragungssteuerung unter Verwendung von Scheinsignalen zum fortlaufenden Betrieb unter unbedeutenden fehlerhaften Zuständen
DE69029979T2 (de) System für Nachrichtenverlusterkennung
DE3856342T2 (de) Busfehlerverarbeitungssystem
EP0009600B1 (de) Verfahren und Schnittstellenadapter zum Durchführen von Wartungsoperationen über eine Schnittstelle zwischen einem Wartungsprozessor und einer Mehrzahl einzeln zu prüfender Funktionseinheiten eines datenverarbeitenden Systems
DE3850212T2 (de) Vielfach-CPU-System mit gemeinschaftlichem Speicher.

Legal Events

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