DE2117936A1 - Mikroprogrammgesteuerte Zentraleinheit eines elektronischen Datenverarbeitungssystems - Google Patents
Mikroprogrammgesteuerte Zentraleinheit eines elektronischen DatenverarbeitungssystemsInfo
- Publication number
- DE2117936A1 DE2117936A1 DE19712117936 DE2117936A DE2117936A1 DE 2117936 A1 DE2117936 A1 DE 2117936A1 DE 19712117936 DE19712117936 DE 19712117936 DE 2117936 A DE2117936 A DE 2117936A DE 2117936 A1 DE2117936 A1 DE 2117936A1
- Authority
- DE
- Germany
- Prior art keywords
- register
- control
- word
- memory
- cycle
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims description 32
- 230000015654 memory Effects 0.000 claims description 169
- 238000012546 transfer Methods 0.000 claims description 21
- 230000003936 working memory Effects 0.000 claims description 16
- 125000004122 cyclic group Chemical class 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 14
- 239000000872 buffer Substances 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 7
- 230000000295 complement effect Effects 0.000 description 7
- 238000012937 correction Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 3
- 238000002789 length control Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- OFFWOVJBSQMVPI-RMLGOCCBSA-N Kaletra Chemical compound N1([C@@H](C(C)C)C(=O)N[C@H](C[C@H](O)[C@H](CC=2C=CC=CC=2)NC(=O)COC=2C(=CC=CC=2C)C)CC=2C=CC=CC=2)CCCNC1=O.N([C@@H](C(C)C)C(=O)N[C@H](C[C@H](O)[C@H](CC=1C=CC=CC=1)NC(=O)OCC=1SC=NC=1)CC=1C=CC=CC=1)C(=O)N(C)CC1=CSC(C(C)C)=N1 OFFWOVJBSQMVPI-RMLGOCCBSA-N 0.000 description 1
- 101100136648 Mus musculus Pign gene Proteins 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000000034 method Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30192—Instruction operation extension or modification according to data descriptor, e.g. dynamic data typing
-
- 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/223—Execution means for microinstructions irrespective of the microinstruction function, e.g. decoding of microinstructions and nanoinstructions; timing of microinstructions; programmable logic arrays; delays and fan-out problems
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
- G06F9/30167—Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3869—Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
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)
- Memory System Of A Hierarchy Structure (AREA)
- Hardware Redundancy (AREA)
Description
Aktenzeichen der Anmelderin: Docket EN 96 8 033
Mikroprogrammgesteuerte Zentraleinheit eines elektronischen Datenverarbeitungssystems ,
Die Erfindung betrifft eine mikroprogrammgesteuerte Zentraleinheit
eines elektronischen Datenverarbeitungssystems und insbesondere ein an die jeweiligen Erfordernisse der Systemsteuerung
anpaßbares Zeitsteuersystem.
Bei auf die Maschinenausrüstung orientierten Datenverarbeitungsanlagen
ist es allgemein bekannt, die Operation. der=Maschinenteile
so zu steuern, daß die zur Ausführung einer Programminstruktion erforderliche Zeit für jede Instruktion auf einem Minimum
gehalten wird. Bei mikroprogrammierten Maschinen wurde es allgemein üblich, alternativ dazu eine Basis-Zykluszeit für die
Ausführung aller Steuerwörter oder ein Vielfaches dieser Zeit
für die Ausführung der Steuerwörter vorzusehen, die in der einem Zyklus zugeordneten Zeit nicht ausgeführt werden können.
für die Ausführung der Steuerwörter vorzusehen, die in der einem Zyklus zugeordneten Zeit nicht ausgeführt werden können.
Bei mikroprogrammgesteuerten Zentraleinheiten elektronischer Datenverarbeitungssysteme
mit schnellen Steuerspeichern, die das Steuerprogramm enthalten und Zykluszeiten besitzen, die kürzer
109845/1660
_2_ 2177936
sind als die Ausführungszeiten der logischen Schaltungen des Systems,
tritt der Fall ein, daß die Speicheroperationen auf die Operationen der arithmetischen und logischen Schaltungen warten
müssen. Da aber nicht alle Steueroperationen (MikroOperationen) die gleiche Anzahl von Steuertakten, für ihre Ausführung benötigen,
geht vor allem deshalb wertvolle Verarbeitungszeit verloren,
wenn die festen Zyklen des Taktgenerators starr auf das längste Steuerwort zugeschnitten ist.
Die Aufgabe der vorliegenden Erfindung ist es daher, eine Einrichtung
anzugeben, die bei nur geringen Mehrkosten eine Verbesserung der Operationsgeschwindigkeit erreicht.
Für eine mikroprogrammgesteuerte Zentraleinheit eines elektronischen
Datenverarbeitungssystems besteht die Erfindung darin, daß ein schneller Steuerspeicher, dessen Zugriffs- und Lesezeit kleiner
ist als die Verarbeitungszeit der arithmetischen und logischen Schaltungen, daß ferner ein Taktgenerator mit variabler Zykluslänge
für die Erzeugung einer Reihe zyklischer Ausgangsimpulse
für die Ausführung der Steuerwörter und daß schließlich eine Steuerung vorgesehen sind, die in Abhängigkeit von einem Steuerwort
den Taktgenerator derart steuert, daß dieser nur so viele Ausgangsimpulse in einer Taktimpulsreihe erzeugt, wie für die
Ausführung dieses Steuerwortes unbedingt erforderlich sind.
Weitere Merkmale, vorteilhafte Ausgestaltungen und Weiterbildungen
des Gegenstandes der Erfindung sind den Unteransprüchen zu
entnehmen.
Der mit der Erfindung erzielbare Vorteil besteht im wesentlichen
in einer Erhöhung des Leistungsgrades einer Zentraleinheit eines elektronischen Datenverarbeitungssystems, wobei die vorgeschlagene
Lösung außerdem nur einen sehr geringen technischen Mehraufwand erfordert.
Im folgenden wird die Erfindung anhand eines durch Zeiehnungen
10 9845/1660
Docket EN 968 033
Docket EN 968 033
erläuterten Ausführungsbeispieles näher beschrieben. Es zeigen:
Fig. 1 ein Schaubild der verbesserten Hochgeschwindig-
keits-Datenverarbeitungsanlage und ihren grundlegenden
Datenfluß;
Fig. 2A einen Lageplan der Pign. 2A bis 21;
Fig. 2A - 21 detaillierte Schaubilder der in Fig. 1 gezeigten
Anlage;
Fig. 3 ein Schaubild eines Ausführungsbeispiels eines
Taktgebers mit veränderlicher Zykluslänge mit
den zugehörigen Eingangs- und Ausgangsanschlüssen;
Fig. 4 ein Zeitdiagramm der Basis-Taktzyklen;
Fig. 5 ein Schaltbild der Steuerschaltungen für die
verschiedenen Taktzyklen mit vorgewählter Taktzeit und
Fig, 6-16 die Ausführung verschiedener als Beispiel gewählter
Steuerwörter und die zugehörigen Zeitdiagramme für die Operationen.
Im Ausführungsbeispiel stellt eine Decodierschaltung nach übertragung
eines jeden Steuerwortes vom STeuerspeicher in ein Steuerregister
durch untersuchung die Art des auszuführenden Steuerwortes
fest. Abhängig von dieser Wortart gibt die Decodierschaltung Steuerimpulse auf den Taktgeber der Verarbeitungseinheit,
so daß dieser eine von den drei verfügbaren Zykluslängen von
180 t 225 und 270 ns oder eine Kombination von zwei dieser drei
Zykluslängen auswählt. Dadurch wird jedes Mikro-Steuerwort so
schnell wie möglich ausgeführt und die Systemleitung wesentlich verbessert. Im Ausführungsbeispiel werden bei jedem Zugriff zum
.10 9 8 4 5/1660
Docket EN 968 033 °°U
Steuerspeicher zwei Wörter aus dem Steuerspeicher gelesen und in
das Steuerregister übertragen. Da nur eines dieser beiden Steuerwörter
zu benutzen ist, kann der übertragungsweg für spätere Verzweigung
benutzt werden, d. h., das in das Steuerregister zu lesende Wort braucht erst unmittelbar vor der Verfügbarkeit am Eingang
des Steuerregisters gelesen zu werden. Dieser Zeitpunkt liegt wesentlich hinter dem Zugriff und Lesen des Doppelwortes aus dem
Steuerspeicher. Die Auswahl eines der beiden Wörter zur Ausführung kann in vielen Fällen somit bis zu einem späteren Zeitpunkt
im Zyklus verzögert werden, wodurch die Verarbeitungseinheit durch Verwendung eines etwas längeren Zyklus (225 ns) anstelle
von zwei kürzeren Zyklen (180 ns) verkürzt werden kann. Durch
festgelegte Steuerwortbits oder Statusregisterbits bestimmte Verzweigungen
können in der kürzeren Zykluszeit (180 ns) ausgeführt werden.
Im Ausführungsbeispiel ist eine Halbwort-ALU vorgesehen, die die Ausführung einer Rechten- oder Verknüprungsoperation eines binären
Halbwortes in der kürzesten Zykluszeit gestattet. Kleinere zur ALU gehörende Bauteile veranlassen die Verarbeitung des zweiten
Halbwortes durch die ALU während der Vollwortoperation durch
Erweiterung der Zykluszeit von 180 für die Halbwort-Rechenoperation benötigten ns auf 225 ns für eine Vollwortoperation. Dadurch
wird die Leistung zwar etwas herabgesetzt, die Bauteilkosten der ALU jedoch wesentlich reduziert.
In einem anderen Ausführungsbeispiel der Erfindung werden die Daten
während der Ausführung eines Steuerwortes vom Hauptspeicher auf einen Arbeitsspeicher zur Verarbeitung während einer nachfolgenden
Ausführung eines Steuerwortes übertragen. Nach Verarbeitung der Daten werden sie in den Arbeitsspeicher zurückgesetzt,
bevor sie in den Hauptspeicher übertragen werden. Die zur übertragung
der Daten zwischen Arbeite- und Hauptspeicher benutzten Speicherzyklen erfordern wesentlich, längere Perioden, als sie in
den Basis-Zykluszeiten zur Verfügung stehen. Infolgedessen werden ein Zyklus von 225 ns und einer von 270 ns oder zwei Zyklen von
DocKet EN 968 033 '09845/1660
270 ns zur Ausführung der Steuerwörter miteinander verbunden.
Beschreibung des Ausführungsbeispiels
Das in den Zeichnungen dargestellte Ausführungsbeispiel des Systems
stellt eine Verbesserung gegenüber dem im US-Patent Nummer 3 400 371 beschriebenen System dar und umfaßt Mikroprogrammroutinen
für die Steuerung von Makroinstruktionen der im o. a. Patent beschriebenen Art.
Vor der Beschreibung des Ausführungsbeispiels werden bestimmte, nachfolgend ^u verwendende Ausdrücke definiert. Daten sind auf
Wortbasis angeordnet, jedes Wort umfaßt 4 Bytes. Jedes Byte besteht
aus acht binären Datenbits und einem Paritätsprüfbit. In
einigen Fällen werden Daten adressiert und übertragen in Doppelwortbreite,
die manchmal als gerade oder ungerade Wörter eines Doppelwortes bezeichnet werden. Im Haupt- und Steuerspeicher sind
Daten und Steuerwörter in Gruppen von 60 Viererwörtern angeordnet,
die als Moduln bezeichnet werden.
Fig. 1 zeigt schematisch ein Ausführungsbeispiel des Systems, in
welchem die Verbesserung der vorliegenden Anmeldung benutzt werden kann. Das System enthält einen Hochgeschwindigkeitsspeicher
1, der einen Steuerspeieher IA und einen Hauptspeicher IB umfaßt.
Mikroprogramm-Steuerwörter sind im Steuerspeicher IA gespeichert, während Daten und Programminstruktionen im Hauptspeicher IB gespeichert
sind.
Mikroprograaun-Steuerwörter werden der Reihe nach von der Einheit
1 auf ein ORegister 2 über eine Speicherdaten-Ausgangsleitung
SDBO mit einer Breite von zwei Wörtern übertragen. Steuerwörter,
Daten und Frogramminstnaktionen in der Einheit 1 werden über ein Adreßregister 3 adressiert. Verzweigungsschaltungen 4 ändern bei
Bedarf die normale Reihenfolge, in welcher die Mikroprogramm-
109B45/1680
Docket EN 968 033
Steuerwörter ausgeführt werden.
Um im Hauptspeicherteil der Einheit 1 gespeicherte Daten bearbeiten
zu können, müssen sie auf den A-Arbeitsspeicher 5 oder den B-Arbeitsspeicher
6 oder auf externe Register 7 übertragen werden.
Die Datenübertragung von der Einheit 1 zu den Arbeitsspeichern
oder den externen Registern erfolgt über die SDBO, die SDBO-Vorassemblierer-Riegel
10, den Assemblierer 11 und über Wort-, Halbwort- und Byte-Wahlschaltungen 12. Die jeweilige Stelle in den
Arbeitsspeichern oder den externen Registern, in welche die Daten zu übertragen sind, wird durch eine diesen Speichern und Registern
zugeordnete Ädreß-Decodierschaltung 13 bestimmt, welche
ausgewählte Bits in jedem Steuerwort auf der SDBO und bestimmte
Bits in den P- und L-Bytes eines externen Sonderregisters (SPTL)
7A decodiert.
Daten werden in einer Rechen- und Verknüpfungseinheit ALU 20 verarbeitet,
die Daten von den Arbeitsspeichern 5 und 6 über das A-Register
21 bzw« B-Register 22 und den A-Assemblierer 23 bzw. den
B-Assemblierer 24 empfängt. Durch die ALU 20 zu verarbeitende Daten,
die in den externen Rgistern stehen, werden auf die ALU 20
über einen externen Assemblierer 25 und entweder über das A-Register 21 und den A-Assemblierer 22 oder über das B-Eegister 22
und den Assemblierer 24 übertragen. Um die Daten auf dem zuletzt erwähnten Wege zu übertragen, muß eine Leitung 26 den Ausgang
des Α-Registers mit dem Eingang des B-Registers 22 verbinden. Ausgewählte binäre Konstantwerte werden in die ALU 20 über einen
K-Asserablierer 27 eingegeben.
Von der ALU 20 verarbeitete Daten werden auf ausgewählte entsprechende
Stellen in den Arbeitsspeichern 5 oder 6 oder auf ein externes
Register 7 über ein Z-Register 30, ein B-Register 31 und
den Assemblierer 11 zurückübertragen. Die Auswahl des Bestimmungsortes
für die verarbeiteten Daten erfolgt wieder durch die Adreß-Decodierschaltuagen 13. Verarbeitete Daten werden dan in
den Hauptspeicherteil der Steuereinheit 1 über das Ä-Eegister 21,
10-9845/1660
Docket EN 968 033
den Α-Assemblierer 23 und eine Speicher-Datenausgangsleitung SDBI
zurückgesetzt. Während der Datenübertragung zwischen der Speichereinheit 1 und einem der Arbeitsspeicher 5 und 6 oder der externen
Register 7 wird die SpeichersteHe der Einheit I gewählt über
eine erzwungene Adresse oder eine von den Arbeitsspeichern 5 oder 6 abgeleitete Adresse und über das B-Register 22 auf das Adreßregister
3 übertragen.
In dem als Ausführungsbeispiel in Fig. 1 gezeigten System stellen die beiden Arbeitsspeicher 5 und 6 Spiegelbilder voneinander
dar, d. h., jedesmal, wenn Daten in eine gewählte Stelle im A-Arbeitsspeicher
5 übertragen werden, werden dieselben Daten in eine entsprechende Stelle des B-Arbeitsspeichers 6 übertragen.
Daher sind die in jedem der Arbeitsspeicher 5 und 6 enthaltenen Daten jederzeit identisch« Wenn jedoch Daten aus einem dieser
beiden Speicher gelesen werden, werden die Datenpositionen einzeln
adressiert, d. h., eine Position im A-Arbeitsspeieher 5
wird während eines früheren Teiles eines Steuerwortzyklus als Α-Datenquelle adressiert und gleichzeitig wird eine vollkommen
andere Position im B-Arbeitsspeicher 6 als eine B-Datenquelle adressiert. Auf diese Weise werden zwei Arbeitsspeicherstellen
(oder eine Arbeitsspeicherstelle und ein externes Register) gleichzeitig als Datenquellen adressiert, um die Arbeitweise
des Systems zu beschleunigen.
Der Takt oder die Zeiteinteilung des Systems wird durch mehrere im wesentlichen identische Systemtaktgeber 35 (d, h. 35-1 bis
35-n) und einen Hauptoszillator 36gesteuert. Die Ausgangsimpulse des Hauptoszillators 36 werden kontinuierlich an die Eingänge
der Systemtaktgeber 35 angelegt. Eine eine Zykluslängensteuerungs-Decodierschaltung
enthaltende und zum C-Register 2 gehörende Einrichtung leitet jedoch die Oszillator-Ausgangsimpulse
wahlweise auf die verschiedenen Systemtaktgeber 35, entsprechend dem gerade ausgeführten Mikroprogramm-Steuerwort. Abhängig von
der Art des ausgeführten Wortes wird die Zykluslänge der Systemtaktgeber
während der Ausführung dieses Steuerwortes eingestellt.
109845/1660 Docket EN 968 033
2117336
Im Äusführungsbeispiel ist für jede Schaltkarte ein Taktgeber
vorgesehen und umfaßt eine regelbare Verzögerungseinrichtung zwischen Taktgebereingang und Oszillatorausgang zur- Synchronisation
aller Taktperioden. -
Die Verarbeitungseinheit wird vonhand über die Konsolschalter
eingestellt, deren Ausgänge mit dem Steuerregister 2 und den
Adreß-Decodierschaltungen 13 über einen Assemblierer 38 verbunden
sind. Daten können in die Verarbeitungseinheit von den Schaltungen 37 über einen Assemblierer 39 und einen externen Assemblierer.
25 eingegeben werden.
In der Speichereinheit 1 des Ausführungsbeispieles bestehen die einzelnen Speicherpositionen aus monolithisch hergestellten Transistor-Speicherzellen,
in denen je ein Datenbit gespeichert werden kann. Der Transistorspeicher kann nicht destruktiv ausgelesen
werden, so daß sein Steuerspeicherteil beschrieben werden kann, d. h., die Mikroprogramm™Steuerwörter können wahlweise in
den Steuerspeicherteil der Speichereinheit 1 eingegeben und zu jeder Zeit dadurch verändert werden, daß ein neuer Satz von Mikroprogramm-Steuerwörtern
in den Steuerspeicherteil geladen wird.
Im Ausführungsbeispiel wird der Steuerspeicher über eine Konsolendatei
40 geladen, die über eine Magnetplatteneinheit und die
zugehörigen Steuerungen verfügt. Abhängig von den jeweiligen Anforderungen des Benutzers wird ein ausgewähltes optimales Steuerspeicher-Mikroprogramm
von der Konsolendatei 40 auf den Steuerteil des Speichers 1 über den Assemblierer 39, den externen Assemblierer
25 und die normalen Datenwege der Verarbeitungseinheit übertragen. Die Konsolendatei 40 speichert außerdem geeignet
Kommandos, die nach Decodierung in der Einheit 4O auf das
Steuerregister 2 und die Adreß-Decodierschaltung 13 über den
Assemblierer 38 gegeben werden, um sowohl das Laden des Steuerteiles der Speichereinheit 1 zu steuern als auch die Fehlersuche
der Verarbeitungseinheit zu gestatten.
Docket EN 968 033 1 0 98 Λ 5 / 1 6 GQ
Das in Fig. 1 gezeigte Ausführungsbeispiel enthält auch Bestimmungs-Vorausschau-Schaltungen.
41- Diese Schaltungen sollen in den Fällen die Daten direkt vom Z-Register 30 auf das A-Register
21 und das B-Register 22 über den Datenweg 42 übertragen,
in welchen eine Datenquelle in den Arbeitsspeichern 5 oder 6 auch der Bestimmungsort für Daten in dem vorhergehenden Zyklus
ist. Bekanntlich werden ja im Ausführungsbeispiel während der Ausführung eines Steuerwortes verarbeitete Daten für die ausgewählte
Position in den Arbeitsspeichern 5 und 6 oder den externen Registern 7 erst spät bei der Ausführung des nächstfolgenden Steuerwortes bestimmt. Da die Daten in den Arbeitsspeichern
5 und 6 und den externen Registern^l erst beim nächstfolgenden
Steuerwort im Zyklus fortgeschrieben werden, kann der fortgeschriebene
Teil einer Stelle während der Ausführung des nächsten Steuerwortes nicht als Quelle adressiert werden. In bezug
auf die Positionen im A-Speicher 5 und im B-Speicher 6 erfolgt somit die direkte übertragung der fortgeschriebenen Daten über
den Datenweg 42, welcher den Ausgang des Z-Registers 30 mit dem
A-Register 21 und dem B-Register 22 verbindet. Im Ausführungsbeispiel ist diese Bestimmungs-Vorrausschau-Einrichtung für die
externen Register 7 nicht vorgesehen, ausgenommen davon ist jedoch das SPTL-Register 7A, dessen Ausgang ebenfalls direkt mit
den A- und B-Registern 21 und 22 über den Weg 43 verbunden ist. Mit Ausnahme des Registers 7A, welches während der Ausführung
eines Steuerwortes fortgeschrieben wirdr kann daher kein externes
Register eine Datenquelle für das nächstfolgende Steuerwort sein.
Es folgt eine genaue Beschreibung der Fign. 2A bis 21, die nach
dem Plan in Fig. 2 zusammenzulegen sind.
Die Speichereinheit 1 ist genauer in Fig. 21 gezeigt und umfaßt
gerade und ungerade Steuerspeicherabschnitte 100 und 101 sowie Daten- oder Hauptspeicherabschnitte 102 und 103. Wie bereits
gesagt, werden Steuerspeicher und Hauptspeicher während der Lesezyklan
In Breite eines Doppelwortes adressiert, und diese Dop-
1098 45/1660
Docket EN 968 033
pelwörter werden dann aufdie Leitung SDBO gegeben. Um ein überschneiden
zwischen geraden und ungeraden Wörtern des Doppelwortes zu verhindern, liegen Paare von geraden und ungeraden Wörtern
an den einander gegenüberliegenden Seiten und in gleichem Abstand von den Datenausgangsschaltungen 104. Der Steuerspeicher ist
unmittelbar neben den Datenausgangsschaltungen 1O4 und dem
Hauptspeicher 102 und 103 in größerer Entfernung von diesen
Schaltungen dargestellt.
Dadurch wird eine minimale Verzögerung bei der übertragung von
Steuerwörtern von den Speicherabschnitten 100 und 101 in das Steuerregister 2 der Fig. 2F und die Adreßdecodierschaltungen
der Fign. 2A und 2B sichergestellt. Die während der Speicherzyklen
über die Eingangsleitung SDBI auf die Speichereinheit 1
übertragenen Daten werden auf Worgbasis eingegeben. Es gibt daher keine kritische Lage für die Anordnung der Dateneingabeschaltungen
105 sowie die Lage von Haupt- und Steuerspeicherstellen, an welche die SDBI-Leitung angeschlossen ist. Die Speichereinheit
1 umfaßt außerdem eine Einzelbit-Fehlsrkorrekturschaltung
und eine asymmetrische Doppelbit-Fehlerkorrekturschaltung 106 bekannter Bauart. Da diese Schaltungen nicht näher mit der Erfindung
zu tun haben und allgemein bekannt sind, werden sie nicht weiter beschrieben.
Das Adreßregister 3 ist genauer in Fig. 2E gezeigt und umfaßt das Ml-Register 110, M2-Register 111 und das M3-Register 112„
Die Ausgänge dieser Register sind mit den Eingangstreiberschaltungen
113, 114 und 115 der Speichereinheit 1 über die Leitungen 116, 117 und 118 verbunden. Zum Register 111 gehört ein N2-Rückgriffregister
119 und zum Register 112 ein N3-Rückgriffregister 120. Die Adressen zur Adressierung von Daten aus den
Hauptspeicherabschnitten 102 und 103 oder von Mikroprogramm-Steuerwörtera
aus den Steuerspeieherabschnitten 100 und 101
werden in die-Register Ml, M2 Wiü M3 gesetst. Im Ausführungsb@ispiel
stallt «te© M3-Regist@r äen untersten Teil der Adreß-Regis'tersdbialtmig@ss
3 dar und umfaßt acht Bits (ein Byte) zum
109345/168O Docket EK 968 033
Adressieren eines von 64 Wörtern in jedem Modul. Das M2-Register
ist ein Byte groß und das Ml-Register enthält vier Bits
zur Adressierung verschiedener Moduln. Das wertniedere Bit 7 des M3-Registers bestimmt die Bytewahl. Bit 6 von M3 bestimmt
die Halbwortwahl und Bit 5 die Wortwahl. Die Bits 0 bis 5 des MS-Registers gestatten die Wahl eines von 64 Wörtern, d. h. eines
Moduls. Die acht Bits von M2 gestatten die Wahl zwischen 256 Moduln oder ungefähr 16 000 Wörtern. Die vier Bits von Ml
liefern 16 Kombinationen, wodurch eine Gesamtzahl von 256 K-Wörtern
durch die Register Ml, M2 und M3 adressiert werden kann.
Im Ausführungsbeispiel kann der Steuerspeicher la maximal 16 K-Wörter
enthalten, wodurch die vom Mikroprogramm gelieferten Steuerwortadressen eine Lieferung von maximal nur 16 Bit M2 erfordern.
Zugriffe zum Haupt- und zum Steuerspeicher erfolgen immer auf Doppelwortbasis. Im Hauptspeicher können Daten jedoch auch auf
Byte-, Halbwort- oder Vollwortbasis gespeichert werden. Die durch das gerade ausgeführte Steuerwort angegebene jeweilige Operation
bestimmt, ob ein Wort, ein Halbwort oder ein Byte zu speichern ist.
Die meisten Mikroprogramm-Steuerwort-Operationen veranlassen nur eine Veränderung des M3-Registers. In einer Routine nachfolgende
Mikroprogramm-Steuerwörter werden soweit wie möglich innerhalb desselben Moduls gehalten, wodurch.die Register Ml und Ml
für eine Reihe von Mikroprogramm-Steueroperationen auf demselben Wert gehalten werden können. Vierweg-Verzweigungsoperationen
werden durch das Setzen der Bits 4 und 5 des M3-Registers angegeben. Gemäß obiger Beschreibung bestimmt Bit 5 von M3 die
Wahl eines geraden oder ungeraden Wortes bei einer Doppelwort-Lese-
oder -Speicheroperation, was besonders bei Steuerwortzugriffen nützlich ist. Bei Verzweigungsoperationen gibt Bit 4
das M3-Register an, welches von zwei aufeinanderfolgenden Doppelwörtern durch die Haupt- und Steuerspeieher adressiert wird.
109845/1660 Docket EN 968 033
Die Register N2 und N3 sind als Rückgriff-Register für die Steuerwort-Adressierung
vorgesehen. Die Adresse in N2 sowohl wie in M2 ist eine Moduladresse. Wie bereits gesagt, kann eine Reihe
von Steuerwortoperationen ausgeführt werden durch Adressierung der Wörter von demselben Modul im Steuerspeicher. Die in N2 gespeicherte
Adresse wird nur verändert, wenn durch das gerade ausgeführte Steuerwort eine Änderung der Moduladresse angegeben
wird. Die Register M2 und N2 werden mit dieser neuen Moduladresse
geladen. Die Adresse bleibt dann im N2-Register, bis wieder eine Änderung der Moduladresse angegeben wird. Während jedes
nachfolgende Steuerwort im selben Modul ausgeführt wird, wird
die Adresse in N2 nach M2 für die Adressierung des folgenden Steuerwortes übertragen, bis ein neues Modul angefordert wird.
Wenn eine Verzweigung während der Ausführung eines Steuerwortes auftritt, wird der Inhalt der M-Register auf Verzweigungsadresse
gesetzt. Die N-Register bleiben jedoch unverändert, wenn die Verzweigung auftritt, so daß die laufende nächste Steueradresse
aufgewahrt werden kann. Die Verzwexgungsroutxne speichert den Inhalt der N-Register, so daß die richtige Reihenfolge der Steuerwörter
wieder aufgenommen werden kann, indem man die Register M und N mit d auf gewahrten Adresse neu lädt, wenn die Mikroprogrammroutine
durch Beendigung der Verzweigung wieder eingeleitet wird. .
Das MB2-Register 125 und das MB3-Register 126 sind als zusätzliche
Rückgriff-Register für die Register M2 und M3 vorgesehen.
Die Register MB2 und MB3 werden auf die Steurwortadresse gesetzt,
die in den Registern M2 und M3 steht. Wenn der Taktgeber der CPU
gestoppt wird, enthalten die Register MB2 und MB3 Adreßbits des vorher ausgeführten Steuerwortes, wogegen die Register M2 und M3
die Adresse des als nächstes auszuführenden Steuerwortes enthalten.
Die Daten In den Registern MB2 und MB3 werden bei Fehlerprüfroutinen
benutzt,
Verzweigungs- und Prioritäts-Steuerschaltungen bekannter Bauart
109845/1660' . Docket EN 968 033
sind bei 127 gezeigt. Rückgriffregister 128 in Fig. 21 werden
in Verbindung mit den Schaltungen 127 bei bestimmten Verzweigungsroutinen
benutzt. Die Schaltungen 127 in den Registern 1J8 haben nichts mit der vorliegenden Erfindung zu tun und werden
daher nicht näher beschrieben.
Adreßdaten werden in die Register Ml, M2 und M3 sowie in die Register N2 und N3 über die Assembliererschaltungen 130, 131 und
132 eingegeben. Für jedes Adreßbit enthalten die Assemblierer 130 bis 132 mehrere UND-Glieder, deren Ausgänge mit einem ODER-Glied
verbunden sind. In den ODER-Gliedern der Assemblierer bis 132 sind somit die Zahlen 4, 8 und 8 eingetragen, um anzudeuten,
daß vier schaltungen 130 und acht Schaltungen 131 und 132 vorhanden sind. Die Ausgänge der ODER-Glieder sind mit den
entsprechenden Registern Ml, 2, 3 sowie N2 und N3 verbunden. Die Eingänge zum Assemblierer 130 sind eine erste Leitung ACB+1 und
eine Leitung ACB, die von den Adreßgrenzprüfschaltungen 133 abgeleitet
sind und ein Mittel für weitere Zugriffe zum Steuerspeicher 1 und zum Setzen der Grenze zwischen dem Steuerspeicher
la und dem Hauptspeicher Ib darstellen. Eine weitere Leitung bildet einen dritten Eingang für den Assemblierer 130 und
wird in Fällen benutzt, in welchen die auf das Register Ml zu übertragenden Bits ausgewählte numerische Konstanten sind, welche
von dem ausgeführten Steuerwort abgeleitet werden.
Auf die Register Ml, M2'und M3 werden bekanntlich maximal 20 Bits übertragen, um einen Teil des Hauptspeichers Ib zu adressieren.
Während der Ausführung zahlreicher SteuerwÖrter, in denen Daten
zwischen dem Hauptspeicher Ib und einem der Speicher 5 oder 6 oder den externen Registern 7 übertragen werden, wird somit die
20 Bit große in die Register Ml, M2 und M3 zu setzende Adresse
von den wertniederen 20 Bits in der Ausgangsleitung 133 des B-Registers
22 in Fig. 2D abgeleitet. Diese 20 Bit umfassende Leitung
133 wird an die entsprechenden Eingänge der Assemblierer und 131 sowie 132 angeschlossen.
109845/166
Docket EN 968 033
Ausgewählte Bits des Byte 2, vom C-Register 2 der Fig. 2G werden
als Eingänge 143 und 144 zu den Assemblierern 131 und 132 benutzt. Eine Eingangsleitung 145 zum Assemblierer 132 koppelt den
Assemblierer mit den ausgewählten Ausgangsbits des Byte 3 aus
dem C-Register. Verzweigungsadressen werden in die Assemblierer 131 und 132 von den Verzweigungsschaltungen 127 über die Leitungen
146a und 146b eingegeben.
Der A-Arbeits spei eher 5 und der der B-Arbeitsspeicher 6 sind in
Fig. 2b gezeigt und werden über Adressierschaltungen adressiert,
die die Ädreßdecodierschaltungen 150 und 151 umfassen. Die Schaltungen 150 und 151 bilden zusammen mit einem Decodier- und
Bestimmungsadreßregister 152 für externe Register die in Fig. 1 gezeigten Ädreßdecodierschaltungen für Arbeitsspeicher und externe
Register. .
Eine Ausgangsadreßleitung 153 von der Decodierschaltung 150 wird
dazu benutzt, ausgewählte Wörter in einen Arbeitsspeicher 5 zu setzen. Sie ist außerdem mit dem Adreßbestimmungsregister 154
über ein A-Pufferregister 155 verbunden.
Jedesmal wenn der A-Arbeitsspeicher 5 von einer Quelle durch Decodierung
der gewünschten Bits in der Decodierschaltung 150 adressiert wird, wird die Adreßdecodierung in den Puffer 155 übertragen. Falls diese Adresse dieselbe ist wie die Bestimmungsadresse
für die von der ALU 20 verarbeiteten Daten, wird sie dann vom Puffer 155 auf das A-Bestinnaungsregister 154 und ein B-Bestimmungsregister 156 übertragen.
In ähnlicher Weise ist ein B-Bestimmungspuffer 157 mit der Adreßausgangsleitung
158 der B-Becoäierschaltung 151 verbunden. Wenn
die B-Quelle auch als Bestimmungsort dienen soll, wird die im Puffer 157 gespeicherte Adresse auf die Register 144 und 156
übertragen. Auf diese Weise werden Daten für beide Arbeitsspeicher gleichzeitig bestimmt, wodurch ein Arbeitsspeicher das Spiegelbild
des anderen in bezug auf die darin gespeicherten Daten
109B45/16.6 0
Docket EN 968 033
bildet.
Adressen zur Adressierung der beiden Arbeitsspeicher 5 und 6 werden
teilweise von den P- und L-Registern über die Leitungen 160
und 161 abgeleitet und zum andern Teil von der SDBO-Leitung über eine gerade/ungerade Wortwahlschaltung 162 der Fig. 2a, eine
vier Byte große Leitung 163, einen Arbeitsspeicher-Adreßassemblierer
164 und eine zwei Byte große Leitung 165, die die Bytes 1 und 2 (nachfolgend mit Cl und C2 bezeichnet) des durch die
Schaltung 162 gewählten Steuerwortes überträgt. In ähnlicher Weise werden die Bytes Cl und C2 zur Adressierung der Arbeitsspeichereinheit
abgeleitet von der Konsolendatei 40 der Fig. 2a, einer Selektorkanal-Steuereinheit (nicht dargestellt), den Schaltern
37 auf der Bedienungskonsole und Verriegelungen 166 der Fig. 2c, jedesmal über den Assemblierer 38 der Fig. 2g und eine Leitung
167, die mit dem anderen Eingang des Assemblierers 164 verbunden
ist. Ein zusästlicher Adreßbiteinang zum B-Arbeitsspeicher-Decodierkreis
151 wird über eine Leitung 170 von der Konsolendatei 40 abgeleitet. Eine von der Prioriätssteuerschaltung
127 der Fig. 2e abgeleitete Leitung 171 ist mit dem Eingang der A-Decodierschaltung 150 und der B-Decodierschaltung 151 verbunden.
Die Bits 0 bis 5 des M3-Adreßregisters werden auf den Eingang
der A-Decodierschaltung 15O über eine Leitung 172 geleitet.
Wenn die beiden Arbeitssspeicher 5 und 6 adressiert werden, um
ihnen eine Information zuzuordnen, werden die Adressen in den Bestimmungsadreßregistern 154 und 156 über die Leitungen 173
bzw. 174 auf die Eingänge der Decodierschaltungen 150 und 151 geleitet.
Die Bestimmungs-Vorrausschauschaltungen 41 sind in Fig. 2b gezeigt
und umfassen einen B-Decodierteil 175 und einen A-Decodierteil
176. Die Ausgangsleitungen 177 und 178 von den beiden
Decodierschaltungen 175 und 176 werden an die Eingänge der beiden Vergleicherschaltungen 180 und 181 gelegt. Die Ausgangs-
109845/1660
Docket EN 968 033
Docket EN 968 033
leitungen 174 und 173 der Bestinimungsregister 156 und 154 werden
ebenfalls an die Vergleicherschaltungen 180 und 181 angeschlossen.
Falls eine dieser beiden Vergleicherschaltungen ein gleiches Vergleichsergebnis zwischen seinen Eingängen feststellt, wenn der entsprechende Arbeitsspeicher als Quelle im
ersten Teil einer Steuerwortausführung adressiert wird, so besagt dieser gleiche Vergleich, daß die Quelle nicht fortgeschrieben worden ist, da es sich um die Bestimmungsadresse von
dem vorher ausgeführten Mikrosteuerwort handelt. Ein gleiches Vergleichsergebnis in der Schaltung 180 liefert einen Impuls auf
die Ausgangsleitung 182, wodurch der Teil des Steuerwortes, der
nicht fortgeschrieben wurde und noch im Z-Register steht, direkt auf das B-Register 22 (Fig. 2d) über das Kabel 42 geleitet wird,
welches den Ausgang des Z-Registers direkt mit dem Eingang des Z-Registers direkt mit dem Eingang des B-Registers 22 über die
Assemblierer 190 und 191 (Fig. 2d) verbindet.
Ein gleiches Vergleichsergebnis in der Schaltung 181 liefert einen
Impuls auf die Leitung 183, wodurch der Teil des gewünschten Wortes, der nicht fortgeschrieben wurde und noch im Z-Register
steht, auf das in Fig. 2c gezeigte A-Register 21 über das Kabel 42 und den in Fig. 2c gezeigten Assemblierer 192 übertragen wird.
Wie bereits im Zusammenhang mit Fig. 1 gesagt wurde, werden Daten
in die beiden Arbeitsspeicher, 5 und 6 der Fig. 2b über den SDBO-Assemblierer 11 der Fig. 2F und die vier Byte große Leitung
193 übertragen. Der FDBO-Assemblierer 11 leitet seinen Eingang andererseits vom D-Register 31 der Fig. 2g über ein Kabel 194
oder vom FDBO-Vorassembliererverriegelungen 10 über die Wort-,
Halbwort- und Byte-Wahlschaltungen 12 der Fig. 2F ab,
Ausgangsdaten vom B-Arbeitsspeicher 6 der Fig. 2b werden auf das B-Registrer 22 über das Kabel 200 und den Assemblierer 191 geleitet.
Die Ausgangsdaten vom A-Arbeitsspeicher 5 werden auf das A-Register
21 der Fig. 2c über ein Kabel 201 und dem Assemblierer 192 geleitet.
109845/1660
Der Ausgang des A-Registers 21 (Pig. 2C) wird, wie bereits gesagt,
über das Kabel 26 auf die Torschaltungen 191 (Fig. 2d) und in das B-Register 220 geleitet. Das Kabel 26 koppelt außerdem
die Bytes 0, 2 und 3 des anderen Registers 21 auf das Byte 0 des
Assemblierers 23, die Bytes 0, 1 und 3 des andern Registers 21 auf Byte des Assemblierers 23 und alle vier Bytes des anderen Registers
21 auf die Bytes 2 und 3 des Assemblierers 23.
Die ALU 20 ist zwei Bytes breit und wird daher entsprechend Byte 2 und Byte 3 in die Abschnitte ALU 2 und ALU 3 unterteilt (Fig.
2gr 2h).
Byte 3 des Assemblierers 23 wird auf die Verzweigungsschaltungen 4 (Fig. 2d) über ein Kabel 210 gekoppelt. Die Bytes 0 bis 4 des
Assemblierers 23 werden auf die Leitung SDBI über mehrere Treiberschaltungen 211 und ein vier Byte großes Kabel 212 geleitet.
Die Bytes 2 und 3 des Assemblierers 23 sind mit ALU 2 und ALU 3 über die Kabel 213 und 214 und über die Kreuzschaltungen 215,
216 verbunden.
Bytes 0 und 1 des B-Registers 22 sind entsprechend mit den Bytes
0 und 1 des Z-Registers 30 (Fig. 2g) über die Kabel 220 und 221 und die Bytes 0 und 3 einer vier Byte großen Torschaltung 222 in
Fig. 2h gekoppelt.
Die Bytes 2 und 3 und die Bits 4 bis 7 des Byte 1 im B-Register
22 sind über das Kabel 133 mit den M-Registereingangsschaltungen gemäß obiger Beschreibung verbunden. Die Bytes 0 bis 3 des
B-Registers 22 sind außerdem auf die ALU 3 der Fig. 2i gekoppelt
über Byte 2 des Assemblierers 24, die Kabel 224 und 225, die
Schiebe- und Torschaltungen 226 und 227 sowie über die echten
und Kompleraentschaltungen 228 und 229.
Byte 1 des B-Registers 22 ist auch mit ALU 2 gekoppelt über das Kabel 221, die Torschaltung 230 sowie das UND-Glied 231 und die
Schiebe- und Torschaltung 226 sowie die echte Komplementschal-
10 984 5/1660
tung 228.
Während der Verschiebeoperationen kann das UND-Glied 232 der Fig. 2d dazu verwendet werden, die vier werthohen Bits 0 bis 3
der Byte-3-Schaltung des Assemblierers 24 und die wertniederen
Bits 4 bis 7 der Byte-2-Schaltung des Assemblierers 24 mit ALU
über die Schiebetorschaltung 227 und die echte Komplementschaltung
229 zu koppeln. In ähnlicher Weise kann das UND-Glied 231 (Fig. 2c) bei Verschiebeoperationen dazu benutzt werden, die
vier wertniederen Bits 4 bis 7 des Bytes 1 des B-Registers 22 und die vier werthohen Bits 0 bis 3 des Byte 2 des B-Registers
mit ALU 2 zu koppeln.
Der Ausgang von ALU 3 in der Fig. 2h ist gekoppelt mit jedem der vier Bytes des Z-Registers 30 über jedes der vier Bytes der Torschaltung
222 und ein Kabel 235. Der Ausgang von ALU 2 ist auf die Bytes O und 2 des Z-Registers 30 gelegt über die Bytes 0 und
2 der Torschaltung 222 und ein Kabel 236.
Wie bereits gesagt, ist der Ausgang des Z-Registers direkt mit
dem Eingang des D-Registers 31 gemäß Darstellung in Fig. 2g verbunden und über ein Kabel 42 an den Eingang der A-Registertorschaltung
190 in Fig. 2d und den Eingang der B-Registertorschaltung
192 in Fig. 2c angeschlossen. Die Bytes 0 bis 3 des Z-Registers
sind außerdem entsprechend mit den Bytes S, P, T und L des SPTL-Registers 7a der Fig. 2h über ein Byte große Kabel 240-0
bis 240-3 verbunden.
Der Ausgang des SPTL-Registers 7a ist über vier Byte große Kabel
43 und die Torschaltungen 190 und 190 mit dem B-Register 22 der
Fig. 2d verbunden. Das Kabel 43 ist außerdem über ein ODER-Glied 242 der Fig. 2c und ein Kabel 243 sowie die Torschaltungen 192
mit dem A-Register 21 verbunden.
Das ODER-Glied 292, Kabel 243 und die Torschaltung 192 verbinden
außerdem den Ausgang des externen Assemblierers 25 der Fig. 2b
109845/1660
mit dem Α-Register 21 der Fig. 2c. Die Steuerung des externen Assemblierers
25 erfolgt durch, die Decodier- und Bestimmungsadreßregisterschaltung
152a für externe Register (und ihren Assemblierer 152b), die an den Eingang des externen Assemblierers 25 über
ein Kabel 250 angeschlossen ist. Die externen Register 7 sind mit ihren Ausgängen an einen Eingang des externen Assemblierers
über ein Kabel 251 angeschlossen. Ein anderer Eingang zum externen
Assemblierer 25 wird von einem Kabel 252 gebildet, welches von dem N2-Register 190 und dem N3-Register 120 der Fig. 2e
kommt.
Die Konsolendatei 40 und die Schalter 37 (Fig. 2a) sind an einen
anderen Eingang des externen Assemblierers über eine Torschaltung 39 und ein Kabel 253 angeschlossen.
Die Kanalsteuerschaltungen 260 der Fig. 2b sind mit einem anderen Eingang des externen Registers 25 und mit der Verzweigungsund
Prioritätssteuerung 127 (Fig. 2i) über ein Kabel 261a verbunden. Die Schaltungen 260 sind außerdem auf einen Eingang des
Assemblierers 38 über einen Kabelabschnitt 261b gekoppelt Die Kanalsteuerschaltungen 260 werden zusammen mit den Eingabe-/Ausgabe-Datenwegschaltungen
262 der Fig. 2b dazu benutzt, die übertragung von Daten zwischen der in den Fign. 2a bis 2i gezeigten
Datenverarbeitungseinheit und peripheren Hochgeschwindigkeitsgeräten wie Magnetplatteneinheiten zu steuern.
Die Schaltungen 262 umfassen ein GRl-Eingaberegister 265, dessen
Eingang an die Datenleitung in BI des Kanals 1 angeschlossen ist. Ein GOl-rAusgangsregister 266 ist mit seinem Ausgang an eine BO-Datenausgangsleitung
für den Kanal 1 angeschlossen. Ein Schieberegisterpuffer 267, umfassend das Eingangsregister 265, wird dazu
benutzt, von der Leitung des Kanals 1 auf den Hauptspeicher 1 oder vom Hauptspeicher 1 auf die Kanal-1-Ausgangsleitung übertragene
Daten zu speichern.
Daten werden über die Leitung des Kanäles 1 auf Bytebasis empfan-
10984 5/1660'
2117938
gen und durch die nachfolgenden Stufen des Puffers 267 so übertragen.
Die' Daten werden dann auf der Basis von vier Wörtern vom
Puffer 267 auf den Speicher 1 über einen Zweirichtungsassemblierer
268, ein Kabel 269, den externen Assemblierer 25, das ODER-61ied
242/ das Kabel 243, die Torschaltung 192, das A-Register
21, den A-Assemblierer 23, Kabel 212, Treiber 211 und die Leitung
SDBI übertragen.
Daten werden vom Speicher 1 auf Wortbasis zum Puffer 26 7 über-tragen
über die Leitung SDBO, die Torschaltung 162 der Fig. 2a, Kabel 1J63, die Verriegelungen 10 der Fig. 2f, die Selektionsschaltungen 12, den SDBO-Assemblierer 11, die Treiberschaltungen
140 und die externe Leitung EBI. Aus den oben beschriebenen Datenwegen ist zu ersehen, daß der Puffer 267 mit seinen zugehörigen Registern 265 und 266 de facto ein Teil der externen Register
7 ist. Diese wurden jedoch wie andere Register, z. B. das Register SPTL, separat dargestellt, um bestimmte Merkmale des
verbesserten Systems klarer zu zeigen.
Für die vorliegende Beschreibung wurde angenommen, daß die Verarbeitungseinheit vier Kanäle für die Datenübertragung zwischen
Verarbeitungseinheit und peripheren Geräten zur Verfügung hat. Somit verfügt die Schaltung 260 über vier Abschnitte, je einen
für einen Kanal. In ähnlicher Weise enthält die Schaltung 262 vier Puffer und Assemblierer, von denen nur zwei dargestellt
sind.
Eine Decodierschaltung 270 (Fig. 2f) ist an den Ausgang des C-Registers
2 angeschlossen. Jedesmal wenn ein Steuerwort in das C-Register zur Ausführung eingegeben wird, spricht die Decodierschaltung
270 auf die Bitkombination des Steuerwortes dadurch an, daß die zur Ausführung des Wortes erforderlichen verschiedenen
Tore betätigt werden.
Die Decodierschaltung 270 enthält einen Zykluslängen-Steuerteil 271, der auf ausgewählte Steuerwortbits dadurch anspricht, daß
109845/ 1 660
die Taktgeber zur Erzeugung einer ausgewählten Zykluslänge von
180 ns (Nanosekunden), 225 ns oder 270 ns und für bestimmte Worttypen
von zwei Zyklen 225 ns + 270 ns oder 270 ns +■ 270 ns veranlaßt
werden.
Durch die im Fehlersuchregister 272 der Fig. 2f und einer Schaltung
272 in der Fig. 3i enthaltenen Einrichtungen werden Fehlersuchfunktionen aufgespürt, die mit der vorliegenden Erfindung
nichts zu tun haben.
Für bestimmte Arten von erneuten Instruktions-Ausführungsversuchen
kann der Inhalt des A-Registers 21 und des B-Registers 22
auf die Register 128 (Fig. 2h) über eine Torschaltung 280 (Fig. 2d) und ein Kabel 281 übertragen werden.
Wenn Rechenoperationen in ALU 2 und ALU 3 ausgeführt werden, werden
die Paritätsbits von den Operanden abgezogen, bevor sie in die ALU geleitet werden. Ein Paritätsgenerator 282 addiert das
richtige Paritätsbit zum Rechenergebnis. Für binäre und Dezimaloperationen prüft eine Paritäts-Vorraussageschaltung (nicht dargestellt)
in der ALU das erzeugte Paritätsbit gegen ein vorhergesagtes Paritätsbit zwecks Fehlererkennung. Fehler in den Ergebnissen
einer Verknüpfungsoperation (die in ALU 2 und ALU 3 dupliziert wird) werden durch eine Verknüpfungs-Prüfschaltung
283 festgestellt, die die Ergebnisse von ALU 2 mit denen von ALU 3 vergleicht.
Eine dezimale Korrektur-Steuerschaltung 284 stellt eine richtige
Dezimaladdition durch Verwendung eines binären Addierers in der ALU 2 und der ALU 3 sicher. Dieser Vorgang wird nachfolgend genauer
beschrieben.
Eine Schaltung 285 (Fig. 2d) überwacht die Eingänge zur ALU 3 auf gültige Dezimalzahlen bei Dezimaloperationen. Im Ausführungsbeispiel
sind Dezimaloperationen nur 1-Byte-Operationen.
109845/1660
_ 23 - 2117336
stelleitung ist direkt mit einem zweiten Eingang des anderen
UND-Gliedes und über einen Inverter mit dem Eingang des einen UND-Gliedes verbunden r wobei zwischen Eingang und Ausgang
eine kleine Verzögerung liegt.
Steht die Setz/Rückstelleitung auf 0, wird die Verriegelung ein
nichtinvertierender Verstärker und erzeugt an ihrem Ausgang ein Signal, welches dem Signal auf der Dateneingangsleitung ent-'
spricht. Führt die Setz/Rückstelleitung ein Einersignal, verriegelt
sie in diesem Moment im Verknüpfungszustand der Datenleitung und hält diesen verriegelten Zustand bei, his die Setz/Rückstelleitung
wieder auf 0 zurückkehrt.
Systemtaktgeber und Steuerungen
Jeder Systemtaktgeber 35 umfaßt gemäß Darstellung in Fig. 3 mehrere
Eingänge und erzeugt auch wieder mehrere Ausgangssignale, von denen im Ausführungsbeispiel jedes etwa 90 ns dauert und gegen
das vorhergehenden um etwa 45 ns zeitlich verschoben ist.
Einzelheiten eines solchen Taktgebers 35 sind im TDB Band 12 Nr. 1
Seiten 71 bis 73 vom Juni 1969 bekanntgemacht worden. In Fig. 3
wurden die Symbole für echte Werte (-) und Komplementwerte (+) verwendet, in allen anderen Teilen der Zeichnungen und der Beschreibung
ist das Zeichen für ein Komplement jedoch "-" und die Verwendung keines Vorzeichens bedeutet den echten Wert.
Kurz gesagt umfaßt der Taktgeber mehrere Gleichstromverriegelungen,
von denen jede einen entsprechenden echten und einen Komplement-Ausgangswert für die Ziffer O-Zeit, O-Verzögerungszeit,
1-Zeit, 1-Verzögerungszeit, 2-Zeit und 2-Verzögerungszeit erzeugt. Diese Verriegelungen entsprechen den Vorder- und Hinterkanten
des Eingangssignals vom Oszillator 36 (Fig. 1) unter Steuerung der Zyklus-Eingangssignale für -180 ns, -225 ns und -270 ns,
10984 5/1660
Wenn Daten vom D-Register 31 (Fig, 2g) für die Arbeitsspeicher.
land 6 (Fig. 2b) bestimmt sind, werden sie in die beiden Arbeitsspeicher eingegeben und direkt nicht destruktiv auf die Leitung
201 und 200 ausgelesen. Ein Antivalenzglied 256 (Fig. 2c) stellt fest, ob die Daten in beiden Arbeitsspeichern übereinstimmen;
eine überprüfung des Registers 287 und eine Übereinstimmungsschaltung
288 stellt fest, ob die neuen Daten (1 bis 4 Bytes) vom D-Register 31 mit den Daten im A-Arbeitsspeicher 5 übereinstimmen.
(1) Alle Steuerwortbits sind nur der einfacheren Erklärung halber im C-Register 2 dargestellt, die Adressierung von Arbeitsspeicher
und externen Registern erfolgt in Wirklichkeit jedoch durch entsprechende Bits in den Decodierschaltungen
der Fig. 2b und nicht durch die tatsächlichen Ausgangsbits des C-Registers.
(2) Als Beispiele für die Ausführung von Steuerwörtern wurden für die Daten in den verschiedenen Registern willkürliche
Werte gewählt.
(3) Bezeichnungen wie A3.0-2 werden der Einfachheit halber benutzt
und stellen die Bits 0 bis 2 des Byte 3 des A-Registerausganges dar.
(4) Für Register und Verriegelungen werden vorzugsweise Polaritäts-Halteriegel
bekannter Bauart verwendet, die über zwei UND-Glieder verfügen, deren Ausgänge mit den Eingängen eines
ODER-Gliedes verbunden sind. Eine Datenleitung ist an einen Eingang eines UND-Gliedes angeschlossen und der phasengerechte
Ausgang des ODER-Gliedes ist mit einem Eingang des anderen UND-Gliedes verbunden. Eine einzige Setz/Rück-
1 0 9 8 4 5/1660
2 T-17936
welche die Länge der auszuführenden Zyklen bestimmen.
Der Start des Taktgebers für jeden Zyklus wird bestimmt durch Signale
auf den Leitungen + Taktstart-Rückstellung und - Taktstart. Der Taktgeber kann in seine Ausgangsstellung zurückgesetzt werden
durch Anlegen eines Signales an den + Rückstelleingang. Ein + Fehlerstopeingang ist vorgesehen, um den Taktgeber dazu zu
zwingen, Ziffer O-Taktzyklen beizubehalten, bis das Fehlersignal
ausgeschaltet ist.
Wie aus Fig. 4 zu ersehen ist, hat jedes der obengenannten Taktsignale
wie O-Zeit, O-Verzögerungszeit, 1-Zeit usw. eine Dauer
von 90 ns und relativ zum vorhergehenden Signal eine Verschiebung oder zeitliche Verzögerung von 45 ns. Somit ist die O-Verzögerungszeit
um 45 ns gegen die Q-Zeit verschoben, die 1-Zeit um 45 ns gegen die O-Verzögerungszeit und die 1-Verzögerungszeit um
weitere 45 ns gegenüber der 1-Zeit usw. verschoben. In Fig. 4
sind außerdem die Oszillator-Eingangssignalpegel dargestellt.
Die Taktzyklus-Längensteuerschaltung 271 ist in Fig. 5 gezeigt
und umfaßt die Verknüpfungsschaltungen, welche für den Taktgeber 35 Eingangszyklen von 180 ns, 225 und 270 ns erzeugen {entsprechend
den mit -180 ns Zyklus, -225 ns Zyklus, -270 ns Zyklus bezeichneten
Leitungen in Fig. 3).
Die Decodierleitungen BR und BR + MS für den Verzweigungs- und
Modulumschalter Y werden im ODER-Glied 300 verknüpft, dessen Ausgang
über ein UND-Glied 302 und ein ODER-Glied 303 auf die Steuerleitung
301 für 225 ns gegeben wird, wenn die hochwertigen Verzweigungsbits CO.4-7 größer gleich Olli sind. Das bedeutet,
daß ein Zyklus von 225 ns angefordert wird, wenn die hochwertigen Verzweigungsbits die Prüfung der Verzweigungsquelle anfordern,
um M3.4 auf die Wahl des nächsten Steuerwortes zu setzen. Somit wird die Bitleitung CO.4 (d. h. CO.4 hat den Wert 1000)
mit dem Ausgang des UND-Gliedes 312 verknüpft, welches die Bits CO.5-7 gleich 111 decodiert, und das Ausgangssignal des ODER-
109845/1660
2Ϊ17936
■- 25 -
Gliedes 304 wird als ein Eingang auf das UND-Glied 302 gegeben.
Wenn die Bits CO.4-7 kleiner Olli sind bedeutet das eine feste
Verzweigung oder die Prüfung eines S-Registerbits sowie die Umkehrung
des Ausgangssignales des ODER-Gliedes 304 durch die Schaltung 305 und Anlegen eines Signales an die Steuerleitung
306 für 180 ns über das UND-Glied 307 und ein ODER-Glied 308
zur Einleitung eines 180 ns langen Zyklus.
Wenn ein Verzweigungs- und Verbindungswort (CO,0-3 = 0010) decodiert
wird, wird das Signal auf der Decodierleitung BAL abwechselnd über das UND-Glied 313 auf das ODER-Glied 308 oder über das
UND-Glied 314 auf das ODER-Glied 303 gegeben abhängig davon, ob das Bit C04 auf 0 steht (ein Verbindungswort) oder auf 1 (ein
Rückkehrwort). ■
Ein UND-Glied 315 decodiert das Verschiebungswort (CO.0-3 = 0011)
und sein Ausgangssignal wird auf das ODER-Glied 308 gegeben, um
einen Zyklus von 180 ns länger zu erzeugen.
Ein arithmetisches Vollwort wird durch CO.1,2 = 10 und dadurch
angegeben, daß CO.4-7 = 0000, 0001 oder 0010 ist. Das arithmetische
Vollwort wird teilweise durch Decodierung der Bits CO.0,1
= 10 im UND-Glied 319 decodiert, um die 10-Form des arithmetischen
Wortes zu erhalten. Die Bits CO.6,7 werden im Inverter 320
decodiert, dessen Ausgangssignal auf ein UND-Glied 322 geleitet wird. Die Bits -CO.4 und -CO.5 bilden außerdem Eingangssignale
um UND-Glied 322. Die Ausgangssignale der Schaltungen 319 und
322 werden als Eingänge auf ein UND-Glied, 321 gegeben., dessen
Ausgangssignal auf die Decodierleitung 323 des arithmetischen Vollwortes gegeben wird, Ein Signal auf der Leitung 323 erzeugt
einen Zyklus von 225 ns, da es als ein Eingang auf das ODER-Glied 303 gegeben wird.
Die 10-Form des arithmetischen Wortes liefert ein Signal auf das
ODER-Glied 308 über das UND-Glied 328 und erzeugt, abgesehen vom
10 9845/1660 ORIGINAL
-26- 2117036
Vollwort- und Dezimaloperationen, in allen Fällen Maschinenzyklen
von 180 ns. Zu diesem Zweck wird das Ausgangssignal des UND-Gliedes
319 auf das UND-Glied 328 geleitet. Eine Decodierschaltung
318 gibt ein Signal auf einen Inverter 329, wenn sie die
Bits GO,4-7 gleich 1010 decodiert, .die eine Dezimaloperation bezeichnen.
Das UND-Glied 322, welches zur Decodierung von arithmetischen Vollwortoperationen benutzt wird, ist ebenfalls an einen
Eingang des Schaltgliedes 329 angeschlossen. Die Schaltung
329 erzeugt ein Ausgangssignal nur, -wenn kein Eingangssignal vorhanden
ist (wenn z. B. weder eine Dezimal- noch eine Vollwortoperation vorliegt) und veranlaßt dadurch das UND-Glied 328, ein
Signal auf das ODER-Glied 308 für einen 180 ns-Zyklus zu leiten.
Die Decodierung des arithmetischen Wortes 10 durch das UND-Glied 319 zusammen mit der Decodierung der Bits CO.4-6 = 1010 (d. h.
Dezimaloperation) erzeugt am Ausgang eines UND-Gliedes 325 auf der Dezimaladditions-Decodierleitung 326 ein Signal, welches
auf die Steuerleitung 301 für einen 225 ns-Zyklus über das ODER-Glied.303
gegeben wird.
Ein UND-Glied 317 decodiert die Bits CO.1,1 = 11 für jede 11-Form
eines arithmetischen Wortes und liefert ein Signal auf einen Eingang
des ODER-Gliedes 308, wodurch ein Zyklus von 180 ns ausgeführt wird.
Die Decodierung der Steuerwortformbits CO.01 = 01 im UND-Glied
330 leitet den Zyklus der drei Polaritätshalteriegel 340, 341 und 342 ein, die der Reihe nach auf 1 gesetzt werden, um an ihren
Ausgängen eine Speicher-Ziffer-l-Zykluszeit, eine Speicher-Verriegelungzeit
und eine Speicher-2-Zykluszeit zu erzeugen.
Der erste Polaritätshalteriegel 340 wird durch das OT-Signal zur
Zeit 0 während des ersten Zyklus gesetzt; der Polaritätshalteriegel
341 wird durch das IT-Signal zur 1-Zeit während des ersten Zyklus und der Polaritätshalteriegel 342 durch das OT-Signal
zur O-Zeit des zweiten Zyklus gemäß nachfolgender Beschreibung gesetzt. "
ORlG INSPECTED
10 9845/166 0
Die Speieherzykluszeiten 1 und 2 werden zusammen mit der Deco-·
dierung der Speicherwortbits und ihrer Unterformbits dazu benutzt,
einen Zyklus von 225 oder 270 ns während des ersten Speicherzyklus
eines Speicherwortes und einen Zyklus von 270 ns während des zweiten Speieherzyklus zu wählen.
Somit werden die Signale auf der Speicherwort-Decodierausgangsleitung
vom UND-Glied 330 und der Leitung für den zweiten Speicherzyklus
auf ein UND-Glied 350 geleitet, um die Steuerleitung
351 für den 270 ns Zyklus während aller zweiten Speicherzyklen zu erregen.
Während eines ersten Speieherzyklus decodieren die UND-Glieder
331, 332 und 333 ein Speicherwort, ein Speicherhalbwort bzw. ein Speicherbyte und ihre Ausgangssignale werden auf ein ODER-Glied
352 geleitet, dessen Ausgangssignal wiederum an ein UND-Glied
353 angelegt wird. Das Signal auf der Leitung für den ersten
Speicherzyklus wird ebenfalls als ein Eingangssignal an das UND-Glied 353 angelegt und die Speicherwort-Decodierleitung vom UND-Glied
330 bildet den dritten Eingang zum UND-Glied 353. Somit veranlassen das ODER-Glied 352 und das UND-Glied 330 während eines
ersten Speicherzyklus das UND-Glied 353 zur Erzeugung eines .Ausgangssignales auf der Steuerleitung 351 für den 270 ns-Zyklus,
wenn die Unterform des Wortes ein Speicherwort, ein Speicherhalbwort oder ein Speicherbyte ist.
Wenn die Unterform des Speicherwortes ein Lese-Vollwort, ein Lese-Halbwort
oder ein Lesebyte ist, decodieren die UND-Glieder 335, 336 bzw. 337 diese Unterform entsprechend. Ihre Ausgangssignale
werden an ein ODER-Glied 354 angelegt, welches zusammen mit den Signalen auf der Leitung für den ersten Speicherzyklus und
der Speicherwort-Decodierleitung ein UND-Glied 355 zur Erzeugung eines Ausgangssignales veranlaßt, welches über das ODER-Glied 303
auf die Steuerleitung 301 für den 225 ns-Zyklus geleitet wird.
Die Einstellung der Riegel 340 bis 342 wird jetzt genauer be-
"■ ' 10 9845/1660
schrieben. Setzen und Rückstellen dieser Riegel erfolgt durch
die Inverter 343 und 345 und die Eingangstaktsignalzeit 0. Ein Inverter 344, ein UND-Glied 346 und die Leitungen für die Eingangstaktzeit
1 und die 1-Verzögerungszeit liefern die Setz/Rückstellfunktion
für den Riegel 341.
Ein Inverter 347 und ein UND-Glied 348 veranlassen das Setzen
des Riegels 340 während des ersten Zyklus eines Speicherwortes
und verhindern das Setzen während des zweiten Zyklus.
Verzweigungswort
Fig. 6 zeigt schematisch die Ausführung eines typischen Verzweigungswortes,
welches eine Zykluszeit von 180 ns erfordert. Fig.7 zeigt das Zeitdiagramm für verschiedene Operationen bei der Ausführung
des Verzweigungswortes. Das C-Register 2 ist auf der rechten Seite der Fig. 6 mit den'Bytepositionen CO, Cl, C2 und
C3 dargestellt. Die Hexadezimalwerte der vier Bytes des Steuerwortes
1036204 F sind über dem Register 2 dargestellt.'Die Datenbitpositionen
in jedem Byte sind in der linken Spalte im C-Register angegeben und die Bitwerte des Steuerwortes in der rechten
Spalte. Willkürlich gewählte Werte wurden dem P-Register und dem Byte 1 des V-Registers auf der Adresse 13 in den Arbeitsspeichern
5 und 6 zugeordnet.
Die vier werthohen Bits CO.0-3 haben den Wert 0001 und bezeichnen
damit einen Verzweigungsworttyp. Der Grund für die Ausführung dieses Verzweigungswortes liegt in der Verzweigung eines
Steuerwortes innerhalb des selben Moduls des Steuerspeichers.
M2 wird von M2 gesetzt und bleibt daher gleich, nur M3 wird verändert. Die spezielle Wortadresse innerhalb des Moduls (die Änderung
nach^ M3) wird bestimmt durch
1. das werthohe Verzweigungsfeld CO.4-7, «-._«.
ORIGINAL INSPECTED
■109 84 5/1-660
Docket EN 968 033
2. die nächsten Adreßbits C3.O-3 und
3. das niedere Verzweigungsfeld C3.4-7.
Da ein immer auf eine Wortgrenze aufgerichtetes Steuerwort adressiert
wird, bleiben die Bits 6 und 6 von M3 unberücksichtigt, da es sich um Bytewahlbits des Adreßregisters handelt.
Die hochwertigen Verzweigungsbits CO.4-7 sind gleich Ό000 und
zwingen daher Bit 4 von M3 auch auf 0. Eine Decodierung des wertniederen Verzweigungsfeldes (1111) führt zur übertragung von Verzweigungsquellendaten
auf die Verzweigungsschaltungen 4 und zwingen Bit 5 des M3-Registers in eine einer Prüfung entsprechenden
Stellung. Die vier werthohen Bits 31.0-3 führen zur direkten Arbeitsspeicheradressierung,
wodurch die vier wertniederen Bits des P-Registers -z\is aminen mit den Bits Cl. 1-3 durch die Schaltung
150 decodiert werden und das ü-'Register im A-Arbeitsspeicher 5
adressieren. Die Daten im U-Register werden auf das A-Register
21 übertragen. Bits Cl.4-5 führen zur übertragung des Hexadezimalwertes
FB (Byte 1 des ü-Registers) von Al auf die Positionen von Byte 2 und 3 des A-Byteassemblierers 23. Byte 3 des A-Byteassemblierers
23 wird auf die Verzweigungsschaltungen 4 geleitet und die wertniederen Verzweigungswahlbits C3.4-7 leiten Bit 7
der Verzweigungsschaltungen, d. h., eine logische 1, auf Bit 5 des M3-Registers. Die übertragung der Quellendaten vom A-Arbeitsspeicher
5 auf die Verzweigungsschaltungen 4 erfolgt ungefähr in der Zeit von 35 bis 75 (Fig. 7). Das Setzen des M3~Registers erfolgt
in diesem speziellen Fall ungefähr zwischen 45 und 90, da das Verzweigungswort von einer Art ist, bei welcher die Verzweigungsquelle
Bit 5 des M3-Registers setzt, welches entweder das gerade oder das ungerade Wort eines Doppelwortes wählt und erst
späte im Zyklus benötigt wird. Das Doppelwort wird aus dem Steuerspeicher gemäß Darstellung durch die Wahlleitung ungefähr in der
Zeit zwischen 75 und 105 gelesen.
Die Verzweigung zu einem neuen Steuerwort ist begleitet durch die
109845/1660
Docket EN 968 033
Docket EN 968 033
2117Q3
Fortschreibung des P-Registers auf die neue Arbeitsspeicheradressierung.
Somit führen die Bits C2.2-3 ungefähr zur Zeit 45 bis zur Adressierung des P-Registers und übertragung seines Inhaltes
auf das B-Register 22 und dann den Assemblierer 24 und ALU 2 und ALU 3. Die Bits Cl. 6,7 leiten den K-Wert (C2.4-7) auf ALU 2 und
ALU 3. Ungefähr .zur Zeit 45 leiten die Bits C2.2,3 den WErt im
P-Register .(OCX)OOOIO) über das B-Register 22 und den Byteassemblierer
24 auf ALU 2 und ALU 3. Der B-Schalter tritt in Tätigkeit bei einer Decodierung der Bits 6 und 7 des Byte Cl des Steuerwortes,
welches gleich 10 ist, und leitet den Wert des K-Feldes 0001 in den höherwertigen Eingang von ALU 2 und ALU 3 und den Wert 0000
in den niederwertigen Eingang. Wenn die Werte für P und K in der ALU ODER-verknüpft werden Cd. h. Bit C2.1 erfordert eine ODER-Funktion),
wird das dem Hexadeζima!wert 12 gleiche Ergebnis im
Z-Register 30 gespeichert. Ungefähr zur Zeit 135 wird das Ergebnis in das P-Register gesetzt.
Arithmetisches Wort - echte Vollwortaddition
Fig. 8 zeigt schematisch die Ausführung einer echten Vollwortaddition,
die einen Zyklus von 225 ns gemäß Darstellung im Zeitdiagramm der Fig. 9 erfordert. Der untere rechte Teil der Fig.
8 zeigt die Operationen, die nach dem Zeitpunkt 180 in diesem
Zyklus erfolgen. In diesem Zusammenhang wird auf die Setz/Rückstelleitung
für das Z-Register im Zeitdiagramm hingewiesen, aus welchem zu ersehen ist, daß die Bytes O und 1 des Rechteckergebnisses
im Z-Register nur nach Beginn des folgenden Steuerwortzyklus
gespeichert werden. Dadurch wird die Ausführung des Steuerwortes in keiner Welse überlagert, da das Ergebnis erst in das
D-Register zum Zeitpunkt 45 des folgenden Zyklus gesetzt wird.
Das ,Steuerwort BO4E64ÄC des Beispiels ist ein Steuerwort für eine
echte VollwortadditioB mit Sonderleitung. Das Hauptziel des
Steuerwortes ist die Addition des im V-Register gespeicherten
Docket EH 968 033 ^9845/1660 OSiGiNAL INSPECTED
Vollwortes zu den acht wertniederen Bits (z. B. Byte 3 des Y-Registers).Die
unteren 24 Bits (z. B. Bytes 1 bis 3) des Ergebnisses sind auf die unteren 24 Bits des Y-Registers zu leiten.
Die Decodierung der Bits CO.1,2 schreibt eine Rechenwortart vor.
Die Decodierung der Bits CO.2,3 bestimmt die Form der Rechenoperation,
d. h., Operanden werden an der B-Quelle gefunden und die Ä-Quelladressen und das Ergebnis wird in der B-Quelladresse gespeichert.
Die Decodierung der Bits CO.4-7 schreibt eine echte Vollwortaddition vor.
Decodierung der Bits Cl.0-3 fordert einen direkten Arbeitsspeicherzugriff
der Α-Quelle, worin die Bits 1, 2 und 3 des Bytes Cl zusammen mit den Bits 4 bis 7 des P-Registers zur Wahl der V-Registerstelle
(d.-h. 14) im A-Arbeitsspeicher 5 benutzt werden. Der Inhalt des V-Registersr der Hexadeζimalwert 1497C5A2 wird in
das A-Register 21 und dann auf den A-Byteassemblierer 23 aufgrund
der Decodierung von Cl.4,5 übertragen, die die Übertragung aller
32 Bits oder vier Bytes des V-Registers fördert. Bits 6 und 7 des Bytes Cl sind Zustand-Setzbits, die nur die 24 wertniederen Bits
(die wertniederen Bytes 1, 2 und 3) des aus der Rechenoperation erhaltenen Ergebnisses im Y-Register an der Arbeitsspeicheradresse
16 speichern lassen oder für diese Stelle bestimmen lassen.
Die Decodierung der Bits C2.O-3 führt zur direkten Adressierung
des B-Quellenoperanden, wobei die Bits 1,2 und 3 des C2-Byte
und die Bits 4 bis 7 des P-Registers zur Adressierung des Y-Registers im B-Arbeitsspeicher 6 benutzt werden. Der Inhalt des Y-Register,
nämlich der Hexadezimalwert 2DEC5972, wird auf das B-Register
22 übertragen und die Bytes 2 und 3 dieses Wortes werden
dann auf den B-Byteassexnblierer 24 übertragen. Die Decodierung
der Bits C2.4,5 führt zur Leitung nur der wertniederen acht Bits, das ist das Byte 3, der Daten im B-Byteassemblierer auf
die ALU 3 und zur Sperre der 24 werthohen Bits (Bytes 0 bis 2) der B-Quelle. Dadurch wird Byte 2 im B-Assemblierer 24 daran gehindert, auf die ALU 2 übertragen zu werden. Die Werte in der
10 9 8 4 5/1660
Docket EN 968 033 ORIGINAL INSPECTED
Docket EN 968 033 ORIGINAL INSPECTED
ALU 2 werden addiert und in die Bytes O und 2 des Z-Registers 30
eingegeben und die Werte in der ALU 3 werden ebenfalls addiert
und in die Bytes 1 und 3 des Z-Registers 30 gesetzt.
Bits C3.O-5 werden in das M3-Register zur Adressierung des nächsten
Steuerwortes gesetzt, das nächste Steuerwort ist dann dasselbe
Modul und daher wird das M2-Register vom N2-Register gesetzt.
Die oben beschriebenen Operationen laufen alle innerhalb der ersten
180 ns des Maschinenzyklus ab, wie aus dem Zeitdiagramm zu ersehen ist. Beginnend bei der Zeit 180 werden die Operationen
ausgeführt, die s.chematisch in den unterbrochenen Linien im rechten
unteren Teil der Fig. 8 gezeigt sind. Zur Zeit 180 werden die
Bytes O und 1 des Α-Registers in die Bytes 2 und 3 des A-Byteassemblierers
23 übertragen. Zur selben Zeit werden die Bytes O und 1 des B-Registers in den B-Byteassemblierer 24 übertragen. Der Inhalt
der Bytes 2 und 3 des A-Byteassemblierers wird auf die ALU 2
und die ALU 3 übertragen. Wie bereits oben gesagt, verhindert die Decodierung der Bits C2.4,5 das Leiten der drei werthohen Bytes
der B-Quelle in die ALU. Demzufolge wird der Inhalt des B-Byteassemblierers
für die übertragung zur ALU gesperrt. Die Ergebnisse der echten Addition werden auf die Bytes 0 und 1 des Z-Register
30 übertragen. Diese Einstellung der Bytes ZO und Zl erfolgt gemäß obiger Beschreibung von der Zeit 0 bis ungefähr zur Zeit 45
des nächsten folgenden Maschinenzyklus. Der Inhalt des Z-Registers
wird auf das D-Register während des folgenden Zyklus zwischen der Zeit 4.5 und der Zeit 90 übertragen. Während des Lese-Schreibteiles
des nächsten Maschinenzyklus werden nur die Bytes 1, 2 und 3 des D-Registers auf das Y-Register in den beiden Arbeitsspeichern
5 und 6 übertragen, da die Decodierung der Bits Cl.6,7 nur die 24
wertniederen Bits des zu bestimmenden Ergebnisses leitet.
Rechenwortbeispiel - Byteaddition
ORIGlNALiNSPECTED
Docket EN 968 033 "i 038 A S / I 66 0 .
Fig. 10 zeigt schematisch die Ausfuhrung des Steuerwortes
"FD3C2F92". Das zugehörige Zeitdiagramm ist in Fig. 11 gezeigt.
Die Bits O und 1 des Bytes CO des Steuerwortes bezeichnen nach Decodierung ein Rechenwort. Die spezifische Operation oder Form
erhält man durch Decodierung der Bits 2 und 3 des Byte CO. In diesem Fall ist jedes der Bits gleich 1 und besagt, daß das Ergebnis
einer eine Α-Quelle und eine B-Quelle benutzenden Operation zur B-Quellenadresse weggespeichert wird. Bit 4 des Byte CO
steht auf 1 und zeigt an, daß es sich bei der Operation um eine echte Addition handelt. Eine Schaltersteuerung erfolgt durch die
Bits 5,6 und 7 des Byte- CO. Im gegebenen Beispiel stehen die
Bits auf 101 und führen zu einer Kreuzung der werthohen und wertniederen Hexadezimalwerte (5 und 7), die aus den A-Schalter gegeben
werden und dann nach der Kreuzung den hohen Wert (7) sperren. Bit 0 des Byte Cl ist gleich 0 und zeigt die direkte Adressierung
des Arbeitsspeichers an, wodurch die Bits 1, 2 und 3 von Cl direkt zusammen mit den wertniederen Bits des P-Registers zur
Adressierung einer ausgewählten Stelle (U-Register) im Arbeitsspeicher
5 benutzt werden. Die Bits 4 und 5 des Byte Cl des Steuerwortes sind gleich 11 und führen zur Wahl des Byte 3 des
vom Arbeitsspeicher 5 ausgewählten A-Quellenregisters (ü3). Bit
6 und 7 des Bytes Cl sind gleich 00, so daß das Zustanderegister
S nicht gesetzt wird. Bits 0 bis 3 des Byte C2 werden dazu benutzt,
das W-Register im B-Arbeitsspeicher 6 als B-Quelle direkt zu adressieren. Die wertniederen Bits im P-Register werden wieder
für einen Teil der Adreßdecodierung bei der Auswahl des W-Registers benutzt. Der ganze Inhalt des W-Registers wird auf das B-Register
22 übertragen und der Wert (28) im Byte des W-Registers wird zur übertragung auf beide Bytepositionen des BrByteassemblierers
24 durch die Bits 4 und 5 des Byte C2 des Steuerwortes ausgewählt. Bits 6 und 7 des Byte C2 des Steuerwortes führen zur
direkten Leitung der Bytes im B-Assemblierer 24 auf die ALU 2 und ALU 3. Die hexadezimalen Zahlen 05 und 28 werden zueinander in
jedem ALU-Abschnitt addiert und mit einem Vergleich der Ergebnisse
festgestellt, ob ein Fehler in den ALU-Abschnitten aufgetreten
ist oder nicht. Wenn kein Fehler auftrat, wird das Ergebnis, in
10 9845/^660
Docket EN 968 033 ORIGINAL INSPECTED
Docket EN 968 033 ORIGINAL INSPECTED
diesem Fall der Hexadezimalwert 2D, auf jedes Byte des Z-Registers
30 übertragen.
Das ausgeführte Steuerwort muß außerdem das als nächstes auszuführende
Steuerwort adressieren. Somit werden die Bits 0 bis 5 des Byte C3 des Steuerwortes dazu benutzt, mindestens teilweise
die Adresse des nächsten Steuerwortes zu bilden. Die Bits 0 bis 3 des Byte C3 werden also direkt auf die Bits 0 bis 3 des M3-Registers
übertragen. Bit 6 und 7 des Byte C3 erfordern eine Verzweigung entsprechend der Stellung der Bits 4 und 5 des S-Registers.
Es wird angenommen, daß die Bits 4 und 5 des S-Registers
auf 1 stehen. Sie werden entsprechend mit den Bits 4 und
5 des Byte -C3 ODER-verknüpft und das logisch 11 gleichkommende
Ergebnis wird in die Bits 4 und 5 des M3-Registers geleitet. Der
zeitliche Ablauf- der obigen Operation ist aus der Zeittabelle der Fig. 11 zu ersehen, wo das Setzen des C-Registers von 0 auf
die Zeit 45 zu sehen ist, wodurch die Bildung der nächsten Steuerwortadresse
zwischen der Zeit 45 und der Zeit 9O abgeschlossen werden kann. Das nächste Steuerwort kann darste1lungsgemäß ausgelesen
werden, indem die Wahlleitung ungefähr zur Zeit 75 beginnt. Die A- und B-Quellen werden von den A- und B-Arbeitsspeichern 5
und 6. zwischen der Zeit 35 und der Zeit 70 gelesen und die A- und B-Quellen stehen in den A- und B-Registern zwischen der Zeit
45 und der Zeit 90 zur Verfügung. Die Wege zwischen den A- und
B-Registern 21 und 22 und den zugehörigen Byteassemblierern 23 und 24 beginnen ungefähr zur Zeit 45 zu leiten und die Umschalter
zwischen den Byteassemblierern und der ALU ebenfalls. Die ALU leitet ungefähr zur Zeit 90 eine ausgewählte Rechenoperation
ein und ungefähr zur Zeit 135 wird der Eingang zum Z-Register 30 leitend. Daten, die von einer vorhergehenden Ausführung eines
Steuerwortes evtl., noch im Z-Register stehen, werden vom Z-Register auf das D-Register übertragen, beginnend ungefähr zur
Zeit 45, und diese Daten werden dann vom D-Register auf die ausgewählten Stellen im A- und B-Arbeitsspeicher 5 bzw. 6 , beginnend
bei der Zeit 90, übertragen. Die Durchgangsprüfung der bestimmten Information erfolgt zwischen den Zeitpunkten 135 und 180.
1 U 9 8 4 5/1660
ORIGINAL INSPECTgD
Echte Dezimaladdition
Fig. 12 zeigt schematisch ein typisches Dezimal-Additions-Steuerwort
BA4C6FAC land Fig. 13 die Zeiteinteilung der verschiedenen Maschinenoperationen. Die Decodierung der Bits CO.0,1 erfordert
ein arithmetisches Wort. Die Decodierung der Bits CO.2,3 zeigt
an, daß die Operation eine Α-Quelle und eine B-Quelle betrifft und daß Ergebnisse auf die Adresse der B-Quelle zu setzen sind.
Bits CO.4-7 fordern eine dezimale Addition. Es wird angenommen,
daß das Zustandsregisterbit SO gleich 0 ist und eine echte Additionsfunktion
liefert. Die Bits Cl.0-3 fordern die direkte Arbeitsspeicheradressierung
um die Α-Quelle zu erhalten unter Verwendung der Bits 4 bis 7 des P-Registers und der Bits Cl.1,2 und
3 zur Adressierung des V-Registers im Arbeitsspeicher 5 auf der Adresse 14. Die Bits Cl.4,5 besagen, daß die Operation mit dem
Byte 3 des V-Registerinhaltes durchzuführen ist. Die Bits Cl.6,7
erfordern keine Einstellung des Zustandsregisters. Die Bits
C2.O-3 fordern die direkte Arbeitsspeicheradressierung der B-Quelle,
um die Bits 4 bis 7 des P-Registers und die Bits C2.1-3
zur Adressierung des Y-Registers an der Stelle 16 im B-Arbeitsspeicher
6 zu nutzen. Die Bits C2.4,5 zeigen an, daß Byte 3 des -Y-Registerinhaltes zu bearbeiten ist. Die Bits C2.6,7 zeigen
an, daß die Leitung der B-Quelle normal oder grade ist, d.h., die hohen und niedrigen Hexadezimalwerte des Byte 3 werden entsprechend
auf die hohen und niedrigen Positionen der ALU 2 und ALU 3 geleitet. Bits C3.O-5 einschließlich werden auf das M3-Register
übertragen und das M2-Register wird aus dem ^-Register
gesetzt, um das nächste Steuerwort aus demselben Speichermodul
zu adressieren.
Somit ist aus Fig. 12 zu ersehen, daß die direkte Arbeitsspeicheradressierung
der A- und B-Quellen den Inhalt des V-Registers aus dem Arbeitsspeicher 5 auf das A-Register 21 und den Inhalt
des Y-Registers aus dem B-Arbeitsspeicher 6 auf das B-Register
Docket EN 968 033 ' ü 9 b 4 5 / I 6 6 0
22 überträgt. In den Bytepositionen O, 1 und 2 der A- und B-Register
sind Xe dargestellt, da der Inhalt dieser Bytes während der Operation nicht benutzt wird. Wie oben gezeigt, wählten die
Bytewahlbits die Bytes 3 des Inhaltes des V-Registers und des
Y-Registers. Somit wird Byte 3 im A-Register 21, welches den
Hexadezimalwert 07 enthält, auf alle vier Bytepositionen des A-Byteassemblierers
23 übertragen. Dieser Wert wird dann von den Positionen für Byte 2 und Byte 3 des A-Byteassemblierers direkt
auf die Α-Eingänge von ALU 2 und ALU 3 gegeben. Byte 3 im B-Register hat einen Hexadezimalwert von 15 und wird auf beide Bytepositionen
des B-Byteassemblierers 24 und von dort über die echten und Komplementschaltungen auf die B-Eingänge der ALU 2 und
ALU 3 übertragen. Die hexadezimalen Werte werden in der ALU 3 addiert und das hexadezimale Ergebnis IC wird auf alle vier
Bytepositionen des Z-Registers 30 übertragen. Alle Oben im Zusammenhang
mit dem Steuerwort beschriebenen Operationen erfolgen währenß der ersten 180 ns des Zyklus. Die während der Ausführung
des Steuerwortes nach dem Zeitpunkt 180 durchgeführten Operationen sind in unterbrochenen Linien in der unteren rechten Ecke
der Fig. 12 gezeigt. Zur Zeit 180 wird der Hexadezimalwert IC
vom Byte 3 des Z-Registers auf Byte 3 des Α-Registers und von dort auf die Bytes 2 und 3 des A-Byteassemblierers 23 übertragen,
um an die Α-Eingänge der ALU 2 und ALU 3 angelegt zu werden. Die vier Eingänge für die Dezimalkorrektursteuerungen, Bits C3.O-3,
Bits C3.4-7 sowie die beiden Übertragsbits der ersten Dezimaloperation
sorgen dafür, daß der K-Assemblierer eipe Korrekturzahl
06 auf die B-Eingänge der ALU 2 und ALU 3 gibt. Der Korrekturfaktor
wird zum hexadezimalen Ergebnis der ersten Operation addiert, um ein korrigiertes hexadezimales Ergebnis 22 zu erzeugen,
welches vom Ausgang der ALU .3 auf das Z-Register 30 übertragen
wird. Aus dem Zeitdiagramm der Fig. 13 ist zu ersehen, daß das
Setzen des korrigierten Ergebnisses in das Z-Register 30 ungefähr zwischen den Zeitpunkten 0 und 45 des folgenden Zyklus stattfindet,
Kurz danach wird dieses korrigierte Ergebnis in das D-Register gegeben und danach auf Byte 3 des Y-Registers in den beiden Arbeitsspeichern
5 und 6 zurückgeführt. ;
109845/IGGU
Die Ausführung des SpeieherSteuerwortes 487B2DEE ist schematisch
in den Fign. 14a und 14b gezeigt und die Zeiteinteilung der verschiedenen
Maschinenoperationen in den Zeitdiagrammen der Fign. 15a und 15b. Aus den Zeitdiagrammen ist zu ersehen, daß die Ausführung des Speicherwortes zwei Speicherzyklen 1 und 2 mit jeweils
270 ns Dauer erfordert. Mit dem als Beispiel gezeigten Steuerwort 487B2DEE soll das Datenwort (oder ein Teil davon), welches in den
Q-Registern der beiden Arbeitsspeicher steht, auf die Hauptspeicheradresse übertragen, die in den W-Registern dieser beiden Arbeitsspeicher
steht. Bei diesem spezieilen Wort werden die Daten auf den Hauptspeicher Ib unter Verwendung der Bits O bis 3 des
T-Registers als Maske übertragen.
Die Ausführung des Steuerwortes wird im Zusammenhang mit den
verschiedenen Bits beschrieben, die das Steuerwort bilden und darstellungsgemäß im C-Register 2 gespeichert sind. Die Bits O
und 1 des Byte CO bezeichnen nach Decodierung ein Speicherwort. Die Bits 2, 3 und 4 des Byte CO bezeichnen die ühterform des
Wortes, ein Speichertypenwort. Die Bits 0 bis 3 des Byte Cl bezeichnen
nach Decodierung die direkte Adressierung der Arbeitsspeicher unter Verwendung der Bits 1, 2 und 3 des Byte Cl und
der Bits 4 bis 7 des P-Registers zur Adressierung des Q-Registers
auf der Adresse 17 des Α-Arbeitsspeichers. Der Inhalt F7F3F2C3 des Q-Registers wird auf das A-Register 21 und dann auf den A-Byteassemblierer
23 übertragen. Die Bits 6 und 7 des Byte C2 geben an, daß die Daten im A-Byteassemblierer unter der durch die werthohen Bits 0 bis 3 des T-Registers bestimmten Maske auf den Hauptspeicher
Ib zu übertragen sind. Diese werthohen Bits 0010 des T-Registers
veranlassen nur die übertragung des Byte 2 der Daten
im Assemblierer 23 auf den Hauptspeicher Ib.
Die Adresse, auf der dieses Datenbyte gespeichert ist, wird an- :
gegeben durch die Bits 0 bis 3 des Byte C2 des Steuerwortes. Die '"
1098 45/ I 66 0
Decodierung dieser Bits veranlaßt die direkte Adressierung des
Arbeitsspeichers 6 und die Bits lf 2 und 3 des Byte C2 sowie
die wertniederen Bits 4 bis 7 des P-Registers werden in der Schaltung 151 decodiert und wählen das W-Register auf der Adresse
12. Die Hauptspeicheradresse OO1EFDOO im W-Register wird auf
das B-Register 22 übertragen und die wertniederen Bytes 2 und 3 vom B-Register 22 auf den B-ByteassembIierer 24. Byte 2 im B-Byteassemblierer
wird auf die ALU 2 übertragen und in den Bytes 0 und 2 des Z-Registers 30 gespeichert. Das wertniedere Byte 3
im Assemblierer 24 wird auf einen Eingang der ALU 3 übertragen.
Ein anderes Eingangssignal zur ALU 3 fordert die Fortsehreibung
des wertniederen Byte um den Wert 1, woraufhin der Wert 1 zum Byte 3 des Byteassemblierers 24 addiert und das Ergebnis in den
Bytes 1 und 3 des Z-Registers 30 gespeichert wird. Die Fortschreibung der Adresse wird bestimmt durch die Bits 4 und 5 des Byte Cl
des Steuerwortes, welches angibt, daß die Fortschreibung eine Additions
funktion sein muß. Die Bits 6 und 7 des Byte C2 des Steuerwortes geben an, daß der Wert der Fortschreibung sich nach dem
Wert der Bits 0 bis 3 des T-Registers richtet. In diesem speziellen
Fall fordert die Decodierung der Bits im T-Register eine Fortschreibung um den Wert 1. Abhängig davon, ob es sich um eine
Byte-, Halbwort- oder Wortoperation in bezug auf die zu speichernden Daten handelt, erfolgt die Fortschreibung in Schritten von 1,
2 oder 4* Ih dem Beispielwort ist nur ein Byte im Hauptspeicher weggespeichert und die Fortschreibung beträgt somit 1.
Ungefähr zum Zeitpunkt 180 des Speicherzyklüs werden die Bytes
0 und 1 des B-Registers 22 auf den B-Byteassemblierer 24 und von dort die Bytes 0 und 1 des Z-Registers 30 über die ALU 2 und die
ALU 3 übertragen* Nach der Verwendung der werthohen Bits des T-Registers zur Leitung der Daten in den Hauptspeicher Ib führt
die Decodierung der Bits 2, 3 und 4 des Byte CO und der Bits 6
und 7 des Byte C2 zur Rückstellung der werthohen Bits des T-Registers.
Der Speicherzyklüs 2 der Steuerwortausführung ist im unteren
10 9845/1660
• - 39 -
Teil der Fig. 14 dargestellt. Zu Beginn des Zyklus 2 wird durch
Decodierung der Bits 2, 3 und 4 des Byte CO und des Bits 4 des Byte C3 die Adresse vom Wert 12 auf den Wert 13 um 1 erhöht,
welche das W-Register des B-Arbeitsspeichers während des ersten Zyklus wählte und dadurch das ü-Register im B-Arbeitsspeicher 6
adressiert. Die wertniederen Bytes 2 und 3 des ü-Registers enthalten einen Zählwert, der gleich der Anzahl von Bytes ist, die
aus dem Hauptspeicher für die Verarbeitung während einer Rechenoperation übertragen werden müssen, und zwar maximal 256 Bytes.
Im gezeigten Ausführungsbeispiel des Systemes wird dieser Zählwert immer in dem Register gespeichert, welches unmittelbar vor
dem für die Adreßdaten benutzten Register liegt. In diesem speziellen Fall ist es das W-Register. Jedesmal wenn ein Wort
oder ein Datenteil eines Wortes vom Hauptspeicher zur Verarbeitung übertragen und das Ergebnis in den Hauptspeicher zurückgesetzt
wird, muß die Wortzahl im U-Register bis zum Erreichen des
Wertes O herabgesetzt werden, wodurch das Ende einer bestimmten
Rechenoperation angezeigt wird. Die Unterform des jeweils ausgeführten Speicherwortes gibt den Wert an, um welchen die Zahl
herabgesetzt wird. Eine Byteoperation erfordert die Herabsetzung
um 1, eine Halbwortoperation die Herabsetzung um 2 und eine Vollwortoperation die Herabsetzung um 4. Im vorliegenden Beispiel
bezeichnen die Steuerwortbits 2, 3 und 4 des Byte CO nach der Decodierung eine Speicherwortoperation, wodurch also eine Herabsetzung
um 4 gefordert wird, auch wenn der Inhalt des T-Registers 3 dieser vier Bytes im Wort maskiert. Somit wird das wertniedere
Byte 08 im B-Byteassemblierer 24 auf die ALU 3 übertragen und um 4 herabgesetzt und dann in den Bytes 1 und 3 des Z-Registers
30 gespeichert.
Zu den Zeitpunkten 4 5 bis 90 des Speicherzyklus 2 wird die fortgeschriebene
Wortadresse (001EFDO1), die auf das Z-Register
während des ersten Speicherzyklus übertragen wurde, in das B-Register
31 übertragen. Während der Zeit 90 bis 150 des zweiten Zyklus wird die fortgeschriebene Adresse vom D-Register auf das
W-Register über den SDBO-Assemblierer 11 übertragen.
1 0 9 8 4 5 / 1 6 6 ö
Das nächste auszuführende Steuerwort wird teilweise über die
Folgeadreßbits 0 bis 3 des Byte C3 des ausgeführten Steuerwortes
adressiert. Die hohen Verzweigungsbits 5, 6 und 7 des Byte CO werden decodiert, wodurch das Bit 4 des M3-Registers auf Q gesetzt wird. Die niederen Verzweigungsbits 5,6 und 7 des Byte
C3 veranlassen nach der Decodierung das Setzen des Bits 5 im
M3-Register auf denselben Wert, den das Bit 7 des S-Registers hat. Im vorliegenden Beispiel ist Bit 7 des S-Registers gleich
0, also auch Bit 5 des M3-Registers. Eine Modulumschaltung ist
im gezeigten Steuerwort nicht vorgesehen, wodurch der Wert der Adreßbits in dem N2-Register in das M2-Register zur Adressierung
des gewünschten Steuerwortes in demselben Modul gesetzt wird.
9845/1660
Claims (10)
- 2117938* 41 -CHE/Π1 Mikroprogrammgesteuerte Zentraleinheit eines elektronischen Datenverarbeitungssystems, dadurch gekennzeichnet, daß ein schneller Steuerspeicher (la; Fig. 1), dessen Zugriffs- und Lesezeit kleiner ist, als die Verarbeitungszeit der arithmetischen und logischen Schaltungen, daß ferner ein Taktgenerator (35) mit variabler Zykluslänge für die Erzeugung einer Reihe zyklischer Ausgangsimpulse für die Ausführung der Steuerwörter und daß schließlich eine Steuerung (Fig. 5) vorgesehen sind, die in Abhängigkeit vom Typ eines Steuerwortes den Taktgenerator derart steuert, daß dieser nur so viele Ausgangsimpulse in einer Taktimpulsreihe erzeugt, wie für die Ausführung dieses Steuerwortes erforderlich sind.
- 2. Mikroprogrammgesteuerte Zentraleinheit nach Anspruch 1, dadurch gekennzeichnet, daß auch der Hauptspeicher (Ib; Fig. 1) eine Zugriffs- und Lese-/Schreibzeit besitzt, die kleiner ist, als die Verarbeitungszeit der arithmetischen und logischen Schaltungen.
- 3. Mikroprogrammgesteuerte Zentraleinheit nach Anspruch 1, dadurch gekennzeichnet, daß eine Einrichtung vorgesehen ist, die von bestimmten Steuerwörtern derart steuerbar ist, daß sie Daten vom Hauptspeicher (Ib; Fig. 1) zu den Arbeitsspeichern (5, 6) zur Vorbereitung der Verarbeitung der Daten in der arithmetischen und logischen Einheit (20) und daß sie die verarbeiteten Daten von den Arbeitsspeichern zu dem Hauptspeicher überträgt.
- 4. Mikroprogrammgesteuerte Zentraleinheit nach Anspruch 3, dadurch gekennzeichnet, daß eine Einrichtung vorgesehen ist, die von anderen Steuerwörtern derart steuerbar ist,10 9 8 4 5/1660däß sie Daten von den Hauptspeichern zu der arithmetischen und logischen Einheit for die Verarbeitung überträgt und daß sie ferner die verarbeiteten Daten von der arithmetischen und logischen Einheit zu den Arbeitsspeichern überträgt,
- 5. Mikröprogrammgesteuerte Zentraleinheit nach einem oder mehreren der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß eine weitere Einrichtung vorgesehen ist, die von jedem Steuerwort während seiner Ausführung derart steuerbar ist, daB sie eine Adresse für den Abruf des nächsten auszuführenden Steuerwortes erzeugt.
- 6. Mikroprogrammgesteuerte Zentraleinheit nach einem oder mehreren der Ansprüche X bis 5, dadurch gekennzeichnet, daß der Adressierungsmechanismus und die Speicher für den Abruf und das Lesen von Paaren von Steuerwörtern ausgelegt sind»
- 7. Mikröprogrammgesteuerte Zentraleinheit nach Anspruch 6, dadurch gekennzeichnet, daß eine erste Verzweigungsschaltung vorgesehen ist, die auf vorgegebene Bitkombinationen in bestimmten Steuerwörtern anspricht und für die Verarbeitung eines des adressierten nächsten Steuerwortpaares gemäß den Bitkombinationen und Bedingungen eines vorgegebenen Zustandsregisters und Arbeitsspeichers auswählt.
- 8. Mikroprogrammgesteuerte Zentraleinheit nach Anspruch 7, dadurch gekennzeichnet, daß eine zweite Verzweigungsschaltung vorgesehen ist, die auf vorgegebene Bitkombinationen in bestimmten Steuerwörtern anspricht, um für die Verarbeitung eines von zwei Paaren von Steuerwörtern, entsprechend den Bitkpmbinationen und Bedingungen eines vorgegebenen Zustandsregisters und Arbeitsspeichers auswählt.
- 9. Mikroprogrammgesteuerte Zentraleinheit nach Anspruch 8,109845/1860dadurch gekennzeichnet, daß eine Steuerung vorgesehen ist, die von der ersten Verzweigungsschaltung gesteuert wird, um den Taktgeber derart zu steuern, daß er einen Zyklus von der Dauer einer Zeiteinheit erzeugt.
- 10. Mikroprogrammgesteuerte Zentraleinheit nach Anspruch 9, dadurch gekennzeichnet, daß die Steuerung von der zweiten Verzweigungsschaltung so gesteuert wird, daß sie den Taktgenerator veranlaßt, einen Zyklus von der Dauer einer Zeiteinheit zu erzeugen, wenn die Verzweigungsschaltungen auf die Steuerwortbits und Zustandsregisterbits ansprechen und daß sie den Taktgenerator veranlaßt, einen Zyklus einer größeren Zeitdauer zu erzeugen, wenn die Verzweigungsschaltungen auf ausgewählte Bits im Arbeitsspeicher ansprechen, wobei die Positionen in dem Arbeitsspeicher von dem auszuführenden Steuerwort ausgewählt wurden. .11. Mikroprogrammgesteuerte Zentraleinheit nach einem oder mehreren der Ansprüche 1 bis 10, dadurch gekennzeichnet, daß die Steuerung auf jedes von bestimmten Steuerwörtern anspricht, um eine von einer Anzahl ausgewählter erster Zykluszeiten zu erzeugen, um das betreffende Steuerwort auszuführen.12. Mikroprogrammgesteu^erte Zentraleinheit nach einem oder mehreren der Ansprüche 1 bis 10, dadurch gekennzeichnet, daß die Steuerung auf jedes von bestimmten anderen Steuerwörtern anspricht, um eine von einer Anzahl von ausgewählten Kombinationen von ersten Zykluszeiten zu erzeugen, um das betreffende Steuerwort auszuführen.13. Mikroprogrammgesteuerte Zentraleinheit nach einem oder mehreren der Ansprüche 1 bis 12, dadurch gekennzeichnet, daß die Steuerung (Fig. 5) aus folgenden Elementen besteht:109845/1660eine Speicher-1-Zyklus-Verriegelungsschaltung, eine Speicher-2-Zyklus-Verriegelungsschaltung,eine Speicher-Sperrzyklus—Verriegelungsschaltung undeine Einrichtung, die auf jedes Speiehersteuerwort anspricht, um die Speicher-1-Zyklus-Verriegelungsschaltung während einer ersten Zykluszeit, die Speicher-2-Zyklus-Verriegelungsschal tung während einer zweiten Zykluszeit und die Speicher-Sperrzyklus-Verriegelungsschaltung während des letzten Teiles der ersten Zykluszeit und des frühen Teiles der zweiten Zykluszeit einzustellen, wobei die genannten-^te| Verriegelungsschaltungen die Steuerung der Ausführung jedes Speicherwortes während zwei aufeinanderfolgender Taktzykluszeiten bewirken.14. Mikroprogrammgesteuerte Zentraleinheit nach Anspruch 4, dadurch gekennzeichnet, daß die genannte Einrichtung auf jedes arithmetische Ganzwort-Steuerwort anspricht, um erste unpjzweite Operanden von den Arbeitsspeichern abzurufen und um die niedrigstelligen Bits der Operanden in die arithmetische und logische Einheit für die Verarbeitung zu übertragen, und daß diese Einrichtung danach bewirkt, daß die hochstelligen Bits der Operanden in die arithmetische und logische Einheit für die Verarbeitung übertragen werden und daß schließlich die Steuerung auf jedes arithmetische Vollwort-Steuerwort anspricht, um den Taktgeber zu bewirken, so viele Ausgangsimpulse zu erzeugen, wie für die Vervollständigung der Operation des Steuerwortes in einem Zyklus erforderlich sind.15. Mikroprogrammgesteuerte Zentraleinheit nach einem oder1119 8 4 5/ UbOmehreren der Ansprüche 1 bis 14, dadurch gekennzeichnet, daß eine Einrichtung vorgesehen ist, die auf ausgewählte Bits in jedem Steuerwort anspricht, um den Taktgeber zu veranlassen nur so viele Ausgangsimpulse in einer Taktreihe zu erzeugen, als notwendig sind, um die Ausführung des Steuerwortes zu bewirken, bevor eine nachfolgende Reihe von Taktimpulsen für ein nächstes Steuerwort gestartet wird.10 9-84 5/ 16 6 0Leers ei te
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US2922370A | 1970-04-16 | 1970-04-16 |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2117936A1 true DE2117936A1 (de) | 1971-11-04 |
DE2117936B2 DE2117936B2 (de) | 1978-12-14 |
DE2117936C3 DE2117936C3 (de) | 1979-08-16 |
Family
ID=21847906
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2117936A Expired DE2117936C3 (de) | 1970-04-16 | 1971-04-14 | Mikroprogrammgesteuerte Zentraleinheit eines elektronischen Datenverarbeitungssystems |
Country Status (6)
Country | Link |
---|---|
US (1) | US3656123A (de) |
JP (2) | JPS465165A (de) |
CA (1) | CA935934A (de) |
DE (1) | DE2117936C3 (de) |
FR (1) | FR2086169B1 (de) |
GB (1) | GB1274830A (de) |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3809884A (en) * | 1972-11-15 | 1974-05-07 | Honeywell Inf Systems | Apparatus and method for a variable memory cycle in a data processing unit |
US3800293A (en) * | 1972-12-26 | 1974-03-26 | Ibm | Microprogram control subsystem |
JPS49116932A (de) * | 1973-03-09 | 1974-11-08 | ||
JPS49116931A (de) * | 1973-03-09 | 1974-11-08 | ||
JPS5078237A (de) * | 1973-11-09 | 1975-06-26 | ||
US3972024A (en) * | 1974-03-27 | 1976-07-27 | Burroughs Corporation | Programmable microprocessor |
FR2269150B1 (de) * | 1974-04-25 | 1977-10-28 | Honeywell Bull Soc Ind | |
US3958227A (en) * | 1974-09-24 | 1976-05-18 | International Business Machines Corporation | Control store system with flexible control word selection |
US4050096A (en) * | 1974-10-30 | 1977-09-20 | Motorola, Inc. | Pulse expanding system for microprocessor systems with slow memory |
US3961313A (en) * | 1974-12-04 | 1976-06-01 | International Business Machines Corporation | Computer control apparatus |
US4024508A (en) * | 1975-06-19 | 1977-05-17 | Honeywell Information Systems, Inc. | Database instruction find serial |
US4042912A (en) * | 1975-06-19 | 1977-08-16 | Honeywell Information Systems Inc. | Database set condition test instruction |
US4044334A (en) * | 1975-06-19 | 1977-08-23 | Honeywell Information Systems, Inc. | Database instruction unload |
US4025901A (en) * | 1975-06-19 | 1977-05-24 | Honeywell Information Systems, Inc. | Database instruction find owner |
IT1044750B (it) * | 1975-10-31 | 1980-04-21 | Sits Soc It Telecom Siemens | Unita centrale di comando di una pluralita di unita periferiche secondo il principio della divisione di tempo in cui la durata di ogni canale temporale e variabile |
JPS6038740B2 (ja) * | 1976-04-19 | 1985-09-03 | 株式会社東芝 | デ−タ処理装置 |
US4153941A (en) * | 1976-11-11 | 1979-05-08 | Kearney & Trecker Corporation | Timing circuit and method for controlling the operation of cyclical devices |
US4172281A (en) * | 1977-08-30 | 1979-10-23 | Hewlett-Packard Company | Microprogrammable control processor for a minicomputer or the like |
JPS5440537A (en) * | 1977-09-07 | 1979-03-30 | Hitachi Ltd | Pipeline control system |
US4446533A (en) * | 1978-09-07 | 1984-05-01 | National Research Development Corporation | Stored program digital data processor |
DE2853523C2 (de) * | 1978-12-12 | 1981-10-01 | Ibm Deutschland Gmbh, 7000 Stuttgart | Dezentrale Erzeugung von Taktsteuersignalen |
US4201980A (en) * | 1978-12-26 | 1980-05-06 | Honeywell Information Systems Inc. | GCR Data write control apparatus |
US4482983A (en) * | 1980-06-23 | 1984-11-13 | Sperry Corporation | Variable speed cycle time for synchronous machines |
DE3036926C2 (de) * | 1980-09-30 | 1984-07-26 | Siemens AG, 1000 Berlin und 8000 München | Verfahren und Anordnung zur Steuerung des Arbeitsablaufes in Datenverarbeitungsanlagen mit Mikroprogrammsteuerung |
JPS58182758A (ja) * | 1982-04-20 | 1983-10-25 | Toshiba Corp | 演算制御装置 |
JPS59739A (ja) * | 1982-06-28 | 1984-01-05 | Fujitsu Ltd | マイクロプログラム処理装置における時間保障方式 |
JPS6085268U (ja) * | 1983-11-19 | 1985-06-12 | 鄭 瑛豪 | 自動車の制動装置 |
US4635187A (en) * | 1983-12-19 | 1987-01-06 | At&T Bell Laboratories | Control for a multiprocessing system program process |
US4636656A (en) * | 1984-05-21 | 1987-01-13 | Motorola, Inc. | Circuit for selectively extending a cycle of a clock signal |
US4670837A (en) * | 1984-06-25 | 1987-06-02 | American Telephone And Telegraph Company | Electrical system having variable-frequency clock |
US5053127A (en) * | 1987-01-13 | 1991-10-01 | William F. McLaughlin | Continuous centrifugation system and method for directly deriving intermediate density material from a suspension |
US5151986A (en) * | 1987-08-27 | 1992-09-29 | Motorola, Inc. | Microcomputer with on-board chip selects and programmable bus stretching |
US5428754A (en) * | 1988-03-23 | 1995-06-27 | 3Dlabs Ltd | Computer system with clock shared between processors executing separate instruction streams |
US5032982A (en) * | 1988-05-18 | 1991-07-16 | Zilog, Inc. | Device for timing interrupt acknowledge cycles |
US5237676A (en) * | 1989-01-13 | 1993-08-17 | International Business Machines Corp. | High speed data transfer system which adjusts data transfer speed in response to indicated transfer speed capability of connected device |
US5109490A (en) * | 1989-01-13 | 1992-04-28 | International Business Machines Corporation | Data transfer using bus address lines |
WO1993019416A1 (en) * | 1992-03-25 | 1993-09-30 | Zilog, Inc. | Fast instruction decoding in a pipeline processor |
US5841670A (en) * | 1994-03-09 | 1998-11-24 | Texas Instruments Incorporated | Emulation devices, systems and methods with distributed control of clock domains |
US5649174A (en) * | 1994-12-09 | 1997-07-15 | Vlsi Technology Inc. | Microprocessor with instruction-cycle versus clock-frequency mode selection |
JP2717954B2 (ja) * | 1995-11-13 | 1998-02-25 | 廣延 大谷 | 自動車の制動構造及びこの構造を用いた自動車 |
US6065131A (en) * | 1997-11-26 | 2000-05-16 | International Business Machines Corporation | Multi-speed DSP kernel and clock mechanism |
US6314471B1 (en) * | 1998-11-13 | 2001-11-06 | Cray Inc. | Techniques for an interrupt free operating system |
JP3450814B2 (ja) * | 2000-09-26 | 2003-09-29 | 松下電器産業株式会社 | 情報処理装置 |
WO2006116046A2 (en) * | 2005-04-22 | 2006-11-02 | Altrix Logic, Inc. | Asynchronous processor |
US7937568B2 (en) * | 2007-07-11 | 2011-05-03 | International Business Machines Corporation | Adaptive execution cycle control method for enhanced instruction throughput |
US7779237B2 (en) * | 2007-07-11 | 2010-08-17 | International Business Machines Corporation | Adaptive execution frequency control method for enhanced instruction throughput |
TW200919306A (en) * | 2007-07-11 | 2009-05-01 | Ibm | Adaptive execution frequency control method for enhanced instruction throughput |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3248708A (en) * | 1962-01-22 | 1966-04-26 | Ibm | Memory organization for fast read storage |
US3569939A (en) * | 1963-12-31 | 1971-03-09 | Bell Telephone Labor Inc | Program controlled data processing system |
US3426328A (en) * | 1965-01-18 | 1969-02-04 | Ncr Co | Electronic data processing system |
US3401376A (en) * | 1965-11-26 | 1968-09-10 | Burroughs Corp | Central processor |
US3573743A (en) * | 1968-09-30 | 1971-04-06 | Sperry Rand Corp | Programmable timing controls for magnetic memories |
-
1970
- 1970-04-16 US US29223A patent/US3656123A/en not_active Expired - Lifetime
-
1971
- 1971-04-06 FR FR717113016A patent/FR2086169B1/fr not_active Expired
- 1971-04-14 DE DE2117936A patent/DE2117936C3/de not_active Expired
- 1971-04-15 CA CA110404A patent/CA935934A/en not_active Expired
- 1971-04-16 JP JP2397011971A patent/JPS465165A/ja active Pending
- 1971-04-16 JP JP2397171A patent/JPS5729740B1/ja active Pending
- 1971-04-19 GB GB27190/71A patent/GB1274830A/en not_active Expired
Also Published As
Publication number | Publication date |
---|---|
JPS5729740B1 (de) | 1982-06-24 |
GB1274830A (en) | 1972-05-17 |
DE2117936B2 (de) | 1978-12-14 |
CA935934A (en) | 1973-10-23 |
DE2117936C3 (de) | 1979-08-16 |
FR2086169A1 (de) | 1971-12-31 |
JPS465165A (de) | 1971-11-25 |
US3656123A (en) | 1972-04-11 |
FR2086169B1 (de) | 1973-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2117936A1 (de) | Mikroprogrammgesteuerte Zentraleinheit eines elektronischen Datenverarbeitungssystems | |
DE2755273C2 (de) | ||
DE2224537C2 (de) | Einrichtung und Verfahren zur Instruktionsauswahl in einem Fließbandprozessor | |
EP0013737B1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
DE3724317C2 (de) | ||
DE1499722C2 (de) | Einrichtung zur Modifizierung von Informationswörtern | |
DE2515696C2 (de) | Datenverarbeitungssystem | |
DE2716369C2 (de) | ||
EP0097725B1 (de) | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen | |
DE2354521C2 (de) | Verfahren und Einrichtung zum gleichzeitigen Zugriff zu verschiedenen Speichermoduln | |
DE69030931T2 (de) | Mehrfachsequenzprozessorsystem | |
DE2837872A1 (de) | Digitalrechner mit ueberlappender betriebsweise unter verwendung einer bedingten steuerung zur minimierung von zeitverlusten | |
DE2630323A1 (de) | Datenspeichereinrichtung | |
DE2416609A1 (de) | Einrichtung zum vereinfachten speicherschutz und zur adressuebersetzung | |
DE2524046A1 (de) | Elektronische datenverarbeitungsanlage | |
DE3114921C2 (de) | Mikroprogramm-Speicheranordnung | |
EP0134831A1 (de) | Einrichtung im Befehlswerk eines Fliessbandprozessors zur Befehlsunterbrechung und -wiederholung | |
DE2926351A1 (de) | Look-ahead-speicheradressen- steuereinrichtung | |
DE1922304A1 (de) | Datenspeichersteuergeraet | |
DE3814875A1 (de) | Logische verknuepfungseinrichtung und logisches verknuepfungsverfahren | |
DE2906685C2 (de) | ||
DE19628039B4 (de) | Speicheradressen-Steuerschaltung | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE2747304A1 (de) | Einrichtung zur mikrobefehlssteuerung | |
DE2106731A1 (de) | Diagnoseeinrichtung fur elektronische Datenverarbeitungsanlagen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
8339 | Ceased/non-payment of the annual fee |