[go: up one dir, main page]

DE2952163C2 - Datenverarbeitungsanlage mit einem ersten und einem zweiten Prozessor - Google Patents

Datenverarbeitungsanlage mit einem ersten und einem zweiten Prozessor

Info

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
Application number
DE2952163A
Other languages
English (en)
Other versions
DE2952163A1 (de
Inventor
Virendra S. Pepperell Mass. Negi
Arthur Sudbury Mass. Peters
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bull HN Information Systems Inc
Original Assignee
Honeywell Information Systems Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Honeywell Information Systems Inc filed Critical Honeywell Information Systems Inc
Publication of DE2952163A1 publication Critical patent/DE2952163A1/de
Application granted granted Critical
Publication of DE2952163C2 publication Critical patent/DE2952163C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent 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. 3 das Blockschaltbild 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;
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
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
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\.
III.· · WlIgIQVIl IIWI WIW UV.» IM.VIIVII »» Vl *%.*> WVI UIV^VIIVII
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
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)

Patentansprüche:
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:
DE2952163A 1979-01-03 1979-12-22 Datenverarbeitungsanlage mit einem ersten und einem zweiten Prozessor Expired DE2952163C2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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