DE2715073B2 - Mikroprogranunierte Rechner-Steuervorrichtung - Google Patents
Mikroprogranunierte Rechner-SteuervorrichtungInfo
- Publication number
- DE2715073B2 DE2715073B2 DE2715073A DE2715073A DE2715073B2 DE 2715073 B2 DE2715073 B2 DE 2715073B2 DE 2715073 A DE2715073 A DE 2715073A DE 2715073 A DE2715073 A DE 2715073A DE 2715073 B2 DE2715073 B2 DE 2715073B2
- Authority
- DE
- Germany
- Prior art keywords
- microinstruction
- address
- register
- jump
- memory
- 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
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/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/264—Microinstruction selection based on results of processing
- G06F9/267—Microinstruction selection based on results of processing by instruction selection on output of storage
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Description
Die Erfindung betrifft eine mikroprogrammierte Rechner-Steuervorrichtung mit einem Speicher zur
Speicherung eines Mikroprogramms aus gewöhnlichen Mikrobefehlen und aus Sprung-Mikrobefehlen, einem
Mikrobefehlsregister für die Speicherung eines durchzuführenden Befehls, einem Adressenregister zur
Speicherung einer Adresse des als nächsten auszuführenden Befehls, und mit einer Einrichtung zur
Übertragung des als nächsten auszuführenden Befehls aus dem Speicher in das Mikrobefehlsregister, wobei
dieser Befehl der in dem Adressenregister gespeicherten Adres.se entspricht, und um zur gleichen Zeit das
Adressenregister auf den neuesten Stand zu bringen.
Bei einer mikroprogrammierten Steuervorrichtung wird ein Arbeitsverfahren angewandt, bei dem die
Befehlsausleseoperation zum Auslesen eines Mikrobefehls für einen Mikroprogrammspeicher und die
Befehlsausführungsoperation zur Ausführung des aus dem Mikroprogramm ausgelesenen Befehls parallel
geschaltet werden, d. h., beide Operationen werden gleichzeitig und parallel zueinander in einem Maschinenzyklus
verarbeitet; hierdurch wird die Verarbeitungsgeschwindigkeit erhöht. Mit anderen Worten:
wenn während der Ausführung eines Mikrobefehls ein Mikroprogramm sequentiell in derselben Reihenfolge
wie eine vorbestimmte Adresse (üblicherweise in der binären Folge der Adresse) des Mikroprogrammspeichers
ausgeführt wird, wird der Inhalt der Adresse, welche auf diejenige des Mikrobefehls folgt, aus dem
Mikroprogrammspeicher ausgelesen. Zu diesem Zweck sind ein Register (RDR) zum Speichern des Mikrobefehls
und ein anderes Register (RAR)zum Speichern der
Adresse zur Bezeichnung des Mikrobefehls vorgesehen, und der Inhalt des Adressenregisters RAR ist stets die
Adresse nächst derjenigen zur Bezeichnung des im Mikrobefehlsregister RDR gespeicherten Befehls, und
diese Adresse wird dem Mikroprogrammspeicher zugeführt.
Bei diesem Verfahren muß ein neuer Mikrobefehl in das Mikrobefehlsregister RDR praktisch zum selben
Zeitpunkt geladen werden, zu welchem die Adresse des nächsten, durchzuführenden Befehls in das Adressenregister
RAR geladen wird. Wenn jedoch der im Mikrobefehlsregister RDR geladene Befehl der Sprungmikrobefehl
ist, wird die Adresse des im folgenden auszuführenden Befehls erst nach Ausführung des
Sprungniikrobefehls erhalten. Dies bedeutet, daß zwei Maschinenzyklen, nämlich der Befehlsausführzyklus und
der nächste Befehlsabrufzyklus, für die Ausführung des Sprungmikrobefehls nötig sind, wodurch die Paralleloperation unterbrochen und hierdurch die Beschleunigung
der Programmverarbeitung oder -durchführung beeinträchtigt wird.
Die der Erfindung zugrunde liegende Aufgabe besteht darin, eine mikroprogrammierte Rechner-Steuervorrichtung
der eingangs definierten Art derart zu verbessern, daß durch einen Sprungbeiehl verursacht
innerhalb eines Betriebszyklus der dem Sprungbefehl folgende Befehl ausgeführt und der Pbernächste Befehl
im Speicher adressiert werden kann.
Ausgehend von der mikroprogrammierten Rechner-Steuervorrichtung
der eingangs definierten Art wird diese Aufgabe erfindungsgemäß dadurch gelöst, daß ein
zusätzlicher Speicher vorgesehen ist, der spezifizierte Adressen enthält, in welchen die am häufigsten
benutzten Mikrobefehle gespeichert sind, daß eine Steuereinrichtung derart aufgebaut ist, daß sie dann,
wenn das Mikrobefehlsregister einen Sprung-Mikrobefehl mit einer der spezifizierten Adressen enthält, eine
durch diesen Sprung-Mikrobefehl angegebene Sprung-Befehlsadresse in das Adressenregister überträgt und
gleichzeitig den Mikrobefehl aus den· zusätzlichen Speicher in das Mikrobefehlsregister überträgt, der der
spezifizierten Adresse des Sprung-Mikrobefehls entspricht.
Wenn ein Sprung-Mikrobefehl mit einer spezifizierten Adresse aus dem Hauptspeicher in das Mikrobefehlsregister
umgeschrieben wird, so wird also ein Befehl, der durch die spezifizierte Adresse dieses
Sprung-Mikrobefehls angegeben ist, von den zusätzlichen Speicher in das Mikrobefehlsregister übertragen.
Zur gleichen Zeit wird die Sprung-Befehlsadresse, die in dem Sprung-Mikrobefehl enthalten ist, in das Adressenregister
übertragen.
Dies ist möglich, weil ein derartiger Sprung-Mikrobefehl
zwei Adressen enthält, nämlich die spezifizierte Adresse für den zusätzlichen Speicher, d. h. für den
nächsten auszuführenden Mikrobefehl, und die Sprung-Befehlsadresse, die dem übernächsten Mikrobefehl
angibt.
Ein derartiger inaktiver Zustand bzw. Leerlauf während eines Betriebszyklus, d. h. in diesem Fall
während der Übertragung der Sprung-Befehlsadresse in das Mikrobefehlsadressenrcgistcr, tritt jedoch bei der
Steuervorrichtung nach der Erfindung nicht auf.
Besonders vorteilhafte Weiterbildungen und Ausgestaltungen der Erfindung ergeben sich aus den
Ansprüchen 2 bis 4.
Im folgenden sind bevorzugte Ausführungsformen der Erfindung anhand der Zeichnung näher erläutert. Es
zeigt
Fig. 1 ein Blockschaltbild einer mikroprogrammierten
Rechner-Steuervorrichtung gemäß einer Ausführungsform,
F i e. 2 ein Zeitsleuerdiagramm zur Veranschauli
ehung der Arbeitsweise der Vorrichtung gtmäß Fig. 1
und
F i g. 3 ein Blockschaltbild einer abgewandelten mikroprogrammierten Steuervorrichtung.
Fig. 1 veranschaulicht in Blockschaltbildform eine mikroprogrammicrlc Steuervorrichtung bei welcher ein
erster Speicher 11 zur Speicherung eines Mikroprogramms vorgesehen ist, nämlich ein Festwertspeicher
(ROM) herkömmlicher Bauart mit einer für die Speicherung eines Huuplmikroprogramms ausreichenden
Kapazität von /.. B. 2K Worten. Ein zweiter Speicher 12 (ROM) speicher! einen Mikrobefehl aus 8
Worten gemäß Tabelle I. Vorzugsweise sind die im Speicher 12 gespeicherten Mikrobefehle die am
häufigsten benutzten. Mit anderen Worten: wünschenswert ist ein Mikrobefehl (der nach dem Sprungmikrobcfehl
durchzuführende Mikrobefehl), der in der Sprungadresse des bei der Mikroprogrammfolge benutzten
Sprungmikrobefehls gespeichert ist.
-. Tabelle 1
Adresse | NOP | Inhalt |
0 | ADD | Keine Operation |
1 | SUB | Additionsbefehl |
2 | AND | Subtraktionsbefehl |
3 | XOR | Konjunkiionsbefehl |
4 | LOAD | Exklusiver ODER-Befehl |
5 | STORE | Ladebefehl |
6 | MOVE | Speicherbefehl |
7 | Übertragungsbefehl | |
Die aus obiger Adresse hervorgeht, besitzen die 8-Wort-Mikrobefehle entsprechende Adressen, und sie
sind in den dem Speicher 12 zugeteilten Adressen gespeichert. Genauer gesagt: der NOP-Mikrobefehl
(Keine Operation) ist in der »O«-Adresse des Speichers 12, der ADD-Mikrobefehl (Additionsbefehl) in der
»1«-Adresse, der SUB-Mikrobefehl (Subtraktionsbefehl) in der Adresse »2«, der AN D-Mikrobefehl
(Konjunktionsbefehl) in der Adresse »3«, der XOR-Mikrobefehl (Exklusiver ODER-Befehl) in der Adresse
»4«, der LOAD-Mikrobefehl (Befehl zum Lesen von Daten aus dem Speicher) in der Adresse »5«, der
STORE-Mikrobefehl (Befehl zum Einschreiben von Daten in den Speicher) in der Adresse »6« und der
MOVE-Mikrobefehl (für Datenübertragung) in der Adresse »7« gespeichert.
Ein ROM-Adressenrcgistcr RAR 13 ist ein Befchlsfolgeregister
zur Speicherung der Adresse des nächsten auszuführenden Mikrobefehls. Die im Register RAR 13
gespeicherte Adresseninformation bezeichnet oder kennzeichnet den Speicher 11 über eine Adressenleitung
14. Sodann wird ein gewünschter, auszuführender Mikrobefehl aus der gewählten^ Adresse des Speichers
11 ausgelesen.
Eine an sich bekannte Addierschaliung 15 addiert »+1« zu der im Adressenregisler 13 enthaltenen, über
die Adressenleitung 14 gelieferten Adresseninformation. Ein ROM-Datenrcgister RDR 16 ist ein Mikrobefehlsregister
zur Speicherung des aus dem Speicher 11 oder 12 ausgelesenen Mikrobefehls. Das Register
RDR 16 besteht beispielsweise aus 11 Bits, wobei jeder
Block zu einer vorbestimmten Bitlänge der betreffenden, noch zu beschreibenden Schaltung geleitet wird.
Genauer gesagt: 4 Bils des im Register RDR16
gespeicherten Mikrobefehls werden über eine Signalleitung 17 zu einer arithmetischen logischen Steuereinheit
18 geliefert. Wenn der im Register RDR 16 gespeicherte Mikrobefehl ein Sprungmikrobefehl isi, wird das
Steuerfeld (3 Bits) zur Steuerung der Arbeitsweise des Sprungmikrobefehls über die Stcuerleitung 19 vom
Register RDRiS zum Speicher 12 geliefert. Das
Adressenfeld (4 Bits) wird dem Adressenregister RARH über eine Datenleitung 20 zugeliefcrt. Das
Format des u.a. hier benutzten Sprungmikrobefehls ist in Tabelle 2 veranschaulicht. Der Sprungmikrobefehl
besteht aus einem Operationskodefeld aus 4 Bits, einem .Steuerfeld aus 3 Bits und einem Adressenfeld aus 4 Bits.
Der Operationskode »BR« des Sprungmikrobefehls ist im Operationsfeld (OP) fiespeichert, während die die
Adresse für die Wahl des Mikrobefehls darstellenden Daten im Steuerfeld (STEUERUNG) und die Sprungadresse
im Adressenfeld(ADRESSr)gespeichert sind.
OP-KODE
5 7
STEUERUNG
Sprungmikrobefehlsformat
ADRESSE
Die arithmetische logische Steuereinheit 18 zur Ausführung des im Register 16 gespeicherten Mikrobefehls
weist einen Dekodierer 21 auf. welcher prüft, ob der vom Register RDR iö gelieferte Mikrobefehl der
Sprungmikrobefehl ist oder nicht. Der Dekodierer 21 gibt ein Dekodiersignal D 1 ab, wenn der Mikrobefehl
der Sprungmikrobefehl ist, während er ein Dekodiersignal D 2 abgibt, wenn es sich nicht um den
Sprungmikrobefehl handelt. Das Dekodiersignal D\ steuert die Operation des Sprungmikrobefehls. Das
Dekodiersignal D 2 steuert die Ausführung eines gewöhnlichen Mikrobefehls, außer des Sprungmikrobefehls
in der Steuereinheit 18.
Die Schaltung 22 ist mit einer üblichen UND/ODER-Kombinationsschaltung
221 und einem Umsetzer 222 zum Invertieren des logischen Pegels des Steuersignals
D 1 versehen. Die Schaltung 22 wählt unter Benutzung
2(1
des Steuersignals D1 den Adressenausgang de
Addierschaltung 15 oder die Adressenfeldinformatio des Registers RDR16. Genauer gesagt: wenn da
Steuersignal D 1 den Pegel »0« besitzt, d. h., wenn dei auszuführende Mikrobefehl nicht der Sprungmikrobe
fehl, sondern der gewöhnliche Mikrobefehl ist, wird di Adresseninformation von der Addierschaltung 15 fü
die Eingabe in das Adressenregister 13 gewählt. Im Fa
des Sprungmikrobefehls ist das Steuersignal D1 ein
logische »1«, wobei die Adressenfeldinformation von Register RDR gewählt und über die Datenleitung 2(
zum Adressenregister RAR 13 übertragen wird.
Ebenso wie die Schaltung 22 umfaßt eine Einrichtung 23 eine UND/ODER-Kombinationsschaltung 231 unc
einen Umseuer 232. Die Einrichtung 23 wählt ebenfali:
den Mikrobefehl vom Speicher 11 oder denjenigen von
Speicher 12, je nach dem logischen Pegel de; Steuersignals D 1. Wenn nämlich der logische Pegel de;
Steuersignals eine »0« ist, wird der Mikrobefehl von Speicher 11 gewählt. Entspricht der logische Pegel einei
»1«, so wird der Mikrobefehl vom Speicher 12 gewähl und zum Register RDR 16 geleitet.
Die Arbeitsweise der vorstehend beschriebener mikroprogrammierten Steuervorrichtung ist im folgen
den anhand der ein Zeitsteuerdiagramm darstellender F i g. 2 erläutert. Im folgenden sei der Fall betrachtet, ir
welchem das in Tabelle 3 gezeigte Programm durch di Steuervorrichtung durchgeführt wird.
Adresse Svmbol Inhalt
151
152
153
152
153
154
START
236 | XYZ |
237 | |
237 | RETURN |
(Rücksprung) |
ADD ...Additionsbefehl
SUB ...Subtraktionsbefehl
BR3, ... Bedingter Sprungbefehl
XYZ (236)
MOVE ... Übertragungsbefehl
SUB ...Subtraktionsbefehl
BR3, ... Bedingter Sprungbefehl
XYZ (236)
MOVE ... Übertragungsbefehl
XOR ... Exklusiver ODER-Befehl
In obiger Tabelle geben die Spalte ADRESSE die im Speicher 11 zugewiesenen Adressen, die Spalte
SYMBOL die den Daten oder Mikrobefehlen im Programm zugeteilten Kennzeichen und die Spalte
INHALT die in der ADRESSE gespeicherten Mikrobefehle an. Die betreffenden Mikrobefehle gemäß Tabelle
3 sind die gleichen wie diejenigen von Tabelle 2. BR und XYZ bezeichnen die bedingten Sprungmikrobefehle,
und wenn diese mit der Bedingung 3 koinzidieren, springt diese auf das Kennzeichen XYZ. Beim
vorliegenden Beispiel kann der Sprungmikrobefehl allgemein als »BR(i)j« ausgedrückt werden, worin (i) die
Zahlen 1 bis 8 und den unmittelbar nach dem Sprungmikrobefehl auszuführenden Befehl, d.h. die
Adressen im Speicher 12, und >>/« die Sprungadresse, auf
welche der Sprung erfolgt angeben.
Die Zeitsteuerkurven gemäß F i g. 2 eignen sich ersichtlicherweise für die Durchführung des Programms
gemäß Tabelle 3. In F i g. 2(a) sind die Maschinenzyklen ίο mit Cl, C2, C3 ... bezeichnet. Im Operationszyklus C.
wird der im Zyklus CI ausgelesene Mikrobefehl/AD[ (entsprechend dem Inhalt in Adresse »151« de
Speichers 11 gemäß Tabelle 3) gemäß Fig. 2(d) in Register RDR16 gespeichert, während die folgend'
Adresse »152« im Adressenregister 13 gespeichert wire Der Mikrobefehl ADD wird im Dekodierer 21 de
arithmetischen logischen Steuereinheit 18 über di< Signalleitung 17 entschlüsselt. Da der Mikrobefehl ADI
nicht den Sprungmikrobefehl darstellt, werden da
bo Steuersignal D1 zu »0« und das Steuersignal D 2 zu »1
< so daß der Mikrobefehl ADD in der Steuereinheit 1 ausgeführt wird. Im Zyklus C2 wird der folgendi
Mikrobefehl SUB (der Inhalt »152« der Adresse gemä Tabelle 3), der entsprechend dem Inhalt »152« de!
b5 Adressenregisters 13 aus dem Speicher 11 geladen wird
gemäß F i g. 2(d) durch die Einrichtung 23 im Registei RDR 16 gesetzt Gleichzeitig wird das Ausgangssigna
des Adressenregisters RAR 13 über die Adressenleitunj
14 der Addierschaltung 15 zugeführt, wo »+1« zum Inhalt 152 des Adressenregisters RAR 13 hinzuaddiert
und das Additionsergebnis gemäß Fig. 2(b) über die Schaltung 22 im Adressenregister RAR 13 gesetzt wird.
Sodann geht der Programmablauf auf Zyklus C3 über.
Wenn, wie aus der vorstehenden Beschreibung hervorgeht, der Mikrobefehl nicht der Sprungmikrobefehl
ist, führt die Schaltung gemäß F i g. 1 die Ausleseoperation des nächsten durchzuführenden Mikrobefehls
und gleichzeitig auch den Mikrobefehl aus. Zu diesem Zweck ist die Ausführung des im Register
RDR16 gespeicherten Mikrobefehls praktisch zum
gleichen Zeitpunkt abgeschlossen, zu welchem die Speicherzugriffszeit beendet ist, während welcher der
nachfolgend auszuführende Mikrobefehl gemäß F i g. 2(b) aus dem durch das Adressenregister 13
gewählten Speicher 11 ausgelesen wird. Als Ergebnis können die Mikrobefehle kontinuierlich ausgeführt
werden.
Im Zyklus CA gemäß Fig.2(a) wird die Adresse »154« im Adressenregister RAR 13 gespeichert, während
der Mikrobefehl BR(3) im Register RDR16 gespeichert wird.
Der Mikrobefehl ist der Sprungmikrobefehl »BR(3) 236 oder XYZ« gemäß Tabelle 3, so daß dieser
Sprungmikrobefehl den bedingten Sprung mit der Sprungadresse »236« darstellt. Die Bedeutung dieses
bedingten Sprungs und seines Ergebnisses ist nicht erfindungswesentlich, so daß auf die entsprechenden
Erläuterungen verzichtet werden kann. Im Zyklus CA wird der im Register RDR 16 gespeicherte Mikrobefehl
BR(3) zur arithmetischen logischen Steuereinheit 18 übertragen und in dieser entschlüsselt und berechnet.
Wenn als Ergebnis der Berechnung die Sprungbedingung zutrifft, besitzt das Steuersignal D1 den Pegel »1«.
Bei Eingang des Steuersignals DX mit dem Pegel »1«
wählt die Schaltung 22 über die Datenleitung 20 die Adressenfeldinformation »236« (4 Bit-Adressen nach
Tabelle 2) des im Register RDR16 gespeicherten
Sprungmikrobefehls. Infolgedessen wird diese Adressenfeldinformation
im Adressenregister RAR 13 gespeichert. Die Steuerbits (3 Bits) des im Register RDR 16
gespeicherten Sprungmikrobefehls »BR(3)<< bezeichnen die Adresse »3« des Speichers 12 gemäß Tabelle 11 über
die Steuerleitung 19, durch die gemäß F i g. 2(e) aus dem Speicher 12 das in der Adresse »3« gespeicherte
Mikrobefehlswort »AND« ausgelesen wird. Während der Mikrobefehl in der vom Adressenregister RAR 13
bezeichneten Adresse »154« aus dem Speicher ausgelesen wird, wählt die Einrichtung 23 den aus dem Speicher
12 ausgegebenen Mikrobefehl »AND«, weil das Steuersignal D1 den Pegel »1« besitzt. Der Mikrobefehl
»AND« wird daher gemäß Fig.2(d) im Register RDR 16 gespeichert. Sodann tritt der Programmablauf
in den Zyklus C5 ein.
Im Zyklus C 5 ist der Mikrobefehl der »ADD«-Mikrobefehl
und nicht der Sprungmikrobefehl, so daß der Dekoder 21 der Steuereinheit 18 das Ausgangssignal
D1 mit dem logischen Pegel »0« abgibt Infolgedessen
wird in diesem Zyklus der im Register RDR16 gespeicherte Mikrobefehl »ADD« ausgeführt, während
gleichzeitig der Mikrobefehl »XOR« in der Sprungadresse »236« gemäß F i g. 3 entsprechend dem Inhalt
des Adressenregisters RAR 13 aus dem Speicher 11 ausgelesen und dann in das Register RDR16 geladen
wird. Hierauf geht der Ablauf auf Zyklus C6 über.
Im Zyklus C 6 wird der im Zyklus C 5 ausgelesene und im Register RDR 16 gespeicherte Mikrobefehl »XOR«
[F i g. 2(d)] ausgeführt, während gleichzeitig die Adresse »237« mit » + 1« gemäß Fig.2(a) im Adressenregister
RAR 13 gespeichert wird. Eine ähnliche Operation wiederholt sich beim folgenden Vorgang.
ι In dem auf den Zyklus C4, in welchem der Sprungmikrobefehl ausgeführt wird, folgenden Zyklus
C5 wird der Mikrobefehl des Speichers 12 ausgeführt, welcher durch den Sprungmikrobefehl unmittelbar
bezeichnet ist. Diese bedeutet, daß die Steuereinheit 18
ίο stets einen der Mikrobefehle ohne »Leerlaufzeit«
verarbeitet, was zu einer Verbesserung bezüglich der Schnelligkeit der Operationsdurchführung führt.
Wenn im Zyklus CA die Sprungbedingung nicht zutrifft, bleibt das Steuersignal D1 auf dem Pegel »0«.
!■3 Infolgedessen wird das Ausgangssignal »155« der Addierschaltung 15 in das Adressenregister RARM
geladen, und der aus dem Speicher 11 ausgelesene Mikrobefehl MOVE (vgl. Tabelle 3) wird in das Register
RDR16 geladen. Auch wenn in diesem Fall die
:n Programmoperation in den Zyklus C5 eintritt, wird keine Sprungoperation durchgeführt.
Wenn der Sprungmikrobefehl gemäß Tabelle 3 als »BR(0)236« angegeben ist, ist der Befehl nach
Ausführung des Sprungmikrobefehls der NOP-Befehl.
Aus diesem Grund wird in diesem Operationszyklus nach Ausführung des Sprungmikrobefehls praktisch wie
bei der bisherigen Vorrichtung die Abrufoperation des Befehls in der Sprungadresse allein durchgeführt.
Die Paralleloperation zur Erhöhung der Operations-Verarbeitungsgeschwindigkeit
ist für den Sprungmikrobefehl sehr wirksam, woraus sich eine bemerkenswerte Erhöhung der Operations-Verarbeitungsgeschwindigkeit
ergibt. Insbesondere dann, wenn die Rechner-Steuervorrichtung auf den Sprungmikrobefehl im
Abrufteilprogramm des Mikrobefehls angewandt wird, kann auch die Operationsgeschwindigkeit im Abrufzyklus
des Makrobefehls erhöht werden. Hierbei hängt die Ausführungszeit des Makrobefehls im Abrufzyklus
unmittelbar von der Ausführungsgeschwindigkeit jedes Makrobefehls ab, wodurch die Ausführgeschwindigkeit
des Rechners erhöht werden kann.
Es ist darauf hinzuweisen, daß dann, wenn bei der Steuervorrichtung eine Gruppe von nach dem Sprungmikrobefehl
auszuführenden Mikrobefehlen im ROM-Speicher gespeichert und beim (als) Sprungmikrobefehl
benutzt wird, die Vorbereitungsarbeiten für das Programm erheblich vereinfacht werden können.
Wie erwähnt, ist bei der vorstehend beschriebenen Ausführungsform die Sprungadresse des Sprungmikrobefehls
im Sprungmikrobefehl selbst (Einwort-Befehl) enthalten. Es ist jedoch eine Abwandlung möglich, bei
welcher die Sprungadresse in der Adresse gespeichert sein kann, welche neben derjenigen des Sprungmikrobefehls
zugeordnet ist (Zweiwort-Befehl). In diesem Fall ist die Datenleitung 20 gemäß F i g. 1 auf die in F i g. 3
gezeigte Weise vom Speicher 11 zu Schaltung 22 geschaltet Bei dieser Schaltungsweise wird im Zyklus
CA der Zeitsteuerkurven gemäß F i g. 2 der Inhalt der Adresse »154« im Speicher 11 (Sprungadresse) ausgelesen,
so daß dann, wenn die Sprungbedingung zutrifft, der Inhalt »236« dem Adressenregister RAR 13 zugeliefert
werden kann. Zur Vermeidung einer »Leerlaufzeit« im Zyklus C 5 erzeugt zudem in diesem Fall der Dekodierer
21 ein Steuersignal D 3 mit dem logischen Pegel »1« unabhängig von der Gültigkeit der Sprungbedingung,
wenn der vom Register RDR16 zugeführte Mikrobefehl
der Sprungmikrobefehl ist Das Steuersignal D 3 wird dann zur Einrichtung 23 übertragen. Infolgedessen
9 10
wird bei der Ausführungsform gemäß F i g. 3 auch dann, krobefehl ausgelesen wird.
wenn der Sprungmikrobefehl vom Zweiwort-Befehls- Ersichtlicherweise kann die Steuervorrichtung so
typ ausgegeben wird, der Mikrobefehl unabhängig von abgewandelt werden, daß einzelne Mikrobefehle für den
der Gültigkeit der Sprungbedingung ausgeführt, wobei Gültigkeits- und Ungültigkeitszustand der Sprungbedin-
der Mikrobefehl aus dem vom Sprungmikrobefeh! 5 gung selektiv ausgeführt werden.
gewählten Speicher 12 unmittelbar nach dem Sprungmi-
Hierzu 2 Blatt Zeichnungen
Claims (4)
1. Mikroprogrammierte Rechner-Steuervorrichtung mit einem Speicher zur Speicherung eines
Mikroprogramms aus gewöhnlichen Mikrobefehlen und aus Sprung-Mikrobefehlen, einem Mikrobefehlsregister
für die Speicherung eines durchzuführenden Befehls, einem Adressenregister zur Speicherung
einer Adresse des als nächsten auszuführen- ι ο den Befehls, und mit einer Steuereinrichtung zur
Übertragung des als nächsten auszuführenden Befehls aus dem Speicher in das Mikrobefehlsregister,
wobei dieser Befehl der in dem Adressenregister gespeicherten Adresse entspricht, und um zur
gleichen Zeit das Adressenregister auf den neusten Stand zu bringen, dadurch gekennzeichnet,
daß ein zusätzlicher Speicher (12) vorgesehen ist, der spezifizierte Adressen enthält, in welchen die
am häufigsten benutzten Mikrobefehle gespeichert sind, daß die Steuereinrichtung (22, 23) derart
aufgebaut ist, daß sie dann, wenn das Mikrobefehlsregister (16) einen Sprung-Mikrobefehl mit einer der
spezifizierten Adressen enthält, eine durch diesen Sprung-Mikrobefehl angegebene Sprung-Befehls- 2")
adresse in das Adressenregister (13) überträgt und gleichzeitig den Mikrobefehl aus dem zusätzlichen
Speicher (12) in das Mikrobefehlsregister (16) überträgt, der der spezifizierten Adresse des
Sprung-Mikrobefehls entspricht. jo
2. Rechner-Steuervorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß eine Dekodiereinrichtung
(21) vorgesehen ist und ein Signal (D 1) erzeugt, wenn das Mikrobefehlsregister (16) den Sprung-Mikrobefehl
speichert, oder ein negiertes Signal jri
erzeugt, wenn das Mikrobefehlsregister (16) einen gewöhnlichen Mikrobefehl speichert, daß die Einrichtung
(22, 23) eine erste Torsteuerschaltung (231) enthält, die zwischen dem Speicher ill) und dem
Mikrobefehlsregister (16) eingeschaltet ist, um den Mikrobefehl aus dem Speicher (11) in das Mikrobefehlsregister
(16) in Abhängigkeit von dem negierten Signal der Einrichtung (22, 23) umzuschreiben, daß
ein Adressenrechner (15) vorgesehen ist, um die Adresse in dem Adressenregister auf den neuesten «
Stand zu bringen, daß weiter eine zweite Torsteuerschaltung (221) zwischen den Adressenrechner (15)
und das Adressenregister (13) eingeschaltet ist und eine auf den neuesten Stand gebrachte Adresse aus
dem Adressenrechner in das Adressenregister w abhängig vom negierten Signal umschreibt, daß die
erste Torsteuerschaltung (231) auch zwischen den zusätzlichen Speicher (12) und das Mikrobefehlsregister
(16) eingeschaltet ist, um einen Mikrobefehl aus dem zusätzlichen Speicher (12) in das Mikrobe- ■-,-,
fehlsregister in Abhängigkeit von dem Signal der Dekodiereinrichtung (21) umzuschreiben, und daß
die zweite Torsteuercchaltung (221) auch zwischen
das Mikrobefehlsregister (16) und das Adressenregister (13) eingeschaltet ist, um die Sprung-Befehls- mi
adresse in dem Adressenfeld des Sprung-Mikrobefehls im Mikrobefehlsregister in Abhängigkeit von
dem Signal der Dekodiereinrichtung zum Adressenregistcr zu übertragen.
3. Rechner-Steuervorrichtung nach Anspruch I, h r>
dadurch gekennzeichnet, daß die Einrichtung (22, 23) aus einer ersten Wähleinrichtung (22) zum Wählen
der A.dresserierhöh'jn" oder der Snrungbefeh!sadresseneinschreibung
entsprechend dem logischen Pegel des Signals (D 1) der Dekodiereinrichtung (21)
und aus einer zweiten Wähleinrichtung (23) zum Wählen des nächsten Mikrobefehls aus dem ersten
Speicher (11) oder dem zweiten Speicher (12).
4. Rechner-Steuervorrichtung nach Anspruch 2, dadurch gekennzeichnet, daß die beiden Ionsteuerschaltungen
(221, 231) je eine UND/ODER-Kombinationsschaltung aufweisen, welche durch den
logischen Pegel des Signals (D 1) der Dekodiereinrichtung (21) gesteuert wird.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3607376A JPS52120640A (en) | 1976-04-02 | 1976-04-02 | Micro program control system |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2715073A1 DE2715073A1 (de) | 1977-10-06 |
DE2715073B2 true DE2715073B2 (de) | 1980-04-30 |
DE2715073C3 DE2715073C3 (de) | 1981-01-15 |
Family
ID=12459551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2715073A Expired DE2715073C3 (de) | 1976-04-02 | 1977-04-04 | Mikroprogrammierte Rechner-Steuervorrichtung |
Country Status (4)
Country | Link |
---|---|
US (1) | US4179731A (de) |
JP (1) | JPS52120640A (de) |
AU (1) | AU514615B2 (de) |
DE (1) | DE2715073C3 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3138971A1 (de) * | 1981-09-30 | 1983-04-21 | Siemens AG, 1000 Berlin und 8000 München | Mikroprogrammiertr prozessor und verfahren zu seinembetrieb |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4360868A (en) * | 1978-12-06 | 1982-11-23 | Data General Corporation | Instruction prefetch means having first and second register for storing and providing a current PC while generating a next PC |
US4338661A (en) * | 1979-05-21 | 1982-07-06 | Motorola, Inc. | Conditional branch unit for microprogrammed data processor |
JPS5619150A (en) * | 1979-07-25 | 1981-02-23 | Fujitsu Ltd | Microprogram control system |
JPS6346297Y2 (de) * | 1980-03-14 | 1988-12-01 | ||
JPS56149646A (en) * | 1980-04-21 | 1981-11-19 | Toshiba Corp | Operation 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 |
JPS58197553A (ja) * | 1982-05-12 | 1983-11-17 | Mitsubishi Electric Corp | プログラム監視装置 |
US4586127A (en) * | 1982-11-03 | 1986-04-29 | Burroughs Corp. | Multiple control stores for a pipelined microcontroller |
US4551798A (en) * | 1982-11-03 | 1985-11-05 | Burroughs Corporation | Multiple control stores in a pipelined microcontroller for handling nester subroutines |
US4546431A (en) * | 1982-11-03 | 1985-10-08 | Burroughs Corporation | Multiple control stores in a pipelined microcontroller for handling jump and return subroutines |
IT1153668B (it) * | 1982-11-24 | 1987-01-14 | Honeywell Inf Systems | Organizzazione di memoria di controllo |
GB8416037D0 (en) * | 1984-06-22 | 1984-07-25 | Int Computers Ltd | Data storage apparatus |
US4825363A (en) * | 1984-12-05 | 1989-04-25 | Honeywell Inc. | Apparatus for modifying microinstructions of a microprogrammed processor |
CA1223969A (en) * | 1984-10-31 | 1987-07-07 | William M. Johnson | Microcode control of a parallel architecture microprocessor |
JPH048070Y2 (de) * | 1984-11-26 | 1992-03-02 | ||
JPS61269734A (ja) * | 1985-05-23 | 1986-11-29 | Hitachi Ltd | マイクロプログラム制御方式 |
US4777587A (en) * | 1985-08-30 | 1988-10-11 | Advanced Micro Devices, Inc. | System for processing single-cycle branch instruction in a pipeline having relative, absolute, indirect and trap addresses |
JPS6282402A (ja) * | 1985-10-07 | 1987-04-15 | Toshiba Corp | シ−ケンス制御装置 |
NL8800053A (nl) * | 1988-01-11 | 1989-08-01 | Philips Nv | Videoprocessorsysteem, alsmede afbeeldingssysteem en beeldopslagsysteem, voorzien van een dergelijk videoprocessorsysteem. |
NL8800071A (nl) * | 1988-01-13 | 1989-08-01 | Philips Nv | Dataprocessorsysteem en videoprocessorsysteem, voorzien van een dergelijk dataprocessorsysteem. |
JPH01271838A (ja) * | 1988-04-22 | 1989-10-30 | Fujitsu Ltd | マイクロプログラム分岐方法 |
US5136696A (en) * | 1988-06-27 | 1992-08-04 | Prime Computer, Inc. | High-performance pipelined central processor for predicting the occurrence of executing single-cycle instructions and multicycle instructions |
US5034880A (en) * | 1988-12-22 | 1991-07-23 | Wang Laboratories, Inc. | Apparatus and method for executing a conditional branch instruction |
EP0376258B1 (de) * | 1988-12-27 | 1999-03-03 | Fujitsu Limited | Steuerungssystem und -verfahren zum Instruction Fetch |
US6275924B1 (en) * | 1998-09-15 | 2001-08-14 | Texas Instruments Incorporated | System for buffering instructions in a processor by reissuing instruction fetches during decoder stall time |
JP2000293371A (ja) * | 1999-04-09 | 2000-10-20 | Hitachi Ltd | マイクロプログラム制御方法及び装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3644900A (en) * | 1968-11-30 | 1972-02-22 | Tokyo Shibaura Electric Co | Data-processing device |
US3764988A (en) * | 1971-03-01 | 1973-10-09 | Hitachi Ltd | Instruction processing device using advanced control system |
US3736567A (en) * | 1971-09-08 | 1973-05-29 | Bunker Ramo | Program sequence control |
US3775756A (en) * | 1972-04-20 | 1973-11-27 | Gen Electric | Programmable special purpose processor having simultaneous execution and instruction and data access |
JPS549456B2 (de) * | 1972-07-05 | 1979-04-24 | ||
IT993428B (it) * | 1973-09-26 | 1975-09-30 | Honeywell Inf Systems | Unita di controllo di calcolatore microprogrammato con microprogram mi residenti in memoria e sovrap posizioni delle fasi interpretati ve di una microistruzione con la fase esecutiva della precedente microistruzione |
-
1976
- 1976-04-02 JP JP3607376A patent/JPS52120640A/ja active Granted
-
1977
- 1977-04-04 AU AU23952/77A patent/AU514615B2/en not_active Expired
- 1977-04-04 US US05/784,459 patent/US4179731A/en not_active Expired - Lifetime
- 1977-04-04 DE DE2715073A patent/DE2715073C3/de not_active Expired
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3138971A1 (de) * | 1981-09-30 | 1983-04-21 | Siemens AG, 1000 Berlin und 8000 München | Mikroprogrammiertr prozessor und verfahren zu seinembetrieb |
Also Published As
Publication number | Publication date |
---|---|
AU2395277A (en) | 1978-10-12 |
US4179731A (en) | 1979-12-18 |
DE2715073C3 (de) | 1981-01-15 |
AU514615B2 (en) | 1981-02-19 |
DE2715073A1 (de) | 1977-10-06 |
JPS5539218B2 (de) | 1980-10-09 |
JPS52120640A (en) | 1977-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2715073B2 (de) | Mikroprogranunierte Rechner-Steuervorrichtung | |
DE2230102C2 (de) | Mikroprogrammierter Prozessor mit bitparalleler Datenübertragung | |
DE2542751C2 (de) | Datenverarbeitungsanlage | |
DE2835095C2 (de) | Digitale Rechenanlage mit einem ersten und mindestens einem zweiten miteinander koppelbaren mikroprogrammierten Prozessoren | |
DE2611892C2 (de) | Mikroprogramm-Steueranordnung | |
DE2630323B2 (de) | Datenspeichereinrichtung mit einem Hauptspeicher, einem Hilfsspeicher und einer Vorausschaulogik | |
DE2719635A1 (de) | Anordnung fuer eine erweiterung einer mikroprogrammsteuerung einer datenverarbeitungsanlage | |
DE1250659B (de) | Mikroprogrammgesteuerte Datenverarbeitungsanlage | |
DE2813128A1 (de) | Mikroprogrammspeicher | |
DE2318069A1 (de) | Rechnersteuersystem unter verwendung von mikroprogrammierung und statisch/dynamischer erweiterung von steuerfunktionen mittels festverdrahteter logischer matrix | |
DE2332971C2 (de) | Mikroprogrammsteuereinrichtung | |
DE2426874A1 (de) | Verfahren und schaltungsanordnung zur bestimmung der adressenart eines befehls | |
DE4134392C2 (de) | Verfahren und Vorrichtung zum Ungültigmachen von Befehlen in Geräten mit Parallelverarbeitung | |
DE3501903A1 (de) | Im pipelinebetrieb arbeitende datenverarbeitungseinrichtung | |
DE2617485A1 (de) | Verfahren und schaltungsanordnung zur abarbeitung von mikrobefehlsfolgen in datenverarbeitungsanlagen | |
DE2418921C2 (de) | Vorrichtung zum Speichern von Mikroprogrammen in einer Datenverarbeitungsanlage | |
DE2702722C2 (de) | Einrichtung zur Verarbeitung nicht direkt ausführbarer Instruktionen | |
DE2906685C2 (de) | ||
DE2759120C2 (de) | ||
DE2710436C2 (de) | Datenverarbeitungseinrichtung | |
DE1774421B1 (de) | Mehrprogramm datenverarbeitungsanlage | |
DE19983210B4 (de) | Programmierbare Steuereinrichtung | |
DE3015876A1 (de) | Anordnung und verfahren zur einen digitalprozessor zur vorauslesung eines operationscodeteils und eines operandenteils eines befehlswortes | |
DE3633898A1 (de) | Einrichtung zur folgesteuerung eines aeusseren kreises, beispielsweise eines pipelineprozessors | |
DE2237427C3 (de) | Steueranordnung in einer Datenverarbeitungsanlage mit Mikroprogrammsteuerung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
8320 | Willingness to grant licences declared (paragraph 23) | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: KABUSHIKI KAISHA TOSHIBA, KAWASAKI, KANAGAWA, JP |