DE2322674C3 - Mikroprogramm-Steuereinrichtung - Google Patents
Mikroprogramm-SteuereinrichtungInfo
- Publication number
- DE2322674C3 DE2322674C3 DE2322674A DE2322674A DE2322674C3 DE 2322674 C3 DE2322674 C3 DE 2322674C3 DE 2322674 A DE2322674 A DE 2322674A DE 2322674 A DE2322674 A DE 2322674A DE 2322674 C3 DE2322674 C3 DE 2322674C3
- Authority
- DE
- Germany
- Prior art keywords
- microprogram
- control
- memory
- instruction
- sequence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/264—Microinstruction selection based on results of processing
-
- 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
-
- 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
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)
- Computer And Data Communications (AREA)
Description
Die Erfindung betrifft eine Mikroprogramm Steuer
einrichtung für eine elektronische Datenverarbeitungsanlage,
nach dem Oberbegriff des Anspruchs 1.
Es ist an sich bekannt, mit Hilfe der Mikroprogrammtechnik
die Einheitlichkeit des Entwurfs, die Effektivität und Flexibilität von Datenverarbeitungsanlagen zu
verbessern. Bei tier Mikroprogrammtechnik wird bekanntlich eine Liste komplexerer Instruktionen wie
:i, Makroinstruktionen, die komplexe Funktionen darstellen,
die von einem Informationsverarbeitungssystem verarbeitet werden sollen, in eine Reihe von Mikrooperationen
oder elementare Systemzustände übersetzt, (ede Mikrooperation wird von einem entsprechenden
·,, Mikroinstruktionswort gesteuert, das in einem Steuerspeicher
gespeichert ist. wobei dieser Steuerspeicher ein permanenter oder semi permanenter Speichei sein
kann. Die grundlegenden Zugriffssteuerungen für die Realisierung der Mikroprogrammfolgen werden sein
quentiell von Signalen jngestce't, die von den
Ausgangssignalen des Steucrsp'.-ichers und von Verzweigungssteuerungssignalen
von Quellen außerhalb dieser Steuerungen abgeleitet werden.
In dem Maße, wie άτ Zugriff /u dem Steuerspeicher
4-, von dem Aiisgangssigral der laufenden Mikroinstruklion
dieses Speicher1- gesteuert wird, kann gesagt
werden, daß die Auswahl tier nächsten Mikroinstruktio
nen vorherbestimmt ist Daher wird die Größe oder djr
Umfang der C'.nipoc von Steuerspeicheradressen, aus
ίο der die nächste Adresse ausgewählt werden wird, nur
von dem Umfang der unabhängig variablen Ver/wei
gungssteucrsignale bestimmt Normalerweise ist die
minimale Anzahl von Ver/wcigiingsauswahlmoglich
keilen von der Auswahl einer vorgegebenen /,ihl von
Ver/weigungssieuerungssigna'en .ms einem groUeren
Feld von variablen Sign.ikn fesigelegt. und /w.ir in
l'lbereinMirrmiinpon mit Bedingungen, die von dem
Mikroprogramm zu erfüllen sind
Die Mikmprogrammsleiien ngen enthalten daher
M) gewöhnlich zwei verschiedene funktionell? Bereiche
Der erste ist derjenige j eil des Sicuerspcithcrs, der
Steuersignale oder Mikroopcrationen erzeugt, die den Umlauf von Information durch das gesteuerte System
auf zyklischer Basis steuern. Der zweite Bereich ist der Bereich der Zugriffssleuerungen, der die Aclrcssensl·
gnale erzeugt, die für die Steuerung der Folge von Mikroinstruktionen erforderlich sind, die "on der ersten
Gruppe von Steuerungen erzeugt wird. Derjenige Teil
des Sieuerspeichers, der die nächste Adresse liefert, ist
ein Teil der Zugriffssteuerungsfunktion.
In der Vergangenheit war der Stand der Komponenten-
und Schaltkreisentwicklung so, daß es vorteilhaft war, die Hilfselektronik für die Steuerspeicher gering zu
halten, indem ein einziger Steuerspeicher vorgesehen wurde, dessen Kapazität so klein gehalten wurde, wie es
gerade noch mit den Erfordernissen der Datenverarbeitungsanlage verträglich war. Dieser einzige minimale
Steuerspeich"? bedingte wegen der großen Anzahl von Verzweigungssteuerungssignalen, die zur Definition
aller Phasen der Operationen erforderlich sind, eine komplizierte Zugriffssteuerung.
In der DE-OS 2150 292 ist daher schon eine
mikroprogrammgesteuerte Datenverarbeitungsanlage mit überlagerter Ausführung und Entnahme von
Befehlen beschrieben worden, bei welcher der Steuerspeicher in drei Teile aufgeteilt ist, wovon der erste den
Befehlsahruf, der zweite die Bildung der effektiven Adressen und der dritte die Befehlsausführung steuert.
Da hier als Steuerspeicher assoziativ betriebene Speicher verwendet werden, ergibt sich ein Betriebsablauf, der sich von nichtassoziativ betriebenen
Speichern erheblich unterscheidet. Die Prinzipien für die Steuerung des Betriebsablaufs dieser Assoziativspeieher
als Steuerspeicher sind nicht für herkömmliche nichtassoziativ betriebene Speicher anwendbar.
Es ist deshalb die Aufgabe der vorliegenden Erfindung, für einen in tunktionelle separate Blöcke
unterteilten Steuerspeicher einer Datenverarbeitungsanlage
eine Steuereinrichtung anzugeben, die sowohl einfach in ihrer Struktur, als auch flexibel in ihrem
Betrieb ist.
Gelöst wird diese Aufgabt: der Erfindung durch die im
Hauptanspruch angegebenen Merkmale.
Vorteilhafte Ausgestaltungen und Weiterbildungen
des (jegenstandes der Erfindung sind den I 'nieranspi uchen
zu entnehmen.
Durch die Erfindung wird somit der Voiteil erreicht,
daß für einen in mehrere separate funktionell Blocke
aufgeteilte«! Steuerspeicher eine Betnebsablaufsteuerung
angegeben werden kann, die in ihrem Aufbau
einfach und in ihrem Betrieb flexibel genug i.>t. um durch
interne oder externe Bedingungen erforderlich werdende Änderungen eines sequentiellen Mikroprogramm-ι
blaufs zu beherrschen
Im folgenden wird ein AusfuhrungsDeispiel der
I rfmJung anhand der Zeichnungen beschrieben. t"s
l'it 1 ein Blockschaltbild eines Informationsverarbei'iinBssvsieniv
das i!ie Bc/ic-hungen der Mikropro
(.Tummsteueninpen /u den anderen Komponenten des
Systems ν tränst hauliiht.
F ι g 2 ein ^hIjuftli.ifiramin der fur das Informations
Nerarbeitnn^ssvMem eriordeili« hen Steiicroperationcn.
F ig S ein Blockschaltbild eines Mikroprogramm
Stciiersub ystems gern il3 der F.rfindung.
F ig. 4 eine Darstellung des Brmustcrs. das von den
in F- ι g i dargestellten Prioritätskodicrcr erzeugt wird.
F ig > eine Aiisdihrtintjsform eines F olgesleuiTgene
ralors fur das Mikroprogramm SteuerbubsyMem gemäß
der Erfindung,
F i g. 6 eilie Atisführungsfoi m der in F i g. 3 dargestellten
Sprunglogik für das Mikroprogrammspeicherelement für den Zustand 4,
Fig.7A eine Prinzipdarstellung eines Mikroprogrammspeicherelememes,
wie es im Ausführufigsbeispiel der F i g. 3 verwendet wird und
Fig. 7B das Blockschaltbild einer alternativen Ausführungsform der Mikroprogrammspeichereleinenie
für die Steuerung der Zustände I1 2 und 3 einer
Operationsfolge des Mikroprogramm-Steuersystems nach F i g. 3 für ein Informationsverarbeitungssystem.
Fig. 1 zeigt ein allgemeines Blockschaltbild eines Informationsverarbeitungssystems, in dem ein Steuer-
und Datenspeicher 10 mit einer Verarbeitungseinheit 20. einschließlich ihrer Rechenkreise und Register und mit
einer Steuersammelleitung 51 Information austauschen kann. Der Speicher 10 empfängt Steuersignale von der
Steuerlogik 50 über die Steuersammelleitung 51 und überträgt Zustandsinformation zurück an die Steuerlogik
50. Zwischen der Verarbeitungseinheit 20 und dem Speicher 10 werden Instruktionen. Adressen und Daten
ausgetauscht. Die Steuerlogik 50 überträgt Steuersignale für den Datenfluß zu der Verarbeitungseinheit 20 und
sie empfängt Zustands- und Instruktionsinformationen.
Die Verarbeitungseinheit 20 überträgt Daten zu der Ein/Ausgabegerätelogik (E/A-Logik) 30 und sie empfängt
Steuersignale von der C2uerlogik 50 und überträgt Anfcvderungs- und Zusnndssignale zu der
Steuerlogik 50 üter die Steuersammelleitung 51. Die E/A-Logik 30 überträgt Daten und Steuersignale zu den
Ein/Ausgabegeräten (E/A-Geräten) 40 und empfängt Dater und Zustandssignale als Antwort von den
E/A-Geratcn.
Das Blockschaltbild in Fig. 1 stellt eine an sich bekannte Realisierung eines Informationsverarbeitungssystems
dar. bei dem eine St :uerlogik 50 dazu dient, die Informationsverarbeitung über den gesamten
Daienfluß wirkungsvoll zusteuern.
In F i g. 2 ist ein typischer Steuerzyklus dargestellt,
dessen Operation dadurch eingeleitet wird, indem
festgestellt wird, ob noch eine Mikroprogrammunte.·
breehungsanforderung oder eine Unterbrechungsanforderung
aussteht oder ob eine Instruktionsabrufiolgt
ausgeführt werden soll. Mikroprogrammun.erbre chungsanford'.-rungs-. Unterbrechung: a nfo'deruiigs-
und Instruktionsabruffolgen werden von einem Mikroprogramm Speicherelement gesteuert, das im folgenc'
.n als Zustand 0 Steuerung definiert ist.
Der li.struktionsabruffolge schließen sich stets die
Adressener/eugiing.der D.ue.ioperandenibruf (Zuslän
de I. 2 und 3) und die Insiruktionsausfuhrungsfolgcn
(Zustand 4) an. Erläuterungen /ii diesen Steuer/ustäü
den 0 bis 4 uerden noch ausführlicher gegeben.
Alle in F ' g. 2 darges'ellten Operationen werden von
dei Steuerlogik 50 ausgeführt, die in F ι g. I und
ausführlicher in F ι g. 3 dargestellt ist Am f nde jedes
Inslruktionsausfuhrungs/vklus des Informationsverar
beitungssystcins w.rd der /ustandsgrnerator 150 der
die Opcrationenfolpe der S'euerlngik steuert, auf den
Zu· .ι kI 0 eingestellt, wodurch das Mikroprogrammsteueielement
fur den Zustand 0 freigegeben wird Wahrend der Operation des Z'jstandes 0 steuert Jas
Mikroprogrammsteuerelemcnt 100 das Information
verarbeitung- stern (in Pnoritatskodierer 102 erzeugt
ein \iisuahlMf nal für eine Multiplex Steuerung (MPX)
104 die dafür sorgt, dall eine vorherbestimmte
Anfdtigiddrcsiu in einen Adrcssciuahler 10& durthgschaltet
(überli agen) wird.
Der Prioritätskoclieref 102 erzeugt Auswahl· und
Freigabesignale gemäß der in Fig.4 dargeteüten Tabelle. Wenn beispielsweise ein Operationsendesignal
oder ein Instruktionsabrul-Anforderungssignal von dem
Zusiatidsgeneratör 150 erzeugt wird, dann geben die
Auswahlleitungseingänge zu der Multiplex-Steuerung
104 ein 01-Bilmusier ab. so daß die Freigabeleilung
aktiv ist. Dieses Auswahlleilungsbitmusler ergibt die Anfangsadresse der Instruktionsabruffolge, die durch
die Multiplex-Steuerung 104 zu dem Adressenzähler 106
durchgeschaltei werden soll.
Wenn ein Unterbrechungsanfordefungssignal vorlüge,
dann wäre das Auswahlieitungs-Bitmuster 10. wobei die Freigabeleitung aktiv wäre und so die Multitplex-Steuerung
104 veranließe, die Anfangsadresse der Unterbrechungsfolge zu dem Adressenzähler 106
durchzuschalten. Wenn das Mikroprogrammunterbrechungs-Anforderungssignal
aktiv ist. erzeugt der Priorilätscodierer 102 ein 11-Auswahlieitungs-Bitmuster mit
einer aktiven Freigabeleitung, wodurch die Multiplexsteuerung 104 dazu veranlaßt wird, die Anfangsadresse
der Mikroprogrammunterbrechungsfolge zu dem Adressenzähler 106 durchzuschalten.
Die Priorität der Behandlung der Anforderungssigna-Zustandsgenerator
über die Leitung 103 ein«. Dieser Mikroauftrag bewirkt, daß der Zustandsgeneratof 150
in Fig. 3 einen Zustand annimmt, der gesteuert wird von dem Inhalt des Feldes Aides Instruktionsregisters
200, der über die Leitungen 205 dem Zustandsgefiefatof
150 zugeführt wird.
Die Mikroprogrammsteuerelemcnte 110,120 und 130
für jeweils die Zustände 1, 2 und 3 werden nur dann aktiviert, wenn die bestimmte auszuführende Instruktion
Mikroaufträge erfordert, die in einem dieser Steuerelemente gespeichert sind. ?u dem dann ein
Zugriff erfolgen muß. So kann beispielsweise eine indirekte Adressierungsinstruktion erfordern, daß der
Zustandsgenerator das Mikroprogrammsleuerelement ilO freigibt, damit die Adressenerzeugung und der
Operandenabruf im Zustand I beginnen kann.
Andere Instruktionen können den Zustandsgenerator 150 benötigen, um mit der Adressenerzeugung und dem
Weise zugeteilt:
Wenn ein Mikroprogrammunterbrechungs-Anforderungssignal
vorliegt, dann erhält dieses die erste Priorität über alle anderen Anforderungssignale, so daß
ein 11 -Auswahlieitungs-Bitmuster erzeugt wird.
Wenn ein Unterbrechungs-Anforderungssignal vorliegt, dann erhält dieses Priorität über das Endoperations
oder Instruktionsabruf-Anforderungssignal und es wird dann ein 10-Auswahlleitungs-Bitmuster erzeugt.
Das Operalionsende- oder Instruktionsabruf-Anforderungssignal hat die niedrigste Priorität und wird nur
dann berücksichtigt, wenn kein Signal höherer Priorität
vorliegt
Die Multiplex-Steuerung (MPX) 104 kann einen bekannten Aufbau besitzen, bei dem vier Leitungen auf
eine Leitung komprimiert werden, wobei aber im vorliegenden Ausführungsbeispiel nur drei Gruppen
von Eingangsleitungen benötigt werden.
Das Operationsendesignal auf der Leitung 161 wird während des letzten Zyklus der Instruktionsausführung
erzeugt, die von dem Zustand 4-SteuerspeichereIement
140 gesteuert wird. Das Operationsendesignal wirkt als ein Anforderungssignal für einen Instruktionsabruf.
Wie F ι g. 5 zeigt, wird das Operationsendesignal auf
der Leitung 161 von einem NAND-Tor 168 erzeugt, wenn ein Weiterschaltesignal des Zustandsgenerators
auf der Leitung 105 während des Zustandes 4 empfangen wird. Das Ausgangssignal des genannten
NAND-Tores 168 aktiviert das Operationsendesignal auf der Leitung 161 über den Inverter 124 und stellt die
Verriegelungsschaltung 162 für den Zustand 0 ein. der
die Freigabeleitu..g 160 für den Zustand 0 wirksam werden läßt.
Das Mikroprogrammsteuerelement 100 für den Zustand 0 hält die Steuerung des Informationsverarbeitungssystems
aufrecht bis die erforderliche Mikroprogramrnunterbrecbungv. Unterbrechungsverarbeitungs-
oder Instruktionsabruffolgen vollständig durchgeführt sind. Die Folgen des Zustandes 0 enthalten keine
internen Verzweigungen, sondern sie werden vielmehr von dem Adressenzähler 106 gesteuert der als ein
konventioneller Binärzähler aufgebaut sein kann.
Die Instruktionsabruffolge ruft die Instruktion, die
von dem Programmzähler (nicht dargestellt) angegeben wird, vom Hauptspeicher 10 in F i g. 1 ab und stellt sie in
das Instruktionsregister 200. dargestellt in F i g. 3.
Wenn die Insiruktionsabruffolge vollständig ausgeführt
ist erzeugt das Mikroprogrammsteuerelement 100 für den Zustand 0 den Mikroauftrag »stelle den
öüt löigcfiuc vypciituucTiai'iüi CHi "'CuGf
beginnen, indem er die Mikroprogrammsteuerelemente 120 oder 130. je nachdem, freigibt.
In F i g. 5 ist der Zustandsgenerator 150 ausführlicher
dargestellt. Von dem M-FeId des Instruktionsregisters 200 wird ein zwei Bit umfassendes Eingangssignal zu
-. einem Decodierer 156 übertragen, der ein Ausgangssignal
auf vier Leitungen erzeugt und an ein Schieberegister 158 weiterleitet. Wenn das Muster des /W-Feldes
eine »' '■«< ist, dann wird zuerst der Zustand 1
freigegeben und das Schieberegister 158 progressiv . über die nachfolgenden Zustände 1, 2, 3 und 4
verschoben, wobei das Weiterschaltesignal auf der Leitung 105 die Schiebeoperation nach rechts bewirkt.
Wenn das Bitmuster des /V/-Feldes»01« ist, dann wird
zuerst der Zustand 2 freigegeben und die Zustandsfolge,
, wie zuvor, durch das Weiterschaltesignal auf der Leitung 105, weitergeschaltet.
Wenn das Bitmuster des /V/-Feldes eine »00« ist, dann
wird zuerst der Zustand 3 freigegeben, wenn aber das Muster eine »10« ist. dann wird zuerst der Zustand 4
so freigegeben.
Das Schieberegister 158 führt nur Rechtsverschiebungen durch, so daß der Zustand 4 stets der letzte Zustand
ist. der für die Instruktionsausführung eingegeben wird. Das Mikroprogrammsteuerelement 140 für den Zustand
4 gibt stets die Steuerung an das Mikroprogrammsteuerelement 100 für den Zustand 0 zurück, und zwar
über das NAND-Tor und die Verriegelungsschaltung 162 in ihrer 0-Stellung.
Das Weiterschaltesignal für den Zustandsgenerator
Das Weiterschaltesignal für den Zustandsgenerator
so ist ein Mikroauftrag. der von jedem Mikroprogrammsteuerelement 110,120,130 und 140 erzeugt wird, .venn
das entsprechende Mikroprogrammsteuerelement den Teil der Operation des Informationsverarbeitungssystems
vollständig beendet hat, dessen Steuerung dieses
ss Element übernommen hat
Die Mikroprogrammsteuerelemenie 110,120 und 130
für die Zustände 1. 2 und 3 steuern die Operation des Informationsverarbeitungssystems jeweils für einen
Zyklus und sie benötigen auch keine örtlichen
to Adresseneinrichtungen. Das Mikroprogrammsteuerelement
140 für den Zustand 4 hat eine mehrfache Zyklussteuerfähigkeit und zwar für Instruktionen für
das Verschieben. Multiplizieren und Dividieren.
Der Operationscode (OP-Code) auf den Leitungen
tn 201 wird über die Tore 144 als Startadresse benutzt
wenn die erste Adressenleitung aktiv ist Die Tore 144a
übertragen den Operalionscode in das Adressenregister 146. das seinerseits den Zugriff zu dem Mlkropro-
grammsteuerelement 140 durchführt.
Das Mikroprogrammsteuerelement 140 erzeugt Steuersignale auf den Leitungen 141, die die sogenannte
Sprunglogik 142 (ausführlich dargestellt in Fig,6) und
die Tore 1446 betätigt, um alternierende Adressen in dem Mikfoprögfammsteuefelement 140 freizugeben,
das angesteuert werden muß, nachdem verschiedene Bedingungen im Datenfluß während der Instruktionsausführung auftreten.
Die Sprunglogik 142, die in Fig.6 dargestellt ist, gestattet verschiedenen Datenbedingungen auf den
Leitungen 143 die Modifizierung der niedrigstelligen Bits der Adresse für das Mikroprogrammsteuerelement
140, wobei dieses von den Signalen auf den Leitungen 141 gesteuert wird. Die Multiplexsteuerung 148 kann
den gleichen Aufbau besitzen wie die bereits kommerziell verfügbare Multiplexsteuerung 104.
Die Multiplexsteuerung 148 gestattet den Datenbedingungen das niedrigstellige Bit der nächsten Adresse,
gesteuert von dem iviikroprogrammsieuereiement i4ü,
umzuschalten, so daß eine alternative Mikroinstruktion in Abhängigkeit von den Datenflußbedingungen ausgeführt
wird.
Auf diese Weise steuert das Mikroprogrammsteuerclement 140 für den Zustand die Operation des
informationsverhandlungssystems während der Instruktionsausführungszyklen
in einer von den Bedingungen, die in dem Datenfluß auftreten können, abhängigen
Weise, wobei es erforderlich ist, daß alternative Mikroinstiruklionen erzeugt werden.
Nachdem die Instruktionsausführung vollständig beendet ist, erzeugt das Mikroprogrammsteuerelement
140 den Mikroauftrag für das Weiterschalten des Zustandsgenerators mittels eines Signals auf der
Leitung 105, das bewirkt, daß der Zustandsgenerator 150 zu dem Zustand 0 weiterschaltet und ein
Operationsendesignal erzeugt, das einen Operationszyklus
abschließt.
Das vorstehende Ausführungsbeispiel wurde zwar inhand eines Informationsverarbeitungssystems beschrieben,
es ist jedoch nicht auf eine derartige Anwendung beschränkt, sondern es kann auch für die
Steuerung von Ein-Musgabegeräten, Zeichengeneratoren und anderen logischen Systemen verwendet
werden, die eine gesteuerte Operationsfolge erfordern.
Jedes dieser Mikroprogrammsleuerelemente 100, IiO, 120, 130 und 140 kann als monolithisch integrierter
Festwertspeicher realisiert sein, der bereits auf dem Markt erhältlich ist-
Die Fi g. 7A und 7B zeigen zwei Alternativen für die
Realisierung der Mikroprogfammsleuerelerheiite für
die Zustände 1,2 und 3. F ί g. 7 A zeigt, ebenso wie das in
Fig,3 dargestellte Ausführungsbeispielj ein separates
Festwertspeicherelement, das einen Adresseneingang, einen Freigabeeingang und einen Mikroauftrags-Ausgang
besitzt. Die Größe des Mikroprogrammsteuerelements ist durch KxN bestimmt, wobei K die Anzahl
der Adressen im Mikroprogrammsteuerelement und N die Anzahl der Bits in jedem Mikroauftrag darstellen,
der in dem Mikroprogrammsteuerelement gespeichert ist.
Fig.7B zeigt ein anderes Ausführungsbeispiel, bei dem eine größere Matrix vorteilhafter ist. Die Zustände
1,2 und 3 sind in einer einzigen monolithischen Struktur kombiniert, bei der der Adresseneingang nun fünf
parallele Bits benötigt, im Gegensatz zu den drei parallelen Bits, wenn die Mikroprogrammsteuerelemente
für die einzelnen Zustände separat angeordnet sind. Diese fünf Bits bestehen aus drei Adreßbits, von den
»ix<- und »nj«-Feldern des Instruktionsadressenregisters
200 und aus zwei zusätzlichen Bits, die von den Leitungen für die Zustände 1.2 und 3 von den Toren 354,
356 und den Invertern 358,360 und 362 erzeugt werden. Dasj^usgangssignal des Tores 354 ist logisch gleich 51
& 52 & S~3._Das Ausgangssignal des Tores 356 ist logisch gleich S1 & 52 & 53.
Die Freigabesignale werden in dem ODER-Tor 352 kombiniert, um das Mikroprogrammsteuerelement 350
freizugeben, so daß eine beliebige von 32 Adressen der Länge //angesteuert wird. Die in Fig.7 dargestellte
Schaltkreisstruktur kann auch im Zusammenhang mit dem in Fig.3 dargestellten Ausführungsbeispiel verwendet
werden, ohne daß eine Änderung des Zustandsgenerators 150 erforderlich ist.
Die vorstehend erläuterte Erfindung gestattet den Aufbau eines effizienten und ökonomischen Mikroprr-·
grammsteuer-Subsystems, das mit weniger gespeicherten Bits für eine gegebene Steuerfunktion auskommt, als
bekannte Systeme.
Hierzu 3 Blatt Zeichnungen
Claims (5)
1. Mikroprogramm-Steuereinrichtung für eine elektronische Datenverarbeitungsanlage mit mehreren
verteilt angeordneten MiKroprogrammspeichern,
von denen jeder nur bestimmte aus einer durch eine Makroinstruktion vorgegebenen Folge
von Mikroinstruktionen zu einer bestimmten Zeit ausführt, gekennzeichnet durch eine Ablaufsteuerung
(150; F i g. 3), die in Abhängigkeit von der Information in einem bestimmten Feld der
Makroinstruktion die Mikroprogrammspeicher (100, 110 140) gemäß einer vorgegebenen Reihenfolge
zur Steuerung der Maschine freigibt, durch eine Prioritätssteuerung (102, 104), die in Abhängigkeit
von externen oder internen Anforderungssignalen einem ersten Milcroprogrammspeicher (100) gemäß
einer vorgegebenen Priorität die Steuerung der Maschine zwischen dem Ende der Ausführung der
laufenden Makroinstruktion und dem Beginn des Abrufes der nächsten überträgt, durch eine Schalt
einrichtung (142, 144a, 1446, 149), die auf externe oder interne Bedingungen während der Ausführung
einer Makroinstruktion auf eine andere Mik.-oinstruktionsfolge eines anderen Mikroprogrammspeichers
umschaltet und durch eine Einrichtung (101) zur Übertragung der von den Mikroprogrammspeichern
erzeugten Mikroinstruktionen zu Mikroinstp'ktionsdecodierern.
weiche die Operation des Hauptspeichers, der zentralen Verarbeitungseinheit
und der Ein 'Ausgabegeräte steuern.
2. Mikroprogramm-Steuereinrichtung nach Anspruch
I. äadurch gekennzeichnet, daß die Auswahl derjenigen Mikroinstrukt'onsfolge aui einem Mikroprogrammspeicher
(100; Fig. S) für die Steuerung von Mikroprogrammumerbrechungen. Programniunterbrechungen
und des Makroinstruktionsabrufs, die zuerst ausgeführt werden soll, durch ein Signal
der Pnoriiätssteuerung (102, 104) gesteuert wird,
welche die Anforderungssignale in entsprechende Anfangsadressen für die zugeordneten Routinen
umcodiert.
3. Mikroprogramm Steuereinrichtung nach An Spruch 1 und/oder 2. dadurch gekennzeichnet, daß
die Auswahl alternativer im Mikroprogrammspeicher (140; Fig. 3) für die Instruktionsausführung
stehender Mikroprogrammfolgen in Abhängigkeit von Bedingungen erfolgt, die wahrend der Ausfüh
rung von Operationen auftreten, die vci der
genannten Instruktion spe/ifi/iert werden und von einer Steuerung (142) mittels von ihr erzeugter
Anfangsadresscn erfolgt, die sie aus den Atifordc
rungssignalen und den /niet/' aus dem betreffenden
Mikroprogrammspeiche. (140) abgelesenen Adreli bus bildet
4 Mikroprogramm Steuereinrichtung i.ach einem
odci mehreren der Ansprüche I bis 3. dadurch
gekennzeichnet, daß die Ablaufsteuerung (ISO:
Fig S) am Knde icdes Makroinstriiktionsaiisfuh
rungs/yklus den Mikroprügramniapsither (100), der
die Behandlung von Unterbrechungsroutinen und Befehlsabruf'Steüeffoigen steuert, selektiert und
dann m Abhängigkeit von der Information in einem bestimmten Feld der Makroinstruktion zu einem
anderen Mikroprogrammspeicher umschaltet.
5. Mikroprogramm-Steuereinrichtung nach Anspruch 4, dadurch gekennzeichnet, daß die Ablaufsteuerung
(150; Fig. 5) einen Decodierer (156) aufweist, der die Information in einem bestimmten
Feld (M) einer Makroinstruktion (200) in eine Adresse (S 1 bis 54) umcodiert, die als binäre Eins in
diejenige Stufe eines Schieberegister (158), deren Ausgang das Selektionssignal für einen Mikroprogrammspeicher
darstellt und daß nach Beendigung der Operation in diesem Mikroprogrammspeicher das Schieberegister die binäre Eins in die nächste
Stufe verschiebt und somit den nächsten Ivrikroprogrammspeicher
selektiert, bis schließlich nach Selektion und Beendigung der Operation im letzten
Mikroprogrammspeicher ein Schalter (162) gesetzt wird, der wieder denjenigen Mikroprogrammspeicher
auswählt, dessen in ihm gespeicherte Routinen die Unterbrechungsfolgen und Instruktionsabruffolgen
steuern.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US25926472A | 1972-06-02 | 1972-06-02 |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2322674A1 DE2322674A1 (de) | 1973-12-13 |
DE2322674B2 DE2322674B2 (de) | 1981-06-19 |
DE2322674C3 true DE2322674C3 (de) | 1982-03-04 |
Family
ID=22984246
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2322674A Expired DE2322674C3 (de) | 1972-06-02 | 1973-05-05 | Mikroprogramm-Steuereinrichtung |
Country Status (7)
Country | Link |
---|---|
US (1) | US3760369A (de) |
JP (1) | JPS5342380B2 (de) |
CA (1) | CA990411A (de) |
DE (1) | DE2322674C3 (de) |
FR (1) | FR2195372A5 (de) |
GB (1) | GB1358534A (de) |
IT (1) | IT981606B (de) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3868649A (en) * | 1972-06-28 | 1975-02-25 | Fujitsu Ltd | Microprogram control system |
US3878514A (en) * | 1972-11-20 | 1975-04-15 | Burroughs Corp | LSI programmable processor |
JPS5247976B2 (de) * | 1973-03-16 | 1977-12-06 | ||
USRE30331E (en) * | 1973-08-10 | 1980-07-08 | Data General Corporation | Data processing system having a unique CPU and memory timing relationship and data path configuration |
US3918030A (en) * | 1973-08-31 | 1975-11-04 | Richard L Walker | General purpose digital computer |
JPS5068751A (de) * | 1973-10-23 | 1975-06-09 | ||
IT1000638B (it) * | 1973-12-28 | 1976-04-10 | Olivetti & Co Spa | Calcolatore elettronico con dispo sitivo di deviazione dei micropro grammi |
JPS50105345A (de) * | 1974-01-28 | 1975-08-20 | ||
US4156903A (en) * | 1974-02-28 | 1979-05-29 | Burroughs Corporation | Data driven digital data processor |
US4010448A (en) * | 1974-10-30 | 1977-03-01 | Motorola, Inc. | Interrupt circuitry for microprocessor chip |
US3987418A (en) * | 1974-10-30 | 1976-10-19 | Motorola, Inc. | Chip topography for MOS integrated circuitry microprocessor chip |
US4037204A (en) * | 1974-10-30 | 1977-07-19 | Motorola, Inc. | Microprocessor interrupt logic |
US4001788A (en) * | 1975-03-26 | 1977-01-04 | Honeywell Information Systems, Inc. | Pathfinder microprogram control system |
US4075692A (en) * | 1976-01-02 | 1978-02-21 | Data General Corporation | Data path configuration for a data processing system |
US4107774A (en) * | 1976-10-04 | 1978-08-15 | Honeywell Information Systems Inc. | Microprogram splatter return apparatus |
US4087857A (en) * | 1976-10-04 | 1978-05-02 | Honeywell Information Systems Inc. | ROM-initializing apparatus |
US4142246A (en) * | 1976-12-23 | 1979-02-27 | Fuji Electric Company, Ltd. | Sequence controller with dynamically changeable program |
US4118773A (en) * | 1977-04-01 | 1978-10-03 | Honeywell Information Systems Inc. | Microprogram memory bank addressing system |
DE2747304C3 (de) * | 1977-10-21 | 1981-03-26 | IBM Deutschland GmbH, 70569 Stuttgart | Einrichtung zur Mikrobefehlssteuerung |
US4228497A (en) * | 1977-11-17 | 1980-10-14 | Burroughs Corporation | Template micromemory structure for a pipelined microprogrammable data processing system |
US4223381A (en) * | 1978-06-30 | 1980-09-16 | Harris Corporation | Lookahead memory address control system |
US4330823A (en) * | 1978-12-06 | 1982-05-18 | Data General Corporation | High speed compact digital computer system with segmentally stored microinstructions |
US4346438A (en) * | 1979-10-24 | 1982-08-24 | Burroughs Corporation | Digital computer having programmable structure |
JPS57753A (en) * | 1980-06-02 | 1982-01-05 | Hitachi Ltd | Microprogram controller |
JPS5748139A (en) * | 1980-09-04 | 1982-03-19 | Nec Corp | Microprogram control device |
US4484260A (en) * | 1981-12-17 | 1984-11-20 | At&T Bell Laboratories | Stored-program control machine |
US4484268A (en) * | 1982-02-22 | 1984-11-20 | Thoma Nandor G | Apparatus and method for decoding an operation code using a plurality of multiplexed programmable logic arrays |
US4685080A (en) * | 1982-02-22 | 1987-08-04 | International Business Machines Corp. | Microword generation mechanism utilizing separate programmable logic arrays for first and second microwords |
US4931989A (en) * | 1982-02-22 | 1990-06-05 | International Business Machines Corporation | Microword generation mechanism utilizing a separate programmable logic array for first microwords |
US4661901A (en) * | 1982-12-23 | 1987-04-28 | International Business Machines Corporation | Microprocessor control system utilizing overlapped programmable logic arrays |
US4720779A (en) * | 1984-06-28 | 1988-01-19 | Burroughs Corporation | Stored logic program scanner for a data processor having internal plural data and instruction streams |
EP1061437A1 (de) * | 1999-06-16 | 2000-12-20 | STMicroelectronics S.r.l. | Erhöhte Steuereinheit bei elekronischen Mikrokontrollern oder Mikroprozessoren |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3319394A (en) * | 1963-07-25 | 1967-05-16 | Goodrich Co B F | Apparatus for packaging resilient cellular material |
US3380025A (en) * | 1964-12-04 | 1968-04-23 | Ibm | Microprogrammed addressing control system for a digital computer |
US3325785A (en) * | 1964-12-18 | 1967-06-13 | Ibm | Efficient utilization of control storage and access controls therefor |
US3440612A (en) * | 1966-02-28 | 1969-04-22 | Ibm | Program mode switching circuit |
US3537074A (en) * | 1967-12-20 | 1970-10-27 | Burroughs Corp | Parallel operating array computer |
US3570006A (en) * | 1968-01-02 | 1971-03-09 | Honeywell Inc | Multiple branch technique |
US3646522A (en) * | 1969-08-15 | 1972-02-29 | Interdata Inc | General purpose optimized microprogrammed miniprocessor |
US3634883A (en) * | 1969-11-12 | 1972-01-11 | Honeywell Inc | Microinstruction address modification and branch system |
GB1257760A (de) * | 1970-10-10 | 1971-12-22 | ||
US3699526A (en) * | 1971-03-26 | 1972-10-17 | Ibm | Program selection based upon intrinsic characteristics of an instruction stream |
-
1972
- 1972-06-02 US US00259264A patent/US3760369A/en not_active Expired - Lifetime
-
1973
- 1973-03-13 GB GB1210873A patent/GB1358534A/en not_active Expired
- 1973-03-26 IT IT22092/73A patent/IT981606B/it active
- 1973-04-26 JP JP4684773A patent/JPS5342380B2/ja not_active Expired
- 1973-05-05 DE DE2322674A patent/DE2322674C3/de not_active Expired
- 1973-05-10 CA CA171,175A patent/CA990411A/en not_active Expired
- 1973-05-11 FR FR7317608A patent/FR2195372A5/fr not_active Expired
Also Published As
Publication number | Publication date |
---|---|
DE2322674A1 (de) | 1973-12-13 |
JPS5342380B2 (de) | 1978-11-10 |
DE2322674B2 (de) | 1981-06-19 |
GB1358534A (en) | 1974-07-03 |
CA990411A (en) | 1976-06-01 |
FR2195372A5 (de) | 1974-03-01 |
US3760369A (en) | 1973-09-18 |
IT981606B (it) | 1974-10-10 |
JPS4951839A (de) | 1974-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2322674C3 (de) | Mikroprogramm-Steuereinrichtung | |
DE1774296C2 (de) | Restruktuierbare Steuereinheit für elektronische Digitalrechner | |
DE2744531C2 (de) | Anordnung zur Auswahl von Unterbrechnungsprogrammen in einer Datenverarbeitungsanlage | |
DE2755273C2 (de) | ||
DE2318069C2 (de) | Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix | |
DE1915818C3 (de) | Steuerschaltung für ein elektronisches Datenverarbeitungssystem | |
DE1549523B2 (de) | Datenverarbeitungsanlage | |
EP0097725B1 (de) | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen | |
DE1499200B2 (de) | Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung | |
DE2717658A1 (de) | Anordnung zur ansteuerung eines mikroprogrammspeichers | |
DE2847934A1 (de) | Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher | |
DE2452214A1 (de) | Mikroprozessor mit unmittelbarer und indirekter adressierung | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
DE1499290A1 (de) | Datenverarbeitungsmaschine | |
DE1269393B (de) | Mikroprogramm-Steuerwerk | |
DE2536622A1 (de) | Mikroprogrammsteuerung mit flexibler auswahl von steuerworten | |
DE1549474B2 (de) | Anordnung in einer elektronischen digitalen Datenverarbeitungsanlage zur Ausführung eines ersten Befehls und gleichzeitigen Decodierung eines folgenden Befehls | |
DE2218630B2 (de) | Schaltungsanordnung zur Steuerung von Unterbrechungssignalen in Datenverarbeitungsanlagen | |
DE2336676C3 (de) | Einrichtung zur Modifizierung von Mikroprogrammbefehlen | |
DE1922304A1 (de) | Datenspeichersteuergeraet | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE1774845A1 (de) | Einrichtung zur Adressenpruefung und -modifizierung in einem Datenverarbeitungssystem mit dynamischer Adressenverschiebung | |
DE1549434A1 (de) | Datenverarbeitungsanlage | |
DE2264346A1 (de) | Mehrstufiges selbstanpassendes decodiersystem fuer binaere mikrobefehle | |
DE1806464A1 (de) | Adressengenerator fuer einen Digitalrechner |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OD | Request for examination | ||
C3 | Grant after two publication steps (3rd publication) | ||
8339 | Ceased/non-payment of the annual fee |