DE2440627C2 - Mikroprogrammierter Rechner - Google Patents
Mikroprogrammierter RechnerInfo
- Publication number
- DE2440627C2 DE2440627C2 DE19742440627 DE2440627A DE2440627C2 DE 2440627 C2 DE2440627 C2 DE 2440627C2 DE 19742440627 DE19742440627 DE 19742440627 DE 2440627 A DE2440627 A DE 2440627A DE 2440627 C2 DE2440627 C2 DE 2440627C2
- Authority
- DE
- Germany
- Prior art keywords
- register
- memory
- main memory
- microinstruction
- microprogram
- 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)
- Debugging And Monitoring (AREA)
Description
und gibt mit Hilfe einer Anzahl von Und-Toren sowie erforderlichenfalls Flip-Flops unter der Steuerung der
Taktimpulse 7Ui bis TCn eine Anzahl von Mikrobefehlen zu geeigneten Zeiten ab, die außerdem geeignete
Zeitdauern CTi bis CTs aufweisen. Sie werden mit Hilfe
einer geeigneten Steuerschaltung, die in der Zeichnung nicht dargestellt ist, zu geeigneten Punkten der Datenverarbeitungsanlage — eingeschlossen die Steuereinheit, der Operationsteil und der Speicherteil — geleitet
In den F i g. 1, 2 und 3 deutet ein Pfeil, der auf einen
Eingang eines Bedingungselementes, das üblicherweise durch einen Kreis dargestellt ist, an, das ein Taktimpuls
Γι bis Tn oder ein getakteter Mikrobefehl CTi bis CTn
durch eine Verbindung, die durch den Pfeil dargestellt ist, angelegt wird.
Der Unterschied zwischen Taktimpulsen und getakteten Mikrobefehlen besteht darin, daß die Taktimpulse
ohne weitere Bedingung in jedem Zyklus durch die Takteinheit geliefert werden (Maschinen-.yklus), wo
hingegen die getakteten Mikrobefehle nur während derjenigen Maschinenzyklen geliefert werden, in denen
die entsprechenden Mikrobefehle Q bis Cn vorliegen.
Der Steuerteil 1 umfaßt im wesentlichen einen Nur-Lese-Speicher ROSTA, ein Ausgangsregister für diesen
Speicher ROR (Nur-Lese-Register) 3, einen Dekoder 4, ein ROS-Adressenregister (ROSAR) 5, ein zusätzliches
Register zum Speichern der ÄOS-Adressen (ROSAR I)
6 und einen Zählteil 7 zum Heraufsetzen der ROS-Adressen.
Der totspeicher ist zur Aufnahme von Mikrobefehlen mit beispielsweise 18 Bits ausgelegt, organisiert
in Mikroprogrammen, weiche die Arbeitsweise der Datenverarbeitungseinrichtung steuern und mittels Primitivanweisungen ausgelesen werden.
Die Kreise 9 bis 16 stellen Gruppen von Und-Toren dar, welche den Durchgang von Signalen auf den Verbindungsleitungen, die mit diesen Gruppen verbunden
sind, steuern.
Jeder der Gruppen 9 bis 16 wird, wie gesagt, gesteuert entweder durch ein Taktsignal 7} oder durch einen getakteten Mikrobefehl CTj. Im einzelnen werden die
Gruppen von Und-Toren 12, 13,16 durch Taktimpulse
gesteuert, wo hingegen die Gruppen von Und-Toren 9, 19,11,14 und 15 durch getaktete Mikrobefehle gesteuert werden. Jede Gruppe empfängt an ihren Eingängen
und entläßt — wenn durchgeschaltet — an ihren Ausgängen eine Anzahl von geeigneten Signalen auf eine
Anzahl von Leitungen, die durch eine einzelne Linie repräsentiert wird und hier »Kanal« genannt werden
soll.
Ein Satz von Signalen, repräsentativ für eine feste ÄOS-Adresse in binärer Form, soll auf den Kanal 8 gegeben werden, der nicht durch eine Gruppe von Und-Toren beeinflußt wird.
Um die Funktion der Datenverarbeitungsanlage einzuleiten, kann diese Adresse in diesen Kanal hineingebracht werden, beispielsweise durch Vorwahl von geeigneten Schaltern der Steuerkonsole oder durch Drükken der Starttaste, welche durch die Leitung STARTdie
Takteinheit in Betrieb setzt
Die Adresse, die jetzt im Kanal 8 vorliegt, wird in das Register ROSAR eingespeichert und sobald die Gruppe
von Und-Toren 12 durch einen Taktimpuls durchgeschaltet ist, wird der Speicher ROS adressiert, ein Mikrowort ausgelesen und durch die Gruppe von Toren 16
in das Register ROR 3 eingespeichert.
Dasselbe Mikrowort, das nu-i an den Ausgangsleitungen des Registers ROR 3 anliegt, wird durch den Deko
der 4 dekodiert
Das dekodierte Signal wird durch eine Befehlerzeugungsschaltung 4A mit Oder-Toren zum Taktnetzwerk
21 geleitet und verläßt dieses in Form von getakteten Mikrobefehlen.
Die ÄOS-Adresse, die im Register 5 enthalten ist,
kann auf verschiedene Weisen auf den neuesten Stand gebracht werden:
Zunächst kann sie durch die Gruppe von Und-Toren 13 in das Register ROSAR /eingespeichert werden und
von dort vermittels der durchgeschalteten Und-Tore 14 der Zählschaltung 7 zugeführt werden, wo sie, beispielsweise um eine Einheit, heraufgesetzt wird. Die auf diese
Weise erneuerte Adresse wird anschließend wieder durch den Kanal 17 und die Gruppe von Und-Toren 11
in das Register 5 eingespeichert
Andererseits kann die Adresse aber auch durch eine geeignete Größe K heraufgesetzt werden, die durch das
Mikrowort, das im Register ROR 3 gespeichert ist, erhalten wird und der Zählschaltung 7 über den Kanal 18
und die Tore 15 zugeführt wird.
Nach einer weiteren Aiternative kann die neue ROS-Adresse auch durch ein Mikrowort erhalten werden, das
aus dem Register ROS ausgelesen wird und im Register ROR enthalten ist Eine geeignete Anzahl von Bits kann
durch den Kanal 18 und die Tore 10 in das Register ROSAR 5 überführt werden.
Eine weitere Adressiermöglichkeit ist mit dem Kanal 19 gegeben, der durch eine Gruppe von Toren 9 gesteuert wird und es gestattet, in das Register 5 den Inhalt des
Registers A einzuspeichern. Letzteres ist eines von mehreren Registern, das im Operationsteil der Datenverarbeitungseinrichtung enthalten ist, wie es in F i g. 2 dargestellt ist Der Inhalt dieses Registers kann, wie es weiter unten erläutert werden wird, einerseits aus einem
anderen Register des Operationsteiles stammen oder von einer externen peripheren Einheit oder aber auch
aus dem Hauptspeicher. Deshalb kann man allgemein sagen, daß der Speicher ROS durch jede Informationsquelle adressiert werden kann, die entweder sich in der
Datenverarbeitungsanlage selbst befindet oder mit ihr verbunden ist.
Die Parallelverarbeitung von Daten in dem beschriebenen Steuerteil verdient eine kurze Betrachtung: Die
Länge der ÄOS-Adressen (in Bits) hängt ab von der Zahl der ÄOS-Speicherplätze, welche adressiert werden
müssen und ist unabhängig von der Länge der Mikrowort e, die aus dem Speicher ROS ausgelesen werden.
ROS-Adressen mögen beispielsweise eine Länge von 15 Bits haben und wären damit geeignet, um ungefähr
32 000 verschiedene Speicherplätze zu adressieren. Das heißt, daß alle Kanäle, die zum Laden der ÄOS-Adressen benutzt werden, 15 Leitungen enthalten und daß die
Register 5 und 615 Bit-Plätze aufweisen.
Im Gegensatz dazu hat das Register 3 viele individuelle Bit-Anordnungen, entsprechend den Bits, die ein
Mikrowort formen, beispielsweise 18. Das hsißt, daß, wenn die /?O5-Adresse von einem Mikrowert erhalten
wird, das im Register ROR enthalten ist, nur 15 der 18 Bits als Adresse benötigt werden und in den Kanal 18
überführt werden.
Nach der Erfindung ist der Mikroprogrammspeicher ROS für die Möglichkeit vorgesehen, Mikroprogramm-Mikroanweisungen aus dem Hauptspeicher auszulesen,
während das Mikroprogramm aufgebaut wird. Zu diesem Zweck wird dem Steuerteil zusammen mit der
Adresse der Mikroanweisung eine Binärinformation zugeführt — ein Bit, das angibt, ob die genannte Adresse
eine /?OS-Adresse oder eine Hauptspeicheradresse darstellt.
Dieses Bit kann im Flipflop 24 festgehalten werden, das mit dem Register ROSAR 5 verbunden ist Wie aus
F i g. 1 ersichtlich ist, kann dieses Flipflop durch ein Bit gesetzt werden, das durch eine Leitung des Kanals 19
über das Und-Tor 9' zugeführt wird. Andererseits kann es auch durch ein spezifisches Bit der Mikroanweisung,
die im Register ROR 3 enthalten ist, über den Kanal 18 und das Und-Tor 10' gesetzt werden.
Weiterhin kann der Inhalt des Flipflops 24 auch noch
über die Leitung 8' durch eine Konsolentaste festgelegt werden. Das Setzen des Flipflops 24 wird weiter unten
beschrieben werden. Zum Auslesen einer Makroanweisung aus dem Hauptspeicher ist das Adressieren, das is
Auslesen und das Überführen derselben notwendig. Deshalb muß diese Operation durch eine Anzahl von
aufeinanderfolgenden Mikroanweisungen gesteuert werden.
Es ist bereits darauf hingewiesen worden, daß diese Mikroanweisungen durch eine Hardware-Sequencerschaltung erzeugt werden, die in geeigneter Weise mit
dem Teil der Steuereinheit verbunden ist, welcher bereits beschrieben wurde.
F i g. 1 zeigt eine Blockdarstellung des gesamten Steuerteils gemäß einem Ausführungsbeispiel der Erfindung und enthält daher auch den Hardware-Sequencer
und die dazugehörigen Verbindungen mit dem Steuerteil zusammen mit den für die Wirksamkeit der Erfindung notwendigen Modifikationen. Der Hardware-Se-
quencer wird durch den Block 25 dargestellt Ein bevorzugtes Ausführungsbeispiel dieses Sequencers wird im
einzelnen im Zusammenhang mit Fig.4 weiter unten beschrieben werden. Im Augenblick reicht es aus festzustellen, daß die Hardware-Sequencerschaltung bei-
spielsweise aus einem 2-Bit Binärzähler bestehen kann.
Der Sequencer wird bei jedem Maschinenzyklus mit Hilfe eines Taktimpulses T, der über eine geeignete Eingangsleitung 22 zugeführt wird, weitergesetzt. Der
Taktimpuls ist jedoch nur wirksam, wenn das Flipflop 24 gesetzt ist, d. h„ wenn der Ausgang sich im Zustand »1«
befindet Dieser Ausgang dient als Einschaltsignal für den Hardware-Sequencer 25.
Ein Hilfsregister 27, das mit RORM bezeichnet ist dient zur Aufnahme von Informationen vom Hauptspeieher über die Gruppe von Und-Toren 28 und den Kanal
29. Das Register RORM dient zur Aufzeichnung von Informationen, die den Charakter von Mikroanweisungen haben und es ist daher zweckmäßig, daß die Parallelverarbeitung gleich der des Speichers ROS ist so daß
eine Binärinformation von derselben Länge wie die der Mikroanweisungen eingespeichert werden kann.
Nur in dem Fall, daß spezifische Mikroanweisungsbits, die im Speicher ROS enthalten sind, redundante
Prüfbits sind, wie z. B. Paritäts-Prüfbits, die nicht wichtig
für die Erzeugung der Mikrobefehle sind, kann das Register RORM eine kleinere Kapazität haben, die der
effektiven benutzbaren Länge der Mikroanweisungen entspricht
Das Register RORM ist über die Gruppe von Und-Toren 30 ebenfalls mit den Eingangsleitungen des Registers ROR verbunden und deshalb ist es möglich, die
Information, die in dem Register RORM enthalten ist in das Register ROR einfach dadurch zu transferieren, daß
die Gruppe von Und-Toren 30 durchgeschaltet wird.
Die Ausgangsleitungen 31 des Hardware-Sequencers 25 sind über die Gruppe von Und-Toren 32 mit der
Befehlserzeugungsschaltung 4/4 verbunden. Diese
Schaltung besteht aus einer Anzahl von Oder-Toren. An
ihrem Eingang erhält sie sowohl die Ausgangssignale des Hardware-Sequencers als auch die des Dekoders 4
zugeführt.
Die Funktion der Hardware-Sequencerschaltung und ihre Verbindung mit dem Steuerteil wird im einzelnen
weiter unten mit Bezug auf F i g. 4 behandelt werden.
Fig.2 zeigt eine Blockdarstellung des Operationsteils der Datenverarbeitungseinrichtung, der an dieser
Stelle summarisch und nur der Vollständigkeit halber beschrieben werden soll.
Er besteht hauptsächlich aus zwei Sätzen von Registern 33 und 34, einem Register A und einer Operationsschaltung 35. Der Registersatz 33 beispielsweise enthält
16 Register von jeweils 8 Bit und wird durch einen Mikrobefehlskode über die Eingangsleitungen 37 adressiert. Mit Hilfe einer derartigen Adressierung und bei
gleichzeitiger Steuerung entweder der Gruppe von Toren 38 an den Eingängen des Registersatzes oder der
Gruppe von Toren 39 am Ausgang desselben wird eine Information, die durch den Kanal 45 ankommt, in dem
adressierten Register aufgezeichnet werden. Alternativ oder gemeinsam kann die in dem adressierten Register
schon enthaltene oder gerade festgehaltene Information auch in dem Register A festgehalten werden.
Der Inhalt des Registers A wird wiederum auf den Verteilungskanal 40 gegeben und kann dann mittels der
Tore wahlweise der Operationsschaltung 35 zugeführt werden.
Der Inhalt des Registers A kann aber auch durch den
Kanal 41 und die Tore 42 zum Registersatz 34 übertragen werden. Dieser Satz enthält 16 Register von jeweils
18 Bit und kann durch einen Mikrobefehlskode über den Eingang 43 adressiert werden. Der Inhalt des adressierten Registers ist stets am Verteilungskanal 44 verfügbar
und kann von hier aus wahlweise über Tore der Operationsschaltung 35 zugeführt werden. Das adressierte
Register in dem Registersatz 4 kann seinerseits mit Information aus verschiedenen Quellen versehen werden.
Es ist bereits erklärt worden, wie die in diesem Register A enthaltenden Daten über den Kanal 41 und die Und-Tore 42 zum Satz 34 übertragen werden können.
Eine andere mögliche Quelle ist ein Datenkanal der mit externen peripheren Quellen verbunden ist Dieser
Kanal ist mit DAT IN bezeichnet und wird durch die Gruppe von Toren 145 gesteuert
Die Daten, die aus dem Hauptspeicher auf Kanal 128 (in F i g. 3) ankommen, werden in den Registersatz 34
über eine Gruppe von Und-Toren überführt, um durch den Operationsteil verarbeitet zu werden.
Auch der Nur-Lese-Mikroprogrammspeicher ROS
kann zum Zweck der Aufzeichnung Daten zum Satz 34 geben. Zu diesem Zweck ist ein Verbindungskanal 47
(Fig. 1 und 2) zwischen dem Ausgang des Registers ROR und dem Registersatz 34 vorgesehen. Dieser Kanal wird gesteuert durch die Gruppe von Toren 48.
Es ist außerdem möglich, dem Registersatz 34 jede vorgegebene Information über einen Kanal 49 (LOAD)
zuzuführen, der durch die Gruppe von Toren 50 gesteuert wird.
In den Kanal 49 kann außerdem Information eingegeben werden, die — gesteuert durch eine Bedienungsperson — über die Konsolenschalter erzeugt wird.
Die Registersätze 33 und 34 können parallel gesteuert werden, um nur ein einziges Register in jedem Satz
gleichzeitig zu adressieren. Im Falle des Satzes 33 wird dieses durch das Register A ausgeführt. Dasselbe gilt
aber auch für den Satz 34, der im Hinblick auf die Arbeitsweise der Datenverarbeitungseinrichtung jedes
Mal als einzelnes Register B angesehen wird. Die Register A und B stellen die benötigten gleichzeitigen Datenträger
für zwei Informationen dar, welche der Operationsschaltung zur Verarbeitung angeboten werden.
Die Operationsschaltung ist mit den Registern A und B mittels der Verteilungskanäle 40 und 44 über eine Anzahl
von Toren verbunden. Die Tore werden in zweckmäßigen Gruppen zusammengefaßt, entsprechend dem
Format der zu verarbeitenden Daten (binär, zusammengefaßte oder nicht zusammengefaßte Dezimalen), der
Art der auszuführenden Information, der Parallelverarbeitung durch die Register sowie der Operationsschaltung.
In dem betrachteten Beispiel weisen die Register und die Operationseinheit 35 beispielsweise die Fähigkeit
zur Parallel verarbeitung von 18 Bits auf. Das gestattet die parallele Verarbeitung von zwei Byts, ohne die Bearbeitung
entweder eines einzelnen Byts auszuschließen.
Zu diesem Zweck sind die Tore, die die Eingänge der Operationsschaltung 35 mit den Verteilungskanälen 40
und 41 verbinden, in Gruppen zusammengefaßt, die mit den Bezugszeichen 51 bis 58 versehen sind. Jeder Block,
der jeweils eine Gruppe wiedergibt, ist mit der Zahl der übertragenen Bits versehen.
In ähnlicher Weise sind die Ausgänge der Operationsschaltung mit dem Sammelkanal 59 über die Tore 60 bis
63 verbunden.
Die Ausgänge der Operationsschaltungen sind gleichzeitig mittels der Und-Tore 64 bis 67 mit einem Dekoder
68 verbunden, welcher auf bestimmte Ausgangscodes anspricht, wie beispielsweise »alle Null« oder »alle
Eins« nur für jene Gruppe von Bits, die den angesteuerten Toren entspricht
Das Signal NZ 2 am Ausgang des Dekoders ist ein Signal »Bedingung hergestellt«, das benutzt wird, um
die durch den Operationsteil mit durchgeführten Operationen geeigneten Tests zu unterwerfen.
Der Operationsteil kann in Form von bekannten elektrischen Schaltungen ausgeführt werden, wobei vorzugsweise
integrierte Schaltungstechnik verwendet wird. Eine ausführliche Beschreibung einer solchen
Operationsschaltung Findet sich in der reichlich vorhandenen Literatur über den Entwurf von elektronischen
Datenverarbeitungsanlagen. Als maßgeblicher Text soll R. S. Lesley »Digital Computer and Control Engineering«,
Part 4, herausgegeben von McGraw-Hill, genannt werden. Außerdem ist in der durch den Anmelder eingereichten
italienischen Patentanmeldung Nr. 26 397 A/73, (eingereicht am 10. 7. 1973) eine bestimmte Ausführung
beschrieben, bei der die Operationseinheit verschiedene Schaltungen, die funktionell unabhängig sind,
umfaßt, beschrieben. Dieser Anmeldung können weitere Einzelheiten entnommen werden.
Die Operationsschaltung sollte im allgemeinen Operationen der folgenden Art durchführen: arithmetische
Binär- oder Dezimaloperationen, logische Operationen wie z.B. Und, Oder, Exklusiv- oder. Vergleich sowie
Datenverschiebeoperationen und Vermehrungs- oder Verminderungsoperationen, um eine oder mehrere Einheiten.
Die Art der benötigten Operation wird durch eine Gruppe von Mikrobefehlen 70 festgelegt, die vom
Steuerteil erhalten wird.
Um die Beschreibung des Operationsteils zu vervollständigen, soll gesagt werden, daß der Sammelkanal 59
mit dem Kanal 45 verbunden ist und daß daher die als Resultat der durch die Einheit 35 durchgeführten Operationen
auf dem Sammelkanal vorhandenen Daten in ein geeignetes Register des Satzes 33 übertragen und
eingespeichert werden können. Von dort aus können sie in das Register A, zum Festhalten in den Satz 34 oder,
falls notwendig, in den Hauptspeicher sowie zur Übertragung über den Kanal 69 und die Gruppe von Toren
84 zu einer externen Peripherieeinrichtung gelangen.
Der Kanal 69 ist mit dem Hauptspeicher verbunden (Fig.3). Der Kanal 85 am Ausgang der Gruppe von
Toren 84 dient dazu, Informationen aus der Datenverarbeitungsanlage
in periphere Teile zu übertragen. Das geschieht mittels einer Steuerschaltung zur Beeinflussung
des Informationstausches, deren Beschreibung für das Verständnis der Erfindung nicht wesentlich ist.
Der Operationsanteil enthält außerdem zwei Umgehungskanäle 83 und 86, die durch Gruppen von Toren 87
und 88 gesteuert werden, um die Verteilerkanäle 40 und 41 direkt mit dem Sammelkanal 59 zu verbinden.
Zusätzlich ist eine Anzahl von nicht dargestellten Flipflops vorgesehen, um besondere Zustände festzuhalten,
wie beispielsweise »Fortfahren«, »Ausführen« und außerdem Ergebnisse von Überprüfungen, die
durch spezielle Dekoder durchgeführt werden.
Der Hauptspeicherteil
F i g. 3 zeigt eine Blockdarstellung des Speicherteils der Datenverarbeitungseinrichtung. Diese umfaßt im
wesentlichen den Hauptspeicher 122, der beispielsweise einen Kernspeicher darstellt, mit einer Parallelverarbeitung
von 18 Bits, einem Adressierregister 5/, einem Datenregister
DI und einer Anzahl von Verbindungskanälen. Das Adressierregister 5/ erhält von dem Kanal 40
(F i g. 2 und 3) über die Und-Tore die codierte Information, die im Register A festgehalten ist, welches, wie
gesagt, in dem in Fig.2 dargestellten Operationsteil
enthalten ist.
Das Register 5/ hat eine Kapazität, die der maximal zu erwartenden Speicherkapazität angepaßt ist. Beispielsweise
kann ein Register mit 18 Speicherplätzen ungefähr 256 000 Speicherplätze adressieren und ist der
Parallelverarbeitung der beschriebenen Datenverarbeitungsanlage angepaßt.
Die Daten, die in den Speicher eingeschrieben werden sollen, werden über den Kanal 69, gesteuert durch
die Und-Tore 125, in das Register DI überführt und stammen, wie bereits bekannt, aus dem Register B des
Operationsteils. Die Daten, die im Register DI festgehalten sind, werden in die adressierten Speicherplätze
über den Kanai Ϊ23 eingeschrieben.
Die aus dem Speicher ausgelesenen Daten werden auf dem Kanal 127 übertragen, über die Tore 126 in das
Register DI eingespeichert und von dort aus über den Kanal 128 dem Register B zugeführt, das bereits in der
Beschreibung des Operationsteils erwähnt wurde.
Ein zusätzlicher Kanal 129 am Ausgang des Registers ROSAR, der durch die Gruppe von Toren 134 gesteuert
wird, ist zum Adressieren des Speichers vorgesehen. Durch diesen Kanal kann eine Mikroanweisungsadresse
in das Register SI eingebracht werden, was die Adressierung eines Speicherplatzes im Hauptspeicher anstelle
eines Platzes in einer ROS-Position ermöglicht
Der Ausgang des Registers DI ist ebenfalls sowohl mit dem Register B über den Kanal 128 als auch mit dem
Register RORM (Fig. 1) über den Kanal 29 und die
Gruppe von Toren 28 verbunden, so daß der Inhalt von
DI als Mikroanweisung für den S'.cuerteil verwendet
werden kann.
Mit anderen Worten ist ein direkter Austausch von Informationen zwischen dem Hauptspeicher und dem
Steuerteil und von Adressen zwischen dem Steuerteil und dem Hauptspeicher vorgesehen. Dieses war solange
nicht möglich, als der Steuerteil in der Weise arbeitete, daß er nur die Gruppe von Toren für den Austausch
von Information steuerte.
Der Hardware-Sequencer
Nachdem die Struktur der Datenverarbeitungsanlage allgemein beschrieben worden ist, kann jetzt die Beschaffenheit
des Hardware-Sequencers und der angeschlossenen Schaltungen näher untersucht werden.
F i g. 4 zeigt ein bevorzugtes Ausführungsbeispiel des
Hardware-Sequencers nach Fig. 1. Es enthält im wesentlichen die verbundenen Flipflops 201 und 222. Das
Flipflop 24, das mit dem Register ROSAR verbunden und zum Speichern des Bits, das angibt, wo die auszulesende
Mikroanweisung festgehalten ist, vorgesehen ist, wird durch einen getakteten Mikrobefehl CTX gesetzt.
Das geschieht entsprechend der Information, die an seinem Eingang 202 anliegt, der seinerseits mit einer der
Leitungen des Kanals 19 — welcher gleichzeitig zum Einspeichern des Registers ROSAR von dem Registersatz
33 aus dient — oder aber mit einer der Leitungen des Kanals 8 bzw. mit einer Leitung, die zur Eingabe von
Daten über die Konsole dient, verbunden ist
Die direkte Ausgangsleitung 203 des Flipflops 24 ist mit einem Eingang des Und-Tores 204, das insgesamt
zwei Eingänge aufweist, dem Eingang des monostabilen Multivibrators 205, dem Eingang des Inverters 206, und
den Eingängen der Oder-Tore 207 bis 210 verbunden, welche die Ausgänge des Hardware-Sequencers ansteuern.
Der Ausgang des monostabilen Multivibrators ist mit den Rücksetzeingängen der Flipflops 201 und 222
verbunden. Der Ausgang des Inverters 206 ist mit einem Steuereingang 272 einer Gruppe von Toren 16 (F i g. 4)
verbunden, welche das Einspeichern der Register ROR aus dem ROS steuern.
Der Ausgang des Und-Tores 204, dessen zweiter Eingang vom Taktimpuls T2 angesteuert wird, beeinflußt
den Takteingang des Flipflops 201.
Wann, zu Beginn eines Maschinenzyklus, der Mikrobefehl CTl, der nur auf eine entsprechende Mikroanweisung
hin erzeugt wird, das Setzen des Flipflops 24 gestattet und der Ausgang des Flipflops den Zustand
»1« annimmt, nimmt der Pegel der Leitung 203 ebenfalls den Zustand »1« an, bzw. behält ihn bei, und sperrt
dadurch mittels des Inverters 206 die Gruppe von Toren 16.
Auf diese Weise, wenn tatsächlich der binäre Zustand der Leitung 203 von »0« nach »1« übergeht, das heißt,
wenn die ÄOS-Adresse durch die Hauptspeicheradresse
der Mikroanweisung ersetzt ist, wird der monostabile
Multivibrator 205, durch die Anstiegsflanke des Signals getriggert, so daß er einen kurzen Impuls zum Zurücksetzen
der Flipflops 201 und 222 liefert
Es darf bemerkt werden, daß das gemeinsame Zurücksetzen
der beiden FHpflops 201 und 222 durch den monostabilen Multivibrator nur stattfindet, wenn der
Datenträger aus dem die Mikroanweisung ausgelesen und wirklich verändert ist und insbesondere, wenn die
die Steuerung durch eine ÄOS-Mikroanweisung geschaltet
ist, wodurch das Flipflop 24 sich in zurückgesetztem Zustand und sein Ausgang sich im »0«- Pegel
befindet. Wenn eine Mikroanweisung in den Hauptspeicher eingelesen wird, wird das Flipflop 24 gesetzt und
sein Ausgang geht in den Zustand »1« über.
Tatsächlich geschieht es nur jetzt, im Falle eines tatsächlichen Wechsels des Datenträgers, daß der monostabile
Multivibrator 205 an seinem Eingang eine Anstiegsflanke zugeführt erhält, die ihn triggert. Gleichzeitig
gelangt ein Taktimpuls Tl über das Und-Tor 204 an den Takteingang des Flipflops 201. Dieser erzeugt aber
keine Zustandsänderung des Flipflops, da dieser Impuls ankommt, wenn das Rücksetzsignal schon anliegt. Dessen
Dauer übertrifft die des Taktimpulses und überdeckt ihn zeitlich.
Da beide Flipflops 2Oi und 222 zurückgesetzt sind, befinden sich die jeweiligen invertierten Ausgänge 216 und 218 im »0«-Pegel. Deshalb geht der Ausgang des Und-Tores 207, dessen Eingänge mit den Ausgängen 215 und 217 sowie mit der Leitung 203, die sich alle auf dem »1«-Pegel befinden, verbunden sind, in den »1«-Zustand über.
Da beide Flipflops 2Oi und 222 zurückgesetzt sind, befinden sich die jeweiligen invertierten Ausgänge 216 und 218 im »0«-Pegel. Deshalb geht der Ausgang des Und-Tores 207, dessen Eingänge mit den Ausgängen 215 und 217 sowie mit der Leitung 203, die sich alle auf dem »1«-Pegel befinden, verbunden sind, in den »1«-Zustand über.
Es kann leicht aus Fig.4 ersehen werden, daß im Gegensatz dazu die Ausgänge der Und-Tore 208 bis 210
auf dem »0«-Pegel verbleiben.
Das an der Leitung 241 anliegende Signal wird der Befehlserzeugungsschaltung 4/4 zugeführt und bewirkt die Erzeugung einer Anzahl von Mikrobefehlen.
Das an der Leitung 241 anliegende Signal wird der Befehlserzeugungsschaltung 4/4 zugeführt und bewirkt die Erzeugung einer Anzahl von Mikrobefehlen.
Die Befehlserzeugungsschaltung 4/4, die nicht im einzelnen
dargestellt ist, besteht im wesentlichen aus Oder-Toren und gestattet die Erzeugung von Mikrobefehlen
in Abhängigkeit von Signalen, die sowohl von der Dekoderschaltung 4 als auch von den Leitungen 211 bis 214
empfangen werden. Die Mikrobefehle, die in Abhängigkeit des Signals auf der Leitung 211 erzeugt werden,
steuern das Auslesen des Hauptspeichers an die Adresse, die durch das Register ROSAR 5 bestimmt wird.
Das heißt im einzelnen, daß die auf diese Weise erzeugten Mikrobefehle die Gruppe von Toren 134
(F i g. 3) durchschalten und dadurch den Inhalt des Registers ROSAR in das Register SI überführen und, daß
zusätzliche Mikrobefehle zum Auslesen des Speichers erzeugt werden und daß ein weiterer Mikrobefehl das
Setzen des Tores 125 ermöglicht, wodurch das Einspeichern der aus dem Speicher ausgelesenen Daten in das
Register D/bewirkt wird.
Es ist an dieser Stelle zweckmäßig zu erwähnen, daß die Zeit des Speicherauslesezyklus nicht notwendigerweise
mit einem einzelnen Maschinenzyklus zusammenfallen muß, da sie länger andauern und beispielsweise
zwei Maschinenzyklen umfassen kann. Deshalb braucht während des Basis-Maschinenzyklus nur das Adressieren
des Speichers stattzufinden, während der Mikrobefehl, der die Gruppe von Toren 136 ansteuert, im folgenden
Zyklus erzeugt werden kann.
In diesem folgenden Zyklus wird der Zustand des Flipflop 24 nicht verändert, da kein Mikrobefehl erzeugt
wird. Der Taktimpuls TZ der über das Und-Tor 204 an
das Flipflop 201 geleitet wird, setzt dieses Flipflop, während
das Flip-Flop 222 im zurückgesetzten Zustand verbleibt.
Es kann aus F i g. 4 klar entnommen werden, daß jetzt
ein logisches »1«-Signal an der Leitung 212 erscheint, während die Leitungen 211, 213 und 214 auf dem
»0«-Pegel verbleiben.
Das Signal auf der Leitung 21 erzeugt zu verschiedenen Zwecken andere Mikrobefehle, z. B. zum Ansteuern
der Tore 28 (Fig. 1), um auf diese Weise Information
über den Kanal 29 vom Register DI zum Register RORM zu übertragen.
11 12
Falls notwendig geht dem Ansteuern der Tore 28 in 59 und 45 und die Gruppe von Toren 38 in ein Register
dieser Phase das Ansteuern der Gruppe von Toren 126 des Satzes 33 überführt werden.
voraus. Zu Beginn des folgenden Maschinenzyklus be- Im folgenden Maschinenzyklus, bei Erscheinen des
wirkt der Taktimpuls T2 ein Weitersetzen des Hard-Se- Taktimpulses Γ2 gehen die Flipflops 201 und 222 in den
quencers, wobei das Flipflop 201 zurückgesetzt und das 5 zurückgesetzten Zustand über, so daß, falls das Flipflop
Flipflop 222 gesetzt wird. Aus F i g. 4 ist ersichtlich, daß 24 noch gesetzt ist, der Eingriff des Hardware-Sequen-
das logische »1 «-Signal auf der Leitung 213 erscheint. cers wiederholt wird, wobei in diesem Fall die neue, in
Auf diese Weise wird ein neuer Satz von Mikrobefeh- dem Register ROSAR enthaltene Adresse benutzt wird
len erzeugt, welcher das Einspeichern derjenigen Mi- und die nachfolgende Anweisung aus dem Hauptspei-
kroanWeisung in das Register ROR steuert, die vorher io eher ausgelesen wird. Auf diese Weise wird die Ausfüh-
ai:s dem Speicher ausgelesen worden ist und nun im rung einer Folge von Mikroanweisungen möglich, auch
Register RORMfestgehalten ist. wenn sich diese im Hauptspeicher befinden.
Die Mikroanweisung, die aus dem Speicher ausgele- Es soll außerdem darauf hingewiesen werden, daß die
sen wurde, wird auf diese Weise im derzeitigen Maschi- Mikroanweisungen, die sich im Hauptspeicher befinden,
nenzyklus angeführt 15 dasselbe Format haben wie die im Speicher ROS vor-
Die5e!be Mikroanweisung liefert zusätzlich die Infor- handenen Mikroanweisungen.
mation, die notwendig ist, um die Adresse auf den neue- Die Ausführung der im Hauptspeicher vorhandenen
sten Stand zu bringen, damit die nachfolgende Mikroan- Mikroanweisungen erfordert selbstverständlich längere
Weisung ausgelesen werden kann und erzeugt zu diesem Ausführungszeiten, da der Ausführung jeder Mikroan-
Zweck Mikrobefehle. 20 weisurag eine Phase des Abrufens der Mikroanweisung
Wenn beispielsweise die Adresse um eines vergrößert vorangehen muß, die mindestens einen Maschinenzy-
werden muß, werden geeignet getaktete Mikrobefehle klus erfordert (beispielsweise zwei),
erzeugt, die die Gruppe von Toren 13 (Fig. 1) befahl- Trotz dieser Beschränkung ist die Erfindung insbe-
gen, die im Register ROSAR gespeicherte Adresse in sondere deswegen nützlich, als sie erlaubt, eine mikro-
das Register ROSAR /einzugeben, und die Gruppe von 25 programmierte Datenverarbeitungsanlage mit einer
Toren 14 ansteuern, um die Adresse, die in ROSAR 1 praktisch unbegrenzten Zahl von Mikroanweisungen zu
gespeichert ist durch die Zählschaltung 7 gelangen zu versehen.
lassen, wobei diese Schaltung die Größe »eins« zu der Es ist ersichtlich, daß mit Hilfe von geeigneten ProAdresse
addiert, und schließlich die Gruppe von Toren grammen jedes gewünschte Mikroprogramm, das auf
11 durchschaltet, damit die erneuerte Adresse durch den 30 einem Magnetband, einer Platte, Lochkarte oder jeder
Kanal 17 wieder in das Register ROSAR gelangen kann. Art von Datenträger, der über periphere Einrichtungen
Diese Operation, die — durch die Mikroanweisung mit der Datenverarbeitungseinrichtung verbunden wer-
gesteuert — ausgeführt wurde, kann einen Maschinen- den kann, vorhanden ist und in den Hauptspeicher ein-
zyklus umfassen. In diesem Fall setzt eine Mikroanwei- gespeichert werden kann und für den späteren Ge-
sung, die am Ende des Maschinenzyklus erzeugt wird, 35 brauch zur Verfügung steht
das Flipflop 201, während sich das Flipflop 222 sich be- Es bleibt jetzt nur noch übrig zu zeigen, wie es mög-
reits im gesetzten Zustand befindet Der Taktimpuls T2, lieh ist von einer Folge von Mikroanweisungen, die im
der kurz darauf — zu Beginn des nächsten Maschinen- Speicher ROS gespeichert ist, zu einer Folge von im
zyklus — folgt, setzt anschließend beide Flipflops zu- Hauptspeicher festgehaltenen Mikroanweisungen und
rück. 40 umgekehrt überzugehen, d. h. wie das Flipflop 24 in den
Jetzt befindet sich der Hardware-Sequencer wieder gesetzten und in den nicht gesetzten Zustand gebracht
im selben Zustand wie anfangs. Wenn das Flipflop 24 in wird.
gesetztem Zustand verbleibt bewirkt es das Auslesen Dieses kann leicht mit Hilfe von Sprung-Mikroanweider
nächsten Mikroanweisung aus dem Hauptspeicher sungen erreicht werden. Mit anderen Worten: eine Mizu
der Adresse, die im Register ROSAR enthalten und 45 kroanweisung, welche als im Speicher ROS vorhanden
im vorhergehenden Maschinenzyklus auf den neuesten angesehen werden soll, kann die neue Adresse von Mi-Stand
gebracht worden ist kroanweisungen und den zugehörigen Datenträger anWenn dagegen die ausgeführte Operation mehr als geben.
einen Maschinenzyklus, beispielsweise zwei, umfaßt Das Format einer Mikroanweisung mag beispielswei-
wie es im Falle eines Speicherauslesens vorkommen so se wie folgt aussehen:
kann, wird der Mikrobefehl »Setzen des Flipflop 201«
kann, wird der Mikrobefehl »Setzen des Flipflop 201«
nicht ausgegeben und der Hardware-Sequencer wird Bits 0—3 bilden den Funkiionscode. Diese Bits wer-
sequentiell weitergesetzt den benutzt um Mikrobefehle zur Steuerung der
Tatsächlich setzt zu Beginn des nächsten Maschinen- Tore 10 und 10' zu erzeugen.
zyklus der Taktimpuls T2das Flipflop 201, während sich 55 Bit 4 bezeichnet den Träger der Mikroanweisung.
das Flipflop 222 bereits in gesetztem Zustand befindet Es gibt an, ob sich die Mikroanweisung im Speicher
Aus der in F i g. 4 dargestellten Verbindung ist ersieht- ÄOSoder im Hauptspeicher befindet
lieh, daß das Signal mit dem Pegel »1« auf der Leitung Bits 15—18 sind die Bits, die die Adresse der Mikro-
214 erscheint anweisung angeben.
Es wird deshalb ein neuer Satz von Mikrobefehlen 60
erzeugt, der die Vervollständigung der Operation steu- Es ist nicht notwendig, daß die Adressenbits ermögli-
ert, beispielsweise das Einspeichern einer aus dem Spei- chen, alle Speicherplätze des Speichers ROS zu adres-
cher ausgelesenen Information in das Register DI und sieren, da nur einige davon notwendig sind,
von dort aus durch den Kanal 128 und die Gruppe von Mit Hilfe der Mikrobefehle, die durch die Bits 0 wie 3
Toren 46 in ein geeignetes Register des Satzes 34. 65 erzeugt werden, wird das Bit 4 im Flipflop 24 eingespei-
Falls notwendig, können die in dem Register 34 einge- chert und die Bits 5 bis 18 werden in einem Teil des
speicherten Daten im selben Maschinenzyklus durch die Registers ROSAR gespeichert. Während der folgenden
Kanäle 44 und 46, die Gruppe von Toren 88, die Kanäle Maschinenzyklus wird — entsprechend dem Zustand
14
des Flipflops 24 — entweder der Speicher ROS adressiert oder die Operation zum Auslesen der nachfolgenden Mikroanweisung ί'ΐε dem Hauptspeicher mit Hilfe
des Hardware-Sequencers eingeleitet
Es ist selbstverständlich, daß diese Sprungiraikroan-Weisung auch im Hauptspeicher enthalten sein kann und
damm vom Hauptspeicher zurück zum Speicher ROS oder zu einer anderen Adresse des Hauptspeichers verweist
Der Obergang von einem Träger für Mikroanweisungen zum anderen vermittels der beschriebenen Operation geht zwar sehr schnell vor sich, aber relativ starr, da
ein direkter Bezug zwischen Hauptspeicherposition und Sprungmikroanweisung besteht Mit anderen Worten,
es ist notwendig, von vornherein zu wissen, welche- Mikroprogramme und Folgen von Mikroprogrammen im
Hauptspeicher vorhanden sind und wo sie sich befinden, & h. welche Adresse sie haben. Dadurch kann die Organisation der Information im Hauptspeicher umständlich und nicht flexibel genug werden. Deshalb ist es gün-
stig, wenn eine im Hauptspeicher vorhandene Mikroanweisung ausgelesen wird, diese in derselben parametrischen, indirekten Form zu adressieren.
In diesem Fall wird die Adresse, die von der Sprungmikroanweisung geliefert wird, nicht direkt verwendet,
sondern gibt die Adresse eines Registers des Satzes 33 an, wo sich die tatsächliche Adresse der benötigten Mikroanweisung befindet und natürlich auch die des Trägers (Hauptspeicher oder Speicher ROS), in dem diese
Mikroanweisung festgehalten ist.
In diesem Fall gehen der Sprungmikroanweisung eine Mikroanweisung oder eine Folge von Mikroanweisungen zum Auslesen einer vorgeschalteten Adresse, die im
genannten vorgeschalteten Register des Satzes 33 vorhanden ist, voran. Der Inhalt dieser Adresse des Mikro-
Programms wird ausgelesen.
Die Mikroanweisung, die dieser Auslesemikroanweisung (oder dieser Folge von Mikroanweisungen) nachfolgt, ist die richtige Sprungmikroanweisung, die angibt,
daß diejenige Adresse, die in das Register ROSAR eingespeichert werden soll und dasjenige Bit, das in das
Flipfiop 24 eingegeben werden soll, aus dem genannten festen Register des Satzes 33 ausgelesen und über die
Tore 9 und 9' eingespeichert werden muß.
Die Information, die dem Speicher ROS eingeschrieben ist, mag von vornherein — a priori — diese Möglichkeit des Übergangs vom Speicher ROS zum Hauptspeicher versehen. Es ist aber auch möglich, die Information nachträglich — a posteriori — einzuführen.
Im Endeffekt wird der Speicher ROS stets durch e;ne
Anzahl von modularen Elementen gebildet — jedes für eine begrenzte Zahl von Speicherplätzen — die leicht
austauschbar sind. Falls ein Teil eines Mikroprogramms ausgeweitet werden soll, ist es möglich, ein modulares
Element, welches den betreffenden Teil enthält, durch ein anderes Element zu ersetzen, das die entsprechenden modifizierten Mikroanweisungen enthält. Die Mikroanweisungen derjenigen Folge, welche durch die
eben genannten ersetzt werden, werden zusammen mit denjenigen, welche die Ausweitung der Programmteile
bilden, im Hauptspeicher festgehalten.
Falls dieses nicht möglich sein sollte, weil verschiedene Mikroprogramme untereinander verbunden sind,
kann die obengenannte Mikroanweisung (Speicher lesen und Springen) in freien Plätzen des modularen EIe-
ments untergebracht werden und der Zugang zu ihr durch eine zusätzliche Sprungmikroanweisung innerhalb des modularen Elements hergestellt werden. Auch
ία diesem Fall des Austausches eines modularen Elements kann ;ilso das angestrebte Ergebnis erreicht werden.
"Ϊ-Ί V
Claims (6)
1. Mikroprogrammierter Rechner, der einen Leseoperation, beispielsweise zum Lesen eines Datums,
Hauptspeicher (122); ein Hauptspeicher-Adressier- 5 erfordern, während zur gleichen Zeit ein nächster Miregister
(SI); ein Hauptspeicher-Ausgangsregister krobefehl aus dem Lesespeicher abgerufen w-ird. Es ist
(DI); einen Mikroprogrammspeicher (ROS)-, ein Mi- weiter nicht möglich, daß der Lesespeicher in der gleikroprogramm-Adressierregister
(ROSAR); ein Mi- chen Zeitspanne oder im gleichen Maschinenzyklus
krobefehlsregister (ROR), das jeweils einen Mikro- zwei unterschiedliche Informationsteile auslesen kann,
befehl speichert, der entweder aus dem Hauptspei- 10 die sich an zwei unterschiedlichen Speicherplätzen becher
oder dem Mikroprogrammspeicher ausgelesen finden.
wird; ein dem Mikroprogramm-Adressierregister Der Erfindung liegt ausgehend von diesem Stand der
(ROSAR) zugeordnetes Hilfsregister (24) zum Spei- Technik die Aufgabe zugrunde, Mikroprogramme sochern
einer Information, die spezifiziert, ob der vom wohl im Steuer- als auch im Hauptspeicher eines Rech-Mikroprogramm-Adressierregister
adressierte Mi- 15 ners zu speichern und diese auszuführen, und zwar ohne
krobefehl sich im Hauptspeicher oder im Mikropro- irgendeine Beschränkung bezüglich der im Hauptspeigrammspeinher
befindet; und Adressierkanäis auf- eher gespeicherten Mikrobefehle und Mikroprpgramweist,
um entweder den Mikroprogramm-Speicher me, die dabei das gleiche Format wie die im Steuerspeioder
den Hauptspeicher aus den Mikroprogramm- eher gespeicherten haben können.
Adressierregister-Eingangskanälen zum Laden ei- 20 Zur Lösung dieser Aufgabe dienen bei einem Rechnes Mikrobefehls entweder aus dem Hauptspeicher ner der gattungsgemäßen Art erfindungsgemäß die im oder dem Mikroprogrammspeicher zu adressieren, Kennzeichen des Hauptanspruchs angegebenen Mittel, dadurch gekennzeichnet, daß der Rechner Auf diese Weise wird es möglich, wenn der sich in Ausweiter eine logische Sequencerschaltung (25) auf- führung befindliche Mikrobefehl einen nächsten Mikroweist, die, wenn das Hilfsregister (24) anzeigt, daß 25 befehl erfordert, der sich im Hauptspeicher befindet, der nächste Mikrobefehl aus dem Hauptspeicher auch diesen auszuführen und zur gleichen Zeit eine (122) ausgelesen werden muß, eine Vielzahl von auf- Hauptspeicher-Lese-Schreiboperation zu steuern,
einanderfolgenden Mikrokommandos erzeugt, die Weiterbildungen der Erfindung sind in den Unterandie Übertragung des nächsten Mikrobefehls aus Sprüchen angegeben.
Adressierregister-Eingangskanälen zum Laden ei- 20 Zur Lösung dieser Aufgabe dienen bei einem Rechnes Mikrobefehls entweder aus dem Hauptspeicher ner der gattungsgemäßen Art erfindungsgemäß die im oder dem Mikroprogrammspeicher zu adressieren, Kennzeichen des Hauptanspruchs angegebenen Mittel, dadurch gekennzeichnet, daß der Rechner Auf diese Weise wird es möglich, wenn der sich in Ausweiter eine logische Sequencerschaltung (25) auf- führung befindliche Mikrobefehl einen nächsten Mikroweist, die, wenn das Hilfsregister (24) anzeigt, daß 25 befehl erfordert, der sich im Hauptspeicher befindet, der nächste Mikrobefehl aus dem Hauptspeicher auch diesen auszuführen und zur gleichen Zeit eine (122) ausgelesen werden muß, eine Vielzahl von auf- Hauptspeicher-Lese-Schreiboperation zu steuern,
einanderfolgenden Mikrokommandos erzeugt, die Weiterbildungen der Erfindung sind in den Unterandie Übertragung des nächsten Mikrobefehls aus Sprüchen angegeben.
dem Hauptspeicher (122) in das Mikrobefehlsregi- 30 Die Erfindung wird anhand eines in der Zeichnung
ster (ROR) bewirken. dargestellten Ausführungsbeispiels des Erfindungsge-
2. Mikroprogrammierter Rechner nach Anspruch genstandes nachstehend näher erläutert Es zeigt
1, dadurch gekennzeichnet, daß die logische Sequen- Fig. 1 eine schematische Blockdarstellung der
cerschaltung (25) einen 2-Bit-Binärzähler (Flipflops Steuereinheit des mikroprogrammierten Rechners,
201,222) zum Erzeugen von vier aufeinanderfolgen- 35 F i g. 2 eine schematische Blockdarstellung des Ope-
den Mikrobefehlen enthält rationsteils des mikroprogrammierten Rechners,
3. Mikroprogrammierter Rechner nach Anspruch F i g. 3 eine schematische Blockdarstellung des
1, gekennzeichnet durch einen zusätzlichen Adres- Hauptspeicherteils und
sierkanal (18) von dem Mikrobefehlsregister (ROR) Fig.4 eine bevorzugte Ausführungsform der Se-
zu dem Mikroprogramm-Adressierregister (RO- 40 quencerschaltung nach der Erfindung.
SAR) und zu dem Hilfsregister (24). In F i g. 1 ist der Steuerteil 1 und die Takteinheit 2 der
4. Mikroprogrammierter Rechner nach Anspruch Datenverarbeitungsanlage dargestellt. Die Beschrei-1,
gekennzeichnet durch einen Adressierkanal von bung ist leichter zu verstehen, wenn zunächst die Taktmindestens
einem Arbeitsregister (A, 33) zu dem Mi- einheit 2 betrachtet wird. Diese Einheit umfaßt im wekroprogramm-Adressierregister
(ROSAR) und dem 45 sentlichen eine Taktschaltung 20 und ein Taktnetzwerk Hilfsregister (24). 21. Die Taktschaltung 20 besteht praktischerweise aus
5. Mikroprogrammierter Rechner nach Anspruch einer Verzögerungsleitung mit Zwischenanzapfungen,
3, dadurch gekennzeichnet, daß er für die Verwen- die durch eine monostabile Multivibratorschaltung gedung
von Sprungmikrobefehlen ausgebildet ist, die speist wird, welche ihrerseits getriggert wird entweder
ein erstes Bitfeld zur Angabe der Adresse der nach- so durch ein externes Startsignal oder aber vom Endanfolgenden
Mikrobefehle und ein zweites Bitfeld zur schluß der Verzögerungsleitung, um eine zyklische FoI-Angabe
des Datenträgers, der den nachfolgenden ge von Taktimpulsen zu erzeugen.
Mikrobefehl enthält, aufweisen. Als Alternative ist es bekannt, eine Hochfrequenzos-
6. Mikroprogrammierter Rechner nach Anspruch zillatorschaltung zu verwenden, um eine Basisfrequenz
4, dadurch gekennzeichnet, daß er für Mikrobefehle 55 zu erzeugen, von der eine Folge von Taktimpulsen mit
vorgesehen ist zum Überführen eines ersten und ei- Hilfe von Frequenzteilern erhalten wird. Die Betriebsnes
zweiten Bitfeldes einer Information, die im Ar- weise der Taktschaltung kann am Ende eines jeden Zybeitsregister
(A, 33) bzw. in dem Mikroprogramm- klus mit Hilfe eines Befehls, der am Stopanschluß ange-Adressierregister
(ROSAR) und in dem Hilfsregister legt wird, unterbrochen werden.
(24) enthalten ist. 60 Einige Taktimpulse werden durch die Ausgangsleitungen
Ti, T2, Ti,... bis Tn zu verschiedenen Punkten
der Datenverarbeitungsanlage hingeführt, wo sie zyklisch vorbestimmte Und-Tore ansteuern.
Andere Taktimpulse TQ, TCi,... bis TCs werden an
Die vorliegende Erfindung betrifft einen mikropro- 65 das Taktnetzwerk 21 angelegt, welches einen Teil der
grammierten Rechner der im Gattungsbegriff des Takteinheit darstellt.
Hauptanspruchs angegebenen Art. Das Taktnetzwerk erhält aus der Steuereinheit eine
Ein solcher mikroprogrammierter Rechner ist aus der Anzahl von Signalen Mikrobefehlen Ci, Cz, C3 ... C^
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IT2938673A IT993427B (it) | 1973-09-26 | 1973-09-26 | Unita di controllo di calcolatore microprogrammata con possibilita di passaggio dinamico da microsequenze residenti in una ros a micro sequenze residenti nella memoria principale e viceversa |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2440627A1 DE2440627A1 (de) | 1975-03-27 |
DE2440627C2 true DE2440627C2 (de) | 1986-01-30 |
Family
ID=11226882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19742440627 Expired DE2440627C2 (de) | 1973-09-26 | 1974-08-22 | Mikroprogrammierter Rechner |
Country Status (6)
Country | Link |
---|---|
JP (1) | JPS5917460B2 (de) |
CA (1) | CA1001312A (de) |
DE (1) | DE2440627C2 (de) |
GB (1) | GB1440856A (de) |
HK (1) | HK61581A (de) |
IT (1) | IT993427B (de) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62146176U (de) * | 1986-03-11 | 1987-09-16 | ||
US4825356A (en) * | 1987-03-27 | 1989-04-25 | Tandem Computers Incorporated | Microcoded microprocessor with shared ram |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BE757967A (fr) * | 1969-10-25 | 1971-04-23 | Philips Nv | Memoire pour microprogramme |
US3736567A (en) * | 1971-09-08 | 1973-05-29 | Bunker Ramo | Program sequence control |
FR2226901A5 (de) * | 1973-04-19 | 1974-11-15 | Honeywell Bull Soc Ind |
-
1973
- 1973-09-26 IT IT2938673A patent/IT993427B/it active
-
1974
- 1974-08-22 DE DE19742440627 patent/DE2440627C2/de not_active Expired
- 1974-09-24 CA CA209,851A patent/CA1001312A/en not_active Expired
- 1974-09-25 JP JP49110359A patent/JPS5917460B2/ja not_active Expired
- 1974-09-26 GB GB4198374A patent/GB1440856A/en not_active Expired
-
1981
- 1981-12-10 HK HK61581A patent/HK61581A/xx unknown
Also Published As
Publication number | Publication date |
---|---|
JPS5079229A (de) | 1975-06-27 |
GB1440856A (en) | 1976-06-30 |
JPS5917460B2 (ja) | 1984-04-21 |
HK61581A (en) | 1981-12-18 |
CA1001312A (en) | 1976-12-07 |
DE2440627A1 (de) | 1975-03-27 |
IT993427B (it) | 1975-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2357003C2 (de) | Prozessor für eine Mehrprogramm-Datenverarbeitungsanlage | |
EP0097725B1 (de) | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen | |
DE1915818A1 (de) | Elektronisches Datenverarbeitungssystem | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
DE2440628A1 (de) | Datenverarbeitungsanlage mit mikroprogrammierung | |
DE2555963A1 (de) | Einrichtung zur funktionsmodifizierung | |
DE2322674A1 (de) | Mikroprogramm-steuereinrichtung | |
DE1499200A1 (de) | Datenverarbeitungsanlage mit vorranggesteuerter Programmunterbrechung | |
DE1449765B2 (de) | Einrichtung zur Abfrage eines assoziativen Speichers | |
DE2719635A1 (de) | Anordnung fuer eine erweiterung einer mikroprogrammsteuerung einer datenverarbeitungsanlage | |
DE2339636A1 (de) | Programmsteuereinrichtung | |
DE1499203B1 (de) | Schaltungsanordnung zum Speicherschutz bei Datenverarbeitungsanlagen mit Simultanbetrieb | |
DE2318069A1 (de) | Rechnersteuersystem unter verwendung von mikroprogrammierung und statisch/dynamischer erweiterung von steuerfunktionen mittels festverdrahteter logischer matrix | |
DE2725396C3 (de) | ||
DE2755616A1 (de) | Asymmetrischer multiprozessor | |
DE2248296A1 (de) | Programmsteuereinrichtung | |
DE2905676A1 (de) | Integrierte schaltung mit einem einzigen chip | |
DE1574499A1 (de) | Speicheranordnung fuer binaere Daten unter Verwendung einer geschlossenen Datenumlaufschleife | |
DE1935944B2 (de) | Steuereinrichtung in einer elektronischen Datenverarbeitungsanlage | |
DE2951040A1 (de) | Steuerspeicher in einem steuerabschnitt eines rechners | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE2440627C2 (de) | Mikroprogrammierter Rechner | |
DE2747304A1 (de) | Einrichtung zur mikrobefehlssteuerung | |
DE2428020A1 (de) | Elektronische datenverarbeitungsanlage mit unabhaengigen funktionseinheiten fuer das gleichzeitige ausfuehren verschiedener operationen an denselben daten | |
DE2710436A1 (de) | Datenverarbeitungseinrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |