DE2714681A1 - Mikroprogrammierter lsi-mikroprozessor - Google Patents
Mikroprogrammierter lsi-mikroprozessorInfo
- Publication number
- DE2714681A1 DE2714681A1 DE19772714681 DE2714681A DE2714681A1 DE 2714681 A1 DE2714681 A1 DE 2714681A1 DE 19772714681 DE19772714681 DE 19772714681 DE 2714681 A DE2714681 A DE 2714681A DE 2714681 A1 DE2714681 A1 DE 2714681A1
- Authority
- DE
- Germany
- Prior art keywords
- microinstruction
- memory
- register
- control signal
- microprogram
- 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.)
- Pending
Links
- 230000015654 memory Effects 0.000 claims description 58
- 238000009795 derivation Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 101150047356 dec-1 gene Proteins 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000001343 mnemonic effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/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/268—Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs
-
- 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
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)
Description
27U681
Tokyo Shibaura Electric Co., Ltd., Möhlstraße 37
D-8000 München 80 Kawasaki -ehi, Japan ^ 0QQ/9Q2Q85_S7
Telex: 0529802 hnkld Telegramme: ellipsoid
1. April 1977
Mikroprogranunierter IßI-Mikroprozessor
Die Erfindung betrifft einen mikroprogrammierten Mikroprozessor,
insbesondere einen nach Large Scäle-Integration (LSI) ausgebildeten,
nach einem Mikroprogramm gesteuerten Mikroprozessor.
Ein bekanntes Mikroprogramm-Steuerverfahren wird verbreitet als Rechner-Steuerverfahren angewandt. Beim mikroprogrammierten
Rechner wird der Mikrobefehl, der einen Befehl der Maschinensprache ersetzen kann, in Übereinstimmung mit dem entsprechend
jedem Makrobefehl vorgesehenen Mikroprogramm ausgeführt.
Das Mikroprogramm ist sequentiell mit einer Vielzahl von Mikrobefehlen bzw. -Instruktionen ausgebildet. Dieser Teil
des Mikroprogramms wird als "Mlkroroutine" bzw. "-teilprogramm"
bezeichnet. Den Mikrobefehlen wird jeweils ein entsprechender Operationskode gegeber., und sie werden entsprechend den betreffenden
Operationskodes voneinander unterschieden. Bei jedesmaliger Ausführung des Makrobefehls durch den Rechner
wird die Anfangsadresse eines bestimmten, dem Operationskode des Makrobefehls entsprechenden Mikroteilprogramms bestimmt,
709840/1CU6
-2-
27U681
wodurch die Operation der Verzweigung der Makrobefehlsoperation in die Anfangsadresse durchgeführt wird. Da hierbei eine
Dekodiertabelle für die '!bereinstimmung zwischen dem Operationskode
und der Anfangsadresse des Mikroteilprogramms erforderlich
ist, ist ein Speicher (DROM) zur Speicherung der Dekodiertabelle vorgesehen. Zudem ist ein Speicher (ROM)
vorgesehen, welcher die Mikroroutinen bzw. - teilprogramme speichert, die jeweils der betreffenden, aus der Dekodiertabelle
ausgelesenen Anfangsadresse zugeteilt sind. Weiterhin ist ein arithmetischer logischer Steuerabschnitt vorgesehen,
welcher die Operation zwischen den Speichern DROM und ROM steuert und das Mikroteilprogramm durchführt. Eine genauere
Erläuterung des mikroprogrammierten Prozessors mit DROM- und
ROM-Speicher findet sich in der US-PS 3 646 522. Wenn jedoch ein solcher mikroprogrammierter Prozessor als integrierter
Large Scale-Schaltkreis ausgebildet wird, wird üblicherweise
der arithmetische logische Steuerabschnitt als Baustein (package) ausgebildet und über Sammelschienen oder Vielfachleitungen
mit den DROM- und ROM-Speichern verbunden. Hierbei sind zwei Sammelschieneneinheiten aus jeweils einer Adressenschiene und
einer Datenschiene zwischen dem DROM-Speicher und dem arithmetischen
logischen Steuerabschnitt bzw. zwischen letzterem und dem ROM-Speicher erforderlich. Aus diesem Grund sind für
den LSI-Baustein dieses Steuerabschnitts zahlreiche Eingangs Ausgangsstifte
zum Anschließen der Sammelschienen nötig. Die Anordnung dieser großen Zahl von Eingangs/Ausgangsstiften am
LSI-Baustein führt nicht nur zu einer Erhöhung der Kosten für den Baustein und für den Anschluß (bonding), sondern bedingt
auch eine Vergrößerung der Abmessungen des Bausteins bei der Ausbildung des Steuerabschnitts als integrierter Large Scale-Schaltkreis
(LSI), so daß der Baustein eine größere Fläche auf der gedruckten Schaltung einnimmt und damit den Vorteil der
Ausbildung des Steuerabschnitts in Form eines solchen integrier-
709840/1046
-r-
ten Schaltkreises teilweise zunichte macht.
Aufgabe der Erfindung ist damit die Schaffung eines mikroprogrammler ten LSI-Mikroprozessors, der bei Ausbildung des arithmetischen logischen Steuerabschnitts als integrierter Large
Scale-Schaltkrels eine erhebliche Verringerung der Zahl von
Eingangs/Ausgangsstiften zuläßt.
Dieser Mikroprozessor soll dabei einen einfachen Schaltungsaufbau besitzen und eine flexible Benutzung der Rechneranlage
ermöglichen.
Diese Aufgabe wird bei einem mikroprogrammierten LSI-Mikroprozessor, bestehend aus einem Befehlsregister zur Speicherung
mindestens eines Operationskodes der Makroinstruktion, einem Dekodier-Mikroprogrammspelcher (DROM) zur Speicherung einer
Dekodiertabelle für den Makrobefehl-Operationskode und der Anfangsadresse eines Mikroteilprogramms eines entsprechenden
Mikroprogramms, einem Mikroprogrammspeicher (ROM) zur Speicherung eines Mikroprogramms, einem Befehlsfolgezähler oder -register
zur Speicherung der Adresse eines als nächstes auszuführenden Mikrobefehls, einem Mikrobefehlsregister zur Speicherung eines
aus dem Mikroprogrammspeicher ausgelesenen Mikrobefehls und einer arithmetischen logischen Einheit bzw. logischen Recheneinheit zur Ausführung des im Mikrobefehlsregister gespeicherten Mikrobefehls, erfindungsgemäß gelöst durch einen Speicher
zur Speicherung der Dekodiertabelle und eines Mikroprogramms,
durch einen Dekodierer zum Entschlüsseln des im Mikrobefehlsregister gespeicherten Mikrobefehls, durch eine erste Einrichtung zum Setzen des Befehlsfolgezählers unter der Voraussetzung,
daß der Operationskode des Speichers eine Adresse ist, und unter Bezugnahme auf die im Speicher gespeicherte Dekodiertabelle
sowie die Anfangsadresse des aus dem Speicher ausgelesenen
709840/1046
271A681
und dem Makrobefehl entsprechenden Mikroprogramms, und durch eine zweite Einrichtung, um dann, wenn der Inhalt des
Befehlsfolgezählers eine Adresse ist, unter Bezugnahme auf das im Speicher gespeicherte Mikroprogramm einen entsprechenden
Mikrobefehl aus dem Speicher auszulesen und diesen im Mikrobefehlsregister zu setzen.
Ein hauptsächliches Merkmal der Erfindung besteht in der Herabsetzung der Zahl von Eingang/Ausgang-Signalleitungen
zwischen dem arithmetischen logischen Steuerabschnitt und dem Speicher durch Ausnutzung (communizing) des Adressenraums
zwischen dem Dekodiertabellenspeicher und dem Mikroprogrammspeicher.
Im folgenden sind bevorzugte Ausführungsformen der Erfindung anhand der beigefügten Zeichnung näher erläutert. Es zeigen:
Fig. 1 ein systematisches Blockschaltbild eines mikroprogrammierten
LSI-Prozessors nach der Erfindung,
Fig. 2 ein Zeitsteuerdiagramm zur Erläuterung der Arbeitsweise des Prozessors gemäß Fig. 1 und
Fig. 3 ein systematisches Blockschaltbild einer abgewandelten
Ausführungsform des erfindungsgemäßen Prozessors
.
Fig. 1 zeigt einenmikroprogrammierten LSI-, d.h. als integrierter Large Scale-Schaltkreis ausgebildeten Mikroprozessor
gemäß einer Ausführungsform der Erfindung, bei welchem ein Speicher 11 ein Mikroprogrammspeicher (ROM) zur Speicherung
von Mikroprogrammen und einer Dekodiertabelle ist. Im Speicher sind die Mikroprogramme und Dekodiertabelleninhalte z.B. gemäß
folgender Tabelle gespeichert.
709840/1046
-5-
TAHELIE 1
27H681
Dekodier- | 001 | Daten | Etikett | Inhalt | |
Adresse | Tabelle \ | 002 | 3B5 | NÖP | DC NoPST |
/ ooo | 003 | 301 | AND | DC ANDST | |
004 | 306 | IÖR | DC IÖRST | ||
005 | 3OB | XÖR | DC XORST | ||
006 | 351 | ADD | DC ADDST | ||
007 | 36A | SUB | DC SUBST | ||
008 | 313 | INC | DC INCST | ||
009 | 319 | DEC | DC DECST | ||
0OA | 392 | LOAD | DC LÖADST | ||
0OB | 386 | STÖRE | DC STÖRST | ||
422 | MOVE | DC MÖVEST | |||
432 | HALT | DC |
Mikroprogramm
OFF
100 101 102 103
351
36A
386
ADDST SUBST STÖREST
709840/1046
-6-
27U681
Fortsetzung Tabelle 1
Adresse ^92
Daten
Mikroprogramm
Etikett LÖADST
NÖPST
Inhalt
FFF
Im Adressenraum des Speichers 11 sind mit der Dekodiertabelle
über "256" Worte entsprechend den hexadezimal angegebenen Adressen "000" bis "OFF" und mit den Mikroprogrammen an der
Adresse "100" bis "OFF" gespeichert. Die Überschrift "ADRESSE" gemäß Tabelle 1 gibt die Adressen im Speicher in hexadezimaler
Anzeige an. Dem Speicher 11 sind nämlich die Adressen "000" bis "FFF" zugeteilt. In der Dekodiertabelle gibt die "ADRESSE"
den Operationskode der Makrobefehle an. Dementsprechend gibt "ETIKETT" den mnemonischen Kode der betreffenden Makrobefehle
an, während die Spalte "INHALT" das im Mikroprogramm enthaltene Etikett der Anfangsadresse eines "Mikroteilprogramms"
der entsprechenden Makrobefehle und die entsprechende Spalte "DATEN" die Anfangaadresse des "Mikroteilprogramms" bedeuten.
Beispielsweise wird das "Mikroteilprogramm" eines LADE- oder LOAD-Makrobefehls, dessen Operationskode "08" ist, sequentiell
von der Anfangsadresse "392" aus im gleichen Speicher 11 gespeichert.
Demgemäß ist entsprechend der Adresse H008" im Speicher 11 die Anfangsadresse "392" des LOAD-Makrobefehls
in der Spalte "DATEN" aufgeführt bzw. enthalten.
-7-
709840/1046
27U681
Ein Befehlsregister 12 bildet ein Register zum Speichern von Makrobefehlen und dieses Register speichert mindestens ein
Operationskodefeld 1j5 des Makrobefehls. Bei der dargestellten
Ausführungsform sind dem Operationskode 256 Worte zugeordnet,
welche jeweils den Adressen an der Dekodiertabellenseite des Speichers 11 gemäß Tabelle 1 entsprechen. Ein ROM-Adressenregister
14 ist ein Befehlsfolgezähler zur Speicherung der Adressen von über eine Datenschiene I5 aus dem Speicher 11
auegelesenen Mikrobefehlen. Eine Wählschaltung 16 vermag eine der beiden folgenden Arten von Informationen bzw. Daten zu
wählen: 1. die im Befehlsregister 12 gespeicherte Operationskodefeld-13-Information
und 2. die im Adressenregister RAR enthaltene Adresseninformation. Diese Wählschaltung 16 umfaßt
eine herkömmliche Kombinationsschaltung aus UND-ODER-Gliedern 161 sowie einen noch zu beschreibenden Umsetzer 162 zum Umsetzen
oder Invertieren der Steuersignale. Die durch die Wählschaltung 16 gewählte Information bezeichnet eine bestimmte
Adresse des Speichers 11 über eine Adressenschiene 17.
Ein Mikroprogrammspeicher- bzw. ROM-Datenregister 18 stellt ein Mikrobefehlsregister dar, das unter einer Taktsteuerung,
bei welcher ein Stell- oder Setzimpuls an eine Setzklemme S angelegt wird, einen durchzuführenden, aus dem Speicher 11 ausgelesenen
Mikrobefehl speichert. Von dem im Register RDR 18 gespeicherten Mikrobefehl wird z.B. ein k-Bit-Operationskodefeld
durch einen Dekodierer 19 entschlüsselt, der ein bestimmtes Entschlüsselungssignal liefert. Wenn der im Register RDR
gespeicherte Mikrobefehl ein Dekodierbefehl ist, liefert der Dekodierer I9 ein Steuersignal C1 mit einem logischen Pegel "1".
Wenn der im Register RDR 18 gespeicherte Mikrobefehl dagegen ein anderer Befehl als ein Dekodierbefehl ist, liefert der
Dekodierer I9 ein Dekodiersignal D1. Wenn letzteres während
des Abrufzyklus des Makrobefehls einen logischen Pegel Μ1Μ #
-8-709840/1046
27H681
besitzt, d.h. wenn der Mikrobefehl ein Dekodiermikrobefehl
ist, verhindert eine Steuerschaltung 2o erstens das Setzen des über die Datenschiene bzw. Hauptleitung I5 aus dem
Speicher 11 ausgelesenen Inhalts in dem Register RDR 18, während
sie zweitens die Operation steuert, durch welche dieser Inhalt des Speichers 11 in das Adressenregister RAR 14 gesetzt
werden kann, und drittens die Befehlsoperation der Wählschaltung 16 dahingehend steuert, welcher Inhalt des Befehlsregisters
12 und des Adressenregisters RAR 14 gewählt werden soll. Die Steuerschaltung 2o weist ein erstes UND-Glied 2o1 zur
Ableitung eines logischen Produkts zwischen dem Steuersignal C1 und einem Taktimpuls sowie ein zweites UND-Glied zur Ableitung
eines logischen Produkts zwischen dem Ausgangssignal eines Umsetzers 2o2 zum Invertieren des Steuersignals C1 und einem
Taktimpuls auf. Das erste Steuersignal C1 wird an die Wählschaltung
16 angelegt, ein Steuersignal C2 vom ersten UND-Glied 2o1 wird an eine Stell- oder Setzklemme S des Register RAR 16
sowie an eine Lösch- oder Freigabeklemme CLR des Registers 18 angelegt, und ein Steuersignal C3 vom zweiten UND-Glied 2o}
wird einer Setzklemme S des Registers 18 aufgeprägt.
Im Register RDR 18 ist ein Dekodiermikrobefehl gespeichert. Wenn der Dekodierer I9 diesen Befehl feststellt und daraufhin
ein Steuersignal C1 mit dem logischen Pegel "1" erzeugt, besitzt
das Steuersignal C2 einen logischen Pegel "1" mit einer Taktsteuerung, mit welcher ein Taktimpuls an das erste UND-Glied 2o1
angelegt wird. Bei Erzeugung des Steuersignals C2 mit dem logischen Pegel "1" wird die aus dem ROM-Speicher 11 ausgelesene
Anfangsadresse des Ausführteilprogramms eines Mikroprogramms im Adressenregister RAR 14 gesetzt und gleichzeitig das Löschen
des im Register RDR gespeicherten Dekodiermikrobefehls veranlaßt. Infolgedessen wird während des Operationszyklus des
Makrobefehls keine Operation durchgeführt.
-9-709840/1046
27H681
Zu beachten ist, daß der Taktimpuls ein von einem nicht dargestellten
Impulsgenerator abgegebenes Signal ist, das als Zeitsteuer- bzw. Taktsignal dient, um die Zeitsteuerungen,
mit denen die beiden genannten Operationen gesteuert werden, gleich (same) zu machen. Eine arithmetische logische Einheit
bzw. logische Recheneinheit (ALU) 21 stellt eine an sich bekannte Schaltung dar, welche den im Register RDR 18 gespeicherten
Mikrobefehl der Ausführung einer arithmetischen Operation unterwirft und die eine logische Operationsschaltung,
eine Registerdatei usw. aufweist. Die Einheit ALU 21 nimmt ein Dekodiersignal D1 vom Dekodierer 19 ab und führt gleichzeitig
verschiedene arithmetische Operationen in Abhängigkeit von der Information vom Register RDR 18 durch.
Pig. 2 ist ein Zeitsteuerdlagramm für die Vorrichtung gemäß
Fig. 1. Das Makrobefehle benutzende Programm wird gemäß Pig. 2(a) mit abwechselnder Wiederholung des Befehlsabrufzyklus
und des Ausführzyklus durchgeführt. Erfindungsgemäß
wird dieser Befehlsabrufzyklus der Makrobefehle in Abhängigkeit vom Befehlsabrufteilprogramm eines Mikroprogramms durchgeführt,
während der Ablauf- oder Ausführ(ungs)zyklus gemäß Fig. 2(c)
entsprechend dem Ausführteilprogramm eines Mikroprogramms durchgeführt wird. Erfindungsgemäß ist nämlich das Abrufteilprogramm
ebenfalls im Speicher 11 gespeichert, wobei das Abrufteilprogramm und das Ausführteilprogramm abwechselnd
ausgeführt werden. An der letzteren Stufe des Abrufteilprogramms
wird gemäß Fig. 2(d) notwendigerweise der Dekodiermikrobefehl ausgeführt. Dies beruht auf der Weglassung des Dekodiermikroprogrammspeichers
gemäß einem kennzeichnenden Merkmal der Erfindung.
Im folgenden sei angenommen, daß ein als nächster auszuführender Makrobefehl, der gemäß dem Abrufteilprogramm ausgelesen worden
ist, aus einem Hauptspeicher (M.M.) zum Befehlsregister IR
709840/1046
-i o-
übertragen worden ist. Weiterhin sei angenommen, daß dieser Makrobefehl gemäß Pig. 2(b) ein LADE- bzw. LOAD-Befehl ist
und ein Befehlskode "08" im Operationskodefeld 1j5 gespeichert ist. An der Endstufe des Abrufteilprogramms wird dann gemäß
Fig. 2(d) der Dekodiermikrobefehl ausgeführt. Demzufolge
wird der Dekodiermikrobefehl gemäß Fig. 2(f) vorher im Register RDR 18 gespeichert. Da dieser Dekodiermikrobefehl
durch den Dekodierer I9 entschlüsselt wird, liefert letzterer ein Steuersignal C1 mit einem logischen Wert "1" gemäß Fig.
2(g). Wenn die Steuerschaltung 2o dieses Steuersignals C1 mit dem Pegel "1" mit einer Takt- oder Zeitsteuerung empfängt,
bei der sie einen Taktimpuls (Fig. 2(J)) erhält, liefert sie an ihrem ersten UND-Glied 2o1 ein Steuersignal C2 mit dem
logischen Pegel "1" gemäß Fig. 2(h). Zu diesem Zeitpunkt entspricht der logische Pegel des am zweiten UND-Glied 2o^ erzeugten
Steuersignals C]5 gemäß Fig. 2(i) einer 11O". Da der
logische Pegel des Steuersignals C1 "1" beträgt, wählt die
Wählschaltung 16 den Operationskode "08" des Befehlsregisters
IR 12, um diesen über die Adressenschiene 17 dem Speicher
zuzuführen und gemäß Tabelle 1 das Auslesen des dem Operationskode entsprechenden Inhalts "392" an der Adresse "008M aus
dem Speicher 11 zu veranlassen. Die aus dem Speicher 11 ausgelesene Dateneinheit 392 wird gemäß Flg. 2(e) über die Datenschiene
15 entsprechend dem Steuersignal C2 (Fig. 2(h)) im
Adressenregister RAR 14 gesetzt. Der Grund hierfür ist folgender: Da das Steuersignal CJ>
einen logischen Pegel "0" besitzt, wird die Dateneinheit 392 nicht im Register RDR 18 gesetzt.
Infolgedessen wird im Adressenregister RAR 15 die Anfangsadresse 392 des Ausführteilprogramms eines Makrobefehls "LADEN11
bzw. "LOAD" gemäß Tabelle 1 gespeichert. Zu diesem Zeitpunkt wird der im Register RDR 18 gespeicherte Dekodiermikrobefehl
gemäß Fig. 2(f) entsprechend dem Steuersignal C2 gelöscht. Danach führt die Vorrichtung gemäß Fig. 1 wie bei der üblichen
Mikroprogrammoperation das Mikroprogramm in Übereinstimmung
709840/1046
-11-
-y-
27U681
mit dem AusfUhrteilprogramm gemäß Fig. 2(c) durch. Wenn
nämlich die Ausführung des Dekodiermikrobefehls gemäß Fig. 2(d) abgeschlossen ist, wird gemäß Fig. 2(g) das Steuersignal C1
nicht erzeugt (d.h. das Signal C1 erhät den logischen Pegel
"0"). Demgemäß besitzt das Steuersignal C2 in der Steuerschaltung 2o den logischen Pegel "0", und das Steuersignal C3
besitzt den logischen Pegel "1" bei einer Zeitsteuerung, mit welcher es gemäß Fig. 2(i) mit dem Taktimpuls angelegt wird.
Da das Steuersignal C1 den Pegel "0" besitzt, liefert die Wählschaltung 16 den Inhalt 392 des Adressenregisters RAR 14
über die Adressenschiene 17 zum Speicher 11.Da das Steuersignal
C3 den Pegel "1" hat, wird die an der Adresse 392
aus dem Speicher 11 ausgelesene Dateneinheit (Mikrobefehl)
gemäß Fig. 2(f) über die Datenschiene I5 im Register RDR 18
gesetzt. Der im Register RDR 18 gespeicherte Mikrobefehl wird durch den Dekodierer I9 entschlüsselt und weiterhin durch
die Einheit AUJ 21 der Durchführung einer arithmetischen Operation unterworfen.
Nach Abschluß eines Ausführte!lprogramms entsprechend dem
Makrobefehl "LOAD" wird gemäß Fig. 2(c) erneut das Abrufteilprogramm
durchgeführt, und der nächste Makrobefehl, z.B. als ADD-Befehl "04% wird dem Befehlsregister IR 12 zugeführt. Das
Makroprogramm wird also wie bei der vorher beschriebenen MakroprogrammausfUhrung durchgeführt.
Fig. 3 zeigt eine abgewandelte Schaltkreisanordnung des
erfindungsgemäßen mikroprogrammierten ISI-Prozessors.
Bei dieser Anordnung ist das an der Ausgangsseite der Wählschaltung 16 angeordnete Adressenregister RAR 14 so ausgelegt,
daß der Inhalt des Operationekodefelte I3 einmal im Adressen-
-12-
709840/1046
27U681
register RAR 14 gespeichert und dessen Inhalt neu als
Adresse benutzt wird. Weiterhin sind dabei zwei Maschinenzyklen nötig, um den Inhalt des Operationskodefelds I5 zum
Register RAR 14 zu senden, und das Nachsehen der Tabelle des ROM-Speichers 11 erfolgt in Abhängigkeit vom Inhalt
(Adresse) des Registers RAR 14 zum Setzen der Anfangsadresse eines Mikroteilprogramms im Adressenregister RAR 14. Bei der
abgewandelten Anordnung werden daher die Dekodierbefehle in
zwei Typen eingeteilt, von denen der eine aus Mikrobefehlen DEC 1 und der andere aus Mikrobefehlen DEC 2 besteht; beide
Befehlstypen sind dabei so angeordnet, daß sie jeweils ihre speziellen Punktionen besitzen. Im Fall der Befehle DEC 1
wird vom Dekoder 19 ein neuer Steuersignaltyp C5 mit einem logischen Pegel "1" erzeugt. In Übereinstimmung mit dem
Steuersignal C5 wählt die Wählschaltung 16 den Inhalt des Operationskodefelds I) des Befehlsregisters IR 12, um diesen
dem Adressenregister RAR 15 einzugeben. Die Steuerschaltung
ist so ausgelegt, daß auch dann, wenn die Information des Operationskodefelds 13 bei Lieferung des Steuersignals C5
durch den Dekodierer I9 im Adressenregister RAR 14 gesetzt
werden kann, das Ausgangssignal des UND-Glieds 2o4 über ein ODER-Glied 2o5 an eine Setzklemme S des Registers RAR 14 angelegt
werden kann. Das Steuersignal C5 des ODER-Glieds 2o5 wirkt oder dient daher als Stell- oder Setzimpuls zur Einleitung
der Operation des Registers RAR 14. Demzufolge wird der Inhalt des Operationskodefelds I3 in Übereinstimmung mit einem
Steuersignal C6 im Register 14 gesetzt. Zu diesem Zeitpunkt wird im Datenregister RDR 18 ein als nächster auszuführender,
aus dem ROM-Speicher 11 ausgelesener Dekodiermikrobefehl
(Befehl DEC 2) gesetzt. Im Fall von Mikrobefehlen DEC 2 liefert der Dekodierer I9 das Steuersignal C1. Entsprechend dem Steuersignal
C1 wird die gemäß der Adresseninformation des Registers RAR 14 aus dem Speicher 11 ausgelesene Anfangsadresse des
Mikroteilprogramms über die Sammelschiene I5 und die Wählschal-
709840/1046 "1^-
27U681 4?
tung 16 im Register 14 gesetzt. Da das Register RDR 18 zu
diesem Zeitpunkt freigemacht ist, wird die Einheit ALU 21 in den Zustand "Keine Operation" versetzt.
Erfindungsgemäß ist der von einer gestrichelten Linie umrissene
arithmetische logische Steuerabschnitt als ein Baustein (package) eines integrierten Large Scale-Schaltkreises ausgeführt.
Hierdurch wird die Zahl von Eingangs Ausgangs Signalleitungen für diesen Abschnitt wesentlich verringert,
so daß die Fertigungskosten für die Ausbildung dieses Abschnitts als LSI-Schaltkreis gesenkt werden und die Wirtschaftlichkeit
der Herstellung dieses Abschnitts in Form eines LSI-Schaltkreises erhöht wird, während gleichzeitig
die Arbeitsweise bei dieser Ausbildung vereinfacht wird. Erfindungsgemäß können weiterhin die Dekodiertabelle und das
Mikroprogramm in einem Speicher gespeichert werden, und der resultierende Schaltungsaufbau kann einfach ausgebildet sein.
Im allgemeinen bestimmt sich die Speicherkapazität der Dekodiertabelle in Abhängigkeit von der Bitzahl des Operationskodefelds
des Makrobefehls. Erfindungsgemäß kann jedoch die Grenze zwischen der Adresse der Dekodiertabelle und der Adresse
des Mikroprogramms einfach geändert oder abgewandelt werden, so daß die Vorrichtung vielseitig verwendbar ist.
709840/1046
Le
erseite
Claims (1)
- Henkel, Kern, Feiler Cr Hanzel PatentanwälteMöhlstraße 37 Tokyo Shibaura Electric Co., Ltd., D-8000 München 80Kawasaki-shi, Japan Tel.: 089/982085-87Telex: 0529802 hnkld Telegramme: ellipsoid1. April 1977PATENTANSPRÜCHEMikroprogrammierter LSI-Mikroprozessor, bestehend aus einem Befehlsregister zur Speicherung mindestens eines Operationskodes der Makroinstruktion, einem Dekodier-Mikroprogrammspeicher (DROM) zur Speicherung einer Dekodiertabelle für den Makrobefehl-Operationskode und der Anfangsadresse eines Mikrotellprogramms eines entsprechenden Mikroprogramms, einem Mikroprogrammspeicher (ROM) zur Speicherung eines Mikroprogramms, einem Befehls folgezähler oder -register zur Speicherung der Adresse eines als nächstes auszuführenden Mikrobefehls, einem Mikrobefehlsregister zur Speicherung eines aus dem Mikroprogrammspeicher ausgelesenen Mikrobefehls und einer arithmetischen logischen Einheit bzw. logischen Recheneinheit zur Ausführung des im Mikrobefehlsregister gespeicherten Mikrobefehls, gekennzeichnet durch einen Speicher (11) zur Speicherung der Dekodiertabelle und eines Mikroprogramms, durch einen Dekodierer (19) zum Entschlüsseln des im Mikrobefehlsregister (18) gespeicherten Mikrobefehls, durch eine erste Einrichtung zumBi/eg 709840/1046 ORIGINAL INSPECTED27K681Setzen des Befehlsfolgezählers (14)unter der Voraussetzung, daß der Operationskode (Ο) des Speichers (11) eine Adresse ist, und unter Bezugnahme auf die im Speicher (11) gespeicherte Dekodiertabelle sowie die Anfangsadresse des aus dem Speicher (11) ausgelesenen und dem Makrobefehl entsprechenden Mikroprogramms, und durch eine zweite Einrichtung, um dann, wenn der Inhalt des Befehlsfolgezählers (14) eine Adresse ist, unter Bezugnahme auf das im Speicher (11) gespeicherte Mikroprogramm einen entsprechenden Mikrobefehl aus dem Speicher auszulesen und diesen im Mikrobefehlsregister (18) zu setzen.2. Mikroprozessor nach Anspruch 1, dadurch gekennzeichnet, daß die beiden genannten Einrichtungen eine Wähleinrichtung (16) zum Wählen einer Information eines Operationskodes (I3) aus dem Befehlsregister (12) und oder einer Anfangsadresseninformation des Mikroprogramms vom Speicher (11) und eine Steuerschaltung (2o) aufweisen, um eine erste Operation der Bezeichnung der Wahl der Wähleinrichtung bei Eingang eines Steuersignals (01, C5) vom Dekodierer und eine zweite Operation zu steuern, bei welcher im Befehlsfolgezähler (14), ohne Setzen oder Eingabe zum Mikrobefehlsregister (18), die Anfangsadresse des aus dem Speicher (11) ausgelesenen Mikroprogramms gesetzt wird.J). Mikroprozessor nach Anspruch 2, dadurch gekennzeichnet, daß die Wähleinrichtung (16) eine UND/ODER-Kombinationsschaltung (161) zum Wählen der Information des Operationskodes (I3) und /oder der Anfangsadresseninformation entsprechend dem logischen Pegel eines709840/127U681von der Steuerschaltung (2o) abgegebenen Steuersignals (C1) und einen Umsetzer (162) zum Invertieren des Steuersignals (01) aufweist.Mikroprozessor nach Anspruch 2, dadurch gekennzeichnet, daß die Steuerschaltung (2o) ein erstes UND-Glied (2o1) Bur Ableitung eines logischen Produkts zwischen dem Steuersignal (C1) vom Dekodierer (19) und einem Taktimpuls, der zur Gabe der Zeitsteuerungen verwendet wird, mit welchen die erste und die zweite Operation durchgeführt werden, und zur Erzeugung eines ersten Steuersignals (C2) für die Steuerung der ersten Operation, einen Umsetzer (2o2) zum Invertieren des Steuersignals (C1) des Dekodierers (19) und ein zweites UND-Glied (2o3) zur Lieferung eines logischen Produkts zwischen einem Ausgangssignal vom Umsetzer (2o2) und dem Taktimpuls sowie zur Erzeugung eines zweiten Steuersignals (C3) für die Steuerung der zweiten Operation aufweist.Mikroprozessor nach Anspruch 2, dadurch gekennzeichnet, daß die Steuerschaltung (2o) ein erstes UND-Glied (2o1) zur Ableitung eines logischen Produkts zwischen einem ersten Steuersignal (C1) vom Dekodierer (19) und einem Taktimpuls, der zur Gabe der ZeitSteuerungen verwendet wird, mit welchen die erste und die zweite Operation durchgeführt werden, und zur Erzeugung eines ersten Steuersignals (C2) für die Freimachung der ersten Operation, einen Umsetzer (2o2) zum Invertieren des Steuersignals (C1) des Dekodierers (19), ein zweites UND-Glied (2o}) zur Ableitung eines logischen Produkts zwischen einem Ausgangssignal von Umsetzer (2o2) und dem Taktimpuls sowie zur Erzeugung709840/1046eines zweiten Steuersignals (CJ), das als Setzimpuls für das Mikrobefehlsregister wirkt, ein drittes UND-Glied (2o4) zur Ableitung eines logischen Produkts zwischen einem zweiten Steuersignal (C5) vom Dekodierer (19) und dem Taktimpuls und ein ODER-Glied zur Ableitung einer logischen Summe zwischen einem Ausgangssignal des ersten UND-Glieds (2o1) und einem Ausgangssignal des dritten UND-Glieds (2o4) sowie zur Lieferung eines dritten Signals (C6), das als Setzimpuls für den Befehlsfolgezähler (14) wirkt, aufweist.6. Mikroprozessor nach Anspruch 1, dadurch gekennzeichnet, daß das Befehlsregister, der Befehlsfolgezfihler, das Mikrobefehlsregister, der Dekodierer, die logische Recheneinheit sowie die erste und die zweite Einrichtung in einem integrierten Large Scale-Schaltkreisbausteln verkörpert sind.7. Mikroprozessor nach Anspruch 1, dadurch gekennzeichnet, daß der Dekodierer (19) Steuersignale (CI, C5) zur Steuerung der ersten und der zweiten Einrichtung liefert, wobei der im Mikrobefehlsregister (18) gespeicherte Mikrobefehl ein Dekodiermikrobefehl ist.7098AO/1046
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3518876A JPS52119832A (en) | 1976-04-01 | 1976-04-01 | Electroinc calculator of microprogram control system |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2714681A1 true DE2714681A1 (de) | 1977-10-06 |
Family
ID=12434868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19772714681 Pending DE2714681A1 (de) | 1976-04-01 | 1977-04-01 | Mikroprogrammierter lsi-mikroprozessor |
Country Status (4)
Country | Link |
---|---|
US (1) | US4126896A (de) |
JP (1) | JPS52119832A (de) |
AU (1) | AU510503B2 (de) |
DE (1) | DE2714681A1 (de) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4462073A (en) * | 1978-11-08 | 1984-07-24 | Data General Corporation | Apparatus for fetching and decoding instructions |
US4415969A (en) * | 1980-02-07 | 1983-11-15 | Intel Corporation | Macroinstruction translator unit for use in a microprocessor |
NL8205076A (nl) * | 1982-12-31 | 1984-07-16 | Philips Nv | Data processor eenheid voorzien van een stuurgedeelte welk een adresgenerator bevat voor het genereren van adressen welke uit karakteristieke adresdelen zijn samengesteld. |
JPS61279931A (ja) * | 1985-06-06 | 1986-12-10 | Nec Corp | パラメータ解析方法 |
US5097407A (en) * | 1986-08-08 | 1992-03-17 | Integrated Inference Machines | Artificial intelligence processor |
FR2770659A1 (fr) * | 1997-10-31 | 1999-05-07 | Sgs Thomson Microelectronics | Processeur de traitement perfectionne |
JP2000251035A (ja) * | 1999-02-26 | 2000-09-14 | Hitachi Ltd | メモリカード |
US7599981B2 (en) * | 2001-02-21 | 2009-10-06 | Mips Technologies, Inc. | Binary polynomial multiplier |
US7162621B2 (en) * | 2001-02-21 | 2007-01-09 | Mips Technologies, Inc. | Virtual instruction expansion based on template and parameter selector information specifying sign-extension or concentration |
US7181484B2 (en) | 2001-02-21 | 2007-02-20 | Mips Technologies, Inc. | Extended-precision accumulation of multiplier output |
US7711763B2 (en) | 2001-02-21 | 2010-05-04 | Mips Technologies, Inc. | Microprocessor instructions for performing polynomial arithmetic operations |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3391394A (en) * | 1965-10-22 | 1968-07-02 | Ibm | Microprogram control for a data processing system |
US3958221A (en) * | 1973-06-07 | 1976-05-18 | Bunker Ramo Corporation | Method and apparatus for locating effective operand of an instruction |
US4004281A (en) * | 1974-10-30 | 1977-01-18 | Motorola, Inc. | Microprocessor chip register bus structure |
-
1976
- 1976-04-01 JP JP3518876A patent/JPS52119832A/ja active Pending
-
1977
- 1977-04-01 AU AU23853/77A patent/AU510503B2/en not_active Expired
- 1977-04-01 DE DE19772714681 patent/DE2714681A1/de active Pending
- 1977-04-01 US US05/783,637 patent/US4126896A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
AU2385377A (en) | 1978-10-05 |
JPS52119832A (en) | 1977-10-07 |
AU510503B2 (en) | 1980-06-26 |
US4126896A (en) | 1978-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3126878C2 (de) | Mikroprogramm-Steuerschaltung zum Ausführen eines aus einem Steuerspeicher in einem Quellenregister aufgenommenen Mikrobefehls | |
DE2555963C2 (de) | Einrichtung zur Funktionsmodifizierung | |
DE2417795C2 (de) | Datenverarbeitungsanlage | |
DE1774296B2 (de) | Restruktuierbare Steuereinheit für elektronische Digitalrechner | |
DE2355993B2 (de) | Programmierbare datenverarbeitungsanlage | |
DE1499722B1 (de) | Einrichtung zur modifizierung von informationswoertern | |
DE2744531A1 (de) | Elektronische datenverarbeitungsanlage | |
DE2113890A1 (de) | Datenverarbeitungssystem | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
DE2646162B2 (de) | Schaltungsanordnung zum Ersetzen fehlerhafter Informationen in Speicherplätzen eines nicht veränderbaren Speichers | |
DE2813128A1 (de) | Mikroprogrammspeicher | |
DE69119930T2 (de) | Vorrichtung zur Programmierung einer speicherprogrammierbaren Steuerung und Verfahren zum Gebrauch der Ablaufplantechnik | |
DE2540823C2 (de) | Elektronische Datenverarbeitungsanlage | |
DE2363846C2 (de) | Datenverarbeitungsanlage mit einer Schaltungsanordnung zur Steuerung des Datentransfers zwischen dem Hauptspeicher und mehreren peripheren Geräten | |
DE2152884C3 (de) | Schaltung zum Steuern eines für bidirektionales Drucken eingerichteten Druckers | |
DE2539211A1 (de) | Zugriffssteuereinheit | |
DE2714681A1 (de) | Mikroprogrammierter lsi-mikroprozessor | |
DE3013070C2 (de) | Schaltungsanordnung zur Bearbeitung von aus mehreren peripheren Geräten herangeführten Anforderungssignalen innerhalb einer datenverarbeitenden Einrichtung | |
DE1499190C3 (de) | Elektronische Datenverarbeitungsanlage | |
DE2753650C2 (de) | Zeithaltende Einrichtung mit einem Register zum Speichern von Zeitzähldaten | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE2759120C2 (de) | ||
DE2255252B2 (de) | Vorrichtung zur steuerung einer anzeigeeinheit | |
DE2720842A1 (de) | Daten-uebertragungssystem | |
DE2937777C2 (de) | Steuereinrichtung in einer elektronischen Datenverarbeitungsanlage zur Programmunterbrechung und für die Durchführung erzwungener Operationen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OHW | Rejection |