DE2355993B2 - Programmierbare datenverarbeitungsanlage - Google Patents

Programmierbare datenverarbeitungsanlage

Info

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
Application number
DE19732355993
Other languages
English (en)
Other versions
DE2355993A1 (de
DE2355993C3 (de
Inventor
James Woodworth Scotia N.Y.; Davis Richard Kent Roanoke Va.; Conley (V.St.A.) -
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
General Electric Co
Original Assignee
General Electric Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by General Electric Co filed Critical General Electric Co
Publication of DE2355993A1 publication Critical patent/DE2355993A1/de
Publication of DE2355993B2 publication Critical patent/DE2355993B2/de
Application granted granted Critical
Publication of DE2355993C3 publication Critical patent/DE2355993C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/268Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Description

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

Patentansprüche:
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.
DE2355993A 1972-12-14 1973-11-09 Programmierbare Datenverarbeitungsanlage Expired DE2355993C3 (de)

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)

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

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

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

Cited By (1)

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