DE69628222T2 - Verfahren und Vorrichtung zur digitalen Signalverarbeitung - Google Patents

Verfahren und Vorrichtung zur digitalen Signalverarbeitung Download PDF

Info

Publication number
DE69628222T2
DE69628222T2 DE69628222T DE69628222T DE69628222T2 DE 69628222 T2 DE69628222 T2 DE 69628222T2 DE 69628222 T DE69628222 T DE 69628222T DE 69628222 T DE69628222 T DE 69628222T DE 69628222 T2 DE69628222 T2 DE 69628222T2
Authority
DE
Germany
Prior art keywords
data
cycle
memory
buffer
read
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69628222T
Other languages
English (en)
Other versions
DE69628222D1 (de
Inventor
Yuji Niihari-gun Yaguchi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of DE69628222D1 publication Critical patent/DE69628222D1/de
Application granted granted Critical
Publication of DE69628222T2 publication Critical patent/DE69628222T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/28Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1087Data input latches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8015One dimensional arrays, e.g. rings, linear arrays, buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits

Description

  • 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 48A48D 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, 48A48D, 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 48A48D eingegeben werden. Jeder der Multiplexer 48A48D 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 48A48D 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 48A48D (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 48A48D 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.

Claims (5)

  1. Verfahren zur digitalen Signalverarbeitung, das umfaßt: Anordnen mehrerer Verarbeitungselemente (PE1–PEN) eines Datenprozessors (18) für eine parallele Ausführung gemäß einem gemeinsamen Programmbefehl (ADDRESS; MICROINSTRUCTION; PCLK), wobei jedes Verarbeitungselement (PE1–PEN) einen Speicher (RF0; RF1) zum Speichern von Daten vor oder nach der Ausführung einer Operation in dem Datenprozessor (18), Kommunikationsmittel (34-36) zum Austauschen von Daten mit einer vorgeschriebenen Anzahl benachbarter Verarbeitungselemente (PE1–PEN) und Operationsmittel (24) zum Ausführen einer Operation, die durch aus dem Speicher (RF0; RF1) ausgelesene oder über die Kommunikationsmittel (34; 36) empfangene Daten vorgeschrieben ist, umfaßt; wobei das Verfahren für jeden Programmbefehl ferner umfaßt: Lesen von Daten (DATAREAD) aus dem Speicher (RF0;RF1); Ausführen eines bedingten Austausches (LRCOM) mit der vorgeschriebenen Anzahl benachbarter Verarbeitungselemente (PE1-PEN) über die Kommunikationsmittel (34; 36); Ausführen der durch den Programmbefehl vorgeschriebenen Operation über die Operationsmittel (24); und Schreiben von Daten, die in den Schritten des Lesens von Daten aus dem Speicher (RF0; RF1), des Ausführens eines bedingten Austausches oder des Ausführens der Operation erhalten werden, in den Speicher (RF0; RF1); dadurch gekennzeichnet, daß für mehrere aufeinanderfolgende Programmbefehle wenigstens zwei der Schritte des Lesens von Daten aus dem Speicher (RF0; RF1), des Ausführens eines bedingten Austausches, des Ausführens der Operation und des Schreibens von Daten gleichzeitig ausgeführt werden.
  2. Verfahren nach Anspruch 1, bei dem jeder der Schritte des Lesens von Daten aus dem Speicher (RF0; RF1), des Ausführens eines bedingten Austausches, des Ausführens einer Operation und des Schreibens von Daten in einem Zyklus des Datenprozessors (18) ausgeführt wird und in jedem Zyklus die Schritte des Lesens von Daten aus dem Speicher, des Ausführens eines bedingten Austausches, des Ausführens der Operation und des Schreibens von Daten für vier aufeinanderfolgende Programmbefehle gleichzeitig ausgeführt werden.
  3. Verfahren nach Anspruch 1, bei dem die Schritte des Lesens von Daten aus dem Speicher (RF0; RF1) und des Ausführens eines bedingten Austausches in einem Zyklus ausführbar sind und die Schritte des Ausführens der Operation und des Schreibens von Daten in einem Zyklus ausgeführt werden und bei dem für zwei aufeinanderfolgende Programmbefehle (a) die Schritte des Lesens von Daten aus den Speicher (RF0; RF1) und des Ausführens eines bedingten Austausches und (b) die Schritte des Ausführens der Operation und des Schreibens von Daten jeweils gleichzeitig ausgeführt werden.
  4. Digitaler Signalprozessor (18), der umfaßt: mehrere Verarbeitungselemente (PE1–PEN), die parallel angeordnet sind, um die gleiche Verarbeitung entsprechend jedem Programmbefehl (ADDRESS; MICROINSTRUCTION; PCLK) parallel auszuführen, wobei jedes Verarbeitungselement (PE1–PEN) umfaßt: einen Speicher (RF0; RF1) zum Speichern von Daten vor oder nach einer Operation; Kommunikationsmittel (34, 36) zum Austauschen von Daten mit einer vorgeschriebenen Anzahl benachbarter Verarbeitungselemente (PE1–PEN); und Operationsmittel (24) zum Ausführen einer vorgeschriebenen Operation an aus dem Speicher (RF0; RF1) ausgelesenen oder über die Kommunikationsmittel (34; 36) empfangenen Daten; dadurch gekennzeichnet, daß der digitale Signalprozessor (18) ferner umfaßt: einen ersten Zwischenspeicher (40A; 40B), der einen Dateneingangsanschluß, der an einen Datenausgangsanschluß des Speichers (RF0; RF1) angeschlossen ist, und einen Datenausgangsanschluß, der an einen Dateneingangsanschluß der Operationsmittel (24) angeschlossen ist, umfaßt, wobei der erste Zwischenspeicher während eines zweiten Zyklus Daten, die im ersten Zyklus aus dem Speicher (RF0; RF1) ausgelesen wurden, holt; einen zweiten Zwischenspeicher (54A; 54B), der einen Dateneingangsanschluß, der an den Datenausgangsanschluß des ersten Zwischenspeichers angeschlossen ist, enthält, wobei der zweite Zwischenspeicher Daten während eines dem zweiten Zyklus folgenden dritten Zyklus aus dem ersten Zwischenspeicher holt; einen dritten Zwischenspeicher (50A; 50B), der einen Dateneingangsanschluß besitzt, der an die Kommunikationsmittel (34; 36) angeschlossen ist, wobei der dritte Zwischenspeicher während des dritten Zyklus Daten, die während des zweiten Zyklus durch die Kommunikationsmittel (34; 36) aus einem Verarbeitungselement der vorgeschriebenen Anzahl benachbarter Verarbeitungselemente (PE1–PEN) bedingt geholt werden, holt; und einen vierten Zwischenspeicher (56A; 56B), der Dateneingangsanschlüsse, die an die Datenausgangsanschlüsse des zweiten und des dritten Zwischenspeichers und der Operationsmittel (24) angeschlossen sind, und einen Datenausgangsanschluß, der an den Dateneingangsanschluß des Speichers (RF0; RF1) angeschlossen ist, besitzt, wobei der vierte Zwischenspeicher während eines vierten Zyklus wahlweise Daten aus den Operationsmitteln (34), Daten aus dem zweiten Zwischenspeicher (54A, 54B) oder Daten aus dem dritten Zwischenspeicher (50A; 50B) holt; und wobei während des vierten Zyklus Daten aus dem vierten Zwischenspeicher in den Speicher (RF0; RF1) geschrieben werden.
  5. Digitale Signalverarbeitungsvorrichtung, die mehrere Verarbeitungselemente (PE1–PEN) besitzt, die parallel angeordnet sind, um parallel dieselbe Verarbeitung auszuführen, die jedem Programmbefehl (ADDRESS; MICROINSTRUCTION; PCLK) entspricht, wobei jedes Verarbeitungselement (PE1–PEN) umfaßt: einen Speicher (RF0; RF1) zum Speichern von Daten vor oder nach einer Operation; Kommunikationsmittel (34; 36) zum Austauschen von Daten mit einer vorgeschriebenen Anzahl benachbarter Verarbeitungselemente (PE1–PEN); Operationsmittel (24) zum Ausführen einer vorgeschriebenen Operation für Daten, die aus dem Speicher (RF0; RF1) gelesen werden, und/oder für Daten, die über die Kommunikationsmittel (34; 36) empfangen werden; dadurch gekennzeichnet, daß die Vorrichtung ferner umfaßt: einen ersten Zwischenspeicher (54A; 54B), der einen Dateneingangsanschluß, der an einen Datenausgangsanschluß des Speichers (RF0; RF1) angeschlossen ist, sowie einen Datenausgangsanschluß, der an einen Dateneingangsanschluß des Speichers (RF0; RF1) angeschlossen ist, besitzt, wobei der erste Zwischenspeicher während eines zweiten Zyklus Daten, die im ersten Zyklus aus dem Speicher (RF0; RF1) gelesen werden, holt; einen zweiten Zwischenspeicher (50A; 50B), der einen Dateneingangsanschluß, der an den Datenausgangsanschluß der Kommunikationsmittel (34; 36) angeschlossen ist, und einen Datenausgangsanschluß, der an den Dateneingangsanschluß des Speichers (RF0; RF1) angeschlossen ist, besitzt, wobei der zweite Zwischenspeicher während des zweiten Zyklus Daten, die von einem Verarbeitungselement der vorgeschriebenen Anzahl benachbarter Verarbeitungselemente (PE1–PEN) über die Kommunikationsmittel (34; 36) in dem ersten Zyklus bedingt empfangen werden, holt; und wobei in dem zweiten Zyklus Daten von den Operationsmitteln (24), dem ersten Zwischenspeicher (54A; 54B) oder dem zweiten Zwischenspeicher (50A; 50B) wahlweise in den Speicher (RF0; RF1) geschrieben werden.
DE69628222T 1995-01-19 1996-01-16 Verfahren und Vorrichtung zur digitalen Signalverarbeitung Expired - Lifetime DE69628222T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP7024748A JPH08194679A (ja) 1995-01-19 1995-01-19 ディジタル信号処理方法及び装置並びにメモリセル読出し方法
JP2474895 1995-01-19

Publications (2)

Publication Number Publication Date
DE69628222D1 DE69628222D1 (de) 2003-06-26
DE69628222T2 true DE69628222T2 (de) 2004-04-01

Family

ID=12146772

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69628222T Expired - Lifetime DE69628222T2 (de) 1995-01-19 1996-01-16 Verfahren und Vorrichtung zur digitalen Signalverarbeitung

Country Status (6)

Country Link
US (1) US5860084A (de)
EP (1) EP0733981B1 (de)
JP (1) JPH08194679A (de)
KR (1) KR960029967A (de)
DE (1) DE69628222T2 (de)
TW (1) TW302456B (de)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3211676B2 (ja) * 1996-08-27 2001-09-25 日本電気株式会社 画像処理方法および装置
US6754802B1 (en) * 2000-08-25 2004-06-22 Micron Technology, Inc. Single instruction multiple data massively parallel processor systems on a chip and system using same
AU2002351525A1 (en) * 2001-06-28 2003-03-03 Oak Technology, Inc. System-on-a-chip controller
US6903964B2 (en) * 2002-06-28 2005-06-07 Freescale Semiconductor, Inc. MRAM architecture with electrically isolated read and write circuitry
JP4170952B2 (ja) 2004-01-30 2008-10-22 株式会社東芝 半導体記憶装置
US7561478B2 (en) * 2005-06-30 2009-07-14 Seiko Epson Corporation Integrated circuit device and electronic instrument
KR100850614B1 (ko) * 2005-06-30 2008-08-05 세이코 엡슨 가부시키가이샤 집적 회로 장치 및 전자 기기
JP4010332B2 (ja) * 2005-06-30 2007-11-21 セイコーエプソン株式会社 集積回路装置及び電子機器
JP4661400B2 (ja) * 2005-06-30 2011-03-30 セイコーエプソン株式会社 集積回路装置及び電子機器
US7755587B2 (en) * 2005-06-30 2010-07-13 Seiko Epson Corporation Integrated circuit device and electronic instrument
JP4186970B2 (ja) * 2005-06-30 2008-11-26 セイコーエプソン株式会社 集積回路装置及び電子機器
JP4661401B2 (ja) * 2005-06-30 2011-03-30 セイコーエプソン株式会社 集積回路装置及び電子機器
JP4830371B2 (ja) * 2005-06-30 2011-12-07 セイコーエプソン株式会社 集積回路装置及び電子機器
JP2007012869A (ja) 2005-06-30 2007-01-18 Seiko Epson Corp 集積回路装置及び電子機器
JP4158788B2 (ja) * 2005-06-30 2008-10-01 セイコーエプソン株式会社 集積回路装置及び電子機器
JP4552776B2 (ja) * 2005-06-30 2010-09-29 セイコーエプソン株式会社 集積回路装置及び電子機器
JP4010336B2 (ja) * 2005-06-30 2007-11-21 セイコーエプソン株式会社 集積回路装置及び電子機器
US20070001984A1 (en) * 2005-06-30 2007-01-04 Seiko Epson Corporation Integrated circuit device and electronic instrument
JP2007012925A (ja) * 2005-06-30 2007-01-18 Seiko Epson Corp 集積回路装置及び電子機器
US20070001970A1 (en) * 2005-06-30 2007-01-04 Seiko Epson Corporation Integrated circuit device and electronic instrument
KR100828792B1 (ko) * 2005-06-30 2008-05-09 세이코 엡슨 가부시키가이샤 집적 회로 장치 및 전자 기기
JP4010335B2 (ja) * 2005-06-30 2007-11-21 セイコーエプソン株式会社 集積回路装置及び電子機器
US7567479B2 (en) * 2005-06-30 2009-07-28 Seiko Epson Corporation Integrated circuit device and electronic instrument
US7593270B2 (en) 2005-06-30 2009-09-22 Seiko Epson Corporation Integrated circuit device and electronic instrument
US20070016700A1 (en) * 2005-06-30 2007-01-18 Seiko Epson Corporation Integrated circuit device and electronic instrument
JP4010333B2 (ja) * 2005-06-30 2007-11-21 セイコーエプソン株式会社 集積回路装置及び電子機器
JP4010334B2 (ja) * 2005-06-30 2007-11-21 セイコーエプソン株式会社 集積回路装置及び電子機器
JP4151688B2 (ja) * 2005-06-30 2008-09-17 セイコーエプソン株式会社 集積回路装置及び電子機器
JP4345725B2 (ja) * 2005-06-30 2009-10-14 セイコーエプソン株式会社 表示装置及び電子機器
US7764278B2 (en) 2005-06-30 2010-07-27 Seiko Epson Corporation Integrated circuit device and electronic instrument
US7564734B2 (en) 2005-06-30 2009-07-21 Seiko Epson Corporation Integrated circuit device and electronic instrument
KR100826695B1 (ko) 2005-06-30 2008-04-30 세이코 엡슨 가부시키가이샤 집적 회로 장치 및 전자 기기
JP4665677B2 (ja) 2005-09-09 2011-04-06 セイコーエプソン株式会社 集積回路装置及び電子機器
JP4586739B2 (ja) * 2006-02-10 2010-11-24 セイコーエプソン株式会社 半導体集積回路及び電子機器
US20180005346A1 (en) * 2016-07-01 2018-01-04 Google Inc. Core Processes For Block Operations On An Image Processor Having A Two-Dimensional Execution Lane Array and A Two-Dimensional Shift Register
US20180007302A1 (en) 2016-07-01 2018-01-04 Google Inc. Block Operations For An Image Processor Having A Two-Dimensional Execution Lane Array and A Two-Dimensional Shift Register

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58207152A (ja) * 1982-05-28 1983-12-02 Nec Corp パイプライン演算装置テスト方式
JPH0740252B2 (ja) * 1986-03-08 1995-05-01 株式会社日立製作所 マルチプロセツサシステム
US4982363A (en) * 1988-12-05 1991-01-01 Motorola, Inc. Sensing structure for single ended input
JPH0630094B2 (ja) * 1989-03-13 1994-04-20 インターナショナル・ビジネス・マシーンズ・コーポレイション マルチプロセツサ・システム
US5163120A (en) * 1989-10-13 1992-11-10 Texas Instruments Incorporated Second nearest-neighbor communication network for synchronous vector processor, systems and methods
KR100224054B1 (ko) * 1989-10-13 1999-10-15 윌리엄 비. 켐플러 동기 벡터 프로세서내의 비디오신호를 연속 프로세싱 하기 위한 회로 및 이의 작동 방법
US5093722A (en) * 1990-03-01 1992-03-03 Texas Instruments Incorporated Definition television digital processing units, systems and methods
EP0463721A3 (en) * 1990-04-30 1993-06-16 Gennum Corporation Digital signal processing device
JP2535252B2 (ja) * 1990-10-17 1996-09-18 三菱電機株式会社 並列処理装置
JPH04238197A (ja) * 1991-01-22 1992-08-26 Nec Corp センスアンプ回路
KR950004853B1 (ko) * 1991-08-14 1995-05-15 삼성전자 주식회사 저전력용 블럭 선택 기능을 가지는 반도체 메모리 장치
JPH064689A (ja) * 1992-06-17 1994-01-14 Sony Corp リニアアレイ型の並列dspプロセッサ
US5448716A (en) * 1992-10-30 1995-09-05 International Business Machines Corporation Apparatus and method for booting a multiple processor system having a global/local memory architecture
JPH06215564A (ja) * 1993-01-13 1994-08-05 Nec Corp 半導体記憶装置
KR0140673B1 (ko) * 1993-01-27 1998-06-01 모리시다 요이찌 반도체 메모리
JP2823466B2 (ja) * 1993-01-28 1998-11-11 株式会社東芝 半導体記憶装置
JPH06318156A (ja) * 1993-05-07 1994-11-15 Hitachi Ltd サービスプロセッサ制御方式
JP3191549B2 (ja) * 1994-02-15 2001-07-23 松下電器産業株式会社 半導体メモリ装置
US5532965A (en) * 1995-04-13 1996-07-02 Kenney; Donald M. Memory precharge scheme using spare column

Also Published As

Publication number Publication date
KR960029967A (ko) 1996-08-17
DE69628222D1 (de) 2003-06-26
TW302456B (de) 1997-04-11
EP0733981A3 (de) 1998-09-16
EP0733981A2 (de) 1996-09-25
JPH08194679A (ja) 1996-07-30
EP0733981B1 (de) 2003-05-21
US5860084A (en) 1999-01-12

Similar Documents

Publication Publication Date Title
DE69628222T2 (de) Verfahren und Vorrichtung zur digitalen Signalverarbeitung
DE3543911C2 (de)
DE69432886T2 (de) Datenverarbeitungssystem
DE69838852T2 (de) Verfahren und vorrichtung zur kopplung von signalen zwischen zwei schaltungen, in verschiedenen taktbereichen arbeitend
DE4027187C2 (de) Halbleiterspeicher
DE69906793T2 (de) Verfahren und anordnung für hochgeschwindigkeitsdatenerfassung mit korrektur der bit-zu-bit-zeitgebung und speicheranordnung unter verwendung derselben
DE69826863T2 (de) Verfahren und vorrichtung zur abstimmung eines zur verrieglung digitaler signalen gebrauchten taktsignals und speichervorrichtung die sie verwendet
DE3207210A1 (de) Monolithische speichervorrichtung
DE2703578A1 (de) Videospeicher
EP0169709A2 (de) Realzeitverarbeitungssystem für Videosignale
DE2703579A1 (de) System zur verarbeitung von videosignalen
DE4022149C2 (de)
DE3218815C2 (de)
DE102006034400A1 (de) Bildanzeigevorrichtung und Zeitsteuerung
DE68929482T2 (de) Integrierter Schaltkreis mit synchronem Halbleiterspeicher, ein Verfahren zum Zugriff auf den besagten Speicher sowie ein System, das einen solchen Speicher beinhaltet
EP1262060B1 (de) Verfahren und Vorrichtung zum teilweisen Auslesen der Bilddaten eines Bildsensors
DE3214230C2 (de) Speicheranordnung mit Mehrfach-Zugriffsleitungen
DE4100052A1 (de) Schaltung zum steuern des ausgangs eines sensorverstaerkers
DE10061805A1 (de) Flashspeicher mit Burstmodus
DE2461651A1 (de) System zur zaehlung von mustern
DE4401339C2 (de) Speichersystem zum Verarbeiten digitaler Videosignale
DE3444400A1 (de) Anordnung zur bildlichen wiedergabe von informationen mittels bit-abbildung
DE19818430B4 (de) Bidirektionelle Datenein/Ausgabeschaltung eines Synchronspeicherelements und Verfahren zum Steuern derselben
DE2350018B2 (de) Bildanalysator
DE19929121A1 (de) Integrierte Halbleiterschaltung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition