DE68928013T2 - Adressierung eines Mikrobefehlsspeichers aus verschiedenen Quellen - Google Patents
Adressierung eines Mikrobefehlsspeichers aus verschiedenen QuellenInfo
- Publication number
- DE68928013T2 DE68928013T2 DE68928013T DE68928013T DE68928013T2 DE 68928013 T2 DE68928013 T2 DE 68928013T2 DE 68928013 T DE68928013 T DE 68928013T DE 68928013 T DE68928013 T DE 68928013T DE 68928013 T2 DE68928013 T2 DE 68928013T2
- Authority
- DE
- Germany
- Prior art keywords
- instruction
- register
- stage
- signals
- instructions
- 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
Links
- 230000015654 memory Effects 0.000 title claims description 36
- 238000004519 manufacturing process Methods 0.000 claims description 35
- 238000012545 processing Methods 0.000 claims description 15
- 230000004044 response Effects 0.000 claims 3
- 230000003111 delayed effect Effects 0.000 claims 1
- 239000000872 buffer Substances 0.000 description 15
- 102100028267 Neutral amino acid transporter B(0) Human genes 0.000 description 12
- 238000006073 displacement reaction Methods 0.000 description 6
- 238000000034 method Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 101000587455 Homo sapiens Single-stranded DNA-binding protein, mitochondrial Proteins 0.000 description 3
- 102100029719 Single-stranded DNA-binding protein, mitochondrial Human genes 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000005336 cracking Methods 0.000 description 2
- 101100149023 Bacillus subtilis (strain 168) secA gene Proteins 0.000 description 1
- 239000004606 Fillers/Extenders Substances 0.000 description 1
- 101000724418 Homo sapiens Neutral amino acid transporter B(0) Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 244000309464 bull Species 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- NHDHVHZZCFYRSB-UHFFFAOYSA-N pyriproxyfen Chemical compound C=1C=CC=NC=1OC(C)COC(C=C1)=CC=C1OC1=CC=CC=C1 NHDHVHZZCFYRSB-UHFFFAOYSA-N 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/28—Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Executing Machine-Instructions (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf Datenverarbeitungssysteme und insbesondere auf ein Pipeline-System, bei welchem aufeinanderfolgende Stufen in der Pipeline vorherige Stufen steuern.
- Es ist bekannt, daß Datenverarbeitungssysteme einen Speicher zum Speichern von Befehlen und Operanden sowie eine Verarbeitungseinheit zum Ausführen der Befehle aufweisen. Die Verarbeitungseinheit ruft die Befehle vom Speicher ab, erzeugt eine Operanden-Adresse und ruft den Operanden oder die Operanden vom Speicher ab. Die Verarbeitungseinheit führt dann den Befehl aus und speichert den oder die resultierenden Operanden zurück in den Speicher an eine spezifizierte Stelle. Die Verarbeitungseinheit ruft dann den nächsten Befehl ab.
- Serielle Operation, insbesondere die Notwendigkeit häufiger Speicherzugriffe, war eine Beschränkung des System-Durchsatzes. Dementsprechend wurden dem System Caches hinzugefügt, um die Leistung zu erhöhen. Zunächst speichert der Cache sowohl Befehle als auch Operanden, aber spätere Entwürfe umfäßten einen Befehls-Cache und einen Daten-Cache.
- Etwa zur gleichen Zeit wurden die Datenverarbeitungs-Entwürfe in einer Pipeline-Operation implementiert. Während bis dahin Befehle seriell ausgeführt wurden, das heißt, daß der nächste Befehl erst abgerufen wurde, nachdem die Ausführung des vorherigen Befehls vollendet wurde, erfolgte bei neuen Entwürfen die Befehlsausführung in Pipeline-Weise. Beim Pipeline- Betrieb ist das System in eine Anzahl von Stufen organisiert, wie z.B. eine Befehlsstufe, bei welcher der Befehl abgerufen und analysiert wird, eine Adress-Stufe, bei welcher die Operanden-Adresse entwickelt wird, eine Speicher- oder Cache-Stufe, bei welcher der Operand abgerufen wird, und eine Ausführungs-Stufe, bei welcher der Befehl vollendet wird. Die Befehle werden seriell in die Pipeline gesetzt. Sobald die Befehlsoperation bei der Befehls-Stufe vollendet ist, wird der Befehl an die Adress-Stufe weitergeleitet, und der nächste auszuführende Befehl wird abgerufen. Daher konnten bei dem beschriebenen Vier-Stufen-System verschiedene Anteile von vier Befehlen zur selben Zeit ausgeführt werden.
- Die internationale Patentanmeldung WO 88/07239 beschreibt eine Vorrichtung und ein Verfahren zur Synchronisierung arithmetischer Ausnahmen bei Parallel-Pipeline-Ausführungseinheiten zum Implementieren eines speziellen Absaug-(DRAIN)-Befehls, um es dem Prozessor zu ermöglichen, Befehle zu vollenden, welche dem Absaug-Befehl vorausgehen, die gerade durch die Verarbeitungseinheiten verarbeitet werden, jedoch die spätere Verarbeitung von Befehlen zu verhindern, bis alle gegenwärtig ausgeführten Befehle vollendet sind und alle ausstehenden Ausnahme-Bedingungen gelöst sind. Der Absaug-Befehl wird benutzt, um auf die Erfassung einer arithmetischen Ablaufunterbrechung innerhalb der Datenverarbeitungskontext-Umgebung zu antworten, in welcher die Ablaufunterbrechung identifiziert wurde. Die gleiche arithmetische Ablaufunterbrechung innerhalb einer unterschiedlichen Datenverarbeitungskontext-Umgebung kann unterschiedliche Indikationen haben.
- Bestimmte Befehle haben eine lange Ausführungszeit oder erfordern Intervention durch ein anderes Programm, bevor der Befehl ausgeführt werden kann. Diese Befehle bewirken, daß die Befehls-Stufe die Pipeline blockiert, bis die Ausführung des Befehls vollendet ist. Die Befehls-Stufe wird dann die Pipeline wieder starten. Dieser Ansatz erfordert extensive zusätzliche Logik in der Befehls-Stufe mit ihrer nachfolgenden Verringerung im Durchsatz, um jeden Befehl zu analysieren.
- Dementsprechend ist es ein primäres Ziel der vorliegenden Erfindung, ein Niedrig-Kosten-Hochleistungs-Produktionsliniensystem zu schaffen.
- Es ist ein noch weiteres Ziel der vorliegenden Erfindung, eine weniger komplexe Vorrichtung zum Wiederstarten einer blockierten Pipeline zu schaffen.
- Es ist ein weiteres Ziel der Erfindung, Mittel zu schaffen fur eine nachfolgende Blockierung des Produktionsliniensystems, um eine frühere Stufe zu steuern, die Ausführung des Befehls zu vollenden, wodurch es der Produktionslinie ermöglicht wird, wieder zu starten.
- Die obigen und weiteren Ziele werden erreicht durch die vorliegende Erfindung gemäß den kennzeichnenden Merkmalen des Anspruchs 1. In einem bevorzugten Ausführungsbeispiel ist die Verarbeitungseinheit als ein Produktionsimiensystem organisiert und weist eine Anzahl von Einheiten auf, wobei jede eine unterschiedliche Operation auf jedem Befehl vorbereitet, welcher durch die Produktionslinie geht. Weitere Verbesserungen werden durch die Unteransprüche geschaffen.
- Eine Befehlseinheit ruft den Befehl vom Speicher ab und dekodiert diesen. Während normaler Operation sendet eine Befehlseinheit bestimmte Befehle an eine Adresseinheit und an eine Ausführungseinheit. Die Adresseinheit erzeugt eine Speicheradresse eines Operanden, welcher in dem Speicher gespeichert wird. Der Operand wird an die Ausführungseinheit gesandt, welche den Befehl ausführt.
- Das Dekodieren bestimmter anderer Befehle bewirkt, daß die Befehlseinheit die Produktionslinie blockiert. Befehle, die sich noch in der Produktionslinie befinden, werden ausgeführt, aber es werden keine neuen Befehle in die Produktionslinie hineingesandt, bis der Befehl, welcher die Verzögerungsbedingungen verursachte, ausgeführt ist. Die Ausführung des Befehls, welcher die Blockierung verursachte, wird vollendet durch die Ausführungseinheit, welche die Steuerung der Adresseinheit übernimmt.
- Die Befehlseinheit erzeugt ein Signal, welches zeitlich so bemessen ist, daß es einen Steuerungsspeicheradress-Multiplexer schaltet. Der Adress-Multiplexer legt normalerweise eine Steuerungsspeicher-Adresse von der Befehlseinheit an den Adresseinheit-Steuerungsspeicher an, aber in dem Fall der Blockierungsoperation legt der Adress-Multiplexer die Steuerungspeicher-Adresse von der Ausführungseinheit an den Adresseinheit-Steuerungsspeicher an. Dies ermöglicht es der Adresseinheit, durch die Ausführungseinheit gesteuert zu werden, um die Ausführung des Befehls zu vollenden. Die Vollendung des Befehls wird durch den Ausführungseinheit-Steuerungsspeicher signalisiert, der ein Erledigt-Signal an die Befehlseinheit sendet. Bei Empfang des Signals wird die Befehlseinheit die Produktionslinie wieder starten.
- Fig. 1 ist ein Blockdiagramm des gesamten Systems, welches die Vorrichtung der vorliegenden Erfindung aufweist. 1.
- Fig. 2 ist ein detaillierteres Blockdiagramm des gesamten Systems der Fig.
- Fig. 3 ist ein logisches Blockdiagramm von Hauptelementen des Produktionspipeline-Systems.
- Fig. 4 zeigt eine Sequenz der Befehle, welche verarbeitet werden, und umfäßt die Sequenz, welche die Produktionspipeline wieder startet.
- Fig. 1 zeigt ein Blockdiagramm eines Produktionspipeline-Datenverarbeitungssystems 1. Umfaßt sind eine Zentralverarbeitungseinheit (CPU) 2, eine virtuelle Speicherverwaltungseinheit (VMMU) 4, eine Cache-Einheit 6, ein Speichersubsystem 8 und eine Eingabe-/Ausgabe-Peripherieeinheit 10. Die Cache-Einheit 6, Speichereinheit 8 und Eingabe-/Ausgabe-Peripherieeinheit 10 sind alle gemeinsam mit einem Systembus 12 gekoppelt. Der Speicher 8 speichert Befehle und Operanden. Solche Operanden und Speicher, welche die höchste Wahrscheinlichkeit haben, unmittelbar ausgeführt zu werden, werden zu der Cache-Einheit 6 von dem Speichersubsystem 8 transferiert.
- Die CPU 2 empfängt Befehle von der Cache-Einheit 6 und sendet bei der Ausführung dieser Befehle den virtuellen Adress-Anteil des Befehls an die VMMU 4. Die VMMU 4 übersetzt die virtuelle Adresse in eine physikalische Adresse, die der Cache-Einheit 6 zugeführt wird zum Abrufen der notwendigen Operanden, um es der CPU 2 zu ermöglichen, die Befehle auszuführen.
- Die Eingabe-/Ausgabeeinheit 10 repräsentiert typischerweise eine beliebige Anzahl von Peripherie-Controllern mit deren Geräten oder einen Eingabe- /Ausgabeprozessor, der die Peripherie-Controller und -geräte steuert, oder die Einheit 10 kann ein Kommunikationssubsystem repräsentieren.
- Fig. 2 zeigt in Blockdiagramm-Form die wichtigsten Elemente, welche die CPU 2 und die Cache-Einheit 6 bilden. Die CPU 2 weist eine Befehls-(I)- Einheit 2-2, eine A-Einheit 2-4 und eine Anzahl von Ausführungs-(E)-Einheiten 2-6 auf. Die Ausführungseinheiten 2-6 könnten ein wissenschaftlicher Befehls-Prozessor oder ein kommerzieller Befehls-Prozessor sein. Jedoch wird zur Vereinfachung der Beschreibung nur der Betrieb von einer der Ausführungseinheiten 2-6 beschrieben, was ausreichend ist, um die Erfindung zu verstehen.
- Die Cache-Einheit 6 weist einen I-Cache 6-2 und einen E-Cache 6-4 auf. Der I-Cache 6-2 speichert die Befehle, die auszuführen sind, und der E Cache 6-4 speichert die Operanden, auf die die Befehle wirken. Die I- Einheit 2-2 führt im wesentlichen zwei Funktionen aus. Sie ruft Befehle von dem I-Cache 6-2 vorab ab und knackt solche Befehle, um zu entscheiden, wie die anderen Einheiten, nämlich die A-Einheit 2-4 und die E-Einheit 2-6, den Befehl weiter verarbeiten werden. Zusätzlich führt die I-Einheit 2-2 bestimmte Verzweigungsbefehle aus, welche dann von der Produktionslinie entfernt werden.
- Die A-Einheit 2-4 empfängt den Befehl von der I-Einheit 2-2 und führt den Befehl aus, wenn er ein Register-zu-Register-Befehl ist. Wenn der Befehl durch die E-Einheit 2-6 auszuführen ist, sendet die A-Einheit 2-4 eine virtuelle Adresse an die VMMU 4, welche ihn in eine physikalische Adresse für die E-Cache-Einheit 6-4 übersetzt. Der E-Cache 6-4 sendet die Operanden an die E-Einheit 2-6 für die Vollendung der Ausführung des durch die Befehlseinheit 2-2 ursprünglich von der I-Cache-Einheit 6-2 empfangenen Befehls.
- Die A-Einheit 2-4 wird auch die Ausführung eines Verzweigungsbefehls bestätigen und die Verzweigungsadresse an die Befehlseinheit 2-2 zurücksenden, welche bereits den nächsten Befehl an der Stelle im I-Cache 6-2 angefordert hat, welche durch die Vor-Abruf-Verzweigungsadresse der I- Einheit 2-2 spezifiziert ist. Sowohl die A-Einheit 2-4 als auch die E-Einheit 2-6 weisen Register-Dateien auf, welche die Inhalte der Register speichern, die den Programmierern zugänglich sind, d.h. sog. Software-sichtbare-Register. Sowohl der I-Cache 6-2 als auch der E-Cache 6-4 sind mit dem Systembus 12 gekoppelt, und ihre Inhalte werden mit vom Speicher 8 empfangenen Befehlen und Operanden aktualisiert.
- Befehle werden ausgeführt in einer Produktionspipeline-Weise durch die Elemente der CPU 2. Das heißt, die I-Einheit 2-2 empfängt einen Befehl vom I-Cache 6-2, knackt ihn und sendet dann den Befehl an die A-Einheit 2-4. Die A-Einheit 2-4 führt entweder den Befehl aus oder sendet die virtuelle Adresse an die VMMU 4 zur Übersetzung, um den E-Cache 6-4 zu adressieren. Der E-Cache 6-4 sendet die designierten Operanden an die E-Einheit 2-6.
- Während die A-Einheit 2-4 ihren Anteil des ersten Befehls von der I-Einheit 2-2 ausführt, ruft die I-Einheit 2-2 den zweiten Befehl und darauffolgende Befehle vom I-Cache 6-2 ab. Wenn die A-Einheit 2-4 die durch den ersten Befehl spezifizierte virtuelle Adresse an die VMMU 4 sendet und die I- Einheit 2-2 von diesem Ereignis unterrichtet, sendet die I-Einheit 2-2 den zweiten Befehl an die A-Einheit 2-4. Die VMMU 4 adressiert den E-Cache 6-4, während die A-Einheit 2-4 den zweiten Befehl in der Pipeline verarbeitet. Wenn die E-Einheit 2-6 den ersten Befehl ausführt, kann die VMMU 4 den E-Cache adressieren, um die Operanden des zweiten Befehls s abzurufen, währen die A-Einheit 2-4 eine virtuelle Adresse des dritten Befehls erzeugt. Währenddessen knackt die I-Einheit 2-2 den vierten Befehl und ruft einen der darauffolgenden Befehle ab. Daher könnten bei diesem typischen Beispiel Befehle die Produktionslinie durchschreiten.
- Da jedoch die I-Einheit 2-2 bestimmte Verzweigungsbefehle ausführen kann und die A-Einheit 2-4 bestimmte Software-sichtbare Registerbefehle ausführen kann, werden sie von der Produktionslinie entfernt, sobald die Ausführung dieser Befehle vollendet ist. In ähnlicher Weise, wenn die A-Einheit 2-4 einen Verzweigungsbefehl verarbeitet und die Bedingungen der Verzweigung erfüllt sind, bestätigt die A-Einheit 2-4 sofort die Verzweigungsadresse der I-Einheit 2-2, und der Verzweigungsbefehl wird von der Produktionslinie entfernt. Dieser Betriebsmodus und dieses Betriebsverfahren resultiert in erhöhtem Durchsatz verglichen mit dem Stand der Technik.
- Fig. 3 zeigt detaillierter die Elemente der Befehlseinheit 2-2, der A-Einheit 2-4, der Ausführungseinheit 2-6 und deren jeweilige Verbindungen. Der P- Zähler 2-200 der Befehlseinheit 2-2 wird durch die A-Einheit 2-4 mit einer virtuellen Adresse geladen. Diese virtuelle Adresse ist die Adresse in dem I-Cache 6-2 der Stelle des nächsten Befehls, der in die Pipeline zu setzen ist. Während des I-Abruf-Zyklus' (I-FETCH) wird die virtuelle Adresse zu dem I-Cache 6-2 übertragen über einen Addierer 2-202 und entweder ein Register VA0 2-204 oder ein Register VA1 2-206. Entweder Register VA0 2-204 oder Register VA1 2-206 wird benutzt, bis ein Verzweigungsbefehl abgerufen wird. Dann, wenn Register VA0 2-204 aktiv ist, würde die Adresse, nach welcher durch den Verzweigungsbefehl gerufen wurde, im Register VA1 2-206 gespeichert.
- Der Grund, weshalb die Verzweigungsadresse separat in den P-Zähler-2-200 und den Programm-Zähler-2-416-Registern gehalten wird, ist, weil, wenn es eine bedingte Verzweigung ist, die Bedingung erfüllt sein kann oder nicht erfüllt sein kann. Wenn die Bedingung nicht erfüllt ist, dann wird keine Verzweigung resultieren. Dies gibt dem System die Wahl, die durch die Verzweigung aufgerufene Adresse zu benutzen oder nicht zu benutzen. Der P-Zähler 2-200, unter Firmware-Steuerung, wird um eins für einen Ein- Wort-Befehl inkrementiert, um zwei für einen Doppel-Wort-Befehl inkrementiert oder durch eine Verzweigungsadresse von der A-Einheit 2-4 ersetzt.
- Der Befehl wird aus dem I-Cache 6-2 ausgelesen in entweder Kettenpuffer A 2-220 oder Kettenpuffer B 2-221. Hier wiederum empf:ngt ein Satz von Kettenpuffern sukzessive Befehle vom I-Cache 6-2, bis ein Verzweigungsbefehl auftritt. Dann wird der Befehl, welcher dem Verzweigungsbefehl folgt, in Puffern in der anderen Kette gespeichert. Zum Beispiel, wenn die Kettenpuffer A 2-220 benutzt würden, dann würden der Befehl, welcher den Verzweigungsbefehlen folgt, in den Kettenpuffern B 2-221 gespeichert. Der Durchsatz wird verbessert durch Speichern beider Sätze von Befehlen im Fall, daß die Verzweigungsbedingungen erfüllt sind, und die I-Einheit 2-2 ruft die Verzweigungskette von den Kettenpuffern B 2-221 ab.
- Der Befehl wird dann an die Befehlsknack-Logik 2-210 gesendet, welche bestimmt, welcher Art der Befehl ist. Das heißt, wenn dies ein Softwaresichtbarer Register-zu-Register-Befehl ist, dann wird er durch die A-Einheit 2-4 ausgeführt, wenn er ein Speicherbefehl ist, der durch die E-Einheit 2-6 ausgeführt werden wird.
- Der Befehl wird von der Knack-Logik 2-210 an den A-Einheit-Firmware- Adress-Generator 2-208 gesandt, der einen A-Einheit-Steuerungsspeicher 2- 430 adressiert. Die Inhalte der adressierten Stelle werden in einem RDR- (A)-Register 2-406 in der A-Einheit 2-4 gespeichert.
- Der A-Einheit-Steuerungsspeicher 2-430 wird von zwei unabhängigen Einheiten adressiert, nämlich der I-Einheit 2-2 und der E-Einheit 2-6. Während des Produktionslinienbetriebs steuert die I-Einheit 2-2 die Erzeugung der dem Steuerungsspeicher 2-430 zuzuführenden Firmware-Adresse. Wann immer die Produktionslinie gestoppt wird, wird ein Signal I-STALL durch die I-Einheit 2-2 in die Logik 2-223 gesendet, um das Signal SEL-E zu erzeugen. Wenn dies vorkommt, adressiert die gegenwärtige Firmware, welche durch den E- Einheit-Steuerungsspeicher 2-604 erzeugt wird, auch den A-Einheit-Steuerungsspeicher 2-430. Die Produktionslinie verbleibt blockiert, bis ein Wiederstart-Signal E-DONE ausgegeben wird. Die I-Einheit 2-2 erzeugt hexadezimale Adressen 8000 bis FFFF durch Signale AFWA (0-14), wobei das hochrangige Bit zu logisch eins gesetzt ist. Die E-Einheit 2-6 erzeugt hexadezimale Adressen 0000 bis 7FFF durch Signale E-RFW (0-14), wobei das hochrangige Bit auflogisch null gesetzt ist.
- Die Befehlssignale I INSTR 0-31 von den Kettenpuffern 2-220 oder 2-221 werden zu dem Befehls-(RINSTR)-Register 2-400 in der A-Einheit 2-4 transferiert. Wenn der Befehl durch die E-Einheit 2-6 auszuführen ist, wird er auch in einem First-in-First-out-Befehlsregister (FIFO) 2-600 in der E- Einheit 2-6 gespeichert. Der Befehl wird auch in einem OP-CODE-Register 2-401 in der A-Einheit 2-4 gespeichert unter Steuerung eines Signals I- BEGIN von der I-Einheit 2-2. Sowohl das RINSTR-Register 2-400 als auch das OP-CODE-Register 2-402 speichern doppelte Worte von je 32 Bits. Wenn ein Befehl zwei oder drei doppelte Worte benötigt, dann bleibt der OP-CODE für diesen Befehl in dem OP-CODE-Register 2-402, während jedes der doppelten Worte des Befehls seinerseits in dem Befehlsregister 2- 400 gespeichert wird.
- Die Ausgabe des OP-CODE-Registers 2-402 wird primär zum Adressieren einer Registerdatei 2-404 unter Steuerung von OP-CODE- und Firmware-Bits benutzt, die in dem OP-CODE-Register 2-402 bzw. in dem Register RDR (A) 2-406 gespeichert werden. Die Registerdatei 2-404 enthält die Softwaresichtbaren Register. Wenn der gerade ausgeführte Befehl ein Speicherbefehl -ist, dann wird eine virtuelle Adresse erzeugt und an die VMMU 4 über eine arithmetisch logische Einheit (ALU) 2-412 gesendet. Abhängig von dem gerade durch die A-Einheit 2-4 ausgeführten Befehl kann die Eingabe an die ALU 2-412 an die A-Seite angelegt werden, durch das RINSTR-Register 2- 400, das OP-CODE-Register 2-402, die Registerdatei 2-404 oder einen Programmzähler 2-416. B-Seiten-Eingaben der ALU 2-412 werden geschaffen durch einen Index-Verschieber 2-410 für Index- oder Offsetoperationen, über einen Addierer 2-408 oder von der Registerdatei 2-404. Wenn dies ein Registerbefehl ist, z.B. ein Verschiebebefehl der Inhalte eines Softwaresichtbaren Register in der Registerdatei 2-404, dann kann die Ausgabe der Registerdatei 2-404 dem Verschieber 2-414 zugeführt werden, kann verschgben werden, um die Anzahl von durch den Befehl spezifizierten Bits und in die Registerdatei 2-404 in demselben Register, von welchem es gelesen wurde, zurückgespeichert werden.
- Indikatorregister 2-417 enthalten Programmstatus-Indikatoren für bestimmte Befehle inklusive Verzweigungsbefehle. Die Registerbits enthalten einen Überlauf-Indikator (or), einen Übertrag-Indikator (C) der letzten Operation, dazu bestimmt, dieses Bit zu versetzen, einen Bittest-Indikator (B), der den Status des zuletzt getesteten Bits repräsentiert, und einen Eingabe/-Ausgabe- Indikator (I), der den Status der letzten Peripherie-Abfrage repräsentiert. Auch enthalten sind Indikatoren größer als (G), kleiner als (L) und Ungleichheitszeichen (U), die die Ergebnisse des letzten Vergleiches repräsentieren.
- Ähnliche Indikatorbits werden für wissenschaftliche und kommerzielle Befehle benutzt.
- Bedingte Verzweigungsbefehle werden daher ein Indikator-Bit testen und verzweigen, wenn die Bedingung wahr ist. Andere bedingte Verzweigungsbefehle werden die Bedingung von ausgewählten Software-sichtbaren Registern in den Registerdateien 2-404 und 2-610 testen. Der OP-CODE des Verzweigungsbefehls wird den Wahr-Status des ausgewählten Software-sichtbaren Registers spezifizieren, nämlich: er ist kleiner als NULL, größer als NULL, gleich NULL, ungleich NULL, kleiner oder gleich NULL, ungerade oder gerade.
- Die Verzweigungsbefehls-Typen weisen kurze Versetzungen von bis zu 16 Bits und große Versetzungen bis 30 Bits auf. Der Verzweigungsbefehl kann ein unbedingter Verzweigungstyp oder ein bedingter Verzweigungstyp sein. Die I-Einheit 2-2 wird die Verzweigungsadresse für alle Kurzversetzungs-Verzweigungsbefehle erzeugen. Sie tut dies durch Hinzufügen der Inhalte des Versetzungsfelds, welches in den Kettenpuffern 2-220 oder 2-221 ist, zu den Inhalten des P-Zählers 2-200 mittels des Addierers 2-202.
- Der Verzweigungsstrom wird von dem I-Cache 6-2 in die Kettenpuffer 2- 220 oder 2-221 eingelesen.
- Wenn der Verzweigungsbefehl einen unbedingten Sprung spezifiziert, dann führt die I-Einheit 2-2 den Verzweigungsbefehl aus und beginnt den nächsten Befehl in dem Verzweigungsbefehls-Strom zu knacken.
- Wenn der Verzweigungsbefehl ein bedingter Verzweigungsbefehl ist, dann wartet die I-Einheit 2-2 auf die A-Einheit 2-4, um die Entscheidung zu treffen, auf welchem Befehlsstrom die I-Einheit 2-2 knacken wird. Signale von dem OP-Code 2-402, Registerdatei 2-404 und Indikatorregister 2-417 werden der Verzweigungslogik 2-401 zugeführt. Wenn RDR (A) 2-406 das Signal A-P-LD erzeugt, dann werden die Verzweigungsadress-Signale von der ALU 2-412 in den P-Zähler 2-200 geladen und Verzweigungslogik 2-401 von Bitpositionen 46-50 oder hexadezimal 07 erzeugt. Signale A-BRANCH und A-P-LD werden dem P-Zähler 2-200 zugeführt, das A-BRANCH-Signal wird von den OP-CODE-Registersignalen erzeugt, welche die Art der Verzweigung, den Status der spezifizierten Indikatorregister-2-417-Bits und den Zustand bestimmter Software-sichtbarer Register von der Registerdatei 2- 404 spezifizieren. Wenn beide Signale wahr sind, beginnt die I-Einheit 2-2, die Befehle in dem Verzweigungsbefehls-Strom zu knacken. Wenn Signal A- P-LD wahr ist und A-BRANCH falsch ist, dann fährt die I-Einheit 2-2 fort, den Originalbefehls-Strom zu knacken.
- Wenn in der I-Einheit 2-2 der Befehl nach einer Verzweigung ruft und eine Versetzung hat, dann wird die Versetzung von der Knack-Einheit 2-210 dem Addierer 2-202 zugeführt, um auf die Inhalte des P-Zählers 2-200 addiert zu werden und entweder im Register VA0 2-204 oder Register VAL 2-206 gespeichert zu werden und um dem I-Cache 6-2 zugeführt zu werden.
- Für den bedingten Verzweigungsbefehl werden Signale von RINSTR 2-400 und von der ALU 2-412 der Verzweigungslogik 2-401 zugeführt. Die Ausgabe, Ladesignal A-P-LD, löst den P-Zähler 2-200 aus, um die Verzweigungsadress-Signale in A-BRANCH zu akzeptieren, welche zu I-CACHE 6-2 gesandt werden. Wenn die A-Einheit 2-4 die Ausführung des Befehls vollendet hat, wird ein A-DONE-Signal an die Knack-Logik 2-210 der I-Einheit 2-2 gesandt. Dies informiert die I-Einheit 2-2, den nächsten in den Kettenpuffern 2-220 oder 2-221 gespeicherten Befehl an die A-Einheit 2-4 zu senden und, wenn gefordert, an die E-Einheit 2-6. Wenn ein Befehl zur Ausführung durch die E-Einheit 2-6 aufruft, dann sendet die I-Einheit 2-2 diesen Befehl an das Befehls-FIFO 2-600 unter Steuerung von Signal I-E-LAST und Signal I-E- FIRST. Diese Signale steuern das Laden des Befehls-FIFO 2-600.
- Die Boolschen Ausdrücke, welche die Signale beschreiben, erscheinen in dem Anhang und sollten referenziert werden, wo erforderlich. Das I-BEGIN- Signal wird durch die A-Einheit 2-4 empfangen, wenn das CRACK-Signal erzeugt wird, das Signal nicht in einem Halte-Modus ist und kein Logikblock einschließlich der Taktlogik in einem Blockierungs-Modus ist.
- Das CRACK-Signal wird erzeugt, wenn die Fertig-Logik und Flops 2-222 bereit ist, den Befehl zu knacken, die Kettenpuffer A 2-220 oder Kettenpuffer B 2-221 mindestens einen Befehl speichern und die A-Einheit 2-4 das A-DONE-Signal erzeugt hatte, welches angibt, daß die A-Einheit 2-4 verfügbar ist für die Verarbeitung des nächsten Befehls.
- Die I-Einheit 2-2 erzeugt die I-EFIRST- und I-ELAST-Signale durch die Fertig-Logik und Flops 2-222, wenn der gerade geknackte Befehl durch die E-Einheit 2-6 auszuführen ist. Beide Signale werden dem I-FIFO 2-600 zugeführt. Das I-EFIRST-Signal gibt dem I-FIFO 2-600 die Freigabe, einen Doppelwort-Befehl zu speichern. Das I-ELAST-Signal gibt dem I-FIFO 2-600 die Freigabe, einen Einfachwort-Befehl zu speichern.
- Es sei angemerkt, daß die I-Einheit 2-2 den in der A-Einheit 2-4 auszuführenden Befehl sendet und nur dann zu FIFO 2-600, wenn der Befehl in der E-Einheit 2-6 auszuführen ist. In der E-Einheit 2-6 wird der nächste Befehl, den das FIFO 2-600 ausführen wird, dem nächsten Adresserzeuger 2-602 zugeführt, welcher die E-Einheit-Steuerspeicher-2-604-Adress-Stelle erzeugt. Das Firmware-Wort wird in einem Register RDR (E) 2-606 gespeichert. Das Befehls-FIFO 2-600 speichert bis zu vier Befehle.
- Wenn die A-Einheit 2-4 ihre virtuelle Adresse an die VMMU 4 sendet, erzeugt die VMMU 4 die physikalische Adresse, welche den E-Cache 6-4 adressiert. Der Inhalt der adressierten Stelle wird in einem Daten-FIFO 2- 630 in der E-Einheit 2-6 gespeichert durch Signal LD-DAT-0015 und LD- DAT-1631 für einen Einzelwort-Transfer oder für einen Doppelwort-Transfer. Signal LD-DAT-0015 inkrementiert auch die FIFO-2-630-Schreibadresse um eins, um den nächsten Transfer zu akzeptieren. Diese Daten sind die Operanden, auf denen der Befehl operieren wird. Die E-Einheit 2-6 führt Befehle aus, deren Operanden in Software-sichtbaren Registern von Registerdatei 2-630 gespeichert sind. Ein typischer Befehl ist der Multiplikationsbefehl.
- Während der Ausführung eines Befehls durch die E-Einheit 2-6 kann der Indikator-Status durch Indikatorlogik 2-623 erzeugende Signale E-IDAT 0-8 von Signalen, welche von der ALU 2-608 empfangen wurden, geändert werden. Signale E-IDAT 0-8 aktualisieren die Indikatorregister 2-417 in der A-Einheit 2-4.
- Für bestimmte Befehle, die durch die E-Einheit 2-6 ausgeführt werden, welche keine Operanden fordern, erzeugt die A-Einheit 2-4 einen Dummy- Zyklus durch Senden der virtuellen Adresse, hexadezimal 40, an die VMMU 4. Dies resultiert darin, daß der E-Cache 6-4 einen Leer-Zyklus durch Senden des Signals LD-DAT 1631 an das FIFO 2-630 mit einem "Dummy"- Operanden erzeugt.
- Bestimmte Befehle, typischerweise solche, die eine Einwirkung von außen erfordern, resultieren darin, daß die I-Einheit 2-6 ein I-STALL-Signal erzeugt. Das I-STALL-Signal verhindert die I-BEGIN-, I-EFIRST- und I- ELAST-Signale während nachfolgender Zyklen. Dies blockiert die Produktionslinie, und der letzte Befehl in der Produktionslinie, d.h. der Befehl, welcher die Blockierung verursachte, wird ausgeführt und nachfolgende Befehle, die von dem I-Cache 6-2 abgerufen wurden, werden nicht in die Produktionslinie gesandt, bis der letzte Befehl ausgeführt wurde. Ein typischer Befehl, der die Produktionslinie blockiert, ist der Modifizier- oder Test-Register-M-Befehl (MTM).
- Das I-STALL-Signal wird der Logik 2-223 zugeführt, welche ein SEL-E- Signal erzeugt, welches MUX 2-431 schaltet, um die E-RFW-0-14-Signale von der E-Einheit 2-6 zu empfangen. Signal SEL-E wird bei dem Beginn des folgenden Zyklus' durch Zeitgabesignal Q140 erzeugt. Jeder Zyklus beginnt beim Ansteigen des Zyklus-Zeitgabesignals Q140. Zeitgabesignal Q140 wird durch Zeitgabelogik 2-217 in herkömmlicher Weise erzeugt.
- Für den MTM-Befehl adressieren Signale E-RWF 0-14 von dem nächsten Adress-Generator 2-602 den A-Einheit-Steuerspeicher 2-430 durch MUX 2- 431. Firmware-Signale 54-63 werden in einem Decoder 2-433 dekodiert, um ein LOAD-Signal zu erzeugen, welches das M-Register 2-217 mit den Ausgabesignalen von ALU 2-412 der A-Einheit 2-4 lädt.
- Die Inhalte des M-Registers 2-217 werden ausgelesen auf Signalleitungen I- INST über MUX 2-219 zu Register RINSTR 2-400 und I-FIFO 2-600. Die Inhalte der M-Register in der I-Einheit 2-2 werden benutzt, um die Produktionslinie zu stoppen, wenn der in der Ausführung befindliche Befehl eine Programmunterbrechung verursachen kann.
- Die Produktionslinie wird wiedergestartet, wenn die E-Einheit 2-6 das E- DONE-Signal von RDR (E) 2-606 erzeugt, wobei angezeigt wird, daß die Ausführung des Befehls vollendet ist. Das E-DONE-Signal wird der Logik 2-223 und den Flops 2-222 zugeführt, um die I-STALL- und SEL-E-Signale zurückzusetzen Die I-Einheit 2-2 sendet dann den nächsten Befehl in die Produktionslinie durch Erzeugen der I-BEGIN-, I-EFIRST- und I-ELAST- Signale wie zuvor. Ein Multiplizierer 2-616 ist mit den A-&-B-Toren der Registerdatei 2-610 gekoppelt, um partielle Produkte in Verbindung mit dem Verschieber 2-618 und dem Q-Register 2-620 zu erzeugen und zu speichern. Die partiellen Produkte werden einem Ergebnis-Multiplexer (MUX) 2-622 zugeführt und an einer Akkumulator-Stelle in der Registerdatei 2-610 gespeichert. Wenn die Multiplikation vollendet ist, wird das Endergebnis in einem der Software-sichtbaren Register der Registerdatei 2-610 gespeichert.
- Eine Umspeicher-Logik 2-612 empfängt Operanden von der B-Seite der Registerdatei 2-610 zum Umspeichern von Worten innerhalb doppelter Worte und zum Umspeichern von Bytes innerhalb von Einzelworten. Ein 16-Bit- Wort wird aus zwei 8-Bit-Bytes gebildet. Ein Doppelwort wird gebildet aus 16-Bit-Einzeiworten oder 4 8-Bit-Bytes. Ein Zeichen-Extender 2-614 wiederholt das Zeichen von allen Positionen höherer Ordnung eines Doppelwortes links des ersten signifikanten Bits des Doppelwortes.
- Die CT1- und CT2-Zähler 2-624 werden bei der Berechnung des Exponenten einer Gleitkomma-Resultanten verwendet. Eine Mantisse eines Gleitkomma-Operanden wird durch die ALU 2-608 und einen Verschieber 2-618 verarbeitet. Diese werden in einer herkömmlichen Weise durchgeführt.
- Die Software-sichtbaren Register in den Registerdateien 2-404 in der A- Einheit 2-4 und 2-610 in der E-Einheit 2-6 werden in sukzessiven Zyklen aktualisiert, so daß sie beide dieselbe Information enthalten. Dies wird durch Firmware-Signale vom Register RDR (A) 2-406 erreicht, welche der Logik 2-420 zugeführt werden, um ein Aktualisierungs-Signal A-UPDT zu erzeugen, welches die Registerdatei 2-610 und sechs A-ADR-Signale freigibt, welche den Adress-Anschlüssen der Registerdatei 2-610 zugeführt werden, um die Daten von dem D-Anschluß der Registerdatei 2-404 zu dem D- Anschluß der Registerdatei 2-610 zu speichern. In ähnlicher Weise gibt das E-UPDT-Signal von Register RDR (E) 2-606 Registerdatei 2-404 frei, um die Daten an der durch Signale E-ADR von Logik 2-601 spezifizierten Adresse zu speichern. Logik 2-601 erzeugt Signale E-ADR von Befehls signalen von dem Befehls-FIFO 2-600 und Firmware-Signale von RDR (E) 2-606.
- Der A-Einheit-(2-4)-Programmzähler 2-416 speichert die Adresse des nächsten Befehls. P-Zähler 2-200 in der I-Einheit 2-2 speichert auch die Adresse des nächsten Befehls. Der Grund für die zwei Register ist, daß im Falle einer bedingten Verzweigung der P-Zähler 2-200 in der I-Einheit 2-2 die Verzweigungsadresse speichert im Falle, daß sie zu benutzen ist, wohingegen der Programmzähler 2-416 die Verzweigungsadresse nicht speichern wird, aber die nächste Adresse in der gerade ausgeführten Sequenz speichert.
- Fig. 4 zeigt eine Sequenz der gerade verarbeiteten Befehle und weist die Sequenz auf, welche die Produktions-Pipeline neu startet.
- Die in Fig. 4 gezeigten Stufen sind die I-Abruf-Stufe, was das Abrufen des Befehls von dem I-Cache 6-2 bedeutet; die I-Knack-Stute, welche den Befehl überprüft und entscheidet, welche der Einheiten den Befehl ausführen sollte; die A-Einheits-Stufe, welche eine virtuelle Adresse erzeugt oder Registeroder Verzweigungsbefehle ausführt; die VMMU-Stufe, welche die virtuelle Adresse in eine physikalische Adresse konvertiert; die E-Cache-Stufe, welche den Operanden bei der adressierten Stelle an die E-Einheit 2-6 sendet; und die E-Einheits-Stufe, welche den Befehl ausführt.
- Während Zyklus 1 ruft die I-Abruf-Stufe den Lade-B1-Befehl von dem I- Cache 6-2 ab und lädt ihn in die Kettenpuffer 2-220 und 2-221. Während Zyklus 2 "knackt" die I-Knack-Stule den Lade-B1-Befehl, d.h., sie entscheidet durch Dekodieren, daß die E-Einheit diesen Befehl ausführen wird und die A-Einheit die virtuelle Adresse des in Register B1 zu ladenden Operanden entwickeln wird. Die I-Einheit 2-2 sendet das I-BEGIN-Signal an die A-Einheit 2-4, um das OP-Code-Register 2-402 freizugeben, und sendet Signale I-EFIRST und I-ELAST an die E-Einheit 2-6, um das I-FIFO 2-600 freizugeben. Auch wird der Befehl an das RINSTR-Register 2-400 der A- Einheit 2-4 und an das I-FIFO 2-600 der E-Einheit 2-6 gesendet. Das OP- CODE-Register 2-402 wird mit dem OP-CODE-Anteil des Befehls geladen. Der A-Einheits-Steuerspeicher 2-430 wird adressiert, und das Firmware-Wort wird in dem Register RDR (A) 2-406 gespeichert.
- Die A-Einheit 2-4 erzeugt und sendet die virtuelle Adresse an die VMMU 4 während Zyklus 3. Die VMMU 4 übersetzt die virtuelle Adresse in die physikalische Adresse während Zyklus 4. Während Zyklus 5 sendet der E- Cache 6-4 den durch die physikalische Adresse spezifizierten Operanden an das Daten-FIFO 2-630. Der Befehl wird während Zyklus 6 durch die E- Einheit 2-6 ausgeführt durch Laden des Operanden in das B1-Register in der Registerdatei 2-610.
- Der nächste Befehl, der Modifizier-oder Test-Register-M1-Befehl (MTM B2) wird von dem I-Cache 6-2 abgerufen durch die I-FETCH-Stufe während Zyklus 2 und in den nächsten Kettenpuffer 2-220 oder 2-221 geladen.
- Das designierte Software-sichtbare 8-Bit-Register M wird geändert und/oder getestet wie spezifiziert durch den Inhalt der Stelle, deren Adresse in dem Software-sichtbaren Register B2 gespeichert ist. Sowohl das M- als auch das B2-Register sind Registerdateien 2-404 und 2-610.
- In diesem Beispiel weist das designierte Register M1 die Bit-Position 0 auf, welche ein Unterbrechungsverfolgungs-Freigabebit für Sprung- und Verzweigungsbefehle speichert. Bit-Position 0 bei logisch NULL sperrt die Unterbrechungsverfolgung und gibt die Unterbrechungsverfolgung bei logisch EINS frei.
- Bit-Positionen 1 bis 7 geben Überlaufunterbrechungs-Steuerung für Softwaresichtbare Register R1 bis R7 der Registerdateien 2-404 und 2-610 frei, wobei eine Bit-Position von logisch NULL die Überlaufunterbrechung für dieses Register sperrt und die Überlaufunterbrechung für dieses Register bei logisch EINS freigibt.
- Eine Unterbrechung (trap) ist ein Ereignis, welches während der Ausführung eines Befehls auftreten kann und angibt, daß eine Software-Intervention erforderlich ist. Wenn eine Verzweigungsbedingung wahr ist und Bit-Position 0 bei binär EINS ist, dann wird eine Unterbrechung auftreten und nach einer Software-Routine zum Eingriff aufrufen.
- In ähnlicher Weise wird, wo arithmetische Funktionen auf dem Inhalt eines designierten R-Registers und Operanden durchgeführt werden, dann das Ergebnis in das designierte R-Register geladen. Wenn das designierte Bit in dem M1 -Register bei logisch EINS ist und eine Überlauf-Bedingung vorhanden ist, dann ist diese Software-Intervention erforderlich.
- In Zyklus 3 dekodiert die I-CRACK-Stufe den MTM-B2-Befehl. Für den MTM-B2-Befehl identifizieren Bit-Positionen 1-3 bei binär 001 Register M1 als das designierte M-Register. Bit-Positionen 4-11 bei binär 00000000 designieren dies als einen MTM-Befehl unter Verwendung des Inhalts eines B-Registers, um auf einen Operanden zu zeigen, und Bit-Positionen 12-15 bei 0010 identifizieren das Software-sichtbare Register als R2.
- Während Zyklus 3 der I-CRACK-Stufe erzeugt die Logik 2-222 ein I- STALL-Signal durch Dekodieren der OP-Code-Bit-Positionen 4-8 bei 00000. Das I-STALL-Signal bleibt aktiv bis der MTM-Befehl ausgeführt wird und das durch die E-Einheit 2-6 erzeugte E-DONE-Signal durch die Logik 2-222 empfangen wird.
- Während Zyklus 4 der I-CRACK-Stufe wird das I-STALL-Signal dem Logikblock 2-223 zugeführt, um das MUX-Wähl-Signal SEL-E zu erzeugen, welches die E-RFW 0-14-Steuer-Speicheradress-Signale von der E-Einheit 2-6 wählt.
- Auch sendet während Zyklus 4 die A-Stufe die durch den Inhalt des Registers B2 spezifizierte Adresse an die VMMU 4. Während Zyklus 5 übersetzt die VMMU-Stufe die virtuelle Adresse in eine physikalische Adresse und führt sie dem E-Cache 6-4 zu.
- Während Zyklus 6 liest die E-Cache-Stufe den Operanden aus und speichert ihn in dem Daten-FIFO 2-630. Während Zyklus 7 aktualisiert die E-Stufe das M1-Register in der Registerdatei 2-610 und in dem M1-Register der Registerdatei 2-404 am Ende des Zyklus' 7. Auch sendet während Zyklus 7 die E-Stufe an den A-Einheits-Steuerspeicher 2-430 das Adress-Signal E- RFW 0-14 durch MUX 2-431. Die M-LD-MICRO-Firmware-Bits 54-63 werden aus dem Steuerspeicher 2-430 gelesen und dekodiert, um das LADE- Signal zu erzeugen, welches Register M1, M2, M4 und M5 zugeführt wird, um die M1-Information von ALU 2-412 zu laden.
- Während Zyklus 8 sendet die E-Stufe das E-DONE-Signal (RDR E 63) an Logik 2-223 der I-Einheit 2-2, um das I-STALL-Signal zurückzusetzen durch die die Pipeline wiederhergestellt wird.
- Wenngleich die Erfindung gezeigt wurde und mit Bezug auf deren bevorzugtes Ausführungsbeispiel beschrieben wurde, wird der Fachmann verstehen, daß obige und andere Änderungen in der Form und im Detail hierbei vorgenommen werden können, ohne von dem Umfang der Erfindung, wie durch die beigefügten Ansprüche definiert, abzuweichen.
- Die Bedeutungen der Befehle werden in dem folgenden Dokument gezeigt, welches kommerziell erhältlich ist von Honeywell Bull Inc., Hardware Version of DPS6 Programmers Pocket Guide CU75-02 (Aug. '84). Die Notationen in Boolschen Gleichungen sind wie folgt:
- EQ 0100 EQUAL TO HEXADECIMAL 0100
- GT 3 GREATER THAN HEXADECIMAL 3
- NEQ 2 NOT EQUAL TO HEXADECIMAL 2
- NLT 018 NOT LESS THAN HEXADECIMAL 018
- NGT OLE NOT GREATER THAN HEXADECIMAL 01E
- LT 3 LESS THAN HEXADECIMAL 3
- Das I-BEGIN-Signal wird durch die Boolsche Gleichung erzeugt:
- I-BEGIN = CRACK & ^I-STALL & ^HOLD
- CRACK = READY & ^NONELEFT & ADONE.
- Das ^ bezeichnet ein negiertes Signal, d.h. ^HOLD ist als das "NOT HOLD"-Signal zu lesen.
- Die Boolsche Gleichung für I-EFIRST- und I-ELAST-Signal sind:
- I-EFIRST = CRACK & ^I-STALL & EINSTR
- I-ELAST = I-EFIRST (^MSK + (SIZE EQ 2) + EII) + (^HOLD & MSK & ^EII & CRACK & ^I-STALL & NOTSTO & RSIZE EQ 2)
- E-DONE = RDR (E) 62 (RDRC (E) 2-606)
- I-STALL = MTM (CRACK) & ^I-STALL & Q140
- SEL-E = I-STALL & ^E-DONE & Q140
- Die Boolsche Gleichung für Signal EINSIR wird erzeugt als eine Funktion von Kombinationen von Bits der verschiedenen Typen von Befehlen, welche Ausführung durch die E-Einheit 2-6 erfordern. Die Boolsche Gleichung ist:
- EINSTR = GCS + (IO + IOLD +SC + MASK + BIT4 + LB + LEV + INCDEC & ^RAS + MTM + MUL + DIV + STM + SSBP) & ^EII + (BSTORE + EBIMO) & IMO + EMSK & EII + MLV & (SI + ESI & EII1) + (ESO+EDO) & (^ERAS&(EII1 + E1123) + ^S3EII45) + EEII & (EII1 + EII23) + (SDO + SO) & ^RAS & ^IMO & ^EII
- GCS = I-INST (0-8) EQ 0;
- IO = (I-INST (0-8) EQ 0100
- IOLD = I-INST (0-8) EQ 0103
- SO = (I-INST (0-3) EQ 8 & ((I-INST (4-8) EQ 1) + (I-INST (4-8) GT 3))
- SSBP = I-INST (0-8) EQ 0106
- SOV = SO & ((I-INST (4-8) EQ 4) + (I-INST (4-8) EQ 01D) + (I-INST (4-7) EQ 4)) + INCDEC
- LB = SO & (I-INST (4-8) EQ 05
- BIT4 = (I-INST (0-5) EQ 022) & (I-INST (8) EQ 0)
- SDO = (I-INST (0-3) GT 8) & (I-INST (4-8) NEQ 2)
- MASK = (I-INST (0) EQ 1) & (RLBP NEQ ) & (I-INST (4-8) EQ 015) + (I-INST (0-7) EQ 085) + (I-INST (0-7) EQ 08F)
- SC = ((I-INST (0-3) GT 8) & ((I-INST (4-8) EQ 011) + (I-INST (4-8) EQ 013 + (I-INST (4-8) EQ 018) + (I-INST (4-8) EQ 01A))) & ^EII1 & ^EII23 & ^AS3EII45
- STM = (I-INST (0) EQ 1) & (RLBP NEQ 0) & (I-INST (4-8) EQ OE) wobei RLBP = I-INST (1-3)
- MUL = (I-INST (0) EQ 1 & (RLBP NEQ 0) & (I-INST (4-8) EQ 016)
- DIV = (I-INST (0) EQ 1) & (RLBP NEQ 0) & (I-INST1 (4-8) EQ 06)
- MTM = (I-INST (0-3) GT 8) & (I-INST (4-8) EQ 0)
- BSTORE = SO & ((I-INST(4-8) EQ 4) + (I-INST(4-8) EQ 6) + (I- INST(4-6) EQ 3) + (I-INST(4-7) EQ 0A) + (I-INST(4-7) EQ 8) + (I- INST(4-8) EQ 018) + (I-INST(4-8) EQ 01A) + (I-INST(4-7) EQ 0E)) + BIT4 + SDO & ((I-INST(5-7) EQ 7) + (I-INST(4-8) EQ 015) + (I- INST(4-6) EQ 7))
- SI = (I-INST(0) . EQ.0) & (RLBP.NEQ.0) & (I-INST(4-7).GT.OB)
- EBIMO = (I-INST(0-3) GT 8) & ((I-INST(4-8) EQ 019) + (I-INST(4-8) EQ 017) + (I-INST(4-8) EQ 01D) + (I-INST(4-8) EQ 01F))
- LEV = SO & (I-INST(4-8) EQ 01C)
- INCDEC = SO & ((I-INST(48) EQ 011) + (I-INST (4-8) EQ 015))
- MLV = I-INST(6-7) EQ 3
- ESO = (I-INST (0-3) EQ 8) & (I-INST(4-8) NLT 018) & (I-INST(4-8) NEQ 018) & (I-INST(4-8) NGT 01E)
- ESOV = ESO & (I-INST(6-7) LT 3) & (I-INST(6-8) NEQ 1)
- ESI = EBK & (I-INST(8) EQ 1)
- EDO = (I-INST(0-3) GT 8) & (I-INST(4-7) NLT 4)
- EMSK = (I-INST(0) EQ 1) & (RLBP NEQ 0) & (I-INST(4-8) EQ OF) wobei RLBP = I-INST (1-3)
- EEII = KDIV + KMUL + KDIVP + KMULP
- KDIV = (I-INST(0) EQ 1) & (RLBP NEQ 0) & (I-INST(4-8) EQ 017)
- KMUL = (I-INST(0) EQ 1) & (RLBP NEQ 0) & (I-INST(4-8) EQ 01C)
- KDIVP = (I-INST(O) EQ 1) & RLBP NEQ 0) & (I-INST(4-8) EQ 01C)
- KMULP = (I-INST(0) EQ 1) & (RLBP NEQ 0) & (I-INST(4-8) EQ 01E)
- EII1 = I-INST(9-15) EQ 06C
- EII23 = I-INST(9-15) EQ 07C)
- AS3EII45 = I-INST(9-15) EQ 058
- RAS = (I-INST(9-11) EQ 5) & (I-INST(12) EQ 0) & (I-INST(13-15) NEQ 0)
- IMO = I-INST(9-15) EQ 070
- KAS = (I-INST(23-28) EQ 01A) & NC
- ERAS = (I-INST(24-28) EQ 01A) & NC
- NC = I-INST(29-31) NEQ 0
- II = EII1 + EII23 + AS3EII45
Claims (10)
1. Vorrichtung (2) zum Ausführen von Befehlen in einem
Datenverarbeitungssystem in einem Pipeline-Modus, aufweisend eine Mehrzahl von
seriell verbundenen Stulen (2-2, 2-4, 2-6), angeordnet, um eine Produk
tionslinie von Prozessoren zu bilden, und Speichereinrichtungen (4, 6,
8) zum Speichern von Operanden und Befehlen, wobei die Befehle
sukzessiv von den Speichereinrichtungen den Stufen zur Ausführung
zugeführt werden; wobei die Stufen (2-2, 24, 2-6) vorgesehen sind,
um Befehlsteile in sequentieller Folge auszuführen, wobei jede Stufe
eine verschiedene Operation auf jeder der Mehrzahl von Befehlen
ausführt, welche der Produktionslinie zugeführt werden,
gekenzeichnet durch
- eine Befehls- (I) Stufe (2-2), verbunden mit den
Speichereinrichtungen, aufweisend:
- I-Adresserzeugungseinrichtungen (2-200, 2-202, 2-204, 2-206,
2-208) zum Abrufen von Befehlen vom Speicher;
- I-Befehls-Speichereinrichtungen (2-220, 2-221) zum Speichern
jeder der Mehrzahl von Befehlen, wobei die Befehle von
mindestens ersten und zweiten Typen sind;
- I-Dekodiereinrichtungen (2-210, 2-222, 2-223) zum Erfassen
und Dekodieren jedes empfängenen Befehls und zum Erzeugen,
in Übereinstimmung mit dem Typ des erfaßten Befehls,
verschiedener Typen von Steuerungssignalen (I-BEGIN, I-EFIRST,
I-LAST; I-STALL, SEL-E) zum selektiv Steuern der Operation
der Stufen (2-2, 2-4, 2-6), wobei die I-Dekodiereinrichtung
erzeugt:
(i) in Antwort auf jedes der Erst-Typ-Befehle
Stufensteuerungs-Startsignale (I-BEGIN; I-EFIRST, I-ELAST) zum
Steuern der Folge-Operation der Stufen (2-2, 2-4, 2-6),
um den Empfang und die Ausführung in Abfolge der
Befehle fortzusetzen, und
(ii) in Antwort auf jeden der Zweit-Typ-Befehle
Verzögerungs-Auswahl-Steuerungssignale (I-STALL, SEL-E),
wodurch die Erzeugung der Stufensteuerungs-Startsignale
verhindert wird, woraufhin die I-Stufe (2-2) verzögert
wird, somit die I-Stute (2-2) vom Ausführen der. Abfolge
von Befehlen nächstfolgend den Zweit-Typ-Befehlen
angehalten wird, und
wobei die I-Dekodiereinrichtung (2-210, 2-222, 2-223) auf
Erledigungssignale (A-/E-DONE) antwortet, die durch die
Stufen (2-4, 2-6) von stromabwärts der Produktionslinie zum
Wiederstarten der I-Stufe (2-2) erzeugt werden;
- eine Adress-(A)-Stufe (2-4), verbunden mit der I-Stute (2-2) und
mit den Speichereinrichtungen, aufweisend:
- einen A-Steuerungsspeicher (2-430), verbunden mit einem
Multiplexer (2-431), zum Abrufen von Erst- oder
Zweit-Firmware-Worten, gespeichert an Stellen, spezifiziert durch Adress-
Signale der Erst- oder Zweit-Typ-Befehle, wobei der
Multiplexer (2-431) auf die Verzögerungs-Auswahl-Steuerungssignale
(SEL-E) antwortet und wobei, abhängig von dem binären
Zustand ("0" oder "1") der
Verzögerungs-Auswahl-Steuerungssignale Erst- oder Zweit-Firmware-Worte von den durch die
Erst- oder Zweit-Typ-Befehls-Adress-Signalen spezifizierten
Registerstellen ausgelesen werden;
- eine A-Logik-Einrichtung (2-420), antwortend auf den Erst-
Typ-Befehl und das Erst-Firmware-Wort zum Erzeugen einer
Operanden-Adresse;
- eine A-Ausführungs-Einrichtung (2-412), antwortend auf das
Zweit-Firmware-Wort zum Ausführen eines ersten Anteils des
Erst-Typ-Befehls; und
- eine A-Register-Einrichtung (2-400, 2-402, 2-404, 2-406) mit
einem A-Firmware-Register (2-406) zum Erzeugen eines A-
Erledigungs-Signals (A-DONE), angebend, daß die Ausführung
des Befehls durch die A-Stufe abgeschlossen ist; un
- eine Ausführungs-(E)-Stufe (2-6), verbunden mit der I-Stufe (2-
2), der A-Stufe (2-4) und den Speichereinrichtungen,
vorgesehen zum Empfangen von Operanden, ausgelesen von den
Speichereinrichtungen (6-4) an durch die Operanden-Adressen
spezifizierten Stellen, aufweisend:
- eine E-Adress-Erzeugungseinrichtung (2-602, 2-604) zum
Erzeugen von E-Adress-Signalen, welche die Stelle des Zweit-
Firmware-Wortes spezifizieren,
- eine E-Ausführungs-Einrichtung (2-608, 2-612, 2-614, 2-616,
2-618, 2-620, 2-622), antwortend auf den Erst-Typ-Befehl und
den Operanden zum Ausführen eines zweiten Anteils des Erst-
Typ-Befehls; und
- eine E-Register-Einrichtung (2-600, 2-601, 2-606, 2-610, 2-
630) mit einem E-Firmware-Register (2-606) zum Erzeugen
eines E-Erledigungs-Signals (E-DONE), angebend, daß die
Ausführung des Befehls durch die E-Stufe abgeschlossen ist.
2. Vorrichtung nach Anspruch 1, wobei die I-Dekodiereinrichtung (2-210,
2-222, 2-223) auf Signale von den Erst-Typ-Befehlen antwortet zum
Erzeugen von A-Stufen-Steuerungs-Startsignaien (I-BEGIN) und E-Stufen-
Steuerungs-Startsignalen (I-EFIRST, I-ELAST) während eines ersten
Zyklus' der Produktionslinien-Operation, wohingegen die Verzögerungs-
Auswahl-Steuerungssignale (I-STALL) während eines zweiten Zyklus' der
Produktionslinien-Operation erzeugt werden, wodurch die weitere
Erzeugung der Stufen-Steuerungs-Startsignale unterdrückt wird, und wobei
während eines dritten Zyklus' der Produktionslinien-Operation und in
Antwort auf Zeitgabe-Signale der Multiplexer (2-431) in
Übereinstimmung mit dem binären Zustand ("0" oder "1") der
Verzögerungs-Auswahl-Steuerungssignale (SEL-E) geschaltet wird.
3. Vorrichtung nach Anspruch 1 oder 2, wobei die A-Register-Einrichtung
(2-400, 2-402, 2-404, 2-406) auf die A-Stufen-Steuerungs-Startsignale (I-
BEGIN) antwortet zum Speichern der Erst-Typ-Befehle und wobei die
E-Register-Einrichtung (2-600, 2-601, 2-602, 2-610, 2-630) auf die E-
Stufen-Steuerungs-Startsignale (I-EFIRST, I-ELAST) zum Speichern der
Erst-Typ-Befehle antwortet.
4. Vorrichtung nach Anspruch 1, wobei die A-Register-Einrichtung ein A-
Firmware-Register (2-406) aufweist, welches mit der A-Logik-Einrich
tung (2-420) zum Erzeugen der Operanden-Adresse verbunden ist.
5. Vorrichtung nach Anspruch 1, wobei die E-Adress-Erzeugungseinrichtung
(2-602, 2-604) mit der E-Register-Einrichtung (2-600, 2-601, 2-606, 2-
610, 2-630) verbunden ist und auf die Erst-Typ-Befehle antwortet zum
Erzeugen der E-Steuerungs-Speicheradress-Signale zum Auslesen eines
Dritt-Firmware-Wortes von dem E-Firmware-Register (2-606) der E-
Register-Einrichtung.
6. Vorrichtung nach Anspruch 1 oder 5, wobei die
E-Ausführungs-Einrichtung (2-608, 2-612, 2-614, 2-616, 2-618, 2-620, 2-622) eine E-
Arithmetik/Logik-Einrichtung (2-614, 2-616) aufweist, welche auf den
Operanden und auf Signale von einem Dritt-Firmware-Wort zum
Erzeugen des zweiten Anteils des Erst-Typ-Befehls antwortet.
7. Vorrichtung nach Anspruch 1, wobei die A-Ausführungs-Einrichtung
eine A-Arithmetik/Logik-Einrichtung (2-412) aufweist, welche auf
Signale von dem Zweit-Firmware-Wort zum Ausführen des ersten Anteils des
Erst-Typ-Befehls antwortet.
8. Vorrichtung nach Anspruch 2, wobei die I-Dekodiereinrichtung. (2-223)
mit dem Multiplexer (2-431) verbunden ist, um dort das
Verzögerungs-Auswahl-Steuerungssignal (SEL-E) anzulegen in einem von seinen zwei
binären Zuständen ("0" oder "1"), derart, daß, wenn das Verzögerungs-
Auswahl-Steuerungssignal (SEL-E) in
(i) seinem ersten binären Zustand ("0") ist, die
I-Adress-Erzeugungseinrichtung (2-208) durch den Multiplexer (2-431) mit dem A-
Steuerungsspeicher (2-430) verbunden ist, wohingegen, wenn es in
(ii) in seinem zweiten binären Zustand ("1") ist, eine andere Adress-
Quelle (2-404 oder 2-610) von stromabwärts der Produktionslinie
durch den Multiplexer (2-431) mit dem A-Steuerungsspeicher (2-
430) verbunden ist.
9. Vorrichtung nach Anspruch 8, wobei die anderen
Adress-Quellen-Register-Dateien (2-404 oder 2-610) der A- oder E-Register-Einrichtungen
innerhalb der A- und E-Stufen sind.
10. Vorrichtung nach Anspruch 6 und 7, wobei die A- und E-Stufen (2-4,
2-6) das Ergebnis einer Operation, durchgeführt auf durch die Stufen
ausgeführte Befehle erfaßt und auf Beendigung von zumindest einem
Anteil des Erst-Typ-Befehls die jeweiligen A- oder E-Firmware-Register
(2-406 oder 2-606) die Erledigung-Signale (A-DONE, E-DONE)
erzeugen, um anzugeben, daß die Ausführung der Befehlsanteile durch die
jeweilige Stufe beendet wurde.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/286,578 US5197133A (en) | 1988-12-19 | 1988-12-19 | Control store addressing from multiple sources |
Publications (2)
Publication Number | Publication Date |
---|---|
DE68928013D1 DE68928013D1 (de) | 1997-06-05 |
DE68928013T2 true DE68928013T2 (de) | 1997-12-11 |
Family
ID=23099242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE68928013T Expired - Fee Related DE68928013T2 (de) | 1988-12-19 | 1989-12-07 | Adressierung eines Mikrobefehlsspeichers aus verschiedenen Quellen |
Country Status (3)
Country | Link |
---|---|
US (1) | US5197133A (de) |
EP (1) | EP0374598B1 (de) |
DE (1) | DE68928013T2 (de) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3055999B2 (ja) * | 1992-03-16 | 2000-06-26 | 日本電気株式会社 | マイクロプログラム制御装置群 |
US5996062A (en) * | 1993-11-24 | 1999-11-30 | Intergraph Corporation | Method and apparatus for controlling an instruction pipeline in a data processing system |
US5515522A (en) * | 1994-02-24 | 1996-05-07 | Hewlett-Packard Company | Coherence index generation for use by an input/output adapter located outside of the processor to detect whether the updated version of data resides within the cache |
US5924125A (en) * | 1995-08-01 | 1999-07-13 | Arya; Siamak | Method and apparatus for parallel access to consecutive TLB entries |
US6530076B1 (en) * | 1999-12-23 | 2003-03-04 | Bull Hn Information Systems Inc. | Data processing system processor dynamic selection of internal signal tracing |
GB2519801A (en) | 2013-10-31 | 2015-05-06 | Ibm | Computing architecture and method for processing data |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3972024A (en) * | 1974-03-27 | 1976-07-27 | Burroughs Corporation | Programmable microprocessor |
US4001788A (en) * | 1975-03-26 | 1977-01-04 | Honeywell Information Systems, Inc. | Pathfinder microprogram control system |
WO1985000453A1 (en) * | 1983-07-11 | 1985-01-31 | Prime Computer, Inc. | Data processing system |
US4811215A (en) * | 1986-12-12 | 1989-03-07 | Intergraph Corporation | Instruction execution accelerator for a pipelined digital machine with virtual memory |
CA1304823C (en) * | 1987-03-20 | 1992-07-07 | David N. Cutler | Apparatus and method for synchronization of arithmetic exceptions in central processing units having pipelined execution units simultaneously executing instructions |
US4875160A (en) * | 1988-07-20 | 1989-10-17 | Digital Equipment Corporation | Method for implementing synchronous pipeline exception recovery |
US4985825A (en) * | 1989-02-03 | 1991-01-15 | Digital Equipment Corporation | System for delaying processing of memory access exceptions until the execution stage of an instruction pipeline of a virtual memory system based digital computer |
US4982402A (en) * | 1989-02-03 | 1991-01-01 | Digital Equipment Corporation | Method and apparatus for detecting and correcting errors in a pipelined computer system |
-
1988
- 1988-12-19 US US07/286,578 patent/US5197133A/en not_active Expired - Lifetime
-
1989
- 1989-12-07 DE DE68928013T patent/DE68928013T2/de not_active Expired - Fee Related
- 1989-12-07 EP EP89122558A patent/EP0374598B1/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0374598A3 (de) | 1992-07-15 |
EP0374598B1 (de) | 1997-05-02 |
US5197133A (en) | 1993-03-23 |
DE68928013D1 (de) | 1997-06-05 |
EP0374598A2 (de) | 1990-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69033443T2 (de) | Mechanismus zur Verzweigungsrücksetzung in einem Prozessor mit gepaarten Befehlen | |
DE69028138T2 (de) | Mechanismus zur präzisen Behandlung von Ausnahmebedingungen in einem Prozessor mit gepaarten Befehlen | |
DE69032635T2 (de) | Verfahren und Vorrichtung zur Erkennung von Betriebsmittelkonflikten in einer Pipeline-Verarbeitungseinheit | |
DE69631778T2 (de) | Flexible implementierung eines systemverwaltungsmodus in einem prozessor | |
DE69308548T2 (de) | Vorrichtung und verfahren zum befehlsabschluss in einem superskalaren prozessor. | |
DE68926385T2 (de) | Methode und Hardware-Ausführung von komplexen Datentransferbefehlen | |
DE69737423T2 (de) | Verfahren und gerät zum replizieren von datenspeicherung in einem fortgeschrittenen mikroprozessor | |
DE69904479T2 (de) | Registerumbenennung wobei übertragungsinstruktionen mittels umbenennungsschildernzeichen realisiert werden | |
DE69932066T2 (de) | Mechanismus zur "store-to-load forwarding" | |
DE69033331T2 (de) | Sprungvorhersage | |
DE69033131T2 (de) | Logikvorrichtung und Verfahren zur Verwaltung einer Befehlseinheit in einer Pipeline-Verarbeitungseinheit | |
DE69901910T2 (de) | Verfahren und gerät zur rechnung von indirekten verzweigungszieladressen | |
DE69331448T2 (de) | Dataprozessor mit einem Cachespeicher | |
DE69031433T2 (de) | Speicherzugriffsausnahmebehandlung bei vorausgelesenen Befehlswörtern in dem Befehlsfliessband eines Rechners mit virtuellem Speicher | |
DE68927492T2 (de) | Verfahren und Vorrichtung zur gleichzeitigen Verteilung von Befehlen an mehrere funktionelle Einheiten | |
DE69325086T2 (de) | Verfahren und System für spekulative Befehlsausführung | |
DE3751356T2 (de) | Informationsverarbeitungssystem. | |
DE68928677T2 (de) | Verfahren und digitaler Computer zur Vorverarbeitung mehrerer Befehle | |
DE69130858T2 (de) | Überlappende Serienverarbeitung | |
DE69030931T2 (de) | Mehrfachsequenzprozessorsystem | |
DE3851746T2 (de) | Sprungvorhersage. | |
DE69902392T2 (de) | Verwenden von ecc/paritätsbits zum speichern von vor- dekodierungs-informationen | |
DE102004013676A1 (de) | Schleifenbetrieb mit null Overhead in einem Mikroprozessor mit Anweisungspuffer | |
DE69130757T2 (de) | Ausführungsvorrichtung für bedingte Verzweigungsbefehle | |
DE69232045T2 (de) | Vorrichtung und verfahren zur ausführung von instruktionen in nicht sequentieller reihenfolge |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |