-
Die Erfindung betrifft eine Parallelprozessorvorrichtung.
-
Als Einrichtung für die sehr schnelle Verarbeitung eines in digitalem Format vorliegenden
Videosignals mit hoher Geschwindigkeit ist z. B. die in dem Dokument Childers, J. et al.,
"SVP: SERIAL VIDEO PROCESSOR", Proceedings of the IEEE 1990 CUSTOM INTEGRATED
CIRCUITS CONFERENCE, Seiten 17.3.1 bis 17.3.4, beschriebene
Parallelprozessorvorrichtung bekannt.
-
Im folgenden wird die in dem vorgenannten Dokument beschriebene Vorrichtung
(SVP-Verarbeitungsvorrichtung) anhand von Fig. 1 und Fig. 7 beschrieben.
-
Zunächst wird anhand von Fig. 1 die Struktur der Parallelprozessoranordnung 8 erläutert.
Fig. 1 zeigt die Konfiguration einer herkömmlichen Parallelprozessoranordnung.
-
Die Parallelprozessoranordnung 8 ist eine Parallelprozessorvorrichtung mit m individuellen
Prozessoren 80&sub1; bis 80m. Sie ist so konfiguriert, daß sie die z. B. in einer
8-Bit-Wort-Konfiguration vorliegenden Pixeldaten (Pixelwert Di, i = 1, 2, ..., m, das gleiche gilt für die
Erläuterung des Standes der Technik) des seriell zugeführten Videosignals für jede horizontale
Periode (der Wert einer Zeile) mit Hilfe von Registern R1 bis Rm in parallele Daten umwandelt,
dann diese Pixelwerte Di in den individuellen Prozessoren 80&sub1; bis 80m digital verarbeitet, die
Ergebnisse Qi der Verarbeitung mit Hilfe der Register R1 bis Rm wieder in serielle Daten
umwandelt und diese an einem Ausgang OUTT ausgibt.
-
Die individuellen Prozessoren 80&sub1; bis 80m sind in einer der Zahl der in einer Zeile
enthaltenen Pixel entsprechenden Zahl vorgesehen und den Pixeln entsprechend angeordnet. Jeder
dieser Prozessoren besteht aus einem Register (Ri) 806i, Registern (Rij) 808i, 810i, 812i,
einem individuellen Verzögerungselement (Gi) 802i, einem individuellen
Verzögerungselement (Hi) 804i, einem Rechen- und Steuerwerk (ALUi) 814i, einem Schalter (Ui) 816i, einem
Schalter (Si) 818i, einem Schalter (Vi) 826i, einem Schalter (Ti) 828i, Schaltern (Tij) 840i, 842i
und 844i (j = 0, 1, 2, das gleiche gilt für das folgende).
-
Die individuellen Verzögerungselemente (Gi) 802i sind in Reihe geschaltet. Die individuellen
Verzögerungselemente (Gi) 802i verzögern das über den Eingang PRT der
Parallelprozessor
anordnung 8 zugeführte Lesezeigersignal RP um eine Zeit, die exakt der Zeit entspricht, in
der ein Pixel des Videosignals eingegeben wird.
-
Die individuellen Verzögerungselemente (Hi) 804i sind ebenfalls in Serie geschaltet. Die
individuellen Verzögerungselemente (Hi) 804i verleihen dem Schreibzeigersignal WP, das über
den Eingang PRT der Parallelprozessoranordnung 8 zugeführt wird, eine Verzögerung, die
einem Pixel des Videosignals entspricht.
-
Die Register (Ri) 806i haben jeweils eine Breite von z. B. 8 Bit. Sie besitzen einen Eingang,
der über einen Schalter (Ui) 816i mit dem Signaleingang INT der Parallelprozessoranordnung
8 und über den Schalter (Ti) 818i mit der Schreibbitleitung WBi des Rechen- und
Steuerwerks (ALUi) 814i, verbindbar ist, und einen Ausgang, der über den Schalter (Vi) 826i mit
dem Ausgang OUTT der Parallelprozessoranordnung 8 und über den Schalter (Ti) 828i mit
der Lesebitleitung RBi des Rechen- und Steuerwerks (ALUi) 814i verbunden ist.
-
Das Register (Ri) 806i hält den Pixelwert, der von dem Eingang INT des Parallelprozessors
über den Schalter (Ui) 816i zugeführt wird, oder das Verarbeitungsergebnis Qi, das von der
Schreibbitleitung WBi des Rechen- und Steuerwerks (ALUi) 814i über den Schalter (Ti) 818i
zugeführt wird, und gibt die gehaltenen Daten über den Schalter (Vi) 826i an den Ausgang
OUTT der Parallelprozessoranordnung 8 oder über den Schalter (T1) 828i an die
Lesebitleitung RBi des Rechen- und Steuerwerks (ALUi) 814i aus.
-
Der Schalter (Ui) 816i liefert den Pixelwert Di von dem Eingang INT der
Parallelprozessoranordnung 8 nur dann zum Halten an das Register (Ri) 806i wenn das Schreibzeigersignal WP
aktiv ist.
-
Der Schalter (Si) 818i schreibt das Verarbeitungsergebnis Qi aus dem Rechen- und
Steuerwerk (ALUi) 814i nur dann in das Register (Ri) 806i ein, wenn das von einem
Adressendecodierer 850 zugeführte Schreibsignal WW aktiv ist.
-
Der Schalter (Vi) 826i liest die in dem Register (Ri) 806i gehaltenen Daten nur dann aus und
gibt sie an den Ausgang OUTT der Parallelprozessoranordnung 8 aus, wenn ein
Schreibzeigersignal WP aktiv ist.
-
Der Schalter (Ti) 828i gibt die in dem Register (Ri) 806i gehaltenen Daten nur dann an die
Lesebitleitung RBi des Rechen- und Steuerwerks (ALUi) 814i aus, wenn ein von dem
Adressendecodierer 850 zugeführtes Lesesignal RW aktiv ist.
-
Das individuelle Verzögerungselement (Gi) 802i, das individuelle Verzögerungselement (Hi)
804i, das Register (Ri) 806i, der Schalter (Ui) 816i, der Schalter (Si) 818i, der Schalter (Vi) 826i
und der Schalter (Ti) 828i bilden das Schieberegister (SR) 82.
-
Die Register (Rij) 808i, 810i und 812i halten das Verarbeitungsergebnis Qi des Rechen- und
Steuerwerks (ALUi) 814i oder den Pixelwert Di, die über die Schalter (Sij) 820i, 822i und 824i
bzw. den Schalter (Ui) 816i zugeführt werden, und geben die gehaltenen Daten über die
Schalter (Tij) 840i, 842i und 844i und den Schalter (Vi) 826i an den Ausgang OUTT der
Parallelprozessoranordnung 8 aus. Das heißt, die Register (Rij) 808i , 810i und 812i arbeiten als
Register, die die Daten in Relation zu der Verarbeitung in dem Rechen- und Steuerwerk
(ALUi) 814i speichern, z. B. die Pixelwerte Di des laufenden Vollbilds (Frame) und des
vorangehenden Vollbilds, ein Verarbeitungszwischenergebnis usw..
-
Die Schalter (Sij) 820i, 822i und 824i schreiben das Verarbeitungsergebnis Qi des Rechen-
und Steuerwerks (ALUi) 814i oder den Pixelwert Di nur dann in die Register (Rij) 808i, 810i
und 812i, wenn die von dem Adressendecodierer 850 zugeführten Schreibsignale WW0,
WW1 bzw. WW2 aktiv sind.
-
Die Schalter (Tij) 840i, 842i und 844i lesen die in den Registern (Rij) 808i, 810i und 812i
gehaltenen Daten nur dann aus, wenn die von dem Adressendecodierer 850 zugeführten
Schreibsignale RW0, RW1 bzw. RW2 aktiv sind, und geben diese Daten über den Schalter
(Vi) 826i an den Ausgang OUTT der Parallelprozessoranordnung 8 aus.
-
Die Register (Rij) 808i, 810i und 812i, die Schalter (Sij) 820i, 822i und 824i und die Schalter
(Tij) 840i, 842i und 844i bilden die Registergruppe 84i.
-
Das Rechen- und Steuerwerk (ALUi) 814i liest den Pixelwert Di oder die in der
Registergruppe 84i gespeicherten Daten usw. von der Lesebitleitung RBi aus, führt die Verarbeitung
durch, z. B. eine Detektierung der Bewegung innerhalb des Vollbilds
(Intraframe-Bewegungsdetektierung) und gibt das entsprechende Verarbeitungsergebnis Qi oder ein
Zwischenergebnis von der Schreibbitleitung WBi an die Registergruppe 84i oder den Ausgang OUTT
der Parallelprozessoranordnung 8 aus.
-
Die Lesebitleitung RBi ist hier die Lesebitleitung des Rechen- und Steuerwerks (ALUi) 814i.
Das Rechen- und Steuerwerk (ALUi) 814i kann die in dem Register (Ri) 806i und der
Registergruppe 84i gespeicherten Daten lesen, indem der Schalter (Ti) 828i und die Schalter (Tij)
840i, 842i und 844i über den Adressendecodierer 850 entsprechend gesteuert werden.
-
Der Ausgang OUTT bildet ebenfalls eine Schreibbitleitung des Rechen- und Steuerwerks
(ALUi) 814i. Das Rechen- und Steuerwerk (ALUi) 814i kann die Daten des
Verarbeitungsergebnisses Qi usw. in das Register (Ri) 806i und die Registergruppe 84i einschreiben, indem
der Schalter (Si) 818i und die Schalter (Sij) 820i, 822i und 824i über den Adressendecodierer
850 entsprechend gesteuert werden.
-
Das Rechen- und Steuerwerk (ALUi) 814i besitzt außerdem Datenbusse Xi und Yi+1 zur
Durchführung der Verarbeitung unter Verwendung der Daten der Registergruppen 84i+1 und
84i-1 der benachbarten individuellen Prozessoren 80i+1 bzw. 80i-1.
-
Der Datenbus Xi dient zum Lesen der Daten aus der Registergruppe 84i+1 durch das
Rechen- und Steuerwerk (ALUi) 814i, während der Datenbus Yi+1 zum Lesen der Daten aus
der Registergruppe 84i-1 durch das Rechen- und Steuerwerk (ALUi) 814i dient.
-
Das heißt, die Steuerschaltung 852 steuert das Rechen- und Steuerwerk (ALUi+1) 814i+1
und veranlaßt, daß diese die in der Registergruppe 84i+1 gespeicherten Daten über den
Ausgang RBi+1 ausliest und dieselben aus dem Rechen- und Steuerwerk (ALUi+1) 814i+1
über den Datenbus Xi an das Rechen- und Steuerwerk (ALUi) 814i ausgibt.
-
Umgekehrt steuert die Steuerschaltung 852 auch das Rechen- und Steuerwerk (ALUi) 814i
und veranlaßt, daß dieses die in der Registergruppe 84i gespeicherten Daten über den
Ausgang RBi ausliest und von dem Rechen- und Steuerwerk (ALUi) 814i über den Datenbus Yi+1
an das Rechen- und Steuerwerk (ALUi+1) 814i+1 ausgibt. Es ist zu beachten, daß es kein
Rechen- und Steuerwerk (ALUi) 814i gibt, das mit dem Datenbus Yi zu verbinden ist.
Deshalb wird dem Datenbus Yi der numerische Wert 0 zugeführt.
-
Mit Hilfe der Datenbusse Xi und Yi+1 kann das Rechen- und Steuerwerk (ALUi) 814i auch
eine Verarbeitung unter Verwendung der in der Registergruppe 84i+1 gespeicherten Daten
durchführen.
-
Die Steuerschaltung (C) 852 erzeugt ein Adressensignal ADRS und ein Steuersignal CTRL
für die Steuerung der Rechen- und Steuerwerke (ALUi) 814i und liefert diese an die Rechen-
und Steuerwerke (ALUi) 814i und an den Adressendecodierer 850.
-
Der Adressendecodierer 850 decodiert das von der Steuerschaltung 852 erzeugte
Adressensignal ADRS, erzeugt die Schreibsignale WW, WW0, WW1 und WW2 und die
Lesesignale RW, RW0, RW1 und RW2, gibt diese an die Register (Ri) 806i und die
Registergruppen 84i aus und steuert die Schalter.
-
Im folgenden wird die Funktion der Parallelprozessoranordnung 8 anhand von Fig. 7
erläutert. Fig. 7 zeigt eine Ansicht zur Erläuterung des Verarbeitungsinhalts des
Parallelprozessors.
-
Wie in dem Verarbeitungsabschnitt [S11] in der horizontalen Periode k, [T1] dargestellt, wird
der Pixelwert Di des Videosignals der horizontalen Periode k über den Eingang INT der
Parallelprozessoranordnung 8 seriell eingegeben. Während der erste Pixelwert Di dem Eingang
INT zugeführt wird, wird gleichzeitig das Lesezeigersignal RP aktiv und wird dem Eingang
RPT zugeführt.
-
Das aktive Lesezeigersignal RP wird in den individuellen Verzögerungselementen (Gi) 802i
jedesmal verzögert, wenn der Pixelwert Di dem Eingang INT und dann dem Schalter (Vi)
826i zugeführt wird.
-
Der Schalter (Ui) 816i wird geschlossen, wenn das von dem individuellen
Verzögerungselement (Gi) 802i-1 zugeführte Lesezeigersignal RP aktiv ist, und schreibt den Pixelwert Di in
das entsprechende Register (Bi) 806i. Dementsprechend wird, wie in dem
Verarbeitungsabschnitt [S11] dargestellt, zu der Zeit, in der die horizontale Periode k endet, der Pixelwert Di
der horizontalen Periode k in allen Registern (Ri) 8061 gespeichert. Das Schieberegister (SR)
82 speichert als Ganzes den Wert einer Zeile (1H) des Pixelwerts D.
-
Als nächstes erzeugt die Steuerschaltung 852 in dem Verarbeitungsabschnitt [S12] in der in
[T2] dargestellten horizontalen Austastperiode k ein vorbestimmtes Adressensignal ADRS,
aktiviert das Lesesignal RW und das Schreibsignal WW0 in dem Adressendecodierer 850
und steuert die Schalter (T1) 828i und (Si0) 820i, so daß diese geschlossen werden.
-
Durch diese Operation wird das Lesen und Schreiben der Daten für die Register der
Registergruppe 84k des Rechen- und Steuerwerks (ALUi) 814i ermöglicht.
-
Als nächstes erzeugt die Steuerschaltung 852 in der in [T3] dargestellten horizontalen
Periode k+1, wie in dem Verarbeitungsabschnitt [S13] und [S14] dargestellt, ein vorbestimmtes
Adressensignal ADRS, aktiviert die Lesesignale RW0 bis RW2 und die Schreibsignale WWo
bis WW2 in dem Adressendecodierer 850, veranlaßt das Schließen der Schalter (Sij) 820i ,
822i und 824i und der Schalter (Tij) 840i, 842i und 844i und bewirkt das Lesen und Schreiben
der Register (Rij) 808i, 810i und 812i durch das Rechen- und Steuerwerk (ALUi) 814; .
-
In der horizontalen Periode k+1 speichert die Steuerschaltung 852, wie in dem
Verarbeitungsabschnitt [S13] dargestellt, ähnlich wie in der horizontalen Periode k, den Pixelwert Di
der horizontalen Periode k+1, der über den Eingang INT in das Register (Ri) 806i eingegeben
wird. Gleichzeitig steuert die Steuerschaltung 852, wie in dem Verarbeitungsabschnitt [S14]
dargestellt, das Rechen- und Steuerwerk (ALUi) 814i führt die Verarbeitung unter
Verwendung der in den Registern (Rij) 808i, 810i und 812i gespeicherten Daten durch und gibt das
entsprechende Verarbeitungsergebnis Qi an das Register (Rij) 810i zurück.
-
Als nächstes erzeugt die Steuerschaltung 852, wie in dem Verarbeitungsabschnitt [S15]
dargestellt, in der horizontalen Austastperiode k+1 in [T4] ein vorbestimmtes Adressensignal
ADRS, aktiviert das Lesesignal RW1 und das Schreibsignal WW in dem Adressendecodierer
850 und veranlaßt das Schließen der Schalter (Tij) 842i und des Schalters (T1) 828i.
Anschließend steuert die Steuerschaltung 852 das Rechen- und Steuerwerk (ALUi) 814i und
veranlaßt, daß das in (Ri1) 8101 gespeicherte Verarbeitungsergebnis Q&sub1; über die Leseleitung RBi,
das Rechen- und Steuerwerk (ALUi) 814i und die Schreibbitleitung WBi in dem Register (Ri)
806i aufgezeichnet wird.
-
Als nächstes wird in der horizontalen Periode k+2, wie in dem Verarbeitungsabschnitt [S16]
bis [S18] dargestellt, in [T5], ähnlich wie in der horizontalen Periode k, das Lesezeigersignal
RP an dem Eingang RPT aktiviert, das von den individuellen Verzögerungselementen (Gi)
802i sequentiell verzögert wird, und die resultierenden Daten werden an den Schalter (Vi)
826i ausgegeben. Der Schalter (Vi) 826i gibt das in dem Register (R1) 806i gespeicherte
Verarbeitungsergebnis Qi sequentiell an den Ausgang OUTT des Parallelprozessors 8. Deshalb
wird der Wert einer Zeile des Verarbeitungsergebnisses Qi des individuellen Prozessors 80i
an dem Ausgang OUTT sequentiell mit der gleichen Datenrate seriell ausgegeben wie der
Pixelwert Di.
-
Wie in der Verarbeitung von der horizontalen Austastperiode k+2 bis zu der horizontalen
Austastperiode k+3, die in [T6] bis [T8] gezeigt sind, werden in den horizontalen Perioden
k+1, k+2, ... die oben erwähnten Verarbeitungen auch für den die
Parallelprozessoranordnung 8 zugeführten Pixelwert Di durchgeführt, und die entsprechenden
Verarbeitungsergebnisse Qi werden an dem Ausgang OUTT sequentiell ausgegeben.
-
Es ist hier darauf hinzuweisen, daß die Arbeitsweise der Parallelprozessoranordnung 8 die
gleiche ist wie die zweite Operation bei der Verarbeitung für den Pixelwert Di eines
Videosignals des HDTV-Systems in der Parallelprozessoranordnung 1 gemäß der Erfindung, der
weiter unten unter Bezugnahme auf Fig. 7 beschrieben wird.
-
Bei der oben erläuterten Parallelprozessoranordnung 8 genügt es, wenn für alle individuellen
Prozessoren 80i jeweils ein Adressendecodierer 850 und eine Steuerschaltung 852
vorgesehen sind. Die Parallelprozessoranordnung 8 ist nämlich ein Parallelprozessor nach dem
SIMD-System (Single Instruction Multiple Data System) mit einer der Zahl m der Pixel einer
horizontalen Periode, d. h. einer Zeilenperiode (1H) entsprechenden Zahl von
Prozessorelementen (individuellen Prozessoren 801).
-
Bei der Verarbeitung eines Videosignals werden üblicherweise für alle Pixelwert Di
identische Verarbeitungen durchgeführt, so daß die Verarbeitung problemlos mit einem SIMD-
System ausgeführt werden kann. Es genügt auch, wenn in der Parallelprozessoranordnung
8 des SIMD-Systems der Adressendecodierer 850 und die Steuerschaltung 852 für die
individuellen Prozessoren 80i gemeinsam vorgesehen ist, was mit dem Vorteil verbunden ist,
daß der Schaltungsumfang klein wird.
-
Während die Zahl der Pixel einer horizontalen Periode eines Videosignals bei herkömmlichen
Fernsehsystemen, z. B. dem NTSC-System, etwa 1000 beträgt, ist die Zahl der Pixel einer
horizontalen Periode eines Videosignals des HDTV-Systems etwa gleich 2000. Die
SVP-Verarbeitungsvorrichtung ist so konfiguriert, daß sie den Wert einer horizontalen Periode von
Pixelwerten in einer horizontalen Periode verarbeitet, so daß die Zahl der individuellen
Prozessoren 80i der SVP-Verarbeitungsvorrichtung ebenfalls gleich 2000 sein muß.
-
Bei den derzeitig praktizierten Verfahren zur Herstellung von Halbleitervorrichtungen ist eine
Zahl von etwa 2000 individuellen Prozessoren 80i für die SVP-Verarbeitungsvorrichtung
möglich. In einer Parallelprozessoranordnung 8 werden jedoch häufig sowohl Videosignale
nach dem herkömmlichen System als auch Videosignale nach dem neuesten System
verarbeitet. Deshalb entsteht das Problem der Vergeudung von Schaltungselementen auf.
-
Wenn nämlich ein Videosignal des HDTV-Systems mit Hilfe einer
SVP-Verarbeitungsvorrichtung verarbeitet wird, die aus 2000 individuellen Prozessoren 80i besteht, damit auch das
Videosignal des HDTV-Systems verarbeitet werden kann, werden alle individuellen
Prozessoren für die Verarbeitung benutzt, so daß keine Vergeudung auftritt. Wenn hingegen in der
gleichen Vorrichtung ein Videosignal des NTSC-Systems verarbeitet wird, bleiben 1000
individuelle Prozessoren 80, ungenutzt, so daß hier das Problem der Vergeudung auftritt.
-
Das heißt, wenn Signaldatentypen unterschiedlicher Länge, die als Verarbeitungseinheit
dienen, in einer SVP-Verarbeitungsvorrichtung verarbeitet werden, muß man eine Anzahl
von Prozessoren 80i vorsehen, die dem Datentyp mit der größten Länge entspricht. Bei
einer solchen SVP-Verarbeitungsvorrichtung besteht das Problem, daß seine Leistung für
ein Signal, das aus Daten geringerer Länge besteht, überdimensioniert ist.
-
Es besteht deshalb Bedarf für eine Parallelprozessorvorrichtung, die eine hocheffiziente
Verarbeitung auch dann ermöglicht, wenn von der Mehrzahl der von der
Parallelprozessorvorrichtung verarbeitbaren Signalen ein Signal verarbeitet wird, das aus Daten kurzer Länge
besteht, die als Verarbeitungseinheit dienen, indem auch die Prozessoren genutzt werden,
die von den entsprechend einem aus Daten der größten Länge bestehenden Signal
vorgesehenen individuellen Prozessoren übrig bleiben.
-
Es besteht außerdem Bedarf für eine Parallelprozessorvorrichtung, die dann, wenn die zu
verarbeitende Datenlänge die gleiche ist, eine komplexere und hochwertigere Verarbeitung
ermöglicht als die herkömmliche Vorrichtung.
-
Gemäß vorliegender Erfindung ist eine Parallelprozessorvorrichtung vorgesehen,
-
mit einer Mehrzahl von ersten Schieberegisterschaltungen, die erste serielle Daten
eines seriellen Formats sequentiell verschieben und in erste parallele Daten eines parallelen
Formats umwandeln und zweite parallele Daten sequentiell verschieben und in zweite
serielle Daten eines seriellen Formats umwandeln,
-
mit einer Mehrzahl von Verarbeitungsschaltungen, die jeweils vorbestimmte
Verarbeitungen an den entsprechenden ersten parallelen Daten eines parallelen Formats vornehmen
und dieselben als dritte parallele Daten eines parallelen Formats ausgeben,
-
und mit einer Auswahlschaltung, die wenigstens einen Teil der zweiten seriellen Daten,
die von den ersten Schieberegisterschaltungen ausgegeben werden, den entsprechenden
ersten Schieberegisterschaltungen zuführen,
-
wobei die dritten parallelen Daten den ersten Schieberegisterschaltungen als die
genannten zweiten parallelen Eingangsdaten zugeführt werden.
-
Im folgenden wird die Erfindung beispielhaft beschrieben, wobei auf die anliegenden
Zeichnungen Bezug genommen wird, in denen gleiche Teile durchgehend mit gleichen
Bezugszeichen versehen sind.
-
Fig. 1 zeigt eine Ansicht der Konfiguration eines herkömmlichen Parallelprozessors,
-
Fig. 2 zeigt eine Ansicht der Konfiguration eines ersten Parallelprozessors der
Parallelprozessorvorrichtung nach einem ersten Ausführungsbeispiel der Erfindung,
-
Fig. 3 zeigt eine Ansicht der Konfiguration eines zweiten Parallelprozessors nach dem
ersten Ausführungsbeispiel der Erfindung,
-
Fig. 4A bis 4I zeigen Ansichten zur Erläuterung der Zeitsteuerung bei einer ersten
Operation des Parallelprozessors von Fig. 2 und 3; im einzelnen zeigen: Fig. 4A einen Pixelwert
Di, der einem Eingang IN zuzuführen ist; Fig. 4B die Wellenform eines Schreibzeigersignals
WP, das einem Eingang WP des ersten Parallelprozessors zuzuführen ist; Fig. 4C die
Wellenform des Ausgangssignals eines individuellen Verzögerungselements H1; Fig. 4D die
Wellenform des Ausgangssignals eines individuellen Verzögerungselements Hn; Fig. 4E die
Wellenform eines Lesezeigersignals RPA, das einem Eingang RPA des ersten
Parallelprozessors zuzuführen ist; Fig. 4F die Wellenform des Ausgangssignals eines individuellen
Ver
zögerungselements G1; Fig. 4G die Wellenform des Ausgangssignals eines individuellen
Verzögerungselements Gn; Fig. 4H das Verarbeitungsergebnis Qi, das von einem Wähler
Sin des ersten Parallelprozessors ausgegeben wird; und Fig. 4I das Verarbeitungsergebnis
(Qi), das an dem Ausgang OUT des zweiten Parallelprozessors ausgegeben wird,
-
Fig. 5A und 5B zeigen Ansichten zur Erläuterung des Verarbeitungsinhalts des in Fig. 2
und 3 dargestellten Parallelprozessors gemäß der Erfindung, wobei Fig. 5A eine Ansicht zur
Erläuterung des Inhalts der ersten Verarbeitung des ersten Parallelprozessors von Fig. 2
zeigt, und Fig. 5B eine Ansicht zur Erläuterung des Inhalts einer ersten Verarbeitung des
zweiten Parallelprozessors von Fig. 3 zeigt,
-
Fig. 6A bis 61 zeigen Ansichten zur Erläuterung der Zeitsteuerung bei einer zweiten
Operation des Parallelprozessors von Fig. 2 und 3; im einzelnen zeigen: Fig. 6A einen
Pixelwert Di, der von einem Eingang IN des ersten Parallelprozessors eingegeben wird; Fig. 6B
die Wellenform des Schreibzeigersignals WP, das von einem Eingang WP des ersten
Parallelprozessors zugeführt wird; Fig. 6C die Wellenform des Ausgangssignals des individuellen
Verzögerungselements H1; Fig. 6D die Wellenform des Ausgangssignals des individuellen
Verzögerungselements H2; Fig. 6E die Wellenform des Ausgangssignals des individuellen
Verzögerungselements Hn; Fig. 6F die Wellenform des Ausgangssignals des individuellen
Verzögerungselements Hn+1; Fig. 6G die Wellenform des Ausgangssignals des
individuellen Verzögerungselements Hn+2; Fig. 6H die Wellenform des Ausgangssignals des
individuellen Verzögerungselements Hm; und Fig. 61 die Verarbeitungsergebnisse Qi und Qp, die
an dem Ausgang OUT des zweiten Parallelprozessors ausgegeben werden,
-
Fig. 7 zeigt eine Ansicht zur Erläuterung der zweiten Operation des Parallelprozessors
von Fig. 2 und Fig. 3,
-
Fig. 8 zeigt eine Ansicht der Konfiguration des Parallelprozessors nach einem zweiten
Ausführungsbeispiel der Erfindung,
-
Fig. 9 zeigt eine Ansicht der Konfiguration des dritten Parallelprozessors von Fig. 8.
-
Im folgenden wird anhand von Fig. 2 bis 7 eine Parallelprozessorvorrichtung erläutert.
-
Zur Vereinfachung der Darstellung ist eine Parallelprozessoranordnung 1 in zwei Teilen,
nämlich als erster Parallelprozessor 10 und als zweiter Parallelprozessor 20, dargestellt. Fig.
2 zeigt die Konfiguration des ersten Parallelprozessors 10 der Parallelprozessoranordnung 1
nach einem ersten Ausführungsbeispiel der Erfindung, und Fig. 3 zeigt eine Ansicht der
Konfiguration eines zweiten Parallelprozessors 20 der Parallelprozessoranordnung 1 nach
dem ersten Ausführungsbeispiel der Erfindung. Es ist zu beachten, daß die Symbole (S160)
bis (S214n+1) in Fig. 2 und Fig. 3 die Signalverbindungen zwischen dem ersten
Parallelprozessor 10 und dem zweiten Parallelprozessor 20 bezeichnen.
-
Die in Fig. 2 und 3 dargestellte Parallelprozessoranordnung 1 führt Verarbeitungen durch
wie die Intraframe-Bewegungsdetektierung an Videosignalen mehrerer digitaler
Formattypen, z. B. an Videosignalen des NTSC-Systems und des NDTV-Systems.
-
Die Konfiguration der Parallelprozessoranordnung 1 ist die einer Parallelprozessorvorrichtung
aus zwei SIMD-Systemen (Single Instruction Multiple Data Systems) mit n individuellen
Prozessoren (Prozessorelementen) 100i(i = 1, 2, ..., n, das gleiche gilt für das folgende) und mit
(m-n) individuellen Prozessoren 200p (p = n+1, n+2, ..., m, das gleiche gilt für das folgende),
d. h. es handelt sich um eine Konfiguration mit einer seriellen Verbindung des ersten
Parallelprozessors 10 und des zweiten Parallelprozessors 20, die so ausgebildet ist, daß die
Verbindung geändert werden kann, indem ein Wähler in Abhängigkeit davon eingestellt wird, ob
es sich bei den eingegebenen Daten um ein Videosignal des NTSC-Systems oder um ein
Videosignal des HDTV-Systems handelt.
-
Hier sind m und n ganze Zahlen, für die z. B. die Beziehung 1 ≤ n ≤ m/2 < m gilt. Wenn die
Parallelprozessoranordnung 1 Videosignale des NTSC-Systems und des HDTV-Systems
verarbeitet, ist z. B. m etwa gleich 2000, n etwa gleich 1000 und m/2 = n.
-
Durch serielles Verbinden der beiden Parallelprozessoren und paralleles Verarbeiten der
Videosignale in diesen Parallelprozessoren kann die Parallelprozessoranordnung 1 in einer
horizontalen Periode eines Videosignals des HDTV-Systems, das aus Daten mit einer großen
Länge besteht, die als für die Verarbeitung dienen, eine Verarbeitung ausführen, die
derjenigen der oben erwähnten SVP-Verarbeitungsvorrichtung (Parallelprozessoranordnung 8)
äquivalent ist; an einem Videosignal des NTSC-Systems kann er eine Verarbeitung durchführen,
einen doppelt so großen Umfang hat wie die Verarbeitung in der oben beschriebenen
Parallelprozessoranordnung 8.
-
Das heißt, wenn ein Videosignal des NTSC-Systems verarbeitet wird, arbeitet in der oben
beschriebenen Parallelprozessoranordnung 8 nur der Teil effektiv, der dem ersten
Parallelprozessor 10 der Parallelprozessoranordnung 1 entspricht. Der dem zweiten
Parallelprozessor 20 entsprechende Teil führt keine effektive Verarbeitung durch. Im Gegensatz hierzu
führen in der Parallelprozessoranordnung 1 der erste Parallelprozessor 10 und der zweite
Parallelprozessor 20 eine Pipeline-Verarbeitung durch und damit eine höhere Ansprüchen
entsprechende Verarbeitung, bei der auch der zweite Parallelprozessor 20 effektiv genutzt
wird.
-
Zunächst wird anhand von Fig. 2 die Konfiguration des ersten Parallelprozessors 10 der
Parallelprozessoranordnung 1 gemäß der Erfindung erläutert.
-
Der erste Parallelprozessor 10 ist ein Parallelprozessor des SIMD-Systems mit individuellen
Prozessoren 100i, deren Zahl n der Pixelzahl in einer horizontalen Periode (einer Zeile oder
1H) z. B. eines Videosignals des NTSC-Systems oder einer halben horizontalen Periode eines
Videosignals des HDTV-Systems entspricht.
-
Die individuellen Prozessoren 100i bis 100n sind in der gleichen Zahl vorgesehen wie die
Zahl der Pixel n in einer Zeile eines Videosignals des NTSC-Systems und den Pixeln
entsprechend angeordnet. Jeder besteht aus einem Register (Ri) 106i, Registern (Rij) 108i, 110i,
112i, einem Rechen- und Steuerwerk (ALUi) 114i, einem Schalter (Ui) 116i, einem Schalter
(Si) 118i, einem Schalter (Vi) 126i, einem Schalter (Ti) 128i, Schaltern (Sij) 120i, 122i und 124i
und Schaltern (Tij) 140i, 142i und 144i(j = 0, 1, 2).
-
Die individuellen Verzögerungselemente (Gi) 102i sind in Reihe geschaltet. Die individuellen
Verzögerungselemente (Gi) 102i verleihen dem Lesezeigersignal RPA, das über den Eingang
PRAT der Parallelprozessoranordnung 1 zugeführt wird, eine Verzögerung, die exakt der Zeit
entspricht, in der der Wert eines Pixels des Verarbeitungsergebnisses ausgegeben wird.
Das von einem individuellen Verzögerungselement (Gn) 102n ausgegebene Lesezeigersignal
RPA wird über den Wähler (SRP) 160 an das individuelle Verzögerungselement (G(n+1))
202n+i des zweiten Parallelprozessors 20 ((S160) von Fig. 1 ausgegeben.
-
Die individuellen Verzögerungselemente (Hi) 104i sind in Reihe geschaltet. Die individuellen
Verzögerungselemente (Hi) 104i verleihen dem Schreibzeigersignal WP, das über den
Eingang WPT der Parallelprozessoranordnung 1 zugeführt wird, eine Verzögerung, die exakt
der Zeit entspricht, in der der Wert eines Pixels der Pixelwerte des Videosignals zugeführt
wird.
-
Das von einem individuellen Verzögerungselement (Hn) 104n ausgegebene
Schreibzeigersignal WP wird über den Wähler (SWP) 162 dem individuellen Verzögerungselement (Hi) 204i
des zweiten Parallelprozessors 20 ((S162) von Fig. 2) zugeführt.
-
Die Register (Ri) 106i haben jeweils eine Breite von beispielsweise 8 Bit und besitzen einen
Eingang, der über den Schalter (Ui) 116ii mit dem Eingang INT der
Parallelprozessoranordnung 1 und über den Schalter (Si) 118i mit der Schreibbitleitung WBi des Rechen- und
Steuerwerks (ALUi) 114i verbunden ist, und einen Ausgang, der über den Schalter (Vi) 126i mit
dem Wähler (SRP) 160 der Parallelprozessoranordnung 1 und über den Schalter (Ti) 128i mit
der Lesebitleitung RBi des Rechen- und Steuerwerks (ALUi) 114i verbunden ist.
-
Das Register (Ri) 106i hält den Pixelwert Di, der über den Eingang INT der
Parallelprozessoranordnung 1 über den Schalter (Ui) 116i zugeführt wird, oder das Verarbeitungsergebnis Qi,
das von der Schreibbitleitung WBi des Rechen- und Steuerwerks (ALUi) 114i über den
Schalter (Si) 118i zugeführt wird, und gibt die gehaltenen Daten über den Schalter (Vi) 126i
an den Wähler (Sin) 164 des ersten Parallelprozessors 10 oder über den Schalter (Sout) 166
und den Schalter (Ti) 128i an die Lesebitleitung RBi des Rechen- und Steuerwerks (ALUi)
114i aus.
-
Der Schalter (Ui) 116i gibt den Pixelwert D, über den Eingang INT des ersten
Parallelprozessors 10 nur dann an das Register (Ri) 106i zum Halten aus, wenn das Schreibzeigersignal
WP aktiv (auf dem logischen Wert "1") ist.
-
Der Schalter (Si) 118i schreibt das Verarbeitungsergebnis Qi aus dem Rechen- und
Steuerwerk (ALUi) 114i nur dann in das Register (Ri) 106i ein, wenn das von dem
Adressendecodierer (ADA) 150 gelieferte Schreibsignal WWA aktiv ist.
-
Der Schalter (Vi) 126i liest die in dem Register (Ri) 106i gehaltenen Daten nur dann aus und
gibt sie an den Wähler (Sin) 164 des ersten Parallelprozessors 10 und den Schalter (Sout)
166 aus, wenn das Schreibzeigersignal WP aktiv ist.
-
Der Schalter (T1) 128i gibt die in dem Register (Ri) 106i gehaltenen Daten nur dann an die
Lesebitleitung RBi des Rechen- und Steuerwerks (ALUi) 114i aus, wenn das von dem
Adressendecodierer 150 gelieferte Lesesignal RWA aktiv ist.
-
Das individuelle Verzögerungselement (Gi) 102i, das individuelle Verzögerungselement (Hi)
104i, das Register (Ri) 106i, der Schalter (Ui) 116i, der Schalter (Si) 118i, der Schalter (Vi) 126i
und der Schalter (T1) 128i bilden das Schieberegister (SRA) 12.
-
Die Register (Rij) 108i, 110i und 112i halten das Verarbeitungsergebnis Qi des Rechen- und
Steuerwerks (ALUi) 114i oder den Pixelwert Di, die über die Schalter (Sij) 120i, 122i und 124i
und den Schalter (Ui) 116i zugeführt werden, und liefern die gehaltenen Daten an den
Wähler (SWP) 162 und den Schalter (Sout) 166 des ersten Parallelprozessors 10 über die
Schalter (Tij) 140i, 142i und 144, und den Schalter (Vi) 126i. Das heißt, die Register (Rij) 108i, 110i
und 112i arbeiten als Register, die die Daten der Verarbeitung der Rechen- und Steuerwerke
(ALUi) 114i speichern, z. B. die Pixelwerte Di des laufenden Vollbilds und des vorangehenden
Vollbilds und ein Zwischenergebnis der Verarbeitung.
-
Die Schalter (Sij) 120i 122i und 124i schreiben die Verarbeitungsergebnisse Q oder die
Pixelwerte Di der Rechen- und Steuerwerke (ALUi) 114i nur dann in die Register (Rij) 108i, 110i
und 112i ein, wenn die von dem Adressendecodierer 150 gelieferten Schreibsignale WW0A,
WW1A bzw. WW2A aktiv sind.
-
Die Schalter (Tij) 140i, 142i und 144i lesen die in den Registern (Rij) 108i, 110i und 112i
gehaltenen Daten nur dann aus, wenn die von dem Adressendecodierer 150 gelieferten
Schreibsignale RW0A, RW1A bzw. RW2A aktiv sind, und geben dieselben dann über den
Schalter (Vi) 126i an den Wähler (Sin) 164 und den Schalter (Sout) 166 des ersten
Parallelprozessors 10 aus.
-
Die Register (Rij) 108i, 110i und 112i, die Schalter (Sij) 120i, 122i und 124i und die Schalter
(Tij) 140i, 142i und 144i bilden die Registergruppe 14i. Obwohl die Zahl der Register in der
Registergruppe 14 zur Vereinfachung der Darstellung mit drei angenommen wurde, beträgt
die Zahl der Register der Registergruppe 14i in der praktischen Anwendung üblicherweise
etwa 128 bis 1024.
-
Der Wähler (SRP) 160 wählt unter dem Steuereinfluß der Steuerschaltung 152 das Signal
RPB (a) oder das Ausgangssignal (b) des individuellen Verzögerungselements (Gi) 102n und
liefert dieses an den zweiten Parallelprozessor 20 (Fig. 2(S160)).
-
Der Wähler (SWP) 162 wählt unter dem Steuereinfluß der Steuerschaltung 152 das
Lesezeigersignal RPA (a) oder das Ausgangssignal (b) des individuellen Verzögerungselements
(Hn) 104n und gibt dasselbe an den zweiten Parallelprozessor 20 (Fig. 2(S162)) aus.
-
Der Wähler (Sin) 164 wählt unter dem Steuereinfluß der Steuerschaltung 152 entweder (a)
den Pixelwert Di, der über den Eingang INT zugeführt wird, oder (b) das
Verarbeitungsergebnis Qi, das von den betreffenden individuellen Prozessoren 100i ausgegeben wird, und
gibt dasselbe an den zweiten Parallelprozessor 20 (Fig. 2 (S164)) aus.
-
Der Schalter (Sout) 166 öffnet oder schließt unter dem Steuereinfluß der Steuerschaltung
152 und gibt das Verarbeitungsergebnis Qi an den zweiten Parallelprozessor 20 aus, wenn
er geschlossen ist (Fig. 2 (S166)).
-
Der Wähler (SX) 168 wählt unter dem Steuereinfluß der Steuerschaltung 152 entweder (a)
das Eingangssignal oder (b) den numerischen Wert 0 aus dem Rechen- und Steuerwerk
(ALUn+1) 214n+1 und gibt die ausgewählten Daten an das Rechen- und Steuerwerk (ALUi)
114i (Fig. 2 (S214n+1)) aus.
-
Das Rechen- und Steuerwerk (ALUi) 114i liest den Pixelwert Di oder die in der
Registergruppe 14i gespeicherten Daten usw. von der Lesebitleitung RBi aus, führt eine Verarbeitung
durch, z. B. eine Intraframe-Bewegungsdetektierung, und liefert das Verarbeitungsergebnis
0i
oder ein Zwischenergebnis über die Schreibbitleitung WBi an die Registergruppe 14i oder
den Wähler (Sin) 164 und den Schalter (Sout) 166 des ersten Parallelprozessors 10.
-
Die Lesebitleitung RBi ist hier die Lesebitleitung des Rechen- und Steuerwerks (ALUi) 114i,
über die letzteres durch entsprechende Steuerung des Schalters (Ti) 128i und der Schalter
(Tij) 140i, 142i und 144i durch den Adressendecodierer 150 die in dem Register (Ri) 106i und
der Registergruppe 141 gespeicherten Daten auslesen kann. Auch die Schreibbitleitung WBi
ist eine Schreibbitleitung des Rechen- und Steuerwerks (ALUi) 114i, über die letzteres die
Daten, wie das Verarbeitungsergebnis Qi durch entsprechende Steuerung des Schalters (Si)
118i und der Schalter (Sij) 120i, 122i und 124i durch den Adressendecodierer 150 in das
Register (Ri) 106i und die Registergruppe 14i einschreiben kann.
-
Das Rechen- und Steuerwerk (ALUi) 114i besitzt außerdem Datenbusse Xi und Yi+1 für die
Durchführung einer Verarbeitung unter Verwendung der Daten aus der Registergruppen
14i+i und 14i-1 der benachbarten individuellen Prozessoren 10i+1 bzw. 10i-1 Der Datenbus Xi
dient zum Auslesen der Daten aus der Registergruppe 14i+1 durch das Rechen- und
Steuerwerk (ALUi) 114i. Der Datenbus Yi+1 dient zum Auslesen der Daten aus der Registergruppe
14i+1 durch das Rechen- und Steuerwerk (ALUi) 114i. Die Steuerschaltung 152 steuert das
Rechen- und Steuerwerk (ALUi+1) 114i+1 nämlich so, daß dieses die in der Registergruppe
14i+1 gespeicherten Daten über die Schreibbitleitung WBi+1 ausliest, und veranlaßt die
Ausgabe derselben aus dem Rechen- und Steuerwerk (ALUi+1) 114i+1 an das Rechen- und
Steuerwerk (ALUi) 114i über den Datenbus Xi. Auch umgekehrt steuert die Steuerschaltung
152 das Rechen- und Steuerwerk (ALUi) 114 so, daß dieses die in der Registergruppe 14i
gespeicherten Daten über die Schreibbitleitung WBi ausliest, und veranlaßt die Ausgabe
dieser Daten aus dem Rechen- und Steuerwerk (ALUi) 114i an das Rechen- und Steuerwerk
(ALUi) 114i+1 über den Datenbus Yi+i1.
-
Es ist darauf hinzuweisen, daß, wie in Fig. 2 dargestellt, kein Rechen- und Steuerwerk
(ALUi) 114i vorhanden ist, das mit dem Datenbus Y1 verbunden werden sollte. Deshalb wird
in den Datenbus Y&sub1; ein numerischer Wert 0 eingegeben. Auch der Datenbus Xn, der zu dem
Rechen- und Steuerwerk (ALUn) 114n führt, ist über den Wähler (XY) 168 mit dem Rechen-
und Steuerwerk (ALUn+1) 214n+1 ((S214n+1) von Fig. 1) oder dem Signal verbunden, das "0"
anzeigt, und der Datenbus Yn+1 ist mit dem Rechen- und Steuerwerk (ALUn+1) 214n+i
((S114n) von Fig. 2) verbunden.
-
Mit Hilfe dieser Datenbusse Xi und Yi+1 kann das Rechen- und Steuerwerk (ALUi) 114i auch
die in der Registergruppe 14+i gespeicherten Daten verarbeiten.
-
Die Steuerschaltung (CA) 152 erzeugt ein Adressensignal ADRS und ein Steuersignal CTRLA
für die Steuerung des Rechen- und Steuerwerks (ALUi) 114i und liefert diese an das
Rechen- und Steuerwerk (ALUi) 114i und den Adressendecodierer 150. Die Steuereinheit (CA)
152 steuert auch den Wähler (SRP) 160, den Wähler SWP) 162, den Wähler (Sin) 164, den
Wähler (SX) 168 und den Schalter (Sout) 166, um die innere Konfiguration der
Parallelprozessoranordnung 1 zu ändern.
-
Der Adressendecodierer 150 decodiert das von der Steuerschaltung 152 erzeugte
Adressensignal ADRS, aktiviert die Schreibsignale WWB, WW0B, WW1B und WW2B und die
Lesesignale RWB, RW0B, RW1B und RW2B, liefert diese an die Begister (Ri) 106i und die
Registergruppen 14i und steuert diese Schalter und Wähler.
-
Durch die Eingabe von Daten durch den Benutzer der Parallelprozessoranordnung 1 über die
Konsole 154 wird die Information eingegeben, mit der die Konfiguration der Verbindung z. B.
zwischen dem ersten Parallelprozessor 10 und dem zweiten Parallelprozessor 20 gesteuert
wird, d. h. Verbindung des Wählers (SRP) 160, des Wählers (SWP) 162, des Wählers (Sin)
164, des Wählers (SX) 168, des Wählers (SY) 260, des Schalters (Sout) 166 usw. in der
Steuerschaltung 152 und der Steuerschaltung 252 des weiter unten erwähnten zweiten
Parallelprozessors 20.
-
Als nächstes wird die Konfiguration des zweiten Parallelprozessors 20 der
Parallelprozessoranordnung 1 anhand von Fig. 3 erläutert.
-
Der zweite Parallelprozessor 20 ist eine Parallelprozessorvorrichtung nach dem SIMD-
System. Seine Konfiguration gleicht derjenigen des ersten Parallelprozessors 10, d. h. er
besitzt individuelle Prozessoren 200p, die dem (n+1)- ten bis m-ten Pixel einer horizontalen
Periode eines Videosignals z. B. des HDTV-Systems entsprechen oder (m-n) Pixeln einer
horizontalen Periode, die sich von der horizontalen Periode der Pixelwerte Di unterscheidet,
die von dem ersten Parallelprozessor 10 verarbeitet wurde. Es ist zu beachten, daß in dem
ersten Ausführungsbeispiel z. B. m - n = n ist.
-
Der zweite Parallelprozessor 20 verarbeitet nämlich das Verarbeitungsergebnis 0, des
ersten Parallelprozessors 10 oder die Pixelwerte Dn+i bis Dm (im folgenden werden die
Pixelwerte Dn+i bis Dm kurz als Pixelwert Dp bezeichnet), die über den Eingang INT des ersten
Parallelprozessors 10 zugeführt werden. Der zweite Parallelprozessor 20 übernimmt die
Verarbeitung des von dem ersten Parallelprozessor 10 unverarbeitet gelassenen Teils (Dn+1
bis Dm = Dp) der Pixelwerte Dp des HDTV-Systems, oder er führt die zweite Verarbeitung
für das erste Ergebnis Qi der Verarbeitung des Pixelwerts Di in dem ersten Parallelprozessor
10 durch und gibt die resultierenden Daten als Verarbeitungsergebnis Qp aus.
-
Die Zahl der individuellen Prozessoren 200+i bis 200m ist genau gleich der Differenz (m-n)
zwischen der Pixelzahl n in einer Zeile eines Videosignals des NTSC-Systems und der
Pixelzahl m in einer Zeile eines Videosignals des HDTV-Systems. Sie entsprechen dem (n+1)-ten
bis m-ten Pixel. Jeder dieser Prozessoren besteht aus einem Register (Rp) 206p, Registern
(Rpj) 208p, 210p und 212p, einem Rechen- und Steuerwerk (ALUp) 214p, einem Schalter (Up)
216p, einem Schalter (Sp) 218p, einem Schalter (Vp) 226p, einem Schalter (Tp) 228p,
Schaltern (Spj) 220p, 222p und 224p und Schaltern (Tpj) 240p, 242p und 244p.
-
Die individuellen Verzögerungselemente (Gp) 202p sind in Reihe geschaltet. Die individuellen
Verzögerungselemente (Gp) 202p verzögern das über den Wähler (SRP) 160 des ersten
Parallelprozessors 10 zugeführte Lesezeigersignal RPB oder das Ausgangssignal (Signal SRP,
(S160) in Fig. 3) des individuellen Verzögerungselements (Gn) 102n exakt um die Zeit, in der
ein Pixelwert der Verarbeitungsergebnisse Qi ausgegeben wird.
-
Die individuellen Verzögerungselemente (Hp) 204p sind in Reihe geschaltet. Die individuellen
Verzögerungselemente (Hp) 204p verzögern das über den Wähler (SWP) 162 des ersten
Parallelprozessors 10 zugeführte Lesezeigersignal RPA oder das Ausgangssignal (Signal WRP,
(S162) in Fig. 3) des individuellen Verzögerungselements (Hn) 104n um die einem Pixel des
Videosignals entsprechende Zeit.
-
Die Register (Rp) 204p, die jeweils eine Breite von z. B. 8 Bit haben, besitzen einen Eingang,
der über den Schalter (Up) 216p mit dem Wähler (Sin) 164 des ersten Parallelprozessors 10
((S164) in Fig. 3) und über den Schalter (Tp) 218P mit der Schreibbitleitung WBp des
Rechen- und Steuerwerks (ALUp) 214p verbunden ist, und einen Ausgang, der über den
Schalter (Vp) 226p mit dem Ausgang OUTT und über den Schalter (Tp) 228p mit der
Lesebitleitung RBp des Rechen- und Steuerwerks (ALUp) 214p verbunden ist.
-
Das Register (Rp) 206p hält den Pixelwert Dp ((S166) in Fig. 3), der von dem Wähler (Sin)
164 des ersten Parallelprozessors 10 über den Schalter (Up) 216p zugeführt wird, oder das
Verarbeitungsergebnis Qp, das von der Schreibbitleitung WBp des Rechen- und
Steuerwerks (ALUp) 814p über den Schalter (Tp) 21% zugeführt wird, und gibt die gehaltenen
Daten an den Ausgang OUTT der Parallelprozessoranordnung 1 oder über den Schalter (Tp)
22% an die Lesebitleitung RBp des Rechen- und Steuerwerks (ALUp) 214p aus.
-
Der Schalter (Up) 216p liefert den Pixelwert Dp über den Eingang INT der
Parallelprozessoranordnung 1 nur dann an das Register (Rp) 206p zum Halten, wenn das Schreibzeigersignal
WP aktiv ist.
-
Der Schalter (Sp) 218p schreibt das Verarbeitungsergebnis Qp aus dem Rechen- und
Steuerwerk (ALUp) 214p nur dann in das Register (Rp) 206p, wenn das aus dem
Adressendecodierer (ADB) 250 zugeführte Schreibsignal WWB aktiv ist.
-
Der Schalter (Vp) 226p liest die in dem Register (Rp) 206p gehaltenen Daten nur dann aus,
wenn das Schreibzeigersignal WP aktiv ist, und liefert diese Daten dann an den Ausgang
OUTT.
-
Der Schalter (Tp) 228p liefert die in dem Register (Rp) 206p gehaltenen Daten nur dann an
die Lesebitleitung RBp des Rechen- und Steuerwerks (ALUp) 214p, wenn das von dem
Adressendecodierer 250 zugeführte Lesesignal RBp aktiv ist.
-
Das individuelle Verzögerungselement (Gp) 202P, das individuelle Verzögerungselement (Hp)
204p, das Register (Rp) 206p, der Schalter (Up) 216p, der Schalter (Sp) 218p, der Schalter
(Vp) 226p und der Schalter (Tp) 228p bilden das Schieberegister (SRB) 22.
-
Die Register (Rpj) 208p, 210p und 212p halten das Verarbeitungsergebnis Qp des Rechen-
und Steuerwerks (ALUp) 214p oder den Pixelwert Dp, die über die Schalter (Spj) 220p, 222p
und 224p und den Schalter (Up) 216p zugeführt werden, und liefern die gehaltenen Daten
über die Schalter (Tpj) 240p, 242p und 244p und den Schalter (Vp) 226p an den Ausgang
OUTT der Parallelprozessoranordnung 1.
-
Das heißt, die Register (Rpj) 208p, 210p und 212p arbeiten als Register, welche die der
Verarbeitung in dem Rechen- und Steuerwerk (ALUp) 214p betreffenden Daten speichern, z. B.
den Pixelwert Dp eines laufenden Vollbilds und des vorangehenden Vollbilds und das
Zwischenergebnis der Verarbeitung.
-
Die Schalter (Spj) 220p, 222p und 224p schreiben die Verarbeitungsergebnisse QP der
Rechen- und Steuerwerke (ALUi) 214p oder die Pixelwerte Dp nur dann in die Register (Rpj)
208p, 210p und 212p ein, wenn die von dem Adressendecodierer 250 gelieferten
Schreibsignale WW0B, WW1B und WW2B aktiv sind.
-
Die Schalter (Tpj) 240p, 242p und 244p lesen die in den Registern (Rpj) 208p, 210p und 212p
gehaltenen Daten nur dann aus, wenn die von dem Adressendecodierer 250 gelieferten
Schreibsignale RW0B, RW1 B bzw. RW2B aktiv sind, und geben diese Daten dann über den
Schalter (Vp) 226p an den Ausgang OUTT der Parallelprozessoranordnung 1 aus.
-
Die Register (Rpj) 208p, 210p und 212p, die Schalter (Spj) 220p, 222p und 224p und die
Schalter (Tpj) 240p, 242p und 244p bilden die Registergruppe 24p. Wie oben für die Konfiguration
des ersten Parallelprozessors 10 erläutert wurde, ist zu beachten, daß die Zahl der Register
der Registergruppe 24p zur Vereinfachung der Darstellung zwar mit drei angenommen
wurde, im praktischen Einsatz die Zahl der Register der Registergruppe 24p jedoch etwa
128 bis 1024 beträgt.
-
Das Rechen- und Steuerwerk (ALUp) 214p liest die Pixeldaten Dp oder die in der
Registergruppe 24p gespeicherten Daten usw. von der Lesebitleitung RBp aus, führt die
Verarbeitung durch, z. B. eine Intraframe-Bewegungsdetektierung, und liefert das entsprechende
Verarbeitungsergebnis Qp oder ein Zwischenergebnis über die Schreibbitleitung WBp an die
Registergruppe 24p oder an den Ausgang OUTT der Parallelprozessoranordnung 1.
-
Die Lesebitleitung RBp ist hier die Lesebitleitung des Rechen- und Steuerwerks (ALUp)
214p, wobei dieses Rechen- und Steuerwerk (ALUp) 214p die in dem Register (Rp) 206p und
der Registergruppe 24p gespeicherten Daten durch entsprechende Steuerung des Schalters
(Tp) 228p und der Schalter (Tpj) 240p, 242p und 244p über den Adressendecodierer 250
auslesen kann. Auch die Schreibbitleitung WBp ist eine Schreibbitleitung des Rechen- und
Steuerwerks (ALUp) 214p, wobei dieses Rechen- und Steuerwerk (ALUp) 214p die Daten
des Verarbeitungsergebnisses Qp usw. durch entsprechende Steuerung des Schalters (Sp)
21% und der Schalter (Spj) 220p, 222p und 224p durch den Adressendecodierer 250 in das
Register (Rp) 206p und die Registergruppe 24p einschreiben kann.
-
Das Rechen- und Steuerwerk (ALUp) 214p besitzt Datenbusse Xp und Yp+1 für die
Durchführung der Verarbeitung unter Verwendung der Daten der Registergruppen 2p+1 und 24p-1
der benachbarten individuellen Prozessoren 20p+1 bzw. 20p-1. Die Datenbusse Xp und Yp+1
dienen dem gleichen Zweck wie die Datenbusse Xi und Yi+i des oben beschriebenen ersten
Parallelprozessors 10, d. h. sie dienen zum Auslesen der Daten aus der Registergruppe
24p+1 durch das Rechen- und Steuerwerk (ALUp) 214p, und der Datenbus Yp+1 dient zum
Auslesen der Daten aus der Registergruppe 24p-1 durch das Rechen- und Steuerwerk
(ALUp) 214p. Die Steuerschaltung 252 steuert das Rechen- und Steuerwerk (ALUp+1)
214p+1 so, daß dieses die in der Registergruppe 24p+1 gespeicherten Daten über die
Schreibbitleitung WBp+1 ausliest, und veranlaßt die Zuführung dieser Daten aus dem
Rechen- und Steuerwerk (ALUp+1) 214p+1 zu dem Rechen- und Steuerwerk (ALUp) 214p
über den Datenbus Xp. Umgekehrt steuert die Steuerschaltung 252 auch das Rechen- und
Steuerwerk (ALUp) 214p so, daß dieses die in der Registergruppe 24p gespeicherten Daten
über die Bitleseleitung RBp ausliest, und veranlaßt die Zuführung dieser Daten aus dem
Rechen- und Steuerwerk (ALUp) 214p zu dem Rechen- und Steuerwerk (ALUp+1) 214p+1
über den Datenbus Yp+1.
-
Wie Fig. 3 zeigt, ist der Datenbus Y1+1 des Rechen- und Steuerwerks (ALUn+1)214n+1 über
den Wähler (SY) 260 entweder (a) mit dem Datenbus Yn+1 des Rechen- und Steuerwerks
(ALUn) 114n verbunden oder (b) mit dem Signal, das den numerischen Wert "0"
repräsentiert ((S 114n) in Fig. 3). Auch der Datenbus Xn des Rechen- und Steuerwerks (ALUn+1)
214n+1 ist mit dem Rechen- und Steuerwerk (ALUn) 114n verbunden.
-
Mit Hilfe der Datenbusse 4 und Yn+1 können die in der Registergruppe 14i und der
Registergruppe 24p gespeicherten Daten zwischen dem Rechen- und Steuerwerk (ALUi) 114i
des ersten Parallelprozessors 10 und des Rechen- und Steuerwerks (ALUp) 214p des
zweiten Parallelprozessors 20 aufgeteilt werden.
-
Die Steuerschaltung (CB) 252 erzeugt das Adressensignal ADRS sowie ein Steuersignal
CTRLB für die Steuerung der Rechen- und Steuerwerke (ALUp) 214p und liefert diese an die
Rechen- und Steuerwerke (ALUp) 214p und den Adressendecodierer 250 und steuert
gleichzeitig den Wähler (SY) 260.
-
Der Adressendecodierer 250 decodiert das von der Steuerschaltung 252 erzeugte
Adressensignal ADRS, aktiviert die Schreibsignale WWB, WW0B, WW1B und WW2B und die
Lesesignale RWB, RW0B, RW1B und RW2B, liefert dieselben an die Register (Rp) 206p und
die Registergruppen 24p und steuert diese Schalter und Wähler.
-
Von den oben erwähnten konstituierenden Elementen der Parallelprozessoranordnung 1
entsprechen der erste Parallelprozessor 10 und der zweite Parallelprozessor 20 den
Gruppen von individuellen Verarbeitungseinheiten, wie sie oben definiert wurden. Wenn sie nicht
miteinander verbunden sind, entsprechen der erste Parallelprozessor 10 und der zweite
Parallelprozessor 20 den Verarbeitungseinheiten, wie sie oben definiert wurden. Wenn sie
miteinander verbunden sind, entsprechen der erste Parallelprozessor 10 und der zweite
Parallelprozessor 20 zusammen der Verarbeitungseinheit, wie sie oben definiert wurde.
-
In dem ersten Parallelprozessor 10 und dem zweiten Parallelprozessor 20 entsprechen die
Schieberegister 12 und 22 dem Schieberegister, den Dateneingabemitteln und den
Datenausgabemitteln, wie sie oben definiert wurden, und die Registergruppe 14i und das Rechen-
und Steuerwerk (ALUi) 114i und die Registergruppe 24p und das Rechen- und Steuerwerk
(ALUp) 214p entsprechen der individuellen Verarbeitungseinheit, wie sie oben definiert
wurde.
-
Im folgenden wird anhand von Fig. 4A bis 4I und Fig. 5A und 5B die erste Operation der
Parallelprozessoranordnung 1 erläutert, d. h. die Operation, bei der die
Parallelprozessoranord
nung 1 ein Videosignal verarbeitet, das aus Daten mit einer Länge von wenigstens n in einer
horizontalen Periode besteht, z. B. ein Videosignal des NTSC-Systems.
-
Fig. 4A bis 4I zeigen Ansichten zur Erläuterung der Zeitsteuerung der ersten Operation der
in Fig. 2 und 3 dargestellten Parallelprozessoranordnung 1. Fig. 4A zeigt einen Pixelwert Di,
der dem Eingang INT zuzuführen ist; Fig. 4B zeigt die Wellenform des Schreibzeigersignals
WP, das dem Eingang WPT des ersten Parallelprozessors zugeführt wird; Fig. 4C zeigt die
Wellenform des Ausgangssignals des individuellen Verzögerungselements (H1) 104&sub1;; Fig.
4D zeigt die Wellenform des Ausgangssignals des individuellen Verzögerungselements (Hn)
104n, Fig. 4E zeigt die Wellenform des Lesezeigersignals RPA, das dem Eingang RPAT des
ersten Parallelprozessors zugeführt wird; Fig. 4F zeigt die Wellenform des Ausgangssignals
des individuellen Verzögerungselements (G1) 102&sub1;; Fig. 4G zeigt die Wellenform des
Ausgangssignals des individuellen Verzögerungselements (Gn) 102n; Fig. 4H zeigt das
Verarbeitungsergebnis Qi, das von dem Wähler (Sin) 164 des ersten Parallelprozessors 10
ausgegeben wird; Fig. 4I zeigt das Verarbeitungsergebnis (Qi ), das an dem Ausgang OUTT des
zweiten Parallelprozessors 20 ausgegeben wird.
-
Fig. 5A und 5B zeigen Ansichten zur Erläuterung des Inhalts der Verarbeitung in der
Parallelprozessoranordnung 1 von Fig. 2 und 3. Im einzelnen zeigen Fig. 5A eine Ansicht zur
Erläuterung des Inhalts der ersten Verarbeitung in dem in Fig. 2 dargestellten ersten
Parallelprozessor 10; Fig. 5B zeigt eine Ansicht zur Erläuterung des Inhalts der ersten Verarbeitung in
dem in Fig. 3 dargestellten zweiten Parallelprozessor 20.
-
Diese erste Operation ist eine solche, bei der die Pixelwerte Di des Videosignals des NTSC-
Systems von dem ersten Parallelprozessor 10 verarbeitet werden und die ersten
Verarbeitungsergebnisse Qi sequentiell an den zweiten Parallelprozessor 20 ausgegeben werden.
-
Die ersten Verarbeitungsergebnisse Q werden in dem zweiten Parallelprozessor 20 einer
zweiten Verarbeitung unterzogen, und die Verarbeitungsergebnisse Op werden
ausgegeben. Das heißt, in der ersten Operation führen der erste Parallelprozessor 10 und der zweite
Parallelprozessor 20 die erste Verarbeitung und die weiter unten beschriebene zweite
Verarbeitung für die Pixelwerte Di mittels Pipeline-Verarbeitung durch. Es ist zu beachten, daß in
der folgenden Erläuterung das Verarbeitungsergebnis Op des zweiten Parallelprozessors 20
als Verarbeitungsergebnis (Qi) bezeichnet wird, das durch weitere Verarbeitung des ersten
Verarbeitungsergebnisses Qi des ersten Parallelprozessors 10 gewonnen wird.
-
Zunächst wird die Verbindung der Schalter und Wähler der Parallelprozessoranordnung 1 für
die erste Operation erläutert.
-
Wenn die erste Operation ausgeführt wird, setzt sich der Wähler (SRP) 160 des ersten
Parallelprozessors 10 der Parallelprozessoranordnung 1 auf den in Fig. 2 dargestellten Kontakt
a, wählt das Lesezeigersignal RPB und liefert dieses an den zweiten Parallelprozessor 20.
Es ist zu beachten, daß das Lesezeigersignal RPB das gleiche Signal ist wie das
Lesezeigersignal RPA. Der Wähler (SWP) 162 des ersten Parallelprozessors 10 setzt sich auf den in
Fig. 2 dargestellten Kontakt a, wählt das Lesezeigersignal RPA und liefert dieses an den
zweiten Parallelprozessor 20. Der Wähler (Sin) 164 setzt sich auf den in Fig. 2 dargestellten
Kontakt b und liefert das Verarbeitungsergebnis Qi des ersten Parallelprozessors 10 an den
zweiten Parallelprozessor 20. Der Schalter (Sout) 166 öffnet den Kontakt. Dementsprechend
empfängt der zweite Parallelprozessor 20 als Eingangssignal sequentiell die ersten
Verarbeitungsergebnisse Qi als die Ergebnisse, die durch die Verarbeitung der Pixelwerte Di in dem
ersten Parallelprozessor 10 gewonnen werden.
-
Auch der Wähler (SX) 168 des ersten Parallelprozessors 10 setzt sich auf den in Fig. 2
dargestellten Kontakt b und führt dem Rechen- und Steuerwerk (ALUn) 114n über den
Datenbus Xn den numerischen Wert "0" zu, während der Wähler (SY) 260 des zweiten
Parallelprozessors 20 sich auf den den in Fig. 3 dargestellten Kontakt b setzt und an das Rechen- und
Steuerwerk (ALUn+1) 214n+1 den numerischen Wert "0" ausgibt. Deshalb findet zwischen
dem Rechen- und Steuerwerk (ALUn) 114n des ersten Parallelprozessors 10 und dem
Rechen- und Steuerwerk (ALUn+1) 214n+1 des zweiten Parallelprozessors 20 kein Senden
und Empfangen von Daten über die Datenbusse Xn und Yn+1 statt, und der erste
Parallelprozessor 10 und der zweite Parallelprozessor 20 arbeiten als unabhängige
Parallelprozessorvorrichtungen. Die Verbindung der Schalter und Wähler wird von der Steuerschaltung 152
nach Maßgabe der Einrichtungsinformation gesteuert, die von der Konsole 154 ausgegeben
wird.
-
Zunächst wird anhand von Fig. 4A bis 4I die Zeitsteuerung der Operation der
Parallelprozessoranordnung 1 erläutert.
-
Wie Fig. 4A zeigt, werden über den Eingang INT des ersten Parallelprozessors 10
sequentiell der Pixelwert (Di"") der horizontalen Periode k+4 und der Pixelwert (Di''') der
horizontalen Periode k+3 zugeführt. Gleichzeitig mit der Eingabe der Pixelwerte Di der betreffenden
horizontalen Perioden wird, wie in Fig. 4B dargestellt, das Schreibzeigersignal WP aktiviert,
das dem Eingang WPT der ersten Parallelprozessoranordnung 1 zuzuführen ist. Wie Fig. 4C
und 4D zeigen, wird das Schreibzeigersignal WP exakt um die Zeit verzögert, in der ein Pixel
von dem individuellen Verzögerungselement (Hi) 104i der Parallelprozessoranordnung 1
zugeführt wird.
-
Wenn das von dem individuellen Verzögerungselement (Hi) 104i ausgegebene
Schreibzeigersignal WP aktiv ist, wird der entsprechende Schalter (Ui) 116i geschlossen, und die über
den Eingang INT einlaufenden Pixelwerte Di werden sequentiell in das Register (Ri) 106i
eingeschrieben. Deshalb werden in den in Fig. 4A dargestellten horizontalen Perioden k+3
und k +4 die Pixelwerte Di''' und Di"", wie in Fig. 4B bis 4D dargestellt, sequentiell in das
Register (Ri) 106i des ersten Parallelprozessors 10 eingeschrieben.
-
Die Steuerschaltung 152 erzeugt das vorbestimmte Adressensignal ADRSA, steuert den
Adressendecodierer 150, so daß dieser das Lesesignal RWA erzeugt, und verbindet den
Schalter (Ti) 128i in den horizontalen Austastperioden k+3 und k+4, die in Fig. 4A dargestellt
sind. Anschließend veranlaßt die Steuerschaltung 152, daß das Rechen- und Steuerwerk
(ALUi) 114i die in das Register (Ri) 106i eingeschriebenen Pixelwerte Di''' und Di"" über die
Lesebitleitung RBi ausliest.
-
Die Steuerschaltung 152 erzeugt weiter das vorbestimmte Adressensignal ADRSA und
steuert den Adressendecodierer 150, veranlaßt, daß dieser das Schreibsignal WW0A
erzeugt, und verbindet den Schalter (Si0) 120i. Anschließend steuert die Steuerschaltung 152
das Rechen- und Steuerwerk (ALUi) 114i und veranlaßt, daß dieses die Pixelwerte Di''' und
Di"" über die Schreibbitleitung WBi und den Schalter (Si0) 120i sequentiell z. B. in ein
Register (Ri0) 108i einschreibt.
-
Auf diese Weise werden die in einer bestimmten horizontalen Periode in den ersten
Parallelprozessor 10 eingelesenen Pixelwerte in der nächsten horizontalen Austastperiode in die
Registergruppe 14i ausgelesen.
-
Die Pixelwerte Di''' und Di"" werden in den auf die horizontalen Austastperioden k+3 und
k+4 von Fig. 4A folgenden horizontalen Perioden durch den individuellen Prozessor 100, des
ersten Parallelprozessors 10 jeweils der vorbestimmten Verarbeitung unterzogen (erste
Verarbeitung). Auf der anderen Seite verarbeiten die individuellen Prozessoren 1001 in den
horizontalen Perioden k+3 und k+4, die in Fig. 4A dargestellt sind, die Pixelwerte Di''' und Di""
der horizontalen Perioden k+2 k+3, die dann die Verarbeitungsergebnisse Qi" und Qi'''
bilden.
-
Auf diese Weise werden die Pixelwerte, die dem ersten Parallelprozessor 10 in einer
bestimmten horizontalen Periode zugeführt werden, in der nächsten horizontalen Periode von
den individuellen Prozessoren 100i der ersten Verarbeitung unterzogen und bilden dann die
ersten Verarbeitungsergebnisse.
-
Die erste Verarbeitung durch den individuellen Prozessor 100i wird hier, wie oben
beschrieben, durchgeführt, indem man die Steuerschaltung 152 das Adressensignal ADRSA
erzeugen läßt, das dem Inhalt der Verarbeitung entspricht, den Adressendecodierer 150 so
steuert, daß er die Lesesignale RWA, RW0A, RW1A, RW2A, die Schreibsignale WWA, WW0A,
WW1A und WW2A erzeugt, das Öffnen und Schließen der Schalter (Sij) 120i, 122i und 124i
und der Schalter (Tij) 140i, 142i und 144i so steuert, daß der Datenpfad zwischen den
Registern (Rij) 108i, 110i und 112i und das Rechen- und Steuerwerk (ALUi) 114i eingerichtet
wird, das Rechen- und Steuerwerk (ALUi) 114i so steuert, daß es das Auslesen und
Einschreiben von Daten aus der und in die Registergruppe 14, ausführt, und die Rechen- und
Steuerwerke (ALUi) 114i so steuert, daß alle Rechen- und Steuerwerke (ALUi) 114i die
gleiche Verarbeitung ausführen.
-
In einer bestimmten horizontalen Periode wird das Verarbeitungsergebnis der ersten
Verarbeitung, das von dem individuellen Prozessor 100i berechnet wird, z. B. in dem Register
(Ri2) 112i gespeichert.
-
Wie die in Fig. 4A dargestellte die Verarbeitung in den horizontalen Austastperioden k+2,
k+3 und k+4, erkennen läßt, erzeugt die Steuerschaltung 152 das vorbestimmte
Adressensignal ADRSA, steuert den Adressendecodierer 150 und erzeugt ein Lesesignal RW2A,
schließt den Schalter (Ti2) 144i und steuert das Rechen- und Steuerwerk (ALUi) 114i, so daß
dieses die ersten Verarbeitungsergebnisse Qi', Qi", und Qi''' aus dem Register (Ri2) 112i in
das Register (Ri) 106i liest. Gleichzeitig erzeugt die Steuerschaltung 152 das vorbestimmte
Adressensignal ADRSA, steuert den Adressendecodierer 150, so daß dieser das
Schreibsignal WWA erzeugt, um den Schalter (Si) 118i zu schließen, und veranlaßt, daß das Register
(Ri) 106i die ersten Verarbeitungsergebnisse Qi', Qi" und Qi''' einschreibt.
-
Die ersten Verarbeitungsergebnisse Qi', Qi" und Qi''' sind hier Verarbeitungsergebnisse, die
dadurch erzeugt werden, daß die Pixelwerte Di', Di und Di', die dem ersten
Parallelprozessor 10 in den in den Figuren nicht dargestellten horizontalen Perioden k +1 und k+2 bzw.
der horizontalen Periode k+3 zugeführt werden, in der nicht dargestellten horizontalen
Periode k+2 und in den horizontalen Perioden k+3 und k+4 von dem ersten Parallelprozessor 10
der ersten Verarbeitung unterzogen werden.
-
In den nächsten horizontalen Perioden k+3, k+4 und k+5 wird das Lesezeigersignal RPA an
dem Eingang RPAT des ersten Parallelprozessors 10 aktiviert. Dieses Lesezeigersignal RPA
wird sequentiell exakt um die Zeit verzögert, in der das einem Pixelwert Di entsprechende
Verarbeitungsergebnis von dem individuellen Verzögerungselement (Gi) 102i sequentiell
ausgegeben wird, wie dies in Fig. 4F und 4G dargestellt ist.
-
Wenn das Ausgangssignal des individuellen Verzögerungselements (Gi) 102i aktiviert wird,
wie dies in Fig. 4H dargestellt ist, werden die entsprechenden Schalter (Vi) 126i sequentiell
geschlossen, und die ersten Verarbeitungsergebnisse Qi', Qi" und Qi''' werden sequentiell
aus dem Register (Ri) 106i ausgelesen und dem Wähler (Sin) 164 und dem Schalter (Sout)
166 zugeführt. Der Schalter (Sout) 166 ist hier geöffnet, so daß das Signal nicht dem in Fig.
2 dargestellten zweiten Parallelprozessor 20 zugeführt wird (S166), und da der Wähler (Sin)
164 auf den in Fig. 2 dargestellten Kontakt a gesetzt wird, werden die ersten
Verarbeitungsergebnisse Qi', Qi" und Qi''' in den horizontalen Perioden k+3, k+4 und k+5 sequentiell dem
in Fig. 3 dargestellten Parallelprozessor 20 zugeführt (S164).
-
Auch der Wähler (SWP) 162 wird auf den in Fig. 2 dargestellten Kontakt a gesetzt, so daß
das Lesezeigersignal RWA auch dem in Figur. 3 dargestellten zweiten Parallelprozessor 20
zugeführt (S162) wird. Das Lesezeigersignal RP wird exakt um die Zeit verzögert, in der von
dem individuellen Verzögerungselement (Hi) 104k ein Pixelwert Di zugeführt wird. Deshalb
wird das Ausgangssignal des individuellen Verzögerungselements (Hp) 204p des zweiten
Parallelprozessors 20 in der gleichen Zeitlage aktiv wie das in Fig. 4F und 4G dargestellte
Ausgangssignal des individuellen Verzögerungselements (Gi) 102i.
-
Wenn in den in Fig. 4A dargestellten horizontalen Perioden k+3, k+4 und k+5 das
Ausgangssignal des individuellen Verzögerungselements (Hp) 204p aktiviert wird, wird der
entsprechende Schalter (Up) 216p geschlossen, und die von dem ersten Parallelprozessor 10
zugeführten ersten Verarbeitungsergebnisse Qi', Qi" und Qi''' werden in das Register (Rp)
206p eingeschrieben.
-
Das heißt, in den in Fig. 4A dargestellten horizontalen Perioden k+3, k+4 und k+5 werden
die in dem Register (Ri) 106i des ersten Parallelprozessors 10 gespeicherten ersten
Verarbeitungsergebnisse Qi', Qi" und Qi''' von dem ersten Parallelprozessor 10 über den Wähler
(Sin) 164 an den zweiten Parallelprozessor 20 ausgegeben und weiter in das Register (Rp)
206p des zweiten Parallelprozessors 20 eingeschrieben.
-
Im folgenden wird die Operation der zweiten Verarbeitung in dem zweiten Parallelprozessor
20 erläutert. Die zweite Verarbeitung wird von dem zweiten Parallelprozessor 20 nach der
gleichen Operation durchgeführt wie die erste Verarbeitung in dem ersten Parallelprozessor
10.
-
Die Steuerschaltung 252 erzeugt das vorbestimmte Adressensignal ADßSB, steuert den
Adressendecodierer 250, so daß dieser das Lesesignal RWB erzeugt, und verbindet den
Schalter (Tp) 228p in den horizontalen Austastperioden k+2, k+3 und k+4, die in Fig. 3(A)
dargestellt sind. Anschließend bewirkt die Steuerschaltung 252, daß das Rechen- und
Steu
erwerk (ALUi) 214i die in dem Register (Rp) 206p eingeschriebenen ersten
Verarbeitungsergebnisse Qi', Qi" und Qi''' über die Lesebitleitung RBi ausliest.
-
Die Steuerschaltung 252 erzeugt weiter das vorbestimmte Adressensignal ADRSB, steuert
den Adressendecodierer 250, so daß dieser das Schreibsignal WW0B erzeugt, und
verbindet den Schalter (Spj) 220p. Anschließend steuert die Steuerschaltung 252 das Rechen- und
Steuerwerk (ALUi) 214i, so daß dieses die Verarbeitungsergebnisse Qi', Qi" und Qi''' über
die Schreibbitleitung WBi und den Schalter (Spj) 220p z. B. in ein Register (Rp0) 20%
sequentiell einschreibt.
-
Auf diese Weise werden die in den zweiten Parallelprozessor 20 während einer bestimmten
horizontalen Periode eingelesenen Verarbeitungsergebnisse in der nächsten horizontalen
Austastperiode in die Registergruppe 24i ausgelesen.
-
Die Pixelwerte Q', Qi" und Qi''' werden in den horizontalen Perioden k+4 und k+5 und der
in Fig. 3 nicht dargestellten horizontalen Periode k+6, die auf die in Fig. 4A dargestellten
horizontalen Austastperioden k+3 und k+4 und die in Fig. 4 nicht dargestellte horizontale
Austastperiode k+5 folgen, der vorbestimmten Verarbeitung (der zweiten Verarbeitung)
durch den individuellen Prozessor 200p des zweiten Parallelprozessors 20 unterzogen und
werden zu zweiten Verarbeitungsergebnisse (Qi'), (Qi") und (Qi''').
-
Das erste Verarbeitungsergebnis des ersten Parallelprozessors 10, das dem zweiten
Parallelprozessor 20 für eine bestimmte horizontale Periode zugeführt wird, wird in der
nächsten horizontalen Periode in dem individuellen Prozessor 200p der zweiten Verarbeitung
unterzogen und wird zu dem zweiten Verarbeitungsergebnis.
-
Die erste Verarbeitung durch den individuellen Prozessor 200p wird hier durchgeführt,
indem man, wie oben erwähnt, veranlaßt, daß die Steuerschaltung 252 das Adressensignal
ADRSB erzeugt, das dem Inhalt der Verarbeitung entspricht, den Adressendecodierer 250
so steuert, daß dieser die Lesesignale RWB, RW0B, RW1B, RW2B und die Schreibsignale
WWB, WW0B, WW1B und WW2B erzeugt, das Öffnen und Schließen der Schalter (Spj)
220p, 222p und 224p und der Schalter (Tpj) 240p, 242p und 244p steuert, um den Datenpfad
zwischen den Registern (Rpj) 208p, 210p und 212p und dem Rechen- und Steuerwerk
(ALUp) 214p einzurichten, das Rechen- und Steuerwerk (ALUp) 214p so steuert, daß dieses
das Auslesen und Einschreiben der Daten aus der bzw. in die Registergruppe 24p ausführt,
und die Rechen- und Steuerwerke (ALUp) 214p so steuert, daß alle Rechen- und
Steuerwerke (ALUp) 214p die gleiche Verarbeitung ausführen.
-
Im vorliegenden Fall wurde in der in Fig. 4A dargestellten horizontalen Periode k+3 die
zweite Verarbeitung für das erste Verarbeitungsergebnis Qi ausgeführt. Das
Verarbeitungsergebnis (Qi) ist am Ende der horizontalen Periode k+3 in dem Register (Rp) 206p gespeichert.
-
In den horizontalen Austastperioden k+2, k+3 und k+4, die in Fig. 4A dargestellt sind,
erzeugt die Steuerschaltung 252 das vorbestimmte Adressensignal ADRSB, steuert den
Adressendecodierer 250 und erzeugt das Lesesignal RW2B, um den Schalter (Tp2) 244p zu
schließen, steuert das Rechen- und Steuerwerk (ALUp) 214p, so daß dieses die zweiten
Verarbeitungsergebnisse (Qi ), (Qi') und (Qi") aus dem Register (Rp) 212p ausliest.
Gleichzeitig erzeugt die Steuerschaltung 252 das vorbestimmte Adressensignal ADRSB, steuert den
Adressendecodierer 250 und erzeugt das Schreibsignal WWB, um den Schalter (Sp) 218p zu
schließen, so daß die zweiten Verarbeitungsergebnisse (Qi), (Qi') und (Qi") in das Register
(Rp) 206p eingeschrieben werden.
-
Wie oben erwähnte wurde, sind die Verarbeitungsergebnisse (Qi) bis (Qi''') nämlich die
zweiten Verarbeitungsergebnisse, die unter Verwendung der dem ersten Parallelprozessor
10 zugeführten Pixelwerte Di bis Di''' als erste Verarbeitungsergebnisse Qi bis Qi''' des
ersten Parallelprozessors 10 gewonnen werden, sowie dadurch, daß auf die ersten
Verarbeitungsergebnisse Qi bis Qi''' in dem zweiten Parallelprozessor 20 die zweite Verarbeitung
angewendet wird, und dieselben dann von der ersten Parallelprozessoranordnung 1
ausgegeben werden.
-
In den nächsten horizontalen Perioden k+4 und k+5 und in der in den Zeichnungen nicht
dargestellten horizontalen Periode k+6 wird das (über S162) zugeführte Lesezeigersignal
RPA, wie in Fig. 4E dargestellt, über den Wähler (SWP) 162 des ersten Parallelprozessors
10 aktiviert. Dieses Lesezeigersignal RPA wird sequentiell um genau die Zeit verzögert, in
der das einem Pixelwert Dp entsprechende Verarbeitungsergebnis von dem individuellen
Verzögerungselement (Gp) 204 sequentiell ausgegeben wird.
-
Wenn in den horizontalen Perioden k+4 und k+5 und in der in den Zeichnungen nicht
dargestellten horizontalen Periode k+6 das Ausgangssignal des individuellen
Verzögerungselements (Gp) 202p aktiviert wird, wie dies in Fig. 4I dargestellt ist, werden die
entsprechenden Wähler (Vp) 126p sequentiell geschlossen, und die zweiten Verarbeitungsergebnisse
(Qi), (Qi') und (Qi") werden sequentiell aus dem Register (Rp) 206p ausgelesen und an dem
Ausgang OUTT ausgegeben.
-
Im folgenden wird die erste Operation der Parallelprozessoranordnung 1 unter Bezugnahme
auf Fig. 5A und 5B näher erläutert. Es ist zu beachten, daß von den in [T1], [T3], ..., [T9] von
Fig. 5A dargestellten horizontalen Perioden k, k+1,.., k+4 die horizontalen Perioden k+3
und k+4 und von den in [T2], [T5], ..., [T10] von Fig. 5B dargestellten horizontalen
Austastperioden k, k+1, ..., k+4 die horizontalen Austastperioden k+2, k+3 und k+4 mit den in Fig.
4A dargestellten horizontalen Austastperioden k+2, k+3 und k+4 zusammenfallen.
-
In den in [T1], [T3], [T5], [T7] und [T9] dargestellten horizontalen Perioden k, k+1, ..., k+4
werden zunächst, wie in den Verarbeitungsabschnitten [S11], [S13], [S16], [S22] und [S29]
von Fig. 5A dargestellt, die Pixelwerte Di, Di', ..., Di"" über den Eingang INT des ersten
Parallelprozessors 10 sequentiell eingegeben und in dem Register (Ri) 106i gespeichert.
-
Die in dem Register (Ri) 106i gespeicherten Pixelwerte Di, Di', ..., Di"" werden in den
horizontalen Austastperioden k, k+1, .., k+4, die in [T2], [T4], [T6], [T8] und [T10] dargestellt
sind, in den Verarbeitungabschnitten [S12], [S15], [S20], [S27] und [S35] von Fig. 5A aus
dem Register (Ri) 106i in das Register (Ri0) 108i ausgelesen.
-
Weiterhin werden die in dem Register (Ri0) 108i gespeicherten Pixelwerte Di, Di', ..., Di''' in
den horizontalen Perioden k+1, ..., k+4, die in [T3], [T5], [T7] und [T9] dargestellt sind, in den
Verarbeitungabschnitten [S14], [S18], [S24] und [S31] von Fig. 5A in dem individuellen
Prozessor 1001 des ersten Parallelprozessors 10 der ersten Verarbeitung unterzogen und bilden
dann die ersten Verarbeitungsergebnisse Qi, Qi', Qi" und Qi'''.
-
Die ersten Verarbeitungsergebnisse Qi, Qi', Qi" und Qi''' werden in dem Register (Ri) 112i
des ersten Parallelprozessors 10 gespeichert und in den horizontalen Perioden k+2, k+3 und
k+4, die in [T5], [T7] und [T9] dargestellt sind, wie in den Verarbeitungabschnitten [S17],
[S23] und [S30] von Fig. 5A gezeigt, sequentiell aus dem Register (Ri0) 112i ausgelesen und
über den Wähler (Sin) 164 des ersten Parallelprozessors 10 an den zweiten
Parallelprozessor 20 ausgegeben.
-
Die dem zweiten Parallelprozessor 20 zugeführten ersten Verarbeitungsergebnisse Qi, Qi'
und Qi" werden in den horizontalen Perioden k+2, k+3 und k+4, die in [T5], [T7] und [T9]
dargestellt sind, durch die Verarbeitungsabschnitte [S19], [S25] und [S32] von Fig. 5B in dem
Register (Rp) 206p des zweiten Parallelprozessors 20 gespeichert.
-
Die in dem Register (Rp) 206p gespeicherten ersten Verarbeitungsergebnisse Qi, Qi' und
Qi" werden in den in [T6], [T8] und [T10] dargestellten horizontalen Austastperioden k+2,
k+3 und k+4 aus dem Register (Rp) 206p in das Register (Rp0) 208p ausgelesen, wie dies in
den Verarbeitungabschnitten [S21], [S28] und [S36] von Fig. 5B dargestellt ist.
-
Die in das Register (Rp0) 208p ausgelesenen ersten Verarbeitungsergebnisse Qi und Qi'
werden in den in [T7] und [T9] von Fig. 4 dargestellten horizontalen Perioden k+3 und k+4
der zweiten Verarbeitung durch den individuellen Prozessor 200p unterzogen, wie dies in
den Verarbeitungabschnitten [S26] und [S34] von Fig. 5B dargestellt ist, und als zweite
Verarbeitungsergebnisse (Qi) und (Qi') in dem Register (Rp2) 212p gespeichert.
-
Die in dem Register (Rp2) 212p gespeicherten zweiten Verarbeitungsergebnisse (Qi), und
(Qi') werden in den in [T7] und [T9] dargestellten horizontalen Perioden k+3 und k+4 in dem
individuellen Prozessor 200p der zweiten Verarbeitung unterzogen, wie dies in den
Verarbeitungabschnitten [S26] und [S34] von Fig. 5B dargestellt ist, und in den Registern (Rp2) 212p
gespeichert.
-
Die in dem Register (Rp2) 212p gespeicherten zweiten Verarbeitungsergebnisse (Qi) und
(Qi') werden, wie in den Verarbeitungabschnitten [S28] und [S36] von Fig. 5B dargestellt, in
den in [T8] und [T10] dargestellten horizontalen Austastperioden k+3 und k+4 aus dem
Register (Rp2) 212p ausgelesen und in dem Register (Rp) 206p gespeichert.
-
Das in dem Register (Rp) 206p gespeicherte zweite Verarbeitungsergebnis (Qi) wird in der in
[T9] dargestellten horizontalen Periode k+4 aus dem Register (Rp) 206p an den Ausgang
OUTT des zweiten Parallelprozessors 20 ausgegeben, wie dies in dem
Verarbeitungabschnitt [S33] von Fig. 5B dargestellt ist.
-
Damit ist die Erläuterung der ersten Operation der Parallelprozessoranordnung 1 beendet.
-
Im folgenden wird anhand von Fig. 6A bis 61 und von Fig. 7 die zweite Operation der
Parallelprozessoranordnung 1 beschrieben.
-
Fig. 6A bis 61 zeigen Graphiken zur Erläuterung des zeitlichen Ablauf der zweiten Operation
der in Fig. 2 und 3 dargestellten Parallelprozessoranordnung 1. Dabei zeigt Fig. 6A einen
Pixelwert Di, der über den Eingang INT des ersten Parallelprozessors 10 zugeführt wird; Fig.
6B zeigt die Wellenform des Schreibzeigersignals WP, das von dem Eingang WPT des
ersten Parallelprozessors 10 zugeführt wird; Fig. 6C zeigt die Wellenform des
Ausgangssignals des individuellen Verzögerungselements (H1) 104&sub1; Fig. 6D zeigt die Wellenform des
Ausgangssignals des individuellen Verzögerungselements (H2) 104&sub2;; Fig. 6E zeigt die
Wellenform des Ausgangssignals des individuellen Verzögerungselements (Hn) 104n; Fig. 6F
zeigt die Wellenform des Ausgangssignals des individuellen Verzögerungselements (Hn+1)
104n+1; Fig. 6G zeigt die Wellenform des Ausgangssignals des individuellen
Verzögerungselements (Hn+2) 104n+2; Fig. 6H zeigt die Wellenform des Ausgangssignals des
individuellen Verzögerungselements (Hm) 104m; und Fig. 6I zeigt die Verarbeitungsergebnisse Qi und
Qp, die an dem Ausgang OUTT des zweiten Parallelprozessors 20 ausgegeben werden.
-
Fig. 7 zeigt eine Ansicht zur Erläuterung des Inhalts der zweiten Verarbeitung der in Fig. 2
und 3 dargestellten Parallelprozessoranordnung 1.
-
Die zweite Operation der Parallelprozessoranordnung 1 ist eine Operation, durch die der
erste Parallelprozessor 10 und der zweite Parallelprozessor 20 miteinander verbunden
werden, um eine integrale Parallelprozessorvorrichtung zu bilden und das aus Daten der Länge
m bestehende Videosignal des HDTV-Systems zu verarbeiten. Zur Vereinfachung der
Darstellung sind in Fig. 7 die Bezeichnungen der Teile des zweiten Parallelprozessors 20
weggelassen.
-
In der zweiten Operation der Parallelprozessoranordnung 1 setzt sich der Wähler (SRP) 160
des ersten Parallelprozessors 10 auf den in Fig. 2 dargestellten Kontakt b und liefert das
Ausgangssignal des individuellen Verzögerungselements (Gn) 102n an den zweiten
Parallelprozessor 20i der Wähler (SWP) 162 setzt sich auf den in Fig. 2 dargestellten Kontakt b und
liefert das Ausgangssignal des individuellen Verzögerungselements (Hn) 104n an den
zweiten Parallelprozessor 20i der Wähler (Sin) 164 setzt sich auf den in Fig. 2 dargestellten
Kontakt a und liefert den an dem Eingang INT anliegenden Pixelwert Di, so wie er ist, an den
zweiten Parallelprozessor 20i der Schalter (Sout) 166 ist geschlossen, und das
Ausgangssignal des Registers (Ri) 106i wird an den zweiten Parallelprozessor 20 ausgegeben; der
Wähler (SX) 168 setzt sich auf den in Fig. 2 dargestellte Kontakt a und gibt das über den
Datenbus Xn zugeführte Signal an das Rechen- und Steuerwerk (ALUn) 814n aus.
-
Auch der Wähler (SY) 260 des zweiten Parallelprozessors 20 setzt sich auf den in Fig. 3
dargestellten Kontakt a und liefert das Signal von dem Datenbus Yn+1 an das Rechen- und
Steuerwerk (ALUn+1) 214+i. Durch die oben beschriebene Einrichtung des ersten
Parallelprozessors 10 und der betreffenden Schalter und Wähler des ersten Parallelprozessors 10 sind
das Schieberegister (SRA) 12 und das Schieberegister (SRB) 22 miteinander verbunden, so
daß das Senden und Empfangen der Daten zwischen dem Rechen- und Steuerwerk (ALUn)
114n und dem Rechen- und Steuerwerk (ALUn+1) 214n+i möglich wird. Außerdem führen
die Adressendecodierer 150 und 250 und die Steuerschaltungen 152 und 252 die gleiche
Operation durch, so daß der erste Parallelprozessor 10 und der zweite Parallelprozessor 20
integral arbeiten können.
-
Wie in dem Verarbeitungabschnitt [S11] von Fig. 7 dargestellt ist, wird in der horizontalen
Periode k, die in Fig. 6A und Fig. 7 [T1] dargestellt ist, der Pixelwert Di des Videosignals der
horizontalen Periode k über den Eingang INT des ersten Parallelprozessors 10 seriell
eingegeben. Gleichzeitig mit der Eingabe des ersten Pixelwerts Di an den Eingang INT wird auch,
wie in Fig. 6B dargestellt, das Lesezeigersignal RPA aktiv und dem Eingang RPAT zugeführt.
-
Wie Fig. 6C bis 6H zeigen, wird das Lesezeigersignal RPA von dem individuellen
Verzögerungselement (Gi) 102i des ersten Parallelprozessors 10 und dem individuellen
Verzögerungselement (Gp) 202p des zweiten Parallelprozessors 20 jedesmal verzögert, wenn der
Pixelwert Di dem Eingang RP zugeführt wird, und die resultierenden Daten werden dem
Schalter (Ui) 116i des ersten Parallelprozessors 10 und dem Schalter (Up) 216p des zweiten
Parallelprozessors 20 zugeführt.
-
Der Schalter (Ui) 116i und der Schalter (Up) 216p sind geschlossen, wenn die
Ausgangssignale der individuellen Verzögerungselemente (Gi) 102i und (Gp) 202p aktiv sind, so daß der
Pixelwert DP in das betreffende Register (Ri) 106i des entsprechenden ersten
Parallelprozessors 10 und das Register (Rp) 206p des zweiten Parallelprozessors 20 eingeschrieben
werden. Deshalb sind am Ende der horizontalen Periode k, wie in der Darstellung von Fig. 7
gezeigt, die Pixelwerte D1 und Dp der horizontalen Periode k in allen Registern (Ri) 106i bzw.
den Registern (Rp) 206p gespeichert, und die Pixelwerte Di und DP eines Zeilenwerts (1H)
des Videosignals des HDTV-Systems sind in dem Schieberegister (SRA) 12 und dem
Schieberegister (SRB) 22 als Ganzes gespeichert.
-
Als nächstes erzeugen die Steuerschaltungen 152 und 252, wie in den
Verarbeitungabschnitt [S11] von Fig. 7 gezeigt, in der in Fig. 7 [T1] dargestellten horizontalen Periode k die
vorbestimmten Adressensignale ADRSA und ADRSB, aktivieren die Lesesignale RWA und
RWB und die Schreibsignale WW0A und WW0B in den Adressendecodierern 150 und 152
und bewirken das Schließen des Schalters (T1) 128i, des Schalters (Tp) 228p, des Schalters
(Si0) 120i und des Schalters (Sp0) 220p.
-
Durch die vorangehend beschriebene Operation wird es möglich, die Daten für die Register
der Registergruppen 14i und 24i des ersten Parallelprozessors 10 und des zweiten
Parallelprozessors 20 auszulesen und einzuschreiben.
-
Als nächstes erzeugen die Steuerschaltungen 152 und 252, wie in den
Verarbeitungabschnitten [S13] und [S14] von Fig. 7 dargestellt, in der in [T3] von Fig. 7 dargestellten
horizontalen Periode k+1 die vorbestimmten Adressensignale ADRS, aktivieren die Lesesignale
RW0A, RW1A, RW2A, RW0B, RW1B und RW2B und die Schreibsignale WW0A, WW1A,
WW2A, WW0B, WW1B und WW2B in den Adressendecodierern 150 und 250, so daß die
Schalter (Sij) 120i, 122i und 124i, die Schalter (Spj) 220p, 222p und 224p und die Schalter (Tij)
140i, 142i und 144i und die Schalter (Tpj) 240P, 242p und 244p geschlossen werden, und
aktivieren das Lesen und Schreiben der Register (Rij) 108i, 110i und 112i und der Register
(Rpj) 208p, 210p und 212p durch das Rechen- und Steuerwerk (ALUi) 114i und das Rechen-
und Steuerwerk (ALUp) 214p.
-
Die Steuerschaltungen 152 und 252 veranlassen auch, wie in dem Verarbeitungabschnitt
[S13] von Fig. 7 dargestellt, daß das Register (Ri) 106i und das Register (Rp) 206p den
Pixelwert Di der horizontalen Periode k+1 speichern, der über den Eingang INT zugeführt wird.
Dies geschieht ähnlich wie in der horizontalen Periode k auch in der horizontalen Periode
k+1. Gleichzeitig steuern die Steuerschaltungen 152 und 252, wie in dem
Verarbeitungabschnitt [S14] von Fig. 7 dargestellt, das Rechen- und Steuerwerk (ALUi) 114i und das
Rechen- und Steuerwerk (ALUp) 214p, führen die Verarbeitung mit den in den Registern (Rij)
108i, 110i und 112i und den Registern (Rpj) 208p, 212p und 212p gespeicherten Daten durch
und geben das entsprechende Verarbeitungsergebnis Qi in die Register (Ri1) 110i und das
Register (RP1) 210p zurück.
-
Als nächstes erzeugen die Steuerschaltungen 152 und 252, wie in dem
Verarbeitungabschnitt [S15] von Fig. 7 dargestellt, in der in Fig. 7 [T4] dargestellten horizontalen
Austastperiode die vorbestimmten Adressensignale ADRSA und ADRSB, aktivieren die Lesesignale
RW1A und RW1B und die Schreibsignale WWA und WWB in den Adressendecodierern 150
und 152, so daß diese die Schalter (Tij) 142i, die Schalter (Tpj) 242p, den Schalter (Ti) 128i
und den Schalter (Tp) 128p schließen. Anschließend steuern die Steuerschaltungen 152 und
252 das Rechen- und Steuerwerk (ALUi) 114i und das Rechen- und Steuerwerk (ALUp)
214p, so daß diese die in den Registern (Ri1) 110i und dem Register (Rp1) 210p
gespeicherten Verarbeitungsergebnisse Qi und Op über die Lesebitleitungen RBi und RBp, das Rechen-
und Steuerwerk (ALUi) 114i, das Rechen- und Steuerwerk (ALUp) 214p und die
Schreibbitleitungen WBi und WBp in dem Register (Ri) 106i und dem Register (Rp) 206p aufzeichnen.
-
Als nächstes wird in der in [T5] von Fig. 7 dargestellten horizontalen Periode k+2, wie in den
Verarbeitungabschnitten [S16], [S17] und [S18] von Fig. 7 dargestellt, ähnlich wie in der
horizontalen Periode k, das Lesezeigersignal RPA an dem Eingang RPAT aktiviert, das von dem
individuellen Verzögerungselement (Gi) 102i und dem individuellen Verzögerungselement
(Gp) 202p sequentiell verzögert wird und dem Schalter (Vi) 126i und dem Schalter (Vp) 126p
zugeführt wird. Der Schalter (Vi) 126i und der Schalter (Vp) 126p geben die in dem Register
(Ri) 106i und dem Register (Rp) 206p gespeicherten Verarbeitungsergebnisse Qi und QP
sequentiell an den Ausgang GUTT des zweiten Parallelprozessors 20 aus. Deshalb wird, wie in
Fig. 61 dargestellt, der Wert einer Zeile der Verarbeitungsergebnisse Qi und Qp der
individuellen Prozessoren 100i und 200p sequentiell an dem Ausgang OUTT seriell mit einer
Datenrate ausgegeben, die die gleiche ist wie die Datenrate der Pixelwert D1 und Dp. In den
horizontalen Austastperioden k+2 und k+3 und in der horizontalen Periode k+3, die in Fig. 7 in
[T6] bis [T8] dargestellt sind, werden auch für die Pixelwert D1 und DP, die der
Parallelprozessoranordnung 1 in den horizontalen Perioden k+1, k+2, .., zugeführt werden, wie in den
Verarbeitungabschnitten [S19] bis [S22] von Fig. 7 dargestellt, in der
Parallelprozessoranordnung 1 die oben beschriebenen jeweiligen Verarbeitungen durchgeführt, und die
entspre
chenden Verarbeitungsergebnisse Qi und Op werden an dem Ausgang OUTT sequentiell
ausgegeben.
-
Wie oben erwähnt wurde, behandelt die Parallelprozessoranordnung 1 den ersten
Parallelprozessor 10 und den zweiten Parallelprozessor 20 in der zweiten Operation als
zusammengeschaltete integrale Parallelprozessorvorrichtung des SIMD-Systems, so daß ein Signal
verarbeitet werden kann, das aus Daten mit einer Länge besteht, die nicht verarbeitet
werden könnte, wenn der erste Parallelprozessor 10 und der zweite Parallelprozessor 20 jeweils
für sich allein stehen, z. B. ein Videosignal des HDTV-Systems.
-
Für die erste Operation behandelt die Parallelprozessoranordnung 1 den ersten
Parallelprozessor 10 und den zweiten Parallelprozessor 20 als zwei unabhängige in Reihe geschaltete
Parallelprozessorvorrichtungen des SIMD-Systems, so daß er ein Signal, das aus Daten mit
einer Länge besteht, die von dem ersten Parallelprozessor 10 und dem zweiten
Parallelprozessor 20 jeweils allein verarbeitet werden kann, z. B. ein Videosignal des NTSC-Systems,
durch Pipeline-Verarbeitung einer komplexeren und schnelleren Verarbeitung unterziehen
kann als dies bei der herkömmlichen Parallelprozessorvorrichtung möglich ist.
-
Die Parallelprozessoranordnung 1 kann also Daten unterschiedlicher Länge, wie die
Pixeldaten in einer horizontalen Periode von Videosignalen z. B. des NTSC-Systems und des HDTV-
Systems, mit der gleichen Vorrichtung verarbeiten. Außerdem ist eine Verarbeitung
möglich, bei der der Overhead-Aufwand der Verarbeitung, der bei der herkömmlichen
Parallelprozessorvorrichtung auftrat, benutzt wird. Dadurch bleiben unabhängig davon, was für ein
Signal verarbeitet wird, keine Hardware-Resourcen ungenutzt. Auch die Konfiguration der
Vorrichtung kann in Abhängigkeit von den Verarbeitungsinhalten geändert werden, so daß
sie sehr effizient für universelle Anwendungen verwendbar ist.
-
Es ist darauf hinzuweisen, daß die konstituierenden Elemente der in dem ersten
Ausführungsbeispiel dargestellten Parallelprozessoranordnung 1 durch andere konstituierende
Elemente mit äquivalenter Funktion ersetzt werden können. So können z. B. das
Schieberegister (SRA) 12 und das Schieberegister (SRB) 24 durch zwei Schieberegister für die
Dateneingabe und die Datenausgabe ersetzt werden. Wenn die Parallelprozessoranordnung 1 die
zweite Operation ausführen soll, kann die Vorrichtung auch so ausgebildet sein, daß alle
Adressendecodierer 150 und 250 und Steuerschaltungen 152 und 252 von dem ersten
Parallelprozessor 10 und dem zweiten Parallelprozessor 20 gemeinsam genutzt werden.
-
Auch die Wellenformen der Signale, die Polarität der logischen Werte der Signale, die
Zeitsteuerung usw. in der als erstes Beispiel dargestellten Parallelprozessoranordnung 1 stellen
nur Beispiele dar. So war z. B. in der Parallelprozessoranordnung 1 die Anordnung so
ge
wählt, daß in den horizontalen Austastperioden lediglich ein Datentransfer zwischen dem
Register (Ri) 106i und dem Register (Rp) 206p und den Registergruppen 14i und 24p
durchgeführt wird. Abweichend hiervon ist es jedoch auch möglich, die Anordnung so zu treffen,
daß substantielle Signale verarbeitet werden.
-
Darüber hinaus ist das Signal, das von der Parallelprozessoranordnung 1 verarbeitet wird,
nicht auf das oben erwähnte Videosignal beschränkt. Es ist auch möglich, als Objekt der
Verarbeitung z. B. ein Sprachsignal oder verschiedene Datentypen zu verwenden, die auf
einer Übertragungsleitung seriell übertragen werden.
-
Darüber hinaus ist es möglich, daß die Steuerschaltungen 152 und 252 automatisch
detektieren, ob der ihnen zugeführte Pixelwert Di dem NTSC-System oder dem HDTV-System
angehört, und in Abhängigkeit hiervon die Verbindungen zwischen dem ersten
Parallelprozessor 10 und dem zweiten Parallelprozessor 20 automatisch ändern.
Zweites Ausführungsbeispiel
-
Im folgenden wird anhand von Fig. 8 und 9 eine Parallelprozessoranordnung 3 erläutert als
Beispiel für eine Modifizierung der als erstes Ausführungsbeispiel dargestellten
Parallelprozessoranordnung 1.
-
Fig. 8 zeigt die Konfiguration der Parallelprozessoranordnung 3 nach dem zweiten
Ausführungsbeispiel der Erfindung. Fig. 9 zeigt die Konfiguration des dritten Parallelprozessors 30
von Fig. 8.
-
Zunächst werde anhand von Fig. 8 die Konfiguration der Parallelprozessoranordnung 3
erläutert.
-
Wie Fig. 8 zeigt, ist die Parallelprozessoranordnung 3 aus einer Zahl von s (s = 1, 2, ..., das
gleiche gilt für das folgende) dritten Parallelprozessoren 30 aufgebaut, die eine ähnliche
Struktur haben wie der erste Parallelprozessor 10 und der zweite Parallelprozessor 20 und
die in Reihe zwischen dem ersten Parallelprozessor 10 und dem zweiten Parallelprozessor
20 in der ersten Parallelprozessoranordnung 1 angeordnet sind. Weiter ist eine
Parallelprozessor-Steuerschaltung 32 vorgesehen, die die Verbindungen zwischen dem ersten
Parallelprozessor 10, dem zweiten Parallelprozessor 20 und dem dritten Parallelprozessor 30
steuert.
-
Es ist zu beachten, daß zur Vereinfachung der Darstellung die Verbindung zwischen dem
ersten Parallelprozessor 10, dem zweiten Parallelprozessor 20 und dem dritten
Parallelpro
zessor 30 in Fig. 8 durch eine einzige Leitung dargestellt ist, daß diese Parallelprozessoren
in Wirklichkeit jedoch das Senden und Empfangen einer Mehrzahl von Signalen so
durchführen, wie dies in Fig. 2, Fig. 3 und Fig. 9 dargestellt ist.
-
Als nächstes wird die Konfiguration des dritten Parallelprozessors 30r (r = 2, 3, ..., s-1, das
gleiche gilt für das folgende) anhand von Fig. 9 erläutert. Es ist zu beachten, daß in Fig. 9
diejenigen konstituierenden Elementen des dritten Parallelprozessors 30, weggelassen sind,
die denen des ersten Parallelprozessors 10 und des zweiten Parallelprozessors 20
entsprechen. Die konstituierenden Elemente des dritten Parallelprozessors 30r, die hier nicht
erläutert werden, sind die gleichen wie bei dem ersten Parallelprozessor 10 und dem zweiten
Parallelprozessor 20, die in Fig. 2 bzw. 3 dargestellt sind.
-
Wie Fig. 9 zeigt, umfaßt der dritte Parallelprozessor 30r den individuellen Prozessor 100i des
ersten Parallelprozessors 10, das Schieberegister (SRA) 12, den Adressendecodierer 150
und die Steuerschaltung 152.
-
Der dritte Parallelprozessor 30r nimmt Signale SRPr-1, SWPr-1, Sinr-1 und Soutr-1 von dem
ersten Parallelprozessor 10 oder dem dritten Parallelprozessor 30r-1 der vorangehenden
Stufe und das Eingangssignal von dem Datenbus Yn-1 für die Verbindung mit den anderen
Prozessoren auf. Deshalb hat seine Signaleingangsstufe die gleiche Struktur wie die
entsprechende Stufe des zweiten Parallelprozessors 20. Er gibt auch, wie in dem zweiten
Parallelprozessor 20, das Signal an den dritten Parallelprozessor 30r+1 der nächsten Stufe aus.
Deshalb hat seine Signalausgangsstufe die gleiche Struktur wie die entsprechende Stufe
des ersten Parallelprozessors 10.
-
Wenn in der Parallelprozessoranordnung 3 ein Signal verarbeitet wird, das aus Daten mit
sehr kurzer Länge besteht, werden die Parallelprozessoren unabhängig genutzt und führen
eine (s+2)-stufige Pipeline-Verarbeitung durch. Wenn ein Signal aus Daten mittlerer Länge
verarbeitet werden soll, sind einige Stufen des ersten Parallelprozessors 10, des zweiten
Parallelprozessors 20 und des dritten Parallelprozessors 30r miteinander verbunden, so daß
die betreffenden Signale parallel verarbeitet werden können und außerdem eine
mehrstufige Pipeline-Verarbeitung möglich ist. Für ein Signal, das aus Daten großer Länge besteht, ist
eine parallele Verarbeitung eines Signals möglich, das aus Daten der größten Länge (s+m)
besteht, indem alle Parallelprozessoren, die den dritten Parallelprozessor 30r bilden,
miteinander verbunden werden.
-
Es wird ein Fall konkret erläutert, bei dem ein Signal verarbeitet wird, das aus Daten
mittlerer Länge besteht.
-
In der Konfiguration des Parallelprozessors 3, in der ein Signal verarbeitet werden soll, das
aus Daten der Längen(h-1) oder mehr oder nh oder weniger besteht, werden jeweils eine
Zahl von h ersten Parallelprozessoren 10, zweiten Parallelprozessoren 20 und dritten
Parallelprozessoren 30r miteinander verbunden, z. B. die ersten Parallelprozessoren 10 und
die dritten Parallelprozessoren 30&sub1; bis 30 h-1, die dritten Parallelprozessoren 30h bis 302h-1
und die dritten Parallelprozessoren 302h bis 302n-1, ... (h = 1, 2, ..., m-2), und es wird
veranlaßt, daß sie ähnlich wie bei der ersten Operation des als erstes Ausführungsbeispiel
dargestellten Parallelprozessors 1, als eine Reihe von Parallelprozessorvorrichtungen arbeiten,
wobei man sie Signale verarbeiten läßt, die aus Daten der Längen(h-1) oder mehr und nh
oder weniger bestehen. Man läßt sie weiterhin zwischen dem dritten Parallelprozessor 30h-1
und dem dritten Parallelprozessor 30h die zweite Operation der als erstes
Ausführungsbeispiel dargestellten Parallelprozessoranordnung 1 ausführen, wobei man veranlaßt, daß diese
eine Serie von Parallelprozessorvorrichtungen die Pipeline-Operation ausführt.
-
Die oben beschriebene Steuerung der Verbindung zwischen dem ersten Parallelprozessor
10, dem zweiten Parallelprozessor 20 und dem dritten Parallelprozessor 30 wird
durchgeführt, indem man veranlaßt, daß die Parallelprozessor-Steuerschaltung 32 die Verbindung
des Wählers (SRP) 160, des Wählers (SWP) 162, des Wählers (Sin) 164, des Wählers (SX)
168, des Wählers (SY) 260 und des Schalters (Sout) 166 bezüglich der betreffenden
Steuerschaltungen 152 und 252 nach Maßgabe der Einstellung z. B. der Konsole 154 einrichtet.
-
Das Eigenschaft der Parallelprozessorvorrichtung gemäß der Erfindung, daß sie generell für
unterschiedliche Daten anwendbar ist, kann also mit der Parallelprozessoranordnung 3 noch
aktiver genutzt werden als mit der Parallelprozessoranordnung 1.
-
Durch die mehrstufige Anordnung des dritten Parallelprozessors 30r, des ersten
Parallelprozessors 10 und des zweiten Parallelprozessors 20, wie sie in Fig. 8 dargestellt ist, kann die
Parallelprozessoranordnung 3 eine größere Zahl von Signalen mit hoher Effizienz verarbeiten
und so, daß keine Hardware-Resourcen ungenutzt bleiben.
-
Die Struktur und die Funktion der in den betreffenden Ausführungsformen dargestellten
Parallelprozessorvorrichtung stellen lediglich Beispiele dar. So können z. B. verschiedene
Konfigurationen als Modifizierungen des ersten Ausführungsbeispiels vorgesehen sein.
-
Die vorangehend beschriebene Parallelprozessorvorrichtung, bei der die betroffene
Parallelprozessorvorrichtung die Verarbeitung des Signals mit Daten geringer Länge durchführt, die
zur Verarbeitungseinheit von mehreren zu verarbeitenden Signaltypen wird, ermöglicht eine
effiziente Verarbeitung, indem auch diejenigen individuellen Prozessoren genutzt werden,
die von den für die Verarbeitung des Signals mit den Daten der größten Länge
vorgesehe
nen individuellen Prozessoren übrig bleiben. Deshalb ist eine effektive Nutzung der
Hardware-Resourcen möglich.
-
Auch wenn die Datenlänge, die zur Verarbeitungseinheit wird, die gleiche ist, ist eine
komplexere und hochwertigere Verarbeitung möglich als mit der herkömmlichen Vorrichtung.