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 Mikroinstruktionsfolge

Info

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
Application number
DE19752560129
Other languages
English (en)
Inventor
Ronald Hans Framingham Mass. Gruner
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.)
EMC Corp
Original Assignee
Data General Corp
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
Priority claimed from US05/509,186 external-priority patent/US3990052A/en
Application filed by Data General Corp filed Critical Data General Corp
Priority to DE19752560129 priority Critical patent/DE2560129C2/de
Application granted granted Critical
Publication of DE2560129C2 publication Critical patent/DE2560129C2/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

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
Tabelle I Codierung von Sprungfunktionen
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:
Sprungbezeichnung
IR-Bits 13
14
15
Sprung-Funktion
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
Adresse) ausgewählt werden kann. Die Bits 38, 3S
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
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)

Patentansprüche:
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-
DE19752560129 1974-09-25 1975-09-25 Verfahren für die Erzeugung und Ausführung der Anfangsmikroinstruktion einer zur Ausführung einer Makroinstruktion dienenden Mikroinstruktionsfolge Expired DE2560129C2 (de)

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)

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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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
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
DE1774296B2 (de) Restruktuierbare Steuereinheit für elektronische Digitalrechner
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