DE2560129C2 - Verfahren für die Erzeugung und Ausführung der Anfangsmikroinstruktion einer zur Ausführung einer Makroinstruktion dienenden Mikroinstruktionsfolge - Google Patents
Verfahren für die Erzeugung und Ausführung der Anfangsmikroinstruktion einer zur Ausführung einer Makroinstruktion dienenden MikroinstruktionsfolgeInfo
- Publication number
- DE2560129C2 DE2560129C2 DE19752560129 DE2560129A DE2560129C2 DE 2560129 C2 DE2560129 C2 DE 2560129C2 DE 19752560129 DE19752560129 DE 19752560129 DE 2560129 A DE2560129 A DE 2560129A DE 2560129 C2 DE2560129 C2 DE 2560129C2
- Authority
- DE
- Germany
- Prior art keywords
- microinstruction
- memory
- instruction
- macroinstruction
- devices
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
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
' spruch 4 beschäftigt sich mit diesem Festwertspeicher. Die Ansprüche 3 und 5 bis 7 beschreiben einige spezielle
Phantommikroinstruktionen.
Nachfolgend werden Ausführungsbeispiele der Erfindung beschrieben. Es zeigt
F i g. 1 ein allgemeines Blockdiagramm der Datenverarbeitungsanlage
gemäß einem Ausfuhrungsbeispiel der Erfindung,
Fig.2 ein schematisches Blockdiagramm des in
F i g. 1 dargestellten Datenspeichers 61,
Fig.3 ein schematisches Blockdiagramm der in F i g. 1 dargestellten arithmetisch logischen Einheit
(ALU) 62,
F i g. 4 ein schematisches Blockdiagramm der gemäß F i g. 1 der ALU nachgeschalteten Verschiebeeinrichtung
63,
F i g. 5 ein allgemeines schematisches Blockdiagramm
des Mikroprozessors 66,
Fig.6 ein ins einzelne gehendes schematisches Blockdiagramm des in F i g. 5 dargestellten Mikroprogrammprozessors,
wobei ein Befehlsregister, ein IR-Codiermuitiplexer, ein JR-Codierregister und ein IR-Vordecodiermultiplexer
dargestellt sind,
F i g. 7a und 7b gemeinsam ein ins einzelne gehendes Blockdiagramm zur Darstellung weiterer Einzelheiten
des Mikroprozessors gemäß F i g. 5, mit einem IR-Decodierfestwertspeicher,
einem μJSR-Register, einem
Truadmultiplexerregister und einem Festwertadressenregister,
F i g. 8 ein detailliertes schematisches Diagramm der in F i g. 5 dargestellten Phantomlogik 112,
F i g. 9 ein schematisches Blockdiagramm der Mikrobefehlsfelder und der Mikrodecodiersteuerlogik 69 der
Fig. l.und
Fig. 10, 11a, 11b und 12 Flußdiagramme zur Erläuterung der Arbeitsweise der Datenverarbeitungsanlage
gemäß einem Ausführungsbeispiel der Erfindung.
Die in F i g. 1 dargestellte Datenverarbeitungsanlage arbeitet mit einer Makroinstruktionswortlänge von 16
Bit und läßt sich als sehr kleine Anlage wie auch als sehr umfangreiche Anlage ausführen. Die zentrale Verarbeitungseinheit
(CPU) steuert die Gesamtanordnung, insbesondere den Datenstrom zwischen sich und
verschiedenen Speicher-, Eingabe- und Ausgabeeinrichtungen. Die CPU führt auch alle Makroinstruktionen aus
und bestimmt deren ordnungsgemäße Aufeinanderfolge bei der Ausführung der Makroinstruktionen.
Die Speicherung der 16-Bitworte erfolgt in der Weise,
daß die einzelnen Bits von links nach rechts von 0 bis 15 numeriert werden. Derartige 16-Bitworte werden
entweder als Makroinstruktionen, als Adressen oder als Operanden (& h. als Daten für das Programm) benutzt
Das Programm kann einen Operanden als ein logisches Wort, als eine Adresse, als ein Paar von Bytes mit
jeweils 8 Bit oder auch als 16stellige Binärzahl interpretieren.
F i g. 1 zeigt in Blockdiagrammform die erfindungsgemäße Datenverarbeitungsanlage, mit einer zentralen
Verarbeitungseinheit (CPU) 51, einer oder mehreren Speichereinheiten 52 (Hauptspeicher), einem Speicheradressenmultiplexer53
und einem Eingabe-/Ausgaberegistermultiplexer 54 zur Steuerung von Ein-/Ausgabeeinrichtungen
55. Der Ausgang des Ein-/Ausgaberegistermultiplexers 54 steht über ein NAND-Verknüpfungsgiied
56 sowie mit einer Datensammelschiene 59 in Verbindung. Eine Speichersammeischiene 57 ermöglicht
eine Übertragung von Daten oder Worten in zwei Richtungen zwischen dem Datenspeicher 61 sowie dem
Hauptspeicher 52. Eine Adressensammelschiene 58 ermöglicht mit Hilfe des Multiplexers 53 die Übertragung
von Speicheradressen vom CPU zum Hauptspeieher 52. Die Datensammelschiene 59 sorgt für die
Übertragung von Daten zwischen der Ein-/Ausgabeeinrichtung 55, dem EiiWAusgaberegistermultiplexer 54
und dem Verknüpfungsglied 56, das durch ein Signal mit der Bezeichnung I/O BUF OUT aktivierbar ist. In
umgekehrter Richtung ergibt sich ein Zugang zur Ein-/Ausgabeeinrichtung 55 vom Hauptspeicher 52
über die Speichersammeischiene 57, den EirWAusgaberegistermultiplexer
54 und die Datensammelschiene 59. Wie der F i g. 1 zu entnehmen ist, umfaßt die zentrale
Recheneinheit 51 auch eine mit der Bezugszahl 61 versehene Datenspeichereinrichtung oder auch Registerdatei,
die gemäß Fig.2 u.a. vier als ACO, ACl,
ACl und Λ'3 bezeichnete Akkumulatoren enthält Des
weiteren sind drei allgemeine Register vorgesehen, die mit GR 0, GR 1 und GR 2 bezeichnet sind, sowie ein als
Programmzähler arbeitendes Register PC In F i g. 1 ist die Registerdatei 61 so dargestellt, daß sie zwei
Ausgänge A und Bund zwei Eingänge A und Caufweist,
wobei die Ausgänge A und B mit der arithmetisch-logisehen
Einheit (ALU) 62 verbunden sind. Der Ausgang des ALU 62 ist mit einer in F i g. 4 näher dargestellten
Verschiebeeinrichtung 63 verbunden, deren Ausgang zum A-Eingang der Registerdatei 61 zurückgeführt ist.
Der Eingang C der Registerdatei 61 besitzt eine Verbindung zur Speichersammeischiene 57, während
der Ausgang A der Registerdatei 61 mit dem Ausgang einer mit der Bezugszahl 64 versehenen A-Eingangsdatenlogik
verbunden ist Der B-Ausgang der Registerdatei 61 wiederum ist mit einem Eingang der A-Eingangsdatenlogik
64 verbunden, außerdem über ein NAND-Verknüpfungsglied 60, das durch ein Signal BOUT
einschaltbar ist, mit der Speichersammeischiene 57. Der Ausgang der ALU 62 ist mit der Adressensammelschiene
über den Speicheradressenmultiplexer 53 und mit einem Eingang der Eingangsdatenlogik 64 verbunden,
außerdem über ein NAND-Verknüpfungsglied 60' mit der Speichersammeischiene 57. Normalerweise wird die
Speichersammeischiene durch den Ausgang der ALU gesteuert, die oben geschilderte besondere Schaltung
ermöglicht aber auch die Erzeugung einer Adresse auf der Adressensammelschiene 58 mit Hilfe der ALU 62
und des Speicheradressenmultiplexers 53, wobei gleichzeitig Daten in den Hauptspeicher 52 eingeführt
werden.
so Durch die angegebene Schaltung läßt sich die Adressierung des Hauptspeichers 52 und die nachfolgende
Einführung von Daten effektiver gestalten, beispielsweise mit Hilfe einer vom Mikroprogrammprozessor
66 gelieferten Mikroinstruktion, die die Signale MC4 und B MEM erzeugt, um die Verknüpfungsglieder
60, 60' durch die Steuersignale BOUT und ALUOUT
anzusteuern.
Die CPU enthält neben der Registerdatei 61 noch zusätzlich einen Makrobefehlsspeicher 65, dessen
Funktion im folgenden noch näher erläutert wird. Die 16
Bits eines Makrobefehls, der von diesem Speicher 65 gespeichert werden kann, enthalten sowohl einen
Operationscode wie auch Informationen, die mit der auszuführenden Operation zusammenhängen. Gemäß
F i g. 1 ist ein Ausgang des Speichers 65 mit der A-Eingangsdatenlogik 64 verbunden, während ein
zweiter Ausgang über einen Prädecodiermultiplexer mit einem Mikroprozessor 66 in Verbindung steht, der aus
einer Mikroinstruktionsadressenlogik 68 mit darin
gespeicherten Mikroinstruktionen und einem Ausgangspuffer 108 für jeweils eine Mikroinstruktion und einer
dem Ausgangspuffer 108 nachgeschalteten Mikrocodesteuerdecodierlogik 69 besteht, die ggf. für den Betrieb
der Datenverarbeitungsanlage benötigte Steuersignale aus der gerade anliegenden Mikroinstruktion, die eine
Länge von 65 Bit aufweist, erzeugt.
Der Ausgang des Blockes 68 liefert auch Signale an die A-Eingangsdatenlogik 64, der außerdem ein
Vorzeichenerweiterungssignal zum Zwecke der Berechnung von effektiven Adressen (EFA) zugeführt wird, wie
später noch näher erläutert wird.
Wie der F i g. 2 zu entnehmen ist, die den Datenspeicher
61 der CPU 51 in größeren Einzelheiten zeigt, umfaßt die CPU 61 insbesamt acht Register, und zwar
vier Akkumulatoren ACO, AC 1, AC2 und ACZ, drei
allgemeine Register GRO, GRl und GR2 zur Zwischenspeicherung von Daten, sowie einen Programmzähler
mit der Bezeichnung PC Bei den Registern kann es sich um integrierte Bausteine 71 bis
78 handeln, die jeweils acht 2 Bitworte enthalten und von der Dualanschlußbauart sind, so daß jeweils zwei
Worte gleichzeitig ausgelesen werden können. In einer solchen Anordnung können auch zwei Register
gleichzeitig eingeschrieben werden.
Die Register 71 bis 78 besitzen jeweils zwei Schreibeingänge A und Cund zwei Leseausgänge A und
B, wobei letztere mit den Eingängen der ALU verbunden sind, wie in F i g. 3 in größeren Einzelheiten
dargestellt ist Die in größeren Einzelheiten in Fig.4
dargestellte Verschiebeeinrichtung 63 liefert Signale SHIFTO... SHIFT15 an die jeweils doppelt vorhandenen
Eingänge A der Plättchen 71 bis 78, wie aus F i g. 2 zu erkennen ist Den jeweils doppelt vorhandenen
Eingängen C werden wiederum von der Speichersammeischiene 57 Signale MEMO ...MEM15 zugeführt.
Die Leseausgangssignale der Plättchen 71 bis 78, bezeichnet mit Λ 0, Λ 1 ... A 15 laufen zur Λ-Seite des
ALU 62, siehe F i g. 3. Die Anschlüsse Ader Plättchen 71
bis 78 stehen über NAN D-Verknüpfungsglieder 79, die von dem Signal B OUT angesteuert werden, mit der
Speichersammeischiene 57, und zwar mit deren Einzelleitungen für die Signale MEMO ... MEMi5 in
Verbindung.
Der F i g. 3 ist zu entnehmen, daß die arithmetisch-logische Einheit 62 aus vier integrierten Bausteinen 81 bis
84 besteht, beispielsweise vom Typ SN 74S181 der Firma Texas Instruments Co. Jeder der integrierten
Bausteine 81 bis 84 akzeptiert einen A- und einen B-Eingang von jeweils 4 Bits.
Ein jeweils auftretender Übertrag wird durch ein Signa! CRY gekennzeichnet Die Bausteine erzeugen
Ausgangssignale ALU von 4 Bit sowie jeweils auch wieder ein den Übertrag anzeigendes Signal CR YI
Die von den ALU-B.austeinen auszuführenden Funktionen
werden durch Steuerungssignale bewirkt, die mit ALUSO... ALU S3 sowie als Logikmodus bezeichnet
werden. Diese Steuersignale werden von der Mikroprogramminstruktion
abgeleitet, wie im folgenden noch näher erläutert wird. Der Ausgang der ALU-Bausteine
steht nicht nur mit der Verschiebeeinrichtung 63 in Verbindung, wie in Fig. 1 dargestellt, sondern auch
noch mit der Speichersammeischiene 57 Ober eine Serie von NAND-Verknüpfungsgliedern 85, die durch ein
ALU OUT-Sigaal geschaltet werden und auf den
einzelnen Leitungen der Speichersammeischiene 57 die Signale MEMO... MEM 15 erzeugen.
Wie aus F i g. 4 hervorgeht, umfaßt die Verschiebeeinrichtung 63 acht an sich Multiplexer darstellende
integrierte Bausteine 91, mit denen bestimmte Funktionen ausgeführt werden, beispielsweise die Datenübertragung
zum Ausgang des Addierers, Rechtsverschiebung wie Linksverschiebung oder auch Nichtverschiebung
des Datenausgangs. Die zur Ansteuerung der Verschiebeeinrichtung 63 dienenden Signale SHSEO...
1 werden wiederum durch Decodierung einer Mikroinstruktion sowie auch durch das Einführen von Daten
vom Ausgang des Addierers festgelegt. Auch die Signale WRITE IN, START IN und LEFT IN werden
durch Decodierung einer Mikroinstruktion gewonnen, um eine auszuführende Verschiebung zu steuern.
Bei einer mit einem Mikroprozessor arbeitenden Datenverarbeitungsanlage werden die Steuersignale
von der gerade anliegenden mikroinstruktion abgeleitet, die hier aus einem 56 Bit langen Wort besteht.
Zahlreiche Mikroinstruktionen sind in einem aus z. B. vier Seiten mit jeweils 256 Speicherplätzen bestehenden
Festwertspeicher 107 gespeichert, siehe die F i g. 5. Die Mikroinstruktionen dienen größtenteils zur Ausführung
von Befehlen der Datenverarbeitungsanlage, beispielsweise Steuerung von Signalen über die verschiedenen
Datenwege, Steuerung der Funktion des ALU, der Verschiebeeinrichtung usw., außerdem wird der Festwertspeicher
107 adressiert, um die nächste Mikroinstruktion auszuwählen, die anschließend in dem dem
Festwertspeicher 107 nachgeschalteten Puffer 108 eingeschrieben werden soll. Die Anordnung ist hier so
getroffen, daß mit der Anstiegskante des vom Taktgeber 67 (Fig. 1) gelieferten CPU-Taktsignals
jeweils eine neue Mikroinstruktion in den Puffer 108 eingeführt werden kann, und zwar in einem zeitlichen
Abstand von jeweils 200 ns.
Wie später noch anhand der F i g. 9 näher erläutert werden wird, umfaßt eine Mikroinstruktion von 56 Bit
mehrere, nämlich 16 einzelne Steuerfelder, die jeweils unterschiedliche Teile der Datenverarbeitungsanlage
ansteuern.
In Verbindung mit F i g. 1 wurde bereits erwähnt daß eine zusätzliche Speichereinrichtung 65 zur Aufnahme
jeweils einer Makroinstruktion von der Speichersammeischiene 57 vorgesehen ist und in F i g. 5 ist dieses
auch wieder zu erkennen. Die Speichersammeischiene 57 ist außerdem mit einem IR-Codiermultiplexer 101
und einem IR-Codierregister 102 verbunden (IR = Makroinstruktion),
wobei diese beiden Blöcke durch ein Signa! £7S angesteuert werden, das anzeigt daß auf der
Speichersammeischiene 57 eine erweiterte Makroinstruktion vorhanden ist (Ohne diese Einrichtungen 101
und 102 würde die Datenverarbeitungsanlage diese Befehle als Leerbefehie betrachten und liichi ausführen).
Der Speicher 65 steht mit einem IR-Prädecodiermultiplexer
104 in Verbindung, der bestimmte Signale aus der Makroinstruktion, die im Speicher 65 enthalten ist,
herauszuziehen und als Signale DEC ADDR 4... 7 einem IR-Decodierfestwertspeicher 105 zuzuführen, in
dem fest eincodierte Adressen vorhanden sind. Dem IR-Decodierfestwertspeicher 105 wird außerdem der
Ausgang eines IR-Prädecodierfestwertspeichers 103 zugeführt, der von Ausgangssignalen des IR-Codierregisters
102 angesteuert wird. Für jede Makroinstruktion enthält der IR-Decodierfestwertspeicher 105 eine
Mikroinstruktionsadresse.
Von den Ausgangssignalen des IR-Codierregisters wird ein Verknüpfungsglied 100 angesteuert das
seinerseits durch Ansteuerung des IR-Prädecodiermulti-
plexers 104 die Auswahl von jeder der Leitungen IR1 —4 oder der Leitungen IR 5—8 vom Makroinstruktionsspeicher 65 ermöglicht. Die innerhalb des IR-Decodierfestwertspeichers 105 ausgewählte Mikroinstruktionsadresse wird dann im nachgeschalteten ROM-Adressenmultiplexer 106 verwendet, um zum einen
festzulegen, von welchen der mehreren Eingabeeinheiten eine Mikroinstruktion ausgewählt wird, sowie von
welcher Speicherstelle des Festwertspeichers 107 die Auswahl stattfinden soll. Die an dieser Speicherstelle
gespeicherte Mikroinstruktion wird adressiert und ausgelesen und anschließend in den Mikroinstruktionspuffer 108 geladen.
Die im Puffer 108 geladene Mikroinstruktion wird dann an die Mikroinstruktionsdecodiereinrichtung 69
weitergeleitet, wo Steuersignale für die Datenverarbeitungsanlage daraus gewonnen werden. Bestimmte Bits
dieser im Puffer 108 geladenen Mikroinstruktion werden außerdem dazu benutzt, die Adressierung des
Festwertspeichers 107 zu ermöglichen, basierend auf der im Speicher 65 enthaltenen Makroinstruktion.
Andere ausgewählte Bits der im Puffer 108 gespeicherten Mikroinstruktion gelangen zu einem Truadmultiplexer 109, durch den, wie der F i g. 5 entnommen werden
kann, der Festwertadressenmultiplexer 106 sowie der Festwertspeicher 107 zusätzlich adressierbar ist, während noch andere Bits einem μ^ΙΙ-Register 111
zugeführt werden, der ebenfalls zur Adressierung des Festwertspeichers 107 über den Festwertadressenmultiplexer 106 dient.
Der Festwertspeicher 107 kann noch auf eine weitere Art adressiert werden, indem bestimmte Bits des eine
Mikroinstruktion enthaltenden Puffers 108 (gemäß F i g. 5 sind es die Bits RBUF48 ... 55) direkt an den
Festwertadressenmultiplexer 106 geführt werden.
Im vorliegenden Zusammenhang am bedeutungsvollsten ist die Phantomlogik 112, die bei Einschaltung
durch ein Verknüpfungsglied 122 von der Speichersammeischiene Signale aufnimmt und direkt an den Puffer
108 liefert, um so eine erste Mikroinstruktion (einer zu einer Makroinstruktion gehörenden Folge von Mikroinstruktionen) zu erzeugen, während gleichzeitig diese
Makroinstruktion in den Speicher 65 geladen wird, was, wie noch näher erläutert werden wird, Betriebszeit
(nämlich eine volle Taktperiode) einspart
Weitere Einzelheiten der Betriebsweise des Makroinstruktionsspeichers 65 in Verbindung mit daran
angeschlossenen Bausteinen lassen sich der Fig.6 entnehmen, in der der Makroinstruktionsspeicher 65 in
Form von drei einzelnen integrierten Schaltkreisen 65a, 65b und 65c dargestellt ist
Auf die nähere Betriebsweise der in F i g. 6 dargestellten Schaltung braucht hier nicht weiter eingegangen zu
werden, es sei lediglich erwähnt, daß ein durch Decodierung von Mikroinstruktionen abgeleitetes Signal LDIR zur Erzeugung eines Signals LDIR EN führt,
welches das dem Verknüpfungsglied 118 zugeführte Signal LDIR DIS CON normalerweise niedrig hält,
woraufhin dieses Verknüpfungsglied 118 das Signal LDIR CLK bis zur nächsten Mikroinstruktion niedrig
hält Auf diese Weise wird der Speicher 65 normalerweise genau am Ende einer Mikroinstruktion während des
Signals LDIR taktgesteuert
In F i g. 7a ist zu erkennen, daß die Adressenausgänge
des IR-Prädecodierfestwertspeichers 103 sowie des IR-Prädecodiermultiplexers 104 (diese Signale sind
bezeichnet mit DECADDRO.. 3 bzw. 4... 7) dem IR-Decodierfestwertspeicher 105 zugeführt werden.
Dieser besteht aus zwei integrierten Bausteinen mit einem 8-Bitausgang.
Wiederum werden aufgrund von Mikroinstruktionsdecodiersteuersignalen (siehe Block 165 in Fig.9)
Steuersignale (DEC 1, DEC EN, DECI) erzeugt die zur
Steuerung dienen und festlegen, welcher von zwei vorhandenen Sätzen von Adressen, die durch Ausgänge
des IR-Prädecodierfestwertspeichers 103 und des
IR-Prädecodiermultiplexers 104 adressiert werden
to sollen, Gültigkeit haben. Die 8-Bitausgänge des
IR-Decodierfestwertspeichers 105 werden mit entsprechenden 8-Bitausgängen von zwei integrierten Bausteinen 111 verbunden, die das μ]SR-Reigsterplättchen Ul
bilden, außerdem mit den insgesamt acht Ausgängen des Truadmultiplexers 109, der gemäß F i g. 7b aus zwei
integrierten Bausteinen besteht Diese miteinander uerKiιη/]οηβη AltcnSnee cinH oomSR F ι ο ~I\\ on entenra.
• «.■ 1/uiiMVIIVll nilSgWIlgV Sail«! £·*■..«·■» M I £. · U «·■■ ^.11.VfJl W
chende Eingänge des ROM-Adressenmultiplexers 106 angeschlossen, gleichfalls aus zwei integrierten Baustei
nen bestehend. Das μjSR-Register 111 wird außerdem
angesteuert durch die vom Puffer 108 abgeleiteten Signale RBUF A» ... 55, außerdem erhält das Register
Ul als Steuereingänge die Mikroinstruktionsbits RBUF27, 28 sowie 38,39. Durch diese Signale werden
in die von dem Baustein 111 jeweils gebildeten vier μJSR-Register Daten eingeschrieben und ausgelesen.
Dadurch wird ein Unterprogrammsprung wie auch eine Änderung des Mikroprogrammflusses ermöglicht basierend auf bestimmten Bits, die ein μJSR-Register Hl
adressieren. Das Signal zum Laden des μJSR-RegisteΓS
wird von einem NAN D-Verknüpfungsglied 119 erhalten, das wiederum von einem Taktsignal (CLK FLOP)
und Signalen der Mikroinstruktionsdecodiereinrichtung (DECEN, LD SUB) über das NOR-Verknüpfungsglied
Π9' abgeleitet wird. Der Eingang für den ROM-Adressenmultiplexer 106 wird z.T. durch DECEN und
RETURN selektiv erreicht, welche Signale, wenn sie niedrig sind, den Truadmultiplexer 109 abschalten,
indem über das Verknüpfungssystem 120, siehe F i g. 7a,
einem μJSR-Register ermöglicht wird, dem IR-Decodier-ROM 105 die Speicheradressen zu liefern.
Wie aus F i g. 7b zu erkennen ist versorgt der Puffer 108 die beiden Truadmultipiexerbausteine 109 mit den
Bits RBUF40... 47. Wie F i g. 9 zeigt, stellen diese Bits
die Adresse einer als nächstes auszuwählenden Mikroinstruktion dar, wenn bestimmte Voraussetzungen erfüllt
sind. Andernfalls, nämlich dann, wenn die Signale DEC EN oder RETURN über das Verknüpfungsglied
121 dem Truadmultiplexer 109 zugeführt werden, wird
so dieser abgeschaltet und liefert diese Adresse nicht
Das Signal LDIR, das z. B. in der letzten Mikroinstruktion eines Mikroinstruktionsprogramms vorkommt, siehe beispielsweise die noch zu erläuternde
F i g. 11 a, welches Signal die Bedeutung »Lade Makroin
struktionsregister« hat und im Mikroinstruktionsbitfeld
»Statusänderung« (Bits 32 bis 37) auftritt, siehe F i g. 9, führt aufgrund der Mikroinstruktionsdecodiereinrichtung 69, insbesondere in dessen Block 165 (Statusänderungsfestwertspeicher), zur Abgabe des Signals LDI-
REN durch diesen Block 165, welches Signal dem Verknüpfungsglied 122 als niedriges Signal zugeführt
wird. (Die dem Verknüpfungsglied 122 gemäß Fig.7b
von der Konsole zugeführten Signale STOP ENAB, REEXAM und das vom Verknüpfungsglied 125
stammende Signal INTRPEND können jedoch das Signal LDIR DISCON am Ausgang des Verknüpfungsgliedes 122 hochhalten. Das Signal LDIR DISCON
steuert gemäß Fig.5 die Phantomlogik 112, an, die
wiederum neben dem Puffer 108 den Festwertspeicher 107 ansteuert. Bei hohem Signal LDIR DISCON tritt die
Phantomlogik 112 nicht in Wirkung, im anderen Falle wird jedoch der Festwertspeicher 107 abgeschaltet und
in einer noch zu schildernden Weise dem Puffer 108 eine Phantom-Mikroinstruktion zugeführt, indem bestimmte
Signale der auf der Speichersammeischiene 57 anliegenden Makroinstruktion an den Puffer direkt weitergeleitet
werden.
Der ROM-Adressenmultiplexer 106 reagiert auf die
Signale, die entweder vom IR-Decodierfestwertspeicher 105. vom μ]SR-Register 111 oder vom Truadmultiplexer
109 stammen, wobei der ROM-Adressenmultiplexer 106 in seiner Wirkung durch die Signale RASEL
(wird von der Mikroinstruktionsdecodiereinrichtung 69 erzeugt, siehe Fig.9) und dem Signal INHRA
beeinflußt wird. Letzteres Signal schaltet den Multiplexer ab. Bei eingeschaltetem Multiplexer wird je nach
Potential des Signals RASEL entweder das Bitfeld 40 bis 47 als nächste Mikroinstruktionsadresse an den Block
107 weitergeleitet, im anderen Falle die Bits 48 bis 55.
Der Festwertspeicher 107, der gemäß F i g. 7b durch die Ausgangsleitungen des ROM-Adressenmultiplexers
106 eingespeist wird, umfaßt vorzugsweise vier Seiten Speicherfläche mit jeweils 256 Worten von 56 Bit
Länge, wobei es die Adressen RA 2 ... RA 9 gibt Ein weiterer Eingang für jede Festwertspeicherseite wird
von dem Verknüpfungsglied 110 geliefert, das mit den Eingängen RA 0, RA1 versorgt wird und festlegt,
welche Seite der vier Speicherseiten ausgewählt wird. Ein weiterer Eingang des Festwertspeichers 107,
DISCON ROM, sorgt für eine Abtrennung des Festwertspeichers, wenn die Phantomlogik 112 in Tätigkeit
tritt, wie im folgenden nunmehr anhand von F i g. 8 näher erläutert wird. Wie zu erkennen ist, sind mehrere
Verknüpfungsglieder und Invertierglieder 132 bzw. 133 vorhanden, die mit den entsprechenden Eingängen des
Puffers 108 (siehe F i g. 5) verbunden sind. Die Eingänge werden von Signalen MEMO, I, 2, 6, 7 der
Speichersammeischiene 57 abgeleitet, wobei die Signale MEM 6, 7 über die NOR-Verknüpfungsglieder 134
geleitet werden und die Signale MEMO, 1, 2 über eine
Verknüpfungskonfiguration 135 mit anderen ausgewählten Verknüpfungsgliedern und Invertern und über
invertierende Einheiten 136 mit ausgewählten Eingängen des Puffers 108 verbunden sind. Die Verknüpfungsanordnung 135 sowie die Inverter 136 werden außerdem
vom Signal LDIR DISCON angesteuert, bei dessen niedrigem Pegel eine Phantom-Mikroinstruktion erzeugt
und gleichzeitig der Festwertspeicher 107 abgetrennt wird, wobei die Phantom-Mikroinstruktion
durch direkte Weiterleitung der genannten Bits der Speichersammeischiene 57 zum Puffer 108 bewirkt wird.
(Da mit Phantom-Mikroinstruktion nur bestimmte, häufig in Tätigkeit tretende Teile der Datenverarbeitungsanlage
angesteuert werden, brauchen nur bestimmte Felder einer Mikroinstruktion von der Phantomlogik
112 bedient zu werden, die übrigen Felder des Puffers 108, die für diese Vorgänge nicht relevant sind,
werden von der Phantomlogik nicht beeinflußt)
So ist in F i g. 8 ein Signal ALC SKP zu erkennen, das
zusammen mit Signalen CONINST und LDIR CLK (letzteres über den Inverter 137) dem NAND-Verknüpfungsglied
138 zugeführt werden, worauf dieses das Signal VALIDLDIR erzeugt Bei niedrigem Signal
ALCSKP wird das Oberspringen eines Makrobefehls erreicht, indem eine Phantom-Instruktion erzeugt wird,
die den Programmzähler (siehe Block PC in Fig.2)
weiterschaltet, den Adressenspeicher mit dem Programmzählerinhalt lädt und die Steuerung an die
entsprechende Mikroinstruktion überträgt, die bewirkt, daß das Makroinstruktionsregister 65 erneut geladen
wird.
Mit der Phantomlogik 112 gelingt insbesondere die Erzeugung einer ersten Mikroinstruktion einer Folge
von Mikroinstruktionen, die zu einer bestimmten Makroinstruktion gehören, die auf der Sammelschiene
ίο 57 anliegt und die gerade in das Makroinstruktionsregister
65 geladen wird. Die erste Mikroinstruktion steht somit bereits während dieses Ladevorganges im Puffer
108 zur Verfügung, so daß die Datenverarbeitungsanlage weder das Laden der Makroinstruktion in das
Makroinstruktionsregister abwarten muß noch die erste Mikroinstruktion erst aus dem Mikroinstruktionsregister
107 auszulesen braucht Dadurch wird eine Zeiteinsparung von beispielsweise 200 ns erreicht.
Die mittels der in F i g. 8 dargestellten Phantomlogik erzeugbaren Phantom-Mikroinstruktionen sind sich
insoweit größtenteils ähnlich, als sie den Programmzähler PC erhöhen, um die nächste Makroinstruktion zu
erfassen. Insgesamtinstruktion zu erfassen. Insgesamt gibt es sechs unterschiedliche Phantom-Mikroinstruktionen,
wobei vier zur Ermittlung von effektiven Adressen bei unterschiedlicher Adressenberechnungsart
führen (Typ EFA), während die zwei übrigen Phantom-Mikroinstruktionen spezielle Aufgaben haben
und die Bezeichnungen £7Sund ALC SKP tragen. Das
Signal ALCSKP führt wenn niedrig, zu einer Phantom-Mikroinstruktion, die den Programmzähler
PC erhöht das Speicheradressenregister mit dem Inhalt des Programmzählers PC lädt und die Steuerung dann
an den Mikrocode überträgt der die nächste Makroinstruktion in den Speicher 65 lädt wie bereits oben
ausgeführt. Die andere Spezial-Phantom-Mikroinstruktion wird durch das Signal EIS ausgelöst und führt zur
Auslösung der erweiterten Makroinstruktionen.
Die Erzeugung eines Signals ALCSKP zur Bewirkung
einer entsprechenden Phantom-Mikroinstruktion hängt von den /Ä-Bits 13, 14, 15 ab, die den
ALC-Operationscode festlegen. Das Verknüpfungsglied
128, dem das Bit IR 14 und der Übertragung »CARRY«
zugeführt wird, kombiniert diese Signale durch LJND-Verknüpfungen mit den verschobenen Addierausgängen
ALU '0-3, 12-15, NIBBLEB, NIBBLEC, siehe
F i g. 3, mit dem Makroinstruktionsbit IR13 am
Verknüpfungsglied 128'. Die Ausgangssignale der beiden Verknüpfungsglieder 128,128' sowie das Signal
ALC werden dem ODER-Verknüpfungsglied 129 zugeführt während gleichzeitig ALCund IR 15 über das
NAND-Verknüpfungsglied 129' verknüpft und invertiert
werden. Die Ausgänge der Verknüpfungsglieder
129, 129' werden dann einem Exklusiv-ODER-Gatter
129" zugeführt das das Signal ALCSKP liefert Wenn das Signal ALC niedrig ist wird verhindert daß
ALCSKP niedrig liegt wodurch Überspringungen unterdrückt werden, es sei denn, daß ein ALC-Mikrocode
vorliegt
Das am Verknüpfungsglied 128' anliegende Signal CRYEN wird von dem unten in Fig.8 dargestellten
Exklusiv-ODER-Verknüpfungsglied 131 erhalten, das
dem NAND-Verknüpfungsglied 130 und dem Verknüpfungsglied 130' nachgeschaltet ist Das Signal LOGIK-
MODUS, das von der Mikroinstruktionssteuerdecodierlogik 69 geliefert wird, siehe Fig.9, Block 155,
steuert andere arithmetische Operationen, die nicht mit dem Signal ALC in Verbindung stehen, z. B. logische
Befehle. Die Bits IR10,11 werden verwendet, um den
ergänzten Basiswert des Übertrags von dem tatsächlichen Wert des Betrags abzuleiten.
Bei ALC-Operationen ergibt dies innerhalb der
Datenverarbeitungsanlage ein Feld, durch den der
Makroinstruktionenfluß in der Datenverarbeitungsanlage durch Manipulation des Mikrocodes dann geändert
wird, wenn innerhalb des Sprungfeldes (IR13... 15) der
Makroinstruktion sich ein bestimmter Zustand ergibt
10
Diese Änderung im Makroinstruktionsfluß durch da: Signal ALCSKP verändert sich die Mikroinstruktion
die infolge des Signals LDIR erzeugt wird, so dal
anstelle der nächsten Makroinstruktion die darauffol gende Makroinstruktion ergriffen wird.
Die folgende liste gibt die jeweilige Sprungoperatioi
bei Auftreten von ALCSKPfe nach Zustand der IR-BiV
13,14 und. 15 wieder:
IR-Bits
13
14
15
0 | 0 | 0 |
0 | 0 | 1 |
0 | 1 | 0 |
0 | 1 | 1 |
1 | 0 | 0 |
1 | 0 | 1 |
1 | 1 | 0 |
1 | 1 | 1 |
SKP
SZC
SNC
SZR
SNR
SEZ
SBN
In F i g. 9 ist die im Festwertspeicher 108 enthaltene
Mikroinstruktion in Form einer Anzahl von einzelnen Steuerfeldern dargestellt. Die Wirkung von gültigen
Bit-Kombinationen eines jeden dieser Felder wird kurz erläutert, wobei bestimmte Bit-Kombinationen zur
Datenübertragung dienen, andere die Funktion der ALU steuern sowie die nächste Mikroinstruktion
auswählen. Eine Anzahl von derartigen Mikroinstruktionen bildet ein Mikroprogramm und führt die zur
zugehörigen Makroinstruktion gehörende Operation aus. So steuern beispielsweise die in F i g. 9 dargestellten
Felder mit den Bits 0...3, 4...7, 8... 11 die Registerdatei 61, das Feld mit den Bits 12... 15 die
ALU 62, das Feld mit den Bits 16... 19 die Verschiebeeinrichtung 63. Das Bit 20 bildet ein Ladesteuerfeld für
den Ladevorgang eines bestimmten A-Eingangs der Registerdatei 61 vom Ausgang der Verschiebeeinrichtung 63. Die Bits 21, 22 bilden ein Feld zur Steuerung
von Übertragswerten, während das Bit 23 ein Speicheradressenladefeld und die Bits 24, 25 ein
Speichersteuerungsfeld bilden. Die vier durch die beiden Bits 24,25 definierbaren Signale steuern beispielsweise
das Lesen bzw. Schreiben vom oder in die letzte Speicherzelle in einer Speicherposition in einem
Speicheradressenregister.
Das Steuerfeld mit den Bits 26...28 hängt mit bestimmten Decodiervorgängen zusammen, ähnliches
gilt für das Steuerfeld mit den Bits 29... 31.
Das Steuerfeld mit den Bits 32...37 stellt ein Statusänderungssteuerfeld dar, mit dem bestimmte
Bedingungen überprüft werden, aufgrund deren die nächste Mikroinstruktion ausgewählt wird, wobei
entweder als nächste Adresse die Bit-Kombination des Feldes mit den Bits 40... 47 (erste Adresse) oder die
Adresse mit der Bit-Kombination 48... 55 (zweite
Niemals Springen
Immer Springen
Springen bei Übertrag Null
Springen bei Übertrag
Nicht-Null
Springen bei Ergebnis Null
Springen bei Ergebnis
Nicht-Null
Springen wenn entweder
Übertrag oder Ergebnis Null
Springen, wenn sowohl
Übertrag als auch Ergebnis
Nicht-Null
definieren ein Steuerfeld, das über eine Decodiereinrichtung 163 festlegt, weiche Gruppe von vier Grupper
integrierter Bausteine durch die Testeinrichtung (Block 164 in F i g. 9) verwendet werden soll, oder es wird eine
Auswahl einer der vier Seiten des Mikroinstruktions
festwertspeichers 107 ausgewählt
Bestimmte Bit-Kombinationen des Statusänderungsfeldes 32... 37 werden von dem Block 165 ausgewertet
der durch das mit Bit RBUF32 eingeschaltet werder kann und dann die Bits 33... 37 aufnimmt und je nach
Auswertung ein Steuersignal abgibt, so das bereit! erwähnte Signal LDIREN, das zum Laden dei
Makroinstruktion in den Speicher 65 dient aber auch dem in Fig.7b dargestellten Verknüpfungsglied 122
zugeführt wird und zur Erzeugung eines Signals
LDIR DISCON verwendet wird, das wiederum die
Phantomlogik 112 aktiviert, siehe auch F i g. 5.
Taucht somit im Statusänderungsfeld eine bestimmte Bit-Kombination auf, die mit »LDIR« bezeichnet wird,
wird zum einen das Register 65 mit der gerade an der
Speichersammeischiene 57 anliegenden Makroinstruktion geladen und gleichzeitig von dieser Speichersammelschine mit Hilfe der Phantomlogik eine Phantom-Mikroinstruktion im Puffer 108 erzeugt und ausgeführt
Das Register GR 0, siehe F i g. 2, enthält eine Kopie der
go Daten auf der Speichersammeischiene oder die Kopie
einer Adresse, wenn die auf der Speichersammelschine 57 vorhandene Makroinstruktion die Berechnung einer
effektiven Adresse umfaßt. Wie eingangs schon erläutert wurde, stellt hier die Phantom-Mikroinstruk
tion, die aufgrund einer auf der Speichersammelschine
57 befindlichen Makroinstruktion erzeugt wurde, den ersten Schritt zur Ausführung dieser Makroinstruktion
dar. Von hier aus wird dann die Steuerung zu einer
entsprechenden Mikroinstruktionsadresse übertragen.
Zu diesem Zweck kann ein Signal DECl verwendet
werden, das aufgrund der Steuerung des Statusänderungsfeldes (Bits 32 ... 37) beispielsweise durch den
Block 165 (Fig.9) erzeugt werden kann, siehe auch
Fig. 10, wo dieser Zusammenhang in Form eines Blockdiagramms dargestellt ist Dieses Signal DECi
führt gemäß Fig. 10 zur Erzeugung des Signals DEC EN (auch in F ig. 9 als Ausgang des Blockes 165
dargestellt), welches Signal die im Speicher 65 vorhandene Makroinstruktion in der Weise decodiert,
daß eine Adresseninformation entsteht, zu der das Signal DECX dann die Steuerung überträgt Auf diese
Weise wird Zugang zu Mikroinstruktionen erlangt, die
zahlreichen Makroinstruktionen gemeinsam sind oder die die Oberleitung von der Phantom-Mikroinstruktion
zur nachfolgenden Mikroinstruktion ermöglichen.
Das Signal DEC2, ebenfalls in Fig. 10 zu erkennen,
ist dem Befehl DEC 1 ganz ähnlich, mit der Ausnahme, daß Zugang zu einer zweiten Gruppe von Adressen
ermöglicht wird, die von den Adressen des Signals DEC 2 unterschiedlich sein können.
Von besonderer Bedeutung sind die beiden Adressenfelder 40... 47 bzw. 48... 55, die zur Adressierung einer
vollen Seite von Festwertspeicherstellen benutzt werden. Jedes Adressenfeld ermöglicht die Ansteuerung
von 256 verschiedenen Mikroinstruktionen. Da es insgesamt vier Festwertspeicher gibt, können somit
insgesamt 1024 Mikroinstruktionen adressiert werden.
Der Betrieb der wesentlichsten Teile der erfindungsgemäßen Datenverarbeitungsanlage sei im folgenden
anhand der F i g. 11 und 12 näher erläutert.
Wenn während des Endes eines gerade anliegenden Mikroprogramms von dem Mikroprogrammspeicher
eine Mikroinstruktion zum Laden des Makroinstruktionsspeichers 65 aufgerufen wird, siehe beispielsweise
die Fig. 10 in Verbindung mit Fig. 11a, wird im Statusändeningsfeld dieser letzten Miki ^Instruktion
(Bits 32 bis 37 gemäß Fig.9) die entsprechende Bit-Kombination mit der Bzeichnung »LDIR« (Lade
den Makroinstruktionsspeicher 65) erkannt, und zwar durch den Block 165 gemäß F i g. 9, der daraufhin das
Signal LDlR £N abgibt, das dem Verknüpfungsglied 122
(siehe F i g. 7b) zugeführt wird, welches daraufhin das Signal LDIR DISCON liefert und der Phantomlogik
to zuführt, siehe Fig.8 mitte. Die Phantomlogik wird
dadurch eingeschaltet und gleichzeitig ein Signal DISCONROM erzeugt, das zur Abschaltung des
Festwertspeichers 107 führt, siehe F i g. 7b.
Auf diese Weise wird gleichzeitig der Makroinstruktionsspeicher 65 von der Sammelschiene 57 mit einer
Makroinstruktion geladen und ein durch die Phantomlogik 112 erzeugte Phantom-Mikroinstruktion über
ausgewählte, in Fig.8 dargestellte Leitungen in den Puffer 108 geladen. Damit nicht während des Ladens des
μ Puffers 108 mit einer Phantom-Mikroinstruktion der
Festwertspeicher 107 dem Puffer 108 eine Mikroinstruktion
liefert, wird dieser Festwertspeicher 107 durch das Signal DISCON ROM vom Eingang des Puffers 108
abgetrennt Sollte gerade ein von der Bedienungskonso-Ie stammender besonderer Befehl anliegen, beispielsweise
ein Untersuchungsbefehl, ein Unterbrechungsbefehl oder ein Haltbefehl, der eine im Mikroinstruktionsfestwertspeicher
107 adressierbare Mikroinstruktion adressiert, wird das Signal »LDIR« aufgeschoben und
der Ausgang des Festwertspeichers 107 vom Puffer 108 nicht abgetrennt und die Erzeugung der Phantom-Mikroinstruktion
unterdrückt
Wie bereits erwähnt wurde, gibt es drei verschiedene
Arten von Phantom-Mikroinstruktionen, wobei sechs derartige Phantom-Mikroinstruktionen in der folgenden
Tabelle näher erläutert werden.
Tabelle II | AR | A | B | ALU | SH | L | CRY | MA | MC | RAN\ | RAN2 | Status | 1. ADR. | 2. ADR. |
LYB | Änderg. | |||||||||||||
SEX | PC | 9 | A1 | F9 | L | S | L | N | N | N | JUMP | GIRL | VERZÖGERT | |
SEX | GR 9 | 9 | A | F9 | L | N | L | N | N | N | IR 5 BDI | GIRL | VERZÖGERT | |
Phantom-Mikroinstruktionen | SEX | GR 9 | PC | A +B | Fi | L | N | L | N | N | N | IR 5 BDI | GIRL | VERZÖGERT |
Λ-Eingang | AR | GR 9 | AC1 | APB | F9 | L | N | L | N | N | N | IR 5 BDI | GIRL | VERZÖGERT |
GR 9 | AC3 | APB | F9 | L | N | L | N | N | N | IR 5 BDI | GIRL | VERZÖGERT | ||
D | PC | 9 | Ai | Fi | L | N | L | N | N | N | DECl | |||
2) | ||||||||||||||
3) | ||||||||||||||
4) | ||||||||||||||
5) | ||||||||||||||
6) | ||||||||||||||
Die erste Phantom-Mikroinstruktion (Nr. 1 der Tabelle), gekennzeichnet durch ein Signal ALCSKIP
mit niedrigem Potential (siehe dazu auch die Erläuterungen zur Tabelle I) in der gerade laufenden Makroinstruktion,
bewirkt in der Phantomlogik gemäß F i g. 8 die Erzeugung einer Phantom-Mikroinstruktion, die den
Programmzähler PC weiterschaltet, das Speicheradres- eo senregister mit dem Inhalt des Programmzählers lädt
und die Steuerung dem Mikrocode »GIRL« überträgt, der den Makroinstruktionsspeicher 65 erneut lädt, um so
den gewünschten Sprung zu erreichen.
Hinsichtlich der Spaltenbezeichnungen der Tabelle II sei auf die entsprechenden Spaltenbezeichnungen der
Tabelle gemäß Fig. 11b verwiesen, die sich auf die entsprechenden Steuerfelder der Mikroinstruktion
beziehen, die anhand der F i g. 9 näher erläutert wurden.
Die zweite Art von Phantom-Mikroinstruktion ist als Nr. 6 in der Tabelle II wiedergegeben, es handelt sich
um eine £"E4-Phantom-Mikroinstruktion. Insgesamt
werden drei Arten von Phantom-Mikroinstruktionen unterschieden: ALCSKIP, EFA und EFA.
Im Falle eines £K4-Phantoms wird der Programmzähler
PCm ähnlicher Weise erhöht und in den Speicher MA geladen, jedoch wird ein Signal DECi im
Statusändemngsfeld vorhanden sein, das dazu führt, daß während des nächsten Taktes bestimmte Bits der
Makroinstruktion zu einer Adresse codiert werden, auf die dann das Signal DECi die Steuerung überträgt.
Siehe in diesem Zusammenhang z. B. die in der Mitte von F i g. 1 la dargestellte Phantom-Mikroinstruktion.
Die dritte Phantomart wird von den Nr. 2,3,4 und 5
der Tabelle II gebildet Es handelt sich um Phantom-Mikroinstmktionen,
bei denen »EFA« vorhanden und »ALCSKJP« nicht vorhanden ist, wobei es sich um
Phantom-Mikroinstruktionen mit verschiedener Adressenberechnung
handelt Zum Beispiel wird der Wert »GR 0« (siehe in F i g. 2 den Speicherchip 75), welcher
Wert durch ein am A-Eingang des Datenspeichers 61 gemäß Fig.2 anliegendes Signal »SEX« (mit der
Bedeutung »Vorzeichen erweitert«) verändert wurde, zum Programmzähler /"Chinzu addiert und dann in den
Adressenspeicher geladen. Ein derartiger Betriebsablauf mit entsprechender Änderung des ProKrammflusses
tritt bei verschiedenen Makroinstruktionen auf. Die erzeugte Adresse kann die endgültige (effektive)
Adresse sein, oder es kann sich um eine Adresse einer Adresse handeln (indirekte Adresse). Festgestellt wird
" dies durch einen Test hinsichtlich des Statusändirungsfeldes
siehe Fig. 10. Wird dabei festgestellt, daß das
fünfte Bit der im Speicher 65 geladenen Makroinstruktion eine 1 ist ist die im »falschen« Steuerungsfeld (Bits
48 bis 55 gemäß Fig.9) (zweite Adresse) die
ausgewählte Adresse, die verzögert wird, um anzuzeigen, daß es sich um die Adresse einer Adresse handelt
Wenn andererseits sich eine 0 ergibt handelt es sich um die endgültige (effektive) Adresse.
In Fig. 10 sind diese verschiedenen Phantom-Mikroinstruktionsarten
in Form eines Flußdiagramms nochmals näher erläutert wobei in der Mitte der Fig. 10 nebeneinander die Programmflüsse für eine
Phantom-Mikroinstruktion »ALCSKIP«, EFA (und
nicht gleichzeitig ALCSKP)sowie EFA dargestellt sind.
Wie zu erkennen ist wird jeweils (von der Phantomlogik Π8) die entsprechende Phantom-Mikroinstruktion
(ALCSKP, EFA bzw. EFA) erzeugt die daraufhin in den Puffer 108 geladen wird.
Anschließend wird der Programmzähler um 1 erhöht und der Programmzähler im Adressenspeicher MA
geladen (bei ALCSKP und EFA), woraufhin in der
bereits geschilderten Weise bei ALCSKP der Sprung
erfolgt während bei EFA auf »DEC U übergegangen wird. Beim EFA-Phantom wird dagegen gemäß dem
Flußdiagramm der F i g. 10 zunächst die Anfangsadresse
erzeugt und dann geprüft ob es sich um die endgültige Adresse handelt
F i g. 10 zeigt auch zwei Flußdiagrammblöcke mit der
Bezeichnung DECi bzw. DECZ die jeweils zur Erzeugung eines Einschaltsignals DEC EN zur Aktivierung
des Decodierfestwertspeichers 105 zur Decodierung der Makroinstruktion zugeführt wird, siehe dazu
auch F i g. 7a. Das Vorhandensein von DEC EN führt zu der Lieferung einer ersten Gruppe von Adressen,
während das Signal DEC 2 Zugang zu einer zweiten Gruppe von Adressen ermöglicht die zu den Adressen
der ersten Gruppe unterschiedlich sein können.
Fig. 11a gibt dazu nähere Erläuterungen: Das
Diagramm zeigt ganz oben die vom Programmzähler angezeigte, als nächstes auszuführende Makroinstruktion
sowie darunter die gerade in Ausführung befindliche, aus drei Makroinstruktionen bestehende
Makroinstruktion. Die letzte Mikroinstruktion dieser Gruppe umfaßt das Signal LDIR, das zur Erzeugung
einer Phantom-Mikroinstruktion in der bereits geschilderten Weise führt und gleichzeitig den Makroinstruktionsspeicher
65 mit der nächsten (das ist die oben dargestellte) Makroinstruktion lädt, wie auch durch die
Blöcke »Erzeuge Phantom« und »Lade IR 65« erläutert wird.
Die durch die Phantomlogik 118 direkt von der Speichersammelleitung 57 abgeleitete Phantom-Mikroinstruktion
(unter Verwendung bestimmter Bits dieser Makroinstruktion) führt zu der bereits geschilderten
Erhöhung des Programmzählers, so daß nun der Programmzähler auf die nächste Makroinstruktion
zeigen wird. Außerdem ermöglicht die Phantom-Mikroinstruktion die Erzeugung eines Signals DECi,
wodurch eine Adresse für den Decodierfestwertspeieher
105 geliefert wird (von der bereits geschilderten ersten Gruppe von Signalen).
Es sei angenommen, daß die aufgerufene Makroinstruktion einen »Ladebyte« darstellt dem ein Mikroprogramm
mit einer Mikroinstruktion (Adresse ... 10) entspricht, die zumindest noch einem anderen Mikroprogramm
(z.B. einem Speicherbyte) gemeinsam ist Für diesen beiden Mikroprogrammen gemeinsamen
Teil ist die durch DECi bzw. DEC2 gegebene Verzweigung nützlich. Für den beiden Mikroprogrammen
gemeinsamen Teil, das ist hier die erste Mikroinstruktion nach der Phantom-Mikroinstruktion,
wird dies durch die «ZJfCl-Decodierung« erreicht
wobei diese Mikroinstruktion in ihrem Zustandsänderungssteuerfeld ein Signal »DEC2«. aufweist um die
Decodierung einer zweiten Gruppe von Signalen aus dem Prädecodiermultiplexer 104 (siehe Fig.5) zu
ermöglichen, durch die drei noch vei bleibenden Mikroinstruktionen (unten in F i g. 1 la) erzeugt werden,
die den restlichen Teil des Ladebyte-Mikroprogramms darstellen.
Die letzte Mikroinstruktion dieses Ladebyte-Mikroprogramms kann im Zustandsänderungsfeld entweder
wiederum ein Signal »DEC in oder ein Signal »DEC2«
enthalten, was zu den entsprechenden Sprüngen führen würde, gemäß der Darstellung der Fi g. 1 la enthält das
Zustandsänderungsfeld jedoch das Signal »LDIR«, was bedeutet daß wiederum eine Phantom-Mikroinstruktion
erzeugt wird, mit der das Makroinstruktionsregister 65 erneut geladen und der Programmzähler erhöht wird.
Der tatsächliche Bitinhalt in octaler Codierung ist in
Fig. 11b für eine derartige Mikroinstruktion des Ladebyte-Mikroprogramms dargestellt Für die Phantom-Mikroinstruktion
ist der Programmzähler PC nur ein Teil des Registers 61 ^-Eingang), dessen Inhalt
innerhalb des ALU 62 um 1 erhöht und dann unverändert durch die Verschiebeeinrichtung 63 gemäß
F i g. 1 verschoben (Fu) wird, um dann zurück in das entsprechende Register PCats Speicherstil geladen zu
werden, wodurch PC+1 —■ PC wird. Obwohl auch das
Speicheradressenregister (in F i g. 1 Ib mit MA bezeichnet)
aktiviert wird, um den Ausgang des Addierers dort einzuladen, wird durch die Hardware dieser Vorgang
unterdrückt. Das Statusänderungsfeld verlangt nach einem Signal DECi, siehe auch Tabelle II, wodurch
mittels der Bits RBUF33 ... 37 ein Signal DECEN
geliefert wird.
Auf eine nähere Erläuterung der folgenden Mikroinstruktionen sei verzichtet.
In Fig. 12 ist in Form eines Flußdiagramms dargestellt, wie die Datenverarbeitungsanlage bei einem Signal »JMPSR« im Statusänderungsfeld 32 ... 37 arbeitet. Zunächst werden die Bits 40—47 des Puffers 108 in den Truadmultiplexer geleitet wo sie aufgrund des Signals »RASEL« zusammen mit den Bits 38, 39 durchgeleitet werden, wobei die letztgenannten Bits die adressierte Seite des Festwertspeichers 107 festlegen (PG = PAGE = Seite). Die von diesen Bits 38, 39 der im Puffer 108 gespeicherten Mikroinstruktion festgelegte
In Fig. 12 ist in Form eines Flußdiagramms dargestellt, wie die Datenverarbeitungsanlage bei einem Signal »JMPSR« im Statusänderungsfeld 32 ... 37 arbeitet. Zunächst werden die Bits 40—47 des Puffers 108 in den Truadmultiplexer geleitet wo sie aufgrund des Signals »RASEL« zusammen mit den Bits 38, 39 durchgeleitet werden, wobei die letztgenannten Bits die adressierte Seite des Festwertspeichers 107 festlegen (PG = PAGE = Seite). Die von diesen Bits 38, 39 der im Puffer 108 gespeicherten Mikroinstruktion festgelegte
gegenwärtige Seite wie auch die von den Bits 48—55 festgelegte »falsche« (d. h. zweite) Adresse werden dann
dem μ;8ΙΙ-Ι^5ΐεΓ 111 (siehe Fig.5) zugeleitet,
wodurch ermöglicht wird, zu einer späteren Zeit auf diese Mikroinstruktion zurückzuspringen, deren Adresse
zu einem späteren Zeitpunkt eine Adresse des μ]5ΙΙ-Κ^ί5ΐεΓ5 sein kann. Realisiert wird dies durch ein
Signal RTRN im Zustandsänderungsfeld, das zusammen
mit entsprechenden Informationen über die Seite (Bits
38, 39) hinsichtlich des μ^^ε^ε« festlegt, auf
welcher Seite die für dis Rückkehr notwendigen 10 Bitadressen vorhanden sind.
Ist dagegen im Statusänderungsfeld das Signal »RETSAV« vorhanden, wird gleichzeitig ein Rücksprung
durchgeführt und die gegenwärtige »falsche« Adress8 (Bits 48 ... 55) im μJSR-Rεg^stεr 11
gespeichert.
Hierzu 14 Blatt Zeichnungen
Claims (7)
1. Verfahren für die Erzeugung und Ausführung der Anfangs-Mikroinstruktion einer zur Ausführung s
einer Makroinstruktion dienenden Mtkroinstruktionsfolge für einen Mikroprogrammprozessor für
eine Datenverarbeitungsanlage, die folgende Merkmale aufweist: Hauptspeichereinrichtungen (52) zum
Speichern von aus Bit-Folgen bestehenden Makroinstruktionen und Daten, eine zentrale Verarbeitungseinheit (CPU, 51) zur Verarbeitung der Daten,
eine Speichersammeischiene (57) zur Datenübertragung zwischen den Hauptspeichereinrichtungen (52)
und zumindest der CPU (51), die den Mikropro- is grammprozessor (66) enthält, wobei die Speichersammeischiene (57) von den Hauptspeichereinrichtungen (52) Speicher-Ausgangssignale, di-i die
Makroinstruktionen repräsentieren, an den Mikroprogrammprozessor (66) sowie an ein Makroin-
struktions-Zwischenregister (65) leitet, wobei das
Makroinstruktions-Zwischenregister (65) jeweils eine der Makroinstruktionen (MI) aufnimmt, Mikroinstruktions-Steuerspeicher-Einrichtungen (106,
107), die einzeln adressierbare Mikroinstruktionen (μ /) einer Mikroinstruktionsfolge enthalten und
aufgrund einer in Bearbeitung befindlichen Makroinstruktion (MIn) an die Speichersammelschienen-Einrichtungen (57) abzugeben in der Lage sind,
den Mikroinstruktions-Steuerspeicher-Einrichtungen (106,107) nachgeschalteten Mikroinstruktions-Dekodiereinrichtungen (69) zur Ableitung von
Dekodier-Steuersignalen aus den Mikroinstruktionen, sowie eine als Mikroinstruktions-Generator
arbeitende Phantomlogik (112), die den Speichersammelschienen-Einrichtungen (57) nachgeschaltet
ist, um bestimmte Bit-Kombinationen (Bits 10, U, 13—15, Fig.8) der Speicherausgangssignale, die
Teile der in den Speichersammelschienen-Einrichtungen (57) vorhandenen Makroinstruktionen (MIn) w
repräsentieren, aufzunehmen, und eine eine Phantom-Mikroinstruktion darstellende Bit-Kombination
zu erzeugen, wobei Puffereinrichtungen (108) sowohl den Mikroinstruktions-Steuerspeicher-Einlichtungen (106, 107) als auch der steuerbaren
Phantomlogik (112) zur selektiven Aufnahme und Speicherung von jeweils einer Mikroinstruktion zu
einer bestimmten Zeit nachgeschaltet sind und die Mikroinstruktions-Dekodiereinrichtungen (69) den
Puffereinrichtungen (108) nachgeschaltet sind, um so
Steuersignale für zumindest den Mikroprogrammprozessor (66) zu liefern, gekennzeichnet
durch die folgenden Verfahrensschritte (Fig. 13a):
a) Aktivieren des Makroinstruktions-Zwischenregisters (65) aufgrund von Steuersignalen (LDIR
EN-LDIR DISCON-*LDIR CLK, Fig. U.
7b, 6), die die Mikroinstruktions-Dekodiereinrichtungen (69, F i g. 5) aus der gegenwärtig in
den Puffereinrichtungen (108) befindlichen «) Mikroinstruktion dekodiert hat (aus LDlR), um
von den Speichersammelschienen-Einrichtungen (57) die nächste Makroinstruktion (MI„+\)
aufzunehmen;
b) Aktivieren der steuerbaren Phantomlogik (112)
aufgrund von bestimmten Steuersignalen (LDIR DISCON, F i g. 8), die aus den Steuersignalen (LDIR EN) der Mikroinstruktions-De-
kodiereinrichtungen (69, Fig.5) abgeleitet
werden, um bestimmte Bits (z. B. 0,1,2; 6,7; 10,
11, 13—15) der Speicherausgangssignale der Hauptspeichereinrichtungen (52), die Teile
dieser nächsten Makroinstruktion (MIa+\) repräsentieren, aufzunehmen und nach Verknüpfung miteinander und/oder mit Steuersignalen
(z. B. LDIR, DISCON, CARRY. ALC) (Bits 10.
11, CARRY—CRYEN, Bits 13-15, ALC,
CARRY, CRYEN-ALCSKP, LDIRDIS-CON-*PHANINST, Fig.8) an die Puffereinrichtungen (108) zu liefern (ROM4—5, 8
bis 11, 20,23,37,44 gemäß F i g. 8), so daß die
erste Mikroinstruktion der die nächste Makroinstruktion (AfIn+]) repräsentierenden Folge
von Mikroinstruktionen in den Puffereinrichtungen (108) enthalten ist
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die zur Aktivierung der Phantomlogik
(112) dienenden Steuersignale (LDIR EN-LDIR-
DISCON) aus einem bestimmten Bitfeld (Statusänderungsfeld, Bits 32...37, Fig. U) der in den
Puffereinrichtungen (108) befindlichen Mikroinstruktion durch Ansteuerung eines mehrere Steuersignale enthaltende Festwertspeichers (165, F i g. 11)
gewonnen wird.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die von der Phantomlogik (112)
erzeugte und in die Puffereinrichtungen (108) geladene Mikroinstruktion den Makroinstruktionszähler (PC) erhöht und so das Auslassen einer
Makroinstruktion bewirkt (ALCSKP-Ph&ntom).
4. Verfahren nach Anspruch 2, wobei der Mikroprogrammprozessor (66) noch den Mikroinstruktions-Steuerspeicher-Einrichtungen (106, 107)
vorgeschaltete Makroinstruktions-Dekodiereinrichtungen (105) zur Lieferung von Makroinstruktions-Adressensignalen aufweist, dadurch gekennzeichnet,
daß der mehrere Steuersignale enthaltende Festwertspeicher (165, F i g. 11) bei anderen Bit-Konfigurationen (z. B. DECl, DEC2 gemäß Fig. 13a) des
Statusänderungsfeldes (Bits 32... 37, F i g. 11) Steuersignale (z. B. DECEN, DECX E i g. 11) liefert
und diese den Makroinstruktions-Dekodiereinrichtungen (105) zuführt (siehe F i g. 7a, oben).
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß die von der Phantomlogik (112)
erzeugte und in die Puffereinrichtungen (108) geladene Mikroinstruktion aus dem Statusänderungsfeld (DECi, Tabelle VI) Steuersignale
(DECEN—DEC1) diese zur Gewinnung der
Adresse der nächsten Makroinstruktion aus bestimmten Bits der im Makroinstruktions-Zwischenregister (65) gespeicherten Makroinstruktion der
Makroinstruktions-Dekodiereinrichtung (105) zuführt (EFA- Phantom).
6. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß die von der Phantomlogik (112)
erzeugte und in die Pufferrichtung (108) geladene Mikroinstruktion aus dem Statusänderungsfeld (IR 5
BDI, Tabelle VI) Steuersignale zur Berechnung eines zum Inhalt des Makroinstruktions-Zählers (PC)
hinzuzufügenden Wertes (GRO) umfaßt um einen Makroinstruktions-Sprung durchzuführen (EFA-Phantom).
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß die durch die Berechnung erzeugte
Adresse eine indirekte Adresse ist und daß ein bestimmtes Bit der im Makroinstruktions-Zwischenregister (65) gespeicherten Makroinstruktion dies
anzeigt (5. Bit im Zwischenregister 65).
Die Erfindung betrifft ein Verfahren für die Erzeugung und Ausführung der Anfangsmikroinstruktion einer zur Ausführung einer Makroinstruktion
dienenden Mikroinstruktionsfolge für einen Mikroprogrammprozessor für eine Datenverarbeitungsanlage
gemäß dem Oberbegriff des Hauptanspruchs.
Mikroprogrammgesteuerte Datenverarbeitungsanlagen sind aus verschiedenen Druckschriften bekannt, es
sei dazu beispielsweise auf die US-Patentschriften 30 27 081, 34 45 818, 35 18 632 sowie 36 89 895 verwiesen.
Aus der letztgenannten Druckschrift ist insbesondere
eine Datenverarbeitungsanlage bekannt, die neben Hauptspeichereinrichtungen zum Speichern von aus
Bitfolgen bestehenden Makroinstruktionen und Daten, einer zentralen Verarbeitungseinheit zur Verarbeitung
der Daten, einer Speichersammeischiene zur Datenübertragung zwischen den Hauptspeichereinrichtungen
und der zentralen Verarbeitungseinheit auch in dieser zentralen Verarbeitungseinheit enthaltende Mikroprogrammprozessoreinrichtungen enthält Bei dieser Da-
tenverarbeitungsanlage geht es im wesentlichen um das Problem, die Arbeitsgeschwindigkeit von durch Mikroinstruktionen gesteuerten Prozessoren hinsichtlich
Verzweigungs- und Sprungoperationen innerhalb der Mikroinstruktionsfolge zu erhöhen. Es wird ausgeführt,
daß üblicherweise Mikroinstruktionen aus dem zugehörigen Speicher in kürzerer Zeit ausgelesen werden, als
Zeit vergeht, bis sie ausgeführt und die nächste Mikroinstruktion ausgewählt ist Dies gilt allerdings
nicht, wenn innerhalb einer Mikroinstruktionsfolge eine Programmverzweigung, ein Sprung oder eine Übertragung stattfindet, oder wenn von einer Mikroinstruktionsfolge zu einer anderen übergegangen werden soll.
Um auch in diesen Fällen keine Verarbeitungsverlangsamung zu bekommen, werden gemäß dieser Druck-
schrift mehrere Prozessoren parallel zueinander betrieben. Auf diese Weise kann gleichzeitig in einem
Prozessor eine Mikroinstruktion eingelesen und in einem anderen eine Mikroinstruktion ausgeführt werden. Obwohl dieses Verfahren die Arbeitsgeschwindig-
keit innerhalb der Mikroinstruktionsfolge erhöht, ist der apparative und steuerungstechnische Aufwand beträchtlich. Zudem wird ein anderes Problem nicht
angesprochen und auch nicht gelöst:
Die Zeit zum Auslösen einer jeweils neuen Folge von Mikroinstruktionen aufgrund einer zugehörigen Makroinstruktion stellt gleichfalls einen erheblichen Anteil
der gesamten erforderlichen Rechenzeit dar und sollte daher so kurz wie möglich gemacht werden, insbesondere gilt dies für solche Makroinstruktionen und
zugehörige Mikroinstruktionsfolgen, die im Verlauf eines Programms sehr häufig auftreten. Bisher mußte
zum Auslösen derartiger Mikroinstruktionsfolgen außerdem erst immer gewartet werden, bis der geeignete
Abschnitt einer Mikroinstruktionsfolge sowie der zugehörige Taktimpuls auftraten. Von Interesse ist auch
in diesem Zusammenhang die US-PS 35 99 176, weil dort ein Verfahren beschrieben wird, mit dem eine erste
Mikroinstruktion erzeugt werden kann, ähnlich wie bei der DE-AS 12 50 659, aus der zu entnehmen ist, daß es
bereits zum Stand der Technik gehört, mit Hilfe einer Makroinstruktion die am Beginn einer Mikroinstruktionsfolge zur Ausführung der Makroinstruktion stehende Mikroinstruktion festzulegen, wobei diese Verfahrensweise bei einer Mikroprogrammgesteuerten Datenverarbeitungsanlage angewendet wird, bei der eine
Makroinstruktion nicht nur die erste Mikroinstruktion festlegt
Bei beiden Druckschriften sind die zu einer Makroinstruktion gehörenden Mikroinstruktionen, insbesondere die jeweilige Anfangsmikroinstruktion, in
einem entsprechenden Speicher enthalten, aus dem sie dann aufgrund des Makrobefehls in der richtigen
Reihenfolge ausgelesen werden. Das Auslesen derartiger Mikroinstruktionen kostet aber Rechenzeit, und es
würde die Geschwindigkeit einer Datenverarbeitungsanlage erheblich steigern, wenn zumindest für die
Anfangsmikroinstruktion von häufig auftretenden Mikroinstruktionsfolgen dieser Auslesevorgang aus einem
Mikroinstruktionsspeicher vermieden werden kann.
Aufgabe der vorliegenden Erfindung ist es, ein Verfahren für die Erzeugung und Ausführung der
Anfangsmikroinstruktion einer zur Ausführung einer Makroinstruktion dienenden Mikroinstruktionsfolge zu
schaffen, bei dem dieses zeitraubende Auslesen aus einem Speicher vermieden wird.
Gelöst wird die Aufgabe durch die Verfahrensmerkmale des Hauptanspruchs, also im wesentlichen
dadurch, daß für bestimmte, häufig auftretende Mikroinstruktionsfolgen die Anfangsmikroinstruktion nicht aus
einem Mikroinstruktionsspeicher entnommen wird, sondern durch Dekodierung bestimmter Teile der
Makroinstruktion erzeugt wird, was nicht nur die Zeit für den Lesevorgang einspart, sondern auch noch das
Abwarten eines Taktsignals entbehrlich macht und so in vielen Fällen weitere Zeiteinsparungen ermöglicht
Die Erzeugung der ersten Mikroinstruktion aus bestimmten Teilen, nämlich ganz bestimmten Bits der
Makroinstruktion erfolgt mit Hilfe einer sogenannten steuerbaren Phantomlogik, die ihrerseits durch Steuersignale aktivierbar ist die aus einer vorhergehenden
Mikroinstruktion (insbesondere der letzten Mikroinstruktion der vorhergehenden Folge von Mikroinstruktionen) ableitbar ist
Die erfindungsgemäße Verfahrensweise ist gegenüber dem Stand der Technik, repräsentiert durch die
US-PS 35 99 176, nicht nur neu, sie ist auch durch den
Stand der Technik nicht nahegelegt Zwar zeigt die US-PS 35 99 176 bereits einen Speicher 1, einen
Programmzähler 3 für den Speicher und eine Speichersammeischiene, die ein Register 5 (örtlicher Datenspeicher) mit einer »Steuerspeichereinrichtung« 11 verbindet, jedoch zeigt die Druckschrift keinen Mikroprogrammprozessor mit unabhängigem Mikroinstruktionssteuerspeicher, noch beschreibt sie eine Verfahrensweise zur Erzeugung einer anfänglichen Mikroinstruktion
eines Mikroprogramms direkt aus einer Makroinstruktion, die an einer Makroinstruktionsausgangssammelschiene erscheint
Die Unteransprüche befassen sich mit vorteilhaften Weiterbildungen des erfindungsgemäßen Verfahrens.
So beschreibt Anspruch 2, wie die zur Aktivierung der Phantomlogik dienenden Steuersignale aus einem
bestimmten Bitfeld der gerade in den Puffereinrichtungen befindlichen Mikroinstruktion durch Ansteuerung
eines FestwertsDeichers eewonnen wird. Auch An-
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19752560129 DE2560129C2 (de) | 1974-09-25 | 1975-09-25 | Verfahren für die Erzeugung und Ausführung der Anfangsmikroinstruktion einer zur Ausführung einer Makroinstruktion dienenden Mikroinstruktionsfolge |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/509,186 US3990052A (en) | 1974-09-25 | 1974-09-25 | Central processing unit employing microprogrammable control for use in a data processing system |
DE19752560129 DE2560129C2 (de) | 1974-09-25 | 1975-09-25 | Verfahren für die Erzeugung und Ausführung der Anfangsmikroinstruktion einer zur Ausführung einer Makroinstruktion dienenden Mikroinstruktionsfolge |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2560129C2 true DE2560129C2 (de) | 1982-11-04 |
Family
ID=25769818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19752560129 Expired DE2560129C2 (de) | 1974-09-25 | 1975-09-25 | Verfahren für die Erzeugung und Ausführung der Anfangsmikroinstruktion einer zur Ausführung einer Makroinstruktion dienenden Mikroinstruktionsfolge |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE2560129C2 (de) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1250659B (de) * | 1964-04-06 | 1967-09-21 | International Business Machines Corporation, Armonk, NY (V St A) | Mikroprogrammgesteuerte Datenverarbeitungsanlage |
US3445818A (en) * | 1966-08-01 | 1969-05-20 | Rca Corp | Memory accessing system |
US3518632A (en) * | 1966-06-02 | 1970-06-30 | Automatic Telephone & Elect | Data processing system utilizing stored instruction program |
US3599176A (en) * | 1968-01-02 | 1971-08-10 | Ibm | Microprogrammed data processing system utilizing improved storage addressing means |
US3689895A (en) * | 1969-11-24 | 1972-09-05 | Nippon Electric Co | Micro-program control system |
-
1975
- 1975-09-25 DE DE19752560129 patent/DE2560129C2/de not_active Expired
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1250659B (de) * | 1964-04-06 | 1967-09-21 | International Business Machines Corporation, Armonk, NY (V St A) | Mikroprogrammgesteuerte Datenverarbeitungsanlage |
US3518632A (en) * | 1966-06-02 | 1970-06-30 | Automatic Telephone & Elect | Data processing system utilizing stored instruction program |
US3445818A (en) * | 1966-08-01 | 1969-05-20 | Rca Corp | Memory accessing system |
US3599176A (en) * | 1968-01-02 | 1971-08-10 | Ibm | Microprogrammed data processing system utilizing improved storage addressing means |
US3689895A (en) * | 1969-11-24 | 1972-09-05 | Nippon Electric Co | Micro-program control system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2542751C2 (de) | Datenverarbeitungsanlage | |
DE2542740C2 (de) | Datenverarbeitungsanlage mit einer Mikroprogrammsteuerung | |
DE2813128C2 (de) | Steuereinrichtung für Mikroprogrammspeicher | |
EP0097725B1 (de) | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen | |
DE1774296C2 (de) | Restruktuierbare Steuereinheit für elektronische Digitalrechner | |
DE2117936B2 (de) | Mikroprogrammgesteuerte Zentraleinheit eines elektronischen Datenverarbeitungssystems | |
DE2835095C2 (de) | Digitale Rechenanlage mit einem ersten und mindestens einem zweiten miteinander koppelbaren mikroprogrammierten Prozessoren | |
DE2318069C2 (de) | Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix | |
DE2611892C2 (de) | Mikroprogramm-Steueranordnung | |
EP0010185B1 (de) | Virtuell-Adressiervorrichtung für einen Computer | |
DE2536622C2 (de) | Verzweigungssteuerung mit flexibler Auswahl von Steuerworten | |
DE2735814A1 (de) | Datenverarbeitungseinrichtung | |
DE2001664A1 (de) | Anordnung und Verfahren zur Programmverzweigung in einem elektronischen Digitalrechner | |
DE2556624C2 (de) | Verfahren und Schaltungsanordnung zur asynchronen Datenübertragung | |
DE2719635A1 (de) | Anordnung fuer eine erweiterung einer mikroprogrammsteuerung einer datenverarbeitungsanlage | |
DE3688232T2 (de) | Datenverarbeitungssystem. | |
DE2746505C2 (de) | ||
DE3114921C2 (de) | Mikroprogramm-Speicheranordnung | |
DE2524046A1 (de) | Elektronische datenverarbeitungsanlage | |
DE2548720C2 (de) | Mikroprogramm-Steuerwerk | |
DE2617485A1 (de) | Verfahren und schaltungsanordnung zur abarbeitung von mikrobefehlsfolgen in datenverarbeitungsanlagen | |
DE2835110A1 (de) | Schneller echtzeit-rechneremulator | |
DE2336676B2 (de) | Einrichtung zur Modifizierung von Mikroprogrammbefehlen | |
DE3138897C2 (de) | Schaltungsanordnung zum Ausrichten von Speicheroperanden für dezimale und logische Befehle | |
DE2906685A1 (de) | Instruktionsdecodierer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OI | Miscellaneous see part 1 | ||
OI | Miscellaneous see part 1 | ||
OI | Miscellaneous see part 1 | ||
OD | Request for examination | ||
AC | Divided out of |
Ref country code: DE Ref document number: 2542751 Format of ref document f/p: P |
|
D2 | Grant after examination | ||
8339 | Ceased/non-payment of the annual fee | ||
8370 | Indication of lapse of patent is to be deleted | ||
8339 | Ceased/non-payment of the annual fee |