DE2332971A1 - Mikroprogrammsteuersystem - Google Patents
MikroprogrammsteuersystemInfo
- Publication number
- DE2332971A1 DE2332971A1 DE2332971A DE2332971A DE2332971A1 DE 2332971 A1 DE2332971 A1 DE 2332971A1 DE 2332971 A DE2332971 A DE 2332971A DE 2332971 A DE2332971 A DE 2332971A DE 2332971 A1 DE2332971 A1 DE 2332971A1
- Authority
- DE
- Germany
- Prior art keywords
- dci
- control
- command
- sci
- register
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Description
PATENTANWÄLTE
DR. CLAUS REINLÄNDER
DR. CLAUS REINLÄNDER
DlPL-ING. KLAUS BERNHARDT , .
, D - 8 MÖNCHEN 60 ii D/ "
Fujitsu Limited
No. 1015, Kamikodanaka 2332971
Nakahara-ku, Kawasaki
Japan
Mikroprogrammsteuersystem
Prioritäten: 28. Juni 1972 Japan 64831/1972 20. Juli 1972 Japan 72748/1972
Die Erfindung betrifft allgemein Mikroprogrammsteuersysteme und insbesondere ein Mikroprogrammsteuersystem,
welches so beschaffen ist, daß gemäß den Ergebnissen der Verarbeitung einer ersten Gruppe von Befehlen zum
Steuern einer Datenwegeinheit eine zweite Gruppe von Befehlen zum Steuern einer Systemsteuereinheit bereitgestellt
wird, und umgekehrt, und daß Mikrobefehle, die aus einem Steuerspeicher au3£"?.e»sen sind, der Mikrobefehle
gespeichert hat, und die gemäß den Ergebnissen der Verarbeitung der anderen Gruppe von Befehlen gegebenen
Befehle nach Belieben ausgewählt werden können.
Allgemein können bei der Datenverarbeitung mit Mikroprogrammierung
Mikrobefehle grob in eine erste Gruppe von Befehlen, beispielsweise ein tJbertragungsbefehl,
ein Rechenbefehl, ein boolescher Befehl, ein Verschiebungsbefehl usw., zum Steuern des Datenweges, d.h. Datenwegsteuerbefehle
(im folgenden als ein DCi bezeichnet), und in eine zweite Gruppe von Befehlen unterteilt werden, beispielsweise
ein Ausführungsbefehl, ein Verzweigungsbefehl, ein Steuerbefehl usw., für eine Speicherzugriffssteuerung
und eine Reihenfolgesteuerung eines Mikroprogramms
309882/1212
2332S71
selbst, mit anderen Worten Befehle zum Steueih einer
Systemsteuereinheit, d.h. Systemsteuerbefehle (im folgenden als ein SCi bezeichnet). Der Datenwegsteuerbefehl bzw. DCi
wird zum Steuern der Datenwegeinheit verwendet, während der Systemsteuerbefehl bzw. SCi zum Steuern der Systemsteuereinheit
verwendet wird.
Bislang sind Mikroprogrammsteuersysteme dieser Art vorgeschlagen worden, beispielsweise eines, bei welchem der
DCi und SCi, nachdem sie nach ihren Operationstellen klassifiziert sind, in einem Steuerspeicher zum Speichern
der Mikrobefehle gespeichert und dann in einem einzelnen Befehlsregister gespeichert werden, wenn sie aus dem
Steuerspeicher ausgelesen sind, und anschließend, nach dem Dekodieren ihrer Operationsteile, jeweils der Datenwegeinheit
und der Systemsteuereinheit zugeleitet werden (vgl. Fig. 1), und beispielsweise ein weiteres, bei
welchem ein in dem Steuerspeicher zu speicherndes Wort zwei Teile für den DCi und SCi aufweist und bei welchem
ein Befehl von einem Wort mit zwei Befehlsteilen nach dem Auslesen in einem Befehlsregister gespeichert wird und bei
welchem anschließend der DCi-Teil bzw. der SCi-Teil der
Datenwegeinheit beziehungsweise der Systemsteuereinheit zugeführt wird (vgl. Pig. 2).
Bezüglich ihrer Einzelheiten wird auf "Microprogramming
Principles and Practices" von Samir S. Husson, veröffentlicht durch Trentice-Hill Inc., 1970, Selten 212 bis 207,
6.4.2: The IBM System-360, Modell 25, und Seiten 239 bis 242, 7.9: The Mechanics of Microprogramming, Modell 40, Bezug
genommen. Ihre Umrisse werden im folgenden beschrieben.
In Pig. 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äß ihren
309882/1212
J - 5 - ι
I · 2332371
Operationsteilen der Datenwegeinheit bzw. tier System-Steuereinheit
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
Operationsteil 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 Systemsteuerbefehl 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 Pail des Auslesens eines SCi nach einem DCi, welcher eine 2-Zyklus-Zeit in Form der Zyklus-Zeit des
Steuerspeichers 1 erfordert, ist das Befehlsregister durch den vorhergehenden DCi besetzt, so daß der folgende
SCi nicht in dem Register 2 gespeichert werden kann. Die DCi und SCi werden zwar verschiedenen Einheiten
zugeführt und Parallelverarbeitung ist möglich, in dem oben genannten Fall ist jedoch nur serielle Verarbeitung
möglich.
Fig. 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 der Datenwegsteuereinheit
bzw. der Systemsteuereinheit zugeführt. Demzufolge ist Parallelverarbeitung der DCi-- und SCi
309882/1212
zwar möglich, in dem Pall 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 Steuerspeichers
5 gesenkt.
Ein Ziel der Erfindung ist es, ein I-Iikroprograimnsteuersystem
zu schaffen, welches gegenüber des oben beschriebenen
Stand der Technik verbessert ist und bei welchem die Mikrobefehle DCi und SCi in verschiedenen Registern
gespeichert werden, um Parallelverarbeitung zu ermöglichen.
Es ist weiter Ziel der Erfindung, ein Mikroprogrammsteuersystem zu schaffen, welches derart beschaffen ist, daß,
falls erforderlich, ein Mikroprogramm-SCi durch einen vorhergehenden Mikroprogramm-DCi oder ein Mikroprogramm-DCi
durch einen vorhergehenden Mikroprogramm-SCi modifiziert werden kann.
Hoch ein weiteres Ziel der Erfindung ist es,*ein Mikroprogrammsteuersystem
zu schaffen, welches so aufgebaut ist, daß ein Mikrobefehl DCi oder SCi nach Belieben aus
Mikrobefehlen ausgewählt werden kann, die aus dem Steuerspeicher ausgelesen worden sind, oder aus denjenigen,
die von dem Ergebnis der Verarbeitung der anderen Gruppe von Befehlen abhängig sind.
Das Mikroprogrammsteuersystem nach der Erfindung weist einen Steuerspeicher auf, in welchem Mikrobefehle gespeichert
sind, die dabei in eine erste Gruppe von Befehlen für eine Datenwegsteuerung und eine zweite Gruppe von
Befehlen für eine Speicherzugriffssteuerung und eine -'Reihenfolgesteuerung des Mikroprogramms selbst aufgeteilt
sind, und aus welchem die beiden Gruppen von Mikrobefehlen unabhängig voneinander ausgelesen werden können.
Ein solches Mikroprogrammsteuersystem ist gemäß der Erfindung dadurch gekennzeichnet, daß die aus dem Steuerspeicher
ausgelesenen ersten und zweiten Gruppen von Befehlen
309882/ 12 12
ί1
|ί ί|
jeweils in vorbestimmten, gesonderten Registern gespeichert werden.
Außerdem sind bei dem Mikroprogrammsteuersystem nach der Erfindung ein erstes Befehlsregister zum Speichern von
Befehlen der ersten Gruppe und ein zweites Befehlsregister zum Speichern von Befehlen der zweiten G-ruppe vorgesehen
und beide bzw. jedes der beiden Befehlsregister speichern die Befehle ihrer Gruppe von auf der Verarbeitung der
anderen Gruppe von Befehlen basierenden Befehlen.
Ein Ausführungsbeispiel der Erfindung ist in den Zeichnungen dargestellt und wird im folgenden näher beschrieben.
Es zeigen:
Pig. 1 und 2 jeweils in Form eines Blockdiagramms ein Schema eines herkömmlichen Mikroprogrammsteuersystems,
Fig. 3A bis 3E ein Beispiel eines bei der Erfindung verwendbaren
Befehlsformats, wobei Fig. 3A ein allgemeines DCi-Format, Fig. 3B ein Beispiel von
Befehlen in dem Fall des Modifizierens einss SCl
mit einem OGi, 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 eines Ausführungsbeispiels eines Steuersystems nach der Erfindung,
Fig. 5 ein Beispiel eines Zeitdiagramms für eine Mikroprogrammsteuerung
in dem Beispiel von Fig. 4,
Fig. 6 ein Beispiel eines Flußdiagramms, welches eine Verarbeitung darstellt, die in eine vorbestimmte
Routine verzweigt und anschließend unter vorherbestimmten Bedingungen wieder in Ausgangsstellung
gebracht wird,
30983?/ 12 12
Pig. 7 ein Beispiel eines Zeitdiagramms in dem Pall des
Modifizierens eines OCi mit einem SCi,
Pig. 8 in einem Blockdiagramm ein Beispiel des Aufbaus
eines Steuersystems nach der Erfindung, und
Pig. 9 und 10 Schaltbilder, welche jeweils einen Teil
des in Pig. 8 dargestellten Ausführungsbeispiels zeigen.
Bei dem oben beschriebenen Stand der Technik wird ein
DCi zum Steuern der Datenwegeinheit verwendet, während ein SCi zum Steuern der Systemsteuereinheit 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 Pall, 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 Ausführen des dritten
Rechenbefehls mit dem Verzweigungsbefehl (einer von SCi's)
wieder nach der Verarbeitung des zweiten Rechenbefehls 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 Pail des Ausführens der oben genannten
309882/1212
j!
Verarbeitung ist nämlich der dem ersten Rö'chenbefehl
folgende zweite Rechenbefebl so beschaffen, daß irgendeiner von einer Tielzahl von Recb.enbefeb.len 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 Verζweigungsbefehle,
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, um dadurch die Software anwendbar zu machen.
Wie vorher bereits erläutert, ist das Mikroprogrammsteuersystem nach der Erfindung so beschaffen, daß die folgenden
Mikrobefehle DCi oder SCi nach Wunsch ausgewählt werden können, und zwar entweder durch einen aus dem Steuerspeicher
ausgelesenen Mikrobefehl oder durch einen in Abhängigkeit von dem Verarbeitungsergebnis der anderen
Gruppe von Mikrobefehlen bereitgestellten Mikrobefehl, wie oben erläutert. Das bei der vorliegenden Erfindung
zu verwendende Befehlsformat wird im folgenden beschrieben.
Pig. 3>A zeigt den Fall eines üblichen Formats des DCi,
in welchem eine befohlene Operation unter Verwendung der Inhalte von Adressen R1 und Rp in einem Operationskodebereich
OP ausgeführt und in der Adresse Rg gespeichert wird. Demzufolge ist es in dem Fall, in dem ein folgender
30988?/ 1 ? 1 7
ir
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 Pig. 3B dargestellt. Dieser Übertragungsbefehl ist ein DCi.
Pig. 3C zeigt ein Steuerinformation-Befehlsformat des SCi, in welchem die Systemsteuereinheit gewöhnlich
abhängig davon gesteuert wird, ob ein Bit an einer vorbestimmten Stelle in einem Steuerinformation(CTI-Information)
-Bereich "1" oder "O" ist. Pig. 3C zeigt allgemein den Pail, in welchem beispielsweise eine Speicherabfrage
durch das Bit "1" gemacht wird. Ein Yerzweigungsbefehl, wie er in Pig. 3D dargestellt ist, ist ebenfalls
ein SCi, und ein Befehl zum Modifizieren des nächsten Befehls, wie er in Pig. 3E dargestellt ist, wird für
die Modifikation des DCi mit dem SCi verwendet.
Pig. 4 ist ein Schema zur Erläuterung des Systems nach der Erfindung. In dieser Pigur bezeichnet Bezugszahl 31
einen Steuerspeicher, 32 ein Befehlsregister DCR (ein Datenwegsteuerregister) zum ausschließlichen Speichern
der DCi und 33 ein Befehlsregister SCR (ein Reihenfolgesteuerregister) 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, wird 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 DCi der Datenwegsteuereinheit und der SCi der Systemsteuereinheit zugeführt. Bei diesem System ist
der Bitausnutzungswirkungsgrad des Steuerspeichers 31
gleich demjenigen in dem System von Pig. 1 und Parallelverarbeitung der DCi und SCi ist möglich, wie es bei dem
30988?/ 1 ? 1 ?
|i
System von Fig. 2 der Pall ist. Ein Zeitdiagramm der
Parallelverarbeitung ist in Pig. 5 dargestellt. In dieser Pigur bezeichnet Bezugszeichen MIC einen
Mikrobefehlszähler für den Zugriff zu dem Steuerspeicher
CS (entsprechend dem mit Bezugszahl 31 in Pig. 4), DCR das in Pig. 4 dargestellte Befehlsregister
32 und SCR das in Pig. 4*dargesteilte 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
Fr. 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 vorher dekodiert und in dem Befehlsregister
SCR gespeichert. Somit ist, wie aus Pig. 5 hervorgeht, in der Zykluszeit Fr.3 Parallelverarbeitung
der DCi und SCi sogar dann möglich, wenn vor der Zykluszeit Nr.3 ein Mikrobefehl vorhanden ist, der zwei Zyklen
erfordert.
Die gesonderte Bereitstellung der Befehlsregister 32 und 33, wie in Pig. 4 dargestellt, ermöglicht nicht nur
Parallelverarbeitung, wie oben mit Bezug auf Pig. 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 Pig. 8 beschrieben ist.
Pig. 6 zeigt ein Schema zum Erläutern der Vorteile, die sich aus der Modifikation des folgenden DCi ergeben. Es
309882/1212
'i
sei angenommen, daß einer solchen Prozedur gefolgt wird,
daß, wenn das Rechenergebnis eines bestimmten Rechenbefehls DCi(X) Bull 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.
Mit einer herkömmlichen 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 einer der SCi's 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 (der Befehl zum Modifizieren
des nächsten Befehls), der DCi(SUB) und der DCi(Y) sequentiell in dem Steuerspeicher (weiter unten
mit Bezug auf Pig. 8 beschrieben) zum Speichern der Mikrobefehle gespeichert; wenn das Rechenergebnis des
DCi(X) Null ist, wird der DCi(ADD) aus einer Befehlstabelle (weiter unten beschrieben) durch den Befehl zum
Modifizieren des nächsten Befehls zurückgeholt, ohne den DCi(SUB) als einen folgenden Mikrobefehl in dem
Befehlsregister zu setzen; und danach wird der DCi(X) wieder aus dem Steuerspeicher ausgelesen und in dem
Befehlsregister gesetzt. Das verringert die Anzahl von Schritten und beschleunigt die Verarbeitung.
Ein Zeitdiagramm für diesen Pail ist in Fig. 7 gezeigt.
Es wird nämlich der Befehl SCi(NEXT) zum Modifizieren des nächsten Befehls in dem Befehlsregister SCR zum
30 9 882/1212
Speichern der SCi's gesetzt, um dadurch zu prüfen, ob
ein vorhergehendes Rechenergebnis Null ist oder nicht. Wenn das Rechenergebnis Null ist, wird ein Befehlstabelle-DCi(TABELLE)
wiederaufgefunden und der DCi(ADD) wird in dem Befehlsregister DCR gesetzt, um darin die
DCi's zu speichern. Wenn das Rechenergebnis nicht Null ist, wird der DCi(SUB) in dem Befehlsregister DCR aus dem
Steuerspeicher CS gesetzt.
Fig. 8 zeigt ein Ausflihrungsbeispiel 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 den aus dem Steuerspeicher
51 ausgelesenen Mikrobefehl DCi speichert; 53 ein Befehlsregister, welches den aus dem Steuerspeicher 51
ausgelesenen Mikrobefehl SCi 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, einAdreßregister usw. umfaßt, die für die
Operation durch den DCi verwendet werden, und in welchem Daten des Rechenergebnisses usw. gesetzt werden; 60 eine:,
Rechenaddier ei?-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 Fig. 4 beschriebenen üblichen Leseoperation gegeben. Wenn
Adreßinformation durch, die Startadreßanzeigeeinrichtung
oder einen Verzweigungsbefehl in dem Mikrobefehlszähler 54 gesetzt worden
30988?/ 12 12
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 Yerzweigungsbefehl gesetzt ist, der Inhalt des Mikrobefehlszählers 54 mit +1 durch die +1-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 durch das ODER-Gatter 67 gespeichert und zum Steuern der Datenwegeinheit
verwendet. Wenn der Befehl ein SCi ist, wird er in dem Befehlsregister 52 durch das ODER-Gatter 66 gespeichert
und zum Steuern der Systemsteuereinheit verwendet.
Als nächstes folgt eine Beschreibung in Verbindung mit dem Pail, 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 Fig. 6 und 7 beschrieben ist.
Der Befehl zum Modifizieren des nächsten Befehls der wie beispielsweise in Fig. 3E gezeigt, welcher ein SCi
ist, wird in das Befehlsregister 53 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 wiederaufgefunden. Danach wird der an dieser Adresse gespeicherte DCi in dem Befehlsregister
durch das ODER-Gatter 67 gesetzt und eine Operation gemäß dem DCi wird ausgeführt. Ein folgender DCi wird
zwar üblicherweise aus dem Steüerspeicher 51 ausgelesen, das Auslesen aus demselben ist Jedoch unwirksam gemacht
und der DCi aus der DCi-Speichertabelle, 58 wird in dem Befehlsregister 53 gesetzt.
309887/12 1?
ORIGINAL INSPECTED
ι;
Nun wird eine Beschreibung des Falles gegebnen, in welchem
ein folgender SCi durch einen ihm vorhergehenden DCi modifiziert wird.
In diesem Pail wird ein Übertragungsbefehl, wie er beispielsweise
in Fig. 3B dargestellt ist, in das Befehlsregister 53 eingelesen und darin gespeichert. Wie in
Fig. 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 Pail 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.
309882/1212
ORIGINAL INSPECTED
-H -
Mit Bezug auf die Fig. 9A und 9B werden in Fi'g. 8 dargestellte Hauptschaltungen beschrieben, wobei den in Fig. 8
dargestellten Teilen entsprechende Teile mit denselben Bezugszahlen versehen sind.
Fig. 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. Zeitbzw. Taktimpulse Ta, Tb und Tc werden durch die in Fig. 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 Flg. 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.
Fig. 10 zeigt den Schaitungsaufbau einer durch eine unterbrochene
Linie in Fig. 8 angedeuteten Vordekodiererschaltung und der ODER-Gatter 66 und 67, des Befehlsfolgeregisters
(SCR)52 und des Datenwegsteuerregisters (DCR)53. In Fig.
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 CSQ tirid CS1 von sechzehn Ausgängen CS0
bis CS1C des Steuerspeichers 51 sowie einen Taktimpuls CL
und einen Operationssteuerungstaktimpuls erzeugt. Das
309882/ 12 12
ORiGiNAL INSPECTED
- 15 - 1I
ODER-Gatter 67 erzeugt einen ODER-Ausgang zwischen dem
Ausgang des Steuerspeichers 51 und dem der DCi-Tabelle 55
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 Fllp-Flop-Schaltung wird durch
den Ausgang 95 der Vordekodiererschaltung gesteuert.
Oben sind das System nach der Erfindung und seine konkreten Schaltungen beschrieben worden. Selbstverständlich können
bekannte Schaltungen wahlweise als die Schaltungen des oben beschriebenen Blockdiagramms verwendet werden und es
ist nicht erforderlich, die Zählerschaltung, die Zeitschaltung, die Logikschaltung»die Flip-Flop-Schaltung usw.
durch Beispiele zu erläutern. Diese Schaltungen können
beispielsweise aus "Pulse, Digital and Switching Waveforms, Devices and Circuits for their generation and Processing",
Abschnitte 18, 9 und 10, von Jacob Millman, Herbert Taub,
Verlag McG-raw-Hill Book Company, entnommen werden.
30988?/1?1 7
Claims (3)
- . 1y Mikroprogrammsteuersystem mit einem Steuerspeicher, welcher Mikrobefehle speichert und diese dabei in eine erste Gruppe von Mikrobefehlen zum Steuern eines Datenweges und eine zweite Gruppe von Mikrobefehlen für eine Speicherzugriffssteuerung und eine Reihenfolgesteuerung eines Mikroprogrammes selbst aufteilt und aus welchem die beiden Gruppen von Befehlen unabhängig voneinander ausgelesen werden, dadurch gekennzeichnet, daß die aus dem Steuerspeicher ausgelesenen ersten und zweiten Gruppen von Befehlen jeweils in vorbestimmten, gesonderten Registern gespeichert werden.
- 2. System nach Anspruch 1, dadurch gekennzeichnet, daß ein erstes Befehlsregister zum Speichern von Befehlen der ersten Gruppe und ein zweites Befehlsregister zum Speichern von Befehlen der zweiten Gruppe vorgesehen sind und daß beidä bzw. jedes der beiden Befehlsregister die Befehle ihrer Gruppe von auf der Verarbeitung der anderen Gruppe von Befehlen basierenden Befehlen speichern.
- 3. System nach Anspruch 2, dadurch gekennzeichnet, daß, um in jedem der beiden Befehlsregister dessen Mikrobefehle zu speichern, die durch die andere Gruppe von in dem anderen Befehlsregister gespeicherten Mikrobefehlen bezeichnet sind, eine Speichereinrichtung vorgesehen ist, und daß jedes der ■ beiden Befehlsregister als seine Mikrobefehle einen aus dem Steuerspeicher ausgelesenen Mikrobefehl und den aus der Speichereinrichtung gemäß der anderen Gruppe von in dem anderen Befehlsregister gespeicherten Mikrobefehlen ausgelesenen Mikrobefehl auswählt und speichert.30988?/1?1"?ftLeerseite
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 true DE2332971A1 (de) | 1974-01-10 |
DE2332971C2 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) | GB1438341A (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 |
US5146592A (en) * | 1987-09-14 | 1992-09-08 | Visual Information Technologies, Inc. | High speed image processing computer with overlapping windows-div |
US5109348A (en) * | 1987-09-14 | 1992-04-28 | 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 |
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 |
Citations (1)
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 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 FR FR7323652A patent/FR2191777A5/fr not_active Expired
- 1973-06-28 DE DE2332971A patent/DE2332971C2/de not_active Expired
- 1973-06-28 GB GB3079973A patent/GB1438341A/en not_active Expired
- 1973-06-28 GB GB5304875A patent/GB1438342A/en not_active Expired
Patent Citations (1)
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 |
Non-Patent Citations (2)
Title |
---|
A.P. Speiser "Digitale Rechenanlagen", Springer-Verlag 1965, Seiten 242, 243 * |
Samit S. Husson, "Microprogramming Principles and Practices", Prentice-Hall Inc. 1970, Seiten 212 bis 217 und Seiten 239 bis 242 * |
Also Published As
Publication number | Publication date |
---|---|
GB1438342A (en) | 1976-06-03 |
CA1003116A (en) | 1977-01-04 |
GB1438341A (en) | 1976-06-03 |
US3868649A (en) | 1975-02-25 |
FR2191777A5 (de) | 1974-02-01 |
DE2332971C2 (de) | 1982-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2332971A1 (de) | Mikroprogrammsteuersystem | |
DE1499722C2 (de) | Einrichtung zur Modifizierung von Informationswörtern | |
DE2617436C2 (de) | ||
DE3424962C2 (de) | ||
DE1178623C2 (de) | Programmgesteuerte datenverarbeitende Maschine | |
EP0097725B1 (de) | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen | |
DE2230102A1 (de) | Rechenwerk fuer variable wortlaengen | |
DE2847934A1 (de) | Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher | |
DE2457612A1 (de) | Mikroprogrammier-steuersystem | |
DE2413074A1 (de) | Mikroprogrammgesteuerter datenverarbeiter | |
DE2758830A1 (de) | Rechenvorrichtung | |
DE2746505C2 (de) | ||
DE2318069A1 (de) | Rechnersteuersystem unter verwendung von mikroprogrammierung und statisch/dynamischer erweiterung von steuerfunktionen mittels festverdrahteter logischer matrix | |
DE2145709A1 (de) | Datenverarbeitungsanlage | |
DE2854782C2 (de) | Datenverarbeitungssystem und Verfahren zum Ersetzen eines Datenblocks in einem Schnellspeicher | |
DE2539211A1 (de) | Zugriffssteuereinheit | |
DE2426874A1 (de) | Verfahren und schaltungsanordnung zur bestimmung der adressenart eines befehls | |
DE3116385C2 (de) | Mikroprogramm-Steuerung | |
DE3900246A1 (de) | Informationsverarbeitungsvorrichtung | |
DE1806535B2 (de) | Seriell arbeitende digitale rechenanlage | |
DE1499191B2 (de) | Elektronische einrichtung fuer eine datenverarbeitungsanlage | |
DE2702722C2 (de) | Einrichtung zur Verarbeitung nicht direkt ausführbarer Instruktionen | |
DE3121046C2 (de) | ||
DE1524200B2 (de) | Zeitgabesteuerschaltung fuer einen elektronischen ziffernrechner | |
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 |