DE3506749A1 - Matrixprozessor und steuerverfahren hierfuer - Google Patents
Matrixprozessor und steuerverfahren hierfuerInfo
- Publication number
- DE3506749A1 DE3506749A1 DE19853506749 DE3506749A DE3506749A1 DE 3506749 A1 DE3506749 A1 DE 3506749A1 DE 19853506749 DE19853506749 DE 19853506749 DE 3506749 A DE3506749 A DE 3506749A DE 3506749 A1 DE3506749 A1 DE 3506749A1
- Authority
- DE
- Germany
- Prior art keywords
- processing
- vector data
- input
- data
- input vector
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
- G06F15/8023—Two dimensional arrays, e.g. mesh, torus
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Complex Calculations (AREA)
- Multi Processors (AREA)
Description
Die Erfindung bezieht sich auf einen Matrixprozessor für die Ausführung von Berechnungen für alle Kombinationen
zweier Arten von Variablen und für Rekursiv-Formeln mit
örtlicher Abhängigkeit von Daten unter Verwendung dieser Berechnungsergebnisse, wobei im Falle einer Musteranpassung
bei einer Spracherkennung oder Zeichenerkennung Anpassungs-Berechnungen vorgenommen werden, die auf der
Theorie der dynamischen Zeitversetzung (dynamic time warping) oder des dynamischen Programmierens beruhen.; ferner
bezieht sich die Erfindung auf ein Steuerverfahren für den Matrixprozessor.
Als wirkungsvolles Verfahren zur Musteranpassung bei der Spracherkennung oder Zeichenerkennung ist die dynamische
Zeitversetzung (dynamic time warping) bekannt. Die dynamische Zeitversetzung macht eine Echtzeit-Verarbeitung
einer sehr großen Datenmenge erforderlich, so daß eine Verarbeitung in hoher Geschwindigkeit notwendig ist. Die
Verarbeitung unter dynamischer Zeitversetzung ist eine
— Ö _
DE 4631
10 15 20
Berechnungsart, die aus der Berechnung aller Kombinationen zweier Arten von Variablen und der Berechnung von
Rekursiv-Formeln mit örtlicher Abhängigkeit von Daten unter Verwendung der Berechnungsergebnisse besteht. Zur
Veranschaulichung wird ein Beispiel für eine auf der dynamischen Zeitversetzung beruhende Anpassungsberechnung
dargestellt, die die Berechnung zwischen zweierlei Arten von Vektor-Variablen und die Berechnung von Rekursiv-Formeln
für Endsummenberechnungen unter Verwendung von Berechnungsergebnissen umfaßt.
2 m 2 Dij = j ei - rj I = J4J1 I Ck1 - rkJ I (1)
min
s00 =
(3)
wobei c, und r. das i-te bzw. j-te Element eines Vektors
C= Cc, c,'...., c) mit I Elementen bzw. eines Vektors R ~(r , r ,...., r ) mit N Elementen sind. Mit m ist
1 1/ 2 N
ein Rang eines jeweiligen Vektors bezeichnet. Mit c, ist jeweils (c , c ,...., c ) bezeichnet, während mit r.
ein Rang eines jeweiligen Vektors bezeichnet. Mit c, ist jeweils (c , c ,...., c ) bezeichnet, während mit r.
jeweils Cr
S. .
Summenabstand bezeichnet.
r ' ) bezeichnet ist. Mit D und 1 ' 2 ' ' m ii
sind jeweils ein Abstand zwischen Vektoren bzw." ein
Als Matrixprozessor zur parallelen Verarbeitung der Berechnungen dieser Art ist eine herkömmliche Anordnung bekannt,
bei der in einem Orthogonalnetz (I χ N) Verarbeitungselemente
angeordnet sind, wenn die Anzahl von Daten bei zwei Arten von Vektoren jeweils I bzw. N ist.
-9- DE 4631
Eine solche orthogonale Anordnung eines Matrixprozessors ist in der US-PS 4 384 273 von Ackland und anderen, in
der Veröffentlichung "An Integrated Multiprocessing Array for Time Warp Pattern Matching" von Bryan Ackland und anderen
in English International Symposium of Computer Architecture, Minneapolis, Minnesota, Seiten 197 bis 215
(12. bis 14. Mai 1981), in der Veröffentlichung "A systolic processing element for speech recognition" von N.H.E.
Weste und anderen, ISSCC 82, Seiten 274 und 275 (1982) und in der Veröffentlichung "A High Speed Array Computer
for Dynamic Time Warping" von D.J. Burr und anderen, IEEE Conference on Acoustics Speech and Signal Processing,
Seiten 471 bis 474 (März 1980) beschrieben.
Fig. 1 zeigt als Beispiel die Anordnung eines Matrixprozessors, der als Orthogonalnetz gestaltet ist. Fig. 2A
und 2B, 3A und 3B, 4A und 4B sowie 5A und 5B zeigen jeweils
ein Beispiel von Funktionen des Matrixprozessors. Die Fig. 1 zeigt Verarbeitungselemente (PE) 100, Ortsdatenwege
200 und eine Befehlssammelleitung 300. Mit 400 sind Eingangsanschlüsse bezeichnet, während mit 500 Ausgangsanschlüsse
bezeichnet sind.
Jedes Verarbeitungselement 100 hat eine Vorrichtung zum
Ausführen einer Vektorzwischenabstand-Rechengleichung (1), die Additions- und Multiplikations-Berechnungen enthält,
sowie einer Vergleichs- und Aufsummierungs-Rechen-
gleichung (2) und eine Vorrichtung zur Aufnahme und Ober-30
tragung der Ergebnisse der Vergleichsberechnungen aus den benachbarten Verarbeitungselementen sowie der Ergebnisse
S. . der Aufsummierungs-Berechnungen und der Vektor-JPaten
c " und r . Ferner ist jedes Verarbeitungselement mit
i j
einer Nummer bezeichnet, das seine Lage in der Orthogonalanordnung
angibt. Wenn das Verarbeitungselement an dem
-10- DE 4631
bezeichnet ist, können die vorangehend angeführten Gleichungen (1), (2) und (3) mit folgenden Betriebsvorgängen
vollzogen werden:
ρ- (i) Aus einem links einem Element PE angrenzenden
i, j Element PE und einem unten an das Element PE
i-1 .i . i, j
angrenzenden Element PE (oder alternativ aus einem
i, j-1
Eingangsanschluß am linken Rand und einem Eingangsanschluß am unteren Rand) werden die zwei Arten von Vektordaten
c. und r. eingegeben und es wird der Abstand zwischen diesen Vektoren gemäß der Gleichung (1) ermittelt.
(ii) Die Vektordaten c und r werden jeweils zu ei-
i j
nem nach rechts angrenzenden Element PE und einem
nem nach rechts angrenzenden Element PE und einem
i + 1 , j oben angrenzenden Element PE übertragen.
i, j +1
._ (iii) Aus dem links angrenzenden Element PE wird ein Aufsummierungs-Rechenergebnis S eingegeben, wäh-
._ (iii) Aus dem links angrenzenden Element PE wird ein Aufsummierungs-Rechenergebnis S eingegeben, wäh-
i-1 , i rend aus dem unten angrenzenden Element PE. ein Vergleichs-Rechenergebnis
min (S ,S j eingegeben
i, j -1 i -1 , j -1
wird; es wird eine Vergleichsberechnung mm { S
ι i-1, j
min(S. . , S. . )/ ausgeführt; zu dem Ergebnis
dieser Berechnung wifa der bei dem Schritt (i) ermittelte Abstand D.. addiert, um S.. zu erhalten.
(iv) Es wird eine Vergleichsberechnung min (S , S .)
ij i-1, J ausgeführt; das Ergebnis dieser Berechnung wird zu
dem oben angrenzenden Element PE übertragen, wähi,j
+1
rend zu dem rechts angrenzenden Element PE das Auf-
i+1 , i
summierungs-Rechenergebnis S übertragen wird.
i,j
Die Schritte (iii) und (iv) stellen die Aufbereitung gemäß der Vergleichs- und Aufsummierungs-Rechengleichung
30
(2) dar. D.h., von den für das Erfüllen der Rechengleichung (2) in dem Element PE benötigten dreierlei
ij Aufsummierungsergebnissen S ,S und S
i,j-1 ± — 1 , j i-1,i-1
liegen die Ergebnisse S "und S jeweils in dem
i, i-1 i-1,j
rechts angrenzenden Element PE bzw. dem links an- * 1,j-1
grenzenden Element PE vor, während das Ergebnis
i-1,j
-11- DE 4631
S. . in einem Element PE. . vorliegt, welches
dem Element PE-. diagonal benachbart ist.
c Aus diesem Grund ist bei den vorangehend zuerst genannten
beiden Daten eine einzige Übertragung erforderlich, während bei den letztgenannten Daten zwei Übertragungen
über das Element PE. . erforderlich sind. Falls jedoch in dem Element PE ' , über das das Ergebnis S
i, j-r s i-1,j-1
ir. übertragen wird, die Ergebnisse S und S im
i, i-1 i-1, j-1
voraus verglichen werden und das Ergebnis aus diesem Vergleich zu dem Element PE.. übertragen wird, so daß eine
Vergleichsberechnung an diesem Datenwert und dem aus dem Element PE übertragenen Datenwert S ausge-
i-1, j . i-1 , j
_ führt werden kann, ist das Endergebnis gleich demjenigen
der Vergleichsberechnung der drei Datenwerte gemäß der
Gleichung (2) in dem Element PE
ij
Diese Vorgänge machen es möglich, ein Aufsummierungs-Endor»
ergebnis S zu erhalten, während die Abstände D. . zwi-I fH i, j
sehen Vektoren und die Aufsummierungsergebnisse S. . dadurch
berechnet werden, daß hinsichtlich des Aufftereitungsinhalts aller Verarbeitungselemente die Vorgänge gemäß
den Schritten (i) bis (iv) für alle Verarbeitungsele-
__ mente an den in Fig. 1 durch ausgezogene Linien darge-25
stellten Diagonalen ausgeführt werden oder daß hinsichtlich der Inhalte paralleler Verarbeitung abwechselnd an
benachbarten Diagonalen die beiden verschiedenartigen Vorgänge gemäß (i) und (iii) bzw. gemäß (ii) und (iv)
ausgeführt werden.
Im Falle der letzteren Ausführung unterscheidet sich die Anzahl wirksamer dynamischer Schritte bei zwei parallelen
Verarbeitungseinheiten, so daß die Anzahl der Ausführungsschritte durch einen Übersprungbefehl (NOP-Befehl) ausge-35
glichen werden muß. Eine ausführliche Erläuterung dieses
3506743
-12- DE 4631
Umstands ist hier weggelassen.
Die Fig. 2A und 2B, 3A und 3B, 4A und 4B sowie 5A und 5B c zeigen die Rechenvorgänge in der Orthogonalanordnung im
Falle dieser letztgenannten Ausführungsart über eine Zeitdauer von einem Zeitpunkt t bis zu einem Zeitpunkt t
+ 3. Hierbei wird die Zeit in Zeiteinheiten bemessen, die jeweils an jeder Verarbeitungseinheit für das Ausführen
der Verarbeitung gemäß den Schritten (i) und (iii) bzw. (ii) und (iv) erforderlich sind. Die Fig. 2A, 3A, 4A und
5A bzw. 2B, 3B, 4B und 5B zeigen jeweils die Zustände bei der Verarbeitung der in Rechtecken angeführten Daten während
der genannten Zeiteinheiten in einem jeweiligen Verarbeitungselement.
Bei einer solchen Orthogonalanordnung werden die Ortsfestlegung bzw. Lokalisierung sowie die Gleichförmigkeit
der Berechnungen dazu genutzt, eine parallele Verarbeitung zu ermöglichen. Wenn aber beispielsweise die vorangehend
genannte dynamische Zeitversetzungs-Gleichung (2) eine als Gleichung (4) nachstehend angeführte komplizierte
Rechengleichung ist, müssen die Übertragung der Aufsummierungsergebnisse
S. , S. , S. gemäß
o_ der Gleichung (4) sowie die Aufnahme der drei Datenwerte,
25
die den Vergleichsberechnungen zu unterziehen sind, über zwei Verarbeitungselemente ausgeführt werden.
/S1-.
i-2, j-1 + ^i-I, j
si-l, j-1 + Dij / ···. (4)
Si-I, j-2 + 2D1r j_!
-13- DE 4631
Bei den angewandten Verfahren kann die Vergleichsberechnung in dem Element PE.. vorgenommen werden, nachdem in
dieses diese drei Datenwerte eingegeben wurden. Daher
g wird die parallel auszuführende Aufbereitung in einem jeden
Verarbeitungselement kompliziert; darüberhinaus ist es nicht möglich, die Parallelaufbereitung, bei der die
Elemente eingesetzt werden, mit einem zufriedenstellenden
Wirkungsgrad auszuführen.
Ferner muß in Anbetracht der dynamischen Zeitversetzungs-Berechnung
die Anzahl der Verarbeitungselemente entsprechend den beiden positiven ganzen Zahlen N und I festgelegt
werden, die die Anzahl der Datenwerte in den beiden Arten von Vektorfolgen für die Aufbereitung ausdrücken;
daher müssen zum Ausführen der dynamischen Zeitversetzungsberechnungen an der Mehrfach-Vektorfolge C (C =
r u u u uu
je , c , , c ]; u = 1, 2, . .., 1 ) und der
L1 2 1uJ c ν ν cv,
Mehrfach-Vektorfolge R (R = ir , r ,...,r f ; ν =
ν ν 1 2 Nv 1, 2, ...., 1 ) für die positiven ganzen Zahlen N und I
Werte Nmax = ( max N ) und Imax = ( max I )
Kv<l ν Ku<l u
gewählt werden ' " r e " c
wobei die Anzahl der erforderlichen Verarbeitungselemente (Nmax χ Imax) ist.
Infolgedessen gibt es bei der Verarbeitung der Vektorfolgen C und R eine Vielzahl von Verarbeitungselementen,
u ν
die außer bei der Kombination aus Cmax und Rmax im Hinblick
auf alle Kombinationen der Vektorfolgen für das
Ausführen der Vorgänge zur dynamischen Zeitversetzungs-30
Rechenaufbereitung unnötig sind. Infolgedessen wird keine wirksame Nutzung des Schaltungsaufbaus erzielt.
Darüberhinaus bildet die Erfordernis, die Anzahl notwendiger Verarbeitungselemente entsprechend der maximalen
35
Anzahl von zu verarbeitenden Daten zu bestimmen, eine
-14- DE 4631
große Behinderung hinsichtlich einer Verringerung der Systemmaße unter Anwendung von Schaltungsintegration in
hoher Dichte (LSI). Die Anzahl von Verarbeitungselementen die in einem einzelnen hochintegrierten Schaltungsbaustein
untergebracht werden können, ändert sich entsprechend den Funktionen der Verarbeitungselemente. Wenn beispielsweise
in einem einzigen hochintegrierten bzw. LSI-Baustein vier Verarbeitungselemente untergebracht werden
jQ und die Werte Nmax = 60 sowie Imax = 60 gewählt werden,
müssen in dem Orthogonalnetz 900 Bausteine angeordnet und angeschlossen werden.
Zur Steuerung eines derartigen herkömmlichen Matrixprozessors führt jedes Verarbeitungselement gleichzeitig eine
Aufbereitung gemäß Befehlen aus, die durch einen Verarbeitungsrechner eingegeben werden.
Wenn bei der vorstehend beschriebenen Anordnung die Ver-
nr. arbeitung für eine bestimmte Vektorfolge R auszuführen
zu ν
ist, die der Bedingung N < Nmax (v = 1, 2, ..., 1 ) er-
v r
füllt, tritt gleichzeitig ein Endergebnis aus jedem Verarbeitungselement PE , N auf (wobei jedem Verarbei-
i ν
tungselement eine Nummer zugeteilt ist und das Verarbeitungselement
an der Schnittstelle einer Spalte i mit einer Zeile j liegt). Da jedoch jedes dieser Elemente auf
einer bestimmten Diagonale liegt, ist die Verarbeitung, die gemäß der Gleichung (1) durch die Elemente mit Ausnahme
des vorstehend genannten Elements auf der gleichen
Diagonale ausgeführt wird, die gleiche wie die durch die-30
ses Element auf der gleichen Diagonale ausgeführte; es kann keine Unterscheidung zwischen den Verarbeitungsinhalten
in den Elementen an den Diagonalen getroffen werden. Daher muß auch aus jedem Verarbeitungselement PE.,
Nmax das Endergebnis für diese Vektorfolge R ausgegeben ν
werden, wobei die Elemente von der Spalte (N +1) bis zu
der Spalte Nmax dazu dienen müssen,, diese Verarbeitungsergebnisse unverändert zu übertragen. Eine solche Steuerung
ist für jede Vektorfolge R notwendig. Da die Ver-
teilung der Elemente, die die Verarbeitungsergebnisse un-5
verändert übertragen, sich bei jeder Vektorfolge ändert,
muß eine geeignete Steuerung ausgeführt werden, während der Verarbeitungscomputer die Aufbereitungsbedingungen
eines jeden Elements steuert. Nach diesem Verfahren werden alle (I χ Nmax) Elemente gesteuert, so daß der Aus-10
tausch von Steuersignalen zwischen dem jeweiligen Element und dem Verarbeitungscomputer sowie die Eingabe der Befehle
in ein jeweiliges Element außerordentlich kompliziert werden.
Im Hinblick darauf liegt der Erfindung die Aufgabe zugrunde, einen Matrixprozessor zu schaffen, bei dem eine
Parallelverarbeitung unter hohem Wirkungsgrad zur Berechnung aller Kombinationen zweier Arten von Variablen und
zur Berechnung von Rekursivformelgleichungen mit Ortsab-
hängigkeit unter Verwendung der Ergebnisse dieser Berechnung, wie es für die dynamische Zeitversetzungs-Berechnung
typisch ist, in einer Anordnung aus einer Anzahl von Verarbeitungselementen erreicht wird, die einer auszuführenden
Berechnungsmenge entspricht, wobei jedes Element wirkungsvoll arbeitet.
Ferner ist es Aufgabe der Erfindung, ein Matrixprozessor-Steuerverfahren
zu schaffen, bei dem jedes den Matrixprozessor bildende Verarbeitungselement eingebaute Befehle
enthält und bei dem jedes Verarbeitungselement innerhalb der gesamten Verarbeitung in der Anordnung seine eigenen
Bedingungen für das Einleiten bzw. Ausführen entsprechender Befehle ermittelt, so daß in der Anordnung eine
selbstständige Steuerung ausgeführt wird. 35
ORiGiNAL INSPECTED
-16- DE 4631
Bei dem Matrixprozessor bzw. dem Verfahren zur Steuerung desselben sind Werte I und N sowie η positive ganze Zahlen.
Der Zusammenhang zwischen N und η wird tatsächlich innerhalb eines Bereichs geregelt, der durch modN bzw.
(Rest N/n) definiert ist, wodurch der Divisionsrest bei der Division von N durch η bezeichnet ist.
^ Die Aufgabe wird hinsichtlich des Matrixprozessors erfindungsgemäß
mit den im Patentanspruch 1 genannten Mitteln gelöst.
Vorteilhafte Ausgestaltungen des erfindungsgemäßen
Matrixpri geführt.
Matrixprozessors sind in den Unteransprüchen 2 und 3 auf-
Hinsichtlich des Steuerverfahrens für den Matrixprozessor
wird die Aufgabe mit den in dem Patentanspruch 4 genannten Maßnahmen gelöst.
Eine vorteilhafte Ausgestaltung des erfindungsgemäßen
Steuerverfahrens ist in dem Unteranspruch 5 angeführt.
o_ Die Erfindung wird nachstehend anhand von Ausführungsbei-25
spielen unter Bezugnahme auf die Zeichnung näher erläutert.
Fig. 1 ist eine Darstellung, die ein Beispiel für die
Gestaltung eines herkömmlichen Orthogonal-Matrixprozessors zeigt.
Fig. 2A und 2B, 3A und 3B, 4A und 4B sowie 5A und 5B
sind Darstellungen, die ein Beispiel von Verarbeitungsvorgängen in dem herkömmlichen Matrix-35
prozessor veranschaulichen.
-17- DE 4631
Fig. 6 ist ein Blockschaltbild des erfindungsgemäßen
Matrixprozessors gemäß einem ersten Ausführungsbeispiel.
Fig. 7 ist ein Blockschaltbild, das eine Ausführungsform eines Verarbeitungselements in dem erfindungsgemäßen
Matrixprozessor gemäß dem ersten Ausführungsbeispiel zeigt.
Fig. 8 ist eine Darstellung zur Erläuterung eines Beispiels von Verarbeitungsvorgängen in dem in Fig.
6 gezeigten Matrixprozessor.
Fig. 9 ist eine Darstellung zur Erläuterung der Eingabe von Daten aus externen Quellen und der Bedingungen
zur Datenübertragung zwischen Verarbeitungselementen in dem in Fig. 6 gezeigten Matrixprozessor.
Fig. 10 ist eine Darstellung zur Erläuterung eines Beispiels von Verarbeitungsvorgängen in einem jeweiligen
Verarbeitungselement.
__ Fig. 11 ist ein Blockschaltbild, das ein zweites Aus-
führungsbeispiel des erfindungsgemäßen Matrixprozessors
zeigt, bei dem Verarbeitungselemente ringförmig angeordnet und verbunden sind.
Fig. 12 ist eine Darstellung zur Erläuterung eines Bei-30
spiels für eine Kennung, die Eingangs-Vektor-
daten hinzugefügt wird.
Fig. 13 ist eine Blockdarstellung, die ein Beispiel von
Steuervorgängen für ein Zustandskennungsregi-35
ster in dem Verarbeitungselement veranschaulicht.
-18- DE 4631
Fig. 14A bis 14E sind Darstellungen zur Erläuterung von Beispielen von Steuervorgängen bei der Ausführung
einer dynamischen Zeitversetzungs-Berechc nung in dem in Fig. 11 gezeigten Matrixprozessor.
Fig. 15 ist ein Blockschaltbild einer Ausführungsform
einer Schaltungsanordnung, bei der in den Ver-.n
arbeitungselementen als Teil des Matrixprozessors jeweils eine Steuereinheit für das Ausführen
des erfindungsgemäßen Steuerverfahrens
eingebaut ist.
.c Fig. 16Ä bis 161 sind Darstellungen, die ein Beispiel
1 b
von Steuervorgängen bei der Ausführung einer Matrixmultiplikation in einem Matrixprozessor
mit Orthogonalanordnung veranschaulichen.
Fig. 17 ist ein Ablaufdiagramm, das ein Beispiel für den
Steuerungsablauf einer Steuerlogik in der Steuereinheit eines jeweiligen Verarbeitungselements
zeigt.
Fig. 18 ist ein Ablaufdiagramm, das ein Beispiel für den 25
Steuerungsablauf in der Steuereinheit in einem jeweiligen Verarbeitungselement zeigt.
Die Fig. 6 zeigt ein Ausführungsbeispiel des erfindungsgemäßen Matrixprozessors, in dem als Beispiel für eine
30
auf der dynamischen Zeitversetzung (dynamic time warping) beruhenden Anpassungsberechnung die vorangehend angeführten
Gleichungen (1), (2) und (3) für zwei Arten von Vektorfolgen C und R (u = 1, 2, .·., 1 ; ν = 1 , 2 , . . . ,
uv c
1 ) berechnet bzw. gelöst werden. 35 r
-19- DE 4631
Nach Fig. 6 ist eine Anzahl η von Verarbeitungselementen (PE) angenommen. Mit 1 ist ein einzelnes Element bezeichnet,
das eine Recheneinheit für Additionen, Subtraktiog nen, Vergleichsberechnungen, wie Multiplikations- und
Additionsberechnungen enthält, um die Gleichungen (1), (2) und (3) für die dynamische Zeitversetzungs-Berechnung
zu lösen, und das ferner Register für den Datenaustausch mit benachbarten Elementen sowie mit externen Quellen und
einen Speicher zum Speichern von Rechenergebnissen und Übertragungsdaten enthält. Diese Verarbeitungselemente 1
sind ringförmig angeordnet.
Mit 2-1 bis 2-n sind Multiplexer bezeichnet, die von einer nachfolgend beschriebenen Steuereinheit 10 zur Wahl
eines von zwei Zuständen gesteuert sind. D.h., bei dem einen Zustand werden gleichzeitig in die Anordnung (entsprechend
der Anzahl der Verarbeitungselemente) η Ein-
u
gangs-Vektordaten c (i = 1, 2, ... I) aus externen
gangs-Vektordaten c (i = 1, 2, ... I) aus externen
i u
Quellen eingegeben, während bei dem zweiten Zustand die u
Eingangs-Vektordaten c. umlaufend bzw. im Kreis jeweils
aus dem benachbarten Element übertragen werden. Wenn beispielsweise von einem Element PE an in jedes Element der
1 uu u Anordnung η Eingangs-Vektordatenfolgen c , c , ..., c
1 2 η
eingegeben werden, wählt der Multiplexer 2-1 eine von 25
einer (nicht gezeigten) externen Quelle kommende Eingangs-Vektordaten-Sammelleitung
3 an, die als Eingangskanal für diese Eingangs-Vektordatenfolgen eingesetzt wird.
Beginnend vom Element PE als Ursprungsort an wird ein
1 uu
jeweiliger der η Eingangs-Vektordatenwerte c , c ,..., u 12
c durch das aufeinanderfolgende Obertragen der Ein-
n u
gangs-Vektordaten c. zu benachbarten Elementen einem jeweiligen
Element zugeordnet. Andernfalls wählen alle Multiplexer 2-1 bis 2-n einen Datenübertragungsweg 5 zwischen
den Verarbeitungselementen, über den die Eingangsuu u
Vektordatenfolgen c , c , ..., c umlaufend zwischen
12 η
-20- DE 4631
den Elementen übertragen werden. Jedes Verarbeitungselement ist so gestaltet, daß jedesmal dann, wenn die vorstehend
genannten η Eingangs-Vektordatenmuster gewechselt
g werden, parallel mit einer üblichen Parallelverarbeitung
in allen Elementen das jeweilige Verarbeitungsergebnis gleichzeitig (Rest N/n)-mal zu dem benachbarten Element
übertragen wird, was nachstehend beschrieben wird. Hierbei ist (Rest N/n) der Divisionsrest bei der Division von
in N durch η (modN). iU η
Mit 4 ist eine Eingabe/Ausgabe-Sammelleitung zur aufeinanderfolgenden
Eingabe von Vektordaten der anderen Ein-
gangs-Vektordatenfolge R ={r ,r ,...,r } (k = 1 ,
ν 1 2 Nv
r- 2, ..., 1 ) in das jeweilige Element sowie ferner zur
x
Ausgabe von Rechenendergebnissen S ,S ,...,S * I ,N ' I ,N ' ' I
1 ' 1 Γ 2 u.
,...., S . Mit 5 ist der Datenübertragungsweg
N I ,N
v 1C l
^r u
__ für die Ringübertragung der Eingangs-Vektordaten c zwi-JU
i
sehen den Elementen und für die Übertragung eines kumulativen
bzw. Summenrechenergebnisses S.. bezeichnet. Mit 6 ist jeweils ein mit der Eingabe/Ausgabe-Sammelleitung
verbundener Eingabe/Ausgabe-Anschluß eines jeweiligen ot. Verarbeitungselements bezeichnet. Mit 7, 8 und 9 sind je-
weils die Eingangs-Vektordaten c und r (i=1, 2,...I ;
i j u
j=1, 2, , N ; u = 1 , 2, , 1 ; v=1 , 2,...,1 ) bzw.
ν er
Rechenendergebnisse S ,S ,...,S ,...,S
* I ,N ' I ,N ' ' I ,N ' I ,N
11 12 u' ν 1C 1T
bezeichnet. Mit 10 ist die Steuereinheit für die Steue-
rung des gesamten Systems bezeichnet, die das Bestimmen der Zeitpunkte für den Wechsel der vorstehend genannten
Eingangs-Vektordaten und das Zählen der Anzahl von Übertragungen der Verarbeitungsergebnisse beinhaltet.
Die Fig. 7 zeigt eine Ausführungsform der Gestaltung
-21- DE 4631
eines jeweiligen Verarbeitungselernents. Das einzelne Verarbeitungselement
1 ist mit einer strichpunktierten Linie umrahmt. Mit 4 ist die externe Eingabe/Ausgabe-Sammellei-
v tung für die Eingabe der Vektordaten r (j=1,2,...N ) in
j ν
das jeweilige Element und für die Ausgabe der Rechenendergebnisse S bezeichnet. Mit 12 ist ein Eingabe/
1N
Ausgabe-Anschluß für die Aufnahme von Daten aus der Sammelleitung 4 sowie für die Übertragung von Daten zur Sammelleitung
4 bezeichnet. Mit 13 ist ein Anschluß für die Datenübertragung aus einem links benachbarten Element bezeichnet,
während mit 14 ein Anschluß für die Datenübertragung zu einem rechts benachbarten Element bezeichnet
Mit 15 ist ein Puffer-Register (zweites Register) für das
Speichern aus der Sammelleitung 4 eingegebener Vektordaten r. bezeichnet. Mit 16 ist ein Pufferregister (viertes
on Register) zum Speichern der Rechenendergebnisse S
ΑΌ I u, N ν
und die Ausgabe derselben an die Sammelleitung 4 bezeichnet. Mit 17 ist ein Register (erstes Register) zum Speichern
der aus dem benachbarten Element eingegebenen Vek-
oc tordaten c (i=1, 2,..., I ) sowie eingegebener Daten,
At3 i u
die bei der Berechnung des kumulativen bzw. Summen-Rechenergebnisses
S.. benötigt werden, das bei nachfolgend beschriebenen Verärbeitungsvorgängen (b) und (c) berechnet
wird. Mit 18 ist ein Register (drittes Register) für
u das Übertragen der Vektordaten c zu dem benachbarten
du χ
Element und zur Datenübertragung für das Berechnen des Summen-Rechenergebnisses S bezeichnet. Mit 19 ist eine
ij interne Sammelleitung bezeichnet.
Mit 20 und 21 sind jeweils Pufferspeicher bezeichnet, die
ob vj ui
alle Komponenten r bzw. c (k=1, 2,...,m) der Vek-
k k
-22- DE 4631
vu
tordaten r bzw. c speichern, welche in die jeweiligen
tordaten r bzw. c speichern, welche in die jeweiligen
j i
Elemente einzugeben sind. Mit 22-1 ist eine Addier/Subtrahier-Einheit zur Addition und Subtraktion bezeichnet, ρ- während mit 22-2 ein Akkumulator bzw. Akkumulatorregister zum Akkumulieren des Ergebnisses aus der Addier/Subtrahier-Einheit 22-1 bezeichnet ist. Mit 22-3 ist eine Produktsummeneinheit zur Produktsummenberechnung bezeichnet. Durch die Einheiten 22-1 und 22-3 sowie den Akkumulator
Elemente einzugeben sind. Mit 22-1 ist eine Addier/Subtrahier-Einheit zur Addition und Subtraktion bezeichnet, ρ- während mit 22-2 ein Akkumulator bzw. Akkumulatorregister zum Akkumulieren des Ergebnisses aus der Addier/Subtrahier-Einheit 22-1 bezeichnet ist. Mit 22-3 ist eine Produktsummeneinheit zur Produktsummenberechnung bezeichnet. Durch die Einheiten 22-1 und 22-3 sowie den Akkumulator
1„ 22-2 ist eine arithmetische bzw. Recheneinheit 22 gebildet,
die die Berechnungen gemäß den Gleichungen (1) und (2) ausführt. Die Addier/Subtrahier-Einheit 22-1 kann
beispielsweise eine Einheit 54F385 oder 74F385 von Fairchild, Inc. sein. Die Produktsummeneinheit 22-3 kann beispielsweise
eine Einheit ADSP-1010 von Analog Devices, Inc. sein. Mit 23 ist ein Arbeitsspeicher für das Speichern
von Daten bezeichnet, die für die Berechnung der Gleichungen (2) und (3) erforderlich sind. Dieser Arbeitsspeicher
23 hat entsprechend dem Status der gespeicherten Daten zwei Bereiche 23-1 und 23-2. D.h., der Be-
reich 23-1 speichert Daten, die während der Ringübertra-
gung der Eingangs-Vektordaten c. für das Ausführen nachstehend
beschriebener Verarbeitungsvorgänge (a), (b) und (c) erforderlich sind, während der Bereich 23-2 Daten
speichert, die für die Ausführung der Verarbeitungsvor-25
gänge (b) und (c) erforderlich sind, welche unmittelbar
dem Wechsel von η Vektorfolgen aus Vektorfolgen C ,
C ..., C folgen. 2 1c
Mit 24 ist eine Verarbeitungselement-Steuereinheit bezeichnet, die eine Steuerung nach einem internen Mikroprogramm
oder nach Befehlen aus einer externen Quelle ausführt. Die Steuereinheit 24 hat eine Steuerlogik 24-1,
einen Programmspeicher 24-2 zum Speichern des internen
Mikroprogrammes, einen Programmzähler 24-3 zum Steuern
35
des Programmspeichers 24-2, ein Befehlsregister 24-4 für
3506743
-23- DE 4631
für das Speichern von aus dem Programmspeicher 24-2 ausgelesenen Daten und einen Befehlsdecodierer für das Decodieren
der in dem Befehlsregister 24-4 gespeicherten Da-
g ten. Die Steuerlogik 24-1 empfängt über einen Eingangsanschluß
25 Steuersignale aus der in Fig. 6 gezeigten Prozessor-Steuereinheit 10, um damit die Einheiten 24-2 bis
24-5 zu steuern.
Mit 26 und 27 sind Adressenleitungen des Arbeitsspeichers
23 bezeichnet. Die Adressenleitung 26 nimmt das Ausgangssignal eines Zählers 28 auf, mit dem der Bereich 23-2 adressiert
wird, welcher Rechenzwischenergebnisse speichert. Die Adressenleitung 27 ist beispielsweise einer
aus dem Befehlsregister 24-4 zugeführten Direktadresse aus dem Mikroprogramm zugeordnet und adressiert den Speicherbereich
23-1, der die Daten speichert, welche für die einzelne bzw. gesonderte Verarbeitung bei den Verarbeitungsvorgängen
(b) und (c) erforderlich sind.
Mit 29, 30, 31 und 32 sind jeweils Wähler bezeichnet, die durch die Element-Steuereinheit 2 4 gesteuert werden. Gemäß
der vorstehenden Erläuterung wird das in der Recheneinheit 22 erzielte Rechenergebnis in den Arbeitsspeicher
23 eingespeichert. Die Register 17 und 18 dienen zur Datenübertragung zwischen benachbarten Elementen in der
Weise, daß während des Einspeicherns des Rechenergebnisses aus dem Arbeitsspeicher 23 in das Register 18 und des
darauffolgenden Obertragens des Rechenergebnisses aus dem
Register 18 zu dem Register 17 des benachbarten Verarbei-30
tungselernents in der Recheneinheit 22 die nächste Berechnung
ausgeführt wird. Infolgedessen ist es möglich, parallel zu der normalen Verarbeitungseinheit für das
Übertragen der Eingangs-Vektordaten c., die in den
nachfolgend angeführten Absätzen für die Verarbeitungs-35
vorgänge (a), (b) und (c) zur Berechnung von D und S
ii ii
DE 4631
definiert sind, und für die Übertragung des Rechenergebnisses gleichzeitig gemäß der nachfolgenden Erläuterung
die Verarbeitungsergebnisse (Rest N/n)-malig zu den benachbarten Elementen zu übertragen; dabei wird das Zeitintervall
genutzt, während dem das jeweilige Element die vorstehend beschriebenen Berechnungen ausführt, wobei der
normale Verarbeitungsablauf überhaupt nicht gestört wird,
wenn das Eingangs-Vektordatenmuster geändert wird.
Die nachstehende Tabelle 1 zeigt eine Ausführungsform des Programmspeichers.
i | ί | CD | M21 | ♦ R18 ! | T13 + | R17 j | ) | R17 | R17 | j | Rl· | DATENÜBERTRAGUNG | j 2 + M23-1 | T12 + | R15 j | R15 * | M20 | M20 | * U22-1 | (cj;-rj)*U22-2 | KbANb | r j) 2 | 1 | i j 2 | : | ; | CO | |
M21 | * R18 ! | T13 ♦ | R17 ] | R17 | R17 | j | R18 | T12 ♦ | R15 j | R15 * | M20 | M20 | * U22-1 | {ci,-rj)-»U22-2 | 1 |
C1-^, 2
/ |
!ck"rk) | cn | ||||||||||
M21 | - R18 ! | T13 ♦ | R17 ! | R17 | * M21 ! | R17 | T12 + | R15 J | R15 + | M20 | M20 | - U22-1 | ( | I I |
( | i j ! | O | |||||||||||
M21 | * R18 ! | T13 ♦ | R17 | ♦ M21 I | t * U22-1 j | U22-1 | T12 ♦ | R15 i | R15 * | M20 | J | \ | k k | CD | ||||||||||||||
ι i | M21 | - R18 | R17 | - M21 | R17 ♦ U22-1 [ | U22-1 | T12 ♦ | R15 | M20 | * U22-1 | J | i | ||||||||||||||||
/
T13 * |
R17 | R17 + U22-1 I | U22-1 | S | R15 ♦ | M20 | M20 | * U22-1 | ; 2 | |||||||||||||||||||
M21 | * R18 | ! T13 * | R17 | * M21 | U22-1 | T12 + | R15 | R15 * | M20 | ! M20 | + U22-1 | i j u. | ||||||||||||||||
[Qj | * M21 | ί | U22-1 | cm-l' m-1 | ||||||||||||||||||||||||
j | φ! | ♦ M21 | R17 + U22-1 ! | ► U22-1 | - | |||||||||||||||||||||||
i
j |
» \i | R17 * U22-1 I | M23-2 | 2-2' | ||||||||||||||||||||||||
i | ^ @i | I | j R17 + U22-1 | M23-1 | ||||||||||||||||||||||||
®'\ | I | ' kSi | ||||||||||||||||||||||||||
®: | ; m | |||||||||||||||||||||||||||
.2·) φ! | m | •k=l | ||||||||||||||||||||||||||
φ! | Σ (c | ! | ||||||||||||||||||||||||||
M23-1 | ||||||||||||||||||||||||||||
©j | T13 |
i_r]
k V |
MINIMUM ♦ A | |||||||||||||||||||||||||
R17 | ||||||||||||||||||||||||||||
I | M23-J | ADD * A | ||||||||||||||||||||||||||
M23-] | R18 | |||||||||||||||||||||||||||
A | JM23-2 | R17 | MINIMUM * A | |||||||||||||||||||||||||
IT13 | M23-2 | |||||||||||||||||||||||||||
JR17 | ||||||||||||||||||||||||||||
M23-2 | M23-2 | + R16 | ||||||||||||||||||||||||||
A | R16 | + T12 | ||||||||||||||||||||||||||
A | ||||||||||||||||||||||||||||
A | ||||||||||||||||||||||||||||
cie» -o
m
μ = SPEICHBf1
π = EINHEIT
ANSCHLUSS AKKUMULATOR
R = Register
CO
-26- DE 4631
Felder (1) und (2) zeigen jeweils den Programminhalt für Vektorabstandsberechnungen bzw. Summenabstandsberechnungen.
Das Feld (1) zeigt, wie die Vektorabstandsberechnungen parallel ausgeführt werden, während die jeweiligen
Komponenten der Vektordaten c und r gleichzeitig ein-
i i
gegeben werden. Es wird der Programminhalt im Feld (2) für die Summenabstandsberechnungen erläutert. Die Befehle in einem ersten und einem vierten Teilfeld des Felds (2) entsprechen den Summenabstandsberechnungen für einen jeweiligen Gitterpunkt. Das zweite Teilfeld entspricht der Umordnung der Summenergebnisse. Das dritte Teilfeld entspricht der Verarbeitung zur Ausgabe des Summenendergebnisses an einen externen Bestimmungsort.
gegeben werden. Es wird der Programminhalt im Feld (2) für die Summenabstandsberechnungen erläutert. Die Befehle in einem ersten und einem vierten Teilfeld des Felds (2) entsprechen den Summenabstandsberechnungen für einen jeweiligen Gitterpunkt. Das zweite Teilfeld entspricht der Umordnung der Summenergebnisse. Das dritte Teilfeld entspricht der Verarbeitung zur Ausgabe des Summenendergebnisses an einen externen Bestimmungsort.
Eine ausführliche Erläuterung erfolgt unter Zuordnen der Befehlsfolgen in dem ersten und vierten Teilfeld zu den
Verarbeitungsvorgängen (a), (b) und (c). (T) betrifft das Laden bzw. Eingeben von D.., während (2) und (3) jeweils
der Übertragung des Vergleichsergebnisses min
(S ,S ) bzw. der Eingabe von min (S ,
i - 2, i i-1,i ^^ s^. i-1,i-1
S. . j entsprechen. (A) bis (ß) stellen die Ausruhrungsfolge
der Vergleichsberechnung für min { S , min(S
rs rs ^-I >
j i~ , S )/ dar. (6) bis (8) stellen die Ablauffolge
1 A ] -1 i . j -1
fur das Addieren von D zu diesem Vergleichsergebnis und ü
damit zum Erzielen von S dar. (8) bis QJ) entsprechen
i j
dem Eingeben von S.. gleichzeitig mit dem Erhalten des Vergleichsergebnisses min (S ,S), das zu dem be-
dem Eingeben von S.. gleichzeitig mit dem Erhalten des Vergleichsergebnisses min (S ,S), das zu dem be-
i -1 > j i j nachbarten Element zu übertragen ist.
Die Steuerlogik 24-1 in der Steuereinheit 24 ist derart
gestaltet, daß der in Fig. 17 gezeigte Steuerungsablauf ausgeführt wird. In der Fig. 17 sind mit q , q und q
jeweils Steuersignale bezeichnet, die den jeweiligen Verarbeitungselementen aus einer externen Steuereinheit wie
35
einem Verarbeitungscomputer zugeführt werden und die je-
-27- DE 4631
weils den Eingabestatus für die Vektordaten r., den Ausführungsstatus
für die Umordnung und den Ausgabestatus für das Rechenendergebnis einstellen. Wenn das jeweilige
Element ein Programmanlauf-Steuersignal empfängt, führt die Steuerlogik 24-1 eine Steuerung zur Eingabe der Anfangsadresse
des Programmspeichers 24-2 in dem Programmzähler 24-3 aus. Danach nimmt die Steuerlogik 24-1 die
Steuersignale q , q und q für den jeweiligen Status auf, um diese Steuersignale zu prüfen, bevor Zustandskennungen
f , f und f gesetzt werden. Diese Kennungen
5,62 3
f , f und f sind jeweils Kennungen, die ein fünftes
f , f und f sind jeweils Kennungen, die ein fünftes
5,6 2 3
und ein sechtes Teilfeld, das zweite Teilfeld bzw. das dritte Teilfeld der Programm-Felder (1) und (2) in Betrieb setzen. Wenn diese Kennungen gesetzt sind, wird der Programmzähler 24-3 eingeschaltet, wonach die Programme gemäß den Feldern (1) und (2) ausgeführt werden. Während der Ausführung dieser Programme werden die Kennungen f ,
und ein sechtes Teilfeld, das zweite Teilfeld bzw. das dritte Teilfeld der Programm-Felder (1) und (2) in Betrieb setzen. Wenn diese Kennungen gesetzt sind, wird der Programmzähler 24-3 eingeschaltet, wonach die Programme gemäß den Feldern (1) und (2) ausgeführt werden. Während der Ausführung dieser Programme werden die Kennungen f ,
5 ,6 f und f überwacht; dabei sendet die Steuerlogik 24-1 an
das Befehlsregister 24-4 ein Steuersignal für das Maskieren irgendwelcher Felder, deren Programm nicht ausgeführt
werden soll. Danach bestimmt die Steuerlogik 24-1 die Beendigung des Programms und überträgt ein Steuersignal zu
der externen Steuereinheit, um dieser das Beenden der Verarbeitungseinheit zu melden.
Die Steuerlogik 24-1 wiederholt diese Ablauffolge von Steuervorgängen bei jeder Prozesszeiteinheit.
Als nächstes wird erläutert, wie mittels der in Fig. 7 gezeigten Anordnung die durch die vorangehend angeführten
Rechengleichungen (1), (2) und (3) dargestellten dynamischen Zeitversetzungs-Berechnungen ausgeführt werden. Eine
Anpassungsberechnung bzw. Paarigkeitsberechnung gemäß
der dynamischen Zeitversetzungs-Berechnung entspricht der 35
Ausrechnung der Gleichungen (1) und (2) für Gitterpunkte
Α Ό
-28- DE 4651
an zweidimensionalen Gitterebenen, die durch zwei Arten
von Vektordatenfolgen C bzw. R gebildet werden.
u ν
Die Fig. 8 zeigt den Ablauf von dynamischen Zeitversetzungs-Berechnungen
gemäß den Gleichungen (1) und (2) für die beiden Arten von Vektordatenfolgen bei dieser Anordnung,
nämlich für 1 Vektordatenfolgen C = {c-U, C-11, . . . ,
C1 u| (U= 1, 2,....?.., lc)
jQ sowie für 1 Vektordatenfolgen
Die aufeinanderfolgenden Ausführungen werden durch die übliche grafische Darstellung der dynamischen Zeitversetzung
dargestellt. In der Fig. 8 stellen gestrichelt dargestellte Diagonalen und ausgezogen dargestellte Diagonalen
an dem Gitter einen Zeitpunkt hinsichtlich einer Element-Verarbeitung als Zeiteinheit dar, während ein
Pfeil A die Richtung des Zeitablaufs von Zeitpunkten t , t , t .... darstellt. D.h., Gitterpunkte an der gleichen
gestrichelten oder ausgezogenen Linie bedeuten, daß die Daten gleichzeitig in den verschiedenen Elementen auf
der Linie verarbeitet werden. Da η Elemente vorgesehen sind, werden während der Verarbeitung immer gleichzeitig
die η Gitterpunkte auf der Diagonale verarbeitet. Die
Verarbeitung bei jeder Verarbeitungszeit bewegt sich mit 2b
dem Ablauf der Zeit in einem mit X bezeichneten Bereich
1 aufwärts und danach fortgesetzt zu dem unteren Bereich eines Bereichs X . Schließlich verlagert sich die Verarbeitung
zu dem oberen Bereich des Bereichs X . Auf diese
Weise zeigt die Fig. 8 eine solche aufeinanderfolgende 30
Verarbeitung in der Art und Weise der üblichen grafischen Darstellung der dynamischen Zeitversetzung (dynamic time
warping). Mit I und II sind Gruppen gestrichelter Linien bezeichnet, die nachfolgend erläutert werden.
-29- DE 4631
Bei dem in Fig. 8 gezeigten Beispiel sind physikalisch gesehen nur η Verarbeitungselemente vorhanden. D.h., es
sind nach Fig. 8 nur die η Elemente PE bis PE vorhan-
1 η
den, die in der Zeichnung durch die Zahlen bzw. Bezeichnungen 1 bis η in Kreisen dargestellt sind und die in
schräger Richtung an der gleichen Zeitstelle liegen.
Die Fig. 9 veranschaulicht die Dateneingabevorgänge bei jQ einer solchen Anordnung. In Fig. 9 ist angenommen, daß η
= 6 ist. Mit 41 ist ein Verarbeitungselement bezeichnet, während mit 42 ein Datenübertragungsweg für die
Übertragung von Vektordaten c. (i=1,2,...,I) und Summenergebnissen
S zu einem benachbarten Element bezeich-
ii
,c net ist. Mit 43'ist der Fluß der Vektordaten c auf dem
i
Datenübertragungsweg zu einem jeweiligen Prozesszeitpunkt bezeichnet. Mit 44 sind Vektordaten r. (j=1,2,....N) an
der Eingabe/Ausgabe-Sammelleitung bezeichnet, die zu einem jeweiligen Prozesszeitpunkt in das jeweilige
on Element eingegeben werden müssen. Die Prozesszeit schreitet
längs einer Zeitsäule 45 fort, die den Zeitablauf veranschaulicht. Aus dem Element PE werden aufeinanderfolgend
die Eingangs-Vektordatenfolgen c , c ,...,c für
12 6 die sechs Elemente eingegeben. Wenn die Aufbereitung der
jeweiligen Vektordaten in dem jeweiligen Element abgeschlossen ist, werden diese Vektordaten nacheinander zu
dem rechts benachbarten Element PE übertragen. Während der Zeitdauer bis zu der Rückkehr der ersten Eingangs-
Vektordaten C zu dem Element PE erfolgt an dem die Ein-1 1
nn gangs-Vektordaten c (i=1,2, ,6) führenden Datenüber-
oU i
tragungsweg mit dem Fortschreiten der Prozesszeit aufeinanderfolgend
eine Aufstufung um "1". Nach dem Zeitpunkt, an dem die Eingangs-Vektordaten c von dem Element PE zu
i 6
dem Element PE übertragen werden, werden bei jedem Pro-
__ zesszeitpunkt die in dem jeweiligen Element vorhandenen
Eingangs-Vektordaten c bis c gleichzeitig zu dem ie-
16
-30- ' DE 4631
weils benachbarten Element übertragen. Andererseits werden
synchron mit den Obertragungsvorgängen für die Eingangs-Vektordaten
c (i=1,2,....,6) zwischen den iewei-
i
ligen Elementen aufeinanderfolgend in das jeweilige
ligen Elementen aufeinanderfolgend in das jeweilige
Element die Eingangs-Vektordaten r. (j=1,2, ,N) eingegeben.
Danach werden die Gleichungen (1), (2) und (3) für alle Gitterpunkte berechnet, während zwischen den
Elementen auf regelmäßige Weise die Daten ausgetauscht werden.
Die gestrichelten Linien in der Gruppe I in Fig. 8 zeigen an, daß nur der Multiplexer 2-1 zum Anwählen der Eingangs-Vektordaten-Sammelleitung
aus einer externen Quelle
.,- geschaltet wurde, daß aufeinanderfolgend Eingangs-Vektor-11
1
datenfolgen c , c , , c in einer Anzahl eingegeben
1 2 η
wurden, die gleich der Anzahl der Verarbeitungselemente ist, und daß jedesmal dann, wenn die Verarbeitung in
_Λ einem jeweiligen Element abgeschlossen ist, die Elemente
PE bis PE gleichzeitig die Vektordaten c
(x=1,2,...,n-1J zu dem jeweils benachbarten Element weitergeben. Die ausgezogenen Linien in der Gruppe I, die sich von den gestrichelten Linien in dieser Gruppe I weg
(x=1,2,...,n-1J zu dem jeweils benachbarten Element weitergeben. Die ausgezogenen Linien in der Gruppe I, die sich von den gestrichelten Linien in dieser Gruppe I weg
fortsetzen, zeigen an, daß nach der Eingabe der Daten c
Λ ο Ί
Λ ο Ί
in das Element PE alle Multiplexer 2-1 bis 2-n die Datenübertragungswege
zwischen den Elementen anwählen und daß die Berechnungen gemäß den Gleichungen (1), (2) und
(3) ausgeführt werden, während die Eingangs-Vektordaten
c , c , , c umlaufend bzw. im Kreis von Element
zu Element übertragen werden. Ferner zeigen die gestrichelten Linien in der folgenden Gruppe II den Prozess der
fortgesetzten Berechnung an, die ausgeführt wird, während
die Eingangs-Vektordaten c , c , , c durch die
nächsten n-Vektordaten c ,....,c ,...,c ersetzt
n+1 11 i
werden.
-31- DE 4631
Obwohl während einer jeden Prozesszeit in jedes Element
u * ν die beiden Arten von Vektordaten c und r eingegeben
i i werden, so daß in jedem Element unabhängig und parallel
g die Berechnung gemäß der Gleichung (1) ausgeführt wird,
wird die Berechnung gemäß der Gleichung (2) ausgeführt, während die Daten zwischen den benachbarten Elementen
ausgetauscht bzw. übertragen werden.
.Q Nach Fig. 10 ist beispielsweise die Anzahl η der Verarbeitungselemente
gleich "5". Die Fig. 10 veranschaulicht den Verarbeitungsvorgang in jedem Element sowie die Verteilung
der durch das jeweilige Element überprüften Gitterpunkte in dem Fall, daß eine durchgehende Verarbeitung
. p. für alle Kombinationen aus Vektordatenfolgen C und C
und Vektordatenfolgen R und R vorgenommen wird. Nach Fig. 10 werden jeweils von demselben Element die Gruppen
von Gitterpunkten verarbeitet, die von einem langgezogenen Kreis umrahmt sind, wobei die Zahl an dem oberen linken
Rand dieses Rahmens die Verarbeitungselement-Nummer
angibt.
Zum Erreichen beispielsweise des Ergebnisses S nach
7,8 Fig. 10 sind die für die Berechnung von S zu einem
7,8
... Zeitpunkt t notwendigen Daten die Daten S , S und y 1 s 6,7 7.7
S , die mittels der Elemente PE und PE erreicht wer-
6,8 45
den. Da Zeitpunkte t und t in bezug auf den Zeitpunkt t in der Vergangenheit liegen, sind die Daten S in
1 6,8
dem Element PE vorhanden, welches das Ergebnis S be-
5 7,8
ΛΛ rechnet, während die Daten S und S in dem Element
6,7 7,7
PE vorliegen. D.h., die benötigten Daten liegen immer in
4
dem benachbarten Element vor, so daß bei dem Ausführen
dem benachbarten Element vor, so daß bei dem Ausführen
der Vergleichsberechnung nach Gleichung (2) für den Wert
S in dem Element PE die Berechnung min(S , S ) ,8 4 6,77,7
ausgeführt wird und das Ergebnis in das Element PE über-5
tragen wird, in dem die Berechnung ininAS , min(S ,
6,8 6,7
-32- DE 4631
S )] ausgeführt wird.
In diesem Fall muß gemäß der vorangehenden Erläuterung
r- zum Aufteilen der Eingangs-Vektordaten C , C , .... C
1 2 Ic
1 2 Ic
in Gruppen in einer Anzahl, die gleich der Anzahl η der Verarbeitungselemente ist, und zu deren Eingabe in die
Anordnung für die Verarbeitung der Wert S , der gemäß
ij
Fig. 10 den mit einer schrägen Linie markierten Gitter-
Fig. 10 den mit einer schrägen Linie markierten Gitter-
,Q punkten entspricht, in ein vorbestimmtes Element übertragen
werden, bevor der Austausch der Eingangs-Vektordaten beginnt. Beispielsweise ist es erforderlich, daß der in
dem Element PE vorliegende Wert S zum Element PE
1 5,1 3
übertragen wird, der Wert S aus dem Element PE zu dem
5,2 2
ie Element PE übertragen wird' der Wert S aus dem EIe-4
* 5,3
ment PE zu dem Element PE übertragen wird, der Wert
S aus dem Element PE zu dem Element PE übertragen
5,4 4 1 ö
wird bzw. der Wert S aus dem Element PE zu dem Element PE übertragen wird.
wird bzw. der Wert S aus dem Element PE zu dem Element PE übertragen wird.
ir
Allgemein beginnen von dem Zeitpunkt an, der um die (mgd ~..Ν
Zeiteinheiten entsprechende Zeit vor dem Beginn des Austausche der η Vektordaten liegt, nämlich bei dem in
Fig. 10 gezeigten Beispiel von dem Zeitpunkt an, der um 25
die mod17 = 2 ^Rest 17/5) Zeiteinheiten entsprechende
Zeit vor dem Beginn liegt, alle Elemente die Vorgänge des gleichzeitigen Übertragens der zu diesem Zeitpunkt in den
jeweiligen Elementen gespeicherten Summenergebnisse S
pn,j
pn,j
Cp=I,2,...) zu den jeweils benachbarten Elementen. Die
Übertragung dieser Daten erfolgt jeweils einzeln für jede Verarbeitung der Elemente unter Nutzung der Zeitdauer,
während der die Elemente nur die Rechenverarbeitung
gemäß der vorstehenden Beschreibung parallel mit den re-35
gelmäßigen Verarbeitungsvorgängen (a), (b) und (c) gemäß
-33- DE 4631
der Beschreibung in den nachfolgenden Absätzen ausführen; dadurch ist es möglich, einem vorbestimmten Element die
erforderlichen Daten S bis unmittelbar vor dem Austausch der η Eingangs-Vektordatenfolgen zuzuführen.
Bei dem in Fig. 10 gezeigten Beispiel werden parallel mit der Verarbeitung für Gitterpunkte (c , r ■■) in dem EIe-
1 6 ment PE die an den gleichen Adressen in den Arbeits-
speichern 23-2 der Elemente PE , PE , PE , PE bzw. PE_
vorliegenden Daten S ,S .S ,S bzw. S je-
51 52 5 3 5,4 55 weils zu den benachbarten Elementen übertragen und den
Elementen PE , PE , PE , PE bzw. PE zugeordnet. Gleichermaßen werden bei der Verarbeitung für den Gitterpunkt
1(- (c , r ) im Element PE die Daten den Elementen PE_,
•••ö 2 6 1 3
PE , PE , PE bzw. PE zugeordnet, wonach dann die Daten-4* S* 1 2 S
übertragung abgeschlossen ist.
Bei der Verarbeitung unmittelbar nach dem Austausch gegen
1 1 1
die nächste Eingangs-Vektordatenfolge c , c , c und 2 5 6 1
c , der bei der Verarbeitungszeit für einen nächsten Gitterpunkt (c , r ) im Element PE auftritt, werden
mittels der Elemente PE , PE , PE , PE und PE die
3 4 5 1 2 Verarbeitungsvorgänge (a), (b) und (c) ausgeführt, wobei
die durch die vorangehend beschriebenen zwei Übertragun-
gen erhaltenen Daten S ,S ,S ,S und S
5,1 5,2 5.3 5,4 5,5 herangezogen werden. Durch wiederholtes Ausführen der
Verarbeitung auf diese Weise kann jedes Verarbeitungselement regelmäßig und aufeinanderfolgend die dynamische
Zeitversetzungs-Berechnung gemäß den Gleichungen (1), (2) 30
und (3) ausführen.
Gemäß der vorstehenden Beschreibung führt während des wiederholten Änderns des Ausgangssignals bzw. Austau-
schens und der Ringübertragung von η Vektordaten der Ein-35
gangs-Vektordatenfolge C (u=1,2 ,1 ) sowie während
u c
-34- DE 4631
der mit dieser Eingabe und Ringübertragung dieser Vektor-
u
daten c (i = 1 ,2,....,I ) synchronen Eingabe der Vektor-
daten c (i = 1 ,2,....,I ) synchronen Eingabe der Vektor-
i ν u
daten r Ij=I,2, N ) in das ieweilige Element ein
daten r Ij=I,2, N ) in das ieweilige Element ein
j v
c jedes Verarbeitungselement für einen jeweiligen Gitterpunkt
wiederholt die Berechnung gemäß den Gleichungen (1), (2) und (3) aus, so daß die Verarbeitung für alle
Gitterpunkte abgeschlossen wird.
Faßt man die vorstehenden Ausführungen zusammen, so sind
die normalen Verarbeitungsvorgänge (zur üblichen Verarbeitung) für ein Verarbeitungselement bei dem Ausführen
der Berechnung gemäß den Gleichungen (1) und (2) die folgenden :
(a) Gleichzeitig mit der Eingabe der Vektordaten c.
(i=1,2,...., I) aus dem links benachbarten Element oder aus einer externen Quelle über die Eingangs-Vektordaten-Sammelleitung
werden die Vektordaten c. in das rechts benachbarte Element übertragen und synchron mit der Über-
tragung dieser Vektordaten aus der Eingabe/Ausgabe-Sammelleitung die Vektordaten r. (j=1,2,...., N) eingegeben,
so daß die Berechnung gemäß'der Gleichung (1) ausgeführt
wird, um D zu erhalten, ii
(b) Es wird die Vergleichsberechnung von min {S ,
i -1 , j
min (S ,S )f vorgenommen und zu diesem Ergeb-
min (S ,S )f vorgenommen und zu diesem Ergeb-
i-1 ,i-1 i,j-1
nis D addiert, um S zu erhalten, ij ij
(c) Es wird die Vergleichsberechnung für min (S. ., i-1 . i
S..) ausgeführt und das Ergebnis zu dem benachbarten Element übertragen. Zugleich wird das Ergebnis der Vergleichsberechnung
für min (S , S ) aus dem
i,j-1 i +1 , j -1 links benachbarten Element eingegeben.
Der Verarbeitungsvorgang (a) entspricht dem Ausführen der
ORlGiKAL
-35- DE 4631
Berechnung gemäß der Gleichung (1), während die Verarbeitungsvorgänge
(b) und (c) der Ausführung der Berechnungen gemäß den Gleichungen (2) und (3) entsprechen. Gleichg
zeitig führt jedes Element die Verarbeitungsvorgänge in der Aufeinanderfolge (a), (b) und (c) aus. D.h., während
der Ausführung des Vorgangs (a) wird dieser Vorgang in allen Elementen ausgeführt. Während des Ausführens des
Vorgangs (b) wird gleichfalls dieser Vorgang in allen Elementen ausgeführt.
Der grundlegende Unterschied zwischen diesen Betriebsvorgängen und den Betriebsvorgängen in einer Orthogonal-Matrixanordnung
besteht in der Datenübertragung bei der -,. Ausführung der Berechnung gemäß Gleichung (2). Bei dem
Betriebsvorgang in einer Orthogonalmatrix wird die Vergleichsberechnung für min (S , S ) ausgeführt,
i, j-1 i-1 , j-1 nachdem das Summenergebnis S zu dem links
i-1.i-1 benachbarten Element übertragen wurde, während bei den
Betriebsvorgängen im erfindungsgemäßen Matrixprozessor
20
die bei dem nächsten Prozesszeitpunkt zu erhaltenden Daten S und S im gleichen Element vorliegen, so
i-1,i-1 i.j-1
daß die Vergleichsberechnung auch ohne Datenübertragung
daß die Vergleichsberechnung auch ohne Datenübertragung
ausgeführt werden kann.
Bei der Ausführung der Berechnung gemäß Gleichung (4) können die Summenergebnisse regelmäßig auf die vorstehend
beschriebene Weise dadurch erzielt werden, daß zweierlei einfache Rechenvorgänge ausgeführt werden. D.h., es wird
ein einzelner Verarbeitungsvorgang (d), bei dem das Sum-30
menergebnis aus dem benachbarten Element eingegeben wird,
zu diesem Datenwert zweifach der Wert des in dem Element errechneten Vektorzwischenabstands addiert wird und das
Additionsergebnis an das benachbarte Element abgegeben
wird, und ein Verarbeitungsvorgang (e) ausgeführt, bei 35
dem das Summenergebnis aus dem benachbarten Element ein-
-36- DE 4631
gegeben wird, zu diesem Datenwert der Vektorzwischenabstand addiert wird und das Ergebnis gespeichert wird. Gemäß
der vorstehenden Erläuterung wird bei dem erfindungsgemäßen Matrixprozessor die Anzahl der Verarbeitungselemente
völlig unabhängig von den positiven ganzen Zahlen
I und N , welche jeweils die Anzahl der jeweils zu veru ν
arbeitenden Vektordaten darstellen; damit kann die Anzahl der Verarbeitungselemente auf einen geeigneten Wert ent-,Q sprechend dem geschätzten Umfang der Datenverarbeitung gewählt werden; der erfindungsgemäße Matrixprozessor ermöglicht es, die dynamischen Zeitversetzungs-Berechnungen durch parallele Vektorverarbeitung (pipeline parallel processing) auszuführen, die durch den vollen bzw. ständigen Betrieb der Elemente, die wiederholt die regelmässigen Verarbeitungsvorgänge ausführen, die Ausnutzung der Schaltungsanordnung mit maximalem Wirkungsgrad ergibt.
arbeitenden Vektordaten darstellen; damit kann die Anzahl der Verarbeitungselemente auf einen geeigneten Wert ent-,Q sprechend dem geschätzten Umfang der Datenverarbeitung gewählt werden; der erfindungsgemäße Matrixprozessor ermöglicht es, die dynamischen Zeitversetzungs-Berechnungen durch parallele Vektorverarbeitung (pipeline parallel processing) auszuführen, die durch den vollen bzw. ständigen Betrieb der Elemente, die wiederholt die regelmässigen Verarbeitungsvorgänge ausführen, die Ausnutzung der Schaltungsanordnung mit maximalem Wirkungsgrad ergibt.
Infolgedessen kann bei dem Einsatz des Verfahrens der Schaltungsintegration in hoher Dichte (des LSI-Verfahrens)
für die Gestaltung eines Matrixprozessors im Vergleich zu der herkömmlichen Orthogonalmatrix, bei der die
Anzahl der Verarbeitungselemente entsprechend den positiven ganzen Zahlen I und N festgelegt ist, die System-
u ν
abmessungen bei dem erfindungsgemäßen Matrixprozessor außerordentlich klein gehalten werden, wobei ferner die Schaltungsausstattung wirkungsvoll genutzt werden kann. Ferner besteht bei dem erfindungsgemäßen Matrixprozessor die Möglichkeit zur Erweiterung der Anzahl der Verarbei-
abmessungen bei dem erfindungsgemäßen Matrixprozessor außerordentlich klein gehalten werden, wobei ferner die Schaltungsausstattung wirkungsvoll genutzt werden kann. Ferner besteht bei dem erfindungsgemäßen Matrixprozessor die Möglichkeit zur Erweiterung der Anzahl der Verarbei-
tungselemente. D.h., die Verarbeitung für Vektordatenfol-30
gen in irgendeiner gewünschten Anzahl N und I kann
ν u
unabhängig von der Anzahl der Verarbeitungselemente ausgeführt werden.
Als nächstes werden die Leistungen der Orthogonalmatrix 35
und des erfindungsgemäßen Matrixprozessors im Hinblick
-37- DE 4631
auf den Durchsatz je Verarbeitungselement und je Zeiteinheit verglichen, wobei ein mittlerer Nutzungsgrad der
Verarbeitungselemente in Betracht gezogen wird.
Von den beiden Arten von Verarbeitungsinhalten in der Orthogonalmatrix, die aus den vorangehend genannten Verarbeitungsvorgängen
(i) und (iii) bzw. (ii) und (iv) bestehen, wird angenommen, daß die beiden bei den Arten
in größere Schritteanzahl gleich U ist; ferner wird
iU square
vorausgesetzt, daß die Anzahl der dynamischen Schritte
bei der aus den Verarbeitungsvorgängen (a), (b) und (c) bestehenden Verarbeitung in jedem Element der erfindungsgemäßen
Anordnung gleich U ist. Bei der Orthogonalring
matrix sind zum Fertigstellen der auf der dynamischen Zeitversetzung beruhenden Anpassungsberechnung für ein Vektordatenpaar durch Anwendung des Verfahrens des abwechselnden Ausführens der beiden Arten von Verarbeitungen (i) und (iii) bzw. (ii) und (iv) 2U Schritte
matrix sind zum Fertigstellen der auf der dynamischen Zeitversetzung beruhenden Anpassungsberechnung für ein Vektordatenpaar durch Anwendung des Verfahrens des abwechselnden Ausführens der beiden Arten von Verarbeitungen (i) und (iii) bzw. (ii) und (iv) 2U Schritte
square erforderlich.
Falls bei der zur Diskussion stehenden Anpassungsberechnung gemäß der dynamischen Zeitversetzung ein Element
PE-. die Ausführung der Berechnung gemäß den Gleichungen
(1j, (2) und (3) für eine einzelne Vektordatenfolge R zum
Erzielen des Summenergebnisses S vollendet, braucht das
ij
Element PE-, die Verarbeitung für diese Vektordatenfolge R nicht auszuführen, wenn ein Element PE (i'>i, i' >i)
Element PE-, die Verarbeitung für diese Vektordatenfolge R nicht auszuführen, wenn ein Element PE (i'>i, i' >i)
i j diese Berechnung gemäßen diesen Gleichungen ausführt.
Daher kann bei der Ausführung der Verarbeitung für eine Vektordatenfolge R ein nicht zu dieser Verarbeitung
ν
beitragendes Element der Verarbeitung für eine weitere Vektordatenfolge R ,zugeordnet werden. D.h., während das
beitragendes Element der Verarbeitung für eine weitere Vektordatenfolge R ,zugeordnet werden. D.h., während das
v4
Summenergebnis S-. für eine erste Vektordatenfolge R berechnet
wird, kann auch die Berechnung des Summenergeb-35
nisses S für eine zweite Vektordatenfolge R unter Ü 2
-38- DE 4631
einer Phasendifferenz"2U Schritte 'ausgeführt wer-
S CJ^Ll ei IG
den. Bis zum Erhalten des Rechenendergebnisses ST M für
u' ν
Vektordatenfolgen I und für Vektordatenfolgen R ist beruhend
auf der zum Erhalten von Sj, benötigten Einheit
2U der Anzahl dynamischer Schritte die Schritteanzahl (Nmax + Imax) erforderlich, so daß innerhalb der
Zeitdauer der (Nmax + Imax) Schritte (Nmax + Imax) Arten von Summen-Endergebnissen Sj N erzielt werden können.
u' ν 10
Andererseits wird erfindungsgemäß die Verarbeitung wiederholt,
welche die Anpassungsverarbeitung zwischen Eingangs-Vektordatenfolgen
R-, R-,...., R, und jeweils η Vektordatenfolgen
der Eingangs-Vektordatenfolgen C., C-, ...C, ist, so daß das Summen-Endergebnis Sj M erreicht wird.
u' ν
Aufgrund der vorstehend beschriebenen Verarbeitungsvorgänge der gesamten Anordnung ergibt sich der Wirkungsgrad
der Verarbeitungselemente bei der Verarbeitung für alle Kombinationen aus Vektordatenfolgen C1, C9, .... C1 und
Vektordatenfolgen R1, R-, ...., R, folgendermaßen:
Orthogonalmatrix:
Zum Erzielen der Endergebnisse für 1 .1 sind (Nmax + Imax rc
+1.1) Schritte in der Einheit 2U erforderlich. Da die Anzahl der Elemente Nmax . Imax ist, ergibt sich der
Wirkungsgrad des Elements durch die folgende Gleichung:
(Nmax + Imax + lf . lc). 2Usquare 5^ Nmax . Imax (5)
Erfindungsgemäßer Matrixprozessor:
Mit U . als Verarbeitungsschritteinheit beträgt die An
-39- DE 4631
zahl der Verarbeitungsschritte während des Vorgangs für den Austausch der η Eingangs-Vektordatenfolgen η Schritte
und die Anzahl der während der Ringübertragung der Eing gangs-Vektordaten auszuführenden Verarbeitungsschritte
Schritte. Die Verarbeitung der Eingangs-Vektordatenfolgen
C1, C-, , C, wird auf eine Weise vorgenommen, die
äquivalent der Verarbeitung einer einzigen Eingangs-Vektordatenfolge
ist; daher ergibt sich die Anzahl der zum Erhalten der Endergebnisse für 1 . 1 erforderlichen
Schritte durch folgende Gleichung:
2n
Der erste Ausdruck in der Gleichung (6) stellt die Anzahl der Schritte während der Ringübertragung dar. Der
zweite Ausdruck stellt die Anzahl der Schritte während des Austauschs der Eingangs-Vektordaten dar. Der dritte
Ausdruck stellt die Anzahl der Schritte bei der ersten und der letzten Stufe der gesamten Anpassungsverarbei-
30 tung dar. Ferner gilt _ , 2ct
r1 " mhu = 11U
Da η Elemente vorhanden sind, beträgt der Wirkungsgrad η ring des Elements:
-40- DE 4631
ring =
l,ring
Falls mit N der Mittelwert aus N1, N9, ...., N- be-
el V IZ XC
zeichnet wird und mit I der Mittelwert aus I1, I_, ...,
I1 bezeichnet wird, gilt jeweils ^r N , w Z1,-.
iC ν V av' u=T
I 1^-1 so daß die Gleichung (7) folgendermaßen umge-
U C äV
schrieben werden kann: Nmax Imax
)Sq Nav lav
ι R ( Nmax + Imax
'i+ attxt; J 2usquare
n2
T "T~t— uring
Ac-'-av «-c^av .... (8)
Die Nenner und Zähler mit Ausnahme von "1" bei dem dritten Ausdruck der Gleichung (8) betreffen den Wirkungsgrad
jeder Matrixanordnung bei der ersten und letzten Stufe der gesamten Anpassungsverarbeitung. Infolgedessen ergibt
sich das Verhältnis der Wirkungsgrade der Verarbeitungselemente bei der Verarbeitung durch:
= Nmax . Imax . 2Usquare (9)
nsq Nav Jav üring
Nimmt man an, daß jedes Verarbeitungselement in der Orthogonalmatrix
eine Einrichtung hat, die das gleichzeitige Ausführen von Eingabe- und Ausgabevorgängen zuläßt, dann
SUt 2Usquare = "ring sowie Nmax >
Nav und Imax ^ Xav;
somit ergibt die erfindungsgemäße Anordnung immer einen
verbesserten Wirkungsgrad, der höher als derjenige der
-41- DE 4631
Orthogonalanordnung ist. Wenn beispielsweise N = 3/4 Nmax und I = 3/4 Imax gilt, hat die erfindungsgemäße Anordnung
einen Wirkungsgrad, der ungefähr 1,8 mal größer als g derjenige der Orthogonalanordnung ist. Falls ferner die
herkömmliche Orthogonalanordnung eine Einrichtung hat, die während einer jeden Verarbeitung in einem jeweiligen Element
nur das abwechselnde Ausführen der Eingabe- und Ausgabevorgänge zuläßt, dann gilt 2U square<
Uring' Dies be~
deutet, daß der relative Wirkungsgrad des erfindungsgemäßen
Matrixprozessors im Vergleich zu demjenigen der Orthogonalmatrix sogar noch höher ist.
Die Systemabmessungen bei der Orthogonalmatrix waren ausserordentlich
groß, da mindestens (Nmax · Imax) Verarbeitungselemente angeordnet und verbunden werden mußten. Daher
wurde bei den herkömmlichen Anordnungen für die Eingabe und Ausgabe an einem jeden Element das Seriellbitverfahren
angewandt, um das Element kompakt zu gestalten. Da jedoch bei der in Betracht gezogenen Anpassungsberechnung
unter dynamischer Zeitversetzung die zu verarbeitenden Daten Vektordaten sind, bei denen als Einzeldaten gemäß
Gleichung (1) die Datenfolgen einer bestimmten Dimension vorliegen, nimmt die Anzahl der Übertragungsschritte
zwischen Verarbeitungselementen außerordentlich zu, falls 25
die Daten in der Form serieller Bitströme eingegeben und ausgegeben werden; infolgedessen ist für die gesamten Berechnungsvorgänge
eine längere Zeit erforderlich. Andererseits kann bei der erfindungsgemäßen Anordnung die Anzahl
der Verarbeitungselemente beträchtlich verringert werden, so daß hinsichtlich der Abmessungen des Matrixprozessors
keinerlei Probleme entstehen, selbst wenn die Daten zwischen den Elementen parallel übertragen werden; die erfindungsgemäße
Gestaltung des Matrixprozessors ist sehr
gut zur Verarbeitung von Vektordaten wie solchen geeignet, 35
die bei der in Betracht gezogenen Anpassungsberechnung
-42- DE 4631
unter dynamischer Zeitversetzung verarbeitet werden.
Obwohl sich die vorstehende Erläuterung hauptsächlich auf die mit den Gleichungen (1), (2) und (3) dargesteLLten
dynamischen Zeitversetzungs-Berechnungen bezieht, besteht bei dem erfindungsgemäßen Matrixprozessor keine Einschränkung
auf diese Berechnungen; vielmehr kann der Prozessor gleichermaßen dann verwendet werden, wenn beispielsweise
gemäß der vorstehenden Beschreibung die Gleichung (2) durch die Gleichung (4) ersetzt wird; ansonsten kann auch der
erfindungsgemäße Matrixprozessor zur Ausführung von Berechnungen für alle Kombinationen zweier Arten von Variablen
und für irgendwelche Rekursivformelgleichungen mit örtlicher Abhängigkeit der Daten unter Verwendung dieser
Rechenergebnisse verwendet werden.
Bei dem erfindungsgemäßen Matrixprozessor sind die Verarbeitungselemente
mit vorbestimmten Eingabe/Ausgabevorrichtungen und Rechenvorrichtungen ringförmig über Multiplexer
verbunden, mit denen entweder ein Datenübertragungsweg für den Datenaustausch mit benachbarten Elementen oder
eine externe Eingabe-Sammelleitung gewählt wird. Ferner sind diese Verarbeitungselemente so gestaltet, daß parallel
zu der üblichen Verarbeitung in einem jeden Element 25
die gleichzeitige Übertragung der jeweiligen Verarbeitungsergebnisse
durch alle Elemente zu benachbarten Elementen in einer vorbestimmten Häufigkeit ausgeführt wird.
Diese Gestaltung macht es möglich, die Berechnungen für alle Kombinationen zweier Arten von Variablen und für
irgendwelche Rekursivformelgleichungen mit Ortsabhängigkeit der Daten unter Verwendung der Ergebnisse dieser Berechnung,
wie es bei der Anpassungsberechnung unter dynamischer Zeitversetzung (dynamic time warping) typisch ist,
mit einer Anordnung aus einer dem Umfang der auszuführen-35
den Berechnung entsprechend geeigneten Anzahl von Verar-
-43- DE 4631
beitungselementen durch Parallelverarbeitung mit hohem
Wirkungsgrad auszuführen, während alle Verarbeitungselemente mit hohem Wirkungsgrad arbeiten.
Bei der durch die Gleichungen (1) bis (3) dargestellten Berechnung wird als Endergebnis der Verarbeitung der Wert
S. N gefordert. Ein Verfahren zum Steuern eines erfindungsgemäßen
Matrixprozessors wird nun anhand eines Falls n erläutert, bei dem die vorangehend genannten dynamischen
Zeitversetzungs-Berechnungen im Hinblick auf alle Kombinationen aus einer einzige Vektorfolge C und 1 Vektorfolgen
R (p = 1,2,....,1) ausgeführt werden, um als Endergeb
nis S",N zu erhalten.
Die Fig. 11 zeigt ein Ausführungsbeispiel für die Gestaltung eines Matrixprozessors, bei dem Verarbeitungselemente
ringförmig angeordnet und verbunden sind. Nach Fig. 11
sind η Verarbeitungselemente vorgesehen (n * N ). An diesem
Matrixprozessor wird das erfindungsgemäße Steuerverfahren angewandt.
In Fig. 11 ist mit 51 ein Verarbeitungselement (PE) bezeichnet, das eine Recheneinheit zur Addition, Subtraktion,
Vergleichsberechnung und Produktsummenberechnung enthält, 25
die für die Berechnung gemäß der vorangehend genannten Gleichung (1) erforderlich sind. Das Element 51 hat Register
für den Datenaustausch mit einem benachbarten Element und mit einer externen Quelle, einen Speicher zum
Speichern von Rechenergebnissen und übertragenen DAten 30
sowie eine Steuereinheit zum Steuern eines jeweiligen Abschnitts eines Mikroprogrammspeichers, der Betriebsvorgänge
zur Verarbeitung in dem Element enthält. Mit 52-1 bis 52-n sind Multiplexer bezeichnet, die entweder eine externe
Sammelleitung 53, welche aus einer externen Quelle zu ei-35
nem Zeitpunkt η Eingangsvektordaten c. (entsprechend der
-44- DE 4631
Anzahl η der Elemente) eingibt, oder einen Datenübertragungsweg
55 anwählen, auf dem Eingangs-Vektordaten c aus einem benachbarten Element übertragen werden. Mit 54 ist
c eine Eingabe/Ausgabe-Sammelleitung bezeichnet, die für
die Eingabe von Eingangs-Vektordaten r? sowie für die Ausgabe der Rechenendergebnisse S?,N an einen externen
Bestimmungsort eingesetzt wird. Der Datenübertragungsweg 55 überträgt die Daten c und Zwischenergebnisse S-? (j=1,
2, , N -1) zwischen den Elementen. Mit 56 sind an
die Sammelleitung 54 angeschlossene Eingabe/Ausgabe-Anschlüsse der jeweiligen Elemente bezeichnet. Mit 57 ist
ein Gesamtsteuersystem wie ein Verarbeitungscomputer bezeichnet, der den jeweiligen Elementen Steuersignale 58
, _ liefert. Mit 59, 60 und 61 sind jeweils Eingangs-Vektorb
datenfolgen C, Eingangs-Vektordatenfolgen R (p = 1 , 2 , . . . . 1)
bzw. Rechenendergebnisse S? N (p=1,2, ,1; i=1,2,....I)
bezeichnet. P
Bei dem dermaßen gestalteten Matrixprozessor laufen die dynamischen Zeitversetzungs-Berechnungen gemäß den Gleichungen
(1) bis (3) folgendermaßen ab:
Datenfolgen, die durch das Aufteilen von Eingangs-Vektor-
datenfolgen C in Folgen aus η Daten (entsprechend der An-25
zahl η der Elemente) erzielt werden, sind folgendermaßen gegeben:
ς _ (r
r
r
r
A KIl I ιχϊι L
Kll + q ν.Λ+ ι ) Jl
30 <.
wobei k=0, 1, 2, ....; q = 1,2, , n-1 und kn+q ■= I gilt,
Der Verarbeitungsablauf beinhaltet das wiederholte Ausführen folgender Vorgänge (I) bis (V) für k=0, 1, 2,...:
(I) Der Multiplexer für das Element, das in der mod γ **
( _1N )-ten Aufeinanderfolge in Zählung von dem
-45- DE 4631
Element her angeordnet ist, in welchem die Verarbeitung zwischen der Eingangs-Vektordatenfolge S,
und allen Eingangs-Vektordatenfolgen R (p=1,2,... c 1) beginnt, wird auf die externe Sammelleitung geschaltet,
um die Eingabe einer nachfolgenden Eingangs-Vektordatenfolge
S, aufzunehmen. Synchron mit dieser Dateneingabe beginnt die Berechnung für alle
Eingangs-Datenfolgen R , während in jedes Element aufeinanderfolgend die Eingangs-Vektordaten r" eingegeben
werden. Wenn k=0 gilt, wird der Multiplexer für irgendein Element auf die externe Sammelleitung
geschaltet und diese Verarbeitung ausgeführt.
(II) Die Eingangs-Vektordatenfolge S, wird in die Anordnung
eingegeben; wenn die die Datenfolge S, bildenden Daten den verschiedenen Elementen zugeordnet
sind, wählen alle Multiplexer die Datenübertragungswege zwischen den Elementen. Zugleich wer-
den in allen Elementen die Daten ringförmig zwischen den Elementen übertragen; während synchron
mit dieser Datenübertragung in das jeweilige Element die Eingangsdaten r? eingegeben werden, werden
für alle Eingangs-Datenfolgen R die Berechnungen
/SO P
gemäß den Gleichungen (1) bis (3) ausgeführt.
(III) Bei der Verarbeitung bei den Vorgängen (I) und (II) wird das Rechenergebnis S? M für jede Eingangs-Vektordatenfolge
R an einenFexternen Bestimmungs-P
ort ausgegeben.
(IV) Bei der Verarbeitung bei den Vorgängen (I) und
(II) wird das Rechenergebnis S?, .. ■>
. für die
ι.κ+ ι jn, j
letzten Daten cr, .,-, in jeder Eingangs-Vektor-
^ -"
datenfolge S, in den internen Speicher des EIe-
-46- DE 4631
ments eingespeichert,das diese Berechnung ausführt.
(V) Bei der Verarbeitung bei den Vorgängen (I) und (II)
beginnt um InQd(SC1N ) Prozesszeiten vor dem Zeitpunkt,
an dem der Austausch der Eingangs-Datenfolge S, beginnt, ein jedes Element gleichzeitig einmal
je Prozesszeit einen einzigen Datenwert des in seinen internen Speicher gespeicherten Rechenergebnisses
zu übertragen (wobei die Prozesszeit die Zeit ist, die für die Ausführung dre Verarbeitung
in einem jeden Element erforderlich ist). D.h., die Übertragung wird insgesamt mpd(:gj;..N )-malig vorgenommen.
Ferner wird während der Ringübertragung der 15
Eingangs-Vektordaten C. die Übertragung der Rechenergebnisse zwischen den Elementen in allen Elementen
bei jeweils η - modf^. N ) Prozesszeiten
wiederholt. Einmal je Prozesszeit wird ein einzelnes Rechenergebnis für ein jeweiliges Element über-
20 η
tragen, so daß insgesamt mod (^Z1N ) Übertragungen
erfolgen.
Ein erfindungsgemäßes Steuerverfahren zum Steuern einer
solchen Verarbeitung wird nachfolgend in Absätzen (A) und 25
(B) erläutert.
Die Fig. 12 zeigt ein Beispiel für Kennungen, die für das Ausführen des erfindungsgemäßen Steuerverfahrens den Eingangs-Vektordaten
hinzugefügt werden. Mit 61 und 62 sind 30
Kennungen bezeichnet, die den Kopf bzw. das Ende einer jeden Datenfolge anzeigen. Mit 63 sind Kennungen für das
Einstellen der Zeit zur gleichzeitigen Übertragung der Rechenergebnisse aller Elemente unmittelbar vor dem Austausch
der Eingangs-Vektordatenfolge S, bezeichnet, wäh- -η
rend mit 64 Eingangs-Vektordaten r" bezeichnet sind.
SUSPECTED
-47- DE 4631
(A) Gemäß Fig. 12 werden für jede Eingangs-Vektorda-
tenfolge R den entsprechenden Eingangs-Vektordaten r? die
drei Bits der Kennungen 61 und 62 für das Anzeigen des c Kopfs und des Endes einer jeden Datenfolge sowie der Kennung
63 für das Wählen der Zeit für das gleichzeitige Übertragen der Rechenergebnisse aller Elemente unmittelbar
vor dem Austausch der Eingangs-Vektordatenfolge S, hinzugefügt.
(B) Jedes Verarbeitungselement hat ein Zustandsken-
nungsregister für das Speichern von Informationen für das Beurteilen der Rolle, die das jeweilige Element bei der
Verarbeitung in der gesamten Anorndung zu spielen hat,
._ nämlich von Informationen über den Eingabezustand der
° ώ
Eingangs-Vektordaten r" und über Zählvorgänge für die
Anzahl gleichzeitiger Übertragungen der Rechenergebnisse zwischen allen Elementen bzw. von Umordnungsvorgängen.
Die Fig. 13 zeigt ein Beispiel eines Steuervorgangs des Zustandkennungsregisters in einem Element. Die Figur zeigt
einen Vorgang für die aufeinanderfolgende Eingabe der Eingangs-Vektordaten r? in das jeweilige Element. Mit 66 ist
ein Zustandkennungsregister bezeichnet, das eine Eingabekennung 67 für die Bestimmung eines Eingabezustands der
Eingangs-Vektordaten r" und eine Zählkennung 68 für die Zählung der Anzahl von Übertragungen enthält, die bei der
Umordnung bzw. Neuzuordnung erforderlich sind.
Mit 51 ist das Verarbeitungselement bezeichnet. Mit 54 30
ist die externe Eingabe/Ausgabe-Sammelleitung bezeichnet.
Mit 55 ist der Datenübertragungsweg zwischen den Elementen bezeichnet.
Bei jeder Prozesszeit wird der Inhalt des Zustandkennungsregisters
66 zu dem benachbarten Element übertragen wobei
der Inhalt dazu dient, den jeweiligen Zustand in dem jeweiligen Element einzustellen, bevor zu der nachfolgenden Prozesszeit
die Verarbeitung beginnt. Die Eingangs-Vektordaten r? werden in dasjenige Element eingegeben, dessen Kennung
67 "1" ist. Der Inhalt des Zustandkennungsregisters 66 wird aufeinanderfolgend bei jeder Prozesszeit zu dem benachbarten
Element weitergegeben, so daß die Eingangs-Vektordaten r? aufeinanderfolgend in die jeweiligen Elemente
,Q eingegeben werden. Währenddessen werden synchron mit der
aufeinanderfolgenden Eingabe der Eingangs-Vektordaten r? die Eingangs-Vektordaten c ringförmig in allen Elementen
umgewälzt.
Bei der Anfangseinstellung wird die Kennung 67 in dem Zustandskennungsregister
irgendeines der Elemente auf "1" gesetzt, während die Kennungen 67 der übrigen Elemente auf
"0" gesetzt werden.
Die beiden Arten von Steuerungsmaßnahmen bzw. Steuerungsvorgängen gemäß den Absätzen (A) und (B) werden kombiniert,
so daß das Vorgehen zur Steuerung der Betriebsvorgänge eines vorstehend beschriebenen erfindungsgemäßen Matrixprozessors
entsprechend den vorangehend genannten Betriebsvorgängen (I) bis (V) erläutert werden.
25
Die Fig. 14A bis 14E veranschaulichen ein Beispiel für
einen Steuerungsvorgang in dem Fall, daß der Matrixprozessor nach Fig. 11 die auf der dynamischen Zeitversetzung
beruhende Anpassungsberechnung für n=5, 1=2, N1=O und N9=7
' ^
ausführt.
In diesen Figuren ist mit 51 das Verarbeitungselement bezeichnet, mit 52 der Multiplexer für das Wählen entweder
des Datenübertragungswegs 55 oder der externen Sammellei-35
tung 53 bezeichnet und mit 54 die externe Eingabe/Ausgabe-
-49- DE 4631
Sammelleitung bezeichnet. Mit 66 ist das Zustandkennungsregister bezeichnet, das die Kennung 67 für das Bestimmen
des Eingabezustands der Eingangs-Vektordaten r? und die Kennung 68 für das Zählen der Anzahl von während der Umordnung
bzw. Neuzuordnung ausgeführten Übertragungen enthält. Mit 69ist der durch die Umordnung bei der jeweiligen
Prozesszeit umzuordnende Datenwert bezeichnet. In der nachfolgenden Erläuterung werden durchgehend die vorangehend
die vorangehend genannten verschiedenen Kennungen folgendermaßen bezeichnet:
Den Eingangs-Vektordaten r? hinzugefügte Kennungen:
Den Eingangs-Vektordaten r? hinzugefügte Kennungen:
Kennung 61 = Kopfkennung
Kennung 62 = Endkennung
Kennung 63 = Übertragkennung
Kennungen in dem Zustandkennungsregister 66:
Kennung 67 = Eingabekennung
Kennung 68 = Zählkennung
Die Fig. 14A bis 14E veranschaulichen die Verarbeitungs-20
vorgänge des Elements bei einer jeweiligen Prozesszeit von einer Prozesszeit (t+1), bei der die Eingangs-Vektordatenfolge
S1 = Cc1, C2, c,, C4, cJ durch die Eingangs-Vektordatenfolge
S? = (cfi, C7, cR, cg, C10) ersetzt wird, bis zu
einer Prozesszeit (t+20), bei der die Eingangs-Vektorda-25
tenfolge S- durch die nächste Eingangs-Vektordatenfolge
S, = Cc11, C1-, C13, C14, C15) ersetzt wird, sowie die
Steuerungszustände zu den jeweiligen Zeitpunkten dieser Prozesszeiten. Die Zeiteinheit ist diejenige Zeit, die jedes
Verarbeitungselement für die Verarbeitung gemäß den 30
Gleichungen (1) bis (3) in dem Element benötigt.
Die Prozesszeit (t+1) entspricht der Zeit, die um mod(N1+N2) = mod(6+7)= 3 Intervall vor der Prozesszeit
(t+4) liegt, bei der der Austausch der Vektordatenfolge S1 durch die Vektordatenfolge S2 beginnt. Unmittelbar vor
-50- DE 4631
dieser Prozesszeit (t+1) wird jedem Element ein nachstehend
als Austauschsignal bezeichnetes Steuersignal zugeführt, das die Ausführung des Austauschens der Eingangs-
[- Datenfolge S, befiehlt. Nur das Element PE1 , welches die
Information speichert, daß das Element das erste Element ist, in dem die Verarbeitung der eingegebenen Datenfolge
S1 beginnt, nimmt dieses Austauschsignal auf und bereitet
den Beginn der Umordnung bzw. Neuzuordnung vor.
Bei der vorangehend mit (II) bezeichneten Steuerung wird
2 2 2 2 2
den letzten fünf Datenwerten r,, r., rc, r, und r~ der Ein-
ό 4' b' 6 7
gangs-Vektordatenfolgen R1 und R„ die Übertragkennung "1"
hinzugefügt. Daher nimmt das Element PE1, dessen Eingabekennung
in dem Zustandkennungsregister zur Prozesszeit (t+1) "1" ist, aus diesen Datenwerten den Datenwert r,- auf,
um zu ermitteln, daß die übertragkennung "1" ist, und damit
den Beginn der Umordnung zu erkennen, wobei das Element die Zählkennung auf "1" setzt. Zur gleichen Zeit wird die
Übertragkennung als "1" bewertet und es wird allen EIe-
menten aufeinanderfolgend der Beginn der Umordnung (in der
Richtung des in den Figuren gestrichelt dargestellten Pfeils) gemeldet. Damit werden alle Elemente in einen Übertragszustand
für die Umordnung geschaltet.
Als nächstes wird während der Prozesszeit durch alle Elemente parallel mit der Berechnung gemäß den Gleichungen (1)
bis (3) auch das Ergebnis der Berechnung übertragen. Bei der Prozesszeit (t+1) werden aus den jeweiligen Elementen
die (jeweils in den Elementen PE1, PE7, PE,, PE. bzw. ΡΕς
111 T T
erzielten) Rechenergebnisse S5 ·,, S5 2» ^5 3» ^5 4 unc* ^5
aus dem jeweiligen internen Speicher als erste Übertragungsdaten ausgelesen und durch die Verarbeitung zu diesem
Zeitpunkt zu dem benachbarten Element übertragen. Daher werden diese Daten s! r, s! 1, s] -,. si 7 und s! Λ bis zum
5,5' 5,1' 5,2' 5,3 5,4
Beginn der Verarbeitung bei der Prozesszeit (t+2) jeweils i
-51- DE 4631
in die Elemente PE1, PE2, PE3, PE4 und PE5 umgeordnet. Die
zur Prozesszeit (t+2) in das Element PE9 eingegebenen Vek-
2
tordaten r6 enthalten keine Information für das Rückstellen des Umordnungszustands, so daß zu diesem Zeitpunkt die Umordnung fortgesetzt wird. Daher werden vor dem Beginn der Verarbeitung bei der Prozesszeit (t+3) diese Daten in die Aufeinanderfolge S5 4, S5 r, S5 1, S5 2 und S5 3 umgeordnet.
tordaten r6 enthalten keine Information für das Rückstellen des Umordnungszustands, so daß zu diesem Zeitpunkt die Umordnung fortgesetzt wird. Daher werden vor dem Beginn der Verarbeitung bei der Prozesszeit (t+3) diese Daten in die Aufeinanderfolge S5 4, S5 r, S5 1, S5 2 und S5 3 umgeordnet.
Durch das Wiederholen dieser Verarbeitung werden diese Daten vor den Beginn der Verarbeitung zur Prozesszeit (t+4)
in die vorbestimmten Elemente in der Aufeinanderfolge S,- -,,
1111 JjJ
Sr ., S5 5, Sr - und Sr 2 umgeordnet. Beispielsweise werden
_ die neu in das Element PE. eingeordneten Daten S5 - sofort
bei der Verarbeitung bei der Prozesszeit (t+4) eingesetzt, um aus diesem Element PE. die Daten S4- 1 zu erhalten. Das
4 o,l
gleiche gilt auch für die anderen Daten, so daß die in das Element PE1- umgesetzten Daten S1- 7 zum Erhalten der Daten
Sn - bei der Prozesszeit (t+5) herangezogen werden. Zur
Prozesszeit (t+4) ist in dem Element PE4 der Datenwert renthalten,
dessen Kopfkennung "1" ist; daher wird diese Kennung ausgewertet und daraus erkannt, daß die Umordnung
abgeschlossen ist; infolgedessen wird in dem Zustandken- _ nungsregister die übertragkennung rückgesetzt. Zugleich
wird diese Rücksetzung bestätigt und es wird allen Elementen (in der Richtung der in den Figuren gestrichelt dargestellten
Pfeile ) der Abschluß der Umordnung gemeldet, so daß in allen Elementen die Umordnungszustand-Einstellung
aufgehoben wird. Infolgedessen wird zur Prozesszeit (t+4) 30
in den jeweiligen Elementen nur die Verarbeitung gemäß den
Gleichungen (1) bis (3) ausgeführt.
Nachdem ferner aus dem Gesamt-Steuersystem in jedes Element
das Austauschsignal eingegeben wurde, erkennt das 35
erste Element, welches die Eingangs-Vektordaten aufgenom-
-52- DE 4631
men hat, in denen die Kopfkennung "1" ist, daß es das erste
Element ist, das durch das startende Element abgerufen ist, das die Verarbeitung für die betreffende Eingangs-Vektordatenfolge
S, ausführt, wobei der durch dieses Element verwaltete Multiplexer auf die externe Sammelleitung geschaltet
wird, so daß er ein Eingangskanal für die Eingangs-Vektordatenfolge
S, wird. Danach wird in diesem Element die Information gespeichert, die das erste Element
_ für die Verarbeitung anzeigt. Der Steuerungsvorgang dieser
Art leitet den Austausch der Eingangs-Vektordatenfolgen ein. Gemäß Fig. 14A wird dieser Vorgang zur Prozesszeit
(t+4) von dem Element PE4 ausgeführt.
Die Elemente, die das Anfangs-Element oder das Abschluß-15
Element waren, welche die Berechnung für die ersten Ein-
gangs-Vektordaten aller Vektordatenfolgen R-, R2, , R-,
ausführen, speichern über die Zählvorgänge bei der Umordnung die Informationen für dieses Anfangs-Element oder Abschluß-Element
in den Elementen, bis das Anfangs-Element oder das Abschluß-Element für die Umordnung für die nachfolgende
Datenfolge S.- bestimmt wird. Danach werden die Betriebsvorgänge jedesmal dann erneut begonnen, wenn in
diesen Elementen im Zustandkennungsregister die Eingabekennung auftritt, wobei dann die vorstehend beschriebene
25
Umordnung ausgeführt wird. Bei dem in Fig. 14B gezeigten Beispiel erfolgt die zweite Umordnung während der Zeitdauer
von der Prozesszeit (t+6) bis zur Prozesszeit (t+8).
Durch diese zweite Umordnung werden in die vorbestimmten
12 2 2
Elemente die Rechenergebnisse S,- c, Sc 1, Sc o, Sc ? und
2 5,6' 5,1» 5,2» 5,3
Sr λ neu eingeordnet, die die zweiten Übertragungsdaten
für das jeweilige Element sind. Durch eine dritte Umordnung während der Zeitdauer von der Prozesszeit (t+11) bis
zur Prozesszeit (t+13) werden in die vorbestimmten Elemente
2 2 2
die Rechenergebnisse Sc r, Sc Λ und Sc - neu eingeordnet.
5,5» 5,6 5,7
[MSi3ECTED
-53- DE 4631
Zur Prozesszeit (t+14) ist die Umordnung für die Eingangs-Vektordatenfolge
S- gemäß den Zählvorgängen zwischen den Elementen abgeschlossen, die das Anfangs-Element und das
c Abschluß-Element für die Umordnung sind. In dem Element PE. wird die Information eingestellt, die das Anfangs-Element
für die Verarbeitung der Eingangs-Vektordatenfolge S2
anzeigt; es wird das aus dem Gesamt-Steuersystem unmittelbar vor dieser Prozesszeit gesendete Austauschsignal über-
2 ,Q prüft; die den Eingangs-Vektordaten r5 hinzugefügte Übertragkennung
wird als "1" ermittelt. Daraufhin wird sofort in dem Zustandkennungsregister die Zählkennung gesetzt.
Danach wird nach der Prozesszeit (t+15) der vorangehend be-1(_
schriebene Verarbeitungsvorgang wiederholt.
Andererseits ermittelt das Element, das die Verarbeitung für die Eingangs-Vektordaten rß und r- mit der Endkennung
ausführte, daß diese Kennungen "1" sind, woraufhin das Element parallel mit der Berechnung gemäß den Gleichungen
t)
(1) bis (3) das Rechenergebnis SV,N an den externen Bestimmungsort
abgibt.
Gemäß den Figuren 14A bis 14E wird zur Prozesszeit (t+3)
das Ergebnis S1 n ausgegeben, zur Prozesszeit (t+3) das
Zo 2 ' »'
Ergebnis S7 7 ausgegeben, zur Prozesszeit (t+5) das Ergeb-
2
nis S, 7 ausgegeben, zur Prozesszeit (t+6) das Ergebnis
nis S, 7 ausgegeben, zur Prozesszeit (t+6) das Ergebnis
2 2
S. 7 ausgegeben, zur Prozesszeit (t+7) das Ergebnis S,- 7
4, / .j ο, /
ausgegeben, zur Prozesszeit (t+9) das Ergebnis S, , aus-
on gegeben, zur Prozesszeit (t+10) das Ergebnis S7 fi ausge-ι
^ > ο
geben, zur Prozesszeit Ct+11) das Ergebnis S0 , ausgege-
1 ο , ο
ben, zur Prozesszeit (t+12) das Ergebnis S0 , ausgegeben,
1 y, ο
zur Prozesszeit (t+13) das Ergebnis S10 , ausgegeben, zur
Prozesszeit (t+16) das Ergebnis Sfi 7 ausgegeben, zur Pro-
zesszeit (t+17) das Ergebnis S7 7 ausgegeben, zur Prozess-2
*
zeit (t+18) das Ergebnis Sg 7 ausgegeben, zur Prozesszeit
-54- DE 4631
2
(t+19) das Ergebnis SQ 7 ausgegeben und zur Prozesszeit
(t+19) das Ergebnis SQ 7 ausgegeben und zur Prozesszeit
Ct+20) das Ergebnis S.Q 7 ausgegeben. Auf diese Weise werden
die Rechenergebnisse für die Eingangs-Vektordatenfolge S- an die externen Bestimmungsorte in der Aufeinanderfolge
S6' S7,6' S8,6' S9,6>
S10,6' S6,7' S7,7' S8,7' S9,7 Und
7 ausgegeben.
Die das Anfangs-Element für die Verarbeitung für die jeweilige Eingangs-Vektordatenfolge S, anzeigende Information
wird rückgesetzt, nachdem die Übertragkennung als "1" ermittelt wurde und festgestellt wurde, daß die Zählkennung
auf "1" gesetzt ist. Ferner wird dann, wenn die Übertragkennung "1" ist, die das Anfangs-Element für die Umordnung
anzeigende Information auf "1" gesetzt, wenn die Zählkennung "0" ist, und die Information nicht geändert, wenn diese
Zählkennung "1" ist. Wenn die Übertragkennung "1" ist, wird die das Abschluß-Element für die Umordnung anzeigende
Information auf "0" gesetzt, falls die Zählkennung "1" ist, und diese Information nicht geändert, falls diese Zählkennung
"0" ist. Nachdem der Multiplexer die externe Sammelleitung wählt, behält der Multiplexer das Wählen der externen
Sammelleitung bei, bis die Eingabekennung im Zustandkennungsregister
auf "1" wechselt; nachdem ermittelt
ist, daß die Eingabekennung "1" ist, wählt der Multiplexer 25
den Datenübertragungsweg zwischen den Elementen an.
Gemäß der vorstehenden Erläuterung dienen der Inhalt des Zustandkennungsregisters sowie die den Eingangs-Vektordaten
r? hinzugefügten Kennungen dazu, unmittelbar vor der Ausführung der Berechnungen gemäß den Gleichungen (1) bis
(3) den Verarbeitungszustand des jeweiligen Elements zu ermitteln. Infolgedessen sind bei diesem Steuerverfahren
aus dem Gesamt-Steuersystem keine Steuersignale erforderlich, die die Verarbeitungsvorgänge in dem jeweiligen EIe-35
ment vorschreiben. Es genügt, wenn auf zyklische Weise je-
-55- DE 4631
dem Element ein Steuersignal zugeführt wird, das den Zeitpunkt für den Austausch der Eingangs-Vektordatenfolge S,
anzeigt. Diese Gestaltung macht es möglich, kontinuierlich
c die dynamischen Zeitversetzungs-Berechnungen gemäß den
Gleichungen (1) bis (3) auszuführen, während in dem ganzen Matrixprozessor eine selbstständige Steuerung ausgeführt
wird.
in Die Fig. 15 zeigt ein Ausführungsbeispiel für die Schaltungsanordnung
in dem Fall, daß in einem Verarbeitungselement dieses Matrixprozessors eine Einrichtung für das erfindungsgemäße
Steuerverfahren vorgesehen ist.
nc In Fig. 15 sind die externe Eingangs-Vektordaten-Sammel-Ib
leitung 53, die externe Eingabe/Ausgabe-Sammelleitung und der Anschluß 56 zum Verbinden des Elements mit der
Sammelleitung 54 diegleichen wie die in Fig. 11 gezeigten. Mit 71 ist ein Steuereingangsanschluß zum Steuern einer
Steuereinheit 88 aus einer Steuersignalquelle wie einem Verarbeitungscomputer bezeichnet. Mit 72 und 73 sind ein
Eingangsanschluß bzw. ein Ausgangsanschluß für die Datenübertragungswege zwischen den Elementen bezeichnet. Mit
74 und 75 sind ein Eingangsanschluß bzw. -ein Ausgangsano_
Schluß eines Zustandkennungsregisters 86 bezeichnet. Mit 76 und 77 sind ein Eingangs-Register bzw. ein Ausgangs-Register
zur Datenübertragung bezeichnet. Mit. 78 und 79 sind Pufferspeicher für Eingangs-Vektordaten c. bzw. r.
bezeichnet. Mit 80 ist ein Pufferregister (viertes Regi-
ster) für die Ausgabe von Daten an die Sammelleitung 54 30
bezeichnet. Mit 81 ist ein Zähler zum Adressieren eines
Speichers bezeichnet. Mit 82 ist eine Recheneinheit bezeichnet, die eine Addier/Subtrahier-Einheit 82-1, einen
Akkumulator 82-2 und eine Produktsummeneinheit 82-3 enthält.
Mit 83 ist ein Arbeitsspeicher bezeichnet. Mit 84 35
und 85 sind Adressierleitungen für den Arbeitsspeicher be-
-56- DE 4631
zeichnet. Mit 87 ist ein Puffer-Register für Kennungen bezeichnet,
die den Eingangs-Vektordaten hinzugefügt sind. Mit 89 ist eine Befehlseinheit bezeichnet, die einen Mikg
roprogrammspeicher 89-1 mit einem Mikroprogramm, das die
Betriebsvorgänge der Verarbeitung des Elements enthält, einen Programmzähler 89-2, ein Befehlsregister 89-3 und
einen Befehlsdecodierer 89-4 enthält. Mit 90 ist ein Puffer-Register zum Speichern der Eingangs-Vektordaten r. bei
deren Eingabe aus der Sammelleitung 54 bezeichnet. Mit 91, 92, 93 und 94 sind jeweils Wähler bezeichnet, die von der
Steuereinheit 89 gesteuert werden.
Die Steuereinheit 88 in dem jeweiligen Verarbeitungselement empfängt ein Prozeßstart-Einschaltsignal aus einer
externen Steuereinheit und wird entsprechend dem in Fig. 17 gezeigten Steuerungsablauf gesteuert. Die Steuereinheit
88 erzeugt ein Steuersignal für das Einstellen der Anfangsadresse des Programms in dem Programmzähler 89-2.
Dann steuert die Steuereinheit 88 die Nutzung der Übertragung der Eingabekennung und der Zählkennung; ferner
prüft die Steuereinheit die Kennung f,- , für das fünfte
und sechste Teilfeld im Programmfeld (1) durch das Ermitteln, ob die Eingabekennung "1" ist oder nicht, wonach die
__ Steuereinheit dann diese Kennung setzt. Bei diesem Zustand
25
arbeitet der Programmzähler 89-2 in der Weise, daß die Ausführung des Programms gemäß dem Feld (1) gesteuert wird.
Wenn das Programm gemäß dem Feld (1) abgeschlossen ist,
wird die Eingabekennung ausgewertet; falls die Eingabe-30
kennung "1" ist, wird die den in das Element eingegebenen Vektordaten r. hinzugefügte Kennung so ausgewertet, daß
die Zustandseinstellung vorgenommen wird, die für das Ausführen
des Programms gemäß dem Feld (2) notwendig ist.
Wenn die Kopfkennung als "1" ermittelt wird, wird die 35
Zählkennung ausgewertet. Falls die Zählkennung "0" ist,
-57- DE 4631
wird der zuvor eingestellte Zustand unverändert aufrechterhalten, während die Steuereinheit 88 die Steuerung der
Ausführung des Programms gemäß dem Feld (2) beginnt.
Wenn die Zählkennung "1" ist, wird eine Umordnungszustand-AbschaItkennung
auf "1" gesetzt, um das Erzeugen eines Rückstellsignals für den Umordnungszustand vorzubereiten.
Die Zählkennung wird auf "0" gesetzt und es wird das Rück-Stellsignal zum Rückstellen des Umordnungszustands gesendet.
Danach wird zum Maskieren des zweiten Teilfelds des Programmfelds (2) die Kennung f~ auf "0" geschaltet, während
die Information für das Anfangs-Element auf "1" gesetzt wird. Falls die Endkennung ermittelt wird, wird die
das Ausführen des Programms gemäß dem dritten Teilfeld des Felds (2) steuernde Kennung f, in Abhängigkeit davon, ob
die Endkennung "1" ist oder nicht, auf "1" oder "0" geschaltet. Bei der Prüfung der übertragkennung wird die
Information über das Anfangs-Element ausgewertet; falls
die Information nicht "1" ist, beginnt die Steuereinheit 20
das Ausführen des Programms gemäß dem Feld (2) ohne Änderung des vorangehenden Zustands zu steuern.
Falls die Information für das Anfangs-Element "1" ist,
wird die Umordnungszustand-Einschaltkennung auf "1" ge-25
setzt, um das Herbeiführen eines Umordnungszustands vorzubereiten,
während die Zählkennung auf "1" gesetzt wird. Dann wird ein Einschaltsignal zum Einschalten des Umordnungszustands
gesendet und die Kennung f- für das Ausführen des Programms gemäß dem zweiten Teilfeld des Felds (2)
oü
auf "1" geschaltet. Ferner wird die Information für das Anfangs-Element auf "0" geschaltet, wonach die Steuereinheit
88 die Steuerung der Ausführung des Programms gemäß dem Feld (2) beginnt.
35
-58- DE 4631
Wenn die den eingegebenen Vektordaten r. hinzugefügte Kennung eine Kennung ist, die nicht eine der vorstehend genannten
drei Kennungen ist, nämlich eine Übersprung- bzw.
ρ- NOP-Kennung ist, wird die Umordnungszustand-Einschaltkennung
geprüft. Falls diese Kennung "0" ist, beginnt die Steuereinheit 88 die Steuerung der Ausführung des Programms
gemäß dem Feld (2) ohne Änderung des vorangehenden Zustands. Wenn diese Kennung "1" ist, wird die Zählkennung
n auf "1" geschaltet, um erneut die Umordnung zu beginnen,
wobei das Einschaltsignal für den Umordnungszustand gesendet wird und die Kennung f- auf "1" gesetzt wird. Ferner
wird die Information für das Anfangs-Element auf "0" gesetzt.
Wenn die Eingabekennung nicht "1" ist, werden die Berechnungen unter Verwendung der schon bei der Ausführung des
Programms gemäß dem Feld (1) in das Element eingespeicherten Vektordaten r. ausgeführt, so daß die für die Ausführung
des Programms gemäß dem Feld (2) erforderlichen Zu-
Standseinstellungen in Abhängigkeit davon ausgeführt werden, ob das Einschalt- oder Abschaltsignal für den Umordnungszustand
empfangen wurde oder nicht. Wenn das Einschaltsignal empfangen wurde, wird die Kennung f2 auf "1" gesetzt.
Wenn statt des Einschaltsignals das Abschaltsignal 25
empfangen wurde, wird die Kennung f~ auf "0" gesetzt. Wenn
keines der Signale empfangen wurde, beginnt die Steuereinheit 88 das Steuern der Ausführung des Programms gemäß dem
Feld (2) ohne Änderung des vorangehenden Zustands.
Wenn die Zustandseinstellungen für die vorangehend beschriebenen verschiedenen Fälle abgeschlossen sind, wird
der Programmzähler 89-2 in Betrieb gesetzt, so daß das Programm gemäß dem Feld (2) ausgeführt wird. Den vorstehend
beschriebenen Steuerungsvorgang wiederholt die Steuer-
einheit 88 bei jeder Prozesszeit.
-59- DE 4631
Das vorstehend beschriebene Ausführungsbeispiel ermöglicht es, die gesamte Anordnung selbstständig allein dadurch zu
steuern, daß 3-Bit-Kennungen hinzugefügt werden und in jec dem Element 2-Bit-Zustandkennungen aufgenommen werden. Diese
Gestaltung ermöglicht nicht nur eine Verringerung der Belastung des gesamten Steuersystems 57, sondern auch eine
Vereinfachung des Steuerverfahrens.
,Q Ein weiteres Ausführungsbeispiel für das erfindungsgemäße
Steuerverfahren wird anhand eines Falls beschrieben, bei
dem aus einer (1 χ k)-Matrix A und einer (k χ m )-Matrix B eine Produktmatrix C erzielt wird. Falls A = {a^ |1=i=l,
1^j=kj , B = {bi;j I l^i=k, 1=j=m} und C = {c^ I 1^i=I,
15 l=j=m} gilt, gilt
k
cij = p = 1 aip bpj ....(10)
cij = p = 1 aip bpj ....(10)
Falls aA = (a^, ai2, , a.R) und bj = (b}y b2j,
b<.) gilt, kan d h () fdß drückt werden:
A ^ 2 R j }y j
b<.) gilt, kann diese Gleichung (10) folgendermaßen ausgeC1. - a. . bj ....(11)
In dieser Gleichung ist mit "»" der innere Produktoperator
zwischen den Vektoren dargestellt.
Die Multiplikation der Matrix A mit der Matrix B bedeutet, daß c±. gemäß dieser Gleichung (11) für alle Fälle 1=i=l
und 1=j=m zu bilden ist. Das Steuerverfahren wird anhand
®^ des Falls erläutert, daß ein Matrixprozessor mit 1 (l=m)
Verarbeitungselementen in linearer Reihenanordnung diese Art der Berechnung für verschiedene m ausführt, nämlich
in einem besonderen Fall für 1=4 und m=6. Es wird nun angenommen, daß jedes Verarbeitungselement die Funktionen
zur Berechnung der vorstehend genannten Gleichung (11),
-60- DE 4631
die Funktionen zur Eingabe der Daten a^zur Eingabe und
Ausgabe der Daten b. und zum Speichern und Ausgeben der Rechenergebnisse c . sowie eingebaute Verarbeitungsbefehle
c für das Ausführen dieser Verarbeitungsvorgänge hat.
Die Fig. 16A bis 161 zeigen ein Beispiel für die Steuerungsvorgänge in dem Fall, daß die Matrixmultiplikation in einem
Matrixprozessor mit linearer Anordnung ausgeführt wird.
Mit 54 ist die Eingabe/Ausgabe-Sammelleitung für die Eingabe der Daten a. in das Element und für die Ausgabe des
Rechenergebnisses c. aus dem Element bezeichnet. Mit 55 ist der Datenübertragungsweg zwischen den Elementen bezeichnet.
Mit 66 ist das Zustandkennungsregister bezeichnet, das die Kennung 67, die den Zustand der Eingabe der Daten aus
der Sammelleitung 54 anzeigt, und die Kennung 68 enthält, die den Zustand der Ausgabe des Rechenergebnisses anzeigt.
Mit 51 ist das Verarbeitungselement bezeichnet, a. ist ein Spaltenvektor und b. ist ein Zeilenvektor der Determinanten
bzw. Matrizen A und B.
Bei der nachfolgenden Erläuterung der Betriebsvorgänge werden die Kennungen 67 und 68 folgendermaßen bezeichnet:
Kennung 67 = Eingabekennung
Kennung 68 = Ausgabekennung
Ferner wird dem Vektor b.. , b~, b,, b-, br und b6 die Endkennung
hinzugefügt. Nur die Endkennung des Vektors bg ist
UI Il
Anfänglich wird nur die Eingabekennung des Elements PE.
auf "1" gesetzt. Bei einer Prozesszeit ti wird in dem Element PE1 diese Kennung überprüft und über die Sammelleitung
ι
54 der Vektor a.. in das Element PE1 eingegeben. Zugleich
-61- DE 4631
wird aus dem Datenübertragungsweg 55 der Vektor b1 eingegeben.
Danach wird a1 « b1 berechnet und intern als Datenwert C11 gespeichert. Vor dem Beginn der Berechnung zur
g Prozesszeit t2 wird der Inhalt des Zustandkennungsregisters 66 zum benachbarten Element übertragen und die Eingabekennung
des Elements PE2 auf "1" gesetzt. Zur Prozesszeit t2 wertet das Element PE_ diese Kennung aus, so daß dann
zugleich mit der Eingabe des Vektors a2 aus der Sammelleitung
54 in das Element PE7 der Vektor b1 aus dem Element
PE1 in das Element PE9 eingegeben wird, in welchem a?»b..
berechnet und als Datenwert C21 gespeichert wird. Zu diesem
Zeitpunkt wird parallel mit der Verarbeitung in dem Element PE- in das Element PE1 der Vektor b2 eingegeben
und a.j«b- berechnet und als Datenwert C1- gespeichert.
Danach wird die gleiche Verarbeitung bis zu einer Prozesszeit t4 wiederholt. Bevor die Berechnung zur Prozesszeit
t5 beginnt, wird der Inhalt des Zustandkennungsregisters 66 übertragen, so daß die Eingabekennungen aller Elemente
auf "0" gesetzt werden, worauf ermittelt wird, daß die Eingabe aus der Sammelleitung 54 abgeschlossen ist. Bei
jeder Prozesszeit werden die Vektoren b. zu dem benachbarten Element übertragen, so daß zur Prozesszeit t5 alle
Elemente die Innenprodukt-Berechnungen ausführen und die 25
Ergebnisse dieser Berechnungen sammeln. Vor dem Beginn der Berechnung zur Prozesszeit t6 ermittelt das Element PE1,
daß die dem eingegebenen Vektor b, hinzugefügte Endkennung "1" ist; daraufhin stellt das Element PE1 für alle in diesem
Element PE1 gesammelten Rechenergebnisse einschließ-
du '
lieh des zu diesem Zeitpunkt erhaltenen Ergebnisses den
Ausgabezustand ein und schaltet die Ausgabekennung auf "1". Gleichzeitig mit dem Setzen der Ausgabekennung auf "1"
meldet das Element PE1 aufeinanderfolgend den Elementen
PE-, PE, und PE. seinen eigenen Verarbeitungszustand. In
cj 4
den Elementen PE-, PE3 und PE4 wird dieser Zustand über-
-62- DE 4631
prüft und ermittelt, daß durch die Ausgabe der Rechenergebnisse eine Differenz hinsichtlich der Anzahl der Verarbeitungsschritte
zwischen den Elementen besteht. Unter π diesen Bedingungen wird in diesen Elementen selbst dann,
wenn deren eigene Verarbeitung abgeschlossen ist, ein Verarbeitungsbereitschaf tszustand eingestellt, bis ein Steuersignal
empfangen wird, welches anzeigt, daß der Zustand in dem Element PE1 aufgehoben wurde. Das Element PE1 stellt
die Ausgabekennung zurück, wenn die Ausgabe der Rechenendergebnisse abgeschlossen ist; nachdem dieses Rückstellen
der Kennung bestätigt ist, meldet das Element PE1 allen
Elementen, daß sein Ausgabezustand aufgehoben wurde. Danach wird zur Prozesszeit t7 der Vektor b. zum benachbarten
Element übertragen, wonach das Element PE,, die gleiche Verarbeitung und die gleichen Steuerungsvorgänge wie die
zur Prozesszeit t6 von dem Element PE1 ausgeführten vornimmt.
Auf diese Weise wird dann, wenn die Verarbeitung zur Prozesszeit t9 abgeschlossen ist, das Ergebnis der
Multiplikation der Matrizen A und B erhalten.
Gemäß der vorstehenden Beschreibung hat das erfindungsgemäße
Steuerverfahren den Vorteil, daß das Ausführen einer selbstständigen Matrixmultiplikations-Verarbeitung in einem
Matrixprozessor allein dadurch ermöglicht ist, daß einem Eingangs-Vektordatenwert eine 1-Bit-Kennung hinzugefügt
wird und in einem Verarbeitungselement eine 2-Bit-Kennung aufgenommen wird.
Ein Matrixprozessor weist Multiplexer, eine Vielzahl von
Verarbeitungselementen, die über die Multiplexer ringförmig verbunden sind, und eine Steuereinheit zum Steuern
der Multiplexer und der Verarbeitungselemente auf. Jedes der Verarbeitungselemente nimmt einen von Eingangs-Vektordatenwerten
von zwei Arten von Eingangs-Vektordatenfolgen
auf. Der andere Eingangs-Vektordatenwert wird in das Ver-
-63- DE 4631
arbeitungselement aus einer Eingabe/Ausgabe-Datensammelleitung eingegeben. Der eine Eingangs-Vektordatenwert und
ein Rechenergebnis aus dem Verarbeitungselement werden zu
einem benachbarten Verarbeitungselement übertragen. Ein
5
Rechenendergebnis wird an die Eingabe/Ausgabe-Datensammelleitung abgegeben. Alle Verarbeitungselemente übertragen
die jeweiligen Verarbeitungsergebnisse zu den jeweils benachbarten Verarbeitungselementen gleichzeitig parallel mit
einem Verarbeitungsvorgang in dem jeweiligen Verarbeitungselement. Jeder der Multiplexer enthält einen Wähler zum
Wählen entweder eines Datenübertragungswegs für den Datenaustausch zwischen den benachbarten Verarbeitungselementen
oder einei-Eingangs-Vektordaten-Sammelleitung für die Lieferung
des einen Eingangs-Vektordatenwerts aus einer ex-15
ternen Quelle. Der Matrixprozessor führt eine Anpassungsberechnung unter dynamischer Zeitversetzung mit einem hohen
Wirkungsgrad aus.
Claims (5)
- Patentansprüche1 . Matrixprozessor mit Multiplexern, η Verarbeitungselementen und einer Einrichtung zum Steuern der Multiplexer und der Verarbeitungselemente, dadurch gekennzeichnet,daß die η Verarbeitungselemente (1; 51) über die Multiplexer (2; 52) in der Form eines Rings verbunden sind,
daß jedes der Verarbeitungselemente
eine erste Eingabevorrichtung (13, 17, 21; 72, 76, 78) zur Eingabe von Eingangs-Vektordaten c"*" oder "r*" aus zweii i
Arten von Eingangs-VektordatenfolgenCN ic*. J (i = 1, 2, , I) und Tf= {T*7(j=1 , 2,...,N);eine zweite Eingabevorrichtung (12, 15, 20; 56, 79, 90) zur Eingabe der anderen Eingangs-Vektordaten aus einer Eingabe/Ausgabe-Datensammelleitung (4; 54),
eine Rechenvorrichtung (22, 23; 82, 83) für das Ausführen vorbestimmter Additions- und Subtraktionsberechnungen, Vergleichsberechnungen und Produktsummenberechnungen an den beiden Arten der Eingangs-Vektordaten und zum Speichern der Rechenergebnisse,eine Übertragungsvorrichtung (14, 18; 73, 77) für das Übertragen der einen der Eingangs-Vektordaten und eines Rechenergebnisses aus der Rechenvorrichtung zu einem be--2- DE 4631nachbarten Verarbeitungselement, eine Ausgabevorrichtung (12, 16; 56, 80) für die Ausgabe eines Rechenendergebnisses aus der Rechenvorrichtung an die Eingabe/Ausgabe-Datensammelleitung,eine Ablaufvorrichtung (28, 32; 81, 94) für das Ausführen einer Verarbeitung, bei der parallel mit einer Rechenverarbeitung in einem jeweiligen Verarbeitungselement alle Verarbeitungselemente gleichzeitig die jeweiligen Verar-jQ beitungsergebnisse (Rest N/n)-mal zu den jeweils benachbarten Verarbeitungselementen übertragen, wobei (Rest N/n) der Divisionsrest bei dem Dividieren von N durch η ist, und
eine Steuervorrichtung (24; 88, 89) für das Steuern der1P- Rechenvorrichtung und der Ablaufvorrichtung aufweist, und daß jeder der Multiplexer (2; 52) eine Wählvorrichtung zum Wählen entweder eines Datenübertragungswegs (5; 55) für die Datenübertragung zwischen den benachbarten Verarbeitungselementen oder einer Eingangs-Vektordaten-Sammelleitung (3; 53) für das Zuführen der einen Eingangs-Vektordaten aus einer externen Quelle enthält. - 2. Matrixprozessor nach Anspruch 1, dadurch gekennzeichnet,daß die erste Eingabevorrichtung für die Eingabe der einen Eingangs-Vektordaten einen mit einem Datenübertragungsweg (5; 55) verbindbaren ersten Anschluß (13; 72), ein an den ersten Anschluß angeschlossenes erstes Register (17; 76) und einen an das erste Register angeschlossenen ersten Pufferspeicher (21; 78) aufweist, 30daß die zweite Eingabevorrichtung für die Eingabe der anderen Eingangs-Vektordaten einen Eingabe/Ausgabe-Anschluß (12; 56), ein an den Eingabe/Ausgabe-Anschluß angeschlossenes zweites Register (15; 90) und einen an das zweiteRegister angeschlossenen zweiten Pufferspeicher (20; 79) 35aufweist,-3- DE 4631daß die Rechenvorrichtung (22, 23; 82, 83) eine erste Recheneinheit (22-1; 82-1) zur Addition, Subtraktion und Vergleichsberechnung, eine zweite Recheneinheit (22-3; g 82-3) zur Produktsummen-Berechnung, ein Pufferregister (22-2; 82-2) für die erste Recheneinheit, einen ersten Wähler (31; 93) zum Wählen eines Ausgangssignals aus dem Pufferregister, dem ersten Register oder der zweiten Recheneinheit, einen Arbeitsspeicher (23; 83) zum Speichern ,Q des Ausgangssignals des ersten Wählers und einen zweiten Wähler (29, 30; 91, 92) zum Wählen eines Ausgangssignals aus dem ersten Register, dem Pufferregister, dem ersten Pufferspeicher, dem zweiten Pufferspeicher und/oder dem Arbeitsspeicher und zum Zuführen des gewählten Ausgangsp. signals zu der ersten Recheneinheit aufweist, daß die Ablaufvorrichtung einen Zähler (28; 81), einen dritten Wähler (32; 94) zum Wählen entweder einer ersten Adresseninformation aus dem Zähler oder einer zweiten Adresseninformation aus der Steuervorrichtung (24; 88, 89) und einen an den dritten Wähler angeschlossenen Teil (23-2) des Arbeitsspeichers enthält,daß die Übertragungsvorrichtung ein an den Arbeitsspeicher angeschlossenes drittes Register (18; 77) und einen an das dritte Register angeschlossenen zweiten Anschluß__ (14; 73) aufweist, der mit dem Datenübertragungsweg ver-2bbindbar ist,daß die Ausgabevorrichtung für die Eingabe/Ausgabe-Datensammelleitung (4; 54) ein an den Arbeitsspeicher angeschlossenes viertes Register (16; 80) und den Eingabe/ Ausgabe-Anschluß aufweist unddaß die Steuervorrichtung (24; 88, 89) ein Steuersignal aus der Einrichtung (10; 57) für das Steuern der Verarbeitungselemente (1; 51) und der Multiplexer (2; 52) empfängt.3506743-4- DE 4631
- 3. Matrixprozessor nach Anspruch 2, dadurch gekennzeichnet ,daß jedes Verarbeitungselement (51) eine Zustandkennungsvorrichtung (74, 75, 86) aufweist, die eine Zustandskennung aus einem der benachbarten Verarbeitungselemente aufnimmt, um die Zustandskennung zu einem anderen der benachbarten Verarbeitungselemente zu übertragen,
daß das zweite Register (90) einen Registerteil (87) zum ,Q Speichern einer Kennung aufweist, die den aus der Eingabe/Ausgabe-Datensammelleitung (54) eingegebenen Eingangs-Vektordaten hinzugefügt ist, unddaß die Steuervorrichtung (88, 89) eine Verarbeitungselement-Steuereinheit (88), die ein Steuersignal aus einer externen Quelle, ein Kennungssignal aus dem Registerteilund die Zustandkennung aufnimmt, um ein Befehlssteuersignal zu bilden, und eine Verarbeitungsbefehlseinheit (89) aufweist, die das Befehlssteuersignal aufnimmt, um die zweite Adresseninformation sowie Steuersignale zum Steuern des ersten, des zweiten und des dritten Wählers (91 bis 94) zu bilden. - 4. Verfahren zum Steuern eines Matrixprozessors, dereine erste Vektordatenfolge C ={c ] (i=1,2,...I) aus Iersten Eingangs-Vektordaten und eine zweite Vektordaten- _y.folge R = {T^\ (i=1,2,...,N) aus N zweiten Eingangs-Vektordaten aufnimmt und ein Ergebnis einer vorbestimmten Berechnung ausgibt, dadurch gekennzeichnet,
daß ein Matrixprozessor mit η Verarbeitungselementen eingesetzt wird, die in der Form eines Rings verbunden sind 30und in die die ersten und die zweiten Eingangs-Vektordaten eingegeben werden,daß die ersten Eingangs-Vektordaten in P Gruppen mit jeweils η Teil-Vektordaten aufgeteilt werden, wobei P eineganze Zahl ist, die gleich oder größer als "1" ist, 35daß an den η Teil-Vektordaten einer jeden Gruppe und den-5- · DE 4631zweiten Eingangs-Vektordaten eine vorbestimmte Verarbeitung ausgeführt wird und
daß aufeinanderfolgend die vorbestimmte Verarbeitung anjeder der P Gruppen und der zweiten Vektordatenfolge wie-5derholt wird, um aus den Verarbeitungselementen ein Verarbeitungsendergebnis abzugeben,
wobei bei der vorbestimmten Verarbeitung in jedes der Verarbeitungselemente die η ersten Eingangs-Vektordaten eingegeben werden,die η ersten Eingangs-Vektordaten aufeinanderfolgend umlaufend zwischen den jeweiligen Verarbeitungselementen übertragen und jede der Teil-Vektordaten einer jeden Gruppe in jedes einzelne der Verarbeitungselemente eingegeben werden oder jede der zweiten Eingangs-Vektordaten 15in jedes einzelne der Verarbeitungselemente in der Aufeinanderfolge der Verarbeitungselemente zu jedem Zeitpunkt eingegeben werden, an dem die Teil-Vektordaten umlaufend zwischen den Verarbeitungselementen übertragenoder in die Verarbeitungselemente eingegeben werden, 20die Teil-Vektordaten, die zweiten Eingangs-Vektordatenund ein aus einem benachbarten Verarbeitungselement übertragenes Aufbereitungsergebnis aufbereitet und zu einem benachbarten Verarbeitungselement ein neues Aufbereitungsergebnis überführt wird,
25das Aufbereiten und Oberführen wiederholt wird undein neues Aufbereitungsergebnis in einer Aufbereitungszeit zwischen den Verarbeitungselementen (Rest N/n)-mal versetzt wird, falls ein Aufbereitungsergebnis bei einer Gruppe zur Aufbereitung bei der folgenden Gruppe verwen-det wird, wobei (Rest N/n) der Divisionsrest bei der Division von N durch η ist. - 5. Verfahren nach Anspruch 4, dadurch gekennzeichnet,
daß in die Verarbeitungselemente Aufbereitungsbefehle3505749-6- DE 4631aufgenommen werden,daß den zweiten Eingangs-Vektordaten eine Kennung hinzugefügt wird, die einen Aufbereitungszustand anzeigt, der in jedem der Aufbereitungselemente bei einer vorbestimmten Ablauffolge hervorgerufen ist,daß eine Zustandskennung gebildet wird, die jedem der Verarbeitungselemente den jeweils einzelnen Aufbereitungszustand meldet,daß die Zustandskennung zwischen den Verarbeitungselementen überführt wird,daß die Zustandskennung so ausgewertet wird, daß in das Verarbeitungselement die ersten und zweiten Eingangs-Vektordaten eingegeben werden,daß die den eingegebenen zweiten Eingangs-Vektordaten hinzugefügte Kennung für das Ändern des Inhalts der Zustandkennung in dem Verarbeitungselement ausgewertet wird unddaß den Verarbeitungselementen ein durch die Änderung erzeugter Zustand zugeführt wird, wodurch im ganzen Matrixprozessor eine selbstständige Steuerung in der Weise ausgeführt wird, daß das Verarbeitungselement die Aufbereitungsbefehle entsprechend dem Zustand einleitet.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59034450A JPS60179871A (ja) | 1984-02-27 | 1984-02-27 | アレイプロセツサ |
JP59096656A JPS60241155A (ja) | 1984-05-16 | 1984-05-16 | アレイプロセツサの制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3506749A1 true DE3506749A1 (de) | 1985-09-26 |
DE3506749C2 DE3506749C2 (de) | 1989-03-23 |
Family
ID=26373263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19853506749 Granted DE3506749A1 (de) | 1984-02-27 | 1985-02-26 | Matrixprozessor und steuerverfahren hierfuer |
Country Status (3)
Country | Link |
---|---|
US (1) | US4905143A (de) |
DE (1) | DE3506749A1 (de) |
NL (1) | NL192637C (de) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0269995A2 (de) * | 1986-11-27 | 1988-06-08 | Nippon Telegraph And Telephone Corporation | Paralleldatenverarbeitungsvorrichtung und -verfahren |
US5389835A (en) * | 1991-04-12 | 1995-02-14 | Hewlett-Packard Company | Vector logic method and dynamic mousetrap logic gate for a self-timed monotonic logic progression |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0254383A (ja) * | 1988-08-18 | 1990-02-23 | Mitsubishi Electric Corp | アレイプロセッサ |
EP0605401B1 (de) * | 1988-09-19 | 1998-04-22 | Fujitsu Limited | Paralleles Rechnersystem mit Verwendung eines S.I.M.D.-Verfahrens |
US5159690A (en) * | 1988-09-30 | 1992-10-27 | Massachusetts Institute Of Technology | Multidimensional cellular data array processing system which separately permutes stored data elements and applies transformation rules to permuted elements |
US5249301A (en) * | 1988-10-25 | 1993-09-28 | Bull S.A | Processing communication system having a plurality of memories and processors coupled through at least one feedback shift register provided from ring configured input stations |
US5689647A (en) * | 1989-03-14 | 1997-11-18 | Sanyo Electric Co., Ltd. | Parallel computing system with processing element number setting mode and shortest route determination with matrix size information |
US5210836A (en) * | 1989-10-13 | 1993-05-11 | Texas Instruments Incorporated | Instruction generator architecture for a video signal processor controller |
US5237685A (en) * | 1990-02-26 | 1993-08-17 | International Business Machines Corporation | Linear recurrence dispersal structure and method for parallel processors |
US5193202A (en) * | 1990-05-29 | 1993-03-09 | Wavetracer, Inc. | Processor array with relocated operand physical address generator capable of data transfer to distant physical processor for each virtual processor while simulating dimensionally larger array processor |
US5208900A (en) * | 1990-10-22 | 1993-05-04 | Motorola, Inc. | Digital neural network computation ring |
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 |
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 |
US5828894A (en) * | 1990-11-13 | 1998-10-27 | International Business Machines Corporation | Array processor having grouping of SIMD pickets |
US5963746A (en) * | 1990-11-13 | 1999-10-05 | International Business Machines Corporation | Fully distributed processing memory element |
US5765015A (en) * | 1990-11-13 | 1998-06-09 | International Business Machines Corporation | Slide network for an array processor |
US5963745A (en) * | 1990-11-13 | 1999-10-05 | International Business Machines Corporation | APAP I/O programmable router |
US5617577A (en) * | 1990-11-13 | 1997-04-01 | International Business Machines Corporation | Advanced parallel array processor I/O connection |
US5734921A (en) * | 1990-11-13 | 1998-03-31 | International Business Machines Corporation | Advanced parallel array processor computer package |
US5625836A (en) * | 1990-11-13 | 1997-04-29 | International Business Machines Corporation | SIMD/MIMD processing memory element (PME) |
US5815723A (en) * | 1990-11-13 | 1998-09-29 | International Business Machines Corporation | Picket autonomy on a SIMD machine |
US5590345A (en) * | 1990-11-13 | 1996-12-31 | International Business Machines Corporation | Advanced parallel array processor(APAP) |
US5794059A (en) * | 1990-11-13 | 1998-08-11 | International Business Machines Corporation | N-dimensional modified hypercube |
US5809292A (en) * | 1990-11-13 | 1998-09-15 | International Business Machines Corporation | Floating point for simid array machine |
US5588152A (en) * | 1990-11-13 | 1996-12-24 | International Business Machines Corporation | Advanced parallel processor including advanced support hardware |
DE69131272T2 (de) * | 1990-11-13 | 1999-12-09 | International Business Machines Corp., Armonk | Paralleles Assoziativprozessor-System |
US5752067A (en) * | 1990-11-13 | 1998-05-12 | International Business Machines Corporation | Fully scalable parallel processing system having asynchronous SIMD processing |
US5966528A (en) * | 1990-11-13 | 1999-10-12 | International Business Machines Corporation | SIMD/MIMD array processor with vector processing |
US5630162A (en) * | 1990-11-13 | 1997-05-13 | International Business Machines Corporation | Array processor dotted communication network based on H-DOTs |
US5208490A (en) * | 1991-04-12 | 1993-05-04 | Hewlett-Packard Company | Functionally complete family of self-timed dynamic logic circuits |
US5594918A (en) * | 1991-05-13 | 1997-01-14 | International Business Machines Corporation | Parallel computer system providing multi-ported intelligent memory |
US6282583B1 (en) * | 1991-06-04 | 2001-08-28 | Silicon Graphics, Inc. | Method and apparatus for memory access in a matrix processor computer |
JP2642039B2 (ja) * | 1992-05-22 | 1997-08-20 | インターナショナル・ビジネス・マシーンズ・コーポレイション | アレイ・プロセッサ |
JPH06290158A (ja) * | 1993-03-31 | 1994-10-18 | Fujitsu Ltd | 再構成可能なトーラス・ネットワーク方式 |
JPH09506730A (ja) * | 1993-12-17 | 1997-06-30 | クインテット、インコーポレイテッド | 自動署名検証の方法 |
CA2135857A1 (en) * | 1994-01-03 | 1995-07-04 | Shay-Ping Thomas Wang | Neural network utilizing logarithmic function and method of using same |
US5664192A (en) * | 1994-12-14 | 1997-09-02 | Motorola, Inc. | Method and system for accumulating values in a computing device |
US5611068A (en) * | 1994-12-27 | 1997-03-11 | Motorola, Inc. | Apparatus and method for controlling pipelined data transfer scheme between stages employing shift register and associated addressing mechanism |
US5685008A (en) * | 1995-03-13 | 1997-11-04 | Motorola, Inc. | Computer Processor utilizing logarithmic conversion and method of use thereof |
US5644520A (en) * | 1995-05-31 | 1997-07-01 | Pan; Shao Wei | Accumulator circuit and method of use thereof |
US5771391A (en) * | 1995-08-28 | 1998-06-23 | Motorola Inc. | Computer processor having a pipelined architecture and method of using same |
US5956409A (en) * | 1996-04-29 | 1999-09-21 | Quintet, Inc. | Secure application of seals |
US5917447A (en) * | 1996-05-29 | 1999-06-29 | Motorola, Inc. | Method and system for digital beam forming |
JP2879670B2 (ja) * | 1997-03-28 | 1999-04-05 | 広島大学長 | 2次元情報処理装置 |
JPH1165989A (ja) * | 1997-08-22 | 1999-03-09 | Sony Computer Entertainment:Kk | 情報処理装置 |
US6502180B1 (en) * | 1997-09-12 | 2002-12-31 | California Institute Of Technology | Asynchronous circuits with pipelined completion process |
US6112288A (en) * | 1998-05-19 | 2000-08-29 | Paracel, Inc. | Dynamic configurable system of parallel modules comprising chain of chips comprising parallel pipeline chain of processors with master controller feeding command and data |
US6167501A (en) * | 1998-06-05 | 2000-12-26 | Billions Of Operations Per Second, Inc. | Methods and apparatus for manarray PE-PE switch control |
US7343249B2 (en) | 2005-03-23 | 2008-03-11 | International Business Machines Corporational | Vectorization of sequence alignment computation using distance matrix reshaping |
WO2012100316A1 (en) * | 2011-01-25 | 2012-08-02 | Cognivue Corporation | Apparatus and method of vector unit sharing |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3544973A (en) * | 1968-03-13 | 1970-12-01 | Westinghouse Electric Corp | Variable structure computer |
GB2062914A (en) * | 1979-11-07 | 1981-05-28 | Philips Nv | Distributed data processing system |
US4384273A (en) * | 1981-03-20 | 1983-05-17 | Bell Telephone Laboratories, Incorporated | Time warp signal recognition processor for matching signal patterns |
EP0085435A2 (de) * | 1982-02-03 | 1983-08-10 | Hitachi, Ltd. | Datenfeldprozessor aufgebaut aus Vektorprozessoren mit Vektorregistern |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3287703A (en) * | 1962-12-04 | 1966-11-22 | Westinghouse Electric Corp | Computer |
US3286309A (en) * | 1963-06-06 | 1966-11-22 | Aluminum Co Of America | Method and apparatus for horizontal casting of ingots |
US3582899A (en) * | 1968-03-21 | 1971-06-01 | Burroughs Corp | Method and apparatus for routing data among processing elements of an array computer |
US3970993A (en) * | 1974-01-02 | 1976-07-20 | Hughes Aircraft Company | Cooperative-word linear array parallel processor |
US4065808A (en) * | 1975-01-25 | 1977-12-27 | U.S. Philips Corporation | Network computer system |
US4270169A (en) * | 1978-05-03 | 1981-05-26 | International Computers Limited | Array processor |
US4270170A (en) * | 1978-05-03 | 1981-05-26 | International Computers Limited | Array processor |
US4541048A (en) * | 1978-10-06 | 1985-09-10 | Hughes Aircraft Company | Modular programmable signal processor |
IT1118355B (it) * | 1979-02-15 | 1986-02-24 | Cselt Centro Studi Lab Telecom | Sistema di interconnessione tra processori |
US4380046A (en) * | 1979-05-21 | 1983-04-12 | Nasa | Massively parallel processor computer |
US4314349A (en) * | 1979-12-31 | 1982-02-02 | Goodyear Aerospace Corporation | Processing element for parallel array processors |
ZA811458B (en) * | 1980-03-28 | 1982-03-31 | Int Computers Ltd | Data processing system |
NL8002787A (nl) * | 1980-05-14 | 1981-12-16 | Philips Nv | Multiprocessor-rekenmachinesysteem voor het uitvoeren van een recursief algorithme. |
US4428048A (en) * | 1981-01-28 | 1984-01-24 | Grumman Aerospace Corporation | Multiprocessor with staggered processing |
US4533993A (en) * | 1981-08-18 | 1985-08-06 | National Research Development Corp. | Multiple processing cell digital data processor |
US4509187A (en) * | 1982-06-14 | 1985-04-02 | At&T Bell Laboratories | Time warp signal recognition processor using recirculating and/or reduced array of processor cells |
US4739474A (en) * | 1983-03-10 | 1988-04-19 | Martin Marietta Corporation | Geometric-arithmetic parallel processor |
GB8401805D0 (en) * | 1984-01-24 | 1984-02-29 | Int Computers Ltd | Data processing apparatus |
US4739476A (en) * | 1985-08-01 | 1988-04-19 | General Electric Company | Local interconnection scheme for parallel processing architectures |
US4783738A (en) * | 1986-03-13 | 1988-11-08 | International Business Machines Corporation | Adaptive instruction processing by array processor having processor identification and data dependent status registers in each processing element |
-
1985
- 1985-02-26 NL NL8500537A patent/NL192637C/nl not_active IP Right Cessation
- 1985-02-26 DE DE19853506749 patent/DE3506749A1/de active Granted
-
1988
- 1988-06-14 US US07/220,970 patent/US4905143A/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3544973A (en) * | 1968-03-13 | 1970-12-01 | Westinghouse Electric Corp | Variable structure computer |
GB2062914A (en) * | 1979-11-07 | 1981-05-28 | Philips Nv | Distributed data processing system |
US4384273A (en) * | 1981-03-20 | 1983-05-17 | Bell Telephone Laboratories, Incorporated | Time warp signal recognition processor for matching signal patterns |
EP0085435A2 (de) * | 1982-02-03 | 1983-08-10 | Hitachi, Ltd. | Datenfeldprozessor aufgebaut aus Vektorprozessoren mit Vektorregistern |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0269995A2 (de) * | 1986-11-27 | 1988-06-08 | Nippon Telegraph And Telephone Corporation | Paralleldatenverarbeitungsvorrichtung und -verfahren |
EP0269995A3 (en) * | 1986-11-27 | 1989-03-22 | Nippon Telegraph And Telephone Corporation | Parallel data processing apparatus and method |
US5389835A (en) * | 1991-04-12 | 1995-02-14 | Hewlett-Packard Company | Vector logic method and dynamic mousetrap logic gate for a self-timed monotonic logic progression |
Also Published As
Publication number | Publication date |
---|---|
US4905143A (en) | 1990-02-27 |
DE3506749C2 (de) | 1989-03-23 |
NL192637C (nl) | 1997-11-04 |
NL192637B (nl) | 1997-07-01 |
NL8500537A (nl) | 1985-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3506749A1 (de) | Matrixprozessor und steuerverfahren hierfuer | |
DE69703085T2 (de) | Koprozessor mit zwei parallel arbeitenden Multiplizierschaltungen | |
DE3856015T2 (de) | Berechnungseinrichtung für Parallelprozessoren | |
DE69520974T2 (de) | Eine integrierte Halbleiterschaltung | |
DE68914172T2 (de) | Datenverarbeitungssystem und Videoverarbeitungssystem mit einem derartigen Datenverarbeitungssystem. | |
DE3854035T2 (de) | Nichtperiodisches Abbildungsverfahren zum verbesserten Zweierpotenzzugriff für ineinandergreifende Einrichtungen. | |
DE2912287C3 (de) | Datenverarbeitungsanlage | |
DE3741953A1 (de) | Multiprozessorsystem und verfahren zur arbeitslastverteilung bei einem solchen | |
DE3049437C2 (de) | Matrixanordnung einer Vielzahl von Verarbeitungselementen | |
DE2354521A1 (de) | Verfahren und einrichtung zum gleichzeitigen zugriff zu verschiedenen speichermoduln | |
DE3689006T2 (de) | Mikroprogrammsteuersystem. | |
DE19822543A1 (de) | Verfahren zum Zuteilen von Aufträgen, Datenverarbeitssystem, Client-Datenbearbeitungsknoten und computerlesbares Speichermedium | |
DE19822776A1 (de) | Datenverarbeitungsvorrichtung | |
DE69025650T2 (de) | Multiprozessorsystem mit Vektorpipelinen | |
DE68929080T2 (de) | Anordnung zum Speichern von Informationen für einen Datenanbieterprozessor | |
DE19524862A1 (de) | SIMD-Prozessor, welcher mit einer Mehrzahl von Parallelverarbeitungselementen in Synchronisation in Betrieb ist | |
EP0220474A2 (de) | Wellenfrontfeldrechner | |
DE3855524T2 (de) | Arithmetik-Parallelverarbeitungseinheit und zugehöriger Kompilator | |
DE2063199B2 (de) | Einrichtung zur Ausführung logischer Funktionen | |
DE1499190C3 (de) | Elektronische Datenverarbeitungsanlage | |
DE1115488B (de) | Datenverarbeitungssystem | |
WO2007014404A1 (de) | Digitale rechnereinrichtung mit parallelverarbeitung | |
DE69817672T2 (de) | Vorrichtung zum Sortieren von Datenelementen in einem binären Baum und ein ATM Abstandshalter mit einer solchen Vorrichtung | |
DE2459476C3 (de) | ||
DE1132747B (de) | Elektronische Rechenmaschine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8127 | New person/name/address of the applicant |
Owner name: NIPPON TELEGRAPH AND TELEPHONE CORP., TOKIO/TOKYO, |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition |