DE2542751C2 - Datenverarbeitungsanlage - Google Patents
DatenverarbeitungsanlageInfo
- Publication number
- DE2542751C2 DE2542751C2 DE2542751A DE2542751A DE2542751C2 DE 2542751 C2 DE2542751 C2 DE 2542751C2 DE 2542751 A DE2542751 A DE 2542751A DE 2542751 A DE2542751 A DE 2542751A DE 2542751 C2 DE2542751 C2 DE 2542751C2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- microinstruction
- address
- phantom
- macro
- 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)
- Advance Control (AREA)
- Programmable Controllers (AREA)
Description
Die Erfindung betrifft eine Datenverarbeitungsanlage, mit Hauptspeichereinrichtungen zur Speicherung
von aus Bitfolgen bestehenden Makroinstruktionen und Daten, einer zentralen Verarbeitungseinheit (CPU) zur
Verarbeitung der Daten, einer Speichersammelschiene zur Datenübertragung zwischen den Hauptspeichereinrichtungen und zumindest der CPU, die einen
Mikroprogrammprozessor enthält, welcher mit einem einzeln adressierbare Mikroinstruktionen enthaltenden
Mikroinstruktionsspeicher, einem dem Mikroinstruktionsspeicher nachgeschalteten Pufferspeicher, der
seinerseits in eine Mikroinstruktionsdecodiereinrichtung zur Ableitung von Decodiersteuersignalen aus den
Mikroinstruktionen einspeist, und mit Einrichtungen zur Adressierung des Mikroinstruktionsspeichers aufgrund
einer in Bearbeitung befindlichen Makroinstruktion (auf Speichersammelschiene 57 zur Verfügung), welche
durch die Mikroinstruktion ausgeführt wird, und zur Lieferung einer nächsten Mikroinstruktion von der
Speichereinrichtung an die Mikroinstruktionsdecodiereinrichtung versehen ist
Eine derartige Datenverarbeitungsanlage ist aus der US-PS 36 89 895 bereits bekannt Diese Druckschrift
beschäftigt sich im wesentlichen mit dem Problem, die Arbeitsgeschwindigkeit von durch Mikroinstmktionen
gesteuerten Prozessoren hinsichtlich Verzweigungsund Sprungoperationen innerhalb der Mikroinstruktionsfolge zu erhöhen. Es wird ausgeführt, daß
Mikroinstruktionen aus dem zugehörigen Speieher 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 bekom-
men, werden gemäß dieser Druckschrift mehrere
Prozessoren parallel zueinander betrieben. Auf diese Weise kann gleichzeitig in einen Prozessor eine
Mikroinstruktion eingelesen und in einem anderen eine Mikroinstruktion ausgeführt werden. Obwohl dieses
Verfahren die Arbeitsgeschwindigkeit innerhalb der Mikroinstruktionsfolge erhöht, ist der apparative und
steuerungstecbnische 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 Mikroinstniktionen 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 immer erst gewartet werden, bis der geeignete
Abschnitt einer Mikroinstruktionsfolge sowie der zugehörige Taktimpuls auftraten.
Aufgabe der Erfindung ist es, eine Datenverarbeitungsanlage der eingangs genannten Art so auszugestalten, daß zumindest für einige, häufig auftretende
Mikroinstruktionsfolgen die Auslösezeit für die erste Mikroinstruktion dieser Mikroinstruktionsfolgen verringert wird.
Gelöst wird diese Aufgabe durch eine die Speichersammeischiene über den Pufferspeicher direkt mit der
Mikroinstruktionsdecodiereinrichtung verbindende Phantomlogik, welche durch bestimmte Bitkombinationen der auf der Speichersammeischiene zur Verfugung
stehenden Makroinstruktion einschaltbar ist und die die Mikroinstruktionsdecodiereinrichtung mit der ersten
Mikroinstruktion (Phantom-Mikroinstruktion) der die auf der Speichersammeischiene zur Verfügung stehenden Makroinstruktion ausführenden Folge von Mikroinstniktionen versorgt
Durch diese direkte Verbindung zwischen der jeweils eine Makroinstruktion führenden Speichersammeischiene und der mit der Mikroinstruktionsdecodiereinrichtung verbundenen Phantomlogik erspart man sich
für die durch die Phantomlogik erzeugbaren Mikroinstniktionen das zeitraubende Auslesen dieser Mikroinstruktion nus dem Mikroinstruktion.^speicher.
Wie beim Stand der Technik könnte der Mikropro zessor mit einem Speicher und einem Zähler für
Makroinstruktionen und einem Speicher für Instruktionsadressen verbund™ sein, in welchem Falle es
gemäß einer Ausgestaltung der Erfindung günstig ist, wenn eine erste Phantom-Mikroinstruktionsart, welche
durch ein erstes Signal erzeugt wird, den Makroinstruktionszähler erhöht, den Adressenspeicher mit dem
Inhalt des Mak?oinstruktionszählers lädt und die Steuerung auf eine Mikroinstruktion überträgt, die die
zugehörige Makroinstruktion in den Makroinstruktionsspeicher lädt, so daß ein Makrobefehl ausgelassen
wird.
Besteht gemäß dem Stand der Technik die Mikroinstruktion aus mehreren Bitgruppen (Feldern), die auf
jeweils unterschiedliche Teile des Mikroprozessors einwirken, ist es gemäß einer weiteren Ausgestaltung
der Erfindung günstig, wenn eine zweite Phantom-Mikroinstruktionsart nach Erhöhung des Makroinstruktionszählers und Ladung des Adressenspeichers ein
bestimmtes Feld der im Pufferspeicher befindlichen Mikroinstruktion überprüft und bei dessen Vorhandensein aus ausgewählten Bits der im Makroinstruktions
speicher vorhandenen Makroinstruktion eine Adresse decodiert und die zugehörige Makroinstruktion in das
Makroinstruktionsregister lädt.
Gemäß einer noch anderen Ausführungsform der
Erfindung addiert eine dritte Phantom-Mikroinstruktionsart zum Makroinstruktionszähler einen Wert und
lädt das Ergebnis in den Adressenspeicher, so daß in der Makrobefehlsebene ein Sprung durchgeführt wird.
Dabei kann die errechnete Adresse im Adressenspei
eher auch eine indirekte Adresse sein, also eine Adresse
einer Adresse.
Der Phantomlogik kann gemäß einer noch anderen Ausführungsform der Erfindung ein Verknüpfungsglied
vorgeschaltet sein, das von einem das Laden des
is Makroinstruktionsregisters auslösenden Signal angesteuert wird und an die Phantomlogik ein Aktivierungssignal liefert Die Phantomlogik kann im übrigen so
ausgestaltet sein, daß bei Aktivierung durch das Aktivierungssignal sie an den Mikroinstruktionsspei
eher ein Unterdrückungssignal liefiri.
Weitere Vorteile und Anwendungsmöglichkeiten der Erfindung ergeben sich aus der Darstellung von
Ausführungsbeispielen sowie aus der folgenden Beschreibung: es zeigt
F i g. 1 ein allgemeines Blockdiagramm der Datenvera rbei tungsanlage;
F i g. 2 ein schematisches Blockdiagramm des in Fi 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 nachgeschalteteii 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-Co-
diermultiplexer, ein /Ä-Codierregister und ein /Λ-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, mi» einem IR-Deco
dierfestwertspeicher, einem jt/SÄ-Register, einem
Truadmultiplexerregister und einem Festwertadressenregister;
F i g. 8 ein detailliertes schematisches Diagramm der in F i g. 5 dargestellten Phantomlogik 112;
so F i g. 9 ein schematisches Blockdiagramm der Mikrobefehlsfelder und der Mikrodecodiersteuerlogik 69 der
F i g. 1; und
Fig. 10, 11a, 11b und 12 Flußdiagramme zur
Erläuterung der Arbeitsweise der erfindungsgenäßen
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 CPUführt auch alle Makroinstruktionen aus
und bestimmt dere*? 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 Peranden (d. 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 Datenverarbeitungsanlage, mit einer zentralen Verarbeitungseinheit (CPU)HX, einer oder mehreren Speichereinheiten
52 (Hauptspeicher), einem Speicheradressenmultiplexer
53 und einem Eingabe-/Ausgaberegistermultiplexer 54
zur Steuerung von Ein-/Ausgabeeinrichtungen 55. Der Ausgang des Ein-/Ausgaberegistermultiplexers 54 steht
über ein NAND-Verknüpfungsglied 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 Hauptspeicher 52. Die Datensammelschiene 59 sorgt für die Übertragung von Daten
zwischen der Ein-/Ausgabeeinrichtung 55, dem Ein-/ Ausgaberegistermultiplexer 54 und dem Verknüpfungsglied 56, das durch ein Signal mit der Bezeichnung
//OßL/FOt/Taktivierbar ist. In umgekehrter Richtung
ergibt sich ein Zugang zur Ein-/Ausgabeeinrichtung 55 vom Hauptspeicher 52 über die Speichersammeischiene
57, den Ein-/Ausgaberegistermultip!exer 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, Ad,
AC2 und A'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 Sund zwei Eingänge A und Caufweist, wobei die Ausgänge A und S mit der arithmetisch-logischen Einheit (ALU)62 verbunden sind. Der Ausgang
des ALU'62 ist mit einer in Fig.4 näher dargestellten
Verschiebeeinrichtung 63 verbunden, deren Ausgang zum /^-Eingang der Registertafel 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 /4-Eingangsdatenlogik verbunden ist Der B-Ausgang der Registerdatei 61 wiederum ist mit einem Eingang der Λ-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 A LU62 ist mit der Adressensammelschiene fiber 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 ALU62
und des Speicheradressenmultiplexers 53, wobei gleichzeitig Daten in den Hauptspeicher 52 eingeführt
werden.
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 MEMerzeugt, um die Verknüpfungsglieder
60, 60' durch die Steuersignale BOUTund 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
ii /4-Eingangsdatenlogik 64 verbunden, während ein
zweiter Ausgang über einen Prädecodiermultiplexer mit einem Mikroprozessor 66 in Verbindung steht, der aus
einer Mikroinstruktionsadressierlogik 68 mit darin gespeicherten Mikroinstruktionen und einem Ausgiings
puffer 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
Der Ausgang des Blockes 68 liefert auch Signale an die /4-Eingangsdatenlogik 64, der außerdem ein
Vorzeichenerweiterungssignal zum Zwecke der Berechnung von effektiven Adressen fEF/4,^zugeführt wird, wie
in später noch näher erläutert wird.
Wie der F i g. 2 zu entnehmen ist, die den Dptenspeicher 61 der CPUSi in größeren Einzelheiten zeigt,
umfaßt die CPUBi insgesamt anht Register, und zwar vier Akkumulatoren ACO, Ad, AC2 und AC3. drei
υ allgemeine Register GRO, GRi und GR 2 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
in 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.
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 F i g. 4 dargestellte Verschiebeeinrichtung 63 liefert Signale
so SHIFTO... SHIFT 15 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 vorharJenen
Eingängen C werden wiederum von der Speichersammeischiene 57 Signale AiFAfO ... MEMiS zugeführt.
Die Leseausgangssignale der Plättchen 71 bis 78, bezeichnet mit A 0, A 1... A 15 laufen zur M-SeHe des
ALU62, 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 ... MEM15 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 SN74S181 der
Firma Texas Instruments Co. Jeder der integrierten Bausteine 81 bis 84 akzeptiert esien A- ™Ή einen
B-Eingang von jeweils 4 Bits.
Ein jeweils auftretender Übertrag wird durch ein Signal CRY gekennzeichnet. Die Bausteine erzeugen
Ausgangssignale ALU von 4 Bit sowie jeweils auch wieder ein den Obertrag anzeigendes Signal CR Y.
Die von den /ILLZ-Bausteinen auszuführenden Funk- >
tionen werden durch Steuerungssignale bewirkt, die mit ALUSO... ALU S3 sowie als Logikmodus bezeichnet
werdo. Diese Steuersignale werden von der Mikroprogrammifistruktion
abgeleitet, wie im folgenden noch näher erläutert wird. Der Ausgang der -4LL/-Bausteine in
steht nicht nur mit der Verschiebeeinrichtung 63 in Verbindung, wie in Fig. 1 dargestellt, sondern auch
noch mit der Speichersammeischiene 57 über eine Serie von NAND-Verknüpfungsgliedern 85, die durch ein
ALUOUT-S\gna\ geschaltet werden und auf den r,
einzelnen Leitungen der Speichersammeischiene 57 die Signale MEMO... MEM15 erzeugen.
Wie aus F i g. 4 hervorgeht, umfaßt die Verschiebeeinrichtung 63 acht an sich Multiplexer darstellende
integrierte Bausteine 91, mit denen bestimmte Funktio- :n nen ausgeführt werden, beispielsweise die Datenübertragung
zum Ausgang des Addierers, Rechtsverschiebung wie L.inksverschiebung 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 WRITElN, START IN und LEFT IN werden
durch Decodierung einer Mikroinstruktion gewonnen, m um e;ne 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, a
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. Diese Mikroinstruktionen dienen größtenteils zur
Ausführung von Befehlen der Datenverarbeitungsanlage, beispielsweise Steuerung von Signalen über die
verschiedenen Daienwege, 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 CP£/-TaktsignaIs
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 Speichersammelschiene
57 vorgesehen ist, und in F i g. 5 ist dieses auch wieder zu erkennen. Die Speichersammeischiene
57 ist außerdem mit einem /R-Codiermultiplexer 101
und einem /Ä-Codierregister 102 verbunden (IR = Makroinstruktion),
wobei diese beiden Blöcke durch ein Signa! EIS 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 Leerbefehle betrachten und nicht ausführen.)
Der Speicher 65 steht mit einem /Ä-Prädecodiermultiplexer
1U4 in Verbindung, der bestimmte Signale aus der Makroinstruktion, die im Speicher 65 enthalten ist,
herauszuziehen und als Signale DEC ADDR4...7
einem /Ä-Decodierfestwertspeicher 105 zuzuführen, in dem fest eincodierte Adressen vorhanden sind. Dem
/Ä-Decodierfestwertspeicher 105 wird außerdem der Ausgang eines /Ä-Prädecodierfestwertspeichers 103
zugeführt, der von Ausgangssignalen des /Ä-Codierregisters 102 angesteuert wird. Für jede Makroinstruktion
enthält der /Λ-Decodierfestwertspeicher 105 eine Mikroinstruktionsadresse.
Von den Ausgangssignalen des //?-Codierregisters 102 wird ein Verknüpfungsglied 100 angesteuert, das
seinerseits durch Ansteuerung des /Λ-Prädecodiermultiplexers
104 die Auswahl von jeder der Leitungen IR 1—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 werder. kann, der Festwertadressenmultiplexer 106 sowie der
Festwertspeicher 107 zusätzlich adressierbar ist, während noch andere Bits einem μ/SR- 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
F"!stwertadressenmultiplexer 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 Makroinstruktionsspejcher 65 in
Form von drei einzelnen integrierten Schaltkreisen 65a, 656 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 Makroinstruktionen abgeleitetes Signal
LDlR zur Erzeugung eines Signals LDIR EN führt, welches das dem Verknüpfungsglied 118 zugeführte
Signal LDIR DIS CON normalerweise niedrighält, woraufhin dieses Verknüpfungsglied 118 das Signal
LDIR CLK bis· mr nächsten Mikroinstruktion niedrighält.
Auf diese Weise wird der Speicher 65 normalerwei- ι ο se genau am Ende einer Mikroinstruktion während des
Signals LDIR taktgesteuert.
In F i g. 7a ist zu erkennen, daß die Adressenausgänge des /Ä-Prädecodierfestwertspeichers 103 sowie des
/Λ-Prädecodiermultiplexers 104 (diese Signale sind ii
bezeichnet mit DECADDRO ... 3 bzw. 4 ... 7) dem
/ft-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 (DECi, DEC EN, DECT) erzeugt, die zur
Steuerung dienen und festlegen, welcher von zwei vorhandenen Sätzen von Adressen, die durch Ausgänge
des /Λ-Prädecodierfestwertspeichers 103 und des /K-Prädecodiermultiplexers 104 adressiert werden
sollen, Gültigkeit haben. Die 8 Bitausgänge des /W-Decodierfestwertspeichers 105 werden mit entsprechenden
8-Bitausgängen von zwei integrierten Bausteinen 111 verbunden, die aus μ/.SÄ-Registerplättchen 111
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 verbundenen Ausgänge sind gemäß F i g. 7b an entsprechende
Eingänge des ROM-Adressenmultiplexers 106
angeschlossen, gleichfalls aus zwei integrierten Bausteinen bestehend. Das μ/SR-Register 111 wird außerdem
angesteuert durch die vom Puffer 108 abgeleiteten Signale RBUFAS ... 55, außerdem erhält das Register
111 als Steuereingänge die Mikroinstruktionsbits RBLJFn, 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 111
adressieren. Das Signal zum Laden des μ/SR-Registers
wird von einem NAND-Verknüpfungsglied 119 erhalten, das wiederum von einem Taktsignal (CLK FLOP)
und Signalen der Mikroinstruktionsdecodiereinrichtung so
(DECEN, LD SUB) über das NOR-Verknüpfungsglied
IW abgeleitet wird Der Eingang für den ROM-Adressenmultiplexer
106 wird z.T. durch DECEN und RETURN selektiv erreicht, weiche Signale, wenn sie
niedrig sind, den Truadmultiplexer 109 abschalten,
indem fiber das Verknüpfungssystem 120, siehe F i g. 7a,
einem μ/SR-Register ermöglicht wird, dem /Ä-Decodier-ROM
105 die Speicheradressen zu liefern.
Wie aus Fi g. 7b zu erkennen ist, versorgt der Puffer
108 die beiden Truadmultiplexerbausteine 109 roh den Bits RBUFMi ...47. Wie F i g. 9 zeigt, stellen diese Bits
die Adresse einer als nächstes auszuwählenden Mücromstruktion
dar, wenn bestimmte Voraussetzungen erfüllt sind. Andernfalls, nämfich dann, wenn die Signale
DECEN oder RETURN über das Verknüpfungsglied 121 dsm Traadninhiptexsr 109 zugeführt werden, wird
dieser abgeschaltet und liefert diese Adresse nicht
Das Signal LDER, das z.B. in der letzten Mikroinstruktion
eines Mikroinstruktionsprogramms vorkommt, siehe btispielsweise die noch zu erläuternde
F i g. 11 a, welches Signal die Bedeutung »Lade Makroinstruktionsregister«
hat und im Mikroinstruktionsbitfeld »Statusänderung« (Bits32 bis 37) auftritt, siehe Fig.9,
führt aufgrund der Mikroinstruktionsdecodiereinrichtung 69, insbesondere in dessen Block 165 (Statusänderungsfestwertspeicher),
zur Abgabe des Signals LDIR EN 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 STOPENAB,
REEXAM und das vom Verknüpfungsglied 125 stammende Signal INTRPEND können jedoch das
Signal LDlR DlSCON 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 D/SCCWtritt die Phantomiogik i Ί2 nicht in Wirkung, im anderen Faiie
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 /Λ-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 dis 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 RA2 ... RA9 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,
DISCONROM, sorgt für eine Abtrennung des Festwertspeichers,
wenn die Phantomlogik 112 in Tätigkeit tritt, wie im folgenden nunmehr anhand von Fig.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 IOB (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 fiber die NOR-Verknüpfungsglieder 134
geleitet werden und die Signale MEMO, 1,2 fiber eine Verknfipfungskonfiguration 135 mit anderen ausgewählten Verknüpfungsgliedern und Iue'.eru und über
rtrede Einheiten 136 mit ausgewählten Eingängen des Puffen 108 verbanden sind Die Verknüpfungsanordmmg
135 sowie die Inverter 136 werden außerdem vom Signal LDIR DISCON angesteuert, bei dessen
niedrigem Pegel eine Phaatom-MirkcHnstmMion erzeugt
und gleichzeitig der Festwertspeicher 107 abgetrennt wird wobei die Phantom-Mlkromstroktion
Il
durch direkte Weiterleitung der genannten Bits der Speichersammeischiene 57 zum Puffer 108 bewirkt wird.
(Da mit Phantom-Mikroinstruktionen 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 ALCSKPzü erkennen, das
zusammen mit Signalen CON INST und LDlRCLK
(letzteres über den Inverter 137) dem NAND-Verknüpfungsglied 138 zugeführt werden, worauf dieses das
Signal VALIDLDIR erzeugt. Bei niedrigem Signal ALCSKP \ViH das Überspringen eines Makrobefehls
erreicht, indem eine Phantom-Instruktion erzeugt wird, die den Programmzähler (siehe Block PC in F i g. 2)
weiterschaltet, den Adressenspeicher mit dem Prograinmzä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. 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 £75 und
ALCSKP 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-Phantorr, 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
/tLC-Operationscode festlegen. Dai Verknüpfungsglied
128, dem das Bit IR14 und der Übertrag »CARRY«
ίο zugeführt wird, kombiniert diese Signale durch UND-Verknüpfungen mit den verschobenen Addierausgängen ALUQ-X 12-15, NIBBLEB, NIBBLEC, siehe
F i g. 3, mit dem Makroinstruktionsbit IR 13 am Verknüpfungsglied 128'. Die Ausgangssignale der
ι·-, Seiden 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' weiden dann einem Exklusiv-ODER-Gütlcr
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 /\LC-Mikrocr
de 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üp-
in fungsglied 130' nachgeschaltet ist. Das Signal LOGIK
MODUS, das von der Mikroinstruktionssteuerdecodierlogik 69 geliefert wird, siehe F i g. 9, Block 155, steuert
andere arithmetische Operationen, die nicht mit dem Signal ALCm Verbindung stehen, z. B. logische Befehle.
Die Bits IR 10,11 werden verwendet, um den ergänzten
Basiswert des Übertrags von dem tatsächlichen Wert des Betrags abzuleiten.
Bei ^LC-Operationen ergibt dies innerhalb der
Datenverarbeitungsanlage ein Feld, durch den der
Makroinstruktionsfluß in .*er Datenverarbeitungsanlage durch Manipulation des Mikrocodes dann geändert
wird, wenn innerhalb des Sprungfeldes (IR 13... 15) der
Makroinstruktion sich ein bestimmter Zustand ergibt Diese Änderung im Makroinstruktionsfluß dr.'ch das
Signal A LC SKP verändert auch die Mikroinstruktion, die infolge des Signals LDIR erzeugt wird, so daß
anstelle der nächsten Makroinstruktion die darauffolgende Makroinstruktion ergriffen wird.
Die folgende Liste gibt die jeweilige Sprungoperätion
so bei Auftreten von ALC SKPje nach Zustand der W?-Bits
13,14 und 15 wieder:
Sprungbezeichnung | «Bits | 14 | 15 | Sprung-Funktion |
13 | 0 | 0 | ||
0 | 0 | 1 | Niemals Springen | |
SKP | 0 | 1 | 0 | Immer Springen |
SZC | 0 | 1 | 1 | Springen bei Übertrag Null |
SNC | 0 | 0 | 0 | Springen bei Übertrag Nicht-Null |
SZR | 1 | 0 | 1 | Springen bei Ergebnis Null |
SNR | 1 | Springen bei Ergebnis Nicht-Null |
13 Fortsetzung |
/«-Bits 13 14 |
1 1 |
15 | 25 42 751 14 |
Spiungbezeichnung | 1 1 |
0 1 |
Sprjng-Funklion | |
SEZ
SBN |
Springen wenn entweder Übertrag oder Ergebnis Null Springen, wenn sowohl Übertrag als auch Ergebnis Nicht-Null |
|||
In F i g. 9 ist die im Festwertspeicher 108 enthaltene
lVHkroinstmktion in Form einer Anzahl von einzelnen
Steuerfeldern dargestellt Die Wirkung von gültigen is
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 BitsO ... 3, 4 ... 7, 8 ... 11 die
Registerdatei 61, das Feld mit den Bits 12 ... 15 die
ALU62, das Feld mit den Bits 16 ... 19 die
Verschiebeeinrichtung 63. Das Bit 20 bildet ein Ladest euerfeld 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 Speichersteuerfeld bilden. Die vier durch die beiden Bits 24, 25 definierbaren Signale steuern beispielsweise
das Lesen bzw. Schreiben vom oder in die letzte js Speicherzelle in einer Speicherposition in einem
Speicheradressenregister.
Das Steuerfeld mit den Bits26 ... 28 hängt mit
bestimmten Decodiervorgängen zusammen, ähnliches gilt für das Steuerfeld mit den Bits 29... 31.
Das Steuerfeld mit den Bits32 ... 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
Adresse) ausgewählt werden kann. Die Bits 38, 39 definieren ein Steuerfeld, das über eine Decodiereinrichtung
163 festlegt, welche Gruppe von vier Gruppen 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 Mikroinstruktionsfestwertspeichers
107 ausgewählt.
Bestimmte Bit-Kombinationen des Statusänderungsfeldes 32... 37 werden von dem Block 165 ausgewertet,
der durch das Bit RBUF4M eingeschaltet werden kann
und dann die Bits33 ... 37 aufnimmt und je nach Auswertung ein Steuersignal abgibt, so das bereits
erwähnte Signal LDIREN, das zum Laden der «?
Makroinstruktion in den Speicher 65 dient, aber auch dem in Fig.7b dargestellten Verknüpfungsglied 122
zugeführt wird und zur Erzeugung eines Signals LDtRDtSCON verwendet wird, das wiederum die
Phantomlogik 112 aktiviert, siehe auch F i g. 5.
Taucht somit im Statusflnderungsfeld eine bestimmte
Bit-Kombinetion 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 Speichersammeischiene
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
Daten auf der Speichersammeischiene oder die Kopie einer Adresse, wenn die auf der Speichersammeischiene
57 vorhandene Makroinstruktion die Berechnung einer effektiven Adresse umfaßt Wie eingangs schon
erläutert wurde, stellt hier die Phantom-Mikroinstruktion, die aufgrund einer auf der Speichersammeischiene
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 Zw>ck kann ein Signal DECX verwendet
werden, das aufgrund der Steuerung des Statusänderungsfeldes (Bits32 ... 37) beispielsweise durch den
Block 165 (Fig.9) erzeugt werden kann, siehe auch F i g. 10, wo dieser Zusammenhang in Form eines
Blockdiagramms dargestellt ist Dieses Signal DEC\ führt gemäß Fig. 10 zur Erzeugung des Signals
DECEN(auch in Fig.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 DECl dann die Steuerung überträgt Auf diese
Weise wird Zugang zu Mikroinstniktionen erlangt die
zahlreichen Makroinstruktionen gemeinsam sind oder die die Überleitung von der Phantom-Mikroinstruktion
zur nachfolgenden Mikroinstruktion ermöglichen.
Das Signal DECX ebenfalls in Fig. 10 zu erkennen, ist dem Befehl OfCl ganz ähnlich, mit der Ausnahme,
daß Zugang zu einer zweiten Gruppe von Adressen ermöglicht wird, die von den Adressen des Signals
DEC2 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 Mikroinstniktionen. Da es insgesamt vier Festwertspeicher gibt können somit
insgesamt 1024 Mikroinstniktionen adressiert werden.
Der Betrieb der wesentlichsten Teile der 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 Makroinstruk· tionsspeichers 65 aufgerufen wird, siehe beispielsweise
die Fig. 10 in Verbindung mit Fig. 11a, wird im Statusänderungsfeld dieser letzten Mikroinstruktion
(Bits32 bis 37 gemäß Fig.9) die entsprechende
Bit-Kombination mit der Bezeichnung »LDIR« (Lade
den Makroinstruktionsspeicher 65) erkannt, und zwar durch den Block 165 gemäß Fig.9, der daraufhin das
Signal LDIR EN abgibt, das dem Verknüpfungsglied 122
(siehe Fig.7b) zugeführt wird, welches daraufhin das
Signal LDIR DISCON liefert und der Phantorologik 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 dein Puffer 108 eine Mikroin-
10
15
struktjon liefert, wird dieser Festwertspeicher 107 durch
das Signal DISCONROM vom Eingang des Puffers 108
abgetrennt Sollte gerade ein von der Bedienungskonsole stammender besonderer Befehl anliegen, beispielsweise
ein Untersuchungsbefehl, ein Unterbrechungsbefehl oder ein Haltbefehl, der eine im Mikroinstruktionsfestwertspeicher
107 adressierbare MDcroinstniktion
adressiert, was 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 | A | B | ALU | SH | L | CRY | MA | MC | RANl | RANl | STATUS | \.ADR. | TLA DR. |
ÄNDERG. | |||||||||||||
PC | Φ | A, | ΕΦ | L | N | L | N | /V | N | JUMP | GIRL | VERZÖGERT | |
GR Φ | Φ | A | ΕΦ | L | N | L | jV | ;V | N | !RSBDI | GIRL | VERZÖGERT | |
Phantom-Mikroinstruktionen | GR Φ | PC | A+B | ΕΦ | L | S | L | ;V | JV | S | [RSBDI | GIRL | VERZÖGERT |
.•(-Eingang | GR Φ | AC2 | APB | ΕΦ | L | /V | L | N | JV | JV | IRSBDI | GIRL | VERZÖGERT |
GR Φ | AC3 | APB | ΕΦ | L | /V | L | /V | iV | JV | IRSBDI | GIRL | VERZÖGERT | |
\) AR | PC | Φ | A1 | ΕΦ | L | V | L | JV | JV | JV | DEa | ||
2) LYB | |||||||||||||
3) SEX | |||||||||||||
4) SEX | |||||||||||||
S) SEX | |||||||||||||
6) AR |
Die erste Phantom-Mikroinstruktion (Nr. X 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 Speicheradressenregister mit dem Inhalt des Programmzählers lädt
und die Steuerung dem Mikrocode »GIRL« überträgt, der den Makroinstruktionsspeicher 65 erneut lädt, urn so
den gewünschten Sprung zu erreichen.
Hinsichtlich der Spaltenbezeichnungen der Tabelle Il
sei auf die entsprechenden Spaltenbezeichnungen der Tabelle gemäß Fig. 11b verwiesen, die sich auf die
entsprechenden Steuerfelder der Makroinstruktion 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 Il wiedergegeben, es handelt sich 5η
um eine fTO-Phantom-Mikroinstruktion. Insgesamt
werden drei Arten von Phantom-Mikroinstruktionen unterschieden: ALCSKIP, EFA und EFA.
Im Falle eines /SW-Phantoms wird der Programmzähler PCm ähnlicher Weise erhöht und in den Speicher «
MA geladen, jedoch wird ein Signal DEC\ im Statusänderungsfeld vorhanden sein, das dazu führt, daß
während des nächsten Taktes bestimmte Bits der Makroinstruktion zu einer Adresse decodiert werden,
auf die dann das Signal DECX die Steuerung überträgt, to
Siehe in diesem Zusammenhang 2. B. die in der Mitte
von F i g. I la dargestellte Phantom-Mikroinstrukiion.
Die dritte Phantomart wird von den Nr. 2, 3, 4 und 5
der Tabelle II gebildet. Es handelt sich um Phantom-Mi· kroinstruktionen, bei denen »EFA« vorhanden und
»ALCSKIP« 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 /i-Eingang des Datenspeichers 61 gemäß Fig.2 anliegendes Signal »SEX« (mit der
Bedeutung »Vorzeichen erweitert«) verändert wurde, zum Programmzähler PC hinzuaddiert und dann in den
Adressenspeicher geladen. Ein derartiger Betriebsablauf mit entsprechender Änderung des Programmflusses
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änderungsfeldes, 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
(Bits48 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)sow\e EFA dargestellt sind.
Wie zu erkennen ist, wird jeweils (von der Phantomlogik 118) die entsprechende Phantom-Mikfoinslfuklion
(ALCSKP1 EFA bzw. EFA) erzeugt, die
daraufhin in den Puffer 108 geladen wird.
Anschließend wird der Programmzähler um I erhöht und der Programmzähler im Adressenspeicher MA
geladen (bei ALCSKP und EFA), woraufhin in der bereits geschildeten Weise bei ALCSKP der Sprung
erfolgt, während bei EFA auf »DECi« übergegangen
wird. Beim ZTF/l-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 DECX bzw. DEC2, die jeweils zur Erzeugung eines Einschaitsignals DECEN zur Aktivierung
des Decodierfestwertspeichers 105 zur Decodierung
der Makroinstruktion zugeführt wird, siehe dazu auch F i g. 7a. Das Vorhandensein von DECENführt zu
der Lieferung einer ersten Gruppe von Adressen, ι ο während das Signal DEC2 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 Mikroinstruktionen bestehende
Makroinstruktion. Die letzte Mikroinstruktion dieser Gruppe umfaßt ass 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 r.ogrammzählers, so daß nun der Programmzahler auf die nichste Makroinstruktion
zeigen wird. Außerdem ermög'icht die Phantom-Mikroinstruktion
die Erzeugung eines Signals DECX, 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, um 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 DfCl 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 »DEC!-Decodierung« erreicht,
wobei diese Mikroinstruktion in ihrem Zustandsänderungssteuerfeld ein Signal η DEC 2« aufweist, um die so
Decodierung einer zweiten Gruppe von Signalen aus dem Prädecodiermultiplexer 104 (siehe Fig.5) zu
ermöglichen, durch die drei noch verbleibenden Mikroinstruktionen (unten in F i g. 11 a) erzeugt werden,
die den restlichen Teil des Ladebyte-Mikroprogramms darstellen.
Die letzte Mikroinstruktion dieses Ladebyte-Mikroprogramms kann im Zustandsänderungsfeld entweder
wiederum ein Signal »D£C1« oder ein Signal »DEC2«
enthalten, was zu den entsprechenden Sprüngen führen würde, gemäß der Darstellung der F i g. 11 a 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 fA-Eingang), dessen Inhalt
innerhalb des ALU62 um 1 erhöht und dann unverändert durch die Verschiebeeinrichtung 63 gemäß
F i g. 1 verschoben (FO) wird, um dann zurück in das
entsprechende Register PC des Speichers 61 geladen zu werden, wodurch PC + 1 -► PCwird. 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 DECX, 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 μ/SÄ-Register 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 /i/5/f-Registers sein kann. Realisisert wird dies durch
ein Signal RTRN im Zustandsänderungsfeld, das zusammen mit entsprechenden Informationen über die
Seite (Bits 38, 39) hinsichtlich des μ/5/7-Registers
festlegt auf welcher Seite die für die Rückkehr notwendigen 10 Bitadressen vorhanden sind.
Ist dagegen im Statusänderungsfeld das Signal »REISAV« vorhanden, wird gleichzeitig ein Rücksprung
durchgeführt und die gegenwärtige »falsche« Adresse (Bits48 ... 55) im μ/5/f-Register Il gespeichert.
Hierzu 14 Blatt Zeichnungen
Claims (7)
1. Datenverarbeitungsanlage mit Hauptspeichereinrichtungen (52) zur Speicherung von aus Bit-Fol-
gen bestehenden Makroinstruktionen und Daten, einer zentralen Verarbeitungseinheit (CPU5\) zur
Verarbeitung der Daten, einer Speichersammeischiene (57) zur Datenübertragung zwischen den
Hauptspeichereinrichtungen (52) und zumindest der CPU (51), die einen Mikroprogrammprozessor (66)
enthält, welcher mit einem einzeln adressierbare Mikroinstruktionen enthaltenden Mikroinstruktions-Speicher (107), einem dem Mikroinstruktionsspeicher (107) nachgeschalteten Pufferspeicher is
(108), der seinerseits in eine Mikroinstruktionsdekodiereinrichtung (69) zur Ableitung von Dekodiersteuersignalen aus den Mikroinstruktionen einspeist,
und mit Einrichtungen (104,105,106) zur Adressierung des ^ikroinstruktionsspeichers (107) aufgrund
einer in Bearbeitung befindlichen Makroinstruktion (auf Speichersammeischiene 57 zur Verfugung),
welche durch die Makroinstruktion ausgeführt wird, und zur Lieferung einer nächsten Mikroinstruktion
von der Speichereinrichtung (107) an die Mikroinstruktionsdekodiereinrichtun-g (69) versehen ist,
gekennzeichnet durch eine die Speichersammeischiene (57) über den Pufferspeicher (108)
direkt mit der Mikroinstruktionsdekodiereinrichtung (69) verbindende Phantomlogik (112), welche
durch besunmte Bit-Kombinationen der auf der Speichersammelschieae (57) mt Verfügung stehenden Makroinstruktion einschaltbar ist und die die
Mikroinstruktionsdekodiereini v'htung (69) mit der
ersten Mikroinstruktion (Phantommikroinstruktion, Fig. 13a) der die auf der Speichersammeischiene
(57) zur Verfügung stehenden Makroinstruktion ausführenden Folge von Mikroinstruktionen versorgt
2. Datenverarbeitungsanlage nach Anspruch 1, wobei der Mikroprozessor (66) mit einem Speicher
(65) und einem Zähler (PC. Teil von 61, F i g. 2) iür
Makroinstruktionen und einem Speicher (Teil von 61, Fig.2 für Instruktionsadressen versehen ist,
dadurch gekennzeichnet, daß eine erste Phantommikroinstruktionsart, welche durch ein erstes Signal
(ALCSKP) erzeugt wird, den Makroinstruktionszähler (PC) erhöht, den Adressenspeicher (Teil von 61)
mit dem Inhalt des Makroinstruktionszählers (PC) lädt und die Steuerung auf eine Mikroinstruktion
(GIRL) überträgt, die die zugehörige Makroinstruktion in den Makroinstruktionsspeicher (65) lädt, so
daß ein Makrobefehl ausgelassen wird.
3. Datenverarbeitungsanlage nach den Ansprüchen 1 und 2, wobei die Mikroinstruktion aus
mehreren Bit-Gruppen (Feldern) besteht, die auf jeweils unterschiedliche Teile des Mikroprozessors
einwirken, dadurch gekennzeichnet, daß eine zweite Phantommikroinstruktionsart (EFA) nach Erhöhung
des Makroinstruktionszählers (PC) und Ladung des so Adressenspeichers (Teil von 61) ein bestimmtes Feld
der im Pufferspeicher (1ΰ8) befindlichen Mikroinstruktion (Statusänderungsfeld RBUF32 ... 37,
F i g. 8) auf einen Zustand (DEC 1) überprüft und bei dessen Vorhandensein aus ausgewählten Bits (JR 6
... 15) der im Makroinstruktionsspeicher (65) vorhandenen Makroinstruktion eine Adresse dekodiert (mittels IR DECROMlOS, Fig.5) und die
zugehörige Makroinstruktion in das Makroinstruktionsregjster (65) lädt,
4. Datenverarbeitungsanlage nach den Ansprüchen 1 und 2, dadurch gekennzeichnet, daß eine
dritte Phantommikroinstruktionsart (EFA) zum Makroinstruktionszähler (PC) einen Wert (GRO
einschließlich Vorzeichen) addiert und das Ergebnis in den Adressenspeicher (61) lädt, so diß in der
Makrobefehlsebene ein Sprung durchgeführt wird.
5. Datenverarbeitungsanlage nach Anspruch 4, dadurch gekennzeichnet, daß die errechnete Adresse im Adressenspeicher (61) eine indirekte Adresse
ist
6. Datenverarbeitungsanlage nach einem der Ansprüche 2 bis 5, dadurch gekennzeichnet, daß der
Phantomlogik (112) ein Verknüpfungsglied (22) nachgeschaltet ist, das von einem die Ladung des
Makroinstruktionsspeichers (65) auslösenden Signal (LDIREN, Fig.7b) angesteuert wird und an die
Phantomlogik (112) ein Aktivierungssignal (LDIR DISCON, F i g. 7b, F i g. 8) liefert
7. Datenverarbeitungsanlage nach Anspruch 6, dadurch gekennzeichnet, daß die Phantomlogik
(112) bei Aktivierung durch das Aktivierungssignal (LDIR DISCON) an den Mikroinstruktionsspeicher
(107) ein Umsrdrückungssignal (DISCONROM,
F ig. 8) liefert
Applications Claiming Priority (1)
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 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2542751A1 DE2542751A1 (de) | 1976-04-15 |
DE2542751C2 true DE2542751C2 (de) | 1982-06-16 |
Family
ID=24025651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2542751A Expired DE2542751C2 (de) | 1974-09-25 | 1975-09-25 | Datenverarbeitungsanlage |
Country Status (7)
Country | Link |
---|---|
US (1) | US3990052A (de) |
JP (3) | JPS5635215B2 (de) |
CA (1) | CA1049150A (de) |
DE (1) | DE2542751C2 (de) |
FR (2) | FR2289966A1 (de) |
GB (2) | GB1528332A (de) |
NL (1) | NL7511295A (de) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS52116131A (en) * | 1976-03-26 | 1977-09-29 | Toshiba Corp | Microprogram instruction control unit |
JPS5846734B2 (ja) * | 1976-04-30 | 1983-10-18 | 富士通株式会社 | デ−タ読み書き方式 |
US4156926A (en) * | 1976-06-01 | 1979-05-29 | Texas Instruments Incorporated | PROM circuit board programmer |
US4093983A (en) * | 1976-06-15 | 1978-06-06 | International Business Machines Corporation | Fast and normal rate instruction fetching |
US4212076A (en) * | 1976-09-24 | 1980-07-08 | Giddings & Lewis, Inc. | Digital computer structure providing arithmetic and boolean logic operations, the latter controlling the former |
US4133028A (en) * | 1976-10-01 | 1979-01-02 | Data General Corporation | Data processing system having a cpu register file and a memory address register separate therefrom |
US4195339A (en) * | 1977-08-04 | 1980-03-25 | Ncr Corporation | Sequential control system |
US4161026A (en) * | 1977-11-22 | 1979-07-10 | Honeywell Information Systems Inc. | Hardware controlled transfers to microprogram control apparatus and return via microinstruction restart codes |
US4155120A (en) * | 1977-12-01 | 1979-05-15 | Burroughs Corporation | Apparatus and method for controlling microinstruction sequencing by selectively inhibiting microinstruction execution |
US4285039A (en) * | 1978-03-28 | 1981-08-18 | Motorola, Inc. | Memory array selection mechanism |
US4244028A (en) * | 1979-03-08 | 1981-01-06 | National Semiconductor Corporation | Digital microprocessor having a time-shared adder |
US4334268A (en) * | 1979-05-01 | 1982-06-08 | Motorola, Inc. | Microcomputer with branch on bit set/clear instructions |
US4346437A (en) * | 1979-08-31 | 1982-08-24 | Bell Telephone Laboratories, Incorporated | Microcomputer using a double opcode instruction |
US4415969A (en) * | 1980-02-07 | 1983-11-15 | Intel Corporation | Macroinstruction translator unit for use in a microprocessor |
US4495563A (en) * | 1981-07-02 | 1985-01-22 | Texas Instruments Incorporated | Microcomputer having separate access to complete microcode words and partial microcode words |
JPS5927351A (ja) * | 1982-08-06 | 1984-02-13 | Hitachi Ltd | デ−タ処理装置 |
US4591972A (en) * | 1982-11-15 | 1986-05-27 | Data General Corp. | Data processing system with unique microcode control |
US4737933A (en) * | 1983-02-22 | 1988-04-12 | Storage Technology Partners | CMOS multiport general purpose register |
US4583169A (en) * | 1983-04-29 | 1986-04-15 | The Boeing Company | Method for emulating a Boolean network system |
US5454088A (en) * | 1985-11-15 | 1995-09-26 | Mitsubishi Denki Kabushiki Kaisha | Microprogram control device for controlling data path section including designation of instruction cycle values |
US5218712A (en) * | 1987-07-01 | 1993-06-08 | Digital Equipment Corporation | Providing a data processor with a user-mode accessible mode of operations in which the processor performs processing operations without interruption |
US5471593A (en) * | 1989-12-11 | 1995-11-28 | Branigin; Michael H. | Computer processor with an efficient means of executing many instructions simultaneously |
KR100357177B1 (ko) | 1998-01-13 | 2002-12-18 | 주식회사 하이닉스반도체 | 마이크로컴퓨터의명령해석장치 |
JP4140156B2 (ja) * | 1999-12-21 | 2008-08-27 | 横河電機株式会社 | アドレス発生回路、アドレス発生装置およびアドレス発生方法 |
US11159055B2 (en) | 2018-11-30 | 2021-10-26 | Witricity Corporation | Systems and methods for low power excitation in high power wireless power systems |
KR20220011667A (ko) | 2019-05-24 | 2022-01-28 | 위트리시티 코포레이션 | 무선 전력 수신기용 보호 회로 |
CN115023879A (zh) | 2020-01-29 | 2022-09-06 | 韦特里西提公司 | 用于无线电力传输***的辅助电源掉电保护 |
WO2021178894A1 (en) | 2020-03-06 | 2021-09-10 | Witricity Corporation | Active rectification in wireless power systems |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3058659A (en) * | 1958-12-31 | 1962-10-16 | Ibm | Add address to memory instruction |
DE1250659B (de) * | 1964-04-06 | 1967-09-21 | International Business Machines Corporation, Armonk, NY (V St A) | Mikroprogrammgesteuerte Datenverarbeitungsanlage |
GB1192371A (en) * | 1966-06-02 | 1970-05-20 | Automatic Telephone & Elect | Improvements in or relating to Data Processing Devices |
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 |
US3634883A (en) * | 1969-11-12 | 1972-01-11 | Honeywell Inc | Microinstruction address modification and branch system |
JPS514381B1 (de) * | 1969-11-24 | 1976-02-10 | ||
US3739352A (en) * | 1971-06-28 | 1973-06-12 | Burroughs Corp | Variable word width processor control |
US3736567A (en) * | 1971-09-08 | 1973-05-29 | Bunker Ramo | Program sequence control |
US3820079A (en) * | 1971-11-01 | 1974-06-25 | Hewlett Packard Co | Bus oriented,modular,multiprocessing computer |
BE794862A (fr) * | 1972-02-01 | 1973-08-01 | Siemens Ag | Dispositif de commande a microprogrammes |
US3839705A (en) * | 1972-12-14 | 1974-10-01 | Gen Electric | Data processor including microprogram control means |
-
1974
- 1974-09-25 US US05/509,186 patent/US3990052A/en not_active Expired - Lifetime
-
1975
- 1975-09-23 FR FR7529698A patent/FR2289966A1/fr active Granted
- 1975-09-23 GB GB39039/75A patent/GB1528332A/en not_active Expired
- 1975-09-23 CA CA75236171A patent/CA1049150A/en not_active Expired
- 1975-09-23 GB GB37606/77A patent/GB1528333A/en not_active Expired
- 1975-09-25 NL NL7511295A patent/NL7511295A/xx not_active Application Discontinuation
- 1975-09-25 JP JP11594975A patent/JPS5635215B2/ja not_active Expired
- 1975-09-25 DE DE2542751A patent/DE2542751C2/de not_active Expired
-
1980
- 1980-05-30 FR FR8012470A patent/FR2449310B1/fr not_active Expired
- 1980-11-29 JP JP16900280A patent/JPS5697147A/ja active Pending
- 1980-11-29 JP JP16900380A patent/JPS5697148A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
JPS5635215B2 (de) | 1981-08-15 |
AU8509475A (en) | 1977-03-31 |
US3990052A (en) | 1976-11-02 |
FR2289966A1 (fr) | 1976-05-28 |
GB1528333A (en) | 1978-10-11 |
FR2289966B1 (de) | 1981-01-02 |
FR2449310A1 (fr) | 1980-09-12 |
CA1049150A (en) | 1979-02-20 |
GB1528332A (en) | 1978-10-11 |
JPS5697148A (en) | 1981-08-05 |
JPS5697147A (en) | 1981-08-05 |
JPS5160426A (de) | 1976-05-26 |
FR2449310B1 (fr) | 1987-02-13 |
DE2542751A1 (de) | 1976-04-15 |
NL7511295A (nl) | 1976-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2542751C2 (de) | Datenverarbeitungsanlage | |
DE2542740C2 (de) | Datenverarbeitungsanlage mit einer Mikroprogrammsteuerung | |
DE2846117C2 (de) | Datenprozessor | |
EP0097725B1 (de) | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen | |
DE2724125C2 (de) | ||
DE2755273C2 (de) | ||
DE3126878C2 (de) | Mikroprogramm-Steuerschaltung zum Ausführen eines aus einem Steuerspeicher in einem Quellenregister aufgenommenen Mikrobefehls | |
DE2704842C2 (de) | Im Pipeline-Betrieb arbeitende Datenverarbeitungseinrichtung | |
DE2611892C2 (de) | Mikroprogramm-Steueranordnung | |
DE2715073C3 (de) | Mikroprogrammierte Rechner-Steuervorrichtung | |
DE2835095C2 (de) | Digitale Rechenanlage mit einem ersten und mindestens einem zweiten miteinander koppelbaren mikroprogrammierten Prozessoren | |
DE2735814A1 (de) | Datenverarbeitungseinrichtung | |
DE2117936B2 (de) | Mikroprogrammgesteuerte Zentraleinheit eines elektronischen Datenverarbeitungssystems | |
DE2714805A1 (de) | Datenverarbeitungssystem | |
DE2910839A1 (de) | Einrichtung zur ausfuehrung einer speziellen verzweigungsinstruktion | |
DE1178623B (de) | Programmgesteuerte datenverarbeitende Maschine | |
DE2536622C2 (de) | Verzweigungssteuerung mit flexibler Auswahl von Steuerworten | |
DE2524046A1 (de) | Elektronische datenverarbeitungsanlage | |
DE3114921C2 (de) | Mikroprogramm-Speicheranordnung | |
CH644461A5 (de) | Digitale multipliziereinrichtung. | |
DE2336676C3 (de) | Einrichtung zur Modifizierung von Mikroprogrammbefehlen | |
DE2617485A1 (de) | Verfahren und schaltungsanordnung zur abarbeitung von mikrobefehlsfolgen in datenverarbeitungsanlagen | |
DE4222275A1 (de) | Parallelprozessor und betriebsverfahren eines solchen | |
DE2235883C3 (de) | Datenverarbeitungseinrichtung | |
DE2248962A1 (de) | Verfahren bzw. einrichtung zum betrieb eines vielzweckrechners |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OI | Miscellaneous see part 1 | ||
OI | Miscellaneous see part 1 | ||
OI | Miscellaneous see part 1 | ||
OI | Miscellaneous see part 1 | ||
8126 | Change of the secondary classification |
Ipc: ENTFAELLT |
|
8125 | Change of the main classification |
Ipc: G06F 9/22 |
|
D2 | Grant after examination | ||
AH | Division in |
Ref country code: DE Ref document number: 2560129 Format of ref document f/p: P |
|
8339 | Ceased/non-payment of the annual fee |