DE2363100A1 - Mikroprogramm-steuerwerk und verfahren zu seinem betrieb - Google Patents
Mikroprogramm-steuerwerk und verfahren zu seinem betriebInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/264—Microinstruction selection based on results of processing
- G06F9/267—Microinstruction 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
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)
- PATENTANSPRÜCHE/\j Mikroprogramm-Steuerwerk für eine Datenverarbeitungsanlagezum 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/0996umfassen, 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/09965_ Verfahren nach Anspruch 4, dadurch gekennzeichnet, dasswenigstens 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/0996Verfahren 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
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 |