DE4227733A1 - Konfigurierbarer cachespeicher und datenverarbeitungssystem mit einem derartigen speicher - Google Patents

Konfigurierbarer cachespeicher und datenverarbeitungssystem mit einem derartigen speicher

Info

Publication number
DE4227733A1
DE4227733A1 DE4227733A DE4227733A DE4227733A1 DE 4227733 A1 DE4227733 A1 DE 4227733A1 DE 4227733 A DE4227733 A DE 4227733A DE 4227733 A DE4227733 A DE 4227733A DE 4227733 A1 DE4227733 A1 DE 4227733A1
Authority
DE
Germany
Prior art keywords
bits
data
memory
address
cache
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.)
Ceased
Application number
DE4227733A
Other languages
English (en)
Inventor
Herbert J Mieras
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.)
Allen Bradley Co LLC
Original Assignee
Allen Bradley Co LLC
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 Allen Bradley Co LLC filed Critical Allen Bradley Co LLC
Publication of DE4227733A1 publication Critical patent/DE4227733A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Image Input (AREA)
  • Image Processing (AREA)

Description

Die Erfindung bezieht sich auf einen Cachespeicher und auf die Anwendung eines derartigen Speichers zum Speichern von Daten in einem Bildverarbeitungssystem.
Bei einem Bildverarbeitungssystem sind die Daten und Programmbefehle im allgemeinen in einem Speicher enthalten. Der Speicher kann beliebiger Bauart sein. So werden beispielsweise Festkörperschaltungen, Dis­ ketten, flexible Speicherplatten oder auch starre Spei­ cherplatten verwendet. Die Zeit zur Wiedergewinnung von Information aus dem Speicher hängt von der Bauart des Speichers ab und auch davon, wie viele Baueinheiten den Zugriff zum Speicher erlangen können. Die Wieder­ gewinnungszeit kann auch durch die räumliche Bezie­ hung des Speicherplatzes von neu aufzusuchenden Daten zu demjenigen von zuletzt aus dem Speicher zugegriffenen Daten beeinträchtigt werden.
Häufig hängt die Ausführungsgeschwindigkeit eines Programms in einem hohen Maße davon ab, wie lange die Zentraleinheit (CPU) braucht, um Daten und Programm­ befehle aus dem Speicher zu erhalten. Programme enthalten oft eine oder mehrere Subroutinen oder Gruppen von An­ weisungen, die öfters ausgeführt werden. In anderen Fällen macht das Programm wiederholt von bestimmten Datenfeldern im Sinne von Datenposten oder Dateneinheiten Gebrauch. Es ist daher erwünscht, häufig benutzte Befehle oder Anweisungen als auch Daten in einer solchen Weise zu speichern, daß die Zeit, die die Zentraleinheit zum Erlangen solcher Informationen benötigt, so klein wie möglich ist.
Eine übliche Technik zum schnelleren Zugriff auf häufig benutzte Information ist die Verwendung eines "Cachespeichers". Typischerweise ist die Zentraleinheit die einzige Baueinheit, die Zugriff zum Cachespeicher erlangen kann, und sie ist mit dem Cachespeicher in einer solchen Weise verbunden, daß der Zugriff er­ leichtert wird. Wenn die Zentraleinheit eine neue Task ausführt, ist zunächst die erste Anweisungs- oder Dateneinheit aus dem Hauptspeicher zu holen. Andere Anweisungen oder Daten in benachbarten Hauptspeicher­ plätzen sind möglicherweise zu dieser Zeit ebenfalls zu holen. Die geholten oder abgerufenen Anweisungen oder Daten werden in einem ersten Direktzugriffs­ speicher des Cachespeichers gespeichert. Der Cache­ speicher hat einen zweiten Direktzugriffsspeicher, der eine Kennzeichnung (tag) speichert, die anzeigt, ob eine Information von einer vorgegebenen Adresse des Hauptspeichers im Cachespeicher vorhanden ist.
Danach wird jedesmal, wenn die Zentraleinheit ein Datenfeld (Dateneinheit) oder eine neue Anweisung be­ nötigt, die entsprechende Adresse für den Hauptspeicher an den Cachespeicher gelegt. Die Adresse wird dazu ver­ wendet, um aus dem zweiten Direktzugriffsspeicher eine Kennzeichnung auszulesen und diese Kennzeichnung dahin­ gehend zu überprüfen, ob die angeforderte Information im Cachespeicher vorhanden ist. Ist diese Information im Cachespeicher vorhanden, wird der erste Direktzu­ griffsspeicher freigegeben, um die betreffende Infor­ mationseinheit der Zentraleinheit zuzuführen. Ist die angeforderte Information im Cachespeicher nicht vorhanden, wird die Adresse zum Hauptspeicher über­ tragen, um von dort die Informationseinheit zu holen. Sobald die neue Informationseinheit empfangen worden ist, wird sie im Cachespeicher gespeichert als auch zur Zentraleinheit übermittelt.
Nach der Erfindung ist ein konfigurierbarer Cache­ speicher zum Speichern von Daten einer Datenquelle vor­ gesehen, worin jedes Datenfeld oder jede Dateneinheit durch eine Adresse aus mehreren Bits identifiziert ist. Der Cachespeicher enthält eine Kennzeichnungsspeicher­ schaltung und eine Datenspeicherschaltung, die beide jeweils einen Adreßeingangskanal einhergehend mit einem Dateneingang und Datenausgang haben. Wenn eine Daten­ einheit, die auch als Datenposten bezeichnet werden kann, von einer Nutzungseinrichtung angefordert wird, erhält der Cachespeicher die Adresse der betreffenden Dateneinheit bzw. des betreffenden Datums und unterteilt die erhaltenen Adreßbits in wenigstens zwei Bitgruppen.
Ein Multiplexer verbindet wahlweise eine der Bit­ gruppen mit den Adreßeingangskanälen der beiden ge­ nannten Speicherschaltungen und verbindet wahlweise die andere der Bitgruppen mit dem Dateneingang der Kenn­ zeichnungsspeicherschaltung. Die Auswahl der beiden Bit­ gruppen ist reversibel. Bei einem bevorzugten Ausfüh­ rungsbeispiel der Erfindung werden die Adreßbits in vier Gruppen unterteilt, und der Multiplexer verbindet wahlweise zwei der Gruppen mit den Adreßeingangskanälen der beiden genannten Speicherschaltungen und verbindet wahlweise die übrigen beiden Bitgruppen mit dem Daten­ eingang der Kennzeichnungsspeicherschaltung. Die Aus­ wahl der verschiedenen Bitgruppen erfolgt in Abhängig­ keit von einen Steuersignal.
Ein Vergleicher empfängt die andere Adreßbit­ gruppe und eine gleiche Anzahl von Bits, die in Ab­ hängigkeit von einer Adressierung durch die andere Bit­ gruppe aus der Kennzeichnungsspeicherschaltung ausge­ lesen sind. Die beiden Sätze Bits werden miteinander verglichen, und der Vergleicher liefert ein Signal, das anzeigt, ob die beiden Sätze Bits identisch mit­ einander sind. Eine Steuerung spricht auf das Signal des Vergleichers dadurch an, daß Daten aus der Daten­ speicherschaltung ausgelesen werden, wenn das Signal eine Übereinstimmung zwischen den Bits anzeigt, oder daß Daten von der Datenquelle gewonnen werden, wenn die Sätze Bits nicht miteinander übereinstimmen. Die mit Hilfe der Steuerung gewonnenen Daten werden der Nutzungseinrichtung zur Verfügung gestellt.
Wenn das Signal anzeigt, daß die zum Vergleich herangezogenen Sätze von Bits nicht miteinander über­ einstimmen, werden bei dem bevorzugten Ausführungs­ beispiel die von der Datenquelle erhaltenen Daten ebenfalls in der Datenspeicherschaltung gespeichert. In diesem Fall wird die andere Adreßbitgruppe in der Kennzeichnungsspeicherschaltung bei einem Platz ge­ speichert, der durch die eine Adreßbitgruppe adressiert wird.
Nach der Erfindung wird somit ein Cachespeicher geschaffen, bei dem die Adreßbits, die als Cachespeicher­ adresse und die als Cachespeicherdaten ausgewählt werden, in Abhängigkeit von einem Steuersignal zu­ sammengestellt werden.
Nach der Erfindung wird der geschaffene Cache­ speicher vorzugsweise in einem Bildverarbeitungssystem angewendet, worin er zum Speichern eines Teils zu verarbeitender Bilddaten dient.
Nach einer vorteilhaften Weiterbildung der Erfin­ dung kann der geschaffene Cachespeicher so konfiguriert werden, daß er unterschiedlich gestaltete Teile oder Abschnitte des Bildes speichern kann.
Nachstehend wird die Erfindung an Hand von Zeich­ nungen beispielshalber erläutert. Es zeigt:
Fig. 1 ein Blockschaltbild eines Videobild­ verarbeitungssystems nach der Erfindung,
Fig. 2 eine Konfiguration eines Cachespeichers zur Speicherung von Abschnitten des Bildes mit einer ersten geometrischen Form,
Fig. 3 ein Blockschaltbild der Cachespeicher­ schaltung, und
Fig. 4 und 5 andere Konfigurationen des Cache­ speichers zum Speichern von Abschnitten des Bildes mit verschiedenen geometrischen Formen.
Ein in Fig. 1 als Blockschaltbild dargestelltes Videobildverarbeitungssystem 10 erhält ein Bildsignal von einer herkömmlichen Rasterabtastvideokamera 12, die zeilenweise Bilddaten bereitstellt. Das Kamera­ signal gelangt zu einem Analog/Digital-Umsetzer (A/D) 14, der das Signal in eine Folge digitaler Bildelemente, sogenannte Pixel, umsetzt, wobei die Grauskala- oder Treppenluminanz jedes Pixels durch eine Mehrbitdigital­ zahl dargestellt ist. Der Analog/Digital-Umsetzer 14 wird getaktet durch ein Signal von einer Speichersteue­ rung 16, und zwar in einer solchen Weise, daß beispiels­ weise für jede Zeile von 512 Horizontalabtastzeilen der Kamera 512 Pixel erzeugt werden. Die Speichersteuerung 16 liefert auch ein Horizontal- und Vertikalsynchronsignal (Sync) an die Kamera 12.
Die Mehrbitpixel des Analog/Digital-Umsetzers 14 gelangen auf einen parallelen Videobus 18. Zwei Doppel­ anschluß- oder Doppelkanal-Direktzugriffsspeicher (RAM) haben Anschlüsse oder Kanäle, die mit dem Videobus 18 verbunden sind, und sie arbeiten als Bild- oder Rahmen­ puffer (Frame-Puffer) 24 und 26 zum Zwischenspeichern oder Halten von Bilddaten. Jeder der Rahmenpuffer 24 und 26 hat eine hinreichende Anzahl Speicherplätze zum Speichern eines Videovollbildes oder Videobildrahmens in der Form einer Anordnung von 512×512 Pixel. Eine Videosignalgeneratorschaltung 20 ist mit dem paralle­ len Videobus 18 verbunden und setzt die Folge vom Bus erhaltener digitaler Pixel in ein herkömmliches analo­ ges Videosignal um, das als Bild auf einem Monitor 22 dargestellt wird.
Ein Graphikspeicher 28, bei dem es sich ebenfalls um einen Doppelanschluß- oder Doppelkanal-RAM handelt, ist mit seinem einen Anschluß oder Kanal an die Video­ signalgeneratorschaltung 20 angeschlossen. Der Graphik­ speicher 28 speichert ein Videobild, das alphanumeri­ sche Zeichen und graphische Symbole zur Darstellung auf dem Monitor 22 enthält. Diese Zeichen und Symbole werden zum Einrichten oder Initialisieren des Verarbei­ tungssystems 10 für die Bildanalyse und zur Darstellung der Ergebnisse der Analyse verwendet. So werden auf dem Monitor 22 beispielsweise symbolartige Bilder, auch "Ikonen" genannt, zur Darbietung eines Menüs von Funk­ tionen dargestellt, aus denen der Anwender mit Hilfe eines Lichtstifts 30 eine Auswahl treffen kann. Die Videosignalgeneratorschaltung 20 überlagert das Bild vom Graphikspeicher 28 einem Bild von der Kamera 12 oder einem Vollbild- oder Rahmenpuffer (Frame-Puffer).
Die Lese- und Schreiboperationen der Rahmenpuffer 24, 26 und des Graphikspeichers 28 werden teilweise durch die Speichersteuerung 16 gesteuert und geführt. Speicherzugriffsteuersignale werden durch diese Steue­ rung 16 über Leitungen 51 an diese Speichereinrich­ tungen gelegt. Während der Bildzugriff- und Darstel­ lungsoperationen erzeugt die Speichersteuerung 16 Adressen, die parallel über Leitungen 50 und über einen Zwei-auf-Eins-Adreßmultiplexer (MUX) 52 auf einen gemeinsamen parallelen Videoadreßbus 53 gegeben werden. Die Adreßeingänge der Rahmenpuffer 24 und 26 und des Graphikspeichers 28 sind mit dem Videoadreßbus 53 verbunden. Jedes Pixel, das in einer dieser Speicher­ einrichtungen gespeichert ist, wird mit einer Digital­ zahl adressiert, die eine Gruppe von Bits aufweist, welche eine horizontale Zeile in der Bildanordnung, in der sich das Pixel befindet, angeben, und eine weitere Gruppe von Bits aufweist, welche eine verti­ kale Spalte der Bildanordnung angeben.
Ein anderer Datenanschluß jedes Rahmenpuffers der Doppelkanal-Rahmenpuffer 24 und 26 ist jeweils mit einem separaten Speicherdatenbus 32 bzw. 34 verbunden. Die Speicherdatenbusse 32 und 34 sind jeweils über separa­ te Sätze von Tristate-Datenpuffern 36 bzw. 38 mit einem parallelen gemeinsamen Datenbus 41 verbunden. Ein zweiter Datenkanal des Graphikspeichers 28 ist über einen weiteren Satz von Tristate-Datenpuffern 40 mit dem gemeinsamen Datenbus 41 verbunden. Jeder der Tristate- Puffer 36, 38 und 40 wird individuell durch Signale an einem gemeinsamen Steuerbus 43 freigegeben oder aktiviert. Das System 10 enthält auch einen gemeinsamen Adreßbus 42, der mit einem anderen Satz oder einer anderen Gruppe von Eingängen des Adreßmultiplexers 52 verbunden ist.
Ein Mikroprozessor 44 ist mit den drei gemeinsamen Bussen 41, 42 und 43 verbunden und führt ein Programm aus, das die Operation des Verarbeitungssystems 10 zum Erfassen und Analysieren von Videobildern, die von der Kamera 12 aufgenommen werden, steuert. Das Programm für den Mikroprozessor 44 ist in einem Festwertspeicher (ROM) 48 abgelegt, der ebenfalls mit den drei gemeinsamen Bussen 41, 42 und 43 verbunden ist. Ein Direktzugriffs­ speicher (RAM) 46 liefert Speicherplätze für Daten, die vom Mikroprozessor 44 während der Ausführung des Pro­ gramms verwendet werden, und für die Ergebnisse der Bildanalyse. Eine Arbitrationsschaltung 49 steuert den Zugriff zu den gemeinsamen Bussen 41, 42 und 43 in herkömmlicher Weise.
Wenn Bilddaten von der Kamera 12 zugegriffen oder erfaßt werden sollen, gibt die Speichersteuerung 16 Steuersignale ab, mittels derer der erste Rahmenpuf­ fer 24 in eine Betriebsart zum Speichern von Daten gebracht wird, die über den mit dem Videobus 18 ver­ bundenen Kanal empfangen werden. Die Bilddaten werden von der Kamera 12 über den Analog/Digital-Umsetzer 14 in den Rahmenpuffer 24 getaktet. Während des Bild­ zugriffprozesses wählt der Adreßmultiplexer 52 das Adreßsignal an den Leitungen 50 von der Speichersteue­ rung 60 zum Anlegen an den ersten Rahmenpuffer 24 aus. Während die Bilddaten durch den Analog/Digital-Umsetzer 14 getaktet werden, werden die Adressen zum Speichern der Pixel inkrementiert. Die Speicherung 16 erwirkt in ähnlicher Weise den Zugriff zu den Rahmenpuffern 24 und 26 und zu dem Graphikspeicher 28, wenn Bilddaten zur Darstellung auf dem Monitor 22 ausgelesen werden sollen. Bei dieser Betriebsart werden die Bilddaten vom ersten Kanal eines ausgewählten Rahmenpuffers 24 oder 26 über den Videobus 18 der Videosignalgenerator­ schaltung 20 zugeführt.
Zu anderen Zeiten erzeugt der Mikroprozessor 44 Adressen zum Auslesen der Bilddaten zwecks Verarbei­ tung. Wenn dies der Fall ist, befiehlt die Speicher­ steuerung 16 dem Adreßmultiplexer 52, den gemeinsamen Adreßbus 42 mit den Rahmenpuffern 24 und 26 zu verbin­ den. Die Daten werden über den zweiten Kanal des aus­ gewählten Rahmenpuffers auf den zugeordneten Speicher­ datenbus 32 oder 34 ausgelesen. Entweder verarbeitet der Mikroprozessor 44 die Bilddaten, oder er befiehlt einem Pipeline-Eingangsmultiplexer 54, den Speicher­ datenbus 32 vom ersten Rahmenpuffer 24 mit dem Eingang einer morphologischen Bildverarbeitungspipeline 56 zu verbinden.
Die morphologische Bildverarbeitungspipeline 56 ist derjenigen ähnlich, die in dem US-Patent Nr. 50 46 190 beschrieben ist. Die Pipeline 56 empfängt Daten vom Mikroprozessor 44, die die Transformation definieren, welche am Bild vorgenommen werden soll. Eine morphologische Transformation beinhaltet die Änderung jedes Pixels auf der Grundlage seines nume­ rischen Wertes und der Werte der benachbarten Pixel. Da jedes Pixel des transformierten Bildes am Ausgang der Pipeline 56 zur Verfügung steht, ist der zweite Rahmenpuffer 26 in der Lage, dieses Pixel zu spei­ chern. Nachdem die Transformation abgeschlossen ist, kann das transformierte Bild vom Mikroprozessor 44 aus dem zweiten Rahmenpuffer 26 zur weiteren Analyse oder Darstellung auf dem Monitor 22 ausgelesen werden.
Als Alternative werden die Bildpixel im ersten Rahmenpuffer 24 von einer Bildverwerfmaschine 60 ge­ lesen, die das Originalbild geometrisch neu anordnet, bevor es der morphologischen Pipeline 56 zugeführt wird. Die Verwerfmaschine 60 nimmt die Neuanordnung des Bildes dadurch vor, daß die Pixel aus dem ersten Rahmenpuffer 24 in einer anderen Reihenfolge als der Rasterabtastreihenfolge, in der sie gespeichert worden sind, ausgelesen werden. So kann das Bild beispiels­ weise um 90° dadurch gedreht werden, daß die Pixel spaltenweise anstatt zeilenweise aus der Anordnung ausgelesen werden. Andererseits kann man eine zwei­ dimensionale lineare Translation des Bildes vornehmen, um einen Gegenstand im Bild bezüglich einer Bezugs- oder Datumposition vor der Analyse zu justieren. Die Verwerfmaschine 60 hat Zugriff auf die Pixel vom ersten Rahmenpuffer 24 über Datenpuffer 36 und den gemeinsamen Datenbus 41 und führt sie über den Ein­ gangsmultiplexer 54 der morphologischen Pipeline 56 zu.
Die Verwerfmaschine 60 hat einen direkten Abbil­ dungscachespeicher, der der morphologischen Pipeline 56 jedesmal, wenn ein Pixel benötigt wird, die Pixel schneller zuführt als durch Auslesen der Pixel aus dem Rahmenpuffer 24. Wie bereits erwähnt, transfor­ miert die Pipeline jedes Pixel aufgrund der Werte von Nachbarpixel. Daher muß bei der Verarbeitung ein gegebenes Pixel wiederholt nicht nur zu seiner Trans­ formation zugegriffen werden, sondern auch zur Trans­ formation seiner Nachbarpixel. Obgleich die Pixel aus den Rahmenpuffern in der Rasterabtastreihenfolge, in der sie gespeichert worden sind, schnell ausgelesen werden können, verlangsamt sich der Ausleseprozeß, wenn eine andere Auslesereihenfolge verwendet wird, beispielsweise ein spaltenweises Auslesen. Weiterhin sind die Rahmenpuffer so ausgelegt, daß sie mehrere Pixel in der gleichen Zeile zu einer Zeit leicht aus­ lesen können. Da aber die Pipeline 56 nur ein Pixel zu einer Zeit empfangen kann, kann sie die Fähigkeit der gleichzeitigen Mehrpixelauslesung nicht als Vorteil nutzen. Die Verwerfmaschine 60 kann die Pixel in Gruppen erfassen, und sie in dem kleinen Cachespeicher speichern, aus dem die einzelnen Pixel schneller zu­ gegriffen werden können als aus den Rahmenpuffern. Somit kann man die Verwerfmaschine noch zur Zufuhr von Pixeln zu der morphologischen Pipeline 56 verwen­ den, obgleich das Bild geometrisch nicht neu angeord­ net werden soll. Die Arbeitsweise der Verwerfmaschine 60 wird nachstehend im einzelnen beschrieben.
Zum Verständnis des Aufbaus und der Arbeitsweise der Verwerfmaschine 60 ist es von Vorteil zu wissen, wie die Pixel in den Rahmenpuffern adressiert werden. Jede Pixeladresse hat beispielsweise eine Länge von 20 Bits. Obgleich nur 18 Bits benötigt werden, um jedes Pixel in einem 512×512 Bild zu adressieren, bezeichnen die zusätzlichen Adreßbits welche der aus den Rahmenpuffern und dem Graphikspeicher bestehenden Speichereinrichtungen das gewünschte Pixel enthält. Die niedrigstwertigen 10 Bits der Adresse geben einen auf die Horizontale bezogenen Platz im Bild an, d. h. eine Spalte der Bildanordnung, und sie werden auf die X-Koordinate bezogen. Die höchstwertigen 10 Bits der Adresse geben einen auf die Vertikale im Bild bezogenen Platz an, d. h. eine Zeile in der Anordnung, und sie werden auf die Y-Koordinate bezogen. Der Cachespeicher hat eine Anzahl Speicherplätze, die ein Bruchteil der Anzahl der Speicherplätze in den Rahmen­ puffern 24 und 26 ist. Somit kann der Cachespeicher eine Unteranordnung der Pixel eines Bildes speichern, das in einem gegebenen Rahmenpuffer enthalten ist. Ein neuartiges Merkmal des hier betrachteten Cachespeichers ist die Fähigkeit, die Dimensionen der Unteranordnung zu definieren und damit die Gestalt des darin gespei­ cherten Bildteils. Zur Vereinfachung der nachstehenden Beschreibung wird der Cachespeicher so betrachtet, als befände sich in jedem seiner Speicherplätze ein einziges Pixel. Typischerweise enthält jeder Speicher­ platz alle 32 Pixel, die gleichzeitig aus einem Rah­ menpuffer gelesen werden können.
Das Bild ist gespeichert in jedem Rahmenpuffer 24 und 26 als eine quadratische, zweidimensionale Anordnung, in der die Anzahl der Pixel in jeder Zeile gleich der Anzahl der Zeilen ist, beispielsweise 512. Diese geo­ metrische Beziehung ist jedoch keine absolute Anforde­ rung, um die Erfindung zu praktizieren. Bei dem in den Zeichnungen dargestellten Ausführungsbeispiel kann der Cachespeicher so konfiguriert werden, daß er ganze Zeilen von Pixel, ganze Spalten von Pixel oder eine quadratische Unteranordnung von Pixeln speichert. Die Unteranordnung irgendeiner dieser Gestalten oder Formen kann man als einen rechteckigen Speicherbereich betrachten, der durch das Bild geschoben wird, um verschiedene Gruppen von Pixel zu speichern, die inner­ halb seiner Grenzen fallen. Einen horizontal konfi­ gurierten Cachespeicher kann man in den Bilddaten beispielsweise dadurch nach unten "verschieben", daß die gegenwärtig gespeicherten Pixel einer Zeile durch die Pixel der nächsten Zeile ersetzt werden. In ähn­ licher Weise kann man den Cachespeicher nach oben bewegen. Wie es noch beschrieben wird, müssen die Pixel in dieser Konfiguration des Cachespeichers nicht notwendigerweise zu einer Zeit durch eine Gesamt­ zeile ersetzt werden. Das Ersetzen kann pixelweise erfolgen, wenn jedes Pixel von einer neuen Zeile be­ nötigt wird.
Zur Vereinfachung der Erläuterung der Arbeits­ weise des Cachespeichers soll anstelle eines vollstän­ digen 512×512 Pixelbildes das in Fig. 2 dargestell­ te 9×9 Pixelbild betrachtet werden. Der Cachespeicher soll neun Speicherplätze haben und als 3×3 Pixel­ unteranordnung konfiguriert sein, wie es durch das ge­ punktete Quadrat (Rechteck) in der oben linken Bild­ ecke angedeutet ist. Diese Unteranordnung kann in Horizontalrichtung des Bildes in drei einander nicht überlappende Positionen gebracht werden. Der X-Koor­ dinatenteil der Pixeladresse kann somit in zwei Segmente von Bits unterteilt werden, die mit XA und XB bezeichnet sind, wobei das XA-Segment die Hori­ zontalposition des Pixels innerhalb des Cachespeichers identifiziert, und das XB-Segment die sich nicht über­ lappende horizontale Unteranordnungsposition angibt. Gleichermaßen kann der Y-Pixelkoordinatenteil der Pixeladresse in zwei Segmente von Bits unterteilt werden, die mit YA und YB bezeichnet sind. Im Er­ gebnis wird somit die 20-Bit-Pixeladresse in vier Segmente von Bits XA, XB, YA und YB heruntergebrochen. Das beispielsweise mit 62 bezeichnete Pixel in dem als Beispiel dienenden Bild hat für die Segmente XA, XB, YA und YB die Werte 0, 2, 2 und 1. Die Verwendung dieser Segmentierung der Adresse wird auch augen­ scheinlich bei der Beschreibung der Verwerfmaschine 60 (image warp engine).
Die Einzelheiten der Verwerfmaschine 60 sind in Fig. 3 dargestellt. Das Herz der Maschine ist eine Bildneu- oder Bildwiederabtastfolgesteuerung (IRS = Image Resampling Sequencer) 70, beispielsweise eine Folgesteuerung Modell TMC2302, hergestellt von der TRW Corp. Die Bildwiedergabeabtastfolgesteuerung empfängt Befehle vom Mikroprozessor 44, der die Bild­ wiedergabeabtastfolgesteuerung zur geometrischen Änderung des Bildes konfiguriert, beispielsweise zur Drehung des Bildes um 90°. Um dies zu tun, erzeugt die Bildwiedergabeabtastfolgesteuerung 70 Adressen zum spaltenweisen Lesen der Pixel des gespeicherten Bildes, d. h. zum aufeinanderfolgenden Lesen der Pixel in einer Spalte, dann in der nächsten Spalte usw. Da die Pixel des Bildes zeilenweise gespeichert worden sind, hat das zeilenweise Auslesen die Wirkung, daß das Bild um 90° gedreht wird. Ob die Pixel von oben nach unten oder von unten nach oben und ob die am weitesten links befindliche oder am weitesten rechts befindliche Spalte zuerst gelesen wird, bestimmt die Richtung der Drehung. Die Geometrie des Bildes kann man in andere Gestalten oder Formen ändern, wie es für einen Fachmann, der Erfahrung in der Verwendung von Bildwiederabtastfolgesteuerungen hat, augenschein­ lich ist, beispielsweise Fachmänner, die spezielle Effekte in der Fernsehtechnik erzeugen.
Jede Adresse wird von der Bildwiederabtastfolge­ steuerung 70 zu einem Cachespeicher 71 weitergegeben, der in Fig. 3 durch gestrichelte Linien umrahmt ist. Vier Sätze oder Gruppen von Leitungen, die die Adreß­ segmente XA, XB, YA und YB übertragen, sind mit einem ersten Satz oder einer ersten Gruppe von Staging- oder Zwischenspeicherlatches 72 verbunden, die das Anlegen einer gegebenen Adresse an einen Satz oder eine Gruppe Adreßpuffer 74 verzögern. Die vier Adreß­ segmente XA, XB, YA und YB werden am Ausgang der Zwischenspeicherlatches 72 auf einen einzigen Parallel­ bus vereint. Die Adreßpuffer 74 übertragen wahlweise die verzögerte Pixeladresse zum gemeinsamen Adreßbus 72.
Die Adresse von der Bildwiederabtastfolgesteuerung 70 wird auch an den Eingang eines Adreßformatmultiplexers 76 geleitet. Der Multiplexer 76 ist durch Steuersignale vom Mikroprozessor 44 so konfiguriert, daß er die vier Eingangsleitungen für die Adreßsegmente XA, XB, YA und YB mit Ausgangsleitungen A1, A2, D1 und D2 ver­ bindet. Das Muster der Verbindung hängt von der geome­ trischen Konfiguration des Cachespeichers 71 ab. Die Konfiguration wird durchgeführt in einer Einricht- oder Initialisierbetriebsart unter Verwendung des Licht­ stiftes 30, mit dessen Hilfe geeignete Ikonen ausge­ wählt werden können; die auf dem Monitor 22 dargestellt sind, wie es in dem US-Patent Nr. 49 16 640 beschrieben ist. Für die quadratische (rechteckförmige) Cache­ speicherkonfiguration, die in Fig. 2 dargestellt ist, liefert der Adreßformatmultiplexer 76 das Adreßsegment an die Ausgangsleitungen A1, das Adreßsegment YA an die Ausgangsleitungen A2, das Adreßsegment XB an die Ausgangsleitungen D1 und das Adreßsegment YB an die Ausgangsleitungen D2. Die Bits an den Leitungen A1 und A2 enthalten die Adresse für den Cachespeicher 71, und die Bits an den Leitungen D1 und D2 stellen im allge­ meinen das dar, das man allgemein als "Cachekennzeichnung" (cache tag) oder "Cachekennzeichnungsdaten" (cache tag data) bezeichnet.
Die Cacheadreßleitungen A1 und A2 und die Cache­ datenleitungen D1 und D2 sind mit dem Adreßkanal bzw. Datenkanal eines Cachekennzeichnungs-RAM 78 verbunden. Die Mehrbitadreßleitungen A1 und A2 tragen ein Signal, das die im Cachekennzeichnungs-RAM 78 zuzugreifenden Speicherplätze auswählt. Wenn sich der RAM 78 in der Schreibbetriebsart befindet, werden die Daten, die an den Mehrbitdatenleitungen D1 und D2 anliegen, mit einem hohen Logikpegelbit an einer Dateneingangsleitung 79 im RAM gespeichert. In der Lesebetriebsart werden die Inhalte des adressierten Speicherplatzes in Parallelform vom Cachekennzeichnungs-RAM 78 durch einen Datenkanal an zwei Sätze oder Gruppen von Ausgangsbitleitungen D1′ und D2′ und eine Einzelbitleitung 81 gesendet. Der Cachekennzeichnungs-RAM 78 kann ein Zweianschluß- oder Zweikanalbauelement sein, oder ein Tristate-Puffer kann verwendet werden, um den Einzeldatenkanal des RAM von den Ausgangsleitungen D1 und D2 des Adreßformatmulti­ plexers 76 zu trennen, mit Ausnahme für den Fall, daß Daten gespeichert werden sollen.
Die Inhalte des Cachekennzeichnungs-RAM 78 werden zu einem Satz oder einer Gruppe von Eingängen eines Mehrbitvergleichers 80 geschickt, der mit anderen Ein­ gängen an die Datenleitungen D1 und D2 sowie an eine Leitung 82 mit konstantem hohen Logikpegel angeschlossen ist. Der Vergleicher 80 stellt fest, ob die Bitmuster an den beiden Sätzen oder Gruppen von Eingängen identisch sind und liefert eine Anzeige über diese Feststellung an eine Ausgangsleitung 84. Diese Feststellung wird einer Cachespeichersteuerung 86 zugeführt, die die Arbeitsweise des Cachespeichers 71 dirigiert und führt, wie es noch beschrieben wird. Die Cachespeichersteuerung 86 ist über eine Reihe Steuerleitungen mit vielen der Bau­ einheiten des Cachespeichers 71 verbunden, wie es aus Fig. 3 hervorgeht.
Die Cacheadreßleitungen A1 und A2 sind auch an einen zweiten Satz oder eine zweite Gruppe von Staging- oder Zwischenspeicherlatches 88 angeschlossen, die eine Verzögerung vorsehen zwischen der Erzeugung der Adresse durch die Bildwiederabtastfolgesteuerung 70 und der Ankunftszeit dieser Adresse bei den Adreßein­ gängen eines Cachedaten-RAM 90. Diese Verzögerung trägt für die Verarbeitungszeit Sorge, die erforderlich ist, bevor durch den Vergleicher eine Anzeige bereitgestellt wird, ob das gewünschte Pixel im Daten-RAM 90 des Cachespeichers 71 vorhanden ist. Ist das gewünschte Pixel vorhanden, wird es aus dem Cachedaten-RAM 90 ausgelesen und über Ausgangsleitungen 92 und über den Multiplexer 54 der morphologischen Pipeline 56 zugeführt. Der Datenanschluß oder Datenkanal des Cachedaten-RAM 90 kann auch über einen Satz oder eine Gruppe Datenpuffer 94 aufgrund eines Steuersignals von der Cachespeichersteuerung 86 mit dem gemeinsamen Datenbus 41 verbunden werden.
Da der Cachespeicher 71 lediglich einen Teil der Bilddaten speichert, die im ersten Rahmenpuffer 24 ge­ speichert sind, ist ein Mechanismus erforderlich, um zu bestimmen, ob ein gegebenes Pixel, das von der Bild­ wiederabtastfolgesteuerung 70 gesucht wird, im Daten- RAM 90 gespeichert ist. Dies ist die Funktion des Cache­ kennzeichnungssystems. Unter Bezugnahme auf die Kon­ figuration des Cachespeichers, wie er in Fig. 2 dar­ gestellt ist, liefert der Adreßformatmultiplexer 76, wenn die Bildwiederabtastfolgesteuerung 70 eine Adresse erzeugt, die Bits im Adreßsegment XA an die Ausgangsleitungen A1, im Segment YA an die Ausgangs­ leitungen A2, im Segment XB an die Ausgangsleitungen D1 und im Segment YB an die Ausgangsleitungen D2. Dieses Verbindungsmuster ist definiert durch Daten, die der Adreßformatmultiplexer 76 vorher vom Mikro­ prozessor 44 empfangen und gespeichert hat, und zwar aufgrund des Einricht- oder Initialisierungsprozesses. Der Adreßformatmultiplexer 76 wählt aus, welche Gruppe von Pixeladreßbits als Cacheadressen benutzt werden und welche als Cachedaten benutzt werden. Die Mehrbits an den Cacheadreßleitungen A1 und A2 greifen zu auf einen spezifischen Platz im Cachekennzeichnungs-RAM 78, der Daten enthält, die identifizieren, ob das ge­ wünschte Pixel im Cachedaten-RAM 90 gespeichert ist.
Wenn ein neues Bild erfaßt und im ersten Rahmen­ puffer 24 gespeichert wird, wird der Cachekennzeich­ nungsspeicher 78 von der Cachespeichersteuerung 86 unter Ausgabe eines Löschsignals über eine Leitung 96 gelöscht. Der Cachekennzeichnungsspeicher spricht auf dieses Signal dadurch an, daß er in all seinen Speicherplätzen Nullen speichert. Wenn die Bildwieder­ abtastfolgesteuerung 70 eine Pixeladresse zum erstenmal danach erzeugt, werden alle Nullen aus dem Cachekenn­ zeichnungsspeicher 78 auf die Leitungen 81, D1′ und D2′ gelesen. Der Vergleicher 80 spricht anfangs auf ein Vergleichsfreigabesignal von der Cachespeichersteuerung 86 dadurch an, daß er einen Logikpegel an der Leitung 81 mit dem konstanten hohen Logikpegel an der Leitung 82 vergleicht. Ein hoher Logikwert an diesen beiden Lei­ tungen zeigt an, daß Kennzeichnungsdaten zuvor in dem adressierten Platz des Cachekennzeichnungs-RAM 78 ge­ speichert worden sind. Bei dem betrachteten Beispiel sind zum gegenwärtigen Zeitpunkt die Logikpegel nicht einander gleich, da an der Leitung 81 ein niedriger oder Nullpegel anliegt, der anzeigt, daß der Kennzeich­ nungsspeicherplatz gelöscht worden ist und daß das gewünschte Pixel im Cachedaten-RAM 90 nicht vorhanden ist.
Unter Bezugnahme auf Fig. 1 und 3 sei erläutert, daß die Cachespeichersteuerung 86 auf diese Anzeige dadurch anspricht, daß dem Cachekennzeichnungs-RAM 78 befohlen wird, die Bits an den Datenleitungen 79, D1 und D2 in den adressierten Platz zu schreiben. Zu dieser Zeit fordert die Cachespeichersteuerung die Arbitrations­ schaltung 49 auch zum Zugriff zu dem Satz oder der Gruppe gemeinsamer Busse 41, 42 und 43 auf. Wenn dieser Zugriff erteilt ist, wird die Adresse des gewünschten Pixel durch den Adreßpuffer 74 von den Zwischenspeicher­ latches 72, wo es gespeichert worden ist, dem gemeinsamen Adreßbus 42 zugeführt. Dem Adreßmultiplexer 52 wird befohlen, den gemeinsamen Adreßbus 42 mit dem Video­ adreßbus 53 zu verbinden. Dem Datenpuffer 36 für den ersten Rahmenpuffer 24 wird ebenfalls befohlen, seinen Speicherdatenbus 32 mit dem gemeinsamen Datenbus 41 zu verbinden. Sobald diese Verbindung vollständig ist, wird das gewünschte Pixel aus dem ersten Rahmenpuffer 24 wiedergewonnen und der Bildverwerfmaschine 60 zugeführt.
Das wiedergewonnene Pixel wird durch den Cache­ datenpuffer 94 geleitet, von dem aus es gleichzeitig an den Cachedaten-RAM 90 und an die morphologische Bildprozessorpipeline 56 über den Multiplexer 54 gelegt wird. Die Cachespeichersteuerung 86 befiehlt dann dem Cachedaten-RAM 90 das wiedergewonnene Pixel in dem Platz zu speichern, der durch die Adreßsegmente A1 und A2 bezeichnet ist. Dies vervollständigt den Prozeß be­ züglich der ersten Adresse von der Bildwiederabtast­ folgesteuerung 70.
Möglicherweise wird die Bildwiederabtastfolge­ steuerung 70 eines der Pixel, die zuvor im Cachespeicher 71 gespeichert worden sind, wieder aufsuchen wollen. Wenn dies auftritt, segmentiert der Adreßformatmulti­ plexer 76 die Adresse von der Bildwiederabtastfolge­ steuerung auf die Leitungen A1, A2, D1 und D2, wie es zuvor beschrieben worden ist. Die Bits an den Cacheadreß­ leitungen A1 und A2 nehmen Zugriff auf den geeigneten Speicherplatz im Cachekennzeichnungs-RAM 78, aus dem Daten auf die Leitungen 81, D1 und D2 gelesen werden. Diesmal hat das Bit an der Leitung 81 einen hohen logi­ schen Pegel, und zwar aufgrund der vorangegangenen Spei­ cherung des Bit von der Leitung 79 im adressierten Platz. Wenn jetzt der Vergleicher 80 die Bits an den Leitungen 81 und 82 miteinander vergleicht, haben beide Bits den­ selben hohen logischen Pegel. Diese Übereinstimmung veranlaßt, daß der Vergleicher fortfährt, mit dem Vergleich der Bits an den Leitungen D1 mit denjenigen an den Leitungen D1′ und mit dem Vergleich der Bits an den Leitungen D2 mit denjenigen an den Leitungen D2′. Eine Übereinstimmung all dieser Bits zeigt an, daß das gewünschte Pixel im Cachespeicher 71 gespeichert ist. Das Auftreten einer vollständigen Datenüberein­ stimmung wird vom Vergleicher 80 der Cachespeichersteue­ rung 86 signalisiert. Die Steuerung spricht darauf an, daß sie dem Cachedaten-RAM 90 befiehlt, das Pixel, das bei der von den Adreßsegmenten A1 und A2 spezifizierten Adresse gespeichert ist, auszulesen. Der vollständige Vergleichsprozeß dauert einige Taktzyklen, während wel­ cher Zeit die Bildwiederabtastfolgesteuerung 70 andere Pixeladressen erzeugt. Die Zwischenspeicherlatches 88 sehen daher eine solche Verzögerung vor, daß die ent­ sprechenden Adreßsegmente für die Eingänge des Cachedaten- RAM 90 bei der Vollendung des Vergleichs verfügbar sind. Diese Segmente werden in den Zwischenspeicherlatches ersetzt, wenn beim Ausgang des Adreßmultiplexers 76 ein anderes Paar erzeugt wird.
Ist das gewünschte Pixel im Cachedaten-RAM 90 nicht gespeichert, stellt der Vergleicher 80 eine Übereinstim­ mung der Daten an den Leitungen D1 und D2 mit denjenigen an den Leitungen D1′ und D2′ nicht fest. Wenn dies der Fall ist, muß die Bildverwerfmaschine 60 das gewünschte Pixel aus dem ersten Rahmenpuffer 24 in einer Art und Weise zugreifen und erfassen, die der oben beschriebenen beim Zugriff auf ein neues Bild ähnlich ist. Bei der Beendigung des vollen Vergleichsprozesses ist die von der Bildwiederabtaststeuerung 70 gegenwärtig erzeugte Adresse nicht dieselbe Adresse, die die Nichtüberein­ stimmung erzeugt hat. Tatsächlich wurden einige Adressen während der für den Vergleich benötigten Zeit erzeugt. Diese Adressen sind allerdings alle in der ersten Gruppe oder dem ersten Satz von Zwischenspeicherlatches 72 ge­ speichert. Die Cachespeichersteuerung 86 spricht auf die Nichtübereinstimmungsanzeige dadurch an, daß sie die entsprechende Adresse aus der ersten Gruppe von Zwischenspeicherlatches 72 auswählt und an den gemein­ samen Adreßbus 42 legt, um das gewünschte Pixel von dem ersten Rahmenpuffer 24 zu erhalten. Wenn dieses neue Pixel vom Cachespeicher 71 empfangen wird, wird es in den geeigneten Platz des Cachedaten-RAM 90 geschrie­ ben und ersetzt bei diesem Platz irgendein vorangegangenes Pixel. Zur gleichen Zeit wird der entsprechende Platz in dem Cachekennzeichnungs-RAM 78 mit neuen Daten an den Leitungen D1 und D2 für das neue Pixel aktualisiert. Es sei noch bemerkt, daß jede von der Bildwiederabtast­ folgesteuerung 70 erzeugte Adresse die älteste Adresse in den Zwischenspeicherlatches 72 ersetzt.
Ein Hauptmerkmal des hier betrachteten Cache­ speichers 71 ist die Fähigkeit, die Geometrie des Speicherbereiches für die Unteranordnung von Pixel in dem Bild zu konfigurieren. Fig. 4 veranschaulicht wie ein solcher Cachespeicher 71 mit neun Speicherplätzen eingerichtet oder initialisiert werden kann, und zwar mit dem Ziel, anstelle der quadratischen (rechteckigen) 3×3 Anordnung nach Fig. 2 eine Spalte von Pixel zu speichern. Zum Konfigurieren des Cachespeichers in dieser Art und Weise sendet der Mikroprozessor 44 Steuer­ signale an den Adreßformatmultiplexer 76, die diesen Multiplexer veranlassen, die folgenden Verbindungen herzustellen: Eingang YA auf Ausgang A1, Eingang YB auf Ausgang A2, Eingang XA auf Ausgang D1 und Eingang XB auf Ausgang D2. In dieser Konfiguration wählen die Pixeladreßsegmente YA und YB den Speicherplatz des Cachespeichers aus, und die Pixeladreßsegmente XA und XB bestimmen die Position der spaltenförmigen Unter­ anordnung auf dem Bild. Das bedeutet, daß die Segmente YA und YB die Cacheadresse bilden und daß die Segmente XA und XB die Cachekennzeichnungsdaten ausmachen. Die Verarbeitung der Adressen durch den Cachespeicher 71 ist dieselbe wie bei der zuvor beschriebenen quadratischen (rechteckförmigen) Unteranordnung.
Abweichend davon kann man den Cachespeicher 71 so konfigurieren, daß er eine vollständige Horizontalzeile des Bildes speichert, wie es in Fig. 5 dargestellt ist. In diesem Fall erhält der Adreßformatmultiplexer 76 den Befehl, die folgenden Verbindungen vorzunehmen: Eingang XA auf Ausgang A1, Eingang XB auf Ausgang A2, Eingang YA auf Ausgang D1 und Eingang YB auf Ausgang D2. Bei dieser Konfiguration wählen die Pixeladreßsegmente XA und XB den Speicherplatz des Cachespeichers aus, und die Segmente YA und YB bestimmen die Position der horizontalen Unteranordnung längs der Vertikalen im Bild. Das heißt, daß die Segmente XA und XB die Cache­ adresse bilden, und die Segmente YA und YB machen die Cachekennzeichnungsdaten aus.
Wie bereits bemerkt, stellen Fig. 2, 4 und 5 ein vereinfachtes Bild und eine vereinfachte Cachespeicher­ initialisierung dar. In Wirklichkeit sind im Cache­ speicher 71 einige Spalten oder Zeilen anstelle nur einer einzigen Spalte oder Zeile gespeichert, wie es in Fig. 4 und 5 der Einfachheit halber veranschaulicht ist. Weiterhin kann man durch eine komplexere Verbindung spezifischer Bits der Pixeladresse mit den Sätzen oder Gruppen von Leitungen A1, A2, D1 und D2 andere geometri­ sche Formen für die Cachespeicherunteranordnung defi­ nieren.

Claims (9)

1. Cachespeicher zum Speichern von Daten einer Daten­ quelle, worin jedes Datenfeld durch eine Adresse aus mehreren Bits identifiziert ist, enthaltend:
eine Einrichtung (70, XA, XB, YA, YB) zum Empfangen der Adresse und aufweisend mehrere Bitleiter (XA, XB, YA, YB), die in wenigstens eine erste Bitleitergruppe und eine zweite Bitleitergruppe unterteilt sind,
einen Kennzeichnungsspeicher (tag memory) (78) mit einem Adreßeingangskanal und einer Dateneingangs- und -ausgangseinrichtung,
einen Direktzugriffsspeicher (90) zum Speichern der Daten mit einem Adreßeingangskanal,
einen Multiplexer (76), der mit der Einrichtung zum Empfangen der Adresse verbunden ist, zum wahlweisen Ver­ binden eine der ersten und zweiten Bitleitergruppen mit dem Adreßeingangssignal des Kennzeichnungsspeichers und des Direktzugriffsspeichers und zum wahlweisen Verbinden der anderen der ersten und zweiten Bitleitergruppen mit der Dateneingangs- und -ausgangseinrichtung des Kenn­ zeichnungsspeichers in Abhängigkeit von einem Steuer­ signal,
eine Einrichtung (80) zum Vergleichen eines ersten Satzes Bits, die an der anderen der ersten und zweiten Bitleitergruppe anliegen, mit einem zweiten Satz Bits, die aus dem Kennzeichnungsspeicher gelesen sind, und zum Erzeugen eines Signals, das das Ergebnis des Ver­ gleiches anzeigt, und
eine Steuerung (86), die das Signal von der Einrich­ tung zum Vergleichen empfängt und darauf derart an­ spricht, daß Daten aus dem Direktzugriffsspeicher ausge­ lesen werden, wenn das Signal eine Übereinstimmung zwischen dem ersten und zweiten Satz Bits anzeigt, oder daß Daten aus der Datenquelle ausgelesen werden, wenn das Signal anzeigt, daß der erste Satz Bits mit dem zweiten Satz Bits nicht übereinstimmt.
2. Cachespeicher nach Anspruch 1, bei dem die Steuerung (86) veranlaßt, das die Daten von der Datenquelle im Direktzugriffsspeicher gespeichert werden und die Bits, die an der anderen der ersten und zweiten Bitleiter­ gruppen anliegen, im Kennzeichnungsspeicher gespeichert werden, wenn das Signal anzeigt, daß der erste und zweite Satz Bits nicht miteinander übereinstimmen.
3. Cachespeicher zum Speichern von Daten einer Daten­ quelle, worin jedes Datenfeld durch eine Adresse aus mehreren Bits identifiziert ist, enthaltend:
eine Einrichtung (44) zum Bereitstellen eines Konfigurationssteuersignals,
eine Einrichtung (70, XA, XB, YA, YB) zum Empfangen der Adresse eines Datenfeldes und aufweisend mehrere Bit­ leiter (XA, XB, YA, YB), die in vier Gruppen unterteilbar sind,
einen Kennzeichnungsspeicher (tag memory) (78) mit einem Adreßeingangskanal und einer Dateneingangs/Ausgangs­ einrichtung,
einen Direktzugriffsspeicher (90) zum Speichern von Daten und mit einem Adreßeingangskanal und einer Daten­ eingangs/Ausgangseinrichtung,
einen Multiplexer (76), der mit der Einrichtung (70) zum Empfangen der Adresse verbunden ist und auf die Ein­ richtung (44) zum Bereitstellen eines Konfigurationssteuer­ signals anspricht, zum wahlweisen Verbinden zwei der Bit­ leitergruppen mit einem Satz Ausgangsleitungen und zum wahlweisen Verbinden der anderen beiden Bitleitergruppen mit der Dateneingangs/Ausgangseinrichtung des Kennzeich­ nungsspeichers,
eine Einrichtung (A1, A2, 88) zum Verbinden des Satzes Ausgangsleitungen mit den Adreßeingangskanälen des Kennzeichnungsspeichers und des Direktzugriffsspeichers,
eine Einrichtung (80) zum Vergleichen eines ersten Satzes Bits, die an den anderen beiden der Bitleitergrup­ pen anliegen, mit einem zweiten Satz Bits, die aus dem Kennzeichnungsspeicher ausgelesen sind, und zum Erzeugen eines Signals, das das Ergebnis dieses Vergleiches anzeigt, und
eine Steuerung (86), die das Signal von der Ein­ richtung zum Vergleichen empfängt und darauf derart anspricht, daß Daten aus dem Direktzugriffsspeicher ausgelesen werden, wenn das Signal eine Übereinstimmung zwischen dem ersten und zweiten Satz Bits anzeigt, oder Daten aus der Datenquelle ausgelesen werden, wenn das Signal anzeigt, daß der erste Satz Bits und der zweite Satz Bits nicht miteinander übereinstimmen.
4. Cachespeicher nach Anspruch 3, bei dem die Steuerung (86) auch veranlaßt, daß die Daten von der Datenquelle in dem Direktzugriffsspeicher gespeichert werden und die Bits, die an den anderen beiden der Bitleitergruppen anliegen, in dem Kennzeichnungsspeicher gespeichert werden, wenn das Signal anzeigt, daß der erste Satz Bits und der zweite Satz Bits nicht miteinander übereinstimmen.
5. Cachespeicher nach Anspruch 3 oder 4, bei dem die Einrichtung (A1, A2, 88) zum Verbinden einen Satz Zwischenspeicherlatches (88) enthält, die den Satz Ausgangsleitungen mit dem Adreßeingangskanal des Direkt­ zugriffsspeichers verbinden.
6. Bildverarbeitungssystem mit einem Rahmenpuffer (Frame-Puffer), in dem ein aus einer Vielzahl Pixel bestehendes Bild gespeichert ist und jedes Pixel durch eine Adresse aus mehreren Bits identifiziert ist, und mit einer Pixelnutzungsschaltung, enthaltend:
einen Cachespeicher (71) zum Steuern der Übertra­ gung von Pixel von dem Rahmenpuffer (24) zu der Pixel­ nutzungsschaltung (20, 22), und ferner aufweisend:
eine Einrichtung (44) zum Bereitstellen eines Kon­ figurationssteuersignals,
einen Kennzeichnungsspeicher (tag memory) (78) mit einem Adreßeingangskanal und einer Dateneingangs- und -ausgangseinrichtung,
einen Direktzugriffsspeicher (90) zum Speichern von Pixel und mit einem Adreßeingangskanal und einer Dateneingangs- und -ausgangseinrichtung,
eine Einrichtung (70) zum Erzeugen von Adressen von Pixel, die durch die Pixelnutzungsschaltung ver­ arbeitet werden sollen und zum Anlegen jeder Adresse an mehrere Bitleiter, die in vier Gruppen unterteilt sind,
einen Multiplexer (76), der mit der Einrichtung zum Erzeugen von Adressen verbunden ist, zum wahlweisen Verbinden von zwei der Bitleitergruppen mit dem Adreß­ eingangssignal des Kennzeichnungsspeichers und des Direktzugriffsspeichers und zum wahlweisen Verbinden der anderen beiden der Bitleitergruppen mit der Daten­ eingangs- und -ausgangseinrichtung des Kennzeichnungs­ speichers, wobei das wahlweise Verbinden in Abhängig­ keit von der Einrichtung zum Bereitstellen eines Kon­ figurationssteuersignals geschieht,
eine Einrichtung (80) zum Vergleichen eines ersten Satzes Bits, die an den anderen beiden der Bitleiter­ gruppen anliegen, mit einem zweiten Satz Bits, die aus dem Kennzeichnungsspeicher ausgelesen sind, und zum Er­ zeugen eines Signals, das das Vergleichsergebnis an­ zeigt, und
eine Steuerung (86), die das Signal von der Ein­ richtung zum Vergleichen empfängt und veranlaßt, daß ein Pixel aus dem Direktzugriffsspeicher ausgelesen wird, wenn das Signal eine Übereinstimmung zwischen dem ersten Satz Bits und dem zweiten Satz Bits anzeigt, oder daß ein Pixel aus dem Rahmenpuffer gelesen wird, wenn das Signal anzeigt, daß der erste Satz Bits und der zweite Satz Bits nicht miteinander übereinstimmen.
7. Bildverarbeitungssystem nach Anspruch 6, bei dem die Steuerung (86) auch veranlaßt, daß das Pixel vom Rahmenpuffer im Direktzugriffsspeicher gespeichert wird und daß Bits, die an den anderen beiden der Bit­ leitergruppen anliegen, im Kennzeichnungsspeicher ge­ speichert werden, wenn das Signal anzeigt, daß der erste Satz Bits und der zweite Satz Bits nicht mit­ einander übereinstimmen.
8. Datenverarbeitungssystem nach Anspruch 6 oder 7, ferner enthaltend einen Satz Zwischenspeicherlatches (88), die den Multiplexer mit dem Adreßeingangskanal des Direktzugriffsspeichers verbinden.
9. Datenverarbeitungssystem nach einem der Ansprüche 6 bis 8, ferner enthaltend einen Satz Zwischenspeicher­ latches (72), die ansprechend auf die Steuerung (86) die Einrichtung (70) zum Erzeugen von Adressen von Pixel mit dem Rahmenpuffer (24) verbinden, wenn das Signal anzeigt, daß der erste Satz Bits und der zweite Satz Bits nicht miteinander übereinstimmen.
DE4227733A 1991-08-30 1992-08-21 Konfigurierbarer cachespeicher und datenverarbeitungssystem mit einem derartigen speicher Ceased DE4227733A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US75241691A 1991-08-30 1991-08-30

Publications (1)

Publication Number Publication Date
DE4227733A1 true DE4227733A1 (de) 1993-03-04

Family

ID=25026234

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4227733A Ceased DE4227733A1 (de) 1991-08-30 1992-08-21 Konfigurierbarer cachespeicher und datenverarbeitungssystem mit einem derartigen speicher

Country Status (4)

Country Link
US (1) US5602984A (de)
JP (1) JPH05233447A (de)
DE (1) DE4227733A1 (de)
FR (1) FR2680890B1 (de)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6131140A (en) * 1995-12-22 2000-10-10 Cypress Semiconductor Corp. Integrated cache memory with system control logic and adaptation of RAM bus to a cache pinout
KR100188012B1 (ko) * 1996-01-12 1999-06-01 윤종용 캐시 메모리의 사용 모드 설정 장치
US5761720A (en) * 1996-03-15 1998-06-02 Rendition, Inc. Pixel engine pipeline processor data caching mechanism
US6031550A (en) * 1997-11-12 2000-02-29 Cirrus Logic, Inc. Pixel data X striping in a graphics processor
US6061092A (en) * 1997-12-05 2000-05-09 Intel Corporation Method and apparatus for dark frame cancellation for CMOS sensor-based tethered video peripherals
WO1999059069A1 (de) * 1998-05-07 1999-11-18 Infineon Technologies Ag Cache-speicher für zweidimensionale datenfelder
US6222561B1 (en) 1998-09-17 2001-04-24 International Business Machines Corporation Render optimization using page alignment techniques
US6608625B1 (en) * 1998-10-14 2003-08-19 Hitachi, Ltd. Three dimensional graphic processor
US6720968B1 (en) * 1998-12-11 2004-04-13 National Instruments Corporation Video acquisition system including a virtual dual ported memory with adaptive bandwidth allocation
JP4440477B2 (ja) * 1998-12-22 2010-03-24 エヌエックスピー ビー ヴィ 可動な二次元窓中でアクセスするキャッシュ方法
US6452603B1 (en) * 1998-12-23 2002-09-17 Nvidia Us Investment Company Circuit and method for trilinear filtering using texels from only one level of detail
US6928516B2 (en) * 2000-12-22 2005-08-09 Texas Instruments Incorporated Image data processing system and method with image data organization into tile cache memory
EP1555828A1 (de) * 2004-01-14 2005-07-20 Sony International (Europe) GmbH Verfahren für die Vorverarbeitung von blockbasierten Videodaten
US8593474B2 (en) * 2005-12-30 2013-11-26 Intel Corporation Method and system for symmetric allocation for a shared L2 mapping cache
JP4201030B2 (ja) * 2006-07-19 2008-12-24 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置及び画像読取装置
US7737985B2 (en) * 2006-11-09 2010-06-15 Qualcomm Incorporated Pixel cache for 3D graphics circuitry
JPWO2008126227A1 (ja) * 2007-03-29 2010-07-22 富士通マイクロエレクトロニクス株式会社 表示制御装置、情報処理装置、および表示制御プログラム
KR20100069240A (ko) * 2008-12-16 2010-06-24 삼성전자주식회사 캐시 컨트롤을 위한 장치 및 방법
US8639296B2 (en) * 2011-06-07 2014-01-28 Lg Electronics Inc. Mobile device and an image display method thereof
US20130027416A1 (en) * 2011-07-25 2013-01-31 Karthikeyan Vaithianathan Gather method and apparatus for media processing accelerators

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5077678A (en) * 1989-11-21 1991-12-31 Texas Instruments Incorporated Graphics data processor with window checking for determining whether a point is within a window
US5029105A (en) * 1987-08-18 1991-07-02 Hewlett-Packard Programmable pipeline for formatting RGB pixel data into fields of selected size
US5146592A (en) * 1987-09-14 1992-09-08 Visual Information Technologies, Inc. High speed image processing computer with overlapping windows-div
JPH01262585A (ja) * 1988-04-14 1989-10-19 Nec Corp フレームバツフアキヤツシユ回路
US5046190A (en) * 1988-09-06 1991-09-03 Allen-Bradley Company, Inc. Pipeline image processor
JP2845946B2 (ja) * 1989-06-14 1999-01-13 株式会社日立製作所 画像データ変換装置
US5056044A (en) * 1989-12-21 1991-10-08 Hewlett-Packard Company Graphics frame buffer with programmable tile size

Also Published As

Publication number Publication date
FR2680890B1 (fr) 1996-03-08
FR2680890A1 (fr) 1993-03-05
US5602984A (en) 1997-02-11
JPH05233447A (ja) 1993-09-10

Similar Documents

Publication Publication Date Title
DE4227733A1 (de) Konfigurierbarer cachespeicher und datenverarbeitungssystem mit einem derartigen speicher
DE3689926T2 (de) Einrichtung zur sequenziellen Bildtransformation.
DE3339178C2 (de)
DE4013263C2 (de) Vorrichtung zur Farbauswahl bei einem Ausgabegerät mit Fensteranzeige
DE3587750T2 (de) Peripheriegerät für Bildspeicher.
DE3852185T2 (de) Bildspeicher für Raster-Video-Anzeige.
DE69227048T2 (de) Verfahren und Geräte zur Bildplanungsverarbeitung
DE69225839T2 (de) Filtersystem und Verfahren zur Bildverarbeitung mit sehr hoher Geschwindigkeit
DE68919781T2 (de) Videospeicheranordnung.
DE2438202B2 (de) Vorrichtung zur Erzeugung eines vorbestimmten Textes von Zeicheninformation, welche auf dem Bildschirm einer Videowiedergabeeinheit darstellbar ist
DE3887340T2 (de) Videowiedergabesystem.
DE3851264T2 (de) Bildverarbeitungsverfahren.
DE69009544T2 (de) Beeinflussung eines Bildes.
DE69229033T2 (de) Bildverarbeitungssystem
DE3587765T2 (de) Einrichtung zum Speichern von multi-bit Bildelementdaten.
DE69802041T2 (de) Graphisches Verarbeitungsgerät und -verfahren
DE2324063C3 (de) Pufferspeichereinrichtung
DE3850389T2 (de) Verfahren zum unterteilen einer figur in bereiche in einem graphischen anzeigesystem.
DE69126812T2 (de) Videosystem mit einer Bildkombinationsfunktion
DE3789341T2 (de) Verarbeitung von Videobildsignalen.
DE3885294T2 (de) Parallele pipeline-bildverarbeitungseinheit mit einem 2x2-fenster.
DE3933253A1 (de) Einrichtung und verfahren zur durchfuehrung von booleschen rasteroperationen an quellen- und zieldaten
DE3783177T2 (de) System zur verbesserung der funktion von zwei-farben-anzeigen.
DE2654010A1 (de) Fernsehanordnung
DE4103880C2 (de) Bildverarbeitungsgerät und -verfahren

Legal Events

Date Code Title Description
8128 New person/name/address of the agent

Representative=s name: LIPPERT, H., DIPL.-ING., PAT.-ANW., 60322 FRANKFUR

8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: G06F 12/08

8131 Rejection