DE2714681A1 - Mikroprogrammierter lsi-mikroprozessor - Google Patents

Mikroprogrammierter lsi-mikroprozessor

Info

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
Application number
DE19772714681
Other languages
English (en)
Inventor
Isamu Yamazaki
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 DE2714681A1 publication Critical patent/DE2714681A1/de
Pending 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/262Arrangements for next microinstruction selection
    • G06F9/268Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs
    • 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

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

Henkel, Kern, Feiler £r Hänzel Patentanwälte
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)

  1. Henkel, Kern, Feiler Cr Hanzel Patentanwälte
    Möhlstraße 37 Tokyo Shibaura Electric Co., Ltd., D-8000 München 80
    Kawasaki-shi, Japan Tel.: 089/982085-87
    Telex: 0529802 hnkld Telegramme: ellipsoid
    1. April 1977
    PATENTANSPRÜCHE
    Mikroprogrammierter 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 zum
    Bi/eg 709840/1046 ORIGINAL INSPECTED
    27K681
    Setzen 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 eines
    709840/1
    27U681
    von 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 Erzeugung
    709840/1046
    eines 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
DE19772714681 1976-04-01 1977-04-01 Mikroprogrammierter lsi-mikroprozessor Pending DE2714681A1 (de)

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)

* Cited by examiner, † Cited by third party
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 メモリカード
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
US7599981B2 (en) * 2001-02-21 2009-10-06 Mips Technologies, Inc. Binary polynomial multiplier

Family Cites Families (3)

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

Also Published As

Publication number Publication date
JPS52119832A (en) 1977-10-07
AU510503B2 (en) 1980-06-26
AU2385377A (en) 1978-10-05
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
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE2417795C2 (de) Datenverarbeitungsanlage
DE1774296B2 (de) Restruktuierbare Steuereinheit für elektronische Digitalrechner
DE1499722B1 (de) Einrichtung zur modifizierung von informationswoertern
DE2355993B2 (de) Programmierbare datenverarbeitungsanlage
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
DE2646162B2 (de) Schaltungsanordnung zum Ersetzen fehlerhafter Informationen in Speicherplätzen eines nicht veränderbaren Speichers
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
DE1262641B (de) Mikroprogrammsteuerwerk
DE2753650C2 (de) Zeithaltende Einrichtung mit einem Register zum Speichern von Zeitzähldaten
DE1499191B2 (de) Elektronische einrichtung fuer eine datenverarbeitungsanlage
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
DE2242009C2 (de) Verfahren und Anordnung zum Erkennen, ob im Mikroprogramm einer Datenverarbeitungsanlage vorgesehene Verzweigungsoperationen ausgeführt werden
DE2744252C2 (de)

Legal Events

Date Code Title Description
OHW Rejection