DE4227733A1 - Konfigurierbarer cachespeicher und datenverarbeitungssystem mit einem derartigen speicher - Google Patents
Konfigurierbarer cachespeicher und datenverarbeitungssystem mit einem derartigen speicherInfo
- 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
Links
- 230000015654 memory Effects 0.000 title claims abstract description 109
- 238000012545 processing Methods 0.000 title claims description 20
- 238000000034 method Methods 0.000 title description 9
- 230000008569 process Effects 0.000 title description 8
- 239000000872 buffer Substances 0.000 claims description 53
- 230000006870 function Effects 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 2
- 239000004020 conductor Substances 0.000 claims 8
- 230000004044 response Effects 0.000 claims 1
- 230000008901 benefit Effects 0.000 abstract description 2
- 238000012952 Resampling Methods 0.000 description 10
- 230000000877 morphologic effect Effects 0.000 description 8
- 230000009466 transformation Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 150000001875 compounds Chemical class 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000010191 image analysis Methods 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006740 morphological transformation Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing 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.
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.
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.
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.
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)
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)
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 |
-
1992
- 1992-08-21 DE DE4227733A patent/DE4227733A1/de not_active Ceased
- 1992-08-27 JP JP4228687A patent/JPH05233447A/ja active Pending
- 1992-08-28 FR FR9210374A patent/FR2680890B1/fr not_active Expired - Fee Related
-
1994
- 1994-08-02 US US08/284,879 patent/US5602984A/en not_active Expired - Fee Related
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 |