DE2952163C2 - Datenverarbeitungsanlage mit einem ersten und einem zweiten Prozessor - Google Patents
Datenverarbeitungsanlage mit einem ersten und einem zweiten ProzessorInfo
- Publication number
- DE2952163C2 DE2952163C2 DE2952163A DE2952163A DE2952163C2 DE 2952163 C2 DE2952163 C2 DE 2952163C2 DE 2952163 A DE2952163 A DE 2952163A DE 2952163 A DE2952163 A DE 2952163A DE 2952163 C2 DE2952163 C2 DE 2952163C2
- Authority
- DE
- Germany
- Prior art keywords
- register
- bits
- address
- memory
- processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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
a) einen Speicher (28) für einen Funktionscode, der im Ober die Verbindungseinrichtung (19)
empfangenen Befehl enthalten ist;
b) einen Steuerdatenspeicher (16) mit mehreren Speicharp!ätzen für über die Verbindungseinrichtung
(19) empfangene Daten;
c) eine erste Adressiereinrichtung (31, 46) zum Adressieren von Speicherplätzen in dem Steuerdatenspeicher
(16) entweder mit Mikrobefehlen aus dem Steuerspeicher (10) oder mit dem Funktionscode, den der Speicher (28) für den
Funktionscode vom ersten Prozessor (11) empfangen hat; und
d) eine zweite Adressiereinrichtung (18, 20, 22) zum Adressieren des Hauptspeichers (17) mit
dem Inh'f't eines durch die erste Adressiereinrichtung adressierten Speicherplatzes des Steucrdaten&peichers
(16).
2. Datenverarbeitungsanlage nach Anspruch I, dadurch
gekennzeichnet, daß die erste Adressiereinrichtung (31, 46) ein Zähler (46) enthält und den
Funktionscode jeweils mit dem Zählstand des Zählers kombiniert, welcher beim Empfang bestimmter
Funktionscodes fortgeschaltet wird.
3. Datenverarbeitungsanlage nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß dem zweiten
Prozessor (13) ein Speicheradreßregister (74,76) zur Aufnahme des Inhalts des durch die erste Adressiereinrichtung
(31,46) adressierten Speicherplatzes zugeordnet ist.
4. Datenverarbeitungsanlage nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß jeder
Speicherplatz im Steuerdatenspeicher (16) einen ersten (für die Bits 0—7) und einen zweiten (für die Bits
8—23) Speicherteil enthält und der zweite Prozessor (13) eine Einrichtung (14) zum Einspeichern der Daten
und Befehle in den ersten Speicherteil sowie ein Busadreßregister (18) zum Einspeichern der vom ersten
Prozessor (11) empfangenen Adreßinformationen in den zweiten Speicherteil umfaßt.
Die Erfindung betrifft eine Datenverarbeitungsanlage gemäß Gattungsbegriff des Anspruchs 1.
Aus US-PS 41 04 720 ist eine solche Datenverarbeitungsanlage bekannt, wobei der Steuerspeicher Daten
aus bcsümmten Festwertspeichern, nicht jedoch Daten aufnimmt, welche als Teil von Befehlen oder Steuersignalen
vom ersten zum zweiten Prozessor hin übertragen werden. Bei der Konfiguration der erfindungsgemäßen
Datenverarbeitungsanlage hingegen arbeitet der erste Prozessor als Hauptprozessor und der zweite Prozessor
als Nebenprozessor. In Datenverarbeitungsanlagen mit einem Hauptprozessor und einem Nebenprozessor
werden Befehle und/oder Daten des Hauplprozessors vom Nebenprozessor empfangen und müssen
im Nebenprozessor gespeichert werden. Dies sol! in vorgegebenen Speicherplätzen des Nebenprozessors
geschehen, damit die Befehle und Daten verfügbar sind,
ίο ohne daß diese im Speicher des Nebenprozessors gesucht
werden müssen.
- Aufgabe der Erfindung ist es, einen hierfür geeigneten
Aufbau des zweiten Prozessors zu Finden, durch den der zweite Prozessor Daten und Befehle vom ersten
is t-rozessor empfangen kann, ohne dabei die eigene Verarbeitung
von Daten unterbrechen zu müssen. Dies bedeutet eine Zeitersparnis, weil die Verarbeitung der Daten
im Nebenprozessor und das Adressieren des Hauptspeichers zeitlich parallel zueinander erfolgen.
Diese 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 einem Steuerdatenspeicher
gespeichert wird, weiche entweder durch ein Firmware-Wort des Sieuerspeichers oder durch Benutzung des
Funktionscodes aus einem vom Hauptprozessor empfangenen Befehl adressiert wird. Die im Steuerdatenspeicher
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 Ausfuhrungsbeispiels
im einzelnen erläutert. Dabei zeigt
F i g. 1 den Systemaufbau einer DV-Anlage;
F i g. 2 das Ablaufdiagramm der Bti. :ebszustände im Prozessor einer solchen DV-Anlage;
F i g. 1 den Systemaufbau einer DV-Anlage;
F i g. 2 das Ablaufdiagramm der Bti. :ebszustände im Prozessor einer solchen DV-Anlage;
F i g. 3 das Blockschaltbild des Prozessors;
Fig.4 eine Darstellung des Inhalts eines Registers des Prozessors;
Fig.4 eine Darstellung des Inhalts eines Registers des Prozessors;
F i g. 5 das Blockschaltbild des Rechenwerks;
Fig.6 das Blockschaltbild der Adreß-Steuereinhcit des Prozessors:
F i g. 7 den internen Aufbau der Steuerdatei;
Fig.8 das Blockschaltbild des Adreßregisters und Addierers;
Fig.8 das Blockschaltbild des Adreßregisters und Addierers;
so F i g. 9 einen Teil des Firmware-Wortes im Prozessor,
und
Fig. 10 die Steuerlogik für das Adreßregister und den
Addierer des Prozessors.
In Fi g. I dient der BcfehlsprozessorCIP I3(commcrcial
instruction processor) als zweiter oder Nebenprozessor der Erweiterung der den ersten oder Hauptprozessor
umfassenden Zentraleinheit CPU 11, insbesondere ihrer Kapazität an Befehlsgruppen durch Verwendung
einer wirkungsvollen Gruppe herkömmlicher Befehle. Diese Befehle gestatten es, der Zentraleinheil 11
über den Befehlsprozessor 13 dezimale und alphanumerische Daten zu verarbeiten, wobei folgende Bcfchlsarten
auftreten: Dezimal, Alphanumerisch, Datenumwandlung und Aufbereitung. Der Nachrichtenaustausch
zwischen dem Befehlsprozessor 13 und der Zentraleinheit It sowie dem Hauptspeicher 17 erfolgt über eine
gemeinsame Verbindungseinrichtung oder Syslemsammclschicnc, genannt Bus 19. Der BcfchlsDrozcssor 13
arbeitet als Zusatz zur Zentraleinheit und empfängt Befehle
und Operanden als Übertragungsinformationen 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 II. Ist kein Befehlsprozessorsystem
vorhanden, so führt jeder Versuch zur Ausübung eines kommerziellen Befehls dazu, daß die Zentraleinheit
einen speziellen Abfangzustand annimmt.
Der Befshlsprozessor 13 empfängt über den Bus 19 Informationen von der Zentraleinheit 11 und vom
Hauptspeicher 17 und verarbeitet diese Informationen in logischer Folge. Diese besieht aus drei Clr-Betriebszuständen:
Frei, Laden, Belegt und Abfangzusuad.
Wie F i g. 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 einen Befehl, z. B.
einen CIP-Befeh! 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 Befehlsprozessor geht
in den Ladezustand 206 über. In diesem Zustand bleibt er so lange, 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 den^ R(*f*»hjcpro/.cssor
Informationen auszutauschen, wird von diesem zurückgewiesen, so lange er im Belegtzustand ist,
und wird erst dann möglich, wenn er erneut den Freizustand annimmt. Die CIP-Verarbeitung umfaßt Informalionsübcrtragungsaktivitä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), wie beispielsweise die Feststellung einer unzulässigen Lange 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 ClP-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
«Is auch das Etikett werden von der Zentraleinheit verarbeitet und hierbei erzeugte Information, beispielsweise
der Operandentyp und die Speicheradresse, werden zur Weiterverarbeitung zum Befehlsprozessor gesandt
Die 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;
(iii) die Zentraleinheit gibt die folgende Information ab: Die aus 24 Bit bestehende effektive Byte-Adresse
des ersien Operanden, gegebenenfalls den Inhalt des entsprechenden Datenregisf.i der Zentraleinheit
und den Dateridesknpioi' 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 Befehlsprozessor 13 mit
aller für die Ausführung kommerzieller Befehle erforderlichen Information geladen und geht in den Belegzustand
über, um den Befehl auszuführen. Falls notwendig, tritt der Befehlsprozessor 13 unmittelbar in Informationsaustausch
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 Würde. fk>mit
werden keine CPU-Register vom Befehlsprozessor geändert und die Zentraleinheit arbeitet so lange den
nächjten und jeden folgenden CPU-Befehl ab, 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 aulgetreten 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 wartet bis zur Beendigung des letzten
kommerziellen Befehls. Sobald dies geschehen ist, bestimmt sie, ob sich hieraus eine Abfanganforderung ergibt
1st dies der Fall, gibt die Zentraleinheit der Abfang anforderung Vortritt, ehe sie eine Unterbrechung
durchführt. Hierdurch wird eine typische Operation zur Speicherinhaltssicherung und Wiedereinspeicherung
ausgelöst um alle entsprechenden CPU- und CIP-Zu-Standsinformationen
zu speichern. Bei Abschluß der CPU-Operation für die Erledigung einer ClP-Abfanganforderung
oder, sofern keine Abfanganforderung ansteht und ein CIP-Befehl zur Verarbeitung vorhanden
ist, geht die Zentraleinheit wie folgt vor: Sie schaltet
fc5 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 so lanee. bis der laufende Unter-
brechungsvorgang abgewickelt ist. Sie beachtet und bedient die von einem Außengerät verursachte Unterbrechung.
Wenn der Befehlsprozcssor 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 so lange 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 synchron von der Zentraleinheit CPU 11 und vom Befehlsprozessor CIP
13 verarbeitet.
Die drei vom Befehlsprozessor verarbeiteten Datenarten sind alphanumerische Daten, binäre Daten und
Dezimaldaten. Jeder Datentyp ist in Gruppen von Bi-ΓιαπΓι'ϋΓΓπαΐίϋΓιέΓι
cmgcieili. 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 (Halb-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
Doppclpräzisionsbinäreinheit besteht aus vier Einheiten (4 Bytes).
F i g. 3 zeigt das wesentliche Blockschaltbild des Befehlprozessors
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 Prozessor folgen, Datenübertragungswege
sowie den Busbetrieb.
Ein Operandenregisterspeicher sowie das Rechenur^rif
UHIfEs0S11Oe Einheit RALU 12 enthält i" erster
Linie zwei Registerspeicher, ein Rechenwerk (ALU) sowie die zugehörigen Multiplexer und Steuerregister. In
der Geräteeinheit RALU 12 befinden sich Operandenregisterspeicher RFl und RF2. von denen jeder 16 Speicherplätze
für jeweils 16 Bit aufweist, die als Pufferspeicher für im Rechenwerk A LU zu verarbeitende Operanden
dienen. Die AI.U-Eingangsmulliplcxer und Vcrricgelungsschaltungen
umfassen drei 2 :1-Multiplexcr (Zonenauswahl), zwei 4 ^-Multiplexer(Ziffernauswahl)
sowie zwei B-Bit-Vcrricgelungsschaltungcn (Byteverriegclung).
Diese Multiplexer und Verricgelungsschaltungen werden für die Übertragung von Daten aus den
Operandenregisterspeichern an das Rechenwerk benutzt Daten könne;· auch vom Zähler für das laufende
Produkt an die linke Seite des Rechenwerks oder vom Operandenregisterspeicher 2 an das Multiplikationsregister
übertragen werden. Das 8-Bit-Rechenwerk ALU, bestehend aus zwei 4-Bit-Bausteinen, einem Vorwärtsübertragungsbaustein
und einem Eingabe/Ausgabe-Flip-Flop kann folgende Operationen zwischen den linken
(1) und rechten (2) Ausgängen ausführen: Binäre Addition, binäre Subtraktion des Eingangssignals 1 vom
Eingangssignal 2, binäre Subtraktion des Eingangssignals 2 vom Eingangssignal 1, logische ODER-Verknüpfung,
logische U N D-Verknüpfung. Exklusiv-ODER-Verknüpfung.
Setzen des Rechenwerkausgangs auf FF. l.öschen des Rechenwerkausgangs auf 00. Die Einheit
RALU !2 wird später anhand von Fig.5 im einzelnen
erläutert
Die Oberschuß-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 korrekte Dczimalziffer umzuwandeln und dabei den Übcrtnigausgang
für Folgeoperationen zu modifizieren. Die XS6-Korrektur wird mit Hilfe eines 32-Bit mal ti-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 andcre
Steuerzwecke 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 Dczimalzonenbits
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 Regisierspeicher-1-Adreßregister RFIA.
einem Rcgistcrspcicher-2-Adreörcgister RF2A und einem
Rechenwcrk-Bctricbsartstcuerregistcr 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.
Der Steuerdatenspeicher 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 CPU 11 kommen, beispielsweise Aufgabenworte, Datendeskriptoren,
effektive Adressen usw. Der Steuerdatenspeicher enthält ferner mehrere Wortspeicherplätze,
welche durch die Firmware des Befehlprozessors CIP
die Bits 0 bis 7 entweder vom internen Bus 14 oder über den Multiplexer 21 mit ODER-Logik vom Bus-Adrcßregister
MAR 18. Das Busadreßregister 18 ist ein 24-Bit-Adrcßregister und dient hauptsächlich der Adressierung
des Systembus 19. Es besteht aus einem 8-Bit-Multiplcxerregister
mit zwei Eingängen am unteren Ende sowie einer 16-Bii-Fortschalt/Rückschultcinrichtungam
oberen Ende. Das Multiplcxcingangssignal für die unteren 8 Bits kommt entweder vom Stcuerdalcnspcicher
16 oder vom Ausgang des Adreßaddierers 20. Letzterer ist ein 8-Bit-Zweierkomplcment-Addierer und wird in
erster Linie zum Fortschalten oder Rückschalten des InhaJts im Busadreßregister 18 eingesetzt. Die F:ngangssignale
zum Adreßaddierer 20 sind die geringwertigen 8 Bits des Busadreßregisters und des 8-Bit-Schieberegisters
MSR 22. Hierbei handelt es sich um ein 8-Bit-Universalschieberegister, 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 Adreßaddierers 20 zum Fortschalten
oder Zurückschalten des Busadreßregisters 18.
Außerdem kann das Bit 0 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 Busausgang-sdatcnregisierOUR 24 ist ein 16-Hh-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
Das Busausgang-sdatcnregisierOUR 24 ist ein 16-Hh-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
Buscingangsdatcnrcgistcr INR 26 handelt es sich um ein
Ib-Bit-Datenregister, welches Daten von den Datenleiiiingcn des Bus 19 empfängt. Der Inhalt dieses Datenregi.slcrs kann in den internen Bus 14 umgeladen werden.
Das Eingangsfunktionscodcregisler BFCR 28 stellt sich als 6-Bil-Register dar, welches der Speicherung des
f'unktionscodes dient, wenn der Befehlsprozessor vom
Uus 19 itgendwelche Eingangs- oder Ausgangsbefehl
annimmt. Anschließend prüft die Firmware den Inhalt des Funktionscoderegisters 28 und führt den angegebenen Befehl durch. Das Eingangsadreßb?.nkregister
INAD 30 ist ein 8-Bit-Register für die Speicherung der höherwertigen 8 Speicheradreßbits, die über die Adreßlcitungen des Bus 19 ankommen. Sie enthalten die Speichermoduladresse und werden von der Zentraleinheit
11 als Ergebnis eines sogenannten lOLD-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-Speicherregistcr ausgebildet, in dem jedes Bit einzeln gesetzt oder
rückgestellt werden kann. Die Bit-Konfiguration des Anzeigeregisters ist in F i g. 4 dargestellt. Die TRP- und
TRP-Leitungs-Anzeiger werden vom Befehlprozessor nur für inlcrne Verarbeitung benutzt und sind für die
Software unsichtbar. Der TRP-Leitungsanzeiger (CIP-Abfangleitung) informiert die Zentraleinheit H über einen bestehenden Cl P-Abfangzustand und wird über das
externe Abfangsignal über den Bus 19 übertragen. Ist der TRP-Anzeiger gesetzt, so kann der Befehlprozessor
nur Eingangsbefehle von der CPU Il annehmen.
Das Analysenregistcr AR 34 ist ein 16-Bit-Register
und wird in erster Linie zur Steuerung von Mikroprogrammverzweigungen (maskierte Verzweigungen) benutzt sowie zur Steuerung der Codier/Decodierlogik
für das Überlochbyte. Dieses Register wird vom internen Bus 14 mit dem gesamten 16-Bitwort geladen. Das
mikroprogrammierbare Schaltregister MPSR 36 stellt sich als 8-Bit-Register dar. indem durch Steuerung über
Mikroprogramm jedes Bit einzeln 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 Steuerung bestimmter Hardware-Funktionen im Hefchlsprozcssor 13 genutzt.
Beim ROS-Datcnregister RD 38 handelt es sich um ein 52-Bit-Speicherrcgister für die Speicherung des
Steucrspeicherausgangssignals (eines Firmwarewortes) im laufenden Firmwarezyklus. Das Mikroprogramm-Rückkehradreßadreßregister SRA 40 ist ein 11-Bit-Register und wird vom Ausgangssigna] der Folgeadreßlogik NAG 42 geladen. Es dient der Speicherung der Mikroprogrammrückkehradresse beim Ausführen einer
Firmware-Subroutine. Der Registerspeicher-C-Adreßmultiplexer/selektor RFCA 31 ist ein 4-Bit-2 :1-Selektor und kann einen der 16 Speicherplätze innerhalb des
Registerspeichers CI6, d. h. innerhalb des Steuerdatenspeichers 16 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
8-Bit-Auf/Ab-Zähler 46,48 und 50. welche als Zähler 1
(CTRl), Zähler 2 (CTR2) und Zähler 3 (CTR3) 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 Vcr/.wcigungsopcralionen zur Verfügung.
Die Decodier/Codicrlogik 52 für eins Überlochbyte
umfaßt zwei Speieherbausteine in i orm prograniinicrbarer Festwertspeicher PROM mit 512 Speicherplätzen
für je 4 Bit. Sie werden zum Decodieren und Codieren des Inhalts des Analysenregisiers AR 34 eingesetzt. Das
decodierte Byte wird von den Bits 1 bis 7 des Analysenregisters erhalten, und den codierten Ziffernanfang er-
hält man von den Bits 4 bis 7 des Analysenregisters. Die Decodier/Codieroperation wird durch Verwendung der
Bits 1 bis 7 des Analysenregisters benutzt, um hierdurch einen speziellen PROM-Speicherplatz zu adressieren.
Der Inhalt dieses Speicherplatzes wird codiert, um ent
weder (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 Vorzeichen des codierten Bits anzeigt.
Das Ausgangssignal der Decodier/Codierlogik für das
Überlochbyte ist auch auf beiden Hälften des internen Bus 14 verfügbar.
Die ClP-Prüflogik 54 wählt einen der 32 möglichen
Firmware-Prüfzustände als Eingangssignal für die FoI-
geadressenlogik 42 aus. Der zutreffende oder falsche
Zustand der geprüften Funktion steuert Bit 50 des Stcuerspeicher-Folgcadrcssenfeldes, d. h. er setzt das Bit 50
oder stellt es zurück, je nachdem Zustand der überprüften Funktion. Die Folgeadressenlogik NAG 42 im Be-
fehlsprozessor 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 Foigeadresse verwandt Diese Bits enthalten das Folgeadressenfeld, wel-
ches 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üfzustands 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 folgt entwickelt: (1) 1st 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 bestimmter anderer Zustände erfolgen solL Sie
stellt eine Verzweigung zu zwei, vier, acht oder sechzehn Speicherplätzen innerhalb der gleichen Firmwareseite dar. Eine Hauptverzweigung wird für die Verzweigung innerhalb einer Firmwareseite (128 Worte) ange-
wandt Eine CPU/CIP-Schnittstellenroutine verwendet
diese Methode, um die erforderliche 16-Wegverzweigung für den Inhalt des Funktionscoderegisters 28 zu
erreichen (INB-Hauptverzweigung und EOP-Haupt-
verzweigung). 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 erhält man vom Rückkehradießregister RSRA 40. Sie muß in diesem
Register 40 gespeichert werden, ehe die betreffende Subroutine aufgeführt wird.
Der interne Bus 14 ist für 16 Bits eingerichtet und dient in erster Linie der Datenübertragung zwischen
CIP-Registern einschließlich von Speicherplätzen innerhalb
der Registerdateien. Er empfängt, wie F i g. 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 14 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: Operandenregisterspeichern,
Rechenwerk- Eingangsmultiplexer und Verriegelungsschaltungen, Rechenwerk, XS6-Korrekturlogik,
Rechenwerk-Ausgangsmultiplexer, RALU-Steuerlogik, verschiedene RALU-Register. Jeder der
Operandenregisterspeicher RFl 70 und P.F2 72 besteht niic yj£r RAN4-Srisicherb2*jStsir,CM und wird zur vorübergehenden
Speicherung der ClP-Operanden benutzt. Die Adressen für jeden der Registerspeichcr werden
durch zwei 6-Bit-Adreßregister RFlA 74 bzw. RF2A 76 geliefert. Die Bits 0 bis 3 jedes Adreßregisters
liefern die Adresse des Speicherplatzes innerhalb des zugehörigen Registerspeichers, während die geringwertigen
Bits für die Byte- und Ziffernauswahl am Ausgang des Regislerspeichers sorgen. Beide Adreßregister können
durch Ziffern, Bytes oder Worte um jeweils einen, zwei oder vier Schritte vor- und zurückgeschaltet werden.
Das Ausgangssignal jedes Registerspeichers wird den Eingängen zweier Multiplexer zugeleitet, welche
zwischen Zonen- und Zifferninformation unterscheiden. Diese Auswahl erfolgt anhand der Bits 4 und 5 des zugeordneten
Adreßregisters. Bit 4 wählt aus, ob die Bits 0 bis 3 oder 8 bis 11 des Registerspeichers zum Ausgang
des 22-MultipIexers 78 oder 80 geleitet werden, während
das Bit 5 die Registerspeicherbits 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 RFl der A-Verriegelungsschaltung 90 zugeleitet wird.
Dieser Multiplexer wird vom ALMR-Register 92 gesteuert. Die ALU-Eingangsverriegelungsschaltungen,
die A-Verriegeiungsschaltung 90 und die B-Wtniegelungsschaltung
106. erhalten sowohl Zonen- als auch Zifferninformation von den Rechenwerkeingangsmultiplexern
und verr'geln während der Schreibopenilion
die Daten in den Registerspeichern. Die Ausgangssignale der Verriegelungsschaltungen liefern die Zonen- und
Zifferninformation an die linke bzw. die rechte Seite des
Rechenwerkes.
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 Divisionsoperationen
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 ein 6-Bit-Steuerrcgister.
Das Adreßregister RFlA 74 für den Registerspeicher 1 stellt sich als 6-Bit-Adreßregister dar und zwei
Funktionen: (1) es liefert Adressen für den Registerspeicher 1 (70) und (2) steuert zwei der drei Rechenwerkeingangsmultiplcxer,
die dem Registerspeicher 1 zugeordnet sind. Das Registerspeicher-2-Adrcßrcgistcr RF2A
7b ist ebenfalls ein 6-Bit-AdreUrcgister und übt in bezug
auf den Registerspeichcr 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 Binärbetrieb für die Verarbeitung von Bytes (Alpha) dient. Beide Betriebsarten
steuern außerdem die Über-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 mikrüprügfutnni gcsieuert,
gesetzt oder zurückgestellt werden.
Die XS6-Korrekturlogik 102 enthält einen 32-Bit x8-Bit-PROM-Baustein sowie die zugehörige
Steuerlogik für die Korrektur der drei höhet wertigen
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 oder der Ziffernausgang
des Rechenwerks 100 größer als 9 ist, sowie (2) wenn das Rechenwerk im dezimalen Subtraktionsbetrieb arbeitet und ein Borgbetrag erforderlich ist, d. h.
ein Übertrag vom Ziffernteil des Addierers fehlt. Der PROM-Baustein hat fünf Adreßleitungen, drei hiervon
sind für die drei Bits höherer Ordnung vom Ziffernausgang des Rechenwerks bestimmt, während die anderen
beiden Adreßleitungen 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 zwisehen
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 ASClI-Da-
&5 veii verarbeitet werden, erhalten die Zonenbits den
Wert 3, während bei der Verarbeitung von EBCDIC-Daten die Zonenbits einen Wert Fhaben.
Die Register- und Rechenwerksteuerung 12 besteht
Die Register- und Rechenwerksteuerung 12 besteht
aus Registern RFIA 74, RF2A 7fe und ALMR 92 sowie
verschiedenen Mikrobefehlen. Außerdem wird das Rechcnwerk-Übertragungs-Flip-Flop
durch ein Mikroprogramm gesteuert. Es kann je nach Bedarf durch entsprechende
Mikrobefehle gelöscht oder vorgesetzt '.verden und läßt sich laden von: (l)dem 4-Bit-Digitalübertrag
für De/.imaloperationen, (2) dem 8-Bit-Binärübertrag für Binäroperationen, oder (3) durch das Bit 0 des MSR-Kegisiers
22, während der Durchführung eines Umwiindlungsbefehls. 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 Übertrug)
oder mit Bit 0 (binärer Übertrag) erfolgt. Bit 0 steuert weiterhin sowohl die Rechenwerkkorrektur
XS6 für Dezimaloperationen sowie den Rechenwerkausgnngsmultiplexer 104. Dieser bestimmt, ob die höknprnnninan ifiA^ □ ·»*>
sJa«· Dankan«i»o>*l'r n/iap A\r* "7r\r%e*r\.
bits dem internen Bus zugeleitet werden. Die Bits 1, 2 und 3 dieneti der Operationssteuerung innerhalb des
Rechenwerks. Bit 4 bestimmt, ob die Zonenbits auf einen Wert 3 oder F gesetzt werden, und zwar auf den
Wert 3 für ASCII-Daten und auf den Wert F für EDCDIC-Daten. Bit 5 gibt an, ob die aus der Registerdatei
I oder dem Inhalt des Zählers 88 für das laufende Produkt ausgewählte Ziffer den auf der linken Seite des
Rechenwerks angeordneten Verriegelungsschaltungen 90 zugeführt wird. Das Register RFlA liefert die Adresse
und steuert den Registerspeicher sowie die zugehörigen Rechenwerk-Eingangsmultiplexer. Das Register
RF2A hat die gleiche Aufgabe in bezug auf den Registerspeicher 2.
Der Steuerdatenspeicher 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 untere 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 Busadreßregister 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.
Wie bereits erwähnt, stellt F i g. 3 das Blockschaltbild
eines Prozessors zur Verarbeitung kommerzieller Befehle dar. Die Baugruppen 16, 18, 20, 21, 22 und 31
zusammen bilden die Adreßsteuereinheit ACU. Die ClP-Befehle werden unmittelbar von der Zentraleinheit
CPU U 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 ClP-Befehle können bis zu drei Operanden haben, wobei
jeder Operand bis zu drei Informationseinheiten umfassen kann, nämlich die effektive Speichrradressc, welche
zum Operanden weist, zweitens den Datendcskriptor. der die Art der Daten im Operanden bestimmt, und
drittens die Länge des Operanden, der, sofern vom Datendcskriptor
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 Aufgabcnwort bezeichnet wird. Der Befehlsprozessor muß in
der Lage sein, diese Informationen zu speichern und zj
wissen, um welche Art von Information es sich handelt, ob es sich bei der von der Zentraleinheit übertragenen
tymviiuvjKi iptui
um um«
Adresse handelt. Er muß diese Information während der Ausübung eires CI P-Befehls verwenden.
Die von der Zentraleinheit CPU empfangenen Befehle werden im Befehisprozessor zum Adressieren des
Hauptspeichers benutzt, um den Operanden für den betreffenden Befehl abzurufen. Zu diesem Zweck muß der
Befehlsprozessor die Adressen im Hauptspeicher 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.
Möchte 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 Registers ist, so
würde der Befehlsprozessor mehr Zeit fü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 Zentraleinheit zum Befehlsprozessor übertragenen Information würde folglich die Arbeitszeit
für einen CIP-Befehl behindern. Folglich ist ein System erwünscht, bei dem der Befehlsprozessor die von
der Zentraleinheit kommende Information dynamisch laden kann, wie sie kommt, unabhängig davon, um wclehe
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 Anförderung 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 von Hauptspeicher abgerufen werden, wird mit Hilfe der Adreß-Steuereinheit ACU des Befehlsprozessors
erreicht
Diese Adreß-Steuereinheit besteht aus einer Steuerdatei RSC, dem Busadreßregister MAR, einem Schieberegister
MSR und einem Speicheradreßaddierer 20. Sie verwendet ferner Eingangssignale vom Funktionscoderegister
BFCR 28 sowie das Eingangsadreßbankregister INAD 30 als Eingangssignalquelle für den Steuerdaten-
Speicher 16 über den internen Bus 14. Die einzelnen Gerätseinheiten sind oben bereits beschrieben worden.
F i g. 6 zeigt das Blockschaltbild der Adreß-Steuereinheit
Der Steuerdatenspeicher RFC 16 wird als Speicherbereich für die von der Zentraleinheit CPU kommende
Informatior benutzt Er erhält ihre Eingangssignale vom internen Eus 14, wobei die 16 Bits unmittelbar
in die Bit-Positionen 8 bis 23 des Steuerdatenspeichers einlaufen, während die Bits 0 bis 7 dem Steuerdatenspeicher
16 entweder von den Bits 0 bis 7 vom internen Bus 14 oder vom Busadreßregister MAR 18 über
den Multiplexer 21 geladen werden. Dem Steuerdatenspeicher 16 zugeordnet ist sein Adreßmultiplexer RFCA
31, der als Eingangssignale Daten unmittelbar vom Sieaerspeicherwort RD oder eine Funktion des Funktionscoderegisters
BFCR 28 benutzt Letzteres hat eine Größe von 6 Bits und überwacht die Adreßbits 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 Eingangsadreßregister 30 ist ein 8-Bit-Register,
welches die oberen 8 Bits der Adresse (BSADOO bis BSAD07) speichert Diese Daten werden mit Hilfe des
Signals BMYACK in das Eingangsadreßbankregister 30 eingegeben, sobald die Antwortlogik einen CIP-Befehl
bej.:ä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.
Die 4 Bits am Ausgang des RFCA-Adreßmultiplexers
31 werden zum Adressieren der 16 Speicherplätze innerhalb des Steuerdatenspeichers 16 benutzt. Diesem ist
ferner eine Schreibsteuerlogik 67 zugeordnet, welche zwei Schreibleitungen aufweist die das Laden des Steuerdatenspeichers
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 Ausgungssignal des Slcuerdatenspeichers
RFC gelangt zur RFC-Vcrricgclungsschaltung 69, welche 24 Bits hat. Diese verriegelt die aus dem
Steuerdatenspeicher ausgelesene Information für spätere Benutzung. Das Speicheradreßregister MAR, welches
auch als Busadreßregister 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 23 entweder
von der Verriegelungsschaltung als Bits 16 bis 23 oder vom Ausgang des Spcicheradreßaddierers 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 Schiebefegiüler 22 kann mil den Bits 0 bis 7
des internen Bus 14 gckidcn werden. Der Übertragausgang
des MAR-Addiercrs 20 ist über ein Exklusiv-NOR-Gatter
65 mit einem Signal verknüpft, welches anzeigt, daß cine 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äß F i g. 6 erläutert
Wie erwähnt ist der Steuerdatenspeicher 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 kann wie folgt geladen werden:
Der untere Speicherteil vom internen Bus (Bits 8 bis 15), der obere Teii vom internen Bus (Bits 0 bis 7)
sowie der untere Teil vom internen Bus (Bits 0 bis 15)
ίο und der obere Teil vom Systembusadreßregister (Bits 0
bis 7). Der zur Durchführung dieser Operationen dienenden Funktion ist eine Adresse zugeordnet welche
dem zu ladenden Speicherplatz im Steuerdatenspeicher 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. gekennzeichnet durch den Funktionscode. Sofern
die R FC-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 Zcntraleinheit
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 (DDl, 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ählstand) zum Adressie-
SS ren des Steuerdatenspeichers 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 Funktionscodcregislers 28.
Nach Empfang des Aufgabenwortes wird der Bank/ählstand
auf 01 fortgeschaltet und sobald eine effektive Adresse EAl von der Zentraleinheit ausgesandt wird, isi
die RFC-Adresse 0100. Die beiden Nullstellen niedriger Ordnung entsprechen den Bits 3 und 4 im Funklionscoderegister,
und zwar für einen l'unktionscode 09 entsprechend der effektiven Adresse EAl. Die interne Organisation
des Steuerdatenspeichers 16 ergibt sich aus Fig. 7.
Im Steuerdatenspeicher RFC 16 sind 16-Bit-Diensi-Speicherplätze ULO, ULI. UL2 vorhanden sowie 24-Bit-Arbeitsspeicherplätze WLO, WLl und WL2. In der oberen Hälfte des Steuerdatenspeichers ist ferner ein 8-Bit-Arbeitsspeicherplatz BUL vorhanden. Jeder dieser Speicherplätze kann von der CIP-Firmware als Arbeits-Speicherplatz verwendet werden. Die Plätze EDTO bis EDT7 werden während eines Aufbereitungsbefehls verwendet und enthalten Aufbereitungstabelleneingänge 1 bis 8. Diese Plätze können auch als 8-Bit-Arbcitsspeicherplätzc für andere Befehle eingesetzt werden. Kin
Im Steuerdatenspeicher RFC 16 sind 16-Bit-Diensi-Speicherplätze ULO, ULI. UL2 vorhanden sowie 24-Bit-Arbeitsspeicherplätze WLO, WLl und WL2. In der oberen Hälfte des Steuerdatenspeichers ist ferner ein 8-Bit-Arbeitsspeicherplatz BUL vorhanden. Jeder dieser Speicherplätze kann von der CIP-Firmware als Arbeits-Speicherplatz verwendet werden. Die Plätze EDTO bis EDT7 werden während eines Aufbereitungsbefehls verwendet und enthalten Aufbereitungstabelleneingänge 1 bis 8. Diese Plätze können auch als 8-Bit-Arbcitsspeicherplätzc für andere Befehle eingesetzt werden. Kin
bo Bcfchlsprozessor-Betricbsartrcgistcr CM, auch als M3
bezeichnet, ist vorgesehen. Die Spalte TASK cnispriehi
dem von der Zentraleinheit CPU empfangenen Atifgabenbefehl.
DDl. DD2 und DD3 sind die 16-Bii-Speichcrplätzc.
welche die Datendtskriptorcn I, 2 und J aus
der Zentraleinheit aufnehmen. EAI, ΕΛ2 und ΚΛ3 sind
24-Bit-Spcicherplätzc für die Effektivadressen der drei
Operanden. RF4. R5 und R6 sind le-Bit-Speichcrpläl/c
für den Inhalt entsprechender Register in der Zentral-
einheit. Das Busadreßregister 18 liefert eine 24-Bit-Adresse zur Übertragung Ober den Bus 19 während des
Buslesezyklus. Die Schaltlogik des Busadreßregister 18 ergibt sich aus F i g. 8. Es besteht aus vier 4-Bil binären
Auf/Abwärlszählcrn 503 bis 506 und zwei Mulliplcxcrrcgistcrbauslcincn 500 und 501. welche die 24-Bk-Adresse bilden. Dem Busadreßregister 18 zugeordnet
ist ein 8-Bit-Binäraddierer, genannt Speicheradreßaddicrcr 20 sowie ein 8-Bit-Schieberegister MSR 22, mit
dessen Hilfe der Addierer das BusadreEregister 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: (l)Sie bilden die beiden höchstwertigen Bytes der Adresse, (2) empfangen
Adressendaten aus dem Steuerdatenspeicher RFC, sobald das Ladesignal BMRERF echt ist, und (3) werden
fort- oder zurückgeschaltet in einer Addier- oder Subirahieroperation, sobald der Aktivierungszählstand
(BMRENC-)-Signal echt ist und ein Übertrag vom
Adrcßaddicrer20 vorliegt (BMRENl- ist echt). Sie werden um i fortgeschaltet, wenn das Addiersignai
BMRADD 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
geringst wertige Byte der Adresse und empfangen Daicn entweder vom Steuerdatenspeicher (BMRFRF ist
echt) oder vom Addierer (BMRFRF ist unecht), und zwar während des negativen Übergangs der Takteingangsleitungen über das Ladesignal (BMRLDL). Der
8-Rh-Adreßaddierer 20 dient auch während der Ausführung eines Übersetzungsbefehls 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/Dezimalumwandlungsbefehlen.
Die Steuerung der Adrcßstcuercinhcit 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 Adreßaddierer-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 fvtSR-Rcgislcrs und (4) Laden des .Steuerdatenspeichers
(RI-C) 16). Das RFCAD-FcId besteht aus den Bits 28 bis
Jl des !;irmware-Wortes und wird mit einer Ausnahme
für die Direkladrcssicrung des Steuerdatenspeichers für iiNc Lese- und Schreiboperationen benutzt. Wenn einer
.Schreiboperation zugeordnete Daten aus dem Systembus stammen, wird die RFC-Adresse durch den Funktionscodc'eil des von der Zentraleinheit 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); ist 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 I (MSR sollte eine Zweier-Komplementärzahl enthalten); (3) MRSRS — Ladebusadreßregister
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 I Bit nach rechts und fülle eine Null in die
Stelle des höchstwertigen Bits; (5) MSRSL — verschiebe den Inhalt des MSR-Registers um I Bit nach links
und fülle die Stelle des geringstwertigen Bits mit 0, und
(6) MSRLD - lade das MSR-Register (Bits 0 bis 7 mit
ίο den Bits 0 bis 7 des internen Bus.
Die Mikrobefehle für die Registerdatei C sind folgende: (I)CFMR — lade Registerdatei C aus'dem MAR-Register; (2) CUFEBX — lade Registerdatei C (obere 8
Bits) vom Eingangsadreßregister; (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. E- 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.
F i g. i0 zeigt die Sieueriogik für das Busadreßregister MAR 18, das Schieberegister 22 sowie den Busaddierer 20 gemäß F i g. 8. Wie F i g. 9 erkennen läßt, wer-
den 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 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 weren die Funktionen BMSTO+ und
BMSTl + erzeugt. Diese beiden Funktionen werden direkt zur Steuerung des Schieberegisters 22 eingesetzt
Wenn die Bits 26 und 27 00 sind, so wird im Schieberegi
ster 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 Busadreßregisters 18 und des Addierers 20 ausgenul/t. Wenn das Bit 24 »0« ist, dann ist der
so Ausgang des Inverters 629»! «,und das Bit 15 vom Wert
»1« setzt den Ausgang des NAND-Gatters 331 auf »0«. Damit 'vird 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 Busadreßregister 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.
1st 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 Busadrcßaddiercr 20 im Addicr/ustand bcfin-
det Die Funktion BMRADD— wird einem Inverter 635 zugeleitet, der das Signal BMRADD+ erzeugt Dieses
wird im Exklusiv-NOR-Gatter637 einer Verknüpfungsoperation mit dem Signal BABRCR+ unterworfen,
welches das Übertragsausgangssignal des Addierers 20 ist Damit wird die Funktion BMRENl — erzeugt, nämlich
die Fortschalt/Rückschaltfunktion. Dieses Signal steuert das Fortschalten bzw. Rückschalten der vier
Fortschalt/Rückschaltzähler 503 bis 506 des MAR-Registers 18. Das Ausgangssignal BMRENl — des Gatters
337 ist an den Zähler 506, d. h. an denjenigen mit der
geringsten Wertigkeit von den vier Zählern des Busadreßregisters 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« gesetzt,
der Ausgang 2 des Decoders 633 geht auf »0« und es wird angezeigt, daß der Busadreßaddierer sich im
Subtrahierzustand befindet Dieses Signal gelangt ferner zum ODER-Gatter 639 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 Eingangssignal nach »0« geht das Ausgangssignal BMRENC— auf »0« schaltet
In jedem Fall, unabhängig davon, ob sich der Addierer 20 im Addierbetrieb oder im Subtrahierbetrieb befindet
ist das Ausgangssignal des ODER-Gatters 639 »0« und aktiviert Uie Zähler 503 bis 506 zum Vorwärts-
oder Rückwärtszählen in A,bhängip.u.eit vom Übertragausgangssignal
des Addierers 20 und abhängig davon, ob es sich um Addier- oder Suhtralr-rbetrieb 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 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. Um im Busadreßregister mit
Hilfe der Zähler 503 bis 506 zu zählen, müssen sich beide
Ausgangssignale BMRENC- und BMRENl- im Zustand »0« befinden, und darüber hinaus 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
5OQ und 501 verwendet.
Das vierte Ausgangssignal des Decoders 633, nämlich das Signal BMRFRF zeigt an, daß das Busadreßregister
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 »0« hat, das Ausgangssignal des ODER-Gatters 641 ebenfalls
»0« sein, wodurch 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ähh es das Ausgangssignal der
Verriegelungsschaltung 69 für die Registerdatei C und lädt dieses in die Multiplexerregister 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
Busadreßregister 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 Ak'.ivierungsfunktion für die Multiplexerregister
bewirkt
Hierzu 7 Blatt Zeichnungen
Claims (1)
1. Datenverarbeitungsanlage mit einem ersten und einem zweiten Prozessor, einer Verbindungseinrichtung
zwischen den beiden Prozessoren, über die der zweite Prozessor Daten und Befehle vom ersten
Prozessor empfangen kann, sowie mit einem Hauptspeicher, der von beiden Prozessoren adressiert
wird, wobei der zweite Prozessor einen Steuerspeicher für mehrere Mikrobefehle zur Steuerung seines
Betriebs aufweist, dadurch gekennzeichnet, daß der zweite Prozessor (13) folgende Einrichtungen
aufweist:
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 DE2952163A1 (de) | 1980-07-17 |
| DE2952163C2 true 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 |
| EP0523758B1 (de) * | 1983-04-18 | 1998-02-25 | Motorola, Inc. | Verfahren und Vorrichtung zum Koordinieren einer Instruktionsausführung durch eine Zusatzdatenverarbeitungseinheit |
| 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 |
Family Cites Families (5)
| 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 |
| US4104720A (en) * | 1976-11-29 | 1978-08-01 | Data General Corporation | CPU/Parallel processor interface with microcode extension |
| 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 AU AU54248/79A patent/AU531381B2/en not_active Ceased
- 1979-12-28 JP JP54173933A patent/JPS5838819B2/ja not_active Expired
- 1979-12-31 GB GB7944626A patent/GB2039109B/en not_active Expired
Also Published As
| Publication number | Publication date |
|---|---|
| FR2445992A1 (fr) | 1980-08-01 |
| US4258420A (en) | 1981-03-24 |
| GB2039109A (en) | 1980-07-30 |
| GB2039109B (en) | 1983-05-11 |
| JPS5838819B2 (ja) | 1983-08-25 |
| JPS5592965A (en) | 1980-07-14 |
| FR2445992B1 (de) | 1984-10-19 |
| DE2952163A1 (de) | 1980-07-17 |
| AU531381B2 (en) | 1983-08-18 |
| AU5424879A (en) | 1980-07-10 |
| CA1127772A (en) | 1982-07-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE2846495C2 (de) | Zentraleinheit | |
| DE1901228C3 (de) | Datenverarbeitungsanlage mit Einrichtungen zur Wiederholung von Operationen bei Auftreten eines Fehlers | |
| DE3424962C2 (de) | ||
| DE2357003C2 (de) | Prozessor für eine Mehrprogramm-Datenverarbeitungsanlage | |
| DE3687666T2 (de) | Verzweigungssteuerung in einem dreiphasen-pipeline-signalprozessor. | |
| DE2117936C3 (de) | Mikroprogrammgesteuerte Zentraleinheit eines elektronischen Datenverarbeitungssystems | |
| DE1931966C3 (de) | Datenverarbeitungsanlage mit Assoziativspeichern | |
| EP0097725B1 (de) | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen | |
| DE2837872A1 (de) | Digitalrechner mit ueberlappender betriebsweise unter verwendung einer bedingten steuerung zur minimierung von zeitverlusten | |
| DE1549523B2 (de) | Datenverarbeitungsanlage | |
| DE1499200B2 (de) | Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung | |
| DE2714805A1 (de) | Datenverarbeitungssystem | |
| DE3686828T2 (de) | Hochleistungsparalleler vektorprozessor mit modifizierter register/elementprozessor konfiguration. | |
| DE2612139A1 (de) | Ein/ausgang-steuerungssystem | |
| DE2712224A1 (de) | Datenverarbeitungsanlage | |
| DE2524046A1 (de) | Elektronische datenverarbeitungsanlage | |
| DE3121742C2 (de) | Mikroprogramm-Steuereinrichtung | |
| DE69616718T4 (de) | Vorrichtung und verfahren zur bestimmung von adressen fehlausgerichteter daten | |
| EP0010185A1 (de) | Virtuell-Adressiervorrichtung für einen Computer | |
| DE2054830B2 (de) | Informationsverarbeitungsanlage mit mitteln zum zugriff zu speicher-datenfeldern variabler laenge | |
| DE2952163C2 (de) | Datenverarbeitungsanlage mit einem ersten und einem zweiten Prozessor | |
| DE2830334C2 (de) | ||
| DE2952072C2 (de) | Rechenschaltung zum Addieren oder Subtrahieren binär codierter Dezimalzahlen | |
| DE2906685C2 (de) | ||
| DE2336333A1 (de) | Elektronischer tischrechner mit in mos-technik ausgefuehrter logischer schaltung |
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 |