DE4207148A1 - Superscalar-prozessor - Google Patents

Superscalar-prozessor

Info

Publication number
DE4207148A1
DE4207148A1 DE4207148A DE4207148A DE4207148A1 DE 4207148 A1 DE4207148 A1 DE 4207148A1 DE 4207148 A DE4207148 A DE 4207148A DE 4207148 A DE4207148 A DE 4207148A DE 4207148 A1 DE4207148 A1 DE 4207148A1
Authority
DE
Germany
Prior art keywords
data
pipeline
execution
command
stage
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.)
Ceased
Application number
DE4207148A
Other languages
English (en)
Inventor
Chikako Ikenaga
Hideki Ando
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE4207148A1 publication Critical patent/DE4207148A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units

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)

Description

Die Erfindung bezieht sich auf einen Superscalar-Prozessor nach dem Oberbegriff des Patentanspruches 1. Ein derartiger Super­ scalar-Prozessor weist eine Umgehungsleitung zum Übertragen von Daten zwischen Pipelines auf. Insbesondere ist der Superscalar-Pro­ zessor in der Lage, Daten zwischen Pipelines direkt zu über­ tragen, die für eine Mehrzahl von Befehlen benutzt werden, die parallel ausgeführt werden.
Ein "Superscalar" ist als eine Architektur zum Erhöhen der Verar­ beitungsgeschwindigkeit in einem Mikroprozessor bekannt. Befehle, die gleichzeitig ausgeführt werden können, werden aus einer gege­ benen Mehrzahl von Befehlen erfaßt, und die erfaßten Befehle wer­ den gleichzeitig oder parallel durch eine Mehrzahl von Pipelines in einem Mikroprozessor unter Benutzung eines Superscalars ausge­ führt.
Wie in Fig. 7 gezeigt ist, weist ein Superscalar-Prozessor 20 eine Befehlsholstufe 2 zum Holen einer Mehrzahl von in einem Befehls­ speicher 1 gespeicherten Befehlen, eine Befehlsdecodierstufe 3 zum Decodieren der in der Befehlsholstufe 2 geholten Befehle, Funktionseinheiten 14-17, von denen jede eine Pipelinestruktur aufweist, und eine Registerdatei 9 zum zeitweiligen Halten von zum Ausführen der Befehle benutzten Daten auf. Die Funktionseinheiten 14-17 können auf einen externen Datenspeicher 8 durch einen Daten­ bus 11 zugreifen. Die Registerdatei 9 ist mit einem RAM verwirk­ licht, und auf sie wird von den Funktionseinheiten 14-17 zugegrif­ fen.
Die Befehlsholstufe 2 enthält einen Programmzähler (nicht gezeigt) und gibt ein von dem Programmzähler erzeugtes Adreßsignal an den Befehlsspeicher 1 ab. Eine durch das gegebene Adreßsignal bezeich­ nete Mehrzahl von Befehlen wird geholt und in der Befehlsholstufe 2 gehalten.
Die Befehlsdecodierstufe 3 nimmt die Mehrzahl von Befehlen von der Befehlsholstufe 2 auf und decodiert sie. Gleichzeitig ausführbare Befehle werden aus einer gegebenen Mehrzahl von Befehlen durch das Decodieren der Befehle erfaßt. Zusätzlich leitet die Befehlsdeco­ dierstufe 3 die Daten zwischen den Funktionseinheiten 14-17 und der Registerdatei 9 weiter. Insbesondere liest die Decodierstufe 3 die durch die Funktionseinheiten 14-17 zu benutzenden Daten zum Ausführen der gegebenen Befehle aus der Registerdatei 9 und gibt die gelesenen Daten an die Funktionseinheiten 14-17 ab.
Jede der Funktionseinheiten 14-17 weist eine Pipelinestruktur auf. Insbesondere sind bei dem Superscalar-Prozessor 20 vier Pipelines für die 4 Funktionseinheiten 14-17 vorgesehen.
Die 4 Funktionseinheiten 14-17 führen vorbestimmte arithmetische Operationen aus, wie unten beispielsweise beschrieben wird. Die Funktionseinheiten 14 und 15 führen ganzzahlige arithmetische Operationen aus. Die Funktionseinheit 16 führt das Laden und Spei­ chern von Daten in den Datenspeicher 8 durch. Die Funktionseinheit 17 führt arithmetische Gleitkomma-Operationen aus. Beide Funktionseinheiten 14 und 15 enthalten eine Ausführungsstufe (EXC) und eine Rückschreibstufe (WB) zu der Registerdatei 9. Die Funk­ tionseinheit 16 enthält eine Adreßverarbeitungsstufe (ADR), eine Speicherzugriffsstufe (MEM) und eine Rückschreibstufe (WB). Die Funktionseinheit 17 enthält 3 Verarbeitungsstufen (EX1, EX2, EX3) und eine Rückschreibstufe (WB). Die Ausführungsstufen führen arithmetische Operationen und Adreßberechnungen durch, während die Speicherzugriffsstufe das Lesen/Schreiben aus/in den Datenspeicher 8 durchführt.
Der Superscalar-Prozessor 20 ist als Reaktion auf extern angelegte zweiphasige nichtüberlappende Taktsignale Φ1 und Φ2 tätig. Insbe­ sondere werden die Befehlsholstufe 2, die Befehlsdecodierstufe 3 und verschiedene Stufen in den Funktionseinheiten 14-17 als Reak­ tion auf die Taktsignale Φ1 und Φ2 und der Steuerung der Pipelines betrieben. Ein Beispiel von zweiphasigen nichtüberlappenden Takt­ signalen ist in Fig. 6 gezeigt.
Im Betrieb erfaßt die Befehlsdecodierstufe 3 gleichzeitig ausführ­ bare Befehle aus einer gegebenen Mehrzahl von Befehlen und gibt die erfaßten Befehle an die Funktionseinheiten 14-17 weiter (gemäß den Umständen an einige der Funktionseinheiten 14-17). Die Funk­ tionseinheiten 14-17 weisen Pipelinestruktur auf, so daß sie die gegebenen Befehle gleichzeitig oder parallel ausführen können.
Es sei jetzt angenommen, daß der Superscalar-Prozessor 3 Funk­ tionseinheiten (Pipelines) aufweist und jede Funktionseinheit eine Ausführungsstufe (EXC), eine Speicherzugriffsstufe (MEM) und eine Rückschreibstufe (WB) aufweist. Ein Beispiel des Vorangehens des Pipelineverarbeitens in diesem Fall ist in Fig. 8A dargestellt. Wie in Fig. 8A gezeigt ist, wird angenommen, daß drei Pipelines PL1, PL2 und PL3 die Befehle 1, 2 bzw. 3 ausführen. Das Verarbei­ ten in der Befehlsholstufe 2 wird in einem Zeitraum T1 ausgeführt, und das Verarbeiten in der Befehlsdecodierstufe 3 wird in einem Zeitraum T2 in der Pipeline PL1 ausgeführt. Das Verarbeiten in der Ausführungsstufe, der Speicherzugriffsstufe und der Rückschreib­ stufe wird in den Zeiträumen T3, T4 bzw. T5 ausgeführt. In der Pipeline PL2 wird das Verarbeiten in der Befehlsholstufe 2 in dem Zeitraum T2 gestartet. Die Stufen (ID, EXC, MEM, WB) werden in den Zeiträumen T3-T6 entsprechend wie bei der Pipeline PL1 ausge­ führt. In der Pipeline PL3 wird, nachdem das Verarbeiten in der Befehlsholstufe 2 in dem Zeitraum T3 gestartet ist, das Verarbei­ ten in den entsprechenden Stufen in den Zeiträumen T4-T7 ausge­ führt. Wie aus Fig. 8A zu sehen ist, führt jede Pipeline PL1-PL3 einen entsprechenden der gegebenen Befehle 1-3 aus, so daß zu ver­ stehen ist, daß entsprechende Stufen simultan und parallel vor­ schreiten. Es tritt jedoch ein Problem bezüglich des Gesichtspunk­ tes der für die Verarbeitung benötigten Zeit im folgenden Fall auf:
Wie in Fig. 8B gezeigt ist, wird angenommen, daß zwei Befehle 11 und 12 gegeben werden, und sie werden von den Pipelines PL1 und PL2 ausgeführt. Zusätzlich sei angenommen, daß die Daten eines durch Ausführen des Befehls 11 erzielten Resultats bei dem Verar­ beiten in dem Befehl 12 benötigt werden. In anderen Worten, es wird angenommen, daß der Befehl 12 gegeben ist, der seine eigene Verarbeitung durchführt, indem er die durch den ausgeführten Befehl 11 erzielten Daten benutzt.
Bis jetzt wurde der Befehl 11 ausgeführt und in solch einem Fall zuerst beendet. In der Pipeline PL1 wird die Befehlsholstufe 2 in dem Zeitraum T1 ausgeführt, und die Befehlsdecodierstufe 3 wird in dem Zeitraum T2 ausgeführt. Die Ausführungsstufe, die Speicher­ zugriffsstufe und die Rückschreibstufe werden in den Zeiträumen T3, T4 bzw. T5 ausgeführt. Die durch Ausführen des Befehls 11 erzielten Daten werden einmal in der in Fig. 7 gezeigten Register­ datei gemäß der Ausführung der Rückschreibstufe gespeichert. Dage­ gen wird in der Pipeline PL2 die Befehlsholstufe 2 in dem Zeitraum T2 ausgeführt, und die Befehlsdecodierstufe 3 wird in dem Zeitraum T3 ausgeführt. Das Ausführen des Befehls 12 wird jedoch in den Zeiträumen T4 und T5 gestoppt. Der Grund dafür ist der, daß der Befehl 12 Daten benutzt, die durch Ausführen des Befehls 11 erhal­ ten werden, so daß er warten muß auf das Beenden der Ausführung des Befehls 11. Folglich wird die Verarbeitung in der Pipeline PL2 angehalten, bis die Rückschreibstufe in der Pipeline PL1 in dem Zeitraum T5 beendet ist. Daher wird die Pipeline PL1 in einen Ruhezustand (Pipelineblockierung) in den Zeiträumen T4 und T5 gebracht.
Nach dem Ablauf des Zeitraums T5 sind die durch Ausführen des Befehls 11 erhaltenen Daten in der Registerdatei 9 gespeichert. Daher wird die Ausführung des Befehls 12 wieder in der Pipeline PL2 in dem Zeitraum T6 gestartet. Nachdem die Befehlsdecodierstufe 3 in dem Zeitraum T6 ausgeführt ist, werden die Ausführungsstufe, die Speicherzugriffsstufe und die Rückschreibstufe in den entspre­ chenden Zeiträumen T7-T9 ausgeführt.
Wie oben beschrieben wurde, wird auf die Registerdatei 9 beim Ver­ arbeiten eines Befehls 12 zugegriffen, nachdem die durch Ausführen eines Befehls 11 erhaltenen Daten einmal in die Registerdatei 9 geschrieben sind. Die durch das Ausführen der Verarbeitung in einer Pipeline PL1 erhaltenen Daten werden an eine andere Pipeline PL2 durch die Registerdatei 9 übergeben. Wie jedoch in Fig. 8B gezeigt ist, findet die Übertragung von Daten zwischen zwei Pipe­ lines PL1 und PL2 durch die Registerdatei 9 statt, obwohl die durch das Ausführen des Befehls 11 erzielten Daten bereits beim Verarbeiten in der Ausführungsstufe in dem Zeitraum T3 erhalten worden sind, so daß die Pipeline PL2 auf die Beendigung des Aus­ führens der Rückschreibstufe in Pipeline PL1 warten muß. Als Resultat wird eine lange Zeit zum Beenden der Ausführung des Befehls benötigt. Die Verarbeitungsgeschwindigkeit des Super­ scalar-Prozessors wird dadurch verringert.
Es ist daher das der Erfindung zugrunde liegende Problem, die zum Ausführen einer Instruktion benötigte Zeit zu verringern, wobei die eine Instruktion die durch Ausführen einer anderen Instruktion erhaltenen Daten benutzt. Dieses soll insbesondere in einem Superscalar-Prozessor der Fall sein, der zwei oder mehr Instruk­ tionen gleichzeitig oder parallel ausführen kann. D.h. es soll eine Pipelineblockierung in einem Superscalar-Prozessor verhindert werden, der zwei oder mehr Befehle gleichzeitig oder parallel aus­ führen kann.
Dieses Problem wird durch einen Superscalar-Prozessor der eingangs beschriebenen Art gelöst, der durch die kennzeichnenden Merkmale des Patentanspruchs 1 gekennzeichnet ist.
Insbesondere führt der erfindungsgemäße Superscalar-Prozessor unter Pipelinesteuerung eine erste Mehrzahl von Befehlen, die früher gegeben worden sind, und eine zweite Mehrzahl von Befehlen, die später gegeben worden sind, aus, wobei er in einem Datenspei­ cherschaltung gespeicherte Daten benutzt. Jeder Befehl enthält eine Quellenadresse, die eine Adresse in der Datenspeicherschal­ tung bezeichnet, wo die für die Ausführung des Befehls benötigten Daten gespeichert sind, und eine Bestimmungsadresse, die eine Adresse in der Datenspeicherschaltung bezeichnet, wo die ausge­ führten Daten gespeichert werden sollen. Der Superscalar-Prozessor enthält eine Erfassungsschaltung für gleichzeitig ausführbare Befehle zum Erfassen gleichzeitig ausführbarer Befehle aus einer gegebenen ersten oder zweiten Mehrzahl von Befehlen und eine dritte Mehrzahl von Pipelineverarbeitungsschaltungen zum Ausführen entsprechender Befehle, die von der Erfassungsschaltung für gleichzeitig ausführbare Befehle erfaßt sind, auf parallele Weise unter Pipelinesteuerung. Jede der Pipelineverarbeitungsschaltungen enthält eine Ausführungsschaltung für einen früheren Befehl und eine Ausführungsschaltung für einen späteren Befehl zum Ausführen auf sequentielle Weise der gegebenen Befehle unter Pipelinesteue­ rung. Die Ausführungsschaltung des späteren Befehls, die in minde­ stens einer einer dritten Mehrzahl von Pipelineverarbeitungsschal­ tungen enthalten ist, enthält eine Adreßkoinzidenz-Erfassungs­ schaltung reagiert zum Erfassen der Koinzidenz zwischen der Quel­ lenadresse, die in einem gegebenen Befehl enthalten ist, und der Bestimmungsadresse, die in dem Befehl enthalten ist, der in einer Ausführungsschaltung für einen früheren Befehl in einer anderen Pipelineverarbeitungsschaltung ausgeführt ist, und eine direkte Anlegeschaltung, die auf die Adreßkoinzidenz-Erfassungsschaltung reagiert zum Anlegen der in der Verarbeitungsschaltung des frühe­ ren Befehls in einer anderen Pipelineverarbeitungsschaltung erhal­ tenen Daten direkt an die Verarbeitungsschaltung des späteren Befehls, die in mindestens einer der Pipelineverarbeitungsschal­ tungen enthalten ist.
Im Betrieb legt die Direktanlegeschaltung als Reaktion auf die Adreßkoinzidenz-Erfassungsschaltung die Daten, die in der Verar­ beitungsschaltung des früheren Befehls in einer anderen Pipeline­ verarbeitungsschaltung erhalten sind, direkt an die Verarbeitungs­ schaltung des späteren Befehls, die in mindestens einer Pipeline­ verarbeitungsschaltung enthalten ist. Insbesondere nimmt die Befehlsverarbeitungsschaltung in der mindestens einen Pipelinever­ arbeitungsschaltung direkt die Daten auf, die in der Verarbei­ tungsschaltung das früheren Befehls in einer anderen Pipelinever­ arbeitungsschaltung ausgeführt sind, ohne daß sie durch die Daten­ speicherschaltung gehen, so daß es möglich ist, den Befehl in kur­ zer Zeit abzuarbeiten.
Bevorzugte Weiterbildungen der Erfindung ergeben sich aus den Unteransprüchen.
Weitere Merkmale und Zweckmäßigkeiten der Erfindung ergeben sich aus der Beschreibung eines Ausführungsbeispiels anhand der Figu­ ren.
Von den Figuren zeigt:
Fig. 1 ein Blockschaltbild eines Superscalar-Prozessors gemäß einer Ausführungsform der Erfindung;
Fig. 2 ein Blockschaltbild einer der in Fig. 1 gezeigten Funk­ tionseinheiten;
Fig. 3 ein Blockschaltbild des in Fig. 2 gezeigten Adreßkompara­ tors;
Fig. 4 ein Blockschaltbild des in Fig. 2 gezeigten Datenselek­ tors;
Fig. 5 ein Blockschaltbild der in Fig. 2 gezeigten Ausführungs­ einheit für eine arithmetische Operation;
Fig. 6 ein Zeitablaufdiagramm für ein zweiphasiges nicht über­ lappendes Taktsignal;
Fig. 7 ein Blockschaltbild eines vorhandenen Superscalar-Prozes­ sors und
Fig. 8A, 8B und 8C Zeitablaufdiagramme zum Darstellen des Ablaufes der Pipelineverarbeitung.
Wie in Fig. 1 gezeigt ist, weist ein Superscalar-Prozessor 10 eine Befehlsholstufe 2, eine Befehlsdecodierstufe 3, verbesserte Funk­ tionseinheiten 4, 5, 6 und 7, eine Registerdatei 9 und eine neu vorgesehene Umgehungsleitung 12 auf. Jede der Funktionseinheiten 4-7 enthält eine Ausführungsstufe (EXC) 41, eine Speicherzugriffs­ stufe (MEM) 42 und eine Rückschreibstufe (WB) 43. Der Superscalar-Pro­ zessor 10 wird als Reaktion auf ein extern angelegtes zwei­ phasiges nichtüberlappendes Taktsignal Φ1, Φ2 unter Pipelinesteue­ rung betrieben. Der grundlegende Betrieb ist der gleiche wie bei dem in Fig. 7 gezeigten vorhandenen Superscalar-Prozessor 20, so daß diese Beschreibung weggelassen wird.
Die Umgehungsleitung 12 ist zwischen entsprechenden Funktionsein­ heiten 4-7 vorgesehen, und die in der Ausführungsstufe der Funk­ tionseinheiten erhaltenen Daten werden über die Umgehungsleitung 12 übertragen. Zusätzlich werden die Bestimmungsadressen, die in den in den entsprechenden Funktionseinheiten ausgeführten Befehlen enthalten sind, zwischen den Funktionseinheiten 4-7 übertragen, obwohl es nicht besonders gezeigt ist.
Eine der verbesserten in Fig. 1 gezeigten Funktionseinheiten ist in Fig. 2 dargestellt. Wie in Fig. 2 gezeigt ist, enthält die ver­ besserte Funktionseinheit eine Ausführungsstufe 41 zum Ausführen eines Befehls, eine Speicherzugriffsstufe 42 zum Zugreifen auf den Datenspeicher 8 oder die Registerdatei 9 und eine Rückschreibstufe 43 zum Schreiben der durch das Ausführen des Befehls erhaltenen Daten in die Registerdatei 9.
Die Ausführungsstufe 41 enthält einen Adreßkomparator 80 zum Ver­ gleichen einer Quellenadresse und eine Bestimmungsadresse, einen auf Signale S11-S18 und S21-S28 reagierenden Datenselektor 83, wobei die Signale die Vergleichsresultate zum Auswählen der in einer arithmetischen Operation zu benutzenden Daten anzeigen, und eine Ausführungseinheit 87 für eine arithmetische Operation zum Ausführen der arithmetischen Operation auf der Grundlage der aus­ gewählten Daten. Ein von der Decodierstufe 3 gegebener Befehl ent­ hält einen Befehlscode OP, zwei Quellenadressen SA1 und SA2 und eine Bestimmungsadresse DA. Der Adreßkomparator 80 nimmt die in dem gegebenen Befehl enthaltenen Quellenadressen SA1 und SA2 auf. Zusätzlich nimmt der Adreßkomparator 80 die Bestimmungsadressen DAb1, DAb2, DAc1, DAc2, DAd1 und DAd2 auf, die in Befehlen enthal­ ten sind, die von anderen in Fig. 1 gezeigten Funktionseinheiten 5, 6 und 7 bearbeitet werden. Weiter nimmt der Adreßkomparator 80 eine Bestimmungsadresse DAa1 in der Ausführungsstufe 41 und eine Bestimmungsadresse DAa2 in der Speicherzugriffsstufe 42 auf. Der Adreßkomparator 80 vergleicht die Quellenadressen SA1 und SA2 und die Bestimmungsadressen DAa1 bis DAa2 und stellt die Koinzidenz zwischen ihnen fest, wobei die Einzelheiten später beschrieben werden.
Ein Bestimmungsregister 81 hält die von der Decodierstufe 3 abge­ gebene Bestimmungsadresse DA. Die gehaltene Bestimmungsadresse DAa1 wird an den Adreßkomparator 80 und an ein Bestimmungsregister 82 in der Speicherzugriffsstufe 42 abgegeben.
Der Datenselektor 83 ist zum Empfangen zweiter Werte DT1 und DT2 geschaltet, die durch die Registerdatei 9 durch die Decodierstufe 3 abgegeben werden. Die Werte DT1 und DT2 werden von einem Befehl in der Ausführungsstufe 41 benötigt. Zusätzlich nimmt der Daten­ selektor 83 Daten Db1, Db2, Dc1, Dc2, Dd1 und Dd2, die in den Aus­ führungsstufen in anderen in Fig. 1 gezeigten Funktionseinheiten 5, 6 und 7 behandelt worden sind, durch die neu vorgesehene Umge­ hungsleitung 12 auf. Weiterhin nimmt der Datenselektor 83 einen Wert Da1, der durch ein Datenregister 86 in der Speicherzugriffs­ stufe 42 gehalten wird, und einen Wert Da2, der von einem Daten­ register 85 in der Ausführungsstufe 41 gehalten wird, auf. Der Datenselektor 83 wird als Reaktion auf die Auswahlsignale S11-S18 und S21-S28 betrieben, die von dem Adreßkomparator 80 abge­ geben werden, und die Einzelheiten hiervon werden später beschrie­ ben.
Die Ausführungseinheit 84 der arithmetischen Operation ist über Datenleitungen 31 und 32 mit dem Datenselektor 83 verbunden. Die von dem Datenselektor 83 ausgewählten Daten werden über die Daten­ leitungen 31 und 32 an die Ausführungseinheit 84 der arithmeti­ schen Operation angelegt, und die auf dem gegebenen Befehl beru­ hende arithmetische Operation wird dort ausgeführt. Die das Ausfüh­ rungsresultat der arithmetischen Operation anzeigenden Daten wer­ den in dem Datenregister 85 gehalten.
Die Speicherzugriffsstufe 42 enthält ein Bestimmungsregister 82 zum Halten einer Bestimmungsadresse und ein Datenregister 86 zum Halten der ein Resultat der arithmetischen Operation anzeigenden Daten. Die Rückschreibstufe nimmt die von dem Bestimmungsregister 82 gehaltene Bestimmungsadresse und die von dem Datenregister 86 gehaltenen Ausführungsdaten auf. Die Rückschreibstufe 43 schreibt die ausgeführten Daten in die Registerdatei 9 gemäß der gegebenen Bestimmungsadresse.
Ein Beispiel des in Fig. 2 gezeigten Adreßkomparators ist in Fig. 3 gezeigt. Wie nämlich in Fig. 3 gezeigt ist, weist der Adreßkom­ parator 80 Koinzidenzdetektoren 811- 818 zum Erfassen der Koinzi­ denz zwischen einer Quellenadresse SA1 und einer Bestimmungs­ adresse und Koinzidenzdetektoren 821- 828 zum Erfassen der Koinzi­ denz zwischen einer Quellenadresse SA2 und einer Bestimmungs­ adresse auf. Die Quellenadressen SA1 und SA2 sind in einem von der Decodierstufe 3 gegebenem Befehl enthalten. Die Koinzidenzdetekto­ ren 811- 818 empfangen die Bestimmungsadressen DAb1, DAb2, DAc1, DAc2, DAd1 und DAd2, die von den anderen Funktionseinheiten abge­ geben werden, und ihre eigenen Bestimmungsadressen DAa1 bzw. DAa2. Die Koinzidenzdetektoren 821- 828 empfangen die Bestimmungsadressen auf die gleiche Weise. Ein Koinzidenzdetektor, z. B. Detektor 811 erfaßt die Koinzidenz zwischen der gegebenen Quellenadresse SA1 und der Bestimmungsadresse DAb1 und erzeugt ein Koinzidenzerfas­ sungssignal S11 auf hohem Pegel. Die Koinzidenzerfassungssignale S11-S18 und S21-S28 werden als Auswahlsignale zum Auswählen von Daten, die in einer arithmetischen Operation benutzt werden, an den Datenselektor 83 abgegeben.
Ein Beispiel eines Datenselektors 83 ist in Fig. 4 gezeigt. Wie nämlich in Fig. 4 gezeigt ist, enthält der Datenselektor 83 Drei­ stufenpuffer (tri-state buffer) 910-918, die mit der Datenleitung 31 verbunden sind, Dreistufenpuffer 920-928, die mit der Datenlei­ tung 32 verbunden sind, und zwei NOR-Gatter 901 und 902. Die Drei­ stufenpuffer 910 und 920 sind zum Empfangen der von der Register­ datei 9 abgegebenen Werte DT1 bzw. DT2 geschaltet. Die Dreistufen­ puffer 911-916 nehmen von den anderen Funktionseinheiten 5, 6 und 7 durch die Umgehungsleitung 12 angelegte Daten Db1, Db2, Dc1, Dc2, Dd1 und Dd2 auf. Die Dreistufenpuffer 917 und 918 nehmen ihre eigenen ausgeführten Daten Da1 bzw. Da2 auf. Die Dreistufenpuffer 921-928 nehmen die abgegebenen Daten auf die gleiche Weise auf wie die Dreistufenpuffer 911-918. Die Dreistufenpuffer 911-918 werden als Reaktion auf die Datenauswahlsignale S11-S18 gesteuert, die von dem Adreßkomparator 80 abgegeben werden. Wenn z. B. das auf einem hohen Pegel liegende Datenauswahlsignal S11 angelegt ist, legt der Dreistufenpuffer 911 den Wert Db1 auf der Umgehungslei­ tung 12 an die Datenleitung 31 an. Der Dreistufenpuffer 910 wird als Reaktion auf ein Ausgangssignal von dem Buchstaben NOR-Gatter 901 betrieben. Wenn alle Datenauswahlsignale S11-S18 einen nie­ drigen Pegel anzeigen, legt das NOR-Gatter 901 ein Ausgangssignal auf einem hohen Pegel an den Dreistufenpuffer 910 an, so daß der von der Registerdatei 9 abgegebene Wert DT1 an die Datenleitung 31 angelegt wird.
Die Dreistufenpuffer 921-928 sind entsprechend auf die Datenaus­ wahlsignale S21-S28 tätig. Der Dreistufenpuffer 920 ist als Reaktion auf ein Ausgangssignal von dem NOR-Gatter 902 tätig. Die durch die Übertragungsgatter 910-918 und 920-928 ausgewählten Daten werden über die Datenleitungen 31 und 32 zu der Ausführungs­ einheit 87 der arithmetischen Operation übertragen.
Ein Beispiel einer Ausführungseinheit 84 der arithmetischen Opera­ tion ist in Fig. 5 dargestellt. Wie nämlich in Fig. 5 gezeigt ist, enthält die Ausführungseinheit 84 der arithmetischen Operation Register 841 und 842 zum Halten von durch die Datenleitungen 31 bzw. angelegten Daten und eine arithmetische Operationseinheit (ALU) 843 zum Ausführen einer arithmetischen Operation unter Benutzung der durch die Register 841 und 842 gehaltenen Daten. Die durch das Ausführen der arithmetischen Operation in der arithmeti­ schen Operationseinheit 843 erhaltenen Daten werden an das in Fig. 2 gezeigte Datenregister 85 angelegt.
Im folgenden wird unter Bezugnahme auf die Fig. 1-5 und 8C der Betrieb des in Fig. 1 gezeigten Superscalar-Prozessors 10 beschrieben. Es sei angenommen, daß der in Fig. 1 gezeigte Super­ scalar-Prozessor 10 ebenfalls die Befehle 11 und 12 ausführt, die oben unter Bezugnahme auf die Fig. 8B beschrieben worden sind. Wie in Fig. 8C gezeigt ist, führt die Befehlsholstufe 2 den Befehl 11 in dem Zeitraum T1 aus (Pipeline PL1). In dem Zeitraum T2 führt die Befehlsdecodierstufe 3 den Befehl 11 (Pipeline PL1) aus, dage­ gen führt die Befehlsholstufe 2 den Befehl 12 aus. In dem Zeitraum T3 wird der Befehl 11 in der Pipeline PL1 ausgeführt und die aus­ geführten Daten werden erhalten. Die ausgeführten Daten stehen an, um in die Registerdatei 9 gemäß der Bestimmungsadresse geschrieben zu werden, die in dem Befehl 11 enthalten ist. Die ausgeführten Daten sind dazu bestimmt, in der Ausführungsstufe in der Pipeline PL2 in dem Befehl 12 benutzt zu werden, so daß die ausgeführten Daten durch die in Fig. 1 gezeigte Umgehungsleitung 12 zu der Pipeline PL2 geführt werden, wie im folgenden beschrieben wird. Bei der obigen Beschreibung entspricht die Pipeline PL1 der Funk­ tionseinheit 5, und die Pipeline PL2 entspricht der Funktionsein­ heit 4.
Die Funktionseinheit 4, die die Pipeline PL2 darstellt, weist die in Fig. 2 gezeigte Struktur auf. Wie in Fig. 2 gezeigt ist, ver­ gleicht der Adreßkomparator 80 die Bestimmungsadressen SA1 und SA2, die in dem gegebenen Befehl 12 enthalten sind, und die Bestimmungsadressen DAa1, DAa2, . . . DAd1 und DAd2. Wie in der Fig. 3 gezeigt ist, werden in dem Fall, daß die Koinzidenz erfaßt wird, Koinzidenzerfassungssignale S11-S18 oder S21-S28 auf hohem Pegel als Auswahlsignale erzeugt.
Der in Fig. 4 gezeigte Datenselektor 83 legt selektiv die durch die Umgehungsleitung 12 zugeführten Daten an die Datenleitungen 31 und 32 als Reaktion auf die Datenauswahlsignale S11-S18 und S21-S28 an. Wenn alle Datenauswahlsignale S11-S18 und S21-S28 auf niedrige Pegel sind, d. h., keine Koinzidenz zwischen den Quellenadressen und den Bestimmungsadressen ist erfaßt, werden die Werte DT1 und DT2, die von der Registerdatei 9 kommen, an die Datenleitungen 31 und 32 angelegt. Wenn folglich mindestens eine Koinzidenz in dem in Fig. 3 gezeigten Adreßkomparator 80 erfaßt ist, werden die Daten in der anderen Funktionseinheit (d. h. Pipe­ line PL1) über die Umgehungsleitung 12 (d. h. nicht durch die Regi­ sterdatei 9) zu der Funktionseinheit 4 (d. h. Pipeline PL2) über­ tragen. Die in der anderen Pipeline PL1 ausgeführten Daten werden nicht durch die Registerdatei 9 zu der Pipeline PL2 geführt, so daß es für die Pipeline PL2 nicht nötig ist, auf das Ende der Aus­ führung in der Speicherzugriffsstufe und der Rückschreibstufe in der Pipeline PL1 zu warten.
Wie in Fig. 8C gezeigt ist, werden die in der Ausführungsstufe in der Pipeline PL1 ausgeführten Daten während des Zeitraums T3 durch die Umgehungsleitung 12 an die Pipeline PL2 angelegt, so daß die Ausführungsstufe in der Pipeline PL2 in dem Zeitraum T4 tätig werden kann. Während bei dem in Fig. 7 gezeigten Superscalar-Pro­ zessor 20 die Ausführung der Verarbeitung in der Pipeline PL2 in den Ruhezustand während der Zeiträume T4 und T5 (Pipelineblockierung) gebracht wurde, wie in Fig. 8B gezeigt ist, ist es bei dem in Fig. 1 gezeigten Superscalar-Prozessor 10 mög­ lich, die Ausführung der Verarbeitung in der Ausführungsstufe und der Speicherzugriffsstufe in den Zeiträumen T4 und T5 fortzuset­ zen. D.h., eine Pipelineblockierung tritt nicht auf. Der Grund dafür ist der, daß die in der Pipeline PL1 ausgeführten Daten durch die Umgehungsleitung 12 zu der Pipeline PL2 geführt werden, so daß es nicht nötig wird, auf das Beenden der Ausführung in der Speicherzugriffsstufe und der Rückschreibstufe in der Pipeline PL1 zu warten.
Wie aus dem Vergleich zwischen den Fig. 8B und 8C zu sehen ist, wird als Resultat die Zeitdauer (T2-T6), die die Pipeline PL2 benötigt, um die Ausführung des Befehls 12 auszuführen, kürzer gemacht als Zeitdauer (T2-T9), die bei dem vorhandenen Super­ scalar-Prozessor benötigt wird. Folglich wird die Verarbeitung bei einer höheren Geschwindigkeit in einem Superscalar-Prozessor erzielt.
Während der Superscalar-Prozessor 10 mit jeweils den gleichen Pipelinestrukturen (d. h. Stufen) in dem in Fig. 1 gezeigten Bei­ spiel beschrieben worden ist, ist die Anwendung der vorliegenden Erfindung jedoch nicht darauf beschränkt. Selbst wenn der Super­ scalar-Prozessor verschiedene Pipeline-Strukturen aufweist, ist es möglich, die oben beschriebenen Vorteile in bezug auf die Zeit zu erzielen, die zum Verarbeiten nötig ist, indem eine Umgehungslei­ tung zwischen den Pipelines vorgesehen wird.

Claims (5)

1. Superscalar-Prozessor (10) mit einer Datenspeichereinrichtung, der eine erste Mehrzahl von früher gegebenen Befehlen und eine zweite Mehrzahl von später gegebenen Befehlen unter Pipelinesteue­ rung unter Benutzung von in der Datenspeichereinrichtung gespei­ cherten Daten ausführt,
wobei jeder der Befehle eine Quellenadresse (SA1, SA2) die eine Adresse in der Speichereinrichtung anzeigt, bei der für die Aus­ führung des Befehls zu benutzende Daten gespeichert sind, und eine Bestimmungsadresse (DA), die eine Adresse in der Datenspeicherein­ richtung anzeigt, bei der die ausgeführten Daten zu speichern sind, enthält,
mit einer Erfassungseinrichtung (3) für gleichzeitig ausführbare Befehle zum Erfassen gleichzeitig ausführbarer Befehle in der gegebenen ersten oder zweiten Mehrzahl von Befehlen,
mit einer dritten Mehrzahl von Pipelineverarbeitungseinrichtungen (4, 5) zum parallelen und gleichzeitigen Ausführen entsprechender Befehle unter Pipelinesteuerung, die von der Erfassungseinrichtung (3) für gleichzeitig ausführbare Befehle erfaßt sind,
wobei jede der dritten Pipelineverarbeitungseinrichtungen (4, 5) eine Ausführungseinrichtung (42) für den früheren Befehl und eine Ausführungseinrichtung (41) für den späteren Befehl zum aufeinan­ derfolgenden Ausführen der gegebenen Befehle unter Pipelinesteue­ rung aufweist,
dadurch gekennzeichnet, daß die in mindestens einer der dritten Mehrzahl von Pipelineverarbeitungseinrichtungen (4, 5) vorgesehene Ausführungseinrichtung (41) für den späteren Befehl aufweist:
eine Adreßkoinzidenz-Erfassungseinrichtung (80) zum Erfassen der Koinzidenz der in dem gegebenen Befehl enthaltenen Quellenadresse (SA1, SA2) und der in dem Befehl enthaltenen Bestimmungsadresse (DA), der in der Verarbeitungseinrichtung (42) für den früheren Befehl in einer anderen Pipelineverarbeitungseinrichtung ausge­ führt ist,
und eine Direktanlegungseinrichtung (12, 83), die auf die Adreß­ koinzidenz-Erfassungseinrichtung (80) reagiert, zum direkten Anle­ gen der in der Ausführungseinrichtung (42) für den früheren Befehl in der anderen Pipelineverarbeitungseinrichtung behandelten Daten an die Ausführungseinrichtung (42) für den späteren Befehl in der mindestens einen Pipelineverarbeitungseinrichtung.
2. Superscalar-Prozessor nach Anspruch 1, dadurch gekennzeichnet, daß die Erfassungseinrichtung für gleich­ zeitig ausführbare Befehle eine Decodiereinrichtung (3) zum Deco­ dieren der ersten und zweiten Mehrzahl von Befehlen zum Erfassen der gleichzeitig ausführbaren Befehle aufweist.
3. Superscalar-Prozessor nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Direktanlegungseinrichtung auf­ weist:
eine Datenübertragungsleitung (12), die zwischen der mindesten einen Pipelineverarbeitungseinrichtung und der anderen Pipeline­ verarbeitungseinrichtung geschaltet ist zum Übertragen der Daten, die in der Ausführungseinrichtung (42) für den früheren Befehl in der anderen Pipelineverarbeitungseinrichtung behandelt sind, zu der Ausführungseinrichtung (41) für den späteren Befehl in der mindestens einen Pipelineverarbeitungseinrichtung und
eine Datenauswahleinrichtung (83) zum Empfangen von durch die Datenübertragungsleitung (12) übertragenen Daten und Auswählen der übertragenen Daten als Reaktion auf die Adreßkoinzidenz-Erfas­ sungseinrichtung (80).
4. Superscalar-Prozessor nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die Ausführungseinrichtung (42) für den früheren Befehl eine Speicherzugriffsstufe (5, 42) aufweist, die in der anderen Pipelineverarbeitungseinrichtung vorgesehen ist, zum Ausführen des Speicherzugriffs gemäß dem gegebenen Befehl, und
die Ausführungseinrichtung (41) für den späteren Befehl eine Ausführungsstufe (4, 41) aufweist, die in der mindestens einen Pipelineverarbeitungseinrichtung vorgesehen ist, zum Ausführen einer arithmetischen Operation gemäß dem gegebenen Befehl.
5. Superscalar-Prozessor nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß die Datenspeichereinrichtung eine Registerdatei (9) zum zeitweiligen Speichern der in der ersten und zweiten Mehrzahl von Befehlen zu benutzenden Daten aufweist.
DE4207148A 1991-06-17 1992-03-06 Superscalar-prozessor Ceased DE4207148A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3144560A JPH04367936A (ja) 1991-06-17 1991-06-17 スーパースカラープロセッサ

Publications (1)

Publication Number Publication Date
DE4207148A1 true DE4207148A1 (de) 1992-12-24

Family

ID=15365101

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4207148A Ceased DE4207148A1 (de) 1991-06-17 1992-03-06 Superscalar-prozessor

Country Status (3)

Country Link
US (2) US5636353A (de)
JP (1) JPH04367936A (de)
DE (1) DE4207148A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19506435C2 (de) * 1994-02-28 2000-05-18 Intel Corp Verfahren und Einrichtung zum Vermeiden von Rückschreibkonflikten zwischen einen gemeinsamen Rückschreibpfad verwendenden Ausführungseinheiten

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5546554A (en) * 1994-02-02 1996-08-13 Sun Microsystems, Inc. Apparatus for dynamic register management in a floating point unit
US5559976A (en) * 1994-03-31 1996-09-24 International Business Machines Corporation System for instruction completion independent of result write-back responsive to both exception free completion of execution and completion of all logically prior instructions
JP3442175B2 (ja) * 1995-02-02 2003-09-02 株式会社リコー 中央演算処理装置
JP2636789B2 (ja) * 1995-03-31 1997-07-30 日本電気株式会社 マイクロプロセッサ
US6092184A (en) * 1995-12-28 2000-07-18 Intel Corporation Parallel processing of pipelined instructions having register dependencies
US5813033A (en) * 1996-03-08 1998-09-22 Advanced Micro Devices, Inc. Superscalar microprocessor including a cache configured to detect dependencies between accesses to the cache and another cache
JP3745450B2 (ja) * 1996-05-13 2006-02-15 株式会社ルネサステクノロジ 並列処理プロセッサ
JPH09305401A (ja) * 1996-05-13 1997-11-28 Mitsubishi Electric Corp コンピュータ及びコンパイラ
US5778248A (en) * 1996-06-17 1998-07-07 Sun Microsystems, Inc. Fast microprocessor stage bypass logic enable
US5802386A (en) * 1996-11-19 1998-09-01 International Business Machines Corporation Latency-based scheduling of instructions in a superscalar processor
JP3578883B2 (ja) * 1997-01-31 2004-10-20 三菱電機株式会社 データ処理装置
US6016543A (en) * 1997-05-14 2000-01-18 Mitsubishi Denki Kabushiki Kaisha Microprocessor for controlling the conditional execution of instructions
US6014759A (en) * 1997-06-13 2000-01-11 Micron Technology, Inc. Method and apparatus for transferring test data from a memory array
US6044429A (en) 1997-07-10 2000-03-28 Micron Technology, Inc. Method and apparatus for collision-free data transfers in a memory device with selectable data or address paths
US5872986A (en) * 1997-09-30 1999-02-16 Intel Corporation Pre-arbitrated bypassing in a speculative execution microprocessor
JP4201927B2 (ja) * 1999-08-25 2008-12-24 株式会社ルネサステクノロジ データ処理管理装置
US6862677B1 (en) * 2000-02-16 2005-03-01 Koninklijke Philips Electronics N.V. System and method for eliminating write back to register using dead field indicator
US6851044B1 (en) * 2000-02-16 2005-02-01 Koninklijke Philips Electronics N.V. System and method for eliminating write backs with buffer for exception processing
US6728870B1 (en) * 2000-10-06 2004-04-27 Intel Corporation Register move operations
WO2003036468A1 (en) 2001-10-24 2003-05-01 Telefonaktiebolaget Lm Ericsson (Publ) An arrangement and a method in processor technology
US20040128482A1 (en) * 2002-12-26 2004-07-01 Sheaffer Gad S. Eliminating register reads and writes in a scheduled instruction cache
US7937557B2 (en) * 2004-03-16 2011-05-03 Vns Portfolio Llc System and method for intercommunication between computers in an array
US7904695B2 (en) * 2006-02-16 2011-03-08 Vns Portfolio Llc Asynchronous power saving computer
JP4243271B2 (ja) * 2005-09-30 2009-03-25 富士通マイクロエレクトロニクス株式会社 データ処理装置およびデータ処理方法
US8078845B2 (en) * 2005-12-16 2011-12-13 Freescale Semiconductor, Inc. Device and method for processing instructions based on masked register group size information
US7966481B2 (en) 2006-02-16 2011-06-21 Vns Portfolio Llc Computer system and method for executing port communications without interrupting the receiving computer
US7752422B2 (en) * 2006-02-16 2010-07-06 Vns Portfolio Llc Execution of instructions directly from input source
US7904615B2 (en) * 2006-02-16 2011-03-08 Vns Portfolio Llc Asynchronous computer communication
EP1821202B1 (de) * 2006-02-16 2011-01-12 VNS Portfolio LLC Ausführung von Anweisungen direkt von der Eingabequelle aus
US7594094B2 (en) * 2006-05-19 2009-09-22 International Business Machines Corporation Move data facility with optional specifications
US7809927B2 (en) * 2007-09-11 2010-10-05 Texas Instruments Incorporated Computation parallelization in software reconfigurable all digital phase lock loop

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4594655A (en) * 1983-03-14 1986-06-10 International Business Machines Corporation (k)-Instructions-at-a-time pipelined processor for parallel execution of inherently sequential instructions
AU553416B2 (en) * 1984-02-24 1986-07-17 Fujitsu Limited Pipeline processing
US5051940A (en) * 1990-04-04 1991-09-24 International Business Machines Corporation Data dependency collapsing hardware apparatus
US4916652A (en) * 1987-09-30 1990-04-10 International Business Machines Corporation Dynamic multiple instruction stream multiple data multiple pipeline apparatus for floating-point single instruction stream single data architectures
JPH0769821B2 (ja) * 1988-03-04 1995-07-31 日本電気株式会社 情報処理装置におけるバイパスライン制御方式
JPH0769822B2 (ja) * 1988-11-08 1995-07-31 日本電気株式会社 演算レジスタのバイパスチェック方式
US5214763A (en) * 1990-05-10 1993-05-25 International Business Machines Corporation Digital computer system capable of processing two or more instructions in parallel and having a coche and instruction compounding mechanism
US5197135A (en) * 1990-06-26 1993-03-23 International Business Machines Corporation Memory management for scalable compound instruction set machines with in-memory compounding
JP2693651B2 (ja) * 1991-04-30 1997-12-24 株式会社東芝 並列プロセッサー
US5539911A (en) * 1991-07-08 1996-07-23 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
US IEEE Transactions on Computers, Vol. 39, Nr. 3, März 1990, S. 349-359 *
US-Buch: K. Hwang, F.A: Briggs "Computer Architecture and parallel Processing" Mc Graw Hill In., 1984, S. 200-203 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19506435C2 (de) * 1994-02-28 2000-05-18 Intel Corp Verfahren und Einrichtung zum Vermeiden von Rückschreibkonflikten zwischen einen gemeinsamen Rückschreibpfad verwendenden Ausführungseinheiten

Also Published As

Publication number Publication date
US6233670B1 (en) 2001-05-15
JPH04367936A (ja) 1992-12-21
US5636353A (en) 1997-06-03

Similar Documents

Publication Publication Date Title
DE4207148A1 (de) Superscalar-prozessor
DE68927492T2 (de) Verfahren und Vorrichtung zur gleichzeitigen Verteilung von Befehlen an mehrere funktionelle Einheiten
DE69228360T2 (de) Registerlesekontrolle
DE69429226T2 (de) Absendung von Befehlen an mehrere Verarbeitungseinheiten
DE69724771T2 (de) Zentralprozessoreinheit mit x86 und dsp kern und einem dsp funktions-dekoder zum abbilden von x 86-befehlen auf dsp-befehle
DE68927911T2 (de) Datenverarbeitungssystem
DE69028138T2 (de) Mechanismus zur präzisen Behandlung von Ausnahmebedingungen in einem Prozessor mit gepaarten Befehlen
DE68928677T2 (de) Verfahren und digitaler Computer zur Vorverarbeitung mehrerer Befehle
DE69515339T2 (de) Rechnersystem
DE3586899T2 (de) Instruktionsvorgriffsystem fuer bedingte sprungbefehle in einer zentralen verarbeitungseinrichtung.
DE69130757T2 (de) Ausführungsvorrichtung für bedingte Verzweigungsbefehle
DE69534148T2 (de) Rechnersystem zur Ausführung von Verzweigungsbefehlen
DE3210816C2 (de)
DE68919069T2 (de) Verfahren und Gerät zur Fehlererkennung und -korrektur in einem nach dem überlappten Steuerungsverfahren arbeitenden Rechnersystem.
DE69033443T2 (de) Mechanismus zur Verzweigungsrücksetzung in einem Prozessor mit gepaarten Befehlen
DE3853529T2 (de) Dynamische Mehrbefehle-Mehrdaten-Mehrpipeline-Gleitpunkteinheit.
DE3750935T2 (de) Verfahren und System zum Erleichtern der Befehlsausführung in einem digitalen Rechner.
DE3686991T2 (de) Mechanismus fuer parallele speicherdatenabholung und befehlsausfuehrung in einem prozessor mit reduziertem befehlssatz.
DE69809450T2 (de) Datenverarbeitungsvorrichtung
DE69033398T2 (de) Rechnerarchitektur mit Mehrfachbefehlsausgabe
DE69325086T2 (de) Verfahren und System für spekulative Befehlsausführung
DE4206062C2 (de) Pipelineverarbeitung von Instruktionen
DE69624158T2 (de) Superskalarer Prozessor mit mehreren Registerblöcken und Erzeugung von spekulativen Antwortadressen
DE69030931T2 (de) Mehrfachsequenzprozessorsystem
DE69027932T2 (de) Cpu-pipeline mit registerfile-bypass durch adressvergleich bei aktualisierungen/zugriffen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection