DE3542436A1 - Datenflussprozessorsystem - Google Patents
DatenflussprozessorsystemInfo
- Publication number
- DE3542436A1 DE3542436A1 DE19853542436 DE3542436A DE3542436A1 DE 3542436 A1 DE3542436 A1 DE 3542436A1 DE 19853542436 DE19853542436 DE 19853542436 DE 3542436 A DE3542436 A DE 3542436A DE 3542436 A1 DE3542436 A1 DE 3542436A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- bus
- processor
- mark
- function
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/4031—Coupling between buses using bus bridges with arbitration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/366—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a centralised polling arbiter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4494—Execution paradigms, e.g. implementations of programming paradigms data driven
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Multi Processors (AREA)
- Devices For Executing Special Programs (AREA)
Description
VON KREISLER SCHÖNWALD EISHOLD FUES
VON KREISLER KELLER SELTING WERNER
PATENTANWÄLTE
Dr.-Ing. von Kreisler ti 973
Dr.-Ing. K. W. Eishold 11981
Dr.-Ing. K. W. Eishold 11981
CONIC CORPORATION Dr.-Ing. K. Schönwald
(LORAL INSTRUMENTATION) „'}'L· FueS*, , „ ,
R 401 Aero Drive Dipl.-Chem. Alek von Kreisler
8 4Ul Aero Drive DipL-Chem. Carola Keller
San Diego DiPl.-lng. G. Seifing
California 92123 Dr. H.-K. Werner
U.S.A.
U.S.A.
DEICHMANNHAUS AM HAUPTBAHNHOF
D-5000 KÖLN 1
Sg-Hi/Fe
29. November 1985
Die Erfindung betrifft ein Datenflußprozessorsystem nach dem Oberbegriff des Anspruchs 1.
Ein derartiges Datenflußprozessorsystem wird in einem Computer verwendet. Anders als bei einem herkömmlichen
Computer, bei dem eine Befehlsausführung von der Programmfluß-Steuerung
gesteuert erfolgt, wird das Datenflußprozessorsystem aufgrund der Verfügbarkeit der
Operandendaten gesteuert.
Bei einem herkömmlichen Computer wird der Datenfluß durch die sequentielle Ausführung eines Programmes gesteuert.
Wie anhand eines Flußdiagrammes klar wird, stellt das Programm eine sequentielle Kette von Schritten
dar, die einer nach dem anderen ausgeführt werden. Wenn in einem Programm mehrere Berechnungen durchzuführen
sind, erfolgen diese Berechnungen nacheinander.
Telefon: (022!) 13 1041 · Telex: 8882307 dopa d · Telegtuinin: Dompotent Köln
Wenn in einem Programm beispielsweise zwei Operationen
auszuführen sind, wobei die erste Operation eine Funktion ist, die die Eingabedaten A, B und C benötigt und
die Ausgabedaten D erzeugt, und die zweite Operation eine Funktion ist, die die Eingabedaten B und C erfordert
und Ausgabedaten E erzeugt, dann werden diese beiden Operationen nacheinander ausgeführt. Normalerweise
sind alle Daten in einem gemeinsamen Speicher gespeichert. Der Computer greift erstens in der Reihenfolge
Daten A, dann Daten B, dann Daten C auf den Speicher zu, führt zweitens zur Erstellung der Funktion
die notwendigen arithmetischen und logischen Operationen aus und erzeugt drittens die Ausgabedaten D, die
dann in den Speicher eingegeben werden. Nachfolgend wird für die Daten B und C, die zur Ausführung der
arithmetischen oder logischen Operationen der nächsten Funktion benötigt werden, wieder auf den Speicher zugegriffen.
Die sich ergebenden Ausgabedaten E werden ihrerseits in den Speicher eingegeben.
Bei einem derartigen vom Programmfluß gesteuerten Computer wird die Verarbeitungsgeschwindigkeit durch diejenige
Geschwindigkeit, mit der die Befehle seriell ausgeführt werden können, und durch die sequentielle
Datenzugriffszeit auf den gemeinsamen Speicher begrenzt. Die Begrenzung aufgrund der Datenzugriffszeit
hängt zusammen mit dem "von Neumann Engpaß". Dieser Ausdruck bezeichnet die Tatsache, daß alle Daten unabhängig
von der Verarbeitungsgeschwindigkeit des Prozessors in eine einzige Datei hintereinander eingeschrieben
werden müssen, bevor sie verarbeitet werden können.
Bei dem gerade beschriebenen Beispiel des herkömmlichen seriellen und programmflußgesteuerten Computers kann
die zweite Funktion bis nach Beendigung der ersten Funktion nicht ausgeführt werden, selbst wenn die Daten
(B und C), die als Eingabedaten für die zweite Funktion benötigt werden, bereits zu Beginn der Berechnung der
ersten Funktion im Speicher verfügbar waren.
Zur Erhöhung der Rechengeschwindigkeit ist es bekannt, mehrere parallel arbeitende Prozessoren zu verwenden.
In bezug auf das gerade beschriebene Beispiel könnte ein Computer mit parallel arbeitenden Prozessoren derart
programmiert werden, daß die erste Funktion durch einen ersten Prozessor ausgeführt wird, während die
zweite Funktion durch einen separaten parallelen zweiten Prozessor ausgeführt wird. Jedoch auch bei einer
derartigen Organisation müssen die Prozessoren um den Zugriff auf den allgemeinen Datenspeicher "konkurrieren"
, womit wiederum der "von Neumann Engpaß" zum Tragen kommt. Der erste Prozessor muß sequentiell auf
die Daten A, B und C zugreifen, während der zweite Prozessor
getrennt und sequentiell auf die Daten B und C zugreifen muß. Diese serielle Anreihung von Daten erzeugt somit auch bei einem programmflußgesteuerten
Computer mit parallelen Prozessoren eine inhärente Geschwindigkeitbsbegrenzung.
Im Gegensatz dazu weist das Datenflußprozessorsystem, das aus mindestens einem
Datenflußprozessor besteht, eine grundsätzlich andere Organisation auf. Bei dem Datenflußprozessor werden die
Daten parallel verarbeitet, der "von Neumann Engpaß" aber wird durch direkte Verteilung der Daten auf die
verschiedenen parallelen Verarbeitungseinheit eliminiert. In jeder dieser Einheiten wird die Operation
ausgeführt, sobald die Daten zur Ausführung der gefor-
derten Funktion verfügbar sind. Dadurch wird eine merkliche
Verbesserung der Verarbeitungsgeschwindigkeit erzielt.
im oben beschriebenen Beispiel werden die verschiedenen
Daten A, B und C direkt und gleichzeitig auf die verschiedenen Verarbeitungseinheiten verteilt. Die Verarbeitungseinheit
für die erste Funktion nimmt die Daten A, B und C auf und führt sofort die Berechnung dieser
Funktion aus und liefert den Ausgabewert D. Daneben werden die Daten B und C, wenn sie der ersten Verarbeitungseinheit
zugeführt werden, auch an die separate zweite Verarbeitungseinheit für die zweite Funktion
gegeben. Diese Einheit nimmt die Daten B und C auf und berechnet unmittelbar die zweite Funktion, wobei der
Ausgabewert E erzeugt wird.
In dem Datenflußprozessor werden somit die funktionellen
Operationen nicht in einer sequentiellen programmflußgesteuerten Art und Weise, sondern aufgrund der
Verfügbarkeit der Operandendaten ausgeführt.
Der Erfindung liegt die Aufgabe zugrunde, ein Datenflußprozessorsystera
zu schaffen, das eine verbesserte Datenverarbeitung und Datenorganisation aufweist, so
daß die Verarbeitungsgeschwindigkeit größer wird.
Diese Aufgabe wird erfindungsgemäß mit dem Datenflußprozessorsystem
gelöst, das die Merkmale des kennzeichnenden Teils des Anspruchs 1 aufweist.
Bei dem erfindungsgemäßen Datenflußprozessorsystem werden
die Operandendaten in Form von "Marken" in dem System übertragen, wobei jede Marke ein Identifi-
zierungsfeld mit einem Identifikationssymbol und ein
Datenfeld mit einem Operandendaten-Wert aufweist.
Die Marken werden auf einem Bus, nachfolgend mit "Flußbus"
bezeichnet, übertragen, an den mehrere Markenprozessoren oder "Datenflußkarten" angeschlossen sind.
Jeder diese Markenprozessoren beinhaltet eine oder mehrere Verarbeitungseinheiten, die zur Ausführung
einer bestimmten spezifische, Eingabedaten erfordernden Funktion entsprechend konfiguriert oder steuerbar sind.
Jede Datenflußkarte weist darüber hinaus einen Eingangsmarkenprozessor
(EMP) auf, der die Identifikation oder das Identifizierungsfeld jeder Marke auf dem Flußbus
überwacht. Der EMP sucht nach Marken, die solche Operandendaten beinhalten, die für die Verarbeitungseinheiten auf derselben Datenflußkarte benötigt werden.
Wenn der EMP anhand der Identifikation des Identifizierungsfeldes der Marke auf dem Flußbus erkennt, daß
die gerade vorhandene Marke für eine dieser Verarbeitungseinheit benötigt wird, gibt der EMP die Operandendaten
dieser Marke in einen auf der Datenflußkarte selbst angeordneten Speicher.
Wenn alle erforderlichen Operandendaten, die für eine bestimmte Verarbeitungseinheit benötigt werden, empfangen
worden sind und in den EMP-Speicher eingegeben worden sind, führt die Verarbeitungseinheit die Funktion
aus.
Wenn zum Beispiel die Verarbeitungseinheit eine Funktion
ausführt, für die die Eingabedaten A, B und C erforderlich sind, sucht der EMP auf dem Flußbus nach
Daten, die im Identifizierungsfeld die Identifikations-
symbole "A", "B" und "C" aufweisen. Werden diese Marken
erkannt, so werden die zugehörigen Operandenwerte von dem EMP gespeichert. Sobald Operandenwerte aller drei
Eingabedaten "A", "B" und "C" empfangen sind, kann die Verarbeitungseinheit sofort ihre Funktion ausführen.
Jeder Markenprozessor oder jede Datenflußkarte weist
darüber hinaus einen Ausgangsmarkenprozessor (AMP) auf. Wenn die Verarbeitungseinheit Ausgabedaten erzeugt,
stellt der AMP diese zu einer neuen Ausgabemarke zusammen. Wenn z.B. die Verarbeitungseinheit eine Funktion
ausführt, deren Ausgabedaten mit "D" bezeichnet werden, erzeugt der AMP eine neue Ausgabemarke, die
eine "D" entsprechende Identifikation in dem Identifizierungsfeld aufweist, und überträgt den tatsächlichen
von der Verarbeitungseinheit erzeugten Datenwert in das Datenfeld.
Zur Ausgabe auf den Flußbus reiht der AMP die neuerzeugten Ausgabemarken in eine Warteschlange ein. Mit
dem Flußbus ist eine Zuweisungsschaltung verbunden, die jeden Markenprozessor abfragt, um zu ermitteln, welcher
Markenprozessor über auszugebende Marken verfügt. In Abhängigkeit einer passenden "rotierenden" Prioritätsbasis
gibt die Zuweisungsschaltung den Zugriff zum Flußbus immer nur für einen Markenprozessor frei. Derjenige
Markenprozessor, für den der Zugriff auf den Flußbus freigegeben wird, gibt die nächste Marke in der
Warteschlange an den Flußbus aus.
30
30
Die Erfindung schließt auch Konfigurationen mit mehreren
Flußbussen ein. Die Verbindung der Flußbusse untereinander erfolgt durch Bus-zu-Bus-Markenprozessoren,
die nur diejenigen Daten von einem auf den anderen
Flußbus übertragen, die der gerade Daten aufnehmende
Bus benötigt.
Die Computer-Konfigurationssteuerung des erfindungsgemäßen
Datenflußprozessorsystems erlaubt die beliebige Zuweisung von speziellen Funktionen zu jeder der Verarbeitungseinheiten
auf den einzelnen Datenflußkarten. Zur Optimierung der Durchführung für eine bestimmte
Anwendungen kann das System daher selektiv umorganisiert werden. Im Ergebnis besteht eine derartige Umorganisation
aus dem "Programmieren" des Datenflußprozessors, um einen bestimmten Satz von untereinander
abhangigen Funktionen zu implementieren.
Weitere bevorzugte Ausführungsformen der Erfindung sind
den Ansprüchen 2 bis 11 zu entnehmen.
Nachfolgend werden unter Bezugnahme auf die Figuren Ausführungsbeispiele der Erfindung näher erläutert.
20
20
Es zeigen:
Fig. 1 ein Blockdiagramm des Datenflußprozessors,
Fig. 2 das Format einer Informationsmarke, wie sie in dem Datenflußprozessor nach Fig. 1 ver
wendet wird,
Fig. 3 eine schematische Darstellung einer Funktion, die von einer in dem Datenf lußprozessor nach
Fig. 1 enthaltenden Verarbeitungsschaltung implementiert ist,
Fig. 4 eine schematische Darstellung bzw. einen "Datengraph" von mehreren untereinander abhängigen
Funktionen, wie er durch das Datenflußprozessorsystem nach Fig. 1 implementiert werden kann,
Fig. 5 ein Blockdiagramm eines in dem System nach
Fig. 1 verwendeten Markenprozessors,
Fig. 6 ein Blockdiagramm eines anderen Ausführungsbeispiels des Datenflußprozessorsystems, bei
dem zwei separate Marken-Trägerbusse ver
wendet werden und der die selektive Übertragung von zuvor ausgewählten Marken zwischen
diesen Bussen ermöglicht,
Fig. 7 ein Blockdiagramm eines Ausführungsbeispiels des Datenflußprozessorsystems, bei dem mehre
re miteinander verbundene Marken-Trägerbusse verwendet werden,
Fig. 8 ein Blockdiagramm, das eine mögliche Anordnung für die Eingabe und/oder Ausgabe von
Daten bei einem der Datenflußprozessoren dar
stellt, und
Fig. 9 ein Blockdiagramm eines Systems, das die computergesteuerte
Umorganisation des Datenflußprozessorsystems ermöglicht.
20
20
Das in Fig. 1 dargestellte Datenflußprozessorsystem
weist einen Datenflußprozessor 20 auf, der einen Bus 21 (auch mit "Flußbus" bezeichnet) beinhaltet, über den
Informationsmarken übertragen werden. Das Markenformat 22 (Fig. 2) weist ein Identifizierungsfeld 22t und ein
Datenfeld 22d auf. In dem Identifizierungsfeld 22t befindet sich ein Identifikationssymbol oder ein Identifier
und im Datenfeld 22d befindet sich ein Operandendatenwert.
30
30
An dem Flußbus 21 sind mehrere Markenprozessoren 23 (manchmal auch mit "Datenflußkarte" bezeichnet und im
einzelnen mit 23a, 23b usw. gekennzeichnet) angeschlossen. Jeder Markenprozessor 23 weist einen Funktions-
-Sf-
verarbeitungsteil 24 auf, der eine oder mehrere Verarbeitungseinheiten
25 beinhaltet. Diese Verarbeitungseinheiten 25 führen die arithmetische, mathematische,
logische oder anderweitige Verarbeitung der im Markenformat vom Flußbus 21 empfangenen Daten aus.
Jede Verarbeitungseinheit 25 führt eine bestimmte Funktion
(f) für bestimmte Eingabedaten aus. Diese Funktionseinheit 26 ist schematisch in Fig. 3 dargestellt,
in der der Kreis oder der "Knoten" 26 eine bestimmte Funktion (f ) darstellen soll, die durch eine der Ver-
el
arbeitungseinheiten 25 auszuführen ist- Die Funktion
(f ) erfordert drei Dateneingaben, die durch die mit
a
A(I), B(2) und C(3) markierten Pfeile oder "Bögen" dargestellt
sind. Das Ergebnis der Ausführung der Funktion
(f ) ist die Erzeugung von Ausgabedaten, die durch den
a
mit D(4) markierten Pfeil oder Bogen dargestellt sind.
Bei der Funktion (f ) kann es sich z.B. um die Be-
rechnung eines Temperaturgradienten g durch eine Wand mit der Stärke w handeln, wobei die Wand an ihrer
Außenseite die Temperatur t und an ihrer Innenseite die Temperatur t. hat und für den Temperaturgradienten
g gilt
1O-1X
g = __ (Gleichung 1) .
g = __ (Gleichung 1) .
Um diese Operation auszuführen, benötigt die Funktionseinheit 26 drei Eingabedatenwerte. Auf das Beispiel der
Funktionseinheit 26 der Fig. 3 bezogen, heißt das, daß der Funktionseinheit 26 die Temperatur t an der Außenseite
der Wand über den Pfad A zugeführt wird. Zur
Identifizierung dieses Pfades ist die Zahl "1" vorgesehen. Somit können die Eingabedaten, die die Temperatur
t an der Außenseite der Wand darstellen, durch Marken mit dem Format 22 nach Fig. 2 repräsentiert werden,
bei denen das Identifizierungsfeld 22t den Wert "1" beinhalten. Der Wert "1" kennzeichnet demnach, daß
die gelieferten Daten zu dem Pfad A gehören (und daher die Außentemperatur t darstellen). Dann enthält das
Datenfeld 22d den tatsächlichen numerischen Wert für die Außentemperatur t .
Entsprechend kann die Temperatur t. an der Innenseite der Wand über den Pfad B mit dem Identizierungswert "2"
geliefert werden, so daß das zugehörige Markenformat in seinem Identifizierungsfeld 22t den Wert "2" und in
seinem Datenfeld 22d den entsprechenden Wert der Temperatur t. aufweist. Das gleiche gilt für den VJert w der
Wandstärke, der über den Pfad C zugeführt wird und ein Identifikationssymbol "3" aufweist, so daß seine Marke
in ihrem Identifizierungsfeld 22t den Wert "3" und in ihrem Datenfeld 22d den Viert w der Wandstärke aufweist.
Wenn die Funktion 26 gemäß der obigen Gleichung (1) ausgeführt ist, wird der sich ergebende Ausgabewert auf
den Ausgabepfad D mit dem Identifikationssymbol "4" gegeben. Der berechnete Datenwert für den Gradienten g
kann somit im Markenformat mit dem Wert "4" im Identifizierungsfeld
(d.h. dem Ausgabepfad D zugehörig) geliefert werden und beinhaltet in seinem Datenfeld 22d
den Wert des Gradienten g, der unter Verwendung der dem Knoten 26 zugeführten Eingabedaten berechnet worden
ist.
überträgt man die Fig. 3 auf den Datenflußprozessor 20
nach Fig. 1, so ist eine der Verarbeitungseinheiten 25 zur Ausführung der obigen Gleichung (1) entsprechend
konfiguriert. Somit kann z.B. die Verarbeitungseinheit 25a einen zur Ausführung dieser Gleichung entsprechend
programmierten Mikroprozessor oder Hartware bzw. Firmware umfassen, der diese Aufgabe zugewiesen ist.
Zum Sammeln der für die Verarbeitungseinheiten 25 notwendigen Daten weist jede Datenflußkarte 23 einen Eingangsmarkenprozessor
(EMP) 30 auf, der in seinen Einzelheiten später beschrieben wird. Der EMP 30 überwacht
alle auf dem Flußbus 21 befindlichen Marken, um untersuchen zu können, ob irgendwelche in den Marken befindliehen
Daten von einer der Verarbeitungseinheiten 25 auf dieser Datenflußkarte benötigt werden. Auf das gerade beschriebene Beispiel bezogen, bei dem die Verarbeitungseinheit
25a die Gleichung (1) ausführt, bedeutet dies, daß der EMP 30 nach solchen Marken sucht, in
deren Identifizierungsfeldern sich die Werte "1", "2" und "3" befinden, da diese Marken die Datenwerte der
Außentemperatur t , der Innentemperatur t. und der Wanddicke w beinhalten, die alle als Eingabedaten für
die Verarbeitungseinheit 25a erforderlich sind. Wenn irgendeine dieser Marken auf dem Flußbus 21 vorhanden
ist, übernimmt der EMP 30 diese Marke und speichert die in den Marken befindlichen Daten in einem dafür vorgesehenen
Speicher.
Sobald die drei Datenwerte t , t. und w empfangen und im EMP 30 gespeichert sind, kann die Verarbeitungseinheit
25 unmittelbar mit der Ausführung der Funktion (f ) beginnen, d.h., die Verarbeitungseinheit 25 kann
ei
unmittelbar gemäß Gleichung (1) den Wert des Gradienten g berechnen.
Der resultierende Wert des von der Verarbeitungseinheit 25a berechneten Gradienten g steht zur Ausgabe an den
Flußbus 21 in Markenformat zur Verfügung. Dazu weißt die Datenflußkarte 23 (Fig. 1) einen Ausgangsmarkenprozessor
(AMP) 31 auf, der Marken zwecks Ausgabe an den Bus zusammensetzt. Sobald die Verarbeitungseinheit
25 den Wert des Gradienten g berechnet hat, erstellt der AMP 31 eine Marke, in dessen Identifizierungsfeld
22t sich der Wert "4" befindet, der dem Pfad D (4) für den Knoten oder die Funktion 26 (Fig. 3) entspricht.
Der AMP 31 setzt in das Datenfeld 22d dieser Marke den neuen Wert des Gradienten g ein, der gerade von der
Verarbeitungseinheit 25a berechnet worden ist. Der AMP 31 signalisiert dem Bus 21, daß sich in dem Markenprozessor
23a (in der Datenflußkarte 23a) eine neue Marke befindet, die an den Flußbus 21 ausgegeben werden
kann. Wenn die Marke danach auf den Bus 21 ausgegeben worden ist, ist sie ab sofort für jede Verarbeitungseinheit, die den Wert des Gradienten g als Dateneingabe
benötigt, verfügbar.
Der Fluß der Marken auf dem Bus 21 wird von einer Zuweisungseinheit
3 2 gesteuert, die eine Abruf- und Zuweisungsoperation ausführt. Der Flußbus 21 kann eine
separate festgeschaltete Abrufsignalleitung und eine separate festgeschaltete Zuweisungssignalleitung von
dem AMP 31 eines jeden Markenprozessors 23 zu der Zu- * Weisungseinheit 32 aufweisen.
Auf dem Flußbus 21 kann immer nur eine einzige Marke übertragen werden. Ein System kann z.B. eine 4 MHz-Rate
haben, so daß vier Millionen Marken pro Sekunde (4x10 /s) einzeln über den Flußbus 21 übertragen werden
können. Jede Marke kann 32 Bits umfassen, die auf dem Flußbus 21 parallel übertragen werden, wobei eine Marke
ein 16-Bit-Identifizierungsfeld 22t und ein 16-Bit-Datenfeld
22d aufweist.
Die Zuweisungseinheit 32 erkennt laufend über die Abrufsignalleitung,
welcher Markenprozessor 23 gerade eine Marke hat, die an den Flußbus 21 übergeben werden
kann. In jedem Zyklus sendet die Zuweisungseinheit 3 2 ein Zuweisungssignal nur zu einem der an dem Bus 21
angeschlossenen Markenprozessoren 23, wodurch dieser Prozessor eine Marke an den Flußbus 21 ausgeben kann.
Vorteilhafterweise weist die Zuweisungseinheit 32 ein "rotierendes" Prioritätsschema auf. Dies ist jedoch
nicht unbedingt erforderlich. Zu Anfang tastet die Zuweisungseinheit 32 die Markenprozessoren 23 sequentiell
ab. (Beispielsweise überprüft die Zuweisungseinheit 32, wenn 16 Markenprozessoren 23 mit dem Flußbus 21 verbunden
sind, als erstes, ob der Prozessor #1 eine auszugebende Marke hat, und als nächstes die Prozessoren #2,
#3, usw. bis #16). Sobald ein Markenprozessor, z.B. der Markenprozessor #5, ermittelt worden ist, der eine auszugebende
Marke hat, wird an diesen Markenprozessor #5 ein Zuweisungssignal gesendet. Sobald die Marke vom
Markenprozessor #5 auf den Flußbus 21 übergeben worden ist, wird der Markenprozessor #5 durch die Zuweisungseinheit
32 auf die niedrigste Priorität zurückgestuft. Danach wird nach jedem erzeugten Zuweisungssignal die
Priorität des zugehörigen Markenprozessors ebenfalls auf den niedrigsten Wert gesetzt. Diese Art der Organisation
garantiert, daß jede Datenflußkarte 23 in sech-
zehn Zyklen einmal auf den Flußbus 21 zugreift. Dieses Zuweisungsschema ist jedoch nur beispielhaft für den
Datenflußprozessor 20, bei dem auch jedes andere passende
Buszuweisungsschema verwendet werden kann.
5
5
Mit dem Datenf lußprozessor 20 nach Fig. 1 können komplexe Berechnungen asynchron ausgeführt werden, wobei
die verschiedenen Funktionen in den einzelnen Verarbeitungseinheiten 25 separat ausgeführt werden. Jede
dieser Einheiten führt die ihr zugewiesene Funktion aus, sobald die für diese Verarbeitungseinheit erforderlichen
Eingabedaten durch den zugehörigen Eingangsmarkenprozessor angesammelt worden sind. Der "Datengraph"
in Fig. 4 zeigt schematisch eine Art der komplexen Berechnung, die mit dem Datenflußprozessor 20
ausgeführt werden kann. Jeder der Knoten oder Funktionen f, bis f5 in Fig. 4 stellt einen mathematischen,
arithmetischen, logischen oder anderweitigen Prozeß dar, der von jeweils einer Verarbeitungseinheit 25 ausgeführt
wird. Beispielsweise kann der Knoten f~ der Funktion (f ) nach Fig. 3 entsprechen und von der Ver-
el
arbeitungseinheit 25a ausgeführt werden. Die Funktion f_ kann der ebenfalls auf der Datenflußkarte 23a befindlichen
Verarbeitungseinheit 25b zugewiesen sein.
Die Funktionen f,, f. und f,- können jeweils den Verarbeitungseinheiten
25c, 25d und 25e in dem gleichen Markenprozessor 23a zugewiesen sein. Alternativ dazu
können aber auch einige oder alle diese Funktionen f.., f. und f- den Verarbeitungseinheiten 25 in einem separaten
Markenprozessor 23 zugewiesen sein.
Eine Eigenschaft des Datenflußprozessors besteht darin,
daß die Zuweisung der verschiedenen Funktionen auf die einzelnen Verarbeitungseinheiten frei wählbar ist.
Jede Funktion kann zwecks ihrer Ausführung irgendeiner Verarbeitungseinheit zugewiesen sein. Darüber hinaus
schließt der Datenflußprozessor auch den Fall mit ein, daß mehr auszuführende Funktionen als Verarbeitungseinhexten
vorhanden sind. Dies wird durch Time-Sharing von einer oder mehrerer Verarbeitungseinheiten 25 erreicht,
um damit in einer Verarbeitungseinheit 25 getrennt zwei oder mehr Funktionen auszuführen. Beispielsweise kann
die Verarbeitungseinheit 25a in dem Markenprozessor 2 3 derart konfiguriert sein, daß sie die beiden Funktion
f2 und f3 ausführen kann. Die Verarbeitungseinheit 25a
kann z.B. durch einen Mikroprozessor mit zwei separaten gespeicherten Programmen realisiert werden, wobei das
eine Programm zur Ausführung der Funktion f„ und das andere Programm zur Ausführung der Funktion f, dient.
Darüber hinaus braucht diejenige Zeit, während derer die Verarbeitungsschaltung 25a entweder die Funktion f
oder die Funktion f_ ausführt, nicht fest zu sein. Diese
Zeit kann in Abhängigkeit der Verfügbarkeit der zur Ausführung der speziellen Funktion erforderlichen Daten
dynamisch festgelegt werden.
Zum Beispiel erfordert die Funktion f_ Datenwerte von
den Pfaden A, B und C, denen Marken mit den Identifikationssymbolen
"1", "2" und "3" entsprechen. Andererseits erfordert die Funktion f. Eingabedaten von den
Pfaden G und H, wobei die Daten durch Marken mit den
Identifierungen "7" und "8" charakterisiert sind. Der zugehörige Eingangsmarkenprozessor 30 sammelt all diese
Marken, d.h. Marken mit den IdentifikationsSymbolen "1", "2", "3", "7" und "8". Der Eingangsmarkenprozessor
30 signalisiert der Verarbeitungseinheit 25a, wann die entsprechenden Daten für eine der Funktionen f„ und f.
zusammengestellt sind. Entsprechend der Verfügbarkeit der Daten kann die Verarbeitungseinheit 25a daraufhin
das Erforderliche ausführen.
Der EMP 30 empfängt beispielsweise zuerst eine Marke mit dem Identifikationssymbol "1", dann eine Marke mit
dem Identifikationssymbol "7" und daraufhin eine Marke mit dem Identifikationssymbol "8". Jetzt sind alle Daten
zur Ausführung der Funktion f. verfügbar, wohingegen die für die Funktion f? notwendigen Daten noch
nicht verfügbar sind. Der EMP 30 signalisiert der Verarbeitungseinheit 25a diese Situation. Der Prozessor
dieser Verarbeitungseinheit 25a überprüft daraufhin, ob er die Funktion f. ausführen kann, führt diese Funktion
sofort aus und erzeugt einen Ausgabewert, der (durch den Ausgangsmarkenprozessor 31) in eine Marke formatiert
wird, die entsprechend dem Ausgabepfad 1(9) der Funktion f. das Identifikationssymbol "9" aufweist.
Anschließend empfängt der EMP 3 0 beispielsweise Marken mit den Identifikationssymbolen "2" und "3". In dem EMP
30 sind jetzt die Daten angesammelt, die zur Ausführung der Funktion f„ notwendig sind (Daten mit den Identifikationssymbolen
"1", "2" und "3"). Daher überprüft die Verarbeitungseinheit 25a sich selbst und führt die
Funktion f2 aus.
Natürlich können die Funktionen f„ und f. (und dies
entspricht dem Normalfall) getrennten Verarbeitungseinheiten zugewiesen werden, d.h. jeweils den Einheiten
25a und 25c. In diesem Fall führt die Verarbeitungseinheit 25a die Funktion f„ aus, sobald der EMP 30 Marken
mit den Identifikationssymbolen "1", "2" und "3" empfangen hat. Ebenso führt die Verarbeitungseinheit
25c die Funktion f^, aus, sobald der EMP 30 Marken mit
den Identifikationssymbolen "7" und "8" empfangen hat. Wenn beispielsweise Marken mit den Identifikationssymbolen "2", "7", 11I", "3" und "8" in dieser Reihenfolge
empfangen werden, beginnt die Verarbeitungseinheit 25a mit der Ausführung der Funktion f~ dann,
wenn die Marke mit dem Identifikationssymbol "3" empfangen wird, da dann alle für die Funktion f- erforderlichen
Eingabedaten verfügbar sind. Die Verarbeitungseinheit 25c beginnt mit der Funktion f., wenn die Marke
mit dem Identifikationssymbol "8" empfangen wird.
Desweiteren können, wie später noch beschrieben wird, mehrere Werte für einen oder mehrere Pfade empfangen
werden, bevor sich ein erforderlicher kompletter Datensatz zur Ausführung einer bestimmten Funktion angesammelt
hat. Die Funktion wird dann ausgeführt, wenn der komplette Datensatz empfangen ist, wobei die für
jeden Pfad zuerst empfangenen Daten verwendet werden.
Zur Verdeutlichung dieses Sachverhaltes sei beispielsweise
angenommen, daß Marken mit den Identifikationssymbolen "2", "1", "1", "3" in dieser Reihenfolgen empfangen
werden. Jetzt sind alle Eingabedaten für die Funktion f„ verfügbar, wobei jedoch zwei Datenwerte für
den Pfad A(I) empfangen worden sind. Die Verarbeitungseinheit 25a führt die Funktion f„ aus, verarbeitet jedoch
den ersten der beiden empfangenen Datenwerte für den Pfad A(I) (, d.h., die Verarbeitungseinheit 25a
verarbeitet den Datenwert derjenigen der beiden Marken mit dem Identifikationssymbol "1", die als erstes empfangen
worden ist) . Der Datenwert der später empfangenen Marke mit dem Identifikationssymbol "1" wird zur
Verarbeitung in der Verarbeitungseinheit 25a solange
3542A3B
- 3-β- -
gehalten, bis auch die zweiten Datenwerte für die Pfade B(2) und C(3) empfangen worden sind.
Ein Eingangsmarkenprozessor 30 (Fig. 1) nimmt diejenigen Marken auf, die zur Ausführung aller Funktionen
durch sämtliche Verarbeitungseinheiten 25a, 25b, 25c usw. in dem Verarbeitungsteil derselben Datenflußkarte
erforderlich sind. Wenn somit die Verarbeitungseinheiten 25a, 25b und 25c jeweils die Funktionen f„, f,- und
f. ausführen, sammelt der Markenprozessor 23 alle für diese Funktionen erforderlichen Marken.
Zu beachten ist der Fall, daß ein Eingabepfad 1(9) der
Funktion f- einem Ausgang einer anderen Funktion f.
entspricht, die auf derselben Datenflußkarte bearbeitet wird. Marken mit dem Identifikationssymbol "9" werden
in diesem Fall aber auch vom Flußbus 21 durch den EMP 30 empfangen, wenn sie an den Bus 21 durch den AMP 31
auf derselben Datenflußkarte zuvor ausgegeben worden sind.
Der Aufbau des Eingangsmarkenprozessors 30 ist in Fig. 5 dargestellt. Der Eingangsmarkenprozessor 30 beinhaltet
einen Identifikationssymbol-Speicher 33 zum Speiehern von benötigten Identifikationssymbolen, in dem
diejenigen Identifikationszahlen (Identifikationssymbole) gespeichert sind, die den Identifikationssymbolen
der von den Verarbeitungseinheiten 25 in dem Funktionsverarbeitungsteil 24 eines Markenprozessors 23 benötigt
werden. Bei dem Beispiel, bei dem die Funktionen f2, f.
und f von den Verarbeitungseinheiten in diesem Markenprozessor oder in dieser Datenflußkarte ausgeführt werden,
sind die Marken für die Pfade A, B, C, F, G, H und I erforderlich. Also sind die entsprechenden Identifi-
kationssymbole "1", "2", "3", "6", "7", "8" und "9" im Identifikationssymbol-Speicher 33 gespeichert.
Wenn sich eine Marke auf dem Bus befindet, entscheidet ein Identifikationssymbol-Komparator 34 durch Vergleichen
des Identifizierungsfeldes der Marke mit den Identifikationssymbolen
in dem Identifikationssymbol-Speicher 33, ob die Marke für diese Datenflußkarte erforderlich
ist.
Wenn die Marke benötigt wird, signalisiert der Komparator
34 einer passenden Speicherdateneingabe-Steuerschaltung 35, die Marke aufzunehmen und ihre Daten an
einer entsprechenden Stelle in einem Speicher 36 zu speichern.
Vorteilhafterweise ist der Speicher 36 vom FIFO-Typ (First-In-First-Out-Typ) , bei dem die als erstes eingegebenen
Daten auch als erstes entnommen werden. Ein solcher Speicher braucht jedoch nicht notwendigerweise
verwendet zu werden. Der Speicher 36 ist zweckmäßigerweise derart organisiert, daß er getrennte Datenspeicher-Bereiche
36a, 36b, 36c usw. aufweist, die jeweils nur zum Speichern solcher Daten dienen, die zu
Marken mit den entsprechenden Identifikationssymbolen gehören. Jeder Datenspeicher-Bereich kann vom FIFO-Typ
sein. Beispielsweise werden in dem Speicherbereich 36a die Datenfeldwerte der Marken für den Pfad A gespeichert,
die das Identifikationssymbol "1" aufweisen.
Genauso werden jeweils in den Speicherbereichen 36b bis
36g nur die Daten aus den Datenfeldern der Marken mit den Identifikationssymbolen "2", "3", "6", "7", "8"
bzw. "9" gespeichert.
Die Reihenfolge, in der sich die verschiedenen Marken auf dem Flußbus 21 befinden, ist willkürlich oder zufällig.
Der Eingangsmarkenprozessor 30 jedoch sammelt die Daten in einer geeigneten Reihenfolge, um sie so
dem Funktionsverarbeitungsteil 24 zuzuführen.
Beispielsweise kann die erste Marke auf dem Bus 21 das Identifikationssymbol "5" haben. Wenn diese Marke von
dieser Datenflußkarte nicht benötigt wird, erkennt der Komparator 34, daß das Identifikationssymbol "5" nicht
mit einem der in dem Speicher 33 gespeicherten Identifikationssymbolen übereinstimmt. Also wird diese Marke
durch die Datenflußkarte nicht aufgenommen.
Die nächste Marke auf dem Bus 21 kann z.B. das Identifikationssymbol
(die Flagge) "3" haben. In diesem Fall steuert der Identifikationssymbol-Komparator 34 die
Dateneingabe-Steuerschaltung 35 derart an, daß die Marke in der Datenflußkarte aufgenommen wird. Der zugehörige
Datenwert (symbolisch durch "C, " gekennzeichnet) wird an der ersten Speicherstelle im Speicherbereich
36c gespeichert. Die nächste aufgenommene Marke kann z.B. das Identifikationssymbol "2" aufweisen, und ihr
Datenwert B1 wird an der ersten Speicherstelle im Speicherbereich
36b abgespeichert. Es kann z.B. möglich sein, daß die nächste von dem EMP 30 aufgenommene Marke
ebenfalls das Identifikationssymbol "3" aufweist. Ihr Datenwert C„ wird an der in der Reihenfolge nächstfolgenden
Speicherstelle im Speicherbereich 36c abgespei-0 chert. Jetzt sind zwei Datenwerte von dem Pfad C im
FIFO-Speicher 36 gespeichert. Der Funktionsverarbeitungsteil 24 führt jedoch jetzt noch nicht die erste
Berechnung der Funktion f„ aus, da der erste Datenwert
- 2Ϊ -
für den Pfad A bis jetzt noch nicht empfangen worden
ist.
Wenn diese Daten als nächstes empfangen werden, bewirkt der Komparator 34 die Eingabe des entsprechenden Datenwertes A^ der Marke mit dem Identifikationssymbol "1"
in die erste Speicherposition des Speicherbereichs 36a. Der Inhalt des FIFO-Speichers 36 entspricht dann der in
Fig. 5 gezeigten Situation. Zu diesem Zeitpunkt erkennt eine Speicherausgabesteuerung, daß ein zur Ausführung
der Funktion f? erforderlicher kompletter Datensatz
(die Werte A-., B- und C. umfassend) im speicher 36 vorhanden ist. Die Steuerung 37 übernimmt daraufhin diese
Werte aus dem Speicher 36, wobei die als erstes in den Speicher 36 eingegebenen Daten auch als erstes aus
diesem herausgenommen werden, und führt diese Daten zur Ausführung der Funktion f„ dem Funktionsverarbeitungsteil·
24 zu.
Wenn diese Funktion ausgeführt worden ist, gibt der Funktionsverarbeitungsteil 24 einen Datenwert aus
(d.h., einen Ausgabewert D, der Funktion f„, der aus den Eingabedatenwerten A1 , B1 und C1 berechnet worden
ist) , der zu dem Pfad D gehört. Dieser Datenwert D1
wird einer Schaltung 38 zum Erstellen einer Marke (Fig. 5) in dem Ausgangsmarkenprozessor 31 zugeführt. Die
Schaltung 38 erkennt, daß der Ausgabedatenwert D, von der die Funktion f„ ausführenden Verarbeitungseinheit
erzeugt worden ist, so daß dieser Datenwert einen Datenwert auf dem Pfad D darstellt und daher in eine
Marke mit dem Identifikationssymbol "4" umgesetzt werden muß . Dementsprechend erzeugt die Schaltung 3 8 eine
Marke mit dem Identifikationssymbol "4" und dem Datenwert D1 .
Diese erzeugte Marke wird in eine Warteschlage 39 für die Ausgabe von Marken eingereiht, die einen FIFO-Speicher
aufweist. Die Einreihung der Marke in die Warteschlage 39 bewirkt in einer Abruf- und Zuweisungsschaltung 40 das Senden eines Abrufsignals über den Bus
21 zur Zuweisungseinheit 32 hervor. Dieses Signal zeigt an, daß die Datenflußkarte eine Marke aufweist, die an
den Bus 21 übergeben werden kann. Wenn die Zuweisungseinheit 32 ein Zuweisungssignal an die Datenflußkarte
zurückschickt, gibt die Steuerschaltung 40 die erste in der Warteschlange 39 gespeicherte Marke an den Bus 21
aus.
Die Anzahl der Markenprozessoren 23, die gemäß dem Aufbau nach Fig. 1 mit einem einzigen Flußbus 21 verbunden
werden können, ist aufgrund bestimmter Begrenzungen bei der praktischen Realisierung eines solchen Systems
limitiert. Wenn mehr Markenprozessoren 23 an einen einzigen Flußbus angeschlossen werden, ist natürlich auch
mehr Verarbeitungskapazität verfügbar, und daher werden auch mehr Marken in einer vorgegebenen Zeitspanne erzeugt.
Die Ubertragungsrate der Marken auf dem Flußbus begrenzt jedoch nach oben hin die Anzahl der Marken,
die zwischen den Datenflußkarten innerhalb einer vorgegebenen Zeitspanne übertragen werden können.
Diese Begrenzung kann durch den in Fig. 6 dargestellten Aufbau eines Systems umgangen werden. In Fig. 6 wird
gezeigt, wie die Systemkapazität durch Verwendung eines oder mehrerer unabhängiger jedoch miteinander in Beziehung
stehender Flußbus-Untersysteme, die alle den Aufbau nach Fig. 1 haben, wesentlich erhöht werden
kann. Dies wird durch die Verwendung geeigneter
Bus-zu-Bus-Markenprozessoren 41A, 41B erreicht, die die Übertragung von Marken zwischen den separaten Flußbus-Unter
systemen ermöglichen.
Das beispielhafte System nach Fig. 6 kombiniert den Datenflußprozessor 20 nach Fig. 1, der die Datenflußkarten
(DFK) 23a, 23b, ..., 23i aufweist, mit einem Datenflußprozessor 20Ά, der dem Datenflußprozessor 20
gleicht und einen Flußbus 21A sowie mit diesem verbundene Markenprozessoren oder Datenflußkarten 23j,
23k, ..., 23m aufweist. Eine vom Aufbau her der Zuweisungseinheit 32 gleichende Zuweisungseinheit 32A ist
mit dem Flußbus 21A verbunden.
Die im Aufbau sich gleichenden Bus-zu-Bus-Markenprozessorkarten 41A und 41B verbinden die Flußbusse 21 und
21A miteinander. Zusammen ermöglichen sie die übertragung von Marken zwischen den Bussen 21 und 21A. Es
werden jedoch nicht alle sich auf einem Bus befindenden Marken von diesem auf den anderen übertragen. So werden
nur diejenigen Marken vom Bus 21 zum Bus 21A übertragen, die für Funktionen benötigt v/erden, die von den
mit dem Bus 21A verbundenen Markenprozessoren 23j bis 23m ausgeführt werden. Umgekehrt werden nur solche Marken
vom Bus 21A zum Bus 21 übertragen, die für Funktionen verwendet werden müssen, die von den mit den Bus
21 verbundenen Markenprozessoren 23a bis 23i ausgeführt werden. Auf diese Weise kann ein optimaler Markendurchlauf
auf jedem der Flußbusse 21 und 21A erzielt werden, ohne daß beide Flußbusse alle in dem gesamten System
erforderlichen Marken verarbeiten müssen. Anders ausgedrückt bedeutet das, daß jeder der Flußbusse 21 und
21A nur diejenigen Marken zu verarbeiten hat, die zur
Ausführung der Funktionen in den mit dem entsprechenden Bus verbundenen Markenprozessoren erforderlich sind.
Die Bus-zu-Bus-Karte 41A selbst ähnelt einem Markenprozessor.
Das heißt, vom Flußbus 21 aus betrachtet, sieht die Bus-zu-Bus-Karte 41A wie jeder andere an den
Bus angeschlossene Markenprozessor aus.
Im einzelnen weist die Bus-zu-Bus-Karte 41A einen Eingangsmarkenprozessor
3OA auf, der einen Identifikationssymbol-Speicher 33A hat. In diesem Speicher 33A
jedoch ist eine Liste der Identifikationssymbole aller Marken gespeichert, die für den Verarbeitungsteil jeder
mit dem Flußbus 21A verbundenen Datenflußkarte 23j bis
23m erforderlich sind. Ein Identifikations-Komparator 34Ά vergleicht die Identifikationssymbole einer jeden
Marke auf dem Bus 21 mit den im Speicher 33A gespeicherten Identifikationssymbolen derjenigen Marken, die
für den Bus 21A bestimmt sind. Wenn der Komparator 34A erkennt, daß die auf dem Bus 21 befindliche Marke für
den Bus 21A bestimmt ist, steuert der Komparator 34A ein Gatter 42A an, das die Marke vom Bus 21 zu einer
Treiberschaltung 43A überführt. Die Treiberschaltung 43A ihrerseits überträgt die Marke zu einer Empfängerschaltung
44B der mit der Karte 4IA verbundenen Bus-zu-Bus-Karte 41B.
Die Karte 41B, die im Aufbau der Bus-zu-Bus-Karte 41A gleicht, weist einen Ausgangsmarkenprozessor 3IB auf,
der über eine Warteschlange 39B für die Ausgabe von Marken verfügt, durch die die von der Empfängerschaltung
44B übertragenen Marken in eine Warteschlange eingereiht oder in einen FIFO-Speicher eingeschrieben werden.
Der AMP 3IB weist ebenfalls eine Abruf- und Zu-
weisungsschaltung 4OB auf. Befindet sich eine Marke in
der Warteschlange 39B, so wird von der Abruf- und Zuweisungsschaltung 4OB ein Abrufsignal auf dem Flußbus
21A erzeugt. Die Zuweisungseinheit 32A behandelt die Bus-zu-Bus-Karte 4IB genauso wie jeden der mit dem
Flußbus 21A verbundenen Markenprozessoren 23j bis 23m. Das heißt, bei Empfang des Abrufsignals von der
Bus-zu-Bus-Karte 4IB erzeugt die Zuweisungseinheit 3 2A unter Berücksichtigung der Priorität ein Zuweisungssignal
für die Bus-zu-Bus-Karte 41B. Infolge dieses Zuweisungssignals überträgt der AMP 3IB die Marke von
der Warteschlange 39B zum Flußbus 21A. Die übertragung einer Marke vom Bus 21 zum Bus 2IA ist somit erfolgt.
Umgekehrt erfolgt die übertragung einer Marke vom Bus
2lA zum Bus 21 über den Eingangsmarkenprozessor 31B der Bus-zu-Bus-Karte 4IB, eine mit diesem verbundenen
Treiberschaltung 43B, eine Empfängerschaltung 44A der Bus-zu-Bus-Karte 41A und einen Ausgangsmarkenprozessor
3lA. Dabei enthält der Identifikationsspeicher 33B in dem EMP 31B eine Liste^der Identifikationssymbole all
derjenigen Marken, die zur Ausführung aller Funktionen auf dem Bus 21 erforderlich sind.
Bei dem Datenflußprozessorsystem nach Fig. 6 arbeitet
jedes Untersystem 20 und 2OA vollkommen unabhängig von dem anderen. Es ist tatsächlich so, daß jedes der
Untersysterne 20 und 2OA "nichts von dem anderen System
weiß". Das Interface, das aus den verbundenen Bus-zu-Bus-Karten 41A und 41B besteht, stellt sich den
einzelnen Systemen 20 und 2OA genauso wie jeder andere mit dem zugehörigen Flußbus 21 oder 2IA verbundene
Markenprozessor 23 dar.
Der Datenflußprozessor kann nicht nur im Zusammenhang mit einem oder zwei Flußbussen, wie es in den Fign. 1
und 6 dargestellt ist, verwendet werden. Vielmehr ist es auch möglich, mehrere Untersysteme gemäß dem aus
Fig. 1 zu einem Gesamtsystem zu verbinden, wobei jedes Untersystem seinen eigenen Flußbus hat. Darüber hinaus
sind die Verbindungen zwischen den Flußbussen frei wählbar.
Ein Beispiel eines derartigen Mehrfachflußbus-Systems
ist schematisch in Fig. 7 dargestellt. Bei diesem System weist jedes Datenflußprozessor-Untersystem 2OB
bis 2OF jeweils seinen eigenen Flußbus 21B bis 21F auf. Jedes der Unter sy sterne ist wie das aus Fig. 1 aufgebaut,
wobei jedes seine eigenen Markenprozessoren 23B bis 23F und jeweils seine eigene Zuweisungseinheit 32B
bis 32F aufweist.
Bei dem System gemäß Fig. 7 ist das Untersystem 2OB mit den Untersystemen 2OC, 2OD und 2OF durch jeweils ein
Paar von Bus-zu-Bus-Karten 41B-C, 41B-D und 41B-F verbunden. Ebenso ist das Untersystem 2OC mit den Untersystemen
2OD und 2OF durch die Bus-zu-Bus-Karten 41C-D und 41C-F verbunden. Schließlich sind auf gleiche Art
und Weise die Untersysteme 2OE und 2OF über die Bus-zu-Bus-Karte 4IE-F verbunden.
Wie bei dem System gemäß Fig. 6 arbeiten die Bus-zu-Bus-Karten 41 derart, daß zwischen den verbundenen Bussen
nur solche Marken übertragen werden, die von dem jeweils Daten empfangenden Bus benötigt werden.
Wie in Fig. 8 dargestellt, kann die Dateneingabe und -ausgabe des Datenflußprozessors 20 aus einer oder
mehrerer mit dem Flußbus 21 verbundenen Eingabe/ Ausgabe-Karten (I/O-Karten) 45 aufgebaut werden. Eine
derartige I/O-Karte 45 ist im wesentlichen wie ein Markenprozessor 23 aufgebaut. Jedoch anstelle einer in
dem Funktionsverarbeitungsteil 24 enthaltenen Verarbeitungseinheit
25 weist die I/O-Karte 45 einen passenden Eingangsempfänger 46 und/oder Ausgangstreiber 47
auf.
In dem Eingabemarkenprozessor 3Oi der I/O-Karte 45 ist
eine Liste der Identifikationssymbole von denjenigen Marken gespeichert, die mit Daten versehen sind, die
über den Ausgangstreiber 47 zu Peripheriegeräten, wie z.B. einem Modem, einem Drucker, einem CRT-Bildschirm
o.dgl., übertragen werden sollen. Immer wenn sich eine Marke auf dem Bus 21 befindet, die über den Ausgangstreiber
47 auszugebende Daten enthält, wird diese Marke durch den EMP 3Oi aufgenommen und über den Ausgangstreiber
47 zu dem Peripheriegerät gesandt.
Umgekehrt werden in den Flußbus 21 einzugebende Daten
über den Eingangsempfänger 46 an einen Ausgangsmarkenprozessor 31i gegeben, in dem sie zu einer Marke mit
passendem Identifikationssymbol zusammengesetzt werden.
Die neue Marke wird daraufhin genauso wie bei dem im
Zusammenhang mit der Fig. 5 beschriebenen Ausgabevorgang durch den Ausgabemarkenprozessor 31 in die
Warteschlange eingereiht und an den Bus 21 übergeben.
Die Konfiguration und Initialisierung des Datenflußprozessor-Gesamtsystems
kann mit einem Hilfscomputer oder einer CPU 50 realisiert werden, die gemäß Fig. 9
mit den zum Datenflußprozessor 20 gehörenden Markenprozessoren oder Datenflußkarten verbunden ist. Jede
mit dem Flußbus 21 gemäß Fig. 1 verbundene Datenflußkarte
(Markenprozessor) 23a, 23b, ..., 23i ist z.B. über einen separaten Bus (als "LDF-Bus" bezeichnet) 51
mit der CPU 50 verbunden. Ein Vorteil dieser Anordnung besteht darin, daß die speziellen Funktionen, die von
jeder der Verarbeitungseinheiten 25 in den Datenflußkarten 23 ausgeführt werden, durch die Steuerung des
Computers 50 angewählt und initialisiert werden können.
Beispielsweise kann die Verarbeitungseinheit 25a selbst einen Mikroprozessor und einen Programmspeicher aufweisen,
in dem das Programm oder die Programme gespeichert sind, gemäß derer der Mikroprozessor eine oder
mehrere spezielle Funktionen f.. , f9, usw. ausführt.
Diese Funktionen und ihre entsprechenden Programme brauchen nicht im voraus in die Verarbeitungseinheit
25a eingegeben worden zu sein. Die Funktionen und ihre zugehörigen Programme können vom Computer 50 in die
Verarbeitungseinheit 25a eingegeben werden, wenn der Datenflußprozessor 20 initialisiert wird. Durch eine
derartige Anordnung ist der Datenflußprozessor sehr flexibel anwendbar.
Wenn ein Anwender, der ein bestimmtes Projekt ausführt, die Funktion (f ) der Fig. 3 durch die Verarbeitungseinheit
25a ausführen lassen möchte, kann er vor der eigentlichen Berechnung das zur Ausführung der Funktion
(f ) geeignete Computerprogramm vom Computer 50 in die
3.
Verarbeitungseinheit 25a eingeben lassen. Die CPU 50 kann also auch zum Laden geeigneter anderer Funktionen
in andere Verarbeitungseinheiten 25 innerhalb des Funktionsverarbeitungsteils 24 einiger oder aller
Datenflußkarten oder Markenprozessoren 23, die mit dem Flußbus 21 verbunden sind, verwendet werden.
Dieser Funktionenladevorgang braucht nicht vor der eigentlichen Berechnung durch den Datenflußprozessor 20
erfolgen. Somit kann die CPU 50 die von dem Prozessorsystemen 20 durchgeführten Operationen überwachen und
zu geeigneten Zeiten Veränderungen in das System dynamisch eingeben. Dazu verbindet eine Ablaufüberwachungs-
und Prüfkarte 52 den Flußbus 21 mit dem LDF-Bus 51. Diese Karte 52 kann (mit Hilfe eines Eingangsmarken-Prozessors
wie der EMP 30 nach Fig. 5) derart konfiguriert sein, daß Marken mit bestimmten Identifizierungssymbolen
erkannt und die mit ihnen verbundenen Datenwerte überwacht werden. Der Computer 50 kann dann
z.B. derart programmiert sein, daß er auf bestimmte Datenzustände in Marken mit bestimmten Identifikationssymbolen entsprechend antwortet. Infolge der Erfassung
solcher Datenzustände kann der Computer 50 die von einer oder mehreren Verarbeitungseinheiten in der.
Markenprozessoren 23 auszuführenden Funktionen austauschen oder verändern. Somit kann eine dynamische
Kontrolle des Systems erfolgen.
Eine weitere zusätzliche Funktion des Computers 50, der
zur Initialisierung und dynamischen Veränderung der Funktionen der Verarbeitungseinheiten verwendet wird,
besteht darin, in die Identifikationssymbol-Speicher 33 (Fig. 5) eines jeden Eingangsmarkenprozessors 30 die
Liste von Identifikationssymbolen derjenigen Marken zu laden, die für den zugehörigen Funktionsverarbeitungsteil
24 erforderlich sind. Wenn im Fall des oben beschriebenen Beispiels die CPU 50 die Verarbeitungseinheit 25a zur Verarbeitung der Funktion f„ nach Fig.
4 setzt, gibt die CPU 50 somit gleichzeitig die Identifikationssymbole
"1", "2" und "3" in den Identifi-
- .atf -
kationssymbol-Speicher 33 ein. Diese Identifikationssymbole gehören nämlich zu solchen Marken, die die zur
Ausführung der Funktion f0 notwendigen Daten enthalten.
Auf gleiche Art und Weise lädt die CPU 50 solche Informationen
in die Schaltung 38 zum Erstellen einer Marke {Fig. 5) , die zum Erstellen einer das Identifikationssymbol "4" aufweisenden Marke aus den Ausgangsdaten der
Verarbeitungseinheit 25a, die zum Pfad D gehören, notwendig sind.
Wenn das Datenflußprozessorsystem mehr als einen Flußbus
aufweist, initialisiert die CPU 50 auch die Bus-zu-Bus-Karten (in Fig. 6 die Karten 41A, 41B) und
gibt in die Identifikationssymbol-Speicher (33Ά und
33B) die Identifikationssymbolwerte solcher Marken ein,
die jeweils von einem Bus zum anderen (vom Bus 21 zum Bus 21A) und zurück übertragen werden müssen.
Eine andere Funktion der CPU 50 (Fig. 9) besteht darin, Fehlfunktionen des Prozessors 20, während dieser arbeitet,
zu überwachen. Wenn beispielsweise eine bestimmte Verarbeitungseinheit, z.B. die Verarbeitungseinheit 25a
im Markenprozessor 23, während der Verarbeitung fehlerhaft arbeitet, kann dies von der CPU 50 erkannt werden.
so kann sie beispielsweise erkennen, daß Marken mit dem Identifikationssymbol "4" (, die z.B. von der Verarbeitungseinheit
25a ausgegeben werden müßten,) für eine bestimmte Zeitlang ausbleiben. In diesem Fall kann die
CPU 50 das System dynamisch verändern, so daß eine andere, jedoch intakte, Verarbeitungseinheit 25 die
Funktion ausführt, die zuvor der fehlerhaften Verarbeitungseinheit 25a zugewiesen worden war.
Eine weitere Funktion der CPU 5 0 besteht in der Optimierung der Konfigurationen des Datenflußprozessors 20
für eine bestimmte Berechnung. Wenn beispielsweise eine bestimmte Berechnung mehr Operationen für eine bestimmte
Funktion f erfordert, als dies bei der Anzahl der Rechenvorgänge für andere erforderliche Funktionen
der Fall ist, kann die CPU 50 das System derart konfigurieren, daß mehr als eine Verarbeitungseinheit 25 die
Funktion f ausführt.
Bei dem Datenflußprozessorsystem wird kein Globalspeicher verwendet, auf den alle Verarbeitungseinheiten
(oder Funktionen) gleichzeitig zuzugreifen versuchen. In einem solchen Globalspeichersystem wird die Rechengeschwindigkeit
durch den "konkurrierenden" Zugriff auf die gemeinsame Datenbasis (auf den Globalspeicher) begrenzt.
Diese Begrenzung und der damit verbundene "von Neumann Engpaß" treten bei dem Datenflußprozessorsystem
nicht auf.
Claims (1)
- ANSPRÜCHE1. Datenflußprozessorsystem mit mindestens einem Datenflußprozessor und einem Bus zum übertragen von Daten,
dadurch gekennzeichnet,- daß über den Bus (21) Informationsmarken (22) übertragen werden, die aus einem Identifizierungsteil (22t) und einem Datenteil (22d) bestehen, und- daß mit dem Bus (21) mehrere Markenprozessoren (23) verbunden sind, von denen jeder die folgenden Elemente aufweist:mindestens eine Verarbeitungseinheit (25) zumAusführen einer bestimmten Funktion (f ) beibestimmten Eingabedaten, die durch ein oder mehrere unterschiedliche Identifikationssymbole gekennzeichnet sind,einen Eingangsmarkenprozessor (30) zur überwachung des Identifizierungsteils (22t) jeder auf dem Bus (21) befindlichen Marke (22) und zum Speichern der Daten im Datenteil (22d) jeder solchen Marke (22), die einen Identifizierungsteil (22t) aufweist, der einem der spezifischen die Eingabedaten für die Verarbeitungseinheit (25) kennzeichnenden Identifikationssymbole entspricht, wobei die Verarbeitungseinheit (25) ihre Funktion (f ) mit den gespeicherten Datenausführt, sobald alle erforderlichen Daten angesammelt sind, undeinen Ausgangsmarkenprozessor (31) zum Zusammensetzen einer Marke, die aus einem von der Verarbeitungseinheit (25) erzeugten Ausgabedatenwert und einem diesen Ausgabedatenwertkennzeichnenden Identifikationssymbol besteht, wobei die so erstellte Marke anschließend an den Bus (21) übergeben wird.Datenflußprozessorsystem nach Anspruch 1, dadurch gekennzeichnet, daß eine die Markenprozessoren (23) abrufende und über den Bus (21) mit jedem der Markenprozessoren (23) verbundene Zuweisungsvorrichtung (32) feststellt, welcher Markenprozessor (23) über an den Bus (21) zu übertragene Marken verfügt, und die übertragung der Marken von dem Markenprozessor (23) zu dem Bus (21) gemäß einem "sich drehenden" Prioritätsschema ermöglicht.Datenflußprozessorsystem nach Anspruch 1, dadurch gekennzeichnet, daß ein erster Bus (21) eines ersten Datenflußprozessors (20) mit einem zweiten Bus (2IA) mindestens eines weiteren Datenflußprozessors (20A) durch einen Bus-zu-Bus-Markenprozessor (41A,41B) verbunden ist, bei dem eine erste Vorrichtung (33A,34A) anhand des Identifizierungsteils der auf einem der untereinander verbundenen Busse (21,21A) befindlichen Marken erkennt, welche dieser Marken von Verarbeitungseinheiten des zweiten verbundenen Busses (21,21A) benötigt werden, und bei dem eine zweite Vorrichtung (43A,43B,44A,44B) nur die erforderlichen Daten von dem ersten auf den zweiten Bus überträgt.4. Datenflußprozessorsystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß ein mit den Markenprozessoren (23) verbundener Computer (50) die Verarbeitungseinheiten (25) der Markenprozessoren (23) zur Ausführung der ihnen zugewiesenen spezifischen Funktionen initialisiert bzw. konditioniert, wobei der Computer (50) die Eingangsmarkenprozessoren (30) entsprechend initialisiert bzw. konditioniert, damit diese nur Daten von Marken mit solchen Identifikationssymbolen speichern, die Eingangspfade (A,B,C) der spezifischen Funktionen darstellen.5. Datenflußprozessorsystem nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß die Funktionsverarbeitungsteile (24) konfigurierbar sind, so daß zu einem "Datengraph" zusammengefügte voneinander abhängige Funktionen (f.. , f „ , f _ , f ., f,.) ausführbar sind, und daß der Computer (50) den Verarbeitungseinheiten (25) die von ihnen auszuführenden Funktionen (f.. , f „ , f _ , f ., f _) zuweist und den Markenprozessoren (23) die Identifikationssymbole der den Funktionen (f., , f „ , f_ , f ., f ^) entsprechenden Ein- und Ausgabepfaden zuweist.6. Datenflußprozessorsystem nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß der Eingangsmarkenprozessor (31) eines Markenprozessors (23) eine Identifikationssymbol-Speichervorrichtung (33) zur Speicherung der IdentifikationsSymbole der Eingangspfade aller von den Verarbeitungseinheiten (25) dieses Markenprozessors (23) auszuführenden Funktionen aufweist und eine Identifikationssymbol-Vergleichsvorrichtung (34) zumVergleichen des Identifikationssymbols einer jeden Marken auf dem Bus (21) mit den in der Identifikationssymbol-Speichervorrichtung (33) gespeicherten Identifikationssymbolen sowie zum übernehmen solcher Marken von dem Bus (21) durch den Markenprozessor (23), die ein entsprechendes Identifikationssymbol haben, aufweist.7. Datenflußprozessorsystem nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß eine Speichervorrichtung (35,36) vorübergehend mindestens die Daten aus den Datenteilen (22d) der vom Bus (21) übernommenen Marken (22) speichert und daß eine Vorrichtung (37) zum Zusammenstellen eines Datensatzes an jede Verarbeitungseinheit (25) die vorübergehend gespeicherten Daten in Form eines kompletten Datensatzes übergibt, wobei die Daten zuvor in der Speichervorrichtung (35) gespeichert worden sind und der Datensatz Daten für alle zur Ausführung der spezifischen Funktion der Verarbeitungseinheit (25) erforderlichen Eingabepfade umfaßt.8. Datenflußprozessorsystem nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß der Ausgangsmarkenprozessor (31) des Markenprozessors (23) eine Vorrichtung (38) zum Erstellen einer Marke aufweist, die eine Marke erzeugt, deren Identifikationssymbol einen Ausgangspfad einer durch die Verarbeitungseinheit (25) des Markenprozessors(23) ausgeführten Funktion kennzeichnet und in ihrem Datenteil (22d) einen Datenwert aufweist, der von der Verarbeitungseinheit (25) für den entsprechenden Ausgabepfad erzeugt worden ist.9. Datenflußprozessorsystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß der Ausgangsmarkenprozessor (31) des Markenprozessors (23) eine Ausgabewarteschlangevorrichtung(39) zur vorübergehenden Speicherung von durch die Schaltung (38) zum Erstellen einer Marke erzeugten Marken und eine Abruf- und Zuweisungsvorrichtung(40) aufweist, die anzeigt, daß eine Marke in der Ausgabewarteschlangevorrichtung (39) zum Übergeben an den Bus (21) bereit ist, und als Antwort auf ein Zuweisungssignal diese Marke von der Ausgabewarteschlangevorrichtung (3 9) an den Bus (21) übergibt.10. Datengesteuerter Markenprozessor, der mit einem Bus verbunden ist, auf den Marken übertragen werden, die jeweils ein einen Pfad-Identifier enthaltendes Identifizierungsfeld und ein Operandendatenfeld aufweisen,
dadurch gekennzeichnet,- daß mindestens eine Verarbeitungseinheit (25)vorgesehen ist, die eine bestimmte Funktion (f )mit Operandendaten für einen oder mehreren Eingabepfaden (A,B,C) dieser Funktion (f ) ausführtund auf entsprechenden Ausgabepfaden (D) dieser Funktion (f ) ein oder mehrere Ausgabedaten er-elzeugt,- daß eine Eingangsmarkenprozessorvorrichtung (30) vorgesehen ist, die anhand der Identifizierungsfelder der Marken diejenigen auf dem Bus (21) übertragenen Marken identifiziert, die den zu der Verarbeitungseinheit (25) gehörenden Eingabepfaden (A,B,C) entsprechen, und dieOperandendaten der identifizierten Marken vorübergehend speichert, und- daß die Verarbeitungseinheit (25) die Funktion (f ) ausführt, sobald ein kompletter Satz vonelEingabe-Operandendaten aller Eingabepfade (A,B,C) der Funktion (f ) durch die Eingangs-etmarkenprozessorvorrichtung (30) gespeichert worden ist.11. Markenprozessor nach Anspruch 10, dadurch gekennzeichnet, daß eine Ausgangsmarkenprozessorvorrichtung (31) vorgesehen ist, die neue Marken zusammenstellt und an den Bus (21) ausgibt, wobei die Marken jeweils einen den Ausgabepfad einer von der Verarbeitungseinheit (25) ausgeführten Funktion kennzeichnenden Identifizierungsfeldwert und einen von der Verarbeitungseinheit (25) für den Ausgabepfade erzeugten Operadendatenfeldwert aufweisen.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US67835884A | 1984-12-05 | 1984-12-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE3542436A1 true DE3542436A1 (de) | 1986-06-05 |
Family
ID=24722458
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19853542436 Withdrawn DE3542436A1 (de) | 1984-12-05 | 1985-11-30 | Datenflussprozessorsystem |
Country Status (5)
Country | Link |
---|---|
JP (1) | JPS61184641A (de) |
DE (1) | DE3542436A1 (de) |
FR (1) | FR2574197A1 (de) |
GB (1) | GB2168182A (de) |
IL (1) | IL77145A0 (de) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1329431C (en) * | 1988-09-02 | 1994-05-10 | Pierre A. Radochonski | Single bus graphics data processing pipeline |
DE68926043T2 (de) * | 1989-07-20 | 1996-08-22 | Toshiba Kawasaki Kk | Mehrprozessor-Computersystem |
GB9705908D0 (en) * | 1997-03-21 | 1997-05-07 | Abbotsbury Software Ltd | Apparatus for the management of digital information |
US6374319B1 (en) | 1999-06-22 | 2002-04-16 | Philips Electronics North America Corporation | Flag-controlled arbitration of requesting agents |
JP4317296B2 (ja) * | 1999-09-17 | 2009-08-19 | 株式会社ターボデータラボラトリー | 並列コンピュータのアーキテクチャおよびこのアーキテクチャを利用した情報処理ユニット |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1503321A (en) * | 1974-02-28 | 1978-03-08 | Burroughs Corp | Digital data processors and methods of operating such processors |
JPS57500445A (de) * | 1980-03-21 | 1982-03-11 | ||
US4387441A (en) * | 1981-04-16 | 1983-06-07 | Ncr Corporation | Data processing system wherein at least one subsystem has a local memory and a mailbox memory within the local memory for storing header information |
GB2107497B (en) * | 1981-10-15 | 1986-01-15 | Nat Res Dev | Digital computers |
FR2538140B1 (fr) * | 1982-12-21 | 1988-06-24 | Thomson Csf Mat Tel | Dispositif de couplage de bus pour systeme de traitement de donnees a bus multiples |
-
1985
- 1985-10-11 GB GB08525140A patent/GB2168182A/en not_active Withdrawn
- 1985-11-26 IL IL77145A patent/IL77145A0/xx unknown
- 1985-11-30 DE DE19853542436 patent/DE3542436A1/de not_active Withdrawn
- 1985-12-05 JP JP60274259A patent/JPS61184641A/ja active Pending
- 1985-12-05 FR FR8518010A patent/FR2574197A1/fr active Pending
Also Published As
Publication number | Publication date |
---|---|
GB8525140D0 (en) | 1985-11-13 |
IL77145A0 (en) | 1986-04-29 |
GB2168182A (en) | 1986-06-11 |
JPS61184641A (ja) | 1986-08-18 |
FR2574197A1 (fr) | 1986-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69628480T2 (de) | Ausnahmebehandlung in einem Datenprozessor | |
DE102005008520B4 (de) | Verfahren, Computerprogramm-Produkt und Drucksystem zum Sortieren von Druckjobs in eienm solchen Drucksystem | |
DE3151745C2 (de) | ||
DE3606211A1 (de) | Multiprozessor-computersystem | |
DE2243956A1 (de) | Speicherprogrammierte datenverarbeitungsanlage | |
DE3116100A1 (de) | Sprungabschaetz-zentraleinheit | |
DE1549474C3 (de) | Anordnung In einer elektronischen digitalen Datenverarbeitungsanlage zur Ausführung eines ersten Befehls und gleichzeitigen Decodierung eines folgenden Befehls | |
DE3727017C2 (de) | ||
DE3046912C2 (de) | Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage | |
DE2054830A1 (de) | Informationsverarbeitungssystem mit wortstrukturiertem Speicher und Verfahren fur einen Zugriff zu einem derar tigen Speicher | |
DE4103093A1 (de) | Computersystem und steuerverfahren fuer dieses computersystem | |
DE4411389C2 (de) | Programmierbare Steuereinheit und Betriebsverfahren | |
DE3538214C2 (de) | Multiprozessorsystem | |
DE1191145B (de) | Elektronische Zifferrechenmaschine | |
DE3542436A1 (de) | Datenflussprozessorsystem | |
DE2726679A1 (de) | Kanalsteuerung fuer datenverarbeitungsanlagen und verfahren zu ihrem betrieb | |
EP0265636A1 (de) | Multiprozessor mit mehreren mit Cache-Speichern ausgerüsteten Prozessoren und einem gemeinsamen Speicher | |
DE3410497A1 (de) | Rechneranordnung | |
DE112019000308T5 (de) | Computerprogrammprodukt und Recheneineit | |
DE102018123563B4 (de) | Verfahren zur Zwischenkernkommunikation in einem Mehrkernprozessor | |
EP0970426B1 (de) | Abhängigkeitssteuerung für überlappende speicherzugriffe | |
DE19814359A1 (de) | Interface-Einrichtung, Verfahren und Überwachungs-System zum Überwachen des Status einer Hardware-Einrichtung | |
DE19709975A1 (de) | Mikrocomputer | |
EP1179428B1 (de) | Verfahren und Vorrichtung zum Abarbeiten von Verfahrensschritten | |
DE10155486A1 (de) | Anordnung zur Verarbeitung von Zustandsinformationen externer Einheiten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8139 | Disposal/non-payment of the annual fee |