DE2363100A1 - Mikroprogramm-steuerwerk und verfahren zu seinem betrieb - Google Patents

Mikroprogramm-steuerwerk und verfahren zu seinem betrieb

Info

Publication number
DE2363100A1
DE2363100A1 DE2363100A DE2363100A DE2363100A1 DE 2363100 A1 DE2363100 A1 DE 2363100A1 DE 2363100 A DE2363100 A DE 2363100A DE 2363100 A DE2363100 A DE 2363100A DE 2363100 A1 DE2363100 A1 DE 2363100A1
Authority
DE
Germany
Prior art keywords
control
machine
microinstruction
memory
register
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
DE2363100A
Other languages
English (en)
Other versions
DE2363100B2 (de
DE2363100C3 (de
Inventor
Thomas Arthur Enger
Jun Charles Wesley Evans
Lance Herman Johnson
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2363100A1 publication Critical patent/DE2363100A1/de
Publication of DE2363100B2 publication Critical patent/DE2363100B2/de
Application granted granted Critical
Publication of DE2363100C3 publication Critical patent/DE2363100C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/264Microinstruction selection based on results of processing
    • G06F9/267Microinstruction selection based on results of processing by instruction selection on output of storage

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

liöbliiiger«, den 12. Dezember 1973 jo-bc
Anmelderin: International Business Machines
Corporation, Armonk, N. Y. 10 504
Amtliches Aktenzeichen: Neuanmeldung
Aktenzeichen der Anmelderin: PO 972 032
Mikroprogramm-Steuerwerk und Verfahren zu seinem Betrieb
Die Erfindung betrifft ein Mikroprogramm-Steuerwerk für eine Datenverarbeitungsanlage zum Steuern von Maschinenoperationen unter dem Einfluss von Maschinenzuständen und gespeicherten Maschinenbefehlen, sowie ein Verfahren zum Betrieb eines derartigen Mikroprogramm-Steuerwerks.
Ein grosser Teil aller in den letzten Jahren hergestellten Computer ist mit mikroprogrammierten Steuereinheiten ausgestattet, um die während der Ausführung eines Befehls von der zentralen Verarbeitungseinheit (CPU) durchzuführenden Operationen zu steuern. Unter Steuerung durch die mikroprogrammierte Steuereinheit werden die Befehle in Form einer Folge von elementaren Operationen ausgeführt, die während eines einzelnen Zyklus der Zentraleinheit stattfinden. Während jedes dieser Zyklen werden die elementaren Operationen unter Steuerung durch einenMikrobefehl ausgeführt, welcher aus der Steuereinheit entnommen wurde. Im allgemeinen können während eines einzelnen Zyklus der Zentraleinheit mehrere elementare Operationen durchgeführt werden, entweder parallel oder aufeinander folgend innerhalb des Zyklus. Jede elementare Operation wird durch eine sogenannte Mikro-Order gesteuert. Ein Mikrobefehl enthält daher eine Mehrzahl von Mikro-Ordern, deren jede innerhalb eines Zyklus der Zentraleinheit ausgeführt wird. Eine Folge von Mikrobefehlen, die eine gegebene Funktion ausführen, bildet ein Mikroprogramm.
409828/0996
Eine allgemeine Diskussion einer Mikroprogramm-Steuerung ist in einem Artikel von S. G. Tucker mit dem Titel "Microprogram Control for System /360" im IBM System Journal, Vol. 6, No. 4 1967, Seiten 222 bis 241, zu finden.
In den meisten mikroprogrammierten A.nlagen wird das sequentielle Ausführen von Mikrobefehlen dadurch erreicht, dass ein Teil eines jeden Mikrobefehls für' die A.ngabe der A.dresse des nächsten auszuführenden Mikrobefehls verwendet wird. Die nächste A.dresse wird dann zusammen mit Verzweigungsanweisungen dem Adressregister des Steuerspexchers zugeführt, um den nächsten auszuführenden Mikrobefehl auszwählen. Falls in einer derartigen A.nlage ein gegebener Mikrobefehl in mehreren verschiedenen Mikroprogrammen benötigt wird, muss der Befehl an mehreren verschiedenen Stellen innerhalb des Mikroprogramm-Steuerspeichers abgespeichert werden. Diese Redundanz führt zur unnötigen Vergrösserung der Steuereinheit.
Ein weiterer Faktor der die Grosse der Steuereinheit beeinflusst, ist die Dichte der Mikro-Ordern. In jedem Mikrobefehl sind verschiedene Felder für spezifische Klassen von Mikro-Ordern .vorgesehen. Falls innerhalb eines gegebenen Mikrobefehls eine oder mehrere der Mikro-Order-KLa s sen nicht benutzt werden, so enthalten die entsprechenden Felder keine für den Betrieb der Anlage sinnvolle Information. Ein besonderer Fall nachteiligen Verhaltens der bekannten Steuersysteme bezüglich der Adressierung und der Verzweiung liegt vor, wenn ein neuer Maschinenbefehl die Einleitung einer neuen Folge von Mikrobefehlen verlangt. Während der Ausführung eines bestimmten Maschinenbefehls müssen in der Regel eine Anzahl von Bedingungen
- 2 PO 972 032
409828/0996
erfüllt sein, bevor die Ausführung eines weiteren Maschinenbefehls begonnen werden kann. Am Ende eines Mikroprogramms muss ein bestimmter Mikrobefehl decodiert werden, der angibt, dass die Ausführung des betreffenden Maschinenbefehls vollständig ist, bevor der Operationscode des nächsten Befehls geprüft und zur Steuerung des Beginns der nächsten Mikrobefehl-Folge benutzt werden kann. Für diese Feststellung wird ein ganzer Maschinenzyklus benutzt, und der betreffende Mikrobefehl, der das Ende der Operation anzeigt, trägt wenig mehr zur Operation der Anlage bei.
Zusätzlich zum tatsächlichen Verlust eines Maschinenzyklus zum Zweck der Feststellung, ob die Ausführung eines bestimmten Maschinenbefehls abgeschlossen ist, ergibt sich ein weiterer Leerlauf, wenn der Operationscode des nächsten auszuführenden Befehls untersucht wird. Bei bekannten Anlagen wird wenigstens ein Teil des Operationsco.des benutzt, um die Adresse des ersten Mikrobefehls der zur A.usführung des Maschinenbefehls erforderlichen Folge zu bilden. Bei Benutzung dieser Technik ist es erforderlich, in jedem Mikrobefehl eine A.nzahl von binären Bitpositionen zu reservieren, die nur der Untersuchung des Operationscodes dienen, um eine 64-Weg-Verzweigung zu ermöglichen. Diese Bitpositionen sind in allen übrigen Mikrobefehlen vergeudet.
Die A.ufgabe der Erfindung besteht daher darin, die vorstehend genannten Nachteile zu vermeiden, indem Lösungen angegeben werden, die eine unnötige Vergrösserung der Steuereinheit, Verlust von Maschinenzyklen und Verschwendung von binären Bitpositionen vermeiden.
Gelöst wird diese Aufgabe für ein Mikroprogramm-Steuerwerk der eingangs genannten Art, durch einen ersten und einen zweiten Steuer-
PO 972 032 - 3 -
409828/0996
speicher zur Aufnahme von Mikrobefehlen, jedem der Speicher individuell zugeordnete Adressierer und Schalter für den Zugriff zu maschinensteuernden Mikrobefehlen, ein Steuerregister, das mit den Schaltern verbunden ist, um jedem von mehreren Arbeitszyklen des Steuerwerks zugeordnete Mikrobefehle zu empfangen und durch mit dem Steuerregister verbundene Wählmittel, die auf. die Ausgabe der Mikrobefehle ansprechen, um wenigstens einer der den Speichern zugeordneten Schalter zu schliessen, wobei die dem ersten Speicher zugeordneten Schalter eine Vorrichtung zum Signalisieren des letzten Steuerzyklus eines Maschinenbefehls aufweisen.
Die Erfindung betrifft ferner ein Verfahren zum Betrieb des genannten Mikroporgramm-Steuerwerks, welches dadurch gekennzeichnet ist, dass wenigstens ein Teil des Operationscodes eines auszuführenden Maschinenbefehls zum Adressieren des ersten Steuerspeichers benutzt wird, um aus dem Speicher einen Mikrobefehl auszulesen, dass die im Steuerregister gespeicherte nächste Adresse jedes Mikrobefehls benutzt wird, um bei jedem Maschinenzyklus gleichzeitig eine Mehrzahl von in dem zweiten Steuerspeicher enthaltenen Speichermoduln aufzurufen, deren Adressen im Steuerregister gespeichert sind, und dass bei der Vollendung eines Maschinenzyklus Verzweigungsanweisungen gemäss den Maschinenoperationen ermittelt werden, um einen Schalter am Ausgang eines der Speichermoduln für die Eingabe des nächst folgenden Mikrobefehls in das Steuerregister zu schliessen, wobei der Zugriff zum ersten Mikrobefehl eines Maschinenbefehls die Ausführung des letzten Mikro-,
PO 9-72-032 -4 -
409828/0996
O *3 £ 1^ 1 Π Π befehls des vorhergehenden Maschinenbefehls überlappen Kann.
Durch die Erfindung wird der Vorteil erzielt, daß einmal die Steuereinheit apparativ klein gehalten werden kann und.außerdem sowohl unnötige Maschinenzyklen, als auch Bitpositionen eingespart werden, die bisher vergeudet werden mußten.
Ein Ausführungsbeispiel der Erfindung wird anhand der Zeichnung im folgenden näher beschrieben.
Die Hauptaufgabe einer gespeicherten Mikroprogramm-Steuerung einer Datenverarbeitungsanlage ist die Bereitstellung von Steuersignalen (auf Leitungen 10) für den Betrieb der verschiedenen Datenwege innerhalb der Anlage. Bei jedem Maschinenzyklus wird ein Mikrobefehl in einem Steuerregister 11 gespeichert, dann decodiert, um verschiedene Steuerbefehle auf den Leitungen 10 zu ergeben. Die in das Steuerregister ,11 eingegebenen Mikrobefehle weisen mehrere binäre Datenfelder auf, darunter verschiedene Kontrollfelder 12, die einem Feld-Decodierer 13 zugeführt werden, um diejenigen Operationen zu bestimmen, die während des betreffenden Maschinenzyklus ablaufen sollen. Jeder Mikrobefehl enthält ferner eine Anzahl von binären Bits 14, welcher die nächste Adresse spezifizieren, die zum Auffinden eines weiteren Mikrobefehls aufgesucht werden muss. Ausserdem weist jeder Mikrobefehl ein Feld mit Bits 15 auf, welche die Steuerung der Verzweigungsoperationen für die ganze Anlage ausüben. Im Gegensatz zur bevorzugten Ausführungsform der vorliegenden Erfindung w?.rd in dem oben erwähnten Artikel von Tucker die Art und Weise diskutiert, in welcher die Bits 14 der nächsten Adresse in Uebereinstimmung
409828/0996
PO 9-72-032 - 5 -
ORIGINAL INSPECTED
mit der Verzweigungs-Steuerschaltung 16 verändert würden, entsprechend den über die Leitungen 17 gemeldeten Betriebsbedingungen der Anlage. Das heisst, dass vor Beginn des Zugriffs zu einem Speicher unter Benutzung der nächsten Adressbits 14 die Verzweigungsbedingungen festgestellt und zu den Adressbits 14 addiert werden müssen, bevor der Zugriff zum Mikrobefehl-Speicher eingeleitet werden kann, um den für die weitere Ausführung benötigten Mikrobefehl zu erhalten.
G3mäss der bevorzugten Ausführungsform der vorliegenden Erfindung ist die Speicherung der Mikrobefehle zwischen einem ersten Zyklus-Steuerspeicher 18 und einem zweiten Steuerspeicher 19 aufgeteilt. Jeder der Steuerspeicher 18 und 19 weist einen Adressierer auf, der mit 20 bzw. 21 bezeichnet ist. Der Adressierer nimmt binäre Information auf, welche decodiert ist, um Zugriff zu einem Mikrobefehl zu vermitteln.
Weiterhin weist der Steuerspeicher 19 der bevorzugten Ausführungsform der vorliegenden Erfindung eine Mehrzahl von Speichermoduln 22 bis 25 auf. Die Adressbits des Feldes 14 eines jeden Mikrobefehls, die dem Adressierer 21 zugeführt werden, veranlassen jeden der Speichermoduln einen Mikrobefehl über Leitungen 26 bis 29 an entsprechende Verknüpfungsglieder bis 33 auszugeben. Der Weg eines Mikrobefehls vom Speichermodul 25 zum Verknüpfungsglied 33 führt über einen Schalter 34 und ein ODER-Glied
PO 9-72-032 -£-
409828/0996
35, deren Funktionen im folgenden erläutert werden. Bei normalem Betrieb des Steuerspeichers 19 ist der Schalter 34 leitend.
Während der normalen Uebertragung von Mikrobefehlen in das Steuerregister 11 bei der Ausführung eines Maschinenbefehls leiten die Adressbits 14 den Zugriff zum Steuerspeicher 19 ein,um vier separate Mikrobefehle an die Verknüpfungsglieder 30 bis 33 zugeben. Es ist Aufgabe der bereits erwähnten Verzweigungsbits 15 und der Verzweigungs-Steuer schaltung 16, zusammen mit den auf den Leitungen 17 gemeldeten Betriebsbedingungen, die verschiedenen Verzweigungsbedingungen zu lösen und dabei eine der Verknüpfungsschaltungen 30 bis 33 mittels eines Signals auf einer der Leitungen 36 auszuwählen bzw. einzuschalten. In Abhängigkeit davon, über welche der Leitungen 36 das Signal gegeben wird, wird der Mikrobefehl für den nächsten Maschinenzyklus von einem der Verknüpfungsglieder 30 bis 33 über ein ODER-Glied 37 geliefert, was im Falle des Verknüpfungsgliedes 33 auch die Passage durch das ODER-Glied 35 und den Schalter 34 erfordert. Damit liegt eine erwünschte Eigenschaft des bevorzugten Ausführungsbeispiels der vorliegenden Erfindung verglichen mit dem oben erwähnten Artikel auf der Hand. " ■ ·
Während bei vorbekannten Anlagen Zugriff zu einem Steuerspeicher nur möglich war, wenn die Verzweigungsbedingungen bereits festlagen.
PO 9-72-032 - 7 _
409828/0996
ist unmittelbarer Zugriff möglich durch Benutzung der nächsten Adressbits 14 für einen der vier möglichen aufeinanderfolgenden MirkobefehJe. Zur gleichen Zeit, da die Adresse im Adressierer 21 decodiert und verschiedene Treiberleitungen eingeschaltet werden, um Zugriff zu den Mirkobefehlen im Steuerspeicher zu erhalten, werden die Kontrollfelder 12 im Decodierer 13 decodiert und über die Leitungen 10 Steuersignale abgegeben, um die Uebertragung von Daten innerhalb der Anlage zu veranlassen. Die Steuersignale auf den Leitungen 10 erzeugen verschiedene Zustände der Anlage, und die diesen entsprechenden Signale auf den Leitungen 17 müssen durch die Verzweigungs-Steuerschaltung 16 untersucht werden. Daher werden, wenn die vier Mikrobefehle an den Verknüpfungsschaltungen 30 bis 33 vorliegen, die Verzweigung sbedingungen ermittelt sein, und es wird eine geeignete Auswahl für den nächst folgenden Mikrobefehl getroffen worden sein. Die Grundzeit für jeden Maschinenzyklus, oder Zyklus des Mikrobefehl-Steuersystems wird durch Zyklusimpulse auf einer Leitung 38 bestimmt, welche den Verknüpfungsgliedern 30 bis 33 zugeführt werden.
Zusätzlich zu den Speichermoduln 22 bis 25 ist zum Erreichen einer kürzeren Zykluszeit bezüglich der Verzweigungs-Entscheidungen ein erster Zyklus-Steuer speicher 18 vorgesehen. Der Speicher 18 überträgt einen Mikrobefehl über einen Schalter 39, das ODER-Glied 35 sowie das ODER-Glied 37
PO 9-72-032 - 8 -
ί f*'1 6 1 'S ί Λ Λ ft P
4 u s ö i 4 i υ a ό b
zum Steuerregister 11 nur beim ersten Mikrobefehl-Zyklus eines Mikroporgrammablaufs für jeden auszuführenden Befehl·. Der Zugriff zum Mikrobefehl im ersten Zyklus-Steuerspeicher 18 erfolgt gleichzeitig mit der Ausführung des letzten Steuerzyklus des vorhergehenden Maschinenbefehls/ wobei der Mikrobefehl über den Schalter 39 auf ein Kabel 40 ausgegeben wird. Zur Zeit der Einleitung des nächst folgenden Maschinenzyklus über die Zyklus Steuerleitung 38 liefert der Schalter 39 den erforderlichen Mikrobefehl an das Steuerregister
In der,Datenverarbeitungsanlage, in welcher die vorliegende Erfindung zur Anwendung kommt, gibt es wenigstens zwei Register. 41 und 42, in denen wenigstens zwei aufeinanderfolgende Datenverarbeitungsbefehle gespeichert werden können. Während der Folge von Mikrobefehlen vom Steuerspeicher 19 zur Ausführung eines Maschinenbefehls, wird der in Ausführung begriffene Befehl in einem Befehlsregister 42 gespeichert. Zu einer bestimmten Zeit wird das Register 41, das als Befehls-Pufferspeicher bezeichnet ist, den als nächsten in der Folge des Maschinenprogramms auszuführenden.Befehl speichern.
Wie in vorbekannten Mikrobefehl-Steuersystemen wird der Operationscode eines auszuführenden Maschinenbefehls dazu benutzt, den Startpunkt einer Mikrobefehl-Folge zur Befehlsausführung festzulegen. In der bevor-
PO 9-72-032 - '9 -
40982 87 0996
zugten Ausführungsform der vorliegenden Erfindung werden die ersten sechs Bits des Operationscodes jedes Maschinenbefehls an den Adressierer 20 des ersten Zyklus-Steuerspeichers 18 übertragen. Mit der Benutzung von sechs Bits als Adressinformation weist der erste Zyklus-Steuerspeicher nur 64 adressierbare Stellen oder Mikrobefehle auf. Ein Operationscode kann bis zu 8 binäre Bits aufweisen/ die zu decodieren sind, um die von einem Maschinenbefehl auszuführende Operation zu definieren. Daher werden die 256 möglichen Kombinationen des Operationscodes in 64 Gruppen zu je 4 Operationscodes eingeteilt, wobei jede der 64 Gruppen einem der 64 Mikrobefehle im ersten Zyklus-Steuer speicher 18 zugeordnet ist. Die restlichen zwei Bits, d.h. die Bits 6 und 7 des Operationscodes werden vom Register 42 zur Verzweigungs-Steuerschaltung 16 übertragen. Diese zwei Bits identifizieren denjenigen der vier Operationscodes einer bestimmten Gruppe, der auszuführen ist, wobei über eine der Leitungen 36 die Auswahl des in der Reihenfolge zweiten Mikrobefehls aus den Speichermoduln 22 bis 25 erfolgt.
Nach dem bisher Gesagten ist es als grundlegend anzusehen, dass der Zugriff zum ersten Zyklus-Steuerspeicher 18 gleichzeitig mit dem Zugriff zum Steuerspeicher 19 erfolgt. Beim nächsten, durch den Zyklusimpuls auf der Steuerleitung 38 definierten Maschinenzyklus, der dem letzten
PO 9-72-032 - 10 -
409828/0996
Ausführungszyklus des Maschinenbefehls im Register 42 folgt, ist der zum Steuerregister 11 übertragene Mikrobefehl derjenige, der zum Einleiten der Ausführung des dann im Befehls-Pufferspeicher 41 ■ gespeicherten Maschinenbefehls erforderlich ist. In seiner Grundform weist der letzte Mikrobefehl irgendeiner Mikrobefehl-Folge im Steuerregister 11 ein Steuerfeld auf, welches durch den Decodierer 13 decodiert wird und welches über eine Leitung 44 signalisiert, dass dieser Mikrobefehl das Ende der Operation für diese Ausführungsfolge des Maschinenbefehls darstellt. Daher wird während der Ausführung dieses, letzten Mikrobefehls der Schalter 39 geschlossen und der Schalter 34 auf Grund eines Ausgangs Signa Is von einem Inverter 43 über eine Leitung 45 geöffnet, so dass der erste Zyklus-Mikrobefehl über das ODER-Glied 35 zum Verknüpfungsglied 33 übertragen werden kann. Bei dem unbedingten letzten Ausführungszyklus liefert die Verzweigung s-Steuerschaltung 16 ein Ausgangs.signal über die Steuerleitung 36 um das Verknüpfungsglied 33 einzuschalten, so dass beim Auftreten des Zyklus-Steuersignals auf der Leitung 38 über dss Verknüpfungsglied der erste Mikrobefehl in das Steuerregister 11 eingegeben wird.
Der Inverter 43 ist vorgesehen, um mittels eines Signals über die Leitung 45 den Schalter 34 leitend zu halten, so dass der auf der Leitung 38 eintreffende Zyklusimpuls den Inhalt des Speichermoduls 25 an das Verknüpfung s-
PO 9-72-032 - 11". -
409828/0998
glied 33 liefert, wo er durch ein Steuersignal auf der Leitung 36 durch die Verzweigungssteuerschaltung 16 ausgewählt werden kann. Bei einigen Mikrobefehlfolgen, wie beispielsweise bei der unten diskutierten Ausführung einer Gleitkomma-Operation kann die Ausführung eines bestimmten Mikrobefehls unter Umständen nicht der letzte Ausführungszyklus sein. Aus diesem Grund-sind im Steuerregister 11 bestimmte Mikrobefehle enthalten, die eine Bedingung für den letzten Operationszyklus angeben. Beim Beispiel der arithmetischen Gleitkomma-Operation kann es erforderlich sein, die Gleitkomma-Zahlen bei Vollendung der in Ausführung begriffenen arithmetischen Operation zu normalisieren. Das heisst, dass alle binären Nullen in den höchsten Stellen des Bruches einer Gleitkomma-Zahl entfernt werden müssen und dass deshalb die Brachzahl um eine bestimmte Anzahl von Stellen verschoben werden muss, bevor der Maschinenbefehl vollständig ausgeführt ist. In diesem Fall bestimmt das Verzweigungsfeld 15 des Mikrobefehls "Ende der Operation" beim letzten Zyklus der arithmetischen Operation, ob in den höchsten Stellen Nullen vorkommen oder nicht. Dieser Mikrobefehl "Ende der Operation" hat dann ein Feld 14 für die nächste Adresse, das einen Satz von vier Mikrobefehlen spezifiziert, von denen einer auszuführen ist, um die Normalisierungsprozedur einzueliten. Die Notwenigkeit zu Normalisieren wird auf einer der Steuerleitungen 36 durch Auswahl
PO 9-72-032 ■ - 12 -
Cj %.■ ΐ* Θ d, b / U d & ·9
eines der Verknüpfungsglieder 30, 31 oder 32 angegeben. Das Verknüpfungsglied 33 wird nicht ausgewählt, und daher wird der zuvor über den Schalter 39 zur Verfügung gestellte erste Mikrobefehl nicht in das Steuerregister 11 eingegeben.
Falls der letzte arithmetische Schritt von einem Mikrobefehl ausgeführt worden ist, der das Ende der Operation anzeigt, und die Verzweigungs-Steuerschaltung 16 bestimmt, dass eine Normalisierung nicht erforderlich ist, dann wird in Abwesenheit eines Verzweigungssignals über die Leitung 36 das Verknüpfungsglied 33 ausgewählt. Daraus ergibt sich, dass die kombinierte Operation des Codierers 13, der das Ende der Operation angibt, der Verzweigungs-Steuerschaltung und des Inverters 43 entweder die Auswahl des dem ersten Zyklus-Steuerspeicher 18 zugeordneten Schalters. 39 oder das Durchschalten der dem St euer speicher 19 zugeordneten Verknüpfungsglieder 30 bis 33 bzw, des Schalters 34 bewirkt. Die Uebertragung der Bits 14 der nächsten Adresse im Steuerregister 11 an den Adressierer 21 des Steuerspeichers 19 und die Uebertragung eines Teils der Operationscode-Bits des nächst folgenden Maschinenbefehls an den Adressierer 20 des Zyklus-Steuerspeichers 18 ermöglicht den gleichzeitigen Zugriff zu Mikrobefehlen im Steuer s pe ich er 19 zur Benutzung bei weiteren bedingten Programm schritten im Zusammenhang mit einem Befehl im Register 42, oder die Bereitstellung
PO 9-72-032 - 13 -
409828/0996
des ersten Mikrobefehls im Steuerregister 11 für den Start der Ausführung des nächst folgenden Befehls im Register 41.
Während normalerweise jeder aus dem Steuerspeicher 19 entnommene Mikrobefehl etwa 100 Bits umfasst, um alle für die Befehlsausführung notwendigen Steuerungen durchführen zu können, braucht der aus dem Zyklus-Steuerspeicher 18 entnommene Mikrobefehl nur eine Anzahl von Bits zu umfassen, die in das nächste Adressfeld 14 des Steuerregisters 11 eingesetzt werden. Eine typische Anzahl wäre 10 Bits. Ausserdem müssen möglicherweise gewisse grundsätzliche Zyklusfunktionen durch Bits im Steuerfeld 14 bezeichnet werden, und wenigstens soviel Verzweigungssteuerungs-Information im Feld 15, als nötig ist, um eine Vier-Weg-Verzweigung, basierend auf den restlichen Bits des Operations codes im Befehlsregister 41 ausführen zu können. Daraus ergibt sich, dass nicht nur erheblich weniger adressierbare Speicherstellen im Zyklus-Steuerspeicher 18 vorhanden sind, sondern auch dass jeder Mikrobefehl wesentlich weniger Stellen aufweisen muss, um die Steuerung des ersten Zyklus durchzufürhen. Darüber hinaus wird durch die vorliegende Erfindung vermieden, dass eine Anzahl Bits im Verzweigungsfeld 15 einer jeden Mikrobefehl-Speicherstelie in Steuerspeicher 19 vorgesehen werden muss, um in Uebereinstimmung mit den Bits 0 bis 5 eines Operationscodes eine 64-Weg-Verzweigung
PO 9-72-032 -Ii-
4 0 9 8 2 8/0996
durchzuführen. Es müssen also keine Bit-Positionen in jeder Mikrobefehl-Speicherstelle bereitgestellt werden, um diese Information aufzunehmen, die überhaupt nur beim letzten Mikrobefehl einer Folge benutzt wird, wodurch die Gesamtzahl der Bit-Positionen im Steuerspeicher 19 erheblich reduziert wird.
Ein grundlegendes Blockschaltbild für die Ausführung der vorliegenden Erfindung ist in der Zeichnung gezeigt. Die tatsächliche Ausführung kann viele verschiedene Formen annehmen und hängt von der verwendeten Schaltkreis-Technologie ab. Beispielsweise können die ODER-Glieder 35 und 37 durch einfaches Verbinden der Signalleitungen hergestellt werden. Die Verknüpfungsglieder 30 bis 33 und das ODER-Glied 37 können verteilt werden und im Zusammenhang mit jeder einzelnen Bit-Position des Steuerregisters 11 aufgebaut werden. Das heisst, jede Bit-Position des Registers 11 würde eine Verriegelungsschaltung für die Aufzeichnung des Bits sowie einen ihr zugeordneten Teil der Verknüpfungsglieder 30 bis 33 aufweisen, deren Ausgänge miteinander zu verbinden wären, um das CDER-Glied 37 zu bilden.
Es wurde eine Mikrobefehl-Steuerung beschrieben, bei welcher die Gesamtzahl der für die Speicherung von Mikrobefehlen zur Verfügung zu stellenden B it-Position en gegenüber vorbekannten Steuersystemen stark reduziert ist.
PO 9-72-032 -15-
4 09 828/0996
Ferner trägt die Erfindung dafür Sorge, dass beim Uebergang von der Ausführung des letzten Mikrobefehls eines Maschinenbefehls auf den Zugriff des ersten Mikrobefehls, der bei der nachfolgenden Ausführung eines weiteren Maschinenbefehls benötigt wird, keine Maschinenzyklen verloren gehen.
972 032
Ä99828/099

Claims (1)

  1. PATENTANSPRÜCHE
    /\j Mikroprogramm-Steuerwerk für eine Datenverarbeitungsanlage
    zum Steuern von Maschinenoperationen unter dem. Einfluss von Maschinenzuständen und gespeicherten Maschinenbefehlen, welche Maschinenbefehle wenigstens einen Operationscode umfassen, gekennzeichnet durch einen ersten und einen zweiten Steuer speicher (18, 19). zur Aufnahme von Mikrobefehlen, jedem der Speicher (18/ 19) individuell zugeordnete Adressierer (10, 21) und Schalter (30 bis 34, 39) für den Zugriff zu maschinensteuernden Mikrobefehlen, ein Steuerregister (11), das mit den Schaltern (30 bis 34, 39) verbunden ist, um jedem von mehreren Arbeitszyklen des Steuerwerks zugeordnete Mikrobefehle zu empfangen, und durch mit dem Steuerregister (11) verbundene Wählmittel (13, 16), die auf die Ausgabe der Mikrobefehle ansprechen, um wenigstens einen der den Speichern (18, 19) zugeordneten Schalter (30 bis 34, 39) zu schliessen, wobei die dem ersten Speicher (18) zugeordneten Schalter (34, 39) eine Vorrichtung (43) zum Signalisieren des letzten Steuerzyklus eines Maschenbefehls aufweisen.
    2. Steuerwerk nach Anspruch 1, dadurch gekennzeichnet, daß
    der zweite Steuer speicher (19) eine Mehrzahl von Speichermoduln (22 bis 25) aufweist, die von dem Adressierer (21) veranlasst werden, Zugriff zu einem Mikrobefehl zu vermitteln, dass die Schalter (30 bis 34) des zweiten Steuer speichere (19) Verknüpfungsglieder (30 bis 33) aufweisen, die jeweils einen der Speichermoduln (22 bis 25) mit dem Steuerregister (11) verbinden, dass die Wählmittel (13, 16) eine Verzweigungs-Steuerschaltung (16)
    PO 972 032 - 17 -
    40982 8/0996
    umfassen, die auf Verzweigungsanweisungen in jedem der Mikrobefehle im Steuerregister (11) und auf die Maschinenzustände anspricht, um wenigstens einen der Schalter (30 bis 34, 39) zu schliessen.
    3. Steuerwerk nach Anspruch 1 und/oder 2, dadurch gekennzeichnet, dass zwei Maschinenbefehls-Register (41, 42) vorgesehen sind, in deren einem (42) der jeweils in Ausführung begriffene Maschinenbefehl steht, und in deren anderem (41) der nächste, auszuführende Maschinenbefehl steht, und dass das eine Register (42) mit der Verzweigungs-Steuerschaltung (16) und das andere Register (41) mit dem A.dressierer (20) des ersten Steuer Speichers (18) verbunden ist.
    4. Verfahren zum Betrieb des Mikroprogramm-Steuerwerks nach Anspruch 1, dadurch gekennzeichnet, dass wenigstens ein Teil des Operations code s eines auszuführenden Maschinenbefehls zum Adressieren des ersten Steuerspeichers (18) benutzt wird, um aus dem Speicher (18) einen Mikrobefehl auszulesen, dass die im Steuerregister (11) gespeicherte nächste A.dresse jedes Mikrobefehls benutzt wird, um bei jedem Maschinenzyklus gleichzeitig eine Mehrzahl von in dem zweiten Steuerspeicher (19) enthaltenen Speichermoduln (22 bis 25) aufzurufen, deren Adressen im Steuerregister (11) gespeichert sind, und dass bei der Vollendung eines Maschinenzyklus Verzweigungsanweisungen gemäss den Maschinenop erationen ermittelt werden, um einen Schalter (30 bis 33) am A.usgang eines der Speichermoduln (22 bis 25) für die Eingabe des nächstfolgenden Mikrobefehls in das Steuerregister (11) zu schliessen, wobei der Zugriff zum ersten Mikrobefehl eines Maschinenbefehls die Ausführung des letzten Mikrobefehls des vorhergehenden Maschinenbefehls überlappen kann.
    PO 972 032 - 18 -
    A0 9828/0996
    5_ Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass
    wenigstens ein Teil des Operationscodes eines in Ausführung begriffenen Maschinenbefehls aus einem Maschinenbefehlsregister (42) in die Wählrnittel (16) übertragen wird, um durch diese einen der dem zweiten Steuer speicher (19) zugeordneten Schalter (30 bis 33) zum Auslesen des nächsten Mikrobefehls eines jeden Maschinenbefehls aus einem der Speichermoduln (22 bis 25) zu veranlassen.
    6. Verfahren nach Anspruch 4 und/oder 5, dadurch gekennzeichnet, dass in tTebereinstimmung mit dem in einem Maschinenbefehlsregister (41) gespeicherten Teil des Operationscodes der erste durch das Steuerregister (11) bezeichnete Mikrobefehl für die Ausführung eines jeden Maschinenbefehls über den mit dem Register (41) verbundenen Adressierer (20) aus dem ersten Steuerspeicher (18) ausgelesen wird.
    7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass die Adresse des nächsten Mikrobefehls im Steuerregister (11) an den Adressierer (21) des zweiten Steuerspeichers (19) übertragen wird, wobei die Anfangsadresse jedes Maschinenbefehls im zweiten Steuerspeicher (19) durch einen im ersten Steuer speicher (18) stehenden Mikrobefehl bestimmt ist.
    8. Verfahren nach einem oder mehreren der Ansprüche 4 bis 7, dadurch gekennzeichnet, dass bei Auffinden eines Mikrobefehls im Steuerregister (11), der einen bedingten oder unbedingten letzten Zyklus betrifft, der Operations code des nächsten auszu. führenden Maschinenbefehls für den Zugriff zum ersten Steuerspeicher (18) benutzt wird.
    PO 972 032 - 19 -
    409828/0996
    Verfahren nach einem oder mehreren der Ansprüche 4 bis 8, dadurch gekennzeichnet, dass bei Vollendung des letzten
    Zyklus des vorhergehenden Maschinenbefehls ein Schalter (39) am Ausgang des ersten Steuerspeichers (18) geschaltet wird, um den ersten Mikrobefehl des nächsten Maschinenbefehls aus dem ersten Steuer speicher (18) in das Steuerregister (11) einzugeben.
    PO 972 032 - 2tt -
    409828/0996
DE19732363100 1972-12-26 1973-12-19 Mikroprogramm-Steuerwerk und Verfahren zu seinem Betrieb Expired DE2363100C3 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US00317961A US3800293A (en) 1972-12-26 1972-12-26 Microprogram control subsystem
US31796172 1972-12-26

Publications (3)

Publication Number Publication Date
DE2363100A1 true DE2363100A1 (de) 1974-07-11
DE2363100B2 DE2363100B2 (de) 1975-11-27
DE2363100C3 DE2363100C3 (de) 1976-07-15

Family

ID=

Also Published As

Publication number Publication date
GB1398367A (en) 1975-06-18
CH559940A5 (de) 1975-03-14
JPS4991737A (de) 1974-09-02
CA1005922A (en) 1977-02-22
AU6162173A (en) 1975-04-24
IT1001603B (it) 1976-04-30
JPS5333374B2 (de) 1978-09-13
FR2212054A5 (de) 1974-07-19
US3800293A (en) 1974-03-26
DE2363100B2 (de) 1975-11-27
NL7314854A (de) 1974-06-28
BR7309155D0 (pt) 1974-08-15

Similar Documents

Publication Publication Date Title
DE2322674C3 (de) Mikroprogramm-Steuereinrichtung
DE3126878C2 (de) Mikroprogramm-Steuerschaltung zum Ausführen eines aus einem Steuerspeicher in einem Quellenregister aufgenommenen Mikrobefehls
DE2457612C3 (de) Mikroprogrammier-Steuereinrichtung
DE2646162C3 (de) Schaltungsanordnung zum Ersetzen fehlerhafter Informationen in Speicherplätzen eines nicht veränderbaren Speichers
DE2542751C2 (de) Datenverarbeitungsanlage
DE2339636C2 (de) Einrichtung zur Adressierung eines schreibbaren Mikroprogrammspeichers
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE1549523B2 (de) Datenverarbeitungsanlage
DE1774296B2 (de) Restruktuierbare Steuereinheit für elektronische Digitalrechner
DE1524209B2 (de) Programmgesteuerte datenverarbeitungsanlage
DE2646163B2 (de) Schaltungsanordnung zum Ersetzen fehlerhafter Informationen in Speicherplätzen eines nicht veränderbaren Speichers
DE1499203B1 (de) Schaltungsanordnung zum Speicherschutz bei Datenverarbeitungsanlagen mit Simultanbetrieb
DE2715073A1 (de) Mikroprogrammierte rechner-steuervorrichtung
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
DE1269393B (de) Mikroprogramm-Steuerwerk
DE2019444A1 (de) Datenverarbeitungsanlage
EP0010185A1 (de) Virtuell-Adressiervorrichtung für einen Computer
DE2759120C2 (de)
DE2747304C3 (de) Einrichtung zur Mikrobefehlssteuerung
DE2245284A1 (de) Datenverarbeitungsanlage
DE2418921A1 (de) Vorrichtung und verfahren zum speichern und ausfuehren von mikroprogrammen in einem datenverarbeitungssystem
DE2349253C3 (de) Rechnersystem
DE2744252C2 (de)
DE1774845A1 (de) Einrichtung zur Adressenpruefung und -modifizierung in einem Datenverarbeitungssystem mit dynamischer Adressenverschiebung
DE2363100A1 (de) Mikroprogramm-steuerwerk und verfahren zu seinem betrieb

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
E77 Valid patent as to the heymanns-index 1977
8339 Ceased/non-payment of the annual fee