DE2206810B1 - Steuerwerk fuer einen mikroprogrammspeicher - Google Patents

Steuerwerk fuer einen mikroprogrammspeicher

Info

Publication number
DE2206810B1
DE2206810B1 DE19722206810 DE2206810A DE2206810B1 DE 2206810 B1 DE2206810 B1 DE 2206810B1 DE 19722206810 DE19722206810 DE 19722206810 DE 2206810 A DE2206810 A DE 2206810A DE 2206810 B1 DE2206810 B1 DE 2206810B1
Authority
DE
Germany
Prior art keywords
microinstruction
execution
microprogram memory
microinstructions
control unit
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
DE19722206810
Other languages
English (en)
Other versions
DE2206810C2 (de
DE2206810A1 (de
Inventor
Erich 7750 Konstanz; Wolf Karl-Heinz 7751 Wallhausen Tuchscheerer
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.)
Licentia Patent Verwaltungs GmbH
Original Assignee
Licentia Patent Verwaltungs GmbH
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 Licentia Patent Verwaltungs GmbH filed Critical Licentia Patent Verwaltungs GmbH
Priority to DE19722206810 priority Critical patent/DE2206810C2/de
Publication of DE2206810B1 publication Critical patent/DE2206810B1/de
Publication of DE2206810A1 publication Critical patent/DE2206810A1/de
Application granted granted Critical
Publication of DE2206810C2 publication Critical patent/DE2206810C2/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/223Execution means for microinstructions irrespective of the microinstruction function, e.g. decoding of microinstructions and nanoinstructions; timing of microinstructions; programmable logic arrays; delays and fan-out problems

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)
  • Read Only Memory (AREA)

Description

  • In der Zeichnung ist schematisch ein Mikroprogrammspeicher 1 dargestellt, der in der angegebenen Weise zeilenweise organisiert ist. In jeder Zeile ist somit ein blikrobetehlswort gespeichert. das mindestens die auszuführende Operation und die Adresse des nachfolgend auszuführenden Mikrobefehls charakterisiert. In erfindungsgemäßer Weise ist diesem Nhkrnprogrammspeicher 1 eine zusätzliche Speichereinheit 2 zugeordnet. die für jedes Wort in spezieller Zuordnung für jeden Mikrobefehl eine Zeitangabe enthält. die die Ausführungszeit des entsprechenden Mikrobefehls kennzeichnet. In vorteilhafter Ausgestaltung der Erfindung ist der Mikroprogrammspeicher hinsichtlich seiner Speicherkapazität so erweitert. daß diese Zeitangaben selbst mit den Worten im Mikroprogrammspeicher abgespeichert sind. Im einfachsten Fall genügt zur Kennzeichnung von nn verschiedenen Zeitangaben eine 2-stellige Binärkombination. Entsprechend dem dargestellten Beispiel sei angenommen. daß 22 (n = 3) verschiedene Zeitangaben genügen. eine optimale Zeitausnutzung zu erreichen. Diese acht verschiedenen Zeitangaben seien durch die Binärkombinationen 000...LLL angegeben und in dieser Form jeweils zusammen mit dem entsprechenden Mikrobefehlswort eingespeichert.
  • Somit enthält ein im NIikroprogrammspeicher gespeichertes Wort zusätzlich zu den bekannten Angaben in Ausgestaltung der Erfindung eine binärcodierte dreistellige Zeitangabe. Der spezielle Code sei ein (it- #)-Dualcode.
  • Die einem NIikrobefehl zugeordnete Zeitangabe wird jeweils mit diesem parallel aus dem SsIikroprogrammspeicher 1 ausgelesen und einem Decodierer (oder Datenselelitor) 3 zur Auswertung zugeführt.
  • Dieser Decodierer 3 weist eine der Zahl verschiedener Zeitangaben entsprechende Anzahl von Eingängen auf. die jeweils mit einem Abgriff einer Verzögerungsschaltung 4 verbunden sind. Diese Verzögertingsschaltung hat dementsprechend ebenfalls eine der Zahl von Zeitangaben äquivalente Anzahl von Abgriffen. die in der Zeichnung mit den Buchstaben ci. . . h belegt sind. Der Decodierer 3 weist außerdem eir? der Zahl der Binärstellen (allgemein n) der Zeitangaben entsprechende Anzahl weiterer Eingänge auf.
  • Der Decodierer 3 besteht aus einer logischen Verknüpfungsschaltung. die entsprechend dem Beispiel einerseits drei Eingänge zur Aufnahme der binärcodierten Zeitangabe und andererseits acht Eingänge zur Durchschaltung des der Zeitangabe entsprechenden Abgriffs der Verzögerungsschaltung aufweist.
  • Diese insgesamt elf Signalleitungen werden so kom biniert. daß jeweils nur ein Abgriff der Verzögerungsschaltung 4 aktiviert ist.
  • Die Abgriffe der in der Zeichnung wiedergegebenen Verzögerungsschaltung seien so angeordnet. daß der Abgriff a der kürzesten Ausführungs- zeit und der Abgriff Ii der längsten Ausffihalllgszeit entspricht. Bei symmetrischem Aufbau der Verzögerungsschaltung entspricht die längste Ausführungszeit dem Achtfachen (allgemein 2n-fachen) der kürzesten Ausführungszeit.
  • Es sei angenommen, daß ein Mikrobefelil mit der codierten Zeitangabe 000 ausgelesen wird. Die Zeitangabe wird entschlüsselt und der entsprechende Abgriff a der Verzögerungsschaltung 4 durchgeschaltet. Dadurch ist der Anstoß des folgenden Mikrobefehls so festgelegt. daß der momentan ablaufende Mikrobefehl genau die benötigte Ausführungszeit zugewiesen erhält. Am Ausgang des Decodierers 3 erscheint ein Signal, das dem Steuereingang einer monostabilen Kippstufe 5 zugeführt wird. Diese ändert nun kurzzeitig ihren Zustand und gibt einen Impuls an die Verzögerungsschaltung 4 ab. Damit ist erreicht. daß dem Mikrobefehl genau die erforderliche Ausführungszeit zur Verfügung steht.
  • Verweist die Folgeadrese des hier angenommenen Mikrobefehls mit der Zeitangabe 000 auf einen Mikrobefehl mit der Zeitangabe L L L. so wird diese wiederum decodiert. Am Ausgang des Decodierers 3 erscheint ein Signal. das die monostabile Kippstufe 5 aktiviert. Der am Ausgang entstehende Impuls läuft nun bis zum Abgriff Ii durch die Verzögerungsschaltung und weist dem zugehörigen Mikrobefehl wiederum die zugehörige Ausführungszeit zu.
  • Der Ausgangsimpuls der monostabilen Kippstufe 5 wird jeweils auch einem Adreßregister 6 zugeleitet.
  • das dem Mikroprogrammspeicher 1 fest zugeordnet ist und entsprechend den Folgeadressen den zugehörigen Mikrobefehl anstößt.
  • Durch die erfindungsgemäße Zuordnung einer Zeitangabe zu den Mikrobefehlen wird somit erreicht. daß der Einsatz des jeweils folgenden Taktimpulses und damit der Anstoß des jeweils durch die Folgeadresse bestimmten Mikrobefehls zum genau richtigen Zeitpunkt erfolgt.
  • Wie schon erwähnt. lassen sich durch Zeitangaben mit n Bits Xn verschiedene Taktintervalle charakterisieren. wobei der Decodierer eine l-aus-nSelektion durchführt.
  • Der Vollständigkeit halber sei noch erwähnt, daß der Mikroprogrammspeicher 1 bei Arbeitsbeginn über einen Befehlsdecodierer 7 angestoßen wird. der über das Adreßregister 6 einen Makrobefehl und damit im allgemeinen den ersten Mikrobefehl dieses Makrobefehls zur .Ausführung bringt. Mit dem ersten ausgelesenen Mikrobefehl wird über die monostabile Kippstufe 5 auch die entsprechende Ausführungszeit bestimmt.
  • Mit der vorliegenden Erfindung ist eine einfache Möglichkeit gegeben. die Taktimpulse den jeweiligen Mikrobefehlen zeitlich optimal anzupassen.

Claims (5)

  1. Patentansprüche: 1. Steuerwerk für einen Mikrobefehle und deren Folgeadressen enthaltenden Mikroprogrammspeicher, bei dem jeder Mikrobefehl durch einen Taktimpuls zur Ausführung gebracht wird, dadurch gekennzeichnet, daß eine zusätzliche Speichereinheit (2) vorgesehen ist, in welcher den Mikrobefehlen fest zugeordnete Angaben über deren Ausführungszeiten abgespeichert sind, und daß eine Verzögerungsschaltung (4) mit einer der Anzahl der verschiedenen Zeitangaben entsprechenden Mehrzahl von diesen entsprechend wählbaren Ausgängen vorgesehen ist, die die Abgabe der Taktimpulse bestimmen.
  2. 2. Steuerwerk nach Anspruch 1, dadurch gekennzeichnet, daß zur Kennzeichnung von 2n verschiedenen Zeitangaben n-stellige Binärkombinationen abgespeichert sind.
  3. 3. Steuerwerk nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß der Mikroprogrammspeicher (1) und die zusätzliche Speichereinheit (2) eine Einheit bilden, indem die Kapazität des Mikroprogrammspeichers um den Umfang der Zeitangaben erweitert ist.
  4. 4. Steuerwerk nach Anspruch 1 oder 3, dadurch gekennzeichnet, daß ein Decodierer (3) vorgesehen ist, der die mit einem Mikrobefehl ausgelesene Zeitangabe entschlüsselt und den entsprechenden Ausgang der Verzögerungsschaltung (4) durchschaltet.
  5. 5. Steuerwerk nach Anspruch 1 oder 4, dadurch gekennzeichnet, daß eine monostabile Kippstufe (5) vorgesehen ist, die von der Verzögerungsschaltung (4) bzw. dem Decodierer (3) angesteuert wird und die Taktimpulse abgibt.
    Für die Steuerung elektronischer Rechenanlagen wurden unter dem Begriff Mikroprogrammierung Verfahren entwickelt, die die Ausführung einer Reihe komplizierter Operationen dadurch ermöglichen, daß man jeder dieser Operationen einen sogenannten Makrobefehl zuordnet, der seinerseits aus einer zeitlichen Folge einfacher Elementaroperationen, den sogenannten Mikrooperationen, aufgebaut ist.
    Die Ausführung der Operationen wird durch Rechenbefehle angestoßen, die sinngemäß Makro-bzw. Mikrobefehle genannt werden. Ein Makrobefehl enthält im allgemeinen eine Angabe über die auszuführende Operation und eine Angabe über den Ort, an dem die der Operation zu unterwerfenden Daten zu finden sind. Demgegenüber besteht ein Befehlswort eines Mikroprogrammspeichers aus mehreren Teilen, und zwar mindestens aus einer Steuerangabe, die die auszuführende Operation spezifiziert, und einer Folgeadresse, die angibt, welches Befehlswort nach Abarbeitung des aktuellen Mikrobefehls ausgelesen und abgearbeitet werden soll. Daneben können in bekannter Weise auch Konstanten, Sprungbefehle usw. im Befehlswort eines Mikroprogrammspeichers enthalten sein.
    Der Mikrobefehl, die Folgeadresse und gegebenen- falls die Konstanten und Sprungbefehle bilden somit in ihrer Gesamtheit ein Mikrobefehlswort, wie es im Mikroprogrammspeicher abgespeichert ist.
    Bei den bekannten Anordnungen werden die Makrobefehle bzw. die ihnen entsprechenden Folgen von Mikrobefehlsworten meist in Festwertspeichern abgespeichert, da diese einerseits ein sehr schnelles Lesen gestatten und andererseits ein einmal festgelegtes Mikroprogramm nicht mehr geändert werden muß.
    Die vorliegende Erfindung baut auf diesem Stand der Technik auf und betrifft ein Steuerwerk für einen Mikroprogrammspeicher mit abgespeicherten Mikrobefehlen und deren Folgeadressen, bei dem jeder Mikrobefehl durch einen Taktimpuls zur Ausführung gebracht wird.
    Wie bereits beschrieben, setzt sich ein Makrobefehl aus einer Mehrzahl von Mikrobefehlen zusammen, die ihrerseits je nach spezifizierter Mikrooperation eine unterschiedlich lange Ausführungszeit (Zykluszeit) bedingen. Bei bekannten Mikroprogrammspeichersteuerungen wird mit einem Taktgenerator gearbeitet, dessen Taktfolgefrequenz konstant ist. Diese Anordnungen haben den Nachteil, daß bei Ausführung von Mikrobefehlen, deren Zykluszeiten kürzer sind, als es der Taktfolgefrequenz entspricht, Totzeiten auftreten. Da es andererseits wenig sinnvoll ist, die Taktfolgefrequenzen der größten auftretenden Ausführungszeit eines Mikrobefehls anzupassen, müssen gegebenenfalls Kriterien ausgewertet werden, die solchen länger dauernden Mikrobefehlen einen doppelten oder gar mehrfachen Takt zuweisen.
    Als Beispiel für solche unterschiedliche Zeit beanspruchenden Mikrobefehle seien erwähnt ein Mikrobefehl, der einen Schiebeschritt in einem Register auslöst, und ein Mikrobefehl, der einen Vergleich der in zwei Registern gespeicherten Daten auslöst. Es ist leicht einzusehen, daß ein Mikrobefehl der letztgenannten Art eine längere Ausführungszeit benötigt als ein Mikrobefehl der erstgenannten Art.
    Die Aufgabe der Erfindung besteht darin, jedem Mikrobefehl entsprechend seiner durch die auszuführende Operation bedingten Ausführungszeit so anzusteuern, daß nach Ablauf der Ausführungszeiten jeweils der durch die Folgeadresse bestimmte nachfolgend auszuführende Mikrobefehl angestoßen wird.
    Damit entstehen keine Totzeiten, und die Arbeitsgeschwindigkeit einer vom Mikroprogrammspeicher angesteuerten Rechenanlage ist den Mikrobefehlsfolgen optimal angepaßt.
    Die der Erfindung zugrundeliegende Aufgabe wird dadurch gelöst, daß eine zusätzliche Speichereinheit vorgesehen ist, in welcher den Mikrobefehlen fest zugeordnete Angaben über deren Ausführungszeiten abgespeichert sind, und daß ei--e Verzögerungsschaltung mit einer der Anzahl der verschiedenen Zeitangaben entsprechenden Mehrzahl von diesen entsprechend wählbaren Ausgängen vorgesehen ist, die die Abgabe der Taktimpulse bestimmen.
    Ausgestaltungen der Erfindung ergeben sich aus den Unteransprüchen.
    Ein Ausführungsbeispiel der Erfindung wird unter Zugrundelegung der Zeichnung an Hand der nachfolgenden Beschreibung näher erläutert.
DE19722206810 1972-02-12 1972-02-12 Steuerwerk für einen Mikroprogrammspeicher Expired DE2206810C2 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19722206810 DE2206810C2 (de) 1972-02-12 1972-02-12 Steuerwerk für einen Mikroprogrammspeicher

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19722206810 DE2206810C2 (de) 1972-02-12 1972-02-12 Steuerwerk für einen Mikroprogrammspeicher

Publications (3)

Publication Number Publication Date
DE2206810B1 true DE2206810B1 (de) 1973-03-01
DE2206810A1 DE2206810A1 (de) 1973-03-01
DE2206810C2 DE2206810C2 (de) 1973-09-20

Family

ID=5835883

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19722206810 Expired DE2206810C2 (de) 1972-02-12 1972-02-12 Steuerwerk für einen Mikroprogrammspeicher

Country Status (1)

Country Link
DE (1) DE2206810C2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0048971A1 (de) * 1980-09-30 1982-04-07 Computer Gesellschaft Konstanz Mbh Schaltungsanordnung zur Ausführung von Mikrobefehlen mit unterschiedlich langen Ausführungszeiten

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3934466A1 (de) * 1989-10-16 1991-05-16 Andreas Raseghi Selbsttaktende zentrale verarbeitungseinheit bei rechnenden maschinen

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0048971A1 (de) * 1980-09-30 1982-04-07 Computer Gesellschaft Konstanz Mbh Schaltungsanordnung zur Ausführung von Mikrobefehlen mit unterschiedlich langen Ausführungszeiten

Also Published As

Publication number Publication date
DE2206810C2 (de) 1973-09-20
DE2206810A1 (de) 1973-03-01

Similar Documents

Publication Publication Date Title
DE2258460C3 (de) Programmierbare Steueranordnung für maschinelle Vorrichtungen
DE1901343C3 (de) Datenverarbeitungsanlage zur Ausführung von Mateirenrechnungen
DE2224389A1 (de) Speichersystem
DE1168128B (de) Umschluesselungsmatrix
DE2756890A1 (de) Datenverarbeitungssystem
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
DE2854782A1 (de) Datenverarbeitungssystem
DE2407598C3 (de) Vorrichtung zur automatischen Unterdrückung von in den Abtastbereich eines Zeichens hineinragenden Teilen
DE2213953C3 (de) Schaltungsanordnung zum Darstellen von Zeichen auf dem Bildschirm eines Sichtgerätes
DE2513059A1 (de) Zeichengenerator zur zeichendarstellung
DE2744321A1 (de) Bildschirmgeraet
DE2720842A1 (de) Daten-uebertragungssystem
DE2418921A1 (de) Vorrichtung und verfahren zum speichern und ausfuehren von mikroprogrammen in einem datenverarbeitungssystem
DE2206810B1 (de) Steuerwerk fuer einen mikroprogrammspeicher
DE2403669B2 (de) SpezialComputer
DE2618053C2 (de) Digitale Mustersteuereinrichtung für eine Nähmaschine
DE2355323A1 (de) Programmierbares steuergeraet
DE1250489B (de) I Schaltungsanordnung zur Einspei cherung von Leerstellen-Kennworten in einen assoziativen Speicher
DE1107432B (de) Elektronische Rechenmaschine
DE2264346A1 (de) Mehrstufiges selbstanpassendes decodiersystem fuer binaere mikrobefehle
DE3417816A1 (de) Programmierbares schaltnetz
DE2017879B2 (de) Speicheranordnung mit freiem Zugriff
DE2735874C2 (de)
DE2138982A1 (de) Digitalrechner
DE1774191C2 (de) Datenverarbeitungsanlage

Legal Events

Date Code Title Description
E77 Valid patent as to the heymanns-index 1977
EF Willingness to grant licences
8339 Ceased/non-payment of the annual fee