DE2355993A1 - Datenverarbeitungseinheit einschliesslich mikroprogramm-steuereinrichtung - Google Patents

Datenverarbeitungseinheit einschliesslich mikroprogramm-steuereinrichtung

Info

Publication number
DE2355993A1
DE2355993A1 DE2355993A DE2355993A DE2355993A1 DE 2355993 A1 DE2355993 A1 DE 2355993A1 DE 2355993 A DE2355993 A DE 2355993A DE 2355993 A DE2355993 A DE 2355993A DE 2355993 A1 DE2355993 A1 DE 2355993A1
Authority
DE
Germany
Prior art keywords
memory
control
microprogram
address
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE2355993A
Other languages
English (en)
Other versions
DE2355993B2 (de
DE2355993C3 (de
Inventor
James Woodworth Conley
Richard Kent Davis
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

1 River Road
Schenectady, N.Y., TJ.S-.A,
Datenverarbeitungseinheit einschliesslich Mikroprogramm-Steuereinrichtung
Die Erfindung betrifft allgemein Datenverarbeitungseinheiten und· insbesondere Gedächnisspeicher-Steuereinheiten zur Steuerung der Arbeitsweise von Datenverarbeitungseinheiten.
Datenverarbeitungseinheiten verwenden im allgemeinen logische Elemente welche in einer vorgeschriebenen Weise untereinander ver-bunden sind, zur Erzeugung von Signalen zur Steuerung der Ausführung von Anweisungen durch die Datenverarbeitungseinheit bei Vorhandensein von Operationssignalen,welche aus diesen Anweisungen abgeleitet sind.
Es ist an sich bekannt, daß ein großer Teil der Logikschaltungen, welche eine Datenverarbeitungseinheit enthält, zur Steuerung der Ausführung von Anweisungen durch die Datenverarbeitungseinheit verwendet werden. Diese Steuerung wird normalerweise durch eine komplizierte Konstruktion von vielen diskreten Logikelementen
409825/0723
oder integrierten Schaltungen bewirkt, welche so miteinander
verbunden sind, daß selektiv Steuersignale für die ■Datenverarbeitungseinheit bei Vorliegen einer Information in Form eines Instruktionswortes aus dem Gedächnisspeicher der Datenverarbeitungseinheit erzeugt werden..
Ein offensichtlicher Nachteil dieser Art von Konstruktionen für eine Steuerlogik besteht in der Kompliziertheit und den Kosten, die sich in der Verwendung von vielen logischen Elementen äußern. Weiterhin ist dieser Konstrukti-onstyp nicht universal einrichtbar zur Verwendung mit verschiedensten Arten von Datenverarbeitungs-Einheiten. D.h.. für jede neue Konstruktion einer Datenverarbeitungseinheit muß eine neue Konstruktion für eine Steuerlogik auf diese Datenverarbeitungseinheit besonders zugeschnitten werden.
Wegen dieser Nachteile besteht seit kurzem eine Tendenz dazu,
Datenverarbeitungseinheiten zu konstruieren, welche ein einziges lediglich für Auslesen CAusgabe) bestimmter Gedächtnis speicher mit einem gespeicherten Mikroprogramm zur Steuerung der Ausführung
von Anweisung durch die Datenverarbeitungseinheit benutzen.
Typischerweise besteht das Mikroprogramm aus einer Vielzahl von Steuerworten, die in eignem vorgeschriebenen Aufbau angeordnet
sind, und hierdurch wird das Mikroprogramm durch eine Vielzahl
von Unterprogrammen sub routine ausgeführt. Jedes Unterprogramm ist einer Instruktion oder Anweisung zugeordnet, welche von der Datenverarbeitungseinheit ausgeführt werden soll. Als Ergebnis
hiervon wird ein großer Gedächnisspeicher lediglich für Auslesung oder mehrere Gedächnisspeicher benötigt, um alle Steuerworte für jede der Anweisungen an die Datenverarbeitungseinheit aufzubewahren.Eine Konstruktion dieses Typs führt zu Kosteneinsparungen im Vergleich mit der Konstruktion mit diskreten logischen Elementen. Dieser Lösungsweg ist jedoch immer nocii reckt kostspielig wegen der Notwendigkeit für die Verwendung eines großen Gedäcmiisspeichers lediglich zur Auslesung.
409825/0 723
Um die Größe und die Kosten dieser Gedächnisspeicher für Auslesung zu vermindern wurden von den Ingenieaaren "bereits Datenverarbeitungs-Steuereinrichtungeri konstruiert, die eine zusätzliche Steuerlogik mit dem Gedächnis speicher verwenden. Bei diesem "Konstruktionstyp enthält der Gedächnis speicher nur für Auslesung weniger Mikroprogramme mit Unterprogrammen,wobei jedes Unterprogramm teilweise die Ausführung mehrerer Anweisungen oder Instruktionen kontrollieren kann,· Vielehe gemeinsame Instruktions— und Ausführungscharakteristiken besitzen. Bei der Ausführung dieser verschiedenen Anweisungen gelangt man jedoch an einen Punkt, in dem sie nicht mehr langer gemeinsame Charakteristiken besitzen. D.h. sie führen jeweils eine verschiedene Funktion in der Datenverarbeitungseinheit aus.. An diesem Punkt entsteht die Kotwendigkeit für eine ergänzende Steuerlogik, so daß die notwendigen Steuersignale, zur Steuerung der D:atenverkrbe.itungseinheit erzeugt werden können, welche für jede der'verschiedenen Anweisungen oder Instruktionen einmalig sind.
Jede der zuvor beschriebenen Konstruktionen ergibt gewisse Kosten— vorteile in Abhängigkeit und auf Kosten der Anzahl und Kompliziertheit der Instruktionen oder Anweisungen, die eine Datenverarbeitungseinheit ausführen kann. Wie bereits aufgezeigt; ist es bei Konstruktionen einer Steuereinheit für eine Datenverarbeitungseinheit unter Verwendung von diskreten Logikelementen notwendig# für jede Datenverarbeitungseinheit eine einzigartige Konstruktion, zu benutzen.
Im Hinblick auf diese obigen Nachteile ist es erwünscht^ eine universal anpaßbare neuartige und verbesserte Steuereinheit für/ eine Datenverarbeitungseinheit zu schaffen, welche die Menge der erforderlichen Steuerlogik dadurch vermindert, daß eine Vielzahl von Gedächnisspeichern vorgesehen werden, welche die beschreibende Mikroprogramm- und Mikrodecodierinformation zur Steuerung der Ausführung von Anweisungen durch eine Datenverarbeitungseinheit enthaltene
409825/0723
Die vorliegende Erfindung überwindet diese Probleme des Standes' der Technik dadurch» daß eine Mikroprogrammsteuereinheit für jede der verschiedenen Arten von äusseren Einrichtungen vorgesehen wird, beispielsweise eine Datenverarbeitungseinheit, wobei die Steuereinheit aus ersten und zweiten Gedäclmisspeichern und einem Mindestmaß von zugeordneter Steuerlogik zur Steuerung der Ausführung von Anweisungen in der Datenverarbeitungseinheit besteht. Der erste Gedäclmisspeicher wird als ein Mikroprogramm-Gedächiiisspeicher bezeichnet und enthält Indizes oder Informationsitems in der Forin von Mikroprogrammsteuerworten oder Anweisungen, die ein Mikroprogramm bilden. Die Steuerworte besitzen mehrere Formate zur Steuerung der Operation der Steuereinheit und zur Steuerung der Ausführung von verschiedensten Arten von Anweisungen durch die Datenverarbeitungseinheit.
Der erste Mikroprogrammgedächnisspeicher besitzt eine zugeordnete Steuerlogik, welche die Adressierung in Sequenz und die selektive Adressierung des Gedächnisspeichers in sich selbst und von dem zweiten Gedächnisspeicher gestattet bei Vorhandensein von Gteuerwort-Informationsitems, welche von dem ersten Gedächnisspeiclier geliefert werden, und bei Vorhandensein von verschiedenen Zustandsbedingungen und deren Signalen und Operationscodesignalen, weiche an die Steuerlogik durch die Datenverarbeitungseinheit geliefert werden.
Der zweite Gedäcnnisspeicher der Steuereinheit kann bezeichnet werden als ein ergänzender Gedäcnnissp'eicher oder eine Mikrodecodierung. Dieser letztere Gedäclmisspeicher enthält eine Vielzahl von adressierbaren Speicherplätzen, wobei jeder der Speicherplätze ein. Anweisungssteuerwort oder einen Index enthält, der für jede Anweisung einzigartig ist, welche von der Datenverarbeitungseinheit ausgeführt werden soll. Der Mikrodecodierungsgedäclxhis— speicher kann unmittelbar in Kommunikationsverbindung mit dem Speicher der Datenverarbeitungseinheit oder einer Datenverarbeitun.3seinh.eit gehen, um eine Operationscodeinformation zu erhalten. Die Operationscodeinformation wird von dem Mikrodecodierungsgedäclmis speicher dazu verwendet,.das letztere selektiv zu adressieren um die Auslesung oder Zurückholung von Instruktionssteuerworten
409825/0723
aus demselben zu bewirken, welche einzigartig für die Operationscodeinformationen sind« Während der Ausführung bestimmter Anweisungen durch die Datenverarbeitungseinheit liefert der Mikrodecodierungs-Gedäclfiiisspeicher unter Steuerung durch die Inhalte des Mikroprogrammgedäctmisspeichers Adresseninformation an den letzterenGedächnisspeicher/um dort eine Zweigadressierung zu bestimmten Startplätzen zu bewirken, welche für die bestimmten Mikroprogrammunterprogramme einzigartig sind, welche durch die Steuereinheit ausgeführt werden.
Beide Gedächnisspeicher der Mikroprogrammsteuereinheit liefern Informa'tionsitems oder Ausgangssignale an eine Übertragungseinrichtung oder einen Steuermultiplexer (Multiplexer). Der Steuermultip lexer liefert selektiv Steuersignale und Datensignale an die Datenverarbeitungseinheit von beiden Gedächnisspeichern gemäß der Instruktion, welche von der Datenverarbeitung ausgeführt wird und gemäß eines Mikroprogrammsteuerwortes, welches aus dem Mikroprogrammgedächnisspeicher zurückgeholt wird.
-Gerade diese Operation des Multiplexer im Zusammenwirken mit beiden Gedächnisspeichern beseitigt die Mehrzahl der zusätzlichen* Logikteile,welche normalerweise erfordert werden, und vermindert die Menge
Programms,
die Menge des Gedächnisspeicherraums zur Speicherung des Mikro-
Diese Beseitigung der zusätzlichen Logik und die Verminderung des Speicherraums wird erstens dadurch bewirkt, daß ein Mikroprogramm im Mikroprogrammgedächnisspeicher vorgesehen wird, das aus einer Vielzahl von Unterprogrammen besteht. Jedem Unterprogramm ist eine Vielzahl von Anweisungen oder Instruktionen an die Datenverarbeitung zugeordnet, welche gemeinsame Instruktions-Ausführungscharakteristiken besitzen." Während der Ausführung eines bestimmten Unterprogramms durch die Steuereinheit wird im Mikroprogramm ein Punkt erreicht, an"dem gemeinsame Charakteristiken der bestimmten, gerade ausgeführten Datenverarbeitungsanweisung nicht existieren. Unter der Steuerung von bestimmten Informationsitems in den Mikroprogrammsteuerworten des Unter-
409825/0723
Programms wird die Steuereinheit gezwungen^die Steuerung der Ausführung der Anweisung für die Datenverarbeitung vom ü'Iikroprogramingedächnisspeicher zum Mikrodecodierungs-Gedüchnisspeicherabzugeben. Diese Abgabe der Steuerung wird dadurch bewirkt, daß bestimmte Informationsitems.oder Steuersignale dem Multiplexer von dem Mikroprogrammgedächnisspeicher geliefert werden. Diese Steuersignale gestatten, dem Multiplexer die selektive Erzeugung bestimmter Ausgangssignale,, welche bewirken, daß die Datenverarbeitung diejenigen Funktionen ausführt, welche einzigartig sind für die gerade ausgeführte individuelle Anweisung. Bestimmte Mikroprogrammsteuerworte weisen nach. Zurückholung aus dem Mikroprogrammgedächnisspeicher den Multiplexer an;die Steuersignale für die Datenverarbeitung von beiden Gedächnisspeichern zu liefern.
Das Konzept des doppelten GedächnisSpeichers gemäß der Steuereinheit der vorliegenden Erfindung bietet den wichtigen Vorteil/ der darin besteht, daß man in der Lage ist, in wirtschaftlicher V/eise eine Steuerung für einen Verbraucher zu konstruieren, welche eine möglichst kleine Zahl von logischen Elementen besitzt. Weiterhin ist die Steuereinheit eine programierbare Steuereinheit und kann nach Bedarf programmiert werden,um irgendeinen Typ von Datenverarbeitungsanlage, digitalen Steuereinrichtungen oder sonstigen äußeren Einrichtungen zu steuer- und hierdurch wird die ITotwendigkeit beseitigt, eine neue Steuereinrichtung zu konstruieren.
Es ist daher eine Aufgabe der vorliegenden Erfindung, eine Iviikroprogramnisteuereinheit zu schaffen mit gesteigerten Betriebsmöglichkeiten zur Steuerung einer äusseren Einrichtung.
Ein besseres Verständnis der vorliegenden Erfindung ergibt sich aus der nachstehenden Beschreibung einer bevorzugten Ausführungsform im Zusammenhang mit den Abbildungen.
409825/0723
Figur 1 zeigt ein HauptblockschaTtbild einer Datenverarbeitung einschließlich einer Mikroprogrammsteuereinheit gemäß der vorliegenden Erfindung, wobei die ausgezogenen Linien Datenleitungen oder Informationssignalleitungen darstellen und die gestrichelten Linien Steuersignalleitungen darstellen.
Figur 2 zeigt das grundlegende Instruktionswortformat für Instruktionsworte, wie sie in dem Speicher der Datenverarbeitung enthalten sind.
Figur 3 A bis 3 C zeigen das Format der verschiedenen Arten von Mikroprogrammsteuerworten, wie sie in dem Mikroprogrammgedächnisspeicher aufbewahrt werden.
Figur 4- zeigt das Format der Instruktionssteuerworte, wie sie in dem Mikrodecodierungs-Gedächnisspeicher enthalten sind'.
Figur 5 ist ein Blockschaltbild der Mikroprogrammsteuereinheit gemäß der vorliegenden Erfindung,■ wobei die voll ausgezogenen und gestrichelten Linien im gleichen Sinne wie in Fig. 1 verwendet sind.
Figur 6 zeigt eine Tabelle mit der Decodierung von Informationsitems in einem bestimmten Feld von Bits in dem Steuerwort der Fig. 3 A.
Figur 7 A bis 7 C und die Figuren 8 bis 11 sind Fließbilder und zeigen die zeitliche Aufeinanderfolge oder Sequenz der Mikroprogrammsteuereinheit und des Mikroprogramms und der Unterprogramme zur' Steuerung der ' Ausführung von Anweisungen durch die Datenverarbeitung.
409825/0723
Es wird nunmehr Bezug genommen auf die Figur 4, welche eine allgemein mit der Bezugsziffer 10 bezeichnete Datenverarbeitung zeigt. Die Datenverarbeitung 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 der Erfindung wird jedoch hier die Verarbeitungseinheit 12 als eine solche Einheit des bekannten Typs gezeigt, welche ein Instruktionsadressenregister, ein K-Register oder Zähler, eine arithmetische Logikeinheit, ein Α-Register und geeignete Steuer- oder Gatterungslogik zur Steuerung der Operationen der Register und des Informationsfluss im Innern und Äußeren der Verarbeitungseinheit besitzt.
Das Instruktionsadressenregister wird nachstehend mit IAR bezeichnet und ist steuerbar zur Aufnahme von Informationen von der arithmetischen Logikeinheit und von der Steuerlogik. Ebenso ist cas IAR steuerbar, um als ein Gedächnisspeicher-Adressenregister (MAR) zu dienen zur Einschreibung oder Speicherung von Informationen und zum Zurückholen oder Auslesen von Informationen von einem Speicher oder Hauptgedächnisspeicher 14, welcher einen Teil der Datenverarbeitung 10 bildet. Weiterhin können die Inhalte des IAR in den Speicher 14 geschrieben werden oder von dem Speicher zu und von Adressenplätzen gebracht werden, welche entweder von dem IAR oder der Steuerlogik im Innern der Verarbeitungseinheit 12 bestimmt werden.
Das K-Register dient als ein Zähler zur Zählung der Anzahl von Verschiebungen, welche während der Ausführung von Verschiebungs— anweisungen von der Verarbeitungseinheit 12 ausgeführt werden. Zusätzlich ist das K-Register noch so steuerbar, daß es entweder aus dem Speicher oder der .arithmetischen logischen Einheit beschickt werden kann. In Abhängigkeit von der Art der von der Datenverarbeitung ausgeführten Anweisung sind die Inhalte des K-Registers repräsentativ für Information bezüglich der Anweisungsadresse oder der Verschiebungszahl.
40 9825/0723
Die arithmetische Logikeinheit wird nachstehend als ALU bezeichnet und enthält eine Logik, durch' welche- sie selektiv steuerbar ist zur Aufnahme von Informationen von dem IAR und dem K-Register, zur Durchführung arithmetischer Operationen und zur Durchführung von Übertragungen von einem Register in.ein anderes.
Das Α-Register ist grundsätzlich ein arithmetisches Register. . Es ist steuerbar und kann während der Ausführung von Verschiebungsanweisungen durch die Datenverarbeitung um eine Anzahl von Bitstellungen verschoben werden. Ebenso ist das. Α-Register so steuerbar, daß es während Operationen zur Auslesung und Schreibung mit dem Speicher 14 in Kommunikationsverbindung sein kann. Seine Inhalte können daher von bestimmten Speicherplätzen aus abgegeben oder dort gespeichert werden. Der Ausgang des ALU wird ebenfalls während der Ausführung von gewissen Anweisungen an die Datenverarbeitung in das Α-Register eingegeben. Die Informationsübertragung zwischen der Datenverarbeitungseinheit 12 und dem Speicher 14 geschieht über eine Vielzahl von Datenleitungen 16. Diese Informationsübertragung wird durch Steuersignale bewirkt, welche zwischen dem Speicher und der Verarbeitungseinheit über eine Vielzahl von Steuerleitungen 18 fließen.
Eine Mikroprogrammsteuereinheit ist allgemein mit der Bezugsziffer 20 bezeichnet und besteht aus einem Mikroprogrammgedächnisspeicher lediglich für Auslesung (MPROM) und einer Steuerlogik 22 und einem Mikrodecodierungs-Gedächnisspeicher (MDROM) lediglich zur Auslesung und einer Logik 24. Ebenso enthält die Steuereinheit 20 einen Steuermultiplexer 26. Der Mikrodeeodierungs-Gedächnisspeicher 24 (nachstehend als MDROM bezeichnet) steht in unmittelbarer Kommunikation mit dem Speicher 14 der Datenverarbeitung über die Datenleitungen 28, um Operationscodeinformationsitems von Anweisungsworten aus dem Speicher als Adresseninformation zu erhalten.
Das Format des Instruktionswortes gemäß Figur 2 ist beispielhaft für Instruktionen oder Anweisungen, wie sie in dem Speicher 14 für jede von der Datenverarbeitung 10 auszuführende Instruktion
409825/0723
enthalten sind. Die Bits A bis F der Instruktionsworte werden dem MDROM üb.er Operationscode- oder Adressenleitungen 28 zugeführt, wenn eine Instruktion von dem Speicher durch die Datenverarbeitungseinheit 12 entnommen wird. Die Bits C bis F definieren die Instruktionen wie beispielsweise Addieren, Subtrahieren usw. . Das Bit B wird verwendet, um das Instruktionsadressenfeld (Bits 0 - 9 )zu bezeichnen, welches über Indexbasis adressiert '/.■erden soll und das Bit A wird verwendetem zu bestimmen, daß das Instruktionsadressenfeld mit Index versehen werden soll. Die Basisadressierung und Indizierung eines Adressenfeldes für ein Instruktionswort kann gleichzeitig mit dem Bit A und B bestimmt werden. Die Operationscode-Information (Bits A-P) wird in einer Halteeinrichtung oder einem Register im Innern des MDROM aufbewahrt, indem die Information dazu verwendet wird, um bestimmte adressierbare Speicherplätze in dem MDROM zu adressieren. Jeder dieser Speicherplätze enthält ein Instruktionssteuerwort, das einmalig ist für jede von der Datenverarbeitung auszuführende Instruktion. Die Bedeutung jedes der Bits in dem Instruktionssteuerwort gemäß Figur 4- wird noch nachstehend erläutert.
Wenn das MDROM adressiert wird, liefert es Indizes oder Signale an den MPROM 22 und an den Steuermultiplexer 26. Die Datensignale v/erden an den MPKOM von dem MDROM als Adressenbits oder -signale auf einem Mehrfachleiter-Kabel 30 geliefert zur Adressierung bestimmter Plätze im Innern des MPROM. Bestimmte Indizes werden dem Steuermultiplexer 26 von dem MDROM 24 über Leiter 3^ zugeführt, wobei der Multiplexer Steuer- und Datensignale an die Datenverarbeitungseinheit 12 über eine Vielzahl von Steuersignalleitungen 32 und Datensignalleitungen 24- liefert. Der Steuermultiplexer erhält auch Informationsitems in Form von Steuersignalen und Datensignalen von dem MPROM über Steuerleitungen 36 und Datenleitungen 38. Diese letzteren Signale werden in dem Multiplexer mit dem Indizes von dem MDROM kombiniert, um die Ausgangssignale vom Multiplexer auf den Leitungen 32 und 34- zu erzeugen.
Es wird nunmehr Bezug genommen auf den MPROM und die Steuerlogik 22 der Figur 1. Der MPROM besitzt eine Vielzahl von selektiv adressierbaren Speicherplätzen, wobei jeder Speicherplatz
409825/0723
ein bestimmtes Mikroprogrammsteuerwort enthält. Diese Mikroprogrammsteuerworte bilden selektiv ein Mikroprogramm, welches von der Steuereinheit 10 ausgeführt werden soll, um eine ordnungs gemäße Erzeugung der Ausgangssignale vom Multiplexer 26 auf den · Leitern 32 und 34 für jede Instruktion zu bewirken, die von der Datenverarbeitung 10 ausgeführt werden soll.
Vor der weiteren Beschreibung der Mikroprogrammsteuereinheit werden vorteilhafterweise die verschiedenen Steuerworte be-? schrieben, welche in dem IvIPROM enthalten sind. Diese Steuerworte werden in den Figuren 3 A, 3 B und 3 C gezeigt. Die Figur 3 A zeigt das Format eines Zweigsteuerwortes. Dieses letztere Wort wird während der Ausführung des Mikroprogrammes benutzt, um die selektive Adressierung des MPROM auf der Basis der Inhalte des Zweigsteuerwortes und verschiedener Zustandssignale zu bewirken, welche dem MPROM von der "Verarbeitungseinheit 12 über die Zustandsleitungen 40 zugeführt werden.
Die Bits 14 und 15 (.Figur 3 Δ) sind der Operationscode (Op.Code) und werden als Operationscodesignale vom Ausgang des MPROM auf · den Leitern 42 (Figur 1) an die MPROM-Steuerlogik geliefert. Die Steuerlogik decodiert diese Operationscodesignale, um die Ausführung des Zweigsteuerwortes durch die Steuereinheit zu gestatten. Ein Bit-Prüffeld besteht aus den 3its 8-11 und liefert ebenfalls zwei Prüfsignale über Leitungen 42 an die MPROM-Steuerlogik. Diese Zweigprüfsignale werden mit den Zustandssignalen von der Verarbeitungseinheit verglichenem die Erzeugung einer Zweigadresse oder einer sequentiellen Adresse an den MPROM zu bewirken. Die Codierung des Bit-Prüffeldes für eine bestimmte auszuführende • Zweigprüfung durch die Steuereinheit ist in Figur 6 gezeigt. Die 'Bedeutung der verschiedenen Zweigprüfungen wird noch anschließend erläutert. .
Ein Zweigadressenfeld an sich selbst in dem Zweigsteuerwort besteht aus den Bits 0-5· Diese Bits werden vom Ausgang des MPROM als Adressensignale über die Adressenleitungen 44 (Fig. 1) zurück zum Eingang geliefert. Man wird sich erinnern, daß das MPROM
409825/0723
selektiv adressiert werden kann. Diese^ selektive Adressierung wird gesteuert durch, den Zustand eines Bit 6 des Zweigsteuerwortes. Das Bit 6 wird verwende^ um ein Adressenabgabesignal über Leitungen 42 zur MPROM-Steuerlogik,zu liefern und zu bestimmen, . ob die nächste Adresse für das MPROM aus ihm selbst kommen soll (Bit 5) oder von dem MDROM über Adressenleitungen JO. Diese letztere Adresse kommt aus dem Bit 18-23 des Instruktionssteuerwortes der Fig. 4, dessen Format noch im einzelnen später erläutert wird.
Die Bits 7, 12 und 13 des Zweigsteuerwortes der Fig. 3 A sind schraffiert gezeichnet und dies zeigt an, daß sie nicht verwendet werden. Sie können jedoch eine Verwendungsmöglichkeit besitzen zur Ausführung von erweiterten Funktionen in der Steuereinheit^ welche hier vorstehend nicht definiert sind.
Ein anderes Steuerwortformat, welches in den verschiedenen Gedäclinisspeicherplätzen des MPROM enthalten sein kann, ist ein Verfahrenssteuerwort gemäß Fig. 3 B. Verfahrenssteuerworte werden verwendet, um Ausgangssignale vom Steuermultiplexer 26 zur Steuerung der Handhabung von Daten innerhalb der Datenverarbeitungseinheit 12 zu steuern. Wie das Zweigsteuerwort enthält auch, das Verfahrenssteuerwort einen Verfahrensoperationscode in den Bits 14 und 15· Diese Bits werden an die MPROM-Steuerlogik über Leitung 42 geliefert; um die Ausführung dieses bestimmten Steuerwortes durch das Mikroprogramm zu steuern. Darüberhinaus werden die Bits 14 und 15 dem Multiplexer 26 über Leitungen 36 zur Steuerung der Multiplexbearbeitung der Steuersignale und Datensignale für die Verarbeitungseinheit 12 geliefert. Das Verfahrenssteuerwort enthält auch ein Feld zur Auswahl der ALU-Funktion, bestehend aus den Bits 8,9 und 10. Diese Bits sind vorhanden als Signale zur Auswahl der Funktion für den Steuermultiplexer, welcher seinerseits bestimmte ausgangsseitige Steuersignale über Leitungen 32 an die Datenverarbeitungseinheit liefert, um die Operationsfunktionen (Betriebsfunktionen) des ALU zu steuern. Beispielsweise können diese Steuersignale den ALU 'befähigen, zu der ihm gelieferten Information eine 1 zuzufügen"oder die Addition
409825/0723
-.13 -
einer Vielzahl von EingangsSignalen zu bewirken, welche an den ALU geliefert werden. Die Bits 2-7 der Fig. 3 B liefern auch bestimmte Steuerfunktionen oder -signale an den Steuermultiplexer auf den Leitungen 36. Diese Steuerfunktioneh sind bezeichnet als ASO, AS1, KCE, KPE, IS1, ISO entsprechend den Bits 2 Die Signale ASO und AS1 werden als Ausgangssignale vom Steuermultiplexer an die Verarbeitungseinheit geliefert zur Steuerung verschiedener Operationen des A-Eegisters. Die-Signale KCE und KPE werden in ähnlicher Weise vom Multiplexer zur Verarbeitungseinheit geliefert zur Steuerung der Operationen des K-Registers. In gleicher Weise werden die Signale IS1 und ISO als Eingangssignale für das Instruktionsadressenregister (IAR) geliefert zur Steuerung seiner Operationen. Die Benutzung dieser Signale wird noch nachstehend erläutert. Ein weiteres Bit 11 ist als Löschen MPCNT bezeichnet und wird von der MPROM-Steuerlogik verwendet zur Rückstellung der MPROM-Adresse auf einem bestimmten Platz zur Adressierung des letzteren. Die Bits O, 1, 12 und I3 der Fig. 3 B werden ebenfalls nicht verwendet, wie dies für die Fig. 3 A .erläutert wurde.
Figur 3 C zeigt die letzte Art eines Wortformates, welches im KPROM. enthalten ist, und dieses ist bezeichnet als ein Eingang/ Ausgang (I/O)-Steuerwort. Dieses Wort wird während der Ausführung des Mikroprogramms zur Steuerung von Übertragungen von Informationen zwischen der Datenverarbeitungseinheit 12 und dem Speicher 14 verwendet. Diese Übertragungen können eine Auslesung von Information aus dem Speicher oder ein Einschreiben von Informationen in den letzteren darstellen. Das I/0-Steuerwort ent- , hält einen I/0-Operationscode in den Bits 14· und 15, welcher in 'der MPROM-Steuerlogik in einer ähnlichen Weise verwendet wird, wie dies im Zusammenhang mit Fig. 3 B beschrieben ist.
Die Bits 0 bis 5 der Fig. 3 C bilden zusammen eine Speicheradressenquelle, um der Verarbeitungseinheit 12 diejenige Quelle anzugeben, von der aus sie den Speicher 14- adressieren soll. Für die vorstehende Erläuterung werden die Bits 0-5 in zwei Felder aufgeteilt. Die Bits 0,1 und 2 sind definiert ate ein "Speicher-'
409825/0723
sofortadressenfeld " {store immediate adress field). Während der Ausführung "bestimmter Instruktionen, wo es erwünscht' ist, die Adresse der ausgeführten Instruktion mit Index zu modifizieren, können die Bits 0 - 2 in einer bestimmten Bit-Zusammenstellung codiert werden, um zu bewirken, daß der Speicher 14 über die Verarbeitungseinheit unmittelbar vom Multiplexer 26 adressiert wird.
In der Auswirkung bewirkt die Codierung der Bits 0 bis 2 die Einlesung eines Adressenindex- oder Modifizierungswortes in das K-Register aus einem Speicherplatz, welcher durch die Bits 0-2 bestimmt ist, für eine anschließende Addition zum IAR zur Indexmodifizierung des Instruktionswortes. Während der Ausführung bestimmter anderer Instruktionen ist es jedoch erwünscht, den Speicher von einer anderen Quelle aus zu adressieren. In diesem letzteren Falle sind die Bits 3 bis 5 (Adressenregisterquellenfeld) so codiert, daß sie' eine Auwahl des IAR als Gedächnisspeicheradressenregister (MAR) durch den Multiplexer bewirken oder bewirken, daß derselbe die Adressenregisterquelle abgibt an diejenige -Quelle, welche durch die Bits 10 bis 15 des MDROM Instruktionssteuerwortes bestimmt ist (Fig. 4) .
Das Bit 1$ des I/O-Steuerwortes liefert ein Signal an den Multiplexer 26 auf Leitungen 36 und bewirkt, daß dieser ein Signal zur Beschickung des K-Registers an die Verarbeitungseinheit über eine der Leitungen 32 während des Anfahrens der Datenverarbeitungseinheit 10 abgibt. Wenn das Signal zur Beschickung des K-Hegisters erzeugt wird, wird dieses K-Register von einem Speicherplatz aus beschickt, welcher durch die Inhalte der Bits O bis 2 oder mit anderen Worten durch das unmittelbare Speicheradressenfeld bestimmt ist.
Ein Feld für die Funktionsauswahl für I/O besteht aus den Bits 9 und 10 (Figur 3 C) und diese sind so codiert, daß sie eine Abgabe von Signalen durch den Multiplexer an die Datenverarbeitung— einheit bewirken, um die letztere zur Erzeugung einer Ausleseoder Einschreibeoperation bezüglich des Speichers 14 zu veran-
409825/0723
lassen. Ein Feld für die Datenquelle oder den Bestimmungsort (3it 6 und 7) des Steuerwortes I/O wircL von dem Multiplexer decodiert, um entweder ein Signal für die Datenquelle oder den Bestimmungsort"an die Verarbeitungseinheit zu liefern und die Quelle der Daten festzulegen, welche innerhalb der Verarbeitungseinheit beim Einschreiben-gespeichert werden sollen, oder den Bestimmungsort der Daten vom Speicher bei einer Auslesung. Das I/O-Steuerwort Figur 3.enthält auch ein Feld für die Abgabe der Steuerung des Bestimmungsortes und ein zugehöriges Bit 8 . Dieses wird vom Multiplexer verwendet.um eine Steuerung des Bestimmungsortes der Übertragung von Daten von und zu dem Speicher zu gestatten, wobei diese Steuerung von den Bits 6 bis 7 des MPROM-I/O-Steuerwortes zum Bit.16 des MDROM-Instruktionssteuerwortes abgegeben wird. Das Bit 11 (Löschen MPCNT) wird in dem 1/0-Steuerwort in gleicher Weise benutzt/ wie dies bereits für das Bit 11 in Zusammenhang mit Figur 3 B beschrieben ist.
Es wird nunmehr Bezug genommen auf die Figur 4, welche das Format der Instruktionssteuerworte zeigt, die in dem MDROM enthalten sind. Jeder der verschiedenen adressierbaren Speicherplätze in dem MDROM enthält ein Steuerwort mit Inhalten, welche einmalig sind für eine in der Datenverarbeitungseinheit auszuführende Anweisung oder Instruktion. Wie bereits zuvor erwähnt, enthält der MPROM das Mikroprogramm zur Steuerung der grundsätzlichen Ausführung von Anweisungen durch die Datenverarbeitung. Dieses Mikroprogramm wird ergänzt durch die Instruktionssteuerworte in dem MDROM. Das Instruktionssteuerwort enthält eine Zweigadresse zum MPROM-FeId in den Bits 18 bis 23. Während der Ausführung bestimmter Zweigsteuerworte in dem Mikroprogramm ist es erwünscht, die Zweigadresse des Mikroprogramms an diejenige Adresse abzu-,treten, welche durch dieses Feld bestimmt ist. Diese Adresse bewirkt daher, daß das Mikroprogramm zu einem bestimmten Platz in dem MPROM abzweigt, um die Ausführung'eines Unterprogramms des Mikroprogramms zur Steuerung der Ausführung einer bestimmten Anweisung für die Datenverarbeitung zu bewirken, und zwar gemäß der Operationscode der Adresseninformation, welche dem MDROM vom Speicher geliefert wird. Ebenso kann es,wie zuvor erwähnt, während der Ausführung eines I/O^Steuerwortes erwünscht seinr
409825/0723
die Steuerung des Bestimmungsortes der Daten oder der Quelle der Informationen an den MDROM abzugeben. Wenn dies geschieht, wird ein Datenbestimi7mngsort-_Bit 17 verwendetem die Übertragung von Informationen zwischen dem Speicher und entweder dem A-Register oder dem K-Register zu steuern.
Der Zweig der Indexplatzsteuerung (Bit 10 bis 15) wurde bereits kurz erläutert in Verbindung mit der Anwendung des I/0-Steuerwortes in Figur 3 C. Es wird daran erinnert, daß das Quellenfeld für das Adressenregister (Bit 3> 4· und 5 in Figur 3 C) so codiert werden kann, daß es festlegt, daß die Speicheradresse unmittelbar aus dem MDROM Instruktionssteuerwort entnommen wird. Wenn die Bits 3, 4- und 5 der Figur 3 C zur Angabe dieser Art der Adressierung codiert sind^ werden die Bits 10 bis 15 nach Figur 4 von dem Multiplexer verwendet, um unmittelbar einen bestimmten Indexplatz in dem Speicher über die Datenverarbeitungseinheit zu adressieren.
Ein Bit 17 der Figur 4 ist als Operandenzurückholung bezeichnet und wird von der MPR-Steuerlogik dazu verwendet, die Adressierung des MPROM auf einen bestimmten Platz während der Ausführung von Datenverarbeitungsinstruktionen zu steuern, welche erfordern, daß ein Operand aus dem Speicher 14 zurückgeholt wird. Das Instruktionssteuerwort enthält auch ein Feld für die Auswahl der ALU-Funktion (Bit 0 bis 5)/ und dieses ist ähnlich dem bereits im Zusammenhang mit Figur 3 B beschriebenen Feld. Dieses Feld (Figur 4·) wird vom Steuermultiplexer verwendet, um viele gleiche ausgangsseitige Steuersignale an die Datenverarbeitungseinheit zu liefern, wie dies im Zusammenhang mit Figur 3 B 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 Figur 3 B. D.h.. es können weitere Funktionen unter Steuerung durch das Instruktionssteuerwort des MDROM ausgeführt werden, welche nicht möglich sind unter Steuerung durch das Verfahrenssteuerwort nach Figur 3 B. Es wird daran erinnert, daß das Auswahlfeld für die ALU-Funktion nach Figur 3 B codiert werden kann, um die Kontrolle des ALU an die Bite 0 bis 5 des Auswahlfeldes für die ALU-Funktion für den MDROM abzugeben.
409825/0723
Es wird nunmehr Bezug genommen auf die. Figur 5, welche mit weiteren Einzelheiten ein Blockschaltbild der Mikroprogrammsteuerung 20 nach Figur 1 zeigt. Der MPROM und die Steuerlogik der Figur 1 bestehen aus einem Mikro-Programm-Gedächnisspeicher 22 a lediglich für Auslesung· (MPROM), einem Bit-Prüflogikblock 22 b, einem Mikroprogramm-Multiplexerblock (MPUX) 22/c und einem Mikroprogrammzählerblock (MPCND) 22/d. Der MDROM und die Logik der Figur 1 bestehen aus einem Mikrodecodierungs-Gedächnisspeicher 24 a lediglich für Auslegung (MDROM) und einr Operationscoderegister 24 b (OP "Register). Das Operationsregister erhält die Operationscodeinformation der Instruktionen über die Leitungen 28, welche aus dem Speicher zurückgeholt wurden. Adressen und Operationscodesignale von dem Register 24 b werden dem MDROM 24 a über eine Vielzahl von Adressenleitungen 46 und der Bit-Prüflogik 22 b über eine Vielzahl von Operationscodeleitungen 50 zugeführt. Eine geeignete Adressendecodierlogik im Innern des MDROM decodiert die Ausgangssignale vom Register 24 b zur selektiven Adressierung verschiedener Speicherplätze in dem MDROM während der Ausführung von Instruktionen durch die Datenverarbeitung. Die Bit-Prüflogik 22 b liefert Kontrollsignale über eine Vielzahl von Leitern 52 ah den MPCMD 22 . d zur Steuerung des' letzteren gemäß den Instruktionen, welche von der Datenverarbeitung ausgeführt werden-und weiterhin gemäß den InformatioiS-tems, welche ihm vom MPROM auf den Leitungen 5^· geliefert werden. Weiterhin werden die Steuersignale von der Bit-Prüflogik auch noch durch Zustandssignale von der Verarbeitungseinheit 12 auf Leitungen 40 und Anweisungssteuerwortsignalen von den MDROM-Hauptleitungen .56 gesteuert.
Der MPCNT ist im wesentlichen ein Zähler des Typs mit Serienzählung und paralleler Belastung (Ausgabe) (load ) mit eingangsseitiger Steuerlogik zur Steuerung seiner Arbeitsweise gemäß den dort zugeführten Steuersignalen. Während der Ausführung bestimmter Instruktionen durch die Datenverarbeitung bewirken Steuersignale von der Bit-Prüf logik 22 b, daß der MPCNT inJSequenz zählt um sequentielle Adressiersignale über eine Vielzahl von Adressenleitungen 60 an den Eingang des MPROM zu liefern. Der
409825/0723
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 Aus- · führung vorbestimmten anderen Instruktionen gestatten die Steuersignale, welche dem MPCNT 22 d von der Bit-Prüflogik 22b zugeführt werden, die Auswahl einer ausgewählten Adresse, welche parallel vom Ausgang des MPUX 22 c über eine Vielzahl von Adressenleitern 62 in dem MPCNT parallel eingegeben werden können. Der MPUX 22 c erhält Adresseninformation vom MPROM über Adressenleiter 30 und vom Ausgang des WiPROM auf Leitern 44. Wie· bereits erwähnt, bestimmt der Zustand des Bit 6 des Zweigsteuerwortes der Figur 3 A darüber, ob die Adresse für den MPROM vom MDROM oder dem MPROM kommen soll. Diese Bestimmung wird in dem MPUX vorgenommen, welcher ein Signal repräsentativ für den Zustand des Bit 6 auf den Steuerleitern 42 erhält und gestattet, daß die bestimmte Adresse zum MPCNT durchgehen kann.
Die Arbeitsweise der Erfindung wird nachstehend unter Bezugnahme auf die Figuren 1, 5 und 10 erläutert. Um die Mikroprogrammsteuereinheit an einem richtigen Mikroprogrammschritt oder Adressenplatz im MPROM zu starten und zu gewährleisten, daß' die Datenverarbeitungseinheit 12 einen Startplatz in dem Speicher adressiert, ist zunächst eine anfängliche Auslesung der Datenverarbeitung auszuführen. Diese Auslesung wird bewerkstelligt durch Zuführung eines Auslösesignals (INZ) auf der Leitung 64 zum Steuermultiplexer 26 und zu dem MPCNT 22 d. Die Erzeugung dieses INZ-Signals kann durch eine nicht gezeigte Quelle erreicht werden, beispielsweise durch die Aktivierung eines Startschalters auf einer Konsole, welcher der Datenverarbeitung zugeordnet ist. Wenn das INZ-Signal erzeugt wird, geschehen im wesentlichen zwei Dinge gleichzeitig:
1. bewirkt das INZ-Signal die Erzeugung eines ausgangsseitigen Steuersignals über die Leitungen 34 durch den Steuermultiplexer 26, welches der Datenverarbeitungseinheit zugeführt wird zur Erzwingung einer durch. Schaltungsanordnungen vorgegebenen Adresse in den IAR. Die Inhalt des IAR enthalten Jetzt die Adresse der ersten von der Datenverarbeitungseinheit auszuführenden Instruktion.
409825/0723
2. Die stattfindende Operation besteht darin, daß in dem MPCKT 'eine vorbestimmende Adresse voreinges.tellt oder parallel eingespeist wird. Wenn das INZ-Signal weggenommen wird, erscheinen die Adressensignale am Eingang des MPROM über Adressenleiter 60, welche repräsentativ sind für die jetzt im MPCNT vorhandene Adresse.
Es wird nunmehr Bezug genommen /auf die Bezugsziffer 22 auf der linken Seite der Figur 10. Diese Bezugsziffer und alle an ähnlicher Stelle angeordneten Ziffern in den Figuren 7 A bis 7 C und den Figur/9 bis 11 bezeichnen \ den Gedächnisspeicher-Adressenplatz oder Mikroprogrammstufe, bei welcher der MPROM durch den MPCNT adressiert wird. Es ist zu beachten, daß entweder ein Ent- ■ scheidungsblock oder ein 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. Jeder der Blöcke , beispielsweise der Block entsprechend der Platzadresse 21 der Figur 10, enthält beschreibende Informationen bezüglich der Operationen, welche während der Ausführung eines bestimmten Mikroprogrammschrittes entweder in der Steuereinheit oder in der Verarbeitungseinheit stattfinden. Diese Operationen werden typischerweise durch die Steuereinheit ausgeführt auf der Basis der Inhalte der bestimmten Steuerworte, welche vom MPROM und dem MDROM während der Ausführung des Mikroprogrammes zurückgeholt werden.
Es wird weiterhin auf Figur 10 Bezug genommen. Die am Adressenplatz 22 enthaltene Information ist ein I/0-Steuerwort mit einem Format gemäß Figur 3 C. Durch die Adressierung des J.IPROM vom tePCNT wird das I/0-Steuerwort ausgelesen oder zurückgeholt vom EPROM und es werden I/O-Steuerwortsignale an den Steuermultiplexer 26 über Leiter 36 und 38 geliefert. Wie in dem Operationsblock benachbart zum Platz 22 gezeigt, bewirkt der Steuermultiplexer, daß die Datenverarbeitungseinheit die Inhalte de,s IAR an einem bestimmten Platz im Speicher speichert, welcher als P-Register (Programm-Register) bezeichnet ist. Der Steuermultiplexer bewirkt diese Speicheroperation durch Decodierung der Bits 0 bis
409825/0723
und der Bits 14- und 15. Wie aus Figur 3 C ersichtlich; sind die Bits 14- und 15i d.h. der I/0-Operationscode, beide binär codiert. Der Steuermultiplexer decodiert die Bits 14- und 15 im Zusammenhang mit den anderen Bits in dem I/0-Steuerwort zur Erzeugung der richtigen ausgangsseitigen Steuersignale und Datensignale für die Datenverarbeitungseinheit. Die Bits 9 und 10 des Feldes für die Auswahl der I/O-Funktion werden durch den Steuermultiplexer decodiert und befähigen die Datenverarbeitungseinheit, einen Zyklus einer Auslesung oder einer Einschreibung am Speicher auszuführen. In diesem Beispiel ist es erwünscht, die Inhalte der IAR-am Platz P im Speicher einzuschreiben oder zu speichern und die Bits 9 und. 10 sind so codiert, daß der Multiplexer 26 auf Leitern 32 ein Ausgangssignal erzeugt zur Bewirkung eines Einschreibezyklus zum Speicher durch die Datenverarbeitungseinheit. Da es zu diesem Zeitpunkt nicht erwünscht ist, die Steuerung für den Bestimmungsort von dem MPROM auf den MDROM abzugeben, ist das Bit 8 eine binäre Null. Ebenso ist das Feld für den Bestimmungsort oder die Datenquelle, die Bits 6 und 7 des I/O-Steuerwortes, so codiert, daß der Steuermultiplexer ein Signal über einen der Leiter 32 abgibt, welches bewirkt, daß die Inhalte des IAR in den Platz P eingeschrieben werden.Ebenso werden die Bits 0-5 des I/O-Steuerwortes benutzt, um die Quelle des Gedächnisspeicheradressenregisters zu definieren oder auszuwählen zur Adressierung des Speichers. In diesem Beispiel kommt die Gedächnisspeicheradressenregisterquelle unmittelbar von den Bits 0-2, welche so codiert sind, daß der Multiplexer die Bits 3-5 nicht beachtet. Der Multiplexer 26 schickt bei Vorhandensein der Codierung der Bits 0 bis 2 Adressensignale oder Datensignale auf den Leitungen 34- an die Gatterungslogik in der Verarbeitungseinheit in einer solchen Weise, daß die Speicherung der Inhalte des IAR vom Platz P des Speichers gestattet wird.
Aus den Anmerkungen entsprechend dem Platz 22 ist ersichtlich, daß der MPCKT gelöscht ist. Diese Operation wird ausgeführt unter Bezugnahme auf Figur 3 C, wobei das Bit 11 für "Löschen MPCNT " auf eine binäre 1 eingestellt ist. Die Zustände der Bits 11, 14- und 15 werden der Bit-Prüflogik 22 b zugeführt und dort so
Λ09825/0723
decodiert, daß die Erzeugung eines Löschsignais auf den Leitern 52 zum MPCNT bewirkt wird. Das Löschsignal stellt den MPCNT auf Null oder auf eine vorgegebene Zahl zurück und zwingt die Mikroprogrammsteuerung auf einen Startzustand, wie er in dem Startblock unten am Fließbild der Figur 10 dargestellt ist.
Es wird nunmehr Bezug genommen auf die Figur 7 A» welche ein Fließbild für das Starten des Mikroprogramms zeigt. Der MPCNT, welcher nunmehr eine Zählzahl Null enthält, liefert ausgangsseitig Adressensignale auf Leitern 60 (Figur 5) zu dem MPROM unter Adressierung des Platzes 0, wie dies auf der linken Seite der Figur 7 A gezeigt ist. Der Platz 0 im MPROM enthält auch ein I/O-Steuerwort, welches das Einlesen der Inhalte des Platzes P im Speicher in das K-Register und den IAR bewirkt. Die· Inhalte des Platzes 0 vom MPROM sind nun am Eingang des Steuermultiplexers vorhanden,' welcher die Bits 14· und 15 als ein I/O-Steuerwort decodiert. Während der Ausführung dieses I/0-Steuerwortes wird das Bit 15 auf eine binäre 1 gesetzt, da es erwünscht ist, das K-Register zu beschicken. In diesem bestimmten Beispiel ist es nicht erwünscht, den MPCNT zu löschen und daher ist das 3it 11 eine binäre 0. Da hier eine Auslesung vom Speicher durch die Datenverarbeitungseinheit erfolgen soll, ist das Feld für die Funktionswahl des I/O (Bit 9 und 10) so codiert, daß der Steuermultiplexer einen Auslesevorgang des Speichers 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, die Inhalte von P in den IAR einzugeben sind die Bits 6 und 7 so codiert, daß der Multiplexer die Verarbeitungseinheit entsprechend anweisen wird. Wiederum sind die Bits 0.bis 5 so codiert, daß der Steuermultiplexer eine direkte Adresse zu der Verarbeitungseinheit 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 MPGNT eine binäre 0 und die Bit—Prüflogik.22 erzeugt zusammen mit den Bits 14· und 15 ein Zählsignal oder einen Zählimpuls zum MPCNT. Dieses Zählsignal wird auf einen der Leiter
409825/0 723
zugeführt und bewirkt-, daß der MPCNT seinen Inhalt um 1 vermehrt und daher wird bewirkt, daß der letztere den Platz 1 des MPROM adressiert, wie dies links von einem Operationsblock K + 1 der Figur 7 A gezeigt ist.
Die Inhalte des Platzes 1 des MPROM werden nunmehr zurückgeholt und über Leitungen 36 und 38 dem Multiplexer 26 zugeführt. Während dieses Schrittes des Mikroprogramms ist es erwünscht am K-Register eine 1 zuzuführen,-um das Register auf den neuesten Stand zu bringen. Dies wird durch ein Verfahrenssteuerwort (Figur 3 3) im Platz 1 des MPRCM erreicht. Die Bits 14- und 15 sind als X bzw. O gezeigt und werden durch den Steuermultiplexer zusammenwirkend mit anderen Bits des Verfahrenssteuerv/ortes decodiert, um die richtigen ausgangsseitigen Steuersignale für die Datenverarbeitungseinheit zu bewirken. Das Bit 14- enthält die Größe X und wird hier verwendet, um anzuzeigen, daß seine Inhalte unbedeutend sind. Während der Ausführung dieses Schrittes des Mikroprogramms ist es nicht erwünscht, den MPCNT zu löschen und daher ist das Bit 11 eine binäre 0. In einigen Datenverarbeitungseinheiten wird der Zuwachs von 1 für bestimmte· Register dadurch bewirkt, daß Daten durch den ALU durchgeschickt werden. Wenn dies der Fall ist, dann können die Bits 8 bis 10 nach Figur 3 B für das "Feld zur Funktionsauswahl-ALU" codiert und von dem Multiplexer verwendet v/erden, 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ß die Inhalte des K-Registers in den ALU eintreten können. Ebenso wäre es notwendig,ein Zuführungssignal zum ALU zu erzeugen/um die Zufügung eines Bit zu den Inhalten des K-Registers zu gestatten, welche durch den ALU gehen. Dies könnte auch vorgesehen werden durch richtige Codierung der Bits 8 bis 10. Weiterhin wäre es notwendig, die Inhalte des ALU zu nehmen und sie in das K-Register zurückzuführen. Dies würde dann dadurch erreicht, daß eine binäre 1 in das Bit 5 des Verfahrenssteuerwortes gesetzt würde. Wenn das Bit 5 eine binäre 1 ist, wird der Steuermultiplexer ein ausgangsseitiges Signal KPE erzeugen, welches ge-
40982 5/0723
stattet, 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 durch Durchführung der Ausgange' des Registers durch ein ALU, dann können die Bits 8 bis 10 für das. Feld zur Auswahl der ALU zur Funktion so codiert werden, daß sie von dem Multiplexer nicht beachtet werden. In diesem letzteren Falle wäre dann lediglich nur eine Kontrolle notwendig in Form des Setzens einer binären 1 in das Bit 4 des Verfahrenssteuerwortes. Dieses befähigt den Multiplexer, ein Signal KCE zu erzeugen und dem K-Register die Weiterzählung um 1 zu gestatten.
KCE bedeutet dabei K-Register-Zählungsbefähigung.
Die Bits 14-, 15 und 11 des Verfahrenssteuerwortes werden auch ,. über Leiter 5^ als Eingänge der Prüflogik zugeführt. Da es zu diesem Zeitpunkt nicht erwünscht ist, den MPCNT zu löschen, ist das Bit 11 eine binäre 0. Daher erzeugt die Prüflogik ein ausgangsseitiges Zählsignal auf einem der Leiter 52 zur Weiterführung des MPCNT auf einer Zählzahl von 2. Die Nummer 2 auf der linken Seite der Figur 7 A stellt den Adressenplatz 2 im MPROM dar und wird jetzt vom.MPCNT adressiert.
In diesem Teil des Mikroprogramms ist es erwünscht, die Inhalte des K-Registers erneut am Platz P im Speicher zu speichern . Dies wird dadurch erreicht, daß die Inhalte eines I/0-Steuerwortes (Figur 3C) decodiert werden, welches jetzt aus dem Platz 2 des MPROM zurückgeholt wird. Wiederum decodiert der Steuermultiplexer die Bits' 14 und 15 als ein I/O-Steuerwort. Zu diesem Zeitpunkt sind die Bits 11 und 13 eine binäre 0. Da die Operation darin bestehen soll, die Inhalte des K-Registers in den P-Registernjdes Speichers zu speichern, werden die Bits 9 und 10 für das Feld zur I/O-Funktionsauswahl so codiert, daß sie den Multiplexer zum Absenden eines Steuersignals für eine Schreiboperation an die Verarbeitungseinheit veranlssen. Wiederum ist das Bit 8 eine binäre 0( da es nicht erwünscht ist,die Steuerung
409825/0723
an den MDEOM abzugeben. Die Quelle der Daten, welche in den Speicher eingehen, soll das K-Register sein und daher werden die Bits 6 und 7 entsprechend codiert und gestatten dem Steuermultiplexer, ein Steuersignal an die "Verarbeitungseinheit zu erzeugen, welches einen Datenweg vom K-Register zu dem adressierten Platz im Speicher ergibt.
Wiederum ergibt sich die Quelle für das GedächnisSpeicheradressenregister unmittelbar aus den Bits 0 bis 2 über den Steuemultiplexer. Der MPCNT wird erneut um 1 weitergeführt auf die Zählzahl drei ' ( 3) durch die Bit-Prüflogik, welche auf die Zustände der Bits 14, 15 und 11 anspricht.
Der IAR enthält nunmehr die Adresse einer aus dem Speicher zu holenden Instruktion, wobei die Instruktion ein Teil eines Programmes ist, welches von der Datenverarbeitungseinheit ausgeführt werden soll. Diese Instruktionszurückholung wird im Mikroprogramm ausgelöst durch Bezugnahme auf den Adressenplatz 3 in der Figur 7 A, welcher jetzt vom MPCNT adressiert wird. Dies bedeutet ein Zurückholen eines Wortes aus dem Speicher und daher sind die im Platz 3 enthaltenen Daten ein I/O-Steuerwort. In diesem Falle soll die Datenverarbeitungseinheit eine Instruktion in den IAR und in das Operationsregister 24 b (Figuren 1 und 5) von demjenigen Adressenplatz holen, welcher durch die Inhalte des IAR bestimmt ist. Diese Operation ist in dem Block rechts von
Klammern
der Zahl 3 angedeutet, wobei die 'Ll um die Bezeichnung IAR anzeigen, daß die Inhalte· des durch den IAR bestimmten Speicherplatzes in den IAR eingegeben werden sollen. Ebenso wird der Operationscodeteil (Bits A bis F) des Instruktionswortes in das Operationsregister 24 b eingegeben. Dies wird wie zuvor beschrieben dadurch bewirkt, daß der Steuermultiplexer die Zustände der Bits 14 und 15 im Zusammenwirken mit den Bits 9 und de codiert und einen Auslese-Speicherungszyklus durch die Datenverarbeitungseinheit bewirkt. Der Bestimmungsort der Daten, welche vom Speicher ausgelesen werden sollen, muß angegeben werden. Dies wird durch die Bits 6 und 7 des Datenquellen- oder. Bestimmungsortfeldes bewerkstelligt. Dieses besitzt eine be-
409825/Q723
stimmte codierte Form, welche vom Steuermultiplexer decodiert wird. Dieser liefert Steuersignale an die V6rarbeitungseinheit, welche bewirken, daß das Instruktionswort in·das IAR und das Operationsregister 24 'b eingelesen wird. Die Quelle des Speicheradressenregisters wird bestimmt durch die Bits 0 bis 5, welche so codiert sind, daß der Multiplexer ein Signal an die Verarbeitungseinheit erzeugt, das es möglich macht, daß die Adresse für den Speicher vom IAR so erzeugt wird, wie dies durch die Bits 3 bis 5 bestimmt ist (Adressenregisterquellenfeld).
Die Bits 0 bis 9 der von der Datenverarbeitungseinheit auszuführenden Instruktionen werden jetzt in den IAR eingegeben und die Bits A bis F werden in das Operationsregister 24 b eingegeben vor der Berechnung der effektiven Adresse der Instruktion, welche nunmehr in dem IAR enthalten ist, wenn dieses erforderlich -"-'- (Figur 2). Diese Berechnung der effektiven Adresse ist in
- gezeigt, wo die Steuereinheit vom Platz 3 zu einem Block EA (effektive Adresse) herausgeführt ist. Es ist erneut erwünscht, die Zählzahl im MPCNT um 1 zu vermehren. Dies wird durch die Bit-Prüflogik ausgeführt, welche bei Vorhandensein der Bits 14, 15 und 11 des I/0-Steuerwortes ein Zählsignal zum MPCNT · erzeugt und bewirkt, daß der MPCNT auf die Zahl 4 aufzählt. Auf diese Weise werden die Inhalte des MPROM-Platzes 4 zur Ausführung durch die Steuereinheit zurückgeholt.
Es wird nunmehr Bezug genommen auf Figur 7 B, in der die Steuereinheit für das Mikroprogramm in den Teil des Mikroprogramms eintritt, in dem die effektive Adresse berechnet wird, wenn dies durch die Operationscodeinformation im Operationsregister 24 b bestimmt ist.
Die Mikroprogrammsteuereinheit gemäß der Erfindung errechnet die effektive Adresse (EA ) von Instruktionen durch die Ausführung bestimmter Mikroprogrammsteuerworte, welche zunächst entscheiden, ob ein Instruktionswort durch Ihdexbasis, durch Indizierung oder durch beides modifiziert werden soll. Wenn das Instruktionswort modifiziert werden soll, wird eine Sequenz von
409825/0723
Mikroprogrammsteuerworten von dem Steuerteil ausgeführt, um die Modifizierung zu bewirken. In demjenigen Falle, in. dem die von der Datenverarbeitung ausgeführte Instruktion eine Indexbasis erhalten soll, werden die Inhalte eines bestimmten Adressenplatzes in dem Speicher zu dem Adressenfeld der Instruktion (Bits 0 bis 9) zugefügt. Die Adressenplätze 4, 5 und 6 des MPEOM gemäß der Darstellung in Figur 7 B enthalten Mikroprogrammworte zur Steuerung der Indexbasismodifikation des Adressenfeldes in einem Instruktionswort. Der Adressenplatz 4 des MPROM enthält ein Zweigsteuerwort mit einem Format nach Figur 3 A. Dieses. Steuerwort wird jetzt gerade in dem MPROM eingelesen und enthält bestimmte Daten, welche d^er Bit-Prüflogik zugeführt werden, in dieser wird eine Prüfung vorgenommen um zu ermitteln, ob das Adressenfeld des Instruktionswortes mit Indexbasis versehen werden soll. Diese Prüfung wird in einem Entscheidungsblock vorgenommen welcher folgende Fragestellung gibt " Soll die Instruktion eine Basis erhalten ? ". Während der Ausführung eines Zweigsteuerwortes werden die Bits 8 bis 11 und die Bits 14 und 15 vom Ausgang des MPROM in der Bit-Prüflogik decodiert.
Es wird nunmehr Bezug genommen auf die Figur 6, welche die Codierung eines Bit-Prüffeldes von Figur 3 A für eine Anzahl von verschiedenen Prüfungen zeigt, welche durch, die Ausführung von Zweigsteuerworten 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 Bitform der Bits 8 bis 11. Dabei, bestimmt eine Erinnerungsspalte (mneumonic) XB die Frage, welche von der Zweiginstruktion gestellt werden soll. Eine Beschreibung des Ausdruckes XB ist in der beschreibenden Spalte der Figur 6 enthalten. Es wird daran erinnert ( daß der Operationscodeteil (Bits A bis F) der aus dem Speicher geholten Instruktion nunmehr in dem Operationsregister 24 b enthalten ist. Diese Bits werden über eine Vielzahl von Leitungen 50 zum Eingang der Bit-Prüflogik 22 b übertragen. Die Bit-Prüflogik nimmt eine Entscheidung darüber vor, ob die Instruktion mit Indexbasis versehen werden sollj und zwar durch Vergleich der Zustände der Bits 8 bis 11 vom MPROM mit dem Zustand des Bits B des Instruktionswortes vom Operationsregister. Wenn das Bit B eine binäre 1
U0 9825/0723
ist, deutet dieses an, daß das Instruktionsadressenfeld mit Indexbasis modifiziert werden soll. Wenn der Vergleich gemacht wird und der Zustand wahr ist,.dann tritt das Mikroprogramm vom Zweig „Ja" des " Basis ? - Entsehe!dungsblocks " aus( während die Bit-Prüflogik ..ein Zählsignal an den MPClTT abgibt und bewirkt, daß der letztere seine Zählzahl um 1 auf■ die Zahl 5 erhöht. Der MPCNT erzeugt daher eine Adressierung zum Platz 5 im MPROM.
Ein I/O-Steuerwort ist im Platz 5 enthalten,welches bewirkt, daß der Steuermultiplexer Steuersignale an die Verarbeitungseinheit erzeugt, durch die eine Indexbasis-Adressennummer aus dem Speicher zum K-Register geholt wird» Diese Operation wird ausgeführt unter Bezugnahme auf Figur 3 C » wobei die Bits 14 und 15 durch den Steuermultiplexer in bereits beschriebener Weise decodiert werden. Die Bits 13 und 11 sind beide eine binäre 0. Da die Operation eine Auslesung vom Speicher istf v/erden die Bits 10 und 11 durch den Steuermultiplexer so decodiert, daß ein Auslesesignal an die Datenverarbeitungseinheit erzeugt wird, um die Ausleseoperation zu bewirken. Das Bit 8 ist eine binäre 0, da es zu diesem Zeitpunkt nicht erwünscht ist,die Kontrolle über den. Datenbestimmungsort an den MDROM abzugeben. Wie in Figur 7 B an-.gedeutet,wird die Indexbasis-Adressennummer in das K-Register eingelesen. Als Ergebnis werden die Bits 6 und 7 durch den Steuermultiplexer decodiert zur Erzeugung eines Ausgangssignals an die Verarbeitungseinheit, um die Basisadresseninformation in das K-Register zu richten.
Da der Platz der Indexbasis—Hummer im Speicher für die auszuführende Instruktion einmalig ist( wird die Speicheradressen- * registerquelle auf das MDROM-Instruktionssteuerwort 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-Steuerwortes (Figur 3 C) am Platz 5 des MPROM zur Ver- ■ arbeitungseinheit geschickt. Dieses Abgeben der Speicheradressenregister quelle ist durch das Symbol @ im Platz 5 des Operations-
• blocks angedeutet.
409825/0723
Das gegenwärtig aus dem MPROM gelesene Instruktionssteuerwort wird aus einem Platz zurückgeholt, weicher durch die Operationscodeinformation im Operationsregister 24 angegeben ist. Daher sind die Inhalte des Instruktionssteuerwortes einmalig für die von der Datenverarbeitung ausgeführte Instruktion. Die Erzeugung der Steuer-und Adressensignale vom Steuermultiplexer bewirkt das Einlesen des Speicherplatzes in das K-Register, welcher die Indexbasisnummer enthält. Ebenso werden die Bits 14, 15j 10 des I/O-Steuerwortes von der Bit-Prüflogik jetzt decodiert, welche ein Zählsignal für den MPCNT erzeugt und bewirkt, daß der letztere zur Zählzahl 6 fortschreitet.
Der MPROM wird jetzt am Platz 6 adressiert und enthält ein Verfahrenssteuerwort (Figur 3 B). Das Verfahrenssteuerwort wird in dieser Stufe des Mikroprogramms verwendet, um die Inhalte des IAR und des K-Registers zu addieren und die Ergebnisse der Addition zurückzusetzen in der IAR. Auf diese Weise wird die Indexbasis-Adressennummer dem Instruktionsadressenfeld zugefügt, um eine Adressenmodifizierung des letzteren zu bewerkstelligen. Die Inhalte des Verfahrenssteuerwortes werden nun über Leitungen 36 und 38 dem Steuermultiplexer zugeführt. Um die Addition des IAR und des K-Registers zu bewirken, werden die Bits 8 bis 10 für das Feld zur Auswahl der ALU-Funktion von dem Multiplexer decodiert und dieser liefert Befähigungssignale an den ALU und gestattet es, daß der IAR und das K-Register dort durchgezogen werden können. Ebenso wird das Bit 7 auf einen Zustand einer binären 1 · gesetzt und hierdurch erzeugt der Steuermultiplexer ein Ausgangssignal ISO zur Befähigung des IAR zur Aufnahme der Inhalte von dem ALU nach der Addition. V/ie bereits zuvor erwähnt, werden auch die Bits 14 und 15 als Operationscode dem Steuermultiplexer zugeführt. Weiterhin ist es erwünscht, den MPCNO? um eine Zahl 1 weiterzuführen. Das Bit· 11 wird auf eine binäre 0 eingestellt. Dies führt dazu,daß die Bit-Prüflogik erneut einen Zählimpuls an den MPCNT erzeugt und diesen auf die Zahl 7 aufzählt.
Es wird nunmehr Bezug genommen.auf den Adressenplatz 4 in dem "Basis ? - Entscheidungsblock". Es sei nunmehr angenommen, daß
409825/07 23
das im Operationsregister enthaltene Instruktionswort keine Indexbasis erhalten soll. Unter diesen Bedingungen wird das Bit B (IB) des Instruktionswortes eine binäre 0 sein. Wenn daher die Zweigprüfung durch die 3it-Prüflogik ausgeführt wird, erhält die Mikroprogrammsteuerung einen Ausgang über den Zweig „Nein" des "Basis ? - Entscheidungsblocks" und zum Eingang eines "Index ? - Entscheidungsblocks " am Adressenplatz 7 des MPROM,' Um diesen Zweig auszuführen,ist es notwendig, am Eingang des MPROM vom'MPCNT eine Z'weigadresse zuzuführen. .Dies wird durch Bezugnahme auf Bit 6 (siehe Figur 3 A) bewerkstelligt. Das Bit ist bezeichnet als' das Bit für die Abgabe der Zweigadresse an den MDROM. Wie aus Figur 5 ersichtlich, wird das Bit 6 vom MPROM über Leiter 42 zum Eingang des MPUX 22 c geführt. Der Zustand des Bit 6 wird von dem MPUX dazu benutzt, zu entscheiden, ob die Adresse, welche vom MPUX parallel in den MPCNT eingespeist werden soll, vom MDROM oder vom MPROM kommen soll. Im vorliegenden Falle soll Jedoch die Adresse für den MPROM vom Ausgang des MPROM selbst kommen und das Bit 6 wird eine binäre 0 sein. In der vorliegenden Erörterung soll das Instruktionswort nicht mit Indexbasis versehen werden und die Bit-Prüflogik erzeugt ein Parallel-Einspeisungssignal zum Eingang des MPCNT auf einer der· Leitungen 52. Dieses Parallel-Einspeisungssignal bewirkt die überführung der Bits 0 /bis 5 (Figur 3 A) des Feldes für die «—-adresse des MPROM in den MPCNT über den MPUX. Daher
wird in den MPCNT die Adresse für den Platz 7 eingespeist, welche jetzt an den MPROM auf den Adressenleitungen 60 geliefert wird.
Der Platz 7 im MPROM enthält ein Zweigsteuerwort, welches ähnlich, ist dem für den Adressenplatz 4- beschriebenen Zweigsteuerwort. Die Codierung des Zweigsteuerwortes im Platz 7 ist-die gleiche wie für den Platz 4- beschrieben,mit der Ausnahme, daß das Bit- . Prüffeld (Bits 8 bis 11) gemäß Figur.6 mit einer Prüfung Nr. 6 codiert ist (XA) mit folgender Frage:
" Soll das Instruktionswort mit Index versehen werden ? " D.h. soll ein Indexwort vom Speicher zum Instruktionsadressenfeld zugefügt werden ? Dies wird in der Bit-Prüflogik durchgeführt, in welcher der Zustand des Bits A (IA) des Basisinstruktionswortes (Figur 2) nun mit XA verglichen wird. Wenn das Bit A
409825/07 2 3
eine binäre 1 ist, dann wird das Mikroprogramm einen Ausgang durch, den "Ja - Zweig" des Entsclieiäungsblocks "Index zufügen ?" herausgeführt, während gleichzeitig die Bit-Prüflogik ein Signal an den MPCKT liefert und bewirkt, daß der letztere' den Platz 8 des MPROM adressiert.
Der Platz 8 enthält ein I/0-Steuerwort wie das zuvor für den Adressenplatz 5 beschriebene Steuerwort. Die Ausführung des Steuerwortes in Platz 8 ist gleich wie die im Zusammenhang mit Platz 5 beschriebene Ausführung mit der Ausnahme, daß die Bits 10 bis 15 des MDROM-Instruktionssteuerwortes die Adresse des Speicherplatzes angeben, welcher eine Indexzahl enthält, die zu dem Instruktionswort-Adressenfeld zugefügt werden soll. Kach. der Ausführung des Steuerwortes im Platz 8 wird der I/JPC1TT um einen Zählschritt weitergeführt zur Erzeugung einer Adressierung für den Platz 9 des MPROM. Der Platz 9 des MPRCK enthält
•^ahrenssteuerwort mit dem gleichen' Format/ wie für den ■tx^ouoeiiplatz 6 beschrieben. Die während der Ausführung des Steuerwortes im Platz 9 durchgeführten Operationen sind die gleichen,wie zuvor in Verbindung mit dem Platz 6 beschrieben. Während der Ausführung des Verfahrenssteuerwortes werden Jedoch die Inhalte des adressierten Indexplatzes zu dem Instruktionswort-Adressenfeld zugefügt.
Es wird erneut Bezug genommen auf den Entscheidungsblock "Index zufügen ? " des Platzes 7· 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 Entseheidungsblocks " Index zufügen ? " herausgeführt wird. Der einzige Unterschied besteht darin, daß die durch die Bits 0 bis 5 im Platz 7 gelieferte Zweigadresse den Platz 10 des MPROM adressiert. Nach Beendigung des Mikroprogrammsehriffces des Platzes 9 erzeugt die 3it-Prüflogik einen Zählimpuls zum MPCNT und bewirkt, daß dieser die letztere Adresse dem MPROM zuführt. Diese Adressierung des Platzes 10 ist in den Figuren 7 B und 7 C gezeigt, wobei das Mikroprogramm entweder vom Platz 7 oder 9 herausgeführt wird in einen Instruktionswahlblock (Instruktionswahl) und in den Platz
409825/0723
eintritt zu einem Entscheidungsblock " Operand zurückholen ?",
Da nunmehr die effektive Adresse.des Instruktionswortes berechnet worden ist, muß eine Entscheidung darüber getroffen werden, ob die bestimmte gerade ausgeführte Instruktion das Zurückholen eines Operanden aus dem Speicher erfordert. Diese Entscheidung wird in dem Platz 10 getroffen, der ein Zweigsteuerwort (Figur 3 A) enthält. Die Bits 14, 15 und 8 bis 11 von dem ΜΡΕΟΙϊί werden auch hier der Bit-Prüflogik über die Leitungen zugeführt. Der Operationscodeteil des Basisinstruktionswortes (Figur 2); wird immer noch der Bit-Prüflogik auf Leitungen 50 als Eingang zugeführt. Die Bits 8 bis 11 des Bit-Prüffeldes sind so codiert, daß sie die Prüfung ITr. 8 (FTCH) (zurückholen ?) gemäß Figur 6 ausführen und werden in der Bit-Prüflogik mit dem Operationscodeteil des Instruktiönswortes (Bits A-F) kombiniert, um eine Entscheidung darüber zu treffen-job die Instruktion das Zurückholen eines Operanden erfordert.
Wenn die gerade ausgeführte Instruktion nicht das Zurückholen eines Operanden erfordert, darin wird das Mikroprogramm aus dem "Kein " - Zweig des Entscheidungsblöckes "Operand zurückholen ? " austreten und in einen Entscheidungsblock für eine nicht conditionierte Zweigadresse{®am Adressenplatz 12 eintreten. Diese Zweigadresse wird so ausgeführt, wie es durch die Inhalte der Bits 0 bis 5 des Zweigsteuerwortes im Platz 10 angegeben ist. Da es zu diesem Zeitpunkt unerwünscht ist,die Steuerung der Zweigadresse an den" MDROM abzugeben,ist das Bit 6 des Zweigsteuerwortes eine binäre 0. 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 die Überführung der Zweigadresse von dem IvIPROM durch den MPUX in den MPCHT.'Die Adressenplatz-Nr. 12 wird in den MPCNT durch ein Parallel-Einspeisungssignal eingespeist, welches von der Bit-Prüflogik erzeugt wird.
Es wird nunmehr erneut Bezug genommen auf den Entscheidungsblock "Operand zurückholen ? ".Wenn die Instruktion ein Zurückholen eines Operanden erfordert,wird das Mikroprogramm durch den "Ja"-
409826/072.3
Zweig zum Adressen.pla.tz 11 herausgeführt. Dieser Platz des MPROM enthält ein I/0-Steuerwort, welches das Zurückholen des Operanden von einem Platz im Speicher "bewirkt, der durch die Inhalte des IAR angegeben ist und die Operandendaten oder das Operandenwort entweder in das Α-Register oder das K-Register einbringt gemäß Bestimmung durch den Zustand des Bite 17 des MDROM'Instruktionssteuerwortes.
Wie bereits erwähnt, enthält der MDROM in jedem seiner adressierbaren Speicherplätze ein Instruktionssteuerwort mit einem Format gemäß der Darstellung in Figur 4. Die Steuerworte in dem MDROM besitzen jeweils eine einzigartige unmittelbare Beziehung mit der Operationscodeinformation in dem Operationsregister und die Inhalte desselben werden dazu benutzt, bestimmte Plätze in dem MDROM zu adressieren.
Der MPROM wird nunmehr vom MPCNT am Platz 11 adressiert und liefert Signale an den Steuermultiplexer. Der Steuermultiplexer decodiert die 3its 14· und 15 des I/O-Steuerwortes im Zusammenhang mit den Bits 9 und 10 und bewirkt, daß die Datenverarbeitungseinheit eine Auslesefunktion ausführt. Während der Ausführung dieses I/O-Steuerwortes ist der Zustand des Bits 8 von Bedeutung. Dieses ist jetzt auf eine binäre 1 eingestellt und dieses zeigt an, daß die Steuerung des Bestimmungsortes der aus dem Speicher in die Datenverarbeitungseinheit kommenden Daten abgegeben werden soll (@ ) an das MDROM - Instruktionssteuerwort.
Es wird nunmehr Bezug genommen auf Figur 4 und auf das Bit 17 (Datenbestimmungsort). Der Zustand des Bit 17 ( eine binäre 1 oder 0) entscheidet über den Bestimmungsort des Operanden, der vom Speicher in die Datenverarbeitungseinheit ausgelesen werden soll. Wenn beispielsweise das Bit 17 eine binäre 1 ist, dann wird der Operand in das Α-Register geleitet. Wenn dagegen das Bit 17 eine binäre O ist,wird der Operand in das K-Register überführt. Der Bestimmungsort für diese Daten wird bestimmt durch die bestimmte gerade von der Datenverarbeitungseinheit ausgeführte Instruktion. D.h. das Operandenregister 24 b adressiert einen
409825/0723
Platz in dem MDRÖM,welcher ein Instruktionssteuerwort enthält, das den Bestimmungsort des Operanden angibt. Wiederum werden auch hier die Bits 14-, 15 und 11 von dem MPBOM von der Bit-Prüflogik decodiert und diese erzeugt ein ausgangsseitiges Zählsignal zum MPCKT und bewirkt, daß der letztere den Platz 12 gemäß Figur 7 C adressiert.
Ein nicht conditioniertes Zweig-Steuerwort ist im Platz 12 enthalten. Dieses ist so codiert, daß eine Zweigadresse zum MPROM an die Bits 18 bis 23 des Instruktionssteuerwortes für den MDROIvI abgegeben wird. Figur 6 zeigt Decodierungen der Bits 8 bis 11 für den nicht conditionierten Zweig CUB) als Prüfung Nr. 15· Die Bit-Prüflogik erzeugt bei Vorhandensein dieser Codierung ein Parallel-Einspeisuhgssignäl zum Eingang des MPCNT und' gestattet dadurch, daß die Adresse vom MPUX parallel in den letzteren überführt wird. Ebenso wird·das Bit 6 vom Zweigsteuerwort (-Figur 3 A) als ein Signal für eine binäre 1 zum Eingang des-MPUX vom Ausgang des MPROM zugeführt. Der Zustand für die bin.:lre 1 für das 3it 6 befähigt die Überführung der Zweigadresse (Bits -18 bis 23) vom MDROM (Figur 4-) in den MPUX über Leitungen 30. Der MPROM wird nun an einem bestimmten Platz adressiert, der ein Gteuerwort in dem Mikroprogramm für den Beginn der Ausführung des Unterprogramms des Mikroprogramms enthält zur Steuerung der. Ausführung der Instruktionen, welche gegenwärtig in dem Operationsregister 24 b vorhanden ist. '
In Figur 7 C ist zu beachten, daß das Mikroprogramm von dem' Entscheidungsblock für eine nicht conditionierfce Zweigadresse (® am Platz 12 zu einem Block für "Verfahrensplatz " herausgeführt wird. Ein Verfahrensplatz kann irgend ein Adressenplatz im MPROM sein. Der Verfahrensplätz ist unmittelbar abhängig von der Adresse, welche durch die Bits 18 bis 23 des einzigartigen MDROM-Steuerwortes bestimmt ist. Dieser Platz ist ein Platz im Mikroprogramm, in dem ein Steuerwort enthalten ist, welches sich auf eine bestimmte von der Datenverarbeitung auszuführende Instruktion bezieht. Wenn beispielsweise die auszuführende Instruktion eine Instruktion für Addition oder Subtraktion ist, dann ist der
409825/0723
von dem MPROM in den MPCNT eingespeiste Adressenplatz der Platz 1-3 gemäß Figur 8. Die Figur 8 zeigt in Form eines Fließbildes die Ausführung der verschiedenen Steuerworte, welche in dein MPROM und dem MDROM enthalten sind, für die Ausführung des Unterprogramms des Mikroprogramms zur Steuerung der Datenverarbeitungseinheit durch ihre Arbeitsschritte bei der Ausführung einer Instruktion für Addition oder Subtraktion.
Das erste Mikroprogramm-Steuerwort für das Unterprogramm (enthalten im Platz 13) ist ein I/O-Steuerwort (Figur 3-C)· In diesem besonderen Mikroprogrammschritt wird der Platz von dem angegebenen Platz im Speicher.in den IAR ausgelesen, v/elcher durch die Inhalte des IAR angegeben ist. Die Bits 14- und 15 werden durch den Steuermultiplexer als ein I/O-Steuerwort decodiert und die Bits 9 und 10 wählen die I/O-Funktion so aus, daß sie ein Auslesen von Daten vom Speicher ist. Die Bits 6 und werden durch den Multiplexer decodiert und dieser weist die Verarbeitungseinheit an, die vom Speicher ausgelesenen Daten in den IAR zu setzen. Die 3its 0 bis 5 werden ebenfalls vom Multiplexer decodiert. Dabei geben die Bits 3 bis 5 an, daß die Speicheradresse von den Inhalten des IAR kommen soll. Weiterhin sind die Bits 8 und 1Ί Jeweils eine binäre 0. Wiederum werden, wie zuvor beschrieben, die Bits 14-, 15 und 11 vom MPROM durch die Prüf logik decodiert, welche den MPCNT um einen Zählschritt weiterführt zu einer Adressenplatzzahl 14.
Während der Ausführung des Kommandos oder der Anweisung für Addition oder Subtraktion müssen innere Arbeitsschritte oder Operationen von dem ALU in der Datenverarbeitungseinheit ausgeführt werden. Infolgedessen ist ein Verfahrenssteuerwort (Figur 3 B ) im Platz 14- des MPROM enthalten. Dieses Verfahrenssteuerwort gibt die Steuerung des ALU- von dem MPROM-Mikroprogramm ab an ein MDROM-Instruktionssteuerwort, welches in Beziehung steht zu der Instruktion, die gerade von der Datenverarbeitung ausgeführt wird. Weiterhin befähigen die Inhalte des Verfahrenssteuerwortes den Multiplexer zur Erzeugung von Angangssignalen zur Steuerung der verschiedenen Register in der Datenverarbeitungseinheit.
409825/0723
Es wird nunmehr Bezug genommen auf den Steuermultiplexer 26 der Figur 5 und auf das Verfahrenssteuerwort der Figur 3 Bv Die Bits 14- und 15 des Verfahrenssteuerwörtes werden dem Steuermultiplexer zusammen mit den Bits 8, 9 und 10 für das Feld für die Auswahl der ALU-Funktion zugeführt. Die Decodierung der Bits 8 bis 10 durch den Steuermultiplexer bewirkt, daß derselbe die Steuerung des ALU von dem Verfahrenssteuerwort auf die Bits 0 bis 5 des MDROM-Instruktionssteuerwortes (Figur 4) abgibt. Die Inhalte der Bits 0 bis 5 werden bewirken, daß der Multiplexer die richtigen Steuersignale an den ALU abgibt und die Anlage befähigt,die Inhalte des IAR und des A-Registers durch den ALU zu übertragen und entweder zu addieren oder zu subtrahieren gemäß den Funktionen, wie sis durch die Bits 0 bis 5 angegeben sind. Da weiterhin die Ergebnisse der Addition und der Subtraktion in den IAR gesetzt werden^ ist da Bit 7 des 'Verfahrenssteuerwortes eine binäre 1 und bewirkt, daß der Multiplexer ein Steuersignal ISO abgibt zur parallelen Einspeisung der Inhalte des ALU in den IAR. Bei Beendigung dieses Mikroprogrammschrittes wird der MPCNT durch die Bit-Prüflogik gelöscht, welche die Bits 14-, I5 und 11 vom MPROM decodiert. Da das Bit 11 dieses Verfahrenssteuerwortes eine binäre 1 ist, erzeugt die Bit-Prüflogik ein Ausgangssignal für Löschen oder Rückstellen zum MPCNT und bewirkt, daß der letztere auf einen Zustand für eine binäre 0"zurückstellt.
Die Mikroprogrammsteuereinheit wird jetzt vom Adressenplatz ausgeführt zurück zu dem "Startblock" der Figur 7 A und der Vorgang der Ausführung des Mikroprogramms wird gemäß der vorstehenden Beschreibung wiederholt.
.Es wird nunmehr Bezug genommen auf die Figur 9. Diese zeigt ein Ausführungsfließbild für die Mikroprogrammsteuereinheit zur Steuerung der Ausführung einer Anweisung SRC (verschiebe A-Register rechts zirkulär) welche von der Datenverarbeitungseinheit; ausgeführt werden.soll. Es sei nunmehr angenommen, daß der Operationscodeteil der SRC-Anweisung oder Instruktion gegenwärtig in dem Operationsregister vorhanden ist. Die Inhalte
409&25/-&723
des Operationsregisters adressieren nunmehr einen Platz in dem LiI)ROLv, welcher auf diese bestimmte Instruktion bezogen ist. Ss v/ird unter Verv/eis auf Figur 7 C daran erinnert, daß während eier Ausführung des nicht-conditionierten Zweiginstruktionssteuer- -.vortes in dem HPEOK-Platz 12 die Zv/eigadresse an den »IDHOI.: ab^ej~;ben vTurde. Da die SRC-Instruktion jetzt ausgeführt v/lrd/ adressieren äie Bit:? 0 bis 5 des MDROK-Instruktionssteuerwortes den Platz 15 der Figur 9· Weiterhin wird unter Verweis auf die vorstehende Erörterung der Figur 2 daran erinnert, daß die Bits 0 bis 9 des Basisinstruktionswortes ebenfalls einen FunktionscοIe o:ier eins Zahl in binär codierter Form enthalten können, weiche angibt, daß eine Anzahl von Verschiebungen während einer Verschiebungsanweisung ausgeführt werden sollen. Weiterhin v/ird daran erinnert, daß die Operandenadresse oder das Funktion3feld der Instruktion stets in den IAR eingespeist wird. 7/ährerid der Ausführung der Mikroprögramminstruktion im Adressenplatz 12 v/ird die Anzahl der auszuführenden Verschiebungen von dein IAR in das Α-Register übertragen. Diese übertragung wird durch ein Verfahrenssteuerwort gesteuert, welches aus dem MPRCM ausgelesen v/ird. Die Operationscode-Bits 14 und 15 (Figur 3 B) v/erden von dem Multiplexer zusammen mit den Bits 8 bis 10 des Feldes für die Auswahl der ALU-Funktion decodiert und bev/irken, daß der Multiplexer ein Steuersignal erzeugt, um die Einspeisung des IAR in den ALU zu bewirken. Weiterhin ist das Bit 5 (ΧΡΞ) des Verfahrenssteuerwortes eine binäre 1. Ein Signal KPE wird von dem Steuermultiplexer durchgelassen zur Befähigung des K-Registers zur parallelen Einspeisung von dem ALU. Dadurch wird die Z&hl der Verschiebungen vom IAR in das K-Register gescho—ben oder überführt. Die Bit-Prüflogik wird auch hier die Bits 14, 15 und 11 des Verfahrenssteuerwortes decodieren und ein Zählsignal erzeuge^ um den MPCiTT zu veranlasse^den Platz 16 des MPHOM zu adressieren.
Im Llikroprogramm-Schritt 16 ist es erwünscht, am K-Register eine Verminderung um die Zahl 1 auszuführen. Dies wird durch ein v/eiteres Verfahrenssteuerwort erreicht, indem die Bits 14 und '.5 erneut zusammen mit Bit 4 (KCE1 Befähigung zur Zählung is K-Register) decodiert werden, wobei dieses letztere Bit eine
4 09825/0723
binäre 1 ist. KCE wird als ein Signal vom Multiplexer zum Z-Register gegeben und befähigt den letzteren zu einer Verminderung um die Zählzahl 1. Die Bit-Prüflogik liefert auch ein Zähl signal an den MPClST und führt damit die MPRQM-Adresse weiter zum Platz 17.
Der Platz 17 enthält ein Mikroprogramm - Zweigsteuerwort, welches eine Prüfung bewirkt, um festzustellen, oh das IC-Register O ist (K = 0),, d.h. ob die Anzahl der Verschiebungen vom A-Hegister vollständig ausgeführt ist. Diese Prüfung wird in der Bit-Prüflogik vorgenommen, in der die Bits 8 bis 11 des Bit-Prüffeldes (Figur 6) so aufgebaut werden, daß die Prüfung Kr.13 ausgeführt wird (SRC, ist die Verschiebung nach rechts abgeschlossen ?). Der Zustand des IC-Registers wird der Bit-Prüflogik auf Leitungen 40 von der Verarbeitungseinheit zugeführt. Wenn dieser Zustand beim Vergleich mit den Bits 8 bis 10 nicht anzeigt, daß das K-Register gleich 0 ist, dann erzeugt die Bit-Prüf logik ein weiteres Zählsignal«. Dieses Zähl signal bewirkt, daß der MPCNT den Platz 18 des MPROM adressiert. Im Platz 18 ist . ein Verfahrenssteuerwort enthalten» Bedeutungsvoll in dem Verfahrenssteuerwort im Platz 18 ist der Zustand des Bits 3« Bit 3 ist eine binäre 1 und wird von dem Multiplexer als ein Signal AS1 zum Eingang einer entsprechenden Gatterlogik des A-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 aufzählt zu einem Adressenplatz 19* wie dies links an dem Entscheidungsblock für nicht*-conditionierten Zweig in Figur 9 gezeigt ist.
Der Platz 19 enthält ein Zweigsteuerwort mit einer Zweigadresse' zum Platz 16 in den Bits 0 bis 5 und'Bits 8 bis 11, welche so codiert sind, daß sie gemäß der zuvor gegebenen Erläuterung die Prüfung Fr. 15 ausführen (Figur 6). Das Bit 6 des Zweigsteuerwortes (Pigur'3 A) ist eine binäre O5 so daß das MPUl die Zweigadresse vom MPROM zum. BIPCNT durchläßt, Bei Vorhandensein der Decodierung der Bits 14, 15 und 8 "bis 11 erzeugt die Bit-Prüf-
409826/Ό723
logik ein Parallel-Einspeisungssignal zum MPCIiT und gestattet, daß die Zweigadresse in den MPCI7T eingespeist wird·. Als .Ergebnis hiervon zweigt das Mikroprogramm zurück zum Adressenplatz 16 . und geht erneut in den K-1-Block.
Lie liikroprogrammsteuereinheit wird nun in einer Schleife in einem Zyklus die Schritte 16 bis 19 solange durchlaufen, bis das X-Register gleich 0 ist. «Venn K » P erreicht ist( ist das Α-Register so oft nach rechts verschoben worden, wie es der vorgeschriebenen Zahl entspricht und das Zweigsteuerwort in Platz 17 wird ausgeführt und bewirkt, daß das Mikroprogramm durch den "Ja'1-Zweig herausgeführt ist und zum Startblock gemäß Pigur 7 -A- zurückkehrt. Diese Verzweigung zum Start des Llikro-Programms wird dadurch bewirkt, daß in den Bits 0 bis 5 des Zweigsteuerwortes des Platzes 17 ein binäre 0 als Adresse enthalten ist. Mit K= 0 und einer Codierung der Bits 8 bis 11 zur Ausführung des Zweiges ohne Conditionierung (UB) gibt die Bit— Prüflogik ein Parallel-Einspeis_amgssignal auf den. KPCNT. Dies ergibt eine parallele überführung der Bits 0 bis 5 vom ώΡΗΟΜ in den MPCNT über den MPUX. Das Bit 6 des Zweigsteuerwortes ist eine binäre 0 und verweist daher die Zweigadresse vom MPROM in den MPUX-.
Es wird nunmehr Bezug genommen auf die Figur 11, welche ein STA zeigt (Speicher Α-Register) und ein Instruktionsfließbild hierzu, wobei der Platz 20 des MPROM vom MPCNT adressiert wird, wenn das Mikroprogramm am Platz 12 gemäß der zuvor im Zusammenhang, mit der Figur 7 C gegebenen Beschreibung herausgeführt ist. Zur Steuerung der Ausführung der Instruktion STA wird in den Platz 20 des MPRCM ein I/O-Steuerwort gesetzt. Diese Instruktion bewirkt die Speicherung der Inhalte des Α-Registers in der Datenverarbeitungseinheit in einem durch die Inhalte des IAR bestimmten SpeicherplatzC~T3er I/0-Operationscode (vergl. Figur 3 C) (Bits 14 und 15) wird erneut durch den Cteuermultiplexer zusammen mit den Bits 9 und 10 für das Feld der I/O—Funktions— wahl decodiertj um die Erzeugung eines Schreibsteuersignals zur Datenverarbeitungseinheit zu bewirken. Da es weiterhin erwünscht
409825/0723
ist [das A-RegxGter in dem durch, die IAR bestimmten Speicherplatz zu speichern, werden die Bits 6 und 7 in geeigneter '.Veise codiert und vom Multiplexer verwendet zur Ermöglichung einer Übertragung des Α-Registers in den Speicher. Da die Quelle des Speicheradressenregisters der. IiJl.ist, v/erden die Bits 0 bis 5 durch den Cteuerniultiplexer decodiert zur Befähigung des IAR zur Adressierung des Speichers. Der EPCNT wird ebenfalls während der Ausführung dieses Likroprogrammsteuerwortes durch die Bit-Prilflogik gelöscht. Sie erzeugt das ausgangsseitige Löschsignal für den 1.IPClIT und bewirkt, daß das Mikroprogramm zum Startblock nach Figur 7 A zurückkehrt.
In Figur 10 wird ein weiterer Typ einer Zweiginstruktion BoT £\veig auf Zustand) gezeigt, welcher durch die L'ücroprograrcinsteuereinheit ausgeführt werden -kann. Es sei angenommen, daß die BoT-Instruktion in den Operationsregister enthalten ist. Im Platz 21· ist ein Zweigsteuerwort enthalten und wird benutzt, um zu prüfen, daß irgendein näher bezeich.ner.aer Zustand der Bit-Prüflogik von der Datenverarbeitungseinheit über Leitungen 40 zugeführt v/ird. Liese Prüfung wird unter Bezugnahme auf Figur 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 Zweigsteuerwort gegeben wird, ist in dem Ent sehe idurigsblock 3CT = 1 ?
in !Figur 1 angezeigt. Unter der Annahme daß BST nicht = 1 wire das Mikroprogramm durch den "Kein"-Zweig herausgeführt und kehrt zum Startblock gemäß Figur 7 A zurück. Dies wird dadurch bewerkstelligt, daß jeweils eine binäre O in den 3its O bis 5 und eine binäre O in Bit 6 vorhanden sind. Wie bereits erläutert, weist das 3it 6 die MPROM-Adresse auf Leitungen 44 durch den . I.1PUX und die Bit-Prüflogik erzeugt ein Parailel-Einspeisungssignal für den MPCNT gemäß den Bits 14, 15 und 8 bis -11.
Z.3 wird erneut Bezug genommen auf den Platz 21. Wenn BGT =. 1 XSt1 wird das Mikroprogramm durch den "Ja"-Zweig herausgeführt und die Bit-Prüflogik erzeugt zu diesem Zeitpunkt ein Zählsignal zur Weiterzahlung des MPCITT auf eine Zählzahl 22» Der Platz 22 des IiPROFi enthält ein I/Ö-Steuerwort, welches die Speicherung
409825/072 3. BADORlGiNAL
der Inhalte des IAR in dem P-Register im Speicher bewirkt^ und zwar-an einem Platz, welcher durch, die Bits 0 bis 5 bestimmt ist. Ebenso steuern die Bits 9 und 10 des Feldes für die Wahl der I/0-Funktion über den Steuermultiplexer die Datenverarbeitungseinheit zur Ausführung eines EinschreibeVorgangs in den Speicher. Weiterhin werden die Bits 6 und 7 von dem Steuermultiplexer decodiert, um für die Verarbeitungseinheit die Datenquelle derjenigen Information zu definieren, welche in den Speicher gehen soll. Diese ist hier der IAR. In diesem bestimmten I/0-Steuerwort ist das Bit 11 (Löschen MPCNT) eine binäre 1. Daher erzeugt die Bit-Prüflogik ein ausgangsseitiges Löschsignal zum IViPCNT, stellt, den letzteren zurück und bewirkt, daß die Mikroprogrammsteuerung auf den Startblock gemäß Figur 7 A zurückgeht.
Aus Figur 6 ist ersichtlich, daß eine Anzahl der Prüfungen als nicht benutzt abgebildet ist. Diese Prüfungen können durch d'ie Bit-Prüflogik verwendet werden,um eine Zweigoperation des Mikroprogramms bei Vorliegen verschiedenartiger Zustandverhältnisse auszuführen, welche von der Verarbeitungseinheit geliefert werden.
Vorstehend wurde die Erfindung beschrieben unter Bezugnahme auf die Erzeugung bestimmter Funktionen durch die Mikroprogramm-Steuereinheit für eine Datenverarbeitung .für allgemeine Verwendungszwecke. Es ist jedoch für den Fachmann ohne weiteres ersichtlich, daß viele Modifikationen der Formate und Inhalte der Steuerworte vorgenommen werden können./um eine Steuereinheit zur Steuerung irgendeiner Anzahl von verschiedenen Arten von Datenverarbeitungsanlagen, digitalen Steuereinheiten oder ähnlich aufgebauten äusseren Einrichtungen zu schaffen.
Die Koordination der Arbeitsschritte oder Operationen zwischen der Datenverarbeitungseinheit und der Mikroprogrammsbeuereinhcit kann entweder synchron oder asynchron ausgeführt werden. Es ist an sich bekannt, daß diese Operationen lediglich Funktionen zur zeitlichen Festlegung sind, welche durch bekannte konstruktive Verfahren ausgeführt werden können. Aus diesem Grunde wurde die
-409825/0723
zeitliche Festlegung bei der Beschreibung der beispielhaften Ausfiihrungsform nicht besonders hervorgehoben.
4098 2 5/07 23

Claims (10)

  1. Patentansprüche
    ./ Mikroprogrammsteuereinheit zur Steuerung der Ausführung von Instruktionen durch eine programmierbare . Datenverarbeitung, welche zur Erzeugung von aungangsseitigen Zustandssignalen und Operationscodeinformation zur Definierung der Instruktionen eingerichtet ist, dadurch gekennzeichnet, daß sie erste und zweite Gedächtnisspeicher enthält,-die jeweils eine Vielzahl von adressierbaren Speicherplätzen besitzen und die Speicherplätze des ersten GedächtriLsspeicher.3 (22 a, MPROM) jeweils Inforniationsitems enthalten, welche einen Teil eines durch die Mikroprogrammsteuereinheit auszuführenden Mikroprogramms bilden, und die Speicherplätze des zweiten Gedäcltnisspeichers jeweils Indizes enthalten, welche einmalig sind für eine individuelle von der Datenverarbeitung auszuführende Instruktion, wobei die zweiten Gedächtnis speicher (24 a, MDROM) mit der Datenverarbeitung inKbmmunilcationsverbindung stehen und von derselben durch Operationscodeinformation selektiv adressierbar sind zur Auslesung von Indizes aus den Speicherplätzen des zweiten Gedäclinisspeichers, und weiterhin Steuereinrichtungen (20) vorhanden sind/ um dem ersten Gedächtnisspeicher selektiv Adressiersignale zum Zurückholen von Informationsitems aus demselben, zu liefern zur 7er-wendung zur Steuerung des Mikroprogramms, wobei die Steuereinrichtung inKcrmnunikationsverbindung mit dem ersten und zweiten Gedäcttnisspeicher ist und von denselben bestimmte Informationsitems und Indizes als Adressen- und Steuerinformation empfängt und die Steuereinrichtung selektiv Adressiersignale an den erstenGedäcltnisspeicher gemäß den vorhandenen Zustandsbedingungen und der Operationscodeinformation von der Datenverarbeitung und der Steuerinformation von den ersten und zweiten Gedächtnis speichern liefert..und weiterhin Einrichtungen vorhanden sind, welche auf bestimmte Informationsitems und Indizes von dem ersten und zweiten Gedäcifcnisspeieher anspricht zur selektiven Erzeugung von Signalen zur Steuerung der Datenverarbeitung in der Ausführung der Instruktionen.
    409825/0723
  2. 2. Mikroprogrammsteuereinheit nach Anspruch. 1, dadurch gekennzeichnet , daß die Steuereinrichtung einen Serien-Parallel-Zähler (22 d, MECNT) zur Lieferung der Adressensignale an den erstei Gedächtnis spei eher (22 a) enthält sowie Übertragungseinrichtungen zur selektiven_Überführung bestimmter Infor'mationsitems und Indizes als Adresseninformation zu dem Serien-Parallel-Zähler (22 d) bei Vorhandensein anderer bestimmter Informationsitems vom ersten Ge'dächtii s speicher und-eine Prüf logik (22 b) in Kommunikat ionsverbindung mit der Datenverarbeitung und dem ersten und zweiten Gedäcltnisspeicher steht zur Lieferung von Adressensteuersignalen von der Prüflogik an den Serien-Parallel-Zählor (22 d) zur selektiven Serienaufzählung des Zählers und zur parallelen Einspeisung in den Zähler von der Übertragungseinrichtung gemäß der Anweisung durch die Zustandsinformation und die Operationscodeinformation-von der Datenverarbeitung und der Bestimmung durch weitere bestimmende Informationsitems und die bestimmten Indizes, welche von dem ersten bzw. zweiten GedächtriRspeicher geliefert sind.
  3. 3· Mikroprogrammsteuereinheit nach Anspruch 1 oder 2, da durch gekennzeichnet , daß der. erste und zweite Gedächtnisspeicher Gedäcifcnisspeicher lediglich für Auslesung sind.
  4. 4. Mikroprogrammsteuereinheit nach Anspruch 2, dadurch gekennz e lehnet, daß die Übertragungseinrichtung an die Datenverarbeitung-Steuersignale liefert, wobei die Steuereinrichtung inKommunikationsverbindung mit dem ersten und zweiten Gedäcifcnisspeicher ist und in einem.ersten Falle auf die Inhalte eines aus dem ersten Gedäcltnisspeicher in dem Unterprogramm zurückgeholten Mikroprogrammsteuex'wortes anspricht und gestattet, daß die zur Datenverarbeitung gelieferten Steuersignale vom ersten und zweiten GedäctfcnLsspeicher abgeleitet werden und in einem zweiten Falle .vom ersten Gedächtnisspeicher abgeleitet sind..
    Λ09825/0723 ;
  5. 5. Mikroprogrammsteuereinheit nach Anspruch 4- , dadurch
    gekennzeichnet , daß der zweite GedHcltnisspeicher ein Register zur Aufnahme der Adressensignale von der Datenverarbeitung und zur Adressierung der Speicherplätze in die beiden GedäcltnLsspeicher enthält.
  6. 6. Mikroprogrammsteuereinheit nach Anspruch 3» dadurch gekennzeichnet , daß der erste Gedäcltnis speicher lediglich für Auslesung eine Vielzahl von adressierbaren Speicherplätzen besitzt, die jeweils in der Lage sind, ein Mikroprogrammsteuerwort eines bestimmten Formates aufzubewahren, wobei jedes Mikroprogrammsteuerwort einen Teil eines Mikroprogramms bildet, und dßr zweite GedäclfcnLsspeicher nur für Auslesung eine Vielzahl von adressierbaren Speicherplätzen enthält, die jeweils in der Lage sind, ein Mikrodecodierungsinstruktionswort zu enthalten, das einzigartig ist für eine von der Verarbeitungseinheit auszuführende Instruktion, und weiterhin ein Register in Kommunikationsverbindung mit dem Speicher und dem zweiten Gedä cttrisspeieher enthalten ist, wobei das Register Signale von dem Speicher erhält, welche repräsentativ sind für den Operationscodeteil einer von der Verarbeitungseinheit auszuführenden Instruktion und einen bestimmten Speicherplatz in dem zweiten Gedäctfcnisspeicher adressiert, um aus demselben ein Mikrodecodeinstruktionswort zurückzuholen, welches einzigartig ist für den Operationscodeteil, und weiterhin ein Zähler enthalten ist, der zum Betrieb in Sequenzzählung und für parallele Einspeisung eingerichtet ist zur Adressierung eines der Speicherplätze des erston Gedächtrisspeichers zur Zum ckholung eines Mikroprogramm.st.eusrwortes aus demselben, welches zur Steuerung des Mikroprogramms verwendet werden soll, und noch ein Multiplexer (26) in
    Kommunikationsverbindung mit dem ersten und zweiten Gedäcttnlsspeicher für Auslesung zur selektiven Lieferung von Mikroprogrammadressensignalen an den Zähler vorhanden ist, die repräsentativ sind für diejenigen Adressenplätze, die durch ein Mikroprogrammsteuerwort bestimmt werden, das aus dem ersten Gedächtiis speicher zurückgeholt ist und für Adressen-
    409825/0723 '"
    platze, die von einem zv/eiteri Mikrodecodierungsinstruktionswort bestimmt sind, das aus dem zweiten Gedächtrisspeicher zurückgeholt ist, und noch eine Einrichtung zur selektiven Lieferung
    . von Signalen an dem Zähler vorhanden ist,um dort eine sequentielle Zählung zur Änderung einer in- dem Zähler enthaltenen Adresse auszuführen und zur parallelen Einspeisung der Mikroprogrammadressensignale, die demselben selektiv vom Multiplexer (26) geliefert werden, wobei diese Einrichtung inKommunikationsverbindung mit dem Register und dem ersten Gedäciihisspeicher steht und selektiv Signale an den Zähler abgibt gemäß der Bestimmung durch den Cperationscodeteil der Instruktion in dem Register und dem Format des. Mikroprogrammsteuerwortes, das aus dem ersten Gedächtnisspeicher zurückgeholt ist, und weiterhin Einrichtungen inKommunikationsverbindung mit dem ersten und zweiten Gedäcftnisspeicher vorhanden sind zur Lieferung der Steuersignale an die Verarbeitungseinheit zur Leitung und Anweisung der letzteren in der Ausführung einer Instruktion, wobei diese Einrichtung in
    Kommunikatrionsverbindung ist, um die Steuersignale in einem ersten Falle von dem ersten und zweiten Gedächtrisspeicher und in einem zweiten Falle vom ersten Gedächtnis speicher zu liefern, und dieser erste und zweite Fall bestimmt ist durch das Format des Mikroprogrammsteuerwortes, welches aus dem ersten Gedäcltnisspeicher zurückgeholt ist.
  7. 7· Mikroprogrammsteuereinheit nach Anspruch 6,dadurch gekennzeichnet , daß das Register Adressiereinrichtungen zur selektiven Adressierung der Speicherplätze des ersten Gedächtilsspeichers enthält.
  8. 8. luikroprogrammsteuereinheit nach Anspruch 7 ■» dadurch gekennzeichnet , daß die Adressiereinrichtung den Zähler (22 d) für Reihenzählung und parallele Einspeisung ent-' hält·., welche auf Signale von der Prüfeinrichtung (22 b) anspricht zur selektiven Einspeisung anderer bestimmter Informationsitems vom ersten Gedäcbfcrisspeicher und bestimmter Indizes vom zv/eiten Gedächtnis spei eher, die durch die Übertr8g\;ngseinrichtuns übertragen werden,und in Sequenz zählt zur Adressierung des ersten Gedächtnis spei eher s. 409825/0723
  9. '9. Mikroprogrammsteuereinheit nach. Anspruch 8, dadurch gekennzeichnet , dass bestimmte Indizes jedes Instruktionssteuerwortes einen Adressenplatz im ersten Gedächtnis speicher angeben, v/o bei der adressierte Platz ein Mikroprogrammsteuerwort 'enthältt welches den Start eines Mikroprogramm-ünterprogranirs zur Steuerung der ilikroprograir:nsteuereinheit und der äusseren Einrichtung definiert, wobei bestimmte Indizes durch die Übertragungseinrichtung zur Adressiereinrichtung übertragbar sind gemäß bestimmten Informationsitems aus dem iiikroprograminsteuerwort, das aus dem ersten Gedächtnisspeicher zurückgeholt ist,- und noch bestimmter Indizes, kombiniert"mit bestimmten Informationsitems in dem Mulitplexer (26) zur Erzeugung mindestens eines Teils der Steuersignale zur äusseren Einrichtung führen.
  10. 10. Mikroprogrammsteuereinheit nach Anspruch. 8,dadurch gekennzeichnet , daß die Mikroprogrammsteuerworte im ersten Gediicfcfcnisspeicher· eine Vielzahl von Formaten zur Steuerung der Ausführung des Mikroprogramms durch die Mikroprogrammsteuereinheit und zur Steuerung der Ausführung von Instruktionen durch die Verarbeitungseinheit enthalten, wobei das Format mindestens eines Mikroprogrammsteuerwortes die bestimmten Informationsiteias zur Übertragungseinheit enthält zur selektiven Steuerung der übertragung anderer "bestimmter Informationsitems vom ersten GedäcitnLsspeicher und bestimmter Indizes vom zweiten GedäcifQLsspeicher durch die Übertragungseinrichtung zur Adressiereinrichtung, und das Format mindestens eines anderen. Mikroprogramcsteuerwortes die bestimmten vorgegebenen Informationsitems zur Anweisung der Multiplexeinrichtüng zur Lieferung eines Teils der Steuersignale zur äusseren Einrichtung aus vorgegebenen Indizes zum ζ veiten Gedächtnis speicher enthält.
    BAD ORIGINAL
    409825/0723
    Lee rs e ι te
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 true DE2355993A1 (de) 1974-06-20
DE2355993B2 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)

Families Citing this family (37)

* 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
GB2077010B (en) * 1980-06-02 1984-10-31 Hitachi Ltd Microprogramme control method and apparatus therefor
US4724517A (en) * 1982-11-26 1988-02-09 Inmos Limited Microcomputer with prefixing functions
US4685058A (en) * 1983-08-29 1987-08-04 Amdahl Corporation Two-stage pipelined execution unit and control stores
JPS6061829U (ja) * 1983-10-03 1985-04-30 日新電機株式会社 リミツタ回路
JPS6061830U (ja) * 1983-10-03 1985-04-30 日新電機株式会社 電圧リミツタ回路
GB8404480D0 (en) * 1984-02-21 1984-03-28 Int Computers Ltd Microprogram control
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
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
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

Also Published As

Publication number Publication date
IT1002206B (it) 1976-05-20
GB1457878A (en) 1976-12-08
JPS5047533A (de) 1975-04-28
PL112808B1 (en) 1980-11-29
US3839705A (en) 1974-10-01
FR2211142A5 (de) 1974-07-12
JPS5334944B2 (de) 1978-09-25
DE2355993B2 (de) 1978-02-09
SU691111A3 (ru) 1979-10-05
DE2355993C3 (de) 1978-10-12

Similar Documents

Publication Publication Date Title
DE2355993A1 (de) Datenverarbeitungseinheit einschliesslich mikroprogramm-steuereinrichtung
DE2813128C2 (de) Steuereinrichtung für Mikroprogrammspeicher
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE2318069C2 (de) Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix
DE1774296B2 (de) Restruktuierbare Steuereinheit für elektronische Digitalrechner
DE2715073C3 (de) Mikroprogrammierte Rechner-Steuervorrichtung
CH634939A5 (de) Kanaldatenpufferanordnung in einer datenverarbeitungsanlage.
DE1499200B2 (de) Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung
DE1900141A1 (de) Datenverarbeitungsvorrichtung
DE2258460B2 (de) Programmierbare Steueranordnung
DE2758830A1 (de) Rechenvorrichtung
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
DE2936913A1 (de) Verfahren und system zur steuerung von eingabe und ausgabe bei einer prozesssteuerung
DE3116385C2 (de) Mikroprogramm-Steuerung
DE2556617A1 (de) Datenverarbeiter zum rotierbaren verschieben von bits eines datenwortes
DE2551741A1 (de) Datenverarbeitungseinrichtung
DE2759120C2 (de)
DE2739525A1 (de) Prozessor
DE2720842C3 (de) Datenübertragungssystem
DE69031361T2 (de) Taktsignalgeneratorsystem
DE1285218B (de) Datenverarbeitungsanlage
DE2418921A1 (de) Vorrichtung und verfahren zum speichern und ausfuehren von mikroprogrammen in einem datenverarbeitungssystem
DE2316321C2 (de) Schaltungsanordnung an der Schnittstelle zwischen einer Steuerung eines Rechenwerkes und einem Hauptspeichers einer Rechenanlage
DE1774421B1 (de) Mehrprogramm datenverarbeitungsanlage
DE2519168A1 (de) Umlaufendes schieberegister

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
8339 Ceased/non-payment of the annual fee