DE2332971A1 - Mikroprogrammsteuersystem - Google Patents

Mikroprogrammsteuersystem

Info

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
Application number
DE2332971A
Other languages
English (en)
Other versions
DE2332971C2 (de
Inventor
Takashi Aoki
Yasuyoshi Asagi
Kiyosumi 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

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
DlPL-ING. KLAUS BERNHARDT , .
, D - 8 MÖNCHEN 60 ii D/ "
ORTHSTRASSE12 j j
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)

  1. . 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. 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. 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"?
    ft
    Leerseite
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 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)

* 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
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)

* 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

Family Cites Families (7)

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

Patent Citations (1)

* 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

Non-Patent Citations (2)

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