DE3633898A1 - Einrichtung zur folgesteuerung eines aeusseren kreises, beispielsweise eines pipelineprozessors - Google Patents

Einrichtung zur folgesteuerung eines aeusseren kreises, beispielsweise eines pipelineprozessors

Info

Publication number
DE3633898A1
DE3633898A1 DE19863633898 DE3633898A DE3633898A1 DE 3633898 A1 DE3633898 A1 DE 3633898A1 DE 19863633898 DE19863633898 DE 19863633898 DE 3633898 A DE3633898 A DE 3633898A DE 3633898 A1 DE3633898 A1 DE 3633898A1
Authority
DE
Germany
Prior art keywords
address
status
memory
control
command
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.)
Granted
Application number
DE19863633898
Other languages
English (en)
Other versions
DE3633898C2 (de
Inventor
Hisanori Tohara
Geoffrey Lawrence Thiel
Douglas Howard Hodgkiss
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Publication of DE3633898A1 publication Critical patent/DE3633898A1/de
Application granted granted Critical
Publication of DE3633898C2 publication Critical patent/DE3633898C2/de
Granted 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/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3842Speculative instruction execution

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)
  • Programmable Controllers (AREA)

Description

Die Erfindung betrifft eine Einrichtung zur Folgesteuerung gemäß Oberbegriff des Anspruchs 1, insbesondere zur Hochgeschwindigkeits-Folgesteuerung eines Pipelineprozessors entsprechend eines speziellen Programmes.
Es sind bisher zwei Arten von Folgesteuerungen bekannt. Die eine wird als Pipeline-Einzelfolgesteuerung bezeichnet und ist im Blockdiagramm nach Fig.1 gezeigt, und die andere wird als Pipeline-Doppelfolgesteuerung bezeichnet und ist im Blockdiagramm nach Fig.2 gezeigt.
Die Pipeline-Einzelfolgesteuerung 7 weist einen Steuerspeicher 72 auf zum Speichern von Adreß-Steuerbefehlen, Verzweigungsbefehlen und Statusauswahlbefehlen zur entsprechenden Steuerung des Operationsteiles (nicht gezeigt) des Folgesteuerungsteiles 71 und des Statuswählteiles 74. Dieser Steuerspeicher 72 führt eine durch das Folgesteuerteil 71 zugeteilte Adresse und die in der Adresse gespeicherten Befehle einem Pipelineregister 73 zu. Das Pipelineregister 73 speichert die vom Steuerspeicher 72 zugeführte Adresse und zugeführten Befehle zeitweilig. Das Register 73 führt den Steuerbefehl dem Operationsteil (nicht dargestellt) zu, den Verzweigungsbefehl und die Adresse dem Folgesteuerteil 71 und den Statuswählbefehl dem Statuswählteil 74 zu in der nächsten Stufe. Das Statuswählteil 74 wählt für den Fall, daß der Statuswählbefehl vom Pipelineregister 73 zugeführt ist, ein Signal aus Statussignalen aus, die von außerhalb empfangen wurden, beispielsweise vom Operationsteil, entspechend dem Statuswählbefehl, und führt sein ausgewähltes Statussignal dem Folgesteuerteil 71 zu. Das Folgesteuerteil 71 sucht die Adresse im Steuerspeicher 72 zum Zugriff in der nächsten Stufe entsprechend dem Verzweigungsbefehl, der vom Pipelineregister 73 zugeführt ist, und dem Statussignal, das vom Statuswählteil 74 zugeführt ist.
Das heißt, wie in der Programmauflistung gemäß Tabelle 1 gezeigt ist, wenn der Verzweigungsbefehl der durch das Folgesteuerteil 71 in einer Stufe erhaltenen Adresse 48 "Fahre fort" lautet, erhöht das Folgesteuerteil 71 die Adresse 48 um 1 und liest die Adresse 49. Und wenn der Steuerbefehl der nächsten Adresse 49 "Fahre fort" lautet, dann wird der Befehl des Steuerspeichers 2 der Adresse 70 adressiert. Wenn jedoch der Statuswählbefehl der Adresse 50 "Zustand Null" lautet, und wenn die Verzweigung "Springe" lautet, springt das Folgesteuerteil 71 auf die Adresse 70 oder die nächste Adresse 51 durch den logischen Wert des vom Statuswählteil 74 zugeführten Statussignales.
Tabelle 1
Die Pipeline-Einzelfolgesteuerung 7 muß jedoch diese Befehle, wie im Zeitablaufdiagramm gemäß Fig. 3 gezeigt ist, vom Folgesteuerteil 71 zum Pipelineregister 73 über den Steuerspeicher 72 bei einer Stufe übertragen. Daher darf die gesamte Operationsverzögerung des Folgesteuerungsteiles 71 und des Steuerspeichers 72 nicht die Zeit von einer Stufe übersteigen. Daher ist es bei einer Pipeline- Einzelfolgesteuerung schwierig, die Operationsgeschwindigkeit zu erhöhen.
Eine Pipeline-Doppelfolgesteuerung 8, die im Blockdiagramm gemäß Fig. 2 gezeigt ist, minimiert die Operationsverzögerung und ermöglicht eine Folgesteuerung mit hoher Geschwindigkeit. Diese Pipeline-Doppelfolgesteuerung 8 weist ferner ein Pipelineregister 80 zum zeitweiligen Speichern der Adresse des Folgesteuerungsteiles 71 zwischen dem Folgesteuerungsteil 71 und dem Steuerspeicher 72 zusätzlich zur Pipeline-Einzelfolgesteuerung 7 auf, wie in der Fig. 7 gezeigt ist. Die Adresse von dem Folgesteuerungsteil 71 wird im Pipelineregister 80 in einer Stufe abgespeichert, wie im Zeitablaufdiagramm gemäß Fig. 4 gezeigt ist. Zugriff zum Steuerspeicher 72 erfolgt durch die im Pipelineregister 80 in der nächsten Stufe gespeicherte Adresse, und die Befehle werden in das Pipelineregister 73 eingeschrieben. Das heißt, daß die Befehle des Steuerspeichers 72, die durch die Adresse vom Folgesteuerungsteil 71 bei zwei Stufen angezeigt werden, in das Pipelineregister 73 eingeschrieben werden. Daher wird die Operationsverzögerung des Folgesteuerungsteiles 71 durch das Pipelineregister 80 kompensiert und die Operationsverzögerung des Steuerspeichers 72 durch das Pipelineregister 73.
Aus diesem Grunde kann die Pipeline-Doppelfolgesteuerung die Operationsgeschwindigkeit gegenüber der Pipeline-Einzelfolgesteuerung 7 erhöhen.
Tabelle 2
Bei dieser in der Programmauflistung gemäß Fig. 2 gezeigten Pipeline-Einzelfolgesteuerung 8 sind die für den Zugriff zur nächsten Adresse 50 vorgesehenen Befehle bereits im Pipelineregister 80 gespeichert, wenn jeder Befehl der Adresse 49 in das Pipelineregister 73 eingeschrieben ist. Da jeder Befehl der Adresse 50 dann ausgeführt wird, ist es notwendig, daß beispielsweise "Sprung"-Befehle vor einer Stufe eingeschrieben werden. Da das Programm sich vom aktuellen Ablauf unterscheidet, ist dies kompliziert. Auf diese Weise kann eine Pipeline-Doppelfolgesteuerung 8 mit höherer Sequenz arbeiten als die Pipeline-Einzelfolgesteuerung 7, jedoch ergibt sich ein Problem, das darin besteht, daß das für die Operation zu schreibende Programm kompliziert wird.
Eine Aufgabe der vorliegenden Erfindung besteht darin, eine Hochgeschwindigkeits-Folgesteuerung anzugeben, die leicht programmierbar ist.
Zur Lösung dieser Aufgabe sieht die Folgesteuerung gemäß vorliegender Erfindung einen ersten Speicher vor, der eine Adresse zeitweilig speichert. Ein Befehlsspeicher erzeugt in der nächsten Stufe einen Steuerbefehl zur Steuerung eines äußeren Kreises, einen Verzweigungsbefehl zur Steuerung einer Sprungadresse und einen Statuswählbefehl zum Wählen von Statussignalen, die vom äußeren Kreis zugeführt werden in Abhängigkeit von der durch den ersten Speicher gelieferten Adresse. Ein zweiter Speicher speichert zeitweilig den Steuerbefehl des Befehlsspeichers, um diesen an einer anderen Stufe bereitzustellen. Ein Statuswählteil wählt ein Signal aus den Statussignalen aus, die vom äußeren Kreis zugeführt werden in Abhängigkeit vom Statuswählbefehl. Ein Folgesteuerungsteil, das mit dem Befehlsspeicher verbunden ist, bestimmt eine andere nächste Adresse zwecks Zugriff zum Befehlsspeicher in Abhängigkeit vom Verzweigungsbefehl und vom Statussignal.
Die Erfindung soll nachfolgend anhand der beigefügten Zeichnung näher erläutert werden.
Es zeigen
Fig. 1 und 2 Blockdiagramme herkömmlicher Pipeline-Folgesteuerungen
Fig. 3 und 4 Zeitablaufdiagramme für zeitliche Ausgabesteuerungen jedes Teiles der in den Fig. 1 und 2 gezeigten Folgesteuerungen,
Fig. 5 ein Blockdiagramm einer Ausführungsform der vorliegenden Erfindung,
Fig. 6 ein Blockdiagramm der Folgesteuerung,
Fig. 7 eine Darstellung des Pipelineregisters,
Fig. 8 ein Zeitablaufdiagramm, das die zeitliche Ausgabesteuerung jedes Teiles der Einrichtung nach Fig. 5 zeigt,
Fig. 9 ein Funktionsbild, um den Datenfluß der dargestellten Ausführungsform zu zeigen, und
Fig. 10 ein Blockdiagramm anderer Ausführungsformen der vorliegenden Erfindung.
Nachfolgend soll eine Ausführungsform der vorliegenden Erfindung unter Bezug auf die Zeichnung beschrieben werden.
Die Fig. 5 zeigt ein Blockdiagramm der Ausführungsform. Bei dieser Ausführungsform speichert der Steuerspeicher 11 vorher einen Steuerbefehl, um den Operationsteil (nicht gezeigt) zu jeder Adresse zu steuern, einen Verzweigungsbefehl, um ein Folgesteuerungsteil 12 zu steuern, und einen Statuswählbefehl, um ein Statuswählteil 14 zu steuern. Der Steuerspeicher 11 führt die Adresse und den Verzweigungsbefehl dem Folgesteuerungsteil 12 und den Statuswählbefehl und den Steuerbefehl einem Pipilineregister 13 zu. Das Folgesteuerungsteil 12 wählt die vom Steuerspeicher 11 zugeführte Adresse oder die um 1 bezüglich der vorherigen Adresse erhöhte Adresse entsprechend dem Verzweigungsbefehl des Steuerspeichers 11 und führt die Adresse dem Pipelineregister 13 zu. Das Pipelineregister 13 speichert die vom Folgesteuerungsteil 12 zugeführte Adresse zeitweilig und auch jeden Befehl, der vom Steuerspeicher 11 zugeführt wird. An der nächsten Stufe führt das Pipelineregister 13 die Adresse dem Steuerspeicher 11 zu und den Statuswählbefehl dem Statuswählteil 14 zu. Das Statuswählteil 14 wählt ein Signal aus den Statussignalen aus, die von einem äußeren Operationsteil übertragen wurden, entsprechend dem Statuswählbefehl, und führt dieses Signal dem Folgesteuerungsteil 12 zu.
Das Pipelineregister 13 besteht, wie im Blockdiagramm nach Fig. 7 gezeigt ist, aus einem ersten Registerteil 131, das die vom Folgesteuerungsteil 12 zugeführte Adresse speichert, und aus einem zweiten Registerteil 132, das den Statuswählbefehl und den Steuerbefehl, die vom Steuerspeicher 11 zugeführt werden, speichert. Die Adresse besteht beispielsweise für den Fall, daß der Steuerspeicher eine Kapazität von 2 K Worten hat, aus 12 Bits. Der Statuswählbefehl besteht beispielsweise aus 4 Bits. Und der Steuerbefehl besteht aus 30 bis 500 Bits. Das Folgesteuerungsteil 12 gibt beispielsweise, wie im Blockdiagramm nach Fig. 6 gezeigt ist, die vom Steuerspeicher 11 zugeführte Adresse ein, die dem Multiplexer 22 zugeführt wird. Ferner werden der Verzweigungsbefehl, der vom Steuerspeicher 11 zugeführt wird, und das Statussignal, das vom Statuswählteil 14 ausgewählt ist, einem Befehlsteil 27 zugeführt. Das Befehlteil 27 prüft beispielsweise, ob das vom Statuswählteil 14 zugeführte Statussignal im Verzweigungsbefehl mit einem Bit oder mit 4 Bits ansprechbar ist. Der Multiplexer 22 wird durch die abhängigen oder unabhängigen Verzweigungszustände des Statussignales gesteuert. Der Multiplexer 22 wählt eine aus drei Adressen vom Steuerspeicher 11, Speicher- Flip-Flop 24 und Stapelspeicher 23 durch das Steuersignal aus, das vom Befehlsteil 27 zugeführt wird, und führt die ausgewählte Adresse dem Pipelineregister 13 und einem Erhöhungsteil 25 zu. Das Erhöhungsteil 25 erhöht die vom Multiplexer 22 zugeführte Adresse um 1 und führt sie dem Speicher-Flip-Flop 24 zu. Das Speicher-Flip-Flop 24 führt die gespeicherte Adresse dem Multiplexer 22 und dem Stapelspeicher 23 zu. Der Stapelspeicher 23 weise eine Speicherkapazität von etwa zehn Worten auf und speichert die vom Speicher-Flip-Flop 24 zugeführte Adresse. Die "last-in- first-out"-Steuerung (die zusetzt eingeschriebene Adresse wird zuerst ausgelesen) erfogt durch einen Stapelzeiger 26.
Das heißt, wenn der Verzweigungsbefehl vom Pipelineregister 13 "Fahre fort" lautet, wird die Adresse des Speicher-Flip-Flops 24 durch den Multiplexer 22 ausgewählt. Und wenn der Verzweigungsbefehl ein Befehl zum Übergang in ein Unterprogramm ist, wird die Adresse vom Steuerspeicher 11 durch den Multiplexer 22 gewählt. Die Adresse, erhalten durch Addierung von 1 zu seiner Adresse, wird in den Statusspeicher 23 eingeschrieben. Im Falle eines "Rückkehr"- Befehles vom Unterprogramm wird die zuletzt eingegebene Stelle des Stapelspeichers 23 erneut aufgerufen, und die Adresse wird vom Multiplexer gewählt. Und dann wird die Stelle um 1 verringert und wird die Stelle der nächsten Stapelspeicheradresse. Wenn der Zustan "Sprung" vorliegt, werden das Statussignal und die logische Operation vom Statuswählteil 14 im Befehlsteil 27 ausgeführt, und wenn der Zustand "wahr" ist, wird die Adresse von der Steueradresse ausgewählt, und wenn er "falsch" ist, wird die Adresse des Speicher-Flip-Flops gewählt. Wie im Zeitablaufdiagramm nach Fig. 8 gezeigt ist, das die Ausgabezeitsteuerung jedes Teils der Einrichtung nach Fig. 5 zeigt, führt der erste Registerteil des Pipelineregisters 13 die im Register gespeicherte Adresse dem Steuerspeicher 11 zu und greift auf die Adresse des Steuerspeichers 11 in der Stufe N. Der Steuerspeicher 11 führt die neue Adresse und den durch die Adresse definierten Verzweigungsbefehl dem Folgesteuerungsteil 12 zu, und der Statuswählbefehl und der Steuerbefehl, die durch die Adresse definiert sind, werden dem zweiten Registerteil des Pipelineregisters 13 zugeführt. Das Folgesteuerungsteil 12 bestimmt die Adresse in der nächsten Stufe und führt sie dem Pipelineregister 13 zu. In der nächsten Stufe wird der Statuswählbefehl des zweiten Registerteiles dem Statuswählteil 14 zugeführt und der Steuerbefehl dem Operationsteil.
Das heißt, daß die Adresse des ersten Registerteiles im Pipelineregister 13 um eine Stufe weiterrückt als der Statuswählbefehl und der Steuerbefehl des zweiten Registerteiles.
Die Fig. 9 zeigt ein Funktionsbild des Blockdiagrammes nach Fig. 5 entsprechend dem Adressesfluß und jedem Befehl. Es ist leicht verständlich, daß der Steuerbefehl- und der Statussteuerbefehl-Fluß ähnlich ist dem bei einer herkömmlichen Pipeline-Doppelfolgesteuerung. Es soll dann die Funktion der Ausführungsform unter Bezug auf die Programmliste nach Tabelle 3 beschrieben werden. Der Statuswählbefehl der Programmliste nach Tabelle 3 unterscheidet sich von dem bei einer herkömmlichen Pipeline-Doppelfolgesteuerung und wird eingeschrieben vor einer Stufe des darauf bezogenen Verzweigungsbefehles.
Tabelle 3
Auf diese Weise ist es leicht, den Statuswählbefehl vor dem ersten Schritt des Verzweigungsbefehles einzuschreiben, ferner bestehen aufgrund der Regelmäßigkeit keine Hindernisse, auch nicht bei der Fehlersuche.
Bei diesem Programm werden der Statuswählbefehl und der Steuerbefehl der Adresse gespeichert, wenn die Adresse, die die Adresse 49 anzeigt, im ersten Registerteil des Pipelineregisters 13 gespeichert ist. Und in der nächsten Stufe erfolgt der Zugriff auf die Adresse 49 des Steuerspeichers 11, wird der Verzweigungsbefehl der Adresse 49 dem Folgesteuerungsteil 12 zugeführt und werden der Verzweigungsbefehl der Adresse 49 und der Statuswählbefehl in das zweite Registerteil des Pipelineregisters 13 eingegeben. Da der Verzweigungsbefehl der Adresse 49 den Zustand "Fahre fort" aufweist, wird die Adresse, die die Adresse 50 anzeigt, im ersten Registerteil des Pipelineregisters 13 abgespeichert. Der Statuswählbefehl der Adresse 48 (jedoch ist im vorliegenden Fall keiner vorhanden) wird in den Statuswählteil 14 eingegeben.
Ferner wird der Steuerbefehl der Adresse 48 dem Operationsteil (nicht gezeigt) zugeführt. Zu diesem Zeitpunkt wird im ersten Register des Pipelineregisters 13 die Adresse für den Zugriff der Adresse 50 gespeichert und werden im zweiten Registerteil der Statuswählbefehl (nähmlich "Zustand Null") der Adresse 49 und der Steuerbefehl gespeichert.
Daher erfolgt in der nächsten Stufe der Zugriff auf die Adresse 50 des Steuerspeichers 11 und die Sprungadresse (Adresse 70) und der Verzweigungsbefehl (Sprung) wird dem Folgesteuerungsteil 12 zugeführt. Ferner wird, da das Statuswählsignal, das anzeigt, welches Statussignal gewählt wird, vom zweiten Registerteil des Pipelineregisters 13 dem Statuswählteil 14 zugeführt wird, das durch den Statuswählbefehl ausgewählte Statussignal vom Statuswählteil 14 dem Folgesteuerungsteil 12 zugeführt.
Das Folgesteuerungsteil 12 bestimmt, ob mit dem Statussignal und Verzweigungsbefehl durch die logische Operation auf die Adresse 70 gesprungen wird oder auf die nächste Adresse 51 übergegangen wird, und führt die die Adresse 70 anzeigende Adresse oder die Adresse 51 dem Pipelineregister 13 zu.
Auf diese Weise ist es unnötig, den Verzweigungsbefehl vor einer Stufe wie beim herkömmlichen Pipeline-Doppelregister einzuschreiben, da das Folgesteuerungsteil 12 eine Stufe früher den Verzweigungsbefehl prüft als die Adresse des Steuerbefehles, die das Pipelineregister dem Operationsteil zuführt.
Wie in der Fig. 9 gezeigt ist, wird die Verlustzeit im Folgesteuerungsteil 12 und im Steuerspeicher 11 kompensiert durch das erste Register 131 und das zweite Register 132, die dazwischen angeordnet sind, da die großstelligen Bits des Steuerbefehles wie bei einem herkömmlichen Pipeline- Doppelregister behandelt werden. Daher erlaubt die Verlustzeitminimierung Hochgeschwindigkeitsbetrieb, wenn mehrere Bits der Adresse und der Verzweigungsbefehl übertragen werden.
Die Fig. 10 zeigt in einem Blockdiagramm eine andere Ausführungsform der vorliegenden Erfindung. Anders wie die Ausführungsform, speichert der Steuerspeicher 61 die Adresse der nächsten Adresse und die Sprungadresse und führt diese dem zweiten Multiplexer 62 entsprechend dem Folgesteuerungsteil der ersten Ausführungsform zu. Der zweite Multiplexer 62 wählt die Adresse der nächsten Adresse oder die Sprungadresse entsprechend einem Bit des Verzweigungsbefehles vom Steuerspeicher 61 und das Statussignal vom ersten Multiplexer 64 entsprechend dem Statuswählteil der ersten Ausführungsform. Die zeitliche Steuerung jedes Teiles entspricht im wesentlichen derjenigen bei der ersten Ausführungsform. Diese zweite Ausführungsform kann beispielsweise als Folgesteuerung verwendet werden, um das der arithmetischen logischen Einheit zuzuführende Mikroprogramm zu steuern.
Die vorliegende Erfindung ist nicht auf die oben beschriebenen Ausführungsformen beschränkt. Beispielsweise kann, wenn die Antwort des Statuswählteiles schnell kommt, der Statuswählbefehl ebenfalls direkt vom Steuerspeicher zum Statuswählteil geführt werden. Ist dies der Fall, kann der Statuswählbefehl durch das in der Tabelle 1 gezeigte Programm der Pipeline-Einzelfolgesteuerung abgearbeitet werden, ohne daß der Statuswählbefehl einen Schritt vorher eingeschrieben wird.

Claims (5)

1. Einrichtung zur Folgesteuerung eines äußeren Kreises, beispielsweise eines Pipelineprozessors, gekennzeichnet durch
- einen ersten Speicher zum zeitweiligen Speichern einer Adresse,
- einen auf die vom ersten Speicher zugeführte Adresse ansprechbaren Befehlsspeicher zum Erzeugen von Steuersignalen in der nächsten Stufe zwecks Steuerung des äußeren Kreises, von Verzweigungsbefehlen zur Steuerung einer Sprungadresse und von Statuswählbefehlen zum Wählen von vom äußeren Kreis zugeführten Statussignalen,
- einen zweiten Speicher zum zeitweiligen Speichern des Steuerbefehles vom Befehlsspeicher, um diesen in der nächsten Stufe abzugeben, eine Statuswähleinrichtung, die auf den Statuswählbefehl anspricht zum Auswählen der vom äußeren Kreis zugeführten Statussignale, und
- eine Folgesteuerungseinrichtung, die mit dem Befehlsspeicher verbunden ist zur Bestimmung einer anderen nächsten Adresse zwecks Zugriff auf den Befehlsspeicher in Abhängigkeit vom Verzweigungsbefehl und vom Statussignal.
2. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß der zweite Speicher zeitweilig den Statuswählbefehl speichert, um diesen dem Statuswählteil in der folgenden Stufe zuzuführen.
3. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß der Befehlsspeicher den Statuswählbefehl dem Statuswählteil direkt zuführt.
4. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß der Befehlsspeicher die Adresse der nächsten Stufe und die Sprungadresse speichert, um diese der Folgesteuerung zuzuführen.
5. Einrichtung nach Anspruch 4, dadurch gekennzeichnet, daß die Folgesteuerung alternativ die Adresse der nächsten Stufe und die Sprungadresse wählt entsprechend dem Statussignal und dem Verzweigungsbefehl.
DE19863633898 1985-10-07 1986-10-04 Einrichtung zur folgesteuerung eines aeusseren kreises, beispielsweise eines pipelineprozessors Granted DE3633898A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60221758A JPS6282402A (ja) 1985-10-07 1985-10-07 シ−ケンス制御装置

Publications (2)

Publication Number Publication Date
DE3633898A1 true DE3633898A1 (de) 1987-04-16
DE3633898C2 DE3633898C2 (de) 1992-01-23

Family

ID=16771744

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19863633898 Granted DE3633898A1 (de) 1985-10-07 1986-10-04 Einrichtung zur folgesteuerung eines aeusseren kreises, beispielsweise eines pipelineprozessors

Country Status (3)

Country Link
US (1) US4884196A (de)
JP (1) JPS6282402A (de)
DE (1) DE3633898A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0713779B2 (ja) * 1987-08-12 1995-02-15 株式会社日立製作所 シ−ケンスコントロ−ラ
DE68927313T2 (de) * 1988-06-27 1997-05-07 Digital Equipment Corp Operandenspezifiererverarbeitung
US5117498A (en) * 1988-08-19 1992-05-26 Motorola, Inc. Processer with flexible return from subroutine
JP2556182B2 (ja) * 1990-08-29 1996-11-20 三菱電機株式会社 デ−タ処理装置
US5379388A (en) * 1992-07-08 1995-01-03 Advanced Micro Devices, Inc. Digital signal processing apparatus with sequencer designating program routines
US7913069B2 (en) * 2006-02-16 2011-03-22 Vns Portfolio Llc Processor and method for executing a program loop within an instruction word

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3859636A (en) * 1973-03-22 1975-01-07 Bell Telephone Labor Inc Microprogram controlled data processor for executing microprogram instructions from microprogram memory or main memory
US4027293A (en) * 1975-09-12 1977-05-31 Control Data Corporation Microcode program sequencer
JPS52120640A (en) * 1976-04-02 1977-10-11 Toshiba Corp Micro program control system
JPS6049332B2 (ja) * 1977-01-31 1985-11-01 株式会社東芝 マイクロプログラム制御方式
US4103327A (en) * 1977-03-18 1978-07-25 Bell Telephone Laboratories, Incorporated Interrupt control circuit
FR2384300A1 (fr) * 1977-03-18 1978-10-13 Cii Honeywell Bull Procede et dispositif pour l'acceleration du calcul de l'adresse d'une microinstruction dans un systeme de traitement de donnees
JPS5423343A (en) * 1977-07-22 1979-02-21 Nec Corp Microprogram controller
US4131941A (en) * 1977-08-10 1978-12-26 Itek Corporation Linked microprogrammed plural processor system
US4179736A (en) * 1977-11-22 1979-12-18 Honeywell Information Systems Inc. Microprogrammed computer control unit capable of efficiently executing a large repertoire of instructions for a high performance data processing unit
US4179737A (en) * 1977-12-23 1979-12-18 Burroughs Corporation Means and methods for providing greater speed and flexibility of microinstruction sequencing
JPS6019029B2 (ja) * 1978-03-29 1985-05-14 ブリテイツシユ・ブロ−ドキヤステイング・コ−ポレ−シヨン デジタル・デ−タ処理装置
US4197579A (en) * 1978-06-06 1980-04-08 Xebec Systems Incorporated Multi-processor for simultaneously executing a plurality of programs in a time-interlaced manner
US4379328A (en) * 1979-06-27 1983-04-05 Burroughs Corporation Linear sequencing microprocessor facilitating
US4310880A (en) * 1979-09-10 1982-01-12 Nixdorf Computer Corporation High-speed synchronous computer using pipelined registers and a two-level fixed priority circuit
JPS5640954A (en) * 1979-09-12 1981-04-17 Hitachi Ltd Data processing system
JPS586970B2 (ja) * 1979-12-19 1983-02-07 富士通株式会社 Romアドレスのシ−ケンス制御方式
US4398244A (en) * 1980-05-07 1983-08-09 Fairchild Camera & Instrument Corporation Interruptible microprogram sequencing unit and microprogrammed apparatus utilizing same
US4521858A (en) * 1980-05-20 1985-06-04 Technology Marketing, Inc. Flexible addressing and sequencing system for operand memory and control store using dedicated micro-address registers loaded solely from alu
US4373180A (en) * 1980-07-09 1983-02-08 Sperry Corporation Microprogrammed control system capable of pipelining even when executing a conditional branch instruction
US4438492A (en) * 1980-08-01 1984-03-20 Advanced Micro Devices, Inc. Interruptable microprogram controller for microcomputer systems
JPS5748139A (en) * 1980-09-04 1982-03-19 Nec Corp Microprogram control device
JPS5769457A (en) * 1980-10-17 1982-04-28 Nec Corp Microprogram controller
US4390946A (en) * 1980-10-20 1983-06-28 Control Data Corporation Lookahead addressing in a pipeline computer control store with separate memory segments for single and multiple microcode instruction sequences
JPS57109055A (en) * 1980-12-26 1982-07-07 Fujitsu Ltd Readout control system for microinstruction
US4472772A (en) * 1981-08-03 1984-09-18 Burroughs Corporation High speed microinstruction execution apparatus
US4541045A (en) * 1981-09-21 1985-09-10 Racal-Milgo, Inc. Microprocessor architecture employing efficient operand and instruction addressing
US4439827A (en) * 1981-12-28 1984-03-27 Raytheon Company Dual fetch microsequencer
JPS58149541A (ja) * 1982-03-01 1983-09-05 Hitachi Ltd デ−タ処理装置
JPS5960501A (ja) * 1982-09-30 1984-04-06 Toshiba Corp シ−ケンス制御装置
US4586127A (en) * 1982-11-03 1986-04-29 Burroughs Corp. Multiple control stores for a pipelined microcontroller
US4466834A (en) * 1983-01-03 1984-08-21 W. R. Grace & Co. Corrosion inhibiting additive for cement compositions
JPS59128643A (ja) * 1983-01-14 1984-07-24 Fuji Xerox Co Ltd シ−ケンス制御回路
US4613935A (en) * 1983-02-02 1986-09-23 Couleur John F Method and apparatus for pipe line processing with a single arithmetic logic unit
US4586130A (en) * 1983-10-03 1986-04-29 Digital Equipment Corporation Central processing unit for a digital computer
JPS60157635A (ja) * 1984-01-27 1985-08-17 Yokogawa Hokushin Electric Corp マイクロプログラム制御装置
US4719565A (en) * 1984-11-01 1988-01-12 Advanced Micro Devices, Inc. Interrupt and trap handling in microprogram sequencer
US4754393A (en) * 1984-12-21 1988-06-28 Advanced Micro Devices, Inc. Single-chip programmable controller
US4709324A (en) * 1985-11-27 1987-11-24 Motorola, Inc. Data processor control unit having an interrupt service using instruction prefetch redirection

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
US-Firmenschrift der Firma Advanced Micro Devices Build a Microcomputer, Chapter II, Microprogrammed Design, 1978, S. 10,11 u. 21-29 *

Also Published As

Publication number Publication date
US4884196A (en) 1989-11-28
JPS6282402A (ja) 1987-04-15
DE3633898C2 (de) 1992-01-23

Similar Documents

Publication Publication Date Title
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE2630323A1 (de) Datenspeichereinrichtung
DE2230102A1 (de) Rechenwerk fuer variable wortlaengen
DE3688232T2 (de) Datenverarbeitungssystem.
DE2819571A1 (de) Datenverarbeitungsanlage mit mehreren prozessoren
DE2360303C2 (de) Datenverarbeitungsanlage mit Adreßübersetzung für Ein-/Ausgabekanäle
DE2715073B2 (de) Mikroprogranunierte Rechner-Steuervorrichtung
DE1499203B1 (de) Schaltungsanordnung zum Speicherschutz bei Datenverarbeitungsanlagen mit Simultanbetrieb
DE2718551C3 (de) Adressenumsetzer
DE2426874A1 (de) Verfahren und schaltungsanordnung zur bestimmung der adressenart eines befehls
DE1190706B (de) In zwei abwechselnden Zyklen arbeitende programmgesteuerte elektronische digitale Rechenmaschine
DE2429067B2 (de) Speicherschaltung
DE2617485C3 (de) Schaltungsanordnung für Datenverarbeitungsanlagen zur Abarbeitung von Mikrobefehlsfolgen
DE68925376T2 (de) In Direktabbildung und in Bankabbildung wirksamer Informationsprozessor und Verfahren zum Schalten der Abbildungsschemas
DE3501903A1 (de) Im pipelinebetrieb arbeitende datenverarbeitungseinrichtung
DE2245284A1 (de) Datenverarbeitungsanlage
DE3633898A1 (de) Einrichtung zur folgesteuerung eines aeusseren kreises, beispielsweise eines pipelineprozessors
DE2759120C2 (de)
DE3121046A1 (de) Arithmetik-logikeinheit mit bit-manipulation
DE3931505C2 (de) Speichersteuerung in einer Datenverarbeitungsanlage
DE3009121C2 (de) Mikroprogramm-Steuereinrichtung
DE3015876A1 (de) Anordnung und verfahren zur einen digitalprozessor zur vorauslesung eines operationscodeteils und eines operandenteils eines befehlswortes
DE2419836C3 (de) Schaltungsanordnung zur Durchführung von Unterprogramm-Sprungbefehlen in Datenverarbeitungsanlagen
DE2204680A1 (de) Mikroprogramm-steuereinrichtung
DE2527272C3 (de)

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee