DE2521289C2 - Datenverarbeitungsanordnung mit Datenfeld-Hilfsprozessor - Google Patents
Datenverarbeitungsanordnung mit Datenfeld-HilfsprozessorInfo
- 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
Links
- 238000012545 processing Methods 0.000 title claims description 34
- 230000015654 memory Effects 0.000 claims description 104
- 230000005540 biological transmission Effects 0.000 claims description 11
- 239000013598 vector Substances 0.000 description 37
- 238000000034 method Methods 0.000 description 26
- 230000008569 process Effects 0.000 description 25
- 238000012360 testing method Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 11
- 238000004886 process control Methods 0.000 description 8
- 230000000295 complement effect Effects 0.000 description 6
- 238000012423 maintenance Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000001186 cumulative effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 238000001356 surgical procedure Methods 0.000 description 4
- 241000196324 Embryophyta Species 0.000 description 3
- LCCNCVORNKJIRZ-UHFFFAOYSA-N parathion Chemical group CCOP(=S)(OCC)OC1=CC=C([N+]([O-])=O)C=C1 LCCNCVORNKJIRZ-UHFFFAOYSA-N 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- PVPYZVCHGWNKFZ-UHFFFAOYSA-N 2-[1-(4-fluorophenyl)cyclopropyl]-4-pyridin-4-yl-1,3-thiazole Chemical compound C1=CC(F)=CC=C1C1(C=2SC=C(N=2)C=2C=CN=CC=2)CC1 PVPYZVCHGWNKFZ-UHFFFAOYSA-N 0.000 description 1
- 241000066478 Aspidiotus cryptomeriae Species 0.000 description 1
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 1
- 235000014459 Sorbus Nutrition 0.000 description 1
- 241001092391 Sorbus Species 0.000 description 1
- 206010000210 abortion Diseases 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009365 direct transmission Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 150000002500 ions Chemical class 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000001343 mnemonic effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 101150094969 rfp1 gene Proteins 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
- G06F13/285—Halt processor DMA
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8053—Vector processors
- G06F15/8061—Details on data memory access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/264—Microinstruction selection based on results of processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
- G06F9/3879—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3887—Concurrent 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. 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
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.
(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.
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
300 Beginn bei Statusadresse 0;
301 Warten, bis Listenabruf durch das Listensteuerwerk beendet ist;
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 | ||||||||
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
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)
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.
ΑΤΙ-Befehl »START« im Besetztzustand von AATP ausgegeben
C = 1 P = 1
C = O
P = 1
P = 1
Operation | Liste 2 [ Operati
ion
Liste 3
Operation
Anfangsstatus Geiamtnull . abspeichern
Status
Gesamtnull
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.
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.
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
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:
5) Die von der obigen Gleitkommadarstellung angegebenen Zahl ist:
N=SxFx
32-Bit-Übersetzungsformat nur für Eingabedaten:
MSB
Ol 15 16 25 26
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
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 |
Bit Zustand
0 Operation beendet (Beendigung)
1 Befehlsfehler (Abbruch)
2 Befehlsparitätsfehler (Abbruch)
3 Datenparitätsfehler
4 Exponentüberschreitung
5 Exponentunterschreitung
5 Exponentunterschreitung
6 Versuchte Teilung durch Null
7 Festkommaüberschreitung
8
8
10
11
12
13
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.
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.
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.
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)
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
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:
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)
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)
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 |
-
1974
- 1974-05-13 US US05/469,258 patent/US4107773A/en not_active Expired - Lifetime
-
1975
- 1975-04-25 CA CA225,498A patent/CA1047167A/en not_active Expired
- 1975-05-01 GB GB18169/75A patent/GB1514231A/en not_active Expired
- 1975-05-12 JP JP50055901A patent/JPS5834862B2/ja not_active Expired
- 1975-05-13 DE DE2521289A patent/DE2521289C2/de not_active Expired
- 1975-05-13 FR FR7514886A patent/FR2284929A1/fr active Granted
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 |