DE2363100C3 - Mikroprogramm-Steuerwerk und Verfahren zu seinem Betrieb - Google Patents

Mikroprogramm-Steuerwerk und Verfahren zu seinem Betrieb

Info

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
Application number
DE19732363100
Other languages
English (en)
Other versions
DE2363100A1 (de
DE2363100B2 (de
Inventor
Thomas Arthur Wappingers Falls; Evans jun. Charles Wesley; Johnson Lance Herman; Poughkeepsie; N.Y. Enger (V.StA.)
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
Priority claimed from US00317961A external-priority patent/US3800293A/en
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

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)

Patentansprüche:
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
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
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