DE2952163A1 - Dv-anlage mit zwei datenprozessoren - Google Patents
Dv-anlage mit zwei datenprozessorenInfo
- Publication number
- DE2952163A1 DE2952163A1 DE19792952163 DE2952163A DE2952163A1 DE 2952163 A1 DE2952163 A1 DE 2952163A1 DE 19792952163 DE19792952163 DE 19792952163 DE 2952163 A DE2952163 A DE 2952163A DE 2952163 A1 DE2952163 A1 DE 2952163A1
- Authority
- DE
- Germany
- Prior art keywords
- processor
- register
- address
- memory
- data
- 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
- 230000015654 memory Effects 0.000 claims description 83
- 230000006870 function Effects 0.000 claims description 49
- 238000012545 processing Methods 0.000 claims description 46
- 238000000034 method Methods 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 15
- 230000004913 activation Effects 0.000 claims description 6
- 238000012937 correction Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000012546 transfer Methods 0.000 description 9
- 238000012360 testing method Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 101100132482 Arabidopsis thaliana NAC072 gene Proteins 0.000 description 2
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- DJXHAOJEKJPRBN-JDZGAICCSA-N 2-[(4s,5r)-4-hydroxy-5-(hydroxymethyl)oxolan-2-yl]-6,6-dimethyl-5,7-dihydro-1h-indol-4-one Chemical compound C=1C=2C(=O)CC(C)(C)CC=2NC=1C1C[C@H](O)[C@@H](CO)O1 DJXHAOJEKJPRBN-JDZGAICCSA-N 0.000 description 1
- 101100011511 Mus musculus Elovl6 gene Proteins 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000010977 unit operation Methods 0.000 description 1
- 238000004148 unit process Methods 0.000 description 1
- 230000003936 working memory Effects 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
-
- 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/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
- G06F9/3879—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Executing Machine-Instructions (AREA)
- Multi Processors (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
- 5 - \ naohgereioht)
WW444I
Die Erfindung betrifft eine DV-Anlage gemäß Gattungsbegriff des
Anspruchs 1 und befaßt sich insbesondere mit einer zugehörigen Steuerdatei. In DV-Anlagen mit einem sogenannten Hauptprozessor
und einem sogenannten Nebenprozessor werden Befehle und/oder Daten des Hauptprozessors vom Nebenprozessor empfangen und müssen
im Nebenprozessor gespeichert werden. Dies in vorgegebenen Speicherplätzen des Nebenprozessors geschehen» damit die Befehle und
Im
Daten verfügbar sind, ohne daß diese Speicher des Nebenprozessors gesucht werden müssen. Aufgabe der Erfindung ist es, einen hierfür geeigneten Aufbau der Steuerdatei zu finden. DarUberhinaus ist es von Vorteil, wenn zugleich mit dem Laden der Information in den Speicher des Nebenprozessors das Adressieren des Hauptspeichers erfolgen würde, unabhängig von anderen Operationen im Nebenprozessor. Dies bedeutet eine Zeitersparnis, weil die Verarbeitung der Daten im Nebenprozessor und das Adressieren des Hauptspeichers zeitlich parallel zueinander erfolgt.
Daten verfügbar sind, ohne daß diese Speicher des Nebenprozessors gesucht werden müssen. Aufgabe der Erfindung ist es, einen hierfür geeigneten Aufbau der Steuerdatei zu finden. DarUberhinaus ist es von Vorteil, wenn zugleich mit dem Laden der Information in den Speicher des Nebenprozessors das Adressieren des Hauptspeichers erfolgen würde, unabhängig von anderen Operationen im Nebenprozessor. Dies bedeutet eine Zeitersparnis, weil die Verarbeitung der Daten im Nebenprozessor und das Adressieren des Hauptspeichers zeitlich parallel zueinander erfolgt.
Die erwähnte Aufgabe wird gelöst durch die im Anspruch 1 gekennzeichnete
Erfindung. Sie besteht im wesentlichen darin, daß die vom Hauptprozessor an den Hilfsprozessor gelieferte Information
in einer Steuerdatei gespeichert wird, welche entweder durch ein Firmware-Wort des SteuerSpeichers oder durch Benutzung des
Funktionscodes aus einem vom Hauptprozessor empfangenen Befehl adressiert wird. Die in der Steuerdatei gespeicherte Information
wird zum Adressieren des Hauptspeichers ausgenutzt. Die Adresse für den Hauptspeicher kann zur gleichen Zeit fortgeschaltet oder
zurückgeschaltet werden, wie Operanden aus dem Hauptspeicher zur Verarbeitung abgerufen werden. Vorteilhafte Ausgestaltungen der
Erfindung ergeben sich aus den Unteransprüchen.
Die Erfindung wird nachfolgend anhand eines in den Zeichnungen wiedergegebenen Ausführungsbeispiels im einzelnen erläutert.
Dabei zeigt
030029/0697
Fig. | 1 |
Fig. | 2 |
Fig. | 3 |
Fig. | 4 |
Fig. | 5 |
Fig. | 6 |
Fig. | 7 |
Fig. | 8 |
Fig. | 9 |
Fig. | 10 |
den Systemaufbau einer DV-Anlage; das Ablaufdiagramm der Betriebszustände im
das Blockschaltbild des Prozessors; eine Darstellung des Inhalts eines Registers des
das Blockschaltbild des Rechenwerks; das Blockschaltbild der Adress-Steuereinheit des
den internen Aufbau der Steuerdatei; das Blockschaltbild des Adressregisters und
Addierers;
einen Teil des Firmware-Wortes im Prozessor; und die Steuerlogik für das Adressregister und den
0300 29/0697
In Flg. 1 dient der Befehlsprozessor CIP 13 (commercial
Instruction processor) der Erweiterung der Zentraleinheit CPU 11, insbesondere ihrer Kapazität an Befehlsgruppen durch Verwendung
einer wirkungsvollen Gruppe herkömmlicher Befehle. Diese Befehle gestatten es, der Zentraleinheit 11 über den Befehlsprozessor 13 dezimale und alphanumerische Daten zu verarbeiten,
wobei folgende Befehlsarten auftreten: Dezimal, Alphanumerisch, Datenumwandlung und Aufbereitung. Der Nachrichtenaustausch zwischen
dem Befehlsprozessor 13 und der Zentraleinheit 11 sowie dem Hauptspeicher 17 erfolgt über eine gemeinsame Systemsammeischiene,
genannt Bus 19. Der Befehlsprozessor 13 arbeitet als Zusatz zur Zentraleinheit und empfängt Befehle und Operanden als
ubertragungsinformationen von der Zentraleinheit und/oder dem
Speicher. Der Befehlsprozessor verarbeitet die Befehle,wie sie von der Zentraleinheit 11 über den Bus 19 ausgesandt werden.
Die Zentraleinheit erhält diese Befehle vom Hauptspeicher und prüft jeden abgerufenen Befehl, ob es sich um einen kommerziellen
Befehl handelt. Der Empfang eines jeden kommerziellen Befehls durch den Befehlsprozessor tritt üblicherweise gleichzeitig an
der Zentraleinheit auf, da die Zentraleinheit jeden Befehl vom Speicher abzieht und decodiert. Die Befehlsverarbeitung durch den
Befehlsprozessor 13 verläuft jedoch asynchron zum Betrieb der Zentraleinheit 11. Ist kein Befehlsprozessorsystemvorhanden, so
führt jeder Versuch zur Ausübung eines kommerziellen Befehls dazu, daß die Zentraleinheit einen speziellen Abfangzustand annimmt.
Der Befehlsprozessor 13 empfängt über den Bus 19 Informationen
von der Zentraleinheit 11 und vom Hauptspeicher 17 und verarbeitet
diese Informationen in logischer Folge. Diese besteht aus drei CIP-Betriebszuständen: Frei, Laden, Belegt und Abfangzustand.
Wie Fig. 2 zeigt, fängt der Befehlsprozessor 13 im Block 200 an
und bleibt im Freizustand gemäß Block 202,solange er keine Informationen
verarbeitet und muß auch im Freizustand sein, um
030029/0697
einen Befehl» z.B. einen CIP-Befehl oder einen Ein/Ausgabebefehl
von der Zentraleinheit aufzunehmen. Beim Eingang eines Befehls gemäß Block 204 wird im Block 205 festgestellt, ob der
Befehl zulässig ist,und der Befehleprozessor geht in den Ladezustand
206 über. In diesem Zustand bleibt er solange, bis alle zugehörige Befehlsinformation empfangen ist. Ist dies im Block
208 abgeschlossen, so geht der Befehlsprozessor 13 in den Belegtzustand gemäß Block 210 über und verarbeitet die Information.
Jeder weitere Versuch der Zentraleinheit mit .dem Befehlsprozessor
Informationen auszutauschen, wird von diesem zurückgewiesen, solange er im Belegtzustand ist und wird erst dann möglich, wenn er
erneut den Freizustand annimmt. Die CIP-Verarbeitung umfaßt Informationsübertragungsaktivitäten
mit dem Hauptspeicher 17, wenn die notwendigen Operanden abgerufen werden. Der Befehlsprozessor
geht in den Abfangzustand gemäß Block 212 nur dann über, wenn spezielle unzulässige Ereignisse auftreten (Block 214), w;e beispielsweise
die Feststellung einer unzulässigen Länge des Operanden oder eines Befehls außer der Reihe. Er kehrt zum Freizustand
zurück, sobald gemäß Block 216 die Operation abgeschlossen ist.
Alle zugehörigen Befehlsübertragungen zum Befehlsprozessor werden gemeinsam von der Zentraleinheit und vom Befehlsprozessor erledigt.
Sie werden decodiert und von der Zentraleinheit zusammen mit allen zur Ausführung der Befehle erforderlichen Informationen
zum Befehlsprozessor übertragen. Sobald die Informationsübertragung
beendet ist, fahren die Zentraleinheit und der Befehlsprozessor mit der Ausführung ihrer entsprechenden Befehle fort.
Jeder CIP-Befehl enthält ein Befehlswort von 16 Bit, an welches
sich unmittelbar bis zu sechs zusätzliche beschreibende Worte von ebenfalls 16 Bit Länge anschließen, welche als Datendeskriptoren
und Etiketten bezeichnet werden. Das Befehlswort enthält den zur verarbeitung zum Befehlsprozessor gesandten ClP-Operationscode.
Die Datendeskriptoren beschreiben den Typ des Operanden, den Umfang und den Speicherplatz;das Etikett liefert die Adresse eines
fernen Datendeskriptors. Sowohl der Datendeskriptor als auch das
030029/0697
Etikett werden von der Zentraleinheit verarbeitet und hierbei erzeugte Information, beispielsweise der Operandentyp und die
Speicheradresse werden zur Weiterverarbeitung zum Befehlsprozessor gesandt? Zentraleinheit analysiert den Operationscode
in jedem Befehl. Stellt sie einen CIP-Befehl fest, d.h. befindet
sich der Befehlsprozessor im Freizustand, so sendet die Zentraleinheit den Befehlsoperationscode und die zugehörige
Information In folgender Weise aus:
(i) Die Zentraleinheit sendet den Operationscode, d.h. das erste Wort des kommerziellen Befehls an den Befehlsprozessor. Dieser
geht in den Ladezustand über, sobald er den Operationscode annimmt
;
(ii) die Zentraleinheit ruft den ersten Datendeskriptor ab und fragt die Adressensilbe ab, um die wirksame Adresse zu erzeugen;
iiii) die Zentraleinheit gibt die folgende Information ab: Die aus 24 Bit bestehende effektive Byte-Adresse des ersten Operanden,
gegebenenfalls den Inhalt des entsprechenden Datenregisters der Zentraleinheit und den Datendeskriptor des ersten Operanden derart
auf den neuesten Stand gebracht, daß sie die Lage eines Bytes (8 Bits) oder eines Halb-Bytes (4 Bits) innerhalb eines Wortes
wiedergibt.
Sind weitere, beispielsweise ein zweiter oder ein dritter Operand vorhanden, so führt die Zentraleinheit die entsprechenden Vorgänge
der Schritte ii und iii aus.
Zu diesem Zeitpunkt wird der Befehleprozessor 13 mit aller für die Ausführung kommerzieller Befehle erforderlichen Information
geladen und geht in den Belegtzustand über, um den Befehl auszuführen.Falls
notwendig, tritt der Befehleprozessor 13 unmittelbar inInformationsaustausch mit dem Hauptspeicher 17, um die
zugehörigen Operanden zu erhalten. Der Befehlsprozessor 13 hat jedoch niemals direkten Zugriff zu den Registern der Zentraleinheit
11. Er verwendet nur Informationen, die ihm von der Zentraleinheit zugesandt wurde Somit werden keine CPU-Register
vom Befehlsprozessor geändert,und die Zentraleinheit
arbeitet solange den nächsten und jeden folgenden CPU-Befehl ab»
030029/0697
bis einer der folgenden Zustände auftritt: (i) der Befehlsprozessor
setzt die Zentraleinheit über einen Abfangvektor (TV) davon in Kenntnis, daß während der Ausführung des laufenden
kommerziellen Befehls ein unzulässiges Ereignis aufgetreten ist; oder (ii) von der Zentraleinheit wird ein internes oder externes
Unterbrechungssignal festgestellt.
Liegt ein solches Unterbrechungssignal vor, so bestimmt die Zentraleinheit, ob der letzte kommerzielle Befehl vom Befehlsprozessor
ausgeführt wurde. Die Zentraleinheit waztet bis zur Beendigung des letzten kommerziellen Befehls. Sobald dies geschehen ist,
bestimmt sie, ob sich hieraus eine Abfanganforderung ergibt. Ist dies der FaIl1 gibt die Zentraleinheit der Abfanganforderung Vortritt,
ehe sie eine Unterbrechung durchführt. Hierdurch wird eine typische Operation zur Speicherinhaltssicherung und Wiedereinspeicherung
ausgelöst, um alle entsprechenden CPU und CIP Zustandsinformationen
zu speichern. Bei Abschluß der CPU-Operation für die Erledigung einer CIP-Abfanganforderung oder, sofern keine
Abfanganforderung ansteht und ein CIP-Befehl zur Verarbeitung
vorhanden ist, geht die Zentraleinheit wie folgt vor: Sie schaltet ihren Programmzähler fort, bis zu dem kommerziellen Befehl,
den sie in Gang zu setzen versuchte. Die Zentraleinheit 11 verzögert den Versuch der Verarbeitung des kommerziellen Befehls
solange, bis der laufende Unterbrechungsvorgang abgewickelt ist. Sie beachtet und bedient die von einem Außengerät verursachte
Unterbrechung.
Wenn der Befehlsprozessor 13 einen Befehl abarbeitet, können alle CPU-Register einschließlich derjenigen,die vom laufenden kommerziellen
Befehl angesprochen sind, durch ein Programm über CPU-Befehle geändert werden. Die Software braucht jedoch den Operanden
für einen kommerziellen Befehl solange nicht zu ändern, bis der Befehlsprozessor diesen Befehl durchführt. Andernfalls würden
unbestimmte Ergebnisse erzielt werden. Verzweigungsbefehle im Befehlsbestand des Befehlsprozessors CIP 13 werden snychron von
der Zentraleinheit CPU 11 und vom Befehleprozessor CIP 13 verarbeitet.
030029/0697
Die drei von Befehlsprozessor verarbeiteten Datenarten sind alphanumerische
Daten, binäre Daten und Dezimaldaten, Jeder Datentyp ist in Gruppen von Binärinformationen eingeteilt. Per Definition
hat diese Einheit acht Bits ( ein Byte), wenn alphanumerische und binäre Datenzeichen anstehen. Wenn dezimale Datenzeichen vorliegen,
hat die Einheit vier Bits (HaIb-Byte) für paketierte
Dezimaldaten und acht Bits (ein Byte) für Reihendezimaldaten. Eine einzige Präzisionsbinärzahl besteht ebenfalls aus zwei Einheiten (2 Bytes) und eine Doppelpräzisionsbinäreinheit besteht
aus vier Einheiten (4 Bytes).
Fig. 3 zeigt das wesentliche Blockschaltbild des Befehlsprozessors
13 mit allen bedeutsamen Datenübertragungswegen zwischen den Registern des Prozessors. Der Steuerspeicher 10 besteht aus mehreren
Speicherplätzen und zwar jeweils einem für jedes Steuerspeicher- oder Firmware-Wort. Diese Firmwareworte steuern direkt oder
indirekt die Prozessorfolgen, Datenübertragungswege sowie den Busbetrieb.
Eine Operandenregisterdateien sowie das Rechenwerk umfassende Einheit
RALU 12 enthält in erster Linie zwei Registerdateien, ein
Rechenwerk (ALU) sowie die zugehörigen Multiplexer und Steuerregister. In derGeräteeinheit RALU 12 befinden sich Operandenregisterdateien
RF1 und RF2, von denen jede 16 Speicherplätze für jeweils 16 Bit aufweist, die als Pufferspeicher für im Rechenwerk
ALU zu verarbeitende Operanden dienen. Die ALU-Eingangsmultiplexer
und Verriegelungsschaltungen umfassen drei 2:1-Multiplexer
(Zcnenauswahl), zwei 4:4 Multiplexer (Ziffernauswahl) sowie zwei 8 Bit Verriegelungsschaltungen (Byteverriegelung).
Diese Multiplexer und Verriegelungsschaltungen werden für die übertragung von Daten aus den Operandenregisterdateien an das
Rechenwerk benutzt. Daten können auch vom Zähler für das laufende Produkt an die linke Seite des Rechenwerks oder von der Operandenregisterdatei
2 an das Multiplikationsregister übertragen werden. Das 8 Bit-Rechenwerk ALU,bestehend aus zwei 4-Bit-Bausteinen,
einem Vörwärtsübertragungsbaustein und einem Eingabe/Ausgabe-Flip-Flop
kam folgende Operationen zwischen den linken (1) und rechten (2) Ausgängen ausführen: Binäre Addition, binäre
030029/0697
Subtraktion des Eingangssignals 1 vom Eingangssignal 2, binäre Subtraktion des Eingangssignals 2 vom Eingangssignal 1, logische
ODER-Verknüpfung, logische UND-Verknüpfung, Exklusiv-ODER-Verknüpfung,
Setzen des Rechenwerkausgangs auf FF, Löschen des Rechenwerkausgangs auf 00. Die Einheit RALU 12 wird
später anhand von Fig. 5 im einzelnen erläutert.
Die Uberschuß-6-Korrekturlogik XS6 der Einheit RALU 12 wird
jedesmal aktiviert, wenn das Rechenwerk im Dezimalbetrieb arbeitet und dient dazu, das binäre Ausgangssignal des Addierers in
die kcrrekte Dezimalziffer umzuwandeln und dabei den Ubertragausgang
für Folgeoperationen zu modifizieren. Die XS6-Korrektur wird mit Hilfe eines 32-Bit mal 8-Bit programmierbaren Festwertspeichers
PROM durchgeführt, welcher die korrigierten drei Bits hoher Wertigkeit der Ziffer codiert und den korrigierten Übertrag
erzeugt. Am Ausgang des PROM-Bausteins ist für andere Steierzwecke
Funktionssignal für Ziffern kleiner als Zwei vorhanden. Der Ausgangsmultiplexer des Rechenwerks wird dazu benutzt, entweder
die oberen vier Bits des Addiererausgangssignals oder die korrekten Dezimalzonenbits der internen Sammelschiene, genannt
Bus 14, zuzuführen und zwar abhängig davon, ob das Rechenwerk im Binärbetrieb oder Dezimalbetrieb arbeitet. Die RALU-Steuereinheit
besteht aus drei Registern, nämlich einem Registerdatei-1-Adressregister
RF1A, einem Registerdatei-2-Adressregister RF2A und einem Rechenwerk-BetriebsartSteuerregister ALMR. Diese Register
steuern zusammen mit verschiedenen Mikrobefehlen alle Vorgänge innerhalb der Geräteeinheit RALU 12. Neben den beschriebenen Registern
und Steuereinrichtungen sind zwei weitere Register vorhanden, welche als RALU-Register eingeordnet sind. Dies sind der
Zähler CPRC für das laufende Produkt sowie das Multiplikatorregister MIER.
Die Steuerdatei 16, auch als Registerdatei C (RFC) bezeichnet, ist ein 24-Bit Speicher mit wahlfreiem Zugriff (RAM) mit 16
Speicherplätzen und wird hauptsächlich benutzt, um alle befehlsbezogenen Informationen zu speichern,die von der Zentraleinheit
CPUI1 kommen, beispielsweise Aufgabenworte, Datendeskriptcren,
effektive Adressen usw. Die Steuerdatei enthält ferner mehrere
030029/0697
Wortspeicherplatze, welche durch die Firmware des Befehlsprozessors
CIP benutzt werden. Die Steuerdatei 16 empfängt die Bits 0 bis 7 entweder vom internen BUS 14 oder Über den Multiplexer
21 mit ODER-Logik vom Bus-Adressregister MAR 18. Das Busadressregister
18 ist ein 24-Bit-Adressregister und dient hauptsächlich der Adressierung des Systembus 19. Es besteht aus einem
8-Bit-Multiplexerregister mit zwei Eingängen am unteren Ende sowie
einer 16-Bit-Fortschalt/Rückschalteinrichtung am oberen Ende. Das
Multiplexeingangssignal für die unteren 8 Bits kommt entweder von der Steuerdatei 16 oder vom Ausgang des Adressaddierers 20.
Letzterer ist ein 8-Bit-Zweierkomplement-Addierer und wird in erster Linie zum Fortschalten oder Rückschalten des Inhalts im
Busadressregister 18 eingesetzt. Die Eingangssignale zum Adressaddierer 20 sind die geringwertigen 8 Bits des Busadressregisters
und des 8-Bit-Schieberegisters MSR 22. Hierbei handelt es sichun.ein
e-Bit-Unlversalschieberegister, welches vom internen Bus 14 geladen
wird und seinen Inhalt um 1 Bit nach links oder rechts verschieben kann, d.h. eine Offenend'Verschiebung mit Nullergänzung.
Das Schieberegister arbeitet als Eingang des Adressadctierers
20 zum Fortschalten oder Zurückschalten des Busadressregisters Außerdem kann das Bit S des Schieberegisters 22 in das Rechenwerk-Eintrag-Flip-Flop
geladen werden, welches sich während der Ausführung von Umwandlungsbefehlen als nützlich erweist.
Das Busausgangsdatenregister OUR 24 ist ein 16-Bit-Datenregister
und wird zur Datenübertragung auf die Datenleitungen des Bus 19
benutzt. Es wird vom internen Bus 14 entweder mit dem unteren oder dem oberen Byte oder dem gesamten 16-Bit-Wort geladen. Beim
Buseingangsdatenregister INR 26 handelt es sich um ein 16-Bit-Datenregister, welches Daten von den Datenleitungen des Bus 19
empfängt. Der Inhalt dieses Datenregisters kann in den internen Bus 14 umgeladen werden.
Das EingangsfvnkticQscoderegister BFCR 28 stellt sich als 6-Bit-Reglster
dar, welches der Speicherung des Funktionscodes dient, wenn der Befehlsprozessor vom Bus 19 irgendwelche Eingangs- oder
Ausgangebefehl annimmt. Anschließend prüft die Firmware den
030029/0697
Inhalt des Funktionscoderegisters 28 und führt den angegebenen Befehl durch. Das Eingangsadressbankregister INAO 30 ist ein 8-Bit-Register
für die Speicherung der höherwertigen 8 Speicheradressbits,
die über die Adressleitungen des Bus 19 ankommen. Sie
enthalten die Speichermoduladresse und werden von der Zentraleinheit 11 als Ergebnis eines sogenannten IOLD-Befehls oder
eines Ausgangs-Funktionscodes für Effektivadressen übertragen. Die niederwertigen 16 Bits der Speicheradresse werden über die
Datenleitungen des Bus 19 empfangen und in das INR-Register 26 eingegeben und bilden die geforderte 24-Bit-HauptSpeicheradresse.
Das CIP-Anzeigeregister 32 ist als 8-Bit-Speicherregister ausgebildet,
in dem jedes Bit einzeln gesetzt oder rückgestellt werden kann. Die Bit-Konfiguration des Anzeigeregisters ist in Fig. 4
dargestellt. Die TRP- und TRP-Leitungs-Anzeiger werden vom Befehlsprozessor
nur für interne Verarbeitung benutzt und sind für die Software unsichtbar. Der TRP-Leitungsanzeiger (CIP-Abfangleitung)
informiert die Zentraleinheit 11 über einen bestehenden
CIP-Abfangzustand und wird über das externe Abfangsignal über
den Bus 19 übertragen. Ist der TRP-Anzeiger gesetzt, so kann der Befehleprozessor nur Eingangsbefehle von der Zentraleinheit CPU
annehmen.
Das Analysenregister AR34 ist ein 16-Bit-Register und wird in
erster Linie zur Steuerung von Mikroprogrammversweigungen tnaskierte Verzweigungen) benutzt sowie zur Steuerung der Codier/
Decodierlogik für das Uberlochbyte. Dieses Register wird vom
internen Bus 14 mit dem gesamten 16-Bitwort geladen. Das mikroprogrammierbare
Schaltregister MPSR 36 stellt sich als 8 Bitregister dar, indem durch Steuerung über Mikroprogramm jedes Bit
einzelnen gesetzt oder rückgestellt werden kann. Jedes Bit im Register 36 wird als Anzeiger zur Erleichterung der Mikroprogrammierung
benutzt, d.h. die Firmware kann jedes der Registerbits prüfen und in Abhängigkeit vom Prüfergebnis Verzweigungsoperationen ausführen. Einige dieser Bits werden auch zur
030029/0697
Steuerung bestimmter Hardware-Funktionen im Befehlsprozessor 13
genutzt.
Beim ROS-Datenregister RD 38 handelt es eich um ein 52-Bit-Speicherregister
für die Speicherung de* Steuerspeicherausgangssignals
(eines Firmwarewortes)im laufenden Firmwarezyklus. Das
Mikroprogramm-Rückkehradressadressregfcter 8RA 40 ist ein 11-Bit-Register
und wird vom Ausgangssignal der Folgeadresslogik NAG 42 geladen. Es dient der Speicherung der Mikroprogrammrückkehradresse
beim Ausführen einer Firmware-Subroutine. Der Registerdatei-C-Adressmultiplexer/selektor
RFCA 31 ist ein 4-Bit-2;1-Selektor und kann einen der 16 Speicherplätze innerhalb der
Registerdatei C16, d.h. innerhalb der Steuerdatei adressieren. Der Selektor 31 wählt eine Kombination des Funktionscoderegisters
28 sowie entweder den Zähler (1)46 oder bestimmte Bits des ROS-Datenregisters
38 an. Die ClP-Zähler 44 enthalten drei 6-Bit-Auf/Ab-Zähler
46, 48 und 50, welche als Zähler 1(CTR1),Zähler 2
(CTR 2) und Zähler 3(CTR 3) bezeichnet sind. Diese Zähler werden über den internen Bus 14 geladen und entladen. Der Inhalt jedes
Zählers steht für Prüfung- und Verzweigungsoperationen zur Verfügung
.
Die Decodier/Codierlogik 52 für das Oberlochbyte umfaßt zwei
Speicherbausteine in Form programmierbarer Festwertspeicher ρROM
reit 512 Speicherplätzen für je 4 Bit. Sie werden zum Decodieren
und Codieren des Inhalts des Analysenregisters AR34 eingesetzt. Das decodierte Byte wird von den Bits 1 bis 7 des Analysenregisters
erhalten#und den codierten Ziffernanfang erhält man
von den Bits 4 bis 7 des Analysenregisters. Die Decodier/Codieroperation wird durch Verwendung der Bit 1 bis 7 des Analysenregisters
benutzt, um hierdurch einen speziellen PROM-Speicherplatz zu adressieren. Der Inhalt dieses Speicherplatzes wird
codiert, um entweder (1) die decodierte Ziffer, ihr Vorzeichen und ihre Wertigkeit oder (2) das codierte überlochbyte zu prüfen.
Bit 4 des Schaltregisters 36 bestimmt, ob eine Decodier oder eine Codieroperation ausgeführt wird, während Bit 1 das Vor-
030029/0697
2952Ί63
zeichen des codierten Bits anzeigt. Das Ausgangssignal der
Decodier /Codierlogik für das Uberlochbyte ist auch auf beiden
Hälften des internen Bus 14 verfügbar.
Die CIP-PrUflogik 54 wählt einen der 32 möglichen Firmware-Prüfzustände
als Eingangssignal für die Folgeadressenlogik 42 aus. Der zutreffende oder falsche Zustand der geprüften Funktion
steuert Bit 50 des Steuerspeicher-Folgeadressenfeldes, d.h. er setzt das Bit 50 oder stellt es zurück, je nach dem Zustand der
überprüften Funktion. Die Folgeadressenlogik NAG 42 im Befehlsprozessor 13 benutzt eine der folgenden fünf Methoden zur Erzeugung
der nächsten, also folgenden Firmwareadresse: Direkte Adressierung, Prüfen und Verzweigen, maskierte Verzweigung,
Hauptverzweigung oder Rückkehr über Subroutine. Die direkte Adressierung wird benutzt, wenn eine bedingungslose Verzweigung
zum nächstfolgenden Steuerspeicherplatz ausgeführt wird. Hierfür werden die Bits 41 bis 51 des Steuerspeicherworts zur Bildung
der Folgeadresse verwandt. Diese Bits enthalten das Folgeadressenfeld, welches unmittelbar jeden der vorhandenen Steuerspeicherplätze
adressieren kann. Eine Prüf- und Verzweigungsoperation wird durchgeführt, wenn eine Zweiweg-Bedingungsverzweigung bei
erfolgreicher Prüfbedingung innerhalb einer Firmwareseite durchgeführt wird. Eine Firmwareseite ist ein Segment mit 128 Speicherplätzen
innerhalb des Steuerspeichers. Hierbei werden die Steuerspeicherbits 41 bis 44 und 50 zur Auswahl des Prüfzustande
herangezogen. Je nach Zustand der überprüften Funktion wird eine Verzweigung zu einem der beiden Speicherplätze eingeleitet. Die
Verzweigungsoperation gemäß diesem Verfahren ist von der Art Modulo 2, d.h. die beiden möglichen Verzweigungsadressen liegen
zwei Speicherplätze auseinander. Die Modulo 2-Adresse wird wie wie folgt entwickelt: (1) Ist die Testbedingung erfüllt, so wird
Bit 9 der Adresse auf "1" gesetzt, oder (2) ist die Testbedingung nicht erfüllt, so wird Bit 9 der Adresse auf "0" gesetzt.
Eine maskierte Verzweigung wird normalerweise benutzt, wenn eine Verzweigung für den Inhalt des Analysenregisters AR 34 oder
030029/0697
bestimmter anderer Zustände erfolgen soll. Sie stellt eine Verzweigung
zu zwei, vier acht oder sechzehn Speicherplätzen innerhalb
der gleichen Firmwareseite dar. Ein· Hauptverzweigung wird für die Verzweigung innerhalb einer Finnwareseite (128 Worte)
angewandt. Eine CPU/CIP-Schnittstellenroutine verwendet diese
Methode, um die erforderliche 16-Wegverzweigung für den Inhalt
des Funktionscoderegisters 28 zu erreichen (INB-Rauptverzweigung
und EOP-Hauptverzweigung. Die Rückkehr über eine Subroutine erfolgt dann, wenn die Firmware nach Durchführung einer Firmware-Subroutine
zum nächsten ungeradezahligen oder geradzahligen Steuerspeicherplatz zurückgebracht werden soll. Die Rückkehradresse
erhalt man vom Rückkehradressregister RSRA 40. Sie muB
in diesem Register 40 gespeichert werden, ehe die betreffende Subroutine ausgeführt wird.
Der interne Bus 14 ist für 16 Bits eingerichtet und dient in erster Linie der Datenübertragung zwischen CIP-Rejistern einschließlich
von Speicherplätzen innerhalb der Registerdateien. Er empfängt, wie Fig. 2 zeigt, Daten von verschiedenen Quellen.
Ausgangssignale des internen Bus 14 werden verschiedenen Registern innerhalb des Befehlsprozessors 13 zugeleitet. Die Paritätsprüflogik
56 liegt zwischen dem Bus 19 und dem internen Bus und prüft die Parität der ankommenden Daten. Die Paritätserzeugerlogik
58 andererseits wird zur Erzeugung des richtigen Paritätsbits für die Übertragung über den Bus 19 verwandt. Die Busanforderungslogik
60 und die Busantwortlogik 62 dienen der Aktivierung des Befehlsprozessors 13,um Zugriff zum Bus 19 zu erlangen bzw.
auf Anforderungen nach Zugriff zum Befehlsprozessor zu antworten. Die Logikschaltungen 60 und 62 sind in der US-PS 39 93 981 beschrieben
.
Fig. 5 zeigt das Blockschaltbild der Geräteeinheit RALU 12 mit
den hauptsächlichen Datenübertragungswegen und Steuerleitungen.
Letztere sind als gestrichelte Linien dargestellt. Die Beschreibung der Geräteeinheit 12 ist in sieben Bereiche unterteilt:
030029/0697
-ie- 2952Ί63
Operandenregisterdateien, Rechenwerk-Eingangsmultlplexer und
Verriegelungsschaltungen, Rechenwerk, XS6-Korrekturlogik, Rechenwerk-Ausgangsmultiplexer,
RALU-Steuerlogik, verschiedene RALU-Register. Jede der Operandenregisterdateien ' RF1 70 und RF2
besteh aus vier RAM-Speicherbausteinen und wird zur vorübergehenden Speicherung der CIP-Operanden benutzt. Die Adressen für
jede der Registerdateien werden durch zwei 6-Bit-Adressregister RF1A 74 bzw. RF2A 76 geliefert. Die Bits 0 bis 3 jedes Adressregisters
liefern die Adresse des Speicherplatzesinnerhalb der zugehörigen Registerdatei, während die geringwertigen Bits für
die Byte- und Ziffernauswahl am Ausgang der Registerdatei sorgen. Beide Adressregister können durch Ziffern, Bytes oder Worte um
jeweils einen, zwei oder vier Schritte vor-und zurückgeschaltet werden. Das Ausgangssignal jeder Registerdatei wird den Eingängen
zweier Multiplexer zugeleitet, welche zwischen Zonen-und Ziffern-Information
unterscheiden. Diese Auswahl erfolgt anhand der Bits 4 und 5 des zugeordneten Adressregisters.- Bit 4 wählt aus, ob
die Bits 0 bis 3 oder 8 bis 11 der Registerdatei zum Ausgang des 2:2-Multiplexers 78 oder 80 geleitet werden, während das Bit 5
die Registerdateibits auswählt, welche die zum Ausgang des 4:1-Multiplexers
82 bzw. 84 zu leitende Ziffer enthalten.
Die verschiedenen Register und Multiplexer sind über verschiedene
Steuerleitungen 71, 73, 75 und 77 miteinander verbunden. Ein dritter 2:1-Multiplexer 86 dient der Auswahl ob der Inhalt des
Zählers CPRC 88 für das laufende Produkt oder die Ziffer vom Register RF1 der A-Verrlegelungsschaltung 90 zugeleitet wird.
Dieser Multiplexer wird vom ALMR-Register 92 gesteuert. Die ALU-Eingangsverriegelungsschaltungen,
die A-Verriegelungsschaltung und die B-Verriegelungsschaltung 106, erhalten sowohl Zonen-als
auch Zifferninformation von den Rechenwerkeingangsmultiplexern und verriegeln während der Schreiboperationen die Daten in den
Registerdateien. Die Ausgangssignale der Verriegelungsschaltungen liefern die Zonen- und Zifferninformation an die linke bzw. die
rechte Seite des Rechenwerkes.
030029/0697
Der Zähler CPRC 88 für das laufende Produkt ist ein dezimaler 4-Bit-Auf/Abwärtszähler und wird in erster Linie bei dezimalen
Multiplikations- und Divisionsoperarationen eingesetzt. Das
Multiplikatorregister MIER 94 ist ein binärer 4-Bit Auf/Abwärtszähler und dient gleichen Zwecken. Beim Rechenwerk-Betriebsartsteuerregister
ALMR 72 handelt es sich um «In 6-Bit-Steuerregister. Das Adressregister RF1A 74 für die Registerdatei 1
stellt sich als 6-Bit-Adressregister dar und hat zwei Funktionen: (1) es liefert Adressen für die Registerdatei 1 (70) und (2)
steuert zwei der drei Rechenwerkeingangsmultiplexef, die der
Registerdatei 1 zugeordnet sind. Das Registerdatei-2-Adressregister RF2A 76 ist ebenfalls ein 6-BitAdressregister und übt
inBezug auf die Registerdatei 3 (72) die entsprechenden Funktionen aus. Alle Operationen des Rechenwerks ALU 100 werden entweder
dezimal oder binär ausgeführt. Dezimalbetrieb erfolgt bei der Verarbeitung von Dezimalzifferinformationen, während *»inärbetrieb
für die Verarbeitung von Bytes (Alpha) dient. Beide Betriebsarten steuern außerdem die Ober-6-Korrekturlogik 102 (XS6)
sowie die Eingänge des Übertragungs-Flip-Flops. Bei Dezimalbetrieb wird dieses Flip-Flop mit dem Übertrag aus den vier Bits
niedriger Wertigkeit des Rechenwerks geladen, während es bei Binärbetrieb den Übertrag der acht Bits des Rechenwerks für nachfolgende
arithmetische Operationen aufnimmt. Das Laden des übertrag-Flip-Flops
erfolgt,gesteuert durch ein Mikroprogramm, sobald
ein Übertrag für nachfolgende Operationen weitergegeben werden muß. Außerdem kann das Übertrag-Flip-Flop vom MSR-Register geladen
werden sowie von einem Mikroprogramm gesteuert, gesetzt oder zurückgestellt werden.
Die XS6-Korrekturlogik 102 enthält «inen 32-Bit χ 8 Bit PROM-Baustein
sowie die zugehörige Steuerlogik für die Korrektur der drei höherwertigen Bits am Ziffernausgang des Rechenwerks. Die
XS6-Korrektur wird durchgeführt, sofern: (1) das Rechenwerk im
dezimalen Additionsbetrieb arbeitet und ein dezimaler übertrag festgestellt wird oderTCLffernausgang des Rechenwerks 100 größer
030029/0697
als 9 ist, sowie (2) wenn das Rechenwerk im dezimalen Subtiaktionsbetrieb
arbeitet und ein Borgbetrag erforderlich 1st, d.h. ein Übertrag vom Ziffernteil des Addierers fehlt. Der PROM-Baustein
hat fünf Adressierungen, drei hiervon sind für die drei Bits höherer Ordnung vom Ziffernausgang des Rechenwerks bestimmt,
während die anderen beiden Adressleitungen die Art der ausgeführten Operation anzeigen, d.h. Addier-Korrektur, Subtrahier-Korrektur
oder keine Korrektur. Der codierte Inhalt des PROM-Bausteins besteht aus den drei korrigierten Bits höherer Ordnung
der Ziffer, dem korrigierten Dezimalübertrag und dem Zustand "Ziffer kleiner als 2".
Der Rechenwerkausgangsmultiplexer 104 wählt zwischen oberen vier Bits des Addiererausgangssignals und den korrigierten Dezimalzonenbits
aus und liefert diese an den internen Bus. Die Konfiguration der Zonenbits für den Dezimalbetrieb hängt davon ab, ob
ASCII-oder EBCDIC-Daten verwendet werden. Wenn ASCII-Daten verarbeitet
werden, erhalten die Zonenbits den Wert 3, während bei der Verarbeitung von EBCDIC-Daten die Zonenbits einen Wert F
haben.
Die Register- und Rechenwerksteuerung 12 besteht aus Registern RFIA 74, RF2A 76 und ALMR 92 sowie verschiedenen Mikrobefehlen.
Außerdem wird das Rechenwerk-Ubertragungs-Flip-Flop durch ein
Mikroprogramm gesteuert. Es kann je nach Bedarf durch entsprechende Mikrobefehle gelöscht oder vorgesetzt werden und läßt
sich laden von: (1) dem 4-Bit-Digialübertrag für Dezimaloperationen,
(2) dem 8-Bit-Binärübertrag für Binäroperationen, oder (3) durch das Bit 0 des MSR-Registers 22, während der Durchführung
eines Umwandlungsbefehls. Das alle Rechenwerkoperationen steuernde ALMR-Register 92 wird mit den Steuerspeicherbits 2
bis 7 geladen. Bit 0 gibt an, ob das Rechenwerk im Dezimal-oder
im Binärbetrieb arbeitet, d.h. ob der Austrag des Rechenwerks mit Bit 4 (digitaler übertrag) oder mit Bit 0 (binärer übertrag) .
erfolgt. Bit 0 steuert weiterhin sowohl die Rechenwerkkorrektur
030029/0697
XS6 für Dezimaloperationen sowie den Rechenwerkausgangsmultiplexer
104. Dieser bestimmt, ob die höherrangigen vier Bits des Rechenwerke oder die Zonenbits dem internen Bus zugeleitet
werden. Die Bits 1, 2 und 3 dienen der Operationssteuerung innerhalb des Rechenwerks. Bit 4 bestimmt, ob die Zonenbits auf
einen Wert 3 oder F gesetzt werden und zwar auf den Wert für ASCII-Daten und auf den Wert F für EDCDIC-Daten. Bit 5 gibt
an, ob die aus der Registerdatei 1 oder dem Inhalt des Zählers für das laufende Produkt ausgewählte Ziffer »den auf der linken
Seite des Rechenwerks angeordneten Verriegelungsschaltungen 90 zugeführt wird. Das Register RF1A liefert die Adresse und steuert
die Registerdatei sowie die zugehörigen Rechenwerk-Eingangsmultiplexer. Das Register RF2A hat die gleiche Aufgabe in Bezug
auf die Registerdatei 2.
Die Steuerdatei 16 ist in zwei Bereiche unterteilt, nämlich die
obere Sektion mit den Bits 0 bis 7 und die untere Sektion mit den Bits 8 bis 23. Jede Sektion kann wie folgt geladen werden:
Die niedrige Sektion vom internen Bus (Bits 0 bis 15), die obere vom internen Bus (Bits 0 bis 7), die untere vom internen Bus
(Bits 0 bis 15) und die obere vom Busadressregister 18 (Bits 0 bis 7). Den die obigen Operationen durchführenden Funktionen ist
eine Adresse zugeordnet, welche der in den Speicherplatz RFC 16 geladenen entspricht. Diese Adresse stammt entweder vom Funktionscoderegister
28 oder vom Steuerspeicher 10. Damit steht die RFC-Adresse in unmittelbarem Zusammenhang zur Art der von der
Zentraleinheit übertragenen Daten bzw. zum angezeigten Funktionscode.
030029/0897
Wie bereits erwähnt, stellt Flg. 3 das Blockschaltbild eines
Prozessors zur Verarbeitung kommerzieller Befehle dar. Die Baugruppen
16, 18, 20, 21, 22 und 31 zusammen bilden die Adresssteuereinheit ACU. Die CIP-Befehle werden unmittelbar von der
Zentraleinheit CPU 11 und dem Befehlsprozessor CIP 13 verarbeitet.
Die Zentraleinheit 11 holt die Befehle aus dem Hauptspeicher 17
und stellt fest, ob es sich um CIP-Befehle handelt. Sie erzeugt
alle Informationen für die Ausführung dieser Befehle und überträgt
sie an den Befehlsprozessor, so daß dieser die Befehle abarbeiten
kann. Somit beschafft die Zentraleinheit die Befehle, verarbeitet
die Adressen und sendet alle befehlsbezogene Information an den Befehlsprozessor, der die Befehle dann bearbeitet. Der Umfang der
Information hängt von der Art des zu verarbeitenden Befehls ab. Ein CIP-Befehl (commercial Instruction processor) enthält einen
Operationscode, einen die Daten bestimmenden Datendeskriptor und die Hauptspeicheradresse, wo die Daten abgelegt sind. Ein solcher
Befehl umfaßt ferner einen weiteren Datendeskriptor, der sich auf den zweiten Operanden bezieht und gegebenenfalls einen dritten
Datendeskriptor für einen dritten Operanden. Die CTP-Befehle können bis zu drei Operanden haben, wobei jeder Operand bis zu
drei Informationseinheiten umfassen kann, nämlich die effektive Speicheradresse, welche zum Operanden weist, zweitens den Datendeskriptor,
der die Art der Daten im Operanden bestimmt, und drittens die Länge des Operanden, der, sofern vom Datendeskriptor
bezeichnet, in einem CPU-Register aufgefunden werden könnte.
Die Anzahl der Informationseinheiten für den Befehl kann zwischen 5 und 10 schwanken und zwar einschließlich des Befehlsoperationscodes,
der als Aufgabenwort bezeichnet wird. Der Befehlsprozessor muß in der Lage sein, diese Informationen zu speichern und zu
wissen, um welche Art von Information es sich handelt, ob es sich bei der von der Zentraleinheit übertragenen Information um einen
Datendeskriptor oder um eine Adresse handelt. Er muß diese Information während der Ausübung eines CIP-Befehls verwenden.
030029/0697
Die von der Zentraleinheit CPU umpfangenen Befehle werden im
Befehlsprozessor zum Adressieren des Hauptspeichers benutzt, um den Operanden für den betreffenden Befehl abzurufen. Zu diesem
Zweck muß der Befehlsprozessor die Adressen im Häuptspeicher entweder
fortschalten oder zurückschalten können. Der Datendeskriptorteil der Information wird vom Befehlsprozessor zur
Bestimmung der Datenart benutzt, die verarbeitet wird. Die Länge wird, sofern nicht im Datendeskriptor enthalten, vom Inhalt eines
CPU-Registers empfangen und vom Befehlsprozessor zur Anzeige der Feldlänge benutzt, die zu verarbeiten ist. Das empfangene Aufgabenwort
zeigt die in Bearbeitung befindlichen Befehle an.
Mochte während des Ladens der Information aus der Zentraleinheit
der Befehlsprozessor die Art der Information feststellen, d.h. ob es ein Datendeskriptor, eine effektive Adresse oder der Inhalt
eines Registexsist,sowürde der Befehlsprozessor mehr Zeit rür die
Prüfung der Informationsart und zum Laden dieser Information in vorgegebene Speicherplätze innerhalb der Speichereinheit benötigen.
Diese überprüfung hinsichtlich der Art der von der Zentral" einheit zum Befehlsprozessor übertragenen Information würde folglich
die Arbeitszeit für einen CIP-Befehl behindern. Folglich ist
ein System erwünscht, bei dem der Befehleprozessor die von der Zentraleinheit kommende Information dynamisch laden kann, wie
sie kommt, unabhängig davon, um welche Art von Information es sich handelt. Mit dem System soll Information in vorgegebene
Speicherplätze im Speicherbereich innerhalb des Befehlsprozessors geladen werden, um anschließend von der Firmware bei der
Ausführung des Befehls benutzt zu werden. Diese Anforderung des Ladens der Information so wie sie über den Systembus von der
Zentraleinheit kommt und zum Speichern für die spätere Benutzung durch die CIP-Firmware und außerdem die Fähigkeit, die Speicheradressen
fort- oder zurückzuschalten, wenn Operanden zur Bearbeitung vom Hauptspeicher abgerufen werden, wird mit Hilfe der
Adress-Steuereinheit ACU des Befehlsprozessors erreicht.
030029/0697
Diese Adress-Steuereinheit besteht aus einer Steuerdatei RSC,
dem, dem Busadressregister MAR, einem Schieberegister MSR und einem Speicheradressaddierer 20. Sie verwendet ferner Eingangssignale vom Funktionscoderegister BFCR 28 sowie das Eingangsadressbankreglster
INAD30 als Eingangssignalquelle für die Registersteuerdatei 16 über den Internen Bus 14. Die einzelnen
Geräteeinheiten sind oben bereits beschrieben worden. Flg. 6 zeigt das Blockschaltbild der Adress-rSteuereinheit. Die Steuerdatei
RFC 16 wird als Speicherbereich für die von der Zentraleinheit
CPU kommende Information benutzt. Sie erhält Ihre Eingangssignale
vom internen Bus 14, wobei die 16 Bits unmittelbar in die Bit-Positionen 8 bis 23 der Registersteuerdatei einlaufen,
während die Bits 0 bis 7 der Steuerdatei 16 entweder von den Bits 0 bis 7 vom internen Bus 14 oder vom Busadressregister MAR 18 über
den Multiplexer 21 geladen werden. Der Registersteuerdatei zugeordnet ist ihr Adressmultiplexer RFCA 31, der als Eingangssignale
Daten unmittelbar vom Steuerspeicherwort RD oder eine Funktion des Funktionscoderegister BFXR 28 benutzt. Letzeres hat eine
Grüße von 6 Bits und überwacht die Adressbits 18 bis 23 hinsichtlich
eines Funktionscodes. Diese Funktionscodedaten werden mit Hilfe des Signals BMYACK in das Funktionscoderegister 28 eingegeben,
sobald die Antwortlogik 62 einen CIP-Befehl bestätigt.
Der Funktionscode gibt die Art der zum Befehlsprozessor übertragenen
Daten an sowie den Befehl.
Das Eingangsadressregister 30 ist ein 8-Bit-Register, welches die oberen 8 Bits der Adresse (BSADOO bis BSADO7) speichert.
Diese Daten werden mit Hilfe des Signals BMYACK in das Eingangsadressbankregister
30 eingegeben, sobald die Antwortlogik einen CIP-Befehl bestätigt. Die Ausgangssignale des INAD-Registers 30
sind zur Benutzung innerhalb des Befehlsprozessors auf dem internen Bus 14 verfügbar. Die Zentraleinheit sendet die 8 Bits
höherer Ordnung einer 24-Bit-Adresse aus, sobald eine effektive Adresse an den Befehlsprozessor übertragen wird. Die 16 Bits
niedriger Ordnung laufen über den Datenbus.
030029/0687
Die 4 Bits am Ausgang des RFCA-Adressmultiplexers 31 werden
zum Adressieren der 16 Speicherplätze innerhalb der Registersteuerdatei
16 benutzt. Dieser Steuerdatei ist ferner eine Schreibsteuerlogik 67 zugeordnet/ welche zwei Schreibleitungen
aufweist, die das Laden der Steuerdatei steuern und zwar eine Leitung für die Steuerung des Ladens der oberen 8 Bits 0 bis 7
und eine zweite Leitung zum Steuern des Ladens der niedrigen 16 Bits 8 bis 23. Das Ausgangssignal der Registersteuerdatei RFC
gelangt zur RFC-Verriegelungsschaltung 69, welche 24 Bits hat. Diese verriegelt die aus der Registersteuerdatei ausgelesene
Information für spätere Benutzung. Das Speicheradressregister MAR, welches auch als Busadressregister 18 bezeichnet wird, erhält
seine Eingangssignale von der Verriegelungsschaltung 69. Das Busdatenregister MAR 18 ist, wie ersichtlich, in zwei Bereiche
unterteilt, nämlich einen mit den Bits 0 bis 15 und einen zweiten mit den Bits 16 bis 23. Die Bits 0 bis 15 werden unmittelbar von
der Verriegelungsschaltung 69 geladen, während die Bits 16 bis
entweder von der Verriegelungsschaltung als Bits 16 bis 23 oder vom Ausgang des Speicheradressaddierers MAR 20 kommen. Dieser erhält
als Eingangssignal die 8 Bits niedriger Ordnung, d.h. die Bits 16 bis 23 des MAR-Registers 18 sowie die 8 Bits aus dem
Schieberegister MSR 22. Dieses Schieberegister 22 kann mit den Bits 0 bis 7 des internen Bus 14 geladen werden. Der Ubertragausgang
des MAR-Addierers 20 ist über ein Exklusiv-NOR-Gatter
mit einem Signal verknüpft, welches anzeigt, daß eine Additionsoperation ausgeführt wird. Hierdurch entsteht ein Ausgangssignal
auf der Leitung 63, welches das Fortschalten oder Zurückschalten der 16 Bits höherer Ordnung des Registers 18 steuert. Nachfolgend
werden die einzelnen Baugruppen des Blockschaltbildes gemäß Fig. erläutert.
Wie erwähnt, ist die Steuerdatei in zwei Bereiche unterteilt, den oberen Bereich für die Bits 0 bis 7 und den unteren Bereich für
die Bits 8 bis 23. Jeder Bereich oder Speicherteil der Steuerdatei kann wie folgt geladen werden: Der untere Speicherteil
030029/0897
vom internen Bus (Bits 8 bis 15), der obere Teil vom internen Bus (Bits 0 bis 7) sowie der untere Teil vom internen Bus (Bits 0 bis
15) und der obere Teil vom Systembusadressregister (Bits 0 bis 7). Der zur Durchführung dieser Operationen dienenden Funktion
ist eine Adresse zugeordnet, welche dem zu ladenden Speicherplatz in der Registersteuerdatei 16 entspricht. Diese Adresse stammt
entweder vom Funktionscoderegister 28 oder aus dem Steuerspeicher.
Damit steht die RFC-Adresse in unmittelbarem Zusammenhang zur von der Zentraleinheit gelieferten Datenart, bekennzeichnet durch
den Funktionscode. Sofern die RFC-Adresse vom Funktionscoderegister
28 stammt, benutzt sie auch den Zähler 1 (46) und zeigt an, daß die von der Zentraleinheit empfangene Information in Beziehung
zum Datendeskriptor 1, 2 oder 3 steht. Der Zähler wird jedesmal fortgeschaltet, wenn das Aufgabenwort oder ein Datendeskriptor
von der Zentraleinheit eingeht, weil der Datendeskriptor das letzte für einen Operanden empfangene Informationsstück
darstellt. Die für die entsprechende Information eingehenden Funktionscodes sind folgende: 07 - Aufgabe, 09 - effektive
Adresse (EAl, EA2 und EA3), OB - Register (R4, R5 und R6) OF Datendeskriptor (DD1, DD2), und IF - Letzter Datendeskriptor
(DD2, DD3).
Beim Laden von Information aus den CPU-Bits 3 und 4 des 6-Bit-Funktionscodesregisters
BFCR 28 werden zwei Bits des Zählers (Bank-Zäh1stand) zum Adressieren der Registersteuerdatei 16
benutzt. Anfänglich wird der Bankzählstand auf Null gelöscht. Wird die Aufgabe empfangen, so ist die Adresse 0011 (3). Die
beiden Nullen entsprechen dem Bankzählstand und die beiden Einsen den Bits 3 und 4 des Funktionscoderegisters 28. Nach
Empfang des Aufgabenwortes wird der Bankzählstand auf 01 fortgeschaltet und sobald eine effektive Adresse EA1 von der Zentraleinheit
ausgesandt wird, ist die RFC-Adresse 0100. Die beiden
Nullstellen niedriger Ordnung entsprechen den Bits 3 und 4 im Funktionscoderegister und zwar für einen Funktionscode 09 entsprechend
der effektiven Adresse EA1. Die interne Organisation
der Register-Steuerdatei 16 ergibt sich aus Fig. 7.
030029/0697
In der Registersteuerdatei RFC 16 sind 16-Bit-Dienstspeicherplätze
ULO, UL1, UL2 vorhanden sowie 24-Bit-Arbeitspeicherplätze
WIiO, WL1 und WL2. In der oberen Hälfte der Registersteuerdatei
1st ferner ein 8-Blt-Arbeitsspeicherplatz BUL vorhanden.
Jeder dieser Speicherplätze kann von der CIP-Firmware als Arbeitsspeicherplatz verwendet werden. Die Plätze EDTO bis
EDT7 werden während eines Aufbereitungebefehls verwendet und enthalten Aufbereitungstabelleneingänge 1 bis 8. Diese Plätze können
auch als 8-Bit-Arbeitsspeicherplätze für andere Befehle eingesetzt
werden. Ein Befehlsprozessor-Betriebsartregister CM auch als M3 bezeichnet, ist vorgesehen. Die Spalte TASK entspricht
dem von der Zentraleinheit CPU empfangenen Aufgabenbefehl. DD1,
DD2 und DD3 sind die 16-Bit-Speicherplätze, welche die Datehdeskriptoren
1,2 und 3 aus der Zentraleinheit aufnehmen. EA1, EA2 und EA3 sind 24-Bit-Spelcherplätze für die Effektivadressen der
drei Operanden. RF4, R5 und R6 sind 16-Bit-Speicherplätze für den
Inhalt entsprechender Register in der Zentraleinheit. Das Busadressregister 18 liefert eine 24-Bit-Adresse zur Übertragung
über den Bus 19 während des Buslesezyklus. Die Schaltlogik des Busadressregister 18 ergibt sich aus Fig. 8. Es besteht aus vier
4-Bit binären Auf/Abwärtszählern 503 bis 506 und zwei Multiplexerregisterbausteinen
500 und 501, welche die 24-Bit-Adresse bilden.
Dem Busadressregister 18 zugeordnet ist ein 8-Bit-Binäraddierer, genannt Speicheradressaddierer 20 sowie ein 8-Bit-Schieberegister
MSR 22, mit dessen Hilfe der Addierer das Busadressregister durch einen Zählstand 255^0 fortschalten und bis zu einem Zählstand
von bis zu 25610 zurückschalten kann.
Die vier 4-Bit-Binärzähler 503 bis 506 (Bits 0 bis 15) dienen
folgenden Zwecken: (1) Sie bilden die beiden höchstwertigen Bytes der Adresse, (2) empfangen Adressendaten aus der Registersteuerdatei
RFC, sobald ihr Ladesignal BMRERF echt ist, und (3) werden fort- oder zurückgeschaltet in einer Addier- oder Subtrahieroperation,
sobald ihr Aktivierungszählstand (BMRENC-)-Signal echt ist und ein Übertrag vom Adressaddierer 20 vorliegt (BMREN1-
030029/0697
ist echt). Sie werden um 1 fortgeschaltet, wenn das Addiersignal
BMRAOD echt ist und werden um eine Stufe zurückgeschaltet, wenn das Subtrahiersignal BMRSUB echt ist. Die beiden 4-Bit-Multiplexer
500 und 501 bilden das geringstwertige Byte der Adresse und empfangen Daten entweder von der Registersteuerdatei (BMRFRF
ist echt) oder vom Addierer (BMRFRF ist unecht) und zwar während des negativen Übergangs der Takteingangsleitungen über das Ladesignal
fBMRLDL). Der 8-Bit-Adressaddierer 20 dient auch während der Ausführung eines Ubersetzungsbefehls zum Addieren eines
Datenbytes zu einer Basisadresse. Das übersetzte Byte wird in das Register MSR 22 geladen. Die Verschiebekapazität dieses Registers
22 ist nützlich für die Ausführung von Binär/Dezimal-Umwandlungsbefehlen.
Die Steuerung der Adressteuereinheit ACU erfolgt durch die Bits
24 bis 31 des Firmware -Steuerwortes ROS. Die Codierung für dieses Feld ergibt sich aus Fig. 9. Das MAR-MSR-FeId oder RFCWRT-FeId
besteht aus den Bits 24 bis 27 des Firmware-Wortes und wird
zur Steuerung des MAR-Registers, des MSR-Registers und der Adressaddierer-Hardware benutzt. Die speziellen Kontrollfunktionen
dieses Feldes sind: (1) Laden des MAR- oder MSR-Registers, (2) Addieren oder Subtrahieren von MAR und MSR, (3) Verschieben des
MSR-Registers, und (4) Laden der SteuerdateiC (RFC16). Das RFCAD-FeId
besteht aus den Bits 28 bis 31 des Firmware-Wortes und wird mit einer Ausnahme für die Direktadressierung der Steuerdatei
für alle Lese- und Schreiboperationen benutzt. Wenn einer Schreiboperation zugeordnete Daten aus dem Systembus stammen, wird die
RFC-Adresse durch den Funktionscodeteil des von der Zentraleeinheit empfangenen Befehls gesteuert.
Folgende Mikrobefehle beziehen sich auf das MAR- bzw. MSR-Register:
(1) MRADD - Ausführung von Additionsoperationen zwischen MAR (Bits 16 bis 23) und MSR (Bits 0 bis 7), Ergebnis liefern an MAR
(Bits 16 bis 23) ;
030029/0697
1st die Summe von MAR (Bits 16 bis 23) und MSR (Bits 0 bis 7)
größer als 255?Fortschalten von MAR (Bits 0 bis 15), (2) MRSUB Ausführung
einer Additionsoperation zwischen MAR (Bits 16 bis 23) und MSR (Bits 0 bis 7); Ergebnis nach MAR (Bits 16 bis 23); ist
die Summe von MAR (Bits 16 bis 23) und MASR (Bits 0 bis 7) kleiner als Null, Rückschalten von MAR (Bits 0 bis 15) um 1
(MSR sollte eine Zweier-Komplementärzahl enthalten),* (3) MRSRS Ladebusadressregister
aus der Registerdatei C (MAR wird von dem Speicherplatz innerhalb der Registerdatei C geladen, der durch
die Bits 28 bis 31 des Steuerspeicherworts gekennzeichnet ist) ,· (4)MSRSR - verschiebe den Inhalt des MSR-Registers um 1 Bit nach
rechts und fülle eine Null in die Stelle des höchstwertigen Bits;
(5) MSRSL - verschiebe den Inhalt des MSR-Registersx um 1 Bit
nach links und fülle die Stelle das geringstwertigen Bits mit 0; und (6) MSRLD - lade das MSR-Registers (Bits 0 bis 7 mit den
Bits 0 bis 7 des internen Bus.
Die Mikrobefehle für die Registerdatei C sind folgende: (1) CFMR lade
Registerdatei C aus dem MAR-Register; (2) CUFEBX - lade
Registerdatei C (obere 8 Bits) vom Eingangsadressregister; (3) CLFBX- lade Registerdatei (untere 16 Bits) aus dem Eingangsdatenregister
; (4) CLFBI- lade Registerdatei C (untere 16 Bits) vom internen Bus; und (5) CUFBI- lade Registerdatei C (obere
8 Bits) aus dem internen Bus. Es ist zu beachten, daß bei CUFBX
und CLFBX die Daten über den internen Bus geladen werden, während die Adresse durch den Inhalt von BFCR gesteuert wird.
Fig. 10 zeigt die Steuerlogik für das Busadressregister MAR 18,
das Schieberegister 22 sowie den Busaddierer 20 gemäß Fig. 8. Wie Fig. 9 erkennen läßt, werden die Bits 25, 26 und 27 zur
Erzeugung unterschiedlicher Funktionen für die Steuerung dieser Baugruppen 18, 20 und 22 eingesetzt. Diese Bits 24 >
25, 26 und 27 sind in Fig. 10 im Block 601 wiedergegeben. Wenn die Bits 24
und 25 gleich Null sind, so werden die Bits 26 und 27 unmittelbar
030029/0697
zur Steuerung des Schieberegisters 22 benutzt. Sind die Bits 24 und 25 gleich "0", so ist das Ausgangssignal des UND-Gatters
603 "1", womit angezeigt wird, daß die Bits RD24 und 25 gleich "0" sind. Sind die Bits 24 und 25 "0" und die Bits 26
und 27 werden über die beiden UND-Gatter 625 und 627 geschickt, so werden die Funktionen BMSTO+ und BMST1+ erzeugt. Diese beiden
Funktionen werden direkt zur Steuerung des Schieberegisters 22 eingesetzt. Wenn die Bits 26 und 27 00 sind, so wird im
Schieberegister keine Operation ausgeführt. Ist sie 01, so findet ein Verschiebekommando nach rechts statt, bei 10 eine
Verschiebeoperation nach links und bei 11 für diese beiden Bits
wird eine Ladefunktion für das Register MSR22 angezeigt. Die Bits vom internen Bus 14, d.h. die Bits 0 bis 7, werden direkt in
das Schieberegister 22 geladen.
Wenn das Steuerspeicherbit 24 gleich "0" ist und Bit 25 ist"1",
d.h. es ergibt sich 01, so wird dieser Zustand zur Steuerung des Busadressregisters 18 und des Addierers 20 ausgenutzt. Wenn
das Bit 24 "0" ist, dann ist der Ausgang des Inverters 629 "1", und das Bit 25 vom Wert "1" setzt den Ausgang des NAND-Gatters
331 auf "0". Damit wird im Fall beider Eingangssignale RD24MA- und RD25MA+ auf "1" der Ausgang des NAND-Gatters 261 auf "0"
gesetzt. Wenn dieses Signal ENMARS-, d.h. das Aktivierungsauswahlsignal für das Busadressregister MAR nach "0" geht, wird
der Decoder 633 aktiviert, der die Bits 26 bis 27 des Steuerspeichers decodiert und die vier Ausgangssignale von der Wertigkeit
0, 1,2 und 3 erzeugt. In diesem Fall geht, wenn RD26 und RD27 beide "0" sind, das Ausgangssignal des Decoders 633 auf "0".
Dieses Ausgangssignal wird von dieser Logik nicht weiter verwendet und braucht deshalb nicht mehr beschrieben zu werden.
Ist das Bit 26 "0" und das Bit 27 "1", so aktiviert die Auswahl des Decoders 633 die Funktion BMRADD- in Richtung "0" und es
findet eine Decodierung der Werte "1" der Bits 26 und 27 statt. Diese Funktion teilt mit, daß sich der Busadressaddierer 20 im
Addierzustand befindet. Die Funktion BMRADD- wird einem Inverter 635 zugeleitet, der das Signal BMRADD+ erzeugt. Dieses wird
030029/0697
COPY
im Exklusiv-NOR-Gatter 637 einer Verknüpfungsoperation mit dem
Signal BABRCR+ unterworfen, welches das Ubertragsausgangssignal des Addierers 20 ist. Damit wird die Funktion BMREN1- erzeugt,
nämlich die Fortschalt/Rückschaltfunktion. Dieses Signal steuert das Fortschalten bzw. Rückschalten der vier Fortschalt/RUckschaltzähler
503 bis 506 des MAR-Registers 18. Das Ausgangssignal BMREN1- des Gatters 337 ist an den Zähler 506, d.h. an
denjenigen mit der geringsten Wertigkeit von den vier zählern
des Busadressregisters 18 angeschlossen.
Die Funktion BMRADD- läuft ferner zum ODER-Gatter 639 und erzeugt das Signal BMRENC-, d.h. das Aktivierungssignal für die
Zähler 503 bis 506 bei Zählbetrieb. Das andere Ausgangssignal des Decoders 633 wird erzeugt, wenn das Bit 26 gleich "1" ist
und das Bit 27 "0". Damit wird das Signal BMRSUB- auf "1" gesebzt,
Der Ausgang 2 des Decoders 633 geht auf "0" und es wird angezeigt, daß der Busadressaddierer sich im Subtrahierzustand befindet.
Dieses Signal gelangt ferner zum ODER-Gatter 6 39 und schaltet das Signal BMRENC- auf "0", wodurch die Zähler eingeschaltet
werden. Das Gatter 39 ist ein invertierendes ODER-Gatter, d.h. es ist eigentlich ein UND-Gatter derart, daß wenn
eines seiner Eingangssignale nach "0" geht, das Ausgangssignal BMRENC- auf "0" schaltet.
In jedem Fall, unabhängig davon ob.sich der Addierer 2 0 im
Addierbetrieb oder im Subtrahierbetrieb befindet, ist das Ausgangssignal des ODER-Gatters 639 "0" und aktiviert die Zähler
503 bis 506 zum Vorwärts- oder Rückwärtszählen in Abhängigkeit vom Ubertragausgangssignal des Addierers 20 und abhängig davon,
ob es sich um Addier- oder Subtrahierbetrieb handelt. Befand sich der Addierer 20 im Addierbetrieb, so bringt die Tatsache des
Addierbetriebs und des Vorhandenseins eines Übertrags den Ausgang des Gatters 637 auf "1", wodurch die Zähler 503 bis 506 um
einen Schritt vorwärtsgeschaltet werden. In ähnlicher Weise, im Falle des Subtrahierbetriebes, angezeigt durch das Signal
BRMRADD+ am Eingang des NOR-Gatters 637 gleich "0" wird das
030029/0697
COPY
" 32 ' 2952Ί63
Fehlen eines Übertrags, welcher in Wirklichkeit ein Borgbetrag des Binärzählers 20 darstellt, den Ausgang des Gatters 637 auf
"0" schalten. Im Subtrahierbetrieb sind somit beide Eingänge des Gatters 637 auf "0" und folglich auch sein Ausgang. Damit
zählen die Zähler 503 bis 506 rückwärts, wie dies dem Subtrahierbetrieb entspricht. OJn Im Busadreeeregister mit Hilfe der
Zähler 503 bis 506 zu zählen, müssen sich beide Ausgangssignale BMRENC- und BMREN1- im Zustand "0" befinden,und darüberhinaus
wird die Tatsache, daß entweder Addier- oder Subtrahierbetrieb vorliegt, die Zähler veranlassen, um einen Schritt aufwärts
oder abwärts zu zählen. Das Ausgangssignal BMRENC- des Gatters 639 gelangt ferner zum ODER-Gatter 641. Geht das Signal BMRENC-nach
"0", so geht auch das Ausgangssignal BMRLEN- des ODER-Gatters 641 auf "0". Das letztgenannte Signal wird als Ladeeingangssignal
für die Multiplexerregister 500 und 501 verwendet .
Das vierte Ausgangssignal des Decoders 633, nämlich das Signal BMRFRF zeigt an, daß das Busadressregister aus der Registerdatei
C zu laden ist. Dieses Signal wird aktiviert, wenn beide Bits RD26 und RD27 "1" sind. In diesem Fall ist der Ausgang 3
des Decoders 633 auf "0" und aktiviert das Laden der Zähler 503 bis 506 unmittelbar vom Ausgang der Verriegelungsschaltung
RFCL 69, welche an die Registerdatei C angeschlossen ist. Zusätzlich wird, wenn das Signal BMRFRF- den Wert 11O" hat, das
Ausgangssignal des ODER-Gatters 641 ebenfalls "0" sein, wo durch der Takteingang der Multiplexerregister 500 und 501 über
das NOR-Gatter 643 aktiviert wird, weil dieses Signal einer NOR-Verknüpfung mit dem Taktsignal des Befehlsprozessors unterworfen
wird. Das Ausgangssignal des NOR-Gatters 643 geht nach "1", wenn beide Eingänge "0" sind. Damit beginnt das Laden von Daten
in die Multiplexerregister 500 und 501. Die Auswahl der in diese Register zu ladenden Daten wird durch die Funktion BMRFRF-gesteuert,
welche am Ausgang 3 des Decoders 633 steht. Ist BMRFRF- "0", so wählt es das Ausgangssignal der Verriegelungsschaltung 69 für die Registerdatei C und lädt dieses in die
030029/0697
Multlplexerreglster 500 und 501. Befindet sich das Signal
BMRFRF- hingegen Im Zustand "1", so wählt es zum Laden in die Multiplexerregister 500 und 501 das Ausgangssignal des
Addierers 20 aus. Ein Signal BMRFRF- vom Wert "1" bedeutet, daß das Busadressregister nicht aus der Registerdatei geladen
wird. Es ist zu beachten, daß die Taktimpulsfolge, welche das Laden der Multiplexerregister 500 und 501 aktiviert, zunächst
auf "1" gehen muß und daß, wenn der Taktimpuls auf "0" umschaltet,
der Ausgang des NOR-Gatters 643 auf "0" geht und daß dieser UmschaltVorgang eigentlich die Aktivierungsfunktion für die
Multiplexerregister bewirkt.
030029/0697
-st-
L e e r s e i t e
Claims (1)
- HONEYWELL INFORMATION SYSTEMS INC. 21. Dezember 1979Smith Street 5101681 GEWaltham, Mass. USA HR/srNAOHQERClOHrDV-Anlage mit zwei DatenprozessorenPatentansprüche:DV-Anlage mit einem ersten und einem zweiten Datenprozessor, einer Verbindungseinrichtung zwischen (Jen beiden Prozessoren, über die der zweite Prozessor Daten und Befehle vom ersten Prozessor empfangen kann, sowie mit einem Hauptspeicher, gekennzeichnet durch einen zweiten Datenprozessor mit folgenden Einrichtungen:a) einem Steuerspeicher für mehrere Befehle zur Steuerung des Betriebs des zweiten Prozessors;b) einem Speicher für den im durch den vom zweiten Prozessor empfangenen Befehl enthaltenen Funktionscode;c) einer Steuerdatei mit mehreren Speicherplätzen für vom ersten Prozessor empfangene Daten;d) einer ersten Adressiereinrichtung zum Adressieren eines Speicherplatzes in der Steuerdatei entweder mit den Befehl aus dem Steuerspeicher oder mit dem Funktionscode, den der Speicher vom ersten Prozessor empfangen hat; unde) einer zweiten Adressiereinrichtung zum Adressieren des Hauptspeichers mit dem Inhalt des durch die erste Adressiereinrichtung adressierten Speicherplatzes der Steuerdatei.030029/0697ΓνΓ-c::2. DV-Anlage nach Anspruch 1, gekennzeichnet durchf) eine auf das Signal der Adressiereinrichtung ansprechende Abrufeinrichtung für den Abruf der vom zweiten Prozessor zu verarbeitenden Informationen aus dem Hauptspeicher; undg) im zweiten Prozessor eine Einrichtung zum Andern des Wertes des Inhalts des von der Adressiereinrichtung adressierten Speicherplatzes gleichzeitig mit der Abrufoperation.3. DV-Anlage nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß der zweite Prozessor h) ein Speicheradressregister enthält für den Inhalt des durch die Adressiereinrichtung adressierten Speicherplatzes; undi) eine Einrichtung für die Speicherung eines Teils des Inhalts des Speicheradressregisters in dem genannten Speicherplatz der Steuerdatei aufweist.4. DV-Anlage nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß der zweite Prozessorj) einen Anzeiger für die Empfangsbereitschaft des zweiten Prozessors für die Daten und Befehle vom ersten Prozessor; undk) einen auf den Anzeiger ansprechende Aktivierungseinrichtung enthält, welche die Adressiereinrichtung aktiviert, um unter Verwendung des Funktionscodes den Speicherplatz in der Steuerdatei zu adressieren.5. DV-Anlage nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß der zweite Prozessor1) einen Anzeiger enthält, der angibt, daß einer der Befehle im Steuerspeicher auszuführen ist; undm) eine auf den Anzeiger ansprechende Aktivierungseinrichtung aufweist, welche die Adressiereinrichtung aktiviert, um unter Verwendung des Befehls im Steuerspeicher den Speicherplatz in der Steuerdatei zu adressieren.030029/06 9 76. DV-Anlage nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß jeder Speicherplatz in der Steuerdatei einen ersten und einen zweiten Speicherteil enthält und der zweite Prozessor folgende Einrichtungen umfaßt:n) eine Einrichtung zum Einspeichern der Daten und Befehle in den ersten Speicherteil;o) eine Einrichtung zum Empfang von Adressinformationen vom ersten Prozessor;p) eine Einrichtung zum Einspeichern der Adressinformationen in den zweiten Speicherteil.7. DV-Anlage nach Anspruch 6,dadurch gekennzeichnet, daß im zweiten Prozessor eine Einrichtung zum Andern der Adressinformation mit Hilfe des Inhalts des durch die Adressiereinrichtung adressierten Speicherplatzes in der Steuerdatei vorgesehen ist.8. DV-Anlage nach Anspruch 6 oder 7, dadurch gekennzeichnet, daß die Adressiereinrichtung zum Adressieren des Hauptspeichers den Inhalt beider Speicherteile benutzt.9. DV-Anlage nach Anspruch 2 oder einem der Folgeansprüche, dadurch gekennzeichnet, daß die Änderungseinrichtung umfaßt:g) einen Addierer zum Addieren einer ersten und einer zweiten Zahl, wobei die erste Zahl der Adresse der Daten im Hauptspeicher entspricht und die zweite Zahl einem Teil des Inhalts des adressierten Speicherplatzes in der Steuerdatei entspricht; sowier) eine vom Addierer beeinflußte Einrichtung zum Fortschalten oder Zurückschalten des Wertes des Inhalts des adressierten Speicherplatzes in der Steuerdatei.030029/06970O. DV-Anlage nach Anspruch 9, gekennzeichnet durch eine Einrichtung zum Ersetzen des genannten Teils des Inhalts durch das Ergebnis der Addition.11. DV-Anlage nach Anspruch 10, dadurch gekennzeichnet, daß der genannte Teil des Inhalts der Teil geringster Wertigkeit des GesarotinhaIts des adressierten Speicherplatzes in der Steuerdatei ist.030029/0697
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/000,733 US4258420A (en) | 1979-01-03 | 1979-01-03 | Control file apparatus for a data processing system |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2952163A1 true DE2952163A1 (de) | 1980-07-17 |
DE2952163C2 DE2952163C2 (de) | 1985-09-05 |
Family
ID=21692780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2952163A Expired DE2952163C2 (de) | 1979-01-03 | 1979-12-22 | Datenverarbeitungsanlage mit einem ersten und einem zweiten Prozessor |
Country Status (7)
Country | Link |
---|---|
US (1) | US4258420A (de) |
JP (1) | JPS5838819B2 (de) |
AU (1) | AU531381B2 (de) |
CA (1) | CA1127772A (de) |
DE (1) | DE2952163C2 (de) |
FR (1) | FR2445992A1 (de) |
GB (1) | GB2039109B (de) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5840214B2 (ja) | 1979-06-26 | 1983-09-03 | 株式会社東芝 | 計算機システム |
DE3176654D1 (en) * | 1980-12-24 | 1988-03-24 | Honeywell Inf Systems | Data processing system |
EP0525831B1 (de) * | 1983-04-18 | 1998-07-01 | Motorola, Inc. | Verfahren und Vorrichtung für ein Processor um mit einem Coprocessor in der Verarbeitung eines im Programablauf des Processors befindlichen Befehls mitzuwirken. |
US4841434A (en) * | 1984-05-11 | 1989-06-20 | Raytheon Company | Control sequencer with dual microprogram counters for microdiagnostics |
US4942547A (en) * | 1985-04-11 | 1990-07-17 | Honeywell Bull, Inc. | Multiprocessors on a single semiconductor chip |
GB2223891B (en) * | 1988-09-26 | 1992-12-02 | Melville Trevor Meyers | Improved mounting box for socket |
US5197138A (en) * | 1989-12-26 | 1993-03-23 | Digital Equipment Corporation | Reporting delayed coprocessor exceptions to code threads having caused the exceptions by saving and restoring exception state during code thread switching |
JP4742735B2 (ja) * | 2004-09-24 | 2011-08-10 | セイコーエプソン株式会社 | 液体噴射装置 |
US20150261535A1 (en) * | 2014-03-11 | 2015-09-17 | Cavium, Inc. | Method and apparatus for low latency exchange of data between a processor and coprocessor |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4104720A (en) * | 1976-11-29 | 1978-08-01 | Data General Corporation | CPU/Parallel processor interface with microcode extension |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1218761B (de) * | 1963-07-19 | 1966-06-08 | International Business Machines Corporation, Armonk, N. Y. (V. St. A.) | Datenspeidbereinrichtung |
JPS49114845A (de) * | 1973-02-28 | 1974-11-01 | ||
US4168523A (en) * | 1975-11-07 | 1979-09-18 | Ncr Corporation | Data processor utilizing a two level microaddressing controller |
US4149243A (en) * | 1977-10-20 | 1979-04-10 | International Business Machines Corporation | Distributed control architecture with post and wait logic |
-
1979
- 1979-01-03 US US06/000,733 patent/US4258420A/en not_active Expired - Lifetime
- 1979-12-20 CA CA342,358A patent/CA1127772A/en not_active Expired
- 1979-12-22 DE DE2952163A patent/DE2952163C2/de not_active Expired
- 1979-12-27 FR FR7931833A patent/FR2445992A1/fr active Granted
- 1979-12-28 JP JP54173933A patent/JPS5838819B2/ja not_active Expired
- 1979-12-28 AU AU54248/79A patent/AU531381B2/en not_active Ceased
- 1979-12-31 GB GB7944626A patent/GB2039109B/en not_active Expired
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4104720A (en) * | 1976-11-29 | 1978-08-01 | Data General Corporation | CPU/Parallel processor interface with microcode extension |
Also Published As
Publication number | Publication date |
---|---|
CA1127772A (en) | 1982-07-13 |
US4258420A (en) | 1981-03-24 |
FR2445992A1 (fr) | 1980-08-01 |
AU531381B2 (en) | 1983-08-18 |
AU5424879A (en) | 1980-07-10 |
FR2445992B1 (de) | 1984-10-19 |
GB2039109B (en) | 1983-05-11 |
DE2952163C2 (de) | 1985-09-05 |
JPS5592965A (en) | 1980-07-14 |
JPS5838819B2 (ja) | 1983-08-25 |
GB2039109A (en) | 1980-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2846495C2 (de) | Zentraleinheit | |
DE2724125C2 (de) | ||
DE2714805C2 (de) | ||
DE3424962C2 (de) | ||
DE2023354C2 (de) | Datenverarbeitungsanlage mit einem Mikrobefehlsspeicher | |
DE3851746T2 (de) | Sprungvorhersage. | |
DE1931966C3 (de) | Datenverarbeitungsanlage mit Assoziativspeichern | |
DE2712224A1 (de) | Datenverarbeitungsanlage | |
DE3689389T2 (de) | Datenverarbeitungsprozessor. | |
DE2230102A1 (de) | Rechenwerk fuer variable wortlaengen | |
DE3686828T2 (de) | Hochleistungsparalleler vektorprozessor mit modifizierter register/elementprozessor konfiguration. | |
DE2746505C2 (de) | ||
EP0010185A1 (de) | Virtuell-Adressiervorrichtung für einen Computer | |
DE2421130C2 (de) | ||
EP0134831B1 (de) | Einrichtung im Befehlswerk eines Fliessbandprozessors zur Befehlsunterbrechung und -wiederholung | |
DE2855722A1 (de) | Einrichtung zur berechnung von produktsummen | |
CH644461A5 (de) | Digitale multipliziereinrichtung. | |
DE2952163A1 (de) | Dv-anlage mit zwei datenprozessoren | |
DE2830334C2 (de) | ||
DE2952072C2 (de) | Rechenschaltung zum Addieren oder Subtrahieren binär codierter Dezimalzahlen | |
DE2906685C2 (de) | ||
DE2702722C2 (de) | Einrichtung zur Verarbeitung nicht direkt ausführbarer Instruktionen | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE2658950A1 (de) | Mikroprogrammierte verarbeitungseinheit sowie verfahren zur organisation derselben | |
DE1955797A1 (de) | Verfahren zur Steuerung der Verarbeitung von Eingabedaten und Datenverarbeitungsanlage hierfuer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8125 | Change of the main classification |
Ipc: G06F 15/16 |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: HONEYWELL BULL INC., MINNEAPOLIS, MINN., US |
|
8339 | Ceased/non-payment of the annual fee |