DE2355993B2 - Programmierbare datenverarbeitungsanlage - Google Patents
Programmierbare datenverarbeitungsanlageInfo
- Publication number
- DE2355993B2 DE2355993B2 DE19732355993 DE2355993A DE2355993B2 DE 2355993 B2 DE2355993 B2 DE 2355993B2 DE 19732355993 DE19732355993 DE 19732355993 DE 2355993 A DE2355993 A DE 2355993A DE 2355993 B2 DE2355993 B2 DE 2355993B2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- control
- data processing
- address
- bits
- 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
- 238000012545 processing Methods 0.000 title claims description 151
- 230000015654 memory Effects 0.000 claims description 165
- 238000012360 testing method Methods 0.000 claims description 63
- 230000006870 function Effects 0.000 claims description 19
- 238000000034 method Methods 0.000 description 34
- 238000012546 transfer Methods 0.000 description 21
- 239000004020 conductor Substances 0.000 description 16
- 230000000694 effects Effects 0.000 description 11
- 101001117010 Homo sapiens Pericentrin Proteins 0.000 description 5
- 102100024315 Pericentrin Human genes 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 238000002347 injection Methods 0.000 description 4
- 239000007924 injection Substances 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/268—Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Description
Die Erfindung betrifft eine programmierbare Datenverarbeitungsanlage
mit einer Datenverarbeitungseinheit, die eine Speichereinheit zur Speicherung von
Befehlen enthält, die durch die Datenverarbeitungseinheit ausgeführt werden, wobei die Befehle mindestens
einen die Befehle definierenden Operationscodeanteil besitzen, mit einer mit der Datenverarbeitungseinheit in
Verbindung stehenden Mikroprogrammsteuereinheit zur Steuerung der Befehlsausführung in der Datenverarbeitungseinheit,
wobei die Mikroprogrammsteuereinheit einen ersten Speicher zur Speicherung von Mikrobefehlen und einen zweiten Speicher zur Speicherung
von Steuerwörtern enthält, die jeweils einem von der Datenverarbeitungsanlage auszuführenden Befehl
eindeutig zugeordnet sind und Steuerinformation für die Datenverarbeitungseinheit und Adresseninformation
enthalten, wobei der zweite Speicher mit der Datenverarbeitungseinheit verbunden ist und von dieser gemäß
der Operationscodeinformation adressiert wird, um ein Steuerwort aus dem zweiten Speicher auszulesen, und
mit Steuereinrichtungen, die dem ersten Speicher selektiv Adressiersignale zuführen, um aus diesem
Speicher einen Mikrobefehl auszulesen.
Bekanntlich wird ein großer Anteil der in einer Datenverarbeitungsanlage vorhandenen Logikschaltungen
zur Steuerung der Befehlsausführung durch die Datenverarbeitungsanlage verwendet. Die Steuerung
der Befehlsausführung wird normalerweise durch einen komplexen Aufbau vieler diskreter Logikelemente oder
integrierter Schaltungen bewirkt, die so miteinander verbunden sind, daß bei Vorliegen einer Befehlswortinlormation
selektiv Steuersignale aus dem Speicher der
Datenverarbeitungsanlage erzeugt werden.
Ein offensichtlicher Nachteil dieser Art der Steuerlogik besteht in der Kompliziertheit und der Kosten, die
durch Verwendung vieler logischer Elemente hervorgerufen werden. Ferner ist ein derartiger Aufbau nicht
universell zur Verwendung in verschiedenen Typen von Datenverarbeitungsanlagen einsetzbar, d. h., für jeden
neuen Aufbau einer Datenverarbeitungsanlage muß ein neuer Aufbau für die Steuerlogik besonders auf diese
Datenverarbeitungsanlage zugeschnitten werden.
Aufgrund dieser Nachteile besteht die Tendenz, Datenverarbeitungsanlagen zu schaffen, die einen
einzigen Festwertspeicher mit einem gespeicherten Mikroprogramm zur Steuerung der Befehlsausführung
durch die Datenverarbeitungsanlage verwenden. Ein derartiges Mikroprogramm besteht typischerweise aus
einer Vielzahl von Steuerwörtern, die in vorgegebener Weise angeordnet sind, wobei das Mikioprogramm
durch mehrere Subroutines durchgeführt wird. Jede Subroutine ist einem Befehl zugeordnet, der von der
Datenverarbeitungsanlage ausgeführt werden soll. Als Ergebnis hiervon ist entweder ein großer Festwertspeicher
oder mehrere Festwertspeicher erforderlich, um alle Steuerwörter für jeden der Befehle der Datenverarbeitungsanlage
aufzunehmen. Ein derartiger Aufbau führt im Vergleich zum Aufbau mit diskreten logischen
Elementen zwar zu Kosteneinsparungen, dieser Lösungsweg ist jedoch wegen der Notwendigkeit für die
Verwendung eines großen Festwertspeichers noch relativ kostspielig.
Um die Größe und die Kosten der Festwertspeicher zu reduzieren, wurden bereits Steuereinrichtungen
geschaffen, die zusammen mit dem Festwertspeicher eine zusätzliche Steuerlogik verwenden. Bei einem
derartigen Aufbau enthält der Festwertspeicher weniger Mikroprogramm-Subroutinen, wobei jede Subroutine
teilweise die Ausführung mehrerer Befehle mit gemeinsamen Befehlsausführungseigenschaften steuern
kann. Bei der Ausführung dieser verschiedenen Befehle wird jedoch ein Punkt erreicht, an dem die Befehle nicht
mehr langer gemeinsame Eigenschaften besitzen, d. h., die Befehle führen in der Datenverarbeitungsanlage
jeweils eine verschiedene Funktion aus. An diesem Punkt entsteht die Notwendigkeit für eine ergänzende
Steuerlogik, die bewirkt, daß den einzelnen Befehlen eindeutig zugeordnete Steuersignale zur Steuerung der
Datenverarbeitungsanlage erzeugt werden können.
Aus der US-PS 36 46 522 ist eine Datenverarbeitungsanlage bekannt, die eine Mikroprogrammsteuereinheit
mit zwei Speichern aufweist, wobei der erste Speicher Mikroprogramme, und der zweite Speicher die
Beziehung zwischen dem Operationscode von Makrobefehlen und den Startadressen der Mikroprogramme
im ersten Speicher enthält.
Aufgabe der Erfindung ist es demgegenüber, eine Datenverarbeitungsanlage mit einer mit der Datenverarbeitungseinheit
in Verbindung stehenden Mikroprogrammsteuereinheit zu schaffen, die einen ersten und
einen zweiten Speicher aufweist, deren Funktion gegenüber bekannten Anordnungen erweitert ist, um so
die nachgeschaltete Steuerlogik der Datenverarbeitungseinheit zu vereinfachen.
Diese Aufgabe wird erfindungsgemäß bei einer Datenverarbeitungsanlage der eingangs erwähnten Art
dadurch gelöst, daß die Mikrobefehle von einem ersten und zweiten Typ sind, und die Mikrobefehle des ersten
Typs Steuerdaten zur Steuerung der Aufeinanderfolge der Mikrobefehle und Adresseninformation für die
Mikrobefehle, die Mikrobefehle des /weiten Typs Steuerdaten zur Steuerung der Aufeinanderfolge der
Mikrobefehle und Steuerinformation für die Datenverarbeitungseinheit
enthalten, daß die Steuereinrichtungen eine Prüflogik und Adressendurchlaufeinrichtungeri
mit einem indizierbaren Zähler enthalten, daß die Prüflogik auf die von der Datenvcraroeiiungseinheit
gelieferte Operationseodeinforination und die Steuerdaten
anspricht, die in zuvor ausgelesenen Mikrobefehlen des ersten oder zweiten Typs enthalten sind, und
Adressensleuersignale erzeugt, die in einem nachfolgenden Zugriff zum ersten Speicher verwendbar bind, daß
die Adressendurchlaufeinrichtungen mit dem ersten Speicher und dem zweiten Speicher verbunden sind und
die in einem zuvor aus dem zweiten Speicher ausgelesenen Steuerwort enthaltene Adresseninformation
und die in einem zuvor aus dem eresten Speicher ausgelesenen Mikrobefehl des ersten oder zweiten Typs
enthaltene Adresseninformation und Steuerdaien empfangen,
daß die Adressendurchlaufeinrichtungen in einem ersten Fall selektiv auf die Adressensteuersignale
der Prüflogik und die in einem zuvor ausgelesenen Mikrobefehl des ersten Typs enthaltenen Steuerdaten
ansprechen und die im zuvor ausgelesenen Mikrobefehl des ersten Typs und in dem zuvor ausgelesenen
Steuerwort enthaltenen Adresseninforniationen auswählen
und dem ersten Speicher als Adressiersignale zuführen, daß die Adressendurchlaufeinrichtungen in
einem zweiten Fall üen indizierbaren Zähler in Abhängigkeit von an die Prüflogik gelieferte und in
einem zuvor ausgelesenen Mikrobefehl des zweiten Typs enthaltene Steuerdaten setzen und aus dem Zähler
eine Adresse dem ersten Speicher als Adressiersignal zuführen, und daß Einrichtungen mit dem ersten
Speicher und dem zweiten Speicher verbunden sind und wahlweise Steuersignale zur Steuerung der Datenverarbeitungseinheit
gemäß derjenigen Steuerinformation für die Datenverarbeitungseinheit, die in dem zuvor
ausgelesenen Steuerwort enthalten ist, und gemäß derjenigen Steuerinformation für die Datenverarbeitungseinheit
und der Steuerdaten liefern, die in eiiem zuvor ausgelesenen Mikrobefehl des zweiten Typs
enthalten sind.
Die Vorteile der Erfindung liegen insbesondere darin, daß einmal der Inhalt des zwtiten Speichers den ersten
Speicher über die Adressendurchlaufeinrichtungen adressiert, um die Durchführung eines im ersten
Speicher enthaltenen Mikrobefehls zu steuern, und daß der erste Speicher außerdem sich selbst unmittelbar
über die Adressendurchlaufeinrichtungen adressieren kann, um die Durchführung eines Sprungs in dem im
ersten Speicher enthaltenen Mikroprogramm zu verwirklichen. Außerdem kann während der Ausführung
bestimmter Mikrobefehle der erste Speicher sequentiell vom indizierbaren Zähler adressiert werden. Die
Tatsache, daß der erste Speicher der Mikroprogrammsteuereinheit von zwei Quellen, nämlich vom ersten
Speicher selbst und vom zweiten Speicher adressiert werden kann, ermöglicht die Ausführung mehrerer
Mikroprogramm-Subroutinen während der Durchführung eines einzigen Befehls durch die Datenverarbeitungseinheit.
Auf Grund der Adressierung des ersten Speichers von zwei Quellen ist es während der
Ausführung eines einzigen Befehls durch die Datenverarbeitungsanlage möglich, eine Verzweigung oder einen
Sprung von einer Subroutine zu einer anderen Subroutine vorzunehmen, wodurch erhebliche
Speicherkapazität eingespart wird.
Kin weiterer Vorteil der Erfindung besteht darin, daß
Steuersignale zur Steuerung der Datenverarbeitungscinheit von beiden Speichern der Mikroprogramm-Steuereinheit
lieferbar sind. Durch das Zusammenwirken dieser mit beiden Speichern verbundenen Einrichtung
wird der Bedarf an zusätzlichen Logikeinrichtungen und der Platz zur Speicherung des Mikroprogramms
verringert.
Die Vermeidung zusätzlicher Logik und die Verringerung des Speicherplatzes wird dadurch verwirklicht, daß
im ersten Speieher ein Mikroprogramm mit mehreren Subroutinen vorgesehen ist. Jede Subroutine oder
Unterprogramm ist mehreren Befehlender Datenverarbeitungsanlage zugeordnet, die alle gemeinsame Befehlsausführungscharakteristiken
aufweisen. Während der Durchführung einer speziellen Subroutine wird ein Punkt im Mikroprogramm erreicht, ab dem weitere
gemeinsame Charakteristiken der speziellen ausgeführten Befehle der Datenverarbeitungsanlage nicht weiter
existieren. Unter der Steuerung spezieller Mikrobefehle innerhalb der Subroutine wird dann veranlaßt, daß die
Steuerung der Ausführung des Befehls der Datenverarbeitungsanlage vom ersten Speicher zum zweiten
Speicher übergeht. Dieser Übergang der Steuerung wird dadurch bewirkt, daß der mit dem ersten und dem
zweiten Speicher verbundenen Einrichtung eine spezielle Stcuerinformation vom ersten Speicher zugeführt
wird. Die Zufuhr dieser Steuerinformation ermöglicht es der mit beiden Speichern verbundenen Einrichtung,
selektiv gewisse Steuersignale zu erzeugen, die bewirken, daß die Datenverarbeitungseinheit diejenigen
Punktionen durchführt, die nur dem individuellen, gerade ausgeführten Befehl zuzuordnen sind. Gewisse
vom ersten Speicher ausgelesene Mikrobefehle bewirken, daß die mit beiden Speichern in Verbindung
stehende Einrichtung Steuersignale für die Datenverarbeitungseinheit
von beiden Speichern liefert.
Gemäß einer bevorzugten Ausführungsform der Erfindung ist der in den Steuereinrichtungen enthaltene
indizierbare Zähler als Serien-Parallel-Zähler zur Erzeugung von Adrcssiersignalen für den ersten
Speicher ausgebildet.
Gemäß einer weiteren bevorzugten Ausführungsform der Erfindung sind der erste Speicher und der
zweite Speicher als Festwertspeicher ausgebildet.
Gemäß einer weiteren bevorzugten Ausführungsform
der Erfindung enthält der zweite Speicher ein Register, das Adressensignale aus der Datenverarbeitungseinheit
zum Adressieren der Speicherplätze im zweiten Speicher enthält.
Gemäß einer bevorzugten Ausführungsform der Erfindung enthalten die Einrichtungen, die mit dem
ersten Speicher und dem zweiten Speicher in Verbindung stehen, die beide als Festwertspeicher ausgebildet
sind, einen Multiplexer.
Nachfolgend wird ein Alisführungsbeispiel der Erfindung an Hand der Zeichnungen beschrieben. In
den Figuren zeigt
I" ig. 1 ein Blockschaltbild einer Datenverarbeitungsanlage einschließlich einer Mikroprogrammstcucreinheit
gemäß einem Ausführungsbeispiel der Erfindung, wobei die ausgezogenen Linien Daten- oder Informationssignalleitungen
und die gestrichelten Linien Stcuersignalleilungcn darstellen,
!•'ig. 2 das grundlegende Befchlswortformat der
Befehlswörter, die in der Spcichcrcinheit der Datenverarbeitungsanlage
enthüllen sind,
I·' i g. 3A bis 3C das format der verschiedenen Typen von Mikrobefehlen des ersten Speichers der Mikropro·
grammsteuereinheil,
E i g. 4 das Format der im zweiten Speicher enthaltenen Steuerwörter,
Fig. 5 ein Blockschaltbild der erfindungsgemäßen Mikroprogrammsteuereinheit, wobei die ausgezogenen
und die gestrichelten Linien im gleichen Sinne wie in F i g. I verwendet sind,
F i g. 6 eine Tabelle, die die Decodierung von Stcuerdaten in einem bestimmten Bitfeld in dem
Mikrobefehl nach F i g. 3A zeigt, und
F i g. 7A bis 7C und F i g. 8— 11 Flußdiagramme, die
die Mikroprogramm- und Subroutinefolge der Mikroprogrammsteuerinheit
zur Steuerung der Durchführung von Befehlen der Datenverarbeitungsanlage zeigen.
Es wird nunmehr auf die F i g. 1 Bezug genommen, die eine allgemein mit der Bezugsziffer 10 bezeichnete
Datenverarbeitungsanlage zeigt. Die Datenverarbeitungsanlage 10 enthält eine Datenverarbeitungseinheit
12. Diese kann irgendeine der verschiedenen Arten von digitalen Rechner- oder Steuereinheiten für allgemeine
Verwendungszwecke sein. Zur Beschreibung der Arbeitsweise eines Ausführungsbeispiels der Erfindung
wird jedoch die Datenverarbeitungseinheit 12 als eine Einheit bekannter Art dargestellt, die ein Befehlsadressenregister,
ein K-Register oder Zähler, eine arithmetische Logikeinheit, ein Α-Register und geeignete Steueroder
Torlogik zur Steuerung der Operationen der Register und des Informationsflusses innerhalb und
außerhalb der Einheit 12 besitzt.
Das Befehlsadressenregister wird nachstehend mit IAR bezeichnet und ist zur Aufnahme von Information
von der arithmetischen Logikeinheit und von der Steuerlogik steuerbar. Ebenso ist das IAR steuerbar, um
als ein Speicheradreßregister (MAR) zur Einschreibung oder Speicherung von Information und zum Auslesen
von Information von einer Speichereinheit 14 zu dienen, die einen Teil der Datenverarbeitungsanlage 10
darstellt. Weiterhin kann der Inhalt des IAR in die Speichereinheit 14 eingeschrieben werden oder von der
Speichereinheit zu, bzw. von Adressenplätzen gebracht bzw. geholt werden, die entweder von dem IAR oder
der Steuerlogik im Innern der Datenverarbeitungseinheit 12 bestimmt werden.
Das K-Register dient als Zähler zur Zählung der Anzahl von Verschiebungen, welche während der
Ausführung von Schiebebefehlen von der Datenverarbeitungseinheit 12 ausgeführt werden.
Zusätzlich ist das K-Register noch so steuerbar, daß es entweder aus der Speichereinheit oder der
arithmetischen Logikeinheit beschickt werden kann. In Abhängigkeit von der Art des von der Datenverarbeitungsanlage
ausgeführten Befehls gibt der Inhalt des K-Registers Befehlsadresscninformation oder Information
über die Zahl der Verschiebungen an.
Die arithmetische Logikeinheit wird nachstehend als ALU bezeichnet und enthält eine Logik, durch welche
sie selektiv zur Aufnahme von Informationen von dem IAR und dem K-Registcr steuerbar ist, um arithmetische
Operationen und Übertragungen von einem Register in ein anderes durchzuführen.
Das A-Registcr ist grundsätzlich ein arithmetisches Register. Es ist steuerbar und kann während der
Ausführung von Schiebcbcfchlen durch die Datenverarbeitungsanlage um eine Anzahl von Bitpositionen
verschoben werden. Ebenso ist das A-Registcr so steuerbar, daß es während Auslese- und Einschreiboperationen
mit der Speichereinheit 14 in Verbindung
stehen kann. Sein Inhalt kann daher von bestimmten Speicherplätzen aus abgegeben oder dort gepeichert
werden. Der Ausgang des ALU wird ebenfalls während der Ausführung gewisser Befehle der Datenverarbeitungsanlage
in das Α-Register eingegeben. Der Informationstransfer zwischen der Datenverarbeitungseinheit 12 und der Speichereinheit 14 erfolgt über eine
Vielzahl von Datenleitungen 16. Dieser Informationstransfer wird durch Steuersignale bewirkt, die zwischen
der Speichereinheit und der Datenverarbeitungseinheit über eine Vielzahl von Steuerleitungen 18 fließen.
Eine Mikroprogrammsteuereinheit 20 besteht aus einem ersten Festwertspeicher (MPROM) 22 mit
Steuereinrichtungen und einem zweiten Festwertspeicher (MDROM) 24 mit Logikeinrichtungen. Die
Mikroprogrammsteuereinheit 20 enthält ferner einen Multiplexer 26. Der zweite Festwertspeicher 24, der
nachstehend als MDROM bezeichnet wird, steht über die Datenleitungen 28 in direkter Verbindung mit der
Speichereinheit 14 der Datenverarbeitungsanlage und enthält Operationscodeinformation der Befehlswörter
aus der Speichereinheit als Adresseninformation.
Das Format des Befehlswortes gemäß F i g. 2 stellt ein Beispiel für Befehle dar, wie sie in der Speichereinheit 14
für alle von der Datenverarbeitungsanlage 10 auszuführenden Befehle enthalten sind. Die Bits A bis F des
Befehlswortes werden über Operationscode- oder Adressenleitungen 28 dem MDROM zugeführt, wenn
ein Befehl von der Speichereinheit durch die Datenverarbeitungseinheit 12 entnommen wird. Die Bits C bis F
definieren den Befehl, wie z. B. Addieren, Subtrahieren usw. Das Bit B wird verwendet, um das Befehlsadressenfeld
(Bit 0 bis 9) zu bezeichnen, das über indexbasis adressiert werden soll, und das Bit A wird eingesetzt, um
zu bestimmen, daß das Befehlsadressenfeld mit Index versehen werden soll. Die Basisadressierung und
Indizierung eines Adressenfeldes für ein Befehlswort kann gleichzeitig mit Bit A und Bit B bestimmt werden.
Die Operationscodeinformation (Bits A bis F) wird in einer Speichereinrichtung oder einem Register im
MDROM aufbewahrt, wobei diese Information dazu verwendet wird, um bestimmte adressierbare Speicherplätze
in dem MDROM zu adressieren. Jeder dieser Speicherplätze enthält ein Steuerwort, das jeweils je
einem der von der Datenverarbeitungsanlage auszuführenden Befehl zugeordnet ist. Die Bedeutung der Bits in
dem Steuerwort gemäß F i g. 4 wird noch nachstehend erläutert.
Wenn der MDROM adressiert wird, liefert er an den MPROM 22 und an den Multiplexer 26 Signale. Die
Datensignale werden von dem MDROM als Adressenbits oder Adresseninformation auf einem Mehrfachkabel
30 an den MPROM zur Adressierung bestimmter Plätze im Innern des MPROM geliefert. Bestimmte
Signale werden von dem MDROM 24 über Leiter 31 dem Multiplexer zugeführt, wobei der Multiplexer
Steuer- und Datensignale über eine Vielzahl von Steuersignalleitungen 32 und Datensignalleitungen 24
an die Datenverarbeitungseinheit 12 liefert. Der Multiplexer 26 enthält ferner von dem MPROM über
die Steuerleitungen 36 und die Datenleitungen 38 Steuersignale und Datensignale. Die Datensignale
werden in dem Multiplexer mit den Signalen von dem MDROM kombiniert, um auf den Leitungen 32 und 34
die Ausgangssignale des Multiplexers 26 zu erzeugen.
Es wird nunmehr auf den ersten Festwertspeicher M PROM, 22a, mit den Steuereinrichtungen 22b, 22c, 22d
gemäß Fig. 1 Bezug genommen. Der MPROM besitzt eine Vielzahl von selektiv adressierbaren Speicherplät
zen, wobei jeder Speicherplatz einen bestimmter Mikrobefehl enthält. Diese Mikrobefehle stellen kollek
tiv ein Mikroprogramm dar, das von der Mikroprogrammsteuereinheit 20 ausgeführt werden soll, um eine
ordnungsgemäße Erzeugung der Ausgangssignale odei Steuersignale des Multiplexers auf den Leitern 32 unc
34 für die Befehle zu bewirken, die von dei Datenverarbeitungsanlage hin ausgeführt werden sollen.
Vor der weiteren Beschreibung der Mikroprogrammsteuereinheit 20 werden die verschiedenen Mikrobefehle
beschrieben, die in dem MPROM enthalten sind Diese Mikrobefehle sind in den Fig.3A, 3B und 3C
dargestellt. F i g. 3A zeigt das Format eines Sprungsteuerwortes oder Mikrobefehls des ersten Typs.
Dieser Mikrobefehl des ersten Typs wird während der Durchführung des Mikroprogramms benutzt, um die
selektive Adressierung des MPROM auf der Grundlage des Inhalts des Mikrobefehls des ersten Typs, auch
Sprungsteuerwort genannt, und verschiedener Zustandssignale vorzunehmen, die dem MPROM von der
Datenverarbeitungseinheit 12 über die Zustandleitungen 40 zugeführt werden.
Die Bits 14 und 15 (vgl. Fig.3A) stellen den Operationscode dar und werden als Operationscodesignale
vom Ausgang des MPROM auf den Leitern 42 (vgl. Fig. 1) an die Steuereinrichtungen 22c des
MPROM geliefert. Die Steuereinrichtungen 22c, 22c dekodieren die Operationscodesignale, um die Ausführung
des Sprungsteuerwortes durch die Stuereinrichtungen zu gestatten. Ein Bit-Prüffeld besteht aus den Bits 8
bis 11 und liefert ebenfalls zwei Prüfsignale über die Leitungen 42 an die Steuereinrichtungen des MPROM.
Diese Sprungprüfsignale werden mit Zustandssignalen von der Datenverarbeitungseinheit verglichen, um die
Erzeugung einer Sprungadresse oder einer sequentiellen Adresse an den MPROM zu bewirken. Die
Codierung des Bit-Prüffeldes für eine bestimmte auszuführende Sprungprüfung durch die Steuereinrichtungen
226, 22c, 22Cf ist in Fig.6 dargestellt. Die
Bedeutung der verschiedenen Sprungtests wird noch anschließend erläutert.
Eine Sprungadresse an das eigene Feld des Sprungsteuerworts (Mikrobefehl des ersten Typs)
besteht aus den Bits O bis 5. Diese Bits werden vom Ausgang des MPROM als Adresseninformation über die
Adressenleitungen 44 (vgl. Fig. 1) zurück an den Eingang geliefert. Die selektive Adressierung des
MPROM wird durch den Zustand eines Bits 6 des Sprungsteuerwortes gesteuert. Das Bit 6 wird verwendet,
um ein Adressierung-Überlassen-Signal über die Leitungen 42 an die Steuereinrichtungen des MPROM
zu liefern und zu bestimmen, ob die nächste Adresse für den MPROM vom MPROM selbst (Bit O bis 5) oder über
die Adressenleitungen 30 von dem MDROM kommen soll. Die letztere Adresse kommt von den Bits 18 bis 23
des Steuerworts gemäß Fig.4, dessen Format noch näher erläutert wird.
Die Bits 7, 12 und 13 des Sprungsteuerworts gemäß F i g. 3A sind schraffiert dargestellt, und dies bedeutet,
daß sie nicht verwendet werden. Sie können jedoch zur Ausführung von erweiterten Funktionen eine Verwendungsmöglichkeit
besitzen.
Ein anderes Format eines Mikrobefehls, d. h. eines Mikrobefehls des zweiten Typs, das in verschiedenen
Speicherplätzen des MPROM enthalten sein kann, ist in Fig.3B dargestellt und wird als Prozedursteuerwort
bezeichnet. Prozedursteuerwörter werden verwendet, um vom Multiplexer 26 Steuersignale zur Steuerung der
Handhabung von Daten innerhalb der Datenverarbeitungseinheit 12 zu steuern. Wie das Sprungsteuerwort
enthält auch das Prozedursteuerwort einen Prozedur-Operationscode in den Bits 14 und 15. Diese Bits werden
über die Leitungen 42 an die Steuereinrichtungen 22c, 22d des MPROM geliefert, um die Ausführung dieses
Mikrobefehls durch das Mikroprogramm zu steuern. Ferner werden die Bits 14 und 15 über die Leitungen 36
dem Multiplexer 26 zur Steuerung der Multiplexierung der Steuersignale und Datensignale für die Datenverarbeitungseinheit
12 geliefert. Das Prozedursteuerwort enthält auch ein Feld zur Auswahl der ALU-Funktion,
das aus den Bits 8, 9 und 10 besteht. Diese Bits werden als Funktionswahlsignale dem Multiplexer 26 zugeführt,
der seinerseits bestimmte ausgangsseitige Steuersignale über die Leitungen 32 an die Datenverarbeitungseinheit
12 liefert, um die Operationsfunktionen des ALU zu steuern. Beispielsweise können diese Steuersignale den
ALU befähigen, zu der dem ALU gelieferten Information eine 1 zuzufügen oder die Addition einer Vielzahl
von Eingangssignalen zu bewirken, die an den ALU geliefert werden. Die Bits 2 bis 7 der Fig.3B stellen
ebenso Steuerinformation für die Datenverarbeitungseinheit dar und werden auf den Leitungen 36 dem
Multiplexer 26 zugeführt. Diese Steuerinformation ist entsprechend den Bits 2 bis 7 mit ASO, AS 1, KCE, KPE,
ISt und ISO bezeichnet. Die Signale ASO und ASi
werden als Ausgangssignale vom Multiplexer 26 an die Datenverarbeitungseinheit 12 zur Steuerung verschiedener
Operationen des Α-Registers geliefert. Die Signale KCE und KPE werden in ähnlicher Weise vom
Multiplexer 26 zur Datenverarbeitungseinheit 12 zur Steuerung der Operationen des K-Registers geliefert. In
gleicher Weise werden die Signale /51 und /50 als Eingangssignale für das Befehlsadressenregister IAR
zur Steuerung der Operationen dieses Registers geliefert. Die Benutzung dieser Signale wird nachstehend
noch erläutert. Ein weiteres Bit 11 ist als »Löschen
MPCNT« bezeichnet und wird von den Steuereinrichtungen
des MPROM zum Rücksetzen der MPROM-Adresse auf einen bestimmten Platz zur Adressierung
des MPROM verwendet. Die Bits O, 1, 12 und 13 der F i g. 3B sind ebenfalls nicht verwendet, wie dies in
F i g. 3A erläutert wurde.
F i g. 3C zeigt eine weitere Art eines Wortformats, das im MPROM enthalten ist und ebenfalls das Format
eines Mikrobefehls des zweiten Typs darstellt und als ein Eingabe/Ausgabewort (I/O-Wort) bezeichnet ist.
Dieses Wort wird während der Ausführung des Mikroprogramms, das zur Steuerung des Informationstransfers zwischen der Datenverarbeitungseinheit 12
und der Speichereinheit 14 verwendet. Dieser Transfer kann eine Auslesung von Information aus der
Speichereinheit oder ein Einschreiben von Information in die Speichereinheit darstellen. Das I/O-Wort enthält
einen I/O-Operationscode in den Bits 14 und 15, der in
den Steuereinrichtungen des MPROM in ähnlicher Weise verwendet wird, wie dies im Zusammenhang mit
F i g. 3B beschrieben ist.
Die Bits O bis 5 der Fig.3C bilden zusammen eine
Speicheradressenquelle, um der Datenverarbeitungseinheit 12 diejenige Quelle anzugeben, von der aus sie die
Speichereinheit 14 adressieren soll. Für die vorstehende Erläuterung werden die Bits O bis 5 in zwei Felder
aufgeteilt. Die Bits 0,1 und 2 sind als ein »Speichersofortadressenfeld« bezeichnet. Während der Ausführung
bestimmter Befehle, bei denen es wünschenswert ist, die Adresse der ausgeführten Befehle mit Index zu
modifizieren, können die Bits O bis 2 in einer bestimmten Bit-Zusammenstellung codiert werden, um zu bewirken,
daß die Speichereinheit 14 über die Datenverarbeitungseinheit 12 unmittelbar vom Multiplexer 26
adressiert wird.
Diese Codierung der Bits O bis 2 bewirkt die Einlesung
eines Adressenindex- oder Modifizierungswortes in das
ίο K-Register aus einem Speicherplatz, der durch die Bits 0
bis 2 bestimmt ist, für eine anschließende Addition zum IAR zur Indexmodifizierung des Befehlswortes. Während
der Ausführung bestimmter anderer Befehle ist es jedoch erwünscht, die Speichereinheit von einer
anderen Quelle aus zu adressieren. In diesem letzteren Fall sind die Bits 3 bis 5 (Adressenregisterquellenfeld) so
codiert, daß sie eine Auswahl des IAR als Speicheradressenregister (MAR) durch den Multiplexer bewirken,
oder daß sie bewirken, daß derselbe die Adressenregisterquelle an diejenige Quelle abgibt, die durch die Bits
10 bis 15 des Steuerworts des MDROM bestimmt ist (vgl. F i g. 4).
Das Bit 13 des I/O-Worts liefert ein Signal an den
Multiplexer 26 auf den Leitungen 36 und bewirkt, daß der Multiplexer 26 ein Signal zur Beschickung des
K-Registers an die Datenverarbeitungseinheit über eine der Leitungen 32 während des Anfahrens der Datenverarbeitungseinheit
10 abgibt. Wenn das Signal zur Beschickung des K-Registers erzeugt wird, wird das
K-Register von einem Speicherplatz aus beschickt, der durch die Inhalte der Bits 0 bis 2 oder, mit anderen
Warten, durch das »Speichersofortadressenfeld« bestimmt ist.
Ein I/O-Funktionswahlfeld besteht aus den Bits 9 und
10 (vgl. F i g. 3C), die so codiert sind, daß sie eine Abgabe
von Signalen durch den Multiplexer an die Datenverarbeitungseinheit bewirken, um die letztere zur Erzeugung
einer Auslese- oder Einschreiboperation bezüglich der Speichereinheit 14 zu veranlassen. Ein Feld für die
Datenquelle oder den Bestimmungsort (Bit 6 und 7) des I/O-Wortes wird von dem Multiplexer dekodiert, um
entweder ein Signal für die Datenquelle oder den Bestimmungsort an die Datenverarbeitungseinheit 12
zu liefern und die Quelle der Daten, welche innerhalb der Datenverarbeitungseinheit beim Einschreiben gespeichert
werden sollen, oder den Bestimmungsort der Daten beim Auslesen vom Speicher festzulegen. Das
I/O-Wort enthält ferner auch ein Feld, Bit 8, für die Abgabe der Steuerung des Bestimmungsortes. Dieses
Feld wird vom Multiplexer verwendet, um eine Steuerung des Bestimmungsortes des Datentransfers
von und zu der Speichereinheit 14 zu gestatten, wobei diese Steuerung von den Bits 6 bis 7 des MPROM-I/O-Wortszum
Bit 16 des MDROM-Steuerworts abgegeben wird. Das Bit 11 (Löschen MPCNT) wird in dem
I/O-Steuerwort in gleicher Weise benutzt, wie dies bereits für das Bit 11 im Zusammenhang mit Fig.3B
beschrieben ist.
F i g. 4 zeigt das Format der Steuerwörter, die in dem MDROM enthalten sind. Jeder der verschiedenen
adressierbaren Speicherplätze in dem MDROM enthält ein Steuerwort mit einem Inhalt, der eindeutig einem
von der Datenverarbeitungsanlage auszuführenden Befehl zugeordnet ist. Das Mikroprogramm des
MPROM zur Steuerung der grundlegenden Ausführung von Befehlen durch die Datenverarbeitungsanlage wird
ergänzt durch die Steuerworte in dem MDROM. Das Steuerwort enthält eine Sprungadresse zum MPROM-
Feld mit den Bits 18 bis 23. Während der Ausführung bestimmter Sprungsteuerworte in dem Mikroprogramm
ist es erwünscht, die Sprungadresse des Mikroprogramms an diejenige Adresse abzutreten,
weiche durch dieses Feld bestimmt ist. Diese Adresse bewirkt daher, daß das Mikroprogramm zu einem
bestimmten Platz in dem MPROM springt, um die Ausführung einer Mikroprogramm-Subroutine zur
Steuerung der Ausführung eines bestimmten Befehls der Datenverarbeitungsanlage zu bewirken gemäß dem
Operationscode der Adresseninformation, welche dem MDROM von der Speichereinheit geliefert wird.
Ebenso kann es, wie schon erwähnt, während der Ausführung eines I/O-Steuerwortes erwünscht sein, die
Steuerung des Bestimmungsortes der Daten oder der Quelle der Information an den MDROM abzugeben.
Wenn dies erfolgt, wird ein Datenbestimmungsort-Bit 17 verwendet, um den Informationstransfer zwischen
der Speichereinheit und dem Α-Register oder dem K-Register zu steuern.
Der Zweck der Indexplatzsteuerung, Bit 10 bis 15, wurde bereits kurz in Verbindung mit der Verwendung
des I/O-Steuerwortes in Fig.3C erläutert. Es wird daran erinnert, daß das Quellenfeld für das Adressenregister
(Bits 3,4 und 5 in F i g. 3C) so codierl werden kann,
daß es festlegt, daß die Adresse der Speichereinheit unmittelbar aus dem MDROM-Steuerwort entnehmbar
ist. Wenn die Bits 3,4 und 5 der F i g. 3C derart codiert sind, daß sie diese Adressierung darstellen, werden die
Bits 10 bis 15 nach Fig.4 von dem Multiplexer 26
verwendet, um einen bestimmten Indexplatz in der Speichereinheit direkt über die Datenverarbeitungseinheit
zu adressieren.
Ein Bit 17 in der Fig.4 ist als Operandenzurückholung
bezeichnet und wird von den MPROM-Steuerein- J5 richtungen dazu verwendet, die Adressierung des
MPROM auf einen bestimmten Platz während der Ausführung von Befehlen der Datenverarbeitungsanlage
zu steuern, die erfordern, daß ein Operand aus der Speichereinheit 14 geholt wird. Das Steuerwort enthält
auch ein Feld für die Auswahl der ALU-Funktion (Bit 0 bis 5), das ähnlich dem bereits in Zusammenhang mit
Fig.3B beschriebenen Feld ist Dieses Feld (Fig.4)
wird vom Multiplexer verwendet, um viele gleiche ausgangsseitige Steuersignale an die Datenverarbeitungseinheit
zu liefern, wie in Verbindung mit Fig.3B beschrieben ist Zusätzlich zu den bereits beschriebenen
Steuersignalen gestattet dies jedoch auch eine Erweiterung der Kapazität des Feldes zur Auswahl der
ALU-Funktion in F i g. 3B. Das heißt, es können weitere Funktionen unter der Steuerung durch das Steuerwort
des MDROM ausgeführt werden, welche nicht möglich sind unter Steuerung durch das Prozedursteuerwort
nach Fig.3B. Es wird daran erinnert, daß das ALU-Funktionswahlfeld gemäß Fig.3B derart codiert
werden kann, daß die Steuerung des ALU an die Bits O bis 5 des ALU-Funktionswahlfeldes des MDROM
abgegeben wird.
F i g. 5 zeigt ein Blockschaltbild der Mikroprogrammsteuereinheit 20 der Fig. 1. Der MPROM und die
Steuerlogik 22 der Fig. 1 bestehen aus dem ersten Festwertspeicher 22a (MPROM), einer Bit-Prüflogik
22b, einem Mikroprogramm-Multiplexerblock (MPUX) 22c und einem Mikroprogramm-Zähler (MPCNT) 22d
Der MDROM und die Logik 24 der F i g. 1 bestehen aus
einem zweiten Festwertspeicher 24a (MDROM) und einem Operationscoderegister 246 (OP-Register). Das
Operationscoderegister enthält die Operationscodeinformation der Befehle, die über die Leitungen 28 aus der
Speichereinheit ausgelesen wurden. Die Adressen- und Operationscodesignale von dem Register 24b werden
dem MDROM 24a über eine Vielzahl von Adressenleitungen 46 und der Bit-Prüflogik 22b über eine Vielzahl
von Operationscodeleitungen 50 zugeführt. Eine geeignete Adressendecodierlogik im Innern des MDROM
decodiert die Ausgangssignale vom Register 246 zur selektiven Adressierung verschiedener Speicherplätze
in dem MDROM während der Ausführung von Befehlen durch die Datenverarbeitungsanlage. Die Bit-Prüflogik
22b liefert über eine Vielzahl von Leitern 52 Adressensteuersignale an den M PCNT 22c/ zur Steuerung
des letzteren gemäß den Befehlen, welche von der Datenverarbeitungsanlage ausgeführt werden, und
ferner gemäß den Steuerdaten, die vom MPROM auf den Leitungen 54 geliefert werden. Weiterhin werden
die Adressensteuersignale der Bit-Prüflogik 22b auch noch durch Zustandssignale von der Datenverarbeitungseinheit
12 auf den Leitungen 40 und den Steuerwörtern von den MDROM-Hauptleitungen 56
gesteuert.
Der MPCNT ist im wesentlichen ein Zähler des Typs mit fortlaufender Zählung und paralleler Eingabe mit
eingangsseitiger Steuerlogik zur Steuerung seiner Arbeitsweise gemäß den dort zugeführten Steuersignalen,
während der Ausführung bestimmter Befehle durch die Datenverarbeitungsanlage bewirken die Adressensteuersignale
von der Bit-Prüflogik 22b, daß der MPCNT sequentiell zählt, um sequentielle Adressiersignale
über eine Vielzahl von Adressenleitungen 60 an den Eingang des MPROM zu liefern. Der MPROM
enthält eine geeignete Adressendecodierlogik ähnlich dem MDROM und decodiert die Adressiersignale zur
selektiven Auslesung der Inhalte der adressierten Speicherplätze. Während der Ausführung bestimmter
anderer Befehle gestatten die Adressensteuersignale, welche dem MPCNT 22d von der Bit-Prüflogik 22b
zugeführt werden, die Auswahl einer ausgewählten Adresse, welche parallel vom Ausgang des MPUX 22*
über eine Vielzahl von Adressenleitern 62 in dem MPCNT parallel eingegeben werden können. Der
MPUX 22c erhält Adresseninformation vom MDROM über die Adressenleiter 30 und vom Ausgang des
MDROM auf den Leitern 44. Wie schon erwähnt, bestimmt der Zustand des Bit 6 des Sprungsteuerwortes
der Fig.3A, ob die Adresse für den MPROM vom MDROM oder dem MTROM kommen soll. Diese
Bestimmung wird in dem MPUX vorgenommen, der ein den Zustand des Bit 6 repräsentierendes Signal auf den
Steuerleitern 42 erhält und gestattet, daß die bestimmte Adresse zum MPCNTdurchgehen kann.
Die Arbeitsweise der Anlage gemäß dem Ausführungsbeispiel der Erfindung wird nachstehend unter
Bezugnahme auf die Fi g. 1, 5 und 10 erläutert. Um die Mikroprogrammsteuereinheit an einem richtigen Mikroprogrammschritt
oder Adressenplatz im MPIROM zu starten und zu gewährleisten, daß die Datenventrbeitungseinheit
12 einen Startplatz in der Speichereinheit 14 adressiert, ist zunächst eine anfängliche Auslesung
der Datenverarbeitungsanlage auszuführen. Diese Auslesung wird durch Zuführung eines Auslösesignals (INZ)
auf der Leitung 64 zum Multiplexer 26 und zu dem MPCNT 22d bewerkstelligt. Die Erzeugung dieses
WZ-Signals kann durch eine nicht dargestellte Quelle erreicht werden, beispielsweise durch die Aktivierung
eines Startschalters auf einer Konsole, welcher der Datenverarbeitunesanlaec zugeordnet ist. Wenn Aan
//VZ-Signal erzeugt wird, geschehen im wesentlichen
zwei Dinge gleichzeitig:
1. bewirkt das //vZ-Signal die Erzeugung eines
ausgangsseitigen Steuersignals über die Leitungen 34 durch den Multiplexer 26, welches der
Datenverarbeitungseinheit 12 zugeführt wird, um eine durch Schaltungsanordnungen vorgegebene
Adresse in dem IAR zu erzwingen. Der Inhalt des IAR enthält jetzt die Adresse des ersten von der
Datenverarbeitungseinheit auszuführenden Befehls.
2. Die stattfindende Operation besteht darin, daß in dem MPCNT eine vorbestimmende Adresse
voreingestellt oder parallel eingespeist wird. Wenn das /Λ/Z-Signal weggenommen wird, erscheinen die
Adressensignale, die repräsentativ für die jetzt im MPCNT vorhandene Adresse sind, am Eingang des
MPROM über Adressenleitungen 60.
Es wird nunmehr Bezug genommen auf die Bezugsziffer 22 auf der linken Seite der Fig. 10. Diese Bezugsziffer und alle an ähnlicher Stelle angeordneten Ziffern in den Fig. 7A bis 7C und den Fig.9 bis 11 bezeichnen den Speicheradressenplatz oder die Mikroprogrammstufe des MPROM, der durch den MPCNT adressiert wird. Es ist zu beachten, daß entweder ein Entscheidungs- oder Operationsblock unmittelbar rechts nach jeder Adressenplatznummer in jeder derart zuvor erwähnten Figuren erscheint mit einer Beschreibung der Vorgänge, die in jedem Block stattfinden. Alle Blöcke, beispielsweise der Block mit der Platzadresse 21 der Fig. 10 enthält beschreibende Information bezüglich der Operationen, die während der Ausführung eines bestimmten Mikroprogrammschrittes entweder in der Mikroprogrammsteuereinheit oder in der Datenverarbeitungseinheit stattfinden. Diese Operationen werden typischerweise durch die Mikroprogrammsteuereinheit ausgeführt auf der Grundlage der Inhalte der Steuerwörter und Mikrobefehle, welche vom MPROM und dem MDROM während der Durchführung des Mikroprogramms ausgelesen werden.
Es wird nunmehr Bezug genommen auf die Bezugsziffer 22 auf der linken Seite der Fig. 10. Diese Bezugsziffer und alle an ähnlicher Stelle angeordneten Ziffern in den Fig. 7A bis 7C und den Fig.9 bis 11 bezeichnen den Speicheradressenplatz oder die Mikroprogrammstufe des MPROM, der durch den MPCNT adressiert wird. Es ist zu beachten, daß entweder ein Entscheidungs- oder Operationsblock unmittelbar rechts nach jeder Adressenplatznummer in jeder derart zuvor erwähnten Figuren erscheint mit einer Beschreibung der Vorgänge, die in jedem Block stattfinden. Alle Blöcke, beispielsweise der Block mit der Platzadresse 21 der Fig. 10 enthält beschreibende Information bezüglich der Operationen, die während der Ausführung eines bestimmten Mikroprogrammschrittes entweder in der Mikroprogrammsteuereinheit oder in der Datenverarbeitungseinheit stattfinden. Diese Operationen werden typischerweise durch die Mikroprogrammsteuereinheit ausgeführt auf der Grundlage der Inhalte der Steuerwörter und Mikrobefehle, welche vom MPROM und dem MDROM während der Durchführung des Mikroprogramms ausgelesen werden.
Die in Fig. 10 am Adressenplatz 22 enthaltene Information stellt ein I/O-Wort mit einem Format
gemäß Fig.3C, d.h. einen Mikrobefehl des zweiten Typs dar. Durch die Adressierung des MPROM vom
MPCNT wird das I/O-Wort ausgelesen oder vom MPROM zurückgeholt, und es werden I/O-Wörter über
die Leiter 36 und 38 an den Multiplexer 26 geliefert. Wie in dem, dem Platz 22 benachbarten Operationsblock
gezeigt ist, bewirkt der Multiplexer, daß die Datenverarbeitungseinheit die Inhalte des IAR an einem bestimmten
Platz in der Speichereinheit speichert, welcher als P-Register (Programmregister) bezeichnet ist. Der
Multiplexer bewirkt diese Speicheroperation durch Decodierung der Bits O bis 10 und der Bits 14 und 15.
Wie aus F i g. 3C ersichtlich, sind die Bits 14 und 15, d. h.
der I/O-Operationscode, beide binär codiert. Der
Multiplexer decodiert die Bits 14 und 15 im Zusammenhang
mit den anderen Bits in dem I/O-Wort zur Erzeugung der richtigen ausgangsseitigen Steuersignale
und Datensignale für die Datenverarbeitungseinheit. Die Bits 9 und 10 des I/O-Funktionswahlfeldes werden
durch den Multiplexer 26 decodiert und befähigen die Datenverarbeitungseinheit, einen Zyklus einer Auslesung
oder einer Einschreibung aus bzw. in die Speichereinheit auszuführen. In diesem Beispiel ist es
erwünscht, den Inhalt des IAR am Platz P in der Speichereinheit 14 einzuschreiben oder zu speichern,
und die Bits 9 und 10 sind so codiert, daß der Multiplexer
26 auf Leitern 32 ein Ausgangssignal zur Durchführung eines Einschreibezyklus durch die Datenverarbeitungseinheit in die Speichereinheit erzeugt. Da es zu diesem
Zeitpunkt nicht erwünscht ist, die Steuerung für den Bestimmungsort vom MPROM auf den MDROM
abzugeben, ist das Bit 8 eine binäre O. Ebenso ist das Feld für den Bestimmungsort oder die Datenquelle, die Bits 6
und 7, des I/O-Wortes so codiert, daß der Multiplexer
ein Signal über einen der Leiter 32 abgibt, welches bewirkt, daß der Inhalt des IAR in den Platz P
eingeschrieben wird. Ebenso werden die Bits 0 bis 5 des I/O-Wortes benutzt, um die Quelle des Speicheradressenregisters
zur Adressierung der Speichereinheit zu definieren oder auszuwählen. In diesem Beispiel kommt
die Speicheradressenregister-Quelle direkt von den Bits 0 bis 2, die derart codiert sind, daß der Multiplexer die
Bits 3 bis 5 nicht beachtet Der Multiplexer 26 schickt in Abhängigkeit von der Codierung der Bits 0 bis 2
Adressen- oder Datensignale auf den Leitungen 34 an die Torlogik in der Datenverarbeitungseinheit in einer
solchen Weise, daß die Speicherung des Inhalts des IAR im Platz fder Speichereinheii gestattet wird.
Aus den den Platz 22 betreffenden Anmerkungen ist ersichtlich, daß der MPCNT gelöscht ist. Diese
Operation wird ajsgeführt unter Bezugnahme auf Fig.3C, wobei das Bit 11 für »Löschen MPCNT« auf
eine binäre 1 gestellt ist Die Zustände der Bits 11,14 und
15 werden der Bit-Prüflogik 226 zugeführt und dort so decodiert, daß die Erzeugung eines Löschsignals auf den
Leitern 52 zum MPCNT bewirkt wird. Das Löschsignal stellt den MPCNT auf 0 oder auf eine vorgegebene Zahl
zurück und zwingt die Mikroprogrammsteuerung auf einen Startzustand, wie er in dem Startblock unten am
Flußdiagramm der F i g. 10 dargestellt ist
F i g. 7A zeigt ein Flußdiagramm für das Starten des
Mikroprogramms. Der MPCNT, welcher nunmehr eine Zählzahl 0 enthält, liefert ausgangsseitig Adressensignale
auf Leitern 60 (Fig.5) zu dem MPROM unter Adressierung des Platzes 0, wie dies auf der linken Seite
der F i g. 7A gezeigt isL Der Platz 0 im MPROM enthält
auch ein I/O-Wort, welches das Einlesen des Inhalts des
Platzes P der Speichereinheit in das K.-Register und den
IAR bewirkt. Der Inhalt des Platzes 0 vom MPROM ist nun am Eingang des Multiplexers vorhanden, welcher
die Bits 14 und 15 als ein I/O-Wort decodiert Während
der Ausführung dieses I/O-Wortes wird das Bit 13 auf
eine binäre 1 gesetzt, da es erwünscht ist, daß K-Register zu beschicken. In diesem bestimmten Fall ist
es nicht erwünscht den MPCNT zu löschen, und daher ist das Bit 11 eine binäre 0. Da hier eine Auslesung aus
der Speichereinheit durch die Datenverarbeitungseinheit erfolgen soll, ist das I/O-Funktionswahlfeld (Bit 9
und 10) so codiert daß der Multiplexer einen Auslesevorgang der Speichereinheit durch die Datenverarbeitungseinheit
bewirkt Zu diesem Zeitpunkt ist die Abgabe der Steuerung des Bestimmungsortes, Bit 8,
eine binäre 0, da es nicht erwünscht ist, die Steuerung an den MPROM abzugeben. Da es ebenfalls erwünscht ist,
den Inhalt von P in den iAR einzugeben, sind die Bits 6 und 7 so codiert daß der Multiplexer die Datenverarbeitungseinheit
entsprechend anweisen wird. Wiederum sind die Bits 0 bis 5 so codiert daß der Multiplexer eine
direkte Adresse zu der Datenverarbeitungseinheit liefert, wie dies durch die Bits 0 bis 2 angegeben ist, um
den Speicherplatz des P-Registers zu adressieren. Ebenso ist zu diesem Zeitpunkt das Bit 11 für das
Löschen des MPCNT eine binäre 0, und die Bit-Prüflogik 22 erzeugt zusammen mit den Bits 14 und 15 ein
Zählsignal oder einen Zählinipuls zum MPCNT. Dieses Zählsignal wird auf einem der Leiter 52 zugeführt und
bewirkt, daß der MPCNT seinen Inhalt um 1 vermehrt, und daher wird bewirkt, daß der MPCNT den Platz ί
des MPROM adressiert, wie dies links von einem Operationsblock K + I der F i g. 7A gezeigt ist.
Der Inhalt des Platzes 1 des MPROM wird nunmehr
zurückgeholt und über Leitungen 36 und 38 dem Multiplexer 26 zugeführt. Während dieses Mikroprogrammschrittes
ist es erwünscht, am K-Register eine I zuzuführen, um das Register auf den neuesten Stand zu
bringen. Dies wird durch ein Prozedursteuerwort (I'ig. 3B) im Platz 1 des MPROM erreicht. Die Bits 14
und 15 sind als X bzw. O gezeigt und werden durch den
Multiplexer zusammenwirkend mit anderen Bits des Prozedursteiierwortcs decodiert, um die richtigen
ausgangsseitigen Steuersignale für die Datenverarbeitungseinheit zu liefern. Das Bit 14 enthält die Größe A'
und wird hier verwendet, um anzuzeigen, daß sein Inhalt
unbedeutend ist. Während der Ausführung dieses Mikroprogrammschrittes ist es nicht erwünscht, den
MPCNT zu löschen, das Bit 11 ist daher eine binäre O. In
einigen Datenverarbeitungseinheiten wird der Zuwachs um 1 für bestimmte Register dadurch bewirkt, daß
Daten durch den ALU geschickt werden. Wenn dies der Fall ist, können die Bits 8 bis 10 nach F i g. 3b für das
ALU-Funktionswahlfeld codiert und von dem Multiplexer verwendet werden, um ausgangsseitige Steuersignale
an den ALU für diesen Zweck zu erzeugen. Beispielsweise ist es für die Zufügung einer 1 zum
K-Register zunächst notwendig, die Bits 8 bis 10 so zu codieren, daß sie den Multiplexer veranlassen, ein
Befähigungssignal an den ALU abzugeben, um zu gestatten, daß der Inhalt des K-Registers in den ALU
eintreten kann. Ebenso wäre es notwendig, ein Zuführungssignal zum ALU zu erzeugen, um die
Zufügung eines Bits zum Inhalt des K-Registers zu gestatten, der durch den ALU hindurchläuft. Dies kann
auch durch richtige Codierung der Bits 8 bis 10 ermöglicht werden. Weiterhin wäre es notwendig, den
Inhalt des ALU in das das K-Register zurückzuführen. Dies würde dann dadurch erreicht, daß eine binäre 1 in
das Bit 5 des Prozedursteuerwortes gesetzt würde. Wenn das Bit 5 eine binäre 1 ist, wird der Multiplexer ein
ausgangsseitiges Signal KPE erzeugen, welches gestattet, daß das Register parallel vom ALU gespeist wird.
Wenn jedoch eine Datenverarbeitungseinheit desjenigen Typs vorhanden ist, bei dem der Zuwachs von 1
von bestimmten Registern unmittelbar im Register selbst vorgenommen wird und nicht dadurch, daß die
Ausgangssignale des Registers durch ein ALU hindurchgeführt werden, dann können die Bits 8 bis 10 für das
ALU-Funktionswahlfeld so codiert werden, daß sie von dem Multiplexer nicht beachtet werden. In diesem
letzteren Fall wäre dann lediglich nur eine Kontrolle in Form des Setzens einer binären 1 in das Bit 4 des
Prozedursteuerwortes erforderlieh, um den Multiplexer in die Lage zu versetzen, ein /CC/f-Signal zu erzeugen
und dem K-Register die Weiterzählung um 1 zu gestalten. Die Abkürzung KCI-. bedeutet K-Register-Zählbefähigung
oder -freigäbe.
Die Bits 14, 15 und 11 des Prozedursteuerwortes
werden auch über Leiter 54 als Eingangssignale der Prüflogik zugeführt. Da es zu diesem Zeitpunkt nicht
erwünscht ist, den MPCNT zu löschen, ist das Bit Il eine
binäre 0. Daher erzeugt die Prüflogik ein ausgangsseitiges Zählsignal auf einem der Leiter 52, um den MPCNT
auf einen Zählerwert 2 zu setzen oder fortzuschalten.
Die Nr. 2 auf der linken Seile der Fig. 7A stellt den
Adressenplatz 2 im MPROM dar und wird jetzt vom M PCNT adressiert.
In diesem Teil des Mikroprogramms ist es erwünscht, den Inhalt des K-Registers erneut am Platz P in der
Speichereinheit zu speichern. Dies wird dadurch erreicht, daß der Inhalt eines I/O-Wortes (Fig.3C)
decodiert wird, das jetzt aus dem Platz 2 des MPROM
zurückgeholt wird. Wiederum decodiert der Multiplexer κι die Bits 14 und 15 als ein I/O-Wort. Zu diesem Zeitpunkt
sind die Bits 11 und 13 eine binäre O. Da die Operation
darin bestehen soll, den Inhalt des K-Registers in den P-Registern der Speichereinheit zu speichern, werden
die Bits 9 und IO des I/O-Funktionswahlfeldes so
ii codiert, daß sie den Multiplexer zum Absenden eines
Steuersignals für eine Schreiboperation an die Datenverarbeitungseinheil veranlassen. Wiederum ist das Bit
8 eine binäre 0, da es nicht erwünscht ist, die Steuerung an den MDROM abzugeben. Die Quelle der Dalen, die
_>o in die Speichereinheit eingehen, soll das K-Register sein,
und daher werden die Bits 6 und 7 entsprechend codiert und gestatten dem Multiplexer, ein Steuersignal an der
Datenverarbeitungseinheit zu erzeugen, welches einen Datenweg vom K-Register zu dem adressierten Platz im
2') Speicher ergibt.
Die Quelle für das Speicheradressenregister ergibt sich wiederum unmittelbar aus den Bits O bis 2 über den
Multiplexer. Der MPCNT wird erneut durch die Bit-Prüflogik um 1 auf die Zählzahl 3 fortgeschaltet oder
gesetzt, wobei die Bit-Prüflogik auf den Zustand der Bits 14,15 und 11 anspricht.
Der IAR enthält nunmehr die Adresse eines aus der Speichereinheit zu holenden Befehls, wobei dieser
Befehl einen Teil eines Programms ist, das von der
ir> Datenverarbeitungseinheit ausgeführt werden soll.
Diese Rückholung des Befehls wird im Mikroprogramm ausgelöst durch Bezugnahme auf den Adressenplatz 3 in
der Fig. 7 A, welcher jetzt vom M PCNT adressiert wird. Dies bedeutet ein Zurückholen eines Wortes aus der
•»ο Speichereinheit, und daher sind die im Platz 3
enthaltenen Daten ein I/O-Wort. In diesem Fall soll die
Datenverarbeitungseinheit einen Befehl in den IAR und in das Operationsregister 24b (vgl. Fig. 1 und 5) von
demjenigen Adressenplatz holen, der durch den Inhalt des IAR bestimmt ist. Diese Operation ist in dem Block
rechts von der Zahl 3 angedeutet, wobei die Klammern [ ] um die Bezeichnung IAR anzeigen, daß der Inhalt des
durch den IAR bestimmten Speicherplatzes in den IAR eingegeben werden soll. Ebenso wird der Operationsco-
w deteil (Bits A bis F) des Befehlsworts in das
Operationsregister 24b eingegeben. Dies wird dadurch bewirkt, daß der Multiplexer den Zustand der Bits 14
und 15 im Zusammenwirken mit den Bits 9 und 10 decodiert und einen Auslese-Speicherungszyklus durch
v> die Datenverarbeitungseinheit bewirkt. Der Bestimmungsort der Daten, die von der Speichercinheit
ausgelesen werden sollen, muß angegeben werden. Dies wird durch die Bits 6 und 7 des Datenquellen- oder
Bestimmungsortfeldes bewerkstelligt. Dieses besitzt
i'ii eine bestimmte codierte Form, die vom Multiplexer
decodiert wird. Dieser liefert Steuersignale an die Datenverarbeitungseinhcit, die bewirken, daß das
Befehlswort in das IAR und das Operationsregistcr 24b eingclesen wird. Die Quelle des Speicheradressenrcgi-
ιλ sters wird bestimmt durch die Bits 0 bis 5, die so codiert
sind, daß der Multiplexer ein Signal an die Datetiverarbeitungseinheit
erzeugt, daß es möglich macht, daß die Adresse für die Sneichercinheit vom IAR so erzeugt
wird, wie dies durch die Bits J bis 5 bestimmt ist (Adressenregister-Quellenfeld).
Die Bits O bis 9 der von der Datenverarbeitungseinheit
auszuführenden Befehle werden jetzt in den IAR eingegeben, und die Bits A bis F werden in das
Operationsregister 246 eingegeben vor der Berechnung der effektiven Adresse der Befehle, die nunmehr in dem
IAR enthalten ist, wenn dies erforderlich ist (vgl. Fi g. 2).
Diese Berechnung der effektiven Adresse ist in F i g. 7A gezeigt, wo die Mikroprogrammsteuereinheit vom Platz
3 zu einem Block EA (effektive Adresse) herausgeführt ist. Es ist erneut erwünscht, den Zählwert im MPCNT
um I zu erhöhen. Dies wird durch die Bit-Prüflogik ausgeführt, welche bei Vorhandensein der Bits 14, 15
und 11 des I/O-Worts ein Zählsignal zum MPCNT
erzeugt und bewirkt, daß der MPCNT auf die Zahl 4 weiterschreitet. Auf diese Weise wird der Inhalt des
M PROM-Platzes 4 zur Ausführung durch die Mikroprogrammsteuereinheit zurückgeholt.
Es wird nunmehr Bezug genommen auf Fig. 7B, in der die Mikroprogrammsteuereinheit in denjenigen Teil
des Mikroprogramms eintritt, in dem die effektive Adresse berechnet wird, wenn dies durch die Operationscodeinformation
im Operationsregister 246 bestimmt ist.
Die Mikroprogrammsteuereinheit errechnet gemäß einem Ausführungsbeispiel der Erfindung die effektive
Adresse (EA) von Befehlen durch die Ausführung bestimmter Mikroprogrammsteuerworte, die zunächst
entscheiden, ob ein Befehlswort durch Indexbasis, durch Indizierung oder durch beides modifiziert werden soll.
Wenn das Befehlswort modifiziert werden soll, wird eine Sequenz von Mikroprogrammsieuerworten von
der Mikroprogrammsteuereinheit ausgeführt, um die Modifizierung zu bewirken. In denjenigem Fall, in dem
der von der Datenverarbeitungsanlage auszuführende Befehl eine Indexbasis erhalten soll, wird der Inhalt
eines bestimmten Adressenplatzes der Speichereinheit zu dem Adressenfeld des Befehls (Bits 0 bis 9) zugefügt.
Die Adressenplätze 4, 5 und 6 des MPROM enthalten gemäß der Darstellung nach F i g. 7B, Mikrobefehle zur
Steuerung der Indexbasismodifikation des Adressenfeldes in einem Befehlswort. Der Adressenplatz 4 des
MPROM enthält ein Sprungsteuerwort mit einem Format gemäß Fig.3A. Dieses Sprungsteuerwort wird
jetzt gerade in den MPROM eingelesen und enthält bestimmte Daten, die der Bit-Prüflogik zugeführt
werden. In der Bit-Prüflogik wird eine Prüfung vorgenommen, um zu ermitteln, ob das Adressenfeld des
Befehlswortes mit Indexbasis versehen werden soll. Diese Prüfung wird in einem Entscheidungsblock
vorgenommen, der folgende Frages:ellung gibt »soll die Instruktion eine Basis erhalten?«.
Während der Ausführung eines Sprungsteuerwortes werden die Bits 8 bis 11 und die Bits 14 und 15 vom
Ausgang des MPROM der Bit-Prüflogik decodiert.
Fig.6 zeigt die Codierung eines Bit-Prüffeldes der
Fig. 3A für eine Anzahl von verschiedenen Prüfungen,
welche durch die Ausführung von Sprungsteuerworter. vorgenommen werden können. Die vorliegende Prüfung
wird als Prüfung Nr. 4 in einer Spalte für die Prüfnummern gezeigt. Diese Prüfung zeigt die binäre
Form der Bits 8 bis 11. Dabei bestimmt eine Erinnerungsspalte (Mneumonik) XB diejenige Frage,
die dem Sprungbefehl gestellt werden soll. Eine Beschreibung des Ausdruckes XB ist in der Beschreibungsspalte
der Fig. 6 enthalten. Es wird daran erinnert, daß der Operationscodetei! (Bits A bis F) des
aus der Speichereinheit geholten Befehls nunmehr im Operationsregister 24£>
enthalten ist. Diese Bits werden über eine Vielzahl von Leitungen 50 an den Eingang der
Bit· Prüflogik 22b übertragen. Die Bit-Prüflogik nimmt eine Entscheidung darüber vor, ob der Befehl mit
Indexbasis versehen werden soll, und zwar durch Vergleich der Zustände der Bits 8 bis 11 vom MPROM
mit dem Zustand des Bits B des Befehlsworts vom Operationsregister. Wenn das Bit B eine binäre I ist,
H) bedeutet dies, daß das Befehlsadressenfeld mit Indexbasis
modifiziert werden soll. Wenn der Vergleich gemacht wird und der Zustand wahr ist, dann tritt das
Mikroprogramm am Zweig »ja« des »Basis?-Entscheidungsblocks« aus, während die Bit-Prüflogik ein
Zählsignal an den MPCNT abgibt und bewirkt, daß der letztere seinen Zählwert um 1 auf die Zahl 5 erhöht. Der
MPCNT erzeugt daher eine Adressierung zum Platz 5 im MPROM.
Im Platz 5 ist ein I/O-Wort enthalten, das bewirkt, daß
der Multiplexer Steuersignale an die Datenverarbeitungseinheit erzeugt, durch die eine Indexbasis-Adressennummer
aus der Speichereinheit zum K-Register geholt >vird. Diese Operation wird ausgeführt unter
Bezugnahme auf Fig. 3C, wobei die Bits 14 und 15 durch den Multiplexer in bereits beschriebener Weise
decodiert werden. Die Bits 13 und 11 sind beide je eine
binäre O. Da die Operation eine Auslesung aus dem Speicher darstellt, werden die Bits 10 und 11 durch den
Multiplexer so decodiert, daß ein Auslesesignal an der
H) Datenverarbeitungseinheit erzeugt wird, um die Ausleseoperation
zu bewirken. Das Bit 8 ist eine binäre O, da es zu diesem Zeitpunkt nicht erwünscht ist, die
Steuerung über den Datenbestimmungsort an den MDROM abzugeben. Wie in Fig. 7B angedeutet, wird
die Indexbasis-Adressennummer in das K-Register eingelesen. Als Ergebnis werden die Bits 6 und 7 durch
den Multiplexer zur Erzeugung eines Ausgangssignals an die Datenverarbeitungseinheit decodiert, um die
Basisadresseninformation dem K-Register zuzuführen.
<io Da der Platz der Indexbasis-Nummer in der
Speichereinheit einzig dem auszuführenden Befehl eindeutig ?.ugeordnet ist, wird die Speicheradressenregister-Quelle
an das MDROM-Steuerwort abgegeben, wie dies in den Bits 10 bis 15 angegeben ist
(Indexplatzsteuerung). Die Speicheradresse gemäß der Festlegung durch die Bits 10 bis 15 wird vom
Multiplexer als Ergebnis der Codierung der Bits 0 bis 5 des I/O-Worts (Fig.3C) am Platz 5 des MPROM zur
Datenverarbeitungseinheit geschickt. Dieses Abgeben der Speicheradressenregister-Quelle ist durch das
Symbol im Platz 5 des Operationsblocks angedeutet.
Das gegenwärtig aus dem MDROM ausgelesene Steuerwort wird aus einem Platz geholt, welcher durch
die Operationscodeinformation im Operationsregister 24b angegeben ist. Daher ist der Inhalt des Steuerworts
den von der Datenverarbeitungsanlage ausgeführten Befehlen eindeutig zugeordnet. Die Erzeugung der
Steuer- und Adressensignale vom Multiplexer bewirkt das Einlesen des Speicherplatzes in das K-Register, der
W) die Indexbasisnummer enthält. Ebenso werden die Bits
14, 15, 10 des I/O-Wortes von der Bit-Prüflogik jetzt
decodiert, welche ein Zählsignal für den MPCNT erzeugt und bewirkt, daß der letztere auf den Zählwert 6
fortgeschaltet wird.
Der MPROM wird jetzt am Platz 6 adressiert und enthält ein Prozedursteuerwort (Fig. 3B). Das Prozedursteuerwort
wird in dieser Stufe des Mikroprogramms verwendet, um den Inhalt des IAR und des
K-Registers zu adressieren und die Ergebnisse der Addition in den IAR zurückzusetzen. Auf diese Weise
wird die Indexbasis-Adressennummer dem Befehlsadressenfeld
zugefügt, um eine Adressenmodifizierung des letzteren zu bewirken. Der Inhai'i des Prozedur-Steuerworts
wird nun über Leitungen 36 und 38 dem Multiplexer zugeführt. Um die Addition des IAR und
des K-Registers zu bewirken, werden die Bits 8 bis lOiür
das ALU-Funktionswahlfeld von dem Multiplexer decodiert, und dieser liefert ein Freigabesignal an den ιυ
ALU und gestattet, daß der IAR und das K-Register dort hindurchlaufen können. Ebenso wird das Bit 7 auf
eine binäre 1 gesetzt, und hierdurch erzeugt der Multiplexer ein Ausgangssignal /50 zur Freigabe des
IAR zur Aufnahme des Inhalts des ALU nach der r> Addition. Wie bereits zuvor erwähnt, werden auch die
Bits 14 und 15 als Operationscode dem Multiplexer zugeführt. Ferner ist es erwünscht,den MPCNTum eine
Zahl 1 fortzuschalten. Das Bit 11 wird auf eine binäre 0
eingestellt. Dies fühn dazu, daß die Bit-Prüflogik erneut einen Zählimpuls an dem MPCNT erzeugt und diesen
auf die Zahl 7 fortschaltet.
Es wird nunmehr Bezug genommen auf den Adressenplatz 4, in dem »Basis?-Entscheidungsblock«.
Es sei nunmehr angenommen, daß das im Operationsregister enthaltene Befehlswort keine Indexbasis erhalten
soll. Unter diesen Bedingungen wird das Bit B(IB) des Befehlsworts eine binäre 0 sein. Wenn daher die
Sprungprüfung durch die Bit-Prüflogik ausgeführt wird, erhält die Mikroprogrammsteuereinheit über den Zweig
»nein« des »Basis?-Entscheidungsblocks« ein Ausgangssignal an den Eingang des »Index?-Entscheidungsblocks«
am Adressenplatz 7 des MPROM. Um diesen Sprung auszuführen, ist es notwendig, am
Eingang des MPROM vom M PCNT eine Sprungadresse v, zuzuführen. Dies wird durch Bezugnahme auf Bit 6 (vgl.
F i g. 3A) bewerkrtelligt. Das Bit 6 ist als das Bit für die Abgabe der Sprungadresse an den MDROM bezeichnet.
Wie aus Fig.5 ersichtlich, wird das Bit 6 vom MPROM über Leiter 42 zum Eingang des MPUX 23c
geführt. Der Zustand des Bit 6 wird von dem MPUX dazu benutzt, zu entscheiden, ob die Adresse, welche
vom MPUX parallel in den M PCNT eingespeist werden soll, vom MDROM oder vom MPROM kommen soll, um
vorliegenden Fall soll jedoch die Adresse für den MPROM vom Ausgang des MPROM selbst kommen,
und das Bit 6 wird daher eine binäre O sein. Im vorliegenden Beispiel soll das Befehlswort nicht mit
Indexbasis versehen werden, und die Bit-Prüflogik erzeugt ein Parallel-Einspeisesignal an den Eingang des
MPCNT auf einer der Leitungen 52. Dieses Parallel-Einspeisesignal bewirkt die Überführung der Bits O bis 5
(F i g. 3A) des Felds für die Sprungadresse des MPROM über den MPUX in den MPCNT. Daher wird in dem
MPCNT die Adresse für den Platz 7 eingespeist, die nun
an den MPROM auf den Adressenleitungen 60 geliefert wird.
Der Platz 7 im MPROM enthält ein Sprungsteuerwort, welches ähnlich dem in Verbindung mit dem
Adressenplatz 4 beschriebenen Sprungsteuerwort ist. ω Die Codierung des Sprungssteuerworts in Platz 7 ist die
gleiche wie für Platz 4, mit der Ausnahme, daß das Bit-Prüffeld (Bits 8 bis 11) gemäß Fig.6 mit einer
Prüfung Nr. 6 codiert ist (XA)m'it folgender Frage: »soll
das Befehlswort mit Index versehen werden?«, d. h. soll ein Indexwort vom Speicher zum Befehlsadressenfeld
zugefügt werden? dies wird in der Bit-Prüflogik durchgeführt, in welcher der Zustand des Bits A (!A)aes
grundlegenden Befehlsworts (Fig. 2) nun mit XA verglichen wird. Wenn das Bit A eine binare 1 ist, wird
das Mikroprogramm durch den »ja«-Zweig des Entsi-heidungsblocks »Index zufügen?« herausgeführt,
während gleichzeitig die Bit-Prüflogik, ein Signal an den
MPCNT liefert und bewirkt, daß der letztere den Platz 8 des MPROM adressiert.
Der Platz 8 enthält ein I/O-Wort, wie zuvor für den
Adressenplatz 5 beschrieben. Die Ausführung des Mikrobefehls in Platz 8 ist gleich derjenigen, die im
Zusammenhang mit Platz 5 beschrieben wurde, mit der Ausnahme, daß die Bits 10 bis 15 des MDROM-Steuerworts
die Adresse des Speicherplatzes angeben, der eine Indexzahl enthält, die zu dem Befehlswort-Adressenfeld
zugefügt werden soll. Nach der Ausführung des Mikrobefehls des Platzes 8 wird der MPCNT zur
Erzeugung einer Adressierung des Platzes 9 des MPROM um einen Zählschritl weitergeführt. Der Platz
9 des MPROM enthält ein Prozedursteuerwort mit dem gleichen Format, wie für den Adressenptal/. 6
beschrieben. Die während der Ausführung des Pro/üdursteuerworts im Platz 9 durchgeführten Operationen
sind die gleichen, wie zuvor in Verbindung mit dem Platz 6 beschrieben. Während der Ausführung des Prozedursteuerworts
wird jedoch der Inhalt des adressierten Indexplatzes zu dem Befehlswort-Adressenfeld hinzugefügt.
Es wird erneut auf den Entscheidungsblock »Index zufügen?« des Platzes 7 Bezug genommen. Die dort
durchgeführte Operation ist die gleiche, wie sie für den Platz 4 beschrieben wurde, wenn das Mikroprogramm
durch den »nein«-Zweig des Entscheidungsblocks »Index zufügen?« herausgeführt wird. Der einzige
Unterschied besieht darin, daß die durch die Bits O bis 5 im Platz 7 gelieferte Sprungadresse den Platz 10 des
MPROM adressiert. Nach Beendigung des Mikrobefehls des Platzes 9 erzeugt die Bit-Prüflogik einen
Zählimpuls zum MPCNT und bewirkt, daß dieser die zuletzt erzeugte Adresse dem MPROM zuführt. Diese
Adressierung des Platzes 10 ist in den Fig. 7B und 7C gezeigt, wobei das Mikroprogramm entweder vom
Platz 7 oder 9 in einen Befehlswahlblock (Befehlswahl) herausgeführt wird und in den Platz 10 in einen
Entscheidungsblock »Operand zurückholen?« eintritt.
Da nunmehr die effektive Adresse des Befehlsworts berechnet worden ist, muß eine Entscheidung darüber
getroffen werden, ob der bestimmte gerade ausgeführte Befehl das Zurückholen eines Operanden aus der
Speichereinheit erfordert. Diese Entscheidung wird in dem Platz 10 getroffen, der ein Sprungsteuerwort
(Fig. 3A) enthält. Die Bits 14, 15 und 8 bis 11 aus dem
MPROM werden auch hier der Bit-Prüflogik über die Leitungen 54 zugeführt. Der Operationscodeteil des
grundlegenden Befehlsworts (Fig. 2) wird immer noch der Bit-Prüflogik auf Leitungen 50 als Eingangssignal
zugeführt. Die Bits 8 bis ? 1 des Bit-Prüffeldes sind so codiert, daß sie die Prüfung Nr. 8 (FTCH) (zurückholen?)
gemäß Fig.6 ausführen, und sie werden in der
Bit-Prüflogik mit dem Operationscodeteil des Befehlsworts (Bits A bis F) kombiniert, um eine Entscheidung
darüber zu treffen, ob der Befehl das Zurückholen eines Opeiinden erfordert.
Wenn der gerade ausgeführte Befehl das Zurückholen eines Operanden nicht erfordert, wird das
Mikroprogramm aus dem »nein«-Zweig des Entscheidungsblocks »Operand zurückholen?« austreten und in
einen Entscheidungsblock für eine nicht bedingte Sprungauresse am Adressenpiatz i2 eintreten. Diese
Sprungadresse wird so ausgeführt, wie es durch den Inhalt der Bits 0 bis 5 des Sprungstcuerworts am Platz
10 angegeben ist. Da es zu diesem Zeitpunkt unerwünscht ist, die Steuerung der Sprungadresse an
den MDROM abzugeben, ist das Bit 6 des Sprungsteuerworts eine binäre O. Dieser Zustand für die binäre 0 des
Bits 6 wird auch dem Eingang des MPUX über Leitungen 42 zugeführt und bewirkt noch den Transfer
der Sprungadresse von dem MPROM durch den MPUX
in den MPCNT. Die Adressenplatznummcr 12 wird in
den MPCNT durch ein Parallel-Einspeiscsignal eingespeist, welches von der Bit-Prüflogik erzeugt wird.
Ms wird nunmehr erneut Bezug genommen auf den
Kntschcidungsblock »Operand zurückholen?«. Wenn der Befehl ein Zurückholen eines Operanden erfordert,
wird das Mikroprogramm durch den »ja«-Zweig zum Adressenplatz Il herausgeführt. Dieser Platz des
MPROM enthält ein 1/O-Steucrwort, welches das Zurückholen des Operanden von einem Platz in der
Speichcreinheit bewirkt, der durch den Inhalt des IAR angegeben ist und die Operandendaten oder das
Operandenwort entweder in das Α-Register oder das K-Register gemäß der durch den Zustand des Bits 17
des MDROM-Steucrworts bedingten Bestimmung bringt.
Die Stcucrwörter in den MDROM, mit dem Format gemäß Fig. 4, besitzen jeweils eine einzige eindeutige
direkte Zuordnung zu der Operationscodeinformation in dem Operationsregister, wobei der Inhalt des
letzteren dazu benutzt wird, bestimmte Plätze in dem MDROM zu adressieren.
Der MPROM wird nunmehr vom MPCNT am Platz
11 adressiert und liefert Signale an den Multiplexer. Der
Multiplexer decodiert die Bits 14 und 15 des I/O-Steucrworts im Zusammenhang mit den Bits 9 und
10 und bewirkt, daß die Datenverarbeitseinheit eine Auslcscfunktion durchführt. Während der Ausführung
dieses I/O-Steuerworts ist der Zustand des Bits 8 von
Bedeutung. Das Bit 8 ist nun auf eine binäre 1 eingestellt, und dies zeigt an, daß die Steuerung des Bestimmungsorts
der aus der Speichereinheit in die Datenverarbeitungseinheit kommenden Daten an das MDROM-Steuerwort
abgegeben werden soll ( (-?).
Es wird nunmehr auf das Bit 17 (Datenbestimmungsort)
der F i g. 4 Bezug genommen. Der Zustand des Bits 17 (eine binäre 1 oder O) entscheidet über den
Bestimmungsort des Operanden, der von der Speichercinheit in die Datcnverarbeitungscinheit ausgelesen
werden soll. Wenn beispielsweise das Bit 17 eine binäre
I ist, dann wird der Operand in das A-Rcgistcr geleitet, Wenn dagegen das Bit 17 eine binäre O ist, wird der
Operand in das K-Rcgistcr überführt. Der Bestimmungsort für diese Daten wird durch den gerade von
der Datenverarbeiumgscinhcit ausgeführten Befehl bestimmt. Das heißt, das Operandenregister 24£>
adressiert einen Platz in dem MDROM, der ein Steuerworl enthält, das den Bestimmungsort des
Operanden angibt. Wiederum werden auch hier die Bits 14, 15 und 11 von dem MDROM von der Bit-Prüflogik
decodiert, und diese erzeugt ein ausgangsseitiges Zählsignal /um MPCNT und bewirkt, daß der letztere
den Platz 12 gemäß F-" i g. 7C adressiert.
Im Phil/ 12 ist ein unbedingtes Sprungstciicrwort
enthalten. Dieses isi so codiert, daß eine Sprungadressc /um MPROM an die Hits 18 his 23 des Sleucrworts des
MDROM abgegeben wird. l'ig. fi zeigt Dccodicrungen
der Bits K bis 11 für den unbedingten Sprung (LlB) als
Prüfung Nr. I r>. Die Hil-Prüflogik erzeugt bei Vorhandenscin
dieser Codierung ein Parallcl-Einspeisesignal zum Eingang des MPCNT und gestattet dadurch, daß
die Adresse vom MPUX parallel in den MPCNT übertragen wird. Ebenso wird das Bit 6 vom
Sprungsteuerworl (F'ig. 3A) als ein Signal für eine binäre 1 zum Eingang des MPUX vom Ausgang des
MPUM geführt. Der Zustand für die binäre 1 für das Bit 6 befähigt die Übertragung der Sprungadressc (Bits 18
bis 23) vom MDROM (Fig.4) in den MPUX über
κι Leitungen 30. Der MPROM wird nun an einen
bestimmten Platz adressiert, der einen Mikrobefehl des Mikroprogramms für den Beginn der Ausführung der
Subroutine des Mikroprogramms zur Steuerung der Ausführung des Befehls enthält, der gegenwärtig in dem
Operationsregister 24b vorhanden ist.
In F i g. 7C ist zu beachten, daß das Mikroprogramm von dem F.ntschcidungsblock für eine unbedingte
Sprungadresse am Platz 12 zu einem Prozedurplatz-Block herausgeführt wird. Ein Prozedurplatz kann
irgend ein Adresscnplatz im MPROM sein. Der Prozedurplatz ist unmittelbar abhängig von der
Adresse, welche durch die Bits 18 bis 23 des eindeutig zugeordneten MDROM-Steuerworts bestimmt ist. Dieser
Platz stellt einen Platz im Mikroprogramm dar, der
r> einen Mikrobefehl enthält, der sich auf einen bestimmten, von der Datenverarbeitungsanlage auszuführenden
Befehl bezieht. Wenn beispielsweise der auszuführende Befehl ein Befehl zur Addition oder Subtraktion ist
dann ist der von dem MPROM in den MPCNT
«ι eingespeiste Adrcssenplatz der Platz 13 gemäß Fig. 8
Die Fig. 8 zeigt in Form eines Flußdiagramms die Ausführung verschiedener Mikrobefehle und Steucrwörtcr,
die in dem MPROM und dem MDROM für die Ausführung der Subroutine des Mikroprogramms
i> enthalten sind, um die Fiatenvcrarbeitungseinhcit bei
den Arbeitsschritten während der Ausführung eines Additions- oder Subtraktionsbcfehls zu steuern.
Der erste Mikrobefehl für die Subroutine (im Platz 13 enthalten) ist ein I/O-Steuerwort (Fig. 3C). In diesem
au besonderen Mikroprogrammschritt wird der Platz, der durch den Inhalt des IAR spezifiziert ist, von dem
spezifizierten Platz in der Speichereinheit ausgeleser und in der IAR eingelesen. Die Bits 14 und 15 werden
durch den Multiplexer als ein I/O-Wort decodiert, und
4r> die Bits 9 und 10 wählen die I/O-Funktion so aus, daß sie
ein Auslesen von Daten aus der Speichereinheil darstellt. Die Bits 6 und 7 werden durch den Multiplexer
decodiert, und dieser weist die Datenverarbeitungseinheit an, die vom Speicher ausgelcsencn Daten in der
■ίο IAR zu setzen. Die Bits O bis 5 werden ebenfalls vom
Multiplexer decodiert. Dabei geben die Bits 3 bis 5 an daß die Speicheradresse vom Inhalt des IAR kommer
soll. Weiterhin sind die Bits 8 und 11 jeweils eine binäre O. Wiederum werden die Bits 14, 15 und 11 vorr
« MPROM durch die Prüflogik decodiert, die der
MPCNT um einen Zählschritt zu einer Adresscnplatzzahl 14 weiterführt.
Während der Ausführung eines Additions- odei
Subtraktionsbefchls müssen interne Arbeitsschritte
i><> oder Operationen von dem ALU in der FDatcnverarbcitungseinheit
ausgeführt werden. Infolgedessen ist eir Pro/.cdursteucrwort (F i g. 3B) im Platz 14 des MPROM
enthalten. Dieses Prozedursteuerwort gibt die Steuerung
des ALU von dem MPROM-MiUroprogramm ar
im ein MDROM-Steucrwort ab, welches in Beziehung zi
demjenigen Befehl steht, der gerade von der Datenverarbeitungsanlage
ausgeführt wird. Weiterhin bcfähigi der Inhalt des Prozedurstcuerworts den Multiplexer zui
Erzeugung von Ausgangssignalen zur Steuerung der verschiedenen Register in der Datenverarbeitungseinheit.
Es wird nunmehr Bezug genommen auf den Multiplexer 26 (vgl. F i g. 5), und auf das Prozedursteuer- r>
wort gemäß Fig. 3B. Die Bits 14 und 15 des Prozedurstcucrworts werden dem Multiplexer zusammen
mit den Bits 8, 9 und 10 für das ALU-Funktionswahlfeld zugeführt. Die Decodierung der Bits 8 bis 10
durch den Multiplexer bewirkt, daß derselbe die in Steuerung des ALU von dem Prozedurwort auf die Bits
0 bis 5 des MDROM-Steuerworts (Fig. 4) abgibt. Der Inhalt der Bits 0 bis 5 bewirkt, daß der Multiplexer die
richtigen Steuersignale an den ALU abgibt und die Anlage befähigt, den Inhalt des IAR und des ii
Α-Registers durch den ALU zu übertragen und entweder zu addieren oder zu subtrahieren gemäß den
Funktionen, wie sie durch die Bits 0 bis 5 angegeben sind. Da weiterhin die Ergebnisse der Addition und der
Subtraktion in den IAR gesetzt werden, ist das Bit 7 des :n
Prozedursteuerwortes eine binäre 1 und bewirkt, daß der Multiplexer ein Steuersignal /50 zur parallelen
Einspeisung des Inhalts des ALU in den IAR abgibt. Bei Beendigung dieses Mikroprogrammschritts wird der
MPCNT durch die Bit-Prüflogik gelöscht, wobei die « Bit-Prüflogik die Bits 14, 15 und 11 vom MPROM
decodiert. Da das Bit 11 dieses Prozedursteuerworts eine binäre 1 ist, erzeugt die Bit-Prüflogik ein
Ausgangssignal zum Löschen oder Rückstellen des MPCNT und bewirkt, daß der MPCNT auf einen jo
Zustand einer binären 0 zurückgesetzt wird.
Die Mikroprogrammsteuereinheit kehrt nun vom Adressenplatz 14 zu dem »Startblock« der F i g. 7A
zurück, und der Ablauf eines Mikroprogramms wird gemäß der vorstehenden Beschreibung wiederholt.
Fig.9 zeigt einen Flußdiagramm-Ablauf der Mikroprogrammsteuereinheit
zur Steuerung der Ausführung eines SRC-Befehls (Verschiebe-A-Register rechts zirkulär),
der von der Datenverarbeitungseinheit ausgeführt werden soll. Es wird angenommen, daß der Operationscodeteil
des SRC -Befehls gegenwärtig in dem Operationsregister vorhanden ist. Der Inhalt des Operationsregisters adressiert nunmehr einen Platz in dem
MDROM, der diesem bestimmten Befehl zugeordnet ist. Unter Verweis auf Fig.7C sei daran erinnert, daß
während der Durchführung eines unbedingten Sprungbefehlssteuerworts in dem MPROM-Platz 12 die
Sprungadresse an den MDROM abgegeben wurde. Da der SRC-Befehl jetzt ausgeführt wird, adressieren die
Bits 0 bis 5 des MDROM-Steuerworts den Platz 15 der F i g. 9. Weiterhin wird unter Verweis auf die vorstehende
Erörterung der Fig.2 daran erinnert, daß die Bits 0 bis 9 des grundlegenden Befehlsworts ebenfalls einen
Funktionscode oder eine Zahl in binär codierter Form enthalten können, die angibt, daß eine Anzahl von
Verschiebungen während eines Schiebebefehls ausgeführt werden sollen. Weiterhin wird daran erinnert, daß
die Operandenadresse oder das Funktionsfcld des Befehls stets in den IAR eingespeist wird. Während der
Ausführung des Mikrobefehls im Adressenplatz 12 wird m> die Anzahl der auszuführenden Verschiebungen oder
Stellenwertverschiebungen von dem IAR in das Α-Register übertragen. Diese Übertragung wird durch
ein Prozedursteuerwort gesteuert, das aus dem MPROM ausgelesen wird. Die Operationscode-Bits 14
und 15 (Fig.3B) werden von dem Multiplexer zusammen mit den Bits 8 bis 10 des ALU-Funktionswahlfeldes
decodiert und bewirken, daß der Multiplexer ein Steuersignal erzeugt, um die Einspeisung des IAR in
den ALU zu bewirken. Weiterhin ist das Bit 5 (KPE)des Prozedursteuerworts eine binäre 1. Ein Signal KPEv/ird
von dem Multiplexer durchgelassen, um das K-Register in die Lage zu versetzen, daß es eine parallele
Einspeisung von dem ALU erfährt. Dadurch wird die Anzahl der Verschiebungen von dem IAR in das
K-Register geschoben oder überführt. Die Bit-Prüflogik wird auch hier die Bits 14,15 und 11 des Prozedursteuerworts
decodieren und ein Zählsignal erzeugen, um den MPCNT zu veranlassen, den Platz 16 des MPROM zu
adressieren.
Im Mikroprogrammschritt 16 ist es erwünscht, am K-Register eine Verminderung um die Zahl 1 auszuführen.
Dies wird durch ein weiteres Prozedursteuerwort erreicht, wobei die Bits 14 und 15 erneut zusammen mit
Bit 4 (KCE, Freigabe zur Zählung im K-Register) decodiert werden, wobei das letztgenannte Bit eine
binäre 1 ist. KCE wird als ein Signal vom Multiplexer zum K-Register gegeben und gibt das K-Register frei,
den Zählwert um 1 zu verringern. Die Bit-Prüflogik liefert auch ein Zählsignal an den MPCNT und führt
damit die MPROM-Adresse weiter zum Platz 17.
Der Platz 17 enthält ein Mikroprogramm-Sprungsteuerwort, das eine Prüfung bewirkt, um festzustellen,
ob das K-Register 0 ist (K = O), d. h., ob die Anzahl der Verschiebungen vom Α-Register vollständig ausgeführt
ist. Diese Prüfung wird in der Bit-Prüflogik vorgenommen, in der Bits 8 bis 11 des Bit-Prüffeldes (F i g. 6) so
aufgebaut werden, daß die Prüfung Nr. 13 ausgeführt wird (SRC, ist die Verschiebung nach rechts abgeschlossen?).
Der Zustand des K-Registers wird der Bit-Prüflogik auf Leitungen 40 von der Datenverarbeitungseinheit
zugeführt. Wenn dieser Zustand beim Vergleich mit den Bits 8 bis 10 nicht anzeigt, daß das K-Register = 0 ist,
dann erzeugt die Bit-Prüflogik ein weiteres Zählsignal. Dieses Zählsignal bewirkt, daß der MPCNT den Platz 18
des MPROM adressiert. Im Platz 18 ist ein Prozedursteuerwort enthalten. Bedeutungsvoll in dem Prozedursteuerwort
des Platzes 18 ist der Zustand des Bits 3. Bit 3 ist eine binäre 1 und wird von dem Multiplexer als ein
Signal ASi zum Eingang einer entsprechenden Gatterlogik des Α-Registers weitergegeben und befähigt
das letztere zu einer Verschiebung um einen Platz nach rechts. Durch Beachtung der Bits 14, 15 und 11
erzeugt die Bit-Prüflogik ein Zählsignal und bewirkt, daß der MPCNT zu einem Adressenplatz 19 weiterzählt
wie dies links an dem Entscheidungsblock für unbedingten Sprung in F i g. 9 gezeigt ist.
Der Platz 19 enthält ein Sprungsteuerwort mit einer Sprungadresse zum Platz 16 in den Bits 0 bis 5 und 8 bis
11, die so codiert sind, daß sie gemäß der zuvor
gegebenen Erläuterung die Prüfung Nr. 15 ausführen (F i g. 6). Das Bit 6 des Sprungsteuerwortes (F i g. 3A) isi
eine binäre 0, so daß der MPUX die Zweigadresse vom MPROM zum MPCNT durchläßt. Bei Vorhandensein
der Decodierung der Bits 14,15 und 8 bis 11 erzeugt die
Bit-Prüflogik ein Parallel-Einspeisesignal zum MPCNT und gestattet, daß die Sprungadresse in den MPCNT
eingespeist wird. Als Ergebnis springt das Mikroprogramm zum Adresscnplatz 16 zurück und geht erneut in
den K- I-Block.
Die Mikroprogrammsteuereinheit wird nun in einer Schleife in einem Zyklus die Schritte 16 bis 19 so lange
durchlaufen, bis das K-Register gleich 0 ist. Wenn /C = O erreicht ist, ist das Α-Register so oft nach rechts
verschoben worden, wie es der vorgeschriebenen Zahl entspricht, und das Sprungsteuerwort in Platz 17 wird
ausgeführt und bewirkt, daß das Mikroprogramm durch den »ja«-Zweig herausgeführt wird und zum Startblock
gemäß F i g. 7A zurückkehrt. Dieser Sprung zum Start des Mikroprogramms wird dadurch bewirkt, daß in den
Bits 0 bis 5 des Sprungsteuerworts des Platzes 17 eine binäre 0 als Adresse enthalten ist. Mit K = O und einer
Codierung der Bits 8 bis 11 zur Ausführung des unbedingten Sprungs (UB) gibt die Bit-Prüflogik ein
Parallel-Einspeisesignal auf den MPCNT. Dies ergibt eine parallele Überführung der Bits 0 bis 5 vom
MPROM über die MPUX in den MPCNT. Bit 6 des Sprungsteuerworts ist eine binäre O und verweist daher
die Zweigadresse vom MPROM in den MPUX.
Fig. Il zeigt ein A-Register-Speicherbefehlsflußdiagramm
('Sr,4-Befehlsflußdiagramm), wobei der Platz 20
des MPROM vom MPCNT adressiert wird, wenn das Programm im Platz 12 gemäß der zuvor im Zusammenhang
mit der F i g. 7C gegebenen Beschreibung herausgeführt ist. Zur Steuerung der Ausführung des
SrA-Befehls wird in den Platz 20 des MPROM ein
I/O-Wort gesetzt. Dieser Mikrobefehl bewirkt die Speicherung des Inhalts des Α-Registers in der
Datenverarbeitungseinheit in einem durch den Inhalt des IAR bestimmten Speicherplatz. Der
1/0-Operationscode (vgl. Fig. 3C, Bits 14 und 15) wird
erneut durch den Multiplexer zusammen mit den Bits 9 und IO für das I/O-Funktionswahlfeld decodiert, um die
Erzeugung eines Schreibsteuersignals zur Datenverarbeitungseinheit
zu bewirken. Da es weiterhin erwünscht ist, das Α-Register in dem durch den IAR bestimmten
Speicherplatz zu speichern, werden die Bits 6 und 7 in geeigneter Weise codiert und vom Multiplexer zur
Durchführung einer Übertragung des Α-Registers in die Speichereinheit verwendet. Da die Quelle des Speicheradressenregisters
der IAR ist, werden die Bits O bis 5 durch den Multiplexer decodiert, um den IAR zur
Adressierung der Speichereinheit freizugeben. Der MPCNT wird ebenfalls während der Ausführung dieses
Mikrobefehls durch die Bit-Prüflogik gelöscht. Die Bit-Prüflogik erzeugt das ausgangsseitige Löschsignal
für den MPCNT und bewirkt, daß das Mikroprogramm zum Startblock nach F i g. 7A zurückkehrt.
In F i g. 10 wird ein weiterer Typ eines Sprungbefehls, ein bedingter Sprungbefehl BSTgezeigt, der durch die
Mikroprogrammsteuereinheit ausgeführt werden kann. Es sei angenommen, daß der SST-Befehl in dem
Operationsregister enthalten ist. Im Platz 21 ist ein Sprungsteuerwort enthalten und wird benutzt, um zu
prüfen, ob irgend ein näher bezeichneter Zustand der Bit-Prüflogik von der Datenverarbeitungseinheit über
Leitungen 40 zugeführt wird. Diese Prüfung wird unter Bezugnahme auf Fig. 6 ausgeführt, in der die Prüfung
Nr. 11 (BST) die Codierung der Bits 8 bis 11 des
Bit-Prüffeldes zeigt. Die Fragestellung, welche von diesem Sprungsteuerwort gegeben wird, ist in dein
Entscheidungsblock BST= 1 ? in F i g. 1 angezeigt. Unter
κι der Annahme, daß BST nicht 1 ist, wird das Mikroprogramm durch den »nein«-Zweig heraiibjnführt
und kehrt zum Startblock gemäß F i g. 7A zurück. Dies wird dadurch bewerkstelligt, daß jeweils eine
binäre 0 in den Bits 0 bis 5 und eine binäre 0 in Bit 6
ι; vorhanden sind, wobei das Bit 6 die MPROM-Adresse
auf Leitungen 44 durch den MPUX leitet, und die Bit-Prüflogik gemäß den Bits 14, 15 und 8 bis 11 ein
Parallel-Einspeisesignal für den MPCNT erzeugt.
Es wird erneut Bezug genommen auf den Platz 21.
.•ι: Wenn SSr=I, wird das Mikroprogramm durch den
»ja«-Zweig herausgeführt, und die Bit-Prüflogik erzeugt zu diesem Zeitpunkt ein Zählsignal zur Weiterzählung
des MPCNT auf den Zählwert 22. Der Platz 22 des MPROM enthält ein I/O-Wort, welches die Speicherung
.'■ι des Inhalts des IAR in dem P-Register in der
Speichereinheit bewirkt, und zwar an einem Platz, welcher durch die Bits O bis 5 bestimmt ist. Ebenso
steuern die Bits 9 und 10 des I/A-Funktionswahlfeldes
über den Multiplexer die Datenverarbeitungseinheit zur
in Ausführung eines Einschreibvorganges in die Speichereinheit.
Weiterhin werden die Bits 6 und 7 von dem Mul'iplexer decodiert, um für die Datenverarbeitungseinheit die Datenquelle derjenigen Information zu
definieren, welche in die Speichereinheit gehen soll.
ti Diese Quelle ist hier der IAR. In diesem bestimmten
I/O-Wort ist das Bit 11 (Löschen MPCNT) eine binäre 1.
Daher erzeugt die Bit-Prüflogik ein ausgangsseitiges Löschsignal zum MPCNT, stellt den MPCNT zurück
und bewirkt, daß die Mikroprogrammsteuereinheit auf
in den Startblock gemäß F i g. 7A zurückgeht.
Aus Fig.6 ist ersichtlich, daß eine Anzahl von Prüfungen als nicht benutzt abgebildet ist. Diese
Prüfungen können durch die Bit-Prüflogik verwendet werden, um eine Sprungoperation des Mikropro-
■I) gramms bei Vorliegen verschiedenartiger Zustandsverhältnisse
auszuführen, welche von der Datenverarbeitungseinheit geliefert werden.
Hierzu© Blatt Zeichnungen
Claims (5)
1. Programmierbare Datenverarbeitungsanlage mit einer Datenverarbeitungseinheit, die eine
Speichereinheit zur Speicherung von Befehlen enthält, die durch die Datenverarbeilungseinheit
ausgeführt werden, wobei die Befehle mindestens einen die Befehle definierenden Operationscodeanteil
besitzen, mit einer mit der Datenverarbeitungscinheit in Verbindung stehenden Mikroprogrammsteuereinheit
zur Steuerung der Befehlsausführung in der Datenverarbeitungseinheit, wobei die Mikroprogrammsteuereinheit
einen ersten Speicher zur Speicherung von Mikrobefehlen und einen zweiten
Speicher zur Speicherung von Steuerwortern enthält, die jeweils einem von der Datenverarbeitungsanlage
auszuführenden Befehl eindeutig zugeordnet sind, und Steuerinformation für die Datenverarbeitungseinheit und Adresseninformation
enthalten, wobei der zweite Speicher mit der Datenverarbeitungseinheit verbunden ist und von
dieser gemäß der Operationscodeinformation adressiert wird, um ein Steuerwort aus dem zweiten
Speicher auszulesen, und mit Steuereinrichtungen, die dem ersten Speicher selektiv Adressiersignale
zuführen, um aus diesem Speicher einen Mikrobefehl auszulesen, dadurch gekennzeichnet, daß
die Mikrobefehle von einem ersten und einem zweiten Typ sind und die Mikrobefehle des ersten
Typs Steuerdaten zur Steuerung der Aufeinanderfolge der Mikrobefehle und Adresseninformation für
die Mikrobefehle, die Mikrobefehle des zweiten Typs Steuerdaten zur Steuerung der Aufeinanderfolge
der Mikrobefehle und Steuerinformation für die Datenverarbeitungseinheit enthalten, daß die
Steuereinrichtungen (22b, 22c, 22d) eine Prüflogik (22b) und Adressendurchlaufeinrichtungen (22c, 22d)
mit einem indizierbaren Zähler (22d) enthalten, daß die Prüflogik (22b) auf die von der Datenverarbeitungseinheit
gelieferte Operationscodeinformation und die Steuerdaten anspricht, die in zuvor
ausgelesenen Mikrobefehlen des ersten oder zweiten Typs enthalten sind, und Adressensteuersignale
erzeugt, die in einem nachfolgenden Zugriff zum ersten Speicher (22) verwendbar sind, daß die
Adressendurchlaufeinrichtungen (22c, 22O^ mit dem
ersten Speicher (22) und dem zweiten Speicher (24) verbunden sind und die in einem zuvor aus dem
zweiten Speicher (24) ausgelesenen Steuerwort enthaltene Adresseninformation und die in einem
zuvor aus dem ersten Speicher (22) ausgelesenen Mikrobefehl des ersten oder zweiten Typs enthaltene
Steuerdaten und Adresseninformation empfangen, daß die Adressendurchlaufeinrichtungen (22c,
22d) in einem ersten Fall selektiv auf die Adressensteuersignale der Prüflogik (22^und die in
einem zuvor abgelesenen Mikrobefehl des ersten Typs enthaltenen Steuerdaten ansprechen und die
im zuvor ausgelesenen Mikrobefehl des ersten Typs und in dem zuvor ausgelesenen Steuerwort enthaltenen
Adresseninformationen auswählen und dem ersten Speicher (22) als Adressiersignale zuführen,
daß die Adressendurchlaufeinrichtungen (22c, 22d) in einem zweiten Fall den indizierbaren Zähler (22d)
in Abhängigkeit von an die Prüflogik (22b)gelieferte und in einem zuvor ausgelesenen Mikrobefehl des
zweiten Typs enthaltene Steuerdaten setzen und aus dem Zähler (22d) eine Adresse dem ersten Speicher
(22) als Adressiersignal zuführen, und daß Einrichtungen (26) mit dem ersten Speicher (22) und dem
/weiten Speicher (24) verbunden sind und wahlweise Steuersignale zur Steuerung der Datenverarbeilungseinheit'
gemäß derjenigen Steuerinforniation für die Datenverarbeitungscinheit, die in dem zuvor
ausgelesenen Steuerwort enthalten ist, und gemäß derjenigen Steuerinformation für die Datenverarbeitungseinheit
und der Steuerdaten liefern, die in einem zuvor ausgelesenen Mikrobefehl des zweiten
Typs enthalten sind.
2. Programmierbare Datenverarbeitungsanlage nach Anspruch I, dadurch gekennzeichnet, daß der
indizierbare Zähler als Serien-Parallel-Zähler (22d) zur Erzeugung von Adressiersignalen für den ersten
Speicher (22) ausgebildet ist.
3. Programmierbare Datenverarbeitungsanlage nach Anspruch 1 oder 2, dadurch gekennzeichnet,
daß der erste Speicher (22) und der zweite Speicher (24) als Festwertspeicher ausgebildet sind.
4. Programmierbare Datenverarbeitungsanlage nach Anspruch I, dadurch gekennzeichnet, daß der
zweite Speicher (24) ein Register (24b) enthält, das Adressensignale aus der Datenverarbeitungseinheit
zum Adressieren der Speicherplätze im zweiten Speicher (24) enthält.
5. Datenverarbeitungsanlage nach Anspruch 3, dadurch gekennzeichnet, daß die Einrichtungen (26),
die mit dem ersien Speicher (22) und dem zweiten Speicher (24) in Verbindung stehen, einen Multiplexer
enthalten.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US00315155A US3839705A (en) | 1972-12-14 | 1972-12-14 | Data processor including microprogram control means |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2355993A1 DE2355993A1 (de) | 1974-06-20 |
DE2355993B2 true DE2355993B2 (de) | 1978-02-09 |
DE2355993C3 DE2355993C3 (de) | 1978-10-12 |
Family
ID=23223145
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2355993A Expired DE2355993C3 (de) | 1972-12-14 | 1973-11-09 | Programmierbare Datenverarbeitungsanlage |
Country Status (8)
Country | Link |
---|---|
US (1) | US3839705A (de) |
JP (1) | JPS5334944B2 (de) |
DE (1) | DE2355993C3 (de) |
FR (1) | FR2211142A5 (de) |
GB (1) | GB1457878A (de) |
IT (1) | IT1002206B (de) |
PL (1) | PL112808B1 (de) |
SU (1) | SU691111A3 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3121742A1 (de) * | 1980-06-02 | 1982-02-11 | Hitachi, Ltd., Tokyo | Mikroprogrammsteuerverfahren und -einrichtung zu dessen durchfuehrung |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5247976B2 (de) * | 1973-03-16 | 1977-12-06 | ||
GB1443064A (en) * | 1973-07-18 | 1976-07-21 | Int Computers Ltd | Microprogramme unit for a data processor |
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 |
IT995721B (it) * | 1973-10-10 | 1975-11-20 | Honeywell Inf Systems Italia | Apparato per l interpretazione di codici di funzione in calcolatori microprogrammati e per l indirizza mento indipendente di fasi inter pretative ed esecutive di micro programma |
US4024504A (en) * | 1973-12-21 | 1977-05-17 | Burroughs Corporation | Firmware loader for load time binding |
IT1016854B (it) * | 1974-08-21 | 1977-06-20 | Olivetti & Co Spa | Calcolatore elettronico di elabora zione dati |
JPS5126433A (ja) * | 1974-08-29 | 1976-03-04 | Fujitsu Ltd | Johoshorishisutemuseigyohoshiki |
US3990052A (en) * | 1974-09-25 | 1976-11-02 | Data General Corporation | Central processing unit employing microprogrammable control for use in a data processing system |
US4205372A (en) * | 1974-09-25 | 1980-05-27 | Data General Corporation | Central processing unit employing microprogrammable control for use in a data processing system |
US3990054A (en) * | 1974-11-05 | 1976-11-02 | Honeywell Inc. | Microprogram organization techniques |
US3972030A (en) * | 1975-01-02 | 1976-07-27 | Honeywell Information Systems, Inc. | Peripheral control capable of dynamically executing command sequences |
US4027293A (en) * | 1975-09-12 | 1977-05-31 | Control Data Corporation | Microcode program sequencer |
US4093982A (en) * | 1976-05-03 | 1978-06-06 | International Business Machines Corporation | Microprocessor system |
JPS538034A (en) * | 1976-06-30 | 1978-01-25 | Toshiba Corp | Electronic computer |
US4085439A (en) * | 1976-08-27 | 1978-04-18 | Itek Corporation | Computer programming system having greatly reduced storage capacity and high speed |
US4323964A (en) * | 1976-11-01 | 1982-04-06 | Data General Corporation | CPU Employing micro programmable control for use in a data processing system |
US4130886A (en) * | 1976-12-27 | 1978-12-19 | Rca Corporation | Circuit for rearranging word bits |
US4141068A (en) * | 1977-03-24 | 1979-02-20 | Xerox Corporation | Auxiliary ROM memory system |
US4179736A (en) * | 1977-11-22 | 1979-12-18 | Honeywell Information Systems Inc. | Microprogrammed computer control unit capable of efficiently executing a large repertoire of instructions for a high performance data processing unit |
US4307445A (en) * | 1978-11-17 | 1981-12-22 | Motorola, Inc. | Microprogrammed control apparatus having a two-level control store for data processor |
DE2951040A1 (de) * | 1979-01-16 | 1980-07-24 | Digital Equipment Corp | Steuerspeicher in einem steuerabschnitt eines rechners |
US4336602A (en) * | 1979-09-24 | 1982-06-22 | Control Data Corporation | Network for generating modified microcode addresses |
US4349874A (en) * | 1980-04-15 | 1982-09-14 | Honeywell Information Systems Inc. | Buffer system for supply procedure words to a central processor unit |
US4680698A (en) * | 1982-11-26 | 1987-07-14 | Inmos Limited | High density ROM in separate isolation well on single with chip |
US4685058A (en) * | 1983-08-29 | 1987-08-04 | Amdahl Corporation | Two-stage pipelined execution unit and control stores |
JPS6061830U (ja) * | 1983-10-03 | 1985-04-30 | 日新電機株式会社 | 電圧リミツタ回路 |
JPS6061829U (ja) * | 1983-10-03 | 1985-04-30 | 日新電機株式会社 | リミツタ回路 |
GB8404480D0 (en) * | 1984-02-21 | 1984-03-28 | Int Computers Ltd | Microprogram control |
US5034879A (en) * | 1984-10-01 | 1991-07-23 | Unisys Corp. (Formerly Burroughs Corp.) | Programmable data path width in a programmable unit having plural levels of subinstruction sets |
US4975837A (en) * | 1984-10-01 | 1990-12-04 | Unisys Corporation | Programmable unit having plural levels of subinstruction sets where a portion of the lower level is embedded in the code stream of the upper level of the subinstruction sets |
US5386549A (en) * | 1992-11-19 | 1995-01-31 | Amdahl Corporation | Error recovery system for recovering errors that occur in control store in a computer system employing pipeline architecture |
JPH07104996A (ja) * | 1993-10-05 | 1995-04-21 | Kofu Nippon Denki Kk | マイクロプログラム制御装置 |
JP2001202243A (ja) * | 1999-04-30 | 2001-07-27 | Hitachi Ltd | データ処理装置 |
US7444568B2 (en) * | 2006-02-16 | 2008-10-28 | Freescale Semiconductor, Inc. | Method and apparatus for testing a data processing system |
US7823033B2 (en) * | 2006-07-26 | 2010-10-26 | Freescale Semiconductor, Inc. | Data processing with configurable registers |
US7627795B2 (en) * | 2006-07-26 | 2009-12-01 | Freescale Semiconductor, Inc | Pipelined data processor with deterministic signature generation |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NO119615B (de) * | 1966-02-25 | 1970-06-08 | Ericsson Telefon Ab L M | |
US3560933A (en) * | 1968-01-02 | 1971-02-02 | Honeywell Inc | Microprogram control apparatus |
CH485277A (de) * | 1968-01-25 | 1970-01-31 | Siemens Ag | Programmablaufsteuerwerk für eine Datenverarbeitungsanlage |
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 |
JPS4939852B1 (de) * | 1969-11-19 | 1974-10-29 |
-
1972
- 1972-12-14 US US00315155A patent/US3839705A/en not_active Expired - Lifetime
-
1973
- 1973-11-09 DE DE2355993A patent/DE2355993C3/de not_active Expired
- 1973-12-10 IT IT32046/73A patent/IT1002206B/it active
- 1973-12-13 PL PL1973167268A patent/PL112808B1/pl unknown
- 1973-12-13 GB GB5773273A patent/GB1457878A/en not_active Expired
- 1973-12-13 SU SU731979797A patent/SU691111A3/ru active
- 1973-12-14 FR FR7344850A patent/FR2211142A5/fr not_active Expired
- 1973-12-14 JP JP13889673A patent/JPS5334944B2/ja not_active Expired
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3121742A1 (de) * | 1980-06-02 | 1982-02-11 | Hitachi, Ltd., Tokyo | Mikroprogrammsteuerverfahren und -einrichtung zu dessen durchfuehrung |
Also Published As
Publication number | Publication date |
---|---|
SU691111A3 (ru) | 1979-10-05 |
IT1002206B (it) | 1976-05-20 |
US3839705A (en) | 1974-10-01 |
DE2355993A1 (de) | 1974-06-20 |
GB1457878A (en) | 1976-12-08 |
JPS5047533A (de) | 1975-04-28 |
DE2355993C3 (de) | 1978-10-12 |
PL112808B1 (en) | 1980-11-29 |
FR2211142A5 (de) | 1974-07-12 |
JPS5334944B2 (de) | 1978-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2355993B2 (de) | Programmierbare datenverarbeitungsanlage | |
DE1901228C3 (de) | Datenverarbeitungsanlage mit Einrichtungen zur Wiederholung von Operationen bei Auftreten eines Fehlers | |
DE2813128C2 (de) | Steuereinrichtung für Mikroprogrammspeicher | |
CH634939A5 (de) | Kanaldatenpufferanordnung in einer datenverarbeitungsanlage. | |
DE2417795C2 (de) | Datenverarbeitungsanlage | |
DE2715073C3 (de) | Mikroprogrammierte Rechner-Steuervorrichtung | |
DE1774296B2 (de) | Restruktuierbare Steuereinheit für elektronische Digitalrechner | |
DE2926589A1 (de) | Anordnung zur verlaengerung einer logischen computeradresse | |
DE1499200B2 (de) | Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung | |
DE2714805A1 (de) | Datenverarbeitungssystem | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
DE2746505C2 (de) | ||
DE2258460B2 (de) | Programmierbare Steueranordnung | |
EP0097725A1 (de) | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen | |
DE2556617C2 (de) | Schiebe- und Rotierschaltung | |
DE2926322A1 (de) | Speicher-subsystem | |
DE2744359C2 (de) | ||
DE2951040C2 (de) | ||
DE2759120C2 (de) | ||
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE2720842B2 (de) | Datenübertragungssystem | |
DE1285218B (de) | Datenverarbeitungsanlage | |
DE1774421B1 (de) | Mehrprogramm datenverarbeitungsanlage | |
DE2316321C2 (de) | Schaltungsanordnung an der Schnittstelle zwischen einer Steuerung eines Rechenwerkes und einem Hauptspeichers einer Rechenanlage | |
DE2235883C3 (de) | Datenverarbeitungseinrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
8339 | Ceased/non-payment of the annual fee |