DE2332971C2 - Mikroprogrammsteuereinrichtung - Google Patents
MikroprogrammsteuereinrichtungInfo
- Publication number
- DE2332971C2 DE2332971C2 DE2332971A DE2332971A DE2332971C2 DE 2332971 C2 DE2332971 C2 DE 2332971C2 DE 2332971 A DE2332971 A DE 2332971A DE 2332971 A DE2332971 A DE 2332971A DE 2332971 C2 DE2332971 C2 DE 2332971C2
- Authority
- DE
- Germany
- Prior art keywords
- dci
- sci
- control
- command
- 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.)
- Expired
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/28—Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
-
- 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/223—Execution means for microinstructions irrespective of the microinstruction function, e.g. decoding of microinstructions and nanoinstructions; timing of microinstructions; programmable logic arrays; delays and fan-out problems
-
- 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/268—Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs
Description
a) beide Gruppen von Mikrobefehlen (OCi, SCi)
werden unabhängig voneinander aus dem Steuerspeicher in die jeweiligen Mikrobefehlsregister (53,52) gelesen,
b) eine Gattereinrichtung (67) ermöglicht eötweder die Durchschaltung eines vom Steuerspeicher (51) kommenden Mikrobefehls der ersten
Gruppe von Mikrobefehlen (DO) zu dem dazugehörigen Mikrobefehlsregister (53) oder
die Durchschaltung der von einem zweiten Steuerspeicher (58) kommenden Information,
die mit Hilfe eines Mikrobefehls der zweiten Gruppe von Mikrobefehlen (SCi) entsprechend
dem Verarbeitungsergebnis eines bereits durchgeführten Mikrobefehls der ersten Gruppe von
Mikrobefehlen (DCi) abgerufen wird.
Die Erfindung betrifft eine Mikroprogrammsteuereinrichtung mit einem Steuerspeicher, in dem eine erste
Gruppe von Mikrobefehlen zum Steuern der verschiedenen Datenwege innerhalb des Prozessors und eine
zweite Gruppe von Mikrobefehlen zur Bestimmung der Mikrobefehlsfolge gespeichert werden, wobei beide
Gruppen von Mikrobefehlen aus dem Steuerspeicher in ein nachgeschaltetes Mikrobefehlsregister gelesen werden.
Allgemein können bei der Datenverarbeitung mit Mikroprogrammierung Mikrobefehle grob in eine erste
Gruppe von Befehlen, beispielsweise Ausführungsbefehle in Form von Übertragungsbefehlen, Rechenbefehlen, booleschen Befehlen, Verschiebungsbefehlen usw,
zum Steuern des Datenweges, d. h. Datenwegsteuerbefehle (im folgenden als ein DCi bezeichnet), und in eine
zweite Gruppe von Befehlen unterteilt werden, beispielsweise Steuerbefehle in Form von Verzweigungsbefehlen, Befehle für die Speicherzugriffssteuerung, Befehle für die Reihenfolgesteuerung eines
Mikroprogramms selbst, mit anderen Worten Befehle zum Steuern einer Systemsteuereinheit, d.h. Systemsteuerbefehle (im folgenden als ein SCi bezeichnet). Der
Datenwegsteuerbefehl bzw. DCi wird zum Steuern der Datenwege verwendet, während der Steuerbefehl bzw.
SCi zum Steuern der Befehlsabläufe verwendet wird.
Bei einer bekannten Mikroprogrammsteuereinrichtung (»Microprogramming Principles and Practices«
von Samir S. Husson, veröffentlicht durch Prentice-Hall Inc. 1970, Seiten 212 bis 217, Kapitel 6.4.2: »The IBM
System 360, Model 25«) werden der DCi und der SCi, nachdem sie nach ihrem Operationsende klassifiziert
sind, in einem Steuerspeicher zum Speichern der Mikrobefehle gespeichert und dann in einem einzelnen
Befehlsregister gespeichert, wenn sie aus dem Steuerspeicher ausgelesen sind, und anschließend, nach dem
Dekodieren ihres Operationscodes, jeweils dem Datenteil und dem Steuerteil des Prozessors zugeleitet
werden (Fig. 1). Bei einer weiteren bekannten Mikroprogrammsteuereinrichtung (»Mikroprogramming
Principles and Practices«, von Samir S. Husson, veröffentlicht durch Prentice-Hall Ine, 1970, Seiten 23»
bis 242, Kapitel 75: »The Mechanics of Microprogramming, The Model 40«) weist ein in dem Steuerspeieher zu speicherndes Wort zwei Teile für den DCi und
SCi auf, wird ein Befehl von einem Wort mit zwei Befehlsteilen nach dem Auslesen in einem Befehlsregister gespeichert und wird anschließend der DCi-Teil
bzw- der SCi-Teil dem Datenteil bzw. dem Steuerteil des Prozessors zugeführt (vgL F ig. 2).
Umrisse der vorgeschlagenen Mikroprogrammsteuereinrichtungen werden im folgenden beschrieben:
In Fig. 1 bezeichnet die Bezugszahl 1 einen Steuerspeicher, in welchem die DCi und SCi getrennt
voneinander gespeichert werden können und aus welchem sie unabhängig voneinander gelesen werden
können, 2 ein Befehlsregister zum Speichern der gelesenen Befehle und 3,4 Gatter, durch welche die in
das Befehlsregister 2 eingelesenen Befehle gemäß ihres Operationscodes dem Datenteil bzw. dem Steuerteil des
Systems zugeführt werden.
Bei diesem System werden die aus dem Steuerspeicher 1 gelesenen Mikrobefehle DCi oder SCi zunächst
in dem Befehlsregister 2 gespeichert Anschließend wird der Operationscode des gespeicherten Befehls dekodiert und das Gatter 3 oder 4 wird geöffnet, abhängig
davon, ob der Mikrobefehl ein DCi oder ein SCi, d. h. ein Datenwegsteuerbefehl oder ein Steuerbefehl für den
Befehlsablauf ist Demgemäß ist im Falle dieses Systems der Wirkungsgrad der Ausnutzung von Bits in dem
Steuerspeicher 1 zwar hoch, die Verarbeitung ist jedoch langsam, weil der Mikrobefehl danach unterschieden
wird, ob er ein DCi oder ein SCi ist, nachdem er erst einmal in das Befehlsregister 2 eingelesen worden ist,
und, beispielsweise, in dem Fall des Auslesens eines SCi nach einem DCi, ist das Befehlsregister 2 durch den
vorhergehenden DCi besetzt, so daß der folgende SCi nicht in dem Register 2 gespeichert werden kann und
somit 2 Speicherzyklen des Steuerspeichers zum Auslesen der beiden Steuerbefehle notwendig sind, die
nur nacheinander aufgeführt werden können. Obwohl die DCi und SCi verschiedenen Einheiten zugeführt
werden, ist trotzdem keine Parallelverarbeitung möglich.
so F i g. 2 zeigt ein System, welches Parallelverarbeitung ermöglicht In der Figur bezeichnet die Bezugszahl 5
einen Steuerspeicher, in welchem ein Befehl, der beispielsweise die DCi und SCi-Teile in einem Wort
enthält, gespeichert ist und 6 ein Befehlsregister, in welches der Befehl, d.h. die DCi- und SCi-Teile
gleichzeitig eingelesen und gespeichert werden.
in dem Befehlsregister 6 gespeicherten Befehls dem
zwar möglich, in dem Fall jedoch, in welchem viele
welchen einer der DCi- und SCi-Teile nicht benötigt
wird, wird der Bitausnutzungswirkungsgrad des Steuer-
Es ist auch bekannt, einem Mikrobefehlsspeicher direkt einen Entschlüssler nachzuordnen und die aus den
Befehlen durch vollständige Dekodierung gewonnenen
Informationen, abhängig vom Ergebnis der Entschlüsselung an die angesprochenen Teile des Prozessors
weiterzuleiten (A. P. Speiser, »Digitale Rechenanlage«,
Springer-Verlag 1965, S. 242 und 243).
Schließlich ist es bekannt, Gatterschpitungen vorzusehen, die die Inhalte angeschlossener Speicher
abhängig von Steuersignalen aus uideren Teilen des Prozessors an ein gemeinsames Register weiterleiten,
wobei über die Gatterschaltung entweder aus dem Mikrobefehlsregister stammende Informationen oder
aus einem weiteren Speicher stammende Informationen unter Steuerung durch Signale an ein Register
weitergegeben werden (US-PS 33 43 141).
Die Aufgabe der Erfindung besteht darin, die vorgesehene Mikroprogrammsteuereinrichtung derart is
zu verbessern, daß die Geschwindigkeit der Verarbeitung von bedingten Verzweigungsbefehlen erhöht wird.
Zur Lösung dieser Aufgabe dienen die Merkmale des Kennzeichens des Patentanspruchs.
Die erfindungsgemäße Ausbildung ermöglicht es, in
ein Register zum Steuern der Datenwege wahlweise die Mikrobefehle des Steuerspeichers selbst oder weitere
Information, welche sich im wesentlichen auf die Resultate der ausgeführten Maschinen- bzw. Mikrobefehle bezieht, einzugeben, wodurch der Wirkungsgrad
erhöht wird.
Ein Ausführungsbeispiel der Erfindung ist in den Zeichnungen dargestellt und wird im folgenden näher
beschrieben. Es zeigen
F i g. 1 und 2 jeweils in Form eines Blockdiagramms
ein Schema einer herkömmlichen Mikroprogrammsteuereinrichtung,
Fig.3A bis 3E Darstellungen eines bei einem
Ausführungsbeispiel der Erfindung verwendbaren Befehlsformats, wobei F i g. 3A ein allgemeines DCi-For-
mat, F i g. 3B ein Beispiel von Befehlen in dem Fall des Modifizierens eines SCi mit einem DCi, Fig.3C ein
Beispiel einer Steuerinformation, welche ein SCi ist, Fig.3D ein Beispiel eines Verzweigungsbefehls, welcher ein SCi ist, und Fig.3E ein Beispiel eines
Verzweigungsbefehls zeigt, welcher ein SCi ist und bei der Erfindung verwendet wird.
Fig.4 ein Schema einer Mikroprogrammsteuereinrichtung in einem Ausführungsbeispiel der Erfindung,
Fig.5 ein Beispiel eines Zeitdiagramms für eine
Mikroprogrammsteuereinrichtung in dem Beispiel von Fig. 4,
F i g. 6 ein Beispiel eines Flußdiagramms, weiches eine Verarbeitung darstellt, die in eine vorbestimmte
Routine verzweigt und anschließend unter vorherbe- so stimmten Bedingungen wieder in Ausgangsstellung
gebracht wird,
F i g. 7 ein Beispiel eines Zeitdiagramms in dem Fall des Modifizierens einer DCi mit einem SCi,
Fig.8 ein Blockdiagramm eines Ausführungsbeispiels der Erfindung und
Fig.9 und 10 Schaltbilder, welche jeweils einen Teil
des in Fi g. 8 dargestellten Ausführungsbeispiels zeigen. Bei den vorgeschlagenen Mikroprogrammsteuereinrichtungen wird ein zum Steuern des Datenteils des
Prozessors verwendet, während ein SCi zum Steuern des Steuerteils des Prozessors verwendet wird. Diese
DCi und SCi werden sequentiell aus dem Steuerspeicher gelesen, in welchem Mikrobefehle gespeichert sind, und
die Verarbeitung wird gemäß den ausgelesenen Befehlen ausgeführt.
Bei einem derartigen System kann in dem Fall, in welchem ein vorherbestimmter Rechenbefehl (einer
von DCi's) ausgeführt und anschließend einer von einer Vielzahl von Rechenbefehlen, d. h. ein zweiter Rechenbefehl gemäß dem Rechenergebnis, welches auf dem
ersten Rechenbefehl beruht, wahlweise ausgeführt wird,
und weiter ein vorherbestimmter dritter Rechenbefehl ausgeführt wird, die Ermittlung des Rechenergebnisses
des ersten Rechenbefehls zwar mit einem bedingten Verzweigungsbefehl (einer von (SCi's) erreicht werden,
es ist jedoch erforderlich, eine Verzweigungssteuerung derart zu bewirken, daß das Axisführen des dritten
Rechenbefehls mit dem Verzweigungsbefehl (einer von SCi's) erreicht werden, es ist jedoch erforderlich, eine
Verzweigungssteuerung derart zu bewirken, daß das Ausführen des dritten RechenbefehJs mit dem Verzweigungsbefehl (einer von SCi's) wieder nach der
Verarbeitung des zweiten RechenbefehJs ermöglicht wird, welcher die vorbestimmte Bedingung erfüllt Es ist
somit erforderlich, die Verzweigungssteuerung bzw. -kontrolle doppelt auszuführen.
Das kann jedoch dadurch vermieden werden, daß ein
Modifizieren des zweiten Rechenbefehls (DCi) mit dem Ermitteln (SCi) des Ergebnisses des ersten Rechenbefehls ermöglicht wird In dem Fall des Ausführens der
oben genannten Verarbeitung ist nämlich der dem ersten Rechenbefehl folgende zweite RechenbefehJ so
beschaffen, daß irgendeiner von einer Vielzahl von Rechenbefehlen unabhängig von dem Ergebnis des
ersten Rechenbefehls ausgeführt werden kann, so daß, wenn der zweite Rechenbefehl in geeigneter Weise
vorgewählt und so beschaffen ist, daß er gemäß dem Rechenergebnis des ersten Rechenbefehls variabel ist,
bevor der zweite Rechenbefehl ausgeführt wird, eine Verzweigungssteuerung der oben genannten Art
unnötig wird.
Mit einer derart variablen Steuerung ist es möglich, die Anzahl von Schritten des Mikroprogramms zu
verringern und dadurch die Verarbeitung zu beschleunigen.
Es soll außerdem eine Verarbeitung bewirkt werden, durch welche eine Verzweigungsadresse des Verzweigungsbefehls, welcher einer der SCi's ist, mit dem Inhalt
der verarbeiteten Daten übereinstimmt, die vorher auf
dem DCi basierten, und weiterhin soll der SCi, welcher dem DCi folgt, durch den letzteren modifiziert werden
können.
Wie vorher bereits erläutert, ist die Mikroprogrammsteuerung nach der Erfindung so beschaffen, daß die
Folge der Mikrobefehle DCi oder SCi nach Wunsch ausgewählt werden können, und zwar entweder durch
einen aus dem Steuerspeicher ausgelesenen Mikrobefehl oder durch ein in Abhängigkeit von dem
Verarbeitungsergebnis der anderen Gruppe von Mikrobefehlen bereitgestelltes Resultat Das bei der vorliegenden Erfindung zu verwendende Befehlsformat wird
im folgenden beschrieben.
Fig.3A zeigt den Fall eines üblichen Formats des
DCi, in welchem eine nachdem Operationscode befohlene Operation unter Verwendung der Inhalte der
Register /?, und R2 ausgeführt und im Register Rt
gespeichert wird. Demzufolge ist es in dem Fall, in dem ein folgender SCi durch Verwenden des Inhalts eines
Akkumulators gebildet wird, möglich, einen Mikrobefehl zum Übertragen des Inhalts des Akkumulators
ACC in ein Befehlsregister SCR zu verwenden, in welchem der folgende SCi zu speichern ist, wie in
F i g. 3B dargestellt Dieser Übertragungsbefehl ist ein DCi.
' SCi, in welchem die Systemsteuereinheit gewöhnlich abhängig davon gesteuert wird, ob ein Bit an einer
vorbestimmten Stelle in einem Steuerinformation(CTL-Information)-Bereich
»1« oder »0« ist Fig.3C zeigt allgemein den Fall, in welchem beispielsweise eine
Speicherabfrage durch das Bit »1« gemacht wird. Ein Verzweigungsbefehl, wie er in F i g. 3D dargestellt ist, ist
ebenfalls ein SCi, und ein Befehl zum Modifizieren des nächsten Befehls, wie er in F i g. 3E dargestellt ist, wird
für die Modifikation des DCi und dem SCi verwendet
F i g. 4 zeigt schematisch ein Ausführungsbeispiel der Erfindung. In dieser Figur bezeichnet Bezugszahl 31
einen Steuerspeicher, 32 ein Befehlsregister DCR (ein Datenwegsteuerregister) zum ausschließlichen Speichern
der DCi und 33 ein Befehlsregister SCR (ein υ Reihenfolgesteuerregis ,er) zum ausschließlichen Speichern
der SCi. Wenn der Mikrobefehl DCi oder SCi aus dem Steuerspeicher 31 ausgelesen ist welcher so
beschaffen ist, daß die DCi und SCi darin getrennt gespeichert und unabhängig voneinander daraus ausgelesen
werden, wjrd der Operationsteil des Befehls vorher dekodiert und, wenn der Mikrobefehl ein DCi ist
wird er in dem Befehlsregister 32 gespeichert, und, wenn der Mikrobefehl ein SCi ist wird er in dem
Befehlsregister 33 gespeichert Anschließend wird der 2s DCi dem Datenteil und der SCi dem Steuerteil des
Prozessors zugeführt Bei dieser Einrichtung ist der Bitausnutzungswirkungsgrad des Steuerspeichers 31
gleich demjenigen in dem System von F i g. 1 und Parallelverarbeitung der DCi und SCi ist möglich, wie es
bei dem System von Fig.2 der Fall ist Ein Zeitdiagramm der Parallelverarbeitung ist in Fig.5
dargestellt In dieser Figur bezeichnet Bezugszeichen MIC einen Mikrobefehlszähler für den Zugriff zu dem
Steuerspeicher CS (entsprechend dem mit Bezugszahl 31 in Fig.4), DCR das in Fig.4 dargestellte
Befehlsregister 32 und SCR das in F i g. 4 dargestellte Befehlsregister 33.
Wenn der Zugriff zu dem Steuerspeicher CS durch den Mikrobefehlszähler MIC in der Zykluszeit Nr. 1
erfolgt wird der Operationsteil des auszulesenden Mikrobefehls vorher dekodiert wie durch Kreise
angedeutet und, wenn der Befehl der DCi ist wird er in dem Befehlsregister DCR gespeichert Wenn die
Verarbeitung des DCi zwei Zykluszeiten erfordert ist das Befehlsregister DCR dadurch für diese Zeitspanne
besetzt In der Zykluszeit Nr. 2, führt der Mikrobefehlszähler MIC die Addition +1 aus und ein folgender
Befehl wird aus dem Steuerspeicher CS ausgelesen. Wenn der Befehl in diesem Zeitpunkt der SCi ist wird er so
vorher dekodiert und in dem Befehlsregister SCR gespeichert Semit ist wie aus F i g. 5 hervorgeht, in der
Zykluszeit Nr. 3 Parallelverarbeitung der DCi und SCi sogar dann möglich, wenn vor der Zykluszeit Nr. 3 ein
Mikrobefehl vorhanden ist, der zwei Zylden erfordert
Die gesonderte Bereitstellung der Befehlsregister 32
und 33, wie in Fig.4 dargestellt, ermöglicht nicht nur
Parallelverarbeitung, wie oben mit Bezug auf Fig.5
beschrieben, sondern auch eine derartige Modifikation
eines folgenden SCi mit dem vorhergehenden DCi oder eines folgenden DCi mit dem vorhergehenden SCi, wie
sie weiter unten mit Bezug auf F i g. 8 beschrieben ist
F i g. 6 zeigt ein Schema zum Erläutern der Vorteile,
die sich aus der Modifikation des folgenden DCi ergeben. Es sei angenommen, daß einer solchen
Prozedur gefolgt wird, daß, wenn das Rechenergebnis eines bestimmten Rechenbefehls DCi(x) Null ist, ein DCi
für eine Addition (ADD) ausgeführt wird, daß, wenn es nicht Null ist, ein DCi für eine Subtraktion (SUB)
ausgeführt wird, und daß, daran anschließend, ein Rechenbefehl ausgeführt wird.
Bei einer Verarbeitungsmethode wird ein bedingter Verzweigungsbefehl, welcher ein SCi ist gebildet Wenn
das Rechenergebnis Null ist wird der DCi(ADD) ausgeführt, wenn es nicht Null ist, wird der DCi(SUB)
ausgeführt Ein Verzweigungsbefehl (SCi) wird danach ausgeführt und dann wird der verlangte Rechenbefehl
DCi(Y) ausgeführt Diese Methode erfordert jedoch den Verzweigungsbefehl, welcher ein SCi ist zum Zurückführen
der Anfangsbedingung nach der Addition mit dem DCi(ADD).
Demgegenüber werden bei der Erfindung, wo solche Verarbeitungsprozeduren, wie in Fig.6 dargestellt
ausgeführt werden, der DCi(x). der SCi(N) der Befehl zum Modifizieren des nächsten Befehls), der DCi(SUB)
und der DCi(Y) sequentiell in dem Steuerspeicher Sl (weiter unten mit Bezug auf Fig.8 beschrieben) zum
Speichern der Mikrobefehle gespeichert Wenn das Rechenergebnis des DCi(x) Null ist wird der DCi(ADD)
aus einer Befehlstabelle 58 (weiter unten beschrieben) durch den Befehl SCi(N) zum Modifizieren des nächsten
Befehls geholt ohne den DCi(SUB) als einen folgenden Mikrobefehl in das Befehlsregister zu setzen; und
danach wird der DCi(x) wieder aus dem Steuerspeicher ausgelesen und in das Befehlsregister gesetzt Das
verringert die Anzahl von Schritten und beschleunigt die Verarbeitung.
Ein Zeitdiagramm für diesen Fall ist in F i g. 7 gezeigt
Es wird nämlich der Befehl SCi(N) zum Modifizieren des nächsten Befehls in das Befehlsregister SCR zum
Speichern der SCi's gesetzt um dadurch zu prüfen, ob ein vorhergehendes Rechenergebnis Null ist oder nicht
Wenn das Rechenergebnis Null ist wird die Befehlstabelle 58 aufgefunden und der DCi(ADD) wird in das
Befehlsregister DCR gesetzt um darin die DCi's zu speichern. Wenn das Rechenergebnis nicht Null ist, wird
der DCi(SUB) in das Befehlsregister DCR aus dem Steuerspeicher CS gesetzt
Fig.8 zeigt ein Ausführungsbeispiel des Systems
nach der Erfindung. In der Figur bezeichnet Bezugszahl 51 den Steuerspeicher, welcher in der Lage ist die DCi
und SCi zu speichern und sie unabhängig voneinander daraus auszulesen; 52 ein Befehlsregister, welches die
aus dem Steuerspeicher 51 ausgelesenen Mikrobefehle SCi speichert; 53 ein Befehlsregister, welches die aus
dem Steuerspeicher 51 ausgelesenen Mikrobefehl DCi speichert; 54 einen Mikrobefehlszähler, durch welchen
der Zugriff zu einer vorbestimmten Adresse des Steuerspeichers 51 erfolgt um aus diesem den an der
vorbestimmten Adresse gespeicherten Mikrobefehl (DCi oder SCi) auszulesen; 55 eine +1-Schaltung; 56
eine Startadreßtabelle zum Angeben einer Startadresse; 57 einen Dekodierer; 58 eine DCi-Speichertabelle zum
Speichern einer begrenzten Anzahl von DCi's; 59 eine Registergruppe, welche einen Akkumulator, ein Operationsregister,
ein Adreßregister usw. umfaßt die für die Operation durch den DCi verwendet werden und in
welche Daten des Rechenergebnisses usw. gesetzt werden; 60 eine Rechenaddierer- und Logikeinheit
ALU; 61 einen DCi-Dekodierer; 62 eine Interface-Steuereinheit; 63 eine Hauptspeicher-Eingabe/Ausgabe-Einheit; und 65,66 und 67 ODER-Gatter.
Es wird eine Beschreibung der oben mit Bezug auf Fi g. 4 beschriebenen üblichen Leseoperation gegeben.
Wenn Adreßinformation durch die Startadreßanzeigeeinrichtung 56 oder einen Verzweigungsbefehl in dem
Mikrobefehlszähler 54 gesetzt worden ist, wird der
Mikrobefehl DCi oder SCi in der gesetzten Adresse in dem Befehlsregister 53 oder 52 gespeichert Anschließend wird, solange wie eine Verzweigungsadresse nicht
durch den Verzweigungsbefehl gesetzt ist, der Inhalt des Mikrobefehlszählers 54 mit +1 durch die + !-Schaltung
55 addiert und folgende Mikrobefehle werden bei jeder Addition sequentiell gelesen. Im Zeitpunkt des Lesens
des Mikrobefehls wird der Operationsteil des Befehls vorher dekodiert und, wenn der Mikrobefehl ein DCi ist,
wird er in dem Befehlsregister 53 über das ODER-Gatter 67 gespeichert und zum Steuern der Datenwegeinheit verwendet Wenn der Befehl ein SCi ist, wird er in
dem Befehlsregister 52 über das ODER-Gatter 66 gespeichert und zum Steuern des Steuerteils des is
Prozessors verwendet
Als nächstes folgt eine Beschreibung in Verbindung mit dem Fall, in welchem ein folgender DCi durch einen
ihm vorhergehenden SCi modifiziert wird. Dieser Fall ist zum Ausführen einer solchen Verarbeitung geeignet
wie sie oben mit Bezug auf die F i g. 6 und 7 beschrieben ist
Der Befehl zum Modifizieren des nächsten Befehls, wie beispielsweise in Fig.3E gezeigt welcher ein SCi
ist, wird in das Befehlsregister 52 eingelesen und darin gespeichert In diesem Zeitpunkt prüft der Befehl das
Rechenergebnis durch den vorher verarbeiteten DCi, beispielsweise einen solchen Zustand wie »Null«,
»positiv«, »negativ« oder »Übertrag« eines Addiererausganges und, wenn ein vorbestimmter Zustand
vorhanden ist wird eine vorbestimmte Adresse der DCi-Speichertabelle 58 durch den Dekodierer 57
aufgefunden. Danach wird der an dieser Adresse gespeicherte DCi in das Befehlsregister 53 über das
ODER-Gatter 67 gesetzt und eine Operation gemäß dem DCi wird ausgeführt Ein folgender DCi wird zwar
üblicherweise aus dem Steuerspeicher 51 ausgelesen, das Auslesen aus demselben wird jedoch unwirksam
gemacht und der DCi aus der DCi-Speichertabelle 58 wird in das Befehlsregister 53 gesetzt
Nun wird eine Beschreibung des Falles gegeben, in
welchem ein folgender SCi durch einen ihm vorhergehenden DCi modifiziert wird.
In diesem Fall wird ein Übertragungsbefehl, wie er
beispielsweise in Fig.3B dargestellt ist in das Befehlsregister 53 eingelesen und darin gespeichert
Wie in F i g. 3B gezeigt impliziert dieser Befehl, daß der Inhalt des in der Registergruppe 59 enthaltenen
Akkumulators in diesem Augenblick zu dem Befehlsregister 52 übertragen werden sollte und der Inhalt des
Akkumulators wird in diesem Augenblick durch das ODER-Gatter 66 in dem Befehlsregister 52 gesetzt und
der folgende SCi wird durch den in dem Befehlsregister 52 gesetzten Inhalt bestimmt und ausgeführt In diesem
Fall wird der folgende SCi zwar gewöhnlich aus dem Steuerspeicher 51 ausgelesen, das Auslesen aus
demselben ist jedoch unwirksam gemacht und die Registergruppe 59 ist durch die Inhalte des Akkumulators, des Operationsregisters, des Adreßregisters usw.
bestimmt und in dem Befehlsregister 52 gesetzt Die Verarbeitung zum Modifizieren und Bestimmen des
folgenden SCi durch den vorhergehenden DCi ist äußerst vorteilhaft, beispielsweise in dem Fall, in
welchem die Verzweigungsadresse des Verzweigungsbefehls, welcher ein SCi ist, durch die Inhalte des
Akkumulators usw. bestimmt wird.
Wie im vorhergehenden beschrieben, kann gemäß der Erfindung der DCi, welcher aus dem Wiederauffinden der DCi-Speichertabelle 58 durch den SCi resultiert,
in dem Befehlsregister 53 für die DCi's gesetzt werden, während die Inhalte des Akkumulators usw. (enthalten
in der Registergruppe 59) durch den DCi in dem Befehlsregister 52 für die SCi's gesetzt werden können,
so daß die Anzahl von Schritten der in dem Steuerspeicher 51 gespeicherten Mikrobefehle reduziert und gleichzeitig die Anwendbarkeit der Software
gesteigert werden kann.
Mit Bezug auf die F i g. 9A und 9B werden in F i g. 8 dargestellte Hauptschaltungen beschrieben, wobei den
in F i g. 8 dargestellten Teilen entsprechende Teile mit denselben Bezugszahlen versehen sind.
F i g. 9A zeigt den konkreten Aufbau des ODER-Gatters 65, des Mikrobefehlszählers 54 und der +1-Schaltung 55. Fig.9B zeigt eine Zeitschaltung. In Fig.9A
kennzeichnet Bezugszahl 71 eine Verzweigungsadresse aus dem Befehlsregister (SCR) 52 in Fig.8; 72 einen
Eingang aus der Startadreßtabelle 56; 73 einen Eingang aus der +1-Schaltung; 74, 75, 76 und 78 UND-Gatter;
und 77 ein ODER-Gatter. Der Mikrobefehlszähler 54 ist mit einem Flip-Flop ausgeführt. Zeit- bzw. Taktimpulse
Ta, Tb und Tc werden durch die in F i g. 9B dargestellte
Schaltung erzeugt In der Fig.9B bezeichnet Bezugszahl 80 einen Dekodierer, 81 eine Zeitschaltung und 82
eine Taktschaltung. Die SCi- und DCi-Information wird über den Dekodierer 80 der Zeitschaltung 81 zugeleitet
um sie zu steuern. Die Zeitschaltung 81 ist mit der Taktschaltung 82 synchronisiert um die geforderten
Taktimpulse Ta, Tb und Tc zu liefern. In Fig.9A
erzeugen die Taktimpulse Ta, Tb und Tc UND-Ausgänge mit den Eingängen 71, 72 und 73 und der
Mikrobefehlszähler 54 wird durch die Taktimpulse aus dem ODER-Gatter 77 und dem UND-Gatter 78
gesteuert
Fi g. 10 zeigt den Schaltungsaufbau einer durch eine
unterbrochene Linie in F i g. 8 angedeuteten Vordekodiererschaltung und der ODER-Gatter 66 und 67, des
Befehlsfolgeregisters (SCR) 52 und des Datenwegsteuerregisters (DCR) 53. In F i g. 10 bezeichnet Bezugszahl
90 eine Vordekodiererschaltung, welche Steuerausgänge 94 und 95 für das DCR 53 und das SCR 52 mit
UND-Gattern 92 und 93 für das UND- und NAND-Gatter 91 von nur zwei Ausgängen CSb und CSi von
sechzehn Ausgängen CSb bis CSi s des Steuerspeichers 51 sowie einen Taktimpuls CL und einen Operationssteuerungstaktimpuls erzeugt Das ODER-Gatter 67
erzeugt einen ODER-Ausgang zwischen dem Ausgang des Steuerspeichers 51 und dem der DCi-Tabelle 53 und
das Datenwegsteuerregister 53 der Flip-Flop-Schaltung wird durch den Ausgang 94 der Vordekodiererschaltung
gesteuert In gleicher Weise erzeugt das ODER-Gatter 66 einen ODER-Ausgang zwischen dem Ausgang des
Steuerspeichers 51 und der Rechenaddierer- und Logikeinheit 60 und das Befehlsfolgeregister 52 der
Flip-Flop-Schaltung wird durch den Ausgang 95 der Vordekodiererschaltung gesteuert
Hierzu 6 Blatt Zeichnungen
Claims (1)
- Patentanspruch:Mikroprogrammsteuereinrichtung mit einem Steuerspeicher, in dem eine erste Gruppe von Mikrobefehlen zum Steuern der verschiedenen Datenwege innerhalb des Prozessors und eine zweite Gruppe von Mikrobefehlen zur Bestimmung der Mikrobefehlsfolge gespeichert werden, wobei beide Gruppen von Mikrobefehlen aus dem Steuerspeicher in ein nachgeschaltetes Mikrobefehlsregister gelesen werden, gekennzeichnet durch folgende Merkmale:
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6483172A JPS5320178B2 (de) | 1972-06-28 | 1972-06-28 | |
JP7274872A JPS5325226B2 (de) | 1972-07-20 | 1972-07-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2332971A1 DE2332971A1 (de) | 1974-01-10 |
DE2332971C2 true DE2332971C2 (de) | 1982-11-04 |
Family
ID=26405939
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2332971A Expired DE2332971C2 (de) | 1972-06-28 | 1973-06-28 | Mikroprogrammsteuereinrichtung |
Country Status (5)
Country | Link |
---|---|
US (1) | US3868649A (de) |
CA (1) | CA1003116A (de) |
DE (1) | DE2332971C2 (de) |
FR (1) | FR2191777A5 (de) |
GB (2) | GB1438342A (de) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3972029A (en) * | 1974-12-24 | 1976-07-27 | Honeywell Information Systems, Inc. | Concurrent microprocessing control method and apparatus |
US4027293A (en) * | 1975-09-12 | 1977-05-31 | Control Data Corporation | Microcode program sequencer |
DE2555963C2 (de) * | 1975-12-12 | 1982-10-28 | Ibm Deutschland Gmbh, 7000 Stuttgart | Einrichtung zur Funktionsmodifizierung |
JPS5299034A (en) * | 1976-02-17 | 1977-08-19 | Nippon Telegr & Teleph Corp <Ntt> | Control system for micro program |
US4156925A (en) * | 1976-04-30 | 1979-05-29 | International Business Machines Corporation | Overlapped and interleaved control store with address modifiers |
US4112495A (en) * | 1977-02-09 | 1978-09-05 | Texas Instruments Incorporated | Electronic calculator or microprocessor having a selectively loadable instruction register |
US4330823A (en) * | 1978-12-06 | 1982-05-18 | Data General Corporation | High speed compact digital computer system with segmentally stored microinstructions |
US4323963A (en) * | 1979-07-13 | 1982-04-06 | Rca Corporation | Hardware interpretive mode microprocessor |
US4928223A (en) * | 1982-10-06 | 1990-05-22 | Fairchild Semiconductor Corporation | Floating point microprocessor with directable two level microinstructions |
US4697250A (en) * | 1983-08-22 | 1987-09-29 | Amdahl Corporation | Flexible computer control unit |
US5129060A (en) * | 1987-09-14 | 1992-07-07 | Visual Information Technologies, Inc. | High speed image processing computer |
US4985848A (en) * | 1987-09-14 | 1991-01-15 | Visual Information Technologies, Inc. | High speed image processing system using separate data processor and address generator |
US5109348A (en) * | 1987-09-14 | 1992-04-28 | Visual Information Technologies, Inc. | High speed image processing computer |
US5146592A (en) * | 1987-09-14 | 1992-09-08 | Visual Information Technologies, Inc. | High speed image processing computer with overlapping windows-div |
JPH01271838A (ja) * | 1988-04-22 | 1989-10-30 | Fujitsu Ltd | マイクロプログラム分岐方法 |
US5131086A (en) * | 1988-08-25 | 1992-07-14 | Edgcore Technology, Inc. | Method and system for executing pipelined three operand construct |
US5303358A (en) * | 1990-01-26 | 1994-04-12 | Apple Computer, Inc. | Prefix instruction for modification of a subsequent instruction |
US7162621B2 (en) * | 2001-02-21 | 2007-01-09 | Mips Technologies, Inc. | Virtual instruction expansion based on template and parameter selector information specifying sign-extension or concentration |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3343141A (en) * | 1964-12-23 | 1967-09-19 | Ibm | Bypassing of processor sequence controls for diagnostic tests |
NL6815506A (de) * | 1968-10-31 | 1970-05-04 | ||
US3673575A (en) * | 1970-06-29 | 1972-06-27 | Ibm | Microprogrammed common control unit with double format control words |
US3696340A (en) * | 1970-11-09 | 1972-10-03 | Tokyo Shibaura Electric Co | Microprogram execution control for fault diagnosis |
US3713108A (en) * | 1971-03-25 | 1973-01-23 | Ibm | Branch control for a digital machine |
US3735363A (en) * | 1971-04-07 | 1973-05-22 | Burroughs Corp | Information processing system employing stored microprogrammed processors and access free field memories |
US3748649A (en) * | 1972-02-29 | 1973-07-24 | Bell Telephone Labor Inc | Translator memory decoding arrangement for a microprogram controlled processor |
US3760369A (en) * | 1972-06-02 | 1973-09-18 | Ibm | Distributed microprogram control in an information handling system |
-
1973
- 1973-06-26 US US373793A patent/US3868649A/en not_active Expired - Lifetime
- 1973-06-27 CA CA175,036A patent/CA1003116A/en not_active Expired
- 1973-06-28 DE DE2332971A patent/DE2332971C2/de not_active Expired
- 1973-06-28 FR FR7323652A patent/FR2191777A5/fr not_active Expired
- 1973-06-28 GB GB5304875A patent/GB1438342A/en not_active Expired
- 1973-06-28 GB GB3079973A patent/GB1438341A/en not_active Expired
Also Published As
Publication number | Publication date |
---|---|
GB1438342A (en) | 1976-06-03 |
FR2191777A5 (de) | 1974-02-01 |
GB1438341A (en) | 1976-06-03 |
DE2332971A1 (de) | 1974-01-10 |
US3868649A (en) | 1975-02-25 |
CA1003116A (en) | 1977-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2332971C2 (de) | Mikroprogrammsteuereinrichtung | |
DE2819571C2 (de) | ||
DE1499722C2 (de) | Einrichtung zur Modifizierung von Informationswörtern | |
DE2224537C2 (de) | Einrichtung und Verfahren zur Instruktionsauswahl in einem Fließbandprozessor | |
DE1178623C2 (de) | Programmgesteuerte datenverarbeitende Maschine | |
EP0097725B1 (de) | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen | |
DE2130299B2 (de) | Eingabe-/Ausgabekanal für eine Datenverarb eitungsanlage | |
DE2953861C2 (de) | ||
DE1774296B2 (de) | Restruktuierbare Steuereinheit für elektronische Digitalrechner | |
DE2644441A1 (de) | Datenverarbeitungssystem | |
DE2746505C2 (de) | ||
DE2910839A1 (de) | Einrichtung zur ausfuehrung einer speziellen verzweigungsinstruktion | |
DE2712224A1 (de) | Datenverarbeitungsanlage | |
DE2758830A1 (de) | Rechenvorrichtung | |
DE2715073B2 (de) | Mikroprogranunierte Rechner-Steuervorrichtung | |
DE1285220B (de) | Datenverarbeitungssystem mit mehreren selbstaendigen Recheneinheiten | |
DE2718110A1 (de) | Datenverarbeitungseinheit | |
DE2524046A1 (de) | Elektronische datenverarbeitungsanlage | |
DE3900246C2 (de) | ||
DE2817073A1 (de) | Adressenberechnungsanordnung | |
DE2617485B2 (de) | Schaltungsanordnung für Datenverarbeitungsanlagen zur Abarbeitung von Mikrobefehlsfolgen | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE3113188A1 (de) | Verfahren und vorrichtung zur steuerung der informationsuebertragung zwischen einem speicherkomplex und verschiedenen verarbeitungseinheiten eines digitalen informationsverarbeitungssystems | |
DE1277598C2 (de) | Datenverarbeitungsanlage | |
DE1474376A1 (de) | Verfahren und Anordnung zum schnellen Zugriff bei grossen seriellen Speichern |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
D2 | Grant after examination | ||
8328 | Change in the person/name/address of the agent |
Free format text: REINLAENDER, C., DIPL.-ING. DR.-ING., PAT.-ANW., 8000 MUENCHEN |
|
8339 | Ceased/non-payment of the annual fee |