DE2332971C2 - Mikroprogrammsteuereinrichtung - Google Patents

Mikroprogrammsteuereinrichtung

Info

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
Application number
DE2332971A
Other languages
English (en)
Other versions
DE2332971A1 (de
Inventor
Takashi Yokohama Aoki
Yasuyoshi Kawasaki Asagi
Kiyosumi Kawasaki Sato
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 JP6483172A external-priority patent/JPS5320178B2/ja
Priority claimed from JP7274872A external-priority patent/JPS5325226B2/ja
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of DE2332971A1 publication Critical patent/DE2332971A1/de
Application granted granted Critical
Publication of DE2332971C2 publication Critical patent/DE2332971C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/28Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/223Execution 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/268Microinstruction 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.
Bei diesem System werden die DCi- und SCi-Teile des
in dem Befehlsregister 6 gespeicherten Befehls dem
Datenteil bzw. dem Steuerteil des Prozessors zugeführt Demzufolge ist Parallelverarbeitung der DCi und SCi
zwar möglich, in dem Fall jedoch, in welchem viele
Befehle vorhanden sind, beispielsweise, solche, bei
welchen einer der DCi- und SCi-Teile nicht benötigt wird, wird der Bitausnutzungswirkungsgrad des Steuer-
Speichers 5 gesenkt
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.
F i g. 3C zeigt das Befehlsformat eines Steuerbefehls
' 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)

  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:
DE2332971A 1972-06-28 1973-06-28 Mikroprogrammsteuereinrichtung Expired DE2332971C2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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