DE2322674A1 - Mikroprogramm-steuereinrichtung - Google Patents
Mikroprogramm-steuereinrichtungInfo
- Publication number
- DE2322674A1 DE2322674A1 DE2322674A DE2322674A DE2322674A1 DE 2322674 A1 DE2322674 A1 DE 2322674A1 DE 2322674 A DE2322674 A DE 2322674A DE 2322674 A DE2322674 A DE 2322674A DE 2322674 A1 DE2322674 A1 DE 2322674A1
- Authority
- DE
- Germany
- Prior art keywords
- microprogram
- control
- sequence
- memory
- instruction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/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
Aktenzeichen der Anmelderin: EN 9 71 040
Die Erfindung betrifft eine Mikroprogramm-Steuereinrichtung für
eine elektronische Datenverarbeitungsanlage.
Es ist an sich bekannt. F1Xt Hilfe der Mikroprogrammtechnik die
Einheitlichkeit des Entwurfs, die Effektivität"und Flexibilität
von Datenverarbeitungsanlagen zu verbessern. Bei der Mikroprogrammtechnik wird bekanntlich eine Liste komplexerer Instruktionen
wie Makroinstruktionen, die komplexe Funktionen darstellen, die von einem Informationsverarbeitungssystem verarbeitet werden
sollen, in eine Reihe von MikroOperationen oder elementare Systemzustände übersetzt. Jede Mikrooperation wird von einem entsprechenden
Mikroinstruktionswort gesteuert, das in einem Steuerspeicher gespeichert ist, wobei dieser Steuerspeicher ein permanenter
oder simi-permanenter Speicher sein kann. Die grundlegenden Zugriffssteuerungen
für die Realisierung der Mikroprogrammfolgen werden sequentiell von Signalen angesteuert, die von den Ausgangssignalen
des Steuerspeichers und von Verzweigungssteuerungssignalen von Quellen außerhalb dieser Steuerungen abgeleitet werden.
In dem Maße, wie der Zugriff zu dem Steuerspeicher von dem Ausgangssignal
der laufenden Mikroinstruktion dieses Speichers gesteuert wird, kann gesagt werden, daß die Auswahl der nächsten
309850/0829
Mikroinstruktionen vorherbestimmt ist. Daher wird die Größe oder
der Umfang der Gruppe von 'Steuerspeicheradressen, aus der die nächste Adresse ausgewählt werden wird, nur von dem Unfang der
unabhängig variablen Verzweigungssteuersignale bestimmt. Normalerweise ist die maximale Anzahl von Verzweigungsauswahlmöglichkeiten
von der Auswahl einer vorgegebenen Zahl von Verzweigungssteuerungssignalen
aus einem größeren Feld von variablen Signalen festgelegt, und zwar in Übereinstimmungen mit Bedingungen, die
von dem Mikroprogramm zu erfüllen sind.
Die Mikroprogrammsteuerungen enthalten daher gewöhnlich zwei
verschiedene funktioneile Bereiche. Der erste ist derjenige Teil des Steuerspeichers, der* Steuersignale oder MikroOperationen er- ·
zeugt, die den Umlauf von Information durch das gesteuerte System auf zyklischer Basis steuern. Der zweite .Bereich ist der
Bereich der Zugriffssteuerungen, der die Adressensignale erzeugt, die für die Steuerung der Folge von Mikroinstruktionen erforderlich
sind, die von der ersten Gruppe von Steuerungen erzeugt wird. Derjenige Teil des Steuerspeichers, 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 Steuerspeicher bedingte wegen der großen Anzahl von Verzweigungssteuerungssignalen,
die zur Definition aller Phasen der Operationen erforderlich sind, e'ine komplizierte Zugriffssteuerung.
Die Erfindung hat sich deshalb die Aufgabe gestellt, diese komplizierten
Zugriffssteuerungen zu vereinfachen. Im Zuge der Lösung dieser Aufgabe ist es für die Erfindung wesentlich, die Mikroprogramms
teuer ungen durch verteilte Elemente wirksamer zu machen,
309850/0829
EN 971 040
indem insbesondere die Zugriffssteuerungen in mehreren unabhängigen
Steuerspeichern implementiert sind.
Es ist weiterhin wesentlich für die Erfindung, daß die Folgesteuerung
über eine Gruppe von Steuerspeichern ausgeübt wird, um eine Gesamtmikroprogrammsteuerung für ein Informationsverarbeitungssystem zu erreichen.
Die Mikroprogramm-Steuereinrichtung für eine elektronische Datenverarbeitungsanlage
gemäß der Erfindung ist gekennzeichnet durch mehrere verteilt angeordnete Mikroprogrammspeicher, von denen
jeder nur einen Teil der Operation der Anlage zu einer bestimmten Zeit steuert, durch eine Ablaufsteuerung/ die in Abhängigkeit
von der Information in einem bestimmten Feld des Instruktionswortes die Mikroprogrammspeicher gemäß einer vorgegebenen Reihenfolge
zur Steuerung der Operation freigibt, durch eine Prioritätssteuerung, die in Abhängigkeit von Anforderungssignalen einen
ersten Mikroprogrammspeicher gemäß einer vorgegebenen Priorität beeinflußt, durch eine Schalteinrichtung, die auf Bedingungen
im Datenfluß während der Ausführung einer Instruktion mit einer Umschaltung auf eine andere Mikroinstruktionsfolge eines anderen
Mikroprogrammspeichers umschaltet und durch eine Einrichtung zur übertragung der von den Mikroprogrammspeichern erzeugten Mikroinstruktionen
zum Hauptspeicher, Datenfluß und den Ein-/Ausgabesteuerungen.
Weitere Merkmale, vorteilhafte Ausgestaltungen und Weiterbildungen
des Gegenstandes der Erfindung sind den Unteransprüchen zu entnehmen .
Durch die Aufteilung des Steuerspeichers in mehrere kleinere Speicher wird also der Vorteil einer vereinfachten Zugriffssteuerung
erzielt, wobei weiterhin diese Speicher nun aufgrund ihrer noch geringeren Größe als monolithische Speicher ausgeführt werden
können. Die vereinfachte Zugriffssteuerung wird dadurch erreicht, daß für die Ansteuerung der Mikroprogrammspeicherteile
309850/0Ö29
FM 971 040
eine sehr einfache Ablaufsteuerung verwendet wird. Zu diesem Vorteil trägt weiter bei, daß drei Gruppen von Steuerspeicherteilen
vorgesehen sind. In der ersten Gruppe wird die Mikroprogrammunterbrechungsfolge,
die Unterbrechungsfolge und die Instruktionsaus führungsfolge gesteuert. Zur Mxkroprogrammunterbrechung ist
zu bemerken, daß hierunter eine solche Unterbrechung zu verstehen ist, bei der in der Anlage keine Zustandsänderung auftritt,
wie es bei den normalen Unterbrechungen der Fall ist. Es müssen deshalb auch keine Bedingungsinformationen zwischen den Registern
für das alte und neue Programmstatuswort übertragen werden.
In der zweiten Gruppe von Steuerspeichern werden Mikroaufträge
erzeugt, die für solche Operationen erforderlich >sind, wie Adressenerzeugung und Operandenabruf.
In der dritten Gruppe werden schließlich solche Mikroaufträge erzeugt, die für die Instruktionsausführung, einschließlich
eventueller Verzweigungen, erforderlich sind.
Im folgenden wird ein Ausführungsbeispiel der Erfindung anhand
der Zeichnungen beschrieben.
Es zeigen:
Fig. 1 ein Blockschaltbild eines Informationsverarbei-■
tungssystems, das die Beziehungen der Mikroprogrammsteuerungen zu den anderen Komponenten
des Systems veranschaulicht,
Fig. 2 ein Ablaufdiagramm der für das Informations
verarbeitungssystem erforderlichen Steueroperationen,
Fig. 3 ein Blockschaltbild eines Mikroprogramm-Steuer
subsystems gemäß der Erfindung,
309850/0829
EN 971 040
Fig. 4 ■ eine Darstellung des Bitmusters, das von dem
in Fig. 3 dargestellten Prioritätskodierer erzeugt wird,
Fig. 5 eine Ausführungsform eines Folgesteuergenerators
für das Mikroprogramm-Steuersubsystem gemäß der Erfindung,
Fig. 6 eine Ausführungsform der in Fig. 3 dargestellten
Sprunglogik für das Mikroprogrammspeicherelement für den Zustand 4,
Fig. 7A eine Prinzipdarstellung eines Mikroprogrammspeicherelementes,
wie es im Ausführungsbeispiel der Fig. 3 verwendet wird, und
Fig. 7B das Blockschaltbild einer alternativen Ausführungsform der Mikroprogrammspeicherelemente für
die Steuerung der Zustände 1, 2 und 3 einer Operationsfolge des Mikroprogramm-Steuersystems
nach Fig. 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.
EN 971 040 3098 BO/0829
Die Verarbeitungseinheit 20 übertägt Daten zu der Ein-/Ausgabegerätelogik
(E/A-Logik) 30 un'd sie empfängt Steuersignale von der
Steuerlogik 50 und überträgt Anforderungs- und Zustandssignale zu
der Steuerlogik 50 über 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 Daten und Zustandssignale als Antwort von den E/A-Ge'räten.
Das Blockschaltbild -in Fig. 1 stellt eine an sich bekannte Realisierung
eines Informationsverarbeitungssysteins dar, bei dem eine Steuerlogik 50 dazu dient, die Informationsverarbeitung über den
gesamten Datenfluß wirkungsvoll zu steuern.
In Fig. 2 ist ein typischer Steuerzyklus dargestellt, dessen Operation
dadurch eingeleitet wird, indem festgestellt wird, ob noch eine Mikroprogrammunterbrechungsanforderung oder eine Unterbrechungsanforderung
aussteht oder ob eine Instruktionsabruffolge ausgeführt werden soll. Mikroprogrammunterbrechungsanforderungs-,
Unterbrechungsanforderungs- und Instruktionsabruffolgen v/erden von
einem Mikroprogramm-Speicherelement gesteuert, das im folgenden
als Zustand O-Steuerung definiert ist.
Der Instruktionsabruffolge schließen sich stets die Adressenerzeugung,
der Datenoperandenabruf (Zustände 1, 2 und 3) und die Instruktionsausführungsfolgen (Zustand 4) an. Erläuterungen zu
diesen Steuerzuständen 0 bis 4 werden noch ausführlicher gegeben.
Alle in Fig. 2 dargestellten Operationen werden von der Steuerlogik
50 ausgeführt, die in Fig. 1 und ausführlicher in Fig. 3 dargestellt ist. Am Ende jedes Instruktionsausführungszyklus des
Informationsverarbeitungssystems wird der Zustandsgenerator 150
der die Operationenfolge der Steuerlogik steuert, auf den Zustand 0 eingestellt, wodurch das Mikroprogrammsteuerelement für den Zustand
0 freigegeben wird. Während der Operation des Zustandes 0 steuert das Mikroprogrammsteuerelement 100 das Informationsverarbeitungssystem.
Ein Prioritätskodierer 102 erzeugt ein Auswahl--
en 971 040 309850/0829
signal für eine .Multiplex Steuerung (MPX) 104, die dafür sorgt,
daß eine vorherbestimmte Anfangsadresse in einen Adressenzähler
106 durch geschaltet (übertragen) wird.
Der Prioritätskodierer 102 erzeugt Auswahl ■ und Freigabesignale
gemäß der in Fig. 4 dargestellten Tabelle. Wenn beispielsweise ein Operationsendesignal oder ein Instruktionsabruf--Anforderungs~
signal von dem Zustandsgenerator 150 erzeugt v/ird, dann geben die
Auswahlleitungseingänge zu der Multiplex-Steuerung 104 ein Ol-Bitipuster
ab, so daß die Freigabeleitung aktiv ist. Dieses Auswahlleitungsbitmuster
ergibt die Anfangsadresse der Instruktionsabruf
folge , die durch die Hultiplex-Steuerung 104 zu dem Adressenzähler
106 durchgeschaltet werden soll.
wenn ein Unterbrechungsanforderungssignal vorlage, dann wäre das
AuswahlIeitungs Bitnuister 10, wobei die Freigabeleitung aktiv
wäre und so die Mulitplex-Steuerung 104 veranließe, die Anfangsadresse der Unterbrechungsfolge zu den? Adressenzähler 1O6 durchzuschalten.
Wenn das wikroprograinmunterbrechungs-Anforderungssignal
aktiv ist, erzeugt der Prioritätscodierer 102 ein 11-Auswahlleitungs-Bitornister
mit einer aktiven Freigabeleitung, wodurch die Multiplexsteuerung 104 dazu veranlaßt wird, die Anfangsadresse
der Mikroprograinirrunterbrechungsfolge zu deit1 Adressenzähler 106
durchzusehalten.
Die Priorität der Behandlung der Anforderungssignale wird von dep
Prioritätscodierer 102 auf folgende reise zugeteilt:
Fenn ein '■!ikroprograranunterbrechungs-Anforderungssignal vorliegt,
dann erhält dieses die erste Priorität über alle anderen Anforderungssignale, so daß ein 11-Auswählleitungs-Bitrnuster erzeugt
wird.
"enn ein Unterbrechungs--/nforderunqssignal vorliegt, dann erhält
closes Priorität über rl.as Endcperations der Instruktionsabruf-/nf
or'-Icrunqssignal und es v.-ird dann ein 1° -Auswahlleitungs-Bit·-
; 'j7i 'mo 309850/0829
muster erzeugt. Das Operationsende- 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-Steuerspeicherelement 140 gesteuert wird. Das Operationsendesignal
wirkt als ein Anforderungssignal für einen Instruktionsabruf.
Wie Fig. 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 über den Inverter 124 und stellt die Verriegelungsschaltung
für den Zustand 0 ein, der die Freigabeleitung 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 Mikroprogrammunterbrechungs-, 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 Fig. 1 ab und stellt sie in das Instruktionsreqister
309860/0829
EN 9 71 040
20O7 dargestellt in Fig. 3.
Wen die Instruktionsabruffolge vollständig ausgeführt ist, erzeugt
das Mikroprogrammsteuerelement 100 für den Zustand 0 den Mikroauftrag "stelle den Zustandsgenerator über die Leitung 103
ein!!. Dieser Mikroauftrag bewirkt, daß der Zustandsgenerator
in Fig. 3 einen Zustand annimmt, der gesteuert wird von dem Inhalt des Feldes M des Instruktionsregisters 200, der über die Leitungen
205 dem Zustandsgenerator 150 zugeführt wird.
Die Mikroprogrammsteuerelemente 110, 120 und 130 für jeweils die
Zustände 1, 2 und 3 werden nur dann aktiviert, wenn die bestimmte auszuführende Instruktion Mikroaüfträge erfordert, die in einem
dieser Steuerelemente gespeichert sind, zu dem dann ein Zugriff erfolgen muß. So kann beispielsweise eine indirekte Adressierungsinstruktion
erfordern, daß der Zustandsgenerator das Mikroprogrammsteuerelement 110 freigibt, damit die Adressenerzeugung und der
Operandenabruf im Zustand 1 beginnen kann.
Andere Instruktionen können den Zustandsgenerator 150 benötigen, um mit der Adressenerzeugung und dem Operandenabruf entweder im
Zustand 2 oder 3 zu beginnen, indem er die Mikroprogrammsteuerelemente
120 oder 130, je nachdem, freigibt.
In Fig. 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 M-Feldes
eine "11" 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 M-Feldes "01" ist, dann wird zuerst der Zustand 2 freigegeben und die Zustandsfolge, wie zuvor, durch das
EN 971 040
309850/0829
-ίο- 2322874
Weiterschaltesignal auf der Leitung 105, weitergeschaltet.
Wenn das Bitmuster des M-Feldes eine "00" ist, dann wird zuerst
der Zustand 3 freigegeben, wenn aber das Muster eine "10" ist, dann wird zuerst der Zustand 4 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
O-Stellung.
Das Weiterschaltesignal für den Zustandsgenerator ist ein Mikroauftrag,
der von jedem Mikroprogrammsteuerelement 110, 120, 130 und 140 erzeugt wird, wenn das entsprechende Mikroprogrammsteuerelement
den Teil der Operation des Informationsverarbeitungssystems vollständig beendet hat, dessen Steuerung dieses Element übernommen
hat.
Die Mikroprogrammsteuerelemente 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 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 201 wird über die Tore 144 als Startadresse benutzt, wenn die erste Adressenleitung
aktiv ist. Die Tore 144a übertragen den Operationscode in das
Adressenregister 146, das seinerseits den Zugriff zu dem Mikroprogrammsteuerelement
140 durchführt.
Das Mikroprogrammsteuerelement 140 erzeugt Steuersignale auf den EN97IO4O 309850/0829
Leitungen 141, die die sogenannte Sprunglogik 142 (ausführlich dargestellt in Fig. 6) und die Tore 144o betätigt, um alternierende
Adressen in dem Mikroprogrammsteuerelement 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
MuItiplexsteuerung 104.
Die Multiplexsteuerung 148 gestattet den Datenbedingungen das
niedrigstellige Bit der nächsten Adresse, gesteuert von dem Mikroprogrammsteuerelement
140, umzuschalten, so daß eine alternative Mikroinstruktion in Abhängigkeit von den Datenflußbedingungen
ausgeführt wird.
Auf diese Weise steuert das Mikroprogrammsteuerelement 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 Makroinstruktionen erzeugt werden.
Nachdem die Instruktionausfü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 15O zu dem Zustand 0 weiterschaltet und ein Operationsendesignal erzeugt,
das einen Operationszvklus abschließt.
Das vorstehende Ausführungsbeispiel wurde zwar anhand eines Informationsverarbeitungssystems
beschrieben, es ist jedoch nicht
yr. 971 O4O 309850/0829
auf eine derartige Anwendung beschränkt, sondern es kann auch für die Steuerung von Ein--/Ausgabegeräten, Zeichengeneratoren und anderen
logischen Systemen verwendet werden, die eine gesteuerte Operationsfolge erfordern.
Jedes dieser Mikroprogrammsteuerelemente 100, 110, 120, 130 und
140 kann als monolithisch integrierter Festwertspeicher realisiert
sein, der bereits auf dem Markt erhältlich ist.
Die Fign. 7A und 7B zeigen zwei Alternativen für die Realisierung der Mikroprogrammsteuerelemente für die Zustände 1,2 und 3. Fig.
7A zeigt, ebenso wie das in Fig. 3 dargestellte Ausführungsbeispiel, 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 "b"- und "m"-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 36 2 erzeugt werden. Das Ausgangssignal des Tores 354 ist logisch gleich
sT & sT & S~3. Das Aus gangs signal des Tores 356 ist logisch gleich
ST & S2 & S3".
Die Freigabesignale werden in dem ODER-Tor 352 kombiniert, um das Mikroprogrammsteuerelement 350 freizugeben, so daß eine be-
en 971 040 309850/0829
liebige von 32 Adressen der Länge N 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 Mikroprogrammsteuer-Subsystems, das
mit weniger gespeicherten Bits für eine gegebene Steuerfunktion auskommt, als bekannte Systeme.
309850/0829
Claims (5)
1. Mikroprogramm-Steuereinrichtung für eine elektronische Datenverarbeitungsanlage, gekennzeichnet durch mehrere
verteilt angeordnete Mikroprogrammspeicher (100, 110, ..., 140; Fig. 3), von denen jeder nur einen Teil der Operation
der Anlage zu einer bestimmten Zeit steuert, durch eine Ablaufsteuerung (150), die in Abhängigkeit von der Information
in einem bestimmten Feld des Instruktionswortes die Mikroprogrammspeicher gemäß einer vorgegebenen Reihenfolge
zur Steuerung der Operation freigibt, durch eine Prioritätssteuerung (102, 104), die in Abhängigkeit .von
AnforderungsSignalen einen ersten Mikroprogrammspeicher
(100) gemäß einer vorgegebenen Priorität beeinflußt, durch eine Schalteinrichtung (142, 144a,b, 149). , die auf Bedingungen
im Datenfluß während der Ausführung einer Instruktion mit einer Umschaltung auf eine andere Mikroinstruktionsfolge
eines anderen Mikroprogrammspeichers umschaltet und durch eine Einrichtung (101) zur übertragung der von
den Mikroprogrammspeichern erzeugten Mikroinstruktionen zum Hauptspeicher, Datenfluß und den Ein-/Ausgabesteuerungen.
2. Mikroprogramm-Steuereinrichtung nach Anspruch 1, dadurch gekennzeichnet, daß ein Mikroprogrammspeicher (100,
110,..., 140; Fig. 3) für die Steuerung eines Teils der Operation der Datenverarbeitungsanlage während eines bestimmten
von mehreren Operationszuständen getrennt von den anderen freigegeben wird.
3. Mikroprogramm-Steuereinrichtungen nach Anspruch 1 und/oder
2, dadurch gekennzeichnet, daß ein Mikroprogrammspeicher (100; Fig. 3) für die Erzeugung von Mikroinstruktionen
für eine Mikroprogramm--Unterbrechungsfolge, für eine Unter-
309850/-0 829
EN 971 040
brechungsfolge und für eine Instruktionsabruffolge, daß
andere Mikroprogrammspeicher (110, 120, 130) für die Erzeugung von Mikroinstruktionen in Abhängigkeit von der
Information in einem Adressenfeld einer Instruktion, die von der Anlage ausgeführt werden soll (z.B. Erzeugung der
effektiven Adressen, Operaridenabruf), daß ferner ein
weiterer Mikroprogrammspeicher (140) zur Erzeugung von Mikroinstruktionen zur Ausführung der genannten Instruktionen
in Abhängigkeit von der Information im Operationscode-Feld der genannten Instruktionen und von Signalen, die
im Datenfluß während der Ausführung der genannten Instruktionen auftreten und daß schließlich eine Ablaufsteuerung
(150) für die serielle Freigabe der genannten Mikroprogrammspeicher während der Instruktions- und Ausführungszyklen
der Anlage vorgesehen sind (vgl. Fig. 2).
4. Mikroprogramm-Steuereinrichtung nach einem oder mehreren
der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die Auswahl derjenigen Mikroinstruktionsfolge des Mikroprogrammspeichers
für die Steuerung der Mikroprogrammunterbrechung, der Programmunterbrechung und des Instruktionsabrufs, die
zuerst ausgeführt werden soll, durch ein Signal der Prioritätssteuerung (102, 104; Fig. 3) gesteuert wird (vgl.
. Fig. 2) .
5. Mikroprogramm-Steuereinrichtung nach Anspruch 4, dadurch
gekennzeichnet, daß die Auswahl alternativer Mikroprogrammfolgen des weiteren Mikroprogrammspeichers (140; Fig. 3)
in Abhängigkeit von Bedingungen erfolgt, die während der Ausführung von Operationen auftreten, die von der genannten
Instruktion spezifiziert werden.
3098b0/0öü9
4b
e e r s e i t e
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 true DE2322674A1 (de) | 1973-12-13 |
DE2322674B2 DE2322674B2 (de) | 1981-06-19 |
DE2322674C3 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 |
US4037204A (en) * | 1974-10-30 | 1977-07-19 | Motorola, Inc. | Microprocessor interrupt logic |
US3987418A (en) * | 1974-10-30 | 1976-10-19 | Motorola, Inc. | Chip topography for MOS integrated circuitry microprocessor chip |
US4010448A (en) * | 1974-10-30 | 1977-03-01 | Motorola, Inc. | Interrupt circuitry for microprocessor chip |
US4001788A (en) * | 1975-03-26 | 1977-01-04 | Honeywell Information Systems, Inc. | Pathfinder microprogram control system |
US4079454A (en) * | 1976-01-02 | 1978-03-14 | Data General Corporation | Data processing system using read-only-memory arrays to provide operation in a plurality of operating states |
US4087857A (en) * | 1976-10-04 | 1978-05-02 | Honeywell Information Systems Inc. | ROM-initializing apparatus |
US4107774A (en) * | 1976-10-04 | 1978-08-15 | Honeywell Information Systems Inc. | Microprogram splatter return apparatus |
US4153319A (en) * | 1977-12-12 | 1979-05-08 | General Motors Corporation | Locking shield for electrical terminal |
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 |
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 |
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 |
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 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1813916A1 (de) * | 1967-12-20 | 1969-07-10 | Burroughs Corp | Elektronische Datenverarbeitungsanlage |
DE2150292A1 (de) * | 1970-10-10 | 1972-04-13 | Ibm | Mikroprogrammgesteuerte Datenverarbeitungsanlage mit ueberlagerter Ausfuehrung und Entnahme von Befehlen |
Family Cites Families (8)
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 |
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 |
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
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1813916A1 (de) * | 1967-12-20 | 1969-07-10 | Burroughs Corp | Elektronische Datenverarbeitungsanlage |
DE2150292A1 (de) * | 1970-10-10 | 1972-04-13 | Ibm | Mikroprogrammgesteuerte Datenverarbeitungsanlage mit ueberlagerter Ausfuehrung und Entnahme von Befehlen |
Also Published As
Publication number | Publication date |
---|---|
FR2195372A5 (de) | 1974-03-01 |
JPS5342380B2 (de) | 1978-11-10 |
US3760369A (en) | 1973-09-18 |
DE2322674B2 (de) | 1981-06-19 |
CA990411A (en) | 1976-06-01 |
JPS4951839A (de) | 1974-05-20 |
IT981606B (it) | 1974-10-10 |
DE2322674C3 (de) | 1982-03-04 |
GB1358534A (en) | 1974-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2322674A1 (de) | Mikroprogramm-steuereinrichtung | |
DE1774296C2 (de) | Restruktuierbare Steuereinheit für elektronische Digitalrechner | |
DE1915818C3 (de) | Steuerschaltung für ein elektronisches Datenverarbeitungssystem | |
DE2555963C2 (de) | Einrichtung zur Funktionsmodifizierung | |
DE3586603T2 (de) | Datenprozessor fuer interpretierende und kompilierte sprache. | |
EP0097725B1 (de) | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen | |
DE2318069C2 (de) | Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix | |
DE1549523B2 (de) | Datenverarbeitungsanlage | |
DE2847934A1 (de) | Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher | |
DE2714805A1 (de) | Datenverarbeitungssystem | |
DE1499200B2 (de) | Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung | |
DE2907181A1 (de) | Befehlssatz-modifizierregister fuer einen datenprozessor | |
DE2718051A1 (de) | Datenverarbeitungsanlage mit einrichtungen zur wechselnden bearbeitung mehrerer aufgaben | |
DE1524209B2 (de) | Programmgesteuerte datenverarbeitungsanlage | |
DE2717658A1 (de) | Anordnung zur ansteuerung eines mikroprogrammspeichers | |
DE2248296A1 (de) | Programmsteuereinrichtung | |
DE2339636A1 (de) | Programmsteuereinrichtung | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
DE2019444A1 (de) | Datenverarbeitungsanlage | |
EP0010185A1 (de) | Virtuell-Adressiervorrichtung für einen Computer | |
DE2401364A1 (de) | Datenverarbeitungssystem | |
DE2725614C2 (de) | ||
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE2622140C3 (de) | Einrichtung zur Steuerung manueller Operationen | |
DE1194605B (de) | Verbesserung an Geraeten zur Verarbeitung von Angaben, Informationen od. dgl. |
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 |