DE2363100C3 - Mikroprogramm-Steuerwerk und Verfahren zu seinem Betrieb - Google Patents
Mikroprogramm-Steuerwerk und Verfahren zu seinem BetriebInfo
- Publication number
- DE2363100C3 DE2363100C3 DE19732363100 DE2363100A DE2363100C3 DE 2363100 C3 DE2363100 C3 DE 2363100C3 DE 19732363100 DE19732363100 DE 19732363100 DE 2363100 A DE2363100 A DE 2363100A DE 2363100 C3 DE2363100 C3 DE 2363100C3
- Authority
- DE
- Germany
- Prior art keywords
- control
- microinstruction
- machine
- register
- memory
- 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.)
- Expired
Links
- 238000000034 method Methods 0.000 title description 3
- 230000005540 biological transmission Effects 0.000 claims description 4
- 230000001276 controlling effect Effects 0.000 claims description 2
- 230000000875 corresponding Effects 0.000 description 2
- 230000000977 initiatory Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
Description
bildet.
5. Verfahren nach Anspruch 3 und/oder 4, dadurch gekennzeichnet, daß das Feld des anderen
Befehlsregisttrs (41), das dem Adressierer (20) des ersten Steuerspeichers (18) zugeführt wird, einen
Teil des Operationscods des nächsten auszuführenden Maschinenbefehls bildet.
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet,
daß die Anfangsadresse jeder Folge von Mikrobefehlen im zweiten Steuerspeicher (19)
durch einen im ersten Steuerspeicher (18) stehenden Mikrobefehl bestimmt wird.
7. Verfahren nach einem oder mehreren der Ansprüche 3 bis 6, dadurch gekennzeichnet, daß bei
Vollendung des letzten Arbeitszyklus des vorhergehenden Maschinenbefehls der Schalter (39) am Aus
gang des ersten Steuerspeichers (18) geschähet wird, um den ersten Mikrobefehl des nächsten Maschinenbefehls
aus dem ersten Steuerspeicher (18) in das Steuerregister (11) einzugeben.
Die Erfindung betrifft ein Mikroprogramm-Steuerwerk für eine Datenverarbeitungsanlage zum Steuern
von Maschinenoperationen unter dem Einfluß von Maschinenzuständen und gespeicherten Maschinenbefehlen,
sowie ein Verfahren zum Betrieb eines derartigen Mikroprogramm-Steuerwerks.
Ein großer Teil aller in den letzten Jahren hergestellten Computer ist mit mikroprograinmienen 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 einen Mikrobefehl 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 aufeinanderfolgend 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.
Eine allgemeine Diskussion einer Mikroprogramm-Steuerung ist in einem Artikel von
S. G. Tucker, mit dem Titel »Microprogramm Con-
trol for System/360« im IBM System journal, Vol. 6,
Kr. 4.1967·s· 2^ bis 241-zu r'nden
In den meisten mikroprogrammierten Anlagen wird
fas sequentielle Ausführen von Mikrobefehlen dadurch
erreicht, daß ein Teil eines jeden Mikrobefehls für die Angabe der Adresse des nächster, auszuführenden Mikrobefehls
verweiidet wird. Die nächste Adresse wird dann zusammen mii Verzweigungsanweisungen dem
Adreßregister des Steuerspeichers zugeführt, um den nächsten auszuführenden Mikrobefehl auszuwählen.
Falls in einer derartigen Anlage ein gegebener Mikro-Ijefehl
in mehreren verschiedenen Mikroprogrammen benötigt wird, muß der Befehl an mehreren verschiedenen
Stellen innerhalb des Mikroprogramm-Steuerspeichers abgespeichert werden. Diese Redundanz führt
tür unnötigen Vergrößerung der Steuereinheit.
Ein weiterer Faktor, der die Größe der Steuereinheit beeinflußt, ist die Dichte der Mikro-Ordem. 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-Klassen 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 Verzweigung 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
erfüllt sein, bevor die Ausführung eines weiteren Maschinenbefehls begonnen werden kann. Am Ende
eines Mikroprogramms muß ein bestimmter Mikrobefehl decodiert werden, der angibt, daß 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 Operationscods benutzt, um die Adresse des ersten Mikrobefehls der zur Ausführung des Maschinenbefehls
erforderlichen Folge zu bilden. Bei Benutzung dieser Technik ist es erforderlich, iv>
jedem Mikrobefehl eine Anzahl von binären Bitpositionen zu reservieren, die nur der Untersuchung des Operationscods
dienen, um eine 64-Weg-Verzweigung zu ermöglichen. Diese Bitpositionen sind in allen übrigen Mikrobefehlen
vergeudet
Die Aufgabe der Erfindung besteht deshalb darin, die vorstehend genannten Nachteile zu vermeiden, also
eine Lösung für eine Mikroprogrammsteuerung anzugeben, bei der die Gesamtzahl der für die Speicherung
von Mikrobefehlen zur Verfugung zu stellenden Bitpositionen stark verringert ist und die beim Übergang von
der Ausführung des letzten Mikrobefehls eines Maschinenbefehls auf den Zugriff des ersten Mikrobefehl:;, der
bei der nachfolgenden Ausführung eines weiteren Maschinenbefehls benötigt wird, einen Verlust von Maschinenzyklen
vermeidet.
Gelöst wird diese Aufgabe der Erfindung für eine Vorrichtung durch die in dem Hauptanspruch angegebenen
Merkmale. Für das Be'riebsverfahren dagegen wird die Aufgabe der Erfindung durch die Merkmale
des Anspruchs 4 gelöst.
Weitere vorteilhafte Ausgestaltungen und Weiterbildungen
des Gegenstandes der Erfindung sind den Unteransprüchen zu entnehmen.
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 an Hand der Zeichnung im folgenden näher beschrieben.
Die Mikroprogramm-Steuerung einer Datenverarbeitungsanlage besorgt 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 FeId-Decoditrer
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 muß. Außerdem
weist jeder Mikrobefehl ein Feld mit Bits 15 auf. welche die Steuerung der Verzweigungsoperationen
für die ganze Anlage ausüben. Im Gegensatz zum bevorzugten Ausführungsbeispicl der vorliegenden Erfindung
wird in dem obenerwähnten Artikel von T u c k e r die Art und Weise diskutiert, in welcher die
Bits 14 der nächsten Adresse in Übereinstimmung mn der Verzweigungs-Steuerschaltung 16 verändert würden,
entsprechend den über die Leitungen 17 gemeldeten Betriebsbedingungen der Anlage. Das heißt, daß
vor Beginn des Zugriffs zu einem Speicher unter Benutzung der nächsten Adreßbits 14 die Verzweigungsbedingungen
festgestellt und zu den Adreßbits 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.
Gemäß dem bevorzugten Ausführungsbeispiel 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 >.u vermitteln.
Weiterhin weist der Stmierspeicher 19 des bevorzugten
Ausführungsbeispiels der vorliegenden Erfindung eine Mehrzahl von Speichermoduln 22 bis 25 auf. Die
Adreßbits 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
30 bis 33 auszugeben. Der Weg eines Mikrobefehls vom Speichermodul 25 zum Verknüpfungsglied 33
führt über einen Schalter 34 und ein ODER-Glied 35, deren Funktionen im folgenden erläutert werden. Bei
normalem Betrieb des Sieuerspeichers 19 ist der Schalter 34 leitend.
Während der normalen Übertragung von Mikrobefehlen in das Steuerregister 11 bei der Ausführung
eines Maschinenbefehls leiten die Adreßbits 14 den Zugriff zum Steuerspeicher 19 ein, um vier separate Mikrobefehle
an die Verknüpfungsglieder 30 bis 33 zu geben. Es ist Aufgabe der bereits erwähnten Verzweigungsbits
15 und der Verzweigungs-Steuerschaltung 16, zusammen mit den auf den Leitungen 17 gemeldeten
Betriebsbedingungen, die verschiedenen Verzweigungsbedingungen zu lösen und dabei eine der Vcrknü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 Fall 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 obenerwähnten Artikel, auf der Hand.
Während bei vorbekannten Anlagen Zugriff zu einem Steuerspeicher 19 nur möglich war, wenn die
Verzweigungsbedingungen bereits festlagen, ist unmittelbarer Zugriff möglich durch Benutzung der nächsten
Adreßbits 14 für einen der vier möglichen aufeinanderfolgenden Mikrobefehle. Zur gleichen Zeit, da die
Adresse im Adressierer 21 decodiert und verschiedene Treiberleitungen eingeschaltet werden, um Zugriff zu
den Mikrobefehlen im Steuerspeicher zu erhalten, werden die Kontrollfelder 12 im Decodierer 13 decodiert
und über die Leitungen 10 Steuersignale abgegeben, um die Übertragung 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-Steuerschaliung 16
untersucht werden. Daher werden, wenn die vier Mikrobefehle an den Verknüpfungsschaltungen 30 bis 33
vorliegen, die Verzweigungsbedingungen ermittelt sein, und es wird eine geeignete Auswahl für den nächstfolgenden
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 Ver
zweigungs-Entscheidungen ein erster Zyklus-Steuerspeicher 18 vorgesehen. Der Speicher 18 überträgt
einen Mikrobefehl über einen Schalter 39, das ODER-Glied 35 sowie das ODER-Glied 37 zum Steuerregister
ti nur beim ersten Mikrobefehl-Zyklus eines Mikroprogrammablaufs für jeden auszuführenden Befehl.
Der Zugriff zum Mikrobefehl im ersten Zyklus-Steuer speicher 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ächstfolgenden Maschinenzyklus über die
Zyklussteuerleitung 38 liefert der Schalter 39 den erforderlichen Mikrobefehl an das Steuerregister 11.
In der Datenverarbeitungsanlage, in welcher das be
vorzugte Ausführungsbeispiel der vorliegenden Erfin- dung zur Anwendung kommt, gibt es wenigstens zwei
Register 41 und 42, in denen wenigstens zwei aufeinanderfolgende Datenvciarbeitungsbefehie 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 Startpunkl einer Mikrobefehl-Folge zur Befehlsausführung festzulegen. Im
bevorzugten Ausführungsbeispiel 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 Adreßinformation 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 Operationscods in 64 Gruppen zu je 4 Operationscods eingeteilt, wobei jede der
64 Gruppen einem der 64 Mikrobefehle im ersten Zyklus-Steuerspeicher 18 zugeordnet ist. Die restlichen
zwei Bits, d. h. die Bits 6 und 7 des Operationscods werden vom Register 42 zur Verzweigungs-Steuerschaltung
16 übertragen. Diese zwei Bits identifizieren denjenigen der vier Operationscods 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,
daß 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 Ausführungszyklus des Maschinenbefehls im Register 42 olgt, ist der zum Steuerregister 11
übertragene Mikrobefehl derjenige, der zum Einleiter der Ausführung des darn im Befehls-Pufferspeicher 41
gespeicherten Maschinenbefehls erforderlich ist. In seiner Grundform weist der letzte Mikrobefehl irgendei
ner Mikrobefehl-Folge im Steuerregister 11 ein Steuer feld auf, welches durch den Decodierer 13 decodier
wird und welches über eine Leitung 44 signalisiert, dai dieser Mikrobefehl das Ende der Operation für dies(
Ausführungsfolge des Maschinenbefehls darstellt. Da her wird während der Ausführung dieses letzten Mi
krobefehls der Schalter 39 geschlossen und der Schal ter 34 auf Grund eines Ausgangssignals von einem In
verter 43 über eine Leitung 45 geöffnet, so daß de erste Zyklus-Mikrobefehl über das ODER-Glied 3!
zum Verknüpfungsglied 33 übertragen werden kanr Bei dem unbedingten letzten Ausführungszyklus liefer
die Verzweigungs-Steuerschaltung 16 ein Ausgangssig nal über die Steuerleitung 36 um das Verknüpfungs
glied 33 einzuschalten, so daß beim Auftreten des Zv
klus-Steuersignals auf der Leitung 38 über das Ver
knüpfungsglied 33 der erste Mikrobefehl in das Steuer register 1 i eingegeben wird
Der Inverter 43 ist vorgesehen, um mittels eines S:
gnals über die Leitung 45 den Schalter 34 leitend ζ halten, so daß der auf der Leitung 38 eintreffende Z>
klusimpuls den Inhalt des Speichermoduls 25 an da Verknüpfungsglied 33 liefert, wo er durch ein Steuers
gnai auf der Leitung 36 durch die Verzweigungss-cuci
schaltung 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 heißt, daß alle binären Nullen
in den höchsten Stellen des Bruches einer Gleitkomma-Zahl entfernt werden müssen und daß deshalb
die Bruchzahl um eine bestimmte Anzahl von Stellen verschoben werden muß, 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·
einzuleiten. Die Notwendigkeit zu Normalisieren wird auf einer der Steuerleitungen 36 durch Auswahl 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-St?uerschaltung 16 bestimmt, daß eine Normalisierung nicht erforderlich
ist. dann wird in Abwesenheit eines Verzweigungssignais über die Leitung 36 das Verknüpfungsglied 33
ausgewählt. Daraus ergibt sich, daß die kombinierte Operation des Codierers 13, der das Ende der Operation
angibt, der Verzweigungs-Steucrschaltung 16 und des Inverters 43 entweder die Auswahl des dem ersten
Zyklus-Steuerspeicher 18 zugeordneten Schalters 39 oder das Durchschalten der dem Steuerspeicher 19 zugeordneten
Verknüpfungsgliedcr 30 bis 33 bzw. des Schalters 34 bewirkt. Die Übertragung der Bits 14 der
nächsten Adresse im Steuerregister 11 an den Adressicrer
21 des Steuerspeichers 19 und die Übertragung eines Teils der Opcrationscode-Bils des nächstfolgenden
Maschinenbefehls an den Adressierer 20 des Zyklus-Steuerspeichers 18 ermöglicht den gleichzeitigen
Zugriff zu Mikrobefehlen im Steuerspeicher 19 zur Benutzung bei weiteren bedingten Programmschritten im
Zusammenhang mit einem Befehl im Register 42. oder
ίο die Bereitstellung des ersten Mikrobefehls im Steuerregister
U für den Start der Ausführung des nächstfolgenden Befehls im Register 41.
Während normalerweise jeder aus dem Steuerspeichcr 19 entnommene Mikrobefehl etwa 100 Bits umfaßt,
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 Adreßfeld 14 des Steuerregisters 11 eingesetzt
werden. Eine typische Anzahl wäre 10 Bits. Außerdem müssen möglicherweise gewisse grundsätzliche Zyklusfunktionen
durch Bits im Steuerfeld 14 bezeichnet werden, und wenigstens soviel Vcrzweigungssteuerungs-Information
im Feld 15, als nötig ist. um eine Vier-Weg-Verzweigung, basierend auf den restlichen
Bits des Operationscods im Befehlsregister 41 ausführen zu können. Daraus ergibt sich, daß nicht nur erheblich
weniger adressierbare Speicherstellen im Zyklus-Steuerspcicher
18 vorhanden sind, sondern auch daß jeder Mikrobefehl wesentlich weniger Stellen aufweisen
muß, um die Steuerung des ersten Zyklus durchzuführen. Darüber hinaus wird durch die vorliegende
Erfindung vermieden, daß eine Anzahl Bits im Verzweigungsfeld 15 einer jeden Mikrobefehl-Speicherstelle in
Steuerspeicher 19 vorgesehen werden muß, um in Übereinstimmung mit den Bits 0 bis 5 eines Operationscnds
eine M-Weg-Verzweigung 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.
Hierzu 1 Blatt Zeichnungen
Claims (4)
1. Mikroprogramm-Steuerwerk für eine Datenverarbeitungsanlage
zum Steuern von Maschinenoperationen unter dem Einfluß von Maschinenzuständen und gespeicherten Mikrobefehlen, welche
Maschinenbefehle wenigstens einen Operationscode umfassen, gekennzeichnet durch einen
ersten (18) und einen zweiten, aus mehreren Moduln (22 bis 25) bestehenden Steuerspeicher (19) zur
Aufnahme von Mikrobefehlen, jedem der Steuerspeicher individuell zugeordnete Adressierer (10,
21) für den Zugriff zu maschinensteuernden Mikrobefehlen und durch erste (34, 39) und .'.weite Schalter
(30 bis 33) für eine selektive Übertragung des nächsten Mikrobefehls von einem zugeordneten
Steuerspeicher in ein Steuerregister (11), wobei der
*ine (39) der ersten Schalter dem ersten Steuerspei-Cher (18) und der andere (34) einem Modul (25) des
rweiten Steuerspeichers (19) nachgeschaltet ist und die zweiten Schalter (30 bis 33) jeweils einem Modul
(22 bis 25) des zweiten Steuerspeichers (19) derart nachgeschaltet sind, daß einer (33) der zweiten
Schalter mit einem (34) der ersten Schalter in Reihe liegt und die zweiten Schalter von zwei koinzidierenden
Signalen gesteuert werden, nämlich einem ersten Signal, das einem von mehreren Arbeitszyklen
des Steuerwerks zugeordnet ist und einem zweiten Signal, das von einer Verzweigungs-Steuerschaltung
(16) in Abhängigkeit von einem ersten Feld (15) des gerade bearbeiteten Mikrobefehls und
einem Feld des gerade bearbeiteten Maschinenbefehls (17) sowie gerade vorliegenden Masehinenbedingungen
erzeugt wird und wobei die ersten Schalter von einem Signal, das von einem Steuerfeld-Decodierer
(13) in Abhängigkeit von einem zweiten Feld (12) des im Steuerregister (11) befindlichen Mikrobefehls
erzeugt wird, derart gesteuert werden, daß der eine Schalter (39) von diesem Signal direkt
und der andere (34) über einen Inverter (43) beaufschlagt wird.
2. Steuerwerk nach Anspruch 1, dadurch gekennzeichnet, daß zwei Befehlsregister (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 daß das eine Register (42) mit
der Verzweigungs-Steuerschaltung (16) und das andere Register (41) mit dem Adressierer (20) des ersten
Steuerspeichers (18) verbunden ist.
3. Verfahren zum Betrieb des Mikroprogramm-Steuerwerks nach Anspruch 1, dadurch gekennzeichnet,
daß wenigstens ein Teil des Operationscodes des nächsten auszuführenden Maschinenbefehls
zum Adressieren des ersten Steuerspeichers (18) benutzt wird, um aus dem Speicher (18)
einen ersten Mikrobefehl einer Folge auszulesen, daß die im Steuerregister (11) gespeicherte nächste
Adresse (14) jedes Mikrobefehls benutzt wird, um bei jedem Arbeitszyklus des Steuerwerkes gleichzeitig
die in dem zweiten Steuerspeicher (19) enthaltenen Speichermoduln (22 bis 25) aufzurufen, von
denen Adressen im Steuerregister (11) gespeichert sind, und daß bei der Vollendung eines Arbeitszyklus
Verzweigungssteuersignale, die sich aus den Maschinenbedingungen (17), dem Steuerfeld (15)
und einem Feld des gerade bearbeiteten Maschinenbefehls im Befehlsregister (42) ergeben, um
einen der zweiten Schalter (30 bis 33) am Ausgang eines der Speichermoduln (22 bis 25) für die Eingabe
des nächstfolgenden Mikrobefehls in das Steuerregister (11) zu schließen, wobei der Zugriff zum
ersten Mikrobefehl einer Folge die Ausführung des letzten Mikrobefehls der vorhergehenden Folge
überlappen kann.
4 Verfahren nach Anspruch 3, dadurch gekennzeichnet,
daß das Feld, dss aus dem einen Befehlsregister (42) in die Verzweigungs-Steuerschaltung (16)
übertragen wird, wenigstens einen Teil des Operationscods eines in Ausführung begriffenen Befehls
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US31796172 | 1972-12-26 | ||
US00317961A US3800293A (en) | 1972-12-26 | 1972-12-26 | Microprogram control subsystem |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2363100A1 DE2363100A1 (de) | 1974-07-11 |
DE2363100B2 DE2363100B2 (de) | 1975-11-27 |
DE2363100C3 true DE2363100C3 (de) | 1976-07-15 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE68914172T2 (de) | Datenverarbeitungssystem und Videoverarbeitungssystem mit einem derartigen Datenverarbeitungssystem. | |
DE3126878C2 (de) | Mikroprogramm-Steuerschaltung zum Ausführen eines aus einem Steuerspeicher in einem Quellenregister aufgenommenen Mikrobefehls | |
DE2714805C2 (de) | ||
DE2355993C3 (de) | Programmierbare Datenverarbeitungsanlage | |
DE2542751C2 (de) | Datenverarbeitungsanlage | |
DE2457612C3 (de) | Mikroprogrammier-Steuereinrichtung | |
DE1524209B2 (de) | Programmgesteuerte datenverarbeitungsanlage | |
DE2819571A1 (de) | Datenverarbeitungsanlage mit mehreren prozessoren | |
DE2715073A1 (de) | Mikroprogrammierte rechner-steuervorrichtung | |
DE1774296B2 (de) | Restruktuierbare Steuereinheit für elektronische Digitalrechner | |
EP0048767A1 (de) | Prioritätsstufengesteuerte Unterbrechungseinrichtung | |
DE2350884A1 (de) | Datenverarbeitungssystem | |
DE2758830A1 (de) | Rechenvorrichtung | |
DE3400723C2 (de) | ||
DE2854782C2 (de) | Datenverarbeitungssystem und Verfahren zum Ersetzen eines Datenblocks in einem Schnellspeicher | |
DE1499191B2 (de) | Elektronische einrichtung fuer eine datenverarbeitungsanlage | |
DE2759120C2 (de) | ||
DE2745204A1 (de) | Mikroprogramm-leitwerk fuer eine datenverarbeitungsanlage | |
DE69122001T2 (de) | Integrierte Schaltung mit einer Standardzelle, einer Anwendungszelle und einer Prüfzelle | |
DE2403669A1 (de) | Spezialcomputer | |
DE2363100C3 (de) | Mikroprogramm-Steuerwerk und Verfahren zu seinem Betrieb | |
DE1957600C3 (de) | ||
DE2744252C2 (de) | ||
DE1298318B (de) | Steuerwerk fuer eine digitale Rechenanlage | |
DE2727188A1 (de) | Anordnung zum adressieren eines speichers |