DE3116385C2 - Mikroprogramm-Steuerung - Google Patents
Mikroprogramm-SteuerungInfo
- Publication number
- DE3116385C2 DE3116385C2 DE3116385A DE3116385A DE3116385C2 DE 3116385 C2 DE3116385 C2 DE 3116385C2 DE 3116385 A DE3116385 A DE 3116385A DE 3116385 A DE3116385 A DE 3116385A DE 3116385 C2 DE3116385 C2 DE 3116385C2
- Authority
- DE
- Germany
- Prior art keywords
- microprogram
- memory
- read
- code
- routine
- 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.)
- Expired
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/261—Microinstruction address formation
Abstract
Die Erfindung betrifft ein Mikroprogramm-Steuerungssystem mit einem Abbildungs-Festspeicher (13), der die jeweiligen Anfangsadressen einer Vielzahl von Mikroprogramm-Routinen entsprechend einem Makrobefehl speichert. Die Adreß-Eingangsinformation zu diesem Abbildungs-Festspeicher (13) wird erhalten von einem Ausgang eines Binärzählers (11), der zu jeder Zeit zählt, wenn ein Sprungbefehl zum Durchführen einer Verzweigung zu einer anderen Mikroprogramm-Routine dekodiert wird, und von einem Ausgang einer Verriegelungsschaltung (12) zum Halten des Operationscodes des Makrobefehles. Wenn die Mikroprogramm-Routine Schleifen aufweist, wird ein Zählsperrsignal in den Binärzähler (11) eingespeist, so daß die gleiche Adreß-Eingangsinformation zum Abbildungs-Festspeicher (13) gespeist werden kann.
Description
(A) eine Mikroprogramm-Folge-Steuereinrichtung (14) zum Durchführen einer Folgesteuerung des
Mikroprogramm-Festspeichers (1), und
(B) einen Abbildungs-Festspeitner (13) zum Einspeisen
einer Startadresse einer Mikroprogramm-Routine in die Mikroprogramm-Folge-Steuereinrichtung
(14),
dadurch gekennzeichnet, daß die Speicheradreßsteuerschaltun,j
(3) außerdem aufweist:
(C) eine aus einem Zähler (H) u d einer Verriegelungsschaltung
(12) bestehende Einrichtung (11, 12).
— wobei zu Beginn einer Interpretationsroutine für einen Makrobefehl der Makrobefehlskode
in die Verriegelungsschaltung (12) geladen wird, der Zähler (11) zurückgesetzt wird und über den Abbildungs-Festwertspeicher
(13) eine Startadresse für den Mikroprogramm-Festwertspeicher (1) erzeugt wird,
— Folgebefehle in bekannter Art von der Mikroprogramm-Folge-Steuereinrichtung
(14) erzeugt werden und
— Sprungadressen in den Interpretationsroutinen durch Verändern des Inhalts des Zählers
(U) unter erneuter Benutzung des Abbildungs-Festwertspeichers (13) erzeugt werden.
2. Mikroprogrammsteuerung nach Anspruch 1, dsdurch gekennzeichnet, daß der Zähler (11) dann
zählt, wenn ein Sprungmikrobefehl durch den Dekodierer (5) dekodiert wird, und daß die Verriegelungsschaltung (12) dann verriegelt.
3. Mikroprogramm-Steuerung nach Anspruch 1, dadurch gekennzeichnet, daß die Zähler (11) mit einem
Zählsperrsignal beaufschlagt ist, so daß er nicht zählt, wenn die Mikroprogramm-Routine Schleifen
aufweist.
4. Mikroprogramm-Steuerung nach Anspruch I, dadurch gekennzeichnet, daß die von der Verriegelungsschaltung (12) abgegebene Adrcßinformation
ein Oocrationskode des Makrobefehles ist.
10
5. Mikroprogramm-Steuerung nach Anspruch 1, dadurch gekennzeichnet, daß der Abbildungs-Festspeicher(13)
die Anfangsadressen einer Vielzahl von Mikroprogrammen für einen Makrobefehl speichert.
6. Mikroprogramm-Steuerung nach Anspruch 4, dadurch gekennzeichnet, daß das in den Zähler (11)
eingespeiste Zählsperrsignal vorbereitet wird durch Dekodieren eines Befehls zum Sperren der Zäbloperation
des Zählers (11).
7. Mikroprogramm-Steuerung nach Anspruch 2, dadurch gekennzeichnet, daß der Sprungmikrobefehl
andere Operationsfunktionen als eine Verzweigungsfunktion zu einer anderen Mikroprogramm-Routine
aufweist
Die Erfindung betrifft eine Mikroprogramm-Steuerung nach dem Oberbegriff des Patentanspruches 1.
Eine Mikroprogramm-Steuerung dient zum Steuern des Betriebs und des Zustandes verschiedener Logikeinheiten,
wie beispielsweise Zentraleinheiten und Ein/
Ausgabegeräten. In einem solchen Mikroprogramm läuft eine Mikroprogramm-Routine entsprechend einem
gewissen Anwenderbefehl (im folgenden als »Makrobefehl« bezeichnet) ab.
F i g. 1 zeigt ein schematisches Blockschaltbild einer
herkömmlichen Mikroprogramm-Steuerung.
In dieser Fig. 1 sind Mikrobefehle zum Bezeichnen der Art einer auszuführenden Steuerung, des Gegenstandes
der Steuerung, der Steuerungsprozedur usw. gemäß einer vorbestimmten Form in jeweiligen Adres-
sen eines Steuerspeichers 1 gespeichert. Die Adressen des Steuerspeichers 1 werden durch den Inhalt eines
Speicheradreßregisters 4 unter der Steuerung einer Speicheradreß-Steuerschaltung 3 bezeichnet und die
Mikrobefehle der vorbestimmten Adressen werden sequentiell zu einem Mikrobefeklsreghwc-r 2 ausgelesen.
Die auf diese Weise ausgelesenen Mikrobefehle werden in eine Serie von Steuersignalfolgen durch einen Dekodierer
5 vorbereitet, der den Betrieb und Zustand der Logikeinheit steuert. Der bezeichnete Teil einer näch-
sten Adresse wird in die Speicheradreß-Steuerschaltung 3 eingespeist, die die Adresse des Steuerspeichers 1 bestimmt,
auf die gemäß verschiedenen Bedingungen als nächste zuzugreifen ist. Um einen Sprung oder eine
Verzweigung zu jeder Routine in einem Programm zu
so bewirken, damit einige verschiedene Verarbeitungen mit gewissen Daten (beispielsweise Makrobefehlen) ablaufen,
wird ein Schritt benötigt, in dem die Daten (der Operationskode bzw. OP-Kode des Makrobefehls) für
eine Entscheidung ausgelesen werden. Dies bedingt ver-
schiedene Nachteile, die gewöhnlich durch die Steigerung in der Anzahl der Schritte verursacht werden, d. h.
durch eine Erhöhung der erforderlichen Steuerspeicherkapazität und eine Verringerung der Verarbeitungsgeschwindigkeit.
Die Firmendruckschrift der Fa. Advanced Micro Dcvices;
»Mikroprogramming Handbook«, 1976, Seiten
2_7, Fig.7, erläutert eine Mikroprogramm-Steuerung
der eingangs genannten Art, bei der in einem Mikroprozessor mittels nur eines Operationskodes aber nicht
zwei oder mehr Sprünge ausführbar sind.
Außerdem ist in der DE-OS 28 46 537 ebenfalls ein Mikroprozessor beschrieben, der zahlreiche Flip-Flops
zwischen einem Mikroprogrammspeicher und einem
Mikroprogramm-Steuerwerk aufweist, wobei diese Flip-Flops Adressen ändern und abhängig von Mikrobefehlen,
die im Mikroprogrammspeicher aufgezeichnet sind, ein- oder ausgeschaltet werden. Die Einstellungen
dieser Flip-Hops werden nämlich geändert und dann zusammen mit einem Operationskode eines Makroprogrammspeichers
als Adresse des Mikroprogrammspeichers verwendet. Die Flip-Flops sind dabei
durch Steuerunsinformationen gesteuert, die in einem bestimmten Feld des Operanden eines Mikrobefehls gespeichert
ist Bei diesem Aufbau ist es erforderlich, eine sehr komplizierte Software zur Steuerung der Flip-Flops
einzusetzen.
Dem Anmeldungsgegensiand liegt daher die Aufgabe
zugrunde, eine Mikroprogramm-Steuerung der eingangs genannten Art so zu verbessern, daß die Anzahl
der Mikroschritte für eine Makrobefehlsinterpretation und der Umfang des Mikroprogrammspeichers reduziert
werden.
Diese Aufgabe wird bei einer Mikroprogramm-Steuerung
nach dem Oberbegriff des Patentanspruches 1 erfindungsgemäß durch die in dessen kennzeichnenden
Teil enthaltenen Merkmale gelöst.
Vorteilhafte Weiterbildungen der Erfindung ergeben sich insbesondere aus den Patentansprüchen 2 bis 7.
Die Erfindung ermöglicht eine Mikroprogramm-Steuerung, die die obigen Probleme überwindet und bei
der eine Vielzahl von Mikroprogramm-Routinen einem Makrobefehl entspricht, bei der ein Index-Festspeicher
(ROM) die Anfangsadressen der jeweiligen Mikroprogramm-Routinen speichert, bei der Adressen erzeugt
werden, die aus dem Operationskode des Makrobefehls und einem Ausgangssignal eines Zählers bestehen, der
immer aufwärtszählt, wenn ein am Endschritt einer Routine eingefügter Sprungbefehl dekodiert wird, und
bei der auf den Index-Festspeicher zugegriffen wird, um Anfangsadressen der jeweiligen Mikroprogramm-Routinen
zu erzeugen.
Die Erfindung zeichnet sich dabei dadurch aus, daß nicht nur ein Befehlskode, sondern ein Ausgangssignal
vom Zähler als Adresse des Abbildungs-Festspeichers eingespeist wird, der zur Durchführung des Operationssprunges dient. Der Inhalt des Zählers wird mkrementiert,
sooft ein Operationssprung ausgeführt wird. Daher können nicht nur die Startadresse der ersten Mikroprogramm-Routine
entsprechend ehern Mikrobefehl, sondern auch die Startadressen der folgenden Mikroprogramm-Routinen
festgelegt werden. Wenn nun eine Mikroprogramm-Routine in einer Schleife aufgeführt
wird, dann ist der Zähler i.iittels der Verriegelungsschaltung
gesperrt, so daß die gleiche Adresse so oft ausgeführt werden kann, wie dies gewünscht ist.
Bei der erfindungsgemäßen Mikroprogramm-Steuerung können die Anfangs- oder Startadressen von einer
Vielzahl von Mikroprogramm-Routinen zum Ausführen eines Makrobefehls auf dem Niveau oder Pegel eines
Mikroprogrammes gespeichert werden, so daß die Mikroprogramm-Routinen nicht für einen Makrobefehl
zusammengruppiert werden müssen. Daher werden die im Mikroprogramm-Festspeicher gespeicherten jeweiligen
Mikroprogramm-Routinen nicht mehr als einmal vorbereitet. Somit genügt es, Basis- oder Grundmikroprogramm-Routinen
zu speichern und die Anfangsoder Startadresse jeder Mikroprogramm-Routine durch einen Mehrfachsprung (im folgenden als
MJUMP-Befehl bezeichnet) gemäß dem Verarbeitungsinhalt des Makrobefehls η bezeichnen.
Da weiterhin der MIUMP-Befehl nicht nur die Verzweigungsfunktion,
sondern auch die Logikoperationsfunktion (beispielsweise die Verzweigungsfunktion und
die Addierfunktion, die Verzweigungsfunktion und die Subtrahierfunktion usw.) aufweist, dann das Verarbei-
ten, das gewöhnlich zwei Schritte erfordert, in einem
Schritt durchgeführt werden. Somit kann die Anzahl der Mikroschritte merklich im Vergleich mit herkömmlichen
Systemen herabgesetzt werden.
Entsprechend kann die Speicherkapazität des Mikro-
programm-Festspeichers verringert werden, und die Verarbeitungsgeschwindigkeit kann ebenfalls erhöht
werden. Die Vorbereitung des Programms wird sehr einfach, da die Anfangsadressen der erforderlichen Mikroprogramm-Routinen
lediglich durch den JUMP-Befehl bezeichnet werden müssen.
Nachfolgend wird die Erfindung anhand der Zeichnung näher erläutert Es zeigt
F i g. 1 ein Blockschaltbild einer herkömmlichen Mikroprogramm-Steuerung,
Fig.2 ei» Blockschaltbild einer Mikroprogramm-Steuerung
nach einem Ausführungs":-.sspiel der Erfindung,
F i g. 3A und 3B Flußdiagramme, die die Operationen zum Dekodieren eines Makrobefehls und zum Durchführen
eines Sprunges (JUMP) zur entsprechenden Mikroprog. amm-Routine zeigen, wobei F i g. 3A den herkömmlichen
Fall und F i g. 3B den Fall des Ausführungsbeispiels der Erfindung betrifft,
F i g. 4 ein Flußdiagramm, das den Betrieb bei einem Ausführungsbeispiel der Erfindung erläutert, wenn ein Sprungbefehl in einer Mikroprogramm-Routine mit Schleifen verwendet wird, und
F i g. 4 ein Flußdiagramm, das den Betrieb bei einem Ausführungsbeispiel der Erfindung erläutert, wenn ein Sprungbefehl in einer Mikroprogramm-Routine mit Schleifen verwendet wird, und
F i g. 5A und 5B Formate von Mikrobefehlen, wobei F i g. 5A ein herkömmliches Format eines Mikrobefeh-
les und F i g. 5B ein Format eines Mikrobefehles nach
einem Ausführungsbeispiei der Erfindung ist.
F i g. 2 ist ein Blockschaltbild der Mikroprogramm-Steuerung
nach einem Ausführungsbeispiel der Erfindung. In dieser F i g. ist ein Binärzähler 11 für zwti Bits
dargestellt, der einen Takteingangsanschluß, einen Zählsperranschluß
und einen Löschanschluß aufweist. Das zum Takteingangsanschluß gespeiste Taktsignal ist ein
Ausgangssignal von einem (nicht gezeigten) Mikrobefehls-Dekodierer
und wird zum Takteingangsanschluß immer dann gespeist, wenn ein MJUMP-Befehl durch
den Dekodierer dekodiert wird. In den Zählsperranschluß wird ein Signal zum Sperren des Zählens gespeist,
wenn der MJUMP-Befehl in einer Routine mit Schleifen (hierauf wird weiter unten näher eingegangen)
verwendet wird. Wenn ein Löschsignal in den Löschanschluß eingespeist wird, dann wird der Inhalt des Binärzählers
11 rückgesetzt. Der Binarzähler 11 für zwei Bits
kann immer dann einen von vier Werten aus »00« bis »11« annehmen, wenn das Taktsignal eingespeist wird.
Dieser Wert wird die Adresse der oberen zwei Bits eines weiter unten näher zu erläuternden Abbildungs-Festspeichers
13. Außerdem ist eine Verriegelungsschaltung 12 mit acht Bits vorgesehen. Ein Anwenderoder
Benutzerbefehl (der als Makrobefehl zur Unter-
scheidung von einem Mikrobefehl bezeichnet wird) wird durch einen (nicht gezeigten) Makrobefehlsdekodierer
dekodiert, und dessen Operationskode -.vird in dieser Verriegelungsschaltung 12 synchron mit einem
Takt-B-Signal verriegelt. Das Takt-B-Signal wird vom Makrobefehl-Dekod:erer immer dann abgegeben, wenn
der Makrobefehl abgerufen wird. Dieses Takt-B-Signal zu einem Takteingangsanschluß der Verriegelungsschaltung 12 sowie zum 2-Bit-Binärzähler 11 gespeist,
um den Inhalt des Binärzählers ti zu löschen. Somit
wird der Inhalt des Binärzählers 11 immer dann riickgesetzt,
wenn der Makrobefehl abgerufen wird. Die Daten des 8-Bit-Ausgangssignales von der Verriegelungsschaltung
12 werden als die unteren acht Bits der Adreßinformation
des Abbildungs-Festspeichers 13 verwendet. Die Information, die insgesamt zehn Bits beträgt, die vom
Binärzähler 11 und von der 8-Bit-Verriegelungsschaltung 12 abgegeben werden, wird zum Abbildungs-Festspeicher
13 gespeist Der Abbildungs-Festspeicher 13 ist eine Mikroprogramm-ROM (ROM = Festspeicher)-Adreß-Tabelle,
die die Anfangsadressen der Mikroprogramm-Routinen speichert, die im Mikroprogramm-Festspeicher
1 gespeichert sind, der weiter unten näher beschrieben wird. Der Abbildungs-Festspeicher
13 gibt die Adreßinformation des Mikroprogramm-Festspeichers 1 von der entsprechenden Stelle
aufgrund der eingespeisten Adreßinformationen ab und speist diese zu einer Mikroprogramm-Folge-Steuereinrichtung
14. Die Mikroprogramm-Folge-Steuereinrichtung 14 steuert die Folge der Gruppen von Mikroprogrammen,
die im Mikroprogramm-Festspeicher 1 gespeichert sind. In diesem Ausführungsbeispiel verwendet
die Mikroprogramm-Folge-Steuereinrichtiing 14
den Baustein AM2911. Eine genaue Beschreibung des Bausteins AM2911 ist im Datenbuch »The AM29OO Family
Data Book« gegeben. Das ROM-Adress-Ausgangssignal von dieser Mikroprogramm-Folge-Steuereinrichtung
14 wird zum Mikroprogramm-Festspeicher 1 gespeist Der Mikroprogramm-Festspeicher 1 gibt einen
Mikrobefehl von der Stelle entsprechend der Eingangsadresse ab.
Die Betriebsweise dieses Ausführungsbeispiels der Erfindung wird im folgenden näher erläutert Die Übereinstimmung
oder Entsprechung zwischen dem Operationskode des Makrobefehls und dem Mikroprogramm-Routinen
liegt so vor oder ist so eingestellt, wie dies in der Tabelle weiter unten angegeben ist Somit wird angenommen,
daß drei Mikroprogramm-Routinen einem Makrobefehl entsprechen. Wenn der Operationskode
(OP-Kode) eines Makrobefehls den Wert »0« hat, wird zuerst eine Mikroprogramm-Routine A ausgeführt;
dann wird eine Mikroprogramm-Routine F ausgeführt Wenn der OP-Code den Wert »1« hat werden in ähnlicher
Weise eine Mikroprogramm-Routine B, eine Mikroprogramm-Routine D und eine Mikroprogramm-Routine
G in der angegebenen Reihenfolge ausgeführt
Makrobefehl-OP-Code | 1 | 2 | 3 | |
0 | B | C | C | |
Prozess 1 | A | D | D | E |
Prozess 2 | C | G | H | I |
Prozess 3 | F |
Wenn der OP-Kode den Wert »2« hat werden die Mikroprogramm-Routine C die Mikroprogramm-Routine
D und eine Mikroprogramm-Routine H in der angegebenen Reihenfolge durchgeführt Wenn der OP-Kode
des Makrobefehls den Wert »3« hat werden die Mikroprogramm-Routine C, eine Mikroprogramm-Routine
E und eine Mikroprogramm-Routine I in der angegebenen Reihenfolge durchgeführt Diese Operationen
sind durch FiuBdiagramme gezeigt F i g. 3A ist ein Flußdiagramm, das das herkömmliche Verarbeiten
angibt, und F i g. 3B ist ein Flußdiagramm, das das Verarbeiten
nach der erfindungsgemäßen Steuerung erläutert.
In einem Schritt 21 wird der Makrobefehl abgerufen und dessen OP-Kode wird dekodiert. In einem Schritt 22
wird dessen OP-Kode entschieden. Wenn er den Wert »0« hat, wird eine Mikroprogramm-Routine (A+ C + F)
einschließlich der oben erwähnten Mikroprogramm-Routinen A, C und F in einem Schritt 23 ausgeführt.
Wenn der OP-Kode nicht den Wert »0« hat, rückt das
ίο Verarbeiten zu einem Schritt 24 vor, um zu entscheiden,
ob der OP-Kode den Wert »I« hat oder nicht. Wenn der OP-Kode den Wert »1« hat, wird eine Mikroprogramm-Routine
(B+ D+ G) einschließlich der Mikroprogramm-Routinen B, D und G in einem Schritt 25 ausgeführt.
Wenn der OP-Kode nicht den Wert »1« hat, rückt das Verarbeiten zu einem Schritt 26 vor, um zu entscheiden,
ob der OP-Kode den Wert »2« hat oder nicht. Wenn der OP-Kode den Wert »2« hat, wird eine Mikroprogramm-Routine
(C+D + H) einschließlich der Mikroprogramm-Routinen C, D und H in einem Schritt 27
ausgeführt. Wenn der OP-Kode nicht den Wert »2« hat, rückt das Verarbeiten zu einem Schritt 28 vor, und eine
Mikroprogramm-Routine (C+E + I) einschließlich der Mikroprogramme C, E und I wird ausgeführt, wobei
angenommen wird, daß der OP-Kode den Wert »3« hat. Dagegen wird im folgenden das Verarbeiten nach der
erfindunssgemäßen Steuerung anhand der F i g. 3 erläutert
Zuerst wird ein Makrobefehl in einem Schritt 31 abgerufen. Zu dieser Zeit wird ein Taktsignal B über
eine Leitung 16 vom Dekodierer 5 erzeugt um zu einem Takt-Eingangsanschiuß der Verriegelungsschaltung 12
sowie zum Zähler 11 gespeist zu werden. Folglich wird
der OP-Kode des Makrobefehls in die Verriegelungsschaltung 12 von einem (nicht gezeigten) Speicherda-
tenregister aufgenommen, und der Zähler 11 wird gelöscht Somit wird eine aus dem Ausgangssignal des
Binärzählers 11 und der Verriegelungsschaltung 12 bestehende
Adresse zum Abbiidüfigs-Festspeiciicr 13 gespeist.
Der Abbildungs-Festspeicher 13 gibt dann die Adresse in den für den MJUMP-Befehl verwendeten
Mikroprogramm-Festspeicher 1 ein und speist diese Adresse zur Mikroprogramm-Folge-Steuereinrichtung
14. Dann wird der MJUMP-Befehl in einem Schritt 32 dekodiert Folglich speist der Dekodierer 5 ein Takt-A-Signal
zur Mikroprogramm-Folge-Steuereinrichtung 14. Somit wird das Ausgangssignal des Abbildungs-Festspeichers
13 in die Mikroprogramm-Folge-Steuereinrichtung 14 eingegeben, um eine nächste Adresse des
Mikroprogramm-Festspeichers 1 zu erzeugen. Auch
so wird der Ausgangsignahakt A des Dekodierers 5 an den
Binärzähler 11 abgegeben, so daß der Zähler 11 -vifwärts
zählt um die nächste Adresse des Abbildungs-Festspeichers 13 für den MJUMP-Befehl zu erzeugen.
Wenn gemäß diesem Ausführungsbeispiel der OP-Kode in der Tabelle den Wert »0« hat wird die Anfangsadresse
der Mikroprogramm-Routine A abgegeben. Wenn der OP-Kode den Wert »1« hat, wird die Anfangsadresse
der Mikroprogramm-Routine B abgegeben. Wenn der OP-Kode den Wert »2« oder »3« hat wird die Anfangsadresse
der Mikroprogramm-Routine C abgegeben. Somit führt der Mikroprogramm-Festspeicher 1
die Mikroprogramm-Routine A, wie dies im Schritt 33 gezeigt ist, wenn der OP-Kode den Wert »0« hat die
Mikroprogramm-Routine B, wie dies im Schritt 34 ge-
zeigt ist wenn der OP-Kode den Wert »1« hat, und die
Mikroprogramm-Routine C, wie dies im Schritt 35 gezeigt
ist wenn der OP-Kode den Wert »2« oder »3« hat durch. In den folgenden Schritten werden die Adressen
des Mikroprogramm-Festspeichers 1 erzeugt, und es erfolgt auf diese ein Zugriff unter der Steuerung der Mikroprogramm-Folge-Steuereinrichtung
14, und die entsprechenden Mikrobefehle werden aus dem Mikroprogramm-Festspeicher
1 zur Ausführung ausgelesen. Wenn, wie dies in den Schritten 36,37 und 38 gezeigt ist,
die M]UMP-Befehle,die als die letzten Schritte der Mikroprc^amm-Routinen
zum Durchführen von Verzweigungen zu den nächsten Mikroprogramm-Routinen enthalten sind, durch den Dekodierer 5 dekodiert
werden, erfolgt ein Zugriff auf den Mikrc ('irogramm-Festspeicher
1 durch die gleiche Prozedur, wie diese oben beschrieben wurde. Wie in den Schritten 39, 40
und 41 gezeigt ist, wird die Mikroprogramm-Routine C ausgeführt, wenn der OP-Kode den Wert »0« hat, das
Mikroprogramm D wird ausgeführt, wenn der OP-Kode den Wert »1« oder »2« besitzt, und die Mikroprogramm-Routine
E wird ausgeführt, wenn der OP-Kode
Was die Schritte in den Mikroprogramm-Routinen C, D und E anbelangt, so werden die Mikrobefehle in gleicher
Weise unter der Steuerung der Mikroprogramm-Folge-Steuereinrichtung 14 ausgeführt, und die
M]UMP-Befehle als die letzten Befehle werden abgerufen und dekodiert, wie dies in den Schritten 42,43 und 44
gezeigt ist. Somit wird, wie dies in den Schritten 45, 46, 47 und 48 gezeigt ist, die Mikroprogramm-Routine F
ausgeführt, wenn der OP-Kode den Wert »0« hat, die Mikroprogramm-Routine G wird ausgeführt, wenn der
OP-Kode den Wert »1« hat, die Mikroprogramm-Routine H '.ird ausgeführt, wenn der OP-Kode den Wert »2«
hat, und die Mikroprogramm-Routine I wird ausgeführt, wenn der OP-Kode den Wert »3« hat. Was die Schritte
in den Mikroprogramm-Routinen F, G, H und I anbelangt, so werden die Mikrobefehle in ähnlicher Weise
unter der Steuerung der Mikroprogramm-Folge-Steuereinrichtung 4 ausgeführt. Durch die allgemeinen
]UMP-Befehle, die in den letzten Schritten der Mikroprogramm-Routinen F, G, H und I enthalten sind, kehrt
die Verarbeitung zu einem Schritt 31 für ein Datenlesen zurück.
F i g. 4 zeigt einen Fall, in dem eine Anzahl von Sprüngen zur gleichen Adresse mit einer Mikroprogramm-Routine
mit Schleifen erfolgen muß. Da der Binärzähler 11 zu jeder Zeit zählt, wird der MJUMP-Befehl abgerufen
und dekodiert, wobei die Mikroprogramm-Steuerung einen Zähler für jede Schleife benötigt Es ist jedoch
ein MJUMP-Befehl (MJUMPE) enthalten, um das Zählen zu sperren. Wenn dieser Befehl abgerufen und
dekodiert wird, so wird ein Zählsperrsignal in den Eingang E des Binärzählers 11 eingespeist, um dessen Zähloperation
zu sperren. Aus diesem Grund wird die gleiche Adresse vom Abbildungs-Festspeicher 13 abgegeben,
und der Mikroprogramm-Festspeicher 1 liefert den gleichen Mikrobefehl.
In dem in F i g. 4 gezeigten Ausführungsbeispiel wird der Makrobefehl abgerufen und dekodiert, wie dies anhand
des Flußdiagrammes der F i g. 3B erläutert wurde. Ein Zugriff auf den Abbildungs-Festspeicher 13 erfolgt
mittels des OP-Kodes dieses Makrobefehles als die Adreß-Eingangsinformation, und die Adresse im Mikroprogramm-Festspeicher
1 wird von der entsprechenden Stelle abgegeben. Diese Adresse wird zum Mikroprogramm-Festspeicher
1 gespeist, und der Mikrobefehl (in diesem Fall der MJUMP-Befehl bzw. MJUMPE zum
Sperren der Zähloperation) wird aus der entsprechenden Stelle ausgelesen und ausgeführt (Schritt 52). Wenn
der OP-Kode des Makrobefehls beispielsweise den Wert »0« hat, wird eine UND-Operation im Schritt 53
ausgeführt. Eine ODER-Operation wird im Schritt 54 ausgeführt, wenn der OP-Kode de·' Wert »1« hat. Die
exklusive ODER-Operation wird im Schritt 55 ausgeführt,
wenn der OP-Kode den Wert »2« oder »3« hat. Der die Anzahl von Schleifen darstellende Zähler wird
um 1 in einem Schritt 56 vermindert, und es erfolgt in einem Schritt 57 eine Entscheidung, ob der Zähler den
Wert »0« bat oder nicht. Wenn der Zähler nicht den
ίο Wert »0« hat, kehrt das Programm zum Schritt 51 zum
Datenlesen zurück. Wenn der Zähler den Wert »0« hat, verläßt das Programm die Schleife und rückt zum nächsten
Schritt vor.
Die F i g. 5A und 5B zeigen die Formate der Mikrobefehle, wobei Fig.5A den JUMP- oder Sprungbefehl
(Mikrobefehl) gemäß dem Stand der Technik abgibt. Dieser Befehl besteht aus einem Operationskode (OP-Kode)-Teil
58 und aus einem Operandenteil 59. Der Operationskode entsprechend JUMP wird in den Operationskodeteil
53 eingeschrieben, und die die Sprungbestimmung anzeigende Adresse wird in den Operandenteil
59 eingeschrieben.
Was den in F i g. 5B gezeigten MJUMP-Befehl anbelangt, so werden Kodes für MJUMP und eine andere
Operation (beispielsweise MJUMP+ Addition) in einen Operationskodeteil 60 eingeschrieben, und ein Quellenregister
sowie ein Bestimmungsregister werden in einen Operanden A 61 bzw. in einen Operanden B 62 eingeschrieben.
Als Ergebnis ist der MJUMP-Befehl nicht nur zu einem Sprung (JUMP) zu einer anderen Mikroprogramm-Routine,
sondern auch zu verschiedenen Logikoperationen, wie beispielsweise einer Addition und einer
Subtraktion, mit dem Operanden A 61 und dem Operanden B 62 fähig.
Hierzu 4 Blatt Zeichnungen
Claims (1)
1. Mikroprogramm-Steuerung zum Ausführen von Makrobefehlen mit einer Vielzdd von Mikroprogramm-Routinen,
mit:
einem Mikroprogramm-Festspeicher (1) zum Speichern eines Mikroprogrammes,
einem Mikrobefehlsregister (2) zum Speichern von Mikrobefehlen, die vom MikropiOgramm-Festspeicher (1) abgegeben sind,
einem Mikrobefehlsregister (2) zum Speichern von Mikrobefehlen, die vom MikropiOgramm-Festspeicher (1) abgegeben sind,
einem Speicheradressenregister (4) zum Speichern einer Verzweigungsadresse unter den im Mikrobefehlsregister
(2) gespeicherten Mikrobefehlen, einer Speicheradreßsteuerschaltung (3) zum Einspeisen
einer Adresse in den Mikroprogramm-Festspeicher (1) aufgrund eines Ausgangssignales vom
Speicheradressenregister (4), und einem Dekodierer (5) zum Dekodieren eines Befehls,
der vom Mikrobefehlsregister (2) abgegeben ist, wobei die Speicheradreßsteuerschaltung (3) aufweist:
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5502180A JPS56152049A (en) | 1980-04-25 | 1980-04-25 | Microprogram control system |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3116385A1 DE3116385A1 (de) | 1982-03-04 |
DE3116385C2 true DE3116385C2 (de) | 1985-09-05 |
Family
ID=12987005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3116385A Expired DE3116385C2 (de) | 1980-04-25 | 1981-04-24 | Mikroprogramm-Steuerung |
Country Status (4)
Country | Link |
---|---|
US (1) | US4633390A (de) |
JP (1) | JPS56152049A (de) |
DE (1) | DE3116385C2 (de) |
GB (1) | GB2074766B (de) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8404480D0 (en) * | 1984-02-21 | 1984-03-28 | Int Computers Ltd | Microprogram control |
JPS62164133A (ja) * | 1986-01-16 | 1987-07-20 | Toshiba Corp | マイクロプログラム制御装置 |
US4812989A (en) * | 1986-10-15 | 1989-03-14 | Amdahl Corporation | Method for executing machine language instructions |
US4833599A (en) * | 1987-04-20 | 1989-05-23 | Multiflow Computer, Inc. | Hierarchical priority branch handling for parallel execution in a parallel processor |
JPH01169523A (ja) * | 1987-12-24 | 1989-07-04 | Canon Inc | 情報交換装置 |
DE68927313T2 (de) * | 1988-06-27 | 1997-05-07 | Digital Equipment Corp | Operandenspezifiererverarbeitung |
JPH0795269B2 (ja) * | 1988-11-04 | 1995-10-11 | 富士通株式会社 | 命令コードのデコード装置 |
US5333287A (en) * | 1988-12-21 | 1994-07-26 | International Business Machines Corporation | System for executing microinstruction routines by using hardware to calculate initialization parameters required therefore based upon processor status and control parameters |
US5089984A (en) * | 1989-05-15 | 1992-02-18 | Allen-Bradley Company, Inc. | Adaptive alarm controller changes multiple inputs to industrial controller in order for state word to conform with stored state word |
WO1999018485A2 (en) * | 1997-10-02 | 1999-04-15 | Koninklijke Philips Electronics N.V. | Variable instruction set computer |
DE69839913D1 (de) * | 1997-10-02 | 2008-10-02 | Koninkl Philips Electronics Nv | Datenverarbeitungsgerät zur verarbeitung von befeh |
US6334179B1 (en) * | 1998-09-23 | 2001-12-25 | Masaana Research Limited | DSP coprocessor having control flags mapped to a dual port section of memory for communicating with the host |
GB2345989A (en) * | 1999-01-23 | 2000-07-26 | Ibm | Executing defined sequences of prolog instructions. |
WO2007015258A1 (en) * | 2005-08-04 | 2007-02-08 | Kumar Bulusu Gopi | A microprocessor with a configurable control unit |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1192368A (en) * | 1966-07-11 | 1970-05-20 | Automatic Telephone & Elect | Improvements in or relating to Data Processing Devices |
US3736567A (en) * | 1971-09-08 | 1973-05-29 | Bunker Ramo | Program sequence control |
US3800293A (en) * | 1972-12-26 | 1974-03-26 | Ibm | Microprogram control subsystem |
US3990054A (en) * | 1974-11-05 | 1976-11-02 | Honeywell Inc. | Microprogram organization techniques |
US4001788A (en) * | 1975-03-26 | 1977-01-04 | Honeywell Information Systems, Inc. | Pathfinder microprogram control system |
JPS51144142A (en) * | 1975-06-06 | 1976-12-10 | Hitachi Ltd | Information processing |
US4047247A (en) * | 1976-04-07 | 1977-09-06 | Honeywell Information Systems Inc. | Address formation in a microprogrammed data processing system |
DE2617485C3 (de) * | 1976-04-22 | 1980-09-18 | Nixdorf Computer Ag, 4790 Paderborn | Schaltungsanordnung für Datenverarbeitungsanlagen zur Abarbeitung von Mikrobefehlsfolgen |
US4173041A (en) * | 1976-05-24 | 1979-10-30 | International Business Machines Corporation | Auxiliary microcontrol mechanism for increasing the number of different control actions in a microprogrammed digital data processor having microwords of fixed length |
JPS538034A (en) * | 1976-06-30 | 1978-01-25 | Toshiba Corp | Electronic computer |
JPS6029126B2 (ja) * | 1977-01-14 | 1985-07-09 | 株式会社日立製作所 | デ−タ処理装置 |
JPS53130943A (en) * | 1977-04-20 | 1978-11-15 | Fujitsu Ltd | Microprogram control system |
US4179737A (en) * | 1977-12-23 | 1979-12-18 | Burroughs Corporation | Means and methods for providing greater speed and flexibility of microinstruction sequencing |
US4245302A (en) * | 1978-10-10 | 1981-01-13 | Magnuson Computer Systems, Inc. | Computer and method for executing target instructions |
DE2846537C2 (de) * | 1978-10-26 | 1986-09-18 | Standard Elektrik Lorenz Ag, 7000 Stuttgart | Mikroprogrammierte Datenverarbeitungseinrichtung |
US4316244A (en) * | 1978-11-08 | 1982-02-16 | Data General Corporation | Memory apparatus for digital computer system |
JPS5588141A (en) * | 1978-12-27 | 1980-07-03 | Fujitsu Ltd | Microprogram control system |
US4266281A (en) * | 1979-04-02 | 1981-05-05 | Allen-Bradley Company | Microprogrammed programmable controller |
US4415969A (en) * | 1980-02-07 | 1983-11-15 | Intel Corporation | Macroinstruction translator unit for use in a microprocessor |
US4371925A (en) * | 1980-02-11 | 1983-02-01 | Data General Corporation | Data processing system having unique bus control operation |
-
1980
- 1980-04-25 JP JP5502180A patent/JPS56152049A/ja active Pending
-
1981
- 1981-04-16 US US06/254,762 patent/US4633390A/en not_active Expired - Fee Related
- 1981-04-24 DE DE3116385A patent/DE3116385C2/de not_active Expired
- 1981-04-27 GB GB8112909A patent/GB2074766B/en not_active Expired
Also Published As
Publication number | Publication date |
---|---|
GB2074766A (en) | 1981-11-04 |
JPS56152049A (en) | 1981-11-25 |
DE3116385A1 (de) | 1982-03-04 |
GB2074766B (en) | 1984-12-05 |
US4633390A (en) | 1986-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2555963C2 (de) | Einrichtung zur Funktionsmodifizierung | |
DE3116385C2 (de) | Mikroprogramm-Steuerung | |
DE2756890C2 (de) | Schaltungungsanordnung zur Steuerung der Datenübertragung zwischen einer zentralen Verarbeitungseinheit und einer Mehrzahl peripherer Einheiten | |
DE2715073C3 (de) | Mikroprogrammierte Rechner-Steuervorrichtung | |
DE2417795C2 (de) | Datenverarbeitungsanlage | |
DE2355993A1 (de) | Datenverarbeitungseinheit einschliesslich mikroprogramm-steuereinrichtung | |
DE2611892C2 (de) | Mikroprogramm-Steueranordnung | |
DE1499200B2 (de) | Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung | |
DE3126878A1 (de) | Adressen-steuerschaltung fuer mikroprozessoren | |
DE2431379A1 (de) | Datenverarbeitungseinrichtung | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
DE1774870C3 (de) | Einrichtung zur Adressierung einer Speicherzelle eines Speichers in einer Datenverarbeitungsanlage | |
DE3043653A1 (de) | Datenverarbeitungsanlage | |
DE2551741A1 (de) | Datenverarbeitungseinrichtung | |
DE2426874A1 (de) | Verfahren und schaltungsanordnung zur bestimmung der adressenart eines befehls | |
DE3441640A1 (de) | Streifenfeldspeichercontroller | |
DE2332971A1 (de) | Mikroprogrammsteuersystem | |
DE2064383B2 (de) | Datenverarbeitungsanlage mit mehreren zentralen Verarbeitungseinrichtungen | |
DE2759120C2 (de) | ||
DE3121046A1 (de) | Arithmetik-logikeinheit mit bit-manipulation | |
DE2906685A1 (de) | Instruktionsdecodierer | |
DE1499224C3 (de) | Datenverarbeitungsanlage mit Kellerspeichereinrichtungen | |
DE2556357A1 (de) | Adressiereinrichtung | |
DE2235883C3 (de) | Datenverarbeitungseinrichtung | |
DE2744252C2 (de) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8128 | New person/name/address of the agent |
Representative=s name: HENKEL, G., DR.PHIL. FEILER, L., DR.RER.NAT. HAENZ |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: KABUSHIKI KAISHA TOSHIBA, KAWASAKI, KANAGAWA, JP |
|
8339 | Ceased/non-payment of the annual fee |