TECHNISCHER HINTERGRUND DER ERFINDUNG
1. Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft ein
Befehlsausführungs-Steuerungssystem, das von einem Mikroprogramm in einem
Informationsverarbeitungsgerät gesteuert wird, insbesondere
ein Mikrocodelesesteuerungssystem mit einer verbesserten
Steuerung.
2. Beschreibung des Standes der Technik
-
Ein Maschinenbefehl in einem
Informationsverarbeitungsgerät wird gewöhnlich durch die folgenden Schritte
ausgeführt. Der Maschinenbefehl wird aus einem Hauptspeicher
ansprechend auf eine Adresse, die von einem Befehlsregister
angegeben wird, gelesen, der Maschinenbefehl wird decodiert,
verschiedene Steuervorgänge werden entsprechend dem
decodierten Befehl ausgeführt, und das Befehlsregister wird um
die Länge des Maschinenbefehls erhöht.
-
Da die Maschinenbefehle in der Hauptspeichereinrichtung
in der Verarbeitungssequenz gespeichert sind, wenn die
Maschinenbefehle gelesen werden, wird eine Adresse des
nächsten zu lesenden Maschinenbefehls vorweggenommen.
-
Daher kann das Gerät, während es decodiert und
verarbeitet, zur gleichen Zeit den nächsten Maschinenbefehl lesen.
Das heißt, daß eine verbesserte Steuerung möglich ist.
-
Wenn jedoch ein Sprung- oder Verzweigungsbefehl
ausgeführt wird, tritt, da der Inhalt des Befehlsregisters
aufgefrischt wird, insofern ein Problem auf, als das Abrufen
des Befehls bei der verbesserten Steuerung schwierig wird.
-
Der Sprungbefehl ist wichtig und kommt häufig in dem
Informationsverarbeitungsgerät vor, und daher würde eine
Hochgeschwindigkeitsverarbeitung des Sprungbefehls in hohem
Maße zu einer Verbesserung der Leistung des Gerätes
beitragen.
-
Ferner kann in einem Informationsverarbeitungsgerät, in
dem ein Prozeß eines Maschinenbefehls in Schritte aufgeteilt
ist, die jeweils durch einen Mikrocode auszuführen sind, und
der Prozeß in jedem Schritt durch einen Pipelineprozeß in
mehrstufiger Weise ausgeführt wird, ein verbessertes Lesen
des Mikrocodes entsprechend dem verbesserten Lesen des
Maschinenbefehls durchgeführt werden.
-
Daher muß ein wirksames Mikrocodelesesteuerungssystem in
der verbesserten Lesesteuerung vorgesehen sein, wenn ein
Sprungbefehl verarbeitet wird.
-
Gemäß einer Architektur nach dem Stand der Technik, die
im IBM Technical Disclosure Bulletin, Band 22, Nr. 12, Mai
1980, S. 5536-5538, New York, US; J.J. Losq: "Asymmetric
double decode computer" veröffentlicht ist, hat der Computer
eine Pipelinestruktur mit einem Abschnitt, um Befehle vorab
abzurufen, der vor den ausführenden Teil vorausschaut und mit
den Sprungabschnitten des Befehlscodes verbundene Befehle
vorab abruft. Der Vorab-Abrufabschnitt hat zwei Decoder, um
entlang jeweiligen bedingten Sprüngen zu gehen, mit einem
schnellen Decoder, der dem am wahrscheinlichsten
auszuführenden Sprung zugeordnet wird.
KURZBESCHREIBUNG DER ERFINDUNG
-
Eine Aufgabe der vorliegenden Erfindung ist es, ein
Mikrocodelesesteuerungssystem zu schaffen, das eine
verbesserte Steuerung verwendet, worin ein Prozeß in einer ersten
Stufe in einem Mikrocode eines ersten Schrittes eines
allgemeinen Befehls, der zuerst gelesen wird, nicht störend
auf denjenigen einer ersten Stufe in einem Mikrocode eines
Sprungzielbefehls einwirkt, das Mikrocodelesen des ersten
Schrittes in dem Sprungzielbefehl beschleunigt wird und die
Verarbeitungsgeschwindigkeit des Systems somit verbessert
wird.
-
Gemäß vorliegender Erfindung wird vorstehende Aufgabe
durch ein Mikrocodelesesteuerungssystem gemäß der Definition
in Anspruch 1 gelöst.
-
Durch Verwendung des vorstehenden Konzeptes wird bei der
verbesserten Steuerung im Pipelineprozeß eine Prozeßzeit um
den Zeitraum gekürzt, der einem Verarbeitungszeitraum für
eine Stufe entspricht, wenn der Sprungbefehl ausgeführt wird.
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Fig. 1 ist eine Zeichnung, die ein Beispiel des
Prozesses in jeder Stufe in einem Prozeß eines Mikrocodes
darstellt;
-
Fig. 2A ist ein schematisches Blockdiagramm, das ein
Mikrocodelesesteuerungssystem gemäß einer ersten
Ausführungsform zeigt;
-
Fig. 2B ist eine schematisches Blockdiagramm, das eine
Modifikation des Systems in Fig. 2A zeigt;
-
Fig. 3 ist ein detailliertes Blockdiagramm des Systems
in Fig. 2B;
-
Fig. 4A ist ein Diagramm, das eine
Mikrocodelesesteuerung in einem allgemeinen Befehl im System in Fig. 3
erläutert;
-
Fig. 4B ist ein Diagramm, das eine ähnliche
Mikrocodelesesteuerung in einem Sprungbefehl erläutert;
-
Fig. 5 ist eine detailliertes Blockdiagramm eines
Mikrocodelesesteuerungssystems gemäß einer Ausführungsform der
Erfindung;
-
Fig. 6A, 6B und 6C sind Diagramme, die eine
Mikrocodelesesteuerung im System in Fig. 5 erklären.
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Vor der Erklärung der Ausführungsformen der Erfindung
wird der Stand der Technik im Detail unter Bezug auf Fig. 1,
Fig. 4A und Fig. 4B erklärt. Fig. 1 zeigt ein Beispiel eines
Prozesses in jeder Stufe eines Mikrocodes. Fig. 4A und 4B
sind Diagramme, die die Mikrocodelesesteuerung mit einer
verbesserten Steuerung erklären. Fig. 4A zeigt die Prozesse bei
der Ausführung eines allgemeinen Maschinenbefehls und Fig. 4B
zeigt die Prozesse bei der Ausführung eines Sprungbefehls.
-
Es wird angenommen, daß, wie in Fig. 1, 4A und 4B
dargestellt, jeder Mikrocode durch eine Vierstufen-Pipeline
verarbeitet wird.
-
Fig. 1 zeigt die Operationen in jeder Stufe, d. h. D, A,
M und E, des Mikrocodes. Fig. 4A zeigt die Prozesse zur
Ausführung des allgemeinen Maschinenbefehls (im folgenden nur
als Befehl bezeichnet) unter Verwendung dieses Mikrocodes.
-
In Fig. 4A umfaßt ein Befehl 1 (Bef. 1) einen Mikrocode,
d. h. der Befehl 1 wird durch die Ausführung eines Mikrocodes
beendet, ein Befehl 2 umfaßt drei Mikrocodes und ein Befehl 3
umfaßt zwei Mikrocodes.
-
In vorstehendem Fall wird der Sprungbefehl wie in Fig.
4B dargestellt verarbeitet. Wie aus der Operation in jeder in
Fig. 1 dargestellten Stufe klar ist, liest der
Sprungbefehlprozeß einen Mikrocode entsprechend dem Sprungbefehl aus dem
Steuerspeicher in Stufe D1, berechnet eine Adresse des
Sprungzielbefehls in der nächsten Stufe A1, ruft den
Sprungzielbefehl in der Stufe M1 ab und entscheidet eine
Sprungbedingung in der Stufe E1.
-
Wenn der Sprungzielbefehl ausgewählt wird durch die
Entscheidung der Sprungbedingung in Stufe E1, werden die
nächsten Befehle 1, 2 und 3 (NÄCHSTER BEF. 1, 2 und 3), die zur
Verarbeitung vorbereitet sind, nach der Ausführung des
Sprungbefehls in den Stufen M2, A3 und D4 jeweils gestoppt
wird. Anschließend wird der Prozeß, ein Leseprozeß des
Mikrocodes in dem Sprungzielbefehl, in einer Stufe Dt
begonnen.
-
In Fig. 4B wird angenommen, daß alle Befehle jeweils nur
einen Mikrocode umfassen.
-
Zusätzlich wird, da der Sprungzielbefehl in der Stufe M1
des Sprungbefehls vom Hauptspeicher abgerufen wird, ein Lesen
des Steuerspeichers am Zeitpunkt T4 zugleich mit dem Prozeß
der Stufe E1 vor der Entscheidung durch die Sprungbedingung
vorgeschlagen. Dies ist in Stufe Dt' in Fig. 4B dargestellt.
-
Durch diese Steuerung ist der Start des
Sprungzielbefehls beschleunigt und daher die Prozeßdauer in dem
Sprungbefehl verkürzt.
-
Trotzdem wirkt sich das Lesen aus dem Steuerspeicher in
der Stufe D4 in dem nächsten Befehl 3 störend auf die Stufe
Dt' aus, was zur Folge hat, daß es schwierig ist, Fehler in
dem Prozeß zu vermeiden.
-
Wenn die Stufe D4 nicht zu einem ersten Schritt des
Maschinenbefehls gehört, tritt die Störung zwischen den Stufen
D4 und Dt' nicht auf, da der Steuerspeicher, aus dem ein
Mikrocode des ersten Schrittes des Befehls gelesen wird,
getrennt von einem weiteren Steuerspeicher vorgesehen ist, aus
dem der zweite Schritt anschließend gelesen wird, wie in der
japanischen ungeprüften Patentveröffentlichung (Kokai) Nr.
60-103452 mit dem Titel "Microprogram Control System" von
derselben Anmelderin aufgezeigt. Wenn jedoch die Stufe D4 zu
dem ersten Schritt in dem Maschinenbefehl gehört, tritt eine
Störung auf.
-
Ausführungsformen werden nachfolgend unter Bezug auf die
Zeichnungen erläutert. Es sei darauf hingewiesen, daß in den
Figuren dieselben Bezugszeichen dieselben Objekte bezeichnen.
-
Eine erste Ausführungsform ist in Fig. 2A, 2B und 3
gezeigt.
-
Die in Fig. 2A gezeigte Vorrichtung umfaßt einen
Steuerspeicher 2', einen weiteren Steuerspeicher 11, ein
allgemeines Befehlsregister 4 und ein Sprungzielbefehlsregister 3.
Der Steuerspeicher 2' entspricht dem herkömmlichen
Steuerspeicher. In diesem Steuerspeicher 2' sind Mikrocodes, die an
einen ersten Schritt in einem Befehl adressiert sind, in
einem Abschnitt 2'-1 gesammelt, und die anderen Microcodes sind
in einem Abschnitt 2'-2 gesammelt. Ferner sind bei dieser
Ausführungsform dieselben Microcodes, die in dem
Steuerspeicher 2'-1 gesammelt sind, in dem Steuerspeicher 11
gespeichert, der nur in einem ersten Schritt eines
Sprungzielbefehls gelesen wird.
-
Andererseits ist, wie durch die japanische ungeprüfte
Patentveröffentlichung (Kokai) Nr. 60-103452 aufgezeigt, ein
weiteres System vorgesehen, bei dem ein Steuerspeicher 12 für
einen ersten Schritt getrennt von einem Steuerspeicher 2 für
einen zweiten Schritt und anschließende bereitgestellt ist.
Wie nämlich in einem schematischen Blockdiagramm in Fig. 2B
gezeigt, ist ein Steuerspeicher 11 vorgesehen, der dem
Steuerspeicher 12 für den ersten Schritt entspricht und der
nur bei dem ersten Schritt eines Sprungzielbefehls gelesen
wird.
-
Wie vor stehend erwähnt ist der Steuerspeicher für den
ersten Schritt des Befehls zweifach vorhanden und einer der
Steuerspeicher wird so gesteuert, daß er nur im ersten
Schritt des Sprungzielbefehls gelesen wird.
-
Der Betrieb des vorstehenden Systems wird mittels eines
in Fig. 3 gezeigten Beispiels unter Bezug auf Fig. 4A und 4B
erläutert.
-
Ein allgemeiner Befehl 1 wird aus einem Hauptspeicher
(nicht dargestellt) gelesen, die gelesene Information wird
anschließend in einem Befehlsregister 4 eingestellt, eine
Stufe D11 wird zu einem Zeitpunkt T1 ausgeführt, ein
Mikrocode des ersten Schrittes des Befehls 1 wird aus dem
Steuerspeicher
12 gelesen und der Mikrocode wird in einem Register
A(60) durch Selektoren 50 und 51 eingestellt.
-
Am nächsten Zeitpunkt T2 wird eine Stufe A11 des Befehls
1, die die Adressberechnung oder ähnliches für den
Speicherzugriff einschließt, ausgeführt, eine Stufe D21 des nächsten
Befehls 2 wird gemäß den Inhalten des Registers A(60) in
derselben Weise ausgeführt, der Mikrocode des vorstehend
erwähnten Befehls 1 wird in ein Register M(61) verschoben und ein
Mikrocode eines ersten Schrittes des Befehls 2 wird in dem
Register A(60) eingestellt.
-
Der Befehl 2 wird durch Verarbeiten der drei Mikrocodes
wie vorstehend erwähnt ausgeführt und daher erzeugt zu einem
Zeitpunkt T2 ein Mikroadressgenerator 6 eine Adresse des
Mikrocodes des zweiten Schrittes des Befehls 2 und die
Adresse wird in einem Adressregister 7 eingestellt.
-
An einem Zeitpunkt T3 wird gemäß den Inhalten des
Registers M(61) eine Stufe M11 des Befehls 1 ausgeführt, die
Speicherzugriff oder ähnliches einschließt, eine Stufe A21
des ersten Schrittes des Befehls 2 wird ausgeführt, ein
Mikrocode des Befehls 1 wird in ein Register E(62)
verschoben, ein Mikrocode des ersten Schrittes des Befehls 2 wird in
ein Register M(61) verschoben, ein Mikrocode des zweiten
Schrittes des Befehls 2 wird aus dem Steuerspeicher 2
gelesen, d. h. Ausführung der Stufe D23, und der Mikrocode wird in
dem Register A(60) durch den Selektor 51 eingestellt. Eine
Adresse eines Mikrocodes eines dritten Schrittes des Befehls
2 wird anschließend im Adressgenerator 6 erzeugt und in dem
Adressregister 7 eingestellt.
-
An einem Zeitpunkt T4 werden eine Stufe E11 des Befehls
1, eine Stufe M21 des ersten Schrittes des Befehls 2 und eine
Stufe A22 des zweiten Schrittes des Befehls 2 parallel
ausgeführt, ein Mikrocode des dritten Schrittes des Befehls 2
wird aus dem Steuerspeicher 2 gelesen, d. h. Ausführung der
Stufe D23, und ein Mikrocode wird in dem Mikrocoderegister
A(60) eingestellt. Anschließend wird die verbesserte
Steuerung des Befehls in derselben Weise durchgeführt.
-
Die Operation beim Einstellen eines Sprungbefehls in dem
Befehlsregister 3 von der Hauptspeichereinrichtung wird
nachfolgend unter Bezug auf Fig. 4B erläutert.
-
Da der verbesserte Steuerungsvorgang des Sprungbefehls
vorliegt, wird der nächste Befehl 1, 2, 3 und ähnliche durch
vorstehend beschriebenen Prozeß durchgeführt und auf eine
Erläuterung desselben wird verzichtet. Die vorliegende
Erläuterung betrifft die Ausführung eines Sprungzielbefehls
in dem Sprungbefehl an einem Zeitpunkt T4, wie durch Dt'
gezeigt.
-
An einem Zeitpunkt T4 wird nämlich eine Stufe D4 des
ersten Schrittes dem nächsten Befehls 3 ausgeführt und der
Mikrocode wird aus dem Steuerspeicher 12 gelesen. Bei dem
Sprungbefehl wird jedoch an einem Zeitpunkt T3 eine Stufe M1
ausgeführt und der Sprungzielbefehl in dem Befehlsregister 3
wird eingestellt, und an einem Zeitpunkt T4 wird der
Mikrocode aus dem Steuerspeicher 11 gelesen, d. h. eine Stufe Dt'
wird ausgeführt. Am Zeitpunkt T4 wird jedoch eine
Sprungbedingung entschieden und somit wählt der Selektor 50 die
Information in dem Steuerspeicher 11, wenn der Sprungprozeß
ausgeführt wird, und wählt die Information in dem
Steuerspeicher 12, wenn der Sprungprozeß nicht ausgeführt wird. Daher
tritt eine störende Wechselwirkung zwischen den ersten
Schritten des allgemeinen Befehls und dem Sprungzielbefehl,
wie es bei dem System nach dem Stand der Technik der Fall
ist, nicht auf.
-
Es sei darauf hingewiesen, daß, wenn die Stufe D4 des
Befehls 3 zu einem Mikrocode gehört, der den zweiten Schritt
vollendet hat, der Mikrocode des Schrittes aus dem
Steuerspeicher 2 gelesen wird. Anschließend wählt der Selektor 51
die Ausgangssignale des Steuerspeichers 2 und das Lesen des
Mikrocodes des ersten Schrittes des Sprungzielbefehls, d. h.
Stufe Dt', wirkt sich nicht störend auf die Stufe D4 aus.
-
Wie vorstehend beschrieben hat die zuerst genannte
Ausführungsform folgende Merkmale. Die Mikrocodes der ersten
Schritte des Maschinenbefehls werden in dem doppelten ersten
und zweiten Steuerspeicher gespeichert, die Mikrocodes des
zweiten Schrittes und folgender werden in einem einfachen
Steuerspeicher gespeichert und die Mikrocodes des ersten
Schrittes des Sprungzielbefehls werden aus nur dem ersten
Steuerspeicher in den doppelten Speicher gelesen. Darüber
hinaus werden die Mikrocodes des ersten Schrittes des
Maschinenbefehls in dem ersten Steuerspeicher gespeichert, die
Mikrocodes des zweiten Schrittes und anschließender werden in
dem zweiten Steuerspeicher gespeichert, der erste
Steuerspeicher wird in der zweiten Stufe des ersten Schrittes des
Maschinenbefehls gelesen und der zweite Steuerspeicher wird
so gesteuert, daß er in der ersten Stufe des zweiten
Schrittes und anschließender des Maschinenbefehls gelesen wird.
Anschließend werden zu dem Zeitpunkt, wenn eine Entscheidung
über die Sprungbedingung des Sprungbefehls erfolgt, die
Ergebnisse des Lesevorganges der Mikrocodes der ersten Schritte
des Sprungzielbefehls und des allgemeinen Befehls ausgewählt
oder die Adressen der Mikrocodes der ersten Schritte des
Sprungbefehls und des allgemeinen Befehls werden ausgewählt.
Ferner kommen die Lesevorgänge des Mikrocodes des ersten
Schrittes des Sprungzielbefehls und des Mikrocodes des
allgemeinen Befehls aus den Steuerspeichern nicht
gleichzeitig vor.
-
Eine Ausführungsform der vorliegenden Erfindung wird
nachfolgend unter Bezug auf Fig. 5, Fig. 6A, 6B und 6C
hinsichtlich des Leseprozesses der Mikrocodes erläutert.
-
Bei dieser Ausführungsform umfaßt das System ein
allgemeines Befehlsregister 4, ein Sprungzielbefehlsregister 3,
Selektoren 52, einen Adressgenerator 6, Adressregister 70 und
71,
Steuerspeicher 11 und 2, Register A(60), M(61) und E(62).
Der Steuerspeicher 11 ist ein erster Steuerspeicher und liest
die gespeicherte Information in einem ersten Schritt des
Befehls, und der Steuerspeicher 2 ist ein zweiter Steuerspeicher
und liest die gespeicherte Information in dem zweiten Schritt
und anschließenden (vgl. japanische ungeprüfte
Patentveröffentlichung (Kokai) Nr. 60-103452). Der erste
Steuerspeicher 11 wird in der zweiten Stufe und anschließenden
des ersten Schrittes gelesen, wie durch eine fettgedruckte
Linie dargestellt, und der zweite Steuerspeicher 2 wird in
der ersten Stufe jedes Schrittes gelesen, wie durch eine
Wellenlinie dargestellt.
-
Wenn der allgemeine Befehl 1 in dem Befehlsregister 4
eingestellt wird, wird die Stufe D11 des ersten Schrittes des
Befehls 1 ausgeführt (vgl. Zeitpunkt T1 in Fig. 6A).
-
In dieser Stufe wird der Befehl 1 decodiert (in der
Praxis wird eine Adresse des ersten Steuerspeichers 11 erzeugt).
Es wird nämlich eine Adresse zum Lesen des Mikrocodes des
ersten Schrittes des Befehls 1 aus dem Steuerspeicher 11 in
einem Adressregister 71 eingestellt und eine Adresse zum
Lesen des Mikrocodes des zweiten Schrittes aus dem
Steuerspeicher 2 wird durch den Adressgenerator 6 erzeugt und in dem
Adressregister 70 eingestellt.
-
Ein Adressgenerator ist nicht an einem Eingang des
Adressregisters 71 vorgesehen, da der erste Steuerspeicher 11
nur bei dem ersten Schritt des Befehls gelesen wird und somit
die Adresse durch einen Operationscode des Befehls ersetzt
wird.
-
Am nächsten Zeitpunkt T2 werden die Stufe A(Stufe A11)
des ersten Schrittes und die Stufe D (Stufe D12) des zweiten
Schrittes ausgeführt. In der Stufe All wird eine Mikrocode
(1-1) aus dem ersten Steuerspeicher 11 gelesen, wie durch
eine fettgedruckte Linie dargestellt, und der Mikrocode wird in
dem Mikrocoderegister M(61) eingestellt, um die nächste Stufe
zu steuern.
-
In vorstehendem Prozeß kann die Adressberechnung, die
im wesentlichen zu einer Stufe A gehört, beispielsweise durch
Verwendung von Hardware anstelle eines Mikrocodes gesteuert
werden.
-
In dem Prozeß von Stufe D12 wird ein Mikrocode (1-2)
des zweiten Schrittes des Befehls 1 aus dem zweiten
Steuerspeicher 2 gelesen, wie durch eine Wellenlinie dargestellt,
und der Mikrocode wird in dem Mikrocoderegister A(60)
eingestellt. Dieser Prozeß ist ein Merkmal der Erfindung.
-
Nachfolgend werden Mikrocodes (1-1, 1-2), die jeweils in
den Registern A(60) und M(61) eingestellt sind, zu E(62) und
M(61) verschoben und der Prozeß in jeder Stufe wird
ausgeführt.
-
Am nächsten Zeitpunkt T3 werden nämlich die Prozesse in
den Stufen A12 und M11 in Übereinstimmung mit dem Inhalt der
Mikrocoderegister A(60) und M(61) ausgeführt und gleichzeitig
wird die Stufe D13 des dritten Schrittes des Befehls 1
ausgeführt. Anschließend wird ein Mikrocode (1-3) aus dem
zweiten Steuerspeicher 2 gelesen, wie durch eine Wellenlinie
dargestellt, und in dem Mikrocoderegister A(60) eingestellt.
-
Am Zeitpunkt T4 wird die Stufe D, d. h. Stufe D21 des
nächsten Befehls 2, gestartet und die Stufen A13, M12 und E11
werden in Übereinstimmung mit dem Inhalt der
Mikrocoderegister A(60), M(61) und E(62) ausgeführt.
-
Es folgt eine Erläuterung einer Operation des Systems
bei der Verarbeitung des Sprungbefehls (Befehl B) unter Bezug
auf Fig. 5, 6B und 6C.
-
In diesem Fall entsprechen die Operationen an den
Zeitpunkten T1 und T2 denjenigen eines gewöhnlichen Befehls. Im
Sprungbefehl wird nämlich nur ein Mikrocode (B-1) des ersten
Schrittes ausgeführt.
-
Am Zeitpunkt T1 wird eine Stufe DB des Sprungbefehls,
die in dem Befehlsregister 3 eingestellt ist, ausgeführt.
Konkret wird ein Operationscode des Sprungbefehls in dem
Adressregister 71 eingestellt, um eine Adresse für den ersten
Steuerspeicher 11 zu erzeugen.
-
Am nächsten Zeitpunkt T2 werden eine Stufe AB des
Sprungbefehls und die Stufe D (Stufe D21) des ersten
Schrittes des nächsten Befehls 2, die in dem Befehlsregister 4
eingestellt sind, ausgeführt. Zusätzlich wird in der Stufe AB
der Mikrocode (B-1) aus dem ersten Steuerspeicher 11 gelesen,
wie durch eine fettgedruckte Linie dargestellt, und der
Mikrocode wird anschließend in dem Mikrocoderegister M(61)
zur Steuerung der nächsten Stufe eingestellt.
-
Ferner wird die Stufe D (Stufe D21) des ersten Schrittes
des Befehls 2 ausgeführt, d. h. ein Operationscode des Befehls
2 wird in dem Adressregister 71 eingestellt und gleichzeitig
wird eine Adresse des Steuerspeichers für den zweiten Schritt
in dem Adressgenerator 6 erzeugt und in dem Adressregister 70
eingestellt.
-
An dem Zeitpunkt T3 wird in einer Stufe MB des
Sprungbefehls der Sprungzielbefehl (im folgenden als ein Befehl t
bezeichnet) von der Hauptspeichereinrichtung abgenommen und in
dem Befehlsregister 3 eingestellt.
-
In Stufe A(Stufe A21) des Befehls 2 wird der Mikrocode
(2-1) des ersten Schrittes des Befehls 2 aus dem ersten
Steuerspeicher 11 gelesen, wie durch eine fettgedruckte Linie
dargestellt, und in dem Mikrocoderegister M(61) eingestellt,
um die nächste Stufe zu steuern.
-
Weiter wird in Stufe D22 des Befehls 2 der Mikrocode (2-
2) des zweiten Schrittes aus dem zweiten Steuerspeicher 2
gelesen, wie durch eine Wellenlinie dargestellt, und in dem
Mikrocoderegister A(60) eingestellt, um die nächste Stufe zu
steuern.
-
Am nächsten Zeitpunkt T4 wird eine Stufe EB des
Sprungbefehls ausgeführt und das Ergebnis der
Sprungbedingungsentscheidung wird zu dem Selektor 52 gesendet.
-
An diesem Zeitpunkt wird die Stufe D31 des Befehls 3,
die vorher in dem Befehlsregister 4 eingestellt wurde,
ausgeführt und der Operationscode des Befehls 3 wird zur
Einstellung des Adressregisters 71 vorbereitet. Wenn der Sprung
ausgeführt wird, wird die Information (Befehl t) in dem
Befehlsregister 3 zu dem Adressregister 71 und dem
Adressgenerator 6 gesendet, und wenn der Sprung nicht ausgeführt wird,
wird die Information (Befehl 3) in dem Befehlsregister 4 zu
diesem gesendet. Somit wirkt sich der Sprungzielbefehl
(Befehl t) nicht störend auf den Befehl 3 aus. Die Ausführung
des Befehls t wird von der Stufe EB des Sprungbefehls
gestartet.
-
Die vorstehende Erläuterung betrifft eine Operation, bei
der der Befehl 3 in dem Befehlsregister 4 zu dem Zeitpunkt T3
eingestellt ist, an dem der Befehl t in dem Befehlsregister 3
eingestellt ist. Andererseits wird eine Operation, wenn z. B.
die Adresse des Steuerspeichers in dem dritten Schritt des
Befehls 2 zu dem selben Zeitpunkt T3 in dem Adressregister 70
durch den Adressgenerator 6 eingestellt wird, in Fig. 6C
dargestellt.
-
Wie Fig. 6C zeigt, werden ein Lesen (Stufe D23) des
Mikrocodes (2-3) des dritten Schrittes des Befehls 2 aus dem
zweiten Steuerspeicher 2 und ein Einstellen einer Adresse für
den Steuerspeicher 11 in einem Mikrocode (t-1) des ersten
Schrittes des Befehls t zu dem Adressregister 71 an dem
selben Zeitpunkt T4 gestartet. Der Mikrocode (2-3) des dritten
Schrittes des Befehls 2 wird an dem Zeitpunkt T4 gelesen, wie
durch eine Wellenlinie dargestellt, und wird in dem
Mikrocoderegister A(60) eingestellt. Andererseits stellt der
Mikrocode (t-1) des ersten Schrittes des Befehls t die
Adresse des Steuerspeichers in dem Adressregister 71 in der
Stufe Dt1 ein und gleichzeitig wird die Adresse des
Steuerspeichers des zweiten Schrittes (sofern vorhanden) in dem
Adressregister 70 durch den Adressgenerator 6 eingestellt.
-
Wenn eine Adresse eines Mikrocodes (2-4) des vierten
Schrittes des Befehls 2 erzeugt wird, tritt in dem
Adressgenerator 6 eine Störung auf. Trotzdem wird am Zeitpunkt T4, da
die Sprungbedingung entschieden ist, entweder der zweite
Schritt des Sprungbefehls (Befehl t) oder der vierte Schritt
des Befehls 2 dem Adressgenerator, ansprechend auf die
Sprungbedingungsentscheidung, zugeführt und somit wird eine
Störung vermieden.
-
Daher wird, wenn der Sprung entschieden ist, am
Zeitpunkt T5 der Mikrocode (t-1) des ersten Schrittes des Befehls
t aus dem ersten Steuerspeicher 11 gelesen und in dem
Mikrocoderegister M(61) eingestellt, und der Mikrocode (t-2) des
zweiten Schrittes wird aus dem zweiten Steuerspeicher 2
gelesen und in dem Mikrocoderegister A(60) eingestellt.
Nachfolgend werden die jeweiligen Mikrocodes (t-1, t-2) zu den
Mikrocoderegistern M(61) und E(62) verschoben und die Stufen
M und E werden ausgeführt. Das hat zur Folge, daß der
Sprungzielbefehl (Befehl t) sich nicht störend auf den allgemeinen
Befehl (Befehl 2) auswirkt und der Befehl t startet die
Ausführung des Sprungbefehls von der Stufe EB desselben.