DE2521289C2 - Datenverarbeitungsanordnung mit Datenfeld-Hilfsprozessor - Google Patents

Datenverarbeitungsanordnung mit Datenfeld-Hilfsprozessor

Info

Publication number
DE2521289C2
DE2521289C2 DE2521289A DE2521289A DE2521289C2 DE 2521289 C2 DE2521289 C2 DE 2521289C2 DE 2521289 A DE2521289 A DE 2521289A DE 2521289 A DE2521289 A DE 2521289A DE 2521289 C2 DE2521289 C2 DE 2521289C2
Authority
DE
Germany
Prior art keywords
status
data
command
bit
memory
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
DE2521289A
Other languages
English (en)
Other versions
DE2521289A1 (de
Inventor
Cecil R. Gilbreath
Jimmie L. Houston Tex. Womble
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments 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 Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of DE2521289A1 publication Critical patent/DE2521289A1/de
Application granted granted Critical
Publication of DE2521289C2 publication Critical patent/DE2521289C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/285Halt processor DMA
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • 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/8053Vector processors
    • G06F15/8061Details on data memory access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/264Microinstruction selection based on results of processing
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • 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
    • 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/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3887Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Mathematical Physics (AREA)
  • Nonlinear Science (AREA)
  • Complex Calculations (AREA)
  • Advance Control (AREA)

Description

is — ein vorprogrammiertes ROM-Prozeßsteuerwerk (80), das zum Steuern der Datenübertragung zwischen dem Doppeispeicherwerk und dem Rechenwerk angeschlossen ist,
— ein vorprogrammiertes ROM-Adressensteuerwerk (70), das zum Anlegen von Signalen an einen Adressenbus zum Steuern, Speichern und Abrufen von Daten aus dem Zentralspeicher angeschlossen ist, und
— ein vorprogrammiertes ROM-Lesesteuerwerk (60), das zum Steuern des Doppelspeicherwerks angeschlossen ist.
3. Datenverarbeitungsanordnung nach Anspruch 2, dadurch gekennzeichnet, daß das Steuerwerk außerdem ein Kennzeichensteuerwerk (90) enthält, das so an die ROM-Steuerwerke (60,70,80) angeschlossen ist, daß es in Abhängigkeit von Wörtern aus den ROM-Steuerwerken arbeitet, wobei es Schaltungseinheiten (231 bis 234) enthält, die wenigstens zwei sich gegenseitig ausschließende Ausgangssignale erzeugen, und wobei die Schaltungseinheiten die Ausgangssignale in Abhängigkeit von ausgewählten Wörtern aus den ROM-Steuerwerken ändern, die abhängig von den Ausgangssignalen arbeiten und von diesen synchronisiert sind.
Die Erfindung bezieht sich ai%f eine Datenverarbeitungsanordnung gemäß dem Oberbegriff des Patentanspruchs 1.
Eine solche Datenverarbekung^nordnung ist aus der US-PS 37 37 866 bekannt. In dieser bekannten Anordnung werden die zu verarbeitenden Daten gleichzeitig in zwei voneinander unabhängigen Abschnitten eines Doppelspeichervverks abgespeichert, die auch mit aüer. Baueinheiten ausgestattet sind, die zur Dateneingabe und Datenausgabe erforderlich sind. Dadurch ist es möglich, gleichzeitig einen Zugriff auf zwei zu verarbeitende Datenwerte durchzuführen, was zu einer Beschleunigung der Datenverarbeitung führen kann. Wenn beispielsweise zwei Zahlen miteinander multipliziert werden müssen, wird in der bekannten Anordnung nie eine Zahl aus dem einen Abschnitt und die andere Zahl aus dem anderen Abschnitt des Doppelspeicherwerks entnommen und im Rechenwerk multipliziert. Für eine mit hoher Geschwindigkeit erfolgende Verarbeitung großer Datenmengen ist die bekannte Anordnung nicht gut geeignet, di: immer dann, wenn die in die Abschnitte des Doppelspeicherwerks aus dem Zentralspeicher eingegebenen Daten verarbeitet worden sind, wieder Daten parallel in die
beiden Abschnitte geladen werden müssen, wobei während dieses Ladevorgangs keine Verarbeitung im Rechenwerk stattfinden kann.
Der Erfindung liegt die Aufgabe zugrunde, eine Datenverarbeitungsanordnung der eingangs angegebenen Art so auszugestalten, daß große Datenmengen, wie sie insbesondere bei der seismischen Exploration anfallen, in einem Echtzeitbetrieb, also mit sehr hoher Geschwindigkeit verarbeitet werden können.
Erfindungsgemäß wird diese Aufgabe mit den im Kennzeichen des Patentanspruchs 1 angegebenen Merkmalen gelöst. In der erfindungsgemäßen Anordnung steht unter der Steuerung durch das Steuerwerk jeweils einer der Abschnitte des Doppelspeicherwerks mit dem Zentralspeicher und der andere Abschnitt des Doppelspeicherwerks mit dem Rechenwerk in Verbindung. Dies hat die Konsequenz, daß die in einem Abschnitt enthaltenen Daten im Rechenwerk verarbeitet werden können, während gleichzeitig der andere Abschnitt des Doppel-Speicherwerks wieder mit Daten aus dem Zentralspeicher geladen wird. Sobald die Daten des einen Abschnitts verarbeitet worden sind, können nach einem einfachen Umschaltvorgang die inzwischen in den anderen Abschnitt geladenen Daten weiterverarbeitet werden. Die Verarbeitung der Daten kann daher praktisch ohne Unterbrechung erfolgen, so daß eine hohe Verarbeitungsgeschwindigkeit erreicht werden kann, wie sie bei der Echtzeitverarbeitung der bei der seismischen Exploration erfaßten großen Datenmengen benötigt wird. Vor allem auch iterative Operationen wie die schnelle Fourier-Transformation und die Faltung, die bei der Auswertung seismischer Daten erforderlich sind, können mit Hilfe der erfindungsgemäßen Anordnung mit hoher Geschwindigkeit ausgeführt werden.
Die Erfindung wird nun an Hand der Zeichnung beispielshalber erläutert. Es zeigt
F i g. 1 ein Systemblockschaltbild der erfindungsgemäßen Daten-Verarbeitungsanordnung,
F i g. 2 ein detailliertes Schaltbild des Speichers und des Rechenwerks der Anordnung,
Fig.3 Einzelheiten der Arbeitsweise und des Aufbaus eines der drei in der Anordnung enthaltenen Steuerwerke,
F i g. 4 die Anwendung des ROM-Bits im Prozessorsteuerwerk zur Steuerung der Speichereinheit,
F i g. 5 eine typische Steuerung und Rückstellung der Kennzeichen durch das ROM-Bit und
F i g. 6 ein Flußdiagramm auf der Ausführungsebene eines in der Ausführung befindlichen Prozesses.
In F i g. 1 ist die allgemeine Beziehung zwischen den Komponenten eines Datenfeld-Hilfsprozessor 20, eines Universalcomputers 9 sowie der dazwischen angeordneten Schnittstellen dargestellt. Der Computer 9 enthält eine Zentraleinheit 10 (CPU), einen Zentralspeicher 11 und ein Speichersteuerwerk 12 (DMAC).
In einer bevorzugten Ausführungsform steht der Prozessor 20 mit einem Direktspeicherzugriffkanal des Computers 9 in Verbindung. Dieser Computer ist im einzelnen in mehreren Handbüchern als Computermodel! 980A genauer bechrieben, die von der Firma Texas Instruments Incorporated 1972 herausgegeben worden sind.
Der Comnuter 9 steht über einen Lesebus 21, einen Schreibbus 22 und einen Adressierungsbus 23 mit dem hier zu beschreibenden Datenfeldprozessor 20 in Verbindung. Der Lesebus 21 ist an Baueinheiten angeschlossen, die eine Standardsteuerschnittstelle bilden, wie sie normalerweise mit einem Computer vom Typ 980A verwendet wird. Im vorliegenden Fall ist der Lesebus 21 an eine Steuereinheit 25 für einen automatischen Übertragungsbefehl (ATZ-Steuereinheit), eine Statussteuereinheit 26 und eine Listensteuereinheit 27 angeschlossen. Die Listensteuereinheit 27 ist über einen Bus 28 mit einer Speicher/Abrufsteuereinheit 29 verbunden, an die der Adressierungsbus 23 angeschlossen ist.
Der Lesebus 21 ist auch mit der Speicheradressierungseinheit 30 verbunden, die über einen Bus 31 mit der Speicher/Abruf-Steuereinheit 29 in Verbindung steht. Die Statussteuereinheit 26 ist mit dem Schreibbus 22 verbunden. Die Listensteuereinheit 27 ist mit Hilfe eines Bus 17 an die Speicheradressierungseinheit 30 und an einen Datenformatumsetzer 33 angeschlossen.
Es ist zu erkennen, daß die Schnittstelleneinheit 25, 26, 27, 28, 29, 30 und 31 in herkömm'Hier Weise dazu dienen den Fluß yon Daten und andrer Informationen zu und vom S^e^c^e1* ^ ^ zu 5tcu6m ünQ Onpratinnpn W1S Status- und Steuerbefehle zu überwache;. Die ATZ-Steuereinheit 25, die Statussteuereinheit 26, die Listensteuereinheit 27 und die Speicher/Abrufsteuereinheit 29 wirken zusammen bei der Bildung der Schnittstelle zwischen dem Computer und dem Datenfeld—Hilfsprozessor 20.
Der Datenfeld-Hilfsprozessor 20 enthält fünf Hauptbestandteile. Der erste Bestandteil ist ein internes Doppelspeicherwerk 40, das in zwei getrennten Speicherabschnitten 41 und 42 mit ihren zugehörigen Adressenzählern und Lese/Schreib-Steuereinheiten 43 organisiert ist
Der zweite Hauptbestandteil des Prozessors 20 ist ein Rechenwerk 50, der aus einem Rechen- und Leitwerk für Additions-, Subtraktions- und Verschiebungsvorgänge besteht Zusätzlich ist in dem Rechenwerk 50 ein Multiplizierabschnitt vorgesehen.
Ein dritter Hauptbestandteil ist ein Lesesteuerwerk 60, das aus einer Testlogik 61, einem Statusadressen- und Übertragungssteuerwerk 62 und aus einer Gruppe zugehöriger Festwertspeicher 63 besteht.
Ein vierter Hauptbestandteil ist ein Adressensteuerwerk 70, das aus einer Testlogik 71, einem Status-Adressen- und Übertragungssteuerwerk 72 und aus einer Gruppe zugehöriger Festwertspeicher 73 besteht.
s Ein fünfter Hauptbestandteil der Anordnung ist ein Prozeßsteuerwerk 80, das bus einer Testlogik 81, einem
Status-Adressen- und Übertragungssteuerwerk 82 und aus einer Gruppe zugehöriger Festwertspeicher 83 besteht.
Ein sechster Hauptbestandteil des Prozessors 20 ist ein Steuerwerk 90 für gemeinsame Kennzeichen.
Ein Datenausgabebus 100, der vom Formatumsetzer 33 ausgeht, ist ein in zwei Richtungen wirksamer
Übertragungsweg, nämlich auf den Formatumsetzer zu und von diesem weg. Der Bus 100 verbindet auch das Doppelspeicherwerk 40 mit dem Rechenwerk 50. Ein Proze .sorbus 101 verbindet das Rechenwerk 50 und das S Doppelspeicherwerk 40 für einen in zwei Richtungen erfolgenden Datenfluß zv/ischen dem Doppelspeicherwerk 40 und dem Rechenwerk 50.
Die Steuerung des Rechenwerks 50 sowie von Hauptmerkmalen des Doppelspeicherwerks 40 erfolgt mit Hilfe des Prozeßsteuerwerks 80 über den ROM-Abschnitt 83. Ausgewählte ROM-Bits sind über den ROM-Steu-
erübertiagungsweg 84 mit dem Rechenwerk 50 und dem Doppelspeicherwerk 40 verbunden. Das Doppelspeicherwerk 40 wird auch über einen Übertragungsweg 64 gesteuert, der von ausgewählten Bits in der ROM-Gruppe 63 im Steuerwerk 60 ausgeht.
Die Steuerung der Speicheradressierungseinheit 30 erfolgt über den Bus 74, der ausgewählte Festwertspeicher der ROM-Gruppe 73 mit der Speicheradressierungseinheit 30 verbindet
Die Steuereinheit 90 für gemeinsame Kennzeichen steht mit den drei Steuerwerken über Kanäle 65,75 und 85 in einer Übertragungsverbindung.
In der beschriebenen Anordnung ist die Struktur des Proze^o^s 20 so ausgebildet, daß Operationen äußerst wirksam durchgeführt werden können. Dies ermöglicht die Durchführung äußerst komplizierter Feldtransformationsoperationen in Echtzeit. Insbesondere eignet sich die Anordnung für Verarbeitungsvorgänge mit seismisehen Daten. Während der Erfassung seismischer Aufzeichnungen werden aus mehreren Bits bestehende seismische Abtastwörter in Multiplexforni gesammelt. Die Abtastwerte werden von einer Vielzahl (bis zu 60) getrennten Signaikanälen aufgenommen, wobei jeweils ein Abtastwert im Verlauf von Abtastintervallen abgenommen wird, die vier Millisekunden nicht überschreiten; das bedeutet, daß alle vier Millisekunden 60 Wörter zu je 32 Bits abgenommen werden. Mit Hilfe der hier beschriebenen Anordnung können die Operationen in Echtheit ausgeführt werden, die bei der Abarbeitung der in der anschließend noch zu beschreibenden Tabelle V angegebenen Befehle beteiligt sind. Das Doppelspeicherwerk 40 ist ein mit hoher Geschwindigkeit arbeitender Speicher. Die zugehörigen Steuer- und Recheneinheiten sind so ausgebildet, daß sie für solche, mit hoher Geschwindigkeit ablaufende Operationen geeignet sind. Zur Verarbeitung seismischer Daten in Echtzeit wird eine spezielle Yerarbeitungsstruktur zusammen mit Baueinheiten eingesetzt, die die schnelle Ausführung eines der ausgewählten Befehle ermöglicht.
in einer Ausführungiform der beschriebenen Anordnung bestehen die internen Speicherabschnitte 41 und 42 jeweils aus 256 adressierbaren Speicherplätzen mit jeweils 32 Bits. Es handelt sich dabei um mit hoher Ge-
schwindigkeit arbeitende bipolare Schottky-TTL-Speichereinheiten. Die Speicherabschnitte 41 und 42 sind auch für das Adressensteuerwerk 70, das Eesesteuerwerk 60 oder das Prozeßsteuerwerk 80 unabhängig voneinander zugängig.
Im Normalbetrieb der Anordnung arbeitet das Adressensteuerwerk 70 und das Lesesteuerwerk 60 ausschließlieh mit einem der Speicherabschniltte 41 oder 42, während das Prozeßsteuerwerk 80 ausschließlich mit dem anderen der zwei Speicherabschnitte 41 und 42 arbeitet. Auf diese Weise führt die Anordnung zwei getrennte Operationen parallel aus:
(a) das Speichern und Abrufen von Daten durch das Lesesteuerwerk 60 und das Adressensteuerwerk 70 und
(b) das Verarbeiten der Daten unter der Steuerung durch das Prozeßsteuerwerk 80. Die drei Steuerwerke 60, 70 und 80 arbeiten daher simultan und parallel, so daß die Leistungsfähigkeit der Anordnung stark erhöht wird.
Die drei Steuerwerke sind über ein Kennzeichensteuerwerk 90 für gemeinsame Kennzeichen miteinander synchronisiert, das dazu dient, die spezielle Tätigkeit jedes der Steuerwerke 60, 70 und 80 durch spezieil angegebene Tests zur Anzeige des Zustands jedes Steuerwerks zu identifizieren. In einer Ausführungsform der beschriebenen Anordnung bestehen die Bauelemente der Speicherabschnitte 41 und 42 aus bipolaren Schottky-TTL-Speichern, die eine Zugriffszeit von maximal 60 Nanosekunden aufweisen.
In F i g. 2 sind das DoppelsDeicherwerk 40 und das Rechenwerk 50 in ihrer gegenseitigen Beziehung zueinander dargestellt worden. In dieser Anordnung ist der DBF-Bus 100 über Selektoren 102 und 103 an die Speicherabschnitte 41 bzw. 42 angeschlossen. Auch der DBP-Bus 101 ist über die Selektoren 102 und 103 mit den Speicherabschnitten 41 bzw. 42 verbunden. Die Ausgänge der Speicherabschnitte 41 und 42 sind in gleicher Weise über Ausgangsselektoren 104 und 105 geführt
Somit sind zwei Ausgangsbusse J06 und 107 vorhanden, von denen jeweils einer das Ausgangssignal des Speicherabschnitts 41 oder das Ausgangssignal des Speicherabschnitts 42 überträgt. Ein Selektorsteuerwerk 108 ist über Verbindungsleitungen 109 an die Selektoren 102,103,104 und 105 angeschlossen. Auf diese Weise wird erreicht, daß der Speicherabschnitt 42 zum Abgeben von Daten an das Rechenwerk 50 und zum Empfangen von verarbeiteten Daten vom Rechenwerk 50 eingesetzt wird, während Her Speicherabschnitt 41 verarbeitete Daten zum Zentralspeicher 11 sendet und vom Zentralspeicher 11 neue, zu verarbeitende Daten empfängt. Durch eine richtige Betätigung der Selektoren 102 bis 105 werden Parallelbearbeitungsoperationen ausgeführt.
Die Ausgänge von Selektoren 11G1 111 und 112 sind an die Busse DBI, DBP bzw. DBF angeschlossen. Der DßZ-Bus ist ein Direktübertragungsweg zwischen dem Doppelspeicherwerk 40 und dem Rechenwerk 50. Die Busse DSF und DSP sind die Übertragungswege 100 bzw. 101. Die Busse £>Z?Fund ΖλΒΡ sind an einen Selektor 113 angeschlossen, der seinerseits mit Registern 114 und 115 eines Gleitkomma-Rechenwerks verbunden ist. Die drei Busse (DBI, DBP und DBF) sind über Selektoren 116 und 117 am Eingangsregister 118 bis 121 einer Gleitkomma-Multipliziereinheit angeschlossen. Eine Sinus/Cosinus-Eingabeeinheit 122 ist ebenfalls an die Sej| Iektoren 116 und 117 angeschlossen. Die Register 118 und 119 sind mit einem Selektor 123 verbunden. Die
Register 120 und 121 sind mit einem Selektor 124 verbunden. Die Ausgänge der Selektoren 123 und 124 dienen als Eingänge eines Multiplizierwerks 125, dessen Ausgang an ein Register 126 angeschlossen ist, das seinerseits mit einem Übertragaddierer 127 verbunden ist Dessen Ausgang ist dann an einen Selektor 128 angeschlossen, der an einem Eingang mit dem DB/-Bus verbunden ist Der Ausgang des Selektors 128 ist mit dem P-Register 129 verbunden, das an einem Eingang eines /4-Registers 130 angeschlossen ist Ein zugehöriges B-Register 131 ist an zwei Eingängen mit den Registern 114 und 115 verbunden. Die Register 130 und 131 sind an ein Rechenwerk 132 angeschlossen, dessen Ausgang mit dem Register 133 verbunden ist, das seinerseits mit einer Normalisierungseinheit 134 verbunden ist Der Ausgang des Registers 133 ist über eine Leitung 135 an einem zweiten Eingang des /4-Registers 130 angeschlossen. Die Normalisierungseinheit 134 ist an jeweils einen Eingang eines W-Registers 136, eines (^-Registers 137 und eines 5-Registers 138 angeschlossen. Die Ausgänge der Register 137 und 138 sind mit den dritten und vierten Eingängen der Register 130 und 131 verbunden. Die Ausgänge des W-Registers 136 und des (^-Registers 137 sind an Selektoren 139 und 140 angeschlossen. Die Ausgänge der Selektoren 139 und 140> sind die Busse 101 bzw. 100.
Nachdem die Beziehung zwischen dem Doppelspeicherwerk 40 und dem Rechenwerk 50 dargelegt word .n ist sei nunmehr der Aufbau der Steuerwerke 60, 70 und 80 betrachtet Allgemein gleichen diese Steuerwerke einander. Sie enthalten jeweils eine Gruppe von Testiogikeinheiten, eine Statusadressierungs- und Statusübertragungs-Steuereinheit und eine Gruppe von Festwertspeichern. In F i g. 3 ist die Anordnung des Steuerwerks 80 als Beispiel dargestellt
Das Steuerwerk 80 enthält ein Adressenregister 200, das eine Kapazität von 9 Bits hat Der Inhalt des Registers 200 bildet die Adresse für die Gruppe der Festwertspeicher 201. Die Festwertspeicher 201 enthalten 512 Statusgrößen mit jeweils 160 Bits. Die 160 Bits jeder der Festwertspeicher-Statusgrößen sind verteilt Ein Teil dieser Bits erscheint am Bus 84 und wird zur Hardwaresteuerung verwendet Der Rest erscheint am Bus 202 und wird zur Steuerung der nächsten Statusübertragung verwendet Bei dieser Ausführungsform sind 48 der Festwertspeicher-Bits für die nächste Statusgrößenübertragungssteuerung reserviert, und 112 werden zur Hardware-Steuerung eingesetzt Der Bus 84 enthält daher 112 Leitungen, und der Bus 202 enthält 48 Leitungen.
Im Betrieb ist die Anfangsadresse im Register 200 die Adresse 0. Die neun Adressenbits im Register 200 erlauben eine Adressierung einer der512 Statusgrößen im Festwertspeicher 201.
Der Bus 202 enthält drei Teilbusse 2026,202c und 202rfmit einer Übertragungskapazität von jeweils 9 Bits. Jeder besteht aus 9 Leitungen zum Anlegen der Adressen B, C und D an einen Adressenwähler 203. Drei zusätzliche Teilbusse 202r, 2025 und 202i führen zu Eingängen einer Testlogik-Selektoreinheit 204. Die Teilbusse 202r, 202s und 202i enthalten jeweils sieben Leitungen. Jede kann somit einen von 128 verschiedenen Tests
angeben, der zur Bestimmung der nächsten Adresse im Festwertspeicher 201, die vom Selektor 203 ausgewählt werden soll, unter der Steuerung durch den Selektor 204 ausgeführt werden soll. Die Testlogikselektoreinheit 204 hat daher einen von einer Verbindung 205 gebildeten Ausgang, der zum Selektor 203 führt. Die Tätigkeit des Selektros 203 besteht darin, am Eingang des Adressenregisters 200 den nächsten Statusgrößenspeicherplatz im Festwertspeicher 201 zu liefern. Die Tests a; c und d werden von der Einheit 204 sequentiell abgetastet. Wenn sich einer der Tests als gültig herausstellt, wird der Selektor 203 veranlaßt, an das Register 200 die Adressen der Leitungen A, Coder D anzulegen. Diese von'der Einheit 204 ausgeführten Tests schließen sich gegenseitig aus, so-£sß nur eine Adresse ausgewählt wird. Wenn keine der Adressen A, Coder D ausgewählt ist, dann wird auf Grund dieser Nichterfüllung die Adresse B ausgewählt und als nächste im Steuerwerk 80 wirksame Adresse an das Register 200 angelegt. Da die Tests a, c und dgegenseitig ausschließlich sind, ist klar, daß dann, wenn keiner von ihnen erfüllt wird, auf Grund diess'* Nichterfüllung die Adresse B ausgewählt wird. Die Testlogik für B braucht daher in der Einheit 200 nicht ausgeführt sein; sie ist nicht notwendig.
Es ist zu erkennen, daß eine derzeitige Adresse über einen Bus 206 an eine Eins-Additionseinheit 207 angelegt wird, die die Adresse A liefert, die die um 1 erhöhte derzeitige Adresse ist. s
Nunmehr ist zu erkennen, daß die oben beschriebene Anordnung eine Gruppe von Steuerbits auswählt, die über die Bit-Leitungen des Busses 84 zu verschiedenen Steuerpunkten im System übertragen worden sind. Wie bereits erwähnt wurde, stehen bei der Verwendung von 48 Leitungen im Adressensteuerabschnitt la für den nächsten Status die übrigen 112 Leitungen für eine programmierbare Steuerung aus dem Festwertspeicher 201 *r\ ir W^rfit ητιιηίτ ujaKoi /-Iiocä i'tfartrr&n ί et#nr»r»en iSKör /-Jar» dft? QQ on oiicnoii;öhl ie Cl-ÄMe^t-vi»«-»!^»-*» tr*-» frnrn m»An
UUt * VIIUQUIigl rtWWI KJlUUU UUl IQVII LIVUUIl^VII Ul/Vl UU(I Λ-rU^ UJ Uli UUUgb ** «Ulli- l/iVUVI |/Ullt\4V It II gV<<Jtll II lull
System zur Steuerung des Rechenwerks 50, des Doppelspeicherwerks 40 und der Adressierungseinheit 30 angeschlossen sind.
Die in F i g. 3 dargestellte Anordnung soll hinsichtlich ihrer Struktur als typisch für das Lesesteuerwerk 60, das Adressensteuerwerk 70 und das Prozeßsteuerwerk 80 verstanden werden. Zwischen den Steuerwerken 60, 70 und 80 sind nur die Anzahl der Adressenbits und die Anzahl und die Art der ausgewählten Tests unterschiedlich.
Nach Fi g. 2 werden bei der Steuerung der Speicherabschnitte 41 und 42 die zu jedem Zeitpunkt in ihnen wirksamen Adressen von vier Zählern A, B, Cund -Ygesteuert. Diese Zähler können von Festwertspeicher-Bits ausgewählt werden, und sie sind über Selektoren 210 und 211 mit den Speicherabschnitten 41 und 42 verbunden. Auf diese Weise kann die vom Zählerstand in einen der Zähler A, B, Coder X repräsentierte Adresse zu der j
Adresse gemacht werden, die dann in den Speicherabschnitt 41 oder 42 benutzt wird.
F i g. 7 zeigt die spezielle Art und Weise, in der die am Bus 84 von F i g. 3 erscheinenden Festwertspeicher-Bits 30 ] irr· Zähler X zur Lieferung einer Speicheradresse verwendet werden. Insbesondere sind in Fig.4 zwei NOR-Schaltungen 220 und 221 dargestellt, deren Ausgänge an einen Decodierer 222 angeschlossen sind. Die Ausgangsklemmen 1 und 2 des Decodierers 222 sind am Erhöhungseingang bzw. am Löscheingang des Zählers X angeschlossen. Der Anschluß an den Erhöhungseingang erfolgt über einen Negator 223. Der Zähler X ist mit einer Übertragausgangsleitung 224 und mit einem Ausgangsbus 225 aus acht Leitungen versehen, an dem die Speicheradresse abgegeben wird. Die NOR-Schaltungen 220 und 221 werden so betätigt, daß sie eine logische ODER-Verknüpfung der drei Festwertspeicher-Steuerwerke 60. 70 und 80 liefern. Dies erlaubt jedem der Steuerwerke den Zugriff auf die Funktionen des Zählers X. Die Eingangsleitung 220Ä ist an eine spezielle Bit-Stelle im Festwertspeicher des Lesesteuerwerks 60 angeschlossen. Die Leitung 22QA ist an eine spezielle Bit-Speichersteile im Festwertspeicher des Adressensteuerwerks 70 angeschlossen. Die Leitung 220P ist an eine au Bit-Speicherstelle im Festwertspeicher des Prozeßsteuerwerks 80 angeschlossen. In gleicher Weise sind die Leitungen 22\R,22\A und 221Pan weitere ausgewählte Festwertspeicher-Bit-Stellen der jeweiligen Steuerwerke 60,70 und 80 angeschlossen.
In der Praxis repräsentieren die Festwertspeicher-Bits einen hohen Ausgangswert, wenn sie im Festwertspeicher nicht für den Signalwert »0« programmiert sind. Wenn eine der Leitungen 2207?, 220Λ oder 220F einen niedrigen Signalwert führt, dann liegt an der zum Decodierer 222 führenden Ausgangsleitung ein hoher Signalwert. Dieselbe Wirkung tritt an der Ausgangsleitung der NOR-Schaltung 221 für die Eingangsleitungen 221R, 221/4 und 221Pein.
Der Decodierer 222 liefert somit eine logische Decodierung seiner zwei Eingangsgrößen. Wenn das Ausgangssignal der NOR-Schaltung 220 einen hohen Wert und das Ausgangssignal der NOR-Schaltung 221 einen niedrigen Wert hat dann ist die zum Zähler führende Erhöhungsleitung freigegeben. Wenn das Ausgangssignal der NOR-Schaltung 221 einen niedrigen Wert und das Ausgangssignal der NOR-Schaltung 220 einen hohen Wert hat, dann ist die Löschleitung des Zählers ^freigegeben.
Auf diese Weise wird das Festwertspeicherprogramm dazu verwendet, den Zähler X bei der Erstellung einer neuen, an der Leitung 225 erscheinenden Adresse zu steuern oder den Zähler zu löschen, je nachdem, welcher Fall vorliegt Wenn beide Ausgangssignale der NOR-Schaltungen 220 und 221 einen hohen Wert haben, dann wird keine Operation ausgeführt. Auch wenn beide Ausgangssignale der NOR-Schaltungen 220 und 221 einen niedrigen Wert haben, wird keine Operation ausgeführt.
Der Übertragausgang des Zählers X wird bei Testoperationen benutzt Beim Betrieb der Testlogik wie der Einheit 204 von F i g. 3 kann ein Test die Feststellung erfordern, ob der Zählerstand im Zähler X von F i g. 4 den Wert 255 hat oder nicht In anderen Worten heißt das, daß festgestellt werden soll, ob der Zähler X seinen maximalen Zählerstand erreicht hat der kennzeichnet, daß er die letzte Adresse im Speicher erreicht hat Einer «■
der Tests kann daher darin bestehen, den Zustand an der Leitung 224 abzutasten und in Abhängigkeit von |
diesem Zustand eine angegebene nächste Adresse mit Hilfe des Selektors 203 von F i g. 3 auszuwählen.
In F i g. 2 sind drei weitere Zähler A, B und C dargesellt Die Arbeitsweise des Zählers X ist repräsentativ für die Art und Weise angegeben worden, in der die Steuerwerke 60, 70 und 80 über alle Zähler A, B, Cund Xmit dem Speicher 40 zusammenwirken.
in F i g. 5 ist dargestellt wie das Kennzeichensteuerwerk 90 für gemeinsame Kennzeichen eingesetzt wird. In
der vorliegenden Ausführungsform wird das Kennzeichenbit PCF gesetzt, damit es anzeigt, wenn ein Prozeß beendet ist. Wenn beispielsweise in Fig.4 ein Test feststellt, daß der Ausgang des Zählers Xauf dem Zählerstand 255 steht, dann zeigt dies an, daß die Daten in einem der zwei Speicherabschnitte 41 und 42 des Speichers 40 vollständig verarbeitet worden sind und für die Rückspeicherung der verarbeiteten Ergebnisse in den Zentralspeicher 11 bereit sind. Zur Meldung dieser Bedingung wählt das Prozeßsteuerwerk 80 beim Erkennen, daß der Zähler X den Zählerstand 255 erreicht hat, im Festwertspeicher 83 eine nächste Adresse aus, die ein Ausgangs-Bit enthält, da die Beendigung des Prozesses kennzeichnet; das bedeutet, daß dieses Bit dazu dient, das Prozeßbeendigungskennzeichen zu setzen. Dieses Festwertspeicher-Bit wird über die Leitung 230 durch einen Negator 231 einem Flipflop 232 zugeführt. Das an der Leitung 233 erscheinende (?-AusgangssignaI des Flipflops
232 ist somit das in der Einheit 16 erscheinende Prozeßbeendigungskennzeichen.
Das Adressensteuerwerk 70 prüft bei der Ausführung seiner Funktionen das Kennzeichen an der Leitung 233. Wenn das Adressensteuerwerk 70 das Kennzeichen an der Leitung 233 gesetzt vorfindet, löst es das Kennzeichen durch Anlegen eines Eingangssignals an der Leitung 234, und es betätigt auch die Selektorsteuereinheit 108 von F i g. 2, damit die Selektoren 102 bis 105 so geschaltet werden, daß sie wieder die Rollen bezeichnen, die die zwei Abschnitte des Speichers spielen.
In F i g. 6 ist ein typisches Flußdiagramm einer Ausführungsfolge für den Prozessor20 von F i g. 1 dargestellt. F i g. 6 zeigt den Prozeßablauf, wie er vom Prozeßsteuerwerk 80 gesteuert wird. Dabei sind die Punkte des Prozesses angegeben, bei denen die Steuerkennzeichen gesetzt und für die Verwendung bei verschiedenen Tests durch die anderen Steuerwerke 60 und 70 zur Verfügung gestellt werden. Die in F i g. 6 angegebene Operation
**/\ !et in /Io r\n V»f 1 Λ "T* Kill K
Tabelle I
300 Beginn bei Statusadresse 0;
301 Warten, bis Listenabruf durch das Listensteuerwerk beendet ist;
302 Listen sind vollendet worden, der Prozeß beginnt, und die Serienanordnung der Baueinheiten (Pipeline) ist || initialisiert; i
303 Zähler A ist auf 0 gelöscht;
304 Warten auf das Setzen des Abrufbeendigungskennzeichens durch das Lesesteuerwerk;
305 Nach dem Setzen des Abrufbeendigungskennzeichens wird dieses Kennzeichen- rückgesetzt, und die Ausführung des Prozesses beginnt;
306 Ausführen des vom Festwertspeicherprogramm angegebenen Prozesses mit einem oder mehreren bestimmten Speicherabtastwerten;
306a Erniedrigen des Standes des Elementzählers B; §
3066 Erhöhen des Standes des Speicherzählers A;
307 Überprüfen, ob die gesamte Anzahl der Elemente verarbeitet worden ist (ECB= 0);
308 Wenn die gesamte Anzahl verarbeitet worden ist, dann wird das 5/?F-Kennzeichen gesetzt, damit gcmcl- | det wird, daß der Pufferspeicher bereit ist: das gesetzte Prozeßbeendigungskennzeichen PCFzeigt an, daß alle Elemente verarbeitet worden sind; Ausgang zum Status 000;
309 Wenn nicht alle Elemente verarbeitet sind, wird geprüft, ob der Stand des Zählers A gleich 255 ist; wenn nicht, wird die Ausführung der Schleife für weitere Abtastwerte wiederholt, bis der Stand des Zählers B ungleich 0 und der Stand des Zählers A gleich 255 ist;
310 Wenn dei Stand &2i Zählers A gleich 255 ist, erfolgt Eintritt in einen neuen Status, in dem das Pufferspeicherbereitkennzeichen gesetzt wird; es folgt eine Rückkehr, und es wird auf das Setzen des Abrufbeendi- „
gungskennzeichens durch das Lesesteuerwerk 60 gewartet; diese Folge läuft bis zum Stand 0 des Zählers B |
weiter. ß
Der Arbeitsablauf des Prozessors 20 beginnt mit zwei Steuerlisten: (1) einem automatischen Übertragungsbefehl (A TI) und (2) einer Bef ehlsinitiaiisierungsliste (CIL).
so Zum Starten der Prozessoroperation gibt die Zentraleinheit 10 (CPU) einen /477-Befehl an den Prozessor 20 ab. Das erste Wort des in der Tabelle II angegebenen ,477-Befehls wird dazu verwendet, den Prozessor 20 zu initialisieren und die Betriebssteuerungen zu kennzeichnen. Das zweite Wort des /477-Befehls wird dazu verwendet, im Zentralspeicher (CM) den Speicherplatz des Anfangs der Befehlsinitialisierungsliste (CIL) anzugeben. Im Anschluß an die zwei A TI-Wörter speichert der Prozessor 20 einen anfänglichen Gesamtnullstatus,
damit angezeigt wird, daß der A77-Befehl angenommen worden ist und daß der Prozessorden Befehl ausführt.
0 7 Speicherstartadresse 8 9 10 11 12 13 14 15
CPtZ-Operationscode R M 7 C0 C1 DEV
0 15
Tabelle II
Format des ATI-Befehls
ATI-I
ATI-2
i? = Rücksetzen
M - Wartungsbetrieb
I = CPU sperren
C = Steuerbefehl (START, HALT, FORTSETZUNG)
DEV = adressierte Z)AL4C-Gerät
R = Rückse'zen:
Der Prozessor 20 nimmt bei R= 1 jederzeit einen /477-Befehl an. Dies bewirkt ein unbedingtes Rücksetzen ohne Statusaufstellung. Wenn der Prozessor bei Feststellung eines A77-Befehls mit R=O besetzt ist, dann wird dieser ATZ-Befehl entsprechend der Tabelle III interpretiert. Wenn beim ersten A TI-Wort ein Paritätsfehler festgestellt wird, wird der Rücksetzbefehl nicht ausgeführt, wenn er angegeben wird. Für jeden ATI- oder Listenparitätsfehler wird ein Unterbrechungs- und Abspeicherstatus ausgegeben, und der Befehl wird beendet.
M = Wartungsbetrieb:
Der Prozessor 20 ist ein mil hoher Geschwindigkeit arbeitendes Gerät. Die meisten Operationen erfordern aufeinanderfolgende Speicherzyklen zum Abrufen und Speichern von Daten. Dabei hat der Prozessor 20 Zugriff zu allen Speicherzyklen, und er hindert die Zentraleinheit 10 daran, einen Zugriff auf den Speicher zu erhalten. Wenn das M-Bit auf den Wert »1« gesetzt ist, wird es dazu verwendet, den Prozessor 20 zu einem Speicherzugriff in abwechselnden Speicherzyklen zu veranlassen, wenn eine Bedingung auftritt, bei der normalerweise aufeinanderfolgende Zyklen erforderlich wären. Dieses Bit ist für jede ATZ-Operation programmierbar, und es erlaubt der Zentraleinheit 10, zumindest in abwechselnden Speicherzyklen einen Speicherzugriff auszuüben, wenn es auf den Wert »1« gesetzt ist. Dieses Bit kann durch Ausgaben des entsprechenden Ä 77-Befehis »Fortsetzung« jederzeit geändert werden (besetzt, angehalten oder frei).
/ = CPt/Sperren:
Wenn ein ATZ-Befehl angenommen wird, bei dem dieses Bit einen hohen Wert hat (I =\), hindert der Prozessor 20 die Zentraleinheit 10 daran, Speicherzykien zu erfassen, bis die Operation beendet ist (Ausführung der zuletzt verketteten Liste). Dieses Bit kann von einem Befehl »Fortsetzung« nicht geändert werden.
C0Q = Steuerbefehl:
Dieses aus zwei Bits bestehende Feld wird dazu verwendet, den ATZ-Befehl als einen der folgenden vier Befehle zu definieren:
00 = START;
01 - HALT;
10 = FORTSETZUNG; und
11 = unzulässig.
Bei richtiger Adressierung wird ein ATZ-Befehl vom Prozessor 20 jederzeit angenommen. Daher kann ein ATZ-Befehl im Besetzt-, Halte- oder Frei-Zustand abgegeben werden, und die Interpretation des Steuerbefehls hängt vom Besetztstatus ab. Die Tabelle III zeigt die genaue Interpretation der ATZ-Befehle, die vom Besetzt-, Halt- oder Frei-Status abhängt
10 15 20 25 30 35 40 45
50
55
60
Tabelle ΠΙ
Rücksetzen
Wamingsfaetrieb CPU Sperren J. ^Steuerbefehl
j 0 I A/ I J I C0 C1 j DEV |~ ATP
Funktion
(START)
(HALT)
OZZOO Z Z MI
OZZOl Z Z X X
(FORTSETZUNG) 0 M X 1 0 Λ/ Z A/ Z OZZIl
λ: zeigt »unbeachtet« an.
besetzt Besetzt-Status, Unterbrechung, Halt
angehalten Besetzt-Status, Unterbrechung, Halt
frei Beginn einer neuen Operation
besetzt Halt-Operation
angehalten NO-OP
frei NO-PO
besetzt Fortsetzung, M annehmen
angehalten Fortsetzung, M annehmen
frei NO-OP
irgendein unzulässige Operation ATP
Normalerweise wird ein Befehl »S1 ART« dazu verwendet, eine neue Operation einzuleiten; er wird gewöhnlich dann ausgegeben, wenn der Prozessor 20 frei ist Unter dieser Bedingung interpretiert der Prozessor 20 das zweite Wort des A 77-Befehls als den Anfangsspeicherplatz im Zentralspeicher zum Abrufen der Befelsinitialisierungsliste CIL, die für die Operation erforderlich ist.
Wenn im besetzten oder angehaltenen Zustand des Prozessors 20 der Befehl »START« ausgegeben wird, antwortet der Prozessor 20 darauf mit einem unzulässigen (Besetzt) Status, einem Unterbrechungstatus oder einem Haltstatus. Hier ist zu beachten, daß das /-Bit fCPt/sperren) und das Λί-Bit (Wartebetrieb) nicht beachtet
40 werden.
Ein Befehl »HALT« wird normalerweise ausgegeben, wenn der Prozessor 20 bestezt ist, und er wird dazu verwendet, die in Bearbeitung befindliche Operation zeitweise anzuhalten. Wenn der Befehl »HALT« ausgegeben wird, während sich der Prozessor 20 im Halt-Status oder im Frei-Status befindet, hat der Befehl die Funktion »Keine Operation« (NO OP), was bedeutet, daß er ignoriert wird.
Ein Befehl »FORTSETZUNG« wird normalerweise dazu verwendet, eine Operation weiterzuführen, die vorher von einem Steuerbefehl »HALT« angehalten worden ist. Wenn ein Befehl »FORTSETZUNG« ausgegeben wird, während der Prozessor 20 besetzt oder angehalten ist, nimmt der Prozessor 20 jede Änderung des M-Bits an, und er setzt seine derzeitige Operation ohne Unterbrechung fort. Wird der Befehl »FORTSETZUNG« ausgegeben, während de;· Prozessor 20 frei ist, hat der Befehl die Funktion »Keine Operation« (NO
50 OP), was bedeutet, daß er ignoriert wird.
Alle Ausführungsbefehle im Prozessor 20 erfordern eine Befehlsinitialisierungsliste CIL, wie sie in der Tabelle IV angegeben ist Jede Befehlsinitialisierungsliste ClL besetzt im Speicher 11 zusammenhängende Speicherplätze. Die Anzahl von Wörtern in der Liste hängt von dem in der Tabelle V angegebenen Befehl ab. Die Anzahl der Listenwörter für jeden Befehl ist fest, doch ist sie von Befehl zu Befehl unterschiedlich. Das Format der Befehlsinintialisierungsliste CIL ist zwar befehlsabhängig, doch sind gewisse allgemeine Merkmale gemeinsam vorhanden. Die meisten Befehle erfordern bis zu drei Felder, die aus zwei Eingangsfeldern und aus einem Ausgangsfeld bestehen. Einige höhere Operationen erfordern zusätzliche Steuerfelder, die allgemein im Festkommaformat vorliegen und in aufeinanderfolgenden Speicherplätzen im Speicher 11 gespeichert sind.
60 Tabelle IV
Grundlegende Befehlsinitialisierungsliste CIL
1 PCW Prozessorbefehlswort
65 2 NOEW Element-Anzahl-Wort
3 *FSA Formatspezifikation für Vektor A
4 AIA Adressenerhöhung für Vektor A
5 SAA Startadresse für Vektor A
6 *FSB Formatspezifikation für Vektor B
7 AIB Adressenerhöhung für Vektor B;
8 SAB Startadresse fürVektor B
9 *FSC Formatspezifikation für Vektor C U
10 AIC Adressenerhöhung für Vektor C 5
11 SAC Startadresse für Vektor C
12 AME Adresse für maximalen Exponenten
13 ANL Adresse der nächsten Liste
*) enthalten, wenn erweitertes Format angegeben ist (E=I).
Die normale Befehlsinitialisierungsliste besteht aus 13 Spezifikationswörtern, die dazu verwendet werden, die Operation des Prozessors 20 und die von der Operation benutzten oder erzeugten Parameter vollständig anzugeben. Die Tabelle IV enthält diese normale Gruppe von Listenwörtern. Für höhere Operationen, die zusätzliche Listenwörter erfordern, wird die Liste einfach zur Angabe dieser zusätzlichen Wörter erweitert.
Das erste Wort der Befehlsinitialisierungsliste ist ein Prozessorbefehlswort (PCW), dessen Format in der Tabelle V angegeben ist
Tabelle V
PCW - Format
0 1 2 3 4 5 6 Ί 8 9 10 11 12 13 14 15
C D P E K Σ Operations-Codegruppe
C = Anschluß
D = max. Exponenten feststellen
P = programmgesteuerte Unterbrechung t
E = erweitertes Format |
K = Stapelungsoption
Σ = Suinmierungsoption
OP CODE = AATP- Operationscodegruppe
Das Prozessorbefehlswort PCW wird erhalten und es kennzeichnet den Befehl. Die vollständige Liste wird erfaßt. Der Prozessor 20 beginnt dann mit der Ausführung des angegebenen Befehls. Die Befehlsverarbeitung stört in keiner Weise die Datenverarbeitung durch die Zentraleinheit 10, außer wenn ein Konflikt beim Speicherzugriff auftritt. Der Prozessor 20 ist eine mit hoher Geschwindigkeit arbeitende, nicht zeitkritische Peripherieeinheit. Sie hat eine niedrigere Zugriffspriorität als alle anderen Geräte mit Direktzugriff auf den Speicher (DMA-Geräte) erhalten. Der Prozessor 20 fährt mit der Ausführung des Befehls (also mit dem Abrufen von Daten und dem Speichern von Ergebnissen) fort, bis der Befehl beendet ist. Nach Beendigung des Befehls wird das Anschlußbit geprüft; wenn ein Anschluß angezeigt wird, wird die nächste Befehlsinitialisierungsliste erfaßt, und der angegebene Befehl wird ausgeführt. Dieser Vorgang wird fortgesetzt, bis kein Anschluß mehr angegeben ist. Wenn die Operation beendet ist, wird das Statusbit für die Operationsbeendigung eingeschaltet, und die Statusabspeicher- und Unterbrechunsfolge wird ausgeführt. Am Ende jedes Befehls kann wahlweise eine Unterbrechung abgegeben werden. Mit jeder dieser Unterbrechungen wird der Status abgespeichert, und der Prozessor 20 hält an. Die Operation kann durch einen /i77-Befehl »FORTSETZUNG« wieder ausgelöst ν erden. Das Prozessorbefehlswort PCW enthält eine Wahlangabe (E), die die Wahlmöglichkeit eines erweiterten Formats oder eines eingeschränkten Formats bezeichnet. Bei erweiterten·. Format (Bit E= 1) können drei Vektoren A, B und C unabhängige Formate aufweisen. Aus diesem Grund müssen die Fonnatspezifikationswörter für diese \
Vektoren angegeben werden. Bei der Wahlmöglichkeit des eingeschränkten Formats (E= 0) sind die Formatspe- I
zifikationswörter für die Vektoren A, B und C nicht als ein Teil der Software-Liste enthalten. Das Vektorformat ist daher als eine Gleitkommagröße mit 32 Bits gekennzeichnet. Die normale Software-Liste besteht in diesem Fall aus nur 10 Listenwörtern
C= Anschluß:
Dieses Bit wird dazu verwendet, eine Verkettung von Befehlsoperationen zu ermöglichen. Wenn es auf den Wert »1« gesetzt ist, ist ein Anschluß angezeigt, und nach Beendigung eines vorhandenen Befehls wird die nächste Befehlsinilualisierungsliste CIL abgerufen. Der neue angegebene Befehl wird dann ausgeführt.. Dieses Verfahren erlaubt eine unbestimmte Verkettung, ohne daß ein neuer A 77-Befehl erforderlich ist.
D= Maximales Element feststellen:
Wenn die Wahlmöglichkeit zur Feststellung des maximalen Elements angegeben ist (D= 1), dann wird der Exponent jedes im Zentralspeicher 11 abzuspeichernden Ergebnisses mit einem internen Bezugsexponenten verglichen, der gleich dem größten angetroffenen Exponenten gehalten ist. Der Anfangswert des
Bezugsexponenten wird vom Programm an der Speicherstelle zugeführt, an der der Ergebnisexponent abzuspeichern ist (AME). Am Ende der Befehlsoperation ist der maximale Exponent zusammen mit dem Vorzeichen im Zentralspeicher 11 an dem Speicherplatz (AME) abgespeichert, der vom Listen wort B angegeben ist. Dieses Wort hat folgendes Format
S j Exponent
nicht benutzt
S = Vorzeichen
7 = niedrigstwertiges Bit (LSB)
P = Programmgesteuerte Unterbrechung:
Der Prozessor 20 speichert unmittelbar nach dem Empfang eines A 77-Befehls »START« (im Freizustand) einen Anfangsstatus. Dieser Anfangsstatus hat stets insgesamt den Wert »0«, und es wird keine Unterbrechung erzeugt Der Zweck dieses Anfangsstatus besteht darin, der Zentraleinheit CPU anzuzeigen, daß der
Prozessor 20 einen A77-Befehl erfolgreich angenommen hat und mit der Ausführung der angezeigten Operation begonnen hat.
Wenn die Möglichkeit der programmgesteuerten Unterbrechung für einen Listenbefehl gewählt ist (F= 1),
dann speichert der Prozessor 20 bei Beendigung der Befehlsausführung den Status, und er erzeugt eine Unterbrechung und bait an. Alle Statusbedingungen von der letzten Statusabspeicheroperation bis zur derzeitigen Statusabspeicherung werden zusammengestellt, und das Statusregister des Prozessors 20 wird reinitiaüsiert (auf 0 gelöscht). Die Operation kann durch einen Fortsetzungsbefehl wieder aufgenommen werden, oder sie kann durch einen Rücksetzbefehl beendet werden. Für P= 1 wird die Folge aus programmgesteuerter Unterbrechung
und Statusabspeicherung bei Beendigung des Befehls nicht ausgeführt
Bei Beendigung einer Befehlsoperation, bei der kein Anschluß angezeigt wird, ist die A77-Operation als beendet definiert, und es erfolgt stets eine Statusaufstellung. Das Statusbit 0 (für »Operation beendet«) hat den hohen Signalwert (1). Wenn P (programmgesteuerte Unterbrechung) angezeigt wird, wird mit diesem Gerätestatus auch eine Unterbrechung erzeugt. Bei P=O wird keine Unterbrechung erzeugt
Wenn während der Ausführung eines Befehls eine Abbruchbedingung eintritt, bewirkt der Prozessor 20 die Unterbrechung der ablaufenden Operation, die Abspeicherung des Status, die,Unterbrechung der Zentraleinheit 10, und er kehrt ;n den Leerlaufzustand zurück. Der Status akkumuliert sich aus dem letzten zusammengestellten Status. Das Statusbit 0 (für Operation beendet) hat einen hohen Signalwert, und auch die Bits 1 oder 2 (für Abbruchbedingung) haben einen fiohen Wert.
Wenn ein A 77-Befehi »SI ART« ausgegeben wird, während der Prozessor 20 besetzt oder angehalten ist, dann antwortet er darauf mit einem Abspeicherstatus, einer Unterbrechung oder einem Halt Der Status gibt Bit 15 (unzulässiger /477-Befehl) mit hohem Wert an. Die Befehlsausführung kann durch einsn Fortsetzungsbefehl wieder aufgenommen oder durch einen Rücksetzbefehl beendet werden.
E = erweitertes Format:
Wenn diese Möglichkeit gewählt ist (E=A), ist für jeden Vektor die Möglichkeit des erweiterten Formats erlaubt, und die Formatspezifikationswörter müssen für jeden Vektor angegeben und in der Liste enthalten sein.
Wenn dieses Bit den Wert »0« hat, ist das Format für jeden Vektor auf die Gleitkommadarstellung beschränkt, und die Wert-, Vorzeichen- und Maßstabangaben für jeden Vektor sind nicht anwendbar und nehmen den Wert »0« an. Die Formatspezifikationswörter für die Vektoren A, B und C sind nicht als Teil der Liste enthalten, und ihre Positionen werden für nachfolgende Listenwörter benutzt. Diese Wahlmöglichkeit erlaubt vereinfachte Befehlsinitialisierungslisten CIL für Operationen, die Gleitkommavektoren sowohl benutzen als auch erzeugen.
K = Stapelungsoption:
Die S'apelungsoption wird angezeigt, wenn das entsprechende Bit auf den Wert »1« gesetzt ist. Die Stapelungsoption und die Summierungsoption sind für alle arithmetischen Operationen und für einige höhere Operationen zulässig, wie in der Tabelle VI angegeben ist.
Tabelle VI
ΑΤΙ-Befehl »START« im Besetztzustand von AATP ausgegeben
C = 1 P = 1
C = O
P = 1
Operation | Liste 2 [ Operati
ion
Liste 3
Operation
Anfangsstatus Geiamtnull . abspeichern
Status
Gesamtnull
Status abspeichern (JP - 1)
C=O
Unterbrechung Status abspeichern Status ab
Halt, Unterbrechung speichern
O - Status Halt, P= 1
O - Status Unterbrechung
frei,
0 — Status
Status Status Status
unzulässiger ATI kumulativer kumulativer
und kumulativer Status, Status,
Status normalerweise Operation
insgesamt 0 riendet,
10
15
Status
Beachte: kumulativer Status stammt vom zuletzt aufgestellten Status.
25
Für alle anderen Operationen werden die Stapelungsoption und die Summierungsoption nicht beachtet und als Null angesehen.
Wenn die Stapelungsoption gewählt ist (K= 1), werden die Ergebnisse jeder Operation zum entsprechenden dritten Feldelement addiert und anstelle dieses Elements abgespeichert. Ein Beispiel ist in der Tabelle VII angegeben.
Tabelle VII
K2
Operation
35
0 0 G =a, ■ bi
0 1 C = Ia1 ■ bi
1 0 Q =Q+a,· bi 11 C = C+Iai ■ bj
Σ = Summierungsoption:
Diese Angabe ist ebenso wie die Stapelungsoption für viele arithmetische Operationen zulässig Wenn sie ausgewählt ist (Σ= X), werden die Ergebnisse arithmetischer Operationen intern summiert und nicht einzeln zum Zentralspeicher 11 zurückgegeben. Wenn die angegebene Anzahl von Operationen beendet isl, wird die akkumulierte Summe zum Zentralspeicher 11 zurückgegeben, wie von der Stapelungsoption bestimmt wird.
OP COD£(Prozessor 20):
Der Prozessor 2fr ist so organisiert, daß er eine Anzahl von sich wiederholenden Operationen an Reihen aufeinanderfolgender Daten (strings) ausführt
Mehrere Operationen sind Grundrechnungsarten, nämlich Addition, Subtraktion, Multiplikation und Division. Andere Operationen sind höherer Art; ihre Durchführung erfolgt mit Hilfe von Algorithmen, die von einfacheren Grundoperationen Gebrauch machen.
Alle Operationen des Prozessors 20 werden von einem aus 8 Bits bestehenden Feld (3 bis 15) des Prozessorbefehlsworts fClVfolgendermaßen angegeben:
45
50
6 7
11 12
15
Operations-Codegruppe
Die meisten Operationen können mit Hilfe der Stapelungsoption und der Summierungsoption modifiziert werden. Das Bitfeld (12 bis 15) wird bei Nullinhalt des Bitfelds (8 bis 11) dazu verwendet, die Grundtypenbewegung (Move), Abtastung, reelle Arithmetik und komplexe Arithmetik anzugeben, wobei für jeden Grundtyp mit Ausnahme des Grundtyps Abtastung die Wahlmöglichkeit für Stapelung und Summierung gegeben ist.
60
65
11
10
15
20
25 30
40
Das Bitfeld (8 bis 15) wird zur Angabe höherer Operationen verwendet. Die Stapelüngsoption ist nur für gewisse angegebene höhere Operationen zulässig. Für höhere Operationen, bei denen die Stapelungsoption und/oder die Summierungsoption nicht zulässig sind, werden die K- und/oder 2"-Felder nicht beachtet und als Null angenommen.
Listenwort 2
Anzahl der Elementwörter(NOEW):
Dieses Wort der meisten Befehlsinitialisierungslisten CIL wird dazu verwendet, die Anzahl der Operationsfolgen vor der Beendigung anzugeben. Insbesondere bezeichnet dieses Wort die Anzahl der vom ausgeführten Befehl zu erzeugenden Ausgangsergebniselemente, wenn die Ausgangsgröße ein Vektor ist, oder die Anzahl der Elemente im Eingangsvektorfeld, wenn die Ausgangsgröße eine skalare Größe ist. Das Wort NOEW'isi eine positive ganze Zahl mit 16 Bits mit dem Wert 1 bis 216, wobei 0 als 216 interpretiert wird.
Listenwörter 3 bis 11 (Feldspezifikationswörter):
Jedes Vektorfeld wird von 3 Wörtern vollständig beschrieben, die als Feldspezifikationswörter (ASW) bezeichnet sind und aus den folgenden Wörtern für jeden Vektor Λ B und Cbestehen:
FSA: Formatspezifikation für Vektor A AiA: Ädressenerhöhung für Vektor A SAA Startadresse für Vektor A.
Für jedes primäre Feld enthäit die Befehlsinitialisierungsliste CIL Felder, die zur Festlegung der Eigenschaften des Feldes und seiner Elemente benutzt werden. Es gibt zwar Ausnahmen, die in den Befehlsbeschreibungen im Einzelnen angegeben sind, doch wird jedes primäres Feld von einem aus 48 Bits bestehenden Feldspezifikationswort (ASW) m der Befehlsinitialisierungsliste beschrieben. Die vollständige Befehlsinitialisierungsliste CIL enthält drei ASH^-Gruppen aus jeweils 3 Wörtern, wenn £den Wert 1 hat, oder aus jeweils zwei Wörtern, wenn £den Wert 0 hat, wie in der Tabelle VIII angegebenist.
Tabelle VIII
FSA (E = 1) nur
AIA SAA
Das Grundprogramm-Befehlsformat für die meisten Operationen des Prozessors 20 ist in der Tabelle IX zusammengefaßt.
0 1 2 i 4 7 15
Format V S Maßstabsfaktor
Adressenerhöhung
Startadresse
45 50 55 60 65
Tabelle IX
O C/>£/-OZ)-Codegruppe 7 8 9 10 11 12 13 14 15
R M I C0 C Gerät
Listenstartadresse
0 12 3 4 5 6
NOEW
C\ D
Operations-Codegruppe
Element-Anzahl-Wort
Format V S
Maßstabsfaktor
Adressenerhöhung A
Startadresse A
Format | v\ S
•I
Maßstabsfaktor
Adressenerhöhung B
Startadresse B
Format
V\ S
Maßstabsfaktor
Adressenerhöhung C
Startadresse C
Adresse fur max. Exponenten
Adresse der nächsten Liste
R - Rücksetzen
M = Wartungsbetrieb
/ = CPU sperren
C0C1 = Ein/Ausgabe-Geräte-Steuerung (START, HALT, FORTSETZUNG)
DEVICE = DEMAC-Geräteadresse für ATP
C = Anschlußoption
D = max. Exponenten feststellen
P = programmgesteuerte Unterbrechung
E = erweitertes Format
K = Stapelungsoption
Σ = Summierungsoption
F = Vektorformat
V = Vektorwertoption
*S = Vektorvorzeichenoption
SCALE = Vektormaßstabsfaktor
*) nicht in der Liste, wenn E = O (erweitertes Format nicht angegeben).
20 25 30 35 40 45 50 55
F= FORMAT:
Dieses aus drei Bits bestehende Feld der Formatspezifikation FSA wird zur Angabe des Formats des entsprechenden Datenfeldes benutzt Das Datenformat kann eines von fünf Typen von Eingangsdatenfel- 60 dem oder eines von vier Typen von Ausgangsdatenfeldern sein. Jedes Datenfeld kann unabhängig so angegeben sein, wie die Tabelle X zeigt
65
13
Zl
Tabelle 1 X 0 0
0 2 0 1
FORMAT 1 0
0 1 1
0 0 0
0 0 1
0 1 0
1 1 1
1
1
1
32-Bit-Gleitkommaformat 16-Bit-Festkommaformat 32-Bit-980A-Fest.kommafort 32-Bit-ASC-Festkommaformat 32-Bit-Übersetzungsformat nur für Eingaben
(Unzulässige Codegruppen)
Einzelheiten bezüglich dieser Formate sind in der Tabelle XI angegeben. Tabelle XI
16-Bit-Festkommaformat:
MSB LSB
0 1 15
S Binärzahl t:
16
LSB
31
Binärzahl
3 2-B it-ASC-Festkommaformat
MSB LSB
0 1 31
S
Binärzahl
3 2-Bit-980 A-Festkommaforma
MSB
0 1 15
Binärzahl
1) Das Vorzeichenbit hat bei positiven Daten den Wert »0« und bei negativen Daten den Wert »1«.
2) Der Binärpunkt liegt rechts des niedrigstwertigen Bits LSB.
3) Das Vorzeichenbit und diej Binärzahl werden für negative Zahlen im Zweier-Komplement dargestellt
32-Bit-Gleitkommaformat:
0 1
MSB
LSB
31
S Gleitkommaexponent (C) binärer Bruchteil (F)
1) Das Vorzeichenbit hat für positive Daten den Wert »0« und für negative Daten den Wert »1«.
2) Der Binärpunkt liegt links des höchstwertigen Bits MSB des binären Bruchteils.
3) Vorzeichen und Bruchteil werden in Vorzeichen/Größendarstellung wiedergegeben.
4) Der Gleitkommaexponent ist ein um eine bestimmte Zahl erhöhter Exponent, der den Dezimalbereich
16-24bis 16+63 repräsentiert
5) Die von der obigen Gleitkommadarstellung angegebenen Zahl ist:
N=SxFx
32-Bit-Übersetzungsformat nur für Eingabedaten:
MSB
Ol 15 16 25 26
31
S Binärzahl (Λ0 000 O 0000 GAIN
1) Das Vorzeichenbit hat für positive Daten den Wert »0« und für negative Daten den Wert»1«.
2) Der Binärpunkt liegt rechts des niedrigstwertigen Bits LSB.
3) Vorzeichen und Bruchteil werden bei negativen Zahlen im Zweier-Komplement dargestellt.
4) Das Feld »GAIN« ist ein aus 6 Bits bestehender Exponent zur Basis 2, der die angelegte Verstärkung repräsentiert.
5) Die durch diese Formatdarstellung angegebene Zahl ist:
N=SxNx 2-
lo
15
V= Wert:
Die Wert-Option ist nur bei Eingangsdatenfeldern anwendbar; sie gibt an, daß die betroffenen Feldelemente als algebraische Größen (normal) oder als absolute Größen (positive Zahiengröße) zu behandeln sind. Das bedeutet, daß bei Auswahl der Absolut-Option die Eingangsdaten in eine positive absolute Größe umgewandelt werden müssen, ehe sie auf den anwendbaren Algorithmus angewendet werden.
Bei Operationen, bei denen die Stapelungsoption zugelassen und ausgewählt ist, kann das Ausgangsfeld wieder als Eingangsgröße verwendet werden. Wenn es als Eingangsgröße verwendet wird, ist die Wert-Option anwendbar. Zweckmäßigerweise kann somit festgestellt werden, daß die Wert-Option auf alle Eingangsdatenfelder angewendet werden kann. Dabei gilt:
K=O: algebraisch (normal); und
V = 1 : in Absolutwert umwandeln.
5 = Vorzeichen:
Die Vorzeichen-Option kann ebenso wie die Wert-Option nur auf Eingangsdatenfelder angewendet werden. Dieses Bit wird für die Angabe verwendet, daß die Eingangsdaten für das bezeichnete Eingangsfeld mit normalem Vorzeichen zu behandeln sind oder daß das Vorzeichen umgekehrt werden soll.
Ein offensichtlicher Anwendungsfall für das umgekehrte Vorzeichen ist die Durchführung der Subtraktion
unter ν ei wcnuüug ciricF nOFfipiciιicli ucrUHga- UHu ^"vuuitiönäöpcräiiOii;
S=O: Normales Vorzeichen, und S=I: umgekehrtes Vorzeichen.
Maßstabsfaktor:
Dieses 9-Bit-Feld wird (wenn es anwendbar ist) dazu verwendet, eine aus 9 Bits bestehende Zweier-? omplementzahl anzugeben, die als Maßstabsfaktor für die Feldelemente zu interpretieren ist. Die Anwendung dieser Zahl hängt davon ab, ob das zugehörige Feld ein Eingangsfeld oder ein Ausgangsfeld ist.
Für Eingangsfelder wird dieses 9-Bit-Feld als ein binärer, als Zweier-Komplementzahl angegebener Exponent zur Basis 2 (2*) interpretiert, der als Maßstabsfaktor (Multiplikator) für alle Elemente des Eingangsfeldes verwendet werden soll. Das bedeutet, daß das Exponentenfeld als ein Exponentenmultiplikator zur Basis 2 verwendet werden soll, der auf alle Eingangselemente anzuwenden ist, wenn diese in das interne Gleitkommaformat umgesetzt werden.
Für ein Ausgangsfeld wird dieses 9-Bit-Feld ebenfalls als MaßstabsfaJctor interpretiert, der einen binären, im Zweier-Komplement angegebenen Exponenten angibt, der zum Gleitkomma-Exponenten vor der Ausgabe und der Formatumsetzung zu addieren ist, wenn eine solche stattfindet
Eine Ausnahme tritt im Falle der Stapelung ein, bei der das Ausgangsfeld auch als Eingangsfeld benutzt wird. In diesem Fall gilt das Exponentenfeld nur als Ausgangsfeld, und es hat keinen Einfluß auf das Feld, wenn es als Eingangsfeld benutzt wird.
AI = Adressenerhöhung:
Das zweite Wort des Feldspezifikationsworts ,4SWwird dazu verwendet, die Feldelement-Adressenerhöhung anzugeben. Dieser Indexwert wird als eine aus 16 Bit bestehende Zweier-Komplementzahl angegeben. Für die meisten Befehle sind negative Indices für eine umgekehrte Speicheradressierung erlaubt. Der Adressenerhöhungswert wird dazu verwendet, den Elementerhöhungswert anzugeben, wobei jedes Element entsprechend dem angegebenen Format von einer Anzahl aufeinanderfolgender Speieherplätze repräsentiert wird. Der Adressenerhöhungsweri bestimmt jede Elernentadresse bezüglich der vorhergehenden Elementadresse. Wenn Λ/.den Wert »0« hat, ist das Datenelement eine skalare Größe, und die Startadresse hat stets den gleichen Wert
40 45 50 55 60 65
Wenn der Adressenerhöhungswert für ein Feldspezifikationswort 0 ist, ist das Feld als Vektor mit einem Element angegeben (skalare Größe). Der Prozessor 20 erkennt AT=O als eine skalare Größe, und er ruft die skalare Größe nicht in wiederholter Webe ab, sondern behält ihren Wert intern für eine Wiederbenutzung im Verlauf der Befehlsausführung bei. Allgemein gilt für das ßJ-te-Element die folgende Speicheradresse:
i=SA + i(AI),
wobei SA die Startadresse ist
ίο SA = Startadresse:
Das dritte Wort des Feldspezifikationsworts wird dazu verwendet, die Feldelement-Startadresse im Zentralspeicher 11 anzugeben, und sie wird normalerweise für jedes Feld mit SAA, SAB oder Ä4Cangegeben.
Jedes Feld wird getrennt indiziert, und das Ausgangsfeld kann ein Quellenfeld überdecken. Das soll heißen, daß Ergebnisse »an der Stelle« von Quellendaten zum Einsparen von Speicherplatz abgespeichert werden
können. |
Listenwort 12
A.ME = Adresse des maximalen Exponenten:
Dieses Wort wird dazu verwendet die Adresse im Zentralspeicher 11 sowohl für den maximalen Anfangsais auch Endexponenten anzugeben, der vom Prozessor 20 abgerufen/abgespeichert wird, wenn das Bit 1 des Prozessorbefehlsworts einen hohen Wert hat (also bei festgestellten maximalen Exponenten D= 1). Der bei dieser Adresse abgespeicherte Inhalt wirr! nicht verwendet oder modifiziert, wenn D den Wert »0« hat
Listenwort 13
ANL = Adresse der nächsten Liste:
Dieses Wort wird dazu verwendet die Adresse des ersten Worts der nächsten Liste anzugeben, wenn das | '
Bit 0 (C=I) des Prozessorbefehlsworts anzeigt, daß ein Anschluß vorliegt Wenn die Befehlsausführung beendet ist erfaßt der Prozessor 20 automatisch die nächste Liste und führt die angegebene Operation aus. Dieser verkettete Prozeß läuft so lange weiter, bis eine Liste auftritt, bei der kein weiterer Anschluß angezeigt ist (C=O). Dieses AWL-Wort wird stets erfaßt, doch wird es nicht benutzt, wenn ein weiterer Anschluß nicht angezeigt ist
Status:
Der Prozessor 20 speichert im Anschluß an jeden ATZ-Befehl, der eine neue Operation einleitet, den Anfangssiaius ab. Die programmgesteuerte Unterbrechung erlaubt (wenn sie angegeben ist) eine Statusaufstellung bei Beendigung ausgewählter Befehlsausführungen (Liste). Jeder Abrufvorgang führt zu einer f: Statusaufstellung, und er erzeugt nach dem Auftreten eines solchen Vorgangs eine Unterbrechung. f
Am Ende einer A 77-Operation erfolgt stets eine Statusabspeicherung. Wenn die programmgesteuerte Unter- |
brechung gewählt ist, wird ebenfalls eine Unterbrechung erzeugt. Die Tabelle XII zeigt eine Bit-Zuweisung für j
das Statuswort |
Tabelle XII
Bit Zustand
0 Operation beendet (Beendigung)
1 Befehlsfehler (Abbruch)
2 Befehlsparitätsfehler (Abbruch)
3 Datenparitätsfehler
4 Exponentüberschreitung
5 Exponentunterschreitung
6 Versuchte Teilung durch Null
7 Festkommaüberschreitung
8
10
11
12
13
14 Hardware-Wartung erforderlich
15 Unzulässiger A77-Befehl im Besetztzustand
Status-Bit-O = Operation beendet:
Der Wert »Eins« zeigt die Beendigung einer Operation an, bei der ein weiterer Anschluß nicht angezeigt ist Dieses Bit hat auch nach einem Operationsabbruchvorgang den Wert»!«.
Status-Bit-1 = Befehlsfehler (Abbruch):
Dieses Bit wird zur Anzeige unzulässiger Befehle verwendet Wenn ein unzulässiger Befehl festgestellt wird, beendet der Prozessor 20 die gerade ablaufende Operation (wenn eine vorhanden ist), was bedeutet, daß er diese Operation abbricht, und er speichert den Status und gibt eine Unterbrechungsmeldung aus. Das Befehlsfehler-Status-Bit wird angezeigt
A77-Steuerbefehl=ll
FSWA-, FSWB-Codegruppe = 101,110,111
FSWC-Codegruppe = 100,101,110,111
Unzulässige Operations-Codegruppen.
Status-Bit-2 = Befehlsparitätsfehle (Abbruch):
Wenn ein ausführbarer .477-Befehl oder ein Listenwort mit einem angezeigten Paritätsfehler festgestellt wird, bricht der Prozessor 20 die Operation ab (d. h. kehrt in den Leerlauf zurück), erzeugt eine Unterbrechungsmeldung und speichert den Status mit diesem angezeigten Bit ab. Eine Unterbrechung wird unabhängig vom Zustand des Bits für die gesteuerte Programmunterbrechung (P) erzeugt
Statüs-Bit-3 = Datenparitätsfehler:
Wenn ein Datenwort mit einem angezeigten Paritätsfehler festgestellt wird, wird die Operation fortgesetzt und dieses Bit wird dazu verwendet bei der nächsten folgenden Statusabspeicherfolge einen Datenparitätsfehler anzuzeigen.
Status- Bh-4 = Exponentüberschreitung:
Dieses Bit wird für die Anzeige verwendet, daß eine Operation ein Ergebnis mit einem Exponenten erzeugt hat, der größer als 7Fie ist Wenn dieser Zustand eintritt, wird 7Fi6 für den Exponenten und FFFFFFIw die Mantisse gesetzt Die Operation wird fortgesetzt, und dieses Status-Bit wird bei der nächsten vorkommenden Statusabspeicherfolge angezeigt Das Vorzeichen bleibt frei.
Status-Bit-5 =- Exponentunterschreitung:
Dieses Bit wird für die Anzeige verwendet, daß eine Operation ein Ergebnis mit einem Exponenten erzeugt nat, der kleiner als OO16 ist. Wenn dies eintritt, wird für das Vorzeichen, den Exponenten und die Mantisse der Wert »0« gesetzt. Die Operation wird fortgesetzt, und dieses Status-Bit wird bei der nächsten vorkommenden Statusabspeicherfolge angezeigt
Status-Bit-6 = Versuchte Teilung durch Null:
Wenn eine Operation eintritt, bei der eine Teilung durch Null versucht wird, setzt der Prozessor 20 das Ergebnis gleich dem Zählerwert und fährt mit der Operation fort. Dieses Status-Bit wird bei der nächsten Statusabspeicherfolge gesetzt und angezeigt
Status-Bit-7 = Festkommaüberschreitung:
Wenn Festkommaausgabe angegeben ist und während der entsprechenden Operation kennzeichnende Datenbits über die Stelle des höchstwertigen Bits hinaus verschoben werden, erfolgt eine Überschreitung. Dieses Status-Bit wird zur Anzeige eines solchen Überschreitungszustandes verwendet; es wird bei der nächsten folgenden Statusabspeicherfolge angezeigt
Status-Bit-8bisl3:
Nicht benutzt.
Status-Bit-14 = Hardware-Wartung erforderlich:
Cs werden gewisse interne Fehler überwacht, und das Auftreten eines dieser Fehler zeigt an, daß zur Korrektur dieser Situation eine Wartung erforderlich ist. Dieses Bit wird zur Anzeige dieses Zustandes verwendet, und es wird bei der nächsten folgenden Statusabspeicherfolge angezeigt.
Status-Bit-15 = Besetzt:
Wenn ein /477-Befehl empfangen wird, der START anzeigt, und wenn der Prozessor dabei besetzt oder angehalten ist. hält der Prozessor 20 die ablaufende Operation an und erzeugt einen Unterbrechungs- und Abspeicherstatus. Dieses Statusbit zeigt den Besetztzustand an. Zur Weiterführung der Operation muß ein Fortsetzungsbefehl ausgegeben werden.
Der Befehlsvorrat des Prozessors ist in derTabelle XIlI angegeben. Der Prozessor ist für 36 getrennte Befehle vorgesehen, von denen viele eine spezielle Funktion haben und für die Beschleunigung und Verbesserung der Verarbeitung seismischer Daten gedacht sind. Jeder Befehl wird von einem Mikroprogramm gesteuert, das in den Festwertspeichern 63,73 und 83 gespeichert ist Weitere Funktionen des Prozessors umfassen die Korrelation, die Faltung, die Bildung des quadratischen Mittelwerts (RMS)sowie die Datenmultiplexierung und -demul-
tiplexierung. Diese Funktionen sind als Spezialfälle des Betriebsvorrats möglich. Die Mikroprogrammierung kann für die Durchführung eines_ völlig neuen Funktionssatzes modifiziert oder vollständig verändert werden. Diese Flexibilität erlaubt eine Änderung des Prozessors bei sich ändernden Anforderungen oder bei der Entdeckung neuer Verfahren.
Tabelle XIII
AA 7P-Operationen
Code- Mnemonik K gruppe
Operation
Listenwörtet
VSM Vektor-Max/Min-Abtastung
VSP Vektor-Spitzenwert-Abtastung
MLL X X Lineare Größe verschieben, lineare Größe indiziert
MVL X X Vektor verschieben, linear'^ Größe indiziert
MLV X X Lineare Größe verschieben, Vektor indiziert
ESQ X X Quadrat von Element
ESR X X Quadratwurzel von Element
VEA X X Addition mit Vekxorelement
VES X X Subtraktion mit Vektorelement
VEM X X Multiplikation mit Vekiorelemeni
VED X X Division mit Vektorelement
CEA X X Addition mit komplexem Element
CES X X Subtraktion mit komplexem Element
CEM X X Multiplikation mit komplexem Element
CCAi X X Multiplikation mit konjugiert-komplexem Element
FFN FFTVorwärts, natürlich/zerhackt
FFS FFTVorwärts, zerhackt/natürlich
FIN FFTInvers, natürlich/zerhackt
FIS FFTInvers, zerhackt/natürlich
OTS Trennung einer Aufzeichnungsspur
OTC Kombination einer Aufzeichnungsspur
7TS Trennung zweier Aufzeichnungsspuren
7TC K ombination zweier Aufzeichnungsspuren
CDO Änderung der Datenreihenfolge
FXF X Festes Filter
FXD X Festes Filter und Dezimieren
ITF X Interpolationsfilter
SVL X Abtastwertvariantes lineares Filter
SV/ X Abtastwertvariantes erhöhtes Filter
SVF X Abtastwertvariantes .abgerufenes Filter
BMR Bitweise Matrixdrehung
RFP1 Formatänderung und Sammlung (Zackenspuraufzeichnung)
RFP 2 Formatänderung und Sammlung
(Aufzeichnung mit variabler Fläche) RFP3 Formatänderung und Sammlung
(Aufzeichnung mit Zackenspur und variabler Fläche)
Sortierung Mischung
13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
14 15 15 17 17 18
14 18 18
18
14 15
* nicht benutzte Op.-Codegruppen. K — Stapelung. Σ — Summierung.
Befehle sind in zwei Klassen geteilt: (1) in solche, die nur mit der Bearbeitung von reellen Daten befaßt sind 60 und (2) in solche, die nur mit der Bearbeitung von komplexen Daten befaßt sind. Bei Befehlen, die komplexe Daten erfordern, wird angenommen, daß die Daten in Form von zwei Wörtern angeordnet sind, nämlich in einen Realtei! aus 16 oder 32 Bits, auf den ein Imaginärteil mit dem gleichen Format folgt. Das Feld, das diese Daten enthält, ist so aufgebaut; daß auf denRealteil unmittelbar der Imäginärteil folgt. Die meisten Befehle arbeiten mit den Eingansdaten älsreellen Daten und mit den Ausgangsdaten als Daten im Festkomma-, Gleitkomma- oder 65 Übersetzungsformat. Die Ausgangsdaten können in den meisten Fällem im Festkomma- oder Gleitkomma-Format unabhängig von der Eingabe angegeben werden. Mit einer Ausnahme sind die Ausgangsergebnisse ebenso reell oder komplex wie die Eingangsgrößen. Diese Ausnahme ist der Multiplikationsbefehl für konjugiert komplexe Größen, der komplexe Eingangsdaten erfordert und ein reelles Ausgangsergebnis erzeugt.
18
Jeder Befehl des Prozessors 20 wird von einem Mikroprogramm gesteuert, das in den Festwertspeichern 63, 73 und 83 gespeichert ist Mikroprogramme steuern jeden Ausführungsstatus des Prozessors zur Erzielung der maximal möglichen Ausführungsgeschwindigkeit Die effektive Geschwindigkeit, mit der der Prozessor 20 eine Operation ausführen kann, hängt von der Rechengeschwindigkeit des Rechenwerks 50, von der Geschwindigkeit der Datenübertragung zu und vom Zentralspeicher 11 ab. Eine hohe Betriebsgeschwindigkeit wird ferner durch die sogenannte Pipeline-Operation erzielt, bei der das Indexieren, Zählen und der Zugriff auf den Speicher parallel mit arithmetischen Operationen an den Daten ausgeführt werden. Bei dieser Ausführungsform kann der Prozessor 20 Verarbeitungszeiten erzielen, wie sie in der Tabelle XIV angegeben sind. Die effektive hohe Geschwindigkeit des Prozessors 20 macht diese Anordnung zu einer höchst wirksamen Peripherieeinheit in einem System zur Verarbeitung seismischer Daten.
Tabelle XIV
AATP
Befehle
Gleitkommaarithmetik
Datenformate
FFT-Zeit für 8192 komplexe Punkte Multiplikationszeit für komplexe Elemente Faltungszeit für 1024 Punkte Addition/Subtraktion
126 ms
4,5 μ5
10,1 ms
2,25 us
(Speicher begrenzt)
Hierzu 4 Blatt Zeichnungen

Claims (2)

Patentansprüche:
1. Datenverarbeitungsanordnung mit einem Universalcomputer, der einen Zentralspeicher aufweist, in dem Datenwortfelder enthalten sind, und einem Datenfeld-Hilfsprozessor mit einem Rechenwerk zur Feldsi-
gnalverarbeitung und einem Doppelspeicherwerk mit zwei unabhängigen Abschnitten, gekennzeichnet durch
einen Lesebus (21) und einen Schreibbus (22), die beide den Zentralspeicher (11) mit den beiden Abschnitten des Doppelspeicherwerks (40) und mit dem Rechenwerk (50) verbinden und
ein Steuerwerk (60,70,80,90), das die Abschnitte des Doppelspeicherwerks (40) so steuert, daß die simultane
ίο Übertragung von Datenwörtern zwischen dem Zentralspeicher (11) und dem Doppelspeicherwerk (40) sowie zwischen dem Doppelspeicherwerk und dem Rechenwerk (50) ermöglicht wird.
2. Datenverarbeitungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß das Steuerwerk folgende Baueinheiten enthält:
DE2521289A 1974-05-13 1975-05-13 Datenverarbeitungsanordnung mit Datenfeld-Hilfsprozessor Expired DE2521289C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/469,258 US4107773A (en) 1974-05-13 1974-05-13 Advanced array transform processor with fixed/floating point formats

Publications (2)

Publication Number Publication Date
DE2521289A1 DE2521289A1 (de) 1975-11-27
DE2521289C2 true DE2521289C2 (de) 1986-09-18

Family

ID=23863102

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2521289A Expired DE2521289C2 (de) 1974-05-13 1975-05-13 Datenverarbeitungsanordnung mit Datenfeld-Hilfsprozessor

Country Status (6)

Country Link
US (1) US4107773A (de)
JP (1) JPS5834862B2 (de)
CA (1) CA1047167A (de)
DE (1) DE2521289C2 (de)
FR (1) FR2284929A1 (de)
GB (1) GB1514231A (de)

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4016828A (en) * 1976-03-22 1977-04-12 The Perkin-Elmer Corporation Apparatus for blood film preparation
DE2911909C2 (de) * 1978-03-29 1984-03-15 British Broadcasting Corp., London Digitales Datenverarbeitungsgerät
US4310879A (en) * 1979-03-08 1982-01-12 Pandeya Arun K Parallel processor having central processor memory extension
JPS5840214B2 (ja) 1979-06-26 1983-09-03 株式会社東芝 計算機システム
WO1981001066A1 (en) * 1979-10-11 1981-04-16 Nanodata Computer Corp Data processing system
US4425616A (en) * 1979-11-06 1984-01-10 Frederick Electronic Corporation High-speed time share processor
EP0029177A1 (de) * 1979-11-19 1981-05-27 Texas Instruments Incorporated Intelligente periphere Steuerung
JPS6043535B2 (ja) * 1979-12-29 1985-09-28 富士通株式会社 情報処理装置
US4365309A (en) * 1980-10-03 1982-12-21 Hitachi, Ltd. Digital differential analyzing processor
DE3221819A1 (de) * 1982-06-09 1984-02-23 Siemens AG, 1000 Berlin und 8000 München Vorrichtung zur simulation eines schaltwerks mit hilfe eines rechners
JPS592143A (ja) * 1982-06-29 1984-01-07 Hitachi Ltd 情報処理装置
US4504909A (en) * 1982-09-30 1985-03-12 General Electric Company Method of using an array processor for real time processing
JPS5984292A (ja) * 1982-11-08 1984-05-15 富士通株式会社 Crtデイスプレイ制御装置
US4589085A (en) * 1983-04-26 1986-05-13 The United States Of America As Represented By The United States Department Of Energy Hardware multiplier processor
DE3323824A1 (de) * 1983-07-01 1985-01-03 Siemens AG, 1000 Berlin und 8000 München Speicherprogrammierbare steuerung
DE3437528C2 (de) * 1983-10-12 1994-12-22 Canon Kk Datenversetzungssystem
FR2569021B1 (fr) * 1984-08-10 1989-02-03 Thomson Csf Mat Tel Processeur de traitement
FR2569286B1 (fr) * 1984-08-14 1989-02-03 Trt Telecom Radio Electr Processus de signal destine plus particulierement a effectuer des operations de filtrage adaptatif
GB2176034A (en) * 1985-05-29 1986-12-10 Singer Link Miles Ltd Control apparatus for actuators
US5109524A (en) * 1985-07-02 1992-04-28 Vlsi Technology, Inc. Digital processor with a four part data register for storing data before and after data conversion and data calculations
JPS6297036A (ja) * 1985-07-31 1987-05-06 テキサス インスツルメンツ インコ−ポレイテツド 計算機システム
JPH07120276B2 (ja) * 1986-03-10 1995-12-20 株式会社日立製作所 シミュレーションプログラム生成方法
US4760525A (en) * 1986-06-10 1988-07-26 The United States Of America As Represented By The Secretary Of The Air Force Complex arithmetic vector processor for performing control function, scalar operation, and set-up of vector signal processing instruction
US4872132A (en) * 1987-03-13 1989-10-03 Zoran Corporation Method and means for block floating point arithmetic
US4991078A (en) * 1987-09-29 1991-02-05 Digital Equipment Corporation Apparatus and method for a pipelined central processing unit in a data processing system
US4903264A (en) * 1988-04-18 1990-02-20 Motorola, Inc. Method and apparatus for handling out of order exceptions in a pipelined data unit
JP2628194B2 (ja) * 1988-07-28 1997-07-09 株式会社日立製作所 データ処理装置
JPH0254383A (ja) * 1988-08-18 1990-02-23 Mitsubishi Electric Corp アレイプロセッサ
GB8820237D0 (en) * 1988-08-25 1988-09-28 Amt Holdings Processor array systems
US4996661A (en) * 1988-10-05 1991-02-26 United Technologies Corporation Single chip complex floating point numeric processor
DE69030931T2 (de) * 1989-04-24 1998-01-15 Ibm Mehrfachsequenzprozessorsystem
US5590345A (en) * 1990-11-13 1996-12-31 International Business Machines Corporation Advanced parallel array processor(APAP)
US5828894A (en) * 1990-11-13 1998-10-27 International Business Machines Corporation Array processor having grouping of SIMD pickets
US5963745A (en) * 1990-11-13 1999-10-05 International Business Machines Corporation APAP I/O programmable router
US5765012A (en) * 1990-11-13 1998-06-09 International Business Machines Corporation Controller for a SIMD/MIMD array having an instruction sequencer utilizing a canned routine library
US5794059A (en) * 1990-11-13 1998-08-11 International Business Machines Corporation N-dimensional modified hypercube
US5809292A (en) * 1990-11-13 1998-09-15 International Business Machines Corporation Floating point for simid array machine
US5625836A (en) * 1990-11-13 1997-04-29 International Business Machines Corporation SIMD/MIMD processing memory element (PME)
US5713037A (en) * 1990-11-13 1998-01-27 International Business Machines Corporation Slide bus communication functions for SIMD/MIMD array processor
US5765015A (en) * 1990-11-13 1998-06-09 International Business Machines Corporation Slide network for an array processor
US5963746A (en) * 1990-11-13 1999-10-05 International Business Machines Corporation Fully distributed processing memory element
US5630162A (en) * 1990-11-13 1997-05-13 International Business Machines Corporation Array processor dotted communication network based on H-DOTs
US5815723A (en) * 1990-11-13 1998-09-29 International Business Machines Corporation Picket autonomy on a SIMD machine
US5617577A (en) * 1990-11-13 1997-04-01 International Business Machines Corporation Advanced parallel array processor I/O connection
EP0485690B1 (de) * 1990-11-13 1999-05-26 International Business Machines Corporation Paralleles Assoziativprozessor-System
US5765011A (en) * 1990-11-13 1998-06-09 International Business Machines Corporation Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams
US5966528A (en) * 1990-11-13 1999-10-12 International Business Machines Corporation SIMD/MIMD array processor with vector processing
US5588152A (en) * 1990-11-13 1996-12-24 International Business Machines Corporation Advanced parallel processor including advanced support hardware
US5734921A (en) * 1990-11-13 1998-03-31 International Business Machines Corporation Advanced parallel array processor computer package
WO1992015053A1 (en) * 1991-02-19 1992-09-03 International Business Machines Corporation Data transfer within a data storage subsystem
US5594918A (en) * 1991-05-13 1997-01-14 International Business Machines Corporation Parallel computer system providing multi-ported intelligent memory
JP2642039B2 (ja) * 1992-05-22 1997-08-20 インターナショナル・ビジネス・マシーンズ・コーポレイション アレイ・プロセッサ
DE69418646T2 (de) * 1993-06-04 2000-06-29 Sun Microsystems, Inc. Gleitkommaprozessor für einen hochleistungsfähigen dreidimensionalen Graphikbeschleuniger
US6327607B1 (en) 1994-08-26 2001-12-04 Theseus Research, Inc. Invocation architecture for generally concurrent process resolution
US5748863A (en) * 1995-10-06 1998-05-05 International Business Machines Corporation Method and system for fast interpolation of depth buffer values in a computer graphics display system
US6557096B1 (en) 1999-10-25 2003-04-29 Intel Corporation Processors with data typer and aligner selectively coupling data bits of data buses to adder and multiplier functional blocks to execute instructions with flexible data types
US7937557B2 (en) 2004-03-16 2011-05-03 Vns Portfolio Llc System and method for intercommunication between computers in an array
US7904615B2 (en) 2006-02-16 2011-03-08 Vns Portfolio Llc Asynchronous computer communication
US7934075B2 (en) * 2006-02-16 2011-04-26 Vns Portfolio Llc Method and apparatus for monitoring inputs to an asyncrhonous, homogenous, reconfigurable computer array
US7617383B2 (en) * 2006-02-16 2009-11-10 Vns Portfolio Llc Circular register arrays of a computer
US7966481B2 (en) 2006-02-16 2011-06-21 Vns Portfolio Llc Computer system and method for executing port communications without interrupting the receiving computer
US7555637B2 (en) * 2007-04-27 2009-06-30 Vns Portfolio Llc Multi-port read/write operations based on register bits set for indicating select ports and transfer directions
US20100023730A1 (en) * 2008-07-24 2010-01-28 Vns Portfolio Llc Circular Register Arrays of a Computer
US11010309B2 (en) * 2018-05-18 2021-05-18 Intel Corporation Computer system and method for executing one or more software applications, host computer device and method for a host computer device, memory device and method for a memory device and non-transitory computer readable medium

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3363234A (en) * 1962-08-24 1968-01-09 Sperry Rand Corp Data processing system
US3346851A (en) * 1964-07-08 1967-10-10 Control Data Corp Simultaneous multiprocessing computer system
US3541516A (en) * 1965-06-30 1970-11-17 Ibm Vector arithmetic multiprocessor computing system
US3462741A (en) * 1966-07-25 1969-08-19 Ibm Automatic control of peripheral processors
US3537074A (en) * 1967-12-20 1970-10-27 Burroughs Corp Parallel operating array computer
US3564509A (en) * 1968-04-22 1971-02-16 Burroughs Corp Data processing apparatus
US3573741A (en) * 1968-07-11 1971-04-06 Ibm Control unit for input/output devices
US3560936A (en) * 1968-10-08 1971-02-02 Pillsbury Occidental Co Message buffering communication system
US3634883A (en) * 1969-11-12 1972-01-11 Honeywell Inc Microinstruction address modification and branch system
US3701976A (en) * 1970-07-13 1972-10-31 Bell Telephone Labor Inc Floating point arithmetic unit for a parallel processing computer
US3702988A (en) * 1970-09-14 1972-11-14 Ncr Co Digital processor
US3774161A (en) * 1971-05-14 1973-11-20 Raytheon Co Visual display system
US3737866A (en) * 1971-07-27 1973-06-05 Data General Corp Data storage and retrieval system
US3806878A (en) * 1971-08-05 1974-04-23 Ibm Concurrent subsystem diagnostics and i/o controller
JPS5223704B2 (de) * 1971-09-02 1977-06-25
US3735354A (en) * 1972-04-07 1973-05-22 Sperry Rand Corp Multiplexed memory request interface
US3787673A (en) * 1972-04-28 1974-01-22 Texas Instruments Inc Pipelined high speed arithmetic unit
US3825901A (en) * 1972-11-09 1974-07-23 Ibm Integrated diagnostic tool
US3828320A (en) * 1972-12-29 1974-08-06 Burroughs Corp Shared memory addressor

Also Published As

Publication number Publication date
DE2521289A1 (de) 1975-11-27
FR2284929A1 (fr) 1976-04-09
US4107773A (en) 1978-08-15
FR2284929B1 (de) 1980-08-14
CA1047167A (en) 1979-01-23
GB1514231A (en) 1978-06-14
JPS5834862B2 (ja) 1983-07-29
JPS5124142A (de) 1976-02-26

Similar Documents

Publication Publication Date Title
DE2521289C2 (de) Datenverarbeitungsanordnung mit Datenfeld-Hilfsprozessor
DE3587277T2 (de) System fuer die umgehungssteuerung beim pipelinebetrieb eines computers.
DE69129565T2 (de) Hochleistungsfähiger Emulator mit Pipelining
DE1931966C3 (de) Datenverarbeitungsanlage mit Assoziativspeichern
DE3210816C2 (de)
DE69730276T2 (de) Vorrichtung und Verfahren zur Erleichterung der Vermeidung von exzeptionellen bestimmten Zuständen während des Ablaufs eines Programmes
DE2417795C2 (de) Datenverarbeitungsanlage
DE1146290B (de) Elektronisches Datenverarbeitungssystem
DE1549523B2 (de) Datenverarbeitungsanlage
DE2350884A1 (de) Datenverarbeitungssystem
DE2714805A1 (de) Datenverarbeitungssystem
DE19983098B4 (de) Mehrfach-Bitanzeige zur Behandlung von Schreib-nach-Schreib-Fehlern und zur Eliminierung von Bypass-Komparatoren
DE1929010B2 (de) Modular aufgebaute datenverarbeitungsanlage
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
DE1285219B (de) Steuerwerk zur Ausfuehrung von Unterprogrammen
DE69632655T2 (de) Pipeline-Datenverarbeitungsanordnung zur Durchführung einer Mehrzahl von untereinander datenabhängigen Datenprozessen
DE2000340A1 (de) Verfahren und Vorrichtung zum Suchen verdichteter gespeicherter Informationen
EP0130269B1 (de) Speicherprogrammierbare Steuerung
DE69622608T2 (de) Informationsprozessor
DE2336676B2 (de) Einrichtung zur Modifizierung von Mikroprogrammbefehlen
DE3226214C2 (de) Datenverarbeitungsanlage
DE2658950A1 (de) Mikroprogrammierte verarbeitungseinheit sowie verfahren zur organisation derselben
DE2726679A1 (de) Kanalsteuerung fuer datenverarbeitungsanlagen und verfahren zu ihrem betrieb
DE2846537C2 (de) Mikroprogrammierte Datenverarbeitungseinrichtung
DE2150292C2 (de) Mikroprogrammgesteuerte Datenverarbeitungsanlage mit überlagerter Ausführung und Entnahme von Befehlen

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee