DE3633898A1 - Einrichtung zur folgesteuerung eines aeusseren kreises, beispielsweise eines pipelineprozessors - Google Patents
Einrichtung zur folgesteuerung eines aeusseren kreises, beispielsweise eines pipelineprozessorsInfo
- 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
Links
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 16
- 230000001419 dependent effect Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 1
- 238000000034 method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013024 troubleshooting 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
- G06F9/3842—Speculative 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.
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.
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
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.
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.
- 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.
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)
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)
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 |
-
1985
- 1985-10-07 JP JP60221758A patent/JPS6282402A/ja active Pending
-
1986
- 1986-10-04 DE DE19863633898 patent/DE3633898A1/de active Granted
- 1986-10-06 US US06/915,062 patent/US4884196A/en not_active Expired - Fee Related
Non-Patent Citations (1)
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 |