DE2715073C3 - Mikroprogrammierte Rechner-Steuervorrichtung - Google Patents

Mikroprogrammierte Rechner-Steuervorrichtung

Info

Publication number
DE2715073C3
DE2715073C3 DE2715073A DE2715073A DE2715073C3 DE 2715073 C3 DE2715073 C3 DE 2715073C3 DE 2715073 A DE2715073 A DE 2715073A DE 2715073 A DE2715073 A DE 2715073A DE 2715073 C3 DE2715073 C3 DE 2715073C3
Authority
DE
Germany
Prior art keywords
microinstruction
address
register
jump
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE2715073A
Other languages
English (en)
Other versions
DE2715073A1 (de
DE2715073B2 (de
Inventor
Isamu Yokohama Yamazaki (Japan)
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.)
Toshiba Corp
Original Assignee
Tokyo Shibaura Electric Co 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
Application filed by Tokyo Shibaura Electric Co Ltd filed Critical Tokyo Shibaura Electric Co Ltd
Publication of DE2715073A1 publication Critical patent/DE2715073A1/de
Publication of DE2715073B2 publication Critical patent/DE2715073B2/de
Application granted granted Critical
Publication of DE2715073C3 publication Critical patent/DE2715073C3/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/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/264Microinstruction selection based on results of processing
    • G06F9/267Microinstruction selection based on results of processing by instruction selection on output of storage

Description

Die Erfindung betrifft eine mikroprogrammierte Rechner-Steuervorrichtung mit einem Speicher zur Speicherung eines Mikroprogramms aus gewöhnlichen Mikrobefehlen und aus Sprung-Mikrobefehlen, einem Mikrobefehlsregister für die Speicherung eines durchzuführenden Befehls, einem Adressenregister zur Speicherung einer Adresse des als nächsten auszuführenden Befehls, und mit einer Einrichtung zur Übertragung des als nächsten auszuführenden Befehls aus dem Speicher in das Mikrobefehlsregister, wobei dieser Befehl der in dem Adressenregister gespeicherten Adresse entsf-richt, und um zur gleichen Zeit das Adressenregister auf den neuesten Stand zu bringen.
Bei einer mikroprogrammierten Steuervorrichtung wird ein Arbeitsverfahren angewandt, bei dem die Befehlsausleseoperation zum Auslesen eines Mikrobefehls für einen Mikroprogrammspeicher und die Befehlsausführungsoperation zur Ausführung des aus dem Mikroprogramm ausgelesenen Befehls parallel geschaltet werden, d. h„ beide Operationen werden gleichzeitig und parallel zueinander in einem Maschinenzyklus verarbeitet; hierdurch wird die Verarbeitungsgeschwindigkeit erhöht Mit anderen Worten: wenn während der Ausführung emes Mikrobefehls ein Mikroprogramm sequentiell in derselben Reihenfolge wie eine vorbestimmte Adresse (üblicherweise in der binären Folge der Adresse) des Mikroprogrammspeichers ausgeführt wird, wird der Inhalt der Adresse, welche auf diejenige des Mikrobefehls folgt aus dem Mikroprogrammspeicher ausgelesen. Zu diesem Zweck sind ein Register (RDR) zum Speichern des Mikrobefehls und ein anderes Register (RAR)zum Speichern der Adresse zur Bezeichnung des Mikrobefehls vorgesehen, und der Inhalt des Adressenregisters RAR ist stets die Adresse nächst derjenigen zur Bezeichnung des im Mikrobefehlsregister RDR gespeicherten Befehls, und diese Adresse wird dem Mikroprogrammspeicher zugeführt.
Bei diesem Verfahren muß ein neuer Mikrobefehl in das Mikrobefehlsregister RDR praktisch zum selben Zeitpunkt geladen werden, zu welchem die Adresse des nächsten, durchzuführenden Befehls in das Adressenregister RAR geladen wird. Wenn jedoch der im Mikrobefehlsregister RDR geladene Befehl der Sprungmikrobefehl ist, wird die Adresse des im folgenden auszuführenden Befehls erst naeh Ausführung des Sprungmikrobefehls erhalten. Dies bedeutet, daß zwei Maschinenzyklen, nämlich der Befehlsausführzyklus und der nächste Befehlsabrufzyklus, für die Ausführung des Sprungmikrobefehls nötig sind. Wodurch die Paralleloperation unterbrochen und hierdurch die.Beschleunigung der Programmverarbeitung oder..~jjnrchführurig beeinträchtigt wird.
97 1 R
Die der Erfindung zugrunde liegende Aufgabe besteht darin, eine mikroprogrammierte Rechner-Steuervorrichtung der eingangs definierten Art derart zu verbessern, daß durch einen Sprungbefehl verursacht innerhalb eines Betriebszyklus der dem Sprungbefehl folgende Befehl ausgeführt und der übernächste Befehi im Speicher adressiert werden kann.
Ausgehend von der rnjkroprogrammierten Rechner-Steuervorrichtung der eingangs definierten. Art wird diese Aufgabe erfindungsgemäß dadurch gelöst, daß ein zusätzlicher Speicher vorgesehen ist, der spezifizierte Adressen enthält, in welchen die am häufigsten benutzten Mikrobefehle gespeichert sind, daß eine Steuereinrichtung derart aufgebaut ist, daß sie dann, wenn das Mikrobefehlsregister einen Sprung-Mikrobefehl mit einer der spezifizierten Adressen enthält, eine durch diesen Sprung-Mikrobefehl angegebene Sprung-Befehlsadresse in das Adressenregister überträgt und gleichzeitig den Mikrobefehl aus dem zusätzlichen Speicher in das Mikrobefehlsregister überträgt, der der spezifizierten Adresse des Sprung-Mikrobefehls entspricht.
Wenn ein Sprung-Mikrobefehl mit einer spezifizierten Adresse aus dem Hauptspeicher in das Mikrobefehlsregister umgeschrieben wird, so wird also ein Befehi, der durch die spezifizierte Adresse dieses Sprung-Mikrobefehls angegeben ist, von dem zusätzlichen Speicher in das Mikrobefehlsregister übertragen. Zur gleichen Zeit wird die Sprung-Befehlsadresse, die in dem Sprung-Mikrobefehl enthalten ist, in das Adressenregister übertragen.
Dies ist möglich, weil ein derartiger Sprung-Mikrobefehl zwei Adressen enthält, nämlich die spezifizierte Adresse für den zusätzlichen Speicher, d. h. für den nächsten auszuführenden Mikrobefehl, und die Sprung-Befehlsadresse, die dem übernächsten Mikrobefehl angibt
Ein derartiger inaktiver Zustand bzw. Leerlauf während eines Betriebszyklus, d. h. in diesem Fall während der Übertragung der Sprung-Befehlsadresse in das Mikrobefehlsadressenregister, tritt jedoch bei der Steuervorrichtung nach der Erfindung nicht auf.
Besonders vorteilhafte Weiterbildungen und Ausgestaltungen der Erfindung ergeben sich aus den Ansprüchen 2 bis 4.
Im folgenden sind bevorzugte Ausführungsformen der Erfindung anhand der Zeichnung näher erläutert Es zeigt
F i g. 1 ein Blockschaltbild einer mikroprogrammierten Rechner-Steuervorrichtung gemäß einer Ausführungpform,
Fig.9 ein Zeitsteunrdiagramm zur Veranschaulichung der Arbeitsweise der Vorrichtung gemäß Fig. 1 und
F i g. 3 ein Blockschaltbild einer abgewandelten mikroprogrammierten Steuervorrichtung.
F i g. 1 veranschaulicht in Blockschaltbildform eine mikroprogrammierte Steuervorrichtung bei welcher ein erster Speicher U zur Speicherung eines Mikroprogramms vorgesehen ist, nämlich ein Festwertspeicher (ROM) herkömmlicher Bauart mit einer für die Speicherung eines Hauptmikroprogramms, ausreichen* den Kapazität von z. B. 2K Worten. Ein zweiter Speicher 12 (ROM) speichert einen Mikrobefehl aus 8 Worten gemäß Tabelle L Vorzugsweise sind die im Speicher 12 gespeicherten Mikrobefehle die am häufigsten benutzten. Mit anderen Worten: wünschenswert ist ein Mikrobefehl (der nach dem Sprungmikrobefehj durchzuführende Mikrobefehl), der in der Sprungadresse des bei der Mikroprogrammfolge benutzten Sprungmikrobefehls gespeichert ist
Tabelle I
Adresse NOP Inhalt
0 ADD Keine Operation
1 SUB Additionsbefehl
2 AND SubtraktionsbefehJ
3 XOR Konjunktionsbefehl
4 LOAD Exklusiver ODER-Befehl
5 STORE Ladebefehl
6 MOVE Speicherbefehl
7 Übertragungsbefehl
Die aus obiger Adresse hervorgeht besitzen die 8-Wort-Mikrobefehle entsprechende Adressen, und sie sind in den dem Speicher 12 zugtteilten Adressen gespeichert Genauer gesagt: der NOP-Mikrobefehl (Keine Operation) ist in der »O«-Adresse des Speichers IZ der ADD-Mikrobefehl (Additionsbefehl) in der »!«-Adresse, der SUB-Mikrobefehl (Subtraktionsbefehl) in der Adresse »2«, der AND-Mikrobefehl (Konjunktionsbefehl) in der Adresse »3«, der XOR-Mikrobefehl (Exklusiver ODER-Befehl) in der Adresse »4«, der LOAD-Mikrobefehl (Befehl zum Lesen von Daten aus dem Speicher) in der Adresse »5«, der STORE-Mikrobefehl (Befehl zum Einschreiben von Daten in den Speicher) in der Adresse »6« und der MOVE-Mikrobetehl (für Datenübertragung) in der Adresse »7« gespeichert
Ein ROM-Adressenregister RAR 13 ist ein Befehlsfolgeregister zur Speicherung der Adresse des nächsten auszuführenden Mikrobefehls. Die im Register RAR 13 gespeicherte Adresseninformation bezeichnet oder kennzeichnet den Speicher 11 über eine Adressenlei-•ung 14. Sodann wird ein gewünschter, auszuführender Mikrobefehl aus der gewählten Adresse des Speichers 11 ausgelesen.
Eine an sich bekannte Addierschaltung 15 addiert »+1« zu der im Adressenregister Ϊ3 enthaltenen, über die Adressenleitung 14 gelieferten Adresseninformation. Ein ROM-Datenregister RDR 16 ist ein Mikrobefehlsregister zur Speicherung des aus dem Speicher 11 oder 12 ausgelesenen Mikrobefehls. Das Register RDR 16 besteht beispielsweise aus 11 Bits, wobei jeder Block zu einer vorbestimmten Bitlänge der betreffenden, noch zu beschreibenden Schaltung geleitet wird. Genauer gesagt: 4 Bits des im Register RDR16 gtspeicherten Mikrobefehls werden über eine Signalleitung 17 zu einer arithmetischen logischen Steuereinheit 18 geliefert. Wenn der im Register RDR 16 gespeicherte Mikrobefehl ein Sprungmikrobefehl ist wird das Steuerfeld (3 ßits) zur Steuerung der Arbeitsweise des Sprungmikrobefehls über die Steuerieitung 19 vom Register RDR16 zum Speicher 12 geliefert. Das Adressenfeld (4 Bits) wird dem Adressenregister RARA3 über eine Datenleitung 20 sugeliefert Das Format des u. a\ hier benutzten Sprungmikrobefehls ist in Tabelle 2 Veranschaulicht. Der Sprungmikrobefehl besteht aus einem Operationskodefeld aus 4 Bits, einem Steuerfeld aus 3 Bits und einem Adressenfeld aus 4 Bits. Der Operationskode »BR« des Sprungmikrobefehls ist im Operationsfeld (OP) gespeichert, während die die
Adresse für die Wahl des Mikrobefehls darstellenden Daten im Steuerfeld (STEUERUNG) und die Sprungadresse im Adressenfeld (ADRESSE) gespeichert sind.
tabelle 2
OP-KODE
5 7 8 11
STEUERUNG ADRESSE
Sprungmikrobefehlsformat
IO
Die arithmetische logische Steuereinheit 18 zur Ausführung des im Register 16 gespeicherten Mikrobefehls weist einen Dekodierer 21 auf, welcher prüft, ob der vom Register RDR 16 gelieferte Mikrobefehl der Sprungmikrobefehl ist oder nicht. Der Dekodierer 21 gibt ein Dekodiersignal D 1 ab, wenn der Mikrobefehl der Spfungmikrobefehl ist, während er ein Dekodiersi er η al Π O ancTinl w&nn <»e olr>\\ nir*Y\i um /-ton
Sprungmikrobefehl handelt. Das Dekodiersignal DX steuert die Operation des Sprüngmikrobefehls. Das Dekodiersignal Dl steuert die Ausführung eines gewöhnlichen Mikrobefehls, außer des Sprungmikrobefehls in der Steuereinheit 18.
Die Schaltung 22 ist mit einer üblichen UND/ODER-Kombinationsschaltung 221 und einem Umsetzer 222 zum invertieren des logischen Pegels des Steuersignals DX versehen. Die Schaltung 22 wählt unter Benutzung
Tabelle 3
des Steuersignals DA den Ädressenausgang der Addiefschaltüng 15 oder die AdressenfeidinFörmatiön des Registers RDR l6. Genauer gesagt: wenn das Steuersignal D1 den Pegel »0« besitzt, d. h., wenn der auszuführende Mikrobefehl nicht der Sprungmikrobe-' fehl, sondern der gewöhnliche Mikrobefehl ist, wird die Adresseninförmatiön von der Addierschaltung 15 für die Eingabe in das Adressenregister 13 gewählt Im Fall des Sprungmikrobefehls ist das Steuersignal D X eine logische »1«, wobei die Adressenfeldinformation vom Register RDR gewählt und über die Datenleitung 20 zürn Adressenregister RAR 13 über trägen wird.
Ebenso wie die Schaltung 22 umfaßt eine Einrichtung 23 eine UND/ODER-Kombinationsschaltung 231 und einen Umsetzer 23Z Die Einrichtung 23 wählt ebenfalls den Mikrobefehl vom Speicher 11 oder denjenigen vom Speicher 12, je nach dem logischen Pegel des Steuersignals D X. Wenn nämlich der logische Pegel des
ii A A A'lhl)
g g
JiQi' !E* vutrA Apr KA'lltrrxhf*ft*li) vnm
Speicher 11 gewählt Entspricht der logische Pegel einer »1«, so wird der Mikrobefehl vom Speicher 12 gewählt und zum Register RDR16 geleitet.
Die Arbeitsweise der vorstehend beschriebenen mikroprogrammierten Steuervorrichtung ist im folgenden anhand der ein Zeitsteuerdiagramm darstellenden F i g. 2 erläutert Im folgenden sei der Fall betrachtet, in welchem das in Tabelle 3 gezeigte Programm durch die Steuervorrichtung durchgeführt wird.
Adresse Symbol Inhalt ... Aclditionsbefehl
151 START ADD ... Subtraktionsbefehl
152 SUB ... Bedingter Sprungbefehl
153 BR3, (236)
XYZ ... Überlragungsbefehl
154 MOVE
236 XYZ
237
237 RETURN
(Rücksprung)
XOR ... Exklusiver ODER-Befehl
In obiger Tabelle geben die Spalte ADRESSE die im Speicher 11 zugewiesenen Adressen, die Spalte SYMBOL die den Daten oder Mikrobefehlen im Programm zugeteilten Kennzeichen und die Spalte INHALT die in der ADRESSE gespeicherten Mikrobefehle an. Die betreffenden Mikrobefehle gemäß Tabelle 3 sind die gleichen wie diejenigen von Tabelle 2. BR und XYZ bezeichnen die bedingten Sprungmikrobefehle, und wenn diese mit der Bedingung 3 koinzidieren, springt diese auf das Kennzeichen XYZ. Beim vorliegenden Beispiel kann der Sprungmikrobefehl allgemein als »BR(i)ß< ausgedrückt werden, worin (i)d\s Zahlen 1 bis 8 und den unmittelbar nach dem Sprungmikrobefehl auszuführenden Befehl, d. h. die Adressen im Speicher 12, und »j« die Sprungadresse, auf welche der Sprung erfolgt, angeben.
Die Zcitätcücf iCüFven gcüläu F ΐ g. 2 cigTicfi Sich
ersichtlicherweise für die Durchführung des Programms gemäß Tabelle 3. In F i g. 2(a) sind die Maschinenzyklen mit Cl, C2, C3... bezeichnet Im Operationszyklus C2 ■wird der im Zyklus Ci ausgelesene MikrobefehI/Af>D (entsprechend dem Inhalt in Adresse »151« des Speichers 11 gemäß Tabelle 3) gemäß Fig.2(d) im Register RDR 16 gespeichert, während die folgende Adnsse »152« im Adressenregister 13 gespeichert wird. Der Mikrobefehl ADD wird im Dekodierer 21 der arithmetischen logischen Steuereinheit 18 über die Signalleitung 17 entschlüsselt Da der Mikrobefehl ADD nichit den Sprungmikrobefehl darstellt, werden das Steuersignal DX zu »0« und das Steuersignal D 2 zu »1«, so daß der Mikrobefehl ADD in der Steuereinheit 18 ausgeführt wird. Im Zyklus C2 wird der folgende Mikrobefehl SUB (der Inhalt »152« der Adresse gemäß Tabelle 3), der entsprechend dem Inhalt »152« des Adressenregisters 13 aus dem Speicher 11 geladen wird, gemiiu F i g. ^d) dnrch die Einrichtung 23 im Register RDR16 gesetzt Gleichzeitig wird das Ausgangssignal des Adressenregisters RAR 13 über die Adressenleitung
14 der Addierschaf Cling 15 zugeführt, wo »+i« zum Inhalt 152 des Adressenregislers RAR 13 hinzuaddiert und das Additionsergebnis gemäß Fi gi 2(b) über die Schaltung 22 ifti Adressenregister RAR 13 gesetzt wird. Sodann gchtder Programmablauf auf Zyklus (Ϊ3 über.
Wenn, wie aus der vorstehenden Beschreibung hervorgeht, der Mikrobefehl nicht der Sprüngmikrbbeiefe} ist, führt die Schaltung gemäß Fig. 1 die Äusitseoperation des nächsten durchzuführenden M\- ijkrobefehis und gleichzeitig auch den Mikrobefehl aus. 'ZU diesem Zweck ist die Ausführung: £is im Register RDR16 gespeicherten Mikrobefehls praktisch zum gleichen Zeitpunkt abgeschlossen, zu welchem die Speicherzugriffszeit beendet ist, während welcher der nachfolgend auszuführende Mikrobefehl gemäß Fig. 2(b) aus dem durch das Adressenregister 13 gewählten Speicher 11 ausgelesen wird. Als Ergebnis können die Mikrobefehle kontinuierlich ausgeführt wprdcn.
Im Zyklus C 4 gemäß F i g. 2(a) wird die Adresse »154« im Adressenregister RAR 13 gespeichert, während der Mikrobefehl BR(3) im Register RDR16 gespeichert wird.
Der Mikrobefehl ist der Sprungmikrobefehl »BR(3) 236 oder XYZ« gemäß Tabelle 3, so daß dieser Sprungmikrobefehl den bedingten Sprung mit der Sprungadresse »236« darstellt. Die Bedeutung dieses bedingten Sprungs und seines Ergebnisses ist nicht erfindungswesentlich, so daß auf die entsprechenden Erläuterungen verzichtet werden kann. Im Zyklus CA wM der im Register RDR 16 gespeicherte Mikrobefehl BR(3) zur arithmetischen logischen Steuereinheit 18 übertragen und in dieser entschlüsselt und berechnet. Wenn als Ergebnis der Berechnung die Sprungbedingung zutrifft, besitzt das Steuersignal D1 den Pegel »I«. Bei Eingang des Steuersignals Dl mit dem Pegel »1« wählt die Schaltung 22 über die Datenleitung 20 die Adressenfeldinformation »236« (4 Bit-Adressen nach Tabelle 2) des im Register RDRiG gespeicherten Sprungmikrobefehls. Infolgedessen wird diese Adressenfeldinformation im Adressenregister RAR 13 gespeichert Die Steuerbits (3 Bits) des im Register RDR16 gespeicherten Sprungmikrobefehls »BR(3)« bezeichnen die Adresse »3« des Speichers 12 gemäß Tabelle 11 über die Steuerleitung 19, durch die gemäß F i g. 2(e) aus dem Speicher 12 das in der Adresse »3« gespeicherte Mikrobefehlswort »AND« ausgelesen wird. Während der Mikrobefehl in der vom Adressenregister RAR 13 bezeichneten Adresse »154« aus dem Speicher ausgelesen wird, wählt die Einrichtung 23 den aus dem Speicher 12 ausgegebenen Mikrobefehl »AND«, weil das Steuersignal D1 den Pegel »1« besitzt Der Mikrobefehl »AND« wird daher gemäß Fig.2(d) im Register RDR16 gespeichert Sodann tritt der Programmablauf in den Zyklus CS ein.
Im Zyklus C5 ist der Mikrobefehl der »ADD«-Mikrobefehl und nicht der Sprungmikrobefehl, so daß der Dekoder 21 der Steuereinheit 18 das Ausgangssignal D1 mit dem logischen Pegel »0« abgibt Infolgedessen wird in diesem Zyklus der im Register RDR16 gespeicherte Mikrobefehl »ADD« ausgeführt, während gleichzeitig der Mikrobefehl »XOR« in der Sprungadresse »236« gemäß F i g. 3 entsprechend dem Inhalt des Adressenregisters RAR 13 aus dem Speicher 11 ausgelesen und dann in das Register RDR16 geladen ■wird. Hierauf geht der Ablauf auf Zyklus CS über.
Im Zyklus C6 wird der im Zyklus C5 ausgelesene und im Register RDR16 gespeicherte Mikrobefehl »XOR« [Fig; 2(d)j ausgeführt, Während gleichzeitig die Adresse »237« mit »4-1« gemäß Fig.2(a) im Adressenregister RAR 13 gespeichert wird. Eine ähnliche Operation wiederholt sich beim folgenden Vorgang*
In defrt auf den Zyklus £4, in welchem der Sprungmikrobefehl ausgeführt wird, folgenden Zyklus C5 wird der Mikrobefehl des Speichers 12 ausgeführt, welcher durch den Sprurigrnikrobefehl unmittelbar bezeichnet ist Diese bedeutet, daß die Steuereinheit 18 stets einen der Mikrobefehle ohne »Leerlaufzeit« verarbeitet, was zu einer Verbesserung bezüglich der Schnelligkeit der Operationsdurchführung führt.
Wenn im Zyklus C4 die Sprungbedingung nicht zutrifft, bleibt das Steuersignal D1 auf dem Pegel »0«.
Infolgedessen wird das Ausgangssignal »155« der Addierschaltung 15 in das Adressenregister RAR 13 geladen, und der aus dem Speicher 11 ausgelesene Mikrobefehl MOVE (vgl. Tabelle 3) wird in das Register ono ia ίτοΙοΛαη Afr-U ..,««« ;~ -4;„,.„„ ρ-ιι j;„
μ tu ■■ au £4tiMuvii> « IUDl *f ^.iui III UI^JV.III I Uli UfL
2ü Programmoperation in den Zyklus C5 eintritt, wird keine Sprungoperation durchgeführt.
Wenn der Sprungmikrobefehl gemäß Tabelle 3 als »BR(0)236« angegeben ist, ist der Befehl nach Ausführung des Sprungmikrobefehls der NOP-Befehl.
Aus diesem Grund wird in diesem Operationszyklus nach Ausführung des Sprungmikrobefehls praktisch wie bei der bisherigen Vorrichtung die Abrufoperation des Befehls in der Sprungadresse allein durchgeführt.
Die Paralleloperation zur Erhöhung der Operations-Verarbeitungsgeschwindigkeit ist für den Sprungmikrobefehl sehr wirksam, woraus sich eine bemerkenswerte Erhöhung der Operations-Verarbeitungsgeschwindigkeit ergibt. Insbesondere dann, wenn die Rechner-Steuervorrichtung auf den Sprungmikrobefehl im Abrufteilprogramm des Mikrobefehls angewandt wird, kann auch die Operationsgeschwindigkeit im Abrufzyklus des Makrobefehls erhöht werden. Hierbei hängt die Ausführungszeit des Makrobefehls im Abrufzyklus unmittelbar von der Ausführungsgeschwindigkeit jedes Makrobefehls ab, wodurch die Ausführgeschwindigkeit des Rechners erhöht werden kann.
Es ist darauf hinzuweisen, daß dann, wenn bei der Steuervorrichtung eine Gruppe von nach dem Sprungmikrobefehl auszuführenden Mikrobefehlen im ROM-Speicher gespeichert und beim (als) Sprungmikrobefehl benutzt wird, die Vorbereitungsarbeiten für das Programm erheblich vereinfacht werden können.
Wie erwähnt, ist bei der vorstehend beschriebenen Ausführungsform die Sprungadresse des Sprungmikrobefehls im Sprungmikrobefehl selbst (Einwort-Befehl) enthalten. Es ist jedoch eine Abwandlung möglich, bei welcher die Sprungadresse in der Adresse gespeichert sein kann, welche neben derjenigen des Sprungmikrobefehls zugeordnet ist (Zweiwort-Befehl). In diesem Fall ist die Datenleitung 20 gemäß F i g. 1 auf die in F i g. 3 gezeigte Weise vom Speicher 11 zu Schaltung 22 geschaltet Bei dieser Schaltungsweise wird im Zyklus CA der Zeitsteuerkurven gemäß F i g. 2 der Inhalt der Adresse »154« im Speicher 11 (Sprungadresse) ausgelesen, so daß dann, wenn die Sprungbedingung zutrifft der Inhalt »236« dem Adressenregister RAR 13 zugeliefert werden kann. Zur Vermeidung einer »Leerlaufzeit« im Zyklus C5 erzeugt zudem in diesem Fall der Dekodierer 21 ein Steuersignal D3 mit dem logischen Pegel »1« unabhängig von der Gültigkeit der Sprungbedingung, wenn der vom Register RDR16 zugeführte Mikrobefehl der Sprungmikrobefehl ist Das Steuersignal D 3 wird dann zur Einrichtung 23 übertragen. Infolgedessen
wird bei der Ausführungsform gemäß F i g. 3 auch dann, wenn der Sprungmikrobefehl vom Zweiwort-Befehlstyp ausgegeben wird, der Mikrobefehl unabhängig von der Gültigkeit der Sprüngbedingung ausgeführt, wobei der" Mikrobefehl aus dem vom Sprüngmikrobefehl gewählten Speicher 12 unmittelbar nach dem Sprungmi-
10
krobefehi ausgelesen wird.
Ersichtlicherweise kann die Steuervorrichtung so abgewandelt werden, daß einzelne Mikrobefehle für den Gültigkeits- und Ungültigkeitszustand der Sprungbedingung selektiv ausgeführt werden.
Hierzu 2 Blatt Zeichnungen

Claims (4)

Patentansprüche:
1. Mikroprogrammierte Rechner-Steuervorrichtung mit einem Speicher zur Speicherung eines Mikroprogramms aus gewöhnlichen Mikrobefehlen und aus Sprung-Mikrobefehlen, einem Mikrobefehlsregister für die Speicherung eines durchzuführenden Befehls, einem Adressenregister zur Speicherung einer Adresse des als nächsten auszuführenden Befehls, und mit einer Steuereinrichtung zur Übertragung des als nächsten auszuführenden Befehls aus dem Speicher in das Mikrobefehlsregister, wobei dieser Befehl der in dem Adressenregister gespeicherten Adresse entspricht, und um zur is gleichen Zeit das Adressenregister auf den neusten Stand zu bringen, dadurch gekennzeichnet, daß ein zusätzlicher Speicher (12) vorgesehen ist, der spezifizierte Adressen enthält, in weichen die am häufigsten benutzten Mikrobefehle gespeichert sind, daß die Steuereinrichtung (22, 23) derart aufgebaut ist, daß sie dann, wenn das Mikrobefehlsregister (16) einen Sprung-Mikrobefehl mit einer der Spezifizierten Adressen enthält, eine durch diesen Sprung-Mikrobefehl angegebene Sprung-Befehlsadresse in das Adressenregister (13) überträgt und gleichzeitig den Mikrobefehl aus dem zusätzlichen Speicher (12) in das Mikrobefehlsregister (16) Überträgt, der der spezifizierten Adresse des Sprung-Mikrobefehls entspricht
2. Rechner-Steuervorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß eine Dekodiereinrichtung (21) "orgeseher» ist und .in Signal (D 1) erzeugt, wenn das Mikrobefehbregister (16) den Sprung-Mikrobefehl speichert, oder in negiertes Signal erzeugt, wenn das Mikrobefehlsregister (16) einen gewöhnlichen Mikrobefehl speichert, daß die Einrichtung (22. 23) eine erste Torsteuerschaltung (231) tnthält, die zwischen dem Speicher (11) und dem Mikrobefehlsregister (16) eingeschaltet ist, um den Mikrobefehl aus dem Speicher (U) in das Mikrobefehlsregister (16) in Abhängigkeit von dem negierten Signal der Einrichtung (22, 23) umzuschreiben, aaß ein Adressenrechner (15) vorgesehen ist, um die Adresse in dem Adressenregister auf den neuesten Stand zu bringen, daß weiter eine zweite Torsteuertchaltung (221) zwischen den Adressenrechner (15) und das Adressenregister (13) eingeschaltet ist und eine auf den neuesten Stand gebrachte Adresse aus dem Adressenrechner in das Adressenregister abhängig vom negierten Signal umschreibt, daß die erste Torsteuerschaltung (231) auch zwischen den tusätzüchen Speicher (12) und das Mikrobefehlsregister (16) eingeschaltet ist, um einen Mikrobefehl aus dem zusätzlichen Speicher (12) in das Mikrobefehlsregister in Abhängigkeit von dem Signal der Dekodiereinrichtung (21) umzuschreiben, und daß die zweite Torsteuerschaltung (221) auch zwischen das Mikrobefehlsregister (16) und das Adressenregiiter (13) eingeschaltet ist, um die Sprung-Befehlsadresse in dem Adressenfeld des Sprung*Mikrobe' fehls im Mikrobefehlsregister in Abhängigkeit von dem Signal def Dekodiereinrichtung zum Adressen^ register zu übertragen,
3. Rechner'Steuervorrichtung nach Anspruch 1( dadurch gekennzeichnet, daß die Einrichtung (22,23) aus einer ersten Wähleinrichtung (22) zum Wählen der Adressenerhöhung oder der Sprungbefehlsadresseneinschreibung entsprechend dem logischen Pegel des Signals (D 1) der Dekodiereinrichtung (21) und aus einer zweiten Wähleinrichtung (23) zum Wählen des nächsten Mikrobefehls aus dem ersten Speicher (11) oder dem zweiten Speicher (12).
4. Rechner-Steuervorrichtung nach Anspruch 2, dadurch gekennzeichnet, daß die beiden lonsteuerschaltungen (221, 231) je eine UND/GDER-Kombinationsschaltung aufweisen, welche ddrch den logischen Pegel des Signals (D 1) der Dekodiereinrichtung (21) gesteuert wird.
DE2715073A 1976-04-02 1977-04-04 Mikroprogrammierte Rechner-Steuervorrichtung Expired DE2715073C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3607376A JPS52120640A (en) 1976-04-02 1976-04-02 Micro program control system

Publications (3)

Publication Number Publication Date
DE2715073A1 DE2715073A1 (de) 1977-10-06
DE2715073B2 DE2715073B2 (de) 1980-04-30
DE2715073C3 true DE2715073C3 (de) 1981-01-15

Family

ID=12459551

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2715073A Expired DE2715073C3 (de) 1976-04-02 1977-04-04 Mikroprogrammierte Rechner-Steuervorrichtung

Country Status (4)

Country Link
US (1) US4179731A (de)
JP (1) JPS52120640A (de)
AU (1) AU514615B2 (de)
DE (1) DE2715073C3 (de)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4360868A (en) * 1978-12-06 1982-11-23 Data General Corporation Instruction prefetch means having first and second register for storing and providing a current PC while generating a next PC
US4338661A (en) * 1979-05-21 1982-07-06 Motorola, Inc. Conditional branch unit for microprogrammed data processor
JPS5619150A (en) * 1979-07-25 1981-02-23 Fujitsu Ltd Microprogram control system
JPS6346297Y2 (de) * 1980-03-14 1988-12-01
JPS56149646A (en) * 1980-04-21 1981-11-19 Toshiba Corp Operation controller
US4390946A (en) * 1980-10-20 1983-06-28 Control Data Corporation Lookahead addressing in a pipeline computer control store with separate memory segments for single and multiple microcode instruction sequences
DE3138971A1 (de) * 1981-09-30 1983-04-21 Siemens AG, 1000 Berlin und 8000 München Mikroprogrammiertr prozessor und verfahren zu seinembetrieb
JPS58197553A (ja) * 1982-05-12 1983-11-17 Mitsubishi Electric Corp プログラム監視装置
US4586127A (en) * 1982-11-03 1986-04-29 Burroughs Corp. Multiple control stores for a pipelined microcontroller
US4546431A (en) * 1982-11-03 1985-10-08 Burroughs Corporation Multiple control stores in a pipelined microcontroller for handling jump and return subroutines
US4551798A (en) * 1982-11-03 1985-11-05 Burroughs Corporation Multiple control stores in a pipelined microcontroller for handling nester subroutines
IT1153668B (it) * 1982-11-24 1987-01-14 Honeywell Inf Systems Organizzazione di memoria di controllo
GB8416037D0 (en) * 1984-06-22 1984-07-25 Int Computers Ltd Data storage apparatus
US4825363A (en) * 1984-12-05 1989-04-25 Honeywell Inc. Apparatus for modifying microinstructions of a microprogrammed processor
CA1223969A (en) * 1984-10-31 1987-07-07 William M. Johnson Microcode control of a parallel architecture microprocessor
JPH048070Y2 (de) * 1984-11-26 1992-03-02
JPS61269734A (ja) * 1985-05-23 1986-11-29 Hitachi Ltd マイクロプログラム制御方式
US4777587A (en) * 1985-08-30 1988-10-11 Advanced Micro Devices, Inc. System for processing single-cycle branch instruction in a pipeline having relative, absolute, indirect and trap addresses
JPS6282402A (ja) * 1985-10-07 1987-04-15 Toshiba Corp シ−ケンス制御装置
NL8800053A (nl) * 1988-01-11 1989-08-01 Philips Nv Videoprocessorsysteem, alsmede afbeeldingssysteem en beeldopslagsysteem, voorzien van een dergelijk videoprocessorsysteem.
NL8800071A (nl) * 1988-01-13 1989-08-01 Philips Nv Dataprocessorsysteem en videoprocessorsysteem, voorzien van een dergelijk dataprocessorsysteem.
JPH01271838A (ja) * 1988-04-22 1989-10-30 Fujitsu Ltd マイクロプログラム分岐方法
US5136696A (en) * 1988-06-27 1992-08-04 Prime Computer, Inc. High-performance pipelined central processor for predicting the occurrence of executing single-cycle instructions and multicycle instructions
US5034880A (en) * 1988-12-22 1991-07-23 Wang Laboratories, Inc. Apparatus and method for executing a conditional branch instruction
EP0376258B1 (de) * 1988-12-27 1999-03-03 Fujitsu Limited Steuerungssystem und -verfahren zum Instruction Fetch
US6275924B1 (en) * 1998-09-15 2001-08-14 Texas Instruments Incorporated System for buffering instructions in a processor by reissuing instruction fetches during decoder stall time
JP2000293371A (ja) * 1999-04-09 2000-10-20 Hitachi Ltd マイクロプログラム制御方法及び装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3644900A (en) * 1968-11-30 1972-02-22 Tokyo Shibaura Electric Co Data-processing device
US3764988A (en) * 1971-03-01 1973-10-09 Hitachi Ltd Instruction processing device using advanced control system
US3736567A (en) * 1971-09-08 1973-05-29 Bunker Ramo Program sequence control
US3775756A (en) * 1972-04-20 1973-11-27 Gen Electric Programmable special purpose processor having simultaneous execution and instruction and data access
JPS549456B2 (de) * 1972-07-05 1979-04-24
IT993428B (it) * 1973-09-26 1975-09-30 Honeywell Inf Systems Unita di controllo di calcolatore microprogrammato con microprogram mi residenti in memoria e sovrap posizioni delle fasi interpretati ve di una microistruzione con la fase esecutiva della precedente microistruzione

Also Published As

Publication number Publication date
DE2715073A1 (de) 1977-10-06
JPS5539218B2 (de) 1980-10-09
AU514615B2 (en) 1981-02-19
DE2715073B2 (de) 1980-04-30
AU2395277A (en) 1978-10-12
JPS52120640A (en) 1977-10-11
US4179731A (en) 1979-12-18

Similar Documents

Publication Publication Date Title
DE2715073C3 (de) Mikroprogrammierte Rechner-Steuervorrichtung
DE2230102C2 (de) Mikroprogrammierter Prozessor mit bitparalleler Datenübertragung
DE2318069C2 (de) Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix
DE69534113T2 (de) Kompression der Befehlswörter eines Rechners
DE2555963C2 (de) Einrichtung zur Funktionsmodifizierung
DE2542751C2 (de) Datenverarbeitungsanlage
DE1931966C3 (de) Datenverarbeitungsanlage mit Assoziativspeichern
DE2611892C2 (de) Mikroprogramm-Steueranordnung
DE2719635A1 (de) Anordnung fuer eine erweiterung einer mikroprogrammsteuerung einer datenverarbeitungsanlage
DE2630323B2 (de) Datenspeichereinrichtung mit einem Hauptspeicher, einem Hilfsspeicher und einer Vorausschaulogik
DE3043653C2 (de) Datenverarbeitungsanlage
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
DE1285219B (de) Steuerwerk zur Ausfuehrung von Unterprogrammen
DE2426874A1 (de) Verfahren und schaltungsanordnung zur bestimmung der adressenart eines befehls
DE4134392C2 (de) Verfahren und Vorrichtung zum Ungültigmachen von Befehlen in Geräten mit Parallelverarbeitung
DE2617485C3 (de) Schaltungsanordnung für Datenverarbeitungsanlagen zur Abarbeitung von Mikrobefehlsfolgen
DE2418921C2 (de) Vorrichtung zum Speichern von Mikroprogrammen in einer Datenverarbeitungsanlage
EP1117037B1 (de) Datenverarbeitungsvorrichtung zum parallelen Verarbeiten von unabhängigen Prozessen (Threads)
DE2245284A1 (de) Datenverarbeitungsanlage
DE1499224C3 (de) Datenverarbeitungsanlage mit Kellerspeichereinrichtungen
DE2702722A1 (de) Instruktionsinterpretation in elektronischen datenverarbeitungsanlagen
DE1774421B1 (de) Mehrprogramm datenverarbeitungsanlage
DE2710436C2 (de) Datenverarbeitungseinrichtung
DE2248962A1 (de) Verfahren bzw. einrichtung zum betrieb eines vielzweckrechners
DE3104256C2 (de)

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
8320 Willingness to grant licences declared (paragraph 23)
8327 Change in the person/name/address of the patent owner

Owner name: KABUSHIKI KAISHA TOSHIBA, KAWASAKI, KANAGAWA, JP