DE2952163A1 - Dv-anlage mit zwei datenprozessoren - Google Patents

Dv-anlage mit zwei datenprozessoren

Info

Publication number
DE2952163A1
DE2952163A1 DE19792952163 DE2952163A DE2952163A1 DE 2952163 A1 DE2952163 A1 DE 2952163A1 DE 19792952163 DE19792952163 DE 19792952163 DE 2952163 A DE2952163 A DE 2952163A DE 2952163 A1 DE2952163 A1 DE 2952163A1
Authority
DE
Germany
Prior art keywords
processor
register
address
memory
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19792952163
Other languages
English (en)
Other versions
DE2952163C2 (de
Inventor
Virendra S Negi
Arthur 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 Italia SpA
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 Italia SpA filed Critical Honeywell Information Systems Italia SpA
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; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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

- 5 - \ naohgereioht)
WW444I
Die Erfindung betrifft eine DV-Anlage gemäß Gattungsbegriff des Anspruchs 1 und befaßt sich insbesondere mit einer zugehörigen Steuerdatei. In DV-Anlagen mit einem sogenannten Hauptprozessor und einem sogenannten Nebenprozessor werden Befehle und/oder Daten des Hauptprozessors vom Nebenprozessor empfangen und müssen im Nebenprozessor gespeichert werden. Dies in vorgegebenen Speicherplätzen des Nebenprozessors geschehen» damit die Befehle und
Im
Daten verfügbar sind, ohne daß diese Speicher des Nebenprozessors gesucht werden müssen. Aufgabe der Erfindung ist es, einen hierfür geeigneten Aufbau der Steuerdatei zu finden. DarUberhinaus ist es von Vorteil, wenn zugleich mit dem Laden der Information in den Speicher des Nebenprozessors das Adressieren des Hauptspeichers erfolgen würde, unabhängig von anderen Operationen im Nebenprozessor. Dies bedeutet eine Zeitersparnis, weil die Verarbeitung der Daten im Nebenprozessor und das Adressieren des Hauptspeichers zeitlich parallel zueinander erfolgt.
Die erwähnte Aufgabe wird gelöst durch die im Anspruch 1 gekennzeichnete Erfindung. Sie besteht im wesentlichen darin, daß die vom Hauptprozessor an den Hilfsprozessor gelieferte Information in einer Steuerdatei gespeichert wird, welche entweder durch ein Firmware-Wort des SteuerSpeichers oder durch Benutzung des Funktionscodes aus einem vom Hauptprozessor empfangenen Befehl adressiert wird. Die in der Steuerdatei gespeicherte Information wird zum Adressieren des Hauptspeichers ausgenutzt. Die Adresse für den Hauptspeicher kann zur gleichen Zeit fortgeschaltet oder zurückgeschaltet werden, wie Operanden aus dem Hauptspeicher zur Verarbeitung abgerufen werden. Vorteilhafte Ausgestaltungen der Erfindung ergeben sich aus den Unteransprüchen.
Die Erfindung wird nachfolgend anhand eines in den Zeichnungen wiedergegebenen Ausführungsbeispiels im einzelnen erläutert. Dabei zeigt
030029/0697
Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
den Systemaufbau einer DV-Anlage; das Ablaufdiagramm der Betriebszustände im
Prozessor einer solchen DV-Anlage;
das Blockschaltbild des Prozessors; eine Darstellung des Inhalts eines Registers des
Prozessors;
das Blockschaltbild des Rechenwerks; das Blockschaltbild der Adress-Steuereinheit des
Prozessors;
den internen Aufbau der Steuerdatei; das Blockschaltbild des Adressregisters und Addierers;
einen Teil des Firmware-Wortes im Prozessor; und die Steuerlogik für das Adressregister und den
Addierer des Prozessors;
0300 29/0697
In Flg. 1 dient der Befehlsprozessor CIP 13 (commercial Instruction processor) der Erweiterung der Zentraleinheit CPU 11, insbesondere ihrer Kapazität an Befehlsgruppen durch Verwendung einer wirkungsvollen Gruppe herkömmlicher Befehle. Diese Befehle gestatten es, der Zentraleinheit 11 über den Befehlsprozessor 13 dezimale und alphanumerische Daten zu verarbeiten, wobei folgende Befehlsarten auftreten: Dezimal, Alphanumerisch, Datenumwandlung und Aufbereitung. Der Nachrichtenaustausch zwischen dem Befehlsprozessor 13 und der Zentraleinheit 11 sowie dem Hauptspeicher 17 erfolgt über eine gemeinsame Systemsammeischiene, genannt Bus 19. Der Befehlsprozessor 13 arbeitet als Zusatz zur Zentraleinheit und empfängt Befehle und Operanden als ubertragungsinformationen von der Zentraleinheit und/oder dem Speicher. Der Befehlsprozessor verarbeitet die Befehle,wie sie von der Zentraleinheit 11 über den Bus 19 ausgesandt werden. Die Zentraleinheit erhält diese Befehle vom Hauptspeicher und prüft jeden abgerufenen Befehl, ob es sich um einen kommerziellen Befehl handelt. Der Empfang eines jeden kommerziellen Befehls durch den Befehlsprozessor tritt üblicherweise gleichzeitig an der Zentraleinheit auf, da die Zentraleinheit jeden Befehl vom Speicher abzieht und decodiert. Die Befehlsverarbeitung durch den Befehlsprozessor 13 verläuft jedoch asynchron zum Betrieb der Zentraleinheit 11. Ist kein Befehlsprozessorsystemvorhanden, so führt jeder Versuch zur Ausübung eines kommerziellen Befehls dazu, daß die Zentraleinheit einen speziellen Abfangzustand annimmt.
Der Befehlsprozessor 13 empfängt über den Bus 19 Informationen von der Zentraleinheit 11 und vom Hauptspeicher 17 und verarbeitet diese Informationen in logischer Folge. Diese besteht aus drei CIP-Betriebszuständen: Frei, Laden, Belegt und Abfangzustand.
Wie Fig. 2 zeigt, fängt der Befehlsprozessor 13 im Block 200 an und bleibt im Freizustand gemäß Block 202,solange er keine Informationen verarbeitet und muß auch im Freizustand sein, um
030029/0697
einen Befehl» z.B. einen CIP-Befehl oder einen Ein/Ausgabebefehl von der Zentraleinheit aufzunehmen. Beim Eingang eines Befehls gemäß Block 204 wird im Block 205 festgestellt, ob der Befehl zulässig ist,und der Befehleprozessor geht in den Ladezustand 206 über. In diesem Zustand bleibt er solange, bis alle zugehörige Befehlsinformation empfangen ist. Ist dies im Block 208 abgeschlossen, so geht der Befehlsprozessor 13 in den Belegtzustand gemäß Block 210 über und verarbeitet die Information. Jeder weitere Versuch der Zentraleinheit mit .dem Befehlsprozessor Informationen auszutauschen, wird von diesem zurückgewiesen, solange er im Belegtzustand ist und wird erst dann möglich, wenn er erneut den Freizustand annimmt. Die CIP-Verarbeitung umfaßt Informationsübertragungsaktivitäten mit dem Hauptspeicher 17, wenn die notwendigen Operanden abgerufen werden. Der Befehlsprozessor geht in den Abfangzustand gemäß Block 212 nur dann über, wenn spezielle unzulässige Ereignisse auftreten (Block 214), w;e beispielsweise die Feststellung einer unzulässigen Länge des Operanden oder eines Befehls außer der Reihe. Er kehrt zum Freizustand zurück, sobald gemäß Block 216 die Operation abgeschlossen ist.
Alle zugehörigen Befehlsübertragungen zum Befehlsprozessor werden gemeinsam von der Zentraleinheit und vom Befehlsprozessor erledigt. Sie werden decodiert und von der Zentraleinheit zusammen mit allen zur Ausführung der Befehle erforderlichen Informationen zum Befehlsprozessor übertragen. Sobald die Informationsübertragung beendet ist, fahren die Zentraleinheit und der Befehlsprozessor mit der Ausführung ihrer entsprechenden Befehle fort. Jeder CIP-Befehl enthält ein Befehlswort von 16 Bit, an welches sich unmittelbar bis zu sechs zusätzliche beschreibende Worte von ebenfalls 16 Bit Länge anschließen, welche als Datendeskriptoren und Etiketten bezeichnet werden. Das Befehlswort enthält den zur verarbeitung zum Befehlsprozessor gesandten ClP-Operationscode. Die Datendeskriptoren beschreiben den Typ des Operanden, den Umfang und den Speicherplatz;das Etikett liefert die Adresse eines fernen Datendeskriptors. Sowohl der Datendeskriptor als auch das
030029/0697
Etikett werden von der Zentraleinheit verarbeitet und hierbei erzeugte Information, beispielsweise der Operandentyp und die Speicheradresse werden zur Weiterverarbeitung zum Befehlsprozessor gesandt? Zentraleinheit analysiert den Operationscode in jedem Befehl. Stellt sie einen CIP-Befehl fest, d.h. befindet sich der Befehlsprozessor im Freizustand, so sendet die Zentraleinheit den Befehlsoperationscode und die zugehörige Information In folgender Weise aus:
(i) Die Zentraleinheit sendet den Operationscode, d.h. das erste Wort des kommerziellen Befehls an den Befehlsprozessor. Dieser geht in den Ladezustand über, sobald er den Operationscode annimmt ;
(ii) die Zentraleinheit ruft den ersten Datendeskriptor ab und fragt die Adressensilbe ab, um die wirksame Adresse zu erzeugen; iiii) die Zentraleinheit gibt die folgende Information ab: Die aus 24 Bit bestehende effektive Byte-Adresse des ersten Operanden, gegebenenfalls den Inhalt des entsprechenden Datenregisters der Zentraleinheit und den Datendeskriptor des ersten Operanden derart auf den neuesten Stand gebracht, daß sie die Lage eines Bytes (8 Bits) oder eines Halb-Bytes (4 Bits) innerhalb eines Wortes wiedergibt.
Sind weitere, beispielsweise ein zweiter oder ein dritter Operand vorhanden, so führt die Zentraleinheit die entsprechenden Vorgänge der Schritte ii und iii aus.
Zu diesem Zeitpunkt wird der Befehleprozessor 13 mit aller für die Ausführung kommerzieller Befehle erforderlichen Information geladen und geht in den Belegtzustand über, um den Befehl auszuführen.Falls notwendig, tritt der Befehleprozessor 13 unmittelbar inInformationsaustausch mit dem Hauptspeicher 17, um die zugehörigen Operanden zu erhalten. Der Befehlsprozessor 13 hat jedoch niemals direkten Zugriff zu den Registern der Zentraleinheit 11. Er verwendet nur Informationen, die ihm von der Zentraleinheit zugesandt wurde Somit werden keine CPU-Register vom Befehlsprozessor geändert,und die Zentraleinheit arbeitet solange den nächsten und jeden folgenden CPU-Befehl ab»
030029/0697
bis einer der folgenden Zustände auftritt: (i) der Befehlsprozessor setzt die Zentraleinheit über einen Abfangvektor (TV) davon in Kenntnis, daß während der Ausführung des laufenden kommerziellen Befehls ein unzulässiges Ereignis aufgetreten ist; oder (ii) von der Zentraleinheit wird ein internes oder externes Unterbrechungssignal festgestellt.
Liegt ein solches Unterbrechungssignal vor, so bestimmt die Zentraleinheit, ob der letzte kommerzielle Befehl vom Befehlsprozessor ausgeführt wurde. Die Zentraleinheit waztet bis zur Beendigung des letzten kommerziellen Befehls. Sobald dies geschehen ist, bestimmt sie, ob sich hieraus eine Abfanganforderung ergibt. Ist dies der FaIl1 gibt die Zentraleinheit der Abfanganforderung Vortritt, ehe sie eine Unterbrechung durchführt. Hierdurch wird eine typische Operation zur Speicherinhaltssicherung und Wiedereinspeicherung ausgelöst, um alle entsprechenden CPU und CIP Zustandsinformationen zu speichern. Bei Abschluß der CPU-Operation für die Erledigung einer CIP-Abfanganforderung oder, sofern keine Abfanganforderung ansteht und ein CIP-Befehl zur Verarbeitung vorhanden ist, geht die Zentraleinheit wie folgt vor: Sie schaltet ihren Programmzähler fort, bis zu dem kommerziellen Befehl, den sie in Gang zu setzen versuchte. Die Zentraleinheit 11 verzögert den Versuch der Verarbeitung des kommerziellen Befehls solange, bis der laufende Unterbrechungsvorgang abgewickelt ist. Sie beachtet und bedient die von einem Außengerät verursachte Unterbrechung.
Wenn der Befehlsprozessor 13 einen Befehl abarbeitet, können alle CPU-Register einschließlich derjenigen,die vom laufenden kommerziellen Befehl angesprochen sind, durch ein Programm über CPU-Befehle geändert werden. Die Software braucht jedoch den Operanden für einen kommerziellen Befehl solange nicht zu ändern, bis der Befehlsprozessor diesen Befehl durchführt. Andernfalls würden unbestimmte Ergebnisse erzielt werden. Verzweigungsbefehle im Befehlsbestand des Befehlsprozessors CIP 13 werden snychron von der Zentraleinheit CPU 11 und vom Befehleprozessor CIP 13 verarbeitet.
030029/0697
Die drei von Befehlsprozessor verarbeiteten Datenarten sind alphanumerische Daten, binäre Daten und Dezimaldaten, Jeder Datentyp ist in Gruppen von Binärinformationen eingeteilt. Per Definition hat diese Einheit acht Bits ( ein Byte), wenn alphanumerische und binäre Datenzeichen anstehen. Wenn dezimale Datenzeichen vorliegen, hat die Einheit vier Bits (HaIb-Byte) für paketierte Dezimaldaten und acht Bits (ein Byte) für Reihendezimaldaten. Eine einzige Präzisionsbinärzahl besteht ebenfalls aus zwei Einheiten (2 Bytes) und eine Doppelpräzisionsbinäreinheit besteht aus vier Einheiten (4 Bytes).
Fig. 3 zeigt das wesentliche Blockschaltbild des Befehlsprozessors 13 mit allen bedeutsamen Datenübertragungswegen zwischen den Registern des Prozessors. Der Steuerspeicher 10 besteht aus mehreren Speicherplätzen und zwar jeweils einem für jedes Steuerspeicher- oder Firmware-Wort. Diese Firmwareworte steuern direkt oder indirekt die Prozessorfolgen, Datenübertragungswege sowie den Busbetrieb.
Eine Operandenregisterdateien sowie das Rechenwerk umfassende Einheit RALU 12 enthält in erster Linie zwei Registerdateien, ein Rechenwerk (ALU) sowie die zugehörigen Multiplexer und Steuerregister. In derGeräteeinheit RALU 12 befinden sich Operandenregisterdateien RF1 und RF2, von denen jede 16 Speicherplätze für jeweils 16 Bit aufweist, die als Pufferspeicher für im Rechenwerk ALU zu verarbeitende Operanden dienen. Die ALU-Eingangsmultiplexer und Verriegelungsschaltungen umfassen drei 2:1-Multiplexer (Zcnenauswahl), zwei 4:4 Multiplexer (Ziffernauswahl) sowie zwei 8 Bit Verriegelungsschaltungen (Byteverriegelung). Diese Multiplexer und Verriegelungsschaltungen werden für die übertragung von Daten aus den Operandenregisterdateien an das Rechenwerk benutzt. Daten können auch vom Zähler für das laufende Produkt an die linke Seite des Rechenwerks oder von der Operandenregisterdatei 2 an das Multiplikationsregister übertragen werden. Das 8 Bit-Rechenwerk ALU,bestehend aus zwei 4-Bit-Bausteinen, einem Vörwärtsübertragungsbaustein und einem Eingabe/Ausgabe-Flip-Flop kam folgende Operationen zwischen den linken (1) und rechten (2) Ausgängen ausführen: Binäre Addition, binäre
030029/0697
Subtraktion des Eingangssignals 1 vom Eingangssignal 2, binäre Subtraktion des Eingangssignals 2 vom Eingangssignal 1, logische ODER-Verknüpfung, logische UND-Verknüpfung, Exklusiv-ODER-Verknüpfung, Setzen des Rechenwerkausgangs auf FF, Löschen des Rechenwerkausgangs auf 00. Die Einheit RALU 12 wird später anhand von Fig. 5 im einzelnen erläutert.
Die Uberschuß-6-Korrekturlogik XS6 der Einheit RALU 12 wird jedesmal aktiviert, wenn das Rechenwerk im Dezimalbetrieb arbeitet und dient dazu, das binäre Ausgangssignal des Addierers in die kcrrekte Dezimalziffer umzuwandeln und dabei den Ubertragausgang für Folgeoperationen zu modifizieren. Die XS6-Korrektur wird mit Hilfe eines 32-Bit mal 8-Bit programmierbaren Festwertspeichers PROM durchgeführt, welcher die korrigierten drei Bits hoher Wertigkeit der Ziffer codiert und den korrigierten Übertrag erzeugt. Am Ausgang des PROM-Bausteins ist für andere Steierzwecke Funktionssignal für Ziffern kleiner als Zwei vorhanden. Der Ausgangsmultiplexer des Rechenwerks wird dazu benutzt, entweder die oberen vier Bits des Addiererausgangssignals oder die korrekten Dezimalzonenbits der internen Sammelschiene, genannt Bus 14, zuzuführen und zwar abhängig davon, ob das Rechenwerk im Binärbetrieb oder Dezimalbetrieb arbeitet. Die RALU-Steuereinheit besteht aus drei Registern, nämlich einem Registerdatei-1-Adressregister RF1A, einem Registerdatei-2-Adressregister RF2A und einem Rechenwerk-BetriebsartSteuerregister ALMR. Diese Register steuern zusammen mit verschiedenen Mikrobefehlen alle Vorgänge innerhalb der Geräteeinheit RALU 12. Neben den beschriebenen Registern und Steuereinrichtungen sind zwei weitere Register vorhanden, welche als RALU-Register eingeordnet sind. Dies sind der Zähler CPRC für das laufende Produkt sowie das Multiplikatorregister MIER.
Die Steuerdatei 16, auch als Registerdatei C (RFC) bezeichnet, ist ein 24-Bit Speicher mit wahlfreiem Zugriff (RAM) mit 16 Speicherplätzen und wird hauptsächlich benutzt, um alle befehlsbezogenen Informationen zu speichern,die von der Zentraleinheit CPUI1 kommen, beispielsweise Aufgabenworte, Datendeskriptcren, effektive Adressen usw. Die Steuerdatei enthält ferner mehrere
030029/0697
Wortspeicherplatze, welche durch die Firmware des Befehlsprozessors CIP benutzt werden. Die Steuerdatei 16 empfängt die Bits 0 bis 7 entweder vom internen BUS 14 oder Über den Multiplexer 21 mit ODER-Logik vom Bus-Adressregister MAR 18. Das Busadressregister 18 ist ein 24-Bit-Adressregister und dient hauptsächlich der Adressierung des Systembus 19. Es besteht aus einem 8-Bit-Multiplexerregister mit zwei Eingängen am unteren Ende sowie einer 16-Bit-Fortschalt/Rückschalteinrichtung am oberen Ende. Das Multiplexeingangssignal für die unteren 8 Bits kommt entweder von der Steuerdatei 16 oder vom Ausgang des Adressaddierers 20. Letzterer ist ein 8-Bit-Zweierkomplement-Addierer und wird in erster Linie zum Fortschalten oder Rückschalten des Inhalts im Busadressregister 18 eingesetzt. Die Eingangssignale zum Adressaddierer 20 sind die geringwertigen 8 Bits des Busadressregisters und des 8-Bit-Schieberegisters MSR 22. Hierbei handelt es sichun.ein
e-Bit-Unlversalschieberegister, welches vom internen Bus 14 geladen wird und seinen Inhalt um 1 Bit nach links oder rechts verschieben kann, d.h. eine Offenend'Verschiebung mit Nullergänzung. Das Schieberegister arbeitet als Eingang des Adressadctierers 20 zum Fortschalten oder Zurückschalten des Busadressregisters Außerdem kann das Bit S des Schieberegisters 22 in das Rechenwerk-Eintrag-Flip-Flop geladen werden, welches sich während der Ausführung von Umwandlungsbefehlen als nützlich erweist.
Das Busausgangsdatenregister OUR 24 ist ein 16-Bit-Datenregister und wird zur Datenübertragung auf die Datenleitungen des Bus 19 benutzt. Es wird vom internen Bus 14 entweder mit dem unteren oder dem oberen Byte oder dem gesamten 16-Bit-Wort geladen. Beim Buseingangsdatenregister INR 26 handelt es sich um ein 16-Bit-Datenregister, welches Daten von den Datenleitungen des Bus 19 empfängt. Der Inhalt dieses Datenregisters kann in den internen Bus 14 umgeladen werden.
Das EingangsfvnkticQscoderegister BFCR 28 stellt sich als 6-Bit-Reglster dar, welches der Speicherung des Funktionscodes dient, wenn der Befehlsprozessor vom Bus 19 irgendwelche Eingangs- oder Ausgangebefehl annimmt. Anschließend prüft die Firmware den
030029/0697
Inhalt des Funktionscoderegisters 28 und führt den angegebenen Befehl durch. Das Eingangsadressbankregister INAO 30 ist ein 8-Bit-Register für die Speicherung der höherwertigen 8 Speicheradressbits, die über die Adressleitungen des Bus 19 ankommen. Sie enthalten die Speichermoduladresse und werden von der Zentraleinheit 11 als Ergebnis eines sogenannten IOLD-Befehls oder eines Ausgangs-Funktionscodes für Effektivadressen übertragen. Die niederwertigen 16 Bits der Speicheradresse werden über die Datenleitungen des Bus 19 empfangen und in das INR-Register 26 eingegeben und bilden die geforderte 24-Bit-HauptSpeicheradresse.
Das CIP-Anzeigeregister 32 ist als 8-Bit-Speicherregister ausgebildet, in dem jedes Bit einzeln gesetzt oder rückgestellt werden kann. Die Bit-Konfiguration des Anzeigeregisters ist in Fig. 4 dargestellt. Die TRP- und TRP-Leitungs-Anzeiger werden vom Befehlsprozessor nur für interne Verarbeitung benutzt und sind für die Software unsichtbar. Der TRP-Leitungsanzeiger (CIP-Abfangleitung) informiert die Zentraleinheit 11 über einen bestehenden CIP-Abfangzustand und wird über das externe Abfangsignal über den Bus 19 übertragen. Ist der TRP-Anzeiger gesetzt, so kann der Befehleprozessor nur Eingangsbefehle von der Zentraleinheit CPU annehmen.
Das Analysenregister AR34 ist ein 16-Bit-Register und wird in erster Linie zur Steuerung von Mikroprogrammversweigungen tnaskierte Verzweigungen) benutzt sowie zur Steuerung der Codier/ Decodierlogik für das Uberlochbyte. Dieses Register wird vom internen Bus 14 mit dem gesamten 16-Bitwort geladen. Das mikroprogrammierbare Schaltregister MPSR 36 stellt sich als 8 Bitregister dar, indem durch Steuerung über Mikroprogramm jedes Bit einzelnen gesetzt oder rückgestellt werden kann. Jedes Bit im Register 36 wird als Anzeiger zur Erleichterung der Mikroprogrammierung benutzt, d.h. die Firmware kann jedes der Registerbits prüfen und in Abhängigkeit vom Prüfergebnis Verzweigungsoperationen ausführen. Einige dieser Bits werden auch zur
030029/0697
Steuerung bestimmter Hardware-Funktionen im Befehlsprozessor 13 genutzt.
Beim ROS-Datenregister RD 38 handelt es eich um ein 52-Bit-Speicherregister für die Speicherung de* Steuerspeicherausgangssignals (eines Firmwarewortes)im laufenden Firmwarezyklus. Das Mikroprogramm-Rückkehradressadressregfcter 8RA 40 ist ein 11-Bit-Register und wird vom Ausgangssignal der Folgeadresslogik NAG 42 geladen. Es dient der Speicherung der Mikroprogrammrückkehradresse beim Ausführen einer Firmware-Subroutine. Der Registerdatei-C-Adressmultiplexer/selektor RFCA 31 ist ein 4-Bit-2;1-Selektor und kann einen der 16 Speicherplätze innerhalb der Registerdatei C16, d.h. innerhalb der Steuerdatei adressieren. Der Selektor 31 wählt eine Kombination des Funktionscoderegisters 28 sowie entweder den Zähler (1)46 oder bestimmte Bits des ROS-Datenregisters 38 an. Die ClP-Zähler 44 enthalten drei 6-Bit-Auf/Ab-Zähler 46, 48 und 50, welche als Zähler 1(CTR1),Zähler 2 (CTR 2) und Zähler 3(CTR 3) bezeichnet sind. Diese Zähler werden über den internen Bus 14 geladen und entladen. Der Inhalt jedes Zählers steht für Prüfung- und Verzweigungsoperationen zur Verfügung .
Die Decodier/Codierlogik 52 für das Oberlochbyte umfaßt zwei Speicherbausteine in Form programmierbarer Festwertspeicher ρROM reit 512 Speicherplätzen für je 4 Bit. Sie werden zum Decodieren und Codieren des Inhalts des Analysenregisters AR34 eingesetzt. Das decodierte Byte wird von den Bits 1 bis 7 des Analysenregisters erhalten#und den codierten Ziffernanfang erhält man von den Bits 4 bis 7 des Analysenregisters. Die Decodier/Codieroperation wird durch Verwendung der Bit 1 bis 7 des Analysenregisters benutzt, um hierdurch einen speziellen PROM-Speicherplatz zu adressieren. Der Inhalt dieses Speicherplatzes wird codiert, um entweder (1) die decodierte Ziffer, ihr Vorzeichen und ihre Wertigkeit oder (2) das codierte überlochbyte zu prüfen. Bit 4 des Schaltregisters 36 bestimmt, ob eine Decodier oder eine Codieroperation ausgeführt wird, während Bit 1 das Vor-
030029/0697
2952Ί63
zeichen des codierten Bits anzeigt. Das Ausgangssignal der Decodier /Codierlogik für das Uberlochbyte ist auch auf beiden Hälften des internen Bus 14 verfügbar.
Die CIP-PrUflogik 54 wählt einen der 32 möglichen Firmware-Prüfzustände als Eingangssignal für die Folgeadressenlogik 42 aus. Der zutreffende oder falsche Zustand der geprüften Funktion steuert Bit 50 des Steuerspeicher-Folgeadressenfeldes, d.h. er setzt das Bit 50 oder stellt es zurück, je nach dem Zustand der überprüften Funktion. Die Folgeadressenlogik NAG 42 im Befehlsprozessor 13 benutzt eine der folgenden fünf Methoden zur Erzeugung der nächsten, also folgenden Firmwareadresse: Direkte Adressierung, Prüfen und Verzweigen, maskierte Verzweigung, Hauptverzweigung oder Rückkehr über Subroutine. Die direkte Adressierung wird benutzt, wenn eine bedingungslose Verzweigung zum nächstfolgenden Steuerspeicherplatz ausgeführt wird. Hierfür werden die Bits 41 bis 51 des Steuerspeicherworts zur Bildung der Folgeadresse verwandt. Diese Bits enthalten das Folgeadressenfeld, welches unmittelbar jeden der vorhandenen Steuerspeicherplätze adressieren kann. Eine Prüf- und Verzweigungsoperation wird durchgeführt, wenn eine Zweiweg-Bedingungsverzweigung bei erfolgreicher Prüfbedingung innerhalb einer Firmwareseite durchgeführt wird. Eine Firmwareseite ist ein Segment mit 128 Speicherplätzen innerhalb des Steuerspeichers. Hierbei werden die Steuerspeicherbits 41 bis 44 und 50 zur Auswahl des Prüfzustande herangezogen. Je nach Zustand der überprüften Funktion wird eine Verzweigung zu einem der beiden Speicherplätze eingeleitet. Die Verzweigungsoperation gemäß diesem Verfahren ist von der Art Modulo 2, d.h. die beiden möglichen Verzweigungsadressen liegen zwei Speicherplätze auseinander. Die Modulo 2-Adresse wird wie wie folgt entwickelt: (1) Ist die Testbedingung erfüllt, so wird Bit 9 der Adresse auf "1" gesetzt, oder (2) ist die Testbedingung nicht erfüllt, so wird Bit 9 der Adresse auf "0" gesetzt. Eine maskierte Verzweigung wird normalerweise benutzt, wenn eine Verzweigung für den Inhalt des Analysenregisters AR 34 oder
030029/0697
bestimmter anderer Zustände erfolgen soll. Sie stellt eine Verzweigung zu zwei, vier acht oder sechzehn Speicherplätzen innerhalb der gleichen Firmwareseite dar. Ein· Hauptverzweigung wird für die Verzweigung innerhalb einer Finnwareseite (128 Worte) angewandt. Eine CPU/CIP-Schnittstellenroutine verwendet diese Methode, um die erforderliche 16-Wegverzweigung für den Inhalt des Funktionscoderegisters 28 zu erreichen (INB-Rauptverzweigung und EOP-Hauptverzweigung. Die Rückkehr über eine Subroutine erfolgt dann, wenn die Firmware nach Durchführung einer Firmware-Subroutine zum nächsten ungeradezahligen oder geradzahligen Steuerspeicherplatz zurückgebracht werden soll. Die Rückkehradresse erhalt man vom Rückkehradressregister RSRA 40. Sie muB in diesem Register 40 gespeichert werden, ehe die betreffende Subroutine ausgeführt wird.
Der interne Bus 14 ist für 16 Bits eingerichtet und dient in erster Linie der Datenübertragung zwischen CIP-Rejistern einschließlich von Speicherplätzen innerhalb der Registerdateien. Er empfängt, wie Fig. 2 zeigt, Daten von verschiedenen Quellen. Ausgangssignale des internen Bus 14 werden verschiedenen Registern innerhalb des Befehlsprozessors 13 zugeleitet. Die Paritätsprüflogik 56 liegt zwischen dem Bus 19 und dem internen Bus und prüft die Parität der ankommenden Daten. Die Paritätserzeugerlogik 58 andererseits wird zur Erzeugung des richtigen Paritätsbits für die Übertragung über den Bus 19 verwandt. Die Busanforderungslogik 60 und die Busantwortlogik 62 dienen der Aktivierung des Befehlsprozessors 13,um Zugriff zum Bus 19 zu erlangen bzw. auf Anforderungen nach Zugriff zum Befehlsprozessor zu antworten. Die Logikschaltungen 60 und 62 sind in der US-PS 39 93 981 beschrieben .
Fig. 5 zeigt das Blockschaltbild der Geräteeinheit RALU 12 mit den hauptsächlichen Datenübertragungswegen und Steuerleitungen. Letztere sind als gestrichelte Linien dargestellt. Die Beschreibung der Geräteeinheit 12 ist in sieben Bereiche unterteilt:
030029/0697
-ie- 2952Ί63
Operandenregisterdateien, Rechenwerk-Eingangsmultlplexer und Verriegelungsschaltungen, Rechenwerk, XS6-Korrekturlogik, Rechenwerk-Ausgangsmultiplexer, RALU-Steuerlogik, verschiedene RALU-Register. Jede der Operandenregisterdateien ' RF1 70 und RF2 besteh aus vier RAM-Speicherbausteinen und wird zur vorübergehenden Speicherung der CIP-Operanden benutzt. Die Adressen für jede der Registerdateien werden durch zwei 6-Bit-Adressregister RF1A 74 bzw. RF2A 76 geliefert. Die Bits 0 bis 3 jedes Adressregisters liefern die Adresse des Speicherplatzesinnerhalb der zugehörigen Registerdatei, während die geringwertigen Bits für die Byte- und Ziffernauswahl am Ausgang der Registerdatei sorgen. Beide Adressregister können durch Ziffern, Bytes oder Worte um jeweils einen, zwei oder vier Schritte vor-und zurückgeschaltet werden. Das Ausgangssignal jeder Registerdatei wird den Eingängen zweier Multiplexer zugeleitet, welche zwischen Zonen-und Ziffern-Information unterscheiden. Diese Auswahl erfolgt anhand der Bits 4 und 5 des zugeordneten Adressregisters.- Bit 4 wählt aus, ob die Bits 0 bis 3 oder 8 bis 11 der Registerdatei zum Ausgang des 2:2-Multiplexers 78 oder 80 geleitet werden, während das Bit 5 die Registerdateibits auswählt, welche die zum Ausgang des 4:1-Multiplexers 82 bzw. 84 zu leitende Ziffer enthalten.
Die verschiedenen Register und Multiplexer sind über verschiedene Steuerleitungen 71, 73, 75 und 77 miteinander verbunden. Ein dritter 2:1-Multiplexer 86 dient der Auswahl ob der Inhalt des Zählers CPRC 88 für das laufende Produkt oder die Ziffer vom Register RF1 der A-Verrlegelungsschaltung 90 zugeleitet wird. Dieser Multiplexer wird vom ALMR-Register 92 gesteuert. Die ALU-Eingangsverriegelungsschaltungen, die A-Verriegelungsschaltung und die B-Verriegelungsschaltung 106, erhalten sowohl Zonen-als auch Zifferninformation von den Rechenwerkeingangsmultiplexern und verriegeln während der Schreiboperationen die Daten in den Registerdateien. Die Ausgangssignale der Verriegelungsschaltungen liefern die Zonen- und Zifferninformation an die linke bzw. die rechte Seite des Rechenwerkes.
030029/0697
Der Zähler CPRC 88 für das laufende Produkt ist ein dezimaler 4-Bit-Auf/Abwärtszähler und wird in erster Linie bei dezimalen Multiplikations- und Divisionsoperarationen eingesetzt. Das Multiplikatorregister MIER 94 ist ein binärer 4-Bit Auf/Abwärtszähler und dient gleichen Zwecken. Beim Rechenwerk-Betriebsartsteuerregister ALMR 72 handelt es sich um «In 6-Bit-Steuerregister. Das Adressregister RF1A 74 für die Registerdatei 1 stellt sich als 6-Bit-Adressregister dar und hat zwei Funktionen: (1) es liefert Adressen für die Registerdatei 1 (70) und (2) steuert zwei der drei Rechenwerkeingangsmultiplexef, die der Registerdatei 1 zugeordnet sind. Das Registerdatei-2-Adressregister RF2A 76 ist ebenfalls ein 6-BitAdressregister und übt inBezug auf die Registerdatei 3 (72) die entsprechenden Funktionen aus. Alle Operationen des Rechenwerks ALU 100 werden entweder dezimal oder binär ausgeführt. Dezimalbetrieb erfolgt bei der Verarbeitung von Dezimalzifferinformationen, während *»inärbetrieb für die Verarbeitung von Bytes (Alpha) dient. Beide Betriebsarten steuern außerdem die Ober-6-Korrekturlogik 102 (XS6) sowie die Eingänge des Übertragungs-Flip-Flops. Bei Dezimalbetrieb wird dieses Flip-Flop mit dem Übertrag aus den vier Bits niedriger Wertigkeit des Rechenwerks geladen, während es bei Binärbetrieb den Übertrag der acht Bits des Rechenwerks für nachfolgende arithmetische Operationen aufnimmt. Das Laden des übertrag-Flip-Flops erfolgt,gesteuert durch ein Mikroprogramm, sobald ein Übertrag für nachfolgende Operationen weitergegeben werden muß. Außerdem kann das Übertrag-Flip-Flop vom MSR-Register geladen werden sowie von einem Mikroprogramm gesteuert, gesetzt oder zurückgestellt werden.
Die XS6-Korrekturlogik 102 enthält «inen 32-Bit χ 8 Bit PROM-Baustein sowie die zugehörige Steuerlogik für die Korrektur der drei höherwertigen Bits am Ziffernausgang des Rechenwerks. Die XS6-Korrektur wird durchgeführt, sofern: (1) das Rechenwerk im dezimalen Additionsbetrieb arbeitet und ein dezimaler übertrag festgestellt wird oderTCLffernausgang des Rechenwerks 100 größer
030029/0697
als 9 ist, sowie (2) wenn das Rechenwerk im dezimalen Subtiaktionsbetrieb arbeitet und ein Borgbetrag erforderlich 1st, d.h. ein Übertrag vom Ziffernteil des Addierers fehlt. Der PROM-Baustein hat fünf Adressierungen, drei hiervon sind für die drei Bits höherer Ordnung vom Ziffernausgang des Rechenwerks bestimmt, während die anderen beiden Adressleitungen die Art der ausgeführten Operation anzeigen, d.h. Addier-Korrektur, Subtrahier-Korrektur oder keine Korrektur. Der codierte Inhalt des PROM-Bausteins besteht aus den drei korrigierten Bits höherer Ordnung der Ziffer, dem korrigierten Dezimalübertrag und dem Zustand "Ziffer kleiner als 2".
Der Rechenwerkausgangsmultiplexer 104 wählt zwischen oberen vier Bits des Addiererausgangssignals und den korrigierten Dezimalzonenbits aus und liefert diese an den internen Bus. Die Konfiguration der Zonenbits für den Dezimalbetrieb hängt davon ab, ob ASCII-oder EBCDIC-Daten verwendet werden. Wenn ASCII-Daten verarbeitet werden, erhalten die Zonenbits den Wert 3, während bei der Verarbeitung von EBCDIC-Daten die Zonenbits einen Wert F haben.
Die Register- und Rechenwerksteuerung 12 besteht aus Registern RFIA 74, RF2A 76 und ALMR 92 sowie verschiedenen Mikrobefehlen. Außerdem wird das Rechenwerk-Ubertragungs-Flip-Flop durch ein Mikroprogramm gesteuert. Es kann je nach Bedarf durch entsprechende Mikrobefehle gelöscht oder vorgesetzt werden und läßt sich laden von: (1) dem 4-Bit-Digialübertrag für Dezimaloperationen, (2) dem 8-Bit-Binärübertrag für Binäroperationen, oder (3) durch das Bit 0 des MSR-Registers 22, während der Durchführung eines Umwandlungsbefehls. Das alle Rechenwerkoperationen steuernde ALMR-Register 92 wird mit den Steuerspeicherbits 2 bis 7 geladen. Bit 0 gibt an, ob das Rechenwerk im Dezimal-oder im Binärbetrieb arbeitet, d.h. ob der Austrag des Rechenwerks mit Bit 4 (digitaler übertrag) oder mit Bit 0 (binärer übertrag) . erfolgt. Bit 0 steuert weiterhin sowohl die Rechenwerkkorrektur
030029/0697
XS6 für Dezimaloperationen sowie den Rechenwerkausgangsmultiplexer 104. Dieser bestimmt, ob die höherrangigen vier Bits des Rechenwerke oder die Zonenbits dem internen Bus zugeleitet werden. Die Bits 1, 2 und 3 dienen der Operationssteuerung innerhalb des Rechenwerks. Bit 4 bestimmt, ob die Zonenbits auf einen Wert 3 oder F gesetzt werden und zwar auf den Wert für ASCII-Daten und auf den Wert F für EDCDIC-Daten. Bit 5 gibt an, ob die aus der Registerdatei 1 oder dem Inhalt des Zählers für das laufende Produkt ausgewählte Ziffer »den auf der linken Seite des Rechenwerks angeordneten Verriegelungsschaltungen 90 zugeführt wird. Das Register RF1A liefert die Adresse und steuert die Registerdatei sowie die zugehörigen Rechenwerk-Eingangsmultiplexer. Das Register RF2A hat die gleiche Aufgabe in Bezug auf die Registerdatei 2.
Die Steuerdatei 16 ist in zwei Bereiche unterteilt, nämlich die obere Sektion mit den Bits 0 bis 7 und die untere Sektion mit den Bits 8 bis 23. Jede Sektion kann wie folgt geladen werden: Die niedrige Sektion vom internen Bus (Bits 0 bis 15), die obere vom internen Bus (Bits 0 bis 7), die untere vom internen Bus (Bits 0 bis 15) und die obere vom Busadressregister 18 (Bits 0 bis 7). Den die obigen Operationen durchführenden Funktionen ist eine Adresse zugeordnet, welche der in den Speicherplatz RFC 16 geladenen entspricht. Diese Adresse stammt entweder vom Funktionscoderegister 28 oder vom Steuerspeicher 10. Damit steht die RFC-Adresse in unmittelbarem Zusammenhang zur Art der von der Zentraleinheit übertragenen Daten bzw. zum angezeigten Funktionscode.
030029/0897
Wie bereits erwähnt, stellt Flg. 3 das Blockschaltbild eines Prozessors zur Verarbeitung kommerzieller Befehle dar. Die Baugruppen 16, 18, 20, 21, 22 und 31 zusammen bilden die Adresssteuereinheit ACU. Die CIP-Befehle werden unmittelbar von der Zentraleinheit CPU 11 und dem Befehlsprozessor CIP 13 verarbeitet. Die Zentraleinheit 11 holt die Befehle aus dem Hauptspeicher 17 und stellt fest, ob es sich um CIP-Befehle handelt. Sie erzeugt alle Informationen für die Ausführung dieser Befehle und überträgt sie an den Befehlsprozessor, so daß dieser die Befehle abarbeiten kann. Somit beschafft die Zentraleinheit die Befehle, verarbeitet die Adressen und sendet alle befehlsbezogene Information an den Befehlsprozessor, der die Befehle dann bearbeitet. Der Umfang der Information hängt von der Art des zu verarbeitenden Befehls ab. Ein CIP-Befehl (commercial Instruction processor) enthält einen Operationscode, einen die Daten bestimmenden Datendeskriptor und die Hauptspeicheradresse, wo die Daten abgelegt sind. Ein solcher Befehl umfaßt ferner einen weiteren Datendeskriptor, der sich auf den zweiten Operanden bezieht und gegebenenfalls einen dritten Datendeskriptor für einen dritten Operanden. Die CTP-Befehle können bis zu drei Operanden haben, wobei jeder Operand bis zu drei Informationseinheiten umfassen kann, nämlich die effektive Speicheradresse, welche zum Operanden weist, zweitens den Datendeskriptor, der die Art der Daten im Operanden bestimmt, und drittens die Länge des Operanden, der, sofern vom Datendeskriptor bezeichnet, in einem CPU-Register aufgefunden werden könnte.
Die Anzahl der Informationseinheiten für den Befehl kann zwischen 5 und 10 schwanken und zwar einschließlich des Befehlsoperationscodes, der als Aufgabenwort bezeichnet wird. Der Befehlsprozessor muß in der Lage sein, diese Informationen zu speichern und zu wissen, um welche Art von Information es sich handelt, ob es sich bei der von der Zentraleinheit übertragenen Information um einen Datendeskriptor oder um eine Adresse handelt. Er muß diese Information während der Ausübung eines CIP-Befehls verwenden.
030029/0697
Die von der Zentraleinheit CPU umpfangenen Befehle werden im Befehlsprozessor zum Adressieren des Hauptspeichers benutzt, um den Operanden für den betreffenden Befehl abzurufen. Zu diesem Zweck muß der Befehlsprozessor die Adressen im Häuptspeicher entweder fortschalten oder zurückschalten können. Der Datendeskriptorteil der Information wird vom Befehlsprozessor zur Bestimmung der Datenart benutzt, die verarbeitet wird. Die Länge wird, sofern nicht im Datendeskriptor enthalten, vom Inhalt eines CPU-Registers empfangen und vom Befehlsprozessor zur Anzeige der Feldlänge benutzt, die zu verarbeiten ist. Das empfangene Aufgabenwort zeigt die in Bearbeitung befindlichen Befehle an.
Mochte während des Ladens der Information aus der Zentraleinheit der Befehlsprozessor die Art der Information feststellen, d.h. ob es ein Datendeskriptor, eine effektive Adresse oder der Inhalt eines Registexsist,sowürde der Befehlsprozessor mehr Zeit rür die Prüfung der Informationsart und zum Laden dieser Information in vorgegebene Speicherplätze innerhalb der Speichereinheit benötigen. Diese überprüfung hinsichtlich der Art der von der Zentral" einheit zum Befehlsprozessor übertragenen Information würde folglich die Arbeitszeit für einen CIP-Befehl behindern. Folglich ist ein System erwünscht, bei dem der Befehleprozessor die von der Zentraleinheit kommende Information dynamisch laden kann, wie sie kommt, unabhängig davon, um welche Art von Information es sich handelt. Mit dem System soll Information in vorgegebene Speicherplätze im Speicherbereich innerhalb des Befehlsprozessors geladen werden, um anschließend von der Firmware bei der Ausführung des Befehls benutzt zu werden. Diese Anforderung des Ladens der Information so wie sie über den Systembus von der Zentraleinheit kommt und zum Speichern für die spätere Benutzung durch die CIP-Firmware und außerdem die Fähigkeit, die Speicheradressen fort- oder zurückzuschalten, wenn Operanden zur Bearbeitung vom Hauptspeicher abgerufen werden, wird mit Hilfe der Adress-Steuereinheit ACU des Befehlsprozessors erreicht.
030029/0697
Diese Adress-Steuereinheit besteht aus einer Steuerdatei RSC, dem, dem Busadressregister MAR, einem Schieberegister MSR und einem Speicheradressaddierer 20. Sie verwendet ferner Eingangssignale vom Funktionscoderegister BFCR 28 sowie das Eingangsadressbankreglster INAD30 als Eingangssignalquelle für die Registersteuerdatei 16 über den Internen Bus 14. Die einzelnen Geräteeinheiten sind oben bereits beschrieben worden. Flg. 6 zeigt das Blockschaltbild der Adress-rSteuereinheit. Die Steuerdatei RFC 16 wird als Speicherbereich für die von der Zentraleinheit CPU kommende Information benutzt. Sie erhält Ihre Eingangssignale vom internen Bus 14, wobei die 16 Bits unmittelbar in die Bit-Positionen 8 bis 23 der Registersteuerdatei einlaufen, während die Bits 0 bis 7 der Steuerdatei 16 entweder von den Bits 0 bis 7 vom internen Bus 14 oder vom Busadressregister MAR 18 über den Multiplexer 21 geladen werden. Der Registersteuerdatei zugeordnet ist ihr Adressmultiplexer RFCA 31, der als Eingangssignale Daten unmittelbar vom Steuerspeicherwort RD oder eine Funktion des Funktionscoderegister BFXR 28 benutzt. Letzeres hat eine Grüße von 6 Bits und überwacht die Adressbits 18 bis 23 hinsichtlich eines Funktionscodes. Diese Funktionscodedaten werden mit Hilfe des Signals BMYACK in das Funktionscoderegister 28 eingegeben, sobald die Antwortlogik 62 einen CIP-Befehl bestätigt. Der Funktionscode gibt die Art der zum Befehlsprozessor übertragenen Daten an sowie den Befehl.
Das Eingangsadressregister 30 ist ein 8-Bit-Register, welches die oberen 8 Bits der Adresse (BSADOO bis BSADO7) speichert. Diese Daten werden mit Hilfe des Signals BMYACK in das Eingangsadressbankregister 30 eingegeben, sobald die Antwortlogik einen CIP-Befehl bestätigt. Die Ausgangssignale des INAD-Registers 30 sind zur Benutzung innerhalb des Befehlsprozessors auf dem internen Bus 14 verfügbar. Die Zentraleinheit sendet die 8 Bits höherer Ordnung einer 24-Bit-Adresse aus, sobald eine effektive Adresse an den Befehlsprozessor übertragen wird. Die 16 Bits niedriger Ordnung laufen über den Datenbus.
030029/0687
Die 4 Bits am Ausgang des RFCA-Adressmultiplexers 31 werden zum Adressieren der 16 Speicherplätze innerhalb der Registersteuerdatei 16 benutzt. Dieser Steuerdatei ist ferner eine Schreibsteuerlogik 67 zugeordnet/ welche zwei Schreibleitungen aufweist, die das Laden der Steuerdatei steuern und zwar eine Leitung für die Steuerung des Ladens der oberen 8 Bits 0 bis 7 und eine zweite Leitung zum Steuern des Ladens der niedrigen 16 Bits 8 bis 23. Das Ausgangssignal der Registersteuerdatei RFC gelangt zur RFC-Verriegelungsschaltung 69, welche 24 Bits hat. Diese verriegelt die aus der Registersteuerdatei ausgelesene Information für spätere Benutzung. Das Speicheradressregister MAR, welches auch als Busadressregister 18 bezeichnet wird, erhält seine Eingangssignale von der Verriegelungsschaltung 69. Das Busdatenregister MAR 18 ist, wie ersichtlich, in zwei Bereiche unterteilt, nämlich einen mit den Bits 0 bis 15 und einen zweiten mit den Bits 16 bis 23. Die Bits 0 bis 15 werden unmittelbar von der Verriegelungsschaltung 69 geladen, während die Bits 16 bis entweder von der Verriegelungsschaltung als Bits 16 bis 23 oder vom Ausgang des Speicheradressaddierers MAR 20 kommen. Dieser erhält als Eingangssignal die 8 Bits niedriger Ordnung, d.h. die Bits 16 bis 23 des MAR-Registers 18 sowie die 8 Bits aus dem Schieberegister MSR 22. Dieses Schieberegister 22 kann mit den Bits 0 bis 7 des internen Bus 14 geladen werden. Der Ubertragausgang des MAR-Addierers 20 ist über ein Exklusiv-NOR-Gatter mit einem Signal verknüpft, welches anzeigt, daß eine Additionsoperation ausgeführt wird. Hierdurch entsteht ein Ausgangssignal auf der Leitung 63, welches das Fortschalten oder Zurückschalten der 16 Bits höherer Ordnung des Registers 18 steuert. Nachfolgend werden die einzelnen Baugruppen des Blockschaltbildes gemäß Fig. erläutert.
Wie erwähnt, ist die Steuerdatei in zwei Bereiche unterteilt, den oberen Bereich für die Bits 0 bis 7 und den unteren Bereich für die Bits 8 bis 23. Jeder Bereich oder Speicherteil der Steuerdatei kann wie folgt geladen werden: Der untere Speicherteil
030029/0897
vom internen Bus (Bits 8 bis 15), der obere Teil vom internen Bus (Bits 0 bis 7) sowie der untere Teil vom internen Bus (Bits 0 bis 15) und der obere Teil vom Systembusadressregister (Bits 0 bis 7). Der zur Durchführung dieser Operationen dienenden Funktion ist eine Adresse zugeordnet, welche dem zu ladenden Speicherplatz in der Registersteuerdatei 16 entspricht. Diese Adresse stammt entweder vom Funktionscoderegister 28 oder aus dem Steuerspeicher. Damit steht die RFC-Adresse in unmittelbarem Zusammenhang zur von der Zentraleinheit gelieferten Datenart, bekennzeichnet durch den Funktionscode. Sofern die RFC-Adresse vom Funktionscoderegister 28 stammt, benutzt sie auch den Zähler 1 (46) und zeigt an, daß die von der Zentraleinheit empfangene Information in Beziehung zum Datendeskriptor 1, 2 oder 3 steht. Der Zähler wird jedesmal fortgeschaltet, wenn das Aufgabenwort oder ein Datendeskriptor von der Zentraleinheit eingeht, weil der Datendeskriptor das letzte für einen Operanden empfangene Informationsstück darstellt. Die für die entsprechende Information eingehenden Funktionscodes sind folgende: 07 - Aufgabe, 09 - effektive Adresse (EAl, EA2 und EA3), OB - Register (R4, R5 und R6) OF Datendeskriptor (DD1, DD2), und IF - Letzter Datendeskriptor (DD2, DD3).
Beim Laden von Information aus den CPU-Bits 3 und 4 des 6-Bit-Funktionscodesregisters BFCR 28 werden zwei Bits des Zählers (Bank-Zäh1stand) zum Adressieren der Registersteuerdatei 16 benutzt. Anfänglich wird der Bankzählstand auf Null gelöscht. Wird die Aufgabe empfangen, so ist die Adresse 0011 (3). Die beiden Nullen entsprechen dem Bankzählstand und die beiden Einsen den Bits 3 und 4 des Funktionscoderegisters 28. Nach Empfang des Aufgabenwortes wird der Bankzählstand auf 01 fortgeschaltet und sobald eine effektive Adresse EA1 von der Zentraleinheit ausgesandt wird, ist die RFC-Adresse 0100. Die beiden Nullstellen niedriger Ordnung entsprechen den Bits 3 und 4 im Funktionscoderegister und zwar für einen Funktionscode 09 entsprechend der effektiven Adresse EA1. Die interne Organisation der Register-Steuerdatei 16 ergibt sich aus Fig. 7.
030029/0697
In der Registersteuerdatei RFC 16 sind 16-Bit-Dienstspeicherplätze ULO, UL1, UL2 vorhanden sowie 24-Bit-Arbeitspeicherplätze WIiO, WL1 und WL2. In der oberen Hälfte der Registersteuerdatei 1st ferner ein 8-Blt-Arbeitsspeicherplatz BUL vorhanden. Jeder dieser Speicherplätze kann von der CIP-Firmware als Arbeitsspeicherplatz verwendet werden. Die Plätze EDTO bis EDT7 werden während eines Aufbereitungebefehls verwendet und enthalten Aufbereitungstabelleneingänge 1 bis 8. Diese Plätze können auch als 8-Bit-Arbeitsspeicherplätze für andere Befehle eingesetzt werden. Ein Befehlsprozessor-Betriebsartregister CM auch als M3 bezeichnet, ist vorgesehen. Die Spalte TASK entspricht dem von der Zentraleinheit CPU empfangenen Aufgabenbefehl. DD1, DD2 und DD3 sind die 16-Bit-Speicherplätze, welche die Datehdeskriptoren 1,2 und 3 aus der Zentraleinheit aufnehmen. EA1, EA2 und EA3 sind 24-Bit-Spelcherplätze für die Effektivadressen der drei Operanden. RF4, R5 und R6 sind 16-Bit-Speicherplätze für den Inhalt entsprechender Register in der Zentraleinheit. Das Busadressregister 18 liefert eine 24-Bit-Adresse zur Übertragung über den Bus 19 während des Buslesezyklus. Die Schaltlogik des Busadressregister 18 ergibt sich aus Fig. 8. Es besteht aus vier 4-Bit binären Auf/Abwärtszählern 503 bis 506 und zwei Multiplexerregisterbausteinen 500 und 501, welche die 24-Bit-Adresse bilden. Dem Busadressregister 18 zugeordnet ist ein 8-Bit-Binäraddierer, genannt Speicheradressaddierer 20 sowie ein 8-Bit-Schieberegister MSR 22, mit dessen Hilfe der Addierer das Busadressregister durch einen Zählstand 255^0 fortschalten und bis zu einem Zählstand von bis zu 25610 zurückschalten kann.
Die vier 4-Bit-Binärzähler 503 bis 506 (Bits 0 bis 15) dienen folgenden Zwecken: (1) Sie bilden die beiden höchstwertigen Bytes der Adresse, (2) empfangen Adressendaten aus der Registersteuerdatei RFC, sobald ihr Ladesignal BMRERF echt ist, und (3) werden fort- oder zurückgeschaltet in einer Addier- oder Subtrahieroperation, sobald ihr Aktivierungszählstand (BMRENC-)-Signal echt ist und ein Übertrag vom Adressaddierer 20 vorliegt (BMREN1-
030029/0697
ist echt). Sie werden um 1 fortgeschaltet, wenn das Addiersignal BMRAOD echt ist und werden um eine Stufe zurückgeschaltet, wenn das Subtrahiersignal BMRSUB echt ist. Die beiden 4-Bit-Multiplexer 500 und 501 bilden das geringstwertige Byte der Adresse und empfangen Daten entweder von der Registersteuerdatei (BMRFRF ist echt) oder vom Addierer (BMRFRF ist unecht) und zwar während des negativen Übergangs der Takteingangsleitungen über das Ladesignal fBMRLDL). Der 8-Bit-Adressaddierer 20 dient auch während der Ausführung eines Ubersetzungsbefehls zum Addieren eines Datenbytes zu einer Basisadresse. Das übersetzte Byte wird in das Register MSR 22 geladen. Die Verschiebekapazität dieses Registers 22 ist nützlich für die Ausführung von Binär/Dezimal-Umwandlungsbefehlen.
Die Steuerung der Adressteuereinheit ACU erfolgt durch die Bits 24 bis 31 des Firmware -Steuerwortes ROS. Die Codierung für dieses Feld ergibt sich aus Fig. 9. Das MAR-MSR-FeId oder RFCWRT-FeId besteht aus den Bits 24 bis 27 des Firmware-Wortes und wird zur Steuerung des MAR-Registers, des MSR-Registers und der Adressaddierer-Hardware benutzt. Die speziellen Kontrollfunktionen dieses Feldes sind: (1) Laden des MAR- oder MSR-Registers, (2) Addieren oder Subtrahieren von MAR und MSR, (3) Verschieben des MSR-Registers, und (4) Laden der SteuerdateiC (RFC16). Das RFCAD-FeId besteht aus den Bits 28 bis 31 des Firmware-Wortes und wird mit einer Ausnahme für die Direktadressierung der Steuerdatei für alle Lese- und Schreiboperationen benutzt. Wenn einer Schreiboperation zugeordnete Daten aus dem Systembus stammen, wird die RFC-Adresse durch den Funktionscodeteil des von der Zentraleeinheit empfangenen Befehls gesteuert.
Folgende Mikrobefehle beziehen sich auf das MAR- bzw. MSR-Register: (1) MRADD - Ausführung von Additionsoperationen zwischen MAR (Bits 16 bis 23) und MSR (Bits 0 bis 7), Ergebnis liefern an MAR (Bits 16 bis 23) ;
030029/0697
1st die Summe von MAR (Bits 16 bis 23) und MSR (Bits 0 bis 7) größer als 255?Fortschalten von MAR (Bits 0 bis 15), (2) MRSUB Ausführung einer Additionsoperation zwischen MAR (Bits 16 bis 23) und MSR (Bits 0 bis 7); Ergebnis nach MAR (Bits 16 bis 23); ist die Summe von MAR (Bits 16 bis 23) und MASR (Bits 0 bis 7) kleiner als Null, Rückschalten von MAR (Bits 0 bis 15) um 1 (MSR sollte eine Zweier-Komplementärzahl enthalten),* (3) MRSRS Ladebusadressregister aus der Registerdatei C (MAR wird von dem Speicherplatz innerhalb der Registerdatei C geladen, der durch die Bits 28 bis 31 des Steuerspeicherworts gekennzeichnet ist) ,· (4)MSRSR - verschiebe den Inhalt des MSR-Registers um 1 Bit nach rechts und fülle eine Null in die Stelle des höchstwertigen Bits; (5) MSRSL - verschiebe den Inhalt des MSR-Registersx um 1 Bit nach links und fülle die Stelle das geringstwertigen Bits mit 0; und (6) MSRLD - lade das MSR-Registers (Bits 0 bis 7 mit den Bits 0 bis 7 des internen Bus.
Die Mikrobefehle für die Registerdatei C sind folgende: (1) CFMR lade Registerdatei C aus dem MAR-Register; (2) CUFEBX - lade Registerdatei C (obere 8 Bits) vom Eingangsadressregister; (3) CLFBX- lade Registerdatei (untere 16 Bits) aus dem Eingangsdatenregister ; (4) CLFBI- lade Registerdatei C (untere 16 Bits) vom internen Bus; und (5) CUFBI- lade Registerdatei C (obere 8 Bits) aus dem internen Bus. Es ist zu beachten, daß bei CUFBX und CLFBX die Daten über den internen Bus geladen werden, während die Adresse durch den Inhalt von BFCR gesteuert wird.
Fig. 10 zeigt die Steuerlogik für das Busadressregister MAR 18, das Schieberegister 22 sowie den Busaddierer 20 gemäß Fig. 8. Wie Fig. 9 erkennen läßt, werden die Bits 25, 26 und 27 zur Erzeugung unterschiedlicher Funktionen für die Steuerung dieser Baugruppen 18, 20 und 22 eingesetzt. Diese Bits 24 > 25, 26 und 27 sind in Fig. 10 im Block 601 wiedergegeben. Wenn die Bits 24 und 25 gleich Null sind, so werden die Bits 26 und 27 unmittelbar
030029/0697
zur Steuerung des Schieberegisters 22 benutzt. Sind die Bits 24 und 25 gleich "0", so ist das Ausgangssignal des UND-Gatters 603 "1", womit angezeigt wird, daß die Bits RD24 und 25 gleich "0" sind. Sind die Bits 24 und 25 "0" und die Bits 26 und 27 werden über die beiden UND-Gatter 625 und 627 geschickt, so werden die Funktionen BMSTO+ und BMST1+ erzeugt. Diese beiden Funktionen werden direkt zur Steuerung des Schieberegisters 22 eingesetzt. Wenn die Bits 26 und 27 00 sind, so wird im Schieberegister keine Operation ausgeführt. Ist sie 01, so findet ein Verschiebekommando nach rechts statt, bei 10 eine Verschiebeoperation nach links und bei 11 für diese beiden Bits wird eine Ladefunktion für das Register MSR22 angezeigt. Die Bits vom internen Bus 14, d.h. die Bits 0 bis 7, werden direkt in das Schieberegister 22 geladen.
Wenn das Steuerspeicherbit 24 gleich "0" ist und Bit 25 ist"1", d.h. es ergibt sich 01, so wird dieser Zustand zur Steuerung des Busadressregisters 18 und des Addierers 20 ausgenutzt. Wenn das Bit 24 "0" ist, dann ist der Ausgang des Inverters 629 "1", und das Bit 25 vom Wert "1" setzt den Ausgang des NAND-Gatters 331 auf "0". Damit wird im Fall beider Eingangssignale RD24MA- und RD25MA+ auf "1" der Ausgang des NAND-Gatters 261 auf "0" gesetzt. Wenn dieses Signal ENMARS-, d.h. das Aktivierungsauswahlsignal für das Busadressregister MAR nach "0" geht, wird der Decoder 633 aktiviert, der die Bits 26 bis 27 des Steuerspeichers decodiert und die vier Ausgangssignale von der Wertigkeit 0, 1,2 und 3 erzeugt. In diesem Fall geht, wenn RD26 und RD27 beide "0" sind, das Ausgangssignal des Decoders 633 auf "0". Dieses Ausgangssignal wird von dieser Logik nicht weiter verwendet und braucht deshalb nicht mehr beschrieben zu werden.
Ist das Bit 26 "0" und das Bit 27 "1", so aktiviert die Auswahl des Decoders 633 die Funktion BMRADD- in Richtung "0" und es findet eine Decodierung der Werte "1" der Bits 26 und 27 statt. Diese Funktion teilt mit, daß sich der Busadressaddierer 20 im Addierzustand befindet. Die Funktion BMRADD- wird einem Inverter 635 zugeleitet, der das Signal BMRADD+ erzeugt. Dieses wird
030029/0697
COPY
im Exklusiv-NOR-Gatter 637 einer Verknüpfungsoperation mit dem Signal BABRCR+ unterworfen, welches das Ubertragsausgangssignal des Addierers 20 ist. Damit wird die Funktion BMREN1- erzeugt, nämlich die Fortschalt/Rückschaltfunktion. Dieses Signal steuert das Fortschalten bzw. Rückschalten der vier Fortschalt/RUckschaltzähler 503 bis 506 des MAR-Registers 18. Das Ausgangssignal BMREN1- des Gatters 337 ist an den Zähler 506, d.h. an denjenigen mit der geringsten Wertigkeit von den vier zählern des Busadressregisters 18 angeschlossen.
Die Funktion BMRADD- läuft ferner zum ODER-Gatter 639 und erzeugt das Signal BMRENC-, d.h. das Aktivierungssignal für die Zähler 503 bis 506 bei Zählbetrieb. Das andere Ausgangssignal des Decoders 633 wird erzeugt, wenn das Bit 26 gleich "1" ist und das Bit 27 "0". Damit wird das Signal BMRSUB- auf "1" gesebzt, Der Ausgang 2 des Decoders 633 geht auf "0" und es wird angezeigt, daß der Busadressaddierer sich im Subtrahierzustand befindet. Dieses Signal gelangt ferner zum ODER-Gatter 6 39 und schaltet das Signal BMRENC- auf "0", wodurch die Zähler eingeschaltet werden. Das Gatter 39 ist ein invertierendes ODER-Gatter, d.h. es ist eigentlich ein UND-Gatter derart, daß wenn eines seiner Eingangssignale nach "0" geht, das Ausgangssignal BMRENC- auf "0" schaltet.
In jedem Fall, unabhängig davon ob.sich der Addierer 2 0 im Addierbetrieb oder im Subtrahierbetrieb befindet, ist das Ausgangssignal des ODER-Gatters 639 "0" und aktiviert die Zähler 503 bis 506 zum Vorwärts- oder Rückwärtszählen in Abhängigkeit vom Ubertragausgangssignal des Addierers 20 und abhängig davon, ob es sich um Addier- oder Subtrahierbetrieb handelt. Befand sich der Addierer 20 im Addierbetrieb, so bringt die Tatsache des Addierbetriebs und des Vorhandenseins eines Übertrags den Ausgang des Gatters 637 auf "1", wodurch die Zähler 503 bis 506 um einen Schritt vorwärtsgeschaltet werden. In ähnlicher Weise, im Falle des Subtrahierbetriebes, angezeigt durch das Signal BRMRADD+ am Eingang des NOR-Gatters 637 gleich "0" wird das
030029/0697
COPY
" 32 ' 2952Ί63
Fehlen eines Übertrags, welcher in Wirklichkeit ein Borgbetrag des Binärzählers 20 darstellt, den Ausgang des Gatters 637 auf "0" schalten. Im Subtrahierbetrieb sind somit beide Eingänge des Gatters 637 auf "0" und folglich auch sein Ausgang. Damit zählen die Zähler 503 bis 506 rückwärts, wie dies dem Subtrahierbetrieb entspricht. OJn Im Busadreeeregister mit Hilfe der Zähler 503 bis 506 zu zählen, müssen sich beide Ausgangssignale BMRENC- und BMREN1- im Zustand "0" befinden,und darüberhinaus wird die Tatsache, daß entweder Addier- oder Subtrahierbetrieb vorliegt, die Zähler veranlassen, um einen Schritt aufwärts oder abwärts zu zählen. Das Ausgangssignal BMRENC- des Gatters 639 gelangt ferner zum ODER-Gatter 641. Geht das Signal BMRENC-nach "0", so geht auch das Ausgangssignal BMRLEN- des ODER-Gatters 641 auf "0". Das letztgenannte Signal wird als Ladeeingangssignal für die Multiplexerregister 500 und 501 verwendet .
Das vierte Ausgangssignal des Decoders 633, nämlich das Signal BMRFRF zeigt an, daß das Busadressregister aus der Registerdatei C zu laden ist. Dieses Signal wird aktiviert, wenn beide Bits RD26 und RD27 "1" sind. In diesem Fall ist der Ausgang 3 des Decoders 633 auf "0" und aktiviert das Laden der Zähler 503 bis 506 unmittelbar vom Ausgang der Verriegelungsschaltung RFCL 69, welche an die Registerdatei C angeschlossen ist. Zusätzlich wird, wenn das Signal BMRFRF- den Wert 11O" hat, das Ausgangssignal des ODER-Gatters 641 ebenfalls "0" sein, wo durch der Takteingang der Multiplexerregister 500 und 501 über das NOR-Gatter 643 aktiviert wird, weil dieses Signal einer NOR-Verknüpfung mit dem Taktsignal des Befehlsprozessors unterworfen wird. Das Ausgangssignal des NOR-Gatters 643 geht nach "1", wenn beide Eingänge "0" sind. Damit beginnt das Laden von Daten in die Multiplexerregister 500 und 501. Die Auswahl der in diese Register zu ladenden Daten wird durch die Funktion BMRFRF-gesteuert, welche am Ausgang 3 des Decoders 633 steht. Ist BMRFRF- "0", so wählt es das Ausgangssignal der Verriegelungsschaltung 69 für die Registerdatei C und lädt dieses in die
030029/0697
Multlplexerreglster 500 und 501. Befindet sich das Signal BMRFRF- hingegen Im Zustand "1", so wählt es zum Laden in die Multiplexerregister 500 und 501 das Ausgangssignal des Addierers 20 aus. Ein Signal BMRFRF- vom Wert "1" bedeutet, daß das Busadressregister nicht aus der Registerdatei geladen wird. Es ist zu beachten, daß die Taktimpulsfolge, welche das Laden der Multiplexerregister 500 und 501 aktiviert, zunächst auf "1" gehen muß und daß, wenn der Taktimpuls auf "0" umschaltet, der Ausgang des NOR-Gatters 643 auf "0" geht und daß dieser UmschaltVorgang eigentlich die Aktivierungsfunktion für die Multiplexerregister bewirkt.
030029/0697
-st-
L e e r s e i t e

Claims (1)

  1. HONEYWELL INFORMATION SYSTEMS INC. 21. Dezember 1979
    Smith Street 5101681 GE
    Waltham, Mass. USA HR/sr
    NAOHQERClOHr
    DV-Anlage mit zwei Datenprozessoren
    Patentansprüche:
    DV-Anlage mit einem ersten und einem zweiten Datenprozessor, einer Verbindungseinrichtung zwischen (Jen beiden Prozessoren, über die der zweite Prozessor Daten und Befehle vom ersten Prozessor empfangen kann, sowie mit einem Hauptspeicher, gekennzeichnet durch einen zweiten Datenprozessor mit folgenden Einrichtungen:
    a) einem Steuerspeicher für mehrere Befehle zur Steuerung des Betriebs des zweiten Prozessors;
    b) einem Speicher für den im durch den vom zweiten Prozessor empfangenen Befehl enthaltenen Funktionscode;
    c) einer Steuerdatei mit mehreren Speicherplätzen für vom ersten Prozessor empfangene Daten;
    d) einer ersten Adressiereinrichtung zum Adressieren eines Speicherplatzes in der Steuerdatei entweder mit den Befehl aus dem Steuerspeicher oder mit dem Funktionscode, den der Speicher vom ersten Prozessor empfangen hat; und
    e) einer zweiten Adressiereinrichtung zum Adressieren des Hauptspeichers mit dem Inhalt des durch die erste Adressiereinrichtung adressierten Speicherplatzes der Steuerdatei.
    030029/0697
    ΓνΓ-c::
    2. DV-Anlage nach Anspruch 1, gekennzeichnet durch
    f) eine auf das Signal der Adressiereinrichtung ansprechende Abrufeinrichtung für den Abruf der vom zweiten Prozessor zu verarbeitenden Informationen aus dem Hauptspeicher; und
    g) im zweiten Prozessor eine Einrichtung zum Andern des Wertes des Inhalts des von der Adressiereinrichtung adressierten Speicherplatzes gleichzeitig mit der Abrufoperation.
    3. DV-Anlage nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß der zweite Prozessor h) ein Speicheradressregister enthält für den Inhalt des durch die Adressiereinrichtung adressierten Speicherplatzes; und
    i) eine Einrichtung für die Speicherung eines Teils des Inhalts des Speicheradressregisters in dem genannten Speicherplatz der Steuerdatei aufweist.
    4. DV-Anlage nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß der zweite Prozessor
    j) einen Anzeiger für die Empfangsbereitschaft des zweiten Prozessors für die Daten und Befehle vom ersten Prozessor; und
    k) einen auf den Anzeiger ansprechende Aktivierungseinrichtung enthält, welche die Adressiereinrichtung aktiviert, um unter Verwendung des Funktionscodes den Speicherplatz in der Steuerdatei zu adressieren.
    5. DV-Anlage nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß der zweite Prozessor
    1) einen Anzeiger enthält, der angibt, daß einer der Befehle im Steuerspeicher auszuführen ist; und
    m) eine auf den Anzeiger ansprechende Aktivierungseinrichtung aufweist, welche die Adressiereinrichtung aktiviert, um unter Verwendung des Befehls im Steuerspeicher den Speicherplatz in der Steuerdatei zu adressieren.
    030029/06 9 7
    6. DV-Anlage nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß jeder Speicherplatz in der Steuerdatei einen ersten und einen zweiten Speicherteil enthält und der zweite Prozessor folgende Einrichtungen umfaßt:
    n) eine Einrichtung zum Einspeichern der Daten und Befehle in den ersten Speicherteil;
    o) eine Einrichtung zum Empfang von Adressinformationen vom ersten Prozessor;
    p) eine Einrichtung zum Einspeichern der Adressinformationen in den zweiten Speicherteil.
    7. DV-Anlage nach Anspruch 6,dadurch gekennzeichnet, daß im zweiten Prozessor eine Einrichtung zum Andern der Adressinformation mit Hilfe des Inhalts des durch die Adressiereinrichtung adressierten Speicherplatzes in der Steuerdatei vorgesehen ist.
    8. DV-Anlage nach Anspruch 6 oder 7, dadurch gekennzeichnet, daß die Adressiereinrichtung zum Adressieren des Hauptspeichers den Inhalt beider Speicherteile benutzt.
    9. DV-Anlage nach Anspruch 2 oder einem der Folgeansprüche, dadurch gekennzeichnet, daß die Änderungseinrichtung umfaßt:
    g) einen Addierer zum Addieren einer ersten und einer zweiten Zahl, wobei die erste Zahl der Adresse der Daten im Hauptspeicher entspricht und die zweite Zahl einem Teil des Inhalts des adressierten Speicherplatzes in der Steuerdatei entspricht; sowie
    r) eine vom Addierer beeinflußte Einrichtung zum Fortschalten oder Zurückschalten des Wertes des Inhalts des adressierten Speicherplatzes in der Steuerdatei.
    030029/0697
    0O. DV-Anlage nach Anspruch 9, gekennzeichnet durch eine Einrichtung zum Ersetzen des genannten Teils des Inhalts durch das Ergebnis der Addition.
    11. DV-Anlage nach Anspruch 10, dadurch gekennzeichnet, daß der genannte Teil des Inhalts der Teil geringster Wertigkeit des GesarotinhaIts des adressierten Speicherplatzes in der Steuerdatei ist.
    030029/0697
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 true DE2952163A1 (de) 1980-07-17
DE2952163C2 DE2952163C2 (de) 1985-09-05

Family

ID=21692780

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2952163A Expired DE2952163C2 (de) 1979-01-03 1979-12-22 Datenverarbeitungsanlage mit einem ersten und einem zweiten Prozessor

Country Status (7)

Country Link
US (1) US4258420A (de)
JP (1) JPS5838819B2 (de)
AU (1) AU531381B2 (de)
CA (1) CA1127772A (de)
DE (1) DE2952163C2 (de)
FR (1) FR2445992A1 (de)
GB (1) GB2039109B (de)

Families Citing this family (9)

* 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
EP0525831B1 (de) * 1983-04-18 1998-07-01 Motorola, Inc. Verfahren und Vorrichtung für ein Processor um mit einem Coprocessor in der Verarbeitung eines im Programablauf des Processors befindlichen Befehls mitzuwirken.
US4841434A (en) * 1984-05-11 1989-06-20 Raytheon Company Control sequencer with dual microprogram counters for microdiagnostics
US4942547A (en) * 1985-04-11 1990-07-17 Honeywell Bull, Inc. Multiprocessors on a single semiconductor chip
GB2223891B (en) * 1988-09-26 1992-12-02 Melville Trevor Meyers Improved mounting box for socket
US5197138A (en) * 1989-12-26 1993-03-23 Digital Equipment Corporation Reporting delayed coprocessor exceptions to code threads having caused the exceptions by saving and restoring exception state during code thread switching
JP4742735B2 (ja) * 2004-09-24 2011-08-10 セイコーエプソン株式会社 液体噴射装置
US20150261535A1 (en) * 2014-03-11 2015-09-17 Cavium, Inc. Method and apparatus for low latency exchange of data between a processor and coprocessor

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4104720A (en) * 1976-11-29 1978-08-01 Data General Corporation CPU/Parallel processor interface with microcode extension

Family Cites Families (4)

* 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
US4149243A (en) * 1977-10-20 1979-04-10 International Business Machines Corporation Distributed control architecture with post and wait logic

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4104720A (en) * 1976-11-29 1978-08-01 Data General Corporation CPU/Parallel processor interface with microcode extension

Also Published As

Publication number Publication date
CA1127772A (en) 1982-07-13
US4258420A (en) 1981-03-24
FR2445992A1 (fr) 1980-08-01
AU531381B2 (en) 1983-08-18
AU5424879A (en) 1980-07-10
FR2445992B1 (de) 1984-10-19
GB2039109B (en) 1983-05-11
DE2952163C2 (de) 1985-09-05
JPS5592965A (en) 1980-07-14
JPS5838819B2 (ja) 1983-08-25
GB2039109A (en) 1980-07-30

Similar Documents

Publication Publication Date Title
DE2846495C2 (de) Zentraleinheit
DE2724125C2 (de)
DE2714805C2 (de)
DE3424962C2 (de)
DE2023354C2 (de) Datenverarbeitungsanlage mit einem Mikrobefehlsspeicher
DE3851746T2 (de) Sprungvorhersage.
DE1931966C3 (de) Datenverarbeitungsanlage mit Assoziativspeichern
DE2712224A1 (de) Datenverarbeitungsanlage
DE3689389T2 (de) Datenverarbeitungsprozessor.
DE2230102A1 (de) Rechenwerk fuer variable wortlaengen
DE3686828T2 (de) Hochleistungsparalleler vektorprozessor mit modifizierter register/elementprozessor konfiguration.
DE2746505C2 (de)
EP0010185A1 (de) Virtuell-Adressiervorrichtung für einen Computer
DE2421130C2 (de)
EP0134831B1 (de) Einrichtung im Befehlswerk eines Fliessbandprozessors zur Befehlsunterbrechung und -wiederholung
DE2855722A1 (de) Einrichtung zur berechnung von produktsummen
CH644461A5 (de) Digitale multipliziereinrichtung.
DE2952163A1 (de) Dv-anlage mit zwei datenprozessoren
DE2830334C2 (de)
DE2952072C2 (de) Rechenschaltung zum Addieren oder Subtrahieren binär codierter Dezimalzahlen
DE2906685C2 (de)
DE2702722C2 (de) Einrichtung zur Verarbeitung nicht direkt ausführbarer Instruktionen
DE2245284A1 (de) Datenverarbeitungsanlage
DE2658950A1 (de) Mikroprogrammierte verarbeitungseinheit sowie verfahren zur organisation derselben
DE1955797A1 (de) Verfahren zur Steuerung der Verarbeitung von Eingabedaten und Datenverarbeitungsanlage hierfuer

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: G06F 15/16

D2 Grant after examination
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: HONEYWELL BULL INC., MINNEAPOLIS, MINN., US

8339 Ceased/non-payment of the annual fee