[go: up one dir, main page]

DE2521289A1 - Datenfeldprozessor - Google Patents

Datenfeldprozessor

Info

Publication number
DE2521289A1
DE2521289A1 DE19752521289 DE2521289A DE2521289A1 DE 2521289 A1 DE2521289 A1 DE 2521289A1 DE 19752521289 DE19752521289 DE 19752521289 DE 2521289 A DE2521289 A DE 2521289A DE 2521289 A1 DE2521289 A1 DE 2521289A1
Authority
DE
Germany
Prior art keywords
memory
processor
read
data
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19752521289
Other languages
English (en)
Other versions
DE2521289C2 (de
Inventor
Cecil R Gilbreath
Jimmie L Womble
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of DE2521289A1 publication Critical patent/DE2521289A1/de
Application granted granted Critical
Publication of DE2521289C2 publication Critical patent/DE2521289C2/de
Expired legal-status Critical Current

Links

Classifications

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

Landscapes

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

Description

TEXAS INSTRUMENTS INCORPORATED
13500 North Central Expressway
Dallas, Texas, V.St.A.
Datenfeldprozessor
Die Erfindung bezieht sich auf einen schnellen, für Sonderzwecke einsetzbaren Zusatzprozessor, der sich wiederholende arithmetische Operationen an Reihen aufeinanderfolgender Daten (Felder) durchführt.
Insbesondere arbeitet der Prozessor als eine periphere Einheit für den Direktzugriff auf den Speicher (DMA), mit deren Hilfe Datenfelder im Zentralspeicher mit einem minimalen Eingriff von Seiten einer Zentraleinheit adressiert,abgerufen, verarbeitet und gespeichert werden können.
Die Anwendung von Kleincompuberanordnungen zum Sammeln und Bearbeiten von seismischen Daten wird durch den zunehmenden Bedarf nach wirksameren, schnelleren und vollständigeren Analysen noch unverarbeiteter seismischer Daten gefördert. Kleincomputeranordnungen können in wirksamer Weise ohne weiteres eine große Anzahl der bei der Behandlung seismischer
Schw/Ba
509848/0985
Daten notwendigen Aufgaben übernehmen. Wenn jedoch höhere Signalverarbeitungsfunktionen, wie Faltung, Fouriertransformation, komplexe Arithmetik, Spektralanalyse und dergleichen gewünscht werden, haben sich Computer bisher als unzulänglich erwiesen. Dies ist auf die Tatsache zurückzuführen, daß die meisten Kleincomputer Allzweckmaschinen sind, die für eine sequentielle Befehlsverarbeitung bestimmt sind. Überdies sind die meisten Kleincomputer auf die Möglichkeit der Festkommarechnung mit begrenzter Genauigkeit beschränkt. Der Kleincomputer .eignet sich somit in idealer Weise für weniger kritische Aufgaben wie für Diagnostikverfahren, Verstärkungswiedergewinnungs-und AGC-Vorgänge, Demultiplexierungsvorgänge, Datenaufbereitungsvorgänge, Fehlerkorrekturvorgänge, einfache Korrekturen des Normal-Moveout (NIiO), Zusammensetzungsvorgänge (stacking) und allgemeine Systemsteuervorgänge (bookkeeping). Wenn die Anwendung jedoch bei komplizierteren Verarbeitungsvorgängen erfolgen soll, müssen zur Durchführung solcher Aufgaben mit der erforderlichen Geschwindigkeit und Genauigkeit spezielle periphere Hardware-Einheiten angewendet werden, was die Verarbeitungsleistung des Kleinsystems vervielfacht.
Es sind derzeit bereits Feldtransformationsanordnungen im Handel erhältlich, die für die Verarbeitung seismischer Signale nicht gut geeignet sind. Keine hat die gesamte Fähigkeit des hier beschriebenen Prozessors. Die meisten bekannten Transformationsanordnungen sind auf die Festkommaberechnung begrenzt, wodurch sie hinsichtlich der Rechengenauigkeit und der Vielseitigkeit stark eingeschränkt sindο Andere Anordnungen, die zwar die Fähigkeit zur Festkommarechnung haben, sind jedoch in manch anderer Hinsicht eingeschränkt, beispielsweise hinsichtlich der Ein/Ausgabeformate, der Rechengrenzen und der Rechengeschwindigkeit, der Flexibilität, der Vielseitigkeit und der Fähigkeit der jlehandlung spezieller seismischer Funktionen,,
509848/0985
Der hier beschriebene Prozessor ist ein Hilfsprozessor, der Datenfelder unter Anwendung der Gleitkommarechnung mit hoher Geschwindigkeit verarbeitet. Er arbeitet als ein dem direkten Speicherzugriff (DMA) dienender peripherer Prozessor, der Daten im Speicher mit minimalem Eingriff von Seiten der Zentraleinheit (CPU) adressiert, abruft, verarbeitet und speichert. Die Operationen sind in einer Serienstruktur (Pipeline-Struktur) organisiert, die eine Überlappung und Bine Parallelschaltung von Funktionen gestattet, damit eine wirksame hohe Geschwindigkeit für aufeinanderfolgende Gruppen von Ausgangsergebnissen erzielt wird.
Vorprogrammierte Festwertspeicher (ROM), die Mikroprogramme enthalten, steuern das Adressieren der Speicherplätze im Zentralspeicher, das Leiten der Daten im Prozessor und die Verarbeitung der Daten.
Da der hier beschriebene Prozessor mikroprogammiert ist, kann vom Benutzer eine Anpassung an Spezialzwecke durch Ändern oder. Modifizierens des Mikroprogramms vorgenommen werden.
Zwei Gruppen von Pufferspeichern dienen dazu, den Bedarf des Prozessors nach dem Hauptspeicher zu reduzieren, wenn itterative Operationen wie die schnelle Fourier-Transformation (FFT) und die Faltung (Filteroperation) durchgeführt werden. Nach der Erfindung wird ein peripherer Prozessor mit SpezialHardware geschaffen, der ein mit Gleitkommarechnung arbeitender schneller Hilfsprozessor ist. Das Verarbeiten, Adressieren, Abrufen und Speichern von Daten im Zentralspeieher erfolgt mit minimalem Eingriff von Seiten der Zentraleinheit (CPU). Wählbare Formate,mikroprogrammierte Festwertspeicher-Steuereinheiten und eine serielle Arbeitsweise (Pipeline-Arbeitsweise) erlauben parallel mit arithmetischen Operationen erfolgende
509848/0985
Indizierungs-, Zähl- und Speicherzugriffsvorgänge.
Insbesondere ermöglicht das Rechenwerk die Verarbeitung von Feldsignalen. Der Speicher des Prozessors weist zwei unabhängige Abschnitte auf. Eine Leseleitung und eine Schreibleitung verbinden den Zentralspeicher mit den beiden Abschnitten des ProzessorSpeichers und mit dem Rechenwerk. Eine Steuereinrichtung bewirkt das Abwechseln zwischen den zwei Abschnitten des Prozessorspeichers, wobei ein erster Strom aus Datenwörtern zwischen dem Zentralspeicher und dem Prozessorspeicher übertragen wird, während ein gleichzeitiger zweiter Strom zwischen dem Prozessorspeicher und dem Rechenwerk übertragen wird. Die Steuereinrichtung enthält inikr©programmierte Festwertspeicher(ROM), die an das Rechenwerk und an den Prozessorspeicher angeschlossen sind. Eine Zentralspeicher-Adressierungseinheit steuert abhängig von einer der ROM-Steuereinheiten das gleichzeitige Lesen und Schreiben des Zentralspeichers.
Jede. Steuereinheit enthält einen Festwertspeicher ROM mit mehreren Zuständen und mehreren Bits pro Zustand und ein Adreßregister zum Speichern der Adresse für dieAuswahl eines ROM-Zustandes. Ein Testabschnitt (Entscheidungsabschnitt) arbeitet abhängig von ausgewählten programmierbaren Testbits an einem Ausgang des Festwertspeichers für den aktuellen Zustand, wobei die Testbits an eine auswählbare Testlogik zur Überprüfung des Vorhandenseins vorbestimmter Gruppen von Bedingungen angelegt sind. Es sind Einrichtungen vorgesehen, mit denen die Testeinheit betätigt werden kann und mit denen die Adresse des nächsten Zustandes in dem Register abhängig von den Testergebnissen abgespeichert werden kann.
509848/0985
Ferner werden drei Gruppen von sich gegenseitig ausschließenden Tests von der Testeinheit durchgeführt, und es wird eine von vier Adressen in das Register geladen, wobei eine solche Adresse nur bei Nichterfüllung geladen wird.
In drei unabhängigen Festwertspeichergruppen sind mehrere Zustände aufweisende Prozessor-Lese/Schreib-Programme, Adressierungssteuerpro gramme und Prozeßsteuerprogramme gespeichert,' ROM-Programmzustände werden entsprechend erfüllten Prozeßprüfbedingungen verschoben. Spezielle programmierbare Festwertspeicherbits steuern gemeinsame Kennzeichen, die dazu dienen, die drei ROM-Steuereinheiten zu verbinden (Synchronisieren) .
Die Erfindung wird nun an Hand der Zeichnung beispielshalber erläutert. Es zeigen:
Fig.1 ein Systemblockschaltbild des erfindingsgemäßen Prozessors,
Fig.2 ein detailliertes Schaltbild des Speichers und des Rechenwerks des Prozessors,
Fig.3 Einzelheiten der Arbeitsweise und des Aufbaus eines der drei in dem Prozessor enthaltenen Steuerwerke,
Fig.4 die Anwendung des ROM-Bits im Prozessorsteuerwerk zur Steuerung der Speichereinheit,
Fig.5 eine typische Steuerung und Rückstellung der Kennzeichen durch das ROM-Bit und
Fig.6 ein Flußdiagramm auf der Ausführungsebene eines in der Ausführung befindlichen Prozessese
509848/0985
In Fig.1 ist die allgemeine Beziehung zwischen den Komponenten eines Datenfeldprozessors 20, eines Allzweckcomputers 9 sowie der dazwischen angeordneten Schnittstellen dargestellt. Der Computer 9 enthält eine Zentraleinheit 10 (CPU) mit einem Zentralspeicher 11 und einer Speichersteuereinheit 12 (DMAC).
In einer bevorzugten Ausführungsform steht der Prozessor 20 mit dem Direktspeicherzugriffkanal 12 (DMA-Kanal) des Computers 9 in Verbindung. Der Computer 9 ist vorzugsweise der von der Firma Texas Instruments Incorporated, Dallas, Texas, hergestellte und vertriebene Computer mit der Bezeichnung 980A. Dieser Computer ist im Einzelnen in mehreren Handbüchern als Computermodell 980A genauer beschrieben, die von der Firma Texas Instruments Incorporated 1972 herausgegeben worden sind.
Der Computer 9 steht über einen Lesedaten-Ubertragungsweg 21, einen Schreibdatenübertragungsweg 22 und einen Adressierungsübertragung sweg 23 mit dem hier zu beschreibenden Datenfeldprozessor 20 in Verbindung. Der Lesedatenübertragungsweg 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 Übertragungsweg 21 an eine Steuereinheit 25 für einen automatischen Übertragungsbefehl (ΑΤΙ-Steuereinheit), eine Status Steuereinheit 26 und eine Listensteuereinheit 27 angeschlossen. Die Listensteuereinheit 27 ist über einen Übertragungsweg 28 mit einer Speicher/Abrufsteuereinheit 29 verbunden, an die der Adressierungsübertragungsweg 23 angeschlossen ist.
Der Lesedatenübertragungsweg 21 ist auch mit der Speicheradressierungseinheit 30 verbunden, die über einen Übertragungsweg 31 mit der Speicher/Abruf-Steuereinheit 29 in Verbindung steht. Die StatusSteuereinheit 26 ist mit dem
509848/0985
Schreibdatenübertragungsweg 22 verbunden. Die Listensteuereinhei t 27 ist mit Hilfe eines Übertragungswegs 22 an die Speicheradressierungseinheit 30 und an einen Datenformatümsetzer 33 angeschlossen.
Es ist zu erkennen, daß die Schnittstelleneinheit 25, 26, 27, 28, 29, 30 und 31 in herkömmlicher Weise dazu dienen, den Fluß von Daten und andrer Informationen zu und vom Speicher 11 zu steuern und Operationen wie Status- und Steuerbefehle zu überwachen. Die ATI-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 Datenfeldprozessor 20.
Der Datenfeldprozessor 20 enthält fünf Hauptbestandteile. Der erste Bestandteil ist ein interner Speicher 40, der 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 Yerschiebungsvorgä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 einerGruppe zugehöriger Festwertspeicher 63 besteht.
Ein vierter Hauptbestandteil ist ein Adressensteuerwerk 70, das aus einer Testlogik 71» einem Status-Adressen- und Über-
509848/0985
tragungssteuerwerk 72 und aus einerGruppe zugehöriger Festwertspeicher 73 besteht.
Ein fünfter Hauptbestandteil der Anordnung ist ein Prozeßsteuerwerk 80, das aus 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 Datenausgabe-Übertragungsweg 100, der vom Formatumsetzer 33 ausgeht, ist ein in zwei Richtungen wirksamer Übertragungsweg, nämlich auf den Formatumsetzer zu und von diesem weg. Der Übertragungsweg 100 verbindet auch den internen Speicher 40 mit dem Rechenwerk 50. Ein Prozessorübertragungsweg 101 verbindet das Rechenwerk 50 und den Speicher 40 für einen in zwei Richtungen erfolgenden Datenfluß zwischen dem Speicher 40 und dem Rechenwerk 50.
Die Steuerung des Rechenwerks 50 sowie von Hauptmerkmalen des Speichers 40 erfolgt mit Hilfe des ProzeßSteuerwerks über den ROM-Abschnitt 83. Ausgewählte ROM-Bits sind über den ROM-Steuerübertragungsweg 84 mit dem Rechenwerk 50 und dem Speicher 40 verbunden. Der Speicher 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 Übertragungsweg 74, der ausgewählte Festwertspeicher der ROM-Gruppe 73 mit der Speicheradressierungseinheit 30 verbindet.
509848/0985
Die Steuereinheit 90 für gemeinsame Kennzeichen steht mit den drei Steuerwerken über Kanäle 65, 75 und 85 in einer Übertragungsverbindung.
Gemäß der Erfindung ist die Struktur des Prozessors 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 das System für Verarbeitungsvorgänge mit seismischen Daten. Während der Erfassung seismischer Aufzeichnungen werden aus mehreren Bits bestehende seismische Abtastwörter in Multiplexform gesammelt. Die Abtastwerte werden von einer Vielzahl (bis zu 60) getrennten Signalkanä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 Echtzeit ausgeführt werden, die bei der Abarbeitung der in der anschließend noch zu beschreibenden Tabelle V angegebenen Befehle beteiligt sind. Der Speicher 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 Verarbeitungsstruktur zusammen mit Baueinheiten eingesetzt, die die schnelle Ausführung eines der ausgewählten Befehle ermöglicht.
In einer Ausführungsform der Erfindung 'bestehen die internen Speicherabschnitte 41 und 42 jeweils aus 256 adressierbaren Speicherplätzen mit jeweils 32 Bits. Es handelt sich dabei um mit hoher Geschwindigkeit arbeitende bipolare Schottky-TTL-Speichereinheiten. Die Speicherabschnitte 41 und 42 sind
509848/0985
auch für das Adressensteuerwerk 70, das Lesesteuerwerk 60 oder das Prozeßsteuerwerk 80 unabhängig voneinander zugängig.'
Im Normalbetrieb des Systems arbeitet das Adressensteuerwerk und das Lesesteuerwerk 60 ausschließlich mit einem der Speicherabschnitte 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 das System 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 des Systems stark erhöht wird.
Die drei Steuerwerke sind über das Steuerwerk 90 für gemeinsame Kennzeichen miteinander synchronisiert, das dazu dient, die spezielle Tätigkeit jedes der Steuerwerke 60, 70 und 80 durch speziell angegebene Tests zur Anzeige des Zustande jedes Steuerwerks zu identifizieren. In einer Ausführungsform der Erfindung bestehen die Bauelemnte der Speicherabschnitte und 42 aus bipolaren Schottky-TTL-Speichern S74S200 . der Firma Texas Instruments Incorporated, die eine Zugriffszeit von maximal 60 Nanosekunden aufweisen.
In Fig.2 sind der Speicher 40 und das Rechenwerk 50 in ihrer gegenseitigen Beziehung zueinander dargestellt worden. In dieser Anordnung ist der DBF-Übertragungsweg 100 über Selektoren 102 und 103 an die Speicherabschnitte 41 bzw. 42 angeschlossen. Auch der DBP-Übertragungsweg 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.
509848/0985
Somit sind zwei Ausgangsübertragungswege 106 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, 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 der 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 Parallelbearbeitungsoperatjbnen ausgeführt.
Die Ausgänge von Selektoren 110, 111 und 112 sind an die Übertragungswege DBI, DBP bzw. DBF angeschlossen. Der DBI-Übertragungsweg ist ein Direktübertragungsweg zwischen dem Speicher 40 und dem Rechenwerk 50. Die Übertragungswege DBF und DBP sind die Übertragungswege 100 bzw. 101. Die Übertragungswege DBF und DBP sind an einen Selektor 113 angeschlossen, der seinerseits mit Registern 114 und 115 eines Gleitkomma-Rechenwerks verbunden ist. Die drei Übertragungswege (DBI, DBP und 'DBF) sind über Selektoren 116 und 117 an Eingangsregister 118 bis 121 einer Gleitkomma-Multipliziereinheit angeschlossen. Eine Sinus/Cosinus-Eingabeeinheit 122 ist ebenfalls an die Selektoren 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
509848/09 8 5
ist dann an einen Selektor 128 angeschlossen, der an einem Eingang mit dem DBI-Übertragungsweg verbixnden ist. Der Ausgang des Selektors 128 ist mit dem P-Register 129 verbunden, das an einem Eingang eines A-Registers 130 angeschlossen ist. Ein zugehöriges B-Register 131 ist an zwei Eingängen mit den Registern 114 und 115 verbunden.-He Register 130 und 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 Register 133 ist über eine Leitung 135 an einem zweiten Eingang des A-Registers 130 angeschlossen. Die Normalisierungseinheit 134 ist an jeweils einen Eingang eines W-Registers 136, eines Q-Registers 137 und eines S-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 Q-Registers 137 sind an Selektoren 139 und 140 angeschlossen. Die Ausgänge der Selektoren 139 und 140 sind die Übertragungswege 101 bzw. 100.
Nachdem die Beziehung zwischen dem Speicher 40 und dem Rechenwerk 50 dargelegt worden ist, sei nunmehr der Aufbau der Steuerwerke 60, 70 und 80 betrachtet. Allgemein gleichen diese Steuerwerke einander,. Sie enthalten jeweils eine Gruppe von Testlogikeinheiten, eine Statusadressierungs- und Statusübertragungs-Steuereinheit und eine Gruppe von Festwertspeichern. In Fig.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-
509848/0985
Statusgrößen sind verteilt. Ein Teil dieser Bits erscheint am Übertragungsweg 84 und wird zur Hardwaresteuerung verwendet. Der Rest erscheint am Übertragungsweg 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 Übertragungsweg 84 enthält daher 112 Leitungen, und der Übertragungsweg 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 der 512 Statusgrößen im Festwertspeicher 201.
Der Übertragungsweg 202 enthält drei Teilübertragungswege 202b, 202c und 202d mit 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 Teilübertragungswege 202r, 202s und 202t führen zu Eingängen einer Testlogik-Selektoreinheit 204. Die Übertragungswege 202r, 202s und 202t 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 Selektors 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, C oder D anzulegen. Diese von der Einheit 204
509848/0985
ausgeführten Tests schließen sich gegenseitig aus, so daß nur eine Adresse ausgewählt wird. Wenn keine der Adressen A, C oder 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 d gegenseitig ausschließlich sind, ist klar, daß dann, wenn keiner von ihnen erfüllt wird, auf Grund dieser 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 Übertragungsweg 206 an eine Eins-Additionseinheit 207 angelegt wird, die die Adresse A liefert, die die um .1 erhöhte derzeitige Adresse ist.
Nunmehr ist zu erkennen, daß die oben beschriebene Anordnung eine Gruppe von Steuerbits auswählt, die über die Bit-Leitungen des Übertragungswegs 84 zu verschiedenen Steuerpunkten im System übertragen worden sind. Wie bereits erwähnt wurde, stehen bei der Verwendung von 48 Leitungen im Adressensteuerabschnitt 1a für den nächsten Status die übrigen 112 Leitungen für eine programmierbare Steuerung aus dem Festwertspeicher 201 zur Verfügung, wobei diese übrigen Leitungen über den Übertragungsweg 89 an ausgewählte Steuerpunkte im gesamten System zur Steuerung des Rechenwerks 50, des Speichers 40 und der Adressierungseinheit 30 angeschlossen sind.
Die in Fig.3 dargestellte Anordnung soll hinsichtlich ihrer Struktur als typisch für das Lesesteuerwerk 60, das Adressensteuerwerk 70 und das Prozessteuerwerk 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.
509848/0985
Nach Fig.2 werden bei der Steuerung der Speicherabschnitte und 42 die zu jedem Zeitpunkt in ihnen wirksamen Adressen von vier Zählern A, B, C und X gesteuert. 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, C oder X repräsentierte Adresse zu der Adresse gemacht werden, die dann in den Speicherabschnitten 41 oder 42 benutzt wird.
Fig.4 zeigt die spezielle Art und Weise, in der die am Übertragungsweg 84 von Fig.3 erscheinenden Festwertspeicher-Bits im 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 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 Ausgangsübertragungsweg 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 220R ist an eine spezielle Bit-Stelle im Festwertspeicher des Lesesteuerwerks 60 angeschlossen. Die Leitung 220A ist an eine spezielle Bit-Speicherstelle im Festwertspeicher des Adressensteuerwerks 70 angeschlossen. Die Leitung 220P ist an eine Bit-Speicherstelle im Festwertspeicher des Prozeßsteuerwerks 80 angeschlossen. In gleicher Weise sind die Leitungen 221R, 221A und 221P an weitere ausgewählte Festwertspeicher-Bit-Stellen der jeweiligen Steuerwerke 60, 70 und 80 angeschlossen.
509848/0985
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 220R, 220A oder 220P 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, 221A und 221P ein.
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 X freigegeben.
Auf diese Weise wird das Festwertspeicherprogramm dazu verwendet, den Zähler X bei der Erstel7aing 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 Ausgangssignaüe der NOR-Schaltungen 220 und 221 einen niedrigen Wert haben, wird keine Operation ausgeführt.
Der Übertragausgang des Zählers X wird bei Testoperationen benutztoBeim Betrieb der Testlogik wie der Einheit 204 von Fig.3 kann ein Test die Feststellung erfordern·, ob der Zählerstand im Zähler X von Fig.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,
509848/0985
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 Fig.3 auszuwählen.
In Fig.2 sind drei weitere Zähler A, B und C dargestellt.' 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, C und X mit dem Speicher zusammenwirken.
In Fig.5 ist dargestellt, wie das Steuerwerk 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 X auf 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 si/id. 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, das 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 Q-Ausgangssignal 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
509848/0985
gesetzt vorfindet, löst es das Kennzeichen durch Anlegen eines Eingangssignals an der Leitung 234, und es betätigt auch die Selektorsteuereinheit 108 von Fig.2, damit die Selektoren 102 bis 105 so geschaltet werden, daß sie wieder die Rollen bezeichnen, die die zwei Abschnitte des Speichers spielen.
In Fig.6 ist ein typisches Flußdiagramm einer Ausführungsfolge für den Prozessor 20 von Fig.1 dargestellt. Fig.6 zeigt den Prozeßablauf, wie er vom Prozeßsteuerwerk 80 gesteuert wird. Dabei sind die Punkte desProzesses angegeben, bei denen die 5teuerkennzeichen gesetzt und für die Verwendung bei verschiedenen Tests durch die anderen Steuerwerke 60 und zur Verfügung gestellt werden. Die in Fig.6 angegebene Operation ist in der nachfolgenden Tabelle I angegeben.
Tabelle I
300 Beginn bei Statusadresse 0;
301 Warten, bis Listenabruf durch das Listensteuerwerk beendet ist;
302 Listen sind vollendet worden,der Prozeß beginnt, und die Serienanordnung der Baueinheiten (Pipeline) ist initialisiert;
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;
509848/0985
Tabelle I (Fortsetzung )
306a Erniedrigen des Standes des Elementzählers B; 306b Erhöhen des Standes des Speicherzählers A;
Überprüfen, ob die gesamte Anzahl der Elemente verarbeitet worden ist (ECS=O);
Wenn die gesamte Anzahl verarbeitet worden ist, dann wird das SRF-Kennzeichen gesetzt, damit gemeldet wird, daß der Pufferspeicher bereit ist; das gesetzte Prozeßbeendigungskennzeichen PCF zeigt an, daß alle Elemente verarbeitet worden sind; Ausgang zum Status 000;
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 derStand des 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 Abrufbeendigungskennzeichens durch das Lesesteuerwerk 60 gewartet; diese Folge läuft bis zum . Stand 0 des Zählers B weiter.
5098Λ8/0985
Der Arbeitsablauf des Prozessors 20 beginnt mit zwei
Steuerlisten :(1) einem automatischen Übertragungsbefehl (ATI) und (2) einer Befehlsinitialisierungsliste (CIL).
Zum Starten der Prozessoroperation gibt die Zentraleinheit (CPU) einen ΑΤΙ-Befehl an den Prozessor 20 ab. Das erste Wort des in der Tabelle II angegebenen ΑΤΙ-Befehls wird
dazu verwendet, den Prozessor 20 zu initialisieren und
die Betriebssteuerungen zu kennzeichnen. Das zweite Wort des ΑΤΙ-Befehls wird dazu verwendet, im Zentralspeicher (CM) den Speicherplatz des Anfangs der Befehlsinitialisierungsliste (CIL) anzugeben. Im Anschluß an die zwei ATI-Wörter speichert der Prozessor 20 einen anfänglichen Gesamtnullstatus, damit angezeigt wird, daß der ΑΤΙ-Befehl angenommen worden ist und daß der Prozessor den Befehl ausführt.
Tabelle II
Format des ATI-Befehls
7 8 9 10 11 12 13 14 15
ATI-1
ATI-2
CPU-Operationscode RMI Speicherstartadresse C0 C1 DEV 15
0
R = Rücksetzen M ss Wartungsbetrieb I ss CPU sperren
C = Steuerbefehl (START, HALT, FORTSETZUNG) DEV = adressiertes DMAC-Gerät
5 0 8 8 4 8/0985
R = Rücksetzen; Der Prozessor 20 nimmt bei R = 1 jederzeit einen ΑΤΙ-Befehl an. Dies bewirkt ein unbedingtes Rücksetzen ohne Statusaufstellung. Wenn der Prozessor bei Feststellung eines ΑΤΙ-Befehls mit R=O besetzt ist, dann wird dieser ΑΤΙ-Befehl entsprechend der Tabelle III interpretiert. Wenn beim ersten ΑΤΙ-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 mit 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 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 Speieherzugriff in abwechselnden Speicherzyklen zu veranlassen, wenn eine Bedingung auftritt, bei der normalerweise aufeinanderfolgende Zyklen erforderlich wären. Dieses Bit ist für jede ATI-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 Ausgeben des entsprechenden ΑΤΙ-Befehls "Fortsetzung" jederzeit geändert werden (besetzt, angehalten oder frei).
T = CPU Sperren; Wenn ein ΑΤΙ-Befehl angenommen wird, bei dem dieses Bit einen hohen Wert hat (I= 1), hindert der Prozessor 20 die Zentraleinheit 10 daran, Speicherzyklen zu erfassen, bis die Operation beendet -ist (Aus-
509848/0985
führung der zuletzt verketteten Liste). Dieses Bit kann von einem Befehl "Fortsetzung" nicht geändert werden.
CqC1 = Steuerbefehl: Dieses aus zwei Bits bestehende Feld wird dazu verwendet, den ΑΤΙ-Befehl als einen der folgenden vier Befehle zu definieren:
00 = START;
01 = HALT;
10 = FORTSETZUNG; und
11 = unzulässig.
Bei richtiger Adressierung· wird ein ΑΤΙ-Befehl vom Prozessor 20 jederzeit angenommen. Daher kann ein ATI-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 ΑΤΙ-Befehle, die vom Besetzt-, Halt-oder Frei-Status abhängt.
5 09848/0985
Tabelle III
RUcksetzen
Wartungsbetrieb CPU Sperren J jSteuerbefehl
C0C1
DBV
ATP Punktion
CD CXD ■J>-CO \ O
(START)
(HALT)
(PORTSETZUNG)
OXXO X X
MI
OXXO X X X X
O M X 1 Λ0
MX M X
O X X 1 X : zeigt "unbeachtet11 an.
besetzt angehalten frei
besetzt angehalten frei
besetzt angehalten frei
irgendein ATP Besetzt-Status, Unterbrechung, Halt Beeetzt-Status, Unterbrechung, Halt Beginn einer neuen Operation
Halt-Operation
Portsetzung, M' annehmen
Fortsetzung, M annehmen
NO-OP
unzulässige Operation
Normalerweise wird ein Befehl "STARi»dazu verwendet, eine neue Operation einzuleiten; er wird gewöhnlich dann ausgegeben, wenn der Prozessor 20 frei ist. Unter dieser Bedingung interpretiert der Prozessor das zweite Wort des ΑΤΙ-Befehls als den AnfangsSpeicherplatz im Zentralspeicher zum Abrufen der Befehlsinitialisierungsliste 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;1 Hier ist zu beachten, daß das I-Bit (CPU sperren) und das M-Bit (Wartebetrieb) nicht beachtet werden.
Ein Befehl "HALT" wird normalerweise ausgegeben, wenn der Prozessor 20 besetzt ist, und er wird dazu verwendet, die in Bearbeitung befindliche Operation zeitweise anzuhalten.Wonn 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" (NOR 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 odär angehalten ist, nimmt der Prozessor 20 jede Änderung des M-Bits an, und er setzt seine derzeitige Operation ohne Unterbrechung fortoWird der Befehl »FORTSETZUNG" ausgegeben, während der Prozessor ^O frei ist, hat der Befehl die Funktion "Keine Operation "(NO OP), was bedeutet, daß er ignoriert wird.
509848/0985
Alle Ausführungsbefehle im Prozessor 20 erfordern eine Befehlsinitialisierungsliste CIL, wie sie in derTabelle IV angegeben ist. Jede Befehlsinitialisierungsliste CIL 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 Befehlsinitialisierungsliste 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.
Tabelle IV
Grundlegende Befehlsinitialisierungsliste CIL
Prozessorbefehlswort Element-Anzahl-Wort
Formatspezifikation für Vektor A Adressenerhöhung für Vektor A Startadresse für Vektor A Formatspezifikation für Vektor B Adressenerhöhung für Vektor B Startadresse für Vektor B Formatspezifikation für Vektor C Adressenerhöhung für Vektor C Startadresse für Vektor C Adresse für maximalen Exponenten Adresse der nächsten Liste
* enthalten, wenn erweitertes Format angegeben ist (E = 1)
509848/0985
1 PCW
2 NOEW
3 *FSA
& AIA
5 SAA
6 *FSB
7 AIB
8 SAB
9 *FSC
10 AIC
11 SAC
12 AME
13 ANL
Die normale Befehlsinitialisierungsliste besteht aus 13 Spezifikationswörtern, die dazu verwendet werden, die Operation des Prozessors 20 und die von der Operation benutzten oder erzeugten Parameter vollständig anzugeben. Die Tabelle IV enthält diese normale Gruppe von Listenwörtern. Für höhere Operationen, die zusätzliche Listenwörter erfordern, wird die Liste einfach zur Angabe dieser zusätzlichen Wörter erweitert.
Das erste Wort der Befehlsinitialisierungsliste ist ein Prozessorbefehlswort (PCW), dessen Format in der Tabelle V angegeben ist.
Tabelle V
PCW - Format
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
C D P E K Σ Operations-Codegruppe
C = Anschluß
D = max.Exponenten feststellen P = programmgesteuerte Unterbrechung E = erweitertes Format K = Stapelungsoption Σ = Summierungsoption OP CODE = AATP - Operationscodegruppe
509848/0985
Das Prozessorbefehlswort PCW wird erhalten und es kennzeichnet den Befehl.Di© vollständige Liste wird erfaßt. Der Prozessor 20 beginnt dann mit der Ausführung des angegebenen Befehls* Die Befehlsverarbeitung stört in keiner V/eise 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 Opera tionsbeendigung eingeschaltet, und die Statusabspeicher- und Unterbrechungsfolge 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 ΑΤΙ-Befehl "FORTSETZUNG" wieder ausgelöst werden. Das Prozessorbefehlswort PCW enthält eine Wahlangabe (E), die die Wahlmöglichkeit eines erweiterten Formats oder eines eingeschränkten Formats bezeichnet. Bei erweitertem Format (Bit E = 1) können drei Vektoren A, B und C unabhängige Formate aufweisen. Aus diesem Grund müssen die Formatspezifikationsworter für diese Vektoren angegeben' werden. Bei der Wahlmöglichkeit des eingeschränkten Formats (E = 0) sind die Format-
509848/0985
- 23 -
Spezifikationswö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 Sof.tware-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 Befehlsinitialisierungsliste CIL abgerufen. Der neue angegebene Befehl wird dann ausgeführt. Dieses Verfahren erlaubt eine unbestimmte Verkettung, ohne daß ein neuer ΑΤΙ-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 Be'fehlsoperation ist der maximale Exponent zusammen mit dem "Vorzeichen im Zentralspeicher 11 an dem Speicherplatz (AME) abgespeichert, der vom Listenwort B angegeben ist. Dieses Wort hat folgendes Format
S Exponent nicht benutzt
S = Vorzeichen
7 = niedrigstwertiges Bit (LSB)
509848/0985
P = Programmgesteuerte Unterbrechung; Der Prozessor 20 speichert unmittelbar nach dem Empfang eines ATI-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 ΑΤΙ-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 (P = 1), dann speichert der Prozessor 20 bei Beendigung der Befehlsausführung den Status, und er erzeugt eine Unterbrechung und hält an. Alle Statusbedingungen von der letzten Statusabspeicheroperation bis zur derzeitigen Statusabspeicherung werden zusammengestellt, und das Statusregister des Prozessors 20 wird reinitialisiert (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 BefefrfeDperation, bei der kein Anschluß angezeigt wird, ist die ATI-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
09848/0985
der ablaufenden Operation, die Abspeicherung des Status, die Unterbrechung der Zentraleinheit 10, und er kehrt
in den Leerlaufzustand zurück. Der Status akkumuliert sich aus dem letzten zusammengestellten Status. Das Statusbit (für Operation beendet) hat einen hohen Signalwert, und auch die Bits 1 oder 2 (für Abbruchbedingung) haben einen hohen
Wenn ein ΑΤΙ-Befehl "START" 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 ATI-Befehl) mit hohem Wert an. Die Befehlsausführung kann durch einen Fortsetzungsbefehl wieder aufgenommen oder durch einen Rücksetzbefehl beendet werden.
E = erweitertes Format; Wenn diese Möglichkeit gewählt ist (E =1), 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 Viert "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.
509848/0985
K = Stapelungsoption; Die Stapelungsoption 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.
509848/0985
Tabelle VI
ΑΤΙ-Befehl»START"
im Besetztzustand von
C=*1 ATI Liste 1 Operation Anfangsstatus P=1 Operation C=O Operation
Gesamtnull Liste 2 Status abspeichern Psi C=O Status
P=O abspeichern Unterere chung Liste 3 abspeichern
Halt, P=1 Unterbrechung
O -*· Status Status abspeichern frei
Status Unterbre chung O —*·* Status ι
Gesamtnull Status Halt ro
Status ι
cn
O
unzulässiger ATI Q-* Status kumulativer Status,
to
co
-C-
und kumulativer · Status, Operation beendet,
CP Status kumulativer Sta kumulativer Status
σ
ep
tus,
OO normalervrei se
Crt insgesamt O
Beachtet kumulativer Status stammt vom zuletzt aufgestellten Status
Für alle anderen Operationen werden die Stapelungsoption und die Summierungsoption nicht beachtet und als Null angesehen.
Wenn die Stapelungsoption gewählt ist (K = 1) werden die Ergebnisse jeder Operation zum entsprechenden dritten Feldelement addiert und anstelle dieses Elements abgespeichert. Ein Beispiel ist in der Tabelle VII angegeben.
Tabelle VII K Σ Operation
OO ci = ai * bi
0 1 C= iai*bi
10 Ci = Ci + ai ' ^i
11 C=C + Za1' b±
Σ a Summierungsoption; Diese Angabe ist ebenso wie die Stapelungsoption für viele arithmetische Operationen zulässig. Wenn sie ausgewählt ist (Σ= 1), werden die Ergebnisse arithmetischer Operationen intern summiert und nicht einzeln zum .Zentralspeicher 11 zurückgegeben. Wenn die angegebene Anzahl von Operationen beendet ist, wird die akkumulierte Summe zum Zentralspeicher 11 zurückgegeben, wie von der Stapelungsoption bestimmt wird.
OP CODE (Prozessor 20) Der Prozessor 20 ist so organisiert, daß er eine Anzahl von sich wiederholenden Operationen an Reihen aufeinanderfolgender Daten (strings) ausführt.
509848/0985
Mehrere Operationen sind Grundrechnungsarten, nämlich Addition, Subtraktion, Multiplikation und Division. AndereOperationen 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 (8 bis 15) des Prozessorbefehlsworts PCT folgendermaßen angegeben:
6 7 8 11 12 ..........15
Operations-C odojgrupp e
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.
Das Bitfeld (8 bis 15) wird zur Angabe höherer Operationen verwendet. Die Stapelungsoption 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 Σ-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
509848/0985
ausgeführten Befehl zu erzeugenden Aüsgangsergebniselemente, wenn die Ausgangsgröße ein Vektor ist, öder die Anzahl der Elemente im Eingangsvektorfeld, wenn die Ausgangsgröße eine skalara Größe ist. Das Wort NÖEWist eine positive ganze 2ahl mit 16 Bits mit dem
interpretiert wird«
mit 16 Bits mit dem Wert 1 Ms 216, wobei 0 als 21
kistetiwdrter 3 "bis 11 (Feldspezifikationswörter): Jed^s Vektorfeld wird von 3 Wörtern vollständig beschrieben, die als Feld« äpezifikationswörter (ASW) bezeichnet sind und aus den folgenden Wörtern für jeden Vektor A, B und C bestehen:
PSA: Formatspezifikation für Vektor A AIA: Adressenerhöhung für Vektor A SAA: Startadresse für Vektor A.
Für jedes primäre Feld enthalt die Befehlsinitialisierungsliste ClL 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äre Feld von einem aus 48 Bits bestehenden Feldspezifikationswort (ASW) in der Befehlsinitialisierungsliste beschrieben. Die vollständige Befehlsinitialisierungsliste CiL enthalt drei ASW-Gruppen aus jeweils 3 Wörtern, wenn 1 den Wert 1 hat, öder aus jeweils zwei Wörtern , wenn I den Wert 0 hat, wie in der Tabelle VIII angegeben ist*
fabtlie VIII
FSA (E=1) nur
0 12 3 4 7 15
Format V S J Maßstabsfaktor
Adressenerhöhung
Startadresse
509848/098S
Das Grundprogramm-Befehlsformat für die meisten Operationen des Prozessors 20 ist in der Tabelle IX zusammengefaßt.
Tabelle IX
O 7 8 9 10 11 12 13 14 15 Listenstartadresse
CPU-OD-Code grupp e R M I C0 C1 Gerät
O 1 2 3 4 5 6 7 8 15 Format V S Maßstabsfaktor Adressenerhöhung A Format V S Maßstab sfaktor Adressenerhöhung B Format V S Maßstabsfaktor Adressenerhöhung C
PCW C D P E K Σ j Operations-Codegruppe Startadresse A Startadresse B Startadresse C
NOEW Element-Anzahl-Wort Adresse für maxeExponenten
*FSA Adresse der nächsten Liste
AIA
SAA
*FSB
AIB
SAB
*FSB
AIC
SAC
AME
ANL
R =s Rücksetzen
M = Wartungsbetrieb
I = CPU sperren
C0C1 = Ein/Ausgabe-Geräte-Steuerung( START, HALT, FORT
DEVICE = DEMAC-Geräteadresse für ATP -SETZUNG)
C = Anschlußoption
D = max.Exponenten feststellen
P = programmgesteuerte Unterbrechung
E = erweitertes Format
K = Stapelungsoption
Σ = Summierungsoption
F = Vektorformat
V s= Vektorwfirtoption
S = Vektorvorzeichenoption
SCALE = Vektormaßstabsfaktor
* nicht in der Liste, wenn E=O(erweitertes Format nicht angegeben)
509848/0985
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 Eingangsdatenfeldern oder eines von vier Typen von Ausgangsdatenfeldern sein. Jedes Datenfeld kann unabhängig so angegeben sein, wie die Tabelle X zeigt.
Tabelle X 0 12
el
32-Bit-Gleitkommaformat i6-Bit-Festkommaformat 32-Bit-980A-Festkommaformat 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.
I EORMATl O O
O O 1
O 1 O
O 1 1
O O O
1 O 1
1 1 O
1 1 1
1
50 9848/0 985
Tabelle XI
16-Bit-Festkommaformat;
MSB LSB O 1 15
[S Γ Binärzahl '
52-Bit-ASC-Festkommaformat;
MSB LSB
O 1 31
IS I Binärzahl j
32-Bit-980A-Festkommaformat:
MSB LSB
0 1 15 16
|S I Binärzahl IS[Binärzahl \
1) Das Vorzeichenttit 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 die Binärzahl werden für negative Zahlen im Zweier-Komplement dargestellt.
52-Bit-Gleitkommaformat:
MSB LSB
0 1 7 8 31
fs I Gleitkommaexponent (C) \ binärer Bruchteil (F) I
1 )Das Vorzeichenbit hat für positive Daten den Wert 11O" 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~
bis 16+ ^ repräsentiert.
5 0 9 8 4 8/0985
Tabelle XI (Fortsetzung)
5) Die von der obigen GIeitkommadarstellung angegeben Zahl ist:
N=SxFx 16C~641O
32-Bitr-Übersetzungsformat nur für Eingabedaten:
MSB
0 1 15 16 25 26 51"
IS I Binärzahl(N) | 00000000 \ GAIN j
1) Das Vorzeichenbit hat für positive Daten den Wert "0" Tand für negative Daten den Wert "1ir.
2) Der Binärpunkt liegt rechts des niedrigstwertigen Bits LSB.
3) Vorzeichen und Bruchteil werden bei negativen Zahlan 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=SxNx2- GAIN
848/0 985
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 Zahlengröß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ässigerweise kann aamit festgestellt werden, daß die Wert-Option auf alle Eingangsdatenfelder angewendet werden kann. Dabei gilt:
V=O: algebraisch (normal); und V = 1 : in Absolutwert umwandeln.
S = 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 Verwendung einer Komplementierungs- und Additionsoperation:
S=O: Normales Vorzeichen, und S = 1 : umgekehrtes Vorzeichen.
509848/0985
Maßstabsf aktor; Dieses 9-B±t-Feld wird (-wenn es anwendbar ist) dazu verwendet, eine aus 9 Bits bestehende Zweier-Kossplementzahl anzugeben, die als Maßstabsfaktor für die Feldeleiaente zu interpretieren ist. Die ijoarendung 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-KoBspleaientzahl angegebener Bxpaneiit zur Basis 2 (2**) interpretiert, der als Kaßstabsfaktor (ifoltiplikator) für alle ELeaente des Kingangsfeldes verwendet werden soll« Das bedeutet, &&B das Sxpoaaentenfeld als ein plikator ζχμγ Basis 2 verwendet werden soll» der auf alle Eingangseleaente anziareniien ist, wenn diese in. das intense
usgesetzi; werden.
Für ein Atssgaagsfeld wird dieses 9-Bit-Felö ebenfalls als KaSstabsfaktor interpretiert, der einen binaren» im Zweier-Eoäspleiaent angegebenen Exponenten angibt, der ztan Gleit-
ve«· der Ausgabe und der
zn addieren ist, wenn eine solche stattfindet»
Etoe Ausnaitse tritt ie IhIIe derStapelung ein, bei der das Ausgangsfeid avtoh. als Singangsfeld benutzt -wird. In diesem Fall gilt das Exponeatenfeld nur als Ausgangsfeld,. und es hat keinen EinfltiS auf das Feld, wenn es als Eingangsfeld benutzt wird.
AI = Adressenerhohxmgs Bas zweite ¥ort des Feldspezifikationsworts ASW wird dazu verwendet, die Feldeiement-Adressenernöhaag anzugeben. Dieser Indexwert wird als eine aus 1-6 Bit bestehende Zweier-Kosnplesakemtzahl angegeben. Für die ©eisten Befehle sind negative Indices für eine umgekehrte Speicher-
503848/0985
adressierung erlaubt. Der Adressenerhöhungswert wird dazu verwendet t den Elementerhötangswert anzugeben, wobei Jedes Element entsprechend dem angegebenen Format von einer Anzahl, aufeinanderfolgender Speicherplätze repräsentiert wird. Der Ädressenernöhimgswert bestimmt Jede Elementadresse bezitglicfe der vorhergehenden. Elementadresse«. 'Wenn AI dem Wert 11O" hat„ ist; das Datenelement eine skalare Großet und die Startadresse bat; stets de» gleichen Wert.
Wenn der· läiressenerliöltmigswert £tfr ein· Feldspezifikatiansvfort O ist, ist das Feld als ¥efcfcor axt einem Element angegeben. Cs&alare Große). Der Prozessor 20 erkennt M. = ö als eins skalare Sröße» imd er rtift die skalare Größe nicfefc ist wiederholter Weise ab» sondern beiiält ihren ¥ert intern für eine Wiederbenntzung im. Verlauf der BefefolsausfEfhrtiEtg. bei» Allgemein gilt für das Ci)-te-Element die folgende Speicheradresseζ
CM± = SA + i (AI), wobei SÄ. die Startaöresse ist.
SA == Startadresse £ Das dritte Wort des Feldspezifikationsworts" wird dazu verwendet» die Feldelement-Startadresse im ZentrsüLspeictLer 11 anzugeben» wad sie wird normaierw/eise für 3ed.es Feld mit SAÄ» SAB oder SAC angegeben«
Jedes Feld wird, getrennt indiziert,, und das Ausgangsfeld kann ein Guellenfeld überdecken« Das soll heiß en r daß Ergebnisse ^ an der StelleBvon Quellendaten zum ansparen, von Speicherplatz abgespeichert werden können.
509&48/0.S85
Listenwort 12:
AME = Adresse des maximalen Exponenten: Dieses ¥ort wird dazu verwendet, die Adresse im Zentralspeicher 11 sowohl für den maximalen Anfangs-ais 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 wird nicht verwendet oder modifiziert, wenn D den Wert 11O" hat.
Listenwortν 15:
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=1) des Prozessorbefehlsworts anzeigt, daß einAnschluß 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 solange weiter, bis eine Liste auftritt, bei der kein weiterer Anschluß angezeigt ist (C = 0). Dieses ANL-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 ΑΤΙ-Befehl, der eine, neue Operation einleitet, den Anfangsstatus ab. Die programmgesteuerte Unterbrechung erlaubt (wenn sie angegeben ist) eine Statusaufstellung bei Beendigung ausgewählter Befehlsausführungen (Liste). JederÄbrufvorgang führt zu einer Statusaufstellung, und er erzeugt nach dem Auftreten eines solchen Vorgangs eine Unterbrechung.
509848/0985
Am Ende einer ATI-Operation erfolgt stets eine Statusabspeicherung. Wenn die programmgesteuerte Unterbrechung gewählt ist, wird ebenfalls eine Unterbrechung erzeugt. Die Tabelle XII zeigt eine Bit-Zuweisung für das Statuswort.
Tabelle XII Bit Zustand
0 Operation beendet (Beendigung)
1 Befehlsfehler(Abbruch)
2 Befehlsparitätsfehler(Abbruch)
3 Datenparitätsfehler
4 Exponentüberschreitung
5 Exponentunterschreitung
6 Versuchte Teilung durch Null
7 Festkommaüberschreitung 8
Hardware-Wartung erforderlich
15 Unzulässiger ΑΤΙ-Befehl im Besetztzustand
5 0 9 8 4 8/0985
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 Viert "1".
Status-Bit-1 = Befehlsfehler (Abbruch); Dieses Bit wird zur Anzeige unzulässiger Befehle verwendet. Wenn ein unzulässiger Befehl festgestellt wird, beendet der Prozessor 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.
ATI-Steuerbefehl = 11
FSWA-, FSWB-Codegruppe = 101, 110, 111 FSWC-Codegruppe = 100, 101, 110, 111 Unzulässige Operations-Code1 gruppen.
Status-Bit- 2 = Befehlsparitätsfehler (Abbruch) ; Wenn ein ausführbarer ΑΤΙ-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.
Status-Bit-5 = 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.
509848/0985
Status-Bit-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 7F,./- ist. Wenn dieser Zustand eintritt, wird 7F.g für den Exponenten
und FFFFFF für die Mantisse gesetzt. Die Operation wird
fortgesetzt, und dieses Status-Bit wird bei der nächsten
vorkommenden Statusabspeicherfolge angezeigt. DasVorzeichen bleibt frei.
Status-Bit-^ = Exponentuntersehreitung: Dieses Bit wird
für die Anzeige verwendet, daß eine Operation ein Ergebnis
mit einem Exponenten erzeugt hat, der kleiner als 00^gist.
Wenn dies eintritt, wird für das Vorzeichen, den Exponenten und die Mantisse der Wert 11O" 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 zu Anzeige eines solchen Überschreitungszustandes verwendet; es wird bei der nächsten folgenden Statusabspeicherfolge angezeigt.
5 0 9 8 4:8 AQ 9 8 5
Status-Bit 8 bis 13: Nicht benutzt.
Status-Bit 14 = Hardware-Wartung erforderlich: Es 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 ΑΤΙ-Befehl empfangen wird, der START.aizeigt, und wenn der Prozessor dabei gesetzt 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 der Tabelle XIII 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 -demultiplexierung. 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 äidernden Anforderungen oder bei der Entdeckung neuer Verfahren.
50984 8/0985
Tabelle XIII
AATP-Operatlonen
Code- Mnemonik K Σ Operation Listengruppe Wörter
00 **
01 VSM Vektor-Max/Min-Abtastung . 13
02 VSP Vektor-Spitzenwert-Abtastung 13
X X Lineare Größe verschieben, lineare Größe 13 , indiziert
X X Vektor verschieben, lineare Größe indiziert 13 ,
X X Lineare Größe verschieben, Vektor indiziert 13
06 ESQ X X Quadrat von Element 13
07 ESR X X Quadratwurzel von Element 13
08 VEA X X Addition mit Vektorelement 13 ^]
09 VES X X Subtraktion mit Vektorelement 13 oo
CD
OO
03 · MLL
S 04 MVL
(X)
tr»
05 MLV
Tabelle XIII
AATP-Operationen
(Fortsetzung)
Coder! Mnemonik I K Σ Operation Listengruppe Wörter
OA VEM X X Multiplikation mit Vektorelement 13
OB VED X X Division mit Vektorelement 13
Addition mit komplexem Element 13
Subtraktion mit komplexem Element 13
Multiplikation mit komplexem Element 13
Multiplikation mit konjugierts-komplexem 13 ' Element
FFT Vorwärts, natürlich/zerhackt 13
FFT Vorwärts, zerhackt/natürlich 13
FFT Invers, natürlich/zerhackt 13
FFT Invers, zerhackt/natürlich 13 ^
Trennung; einer Aufzeichnungsspur 13 ^
OC CEA X X
«n
O
t η
OD CES X X
OO
4>
OO
OE CEM X X
O
CO
OO
(71
OF CCM X X
10 FFN
11 FFS
12 FIN
13 FIS
14 OTS
KD
Tabelle XIII
A ATP-Operationan
(Fortsetzung)
Code- Mnemonik K Σ Operation Listengruppe Wörter
15 OTC Kombination einer Aufzeichnungsspur 13
16 TTS Trennung zweier Aufzeichnungsspuren 13 *" 17 TTC Kombination zweier Aufzeichnungsspuren 13
*" 20 FXF X Festes Filter 14
21 FXD X Festes Filter und Dezimieren 15
22 ν ITF X Interpolationsfilter 15
23 SVL X Abtastwertvariantes lineares Filter 17
24 SVI X Abtastwertvariantes erhöhtes Filter 17
Tabelle XIII
Codegruppe
Mnemonik
SVF
K Σ
ÄÄTP-Operationen (Fortsetzung)
Operation
Abtaetwertvariantes abgerufenes Filter
Listenwörter
18
30 BMR
cn
09848/ 31
32
RFP1
RFP2
ο
to 33 RFP3
Bitweise Matrixdrehung
Formatänderung und Sammlung(Zackenspurauf« zeichnung)
Formatänderung und Sammlung (Aufzeichnung mit variabler Fläche)
Formatänderung und Sammlung (Aufzeichnung mit Zackenspur und variabler Fläche)
14 18 18 18
VT« -Λ
35
* nicht benutzte Op,-Codegruppen K - Stapelung X - Summierung Sortierung
Mischung
14
15
Befehle sind in zwei Klassen geteilt: (1) in solche, die nur mit der Bearoeitung von reellen Daten befaßt sind 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 Realteil 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 den Realteil unmittelbar der Imaginärteil folgt. Die meisten Befehle arbeiten mit den Eingangsdaten als reellen Daten und mit den Ausgangsdaten als Daten im Festkomma-, Gleitkomma- oder Übersetzungsformat. Die Ausgangsdaten können in den meisten Fällen 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.
Jeder Befehl des Prozessors 20 wird von einem Mikroprogramm gesteuert, das in den Festwertspeichern 63, 73 und 83 gespeichert 1st. 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 Formatumsetzung in der Einheit 33 und 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 Amsführungsform kann der Prozessor 20 Verarbeitungszeiten
509848/0985
erzielen, wie sie in der Tabelle XIV angegeben sind. Die effektive hohe Geschwindigkeit des Prozessors 20 macht diese Anordnung zu einer höchst wirksamen Peripherieeinheit in einem System zur Verarbeitung seismischer Daten.
Tabelle XIV
Befehle
Gleitkommaarithmetik Datenformate
PFT-Zeit für 8192 komplexePunkte
Multiplikationszeit für komplexe Elemente
Faltungszeit für 1024 Punkte Addition/Subtraktion
AATP
36 Ja
126 ms 4,5 ms 10,1 ms 2,25/us *■
(Speicher begrenzt)
Die Erfindung ist hier zwar im Zusammenhang mit einem speziellen Ausführungsbeispiel beschrieben worden, doch ist für den Fachmann ohne weiteres zu erkennen, daß im Rahmen der Erfindung weitere Abwandlungen möglich sind.
50 9848/0 985

Claims (19)

  1. Patentansprüche
    /i-J Datenfeldprozessor mit einem Rechenwerk zur Verarbeitung von Felddaten für den Einsatz in einem System, bei dem Felder zusammenhängender Daten in einem Zentralspeicher zur Verfügung stehen, gekennzeichnet durch
    (a) einen Prozessorspeicher mit zwei unabhängigen Speicherabschnitten,
    (b) einen Leseübertragungsweg und einen Schreibübertragungsweg zur Verbindung des Zentralspeichers mit den beiden Speicherabschnitten des Prozessorspeichers Lind mit dem Rechenwerk und
    (c) eine Steueranordnung zum abwechselnden Einsetzen der Speicherabschnitte des Prozessorspeichers für einen ersten Fluß von Datenwörtern zwisehen dem Zentralspeicher und dem Prozessorspeicher und für einen zweiten Fluß von Datenwörtern zwischen dem Prozessorspeicher und dem Rechenwerk.
  2. 2. Prozessor nach Anspruch 1, dadurch gekennzeichnet, daß die Steueranordnung mikroprogramniierte Festwertspeicher enthält, die an das Rechenwerk und an den Prozessorspeicher angeschlossen sind, und daß eine Zentralspeicher-Adressierungseinheit abhängig von einem der Festwertspeicher das Lesen und Schreiben in dem Zentralspeicher steuert.
  3. 3« Datenfeldprozessör mit einem Univsrsalcomputer, der einen Zentralspeicher aufweist, gekennzeichnet durch
    (a) einen Adressierungssteuerwerk-Festwertspeicher,
    (b) einen Lesesteuerwerk-Festwertspeicher,
    50 9 848/0 985
    (c) einen Prozeßsteuerwerk-Festwertspeicher,
    (d) einen Doppelspeicher und ein Rechenwerk, die zusammen einen digitalen Spezialprozessor bilden, und
    (e) eine Kennzeicheneinheit, die abhängig von den Steuerwerk-Festwertspeichern so arbeitet, daß sie entsprechend den darin gespeicherten Programmen und in in dem Spezialprozessor erzielten Bedingungen Statusgrößen in dem Festwertspeicher und in dem Spezialprozessor verschiebt.
  4. 4. Prozeßsteuerwerk zur Verwendung zusammen mit einem zentralen Computerspeicher, von dem ein Lesedaten-Übertragungsweg, ein Schreibdatenübertragungsweg und einAdressen-Übertragungsweg ausgehen, gekennzeichnet durch
    (a) eine an die Lesedaten- und Schreibdaten-Übertragungswege angeschlossene Doppel-Prozessorspeichereinheit,
    (b) ein an die Lesedaten- und Schreibdaten-Übertragungswege angeschlossenes Rechenwerk,
    (c) ein mit Festwertspeichern ausgestattetes Prozeßsteuerwerk zur Steuerung des Prozessorspeichers und des Rechenwerks,
    (d) ein mit Festwertspeichern ausgestattetes Adrescierungs-
    steuerwerk zur Steuerung des Speicherns und Abrufens von Daten aus dem Zentralspeicher,
    (e) ein mit Festwertspeichern ausgestattetes Lesesteuerwerk zur Steuerung von Prozessorspeicher-Datenübertragungsvorgängen und
    509848/0985
    - 5ο -
    (f) eine an die Lese-, Prozeß- und AdressierungsSteuerwerke angeschlossene Kennzeicheneinheit zur Verschiebung von Statusgrößen in einem der mit Festwertspeichern ausgestatteten Steuerwerke abhängig von einer vorbestimmten Gruppe von Bedingungen in dem Steuerwerk.
  5. 5. Prozessoreinheit mit einem Speicher und einem Rechenwerk zur Übertragung von Daten zu und von einem Zentralspeicher und zur Verarbeitung dieser Daten, gekennzeichnet durch
    (a) eine Steuereinheit mit einem Pestwertspeicher, der mehrere Statusgrößen mit jeweils einer Anzahl von Bits aufweist,
    (b) ein Adressenregister zum Speichern der Adresse für die Auswahl einer Festwertspeicher-Statusgröße,
    (c) eine Testeinheit, die abhängig von ausgewählten program*- mierbaren Test-Bits an einem Festwertspeicherausgang für einen aktuellen Status, wobei die Testeinheit an ausgewählte Bedingungspunkte zurUberprüfung des Vorhandenseins vorbestimmter Gruppen von Bedingungen angeschlossen ist, und
    (d) eine Betätigungseinrichtung, die die Testeinheit so betätigt, daß diese abhängig von den Testergebnissen, die nächste Adresse in dem Adressenregister abspeichert,
  6. 6. Prozessoreinheit nach Anspruch 5, dadurch gekennzeichnet, daß die Testeinheit drei Gruppen von Tests ausführt, und daß in das Adressenregister eine von vier Adressen geladen wird, wobei eine solche Adresse nur bei Nichterfüllung geladen wird.
    509848/0985
  7. 7. Prozessoreinheit nach Anspruch 5, dadurch gekennzeichnet, daß mehrere Gruppen von Ausgangsleitungen von dem Festwertspeicher zu der Testeinheit führen und daß zur Steuerung der Übertragungs- und Verarbeitungsvorgänge weitere Gruppen von dem Festwertspeicher zu dem Speicher und zu dem Rechenwerk führen.
  8. 8. Prozessoreinheit nach Anspruch 5, dadurch gekennzeichnet, daß an den Eingang des Adressenregisters eine Mehr-Bit-Vielfachfunktions-Selektoranordnung angeschlossen ist, und daß mehrere Mehr-Bit-Leitungen von dem Festwertspeicher zu jedem Eingang der Selektoranordnung führen.
  9. 9. Prozessoreinheit nach Anspruch 8, dadurch gekennzeichnet, daß eine Verbindung zwischen einem Eingang der Selektoranordnung und dem Ausgang des Adressenregisters hergestellt ist.
  10. 10. Prozessoreinheit nach Anspruch 9, dadurch gekennzeichnet, da3 die Eingangsverbindung eine den Wert 1 addierende Einheit enthält.
  11. 11. Prozessoreinheit nach Anspruch 5, dadurch gekennzeichnet,daß eines der Festwertspeicher-Bits jedesmal dann ein Kennzeichen setzt, wenn alle Inhalte des Speichers verarbeitet worden sind.
  12. 12. Zusatzprozessor für Spezialzwecke mit einem internen Speicher, der als Direktspeicherzugriffs-Peripherieeinheit arbeitet, zur Durchführung sich wiederholender arithmetischer Operationen an Reihen aufeinanderfolgender Daten oder Felder in einem Zentralspeicher, gekennzeichnet durch
    509848/0985
    (a) einen vorprogrammierten, an das Direktspeicherzugriffs-Steuerwerk angeschlossenen Festwertspeicher, der Abruf- und Speicherzyklen und entsprechende Adressen im Zentralspeicher erzeugt,
    (b) einen an das Direktspeicherzugriffs-Steuerwerk angeschlossenen Datenformatumsetzer für zum oder vom Zentralspeicher übertragene Daten,
    (c) einen an den Datenformatumsetzer angeschlossenen vorprogrammierten Festwertspeicher zur Steuerung des Datenflusses zum oder vom Zusatzprozessor,
    (d) eine an den Datenformatumsetzer und an den internen Speicher angeschlossene arithmetische Verarbeitungseinheit zur Verarbeitung von Daten aus dem Zentralspeicher,
    (e) einen an die arithmetische Verarbeitungseinheit angegeschlossenen vorprogrammierten Festwertspeicher zur Steuerung der Verarbeitung der Daten aus dem Zentralspeicher und
    (f) eine an jeden der Festwertspeicher angeschlossene gemeinsame Übertragungsanordnung für einen geordneten Zugriff und eine geordnete Verarbeitung der Daten aus dem Zentralspeicher.
  13. 13. Zusatzprozessor nach Anspruch 12, dadurch gekennzeichnet, daß die vorprogrammierten Festwertspeicher Mikroprogramme enthalten, die zur Anpassung an spezielle Zwecke geändert werden können.
    50 98 48/0 985
  14. 14. Zusatzprozessor nach Anspruch 12, dadurch gekennzeichnet, daß die arithmetische Verarbeitungseinheit Einrichtungen zur Durchführung von reellen und komplexen Gleitkommarechnungen enthält.
  15. 15. Zusatzprozessor nach Anspruch 12, dadurch gekennzeichnet, daß der Datenformatuinsetzer Einrichtungen zum Auswählen wahlweiser Programmformate enthält.
  16. 16. Zusatzprozessor für Spezialzwecke mit einem internen Speicher, der als Direktzugriffsspeicher-Peripherieeinheit für Kleincomputersysteme dient, gekennzeichnet durch eine serielle Struktur (Pipeline-Struktur) zur Durchführung von Indizierungs-,Zähl- und Speicherzugriffsvorgängen parallel zu arithmetischen Operationen.
  17. 17· Kleincomputersystem mit einem zur Verarbeitung von Datenfeldern im Zentralspeicher an ein Direktspeicherzugriffssteuerwerk angeschlossenen Zusatzprozessor, gekennzeichnet durch
    (a) einen vorprogrammierten Festwertspeicher zur Steuerung des Zugriffs auf Daten aus dem Zentralspeicher und ihrer Verarbeitung,
    (b) eine von dem Festwertspeicher gesteuerte Anordnung zur Durchführung von reellen und komplexen Gleitkommaberechnungen und
    (c) eine von dem vorprogrammierten Festwertspeicher gesteuerte Anordnung zur Übereinanderschichtung und Parallelschaltung von Operationen zur Erzielung einer hohen Geschwindigkeit für aufeinanderfolgende Gruppen von Ausgangsergebnissen.
    509848/0985
  18. 18.: Verfahren zur Steuerung eines fest verdrahteten Prozessors, bei dem ein Prozessordoppelspeicher zwischen einem Zentralspeicher und einem Rechenwerk arbeitet, dadurch gekennzeichnet,
    (a) daß in drei unabhängigen Festwertspeichergruppen mehrere Zustandsgrößen aufweisende Lese-, Schreib- und Adressierungssteuerprogramme für den Prozessor gespeichert werden,
    (b) daß in dem Programm entsprechend erfüllten Prozeßbedingungen Zustandsgrößen verschoben werden, und
    (c) daß Kennzeichen als Bedingung zur Steuerung und Synchronisierung dieser Vorgänge der Festwertspeicher-Steuerwerke abgetastet werden.
  19. 19.Verfahren zum Betreiben eines fest verdrahteten Prozessors an Hand von Befehlen und Daten in einem Zentralspeicher, dadurch gekennzeichnet,
    (a) daß nacheinander Gruppen von Daten aus dem Zentralspeicher in zv/ei gleiche, jedoch voneinander getrennte Speicherabschnitte geladen v/erden,
    (b) daß der Inhalt eines der Speicherabsehnitte verarbeitet wird, während der andere Abschnitt zum Zentralspeicher entladen und aus dem Zentralspeicher geladen wird,
    (c) daß zur Verarbeitung ein Zählerstand der Inhaltslesevorgänge aus jedem der Speicherabsehnitte aufrecht erhalten wird,
    (d) daß die Funktionen der Speicherabschnitte umgeschaltet werden, wenn dieser Zähle rstand gleich der Kapazität eines der Speicherabschnitte ist.
    5Q9848/0985
    Leerseite
DE2521289A 1974-05-13 1975-05-13 Datenverarbeitungsanordnung mit Datenfeld-Hilfsprozessor Expired DE2521289C2 (de)

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
DE2521289A1 true DE2521289A1 (de) 1975-11-27
DE2521289C2 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)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2710023A1 (de) * 1976-03-22 1977-09-29 Perkin Elmer Corp Verfahren und vorrichtung zum herstellen eines duennen blutfilms auf einem planaren substrat
FR2468944A1 (fr) * 1979-11-06 1981-05-08 Frederick Electronics Corp Processeur microprogramme pour un systeme de traitement de donnees rapide
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

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
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
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
EP0394624B1 (de) * 1989-04-24 1997-06-18 International Business Machines Corporation Mehrfachsequenzprozessorsystem
US5809292A (en) * 1990-11-13 1998-09-15 International Business Machines Corporation Floating point for simid array machine
US5713037A (en) * 1990-11-13 1998-01-27 International Business Machines Corporation Slide bus communication functions for SIMD/MIMD array processor
US5625836A (en) * 1990-11-13 1997-04-29 International Business Machines Corporation SIMD/MIMD processing memory element (PME)
US5734921A (en) * 1990-11-13 1998-03-31 International Business Machines Corporation Advanced parallel array processor computer package
US5617577A (en) * 1990-11-13 1997-04-01 International Business Machines Corporation Advanced parallel array processor I/O connection
US5590345A (en) * 1990-11-13 1996-12-31 International Business Machines Corporation Advanced parallel array processor(APAP)
US5963746A (en) * 1990-11-13 1999-10-05 International Business Machines Corporation Fully distributed processing memory element
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
US5966528A (en) * 1990-11-13 1999-10-12 International Business Machines Corporation SIMD/MIMD array processor with vector processing
US5963745A (en) * 1990-11-13 1999-10-05 International Business Machines Corporation APAP I/O programmable router
US5630162A (en) * 1990-11-13 1997-05-13 International Business Machines Corporation Array processor dotted communication network based on H-DOTs
DE69131272T2 (de) * 1990-11-13 1999-12-09 International Business Machines Corp., Armonk Paralleles Assoziativprozessor-System
US5794059A (en) * 1990-11-13 1998-08-11 International Business Machines Corporation N-dimensional modified hypercube
US5828894A (en) * 1990-11-13 1998-10-27 International Business Machines Corporation Array processor having grouping of SIMD pickets
US5588152A (en) * 1990-11-13 1996-12-24 International Business Machines Corporation Advanced parallel processor including advanced support hardware
US5815723A (en) * 1990-11-13 1998-09-29 International Business Machines Corporation Picket autonomy on a SIMD machine
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
US5765015A (en) * 1990-11-13 1998-06-09 International Business Machines Corporation Slide network for an array processor
JPH077327B2 (ja) * 1991-02-19 1995-01-30 インターナショナル・ビジネス・マシーンズ・コーポレーション データ転送方法
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
US7966481B2 (en) 2006-02-16 2011-06-21 Vns Portfolio Llc Computer system and method for executing port communications without interrupting the receiving computer
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
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

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3735354A (en) * 1972-04-07 1973-05-22 Sperry Rand Corp Multiplexed memory request interface
US3737866A (en) * 1971-07-27 1973-06-05 Data General Corp Data storage and retrieval system
DE2359920A1 (de) * 1972-12-29 1974-07-04 Burroughs Corp Adressiereinheit fuer einen gemeinschaftsspeicher

Family Cites Families (16)

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

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3737866A (en) * 1971-07-27 1973-06-05 Data General Corp Data storage and retrieval system
US3735354A (en) * 1972-04-07 1973-05-22 Sperry Rand Corp Multiplexed memory request interface
DE2359920A1 (de) * 1972-12-29 1974-07-04 Burroughs Corp Adressiereinheit fuer einen gemeinschaftsspeicher

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
US-Firmenschrift: "IBM-Technical Disclosure Bulletin", Vol. 10, Nr. 6, Nov. 1967, S. 724-726 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2710023A1 (de) * 1976-03-22 1977-09-29 Perkin Elmer Corp Verfahren und vorrichtung zum herstellen eines duennen blutfilms auf einem planaren substrat
FR2468944A1 (fr) * 1979-11-06 1981-05-08 Frederick Electronics Corp Processeur microprogramme pour un systeme de traitement de donnees rapide
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

Also Published As

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

Similar Documents

Publication Publication Date Title
DE2521289A1 (de) Datenfeldprozessor
DE69730276T2 (de) Vorrichtung und Verfahren zur Erleichterung der Vermeidung von exzeptionellen bestimmten Zuständen während des Ablaufs eines Programmes
DE2540824C2 (de) Auf verschiedene Ausbaustufen veränderbare Abrechnungsmaschine
DE2411963C3 (de) Elektronische Datenverarbeitungsanlage mit einer Prioritätssteuerschaltung mit änderbaren Steuerblöcken
DE2846495C2 (de) Zentraleinheit
DE2417795C2 (de) Datenverarbeitungsanlage
DE3751540T2 (de) Verfahren und Vorrichtung zur Datenverarbeitung.
DE1499193A1 (de) Datenverarbeitungsanlage
DE1499200B2 (de) Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung
DE2431379B2 (de) Datenverarbeitungseinrichtung
DE2145120B2 (de) Digitales datenverarbeitungsgeraet
EP0010198A2 (de) Vorrichtung zur Steuerung des Seitenaustausches in einem Datenverarbeitungssystem mit virtuellem Speicher
DE1094496B (de) Anordnung zur Speichersteuerung in Angaben-Bearbeitungssystemen
DE2350884A1 (de) Datenverarbeitungssystem
DE2230102A1 (de) Rechenwerk fuer variable wortlaengen
DE3610433A1 (de) Speicherprogrammierbares steuergeraet mit funktionsplaninterpreter
DE1929010B2 (de) Modular aufgebaute datenverarbeitungsanlage
DE1274825B (de) Speicherprogrammiertes Datenverarbeitungssystem zur Verarbeitung von Programmen anderer Datenverarbeitungssysteme
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
DE2626703A1 (de) Intern programmierbares datenverarbeitungssystem
EP0010185A1 (de) Virtuell-Adressiervorrichtung für einen Computer
DE2218630C3 (de) Schaltungsanordnung zur Steuerung von Unterbrechungssignalen in Datenverarbeitungsanlagen
DE2454613C2 (de) Kanaleinheit für die Steuerung der Datenübertragung auf einer Vielzahl von Kanälen zwischen den peripheren Einrichtungen und dem Hauptspeicher einer digitalen Datenverarbeitungsanlage
DE2458286A1 (de) Datenverarbeitungssystem zum verschieben von datenfeldern mit verschiedenen strukturen
DE2458331A1 (de) Datenverarbeitungssystem zur adressierung eines in einem sekundaerspeicher abgelegten datensatzes

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