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.