-
GEBIET DER ERFINDUNG
-
Diese Erfindung betrifft eine digitale
Signalverarbeitungsvorrichtung, die mit einer Programmanweisung
mehrere Datenfelder gleichzeitig bearbeitet, (eine digitale SIMD-Signalverarbeitungsvorrichtung).
-
HINTERGRUND
DER ERFINDUNG
-
In einer digitalen SIMD-Signalverarbeitungsvorrichtung
sind auf einem einzelnen Chip mehrere Verarbeitungselemente parallelgeschatet,
was erlaubt, daß alle
Verarbeitungselemente in Reaktion auf ein einzelnes Programm die
gleiche Operation ausführen.
Sie wird bei der Bildsignalverarbeitung, der Datenverarbeitung usw.
verwendet.
-
16 zeigt
z. B. den Hauptabschnitt eines SVP (Abtastzeilen-Videoprozessors)
für die
Echtzeitverarbeitung von NTSC-Signalen. Dieser SVP besitzt eine
dreischichtige Struktur, die aus einem Dateneingaberegister (DIR) 200,
der digitalen SIMD-Signalverarbeitungseinheit 202 und dem
Datenausgaberegister (DOR) 204 gebildet ist.
-
Für
das DIR 200 werden die Bilddaten d1–dn, die einer horizontalen
Abtastzeile entsprechen (z. B. 40 Bits × 960 Wörter) wiederholt eingegeben.
In der digitalen SIMD-Signalverarbeitungseinheit 202 sind
die Verarbeitungselemente pe1–pen, wobei
n eine Zahl gleich der Anzahl der Bildpunkte in einer horizontalen
Abtastzeile (angenommen 960) ist, parallel angeordnet (parallelgeschaltet).
Entsprechend den aufeinanderfolgenden gemeinsamen Befehlen I von
einem (nicht gezeigten) Befehlserzeugungsabschnitt führen diese
Verarbeitungselemente pe1, pe2,..., pen die vorgeschriebene Bildverarbeitungsoperation
für die
entsprechenden Bildpunktdaten d1, d2,..., dn während einer horizontalen Abtastperiode
aus. In dieser Weise werden die Bilddaten d1–dn einer Abtastzeile einmal
verarbeitet. Das DOR 204 sammelt die Verarbeitungsergebnisse
der Operation von den Verarbeitungselementen pe1–pen, um die Bilddaten d1'–dn' (wie
z. B.
-
24 Bits × 960 Wörter) für eine horizontale Abtastzeile
zu bilden. Die Datenübertragung
vom DIR 200 zur Verarbeitungseinheit 202 und die
Datenübertragung
von der Verarbeitungseinheit 202 zum DOR 204 werden
während
der horizontalen Austastperiode ausgeführt.
-
In diesem Fall werden die Dateneingabe,
die Parallelverarbeitung und die Datenausgabe für jede horizontale Abtastzeile
durch die Verarbeitung des DIR 200, der Einheit 202 und
des DOR 204 in einem Pipelineschema ausgeführt.
-
Jedes Verarbeitungselement PEk der
Verarbeitungseinheit 202 umfaßt ein Paar Registerdateien,
eine 1-Bit-ALU (1-Bit-Arithmetik-Logik-Einheit), mehrere Arbeitsregister
und eine L/R-Kommunikationseinheit für das Austauschen der Daten
mit mehreren links und rechts benachbarten Verarbeitungselementen
(z. B. 2 auf jeder Seite). Die Registerdatei auf einer Seite ist
mit dem DIR 200 verbunden, wobei sie die Daten vor und
während
der Operation hält.
Die Registerdatei auf der anderen Seite ist mit dem DOR 204 verbunden,
wobei sie die Daten während
der Operation und die Daten des endgültigen Operationsergebnisses
hält.
-
17 zeigt
die Taktung der Verarbeitungsoperation in jedem Verarbeitungselement
PEk im herkömmlichen
SVP.
-
- (1) Zuerst werden 1-Bit-Daten von der einen und/oder der
anderen Speicheradresse eines Paars Registerdateien mit der durch
den entsprechenden Befehl Ii zugeordneten Adresse gelesen (DATA READ).
- (2) Dann führt
die L/R-Kommunikationseinheit den bedingten Austausch der Daten
mit den durch den entsprechenden Befehl Ii der zugeordneten linken und
rechten benachbarten Verarbeitungselementen (z. B. zwei auf jeder
Seite) PEk – 2,
PEk – 1,
PEk + 1, PEk + 2 aus (LRCOM).
- (3) Dann führt
die ALU die Operation aus, wie sie durch den entsprechenden Befehl
Ii für
die in den Schritten (1), (2) gelesenen Daten und/oder die empfangenen
Daten zugeordnet worden ist (ALU).
- (4) Schließlich
wird ein Satz der in den Schritten (1), (2), (3) erhaltenen Daten
in die eine und/oder die andere Speicheradresse des durch den entsprechenden
Befehl Ii zugeordneten Paars Registerdateien geschrieben (WRITE
BACK).
-
In dieser Weise werden während jedes
Taktzyklus vier Schritte (1)–(4)
ausgeführt,
um eine 1-Bit-Operationsverarbeitung auszuführen. Bei der Operation der
8-Bit-Addition, um eine 9-Bit-Ausgabe zu erhalten, sind z. B. 9
Taktzyklen notwendig. Für
jeden dieser Taktzyklen werden die vier Schritte (1)–(4) ausgeführt.
-
Der Stand der Technik gemäß den Oberbegriffen
der Ansprüche
1, 4 und 5 ist z. B. aus EP-A-0 422 965 bekannt.
-
Wie oben erklärt worden ist, ist es beim
herkömmlichen
SVP, um die Bildsignalverarbeitung in Bezug auf 1-Bit-Daten auszuführen, für jedes
Verarbeitungselement PEk notwendig, vier Schritte in jedem Taktzyklus
auszuführen,
nämlich
(1) den Schritt, in dem die Daten aus der Registerdatei gelesen
werden (DATA READ); (2) den Schritt, in dem die Daten mit mehreren
linken und rechten benachbarten Verarbeitungselementen bedingt ausgetauscht
werden (LRCOM); (3) den Schritt, in dem die ALU die Operation für die in
den Schritten (1) und (2) erhaltenen Daten ausführt; und (4) den Schritt, in
dem ein Satz der in den Schritten (1), (2), (3) erhaltenen Daten
in die Registerdatei geschrieben wird (WRITE BACK). Diese Schritte
werden der Reihe nach ausgeführt.
-
Die tatsächliche Verarbeitungszeit ist
jedoch, wie in 17 gezeigt
ist, in den Schritten (1)–(4)
in jedem Zyklus kurz, während
das meiste der Zeit nicht für
die Verarbeitung verwendet wird.
-
Für
den Schritt (1) (DATA READ) wird unmittelbar nach dem Beginn eines
Zyklus die Leseoperation der Registerdatei begonnen; das Lesen der
Daten wird im ersten Teil des Zyklus abgeschlossen, während die
verbleibende Zeit a (der mittlere Teil und der letzte Teil) die
Zeit lediglich für
das Halten der Daten wird.
-
Im Schritt (2) (LRCOM) ist beinahe
die Zeit b1 des ersten Teils jedes Zyklus die Zeit für das Warten
auf die von den anderen Verarbeitungselementen in den linken und
rechten Nachbarn gesendeten Daten, während die verbleibende Zeit,
nachdem die Daten im mittleren Abschnitt des Zyklus empfangen worden
sind, (die Zeit des letzten Teils des Zyklus) b2 die Zeit lediglich
für das
Halten der empfangenen Daten wird.
-
Im Schritt (3) (ALU) ist die Zeit
c1, die dem ersten Teil und dem mittleren Teil des Zyklus entspricht,
die Zeit für
das Warten auf die Daten in den Schritten (1) und (2), während die
verbleibende Zeit c2 nach der Ausführung der Operation im letzten
Teil des Zyklus die Zeit lediglich für das Halten der Daten der
Operationsergebnisse ist.
-
Im Schritt (4) (WRITE BACK) ist die
Zeit d vom Anfang des Zyklus zum Ende des Schrittes (3) die Zeit
lediglich für
das Warten auf die Daten der Operationsergebnisse.
-
In dieser Weise werden in jedem Zyklus
die Zeit für
das Warten auf die Daten, die Zeit für das Halten der Daten und
die anderen nicht Verarbeitungszeiten zur tatsächlichen Verarbeitungszeit
der verschiedenen Schritte (1)–(4)
hinzugefügt.
Deshalb ist es schwierig, den Durchsatz zu vergrößern, wobei dies ein Nachteil
ist.
-
Es ist die Aufgabe dieser Erfindung,
die Probleme der herkömmlichen
Verfahren durch das Schaffen eines digitalen SIMD-Signalverarbeitungsverfahrens
und einer digitalen SIMD-Signalverarbeitungsvorrichtung zu lösen, die
die Anzahl der Operationszyklen vergrößern können, die in einer Einheitszeit
ausgeführt
werden können,
und den Durchsatz zu vergrößern.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Ein erstes digitales Signalverarbeitungsverfahren
dieser Erfindung ist ein digitales Signalverarbeitungsverfahren,
in dem: 1) mehrere Verarbeitungselemente parallel angeordnet werden,
wobei die gleiche Verarbeitung für
die mehreren Verarbeitungselemente entsprechend jedem Befehl parallel ausgeführt wird;
2) jedes der Verarbeitungselemente ein oder mehrere Speichermittel
zum Speichern von Daten vor oder nach der Operation, ein Kommunikationsmittel
zum Austauschen von Daten mit einer vorgeschriebenen Anzahl der
Verarbeitungselemente als den benachbarten Verarbeitungselementen
und ein Operationsmittel zum Ausführen der vorgeschriebenen Operation
für die
aus dem Speichermittel gelesenen Daten und/oder für die durch
das Kommunikationsmittel empfangenen Daten umfaßt; 3) für jeden Befehl die folgenden
Schritte der Reihe nach ausgeführt
werden: ein erster Schritt des Lesens der Daten aus den Speichermitteln,
ein zweiter Schritt, in dem das Kommunikationsmittel einen bedingten Austausch
mit der vorgeschriebenen Anzahl der Verarbeitungselemente als den
benachbarten Verarbeitungselementen ausführt, ein dritter Schritt, in
dem die vorgeschriebene Operation unter Verwendung der Operationsmittel
ausgeführt
wird, und ein vierter Schritt, in dem Daten aus den im ersten, zweiten
und dritten Schritt erhaltenen Daten in die Speichermittel geschrieben
werden; 4) für
aufeinanderfolgende mehrere Befehle wenigstens zwei der ersten,
zweiten, dritten und vierten Schritte gleichzeitig ausgeführt werden.
-
Das zweite digitale Signalverarbeitungsverfahren
dieser Erfindung ist ein digitales Signalverarbeitungsverfahren
des Punkts 1, das durch die Tatsache gekennzeichnet ist, daß jeder
der ersten, zweiten, dritten und vierten Schritte in einem Zyklus
ausgeführt
wird, und daß in
jedem Zyklus die ersten, zweiten, dritten und vierten Schritte für jeweils
4 aufeinanderfolgende Befehle gleichzeitig ausgeführt werden.
-
Das dritte digitale Signalverarbeitungsverfahren
dieser Erfindung ist ein digitales Signalverarbeitungsverfahren
des Punkts 1, das durch die folgenden Tatsachen gekennzeichnet ist:
die ersten und zweiten Schritte werden in einem Zyklus ausgeführt und
die dritten und vierten Schritte werden in einem Zyklus ausgeführt; wobei
für zwei
aufeinanderfolgende Befehle die ersten und zweiten Schritte und
die dritten und vierten Schritte jeweils gleichzeitig ausgeführt werden.
-
Die erste digitale Signalverarbeitungsvorrichtung
dieser Erfindung umfaßt
mehrere Verarbeitungselemente, die parallel angeordnet sind, wobei die
mehreren Verarbeitungselemente gebildet sind, um die gleiche Verarbeitung
entsprechend jedem Befehl parallel auszuführen; wobei jedes Verarbeitungselement
die folgenden Mittel umfaßt:
ein oder mehrere Speichermittel zum Halten der Daten vor und nach der
Operation; ein Kommunikationsmittel zum Austauschen von Daten mit
einer vorgeschriebenen Anzahl Verarbeitungselemente als die benachbarten Verarbeitungselemente;
ein Operationsmittel, das die vorgeschriebene Operation für die aus
dem Speichermittel gelesenen Daten und/oder die durch die Kommunikationsmittel
empfangenen Daten ausführt; einen
ersten Zwischenspeicher, der einen Dateneingangsanschluß, der an
einen Datenausgangsanschluß der
Speichermittel angeschlossen ist, und einen Datenausgangsanschluß, der an
einen Dateneingangsanschluß der
Operationsmittel angeschlossen ist, umfaßt und der während des
zweiten Zyklus die Daten, die im ersten Zyklus aus den Speichermitteln
ausgelesen wurden, holt; einen zweiten Zwischenspeicher, der einen
Dateneingangsanschluß, der
an den Datenausgangsanschluß des
ersten Zwischenspeichers angeschlossen ist, enthält und der die Daten während des
dritten Zyklus nach dem zweiten Zyklus aus dem ersten Zwischenspeicher
holt; einen dritten Zwischenspeicher, der einen Dateneingangsanschluß, der an
die Kommunikationsmittel angeschlossen ist, besitzt und der während des
dritten Zyklus die Daten, die im zweiten Zyklus durch die Kommunikationsmittel
aus einem Verarbeitungselement der vorgeschriebenen Anzahl benachbarter Verarbeitungselemente
bedingt geholt werden, holt; und einen vierten Zwischenspeicher,
der Dateneingangsanschlüsse,
die an die Datenausgangsmittel des zweiten und des dritten Zwischenspeichers
bzw. den Datenausgangsanschluß der
Operationsmittel angeschlossen sind, und Datenausgangsanschlüsse, die
an die Dateneingangsanschlüsse
der Speichermittel angeschlossen sind, besitzt und der während des
vierten Zyklus nach dem dritten Zyklus wahlweise die Daten aus den
Operationsmitteln, die Daten aus dem zweiten Zwischenspeicher oder
die Daten aus dem dritten Zwischenspeicher holt; und wobei im vierten
Zyklus die Daten aus dem vierten Zwischenspeicher in die Speichermittel
geschrieben werden.
-
Die zweite digitale Signalverarbeitungsvorrichtung
dieser Erfindung ist eine digitale Signalverarbeitungsvorrichtung,
die mehrere Verarbeitungselemente besitzt, die parallel angeordnet
sind, wobei die mehreren Verarbeitungselemente gebildet sind, um
die gleiche Verarbeitung parallel auszuführen, die jedem Befehl entspricht;
jedes der Verarbeitungselemente umfaßt die folgenden Mittel: ein
oder mehrere Speichermittel zum Halten der Daten vor oder nach der
Operation; ein Kommunikationsmittel zum Austauschen von Daten mit
einer vorgeschriebenen Anzahl der Verarbeitungselemente als den
benachbarten Verarbeitungselementen; ein Operationsmittel, das eine
vorgeschriebene Operation für
die Daten, die aus den Speichermitteln gelesen werden, und/oder
für die
Daten, die über
die Kommunikationsmittel empfangen werden, ausführt; einen ersten Zwischenspeicher,
der einen Dateneingangsanschluß, der
an einen Datenausgangsanschluß der
Speichermittel angeschlossen ist, sowie einen Datenausgangsanschluß, der an
den Dateneingangsanschluß der
Speichermittel angeschlossen ist, besitzt und der während des
zweiten Zyklus die Daten, die im ersten Zyklus aus den Speichermitteln
gelesen werden, holt; und einen zweiten Zwischenspeicher, der einen Dateneingangsanschluß, der an
den Datenausgangsanschluß der
Kommunikationsmittel angeschlossen ist, und einen Datenausgangsanschluß, der an
den Dateneingangsanschluß der
Speichermittel angeschlossen ist, besitzt und der während des zweiten
Zyklus die Daten, die von einem Verarbeitungselement der vorgeschriebenen
Anzahl benachbarter Verarbeitungselemente über die Kommunikationsmittel
in dem ersten Zyklus bedingt empfangen werden, holt; wobei in dem
zweiten Zyklus die Daten von den Operationsmitteln, die Daten vom
ersten Zwischenspeicher oder die Daten vom zweiten Zwischenspeicher
wahlweise in die Speichermittel geschrieben werden.
-
Gemäß dieser Erfindung werden in
jedem der mehreren Verarbeitungselemente, die die gleiche Verarbeitung
parallel ausführen,
die folgenden vier Schritte der Reihe nach ausgeführt: ein
erster Schritt, in dem die Daten aus den Speichermitteln gelesen werden;
ein zweiter Schritt, in der dem das Kommunikationsmittel den Austausch
der Daten bedingt mit einer vorgeschriebenen Anzahl benachbarter
Verarbeitungselemente ausführt;
einen dritten Schritt, in dem die Operation durch die Operationsmittel
ausgeführt
wird; und einen vierten Schritt, in dem jeder Satz der in den ersten,
zweiten und dritten Schritten erhaltenen Daten in die Speicher mittel
geschrieben wird. Für
aufeinanderfolgende mehrere Befehle werden wenigstens zwei dieser
vier Schritte gleichzeitig ausgeführt.
-
Jeder der ersten, zweiten, dritten
und vierten Schritte wird in einem Zyklus ausgeführt. Für die vier aufeinanderfolgenden
Befehle werden die ersten, zweiten, dritten und vierten Schritte
für sie
jeweils gleichzeitig ausgeführt.
In dieser Weise ist es für
jeden Befehl möglich,
die Pipelineverarbeitung auszuführen,
um die Anzahl der Verarbeitungszyklen der Operation pro Einheitszeit
zu vergrößern und
den Durchsatz zu vergrößern.
-
KURZBESCHREIBUNG
DER ZEICHNUNG
-
1 ist
ein Blockschaltplan der Konfigurationen des in der digitalen SIMD-Signalverarbeitungsvorrichtung
einer Ausführungsform
dieser Erfindung verwendeten SVP.
-
2 ist
eine schematische Darstellung der Funktion des SVP in der Ausführungsform.
-
3 ist
ein Blockschaltplan der Grundkonfigurationen des Verarbeitungselements
im SVP in der Ausführungsform.
-
4 ist
ein Taktplan der Taktung der verschiedenen Verarbeitungsoperationen
in einem Verarbeitungselement in der Ausführungsform.
-
5 ist
ein Stromlaufplan der spezifischen Konfiguration jedes Blocks des
SVP, der die Verarbeitungselemente enthält, in der Ausführungsform.
-
6 ist
ein Stromlaufplan der spezifischen Konfiguration jedes Blocks des
SVP, der die Verarbeitungselemente enthält, in der Ausführungsform.
-
7 ist
ein Stromlaufplan der spezifischen Konfiguration jedes Blocks des
SVP, der die Verarbeitungselemente enthält, in der Ausführungsform.
-
8 ist
ein Stromlaufplan der spezifischen Konfiguration jedes Blocks des
SVP, der die Verarbeitungselemente enthält, in der Ausführungsform.
-
9 ist
ein Blockschaltplan, der ein Beispiel der Echtzeit-Bewegtbildverarbeitung
unter Verwendung des SVP in der Ausführungsform veranschaulicht.
-
10 ist
ein Blockschaltplan der Konfiguration eines modifizierten Beispiels
des Verarbeitungselements in der Ausführungsform.
-
11 ist
ein Taktplan der Taktung der verschiedenen Verarbeitungsoperationen
der Verarbeitungselemente in 10.
-
12 ist
eine graphische Darstellung der Signalform des Signals der Funktion
des Leseverfahrens des DRAM des Strom-Lese-Typs in einer Ausführungsform
dieser Erfindung.
-
13 ist
ein Stromlaufplan, der ein modifiziertes Beispiel der Leseschaltung
für die
DRAM-Zelle des Strom-Lese-Typs in der Ausführungsform veranschaulicht.
-
14 ist
ein Stromlaufplan, der ein Beispiel der Leseschaltung der Masken-ROM-Zelle
veranschaulicht, für
die das Leseverfahren dieser Erfindung anwendbar ist.
-
15 ist
ein Stromlaufplan, der ein Beispiel der Leseschaltung der SRAM-Zelle
veranschaulicht, für
die das Leseverfahren dieser Erfindung anwendbar ist.
-
16 ist
ein Blockschaltplan der Konfiguration des SVP, der die herkömmliche
digitale SIMD-Signalverarbeitungsvorrichtung enthält.
-
17 ist
ein Taktplan der Taktung der verschiedenen Operationsverarbeitungen
im Verarbeitungselement in der herkömmlichen digitalen SIMD-Signalverarbeitungsvorrichtung.
-
18 ist
ein Stromlaufplan der Konfiguration der Leseschaltung der DRAM-Zelle
des Strom-Lese-Typs.
-
19 ist
eine graphische Darstellung der Signalform des Signals der Signalformen
der Signale der verschiedenen Teile in 18 während
der Leseoperation der DRAM-Zelle des Strom-Lese-Typs unter Verwendung
des herkömmlichen
Leseverfahrens.
-
AUSFÜHRLICHE
BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
-
1 zeigt
den SVP, der für
die digitale SIMD-Signalverarbeitungsvorrichtung dieser Erfindung
geeignet ist.
-
Der SVP 10 trägt den SVP-Kern 12 und
den Befehlsgenerator (IG) 14 auf einem einzelnen Chip. Der SVP-Kern 12 besitzt
eine dreischichtige Konfiguration, die aus einem Dateneingaberegister
(DIR) 16, der digitalen SIMD-Signalverarbeitungseinheit 18 und
dem Datenausgaberegister (DOR) 20 gebildet ist.
-
Für
das DIR 16 wird die Operation entsprechend dem Steuersignal
(Control) von einer externen Steuerschaltung, dem Takt (SWCK) von
einer externen Taktschaltung und der Adresse (ADDRESS) von der IG
14 ausgeführt,
wobei die Bilddaten D1-DN, die einer horizontalen Abtastzeile entsprechen
(wie z. B. 48 Bits × 1024
Bildpunkte) wiederholt eingegeben werden.
-
In der digitalen SIMD-Signalverarbeitungseinheit 18 sind
die Verarbeitungselemente PE1-PEN in einer Anzahl, die gleich der
Anzahl N der Bildpunkte in einer horizontalen Abtastzeile (wie z.
B. 1024) parallel angeordnet (parallelgeschaltet). Diese Verarbeitungselemente
PE1, PE2,..., PEN führen
den Parallelbetrieb entsprechend den Befehlen vom IG 14 aus, nämlich der
Adresse (ADDRESS) und den Mikrobefehlen (MICROINSTRUCTION), und
dem Takt (PCLK) von der externen Taktschaltung, wobei sie in einer
horizontalen Abtastperiode jeweils die gleiche Bildverarbeitungsoperation
für die
entsprechenden Bildpunktdaten D1, D2,..., DN ausführen.
-
Das DOR 20 führt die
Operation entsprechend dem Steuersignal (CONTROL) von der externen
Steuerschaltung, dem Taktsignal (SRCK) von der externen Taktschaltung
und dem Adressensignal (ADDRESS) vom IG14 aus, wobei es die Bilddaten D1'–DN' (wie
z. B. 32 Bits × 1024
Bildpunkte), die einer horizontalen Abtastzeile für die Daten
der Ergebnisse der Operation von den Verarbeitungselementen PE1-PEN
in jeder horizontalen Periode entsprechen, für die Ausgabe sortiert.
-
Die Taktsignale (SWCK), (PCLK) und (SRCK),
die in das DIR 16, die Verarbeitungseinheit 18 und
das DOR 20 gespeist werden, sind zueinander asynchron.
Außerdem
werden die Datenübertragung
vom DIR 16 zur Verarbeitungseinheit 18 und die Datenübertragung
von der Verarbeitungseinheit 18 zum DOR 20 während der
horizontalen Austastperiode ausgeführt.
-
In dieser Weise wird die Echtzeit-Bildverarbeitung
ausgeführt,
da die vom DIR 16, der Verarbeitungseinheit 18 und
dem DOR 20 eingegebenen Daten von einer horizontalen Abtastzeile
parallel verarbeitet werden, wobei die Datenausgabe asynchron parallel
ausgeführt
wird.
-
Der IG 14 enthält den Programmspeicher und
verschiedene andere Register. Er führt Sprünge, Unterprogramme, Unterbrechungen
und andere Operationen entsprechend dem Merkersignal (FLAG-A/B)
und dem Befehls-Betriebsartensignale (IMODE), die von außen gesendet
werden, aus.
-
Hier kann die Funktion des SVP-Kerns 12 kurz
unter Bezugnahme auf 2 erklärt werden. Die
Operationen der verschiedenen Abschnitte im SVP-Kern 12 werden
unter der Steuerung durch das Adressensignal (ADDRESS) und den Mikrobefehl (MICROINSTRUCTION)
vom IG 14 und das Taktsignal (PCLK) von der externen Taktschaltung
ausgeführt.
Das zur digitalen Signalverarbeitungseinheit 18 gesendete
Taktsignal (PCLK) besitzt eine höhere Rate
(z. B. viermal) als die der herkömmlichen
Verarbeitungseinheit 202.
-
Wie in 2 gezeigt
ist, wird z. B. das durch den Demodulator in der vorhergehenden
Stufe demodulierte analoge Videosignal VS mittels des A/D-Umsetzers
22 in ein digitales 32-Bit/36-MHz-Videosignal umgesetzt. Dann wird
nach dem Hinzufügen
(Synthetisieren) von 16-Bit-Videoeinstelldaten von einer (nicht
gezeigten) Videoeinstellschaltung auf der Seite des Videoempfängers zum
digitalen Videosignal das einer Zeile entsprechende digitale Videosignal
als die Eingangsbilddaten D1-DN (48 Bits × 1024 Bildpunkte) für jede horizontale
Abtastperiode erzeugt.
-
Das DIR 16 besitzt eine
Kapazität
(48 Bits × 1024
Wörter),
die gleich der Bit-anzahl
und der Bildpunktanzahl der Eingangsbilddaten D1-DN für eine Zeile
ist, wobei es in den Bildpunkteinheiten in Blöcke unterteilt ist. Für die verschiedenen
Blöcke
des DIR 16,... K – 2,
K – 1,
K, K + 1, K + 2,..., werden die Eingangsbilddaten D1-DN während des
Prozesses der Übertragung
der Eingangsbilddaten in das DIR 16 in die Registergruppen
geladen, während
die verschiedenen Bild-punktdaten-Elemente,...
DK – 2,
DK – 1, DK,
DK + 1, DK + 2,..., eines nach dem anderen übertragen werden (48 Bits).
-
Jedes Verarbeitungselement PEk der
Verarbeitungseinheit 18 umfaßt die folgenden Teile: ein Paar
Registerdateien RF0, RF1 mit vorgeschriebener Kapazität (z. B.
192 Bits), eine 1-Bit-Operations-Arithmetik-Logik-Einheit (1-Bit-Operations-ALU)
24, mehrere (z. B. 4) Arbeitsregister WRs (M, A, B, C) 26 und mehrere
linke und rechte benachbarte (4 auf jeder Seite) Verarbeitungselemente
(PEk – 4,
PEk – 3,
PEk – 2,
PEk – 1,
PEk + 1, PEk + 2, PEk + 3, PEk + 4) und die L/R-Kommunikationseinheit (LRCOM) 28 (Links/Rechts-Kommunikationseinheit) zum
Austauschen der Daten.
-
Die Registerdatei RF0 auf einer Seite
ist mit der Registergruppe des entsprechenden Blocks des DIR 16 verbunden,
während
das Register RF 1 auf der anderen Seite mit der dem DOR 20 entsprechenden
Registergruppe verbunden ist. Die 1-Bit-Informationen von einem
oder beiden der Registerdateien RF0, RF1 werden zu einem der Arbeitsregister
(M, A, B, C) gesendet, wobei sie gleichzeitig zu den benachbarten
Verarbeitungselementen, 4 auf jeder Seite, durch den Multiplexer 30 und
die Zwischenspeicherschaltung 32 der L/R-Kommunikationseinheit 28 gesendet
werden (PEk – 4,
PEk – 3,
PEk – 2,
PEk – 1, PEk
+ 1, PEk + 2, PEk + 3, PEk + 4).
-
Gleichzeitig werden die Daten von
den benachbarten Verarbeitungselementen (PEk – 4, PEk – 3, PEk – 2, PEk – 1, PEk + 1, PEk + 2, PEk
+ 3, PEk + 4) zu den Multiplexern 34, 36 der L/R-Kommunikationseinheit
28 des Verarbeitungselements PEk gesendet, wobei ein Satz der Daten
aus diesen Daten ausgewählt
wird und in eines der Arbeitsregister (M, A, B, C) eingegeben wird. 2 zeigt die Konfiguration, in der ein
Satz der Daten aus den Daten von den linken benachbarten Verarbeitungselementen
(PEk – 4,
PEk – 3,
PEk – 2,
PEk – 1)
ausgewählt
wird, wobei er in das Arbeitsregister (A) eingegeben wird.
-
Die ALU 24 führt die
gewünschte
Operation für
die von den Arbeitsregistern (M, A, B, C) gesendeten Daten aus und
gibt das Ergebnis der Operation aus. Die Daten des Ergebnisses der
Operation der ALU 24 werden in eine der Registerdateien
RF0 und RF1 geschrieben. In dieser Weise werden die Daten des endgültigen Operationsergebnisses
in jeder horizontalen Abtastperiode als die Bildpunktdaten DK' des
endgültigen
Verarbeitungsergebnisses der Operation in die Registerdatei RF1
auf der Ausgabeseite geschrieben, wobei während der folgenden horizontalen
Austastperiode die Daten von der Registerdatei RF1 zum Register
in dem Block, der dem DOR 20 entspricht, übertragen
werden.
-
Das DOR 20 besitzt eine
Kapazität
(32 Bits × 1024
Wörter),
die gleich der Bitanzahl und der Bildpunktanzahl der Ausgangsbilddaten
D1'–DN'
ist, wobei es in den Bildpunkteinheiten in Blöcke unterteilt ist. Die Bildpunktdaten
D1'–DN'
als das für
jeden Block von der Verarbeitungseinheit 18 zum DOR 20 gesendete
Verarbeitungsergebnis der Operation werden der Reihe nach von den
verschiedenen Blöcken
des DOR 20 gesendet, wobei die Bildpunktdaten D1' am linken
Ende während
einer horizontalen Abtastperiode die Vorderseite bilden, gefolgt
von den folgenden Bildpunktdaten D2', D3',... in einer aufeinanderfolgenden
Weise.
-
Die Bilddaten D1'–DN' einer aus dem DOR 20 ausgegebenen
Zeile werden mittels eines D/A-Umsetzers 38 zurück in analoge
Videosignale umgesetzt, wobei die Daten dann in dieser Form zu einer
(nicht gezeigten) Videoschaltung gesendet werden.
-
3 ist
ein Blockschaltplan einer Grundkonfiguration jedes Verarbeitungselements
PEk in dieser Ausführungsform.
-
Die Ausgangsanschlüsse der
zwei Registerdateien RF0 und RF1 sind mit den Eingangsanschlüssen des Übertragungsmultiplexers 30 der L/R-Kommunikationseinheit 28 verbunden,
wobei sie außerdem
jeweils mit den Dateneingangsanschlüssen (D) der ersten Zwischenspeicherschaltungen 40A, 40B zum
Halten der entsprechenden gelesenen Daten verbunden sind.
-
In der L/R-Kommunikationseinheit 28 ist
der Ausgangsanschluß des Übertragungsmultiplexers 30 mit
dem Dateneingangsanschluß (D)
der Übertragungs-Zwischenspeicherschaltung 32 verbunden, wobei
der Datenausgangsanschluß (Q
der Zwischenspeicherschaltung 32 mit der 1-Bit-Datenleitung 44 (SK)
verbunden ist. Außerdem
sind die Eingangsanschlüsse
der linken benachbarten Empfangsmultiplexer 34 über die
linken benachbarten 4-Bit-Datenleitungen 45 (LK – 4, LK – 3, LK – 2, LK – 1) jeweils
mit den Datenausgangsanschlüssen
(Q der Übertragungs-Zwischenspeicherschaltung 32 der
vier linken benachbarten Verarbeitungselemente (PEk – 4, PEk – 3, PEk – 2, PEk – 1) verbunden. Ähnlich sind
die Eingangsanschlüsse
der rechten benachbarten Empfangsmultiplexer 36 über die
rechten benachbarten 4-Bit-Dateneitungen 46 (RK + 4, RK
+ 3, RK + 2, RK + 1) jeweils mit den Datenausgangsanschlüssen (Q
der Übertragungs-Zwischenspeicherschaltung 32 der
vier rechten benachbarten Verarbeitungselemente (PEk + 1, PEk +
2, PEk + 3, PEk + 4) verbunden.
-
Außerdem kann die Übertragungsdatenleitung
(SK) im Verarbeitungselement PEi eine (RK + 1) der rechten benachbarten
Datenleitungen 46 für
den Datenempfang in einem [sic; dem ersten] linken benachbarten
Verarbeitungselement PEk – 1
sein, wobei sie gleichzeitig außerdem
eine (LK – 2)
der linken benachbarten Datenleitungen 44 für den Datenempfang
in zwei [sic; dem zweiten] rechten benachbarten Verarbeitungselementen
PEk + 2 sein kann.
-
Die Ausgangsanschlüsse der
zwei Empfangsmultiplexer 34, 36 sind mit den Eingangsanschlüssen der
vier Operationsdaten-Auswahlmultiplexer 48A–48D verbunden,
wobei sie außerdem
mit den Dateneingangsanschlüssen
(D) der entsprechenden Zwischenspeicherschaltungen 50A, 50B, die
die empfangenen Daten halten, verbunden sind. Die Datenausgangsanschlüsse (Q der
Zwischenspeicherschaltungen 50A, 50B sind mit
den Eingangsanschlüssen
der Auswahlmultiplexer 52A, 52B für die geschriebenen
Daten verbunden, die in zwei Registerdateien RF0 bzw. RF1 angeordnet
sind.
-
Die Ausgangsanschlüsse (Q)
der ersten Zwischenspeicherschaltungen 40A, 40B,
die die gelesenen Daten halten, sind mit den Eingangsanschlüssen der
Operationsdaten-Auswahlmultiplexer 48A-48D verbunden, wobei
sie außerdem
mit den Dateneingangsanschlüssen
(D) der entsprechenden zweiten Zwischenspeicherschaltungen 54A, 54B,
die die gelesenen Daten halten, verbunden sind. Die Datenausgangsanschlüsse (Q der
Zwischenspeicherschaltungen 54A, 54B sind mit
den Eingangsanschlüssen der
Auswahlmultiplexer 52A bzw. 52B für die geschriebenen
Daten verbunden.
-
Die Ausgangsanschlüssen der
Operationsdaten-Auswahlmultiplexer 48A-48D sind mit den
Eingangsanschlüssen
der entsprechenden Register M, A, B, C der Arbeitsregister (WRs) 26 verbunden.
Die Ausgangsanschlüsse
dieser Arbeitsregister M, A, B, C sind mit den Eingangsanschlüssen der
ALU 24 verbunden, während
die Ausgangsanschlüsse
der ALU 24 mit den Eingangsanschlüssen der Schreibdaten-Auswahlmultiplexer 52A, 52B verbunden
sind. Die Ausgangsanschlüsse
dieser Multiplexer 52A, 52B sind mit den Dateneingangsanschlüssen (D)
der entsprechenden Zwischenspeicherschaltungen 56A, 56B,
die die Schreibdaten halten, verbunden. Die Datenausgangsanschlüsse (Q dieser
Zwischenspeicherschaltungen 56A, 56B sind mit
den Dateneingangsanschlüssen
der Registerdateien RF0 bzw. RF1 verbunden.
-
Die Zwischenspeicherschaltungen 32, 40A, 40B, 50A, 50B, 54A, 54B, 56A, 56B in
jedem Verarbeitungselement PEk sind aus D-Flipflops gebildet. Ein
gemeinsamer Takt PCLK wird in den Dateneingangsanschluß (C) jedes
dieser D-Flipflops
eingespeist. Außerdem
wird jeder der Multiplexer 30, 34, 36, 48A–48D, 52A, 52B durch
den Mikrobefehl vom IG 14 gesteuert.
-
4 zeigt
die Taktung der Verarbeitungsoperation jedes Schrittes, der in jedem
Verarbeitungselement PEk ausgeführt
wird, die der durch den IG 14 geholten Folge von Befehlen ... Ii – 1, Ii,
Ii + 1,...entspricht.
-
Die in bezug auf einen vom IG 14
ausgegebenen Befehl Ii ausgeführte
Operationsverarbeitung wird durch die folgenden vier aufeinanderfolgenden Taktzyklen <m>, <m + 1>, <m + 2>, <m + 3> ausgeführt.
-
(1) Zuerst werden im ersten Zyklus <m> die 1-Bit-Daten aus
einer Speicheradresse und/oder der anderen Speicheradresse der Registerdateien
RF0 und RF1 gelesenen, wobei die Adresse durch den Befehl Ii zugewiesen
worden ist (DATA READ).
-
(2) Dann wird im zweiten Zyklus <m + 1 > ein im ersten Zyklus <m> aus den Registerdateien
RF0 und RF1 gelesener Satz der Daten durch den Übertragungsmultiplexer 30 der
L/R-Kommunikationseinheit 28 zur Übertragungs-Zwischenspeicherschaltung 32 geholt,
wobei die Daten von seinem Ausgangsdatenanschluß (Q durch die Datenleitung 44 (SK)
zu vier Verarbeitungselementen in jedem der linken und rechten Nachbarn
(PEk – 4,
PEk – 3,
PEk – 2,
PEk – 1,
PEk + 1, PEk + 2, PEk + 3, PEk + 4) gesendet werden.
-
Gleichzeitig werden die Daten von
den linken und rechten benachbarten Verarbeitungselementen, 4 auf
jeder Seite, (PEk – 4,
PEk – 3,
PEk – 2,
PEk – 1,
PEk + 1, PEk + 2, PEk + 3, PEk + 4) durch die Datenleitungen 45 (LK – 4 bis
LK – 1),
46 (RK + 1 bis RK + 4) gesendet, wobei sie in die linken und rechten
benachbarten Multiplexer 34, 36 eingegeben werden.
In jedem der Multiplexer 34, 36 wird ein Satz
der empfangenen Daten bedingt ausgewählt. Die ausgewählten empfangenen
Daten werden zu den Dateneingangsanschlüssen (D) der Zwischenspeicherschaltungen 50A und 50B,
die die empfangenen Daten halten, gesendet, wobei sie in die Operationsdaten-Auswahlmultiplexer 48A-48D eingegeben
werden (LRCOM).
-
Andererseits werden die aus den Registerdateien
RF0 und RF1 gelesenen Daten in die ersten Zwischenspeicherschaltungen 40A bzw. 40B,
die die gelesenen Daten halten, geholt. Die in diese Zwischenspeicherschaltungen 40A und 40B geholten gelesenen
Daten werden zu den Dateneingangsanschlüssen (D) der zweiten Zwischenspeicherschaltungen 54A und 54B,
die die gelesenen Daten halten, gesendet, wobei sie gleichzeitig
in die Operationsdaten-Auswahlmultiplexer 48A–48D eingegeben werden.
Jeder der Multiplexer 48A–48D wählt einen Satz
der Daten aus und sendet ihn zum Eingangsanschluß der entsprechenden Arbeitsregister
(M, A, B, C).
-
(3) Dann werden im dritten Zyklus <m + 2> die Daten aus den
Operationsdaten-Auswahlmultiplexern 48A–48D zu den Arbeitsregistern
(M, A, B, C) geholt, wobei die vorgeschriebene Operation (ALU) für diese
Daten in der ALU 24 ausgeführt wird.
-
Die Daten der in der ALU 24 enthaltenen Operationsergebnisse
werden in die Schreibdaten-Auswahlmultiplexer 52A und 52B eingegeben.
-
Andererseits werden die empfangenen
Daten von den Empfangsmultiplexern 34 und 36 zu
den Zwischenspeicherschaltungen 50A und 50B, die
die empfangenen Daten halten, geholt, wobei gleichzeitig die gelesenen
Daten von den ersten Zwischenspeicherschaltungen 40A und 40B zu
den zweiten Zwischenspeicherschaltungen 54A und 54B,
die die gelesenen Daten halten, geholt werden. Die zu diesen Zwischenspeicherschaltungen 50A, 50B, 54A, 54B geholten
Daten werden von ihren entsprechenden Ausgangsanschlüssen (Q
in die Schreibdaten-Auswahlmultiplexer 52A und 52B eingegeben.
-
Die Multiplexer 52A und 52B wählen einen Satz
der Daten aus den eingegebenen Daten und senden ihn zu den Dateneingangsanschlüssen (D) der
Zwischenspeicherschaltungen 56A und 56B, die die
Schreibdaten halten.
-
(4) Schließlich werden im vierten Zyklus <m + 3> die Daten von den
Multiplexern 52A und 52B in die Zwischenspeicherschaltungen 56A und 56B,
die die Schreibdaten halten, geholt, wobei die Daten in die durch
den Befehl Ii zugewiesenen Speicheradressen der Registerdateien
RF0 und RF1 geschrieben werden (WRITE BACK).
-
In dieser Weise werden in jedem Verarbeitungselement
PEk in dieser Ausführungsform
für die Operationsverarbeitung
jedes Bits vier Schritte (1)–(4)
ausgeführt,
die vier aneinander folgenden Taktzyklen <m>, <m + 1 >, <m + 2>, <m + 3> entsprechen. Weil
die Geschwindigkeit des Taktes PCLK das Vierfache der Geschwindigkeit
des Taktes im herkömmlichen
Verarbeitungselement PEk ist, ist die Zeit der vier Zyklen gleich
der Zeit von einem Zyklus im herkömmlichen Fall. Dies bedeutet,
daß die
Verarbeitungszeit der Operation für 1 Bit, d. h., für 1 Befehl, die
gleiche wie die des herkömmlichen
Falls ist.
-
In dieser Ausführungsform werden jedoch in jedem
Verarbeitungselement PEk, wie in 4 gezeigt
ist, vier Schritte (1)–(4)
in Bezug auf ihre entsprechenden Befehle in jedem durch den Takt
PCLK definierten Zyklus mit einer Geschwindigkeit ausgeführt, die
das Vierfache der Geschwindigkeit im herkömmlichen Fall ist. Die Ausgangsrate
der Operationsverarbeitung, d. h. der Durchsatz, wird das Vierfache
der herkömmlichen
Rate.
-
Im folgenden wird die Verarbeitungsoperation
in Bezug auf die Befehle im ersten Zyklus <m> bis vierten
Zyklus <m + 3> in verschiedenen Abschnitten nach 3 erklärt.
-
Wie oben erklärt worden ist, führen die
Registerdateien RF0 und RF1 die Leseoperation in Bezug auf den Befehl
Ii während
des ersten Zyklus <m> aus. Die im ersten
Zyklus <m> gelesenen Daten werden
in die Übertragungs-Zwischenspeicherschaltung 32 und
die ersten Zwischenspeicherschaltungen 40A und 40B,
die die gelesenen Daten halten, bei der Anstiegsflanke des Taktsignals
PCLK am Anfang des zweiten Zyklus <m
+ 1> geholt. In dieser
Weise führen
die Registerdateien RF0 und RF1 die Leseoperation in bezug auf den
nächsten
Befehl Ii + 1 während des
zweiten Zyklus <m
+ 1> aus. Ähnlich wird
im dritten Zyklus <m
+ 2> eine Leseoperation
in Bezug auf den Befehl Ii + 2 ausgeführt, während im vierten Zyklus <m + 3> eine Leseoperation
in Bezug auf den Befehl Ii + 3 ausgeführt wird.
-
Die Übertragungs-Zwischenspeicherschaltung 32 holt
die aus den Registerdateien RF0 und RF1 gelesenen Daten bei der
Anstiegsflanke des Taktes PCLK am Anfang des nächsten Zyklus, wobei die Daten
zu den anderen benachbarten Verarbeitungselementen gesendet werden.
-
Im ersten Zyklus <m> werden
die durch den Befehl Ii – 1
zugewiesenen Daten, d. h. die während des
vorhergehenden Zyklus <m – 1> aus den Registerdateien
RF0 und RF1 gelesenen Daten, gelesen und gesendet. Im zweiten Zyklus <m + 1> werden, wie oben erklärt worden
ist, die durch den Befehl Ii zugewiesenen Daten, d. h. die während des
vorhergehenden Zyklus <m> aus den Registerdateien
RF0 und RF1 gelesenen Daten, gelesen und gesendet. Ähnlich werden
im dritten Zyklus <m
+ 2> die durch den
Befehl Ii + 1 zugewiesenen Daten, d. h. die während des zweiten Zyklus <m + 1> aus den Registerdateien
RF0 und RF 1 gelesenen Daten, gelesen und gesendet; während im
vierten Zyklus <m
+ 3> die durch den
Befehl Ii + 2 zugewiesenen Daten, d. h. die während des dritten Zyklus <m + 2> aus den Registerdateien
RF0 und RF1 gelesenen Daten, gelesen und gesendet werden.
-
Die Empfangsmultiplexer 34, 36 empfangenen
die Daten von den Übertragungs-Zwischenspeicherschaltungen 32 der
benachbarten vier Verarbeitungselemente auf jeder Seite (PEk – 4, PEk – 3, PEk – 2, PEk – 1, PEk
+ 1, PEk + 2, PEk + 3, PEk + 4), wobei sie eines der empfangenen
Datenelemente auswählen.
Die Operation erfolgt synchron mit der Operation der Übertragungs-Zwischenspeicherschaltung 32 im
Verarbeitungselement PEk.
-
Im ersten Zyklus <m> wird
eines der im vorhergehenden Zyklus <m – 1> aus den Registerdateien
RF0 und RF1 der anderen benachbarten Verarbeitungselemente gelesenen
Datenelemente (das durch den Befehl Ii – 1 zugewiesene Datenelement) empfangen/ausgewählt. Im
zweiten Zyklus <m
+ 1> wird, wie oben
erklärt
worden ist, eines der im vorhergehenden Zyklus <m> aus
den Registerdateien RF0 und RF1 der anderen benachbarten Verarbeitungselemente
gelesenen Datenelemente (die durch den Befehl Ii zugewiesenen Daten)
empfangen/ausgewählt.
Im dritten Zyklus <m
+ 2> wird eines der
im zweiten Zyklus <m
+ 1> aus den Registerdateien RF0
und RF1 der anderen benachbarten Verarbeitungselemente gelesenen
Datenelemente (die durch den Befehl Ii + 1 zugewiesenen Daten) empfangen/ausgewählt. Im
vierten Zyklus <m
+ 3> wird eines der
im dritten Zyklus <m
+ 2> aus den Registerdateien
RF0 und RF 1 der anderen benachbarten Verarbeitungselemente gelesenen
Datenelemente (die durch den Befehl Ii + 2 zugewiesenen Daten) empfangen/ausgewählt.
-
Die ersten Zwischenspeicherschaltungen 40A und 40B,
die die gelesenen Daten halten, holen die Daten von den Registerdateien
RF0 und RF1 bei der Anstiegsflanke des Taktsignals PCLK am Anfang jedes
Zyklus (d. h. die im vorhergehenden Zyklus aus RF0 und RF1 gelesenen
Daten).
-
Im ersten Zyklus <m> werden
die im vorhergehenden Zyklus <m – 1> aus den Registerdateien RF0
und RF1 gelesenen Daten (die durch den Befehl Ii – 1 zugewiesenen
Daten) geholt. Im zweiten Zyklus <m
+ 1> werden die im
vorhergehenden Zyklus <m> aus den Registerdateien
RF0 und RF1 gelesenen Daten (die durch den Befehl Ii zugewiesenen
Daten) geholt. Im dritten Zyklus <m
+ 2> werden die im
zweiten Zyklus <m
+ 1> aus den Registerdateien
RF0 und RF1 gelesenen Daten (die durch den Befehl Ii + 1 zugewiesenen
Daten) geholt. Im vierten Zyklus <m
+ 3> werden die im
dritten Zyklus <m
+ 1> aus den Registerdateien
RF0 und RF1 gelesenen Daten (die durch den Befehl Ii + 2 zugewiesenen
Daten) geholt.
-
Die ALU 24 führt die
vorgeschriebene Operation im Zyklus für die in die Arbeitsregister 26 (M,
A, B, C) am Anfang jedes Zyklus geholten Daten aus und gibt die
Operationsergebnisse aus. In den Arbeitsregistern 26 (M,
A, B, C) werden die im vorhergehenden Zyklus in die ersten Zwischenspeicherschaltungen 40A und 40B,
die die gelesenen Daten halten, geholten Daten und die durch die
Empfangsmultiplexer 34 und 36 empfangenen Daten
geholt.
-
Am Anfang des ersten Zyklus <m> werden die im vorhergehenden
Zyklus <m – 1> in die Zwischenspeicherschaltungen 40A und 40B geholten Daten
(die durch den Befehl Ii – 2
zugewiesenen Daten im entsprechenden Verarbeitungs element PEk) und
die durch die Multiplexer 34 und 36 empfangenen
Daten (die durch den Befehl Ii – 2
zugewiesenen Daten in einem der benachbarten Verarbeitungselemente,
4 auf jeder Seite) in die Arbeitsregister 26 (M, A, B,
C) geholt.
-
Während
des ersten Zyklus <m> führt die ALU 24 die
Operation für
die in die Arbeitsregister 26 (M, A, B, C) geholten Daten
(die durch den Befehl Ii – 2
zugewiesenen Daten) aus, wobei das Operationsergebnis ausgegeben
wird.
-
Ähnlich
führt während des
zweiten Zyklus <m
+ 1> die ALU 24 die
Operation für
die durch den Befehl Ii – 1
zugewiesenen Daten aus, wobei das Operationsergebnis ausgegeben
wird; während
des dritten Zyklus <m
+ 2> führt sie
die Operation für
die durch den Befehl Ii zugewiesenen Daten aus, wobei das Operationsergebnis
ausgegeben wird; während sie
während
des vierten Zyklus <m
+ 3> die Operation
für die
durch den Befehl Ii + 1 zugewiesenen Daten ausführt, wobei das Operationsergebnis
ausgegeben wird.
-
Die zweiten Zwischenspeicherschaltungen 54A und 54B,
die die gelesenen Daten halten, holen die im vorhergehenden Zyklus
in die ersten Zwischenspeicherschaltungen 40A und 40B geholten Daten,
d. h. die vor zwei Zyklen aus den Registerdateien RF0 und RF1 gelesenen
Daten, an der Anstiegsflanke des Taktsignals PCLK am Anfang jedes Zyklus.
-
Im ersten Zyklus <m> werden
die vor zwei Zyklen im Zyklus <m – 2> aus den Registerdateien RF0
und RF1 gelesenen Daten (die durch den Befehl Ii – 2 zugewiesenen
Daten) geholt. Im zweiten Zyklus <m
+ 1> werden die vor
zwei Zyklen im Zyklus <m – 1> aus den Registerdateien
RF0 und RF1 gelesenen Daten (die durch den Befehl Ii – 1 zugewiesenen
Daten) geholt. Im dritten Zyklus <m
+ 2> werden die vor zwei
Zyklen im Zyklus <m> aus den Registerdateien RF0
und RF1 gelesenen Daten (die durch den Befehl Ii zugewiesenen Daten)
geholt. In der gleichen Weise werden im vierten Zyklus <m + 3> die vor zwei Zyklen im
zweiten Zyklus <m
+ 1> aus den Registerdateien RF0
und RF1 gelesenen Daten (die durch den Befehl Ii + 1 zugewiesenen
Daten) geholt.
-
Mit der Anstiegsflanke des Taktes
PCLK am Anfang jedes Zyklus holen die Zwischenspeicherschaltungen 50A und 50B,
die die empfangenen Daten halten, die durch die Empfangsmultiplexer 34, 36 im
vorhergehenden Zyklus empfangenen Daten, d. h., die vor zwei Zyklen
aus den Registerdateien RF0 und RF1 in jedem Verarbeitungselement
aus den benachbarten Verarbeitungselementen, 4 auf jeder Seite,
(PEk – 4,
PEk – 3,
PEk – 2,
PEk – 1,
PEk + 1, PEk + 2, PEk + 3, PEk + 4), gelesenen Daten.
-
Im ersten Zyklus <m> holen
die Zwischenspeicherschaltungen 50A und 50B, die
die empfangenen Daten halten, die vor zwei Zyklen während des Zyklus <m – 2> aus den Registerdateien
RF0 und RF1 in jedem der benachbarten Verarbeitungselemente, 4 auf
jeder Seite, gelesenen Daten (die durch den Befehl Ii – 2 zugewiesenen
Daten). Im zweiten Zyklus <m
+ 1> holen [die Zwischenspeicherschaltungen 50A und 50B,
die die empfangenen Daten halten,] die vor zwei Zyklen während des
Zyklus <m – 1> aus den Registerdateien
RF0 und RF 1 in jedem der benachbarten Verarbeitungselemente, 4
auf jeder Seite, gelesenen Daten (die durch den Befehl Ii – 1 zugewiesenen
Daten). Im dritten Zyklus <m
+ 2> holen [die Zwischenspeicherschaltungen 50A und 50B,
die die empfangenen Daten halten,] die vor zwei Zyklen während des
Zyklus <m> aus den Registerdateien
RF0 und RF1 in jedem der benachbarten Verarbeitungselemente, 4 auf
jeder Seite, gelesenen Daten (die durch den Befehl Ii zugewiesenen
Daten). Ähnlich
holen im vierten Zyklus <m
+ 3> [die Zwischenspeicherschaltungen 50A und 50B,
die die empfangenen Daten halten,] die vor zwei Zyklen während des
Zyklus <m + 1> aus den Registerdateien
RF0 und RF1 in jedem der benachbarten Verarbeitungselemente, 4 auf
jeder Seite, gelesenen Daten (die durch den Befehl Ii + 1 zugewiesenen
Daten).
-
Bei der Anstiegsflanke des Taktes
PCLK am Anfang jedes Zyklus holen die Zwischenspeicherschaltungen 56A und 56B,
die die Schreibdaten halten, eines der im vorhergehenden Zyklus
von den Datenauswahlmultiplexern 34 und 36 von
der ALU 24, der zweiten Zwischenspeicherschaltungen 54A und 54B,
die die gelesenen Daten halten, und den Zwischenspeicherschaltungen 50A und 50B,
die die empfangenen Daten halten, gesendeten Datenelemente (die
ausgewählten
Daten). Die geholten Daten werden während dieser Zyklusperiode
in die Registerdateien RF0 und RF1 geschrieben.
-
Im ersten Zyklus <m> holen
die Zwischenspeicherschaltungen 56A und 56B, die
die Schreibdaten halten, alle folgenden Daten: die durch den Befehl
Ii – 3
zugewiesenen Daten der Ergebnisse der Operation (die Daten aus der
ALU 24), die durch den Befehl Ii – 3 zugewiesenen gelesenen
Daten im Verarbeitungselement PEk (die Daten aus den Zwischenspeicherschaltungen 54A und 54B)
und die durch den Befehl Ii – 3
zugewiesenen Daten in jedem der benachbarten Verarbeitungselemente,
4 auf jeder Seite, (die Daten aus den Zwischenspeicherschaltungen 50A und 50B).
-
Im zweiten Zyklus <m + 1> holen die Zwischenspeicherschaltungen 56A und 56B,
die die Schreibdaten halten, alle folgenden Daten: die durch den
Befehl Ii – 2
zugewiesenen Daten der Ergebnisse der Operation (die Daten aus der
ALU 24), die durch den Befehl Ii – 2 zugewiesenen gelesenen
Daten im Verarbeitungselement PEk (die Daten aus den Zwischenspeicherschaltungen 54A und 54B)
und die durch den Befehl Ii – 2
zugewiesenen Daten in jedem der benachbarten Verarbeitungselemente,
4 auf jeder Seite, (die Daten aus den Zwischenspeicherschaltungen 50A und 50B).
-
Im dritten Zyklus <m + 2> holen die Zwischenspeicherschaltungen 56A und 56B,
die die Schreibdaten halten, alle folgenden Daten: die durch den
Befehl Ii – 1
zugewiesenen Daten der Ergebnisse der Operation (die Daten aus der
ALU 24), die durch den Befehl Ii – 1 zugewiesenen gelesenen
Daten im Verarbeitungselement PEk (die Daten aus den Zwischenspeicherschaltungen 54A und 54B)
und die durch den Befehl Ii – 1
zugewiesenen Daten in jedem der benachbarten Verarbeitungselemente,
4 auf jeder Seite, (die Daten aus den Zwischenspeicherschaltungen 50A und 50B).
-
Im vierten Zyklus <m + 3> holen die Zwischenspeicherschaltungen 56A und 56B,
die die Schreibdaten halten, alle folgenden Daten: die durch den
Befehl Ii zugewiesenen Daten der Ergebnisse der Operation (die Daten
aus der ALU 24), die durch den Befehl Ii zugewiesenen gelesenen
Daten im Verarbeitungselement PEk (die Daten aus den Zwischenspeicherschaltungen 54A und 54B)
und die durch den Befehl Ii zugewiesenen Daten in jedem der benachbarten
Verarbeitungselemente, 4 auf jeder Seite, (die Daten aus den Zwischenspeicherschaltungen 50A und 50B).
-
In jeder Zyklusperiode entsprechen
die vom IG 14 an jedes Verarbeitungselement PEk gesendeten Mikrobefehle
mehreren Befehlen. Für
den dritten Zyklus <m
+ 2> wird z. B. ein
Mikrobefehl, der dem Befehl Ii + 2 entspricht, zu den Registerdateien
RF0 und RF1 gesendet; ein Mikrobefehl, der dem Befehl Ii + 1 entspricht,
wird zu den Empfangsmultiplexern 34 und 36 gesendet;
ein Mikrobefehl, der dem Befehl Ii entspricht, wird zu den Operationsdaten-Auswahlmultiplexern 48A-48D gesendet;
und ein Mikrobefehl, der dem Befehl Ii – 1 entspricht, wird zu den Schreibdaten-Auswahlmultiplexern 52A und 52B gesendet.
-
In dieser Weise werden in jedem Verarbeitungselement
PEk in dieser Ausführungsform
für jeden
Befehl Ii vier Schritte (1)–(4)
mit einem Schritt für jeden
Zyklus der Reihe nach ausgeführt,
wobei für
jeden der vier aufeinanderfolgenden Befehle (wie z. B. die Befehle
Ii + 2, Ii + 1, Ii, Ii – 1
im dritten Zyklus <m +
2> nach 4) die vier Schritte (1)–(4) gleichzeitig ausgeführt werden.
Im Ergebnis wird in jedem Verarbeitungselement PEk die Pipelineverarbeitung
für die mehreren
Befehle ausgeführt,
so daß die
Anzahl der Operationszyklen, die pro Einheitszeit oder in jeder horizontalen
Abtastperiode ausgeführt
werden kann, vervierfacht werden kann.
-
5-8 sind graphische Darstellungen,
die spezifische Beispiele der Schaltungskonfiguration jedes Blocks
K im SVP-Kern 12 veranschaulichen, der jedes Verarbeitungselement
PEk enthält.
In diesen Figuren sind die gleichen Symbole für die Teile zugeordnet, die
den Teilen in 3 entsprechen.
-
In 5 ist
jeder Block (K) des DIR 16 aus mehreren verbundenen Abschnitten,
wobei jeder Abschnitt aus einem Paar (ungeradzahlige Seite, geradzahlige Seite)
von DRAM-Zellen 60 (gerade) und 60 (ungerade)
des Strom-Lese-Typs gebildet ist, und mit einer vorgeschriebenen
Anzahl von Abschnitten (24 Abschnitte, wenn jeder Bildpunkt 48 Bits
besitzt) gebildet. Die Lesebitleitungen der geradzahligen Seite (RBLN-EVEN)
und diejenigen der ungeradzahligen Seite (RBLN-ODD) sind durch die
Blockauswahltransistoren 60e mit der globalen Bitleitung
(RGBLN) verbunden. Der Gate-Anschluß des Schreibtransistors 60a jeder
DRAM-Zelle (60 EVEN) und 60 (ODD) ist über die
Schreibwortleitung (DIR-WWL) mit dem Ausgangsanschluß des Puffers 60f verbunden.
Der Puffer 60a und die Zwischenspeicherschaltung 60g bilden
einen Zeiger, um die Eingabe der Bildpunktdaten in den Block zu
aktivieren (herunterziehen).
-
Die Zeigerdaten "1" werden synchron
mit dem Takt SWCK übertragen,
um den linken Block der verschiedenen Zeiger zu bilden. Wenn die
Zeigerdaten "1" in die Zwischenspeicherschaltung 60g des Blocks
(K) geholt werden, wird die Wortleitung (DIR-WWL) aktiv, wobei die
Schreibtransistoren 60a der verschiedenen DRAM-Zellen (60 EVEN)
und (60 ODD) leiten, wobei die zu den Schreibbitleitungen (DIR-DATA0)
und (DIR-DATA1) gesendeten entsprechenden Bildpunktdaten Dk über den
Schreibtransistor 60a in den Kondensator 60b jeder
Zelle, 1 Bit auf einmal, geschrieben werden. Der Zellentransistor 60c jeder
Zelle steuert durch/sperrt entsprechend den in den Kondensator 60b geschriebenen
Inhalten der Speicherinformationen.
-
Die globale Lesebitleitung (RGBLN)
ist mit dem Eingangsanschluß 64a des
Leseverstärkers 64 verbunden.
In dem Fall einer Leseoperation aufgrund des Mikrobefehls vom IG
14 wird eine der Blocklese-Wortleitungen (BLK0) und (BLK1) aktiv,
wobei der Blockauswahltransistor 60e auf der ungeradzahligen Seite
oder der geradzahligen Seite leitet, wobei der aktive Transistor 60d der
Zelle auf der ungeradzahligen Seite oder der geradzahligen Seite
außerdem durch
die Lesewortleitungen (RWLN-DIR), die aktiv sind, leitet. In dieser
Weise wird durch den Blockauswahltransistor 60e auf der
leitenden Seite die globale Lesebitleitung (RGBLN) mit der Lesebitleitung
auf der geradzahligen Seite (RBLN-EVEN) oder der ungeradzahligen
Seite (RBLN-ODD) verbunden. Außerdem
werden, da der Zugrifftransistor 60d, der einen gemeinsamen
Gate-Eingang auf der geradzahligen Seite und der ungeradzahligen
Seite besitzt, leitet, die Speicherinformationen der Zelle auf der
globalen Lesebitleitung (RGBLN) ausgelesen.
-
Für
eine Registerdatei RF0 von jedem Verarbeitungselement PEk sind mehrere
Stufen mit einer vorgeschriebenen Anzahl von Stufen (z. B. 96 Stufen)
miteinander verbunden, wobei jede Stufe aus einem Paar (geradzahlige
Seite, ungeradzahlige Seite) von DRAM-Zellen (62, EVEN)
und (62, ODD) des Strom-Lese-Typs gebildet ist. Die Lesebitleitungen (RBLN-EVEN)
und (RBLN-ODD) der geradzahligen Seite und der ungeradzahligen Seite
in der Registerdatei RF0 sind mit der globalen Lesebitleitung (RGBLN)
verbunden, die durch den entsprechenden Blockauswahltransistor 62e mit
dem DIR 16 gemeinsam verwendet wird.
-
Die Gate-Anschlüsse der Transistoren 62a der
DRAM-Zellen (62 EVEN) und (62 ODD) sind durch
die Schreibwortleitungen (WWLN0), (WWLN1) mit dem IG 14 verbunden.
Durch die NAND-Schaltung 62f ist der Datenausgangsanschluß der Zwischenspeicherschaltung 56A,
die die Schreibdaten hält,
mit dem Drain- oder
Source-Anschluß (dem
Dateneingangsanschluß)
jedes Schreibtransistors 62a verbunden. Ein Steuersignal
für das
bedingte Steuern der Schreibdaten auf der ungeradzahligen Seite oder
der geradzahligen Seite oder ein Mikrobefehl (EVEN), (ODD) wird
zu einem Eingangsanschluß der NAND-Schaltung 62f gesendet.
-
Wenn die Schreibwortleitungen (WWLN0) und
(WWLN1), zurückzuführen auf
den Mikrobefehl vom IG 14, aktiv werden, leitet der Schreibtransistor 62a,
wobei die Daten aus der Zwischenspeicherschaltung 56A durch
die NAND-Schaltung 62f und den
Schreibtransistor 62a in den Kondensator 62b geschrieben
werden.
-
Während
der Leseoperation wird eine der Blocklese-Wortleitungen (BLK0) und
(BLK1), zurückzuführen auf
den Mikrobefehl vom IG 14, aktiv, wobei der Blockauswahltransistor 62e auf
der geradzahligen Seite oder der ungeradzahligen Seite leitend wird.
Außerdem
wird die Lesewortleitung (RWLN-RF0) aktiv, wo bei der Zugriffstransistor 62d der
Zelle auf der ungeradzahligen Seite oder der geradzahligen Seite
leitet. In dieser Weise wird durch den Blockauswahltransistor 62e auf
der leitenden Seite die globale Lesebitleitung (RGBLN) mit der Lesebitleitung
auf der geradzahligen Seite oder der ungeradzahligen Seite (RBLN-EVEN),
(RBLN-ODD) verbunden. Außerdem
werden, weil der Zugriffstransistor 62d, der einen gemeinsamen
Gate-Eingang für die
geradzahligen Seite und die ungeradzahligen Seite besitzt, leitet,
die Speicherinformationen der Zelle auf der globalen Lesebitleitung
(RGBLN) gelesen.
-
Der Ausgangsanschluß 64b des
Leseverstärkers 64 ist
durch den Puffer 66 mit dem Dateneingangsanschluß (D) der
ersten Zwischenspeicherschaltung 40A, die die gelesenen
Daten hält,
und einem der Eingangsanschlüsse
des Übertragungsmultiplexers 30 der
LR-Kommunikationseinheit 28 verbunden.
-
Jeder der Übertragungsmultiplexer 30 ist
aus mehreren, z. B. 5, durch den Mikrobefehl gesteuerten NMOS-Transistoren
gebildet. In diesem Beispiel ist die Konfiguration geeignet angeordnet,
um zu sichern, daß die
folgenden Daten selektiv eingegeben werden können: die aus einer Registerdatei
RF0 gelesenen Daten, die von der anderen Registerdatei RF1 durch
die Leitung 72 gesendeten gelesenen Daten (8), die Daten vom Datenausgangsanschluß (Q der Übertragungs-Zwischenspeicherschaltung 32, die
Daten vom Summenausgang (SM) vom Ausgangsanschluß der ALU 24 (7) und die Daten "0" vom
Leistungsquellenanschluß VSS.
-
Der Datenausgangsanschluß (Q) der Übertragungs-Zwischenspeicherschaltung 32 ist
durch den Puffer 78 und die Verdrahtung 73 mit
der Datenleitung (44 SK) verbunden (6).
-
Der Datenausgangsanschluß (Q der
ersten Zwischenspeicherschaltung 40A, die die gelesenen Daten
hält, ist
mit dem Dateneingangsanschluß (D) der
zweiten Zwischenspeicherschaltung 54A in der nächsten Stufe
verbunden, wobei er gleichzeitig durch die Leitung 74 mit
einem Eingangsanschluß jedes
der Operationsdaten-Auswahlmultiplexer 48A–48D (6 und 7) verbunden ist.
-
Der Datenausgangsanschluß (Q der
zweiten Zwischenspeicherschaltung 54A, die die gelesenen Daten
hält, ist
mit einem der Eingangsanschlüsse
der Schreibdaten-Auswahlmultiplexer 52A verbunden.
-
Der Multiplexer 52A umfaßt mehrere
(angenommen 6) jeweils durch Mikrobefehle gesteuerte NMOS-Transistoren.
In diesem Beispiel ist die Konfiguration geeignet, um die selektive
Eingabe der folgenden Daten zu sichern: die Daten vom Datenausgangsanschluß (Q der
Zwischenspeicherschaltung 54A, der von den Empfangsmultiplexern 34 und 36 der
LR-Kommunikationseinheit 28 durch die Leitungen 70 und 68 gesendeten
Daten, die Daten des Summenausgangs (SM) vom Ausgangsanschluß der ALU 24 und
die Daten von den ersten und vierten Registern 26(M) und 26(C) (6 und 7) des Arbeitsregisters 26.
-
Wie in 6 gezeigt
ist, sind die Empfangsmultiplexer 34 als die linken Nachbarn
der LR-Kommunikationseinheit 28 jeweils mit den linken
benachbarten Datenleitungen 45 (LK – 4, LK – 3, LK – 2, LK – 1) verbunden, wobei jeder
von ihnen aus vier durch Mikrobefehle gesteuerten NMOS-Transistoren
gebildet ist. Die Empfangsmultiplexer 36 als die rechten Nachbarn
sind jeweils mit den rechten benachbarten Datenleitungen 46 (RK
+ 1, RK + 2, RK + 3, RK + 4) verbunden, wobei jeder von ihnen aus
vier durch Mikrobefehle gesteuerten NMOS-Transistoren gebildet ist.
-
Das erste Register 26M des
Arbeitsregisters 26 ist aus D-Flipflops gebildet, wobei
sein Datenausgangsanschluß (Q
durch die Leitung 75 mit einem Eingangsanschluß der ODER-Schaltung 80 (7) verbunden ist.
-
Der erste Operationsdaten-Auswahlmultiplexer 48A für das Auswählen der
in das erste Register 26M zu holenden Daten ist aus mehreren
(z. B. 8) durch Mikrobefehle gesteuerte NMOS-Transistoren gebildet.
In diesem Beispiel besitzt der erste Multiplexer 48A eine
Konfiguration, die die selektive Eingabe der folgenden Daten erlaubt:
die Daten (NOP) vom Datenausgangsanschluß (Q) des ersten Registers 26(M),
die von den Empfangsmultiplexern 34, 36 der LR-Kommunikationseinheit 28 durch
die Leitungen 70, 68 gesendeten Daten, die von
den Datenaus gangsanschlüssen
(Q der ersten Zwischenspeicherschaltungen 40A und 40B,
die die gelesenen Daten halten, durch die Leitungen 74 und 76 gesendeten Daten,
die Daten vom Ausgangsanschluß des
vierten Registers 26C, die "1"-Daten vom Leistungsquellenanschluß VDD und
die "0"-Daten vom Leistungsquellenanschluß VSS.
-
Wie in 7 gezeigt
ist, sind das zweite Register 26A, das dritte Register 26B und
das vierte Register 26C des Arbeitsregisters 26 aus
D-Flipflops gebildet. Jeder der Datenausgangsanschlüsse (Q des dritten
Registers 26B und des vierten Registers 26C ist
direkt mit einem der Eingangsanschlüsse der ALU 24 verbunden.
Der Datenausgangsanschluß 26Q des
zweiten Registers 26A ist mit einem der Eingangsanschlüsse der
UND-Schaltung 82 verbunden. Der Ausgangsanschluß der ODER-Schaltung 80 ist mit
dem anderen Eingangsanschluß der
UND-Schaltung 82 verbunden,
während
der Ausgangsanschluß der
UND-Schaltung 82 mit einem der Eingangsanschlüsse der
ALU 24 verbunden ist.
-
Die Daten aus dem ersten Register
26M werden mittels des Steuersignals (des Mikrobefehls) MC0 der
ODER-Schaltung 80 bedingt zur UND-Schaltung 82 gesendet,
wobei mit den Daten aus dem zweiten Register 26A eine logische
Multiplikation ausgeführt
wird. Die Daten der Multiplikationsoperation von der UND-Schaltung 82 werden
mit der ALU 24 zu den Daten vom dritten Register 26B oder vom
vierten Register 26C addiert. In dieser Weise wird die
Multiplikations/Additions-Operation in einem einzelnen Zyklus ausgeführt. Die
vom Ausgangsanschluß der
ALU 24, d. h. dem Summenausgang (SM), dem Übertrag
(CY) und dem Borgen (BW), erhaltenen Daten des Operationsergebnisses
werden zu den verschiedenen Abschnitten gesendet.
-
Die zweiten und dritten Multiplexer 48B und 48C für das Auswählen der
Operationsdaten, die den zweiten und dritten Registern 26A und 26B entsprechen,
besitzen die gleiche Verdrahtungsverbindung (die gleiche wie Eingangsdaten)
mit der gleichen Schaltungskonfiguration wie der des ersten Multiplexers 48A.
-
Der vierte Multiplexer 48D besitzt
die gleiche Schaltungskonfiguration, aber ein Abschnitt der Verdrahtungsverbindung,
d. h. ein Abschnitt der Eingangsdaten, ist verschieden. Die Konfiguration
des vierten Multiplexers 48D ist geeignet beschaffen, um zu
sichern, daß die
folgenden Daten selektiv eingegeben werden können: die Daten (NOP) vom Datenausgangsanschluß (Q des
vierten Registers 26C, die vom Datenausgangsanschluß (Q der
ersten Zwischenspeicherschaltungen 40A und 40B,
die die gelesenen Daten halten, durch die Leitungen 74 und 76 gesendeten
Daten, die Daten vom Datenausgangsanschluß des zweiten Registers 26A,
die Daten vom Übertragsausgang
(CY) und Borgeausgang (BW) vom Ausgangsanschluß der ALU 24, die
Daten "1" vom Leistungsquellenanschluß VDD und die Daten "0" vom
Leistungsquellenanschluß VSS.
-
Wie in 8 gezeigt
ist, besitzen die DRAM-Zellen (84 EVEN) und (84 ODD)
der geradzahligen Seite und der ungeradzahligen Seite und der Leseverstärker 90 der
Registerdatei RF1 die gleiche Konfiguration und führen die
gleiche Operation aus wie diejenigen der DRAM-Zellen (62 EVEN)
und (62 ODD) und des Leseverstärkers 64 in der Registerdatei
RF0. Die Lesebitleitungen (DOR-DATA0) und (DOR-DATA1), die mit den
DRAM-Zellen (86 EVEN), (86 ODD) der geradzahligen
Seite und der ungeradzahligen Seite verbunden sind, die das DOR 20 bilden,
sind anstatt mit dem Leseverstärker 90 mit dem
(nicht gezeigten) Leseverstärker
der Ausgangsschaltung des SVP-Kerns verbunden. Außerdem sind
für jede
der DRAM-Zellen (86 EVEN), (86 ODD) der geradzahligen
Seite und der ungeradzahligen Seite des DOR 20 mehrere
Stufen mit der Stufenanzahl verbunden, die gleich der Bitanzahl
der Ausgangs-Bildpunktdaten ist (z. B. 16 Stufen).
-
In dem Fall der Ausgabe der Bilddaten
mittels der Steuerung eines aus der Zwischenspeicherschaltung 92 und
dem Puffer 94 gebildeten Zeigers mit einer vorgeschriebenen
Taktung werden die (32 Bit) Daten von allen (32 Zellen) der DRAM-Zellen
(86 EVEN) und (86 ODD) des DOR 20 als
die Bildpunktdaten DK' des endgültigen
Verarbeitungsergebnisses des entsprechenden Verarbeitungselements
PEk zu den entsprechenden Lesebitleitungen (DOR-DATA0) und (DOR-DATA1)
gelesen und als zum fallenden Ende der vorhergehenden Bildpunktdaten
D1', D2',..., Dk – 1'
in einer horizontalen Abtastzeile hinzugefügt ausgegeben.
-
9 zeigt
ein Beispiel der Echtzeit-Bewegtbildverarbeitung mittels des SVP 10 in
dieser Ausführungsform.
In dieser Bildverarbeitungsvorrichtung wird der SVP 10 verwendet,
um die verschiedenen Verarbeitungsoperationen auszuführen: die
Bewegungserfassung 114, die bewegungsadaptive Y/C-Trennung 116,
die bewegungsadaptive Abtastzeileninterpolation 118, die
Korrektur 120 der Bildqualität, die Farbdemodulations-ACC/ACK-Trennung 122,
die Abtastzeileninterpolation 124 und die Farbmatrix 126.
-
Das analoge zusammengesetzte Signal
VS wird durch die Vollbildspeicher 102 und 104 in
den SVP 10 eingegeben, nachdem es durch den A/D-Umsetzer
100 in ein digitales Signal (Bildsignal) umgesetzt worden ist. Im
SVP 10 werden die Signale der Bewegung des Bildes, die
aus den Eingangsbilddaten und den um 1 Vollbild bzw. 2 Vollbilder
verzögerten
Bilddaten gebildet sind, bestimmt 104. Außerdem wird,
um eine fehlerhafte Erfassung zu verhindern, der Halbbildspeicher 110 verwendet.
Dann wird die Y/C-Trennung der Bewegungsanpassung durch die Verwendung
des Bewegungserfassungssignals MC von den Eingangsbilddaten und
der von ihnen um 1 Vollbild verzögerten
Bilddaten ausgeführt,
wobei das Luminanzsignal Y geholt wird 118. Für dieses Luminanzsignal
wird die Verarbeitung der Bewegungsanpassungs-Abtastzeileninterpolation 118 und der
Korrektur 120 der Bildqualität ausgeführt. Die Farbsynchronsignal-Verriegelungs-PLL-Schaltung 106 extrahiert
das Chrominanzsignal; durch die Verwendung des durch den A/D-Umsetzer 108 digitalisierten
Farbdemodulationsträgers
fsc werden die Chrominanzsignale R-Y/B-Y im Farbdemodulator ACC/ACK 122 demoduliert,
wobei die Zwischenbild-Abtastzeileninterpolation 124 ausgeführt wird. Schließlich wird
für das
Luminanzsignal und das Chrominanzsignal die Farbmatrix-Operation 126 ausgeführt, wobei
das analoge ursprüngliche
Farbsignal RGB mit verdoppelter Geschwindigkeit durch den D/A-Umsetzer 128 ausgegeben
wird.
-
Im herkömmlichen SVP ist die Anzahl
der Operationen (der Durchsatz), die durch jedes Verarbeitungselement
PEk während
einer Abtastzeilenperiode ausgeführt
werden kann, begrenzt. Im herkömmlichen
Schema werden, um die Echtzeitverarbeitung von Bewegtbildern auszuführen, mehrere
(z. B. 3) SVPs in Reihe geschaltet, um die Verarbeitung der verschiedenen
Abschnitte zu teilen. Andererseits ist es für den SVP in dieser Ausführungsform
möglich,
die Echtzeitverarbeitung der Bewegtbilder durch die Verwendung eines
einzelnen SVP zu verwirklichen, weil der Durchsatz jedes Verarbeitungselements
PEk signifikant vergrößert (vervierfacht)
ist und in jeder Abtastzeilenperiode das Vierfache der Operationen
ausgeführt
werden kann.
-
10 zeigt
die Grundkonfiguration des Verarbeitungselements PEk' in einem modifizierten
Beispiel der Ausführungsform.
Soweit wie die Hardware betroffen ist, ist dieses Verarbeitungselement
PEk' zur Konfiguration des Verarbeitungselements PEk in der Ausführungsform
völlig
gleich, mit Ausnahme, daß die
folgenden Teile fehlen: die ersten Zwischenspeicherschaltungen 40A und 40B,
die die Daten halten, die Übertragungs-Zwischenspeicherschaltung 32 und
die Zwischenspeicherschaltungen 56A und 56B, die
die Schreibdaten halten. Die Geschwindigkeit des Taktes PCLK' beträgt 1/2 der
Geschwindigkeit des Taktes PLCK in der Ausführungsform, d. h. das Zweifache
der Geschwindigkeit des herkömmlichen
Taktes.
-
11 zeigt
die Taktung der Operationen der verschiedenen Abschnitte in diesem
Verarbeitungselement PEk'.
-
Es wird z. B. die Verarbeitung für den Befehl Ii
betrachtet. Im ersten Teil des ersten Zyklus <m'>, wenn
die durch den Befehl Ii zugewiesenen Daten aus den Registerdateien
RF0 und RF 1 gelesen werden (DATA READ), werden die gelesenen Daten durch
den Übertragungsmultiplexer 30 in
der LR-Kommunikationseinheit 28 im letzten Teil des ersten
Zyklus <m'> ausgewählt, wobei
sie unmittelbar zu einer vorgeschriebenen Anzahl benachbarter Verarbeitungselemente
auf den linken und rechten Seiten gesendet werden. In den Empfangsmultiplexern 34 und 36 der
LR-Kommunikationseinheit 28 des Verarbeitungselements PEk'
wer den die Daten von einer vorgeschriebenen Anzahl der linken und
rechten benachbarten Multiplexer im letzten Teil des ersten Zyklus <m'> geholt (LRCOM).
-
Wenn nach der Anstiegsflanke des
Taktsignals PCLK' am Anfang des Zyklus in den zweiten Zyklus <m + 1'> eingetreten wird,
werden die gelesenen Daten oder die von den Operationsdaten-Auswahlmultiplexern 48A–48D empfangenen
Daten in die Arbeitsregister 26 (M, A, B, C) geholt. Gleichzeitig
werden die gelesenen Daten aus den Registerdateien RF0 und RF1 zu
den Zwischenspeicherschaltungen 54A und 54B, die
die Daten halten, geholt, wobei die empfangenen Daten von den Empfangsmultiplexern 34 und 36 in
die Zwischenspeicherschaltungen 50A und 50B, die
die empfangenen Daten halten, geholt werden. Für die in die Arbeitsregister 26 (M,
A, B, C) geholten Daten (die durch den Befehl Ii zugewiesenen Daten)
führt die
ALU24 die vorgeschriebene Operation aus, wobei die Ergebnisse der
Operation ausgegeben werden (ALU). Die Daten der Ergebnisse der
Operation werden zu den Schreibdaten-Auswahlmultiplexern 52A und 52B gesendet.
-
Die Multiplexer 52A und 52B wählen einen Satz
der Daten von der ALU 24, den Zwischenspeicherschaltungen 54A und 54B,
die die Daten halten, und den Zwischenspeicherschaltungen 50A und 50B,
die die empfangenen Daten halten, aus. Die ausgewählten Daten
werden in die Registerdateien RF0 und RF1 im letzten Teil des zweiten
Zyklus <m + 1'> geschrieben (WRITE
BACK).
-
In dieser Weise führt in diesem Verarbeitungselement
PEk' für
jeden Befehl Ii während
des ersten Zyklus <m'> der Prozessor den
ersten Schritt (DATA READ), der die Daten aus den Registerdateien
RF0 und RF1 liest, und den zweiten Schritt (LRCOM), der die Daten
bedingt mit der vorgeschriebenen Anzahl von benachbarten Verarbeitungselementen
auf den linken und rechten Seiten austauscht, aus. Dann führt während der
Periode des zweiten Zyklus <m
+ 1'> [der Prozessor]
den dritten Schritt, der eine Operation der in den ersten und zweiten
Schritten erhaltenen Daten ausführt,
und den vierten Schritt, der alle in den ersten, zweiten und dritten Schritten
erhaltenen Daten in die Registerdateien RF0 und RF1 schreibt (WRITE
BACK), aus.
-
Dann werden in Bezug auf zwei aufeinanderfolgende
Befehle Ii – 1
und Ii während
der Periode des ersten Zyklus <m>, während der erste Schritt (DATA
READ) und der zweite Schritt (LRCOM) für den Befehl Ii ausgeführt werden,
der dritte Schritt (ALU) und der vierte Schritt (WRITE BACK) für den Befehl
Ii – 1
ausgeführt.
-
In dieser Weise wird im Verarbeitungselement
PEk' in diesem modifizierten Beispiel ein Takt mit einer Geschwindigkeit,
die das Zweifache der des herkömmlichen
Taktes beträgt,
verwendet, wobei, während
der erste Schritt (DATA READ) und der zweite Schritt (LRCOM) in
einem Zyklus ausgeführt werden,
der dritte Schritt (ALU) und der vierte Schritt (WRITE BACK) außerdem in
einem Zyklus ausgeführt
werden. Das heißt,
für zwei
aufeinanderfolgende Befehle werden die ersten und zweiten Schritte (DATA
READ) und (LRCOM) und die dritten und vierten Schritte (ALU) und
(WRITE BACK) in jedem Zyklus gleichzeitig ausgeführt. Die Anzahl der pro Einheitszeit
oder für
eine horizontale Abtastperiode ausgeführten Operationen kann verdoppelt
werden.
-
Im folgenden werden die anderen Merkmale dieser
Erfindung erklärt.
In dieser Ausführungsform arbeitet
das Verarbeitungselement PEk mit der Betriebsgeschwindigkeit des
Taktes PCLK, die das Vierfache der des herkömmlichen Schemas beträgt, wobei
es die Daten aus den Registerdateien RF0 und RF1 in einem Zyklus
liest, der 1/4 der im herkömmlichen
Schema erforderlichen Zeit ist. Wenn die DRAM-Zellen des Strom-Lese-Typs
(62 EVEN), (62 ODD), (86 EVEN) und (86 ODD) als die Speicherelemente
dieser Registerdateien RF0 und RF 1 verwendet werden, wie in den 5 und 8 gezeigt ist, ist es, falls das herkömmlichen
Leseverfahren übernommen
wird (19) schwierig,
in einem derartigen kurzen Zyklus das Hochgeschwindigkeitslesen
zu verwirklichen.
-
Diese Ausführungsform schafft ein neuartiges
Verfahren für
das Hochgeschwindigkeitslesen der DRAM-Zellen des Strom-Lese-Typs. 12 zeigt die Funktion dieses
Leseverfahrens. Weil die Schaltungskonfiguration der aktuellen DRAM-Zellen (62 EVEN),
(62 ODD), (86 EVEN) und (86 ODD) selbst
zu derjenigen des herkömmlichen
Schemas (18) völlig gleich
ist, kann außerdem
in dieser Ausführungsform
die Erklärung
unter Bezugnahme auf 18 gegeben
werden.
-
Wie in 12 ersichtlich
ist, wird, während das
Vorladesteuersignal XPCHG aktiv wird (L-Pegel), außerdem die
Lesewortleitung RWL aktiviert (H-Pegel). Während der PMOS-Vorladetransistor 214 leitet,
leitet in dieser Weise der NMOS-Zugriffstransistor 212 ebenfalls.
-
Wenn die Informationen "1" im Kondensator 206 gespeichert
sind, fließt
Strom vom Leistungsquellen-Spannungsanschluß VDD durch den Vorladetransistor 214 zur
Lesebitleitung RBL (Laden). Andererseits fließt Strom von der Lesebitleitung
RBL durch den Zugriffstransistor 212 und den Speicherzellentransistor 210 zur
Masse (VSS) (Entladen). Weil die Menge der vom Spannungsanschluß VDD zugeführten Ladung
größer als
die Menge der zur Masse entladenen Ladung ist, steigt das Potential der
Lesebitleitung RBL während
der Zeit vom L-Pegel in der Nähe
des Massepotentials (VSS). Es kann jedoch nur auf etwa einen Zwischenpegel
("M") ansteigen, der signifikant niedriger (um etwa 2 V) als der
H-Pegel nahe der
Leistungsquellenspannung VDD (3V) ist.
-
In dieser Ausführungsform bleibt die Lesewortleitung
RWL immer noch im aktiven Zustand (H-Pegel), selbst nach dem Ende
des Vorladens, d. h., selbst nachdem das Vorladesteuersignal XPCHG inaktiv
wird (H-Pegel) und der Vorladetransistor 214 sperrt. In
dieser Weise setzt die Lesebitleitung RBL das Entladen fort, während keine
Ladung zugeführt wird.
Die Spannung der Bitleitung RBL beginnt unmittelbar nach dem Ende
des Vorladens, abzunehmen. Wenn die Spannung der Bitleitung RBL
tiefer als die Schwelle des L-Pegels (etwa 1,5 V) fällt, wird
dann das Lesesteuersignal READ aktiv (H-Pegel), die Spannung der
Bitleitung RBL wird durch den Leseverstärker 216 bestimmt
und verstärkt
und die Daten "1" (DATA) werden gelesen.
-
In dieser Weise kann in dieser Ausführungsform,
da die Lesebitleitung RBL vorgeladen wird, während der Zugriffstransistor 212 leitet,
wenn die Informationen "1" in der Speicherzelle gespeichert sind,
die Vorladespannung der Bitleitung RBL nur auf einen Zwischenpegel
("M") zwischen der Schwelle des L-Pegels (etwa 1,5 V) und dem oberen
Grenzwert des H-Pegels (etwa VDD) ansteigen. Unmittelbar nach dem
Ende des Vorladens wird das immanente Entladen begonnen, wobei die
Spannung der Bitleitung RBL vom Zwischenpegel ("M") fällt; bei
der vorgeschriebenen Taktung wird der Leseverstärker 216 aktiviert
und die Bitleitungsspannung (H-Pegel), die den gespeicherten Informationen
"1" entspricht, wird bestimmt.
-
Durch die Verwendung dieses Leseverfahren
leitet der Zugriffstransistor 212 am Ende der Vorladeoperation.
Das Entladen der Lesebitleitung RBL beginnt unmittelbar. Eine bestimmte
Verzögerungszeit
td ist notwendig, damit die Lesewortleitung RWL auf den H-Pegel
ansteigt. Da dies während
der Vorladeperiode stattfindet, wird die Leserate überhaupt nicht
beeinflußt.
Dann wird nach dem Ende des Vorladens die Bitleitung RBL vom Zwischenpotentialpegel
"M" entladen. Es ist möglich,
die Schwelle des L-Pegels in einer kurzen Zeit zu überqueren,
wobei es folglich möglich
ist, die Taktung für
das Aktivieren des Steuersignals READ entsprechend zu fixieren.
-
Falls "0" im Kondensator 206 gespeichert
ist, wird außerdem,
da der Speicherzellentransistor 210 während der Vorladeperiode sperrt,
das Laden für
die Lesebitleitung RBL ohne Entladen ausgeführt, wobei die Bitleitungsspannung
auf etwa den H-Pegel in der Nähe
der Leistungsquellenspannung VDD ansteigt, wie durch die strichpunktierte
Linie FG in 12 gezeigt
ist. Dann wird, da das Lesesteuersignal READ aktiv wird (H-Pegel),
die Spannung der Bitleitung RBL durch den Leseverstärker 216 bestimmt
und verstärkt,
wobei die Daten "0" (DATA) gelesen werden.
-
In dieser Weise ist es durch die
Verwendung des Leseverfahrens dieser Erfindung möglich, die Lesezeit für die DRAM-Zellen
des Strom-Lese-Typs signifikant zu verkürzen. Im herkömmlichen
Verfahren erfordert ein Lesezyklus TR tatsächlich 17 ns. Andererseits
ist es für
das Verfahren dieser Erfindung möglich,
den Lesezyklus TR auf weniger als 10 ns zu verkürzen.
-
Wie in 13 gezeigt
ist, ist ein Transistor 130, der normalerweise leitet,
zwischen den Vorladetransistor 214 in der Lesebitleitung
RBL und der Speicherzelle eingefügt.
In diesem Konfigurationsbeispiel ist es möglich, den Zwischenpegel ("M")
auf der Lesebitleitung RBL auf einen niedrigeren Pegel einzustellen.
-
Das Leseverfahren dieser Erfindung
ist nicht auf die DRAM-Zellen des Strom-Lese-Typs eingeschränkt, wobei andere Speicherzellen
des Strom-Lese-Typs außerdem
verwendet werden können.
Die in 14 gezeigte Masken-ROM-Zelle (Masken-Festwertspeicher-Zelle) 132 und
die in 15 gezeigte SRAM-Zelle
(Zelle eines statischen Schreib-Lese-Speichers) 134 können außerdem mit dem
Leseverfahren dieser Erfindung verwendet werden. Für die in 14 gezeigte ROM-Zelle 132 und die
in 15 gezeigte SRAM-Zelle
wird das gleiche Bezugszeichen wie oben 212 verwendet,
um die Transistoren zu bezeichnen, die die gleiche Funktion wie
die des Zugriffstransistor 212 besitzen.
-
Die digitale SIMD-Signalverarbeitungsvorrichtung
dieser Erfindung ist nicht auf die Bildsignalverarbeitung in der
Ausführungsform
eingeschränkt. Sie
kann auf irgendein digitales Signalverarbeitungsschema angewendet
werden. Es ist möglich,
die Kombination mehrerer Schritte, die in einem Zyklus gleichzeitig
auszuführen
sind, wie gewünscht
einzustellen.
-
Wie oben erklärt worden ist, werden für das digitale
Signalverarbeitungsverfahren und die digitale Signalverarbeitungsvorrichtung
dieser Erfindung in jedem in der mehreren Verarbeitungselemente,
die die gleiche Verarbeitung parallel ausführen, die folgenden Schritte
der Reihe nach ausgeführt:
ein erster Schritt, in dem die Daten aus einem Speichermittel gelesen
werden, ein zweiter Schritt, in dem ein Kommunikationsmittel einen
bedingten Austausch mit der vorgeschriebenen Anzahl benachbarter
Verarbeitungselemente ausführt,
ein dritter Schritt, in dem die vorgeschriebene Operation unter
Verwendung des Operationsmittels ausgeführt wird, und ein vierter Schritt,
in dem eines der in den ersten, zweiten und dritten Schritten erhaltenen
Datenelemente in das Speichermittel geschrieben wird. Für mehrere aufeinanderfolgende
Befehle werden wenigstens zwei Schritte dieser 4 Schritte gleichzeitig
ausgeführt.
Folglich kann die Anzahl der Zyklen der Befehlsausführung pro
Einheitszeit vergrößert werden,
wobei der Durchsatz vergrößert werden
kann.
-
Für
das Leseverfahren dieser Erfindung für die Speicherzelle des Strom-Lese-Typs wird außerdem,
während
der Transistor der Speicherzelle mit seinem Steueranschluß mit der
Wortleitung verbunden ist, die Lesebitleitung in einer vorgeschriebenen Zeit
vorgeladen, wobei in einer vorgeschriebenen Taktung der Leseverstärker die
Spannung der Bitleitung bestimmt. Die Zeit vom Ende des Vorladens
zur Herstellung der Spannung auf der Bitleitung kann signifikant
verkürzt
werden, wobei die Leserate signifikant vergrößert werden kann.