PatentDe  


Dokumentenidentifikation DE3587058T2 19.05.1993
EP-Veröffentlichungsnummer 0173515
Titel Fehlerbeseitigungssystem in einem Datenprozessor mit einem Steuerspeicher.
Anmelder Fujitsu Ltd., Kawasaki, Kanagawa, JP
Erfinder Kitamura, Toshiaki, Ota-ku Tokyo 146, JP;
Oinaga, Yuji, Setagaya-ku Tokyo 154, JP
Vertreter Seeger, W., Dipl.-Phys.; Seeger, A., Dipl.-Phys., Pat.-Anwälte, 8000 München
DE-Aktenzeichen 3587058
Vertragsstaaten DE, FR, GB
Sprache des Dokument En
EP-Anmeldetag 15.08.1985
EP-Aktenzeichen 853057982
EP-Offenlegungsdatum 05.03.1986
EP date of grant 03.02.1993
Veröffentlichungstag im Patentblatt 19.05.1993
IPC-Hauptklasse G06F 11/10

Beschreibung[de]

Die vorliegende Erfindung betrifft ein Fehlerbeseitigungssystem und -verfahren in einem Datenprozessor für Pipeline-Verarbeitung, insbesondere ein System und ein Verfahren zur Beseitigung eines Fehlers eines Steuerspeichers in einem Datenprozessor, welcher von Mikrobefehlen gesteuert wird, die im Steuerspeicher gespeichert sind und welcher die Pipeline-Verarbeitung ausführt.

In Datenprozessoren, welche eine Pipeline-Verarbeitung von Maschinenbefehlen ausführen, kann ein Fehler in den Mikrobefehlen, die aus dem Steuerspeicher ausgelesen werden, welcher die Mikrobefehle speichert, die richtige Ausführung der gesamten Pipeline-Verarbeitung behindern. Dementsprechend wird in einer früher vorgeschlagenen Pipeline-Verarbeitung ein Fehlerkorrekturkode in den im Steuerspeicher gespeicherten Mikrobefehlen vorgesehen, und das Erkennen und die Korrektur der Fehler in den ausgelesenen Mikrobefehlen wird durchgeführt.

Genauer gesagt werden die Mikrobefehle, die sich auf das Pipeline-Verarbeiten beziehen, im Steuerspeicher gespeichert. Wenn ein Mikrobefehl ausgelesen wird, wird er in ein Datenregister geschrieben. Ein Decodierer decodiert den Befehl im Datenregister, um ihn an jeden Steuerort zu übertragen, welcher die Pipeline-Verarbeitung ausführt, und zum Mikrobefehlregister für die nachfolgenden Zyklen.

Andererseits wird der Inhalt der Befehle in eine Schaltung zur Fehlererkennung und -korrektur ausgelesen. Dann wird ein Fehlerkorrekturkode angewendet, um zu prüfen, ob ein Fehlerbit im Befehl vorhanden ist. Wenn kein Fehler gefunden wird, wird eine Pipeline-Steuereinheit dazu gebracht, die vorbestimmte Operation auszuführen. Die Pipeline-Steuereinheit erzeugt ein Freigabesignal in jedem Zyklus der Pipeline-Verarbeitung, um jeden Zyklus D (Dekodieren), A (Adressenerzeugung), T (Umsetzung), B (Pufferzugriff), E (Ausführen) und W (Schreiben) normal auszuführen. Das Decodieren der ausgelesenen Befehle wird im Zyklus D ausgeführt, eine Adressenberechnung für den Operanden wird im Zyklus A ausgeführt, eine Adressenumsetzung der Adresse wird im Zyklus T ausgeführt, auf einen Puffer oder ein Register wird im Zyklus B zugegriffen, die Verarbeitung der aus dem Puffer oder Register ausgelesenen Daten wird im Zyklus E ausgeführt, und eine Schreiboperation von verarbeiteten Resultaten wird im Zyklus W ausgeführt.

Wenn ein Fehler in dem aus dem Datenregister ausgelesenen Befehl erkannt wird, wird der Betrieb der Pipeline-Steuereinheit angehalten und eine Verriegelung an der Pipeline ausgeführt. Im Verlauf der Verriegelung wird der Fehler im Befehl im Register korrigiert und ein erneutes Schreiben des korrigierten Befehls zum Steuerspeicher ausgeführt. Der Fehlerkorrekturkode kann im allgemeinen einen 1-Bit Fehler erkennen und korrigieren. Für einen 2-Bit Fehler wird von einem Einzelfehlerkorrektur- Doppelfehlererkennungs-Kode (SEC.DED), der nur 2-Bit Fehler erkennen kann, Gebrauch gemacht.

Es würde für diese früher vorgeschlagene Fehlererkennungs- und -korrekturschaltung eine beträchtliche Zeit in Anspruch nehmen, um Fehler nicht nur zu korrigieren, sondern Fehler auch zu erkennen. Aufgrund dessen ist es notwendig gewesen, jedes Mal wenn ein Befehl ausgelesen wird, einen ausschließlichen Korrektur-Zyklus vorzusehen, um Fehler zu erkennen und zu korrigieren. Die Hinzufügung eines derartigen Korrekturzyklus zu den üblichen Pipeline-Verarbeitungszyklen ergibt jedoch eine übermäßige Vergrößerung der gesamten Pipeline-Verarbeitungszeit, was hinsichtlich der Leistungsfähigkeit nicht vorzuziehen ist. Wenn weiters ein Fehler in einem aus dem Steuerspeicher ausgelesenen Befehl erkannt wird, wird die Verarbeitung des Maschinenbefehls gestoppt und dann in Maschinenbefehl- Einheiten wiederausgeführt. Im Falle eines Maschinenbefehls, welcher seine Funktion durch eine Mehrzahl von Abläufen realisiert; in einigen Fällen jedoch wird die Schreiboperation zum Register in einem Ablauf vor dem fehlerhaften Ablauf ausgeführt, und es ist unmöglich, zum ursprünglichen Zustand zurückzukehren, bevor der Befehl zur Wiederausführung gestartet wurde (das wird als "over retriable point" oder "jenseits des Punktes der Wiederholbarkeit" bezeichnet). In einem derartigen Fall kann der Fehler nicht korrigiert werden.

Die EP-A-0 141 743 bildet für die vorliegende Anmeldung einen Stand der Technik nach Art. 54 (3) und (4) EPÜ. Sie offenbart ein Verfahren zur Pipeline-Fehlerkorrektur, welches die Verwendung von Gattern zwischen einem Systemspeicher und einem Systemprozessor vermeidet, um Verzögerungen aufgrund der Fehlerkorrektur zu reduzieren. Auf ein Datenwort und auf seinen zugehörigen Fehlerkorrekturkode kann getrennt zugegriffen werden, und Datenwörter werden im Systemspeicher gespeichert, bevor die Berechnung des Fehlerkorrekturkodes vollständig ist. Paritätsbits werden in jedes Datenwort eingefügt und können getrennt vom Fehlerkorrekturkode geprüft werden.

Die EP-A-0 105 710 des vorliegenden Anmelders offenbart ein Verfahren zur Fehlerbeseitigung für eine mikroprogrammgesteuerte Einheit, welches Verfahren die Merkmale des Oberbegriffes des begleitenden Anspruches 1 aufweist. Zur gleichen Zeit wenn ein Mikrobefehl zu einer Pipeline-Verarbeitungseinheit übertragen wird, wird er durch eine Fehlererkennungs- und -korrekturschaltung geprüft. Es wird jedoch keine getrennte Paritätsprüfung durchgeführt.

Gemäß einem Aspekt der vorliegenden Erfindung wird, wie in Anspruch 1 beansprucht, ein Verfahren zur Fehlerbeseitigung für einen Datenprozessor des Pipeline-Typs vorgesehen, in welchem eine Mehrzahl von Mikrobefehlen aus einem Steuerspeicher aufgrund eines Maschinenbefehls ausgelesen werden, und die ausgelesenen Mikrobefehle in überlappender Weise in einem Pipeline-Verarbeitungsteil verarbeitet werden, welches Verfahren die Schritte umfaßt:

- Verwenden eines Fehlererkennungs- und -korrekturkodes für jeden im Steuerspeicher gespeicherten Mikrobefehl; und

- Prüfen der Mikrobefehle, welche nacheinander - gleichzeitig mit dem Verarbeiten der Mikrobefehle im Pipeline-Verarbeitungsteil - eingelesen werden, mit Hilfe eines Fehlererkennungsmittels, gekennzeichnet durch die Schritte:

- Stoppen, innerhalb eines Adressenberechnungszyklus für einen Operanden, der Pipeline-Verarbeitung, welche einem Mikrobefehl entspricht, in welchem ein Fehler erkannt wird, und der Operation des darauffolgenden Mikrobefehls, wenn ein Fehler im genannten Mikrobefehl von dem Erkennungsmittel erkannt wird;

Korrigieren des Fehlers im Mikrobefehl durch ein Fehlerkorrekturmittel; und

erneutes Starten - ab dem Adressenberechnungszyklus für den Operanden - der Pipeline-Verarbeitung nach der Vervollständigung der Korrektur des Mikrobefehls auf Basis des korrigierten Mikrobefehls;

wodurch eine Fehlerbeseitigung durch Stoppen und nachfolgendes erneutes Starten der Pipeline-Verarbeitung eines Mikrobefehls ausgeführt wird, ohne daß die Ausführung des Maschinenbefehls nochmals vom Anfang durchgeführt werden muß.

Gemäß einem zweiten Aspekt der vorliegenden Erfindung wird, wie in Anspruch 6 beansprucht, ein Datenprozessor des Pipeline-Typs vorgesehen, welcher mit einem Fehlerbeseitigungssystem ausgestattet ist, in welchem Datenprozessor eine Mehrzahl von Mikrobefehlen aus einem Steuerspeicher aufgrund eines Maschinenbefehls ausgelesen werden und die ausgelesenen Mikrobefehle in überlappender Weise in einem Pipeline-Verarbeitungsteil verarbeitet werden, welcher Datenprozessor umfaßt:

- Mittel zur Fehlererkennung zum Prüfen der Mikrobefehle, welche nacheinander - gleichzeitig mit dem Verarbeiten der Mikrobefehle im Pipeline-Verarbeitungsteil - eingelesen werden, unter Verwendung eines Fehlererkennungs- und -korrekturkodes für jeden im Steuerspeicher gespeicherten Mikrobefehl; gekennzeichnet durch:

- Stoppmittel zum Stoppen, innerhalb eines Adressenberechnungszyklus für einen Operanden, der Pipeline-Verarbeitung, welche einem Mikrobefehl entspricht, in welchem ein Fehler erkannt wird, und der Operation des darauffolgenden Mikrobefehls, wenn ein Fehler in dem Mikrobefehl durch das Erkennungsmittel erkannt wird;

Fehlerkorrekturmittel zum Korrigieren des Fehlers im Mikrobefehl; und

Mittel zum erneuten Starten, ab dem Adressenberechnungszyklus für den Operanden, der Pipeline-Verarbeitung nach der Vervollständigung der Korrektur des genannten Mikrobefehls auf Basis des korrigierten Mikrobefehls;

wodurch eine Fehlerbeseitigung durch Stoppen und nachfolgendes erneutes Starten der Pipeline-Verarbeitung eines Mikrobefehls ausgeführt wird, ohne daß die Ausführung des Maschinenbefehls nochmals vom Anfang an durchgeführt werden muß.

Die vorliegende Erfindung kann einen Nachteil des früher vorgeschlagenen Fehlerbeseitigungssystems in einem Steuerspeicher verkleinern oder eliminieren.

Eine Ausführungsform der vorliegenden Erfindung kann ein System und ein Verfahren zur Beseitigung eines Fehlers eines Steuerspeichers in einem Datenprozessor des Pipeline-Typs vorsehen, worin ein Fehler in einem Befehl, welcher von dem Steuerspeicher ausgelesen wird, in einem frühen Stadium erkannt, das Pipeline-System in einem Stadium, bevor der Befehl ausgeführt wird, verriegelt, und der Fehler während der Verriegelung korrigiert werden kann. Beispielhaft wird auf die begleitenden Zeichnungen Bezug genommen, in denen:

Fig. 1 in Form eines Blockdiagrammes eine bevorzugte Ausführungsform der vorliegenden Erfindung darstellt;

Fig. 2 ein schematisches Blockdiagramm ist, welches eine detaillierte Struktur der Ausführungsform in Fig. 1 erklärt;

Fig. 3 eine Zeitübersicht der Operation in einem Pipeline-Verfahren ist, für den Fall, daß kein Fehler auftritt;

Fig. 4 ein schematisches Blockdiagramm ist, welches einen Fehlerkorrekturkode der Mikrobefehlsform erklärt; und

Fig. 5 eine Taktübersicht der Operation in einem Pipeline-Verfahren ist, für den Fall, daß ein Fehler auftritt.

Eine detaillierte Beschreibung einer Ausführungsform der vorliegenden Erfindung wird mit Bezug auf die begleitenden Zeichnungen gegeben. Fig. 1 ist ein schematisches Blockdiagramm eines Fehlerbeseitigungssystems gemäß einer Ausführungsform der vorliegenden Erfindung.

In Fig. 1 ist 11 ein Steuerspeicher zum Steuern von beispielsweise Mikrobefehlen zur Ausführung der Pipeline-Verarbeitung, 12 ist ein Datenregister, in welches die aus dem Steuerspeicher 11 ausgelesenen Mikrobefehle geschrieben werden, 13 ist ein Decodierer zum Decodieren der Mikrobefehle, 14 ist eine Schaltung zum Erkennen und Korrigieren der Fehler in den Befehlen, 15 ist eine Pipeline-Steuereinheit zum Erzeugen von Freigabesignalen für jeden Zyklus im Pipeline-Verarbeiten und für das aufeinanderfolgende Ausführen jedes Zyklus, und 16 ist eine Schaltung zur Paritätsprüfung eines Mikrobefehlskodes.

Fig. 2 zeigt ein Beispiel der detaillierten Struktur der Teile in Fig. 1. Die Bezugsziffern 121 bis 125 sind Datenregister. Die Bezugsziffern 131 bis 135 sind Decodierer. Ein Output von 131 wird der Adressensteuereinheit des Steuerspeichers übertragen, um die Adressensteuerung auszuführen. Der andere Output von 131 wird einem Universalregister (GPR) und einem Erzeuger für effektive Adressen (EAG) übertragen. Andererseits wird durch einen Maschinenbefehl der Output eines Befehlsregisters der Adressensteuerung des Steuerspeichers gesendet. Der Output des Decodierers 132 wird einem Adressenumsetzpuffer (TLB) gesendet. Der Output des Decodierers 133 wird einem Pufferspeicher (BS) gesendet. Der Output des Decodierers 134 wird einer arithmetischen logischen Einheit (ALU) gesendet. Der Output des Decodierers 135 wird einem Universalregister (GPR) und einem Pufferspeicher gesendet. Der Inhalt des Steuerspeichers 11 wird der Schaltung 16 für die Paritätsprüfung und einem Register 121 gesendet. Der Ausgang der Fehlererkennungs- und -korrekturschaltung steuert den Steuerspeicher 11 durch Senden korrigierter Daten und steuert die Pipeline-Steuereinheit 15. Das Inputsignal des Decodierers 131 steuert die Adressensteuerung des Steuerspeichers, und das Outputsignal wird dem Steuerspeicher 11 übertragen.

Zur Beschreibung, mit Bezug auf Fig. 1, der Operation für den Fall, daß kein Fehler in dem aus Steuerspeicher 11 ausgelesenen Mikrobefehl vorhanden ist, wird gleichzeitig ein Mikrobefehl für die Pipeline-Verarbeitung, welcher aus dem Steuerspeicher 11 ausgelesen wird, in das Datenregister 12 geschrieben und in die Schaltung 16 für die Paritätsprüfung. Der Decodierer 13 decodiert den im Datenregister 12 gespeicherten Mikrobefehl, um ihn an jeden Stellort für die Pipeline-Verarbeitung und an das Register für den Mikrobefehl für den nächsten Zyklus zu senden. Andererseits wird der Inhalt des Mikrobefehls in die Schaltung 14 zur Fehlererkennung und -korrektur ausgelesen.

Wenn kein Fehler durch die Schaltung 16 für die Paritätsprüfung erkannt wird, oder durch die Schaltung 14 zur Fehlererkennung und -korrektur, führt die Pipeline-Steuereinheit 15 eine vorbestimmte Operation aus. Genauer gesagt, erzeugt die Pipeline-Steuereinheit 15 ein Freigabesignal für jeden Zyklus der Pipeline-Verarbeitung, um nacheinander eine Pipeline-Verarbeitung für den normalen Zustand auszuführen, zum Beispiel PLP-1 und PLP-2, wie in Fig. 3 gezeigt. Die Operation der Pipeline-Verarbeitung in Fig. 3 ist in diesem Fall die normale Operation.

Als nächstes eine Erklärung der Operation, wenn ein Fehler in dem vom Steuerspeicher 11 ausgelesenen Mikrobefehl existiert. Ein Fehlerkorrekturkode wird für den Mikrobefehl verwendet.

Der Fehlerkorrekturkode, wie in Fig. 4 gezeigt, ist aus Prüfbits und Datenbits zusammengesetzt. Der Fehlerkorrekturkode ist auf derartige Weise aufgebaut, daß das Fehlerbit durch Verwendung von ausschließlich OR-Logik in Verbindung mit einer Paritätsprüfung korrigiert werden kann.

Der Fehlerkorrekturkode ECC kann ein SEC.DED-Kode sein, welcher, wie oben ausgeführt, geeignet ist, den Fehler für einen 1-Bit Fehler zu erkennen und zu korrigieren und den Fehler für einen 2-Bit Fehler zu erkennen. In der vorliegenden Erfindung wird dem Kode eine bestimmte Parität gegeben. Das Bitdatum des Kodes für die 1-Bit Fehlererkennung und -korrektur besteht aus einem 1-Bit Erkennungsbit und einer Parität, welche ihm stets hinzugefügt ist, um den SEC.DED-Kode zu erhalten. Der SEC.DED-Kode wird daher so gemacht, daß er selbst zum Beispiel eine gerade Parität ist. Wenn ein Fehlerkorrekturkode ECC angewandt wird, welcher selbst eine gerade Parität besitzt, kann ein Fehler mit ungeraden Bits leicht durch die Paritätsprüfung erkannt werden. Der Fehlerkorrekturkode ECC gemäß der vorliegenden Erfindung ist nicht auf eine gerade Parität beschränkt, sondern, da ein Bitfehler gewöhnlich ein 1-Bit Fehler ist, wie einen ECC, einen SEC.DED-Kode zu verwenden, welcher geeignet ist, einen 1-Bit Fehler zu erkennen und zu korrigieren und einen 2-Bit Fehler zu erkennen und welcher selbst eine gerade Parität besitzt, ermöglicht die Realisierung eines Fehlerkorrekturkodes ECC mit einer gewünschten bestimmten Parität, ohne daß eine spezielle zusätzliche Schaltung vorgesehen werden muß.

Wenn der Mikrobefehl vom Steuerspeicher 16 zur Schaltung für die Paritätsprüfung ausgelesen wird, erkennt die Schaltung 16 zur Paritätsprüfung, welche exklusive OR-Schaltungen umfaßt, ob ein Bitfehler im Mikrobefehl vorhanden ist, mit Hilfe einer Paritätsprüfung. Sie kann Bitfehler im Mikrobefehl erkennen vor der Beendigung des Zyklus A aufgrund der hohen Geschwindigkeit der Paritätsprüfung. Dementsprechend kann die Pipeline-Steuereinheit 15 vor dem Wechsel vom Zyklus A zum nächsten Zyklus T, zum Verriegeln der Pipeline, gestoppt werden.

Fig. 5 ist eine Taktübersicht eines Beispiels der Operation in jeder Pipeline, wenn ein Fehler im Mikrobefehl durch die Paritätsprüfung erkannt wird. In Fig. 5 wird die Pipeline-Verarbeitung in einem normalen Zustand ausgeführt, bis zum Schritt PLP-1 der Pipeline-Verarbeitung. Beim Schritt PLP-2 der Pipeline-Verarbeitung wird ein Fehler im Mikrobefehl gefunden, welcher aus dem Steuerspeicher 11 gelesen wird. Genauer gesagt erkennt die Schaltung 16 zur Paritätsprüfung den Fehler im Mikrobefehl durch Paritätsprüfung im Zyklus A&sub2; und stoppt die Pipeline-Steuereinheit 15, bevor sie fortfährt, zum nächsten Zyklus T&sub2; zu wechseln, wodurch die Pipeline verriegelt wird (siehe ta in Fig. 5). Ist die Pipeline einmal verriegelt, wird der Schritt PLP-1 der Pipeline-Verarbeitung, vor dem Schritt PLP-2, unverändert beibehalten und die Abläufe T&sub1;, B&sub1;, E&sub1; und W&sub1; schreiten fort. Der Ablauf jedes Pipeline-Startens ab Schritt PLP-2 wird gestoppt, wie in der Figur gezeigt, das heißt, daß in den Wartezustand mit dem A&sub2;-Zykluszustand des Schrittes PLP-2 und mit dem Zykluszustand D&sub3; des Schrittes PLP-3 eingetreten wird. Ab dem Schritt PLP-4 wird das Auslesen des Mikrobefehls nicht ausgeführt.

Während die Pipeline in einem Verriegelungszustand ist, korrigiert die Schaltung 14 zur Fehlererkennung und -korrektur den Bitfehler, welcher im Mikrobefehl produziert ist, im Datenregister 12 mittels des Fehlerberichtigungskodes ECC und, wie es der Fall sein kann, schreibt den korrigierten Mikrobefehl in den Steuerspeicher 11 um. Wenn die Korrektur des Bitfehlers und das Umschreiben in den Steuerspeicher 11 im Takt tb vorüber sind, wird die Verriegelung freigegeben und die Pipeline- Verarbeitungsschritte werden ab einschließlich Schritt PLP-2 nach dem Zyklus vor der Verriegelung erneut gestartet.

Die vorgehende Ausführungsform wurde mit Bezug auf die Verwendung eines Mikrobefehls als ein Kommando erklärt. Die Kommandos sind jedoch nicht auf Mikrobefehle beschränkt. Auch der Fehlerkorrekturkode ECC ist nicht auf einen SEC.DED-Kode beschränkt.

Da es in der vorliegenden Erfindung sowohl eine Schaltung zur Paritätsprüfung und eine Schaltung zur Fehlererkennung und -korrektur gibt, ist es auch möglich, jedes Problem in den Schaltungen durch eine Inkonsistenz der Ergebnisse der Prüfungen zu erkennen, zum Beispiel kein Fehler in der Paritätsprüfung, aber ein 1-Bit Fehler in der ECC-Prüfung.

Auch wenn ein Fehler im Steuerspeicher vorhanden ist, was einen Fehler im Befehl verursacht, wird ein Fehler kontinuierlich bei jedem Lesebefehl erzeugt. In einer Ausführungsform der vorliegenden Erfindung, wenn ein Fehler im umgeschriebenen Befehl zu einer vorbestimmten Anzahl von Takten auftritt, kann das Umschreiben in den Steuerspeicher gestoppt werden aufgrund der Ursache, daß es einen Fehler im Steuerspeicher selbst gibt, und die Verarbeitung wird weitergeführt. Der Fehler im Steuerspeicher kann dann getrennt von der Wiederherstellung des Steuerspeichers in seinen früheren Zustand repariert werden.

Gemäß der vorliegenden Erfindung wird ein System zur Beseitigung von Fehlern in einem Steuerspeicher in einem Datenprozessor des Pipeline-Typs vorgesehen, welcher durch Befehle in einem Steuerspeicher gesteuert wird. Eine Schaltung zur Paritätsprüfung wendet eine bestimmte Parität für den Fehlerkorrekturkode im Befehl an. Die Parität des Befehls, welcher vom Steuerspeicher ausgelesen wird, wird geprüft und, sobald ein Fehler in der Parität erkannt wird, wird das Pipeline-System verriegelt. Eine Schaltung zur Fehlererkennung und -korrektur korrigiert den Fehler des ausgelesenen Befehls im Verlaufe des Verriegelns und, wie es der Fall sein kann, schreibt den richtigen Befehl in den Steuerspeicher um. Durch diese Schaltungen wird die Fehlererkennung im Verlaufe des Befehls vor einem Zyklus T (Umsetzung) ausgeführt und das Pipeline-System wird darauf verriegelt, wodurch die Fehlerkorrektur pro Ablaufeinheit des Befehls ermöglicht wird.


Anspruch[de]

1. Verfahren zur Fehlerbeseitigung für einen Datenprozessor des Pipeline-Typs, in welchem eine Mehrzahl von Mikrobefehlen aus einem Steuerspeicher (11) aufgrund eines Maschinenbefehls ausgelesen werden und die ausgelesenen Mikrobefehle in überlappender Weise in einem Pipeline-Verarbeitungsteil verarbeitet werden, welches Verfahren die Schritte umfaßt:

- Verwenden eines Fehlererkennungs- und -korrekturkodes für jeden im Steuerspeicher (11) gespeicherten Mikrobefehl; und

Prüfen der Mikrobefehle, welche nacheinander - gleichzeitig mit dem Verarbeiten der Mikrobefehle im Pipeline-Verarbeitungsteil - eingelesen werden, mit Hilfe eines Fehlererkennungsmittels (14, 16), gekennzeichnet durch die Schritte:

- Stoppen, innerhalb eines Adressenberechnungszyklus für einen Operanden, der Pipeline-Verarbeitung, welche einem Mikrobefehl entspricht, in welchem ein Fehler erkannt wird, und der Operation des darauffolgenden Mikrobefehls, wenn ein Fehler im Mikrobefehl durch das Erkennungsmittel erkannt wird;

Korrigieren des Fehlers im Mikrobefehl durch ein Fehlerkorrekturmittel (14); und

erneutes Starten - ab dem Adressenberechnungszyklus für den Operanden - der Pipeline-Verarbeitung nach der Vervollständigung der Korrektur des Mikrobefehls auf Basis des korrigierten Mikrobefehls; wodurch eine Fehlerbeseitigung durch Stoppen und nachfolgendes erneutes Starten der Pipeline-Verarbeitung eines Mikrobefehls ausgeführt wird, ohne daß die Ausführung des Maschinenbefehls nochmals vom Anfang an durchgeführt werden muß.

2. Verfahren nach Anspruch 1, worin die Pipeline, welche gleichzeitig mit dem Prüf-Schritt verarbeitet, im Stopp-Schritt gestoppt und im Schritt für das erneute Starten erneut gestartet wird, die Operandenadressen berechnet.

3. Verfahren nach Anspruch 1 oder 2, worin der Prüf-Schritt eine Paritätsprüfung des Mikrobefehls umfaßt, um einen Paritätsfehlers zu erkennen.

4. Verfahren nach Anspruch 3, welches weiter umfaßt einen Schritt zum Stoppen von Schritten vor einem Schritt, in welchem ein Paritätsfehler erkannt wird, und erneutes Starten der früheren Schritte, wenn der Paritätsfehler korrigiert ist.

5. Verfahren nach irgendeinem vorhergehenden Anspruch, welches weiter umfaßt einen Schritt zum Ersetzen des aus dem Steuerspeicher (11) ausgelesenen Mikrobefehls durch den korrigierten Mikrobefehl.

6. Datenprozessor des Pipeline-Typs, welcher mit einem Fehlerbeseitigungssystem ausgestattet ist, in welchem Datenprozessor eine Mehrzahl von Mikrobefehlen aus einem Steuerspeicher (11) aufgrund eines Maschinenbefehls ausgelesen wird und die ausgelesenen Mikrobefehle in überlappender Weise in einem Pipeline-Verarbeitungsteil verarbeitet werden, welcher Datenprozessor umfaßt:

- Mittel zur Fehlererkennung (14, 16) zum Prüfen der Mikrobefehle, welche nacheinander - gleichzeitig mit dem Verarbeiten der Mikrobefehle im Pipeline-Verarbeitungsteil - eingelesen werden, unter Verwendung eines Fehlererkennungs- und -korrekturkodes für jeden im Steuerspeicher (11) gespeicherten Mikrobefehl; gekennzeichnet durch:

- Stoppmittel zum Stoppen, innerhalb eines Adressenberechnungszyklus für einen Operanden, der Pipeline-Verarbeitung, welche einem Mikrobefehl entspricht, in welchem ein Fehler erkannt wird, und der Operation des darauffolgenden Mikrobefehls, wenn ein Fehler in dem Mikrobefehl durch das Erkennungsmittel (14, 16) erkannt wird;

Fehlerkorrekturmittel (14) zum Korrigieren des Fehlers im Mikrobefehl; und

Mittel zum erneuten Starten, um ab dem Adressenberechnungszyklus für den Operanden die Pipeline-Verarbeitung nach der Vervollständigung der Korrektur des Mikrobefehls auf Basis des korrigierten Mikrobefehls erneut zu starten;

wodurch eine Fehlerbeseitigung durch Stoppen und nachfolgendes erneutes Starten der Pipeline-Verarbeitung eines Mikrobefehls ausgeführt wird, ohne daß die Ausführung des Maschinenbefehls nochmals vom Anfang an durchgeführt werden muß.

7. Datenprozessor nach Anspruch 6, worin der Datenprozessor umfaßt:

- Mittel zur Berechnung von Operandenadressen;

Mittel zur Steuerung eines Lesens der Operandendaten;

Mittel zur Ausführung einer Berechnung; und

Mittel zum Schreiben der Ergebnisse der Berechnung in einen Speicher.

8. Datenprozessor nach Anspruch 6 oder 7, worin die Pipeline-Verarbeitung, welche gleichzeitig mit der Fehlererkennung durch das Fehlererkennungsmittel durchgeführt wird, durch die Mittel zum Stoppen gestoppt und durch das Mittel zum erneuten Starten erneut gestartet wird, in der Berechnung von Operandenadressen besteht, wobei das Mittel (14) zur Fehlerkorrektur Fehler in den Mikrobefehlen unter Verwendung des Fehlererkennungs- und -korrekturkodes korrigiert.

9. Datenprozessor nach Anspruch 6, 7 oder 8, worin der Fehlererkennungs- und -korrekturkode ein Einzelfehler-Korrektur-, Doppelfehler-Erkennungskode ist.

10. Datenprozessor nach irgendeinem der Ansprüche 6 bis 9, worin

der Pipelineverarbeitungsteil eine Mehrzahl von Steuerregistern umfaßt und das Mittel (14, 16) zur Fehlererkennung eine Schaltung (16) zur Paritätsprüfung umfaßt, welche funktionsmäßig mit dem Steuerspeicher (11) und einem ersten der Steuerregister verbunden ist, zum Prüfen der Parität eines Mikrobefehls, welcher vom Steuerspeicher zu dem ersten der Steuerregister übertragen wird, und zum Stoppen der Pipeline-Verarbeitung nur in Entsprechung mit dem Inhalt des ersten der Steuerregister, wenn ein Paritätsfehler erkannt wird; und

worin das Mittel (14) zur Fehlerkorrektur ebenso funktionsmäßig mit dem Steuerspeicher (11) und dem ersten der Steuerregister verbunden ist und betreibbar ist, um den vom Steuerspeicher zu dem ersten der Steuerregister übertragenen Mikrobefehl zu korrigieren, während das Verarbeiten gestoppt wird.

11. Datenprozessor nach Anspruch 10, worin der Datenprozessor weiters umfaßt:

- eine Pipeline-Steuereinheit (15), funktionsmäßig zwischen die Schaltung (16) zur Paritätsprüfung und den Steuerregistern geschaltet, zum Freigeben des Mikrobefehls im ersten Steuerregister zu nachfolgenden Steuerregistern und der entsprechenden Pipeline-Verarbeitungsschritte in Abhängigkeit von der Paritätsprüfung.







IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com