DE2846537A1 - Mikroprozessorsystem - Google Patents

Mikroprozessorsystem

Info

Publication number
DE2846537A1
DE2846537A1 DE19782846537 DE2846537A DE2846537A1 DE 2846537 A1 DE2846537 A1 DE 2846537A1 DE 19782846537 DE19782846537 DE 19782846537 DE 2846537 A DE2846537 A DE 2846537A DE 2846537 A1 DE2846537 A1 DE 2846537A1
Authority
DE
Germany
Prior art keywords
microprogram
commands
memory
microprocessor system
macro
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19782846537
Other languages
English (en)
Other versions
DE2846537C2 (de
Inventor
Hermann J Dipl Ing Golbach
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.)
Alcatel Lucent Deutschland AG
Original Assignee
Standard Elektrik Lorenz AG
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 Standard Elektrik Lorenz AG filed Critical Standard Elektrik Lorenz AG
Priority to DE19782846537 priority Critical patent/DE2846537C2/de
Priority to FR7926362A priority patent/FR2440030A1/fr
Publication of DE2846537A1 publication Critical patent/DE2846537A1/de
Application granted granted Critical
Publication of DE2846537C2 publication Critical patent/DE2846537C2/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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • 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

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)
  • Memory System Of A Hierarchy Structure (AREA)
  • Microcomputers (AREA)

Description

_ ~Z mm
H.J.Golbach - 5
Mikroprozessorsystem
Die Erfindung betrifft ein Mikroprozessorsystem mit einem aus einem Mikroprogrammspeicher und einem Mikroprogrammsteuerwerk bestehenden Steuerwerk, einem festverdrahteten Rechenwerk sowie einem Programmspeicher, die durch Adressen-Daten- und Steuerleitungen miteinander verbunden sind.
Ea handelt sich hierbei um ein mikroprogrammierbares Mikroprozessorsystem. Herkömmliche Mikroprozessoren weisen einen Zentralprozessor (CPU) auf, der aus einer festverdrahteten arithmetisch-logischen Einheit (ALU) und einem Steuerwerk, das ebenfalls festverdrahtet ist, bestehen. Die aus einem Programmspeicher ausgelesenen Arbeitsbefehle werden nach einem Funktions- und Zeitplan abgearbeitet, der durch das Steuerwerk bestimmt wird und von dem Hersteller des Mikroprozessorsystems, von vorn herein festgelegt ist. Der Benutzer des Mikroprozessors hat keine Möglichkeit, in den Ablauf der von dem Steuerwerk bestimmten Operationen einzugreifen.
Im Gegensatz hierzu weist das mikroprogrammierbare Mikroprozessorsystem ein nicht-festverdrahtetes Steuerwerk (CU) auf, über das der Benutzer den internen Arbeitsablauf des Mikroprozessorsystems selbst festlegen kann, und zwar mittels der sogenannten Mikroprogrammierung. Das Steuerwerk (CU) ist hier von der festverdrahteten (ALU) getrennt und enthält einen schnellen Speicher, den Mikroprogrammspeicher, und ein Mikroprogramm-Steuerwerk, auch als Sequenzer oder Nächstadressenlogik bezeichnet .
10.10.1978
Bk/Mr
03001 9/02Oi
H.J. Golbach - 5
Das vom Benutzer des Mikrorechners geschriebene Programm, dessen Befehle der Mikrorechner auszuführen hat, wird hier als Makroprogramm und dessen Befehle als Makrobefehle bezeichnet. Zum Ausführen eines Makrobefehls muß der Mikroprozessor jeweils bestimmte Operationen durchführen, die im mikroprogrammierbaren Rechner durch einzelne Befehle des Mikroprogramms, d.h. durch Mikrobefehle festgelegt werden. Jeder Makrobefehl wird in eine Folge von Mikrobefehlen zerlegt und durch Abarbeiten dieser Mikrobefehle ausgeführt. Damit ermöglicht es die Mikroprogrammierung dem Benutzer, die erforderlichen Makrobefehle nach Belieben zu bestimmen. Der Benutzer kann somit den Befehlsvorrat des Mikroprozessorsystems selbst festlegen.
Für die Codierung von Befehlen des Makroprograimns stehen im allgemeinen wegen dem beschränkten Platz in dem Programmspeicher nicht beliebig viele Bits zur Verfügung. Dies gilt insbesondere auch bei Verwendung höherer Programmiersprachen, bei denen einzelne Befehle aus einer Folge von Teilbefehlen bestehen können.
Der Erfindung liegt die Aufgabe zugrunde, den Platzbedarf in dem Programmspeicher zu verringern und gleichzeitig die Anzahl der in dem Mikroprozessorsystem zu verwendenden Makrobefehle zu erhöhen .
Diese Aufgabe wird erfindungsgemäß durch einen Mikroprozessor der eingangs genannten Art gelöst, bei dem zwischen dem Mikroprogrammspeicher und das Mikroprogrammsteuerwerk durch Signale des Mikroprogrammspeichers einstellbare Flip-Flops eingefügt sind, durch deren Stellung die Bedeutung der einzelnen Teilbefehle in Abhängigkeit von ihrer Reihenfolge innerhalb eines Makrobefehls festgelegt wird.
030019/0204
«1
H.J.Golbach - 5
Vorteilhafte Weiterbildungen der Erfindung sind in den neben- und untergeordneten Patentansprüchen 2 und 3 gekennzeichnet. Die Anzahl der in binärcodierter Form in dem Programmspeicher aufzunehmenden Befehle und damit der Befehlsvorrat eines Mikroprozessorsystems ist durch die Anzahl der zur Verfügung stehenden Bits begrenzt. Mit η möglichen Bits lassen sich maximal 2 Befehle codieren (mit .z.B. sechs Bits maximal 64 Teilbefehle). Erfindungsgemäß werden den η Bits der Teilbefehle weitere m Bits hinzugefügt und damit die maximale Anzahl von Makrobefehlen auf 2n+ra erhöht. Gleiche Bitmuster der 2 Teilbefehle haben dann je nach ihrer Stellung innerhalb einer Folge unterschiedliche Bedeutung.
Ein Ausführungsbeispiel der Erfindung wird nun anhand der Zeichnung im einzelnen erläutert. Es zeigen:
Fig.l ein erfindungsgemäßes Mikroprozessorsystem in Blockdiagrammdarstellung ,
Fig.2 ein Beispiel eines Makrobefehls und dessen Realisierung durch eine Folge von Teilbefehlen, deren Reihenfolge durch die Stellung von zwei Flip-Flops bestimmt wird und
Fig.3 ein Mikroprogrammspeicher des Mikroprozessorsystems nach Fig.l.
Ein Steuerwerk CU eines mikroprogrammierbaren Mikroprozessorsystems (Fig.l) enthält ein Mikroprogramm-Steuerwerk MCU, auch als Sequenzer oder Nächstadressenlogik bezeichnet, und einen Mikroprogrammspeicher MPS. Der Mikroprogrammspeicher MPS ist als ROM- oder als PROM-Baustein mit schnellem Zugriff ausgebildet, und er nimmt das Mikroprogramm auf. Das Mikroprogrammsteuerwerk MCU bestimmt die Adresse des jeweils nächsten
030019/0204
H.J. Golbach - 5
auszuführenden Mikroprogrammbefehls. Diese Adresse wird über die Adressenleitung ALI auf den Mikroprogrammspeicher MPS übertragen. Alle Adressen- und Befehlsleitungen des Mikroprozessorsystems sind als Mehrfachleitungen oder Busse ausgeführt, wie in der Zeichnung durch Schrägstriche angedeutet ist. Die jeweiligen Polgeadressen werden von dem Mikroprogrammspeicher MPS über eine Adressenleitung AL2 auf das Steuerwerk MCU übertragen. Der Teil des jeweils abzuarbeitenden Mikrobefehls, der die auszuführende MikroOperation oder Elementarfunktion steuert, wird über eine Mikrobefehlsleitung MBL auf eine arithmetisch-logische Einheit ALU übertragen. Außer dieser ALU kann das Mikroprozessorsystem weitere festverdrahtete Rechenschaltungen (Hardware) enthalten, die in der Zeichnung nicht dargestellt sind, deren Steuerung aber ebenfalls über die Mikrobefehlsleitung MBL erfolgt. Die arithmetisch-logische Einheit ALU ist durch eine Ausgangs -Datenleitung OL und eine Eingangs-Datenleitung IL mit einer in der Zeichnung nicht dargestellten Ein/Ausgabeeinheit verbunden, die das Mikroprozessorsystem mit seiner Peripherie verbindet.
Ein Programmspeicher PS enthält das von dem Mikroprozessorsystem oder Mikrorechner auszuführende (Makro) Programm. Die Befehle dieses Programms, die bei Verwendung einer höheren Programmiersprache aus Folgen von Teilbefehlen bestehen, werden über eine Befehlsleitung BL auf das Mikroprogramm-Steuerwerk MCU übertragen. Die Befehlsleitung BL weist eine dem Befehlsformat der Teilbefehle des Makroprogramms entsprechende Anzahl η von Einzelleitungen auf.
Zusätzliche Ausgänge -ZA des Mikroprogrammspeichers MPS sind durch eine Steuerleitung SL mit zusätzlichen Eingängen ZE des Mikroprogramm-Steuerwerks MCU verbunden. Diese
03 0 019/0204
H.J.Golbach - 5
Steuerleitung SL besteht aus m Einzelleitungen, von denen jede ein Flip-Flop FFl, ..., FFm enthält, über diese Einzel-Steuerleitungen werden zusätzliche Bits aus dem Mikroprogrammspeicher MPS übertragen, welche die einzelnen Flip-Flops FFl bis FFm stellen und damit die Bedeutung der Einzelbefehle innerhalb einer Befehlsfolge des Makroprogramms festlegen. Den η Bits des Makrobefehls werden somit weitere m Bits hinzugefügt, die maximale Anzahl von Makrobefehlen wird dadurch um den Faktor 2m erhöht, d.h. der Makrobefehlsvorrat wird erweitert. Bei den Beispielen gemäß Fig.2 und Fig.3 ist die Anzahl der Zusatzbits m=2.
Von der arithmetisch-logischen Einheit ALU führt eine Adressenleitung AL3 zu dem Makroprogrammspeicher PS, während eine die arithmetisch-logische Einheit ALU mit dem Makroprogranmspeicher PS verbindende Datenleitung DL den Austausch von Daten- und Steuerzeichen zwischen der ALU und dem PS ermöglicht.
Das aus Fig.2 ersichtliche Beispiel stellt die erfindungsgemäße Realisierung des folgenden Befehls dar: Addition einer basisrelativ adressierten Variablen IA zu einer direkt indiziert adressierten Variablen DX und Transfer des Ergebnisses in einen direkt adressierten Speicherplatz D des Datenspeichers. Auf der linken Spalte von Fig.2 ist die in einer höheren Programmiersprache geschriebene Anweisung ersichtlich. Diese Anweisung ist in der mittleren Spalte in eine Folge von Teilbefehlen zerlegt, die in binärcodierter Form in den Programmspeicher PS eingeschrieben sind. Die Teilbefehle steuern die von der arithemtisch-logischen Einheit ALU oder der sonstigen Hardware durchzuführenden Operationen. Auf der rechten Spalte von Fig.2 sind die die Stellung der Flip-Flops kennzeichnenden Zusatzbits ersichtlich. In diesem Beispiel werden zwei Zusatzbits verwendet, d.h. die Steuerleitung SL weist zwei Einzelleitungen auf, die ein
030019/0204
H.J.Golbach - 5
erstes Flip-Flop FFl bzw. ein zweites Flip-Flop FF2 enthalten.
Am Ende einer jeden zusammengehörenden Folge von Teilbefehlen werden die Flip-Flops, die die Zusatzbits aus dem Mikroprogramm speichern, welche die Erweiterung des Vorrates an Makrobefehlen bewirken, z.B. wieder auf den Wert "00" gesetzt. Damit ist der Bereich der Startadressen der nachfolgenden Makrobefehlsfolge eindeutig gekennzeichnet. Durch das dem ersten Makroteilbefehl entsprechende Mikroprogramm wird die erste Variable, die basisrelativ adressiert ist3 in ein internes Register R des Mikroprozessors geladen, und im Laufe dieses Mikroprogramms werden die Flip-Flops auf "01"- eingestellt. Die Startadresse für den zweiten (Makro) Teilbefehl ist nun in dem «Speicherteil zu finden, der durch die Bitkombination "01" bestimmt ist. Im nachfolgenden Mikroprogramm, das durch den zweiten Teilbefehl gestartet wird, wird dann die zweite Variable adressiert und die Flip-Flops auf "10" eingestellt. Damit ist der Bereich für die Startadresse des dritten Teilbefehls festgelegt, der die Addition der beiden Variablen, den Transfer des Ergebnisses nach R und das Einstellen der Flip-Flops auf "11" veranlaßt. Diese Zusatzbits "11" legen den Bereich für den Start des vierten zu dieser Teilbefehlsfolge gehörenden Mikroprogramms fest, durch das das Ergebnis der Addition aus dem internen Register R in den Datenspeicher transferiert und die Flip-Flops, da nun die Abarbeitung des Makrobefehls beendet ist, wieder auf "00" gesetzt werden.
Der aus Fig.3 ersichtliche Mikroprogrammspeicher MPS ist in vier Bereiche mit je 64 Wörtern aufgeteilt. Diese vier Bereiche werden durch die aus dem Mikroprogrammspeicher abgegebenen Zusatzbits gekennzeichnet, die Adressen innerhalb der einzelnen Bereiche durch den Adresscode des Makrobefehls.
030019/0204
Leerseite

Claims (1)

  1. STANDARD ELEKTRIK LORENZ
    AKTIENGESELLS CHAFT
    Stuttgart
    H.J.Golbach - 5
    P at ent ansprüche
    IJ Mikroprozessorsystem mit einem aus einem Mikroprogrammspeicher und einem Mikroprogrammsteuerwerk bestehenden Steuerwerk, einem festverdrahteten Rechenwerk sowie einem Programmspeicher, die durch Adressen-, Daten- und Steuerleitungen miteinander verbunden sind, dadurch gekennzeichnet,
    daß zwischen den Mikroprogrammspeicher (MPS) und das Mikroprogramms teuerwerk (MCU) durch Signale des Mikroprogrammspeichers (MPS) einstellbare Flip-Plops (FFl bis FFm) eingefügt sind, durch deren Stellung die Bedeutung der einzelnen Teilbefehle in Abhängigkeit von der Reihenfolge innerhalb eines Makrobefehls festgelegt wird.
    2. Mikroprozessorbefehl nach Anspruch 1,dadurch gekennzeichnet, daß zusätzliche Ausgänge (ZA) des Mikroprogrammspeichers (MPS) mit zusätzlichen Eingängen (ZE) des Mikroprogrammsteuerwerks (MCU) durch Steuerleitungen (SL) verbunden sind, in denen jeweils eines der Flip-Flops (FFl bis FFm) liegt.
    10.10.1978
    Bk/Mr
    030019/0204
    ORIGINAL INSPECTED
    H.J-Golbach - 5
    Verfahren zum Realisieren von aus mehreren Teilbefehlen vorgegebener Bitzahl bestehenden Makrobefehlen in einem Mikroprozessorsystem nach Anspruch 1 oder 2,dadurch gekennzeichnet, daß die Bitzahl der Teilbefehle durch Ausgangssignale des Mikroprogrammspeichers um zusätzliche Bits erweitert, dadurch die Anzahl der möglichen Teilbefehle vergrößert und durch diese zusätzlichen Bits die Bedeutung der aus dem Programmspeicher ausgelesenen Teilbefehle mit festgelegt wird.
    030019/0204
DE19782846537 1978-10-26 1978-10-26 Mikroprogrammierte Datenverarbeitungseinrichtung Expired DE2846537C2 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE19782846537 DE2846537C2 (de) 1978-10-26 1978-10-26 Mikroprogrammierte Datenverarbeitungseinrichtung
FR7926362A FR2440030A1 (fr) 1978-10-26 1979-10-24 Systeme programmable a microprocesseur

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19782846537 DE2846537C2 (de) 1978-10-26 1978-10-26 Mikroprogrammierte Datenverarbeitungseinrichtung

Publications (2)

Publication Number Publication Date
DE2846537A1 true DE2846537A1 (de) 1980-05-08
DE2846537C2 DE2846537C2 (de) 1986-09-18

Family

ID=6053115

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19782846537 Expired DE2846537C2 (de) 1978-10-26 1978-10-26 Mikroprogrammierte Datenverarbeitungseinrichtung

Country Status (2)

Country Link
DE (1) DE2846537C2 (de)
FR (1) FR2440030A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3121742A1 (de) * 1980-06-02 1982-02-11 Hitachi, Ltd., Tokyo Mikroprogrammsteuerverfahren und -einrichtung zu dessen durchfuehrung
DE3116385A1 (de) * 1980-04-25 1982-03-04 Tokyo Shibaura Denki K.K., Kawasaki, Kanagawa Mikroprogramm-steuerungssystem

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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.
JP2677719B2 (ja) * 1991-05-08 1997-11-17 富士通株式会社 情報処理装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1270305B (de) * 1964-04-04 1968-06-12 Ibm Mikroprogrammgesteuerte Datenverarbeitungsanlage

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3422404A (en) * 1966-02-23 1969-01-14 David E Ferguson Apparatus and method for decoding operation codes in digital computers

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1270305B (de) * 1964-04-04 1968-06-12 Ibm Mikroprogrammgesteuerte Datenverarbeitungsanlage

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3116385A1 (de) * 1980-04-25 1982-03-04 Tokyo Shibaura Denki K.K., Kawasaki, Kanagawa Mikroprogramm-steuerungssystem
US4633390A (en) * 1980-04-25 1986-12-30 Tokyo Shibaura Denki Kabushiki Kaisha Microprogram control system
DE3121742A1 (de) * 1980-06-02 1982-02-11 Hitachi, Ltd., Tokyo Mikroprogrammsteuerverfahren und -einrichtung zu dessen durchfuehrung

Also Published As

Publication number Publication date
DE2846537C2 (de) 1986-09-18
FR2440030A1 (fr) 1980-05-23

Similar Documents

Publication Publication Date Title
EP0764899B1 (de) Verfahren zum Konvertieren sich unterscheidender Datenformate
DE3587137T2 (de) Inhaltsadressierbarer speicher.
DE2813128C2 (de) Steuereinrichtung für Mikroprogrammspeicher
DE1931966C3 (de) Datenverarbeitungsanlage mit Assoziativspeichern
DE2524046C2 (de) Elektronische Datenverarbeitungsanlage
DE2912287C3 (de) Datenverarbeitungsanlage
DE3751540T2 (de) Verfahren und Vorrichtung zur Datenverarbeitung.
DE2055784A1 (de) Datenverarbeitungssystem
DE2540975A1 (de) Multi-mikro-prozessor-einheit
DE3741953A1 (de) Multiprozessorsystem und verfahren zur arbeitslastverteilung bei einem solchen
DE1269393B (de) Mikroprogramm-Steuerwerk
DE3856139T2 (de) Mikroprozessor
DE3121742C2 (de) Mikroprogramm-Steuereinrichtung
DE4334294C1 (de) Prozessor für Zeichenketten variabler Länge
DE2164793A1 (de) Verfahren und Datenverarbeitungsanlage zur Steuerung einer Vielzahl von Eingabe/ Ausgabe-Einheiten mittels eine Zentraleinheit
DE2718551C3 (de) Adressenumsetzer
DE2926322A1 (de) Speicher-subsystem
DE3689217T2 (de) Datenverarbeitungseinrichtung mit einer Schaltung zur Prüfung der Adressgrenzen in einem virtuellen Speicher.
DE68925376T2 (de) In Direktabbildung und in Bankabbildung wirksamer Informationsprozessor und Verfahren zum Schalten der Abbildungsschemas
DE69229424T2 (de) Adressengeneration in einer Datenverarbeitungseinheit
DE19628039B4 (de) Speicheradressen-Steuerschaltung
DE68928041T2 (de) Mikroprogrammgesteuerter Mikroprozessor mit Zeiger-Register und Zugriffsverfahren dafür
DE2830334A1 (de) Multipliziereinrichtung
DE2846537A1 (de) Mikroprozessorsystem
DE2425574A1 (de) Adressierung von zeichen in einem wortorientierten system eines rechenautomaten

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee