DE3116385C2 - Mikroprogramm-Steuerung - Google Patents

Mikroprogramm-Steuerung

Info

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
Application number
DE3116385A
Other languages
English (en)
Other versions
DE3116385A1 (de
Inventor
Nobuyuki Oume Tokio/Tokyo Yoshida
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Tokyo Shibaura Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tokyo Shibaura Electric Co Ltd filed Critical Tokyo Shibaura Electric Co Ltd
Publication of DE3116385A1 publication Critical patent/DE3116385A1/de
Application granted granted Critical
Publication of DE3116385C2 publication Critical patent/DE3116385C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/261Microinstruction 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. 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
Tabelle
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)

Patentansprüche:
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 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:
DE3116385A 1980-04-25 1981-04-24 Mikroprogramm-Steuerung Expired DE3116385C2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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