DE3856124T2 - Serieller Videoprozessor und Verfahren - Google Patents

Serieller Videoprozessor und Verfahren

Info

Publication number
DE3856124T2
DE3856124T2 DE3856124T DE3856124T DE3856124T2 DE 3856124 T2 DE3856124 T2 DE 3856124T2 DE 3856124 T DE3856124 T DE 3856124T DE 3856124 T DE3856124 T DE 3856124T DE 3856124 T2 DE3856124 T2 DE 3856124T2
Authority
DE
Germany
Prior art keywords
input
data
bit
registers
output
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 - Fee Related
Application number
DE3856124T
Other languages
English (en)
Other versions
DE3856124D1 (de
Inventor
Jimmie D Childers
Adin Hyslop
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 DE3856124D1 publication Critical patent/DE3856124D1/de
Application granted granted Critical
Publication of DE3856124T2 publication Critical patent/DE3856124T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Image Processing (AREA)
  • Picture Signal Circuits (AREA)

Description

    HINTERGRUND DER ERFINDUNG
  • Diese Erfindung bezieht sich auf digitale Signalprozessorsysteme, und insbesondere auf einen speziell zur Videosignalverarbeitung oder dergleichen geeigneten seriellen Prozessor.
  • Die Echtzeitverarbeitung von Videosignalen wie Standard-Fernsehsignalen mit dem Ziel der Bildverstärkung oder dergleichen erfordert umfangreiche Datenbe- und verarbeitungen innerhalb kurzer Zeit. Ein bisher vorgeschlagenes Verfahren zur Bildverarbeitung verwendet eine Anordnung von Einbit-Mikroprozessoren, wie durch Davis u. a. in Electronic Design, 31. Oktober 1984, S. 207-218, und durch eine Reihe dieser Publikation folgender Artikel, insbesondere Electronic Design, 15. November 1984, S. 289-300, 29. November 1984, S. 257-266, 13. Dezember 1984, S. 217-226 und 10. Januar 1985, S. 349-356, angegeben wird. Um Video in Echtzeit zu verarbeiten, verwendete dieses System eine Anordnung von 48 x 48 Prozessorelementen, die tatsächlich aus 32 Chips mit 6 x 12 Prozessorelementen pro Chip bestand. Jedes Prozessorelement war zur Datenübertragung im Norden, Süden, Osten und Westen an seine vier angrenzenden Elemente angeschlossen und beinhaltete einen RAM mit Dateneingängen und -ausgängen und einem Adresseneingang; eine serielle ALU mit mehreren Einbit-Registern und eine Multiplexereinrichtung, die die Eingänge und Ausgänge jedes der Register mit Dateneingängen und -ausgängen des RAM verbindet, wobei die Multiplexereinrichtung außerdem Eingänge und Ausgänge einiger der Register mit der seriellen ALU benachbarter Prozessoren verbindet; Steuereingänge, die sämtlichen Prozessoren gemeinsam sind und Steuer- und Adressensätze von Bits empfangen, um die Operation der Multiplexereinrichtung zu wählen und um den RAM zu adressieren, um dadurch für jeden Satz von Steuer- und Adressenbits serielle Einbit-Arithmetikilogikoperationen in jedem der Prozessoren auszuführen; eine Steuereinrichtung mit einem parallelen Mehrbit-Ausgang, der an die Steuereingänge sämtlicher serieller Prozessoren angeschlossen ist, um Folgen von Sätzen von Steuer- und Adressenbits in die Steuereingänge einzugeben, um so eine Echtzeitverarbeitung der Mehrbit-Videodaten zu erhalten. Eine derartige Struktur erforderte eine Vielzahl von Verbindungen zwischen Prozessoren und Chips, was teure Geräte mit eingeschränkten Fähigkeiten und fragwürdiger zuverlässigkeit zur Folge hatte. In 13th ANNUAL INT. SYMP. ON COMPUTER ARCHI- TECTURE, TOKYO 1986, Seiten 338-345; A.L. Fisher "Scan line array processors for image computation", ist ein Verfahren zur Echtzeitverarbeitung von Videosignalen in einer linearen Anordnung serieller Prozessoren offenbart, das folgende Schritte beinhaltet: Umsetzen des Videosignals in Mehrbit- Digitaldaten mit einer Abtastrate; Durchführen mehrerer serieller Arithmetik/Logikoperationen mit den Digitaldaten in jedem der Prozessoren; paralleles übertragen der verarbeiteten Digitaldaten an den Ausgang.
  • Die Hauptaufgabe dieser Erfindung besteht darin, einen verbesserten Videosignalprozessor oder dergleichen, insbesondere einen Prozessor, der in der Lage ist, Videosignale in Echtzeit zu verarbeiten, zu schaffen. Eine weitere Aufgabe besteht darin, einen Bildprozessor zu schaffen, der in Echtzeit Faltungen oder ähnliche Algorithmen mit großen Datenmengen durchführen kann. Eine weitere Aufgabe besteht darin, eine lineare Anordnung serieller Prozessoren zu schaffen, die so konfiguriert sind, daß sie Faltungen oder dergleichen für alle Pixeln einer Abtastzeile gleichzeitig ausführen können. Eine zusätzliche Aufgabe besteht darin, einen billigeren und zuverlässigeren Prozessor dieser Art zu liefern, der zur Videosignalverarbeitung oder Bildverstärkung geeignet ist.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Gemäß einem Aspekt der vorliegenden Erfindung wird ein serielles Videoprozessorsystem für Hochgeschwindigkeitsverarbeitung geschaffen, mit
  • einem Eingang zum Empfangen digitalisierter Mehrbit-Signaldaten;
  • einer linearen Anordnung von seriellen Einbit-Prozessoren, wobei jeder Prozessor besitzt: ein Eingangsregister, das so angeschlossen ist, daß es vom Eingang mehrere Bits der Mehrbit-Signaldaten parallel empfängt; ein Ausgangsregister, das so angeschlossen ist, daß es mehrere Bits verarbeiteter Daten vom Prozessor parallel überträgt; einen Schreib-Lese-Speicher mit Dateneingängen und -ausgängen, die an die Eingangs- und Ausgangsregister angeschlossen sind, und einem Adresseneingang; eine serielle ALU mit mehreren Einbit-Registern und eine Multiplexereinrichtung, die die Eingänge und Ausgänge jedes der Register mit Dateneingängen und -ausgängen des Schreib- Lese-Speichers verbindet, wobei die Multiplexereinrichtung außerdem Eingänge und Ausgänge einiger der Register mit der seriellen ALU benachbarter Prozessoren in einer linearen Reihenfolge verbindet; Steuereingänge, die sämtlichen Prozessoren gemeinsam sind und Steuer- und Adressensätze von Bits empfangen, um die Operation der Multiplexereinrichtung zu wählen und um den Schreib-Lese-Speicher zu adressieren, um dadurch für jeden Satz von Steuer- und Adressenbits serielle Einbit- Arithmetik/Logikoperationen in jedem der Prozessoren auszuführen;
  • einer Umschalteinrichtung, die die Eingangsregister der mehreren Prozessoren in einer mit den Signaldaten korrelierten wiederholungsreihenfolge adressiert, um die Mehrbit-Signaldaten vom Eingang in die Eingangsregister zu laden; wobei die Umschalteinrichtung auch die Ausgangsregister der mehreren Prozessoren in einer Wiederholungsreihenfolge adressiert, um verarbeitete Mehrbit-Videodaten an einen Ausgang zu übertragen;
  • einer Steuereinrichtung mit einem parallelen Mehrbit-Ausgang, der an die Steuereingänge sämtlicher Prozessoren angeschlossen ist, um Folgen von Sätzen von Steuer- und Adressenbits in die Steuereingänge einzugeben, um eine Hochgeschwindigkeitsverarbeitung der Mehrbit-Signaldaten zu erhalten.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein Verfahren zur Hochgeschwindigkeitsverarbeitung in einer linearen Anordnung von seriellen Einbit-Prozessoren geschaffen, wobei das Verfahren die folgenden Schritte enthält:
  • Umsetzen eines Eingangssignals in digitale Mehrbit-Daten mit einer Abtastrate und Speichern der digitalen Daten in bitparalleler Weise in einem Satz von Eingangsregistern,
  • Übertragen der digitalen Daten in den Registern an Speicherzellen einer linearen Folge von Schreib-Lese-Speichern,
  • Ausführen mehrerer serieller Arithmetik/Logikoperationen an den digitalen Daten in benachbarten der Folgen von Schreib- Lese-Speichern in jedem der seriellen Einbit-Prozessoren, wobei für jedes der Eingangsregister ein entsprechender Prozessor vorhanden ist,
  • Übertragen der verarbeiteten digitalen Daten von dem Satz von Schreib-Lese-Speichern an einen Satz von Ausgangsregistern, wobei eine der Anzahl von Eingangsregistern entsprechende Anzahl von Ausgangsregistern vorhanden ist,
  • Übertragen der verarbeiteten digitalen Daten in bitparalleler Weise von den Ausgangsregistern an einen Ausgang.
  • In Übereinstimmung mit einer Ausführungsform der Erfindung wird ein System zur Echtzeit-Digitalverarbeitung eines Videosignals offenbart, das eine lineare Anordnung einer Vielzahl serieller Einbit-Prozessorelemente verwendet, wovon jedes auf ein Pixel einer horizontalen Abtastung wirkt. Das Videosignal wird mittels eines A/D-Umsetzers digitalisiert wobei eine volle Abtastzeile in einem Eingangsregistersatz, ein Register für jedes Prozessorelement, gespeichert wird. Während einer horizontalen Abtastung werden sämtliche Eingangsregister geladen, da die Eingangsregister durch einen Umschalter der Reihe nach adressiert werden. Jedes Prozessorelement enthält einen Einbit-Binäraddierer, einen Satz von Einbit-Registern und zwei jeweils ein Bit breite Datenspeicher mit einer Größe, die es gestattet, Daten mehrerer Abtastungen zu speichern. Zwischen den "Nord und Süd"-Prozessorelementen besteht keine physikalische Verbindung; statt dessen wird diese Funktion von den Datenspeichern geschaffen. Alle Prozessorelemente werden gemeinsam durch den gespeicherten Mikrocode oder eine Ablaufsteuerung, eine Zustandsmaschine oder einen Prozessor gesteuert. Die verarbeiteten Videodaten werden für jedes Prozessorelement an ein Ausgangsregister übergeben, von wo aus sie durch einen Umschalter definiert der Reihe nach heruntergeladen und anschließend durch einen D/A-Umsetzer in ein Videosignal umgesetzt werden. Um ein verarbeitetes Bild zur Faltung mit dem nächsten Bild zu speichern, kann ein Bildspeicher Verwendung finden; der Eingang des Bildspeichers wird an den Ausgangsregistern abgegriffen und der Ausgang des Bildspeichers wird den Eingangsregistern zugeführt.
  • Die Elemente des seriellen Prozessors sind als lineare Anordnung ausgeführt und, ähnlich einem dynamischen RAM mit einer Spalte für jedes Element, als integrierte Halbleiterschaltung in einem regelmäßigen Muster ausgelegt. Die Spalte enthält die zwei Datenspeicher, das Eingangs- und Ausgangsregister, den Umschalter sowie den Addierer und dessen Registersatz.
  • Der Prozessor wird hier als Videosignalverstärkungs-Prozessor dargestellt, ist aber genauso bei der Bildverarbeitung im allgemeinen der Zeichenerkennung der Signalverarbeitung, der Filterung und weiteren derartigen Anwendungen von Nutzen.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die als kennzeichnend für die Erfindung angesehenen neuartigen Merkmale sind in den Ansprüchen angegeben. Die Erfindung selbst sowie weitere ihrer Merkmale und Vorteile lassen sich jedoch besser verstehen unter Bezugnahme auf die folgende detaillierte Beschreibung, wenn sie im Zusammenhang mit den beigefügten Zeichnungen gelesen wird, wobei
  • Fig. 1 ein elektrischer Blockschaltplan eines Beispiels eines Videosystems ist, das den seriellen Videoprozessor gemäß der Erfindung verwendet;
  • Fig. 2 ein elektrischer Blockschaltplan des seriellen Videoprozessors des Systems in Fig. 1 ist;
  • Fig. 3 ein genauerer elektrischer Blockschaltplan des seriellen Videoprozessors in Fig. 1 oder 2 ist;
  • Fig. 4 ein elektrischer Prinzipschaltplan der Register, Multiplexer, Schaltungen und der ALU des Prozessors in Fig. 3 ist;
  • Fig. 5 ein elektrischer Prinzipschaltplan der Eingangs- und Ausgangsregister des Prozessorelements in Fig. 3 ist;
  • Fig. 6 eine stark vergrößerte graphische Darstellung des Layouts eines den Prozessor nach Fig. 3 oder 4 enthaltenden Halbleiterchips ist;
  • Fig. 7 ein elektrischer Blockschaltplan der Verbindungen für die Verwendung redundanter Prozessorelemente ist.
  • GENAUE BESCHREIBUNG EINER SPEZIFISCHEN AUSFÜHRUNGSFORM
  • Bezugnehmend auf Fig. 1 besteht ein TV- oder Videosystem, das gemäß dieser Erfindung einen seriellen Videoprozessor 10 verwenden kann, in diesem Beispiel aus einer Rasterabtast- Katodenstrahlröhre CRT 11, die am Eingang 12 ein analoges Videosignal von der Standard-Videoschaltung 13, wie sie in einem herkömmlichen TV-Gerät Verwendung findet, empfängt. Ein Videosignal von der Antenne 14 oder von einem Videorecorder VCR oder dergleichen wird in der üblichen Weise in HF- und ZF- Stufen eines Tuners behandelt, wodurch an der Leitung 15 ein analoges Bildaustast-Synchronsignal erzeugt wird. Ohne Verwendung des seriellen Videoprozessors 10 würde der analoge Eingang 15 mit dem Eingang 16 der Videoschaltung 13 übereinstimmen. Daraus ist ersichtlich, daß in diesem Beispiel der Prozessor 10 lediglich in den Signalstrom am Ausgang des ZF- Streifenleiters zwischengeschaltet ist. Der Prozessor 10 führt an dem Videosignal verschiedene Signalverstärkungsoperationen aus und würde zu diesem Zweck gewöhnlich ein Bild (oder mehrere Bilder) in einem Bildspeicher 17 speichern. Die horizontale Synchronisation, die vertikale Synchronisation und das Farbsynchronsignal würden separat wiederhergestellt, d. h. würden den hier dargestellten Signalprozessor, der zur Veranschaulichung lediglich das Videosignal behandelt, umgehen.
  • In Fig. 2 ist ein Blockschaltplan des seriellen Videoprozessors 10 und des Bildspeichers 17 genauer gezeigt. Das Video- Eingangssignal an Leitung 15 wird in einem A/D-Umsetzer 18, der mit einer Abtastrate von beispielsweise 14,32 MHz (einem Vielfachen > (4 des Farb-Hilfsträgers von 3,58 MHz) arbeitet, in digitalisierte 8-Bit-Videodaten umgesetzt, wodurch auf Leitung 19 ein paralleler 8-Bit-Ausgang als ein Eingang des Videoprozessors 10 erzeugt wird. Der andere 8-Bit-Dateneingang 20 zum Prozessor 10 ist der Ausgang des Bildspeichers 17, der die verarbeiteten Videodaten des vorhergehenden Bildes speichert. Der Bildspeicher 17 kann aus einer Bank kommerziell erhältlicher Video-DRAMs oder, da der Direktzugriff nicht benötigt wird, Bildspeicher-Bauelementen mit lediglich seriellem Eingang/Ausgang bestehen. Die verarbeiteten Videodaten werden von dem Videoprozessor auf acht Leitungen 21 an einen 8-Bit-Digital-Analog-Umsetzer 22 ausgegeben, der das Eingangssignal 16 für die Videoschaltung erzeugt. Da die Echtzeit-Bildverstärkung über das Bildaustast-Synchronsignal erfolgt, kann das veranschaulichte Beispielsystem schwarzweiß oder farbig sein. Der Prozessor kann auch die Farbseparation vornehmen, was bei dieser Anwendung nicht betrachtet wird. Die verarbeiteten Videodaten werden weiterhin über acht Leitungen 23 an den Eingang des Bildspeichers 17 angelegt. Der Bildspeicher 17 empfängt weiterhin Steuer- und Taktsignale über die Leitung 24 vom Videoprozessor 10 oder von der Steuerung 25. Bei relativ geringen Geschwindigkeiten kann als Steuerung 25 zum Beispiel ein Standard-Mikroprozessor oder -Mikrocontroller wie der im einzelnen im US-Patent 4.432.052 beschriebene kommerziell erhältliche TMS 7000 eingesetzt werden. Bei höheren Geschwindigkeiten kann alternativ ein für höhere Geschwindigkeiten ausgelegter Controller erforderlich sein; der Code kann im RAM oder im ROM gespeichert werden, auch eine Zustandsmaschine oder eine herkömmliche Ablaufsteuerung können Verwendung finden. Die Steuerung 25 führt dem Videoprozessor über die Leitungen 26 einundzwanzig Mikrocode-Steuerbits sowie sechzehn Adressenbits zu. Tatsächlich kann sich der Programmspeicher oder die Steuerung 25 auf dem gleichen Halbleiterchip wie der Videoprozessor 10 befinden, insbesondere dann, wenn es sich lediglich um einen in einem ROM gespeicherten Code mit einem zugehörigen Adressenzähler handelt.
  • In Fig. 3 ist ein Beispiel eines der in dem seriellen Videoprozessor 10 enthaltenen seriellen Prozessorelemente dargestellt. Der Videoprozessor 10 kann z. B. in einer linearen Anordnung 1024 identische Prozessorelemente, wie sie Fig. 3 zeigt, enthalten. Jedes Prozessorelement enthält ein 16-Bit- Dateneingangsregister 30, das die zwei 8-Bit-Paralleleingänge 19 und 20 von dem A/D-Umsetzer und dem Bildspeicher 17 empfängt; das auch mit DIR bezeichnete Eingangsregister 30 lädt die auf den Leitungen 19 und 20 befindlichen Daten nur dann, wenn an einen Eingang 31 ein Freigabesignal angelegt wird. Dieses Freigabesignal wird von einem 1-aus-1024-Umschalter oder Ringzähler 32 empfangen, der so getriggert wird, daß er am Ende eines horizontalen Austastintervalls beginnt und über 1024 Zyklen synchron zur Abtastfrequenz des A/D-Umsetzers 18 fortschaltet. Die sechzehn Bits des Registers 30 werden auch, wie noch beschrieben wird, durch einen Adresseneingang von der Steuerung 25 einzeln zur Auswahl zum Schreiben in einen Datenspeicher 33 adressiert; dieser Datenspeicher 33 wird als RAM0 bezeichnet und besteht aus einem dynamischen 128-Bit-Schreib- Lese-Speicher in der Konfiguration 1x128. Tatsächlich sind der RAM0-Datenspeicher 33 und das DIR-Eingangsregister 30 Teile der gleichen 1x144 DRAM-Spalte, wobei sich das Register 30 vom RAM0-Teil aber dadurch unterscheidet, daß der DIR-Teil einen Dualport besitzt, so daß durch die Eingänge 19 und 20 alle sechzehn Bits parallel beschrieben werden können. Die Einbit- Dateneingangs- und ausgangsleitung 35 des RAM0 ist für einen Leseverstärker einer DRAM-Spalte an den Spalten- oder Bitleitungs-Eingang/Ausgang gekoppelt. Das spezielle, durch den 1x128-Speicher RAM0-Teil der Spalte adressierte Bit wird durch 128 wortleitungen ausgewählt, die alle 1024 prozessorelemente gemeinsam nutzen: Ein gemeinsam genutzter 1-aus-144-Decoder 36 empfängt von der Steuerung 25 eine 8-Bit-Adresse 37 (tatsächlich eine Siebenbit-Adresse und eines der einundzwanzig Steuerbits) und übergibt die gleiche wortleitungs-Auswahl an die RAM0 oder DIR aller 1024 prozessorelemente. Ähnlich wird an der Ausgangsseite des Prozessors ein zweiter ein Bit breiter dynamischer Speicher 38, im folgenden als RAM1 bezeichnet, verwendet, der ebenfalls einen gemeinsam genutzten Decoder 39 besitzt, der aus einer 8-Bit-Adresse auf den von der Steuerung 25 kommenden Leitungen 41 eine 1-aus-144-Wortleitungs-Auswahl erzeugt. Der RAM1-Speicher ist verbunden mit einem auch als DOR bezeichneten 16-Bit-Datenausgangsregister 42 und wird ebenfalls durch eine 1-aus-16-Auswahl aus dem gemeinsamen Decoder 39 adressiert. Die Adressen 37 und 41 der Eingangs- und Ausgangsregister 30 bzw. 42 und die Datenspeicher 33 und 38 haben den Decodern 36 und 39 gegenüber jeweils 8-Bit-Eingänge 37 und 41, die alle 1024 Prozessorelemente gemeinsam verwenden, wobei die Eingangsgrößen 36 und 39 von der Steuerung 25 erzeugt werden. Das Ausgangsregister 42 wird durch den von dem 1-aus-1024-Umschalter oder Ringzähler 49 kommenden Eingang 48 zur parallelen 16-Bit-Datenausgabe auf die Leitungen 21 und 23 ausgewählt. Der Eingangsumschalter 32 wird mit mehr als dem 1024fachen der horizontalen Abtastrate getaktet, so daß während einer horizontalen Abtastperiode alle 1024 Eingangsregister 30 geladen werden können. Der Ausgangsumschalter 49 kann mit der gleichen Rate wie der Eingangsumschalter getaktet werden.
  • Das in Fig. 3 gezeigte Prozessorelement enthält eine ALU und einen Registersatz 50, welche mit den Einbit-Eingangsdaten von RAM0 und RAM1 Einbit-Arithmetik/Logikfunktionen durchführen und die Einbit-Ergebnisse auf RAM0 oder RAM1 schreiben. Alternativ können die Einbit-Eingaben und -Ausgaben der ALU 50 über die linken oder rechten Dateneingänge 52 oder 53 oder die Links/Rechts-Datenausgangsleitung 54 auch die benachbarten lost und West-"Prozessorelemente auf einer der beiden Seiten betreffen. Die Einbit-Arithmetik/Logikfunktion wird durch einen von der Steuerung 25 kommenden 22-Bit-Mikrocode-Steuereingang 55 definiert. In einem durch den Takteingang CLK der Leseverstärker der Datenspeicher 33 und 38 und der ALU 50 definierten Taktzyklus führt das Prozessorelement aus Fig. 3 an den Eingängen von RAM0, RAM1, L oder R eine der Operationen des weiter unten beschriebenen Befehlssatzes aus und übergibt das Ergebnis je nach Auswahl des Mikrocode-Eingangs 55 und der Adressen 37 und 41 nur schreibend oder nur lesend an RAM0, RAM1. Diese CLK-Eingabe erfolgt mit einer Wiederholrate von etwa 50 ns oder 20 MHz, die mit dem Takt der Umschalter 32 und 49 nicht korreliert sein muß.
  • In Fig. 4 sind die ALU und der Registersatz 50 des Prozessorelements von Fig. 3 genauer gezeigt. In diesem Blockschaltplan sind der ausgewählte bedingte Einbit-Eingang von RAM0 oder RAM1 mit R0 oder R1 und die einundzwanzig Mikrocode-Steuerbits mit C0 bis C20 bezeichnet; CY ist das Übertragbit, BW das Borgebit und SM das Summenbit. Ebenfalls dargestellt sind vier im folgenden als Register A, Register B, Register C und Register M bezeichnete einbit-getaktete Register 56, 57, 58 und 59; bei diesen handelt es sich um übliche Verzögerungsglieder mit D- und Q- Eingangs- und Ausgangsleitungen und einem Takteingang CLK. Jedes der Register 56-59 besitzt einen Multiplexer 61, 62, 63 bzw. 64, d. h. einen 1-aus-8-Selektor, der durch drei der Mikrocode-Steuerbits 55 wie gezeigt gesteuert wird. Somit empfängt das Register 56 oder Register A zum Beispiel je nach dem zwischen 000 und 111 dieses Steuereingangs liegenden Binärwert auf Leitung 65 eine Einbit-Eingabe von seinem eigenen Ausgang 66, oder es empfängt R0 oder R1 oder die linken oder rechten Leitungen 52 oder 53 oder die Register B oder C oder eine durch die drei Bits C14-C16 von der Steuerung 25 über die Leitungen 67 ausgewählte festverdrahtete Null. Die Register B, C und M werden analog gesteuert. Das Register C besitzt als einen der Eingänge seines Multiplexers 63 einenzusätzlichen, im folgenden als Divisionsmultiplexer bezeichneten Multiplexer 68, der die Steuerbits C20 und den Reg M-Ausgang M als Auswahlbits empfängt. Der Eingang für den RAM0-Datenspeicher 33 und für den RAM1-Datenspeicher 38 wird durch die RAM0- und RAM1-Schreibsteuerungsmultiplexer 70 und 71 gesteuert. Die auf das Steuerbit C20 und den Reg M-Ausgang ansprechenden bedingten Multiplexer ergeben einen datenabhängigen Schreibeingang für RAM0 und RAM1. Die Bits R0 und R1 als Eingänge der Multiplexer 61, 62, 63 und 64 sind die "Lese"-Ausgänge für RAM0 und RAM1. Jeder der Multiplexer 70, 71, 72 und 73 ist ein 1-aus-4-Selektor, der wie ersichtlich zwei der Steuerbits C0, C1, C3, C4, C20 oder M empfängt. Die Steuerbits C2 und C5 stimmen mit den Adressenbits A7 für RAM0 und RAM1 überein. Sie dienen dazu, für die Datenübertragung anstelle von RAM0 und RAM1 die Register DIR oder DOR auszuwählen. Die ALU selbst besteht aus einem vollen Binäraddierer/subtrahierer 75 sowie den Zwei-Eingangs-ODER- und UND-Gattern 76 und 77, an denen wie ersichtlich sämtlich die Eingänge A, B, C, M und C20 (oder D) anliegen, und die, wie gezeigt, den Summenausgang Sum SM, den Übertrag Cy und das Borgebit BW erzeugen. Einer der 1-aus-4-Multiplexer 78 erzeugt ausgehend von den Eingängen R0, R1, B und der logischen Null je nach Auswahl durch die Steuerbits C6 und C7 eine Links/Rechts-Steuerung L/R.
  • Fig. 5 zeigt die Dualport-Eingangsregister 30, wobei der vom Umschalter 32 kommende Zeigereingang 31 wie ersichtlich einen Satz von sechzehn Eingangstransistoren 81 treibt, die die (von den parallelen Eingängen 19 und 20 kommenden) sechzehn Datenleitungen 19a und 20a mit den dynamischen Speicherzellen 82 verbinden. Bei diesen handelt es sich um Dualport-Zellen, die ebenfalls durch Zugriffstransistoren 83 und die an die Leseverstärker 86 angeschlossenen und durch die Wortleitungen 86 adressierten abgewinkelten Bitleitungen 84 und 85 ausgelesen bzw. beschrieben werden. Es gibt sechzehn wortleitungen 86 sowie 128 Wortleitungen 87 für den RAM0-Teil dieser Spalte des dynamischen 144-Bit-RAM. Konflikte im Prozessor, wenn dieser auf die Zellen 82 zu schreiben versucht, während diese gleichzeitig ausgelesen werden, sollten ausgeschlossen sein, da DIR durch den RAM0-Teil nur in den 32 Prozessorzyklen geladen (und gleichzeitig der RAM1-Teil auf den DOR-Teil übertragen) wird, die dem Abschluß einer horizontalen Abtastung unmittelbar folgen. Das in der Steuerung 25 gespeicherte Programm ist so geschrieben, daß Konflikte vermieden werden; auf jeden Fall kommt es bei der Videoverarbeitung aber insbesondere nach dem Faltungsalgorithmus selbst dann nicht zu einem wahrnehmbaren Effekt, wenn zufällig ein kleines Stück mit unbestimmten Daten eingefügt wird.
  • Weiter sind in Fig. 5 die Dualport-Register 42 dargestellt. Bis auf die Verwendung der statischen Zellen 87 stimmen sie mit den Eingangsregistern überein, da die Zellen lange Daten/Inversdaten-Paare auf den Leitungen 88 treiben müssen. Auch hier können Konflikte zwischen dem Auslesen der Leitungen 21, 23 und dem Schreiben auf die Zellen 87 von dem Leseverstärker 89 durch das gespeicherte Programm vermieden werden; lediglich die zweiunddreißig Zyklen unmittelbar nach der horizontalen Abtastung dienen dazu, DOR durch RAM1 zu laden.
  • Das in Fig. 3 und 4 gezeigte Prozessorelement 50 stellt den in Tabelle A beschriebenen Befehlssatz zur Verfügung. Bei der Bildung der Befehle des Befehlssatzes wird davon ausgegangen, daß jedes der Register A, B, C, M und die ALU 75 Befehle gleichzeitig ausführen können. Zum Beispiel beinhaltet die durch
  • 0 > A : A > B : R0(123) > C : M > M : SM > R1(27) : B > GO
  • beschriebene Operation die folgenden gleichzeitigen Ereignisse:
  • 0 > A Lade Register A mit 0 (Null)
  • A > B Lade Register B mit dem zuvor in A befindlichen Inhalt
  • R0(123) > C Verschiebe die Daten von der RAM0-Adresse 123 in das Register C
  • M > M Dies ist eine NO-QP (Leeranweisung) für das Register M
  • SM > R1(27) Schreibe das Ergebnis der Addition in die Adresse 27 in RAM1
  • B > G0 Gib das Register B auf die GLOBAL OUTPUT- Leitung aus
  • Das Grundformat eines Befehls lautet:
  • Quelle > Ziel : Quelle > Ziel : ...
  • Der nach rechts gerichtete Pfeil '> ' zeigt die Richtung des Datenflusses, und der Doppelpunkt ':' trennt gleichzeitig (im gleichen Taktzyklus) auszuführende Anweisungen. Eine neue Zeile weist auf einen neuen Taktzyklus hin:
  • A, xB, C, M Sind Register
  • SM, Cy, BW Sind ALU-Ausgaben
  • > (R0(n) RAM0, Adresse n 0 < = n < = 127
  • xINP(m) Dateneingangsregister DIR, Bits 0-15
  • > xR1(n) RAM1, Adresse n 0 < = n < = 127
  • xOUT(m) Datenausgangsregister DOR, Bits 0-15, 0 < = m < = 15
  • GO Globale Ausgangsleitung
  • Dabei ist
  • x = leer Die jeweilige Zelle (d. h. das Prozessorelement) ist Quelle/Ziel
  • x = L Die Zelle links der jeweiligen Zelle ist Quelle/Ziel
  • x = R Die Zelle rechts der jeweiligen Zelle ist Quelle/Ziel
  • Innerhalb einer Kommandozelle kann eine Quelle mehr als einmal spezifiziert sein, d. h., "A > B : A > C" ist zulässig. Ein Ziel darf dagegen nur einmal in der Kommandozeile spezifiziert sein, d. h., "A > B : B > C" ist zulässig, während "A > C : B > C" nicht zulässig ist.
  • Jede Speicherbank kann mehr als einmal als Quelle spezifiziert sein, "R0(13) > Alt R0(13) > B" ist also zulässig (gleiche Adresse), während "R0(13) > A : R0(100) > B" nicht zulässig ist (gleiche Bank, aber unterschiedlicher Addierer); dagegen ist "R0(13) > A : R1(100) > B" zulässig (unterschiedliche Bank). Jede der Bänke RAM0 oder RAM1 darf nur einmal als Ziel spezifiziert sein, d. h., "A > R0(13) : B > R0(13)" ist unzulässig, während "A > R0(13) : B > R1(13)" zulässig ist.
  • Ist eine der Bänke RAM0 oder RAM1 als Quelle und Ziel festgelegt, müssen Quell- und Zieladresse übereinstimmen, d. h., "R0(22) > C : C > R0(123)" ist unzulässig (gleiche Bank, andere Adresse), während :R0(22) > B : SM > R0(22) (Lesen/Ändern/Schreiben) sowie "R0(22) > C : C > R1(123)" zulässig sind. Jede der oben für x(R0(n) und xr1(n) angegebenen Regeln betrifft in gleicher Weise die Befehle für xINP(m) und > (OUT(m), mit der Ausnahme, daß der Adreßbereich von 'n' zwischen 0 und 127, der von 'm' von 0 bis 15 reicht. In jedem Fall können SÄMTLICHE Bezüge auf die Zeichen R0 durch INP und die auf die Zeichen R1 durch OUT ersetzt sein. Das heißt, wenn "R0(10) > B : SM > R0(10)" zulässig ist, ist "INP(10) > B SM > INP(10)" ebenfalls zulässig. Andererseits ist zwar "R0(10) > B : SM > INP(10) unzulässig, "R1(25) > B SM > INP(10)" aber zulässig (unterschiedliche Bank).
  • Tabelle B enthält Beispiele für Software-Algorithmen mit Festkomma-Arithmetik, die auf den oben und in Tabelle A erläuterten Befehlssatz aufbauen. Diese Beispiele verwenden willkürlich 8 Bit als Quellzahlgröße; die Zahlen können aber eine beliebige Länge zwischen einem Bit und irgendeiner Zahl, die auf zwei Bänken mit 128 Bit speicherbar ist, haben. Dies hängt von der Betriebsart ab, mindestens sind es jedoch 63 Bit. Man beachte, daß in den Beispielbefehlen in Tabelle B C20 mit 'D' bezeichnet ist; "0 > D" ist äquivalent zu "C20 = 0".
  • Die untenstehende Tabelle zeigt die Verarbeitungsgeschwindigkeit und die für einige dieser Festkommaoperationen benötigten Taktzyklen; obgleich es sich um 8-Bit-Wörter handelt, ist die Wortlänge prinzipiell nicht von Bedeutung.
  • Obgleich die Festkommaaddition zweier 8-Bitzahlen 0,63 Mikrosekunden (neun 70 µs-Zyklen) erfordert, sollte beachtet werden, daß 1024 dieser Befehle gleichzeitig ausgeführt werden, so daß die effektive Rate bei 0,6 ns liegt. Analog liegt die effektive Rate für eine 8 x 8-Multiplikation bei 5 ns.
  • Der in Fig. 3 und 4 gezeigte serielle Videoprozessor ist in einer einzigen integrierten Schaltung konstruiert, deren Streifenlayout Fig. 6 zeigt. Jedes der 1024 prozessorelemente ist ein vertikaler Streifen 90 der Anordnung, und jeder Streifen 90 besteht aus dem RAM0-Speicher 33, dem RAM1-Speicher 38, dem 16 Bit-Dateneingangsregister 30, dem 16 Bit-Datenausgangsregister 42, den Multiplexern 61, 62, 63, 64, 70, 71, 72, 73 und 78 im Bereich 91, den Registern 56, 57, 58 und 59 im Bereich 92, dem Addierer/Subtrahierer 75 und den Gattern 76, 77 im Bereich 93 zusammen mit den Leseverstärkern 86 und 89 in den Bereichen 94 und 95. Die Konstruktion der CMOS-Leseverstärker und DRAM-Zellen auf den abgewinkelten Leitungen entspricht vorn Typ her zum Beispiel dem US-Patent 4.630.240, erteilt an Poteet u. a., lautend auf Texas Instruments. Die wortleitungen 86 und 87 verlaufen ausgehend von den Zeilendecodern und Wortleitungstreibern im Bereich 97 horizontal über den Streifen. Die Arbeitsweise der RAM0/DIR-Kombination mit den 1024 Leseverstärkern 86 entspricht der eines üblichen dynamischen RAMs; ein Spaltendecoder oder eine Spaltenadressierung ist hier selbstverständlich nicht erforderlich, da alle 1024 Prozessorelemente in jedem Taktzyklus gleichzeitig arbeiten. Die Arbeitsweise der RAM1/DOR-Kombination ist die gleiche, außer daß für die Ausgangsregister 42 statische Zellen Verwendung finden können. Die Verschiebezeiger 32 und 49 sind übliche, als Ringzähler geschaltete Schieberegisterelemente.
  • Der Aufbau dieses Videoprozessors als lineare Anordnung bietet mehrere Vorteile. Der Begriff "lineare Anordnungt bedeutet, daß die 1024 (oder in einer beliebigen anderen Anzahl vorhandenen) Prozessorelemente jeweils innerhalb eines seriellen Einbit-Prozessorelements gleichzeitig parallel auf eine horizontale Leitung wirken. Dies gestattet, die Verbindungen zum Speicher, zu den Prozessorelementen und den nächsten Nachbarn regelmäßig zu gestalten, so daß das Bauelement wie ein Speicherchip aufgebaut werden kann. Die lineare Anordnung, die eine ganze Zeile gleichzeitig verarbeitet, erfordert keine physikalischen Verbindungen zu Daten für Pixel oberhalb und unterhalb dieser Zeile, da die erforderlichen Zwischendaten der vorhergehenden Zeilen im lokalen Prozessorspeicher RAM0 und RAM1 gehalten werden, so daß eine extrem hohe Ausgangspinzahl oder Zusammenschaltungsprobleme vermieden werden.
  • Es ist von Bedeutung, daß der Prozessor dieser Erfindung für eine gegebene Zeile keine massive Verschiebung der Daten entlang der Prozessorelemente oder Speicher erfordert: die für ein gegebenes Element über das Eingangsregister DIR eingegebenen Daten bleiben für dieses Element in den Speichern RAM0 und RAM1, bis sie durch die ALU des gleichen Prozessorelements verarbeitet und über DOR ausgegeben werden. Durch dieses Verfahren können die Prozessorelemente nahezu die gesamte Zeit für die Verarbeitung verwenden, während die unabhängig getakteten Dateneingangs- und Datenausgangsregister DIR und DOR die E/A-Funktion übernehmen. Das Prozessorelement hat vor der Verschiebung lediglich seine eigenen Daten an die Ausgangsoder von den Eingangsregistern zu übertragen.
  • Die Regelmäßigkeit des linearen Layouts verringert die Leitungslängen und vermindert parasitäre Effekte und hilft so, die Taktzeit des Prozessors zu verkürzen. Diese lineare Architektur des seriellen Videoprozessors gestattet, die Länge der Anordnung (die Anzahl der Prozessorelemente) in der Designphase durch Einbringen weiterer Elemente und Anpassen der Signaltreibergröße an die größere Last beliebig zu vergrößern. Die Ausgangspinzahl (die Anzahl der Pins des Halbleitergehäuses) hängt nicht von der Länge der Anordnung ab, so daß Prozessorvarianten mit mehr Elementen pinkompatibel zu kleineren Varianten sein können.
  • Die Tatsache, daß zwei separate Speicherbänke mit unabhängig adressierbaren RAMs, nämlich RAM0 und RAM1, vorhanden sind, gestattet, eine komplette Addition oder Subtraktion innerhalb eines einzigen Taktzyklus auszuführen. Damit ist es nicht erforderlich, erst in einem Zyklus ein Register mit dem zweiten Summanden zu laden, um dann in einem weiteren Zyklus die Addition auszuführen. Bei der Echtzeit-TV-Verstärkung ist dies sehr wichtig, um den erforderlichen Durchsatz zu erreichen.
  • Eine sehr wichtige Eigenschaft besteht darin, daß die lineare Anordnung die Realisierung einer Redundanz an Speichern, Prozessorelementen und Eingangs/Ausgangsregistern gestattet. Dies ist wichtig wegen des großen Anteils von dynamischen Speicher auf dem Chip.
  • Bezugnehmend auf Fig. 7 wird eine Redundanz implementiert durch Bereitstellen von Umgehungsverbindungen in den Umschaltern 32 und 49 sowie in den Prozessorelementen 50, so daß diese Teile aus dem Betrieb des Bauelements ausgenommen werden können. DIR, RAM0, RAMT und DOR benötigen keine Umgehungsverbindungen, da diese Teile ohne Bedeutung sind, solange die Zeiger 31 und 48 DIR und DOR nicht zum Laden und zur Ausgabe adressieren. In Fig. 7 hat jede Zelle oder Stufe 101 des Umschalters 32 einen Arbeitskontakt-Umgehungs-Schalter 102 sowie einen Ruhekontakt-Reihen-Schalter 103. Zu diesen Schaltern gehören auf dem Chip befindliche Leiterbahnen, die kurzgeschlossen oder mit üblichen, für Speicherbausteine mit redundanten Zeilen oder Spalten verwendeten Verfahren zum Auslösen von Sicherungen mittels eines Lasers durchgeschmolzen werden können. Analog enthält jedes prozessorelement 50 Arbeitskontakte 104 und 105 für die Verbindung zwischen der L/R- Leitung 54 und dem L-Eingang 52 der nächsten Zelle sowie Ruhekontakte 106 und 107 in Reihe mit dem L/R-Ausgang 54 zwischen dieser Zelle und dem R-Eingang 53 des links befindlichen Elements 50 und dem L-Eingang 52 des rechts befindlichen Elements 50. Die Anschlüsse für das Ausgangsregister 42 beinhalten einen Arbeitskontakt-Umgehungsschalter 108 für die Stufe 109 des Umschalters 49 und Ruhekontaktschalter 110 und 111 in Reihe mit der Leitung 40 und der Verbindung zwischen dieser Stufe 109 und der nächsten Umschalterstufe. Bei all diesen Schaltern handelt es sich um lasergeschmolzene Brücken oder dergleichen. Damit wird der Chip also mit einer Anzahl zusätzlicher Spalten 90 oder Prozessorelemente (nach Fig. 3) ausgestattet, die sämtlich Umgehungsbrücken nach Fig. 7 enthalten. So können z. B. acht Zusatzspalten vorgesehen sein, was insgesamt 1032 ergibt, wobei nur 1024 erforderlich sind. Der Chip wird getestet, und fehlerhafte Spalten werden durch das Laserbrücken-Schmelzverfahren überbrückt, noch während sich der Wafer, der die Chips enthält, auf dem Prüfstand befindet.
  • Obwohl die Erfindung unter Bezugnahme auf eine erläuternde Ausführungsform beschrieben wurde, soll diese Beschreibung nicht als einschränkend verstanden werden. Verschiedene Modifikationen der erläuternden Ausführungsform sowie weitere Ausführungsformen der Erfindung werden für Fachleute auf diesem Gebiet bei Bezugnahme auf diese Beschreibung offensichtlich sein. Tabelle A REGISTER A die folgenden Befehle sind für Register A zulässig: Tabelle A (Fortsetzung) REGISTER B die folgenden Befelile sind für Register B zulässig: Tabelle A (Fortsetzung) REGISTER C die folgenden Befehle sind für Register C zulässig: Tabelle A (Fortsetzung) REGISTER M die folgenden Befehle sind für Register M zulässig: Tabelle B A. ------- Zweierkomplement (Vorzeichenwechsel): Zweierkomplement einer 8-Bit-Zahl in RAM0-Adressen 7-0 mit Ergebnis an denselben Speicherplätzen Tabelle B (Fortsetzung) C. ------- Festkommaaddition ganzzahlige oder vorzeichenbehaftete Zweierkomplementaddition von zwei 8-Bit-Zahlen, die sich in den RAM0-Adressen 7-0 und in den RAM1-Adressen 17-10 befinden; die Summe wird in RAM0-Adressen 8-0 akkumuliert. Bit 8 ist der Übertragmerker Tabelle B (Fortsetzung) D. ------- Festkommasubtraktion ganzzahlige oder vorzeichenbehaftete Zweierkomplementaddition von zwei 8-Bit-Zahlen, die sich in den RAM0-Adressen 7-0 und in den RAM1-Adressen 17-10 befinden; die Differenz wird in RAM0-Adressen 8-0 akkumuliert. Bit 8 ist der Borgemerker Tabelle B (Fortsetzung) E. -------- Festkommamultiplikation Multiplikation zweier positiver ganzer 8-Bit-Zahlen, die sich in RAM0 7-0 und RAM0 15-8 befinden; das 16-Bit-Produkt wird in RAM1, 15-0, akkumuliert Tabelle B (Fortsetzung) F. ------- Festkommadivision Division zweier positiver ganzer 8-Bit-Zahlen; der Dividend ist in RAM1, 7-0, der Divisor ist in RAM0, 7-0; der Ganzzahlanteil des Quotienten wird in RAM0, 15-8, akkumuliert. In diesem Beispiel wird der Rest verworfen. Division durch Null wird im RAM0, Bit 16 = 0, angezeigt. RAM1: 15-8 sind ungeschützte Bereiche Tabelle B (Fortsetzung) Tabelle B (Fortsetzung)

Claims (21)

1. Serielles Videoprozessorsystem für Hochgeschwindigkeitsverarbeitung, mit: einem Eingang (15) zum Empfangen digitalisierter Mehrbit-Signaldaten; einer linearen Anordnung von seriellen Einbit-Prozessoren (10), wobei jeder Prozessor besitzt: ein Eingangsregister (30), das so angeschlossen ist, daß es vom Eingang mehrere Bits der Mehrbit-Signaldaten parallel empfängt; ein Ausgangsregister (42), das so angeschlossen ist, daß es mehrere Bits verarbeiteter Daten vom Prozessor parallel überträgt; einen Schreib-Lese-Speicher (33) mit Dateneingängen und -ausgängen, die an die Eingangs- und Ausgangsregister angeschlossen sind, und einem Adresseneingang; eine serielle ALU (50) mit mehreren Einbit-Registern (56, 57, 58, 59) und eine Multiplexereinrichtung (61, 62, 63, 64), die die Eingänge und Ausgänge jedes der Register mit Dateneingängen und -ausgängen des Schreib-Lese-Speichers (33) verbindet, wobei die Multiplexereinrichtung außerdem Eingänge und Ausgänge einiger der Register mit der seriellen ALU benachbarter Prozessoren in einer linearen Reihenfolge verbindet; Steuereingänge (C), die sämtlichen Prozessoren gemeinsam sind und Steuer- und Adressensätze von Bits empfangen, um die Operation der Multiplexereinrichtung zu wählen und um den Schreib-Lese-Speicher (33) zu adressieren, um dadurch für jeden Satz von Steuer- und Adressenbits serielle Einbit-Arithmetik/Logikoperationen in jedem der Prozessoren auszuführen; einer Umschalteinrichtung (32, 49), die die Eingangsregister der mehreren Prozessoren in einer mit den Signaldaten korrelierten Wiederholungsreihenfolge adressiert, um die Mehrbit-Signaldaten vom Eingang in die Eingangsregister zu laden; wobei die Umschalteinrichtung auch die Ausgangsregister der mehreren Prozessoren in einer Wiederholungsreihenfolge adressiert, um verarbeitete Mehrbit-Videodaten an einen Ausgang (16) zu übertragen; einer Steuereinrichtung (25) mit einem parallelen Mehrbit- Ausgang, der an die Steuereingänge sämtlicher Prozessoren angeschlossen ist, um Folgen von Sätzen von Steuer- und Adressenbits in die Steuereingänge einzugeben, um eine Hochgeschwindigkeitsverarbeitung der Mehrbit-Signaldaten zu erhalten.
2. System nach Anspruch 1, wobei das System für eine Echtzeitverarbeitung von Rasterabtastvideosignalen ausgelegt ist und wobei
die Mehrbit-Signaldaten Mehrbit-Videodaten enthalten,
die mehreren seriellen Prozessoren mehrere serielle videoprozessoren enthalten,
der Schreib-Lese-Speicher einen ersten und einen zweiten Schreib-Lese-Speicher enthält und
die Unschalteinrichtung so beschaffen ist, daß sie die Eingangs- und Ausgangsregister in einer Wiederholungsreihenfolge adressiert, die mit einer Rasterabtastung korreliert ist.
3. System nach Anspruch 2, in dem ein analoger Signaleingang über einen Analog/Digital-Umsetzer an den Eingang angeschlossen ist und der Ausgang über einen Digital/Analog-Umsetzer an einen analogen Systemausgang angeschlossen ist.
4. System nach Anspruch 3, in dem der analoge Systemeingang mit einer Rate abgetastet wird, die mit einem Vielfachen der horizontalen Abtastrate der Rasterabtastung in Beziehung steht, wobei das Vielfache wenigstens gleich der Anzahl der seriellen Videoprozessoren ist.
5. System nach Anspruch 4, in dem wenigstens so viele serielle Videoprozessoren vorhanden sind, wie in einer horizontalen Abtastung der Rasterabtastung Pixel vorhanden sind.
6. System nach Anspruch 2, in dem der erste Speicher und der zweite Speicher einen dynamischen Schreib-Lese-Speicher mit einem differentiellen Leseverstärker für jeden der seriellen Videoprozessoren enthalten.
7. System nach Anspruch 2, in dem das Eingangsregister jedes Videoprozessors einen ersten Satz von Bits, die so angeschlossen sind, daß sie die Mehrbit-Videodaten vom Eingang empfangen, sowie einen zweiten Satz von Bits, die an die Ausgänge eines Rahmenspeichers angeschlossen sind, enthält.
8. System nach Anspruch 7, in dem das Ausgangsregister jedes Videoprozessors einen ersten Satz von Bits, die so angeschlossen sind, daß sie die verarbeiteten Mehrbit- Daten vom Videoprozessor an den Ausgang übertragen, sowie einen zweiten Satz von Bits, die so angeschlossen sind, daß sie verarbeitete Daten an Eingänge des Rahmenspeichers übertragen, enthält.
9. System nach Anspruch 8, in dem wenigstens so viele serielle Videoprozessoren vorhanden sind, wie in einer horizontalen Abtastung der Rasterabtastung Pixel vorhanden sind, und zwischen der Eingang von Videodaten in den Eingang und dem Ausgang von verarbeiteten Daten vom Ausgang eine Verzögerung um wenigstens eine der horizontalen Abtastungen vorhanden ist.
10. System nach Anspruch 7, 8 oder 9, in dem der Rahmenspeicher verarbeitete Videodaten für einen Rahmen der Rasterabtastung speichert.
11. System nach irgendeinem der Ansprüche 2 bis 10, in dem die mehreren seriellen Prozessoren einen Satz von N seriellen Videoprozessoren enthalten,
die Umschalteinrichtung N Stufen besitzt, die die Eingangsregister des Satzes von N seriellen Videoprozessoren in einer mit der Rasterabtastung korrelierten Wiederholungsreihenfolge adressieren, um die Mehrbit-Videodaten vom Eingang in die Eingangsregister zu laden; und die Umschalteinrichtung N Stufen besitzt, die auch die Ausgangsregister des Satzes von N seriellen Videoprozessoren in einer mit der Rasterabtastung korrelierten Wiederholungsreihenfolge adressieren, um verarbeitete Mehrbit-Videodaten an einen Ausgang zu übertragen; und
der Satz von Prozessoren und die Umschalteinrichtung eine Umgehungseinrichtung enthalten, wodurch ausgewählte der seriellen Videoprozessoren nicht an der Operation der Vorrichtung teilnehmen, wobei die Anzahl N die Anzahl der für eine Zeile der Abtastung erforderlichen Prozessoren übersteigt.
12. System nach Anspruch 11, wenn abhängig von Anspruch 2, in dem sowohl der erste Speicher als auch der zweite Speicher einen dynamischen Schreib-Lese-Speicher mit einem differentiellen Leseverstärker enthält.
13. System nach Anspruch 11, wenn abhängig von Anspruch 2, in dem das Eingagsregister jedes Videoprozessors einen ersten Satz von Bits, die so angeschlossen sind, daß sie die Mehrbit-Videodaten vom Eingang parallel empfangen, sowie einen zweiten Satz von Bits, die an Ausgänge eines Rahmenspeichers parallel angeschlossen sind, enthält.
14. System nach Anspruch 13, in dem das Ausgangsregister jedes Videoprozessors einen ersten Satz von Bits, die so angeschlossen sind, daß sie die verarbeiteten Mehrbit- Daten vom Videoprozessor parallel an den Ausgang übertragen, sowie einen zweiten Satz von Bits, die so angeschlossen sind, daß sie verarbeitete Daten parallel an Eingänge eines Rahmenspeichers übertragen, enthält.
15. System nach irgendeinem der vorangehenden Ansprüche, in dem der oder jedeer Schreib-Lese-Speicher eine Anzahl von Bits besitzt, die ein Vielfaches der Anzahl der Bits in den Eingangs- und Ausgangsregistern ist.
16. Verfahren zur Hochgeschwindigkeits-Signalverarbeitung in einer linearen Anordnung von seriellen Einbit-Prozessoren, wobei das Verfahren die folgenden Schritte enthält:
Umsetzen eines Eingangssignals in digitale Mehrbit- Daten mit einer Abtastrate und Speichern der digitalen Daten in bitparalleler Weise in einem Satz von Eingangsregistern (20),
Übertragen der digitalen Daten in den Registern an Speicherzellen einer linearen Folge von Schreib-Lese- Speichern (33),
Ausführen mehrerer serieller Arithmetik/Logikoperationen an den digitalen Daten in benachbarten der Folgen von Schreib-Lese-Speichern (33) in jedem der seriellen Einbit-Prozessoren, wobei für jedes der Eingangsregister ein entsprechender Prozessor vorhanden ist,
Übertragen der verarbeiteten digitalen Daten von dem Satz von Schreib-Lese-Speichern an einen Satz von Ausgangsregistern (42), wobei eine der Anzahl von Eingangsregistern entsprechende Anzahl von Ausgangsregistern vorhanden ist,
Übertragen der verarbeiteten digitalen Daten in bitparalleler Weise von den Ausgangsregistern an einen Ausgang.
17. Verfahren nach Anspruch 16, das für eine Echtzeitverarbeitung eines Rasterabtastvideosignals ausgelegt ist,
wobei das Verfahren das Anlegen eines Videosignals an eine Anzahl der Eingangsregister, die der Anzahl der Pixel in einer horizontalen Abtastung der Rasterabtastung entspricht, und
nach dem Schritt des Übertragens der verarbeiteten digitalen Daten an den Satz von Ausgangsregistern das Umsetzen der digitalen Daten in den Ausgangsregistern in ein Ausgangsvideosignal umfaßt.
18. Verfahren nach Anspruch 17, mit den Schritten des Speichern der verarbeiteten Videodaten aus dem Satz von Ausgangsregistern in einen Rahmenspeicher, der einen Satz von Speicherzellen für jedes Pixel sämtlicher horizontaler Abtastungen in einer Vertikalabtastung der Rasterabtastung enthält, und Übertragen der gespeicherten Videodaten an den Satz von Eingangsregistern synchron mit der Umsetzung des Videosignals, wobei die Eingangsregister Daten aus dem gespeicherten Rahmen und außerdem umgesetzte Daten für die aktuelle horizontale Abtastung enthälten.
19. Verfahren nach Anspruch 17, in dem zwischen dem Schritt des Speicherns der digitalen Daten in dem einen Satz von Eingangsregistern und dem Schritt des Übertragens digitaler Daten von dem Satz von Schreib-Lese-Speichern an das Ausgangsregister für ein gegebenes Pixel einer der horizontalen Abtastungen wenigstens zwei horizontale Abtastungen auftreten.
20. Verfahren nach Anspruch 16, das enthält:
nach dem Umsetzungsschritt paralleles Laden der digitalen Daten in einen Satz von Eingangsregistern,
Übertragen der digitalen Daten von den Registern an einen Satz von Schreib-Lese-Speichern mit Einbit-Breite, wobei die Speicher eine Anzahl von Bits besitzen, die die Anzahl von Bits in einem der Eingangsregister stark übersteigt, und
anschließendes Übertragen der verarbeiteten digitalen Daten bitweise von dem Satz von Schreib-Lese-Speichern an den Satz von Ausgangsregistern.
21. Verfahren nach Anspruch 20, mit den Schritten des Speicherns verarbeiteter Daten von dem Satz von Ausgangsregistern in einem Pufferspeicher für eine Zeitperiode, während der das Eingangssignal einen vollständigen Zyklus einer wiederholungsreihenfolge durchläuft, und des Übertragens der gespeicherten verarbeiteten Daten an den Satz von Eingangsregistern synchron mit der Umsetzung des Eingangssignals, wobei die Eingangsregister Daten vom Pufferspeicher und außerdem umgesetzte Daten für das aktuelle Eingangssignal enthalten.
DE3856124T 1987-11-13 1988-11-11 Serieller Videoprozessor und Verfahren Expired - Fee Related DE3856124T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11989087A 1987-11-13 1987-11-13
US11988987A 1987-11-13 1987-11-13

Publications (2)

Publication Number Publication Date
DE3856124D1 DE3856124D1 (de) 1998-03-05
DE3856124T2 true DE3856124T2 (de) 1998-06-10

Family

ID=26817827

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3856124T Expired - Fee Related DE3856124T2 (de) 1987-11-13 1988-11-11 Serieller Videoprozessor und Verfahren

Country Status (4)

Country Link
EP (1) EP0317218B1 (de)
JP (1) JP2774115B2 (de)
KR (1) KR970007011B1 (de)
DE (1) DE3856124T2 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5598545A (en) * 1989-10-13 1997-01-28 Texas Instruments Incorporated Circuitry and method for performing two operating instructions during a single clock in a processing device
KR0179362B1 (ko) * 1989-10-13 1999-05-15 앤. 라이스 머레트 비디오 신호 프로세서 제어기용 명령 발생기 아키텍쳐
KR100224054B1 (ko) * 1989-10-13 1999-10-15 윌리엄 비. 켐플러 동기 벡터 프로세서내의 비디오신호를 연속 프로세싱 하기 위한 회로 및 이의 작동 방법
CN1042282C (zh) * 1989-10-13 1999-02-24 德克萨斯仪器公司 用于同步矢量处理机的第二最近邻通讯网络、***和方法
KR100199073B1 (ko) * 1989-10-13 1999-06-15 윌리엄 비. 켐플러 동기 벡터 프로세서 내의 신호 파이프라이닝
US5408673A (en) * 1989-10-13 1995-04-18 Texas Instruments Incorporated Circuit for continuous processing of video signals in a synchronous vector processor and method of operating same
DE69032544T2 (de) * 1990-02-28 1998-12-17 Texas Instruments Inc., Dallas, Tex. Verfahren und Vorrichtung zur Verarbeitung eines Videosignals
EP0444368B1 (de) * 1990-02-28 1997-12-29 Texas Instruments France Ein SIMD-Prozessor als digitales Filter
JP3187851B2 (ja) * 1990-03-01 2001-07-16 テキサス インスツルメンツ インコーポレイテツド 鮮明度を改良したテレビ
US5093722A (en) * 1990-03-01 1992-03-03 Texas Instruments Incorporated Definition television digital processing units, systems and methods
JPH0877002A (ja) * 1994-08-31 1996-03-22 Sony Corp 並列プロセッサ装置
GB2299421A (en) * 1995-03-29 1996-10-02 Sony Uk Ltd Processing real-time data streams
US6353460B1 (en) 1997-09-30 2002-03-05 Matsushita Electric Industrial Co., Ltd. Television receiver, video signal processing device, image processing device and image processing method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2129589B (en) * 1982-11-08 1986-04-30 Nat Res Dev Array processor cell

Also Published As

Publication number Publication date
EP0317218A3 (de) 1991-09-04
KR970007011B1 (ko) 1997-05-01
JPH01258184A (ja) 1989-10-16
DE3856124D1 (de) 1998-03-05
EP0317218B1 (de) 1998-01-28
JP2774115B2 (ja) 1998-07-09
EP0317218A2 (de) 1989-05-24
KR890008671A (ko) 1989-07-12

Similar Documents

Publication Publication Date Title
DE3687358T2 (de) Bildpufferspeicher mit variablem zugriff.
DE3856124T2 (de) Serieller Videoprozessor und Verfahren
DE3382798T2 (de) Elektronisches System zur Videoanzeige.
DE3689926T2 (de) Einrichtung zur sequenziellen Bildtransformation.
DE69005991T2 (de) Verfahren und anordnung zur erzeugung eines hochauflösenden elektronischen signals von der zeilenabtastung einer farbvorlage.
DE3588156T2 (de) Halbleiterspeicher mit Serienzugriff
DE69424304T2 (de) Paralleler datenprozessor
DE68919781T2 (de) Videospeicheranordnung.
DE3789731T2 (de) Digitaler Videosignalprozessor.
DE3687789T2 (de) Bildsignalverarbeitungsgeraet.
DE3632639C2 (de) Einrichtung zum Hochgeschwindigkeitsverarbeiten von Bilddaten durch Faltung
DE3788925T2 (de) Interpolator für Fernsehtricksystem.
DE4011758C2 (de)
DE3751312T2 (de) Verfahren und Einrichtung zur Verarbeitung von Bilddaten.
DE68925569T2 (de) Dynamischer Video-RAM-Speicher
DE3620982A1 (de) Ein-befehl, mehrfach-datenstrom (simd) computersystem
DE3783796T2 (de) Erweiterte rasterbedienung in einem anzeigegeraet.
EP1262060B1 (de) Verfahren und Vorrichtung zum teilweisen Auslesen der Bilddaten eines Bildsensors
DE69030705T2 (de) Netzwerk zur Kommunikation mit dem übernächsten Nachbarn in Vektorprozessorsystemen und Verfahren
DE69032851T2 (de) Integrierte Schaltung vom Josephson-Typ mit einer Ausgangsschnittstelle, welche die Ausgangsdaten mit reduzierter Taktfrequenz liefern kann
DE2461651A1 (de) System zur zaehlung von mustern
DE69030706T2 (de) Schaltung zur kontinuierlichen Videosignalverarbeitung in einem synchronen Vektorprozessor
DE102004023855B4 (de) Schaltkreis-Anordnung
DE3854822T2 (de) Gerät zur Bildkonturentdeckung
DE2350018B2 (de) Bildanalysator

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee