DE69528722T2 - Vielseitiger DRAM-Zugriff in einem Rasterpufferspeicher - Google Patents
Vielseitiger DRAM-Zugriff in einem RasterpufferspeicherInfo
- Publication number
- DE69528722T2 DE69528722T2 DE69528722T DE69528722T DE69528722T2 DE 69528722 T2 DE69528722 T2 DE 69528722T2 DE 69528722 T DE69528722 T DE 69528722T DE 69528722 T DE69528722 T DE 69528722T DE 69528722 T2 DE69528722 T2 DE 69528722T2
- Authority
- DE
- Germany
- Prior art keywords
- pixel
- data
- memory
- buffer
- write
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 239000000872 buffer Substances 0.000 title claims description 382
- 238000012546 transfer Methods 0.000 claims description 113
- 230000004048 modification Effects 0.000 claims description 68
- 238000012986 modification Methods 0.000 claims description 68
- 230000006870 function Effects 0.000 claims description 51
- 239000003607 modifier Substances 0.000 claims description 30
- 238000000034 method Methods 0.000 claims description 16
- 230000003139 buffering effect Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 5
- 238000003860 storage Methods 0.000 claims description 4
- 230000000977 initiatory effect Effects 0.000 claims 2
- 239000000203 mixture Substances 0.000 description 35
- 238000009877 rendering Methods 0.000 description 30
- 238000012360 testing method Methods 0.000 description 21
- 238000002156 mixing Methods 0.000 description 18
- 239000003990 capacitor Substances 0.000 description 17
- 230000007246 mechanism Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 8
- 238000013507 mapping Methods 0.000 description 8
- 230000001360 synchronised effect Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 241001422033 Thestylus Species 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000001143 conditioned effect Effects 0.000 description 3
- 230000036316 preload Effects 0.000 description 3
- 238000002360 preparation method Methods 0.000 description 3
- 241001317761 Videna Species 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000008685 targeting Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- OEXHQOGQTVQTAT-SSZRJXQFSA-N [(1r,5s)-8-methyl-8-propan-2-yl-8-azoniabicyclo[3.2.1]octan-3-yl] (2r)-3-hydroxy-2-phenylpropanoate Chemical compound C1([C@H](CO)C(=O)OC2C[C@H]3CC[C@@H](C2)[N+]3(C)C(C)C)=CC=CC=C1 OEXHQOGQTVQTAT-SSZRJXQFSA-N 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000002301 combined effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
- G06T15/405—Hidden part removal using Z-buffer
-
- 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
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/10—Mixing of images, i.e. displayed pixel being the result of an operation, e.g. adding, on the corresponding input pixels
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/12—Frame memory handling
- G09G2360/121—Frame memory handling using a cache memory
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/12—Frame memory handling
- G09G2360/123—Frame memory handling using interleaving
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/12—Frame memory handling
- G09G2360/126—The frame memory having additional data ports, not inclusive of standard details of the output serial port of a VRAM
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Dram (AREA)
- Image Input (AREA)
- Controls And Circuits For Display Device (AREA)
- Image Generation (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf das Gebiet von Computergrafiksystemen. Insbesondere betrifft diese Erfindung eine Rahmenpufferspeichervorrichtung, die eine zum größten Teil für einen Schreibvorgang vorgesehene Architektur für beschleunigte Weitergabeoperationen bereitstellt.
- Herkömmliche Computergrafiksysteme verwenden typischerweise einen Rahmenpuffer, der aus Chips eines Videospeichers mit wahlfreiem Zugriff (Video Random Access Memory, VRAM) gebildet ist. Die VRAM-Chips speichern einen Satz von Pixeldaten, die ein Bild zur Anzeige auf einer Anzeigeeinrichtung definieren. Typischerweise gibt ein Weitergabecontroller (Weitergabe- Steuereinrichtung) in einem derartigen System das Bild weiter und schreibt die Pixeldaten in die VRAM- Chips. In einem derartigen System greift eine Digital-zu-Analog-Umwandlungseinrichtung für einen Speicher mit wahlfreiem Zugriff (Random Access Memory Digital to Analog Conversion device RAMDAC) typischerweise auf die Pixeldaten von den VRAM-Chips zu und für die Pixeldaten Funktionen einer Farbnachschlagtabelle und einer Digital-zu-Analog-Umwandlung aus. Die RAMDAC erzeugt gewöhnlicherweise einen Satz von Videosignalen zum Erzeugen des Bildes auf der Anzeigeeinrichtung.
- Herkömmliche VRAM-Chips enthalten typischerweise ein Speicherfeld mit einem dynamischen wahlfreien Zugriff (DRAM) zusammen mit einem Port mit wahlfreiem Zugriff und einem Port mit einem seriellen Zugriff Typischerweise greift der Weitergabecontroller auf das DRAM-Feld eines VRAM-Chips durch den Port mit wahlfreiem Zugriff zu. Die RAMDAC greift typischerweise auf das DRAM-Feld eines VRAM-Chips durch den Port mit seriellem Zugriff zu.
- Typische herkömmliche VRAM-Chips implementieren einen DRAM-Seitenmodus- Zugriffsmechanismus für den Port mit parallelem Zugriff. Der DRAM-Seitenmodus-Zugriffsmechanismus stellt einen Satz von Leseverstärkern bereit, die einen Zugriff auf eine Seite des DRAM-Feld ermöglichen. Die Seitenmodus-Erfassungsverstärker führen typischerweise eine Abbildung auf horizontale Zeilen des Rasterscans, der auf der Anzeigeeinrichtung angezeigt wird, durch. Der DRAM-Seitenmodus- Zugriffsmechanismus ermöglicht gewöhnlicherweise einen Zugriff mit relativ hoher Geschwindigkeit auf Pixel, die entlang der horizontalen Zeilen des Rasterscans angeordnet sind. Zum Beispiel ermöglicht der DRAM-Seitenmodus-Zugriffsmechanismus dem Weitergabecontroller (Rendering-Controller) eine Weitergabe mit relativ hoher Geschwindigkeit in einen Rahmenpuffer, der aus derartigen VRAM-Chips besteht, auszuführen, während horizontale Linien gezogen oder Blockausfüllungen ausgeführt werden.
- Andererseits liefert der DRAM-Seitenmodusmechanismus von derartigen herkömmlichen VRAM- Chips stark verringerte Pixelzugrifßgeschwindigkeiten, wenn der Weitergabecontroller über mehr als zwei oder drei Zeilen des Rasterscans geht, während er eine Linie zieht. Typischerweise verursacht ein Pixelzugriff, der die vertikalen Grenzen der Leseverstärkerseite durchquert, dass ein derartiger VRAM-Chip aus dem Seitenmodus herausfällt und die Leseverstärker mit einer neuen Seite von dem DRAM-Feld neu lädt. In Folge dessen verursacht die Weitergabe bzw. Ausgabe von den meisten Grafikprimitiven, dass derartige VRAM-Chips aus dem Seitenmodus herausfallen, wodurch der Weitergabedurchsatz in derartigen herkömmlichen Systemen verringert wird.
- Ferner benötigen die Leseverstärker in einem derartigen VRAM-Chip gewöhnlicherweise ein Vorladezeitintervall vor einem Laden von den neuen Zeilen von dem DRAM-Feld. Eine derartige Vorladezugriffslatenz tritt typischerweise jedes Mal dann auf, wenn der VRAM-Chip aus einem Seitenmodus herausfällt. Derartige Vorladezugriffslatenzen erhöhen die Zugriffszeit auf das DRAM-Feld und verringern stark die gesamten Pixelzugriffsgeschwindigkeiten, während der Weitergabecontroller normal auftretenden Grafikprimitive zeichnet.
- In Folge dessen hat das Betriebsverhalten von vielen herkömmlichen Weitergabecontrollern (Rendering Controller) die Eingangsbandbreite von typischen herkömmlichen VRAM-Chips übertroffen. Einige herkömmliche Computergrafiksysteme versuchen die Bandbreitenbeschränkungen von herkömmlichen VRAM-Chips dadurch zu umgehen, dass die Breite von Eingabe/Ausgabe-Bussen zu den VRAM-Chips erhöht wird. Andere herkömmliche Computergrafiksysteme implementieren verschachtelte VRAM-Rahmenpuffer mit hohen Verschachtelungsfaktoren. Unglücklicherweise erhöhen die erhöhten Busbreiten und die hohen Verschachtelungsfaktoren für derartige herkömmliche Systeme stark die Kosten von derartigen Systemen.
- Typischerweise führt der Weitergabeprozessor in einem System, das herkömmliche VRAM-Chips verwendet, Lese-Modifizierungs-Schreib-Zugriffszyklen auf den Port mit wahlfreiem Zugriff der VRAM- Chips aus, während Z gepufferte Bilder weitergegeben werden. Der typische Z-Puffer-Algorithmus für die Weitergabe bzw. Ausgabe einer versteckten Oberfläche erfordert, dass der Weitergabeprozessor einen alten Z-Wert von dem Z-Puffer des Rahmenpuffers liest, den alten Z-Wert mit einem neuen Z-Wert numerisch vergleicht und dann den alten Z und andere zugehörige Pixelwerte durch den neuen Z und zugehörige Pixelwerte ersetzt.
- Zusätzlich führt der Weitergabecontroller in derartigen Systemen typischerweise Mischfunktionen aus, die Lese-Modifizierungs-Schreib-Zugriffszyklen auf den Port mit wahlfreiem Zugriff der VRAM- Chips erfordern. Mischfunktionen werden während Zusammensetzungsfunktionen und während einer Weitergabe von transparenten Objekten und Anti-aliased Linien ausgeführt. Eine Mischoperation erfordert typischerweise, dass der Weitergabecontroller einen Bruchteil eines neuen Pixelwerts zu einem Bruchteil eines alten Pixelwerts, der in dem Rahmenpuffer gespeichert ist, addiert.
- Derartige Lese-Modifizierungs-Schreib-Zugriffe erfordern, dass die Daten durch die Eingabe/Ausgabe-Stifte des Ports mit wahlfreiem Zugriff von den VRAM-Chips während eines Zugriffs zweimal durchlaufen. Zum Beispiel gehen während der Z-Pufferoperationen die Z-Daten durch die Datenstifte eines VRAM-Chips ein erstes Mal zum Lesen des alten Z-Werts und ein zweites Mal zum Schreiben des neuen Z-Werts. Zusätzlich ist eine Leseoperation auf einen herkömmlichen VRAM-Chip typischerweise langsamer als eine Scheiboperation. Ferner stellen die Datenstifte von typischen VRAM- Chips eine Einschränkung für die elektrische Umlaufzeit zwischen den Lese- und Scheiboperationen bereit. In Folge dessen sind derartige Lese-Modifizierungs-Schreib-Operationen wesentlich langsamer als Schreiboperationen.
- Einige herkömmliche Systeme verwenden komplexe Techniken, beispielsweise Burst-Batch- Vorgänge von Lese- oder Schreiboperationen, um elektrische Umlaufverzögerungen zu verringern. Unglücklicherweise beschränken die Fragmentierungseffekte von Burst-Batches die Verbesserung des Betriebsverhaltens, die von derartigen Techniken bereitgestellt wird. Wegen der Einschränkung der Umlaufzeit sind sie sogar noch langsamer als die Zeit zum Ausführen eines Lesevorgangs plus der Zeit zum Ausführens eines Schreibvorgangs.
- Herkömmliche Computergrafiksysteme, die derartige VRAM-Chips verwenden, können schnelle Löschoperationen für eine begrenzte Anzahl von Anzeigefenstern implementieren, indem eine schnelle Löschbitebene für jedes Anzeigefenster, das eine Schnelllöschung aufweist, bereitgestellt wird. Die schnelle Löschbitebene zeigt die Pixel an, die gelöschten Anzeigefenstern entsprechen. Derartige Systeme verwenden typischerweise den Flash-Schreibmodus von herkömmlichen VRAMs, um einen Satz von Schnelllöschbits in einem Seitenvorlade-plus-Zugriffszyklus zu löschen. Unglücklicherweise erhöhen die zusätzlichen Bitebenen in derartigen Systemen die Größe des Rahmenpufferspeichers und die Anzahl von VRAM-Chips, wodurch die Systemkosten erhöht werden. Ferner stellt ein System, welches derartige Zusatzbitebenen verwendet, gewöhnlicherweise nur eine begrenzte Anzahl von Schnelllöschfenstern bereit.
- Das Dokument EP-A-0447225 offenbart ein Rahmenpuffer-Grafiksystem, das eine Vielzahl von Videospeicherchips mit wahlfreiem Zugriff (VRAM) verwendet. Die Vorrichtung ist dafür ausgelegt, um ein Seitenmodus-Betriebsverhalten für VRAM-Felder in Grafik unter Systemen zu verbessern. Das Grafiksystem ist ein Pipeline-System, welches eine Weitergabeschaltungseinrichtung einschließt, um Adressierungsoperationen für die VRAM-Chips und eine Pixelcache zu steuern, um als ein gepufferter Speicher zum Speichern von Daten zu arbeiten, die an die VRAM-Chips weitergegeben werden sollen. Zusätzlich ist eine Schaltungsanordnung vorgesehen, die mit dem Weitergeber (Renderer) gekoppelt ist, um Daten zwischen der Pixelcache und den VRAM-Chips zu verschieben, und um ferner Daten zwischen den VRAM-Chips und der Anzeige zu verschieben. Eine Arithmetik- und Logikeinheit (Arithmatic and Logic Unit, ALU) ist mit dem Weitergeber gekoppelt, hat aber keine direkte Verbindung entweder mit der Pixelcache oder den VRAM-Chips.
- Die vorliegende Erfindung ist in den nebengeordneten Ansprüchen definiert.
- In den Ausführungsformen ist ein Rahmenpufferspeicherchip mit wahlfreiem Zugriff (Frame Buffer Random Access Memory, FBRAM) offenbart, der eine Rahmenpufferspeichervorrichtung darauf aufweist, wie im Anspruch 1 beansprucht. Der FBRAM-Chip stellt eine beschleunigte Weitergabe von Z gepufferten Bildern in einem Computergrafiksystem bereit, wobei das Computergrafiksystem eine Komponente eines Computersystems ist, wie im Anspruch 9 beansprucht. Der FBRAM-Chip stellt auch beschleunigte Pixelmischoperationen bereit. Der FBRAM-Chip stellt eine Schaltungsanordnung bereit, die Z-Puffer vergleichende Lese-Modifizierungs-Schreib-Operationen und interne mischende Lese- Modifizierungs-Scheib-Operationen in eine Schreiboperation an den Eingangs/Ausgangsstiften der FBRAM-Chips umwandelt.
- In den Ausführungsformen enthält der FBRAM-Chip einen Mehrfachport-Hochgeschwindigkeits- Pixelpuffer, auf den ein Weitergabecontroller über einen Weitergabebus zugreifen kann. Der FBRAM-Chip stellt interne Vergleicherschaltungen bereit, die Z-Puffer Vergleichs- und Fenster-ID-Vergleichsoperationen ausführen. Der FBRAM-Chip umfasst auch interne Multiplizierakkumulatorschaltungen für Mischoperationen. Der FBRAM-Chip führt intern Bool'sche Bitoperationen für Rasteroperationen aus. Der FBRAM-Chip stellt eine Schaltungsanordnung bereit, die entweder internen Mischoperationen oder Bool'schen Rasteroperationen ermöglicht parallel mit dem internen Z und Fenster-ID- Vergleichsoperationen vor sich zu gehen. Der Mehrfachport-Pixelpuffer stellt unabhängige Lese- und Schreibports mit hoher Geschwindigkeit für die ALU bereit, die der ALU ermöglichen interne Lese- Modifizierungs-Schreib-Zyklen in Nur-Schreib-Zyklen an den Datenstiften mit einer Durchsatzrate von einem Takt pro Pixel umzuwandeln.
- In den Ausführungsformen enthält der FBRAM-Chip mehrere Banken von DRAM-Feldern mit hoher Bitdichte, die jeweils Speicherzellen umfassen, die in Seiten organisiert sind. Der FBRAM-Chip enthält Leseverstärker, die auf eine gesamte Seite jedes DRAM-Feldes zugreifen und die als ein Seitenpuffercache für das DRAM-Feld arbeiten.
- Der FBRAM-Chip stellt auch einen Duplikatzeitmechanismus für jedes DRAM-Feld bereit. Der Duplikatzeitmechanismus ermöglicht schnellere Löschoperationen auf einer unbegrenzten Anzahl von Anzeigefenstern, ohne die Kosten von zusätzlichen Bitebenen.
- In den Ausführungsformen sind die Leseverstärker-Seitenpuffer, die Mehrfachport-Pixelpuffer, und die Pixel-ALU innerhalb einer Cache-Hierarchie des FBRAM-Chips organisiert. Die FBRAM-Cache- Hierarchie ist organisiert, um Grafikspeicheroperationen zu erleichtern, wobei die Zugriffsoperationen in Übereinstimmung mit dem Verfahren ausgeführt werden, wie in dem nebengeordneten Anspruch 10 beansprucht. Die FBRAM-Cache-Hierarchie passt auch die Bandbreite der Hochgeschwindigkeits- Eingabe/Ausgabe-Stifte des FBRAM-Chips auf die langsameren Speicherzellen des DRAM-Felds an. Der FBRAM stellt ein System von getrennten Pixel-ALU/Pixelpuffer- und DRAM-Steuerstiften bereit, um den Weitergabecontroller in die Lage zu versetzen, den internen Pixeldatenfluss zu verwalten. Der FBRAM- Chip verringert die Cache-Verfehlungskosten durch Bereitstellen von breiten und schnellen internen Bussen.
- In den Ausführungsformen stellt der FBRAM-Chip eine Schaltungsanordnung zum Übertragen der Ergebnisse der internen Vergleiche, beispielsweise Z-Vergleich, über mehrere FBRAM-Chips bereit. Die internen Vergleichsergebnisse werden in Systemen transferiert, die Pixelkomponenten, wie rot, grün, blau und Z-Pixeldarstellungen oder Komponenten von Normal- oder Alpha-Komponenten benötigen, die breiter als die internen Pixel-ALU eines einzelnen FBRAM-Chips sind. Beispiele von derartigen Systemen mit Breitpixeldarstellungen umfassen doppelt gepufferte rotfarbige, grünfarbige, blaufarbige und normale Komponenten, Alphatransparenzwerte und Rahmenpuffer für mehr als 8 Bits pro Komponente, die für eine Akkumulationspufferung oder für lineare Farbbilder mit hoher Genauigkeit ausgelegt sind. In einem derartigen System werden die Vergleichsergebnisse von einem Ausgabestift des FBRAM-Chips und in einen Eingangsaktivierungsstift eines anderen FBRAM-Chips transferiert, der andere Pixelebenen enthält. Die Vergleichsergebnisse werden auch intern von dem FBRAM-Chip verwendet, der die Z-Ebene puffert.
- Zum besseren Verständnis der Erfindung werden nachstehend beispielhaft Ausführungsformen unter Bezugnahme auf die beiliegenden Zeichnungen beschrieben. In den Zeichnungen zeigen:
- Fig. 1 ein Grafikuntersystem, das einen Satz von FBRAM-Chips, einen Weitergabecontroller und eine Videoausgabeschaltung umfasst;
- Fig. 2 einen FBRAM-Chip für eine Ausführungsform, der einen Satz von DRAM-Banken, ein Paar von Videopuffern, einen Pixelpuffer, und eine Pixel-ALU umfasst;
- Fig. 3 ein logisches Blockdiagramm, dass eine Rahmenpufferanordnung darstellt, die einen Satz von FBRAM-Chips für eine Ausführungsform bereitstellt;
- Fig. 4 die Eingabe/Ausgabe-Schnittstelle an einem FBRAM-Chip für eine Ausführungsform, einschließlich einer Pixelport-Steuerschnittstelle für die Pixelport-Funktionen, einer Videoport- Steuerschnittstelle für Videofunktionen und eine DRAM-Sfeuerschnittstelle für DRAM-Funktionen;
- Fig. 5 die Architektur der DRAM-Bank A für eine Ausführungsform, die ein DRAM-Feld, einen Satz von Leseverstärkern, eine Zeilendecoderschaltung und einen Haltespeicher umfasst;
- Fig. 6 die Videopuffer für eine Ausführungsform und eine Schaltungsanordnung zum Transferieren von Videodaten über den Videobus;
- Fig. 7 den Pixelpuffer für eine Ausführungsform, die einen SRAM-Puffer zusammen mit einem entsprechenden Speicher für Modifikationsmarken (dirty tags) umfasst;
- Fig. 8 die Pixel-ALU 58 für eine Ausführungsform, die einen Satz von Rasteroperations- und Misch-(ROP/Misch) Einheiten, ein Konstantquellenregister und eine Vergleichseinheit umfasst;
- Fig. 9 eine ROP/Misch-Einheit für eine Ausführungsform, die eine Raster-OP-Schaltung, einen Addierer, und eine Multipliziererschaltung umfasst;
- Fig. 10 eine Vergleichseinheit für eine Ausführungsform, die eine Übereinstimmungs- Vergleichsschaltung und eine Größenvergleichsschaltung umfasst;
- Fig. 11 die Pipeline-Architektur des Pixelpuffers und der Pixel-ALU für eine Ausführungsform;
- Fig. 12 ein Zeitablaufdiagramm, das Lese- und Schreib-Pipelinetransfers durch die Pipeline-Stufen der Pixel-ALU und des Pixelpuffers für eine Ausführungsform darstellt;
- Fig. 13 die Organisation des Pixelpuffers für eine Ausführungsform und die Abbildung der Modifikationsmarken- und Ebenenmaskierungs-Bits;
- Fig. 14 die Abbildung der Ebenenmasken-Bits in dem Ebenmaskenregister und der Modifikationsmarken-Bits in dem Modifikationsmarken-Speicher auf maskierte Schreibblöcke, die über dem globalen Bus transferiert werden;
- Fig. 15 dem Pipeline-Datenfluss in dem Pixelpuffer hinein für die Schreibadressenquellen, die von dem Schreibadressen-Steuerregister und den Eingabe/Ausgabe-Stiften eines FBRAM-Chips gewählt werden;
- Fig. 16 eine vertikale Rolloperation, bei der die Pixeldaten für ein Pixel A an ein Pixel B der Schirmanzeige bewegt werden;
- Fig. 17 den Pipeline-Transfer der Pixeldaten während einer vertikalen Rolloperation oder einer anderen internen Kopieroperation, die die Schreibadressen-Wählfunktion mit einer zustandsmäßigen Datenschreiboperation (Stateful) verwendet;
- Fig. 18 eine Pixelport-Schreibzeitsteuerung an einem FBRAM-Chip für eine Ausführungsform;
- Fig. 19 eine Reihe von DRAM-Operationen an der DRAM-Bank A eines FBRAM-Chips, die von dem Weitergabecontroller hervorgebracht werden;
- Fig. 20 eine andere Serie von DRAM-Operationen auf der DRAM-Bank A eines FBRAM-Chips, die von dem Weitergabecontroller hervorgebracht bzw. gestartet werden;
- Fig. 21 eine Reihe von DRAM-Operationen, die von dem Weitergabecontroller ausgegeben werden, an den DRAM-Banken A-D eines FBRAM-Chips;
- Fig. 22 eine andere Reihe von DRAM-Operationen, die von dem Weitergabecontroller ausgelöst bzw. gestartet werden, an einem FBRAM-Chip;
- Fig. 23 eine andere Reihe von DRAM-Operationen, die von dem Weitergabecontroller an einem FBRAM-Chip ausgelöst werden;
- Fig. 24 ein Computergrafiksystem, das ein Grafikuntersystem umfasst, und eine Anzeigeeinrichtung und einen Prozessor;
- Fig. 25 ein Grafikuntersystem, das ein FBRAM-Chip, einen Weitergabecontroller; und einen Digital-zu-Analog-Wandler eines Speichers mit wahlfreiem Zugriff umfasst;
- Fig. 26 ein Grafikuntersystem, das einen Satz von FBRAM-Chips umfasst, die einen einzelnen gepufferten 1280 · 1024 · 32 Bit Rahmenpuffer für eine Anzeigeeinrichtung bereitstellen, und das ferner einen Weitergabecontroller und einen RAMDAC umfasst;
- Fig. 27 ein Grafikuntersystem, das einen Weitergabecontroller, einen doppelten gepuffert mit einem Z-Puffer-Rahmenpuffer, der einen Satz von FBRAM-Chips umfasst, einen RAMDAC und eine Anzeigeeinrichtung umfasst, umfasst;
- Fig. 28 Pixelport-Steuerzwischenverbindungen für einen 32 Bit doppelt gepufferten Rahmenpuffer mit einem Z-Puffer, wobei der Rahmenpuffer einen Satz von FBRAM-Chips umfasst, die mit dem Weitergabecontroller gekoppelt sind;
- Fig. 29 ein Zustandsdiagramm für DRAM-Zugriffsoperationen einschließlich der Seitenzugriffsoperation, der Videotransferoperation, der Bankvorladeoperation, der Blockleseoperation, der nicht maskierten Blockschreiboperation, der maskierten Blockschreiboperation und der Seitenduplizierungsoperation;
- Fig. 30 Zwischenverbindungen zwischen der DRAM-Bank A, dem Seitenpuffer A und einem Feld von vier DRAM-Zellen für eine Ausführungsform;
- Fig. 31 den Start einer Seitenduplizierungsoperation für eine Ausführungsform;
- Fig. 32 den Abschluss der Seitenduplizierungsoperation fur eine Ausführungsform;
- Fig. 33 die Wähllogik in einem FBRAM-Chip, der einen Satz von Stufe 7 Pipelineregistern, einen HIT-Flag-Haltespeicher, einen Wähl-Aktivierungs-Haltespeicher (pick enable Haltespeicher), ein Paar von Multiplexern, und einen Satz von Logikgattern umfasst; und
- Fig. 34 die Zeitsteuerung der Wähllogik in Bezug auf die Weitergabebusaktivität und die Zeitsteuerung des HIT-Ausgabestifts.
- Fig. 1 zeigt ein Grafikuntersystem 86. Das Grafikuntersystem 86 umfasst einen Satz von FBRAM- Chips 71-82, einen Weitergabecontroller 70 und eine Videoausgabeschaltung 84. Das Grafikuntersystem 86 ist ein horizontal verschachtelter Rahmenpuffer mit vier Wegen. Die Pixeltiefe jedes verschachtelten Abschnitts des Grafikuntersystems 86 umfasst drei FBRAM-Chips. Das Grafikuntersystem 86 ist doppelt gepuffert und enthält Puffer A und B für rote, grüne und blaue Pixeldaten (RGB) und auch einen einzelnen gepufferten Z-Puffer. Für eine Ausführungsform umfasst das Grafikuntersystem 86 einen 1280 · 1024 · 96 Bit Rahmenpuffer.
- Die FBRAM-Chips 71-73 umfassen einen ersten Verschachtelungsabschnitt des Grafikuntersystems 86 einschließlich eines RGB-Pixelpuffers A (FBRAM 71), eines RGB-Pixelpuffers B (FBRAM 72), und eines Z-Puffers (FBRAM 73). Die FBRAM-Chips 74-76 umfassen einen zweiten Verschachtelungsabschnitt des Grafikuntersystems 86 mit einem RGB-Pixelpuffer A (FBRAM 74), einem RGB-Pixelpuffer B (FBRAM 75), und einen Z-Puffer (FBRAM 76). Die FBRAM-Chips 77-79 umfassen einen dritten Verschachtelungsabschnitt des Grafikuntersystems 86 mit einem RGB-Pixelpuffer A (FBRAM 77), einem RGB-Pixelpuffer B (FBRAM 78), und einem Z-Puffer (FBRAM 79). Die FBRAM- Chips 80-82 umfassen einen vierten Verschachtelungsabschnitt des Grafikuntersystems 86 mit einem RGB-Pixelpuffer A (FBRAM 80), einem RGB-Pixelpuffer B (FBRAM 81), und einem Z-Puffer (FBRAM 81).
- Der Weitergabecontroller 70 transferiert Steuerinformationen für die FBRAM-Chips 71-82 und führt Datenzugriffe auf die und von den FBRAM-Chips 71-82 über einen Weitergabebus 98 (rendering bus) aus. Der Weitergabebus 98 umfasst einen Satz von verschachtelten Weitergabebussen 64-67, die eine unabhängige Steuerung und einen unabhängigen Zugriff auf jeden Verschachtelungsabschnitt des Grafikuntersystems 86 ermöglichen.
- Jeder FBRAM-Chip 71-82 enthält eine interne ALU und eine Pipeline-Schaltungsanordnung zum Bereitstellen einer "größtenteils für einen Schreibvorgang vorgesehene" Schnittstelle zu dem Weitergabecontroller 70. Die größtenteils für einen Schreibvorgang vorgesehene Architektur (write-mostly Architektur) der FBRAM-Chips 71-82 minimiert die durchschnittliche Speicherzykluszeit auf dem Weitergabebus 98 während Weitergabeoperationen durch den Weitergabecontroller 70.
- Für eine Ausführungsform enthält jeder FBRAM-Chip 71-82 ein 10 Megabit DRAM-Feld, das einen 320 · 1024 · 32 Bit tiefen Rahmenpuffer enthält. Das DRAM-Feld in jedem FBRAM-Chip 71-82 umfasst vier unabhängige verschachtelte DRAM-Banken.
- Jeder FBRAM-Chip 71-82 enthält auch eine Pixel-ALU und einen Pixelpuffer mit einem Speicher mit statischem wahlfreiem Zugriff (Static Random Access Memory, FRAM). Der SRAM- Pixelpuffer in jedem FBRAM-Chip 71-82 arbeitet als ein Pixel-Cache für Zugriffe durch den Weitergabecontroller 70 über den Weitergabebus 98.
- Jeder FBRAM-Chip 71-82 enthält einen globalen Bus, der eine Kommunikation mit hoher Bandbreite zwischen den vier DRAM-Banken und dem SRAM-Pixelpuffer ermöglicht. Jeder FBRAM-Chip 71-82 enthält auch ein Paar von Videopuffern, die CRT-Wiederauffrischungsoperationen für eine Anzeigeeinrichtung ausführen.
- Die Pixel-ALU in jedem FBRAM-Chip 71-82 umfasst einen Satz von vier Rasteroperationseinheiten. Jede Rasteroperationseinheit führt wählbare Rasteroperationen für jedes einzelnen Byte von Pixeldaten, die an den entsprechenden SRAM-Pixelpuffern über der Weitergabebus 98 transferiert werden, aus. Die Pixel-ALU in jedem FBRAM-Chip 71-82 enthält einen Satz von vier Pixelmischeinheiten. Jede Pixelmischeinheit kombiniert ein Byte von alten internen Pixelwerten mit einem Byte von neuen Pixelwerten und zugehöriger Information, die über den Weitergabebus 98 empfangen wird. Die Pixel-ALU in jedem FBRAM-Chip 71-82 enthält auch einen 32 Bit breiten Übereinstimmungsvergleicher und einen 32 Bit breiten Größenvergleicher.
- Jeder FBRAM-Chip 71-82 umfasst eine Schaltungsanordnung, die gleichzeitige Operationen ermöglicht, an denen das DRAM-Feld, der FBRAM-Pixelpuffer, die Pixel-ALU und ein interner Satz von Videopuffern beteiligt sind. Jeder FBRAM-Chip 71-82 umfasst eine Schaltungsanordnung, die Pixeldatentransfers zwischen dem DRAM-Feld und dem SRAM-Pixelpuffer ermöglicht, während der Weitergabecontroller 70 auf den SRAM-Pixelpuffer durch die Pixel-ALU zugreift und während die Videoausgabeschaltung 84 Videodaten von den Videopuffern liest.
- Die FBRAM-Chips 71-82 transferieren Videodaten an die Videoausgabeschaltung 84 über einen Satz von Videobussen 134-137. Die Videoausgabeschaltung 84 erzeugt einen Satz von entsprechenden Videotakten auf den Videobussen 134-137, die den Transfer von Videodaten von den FBRAM-Chips 71- 82 synchronisieren.
- Der Weitergabecontroller 70 schreibt Pixeldaten an die FBRAM-Chips 71-82 über den Weitergabebus 98. Der Weitergabecontroller 70 liest auch Pixeldaten von den FBRAM-Chips 71-82 über den Weitergabebus 98. Der Weitergabecontroller 70 transferiert auch Rahmenpuffer-Steuersignale und Befehle an die FBRAM-Chips 71-82 über den Weitergabebus 98. Die Rahmenpuffer-Steuersignale und Befehle steuern interne Operationen (Betriebsvorgänge) der FBRAM-Chips 71-82, einschließlich der Pixel-ALU-Operationen, der Operationen des SRAM-Pixelpuffers des DRAM-Felds, und von Videopufferoperationen.
- Für eine Ausführungsform umfasst der Weitergabebus 98 272 Datenbits plus Steuer- und Adressensignalen, und die verschachtelten Weitergabebusse 64-67 stellen jeweils einen 68 Bit Pixeldatenpfad zu den entsprechenden verschachtelten Abschnitten des Rahmenpuffer 86 bereit. Zum Beispiel stellt der Bus 64 36 Datenbits an die RGB-FBRAMs 71 und 72 und andere 32 Datenbits an den Z- FBRAM 73 bereit. Der 272 Bit Weitergabebus 98 ermöglicht einen Transfer von vier Pixeln an die FBRAM-Chips 71-82 in einem Buszyklus des Weitergabebusses 98. Jeder FBRAM-Chip 71-82 puffert vollständig Pixelwerte, die jeweils 32 Bits umfassen.
- Für eine andere Ausführungsform umfasst der Weitergabebus 98 144 Datenbits und die verschachtelten Weitergabebusse 64-67 stellen jeweils einen 36 Bit Pixeldatenpfad bereit. Der Weitergabebus 64 multiplexiert 36 Bits der RGB-Daten an die FBRAMs 71 und 72 mit 32 Bits von Z- Daten an den FBRAM 73. Ein derartiges System spart Stiftkosten auf dem Weitergabecontroller 70 und erfordert zwei Buszyklen, wenn eine Z-Pufferung verwendet wird.
- Für eine noch andere Ausführungsform umfasst der Weitergabebus 98 72 Datenbits durch Multiplexieren des Weitergabebusses 64 mit dem Weitergabebus 66 und des Weitergabebusses 64 mit dem Weitergabebus 67, sowie einer Multiplexierung von RGB mit Z. Ein derartiges System ist über zwei Wege verschachtelt, wenn jedes Pixel einzigartige Daten (z. B. schattierte Bilder) erfordert, und ist über vier Wege verschachtelt, wenn sämtliche Pixel die gleichen Datenwerte (z. B. gefüllte Bereiche oder Text) empfangen. Ein derartiges System spart noch mehr Stiftkosten ein und liefert niedrigere Grade des Betriebsverhaltens, wenn eine Schattierung und eine Z-Pufferung ausgeführt werden, und ein ähnliches Betriebsverhalten, wenn Bereiche ausgeführt oder Text gezeichnet wird. Andere Ausführungsformen sind unter Verwendung von unterschiedlichen Kombinationen der Datenmultiplexierung möglich.
- Fig. 2 zeigt den FBRAM-Chip 71 für eine Ausführungsform. Der FBRAM-Chip. 71 umfasst ein DRAM-Feld, ein Paar von Videopuffern 52 und 54, einen Pixelpuffer 56 und eine Pixel-ALU 58. Der FBRAM-Chip 71 ist im wesentlichen ähnlich zu jedem der FBRAM-Chips 72-82.
- Das DRAM-Feld in dem FBRAM-Chip 71 umfasst einen Satz von vier DRAM-Banken (DRAM- Banken A-D) und entsprechenden Seitenpuffern A-D. Für eine Ausführungsform umfasst jede DRAM- Bank A-D ein 2,5 Megabit DRAM-Feld, das in 257 Seiten angeordnet ist. Jede Seite umfasst 320 Wörter und jedes Wort umfasst 32 Bits.
- Die Seitenpuffer A-D umfassen die Leseverstärker der entsprechenden DRAM-Banken A-D.
- Für eine Ausführungsform puffert jeder Seitenpuffer A-D eine 320 Wort Seite der entsprechenden DRAM-Bank A-D.
- Die Videopuffer 52 und 54 puffern Videodaten für einen Transfer an die Videoausgabeschaltung 84 über den Videobus 134. Der Videopuffer 52 empfängt Daten von den Seitenpuffern A und C. Der Videopuffer 54 empfängt Daten von den Seitenpuffern B und D. Die Daten in den Videopuffern 52 und 54 werden über den Videopuffer 134 an die Videoausgabeschaltung 84 durch einen Multiplexer 62 herausgeschoben.
- Der Pixelpuffer 56 ist ein statisches RAM (SRAM) mit hoher Geschwindigkeit und drei Ports und arbeitet als ein Pixel-Cache der Ebene eins (L1) für den FBRAM-Chip 71. Die Assoziativparameter für den L1-Pixel-Cache werden extern bestimmt und umfassen eine vollständig assoziative Abbildung. Der L1- Pixel-Cache verwendet eine Zurückschreib-Vorgehensweise (write-back-Vorgehensweise). Der L1-Pixel- Cache umfasst einen Satz von L1-Cache-Blöcken. Der Weitergabecontroller 70 führt Datenschreibvorgänge auf jeden L1-Cache-Block aus. Die mehreren Schreibvorgänge werden in jedem L1-Cache-Block für einen nachfolgenden Transfer an die DRAM-Banken A-D durch einen Pixel-Cache der Ebene 2 (L2) akkumuliert.
- Der Pixelpuffer 56 stellt einen ALU-Leseport 204 und einen ALU-Schreibport 202 bereit. Der Weitergabecontroller 70 führt Pipeline-Schreiboperationen über den verschachtelten Weitergabebus 64 an die ALU 58 aus. Die Pixeleingabedaten 162 von den Eingabe/Ausgabe-Stiften des FBRAM-Chips 71 stellen Quellendaten für die Pixel-ALU 58 bereit. Die Pixel-ALU 58 führt eine Verarbeitungsfunktion für gewählte Pixel aus und transferiert Schreibportdaten 202 in den ALU-Scheibport des Pixelpuffers 56.
- Wenn die gewünschte Pixelerarbeitungsfunktion eine Lese-Modifizierungs-Schreib-Operation erfordert, ermittelt die Pixel-ALU 58 die Lesedaten aus dem Leseport 204, führt die Modifikation durch Zusammenfassen der Quellendaten 162 mit dem Lesedaten 204 aus, und schreibt dann das Ergebnis an den Pixelpuffer-Schreibport 202. Die Lese- und Schreibports des Pixelpuffers 56 ermöglichen gleichzeitige Einzeltaktlese- und Schreiboperationen, die Einzeltakt-Pipelineschreibvorgänge auf dem Weitergabebus 64 bereitstellen, um Einzeltakt-Pipeline-Lese-Modifizierungs-Schreib-Zyklen zu erreichen.
- Der Weitergabecontroller 70 liest Daten von dem Leseport des Pixelpuffers 56 über den verschachtelten Weitergabebus 64. Auf die Leseportdaten 204 von dem Pixelpuffer 56 kann auf dem verschachtelten Wiedergabebus 64 durch die Eingabe/Ausgabe-Stifte des FBRAM-Chips 71 zugegriffen werden.
- Der Pixelpuffer 56 stellt einen globalen Lese-Schreib-Port 208 für Blocktransferoperationen über den globalen Bus 60 bereit. Der Weitergabecontroller 70 kann bewirken, das der ALU-Leseport, der ALU- Schreibport, und der globale Lese-Schreib-Port des Pixelpuffers 56 gleichzeitig aktiv sind.
- Für eine Ausführungsform enthält der Pixelpuffer 56 einen 2048 Bit SRAM-Puffer und einen entsprechenden Modifizierungsmarken-Speicher (Speicher für dirty tags). Der 2048 Bit SRAM-Puffer ist in acht 256 Bit L1-Cache-Blöcke organisiert. Jeder L1-Cache-Block puffert acht Wörter, die jeweils 32 Bits umfassen. Jeder L1-Cache-Block puffert Pixeldaten für ein 2 breites · 4 hohes Rechteck von 32-Bit Pixeln. Die acht L1-Cache-Blocks entsprechen auch acht Sätzen von 32 Bit Modifikationsmarken-Bits in dem Modifikationsmarken-Speicher. Der globale Lese-Schreib-Port ist 256 Bits breit und die ALU-Lese- und Schreibports sind jeweils 32 Bits breit.
- Die Pixel-ALU 58 ermöglicht Pipeline-Lese-Modifizierungs-Schreib-Operationen in den Pixelpuffer 56 hinein über den verschachtelten Weitergabebus 54. Die Pipeline-Lese-Modiflzierungs- Schreib-Operationen umfassen Z-Puffer Vergleichs- (compare) RGB-Alpha Misch- (alpha blending) und Bool'sche Operationen. Der globale Lese-Schreib-Port des Pixelpuffers 56 ermöglicht einen parallelen Transfer eines gesamten L1-Cache-Blocks zwischen den Seitenpuffern A-D und dem Pixel-Puffer 56 über einen globalen Bus 60.
- Die Seitenpuffer A-D umfassen den L2-Pixel-Cache. Der L2-Pixel-Cache wird direkt auf die DRAM-Banken A-D abgebildet. Jeder Seitenpuffer A-D ist eine Abbildung auf eine der Seiten der entsprechenden DRAM-Banken A-D. Für eine Ausführungsform umfasst ein L2-Pixel-Cache-Eintrag 320 Wörter mit 32 Bits für jedes Wort. Jeder L2-Cache-Eintrag ist als ein 20 breites · 16 hohes Rechteck von Pixeln angeordnet. Der L2-Pixel-Cache verwendet ein Durchschreibe-Verfahren (write-through-Verfahren). Pixeldaten, die in einen L2-Pixel-Cache-Eintrag über den globalen Bus 60 geschrieben werden, werden sofort in die entsprechende Seite der entsprechenden DRAM-Bank A-D transferiert.
- Der globale Bus 60 ermöglicht eine Kommunikation zwischen dem L1-Pixel-Cache und dem L2- Pixel-Cache. Für eine Ausführungsform ist der globale Bus 60 256 Bits breit und erlaubt den parallelen Transfer eines 2 · 4 Pixelblocks zwischen dem L1-Pixel-Cache und dem L2-Pixel-Cache.
- Jede DRAM-Bank A-D enthält einen Leseverstärkerbus, der einen Satz von Bitleitungen umfasst. Die Leseverstärker-Busse koppeln die Seitenpuffer A-D mit den DRAM-Banken A-D. Für eine Ausführungsform ermöglicht jeder Leseverstärkerbus den parallelen Transfer eines 20 · 16 (mit 32 Bit Pixeln) Pixelrechtecks von den DRAM-Banken A-D an die entsprechenden L2-Pixel-Caches.
- Der Weitergabecontroller 70 verschachtelt Zugriffe auf die DRAM-Banken A-D über die Steuer- und Adressensignale des verschachtelten Weitergabebusses 64. Der Weitergabecontroller überlappt Vorladeoperationen auf den Leseverstärkern von einem der Seitenpuffer A-D mit Weitergabeoperationen in eine andere der DRAM-Banken A-D. Der Weitergabecontroller 70 verschachtelt auch Zugriffsseitenoperationen auf eine der DRAM-Banken A-D mit Weitergabeoperationen in eine andere der DRAM-Banken A-D.
- Der FBRAM-Chip 71 stellt interne Mechanismen zum Beschleunigen von Rechteckfülloperationen bereit. Die Rechteckfüllmechanismen fällen Abschnitte der DRAM-Banken A - D mit einem konstanten Wert oder mit einem sich wiederholenden Muster.
- Ein Rechteckfüllverfahren verwendet Datentransfers mit hoher Bandbreite über den globalen Bus 60. Ein L1-Pixel-Cache-Block wird auf eine konstante Farbe oder ein konstantes Muster initialisiert. Danach wird der L1-Pixel-Cache-Block wiederholt an unterschiedliche Blöcke innerhalb des L2-Pixel- Cache bei den Datentransferraten, die über den globalen Bus 60 verfügbar sind, kopiert. Ein derartiger Rechteckfüllmechanismus vermeidet die Bandbreitenbeschränkungen an den Eingabe/Ausgabe-Stiften des FBRAM-Chips 71. In einer Ausführungsform ist die globale Bustransferrate eine Hälfte der Eingabestift- Transferrate und die L1-Cache-Blockgröße ist acht mal so groß wie die Eingabestiftbreite. Das nächste Ergebnis ist, dass dieser Blockfüllmodus 4-mal so schnell wie die Eingabestift-Füllrate ist. Zusätzlich ergeben die verschachtelten FBRAM-Chips 71-82 viermal die Rechteckfüllrate wie bei einem einzelnen FBRAM-Chip. Der kombinierte Effekt dieses Blockfüllverfahrens und eine Verschachtelung der vier Wege ist eine 16-mal schnellere Füllrate.
- Ein anderes Rechteckfullverfahren verwendet die Datenpfade mit hoher Bandbreite zwischen den Seitenpuffern A-D und den entsprechenden DRAM-Banken A-D. Ein L1-Pixel-Cache-Block wird auf eine konstante Farbe oder ein konstantes Muster initialisiert. Der L1-Pixel-Cache-Block wird dann an sämtliche Blöcke in allen vier Seiten des L2-Pixel-Caches über den globalen Bus 60 kopiert. Die vier Seiten des L2-Pixel-Cache werden dann an die entsprechenden DRAM-Banken A-D in einer verschachtelten Weise kopiert, und zwar unter Verwendung eines Seitenduplizierungszyklus.
- Für eine Ausführungsform ist die Seitenduplizierungsrate ein Viertel der Eingabestift-Transferrate und die L2-Seitenpuffergröße ist 320-mal größer als die Eingabestiftbreite. Der Seitenfüllmodus ist 80-mal schneller als die Eingabestift-Füllrate. Der Seitenfüllmodus kombiniert mit der Verschachtelung über vier Wege ergibt eine 320-mal schnellere Füllrate.
- Eine Lese-Modifizierungs-Schreib-Operation in dem FBRAM-Chip 71 umfasst normalerweise eine Leseoperation mit einem vorangehenden Holen (prefetching) aus dem L2-Pixel-Cache in den L1-Pixel- Cache über den globalen Bus 60, eine Modifizierungsoperation auf dem L1-Pixel-Cache und dann eine Rückkopier-Schreiboperation an den L2-Pixel-Cache über den globalen Bus 60. Der FBRAM-Chip 71 erlaubt das optionale Überspringen der Leseoperation mit dem vorangehenden Holen. Ein derartiges Überspringen der Operation für das vorangehende Holen dupliziert das Betriebsverhalten für Nur-Schreib- Weitergabeoperationen durch den Weitergabecontroller 70. Beispiele von Nur-Schreib- Weitergabeoperationen umfassen Text und einfache 2D-Grafikweitergabeoperationen in einem System mit Ausbildung von Fenstern (Windowing-System).
- Der FBRAM-Chip 71 stellt einen Satz von Pixelport-Steuerungs- und Adressen-Eingabe/Ausgabe- Schnittstellenstiften 114 zum Zugreifen auf den Pixelpuffer 56 über die ALU 58 und die Lese- und Schreibports 204 und 202 und einen unabhängigen Satz von DRAM-Portsteuerungs- und Adressen- Eingabe/Ausgabe-Schnittstellestiften 112 zum Zugreifen auf die DRAM-Banken A-D über den globalen Bus 60 oder die Videopuffer 52 und 54 bereit. Die unabhängigen Sätze von Steuerungs- und Adressenstiften ermöglichen, dass Operationen für die DRAM-Banken A-D parallel mit ALU- Operationen an dem Pixelpuffer 56 voranschreiten. Der FBRAM-Chip 71 stellt auch einen anderen unabhängigen Satz von Videoport-Steuerungsschnittstellenstiften 110 für Videooperationen, an denen die Videopuffer 52 und 54 und die seriellen Ausgänge 134 beteiligt sind, bereit.
- Fig. 3 ist ein logisches Blockdiagramm, das eine Rahmenpufferanordnung darstellt, die die FBRAM-Chips 71-82 für eine Ausfühnmgsform bereitstellt. Die FBRAM-Chips 71-82 arbeiten als ein großes Rahmenpuffer-Speichersystem, auf das über den Weitergabebus 98 zugegriffen werden kann. Die vier horizontalen Verschachtelungen der FBRAM-Chips 71-82 erhöhen die Anzahl von Eingabe/Ausgabe-Datenstiften auf einem Weitergabebus 98 um einen Faktor von vier im Vergleich mit einem nicht-verschachtelten FBRAM-Rahmenpuffer.
- Die FBRAM-Chips 71-82 ermöglichen das gleichzeitige Einschreiben von Pixeldaten für vier Pixel über den Weitergabebus 98 einschließlich von Pixelkomponenten wie roten, grünen, blauen und Z- Werten. Die FBRAM-Chips 71-82 ermöglichen auch das gleichzeitige Mischen von Pixeldaten von vier Pixeln einschließlich von Pixelkomponenten wie rot, grün, blau und Z-Werten. Die FBRAM-Chips 71-82 ermöglichen auch das gleichzeitige Z puffern von vier Pixeln.
- Die vier horizontalen Verschachtelungen des Rahmenpuffers 86 erhöhen effektiv die Größe der internen Caches und der internen Busse der FBRAM-Chips 71-82 um einen Faktor von vier in der horizontalen Dimension. Die FBRAM-Chips 71-82 umfassen effektiv einen logischen L1-Pixel-Cache 92, einen logischen L2-Pixel-Cache 94, und einen Satz von logischen DRAMs 96. Der logische L1-Pixel-Cache 92 umfasst die L1-Pixel-Caches der FBRAM-Chips 71-82. Der logische L1-Pixel-Cache 92 umfasst effektiv acht logische L1-Cache.Blöcke, wobei jeder logische L1-Cache-Block 8 Pixel breit mal 4 Pixel hoch ist. Der logische L2-Pixel-Cache 94 umfasst effektiv die L2-Pixel-Cache der FBRAM-Chips 71-82. Die Einträge des logischen L2-Pixel-Caches sind effektiv 80 Pixel breit mal 16 Pixel hoch.
- Die FBRAM-Chips 71-82 umfassen effektiv einen logischen globalen Bus 100, der die zusammengenommene Breite der globalen Busse in den FBRAM-Chips 71-82 umfasst. Der logische globale Bus 100 ermöglicht den parallelen Transfer eines 8 · 4 Pixel-Blocks zwischen dem L1-Pixel-Cache und dem L2-Pixel-Cache.
- Die Speicherhierarchie der FBRAM-Chips 71-82 umfasst den logischen L1-Pixel-Cache 92, den logischen L2-Pixel-Cache 94, und die logischen DRAM-Banken 96. Der Weitergabecontroller 70 greift auf bis zu vier Pixel während jedes Zyklus auf dem Weitergabebus 98 zu. Der Weitergabecontroller 70 führt gleichzeitige Operationen an dem Rahmenpuffer 86 durch Starten von Operationen an unterschiedlichen Ebenen der Speicherhierarchie aus.
- Die höchsten Pixelzugriffsgeschwindigkeiten auf die FBRAM-Chips 71-82 treten auf, wenn die Pixel, die über den Weitergabebus 98 adressiert werden, in dem logischen L1-Pixel-Cache 92 vorhanden sind. Wenn ein Pixel, das über den Weitergabebus 98 adressiert wird, nicht in dem logischen L1-Pixel- Cache 92 vorhanden ist, dann wird der fehlende Block, der dem adressierten Pixel entspricht, von dem logischen L2-Pixel-Cache 94 an den logischen L1-Pixel-Cache 92 transferiert. Die Weitergabeoperation an das adressierte Pixel wird ausgeführt, und der verfehlte Block wird an den logischen L2-Pixel-Cache 94 zurückgeschrieben. Wenn der logische L2-Pixel-Cache 94 nicht den erforderlichen Block enthält, dann wird der erforderliche Block von dem logischen DRAM 96 gelesen.
- In ähnlicher Weise ist die Größe des L2-Pixel-Cache 80 · 16 Pixel, wenn er verschachtelt ist, wie in den Fig. 1 und 3. Die Kosten der L2-Cache-Verfehlung ist 4 bis 8 Takte in einer Ausführungsform. Wenn eine Bewegung vertikal vorgenommen wird, ist die Wahrscheinlichkeit einer Verfehlung nur 1 aus 16 und ist nur aus 1 aus 80, wenn eine Bewegung horizontal vorgenommen wird. Die Verfehlungskosten (miss Kosten) werden mit Treffern (Hits) überlagert, indem die getrennten DRAM-Steuerungen verwendet und indem die DRAM-Banken A-D verschachtelt werden.
- Fig. 4 zeigt die Eingabe/Ausgabe-Schnittstelle an dem FBRAM-Chip 71 für eine Ausführungsform. Die Eingabe/Ausgabe-Schnittstelle umfasst eine Pixelport-Steuerschnittstelle 114 für die Pixelportoperationen, eine Videoport-Steuerschnittstelle 110 für die Videooperationen und eine DRAM- Steuerschnittstelle 112 für die DRAM-Operationen in dem FBRAM-Chip 71.
- Die Pixelport-Zugriffsoperationen für die Pixel-ALU 58 und den Pixelpuffer 56 werde durch einen Satz von Pixelportadressen- und Steuersignalen gesteuert. Die Operationen für die DRAM-Banken A-D werden durch einen Satz von DRAM-Steuersignalen gesteuert. Die Funktionen der Videopuffer 52 und 54 werden durch einen Satz von Videosteuersignalen gesteuert. Die drei Sätze von getrennten Steuerungen, zusammen mit den über vier Wege verschachtelten DRAM-Banken, ermöglichen bis zu sechs gleichzeitige Operationen für den FBRAM-Chip 71.
- Die Tabelle 1 listet die Pixelportadressen- und Steuersignale für eine Ausführungsform auf. Der Weitergabecontroller 70 steuert Pixelportoperationen an der Pixel-ALU 58 und den Pixelpufferlese- und Schreibports 204 und 202 über die Pixelportadressen- und Steuersignale. Der Weitergabecontroller 70 stellt die PA_ENA [1..0] Signale bereit, um einen Betrieb (eine Operation) für die Pixel-ALU 58 und die Pixelpufferports 204 und 202 zu initialisieren. Wenn irgendein PA_ENA Signal nicht bereitgestellt wird, dann werden die übrigen Pixelport-Steuersignale ignoriert. Tabelle 1
- Der Weitergabecontroller 70 erzeugt das PA_WE Signal, um eine Schreiboperation anzuzeigen. Das PA_WE Signal zeigt eine Leseoperation an, wenn es nicht bereitgestellt wird. Der Weitergabecontroller 70 steuert die PA_OP [2..0] Signale in Kombination mit dem PA_WE Signal an, um einen Betrieb für die Pixel-ALU 58 zu spezifizieren. Der Weitergabecontroller 70 verwendet die PA_ADDR [5..0] Signale, um die Pixelpufferlese- und Schreibports 204 und 202 Adressen für die Pixel- ALU 85 Operation zu spezifizieren.
- Der Weitergabecontroller 70 steuert die PA_BE [3..0] Signale während Lese- und Schreiboperationen mit Registerschreibvorgängen und Modifikationsmarken-Schreibvorgängen an. Während einer Leseoperation wird PA_WE nicht bereitgestellt und die PA_BE Signale stellen Ausgabebyteaktivierungssignale bereit. Während einer Leseoperation wird das PA_WE ausgegeben und PA_BE Signale stellen Schreibbyte-Aktivierungssignale bereit. Das PA_BE [0] Signal steuert das PA_DQ [7..0] Datenbyte, das PA_BE [1] Signal steuert das PA_DQ [15..8] Datenbyte, das PA_BE [2] Signal steuert das PA_DQ [23..16] Datenbyte, und das PA_BE [3] Signal steuert das PA_DQ [31..24] Datenbyte.
- Der Weitegabecontroller 70 verwendet die PA_BQ [31..0] Signale während Lese- und Schreiboperationen für den FBRAM-Chip 71. Während Schreiboperationen werden die PA_DQ Signale an die Pixel-ALU 58 transferiert. Während Leseoperationen werden PA_DQ Signale von dem Leseport des Pixelpuffers 56 bereitgestellt. Während interner Kopier- und Vertikalrolloperationen liefert der Weitergabecontroller 70 eine Schreibadresse mit den PA_DQ [29..24] Signalen.
- Während ALU-Schreibvorgängen, die eine Mischung ausführen, verwendet der Weitergabecontroller 70 die PA_DX [3..0] Signale, um Datenbits mit extra hoher Ordnung für die Datenbytes bereitzustellen, die über die PA_DQ Signale transferiert werden. Das PA_DX [0] Signal stellt ein Bit mit hoher Ordnung für das PA_DQ[7..0] Byte bereit. In ähnlicher Weise ist das PA_DX [1] Signal ein Bit hoher Ordnung für das PA_DQ [15..8] Byte, das PA_DX [2] Signal ist ein Bit hoher Ordnung für das PA_DQ [23..16], und das PA_DX [3] Signal ist ein Bit hoher Ordnung für das PA_DQ [31..24] Byte.
- Die PA_PASS_IN und die PA_PASS_OUT Signale ermöglichen bzw. aktivieren eine Koordination der Vergleichseinheitsergebnisse mit einem positiven Ergebnis (pass bzw. Bestehen oder Durchkommen/einem negativen Ergebnis (fall bzw. fehlgeschlagen) zwischen den FBRAM-Chips 71- 82. Das Vergleichsergebnis von der internen Vergleichseinheit des FBRAM-Chips 71 wird über das PA_PASS_OUT Signal transferiert. Das PA_PASS_OUT Signal zeigt an, ob ein interner Vergleichstest während statusmäßigen (stateful) Schreiboperationen an dem Pixelpuffer 56 fehlgeschlagen ist (negatives Ergebnis). Daten werden in den Pixelpuffer 56 während einer statusmäßigen Datenschreiboperation geschrieben, wenn das PA_PASS_IN Signal ein positives Ergebnis (pass) anzeigt und das PA_PASS_OUT Signal ein positives Ergebnis anzeigt.
- Die Tabelle 2 zeigt die DRAM-Adressen- und Steuersignale für eine Ausführungsform. Der Weitergabecontroller 70 initiiert DRAM-Zugriffsoperationen für die DRAM-Banken A-D, den globalen Bus 60, den Pixelpuffer-Globalbusport, und die Videopuffer 52 und 54 über die DRAM-Adressen- und Steuersignale. Der Weitergabecontroller 70 spezifiziert einen DRAM-Betrieb über die DRAM_OP [2..0] Signale. Der Weitergabecontoller 70 erzeugt das DRAM_ENA bei einer ansteigenden Flanke des Mastertakts CLK, um einen Betrieb an einer der DRAM-Banken A-D während des nächsten CLK- Zyklusses zu initiieren. Tabelle 2
- Der Weitergabecontroller 70 wählt eine der DRAM-Banken A-D mit den DRAM_BANK [1..0] Signalen. Der Weitergabecontroller 70 wählt eine Seite in der gewählten DRAM-Bank A-D über die DRAM_ADDR [8..0] Signale. Zusätzlich verwendet der Weitergabecontroller 70 die DRAM_ADDR [8..0] Signale, um die Pixelpuffer-Globalbus-Portadresse während Blocktransferoperationen über den globalen Bus 60 zu spezifizieren, und um Transfers von Videodaten von der DRAM-Seite an einen der Videopuffer 52 und 54 zu spezifizieren.
- Die Tabelle 3 listet die Videosteuersignale für eine Ausführungsform auf. Die Videosteuersignale werden verwendet, um Videodaten an die Videoausgabeschaltung 84 über den Videobus 134 zu transferieren. Die Videodaten, die über den Videobus 134 transferiert werden, werden durch das VID CLK Signal synchronisiert. Das VID_CLK Signal ist ein durchgeschalteter (gated) oder freilaufender Videoverschiebetakt. Das Signal ist ein synchrones Signal, welches zum Maskieren des nächsten VID_CLK Zyklus und zum Deaktivieren eines Videozählers in dem FBRAM-Chip 71, welcher die Videopuffer 52 und 54 ansteuert, verwendet wird. Das VID_OE Signal ist eine asynchrone Videoausgabeaktivierung (video output enable) für die Videodaten, die von den VID_DATA Signalen bereitgestellt werden. Ein 16 Bit breiter Videodatenbus, der von den VID_DATA [15..0] Signalen bereitgestellt wird, ermöglicht einen Transfer von zwei Bytes von Videodaten während eines Zyklus. Das VID_QSF Signal zeigt an, ob der Videopuffer 52 oder der Videopuffer 54 gerade die Videodaten, die über die VID_DATA [15..0] Signale transferiert werden, ansteuert. Tabelle 3
- Fig. 5 zeigt die Architektur der DRAM-Bank für eine Ausführungsform. Die DRAM-Bank A ist im wesentlichen ähnlich zu dem DRAM-Banken B-D. Die DRAM-Bank A umfasst ein DRAM-Feld 154, einen Satz von Leseverstärkern 156, eine Zeilendecoderschaltung 158 und einen Haltespeicher 160. Das DRAM-Feld 154 ist als 257 Seiten angeordnet. Jede Seite umfasst 10.240 Speicherzellen, was insgesamt eine Gesamtspeicherung von 2.631.680 Bits für die DRAM-Bank A ergibt.
- Die Zeilendecoderschaltung 158 empfängt die DRAM-Zugriffssignale 168 von der DRAM- Steuerschaltung 112 und wählt die Wortleitung für die Seite des DRAM-Felds 154, die von der Seitenadresse spezifiziert wird, die von dem DRAM-Zugriffssignal 168 spezifiziert wird. Die Wortleitungen wählen eine Seite des DRAM-Felds 154 für den Transfer am Leseverstärker 156. Die Leseverstärker 156 dienen als ein Seiten-Cache für das DRAM-Feld 154. Die Leseverstärker 156 sind ausgeglichen (equalized) und die DRAM-Bank A ist in Ruhe, wenn die Wortleitungen von der Zeilendecoderschaltung 158 nicht aktiv sind.
- Während einer Zugriffsseitenoperation, die von den DRAM-Zugriffssymbolen 168 angezeigt wird, wählt die Zeilendecoderschaltung 158 eine Seite des DRAM-Felds 154 durch Aktivieren der geeigneten Wortleitung. Die aktivierte Wortleitung transferiert die Bitzellen-Ladungen der entsprechenden Seite des DRAM-Felds 154 bei dem Leseverstärker 156. Die Leseverstärker 156 verstärken die Bitzellen-Ladungen der gewählten Seite des DRAM-Felds 154.
- Die DRAM-Bank A stellt einen Duplikatseitenmechanismus zum Schreiben einer Seite von Daten an irgendeiner Seite des DRAM-Felds 154 bereit. Wenn die DRAM-Zugriffssignale 168 einen Duplikatseitenbetrieb anzeigen, wählt die Zeilendecoderschaltung 158 eine Wortleitung ohne zunächst die Leseverstärker 156 auszugleichen. Die gewählte Wortleitung schreibt die Daten, die in den Leseverstärkern 156 enthalten sind, über die Daten in der gewählten Seite des DRAM-Felds 154.
- Die DRAM-Bank A wird vor einem Seitenzugriff auf das DRAM-Feld 154 vorgeladen. Ein Vorladebetrieb kann an der DRAM-Bank A nach Abschluss eines Datentransferbetriebs über den globalen Bus 60 oder einer Kommunikation an dem Videopuffer 52 begonnen werden. Ein Vorladebetrieb bzw. eine Vorladeoperation wird durch DRAM-Zugriffssignale 168 angezeigt. Die Vorladeoperation deaktiviert die gewählte Wortleitung und gleicht die Leseverstärker 156 aus. Nach der Vorladeoperation enthält die Seite des DRAM-Felds 154, die der deaktivierten Wortleitung entspricht, die Daten, die vorher einem Leseverstärker 156 waren. Der Seitenzugriff von dem DRAM-Feld 154 folgt dem Vorladebetrieb ohne Verzögerung.
- Fig. 6 zeigt die Videopuffer 52 und 54 für eine Ausführungsform. Die Videopuffer 52 und 54 sind als doppelte Puffer zum Transferieren von Videodaten über den Videobus 134 angeordnet. Die Videodaten 116 von dem Videopuffer 52 oder die Videodaten 117 von dem Videopuffer 54 werden von dem Multiplexer 62 gewählt. Die Videodaten, dir über den Videobus 134 transferiert werden, werden durch ein Register 186 synchronisiert. Das Register 186 wird durch das VID_CLK Signal der Videoausgabeschaltung 84 getaktet. Die Videodaten-Transferoperationen über den Videobus 134 werden durch das VID_OE Signal aktiviert und deaktiviert.
- Der Videopuffer 52 empfängt zahlreiche Leseverstärkerdaten 170 von den Seitenpuffer A oder C. Der Videopuffer 54 empfängt einen Satz von Leseverstärkerdaten 172 von den Seitenpuffern B oder D. Ein Zähler 174 erzeugt eine Videoadresse 176 in Übereinstimmung mit dem VID_CLK Signal und dem VID_ENA Signal. Die Videoadresse 176 bewirkt, dass die Videopuffer 52 und 54 Videodaten 116 und 117 an die Multiplexer 62 herausschieben. Der Zähler 174 ist durch den Videotakt 108 synchronisiert und wird durch das VID_ENA Signal aktiviert oder deaktiviert.
- Für eine Ausführungsform puffern die Videopuffer 52 und 54 jeweils 640 Bits der Leseverstärkerdaten (sense amp data). Die Leseverstärkerdaten 170 und 172 umfassen jeweils 640 Bits der Leseverstärkerdaten von einem der entsprechenden Seitenpuffer A-D. Der Videopuffer 52 oder 54 verschiebt 16 Datenbits über den Videobus 134 während jedes Zyklus des VID_CLK Signals in Übereinstimmung mit der Videoadresse 176. Die Videopuffer 52 und 54 erfordern jeweils 40 Zyklen des VID_CLK Signals, um insgesamt 640 Bits der Videodaten über den Videobus 134 zu transferieren. Der Zähler 174 erzeugt ein Wählsignal 188, welches zwischen den Videodaten 116 und 117 wählt. Der Zähler erzeugt das Wählsignal 188 durch Zählen des VID_CLK Signalmoduls 40 und durch Kippen des Wählsignals 188, wenn sich der Zählwert um 0 herumwickelt. Das Wählsignal 188 ist durch das VID_CLK Signal durch ein Register 182 synchronisiert, um das VID_QSF Signal auf den Videobus 134 zu legen.
- Die VID_DATA Signale stellen 16 Bits von parallelen Videodaten an der Videoausgabeschaltung 84 bereit. Die Byte-Reihenfolge von Daten auf den VID_DATA Signalen wird durch eine Bytepaar- Modusverriegelung in dem FBRAM-Chip 71 gewählt. Die Bytepaar-Modusverriegelung wird über die DRAM_ADDR [7] Signale geladen, wenn das DRAM_ADDR [8] Signal abgegeben wird. Die Bytepaar- Modusverriegelung wählt entweder einen normalen Videoausgabemodus oder einen umgekehrten Videoausgabemodus.
- Fig. 7 zeigt den Pixelpuffer 56 für eine Ausführungsform. Der Pixelpuffer 56 umfasst einen SRAM-Puffer 200, einen entsprechenden Modifikationsmarken-Speicher 194, ein Ebenenmaskenregister 198, eine Schreibaktivierungsschaltung 190, einen Schaltpuffer 192, einen Schreibport 286 und einen Lesepuffer 288. Der SRAM-Puffer 200 umfasst ein 2048 Bit SRAM-Feld. Der SRAM-Puffer 200 ist in acht Pixel-Cache-Blöcke organisiert. Jeder Pixel-Cache-Block des SRAM-Puffers 200 umfasst 256 Bits.
- Jeder Pixel-Cache-Block in dem SRAM-Puffer 200 speichert acht Wörter, die jeweils 32 Bits umfassen. Der Modifikationsmarken-Speicher 194 enthält acht Sätze von 32 Bits Modifikationsmarken (dirty tags). Jeder Pixel-Cache in dem SRAM-Puffer. 200 entspricht einem der Sätze von Modifikationsmarken des Modifikationsmarken-Speichers 194.
- Die Pixelport-Steuerschaltung 114 erzeugt eine ALU-Blockadresse 214 und eine ALU- Wortadresse 206, um Pixeldaten in dem SRAM-Puffer 200 und entsprechende Modifikationsmarken-Bits in dem Modifikationsmarken-Speicher 194 für Pixelzugriffsoperationen zu wählen. Der Pixelpuffer 56 empfängt die ankommenden Schreibportdaten 202 für den SRAM-Puffer 200 durch den Schreibport 286. Der Schreibport 286 wird durch ein Pixelpuffer-Schreibaktivierungssignal 276 von der Pixel-ALU 58 aktiviert und deaktiviert. Der Pixelpuffer 56 transferiert abgehende Leseportdaten 204 von dem SRAM- Puffer 200 durch den Leseport 288. Die Modifikationsmarken in dem Modifikationsmarken-Speicher 194 werden von der ALU-Blockadresse 214 gewählt.
- Die DRAM-Steuerschaltung 112 erzeugt eine globale Blockadresse 216 zum Wählen von Pixel- Cache-Blöcken in dem SRAM-Puffer 200 für Blocktransferoperationen über den globalen Bus 60. Der Schreibpuffer 192 koppelt den globalen Bus 60 mit dem SRAM-Puffer 200 über einen globalen Lese/Schreibport-Bus 208.
- Pixel-Cache-Block-Trasisfers von den DRAM-Banken A-D an den SRAM-Puffer 200 über den globalen Bus 60 werden durch ein Globalbus-Lesesignal 210 von der DRAM-Steuerschaltung 112 gesteuert. Das Globalbus-Lesesignal 210 transferiert einen Pixel-Cache-Block von dem Schreibpuffer 192 an den SRAM-Puffer 200 über den globalen Lese/Schreibport-Bus 208. Das Globalbus-Lesesignal 210 lädt einen Satz von konstanten Nullen 214 in die entsprechenden Modifikationsmarken-Bits in dem Modifikationsmarken-Speicher 194. Die entsprechenden Modifikationsmarken-Bits in dem Modifikationsmarken-Speicher 194 werden durch die globale Blockadresse 216 gewählt.
- Pixel-Cache-Blocktransfers von dem SRAM-Puffer 200 an die DRAM-Banken A-D über den globalen Bus 60 werden durch ein Globalbus-Schreibsignal 212 von der DRAM-Steuerschaltung 112 gesteuert. Das Globalbus-Schaltsignal 212 bewirkt, dass die Schreibaktivierungsschaltung 190 einen Satz von Schreibaktivierungssignalen 164 erzeugt. Die Schreibaktivierungssignale 164 steuern einen Transfer eines Pixel-Cache-Blocks von dem Schreibpuffer 192 über den globalen Bus 60 an die Seitenpuffer A-D. Die Schreibaktivierungssignale 164 werden durch die entsprechenden Modifikationsmarken-Bits in dem Modifikationsmarken-Speicher 194 konditioniert.
- Die Schreibaktivierungssignale 164 werden auch durch einen Ebenenmaskenwert, der in dem Ebenenmaskenregister 198 gespeichert ist, konditioniert. Für eine Ausführungsform umfassen die Schreibaktivierungssignale 164 einen Satz von 256 Schreibaktivierungssignalen, die den 256 Bits des Pixel- Cache-Blocks entsprechen, der über den globalen Bus 60 transferiert wird.
- Fig. 8 zeigt die Pixel-ALU 58 für eine Ausführungsform. Die Pixel-ALU umfasst einen Satz von Rasteroperations- und Misch-(ROP/Blend oder ROP/Misch)Einheiten 230-233, ein Konstantenregister 236 und eine Vergleichseinheit 235. Quellendaten für die Pixel-ALU 58 werden durch einen konstanten Wert von dem konstanten Register 236, den Eingangspixeldaten 162 von den Eingabe/Ausgabestiften des FBRAM-Chips 71, und den Leseportdaten 204 von dem Pixelpuffer 56 bereitgestellt.
- Die Eingangspixeldaten 162 umfassen 32 Bits, die über die PA_DQ [31..0] Signale geliefert werden, und 4 Bits, die über die PA_DX [3..0] Signale geliefert werden. Die Daten, die über die PA_DX [3..0] Signale geliefert werden, werden während Mischoperationen in dem FBRAM-Chip 71 verwendet. Das Konstantenregister 236 verriegelt bzw. hält die Eingangspixeldaten 162 für eine nachfolgende Verwendung als Quellendaten.
- Die Leseportdaten 204 von dem Pixelpuffer 56 stellen alte Daten (O [31..0]) für Rasteroperationen, Mischoperationen und Vergleichsoperationen bereit. Die Eingangspixeldaten 162 stellen neue Daten (N [31..0]) und weitere neue Daten [NX [3..0]) für Rasteroperationen, Mischoperationen und Vergleichsoperationen bereit. Das Konstantenregister 236 stellt Konstantquellendaten (K [31..0]) und erweiterte Konstantquellendaten (NX [3..0]) für Rasteroperationen, Mischoperationen und Vergleichoperationen bereit.
- Jede ROP/Mischeinheit 230-233 implementiert eine 8 Bit Rasteroperationseinheit und eine 8 Bit Mischeinheit. Die ROP/Mischeinheiten 230-233 sind jeweils in einer Pipeline-Ausbildung. Die ROP/Mischeinheit 230-233 arbeitet mit entsprechenden 8 Bits von alten Daten von dem Pixelpuffer 56, einem 9 Bit Bruchteil und 9 Bits von neuen Daten. Die ROP/Mischeinheiten 230-233 verwenden jeweils eine Vielzahl von Quellen für den entsprechenden Bruchteil und die entsprechenden neuen Daten.
- Die alten Daten O [31..0], die neuen Daten N [31..0] und NX [3..0] und die Konstantdaten K [31..0], KX [3..0] werden als Quellen an die ROP/Mischeinheiten 230-233 und die Vergleicheinheit 235 verteilt. Die alten Daten O [31..0], die neuen Daten N [31..0] und NX [3..0] und die Konstantdaten K [31..0] und KX [3..0] stellen einen Satz von Quellen 250-253 an den ROP/Mischeinheiten 230-233 bereit. Die alten Daten O [31..0], die neuen Daten N [31..0] und die Konstantdaten K [31..0] stellen einen Satz von Vergleichsquellen 248 für die Vergleichseinheit 235 bereit.
- Die ROP/Mischergebnisse, die von den ROP/Mischeinheiten 230-233 erzeugt werden, werden an den Pixelpuffer 56 als die Schreibportdaten 202 transferiert. Die ROP/Mischergebnisse, die von den ROP/Mischeinheiten 230-233 erzeugt werden, werden konditionell an den Pixelpuffer 56 über die Schreibportdaten 202 in Übereinstimmung mit Pixelpuffer-Schreibaktivierungssignal 276, das von der Vergleichseinheit 235 erzeugt wird, geschrieben.
- Die Vergleichseinheit 235 umfasst eine 32 Bit Übereinstimmungs-Vergleichseinheit und eine 32 Bit Größen-Vergleichseinheit. Ein Vergleichsergebnis 240, das von der Vergleichseinheit 235 erzeugt wird, kann mit einem Vergleichsergebnis von einem anderen SDRAM-Chip über die PA_PASS_IN und die PA_PASS_OUT Signale kombiniert werden.
- Fig. 9 zeigt die ROP/Mischeinheit 230 für eine Ausführungsform. Die ROP/Mischeinheiten 231- 233 sind im wesentlichen ähnlich wie die ROP/Mischeinheit 230. Die ROP/Mischeinheiten 231-233 arbeiten mit unterschiedlichen Feldern von Quellendaten. Die ROP/Mischeinheit 230 umfasst eine Rasteroperations-Schaltung 222 (Raster-op-Schaltung), einen Addierer 224 und eine Klemmschaltung 226, und eine Multipliziererschaltung 228. Die ROP/Mischeinheit 230 umfasst ferner einen Satz von Multiplexern 242-244, die Quellendaten für die ROP/Mischeinheit 230 lenken und die die Ergebnisse an den Schreibport 202 des Pixelpuffer 56 liefern. Zusätzlich ist eine Konstantdatenquelle 256 gleich zu 100 hex durch den Multiplexer 244 verfügbar.
- Die ROP/Mischeinheit 230 umfasst ein Steuerregister 220, das über die Eingangspixeldaten 162 mit neuen Daten N [7..0] programmiert wird. Das Steuerregister 220 wird mit einem Lade- ROP/Mischsignal 218 von der Pixelport-Steuerschaltung 114 beladen. Der Weitergabecontroller 70 programmiert das Steuerregister 220, um die ROP/Mischeinheit 230 entweder als eine ROP/Einheit oder als eine Mischeinheit zu konfigurieren. Das Steuerregister 220 erzeugt einen Satz von Steuersignalen 248 zum Steuern der Multiplexer 242-244 und der Rasteroperations-Schaltung 222. Der Multiplexer 234 wählt entweder das Mischergebnis 346 von der Rasteroperationsschaltung 222 oder das Mischergebnis 348.
- Für eine Ausführungsform führt die Rasteroperationsschaltung 222 eine von 16 Bool'schen Rasteroperationsfunktionen in Übereinstimmung mit den Steuersignalen 248 aus. Die Rasteroperationsfunktionen werden mit alten Daten O [7..0] und entweder neuen Daten NX [0], N [7.,0] oder Konstantdaten KX [0], K [7..0] in Übereinstimmung mit den Inhalten des Steuerregisters 220 ausgeführt.
- Die allgemeine Pixel-Mischgleichung für die ROP/Mischeinheit 230 ist MISCHERGEBNIS = NEUER DATENWERT · NEUER BRUCHTEIL + ALTER DATENWERT · ALTER BRUCHTEIL. Die Multipliziererschaltung 228 und dar Addierer 224 führen die ALTER DATENWERT · ALTER BRUCHTEIL Multiplikation und die Addition in der allgemeinen Pixel-Mischgleichung aus. Das NEUER DATENWERT · NEUER BRUCHTEIL Multiplikationsergebnis und der ALTE BRUCHTEIL werden von dem Weitergabecontroller 70 zugeführt.
- Der Addierer 224 erzeugt ein Zwischenmischergebnis. Das Zwischenmischergebnis wird durch die Klemmschaltung 226 geklemmt. Die Klemmschaltung 226 klemmt einen Addierer-Unterfluss auf 0 und klemmt einen Addierer-Überfluss auf 255. Das geklemmte Ergebnis 348 wird über die Schreibportdaten 202 an den Pixelpuffer 56 durch den Multiplizierer 243 transferiert.
- Fig. 10 zeigt die Vergleichseinheit 235 für eine Ausführungsform. Die Vergleichseinheit 235 umfasst eine Übereinstimmungs-Vergleichseinheit 260, eine Größen-Vergleichseinheit 262, ein Übereinstimmungs-Maskenregister 264, ein Größen-Maskenregister 266 und ein Vergleichs-Steuerregister 268. Die Übereinstimmungs-Vergleichsschaltung 260 und die Größen-Vergleichsschaltung 262 führen die jeweiligen Vergleichsfunktionen parallel aus.
- Die Inhalte des Vergleichs-Steuerregisters 268 spezifizieren die Übereinstimmungs- und Größen- Vergleichsfunktionen. Das Übereinstimmungs-Markenregister 264 und das Größen-Markenregister 266 spezifizieren die Quellendatenbits, die an den Übereinstimmungs- und Größen-Vergleichsfunktionen teilnehmen. Das Vergleichs-Steuerregister 268 wird über die eingegebenen Pixeldaten 162 mit neuen Daten N[5..0] programmiert. Das Vergleichsregister 268 wird durch ein Ladevergleichs-Steuersignal 282 von der Pixelport-Steuerschaltung 114 geladen. Das Übereinstimmungs-Maskenregister 264 und das Größen- Vergleichsregister 266 werden jeweils über die eingegebenen Pixeldaten 162 mit neuen Daten N[31..0] programmiert. Das Übereinstimmungs-Maskenregister 264 und das Größen-Maskenregister 266 werden durch ein Ladeübereinstimmungs-Maskensignal 280 bzw. ein Ladegrößen-Maskensignal 281 von der Pixelport-Steuerschaltung 114 geladen.
- Die alten Daten [31..0], die von dem Pixelpuffer 56 empfangen werden, liefern einen Quellendateneingang für die Übereinstimmungs-Vergleichsschaltung 260 und die Größen- Vergleichsschaltung 262. Ein anderer Quellendateneingang für die Übereinstimmungs-Vergleichsschaltung 260 und die Größen-Vergleichsschaltung 262 wird entweder durch die neuen Daten N[31..0] von den PA- DQ Stiften des FBRAM Chips 71 oder den konstanten Daten (K[31..0]) von dem Konstantenregister 236 geliefert.
- Die Vergleichsergebnisse von der Übereinstimmungsvergleichsschaltung 260 und der Größen- Vergleichsschaltung 262 werden von dem UND Gatter 270 kombiniert. Das UND Gatter 270 stellt das Vergleichsergebnis 240 bereit, welches über den verschachtelten Weitergabebus 64 als das P_PASS_OUT Signal transferiert wird. Das Vergleichsergebnis 240 wird mit dem PA PASS IN durch ein UND Gatter 271 kombiniert. Der Ausgang des UND Gatters 271 stellt das Pixelpuffer-Schreibaktivierungssignal 276 bereit. Das Pixelpuffer-Schreibaktivierungssignal 276 aktiviert das Einschreiben der Schreibportdaten 202 in den Pixelpuffer 56 hinein.
- Fig. 11 zeigt die Pipeline-Architektur des Pixelpuffers 56 und der Pixel-ALU 58 für eine Ausführungsform. Der Pixelpuffer 56 und die Pixel-ALU 58 implementieren eine Pipeline mit sieben Stufen (Stufe 1 bis Stufe 7). Die Pipeline-Stufen Stufe 1 bis Stufe 7 minimieren eine Übergangsverzögerung zwischen Pixelportlese- und Schreibzugriffen an dem FBRAM Chip 71 über den verschachtelten Weitergabebus 64. Die Pipeline-Stufen Stufe 1 bis Stufe 7 ermöglichen dem Weitergabecontroller 70 aufeinanderfolgende Schreiboperationen bei einer Rate von eins pro Takt über den verschachtelten Weitergabebus 64 ohne Verzögerungszyklen auszugeben. Die Pipeline-Architektur des Pixelpuffers 56 und der Pixel-ALU 58 ermöglicht einen hohen Durchsatz, obwohl die ALU Logik unter Verwendung von standardmäßigen DRAM Prozessen implementiert wird, die nicht für eine ALU Logik implementiert sind.
- Für eine Ausführungsform werden drei Pipeline-Stufen verwendet, um die Vergleichseinheits- Pipeline 235 zu implementieren und vier Pipeline-Stufen werden verwendet, um die ROP/Mischeinheits- Pipeline 230-233 zu implementieren. Die Tiefenverarbeitungs-Pipelines ermöglichen eine praktische Implementierung der erforderlichen Hochgeschwindigkeitslogik-Arithmetikfunktionen in dem langsameren und kostengünstigerem Speicherprozess, der bei der Herstellung des FBRAM Chips 71 verwendet wird.
- Der Weitergabecontroller 70 gibt Register-Schreiboperationen über den verschachtelten Weitergabebus 64 aus, um die Steuerregister des FBRAM Chips 71 zu programmieren, einschließlich der Steuerregister des Pixelpuffers 56 und der Pixel-ALU 58. Eine Registerschreiboperation beeinflusst Pipeline-Operation nicht, die während Zyklen des verschachtelten Weitergabebus 64 ausgegeben werden, die der Registerschreiboperation vorangehen. Die Registerschreiboperationen beeinflussen Operationen, die in nachfolgenden Zyklen über den verschachtelten Weitergabebus 64 ausgegeben werden.
- Die Pipeline-Stufen Stufe 1 bis Stufe 7 ermöglichen dem Weitergabecontroller 70 aufeinanderfolgende Leseoperationen über dem verschachtelten Weitergabebus 64 ohne Verzögerungszyklen auszugeben. Die Leseoperationen über dem verschachtelten Weitergabebus 64 umfassen Mehrfachzyklus-Datenphasen. Der Weitergabecontroller 70 kann einen Lesebetrieb über den verschachtelten Weitergabebus 64 unmittelbar nach Ausgeben seiner Schreiboperation über dem verschachtelten Weitergabebus 64 ohne Verzögerungszyklen ausgeben.
- Die Tabelle 4 beschreibt die internen Aktivitäten des Pixelpuffers 56 und der Pixel-ALU 58 in Bezug auf externe Aktivitäten an den Eingabe/Ausgabe-Schnittstellenstiften des FBRAM Chip 71 für die Pipeline-Stufen Stufe 1 bis Stufe 7. Tabelle 4
- Fig. 12 ist ein Zeitablaufdiagramm, welches Pipeline-Lese- und Schreibtransfers durch die Pipeline-Stufen Stufe 1 bis Stufe 7 für eine Ausführungsform darstellt. Der Weitergabecontroller 70 gibt ein Paar von Leseoperationen (Lesen A (Read A) und Lesen B (Read B)) über den verschachtelten Weitergabebus 64 aus und gibt dann eine Reihe von Schreiboperationen (WC, WD, WE und WF) gefolgt von einer Leseoperation (Lesen G (Read G)) aus. Das Diagramm zeigt die Zeitsteuerung an den Pixelport- Eingabe/Ausgabe-Schnitistellenstiften mit den PA_ADDR Signalen, PA_OP, PA_BE, PA_WE, UND PA_ENA Signalen, den PA_DQ und PA_DX Signalen und dem Vergleichsergebnis PA_PASS_OUT Signal. Das Mastertaktsignal (CLK) synchronisiert die Lese- und Schreiboperationen über den verschachtelten Weitergabebus 64.
- Der Weitergabecontroller 70 gibt den Lesebetrieb Lesen A (Read A) über den verschachtelten Weitergabebus 64 während Perioden t0 und t1 aus. Die gültigen Daten Daten A (Data A) für die Leseoperation Lesen A ist während der Periode t3 verfügbar. Die Daten A (Data A) werden an der ansteigenden Flanke des CLK Signals während der Periode t4 abgetastet. Zwischen der Leseoperation Lesen B und der Schreiboperation Schreiben WC tritt keine-Operation(no-op, NOP) mit zwei Zyklen auf dem verschachtelten Weitergabebus 64 auf. Die no-op Perioden stellen eine freie Zeit während eines Datenumlaufs auf dem verschachtelten Weitergabebus 64 bereit.
- Der Weitergabecontroller 70 gibt die Leseoperation Lesen G unmittelbar nach Ausgeben der Schreiboperation WF aus. Die Schreiboperation WC erreicht die Pipeline-Stufe Stufe 1 zu der Periode t6. Das PA_PASS_OUT Signal, das der Schreiboperation WC (Durchlauf C, Pass C) entspricht, erreicht die Pipeline-Stufe Stufe 6 während der Periode t11.
- Fig. 13 zeigt die Organisation des Pixelpuffers 56 für eine Ausführungsform. Der SRAM Puffer 200 ist als acht 256 Bit Pixel Cache Blöcke (Blöcke B0 bis B7) organisiert, die acht Blöcke mit acht 32 Bit Pixeln in jedem Block bereitstellen. Die Blöcke B0 bis B7 werden von den DRAM_ADDR Signalen für Blocktransferoperationen über dem globalen Bus 60 und für Zugriffe durch die ALU Lese- und Schreibports 286 und 288 adressiert. Eine Wortadresse, die von den DRAM_ADDR Signalen spezifiziert wird, identifiziert ein 32 Bit Wort in dem SRAM Puffer 200 für Zugriffe durch die ALU Lese- und Schreibports 286 und 288.
- Jeder Block B0 bis B7 umfasst acht 32 Bit Wörter. Zum Beispiel umfasst der Block B0 die Wörter W0 bis W7. Jedes Wort W0 bis W7 ist ein Teil eines Achtels des Blocks B0. Das Wort W0 wird direkt auf PA_DQ [31..0] Signale abgebildet. Das erste Byte von W0 wird auf die PA_DQ[7 : 0] Signale abgebildet, das zweite Byte von W0 wird auf die PA_DQ[15 : 8] Signale abgebildet, das dritte Byte von W0 wird auf die PA_DQ[23 : 16] Signale abgebildet, und das übrige Byte von W0 wird auf die PA_DQ[31 : 24] Signale abgebildet.
- Jedes Datenbyte von jedem Block B0 bis B7 gehört zu einem Modifikationsmarken-Bit (dirty tag Bit) in dem Modifikationsmarken-Speicher 194. Der Modifikationsmarken-Speicher 194 enthält acht Sätze von Modifikationsmarken T0 bis T7, die den Blöcken B0 bis B7 entsprechen. Jeder 32 Bit Satz von Modifikationsmarken T0 bis T7 steuert den entsprechenden Block B0 bis B7. Die Abbildung der Modifikationsmarken-Bits b0-b31 der Modifikationsmarken T0 auf den Block B0 ist gezeigt.
- Die Modifikationsmarken T0 bis T7 werden während Blocktransferoperationen über den globalen Bus 60 zwischen den SRAM Puffer 200 und den DRAM Banken A-D verwendet. Die Modifikationsmarken T0 bis T7 werden auch während Schreiboperationen durch den Schreibport 286 in den Pixelpuffer 56 hinein verwendet. Der Weitergabecontroller 70 greift auch direkt auf die Modifikationsmarken T0 bis T7 zu, die in dem Modifikationsmarken-Speicher 194 über die PA_DQ[31..0] Signale gespeichert sind.
- Während Blockleseoperationen von einer der DRAM Banken A-D auf eine der Blöcke B0 bis B7 des SRAM Puffers 200 über den globalen Bus 60 werden die entsprechenden Modifikationsmarken T0 bis T7 gelöscht. Während Blockschreiboperationen von einem der Blöcke B0 bis B7 des SRAM Puffers 200 auf eine der DRAM Banken A-D über den globalen Bus 60 bestimmen die entsprechenden Modifikationsmarken T0 bis T7 die Datenbytes, die an die spezifizierte DRAM Bank A-D geschrieben werden, im Zusammenhang mit den Inhalten des ebenen Maskenregisters 198. Wenn ein Modifikationsmarken-Bit b0-b3 0 ist, dann wird das entsprechende Datenbyte der spezifizierten DRAM Bank A-D nicht geschrieben.
- Die Abbildung der ebenen Ebenenmaskenbits in dem ebenen Ebenenmaskenregister 198 auf die PA_DQ Signale ist in Fig. 13 gezeigt. Die Ebenenmaskenbits in dem Ebenenmaskenregister 198 ermöglichen Schreibvorgänge an den SRAM Puffer 200 und an die DRAM Banken A-D. Der Weitergabecontroller 70 schreibt die Ebenenmaskenbits an das Ebenenmaskenregister 198. Die Ebenenmaskenbits sind für statusmäßige (stateful) Schreibvorgänge effektiv, die von dem Weitergabecontroller 70 währen Zyklen nach der Schreiboperation an das Ebenenmaskenregister 168 ausgegeben werden.
- Die Ebenenmaskenbits in dem Ebenenmaskenregister 198 dienen als pro Bit Schreibaktivierungen 11k eine Dateneingabe in den SRAM Puffer 200 während statusmäßigen Schreibvorgängen durch den Schreibport 286. Die Ebenenmaskenbits in dem Ebenenmaskenregister 198 dienen auch als pro Bit Schreibaktivierungen für maskierte Schreibblöcke, die über den globalen Bus 60 von SRAM Puffer 200 transferiert werden. Die Ebenenmaskenbits treffen auf jedes Wort des maskierten Schreibblocks, der über den globalen Bus 60 an eine der DRAM Banken A-D transferiert wird, zu.
- Die Tabelle 5 beschreibt die Pixelportoperationen, die die Moditikationsmarken T0 bis T7 beeinflussen. Die Pixelport-Schreiboperationen, die die Modifikationsmarken T0 bis T7 beeinflussen, umfassen einen zustandsmäßigen anfänglichen Dateneinschreibvorgang, einen zustandslosen anfänglichen Dateneinschreibvorgang, einen zustandsmäßigen normalen Dateneinschreibvorgang, und einen zustandslosen normalen Dateneinschreibvorgang. Die Modifikationsmarken T0 bis T7 beeinflussen abgehende Lesedaten, die über den verschachtelten Weitergabebus 64 transferiert werden, nicht und werden während Wortleseoperationen durch den Leseport 288 des Pixelpuffers 56 nicht modifiziert. Tabelle 5
- Die PA_BE[3..0] Signale werden durch die Pipeline-Stufen Stufe 1 bis Stufe 7 ausgebreitet, während die entsprechenden Pixel-Portoperationen durch die Pipeline-Stufen Stufe 1 bis Stufe 7 ausgebreitet werden. Am Ende der Pipeline-Stufen Stufe 1 bis Stufe 7 werden Pixel-Daten konditionell in ein Wort des SRAM Puffers 200 geschrieben, während die als Pipeline verarbeiten PA_BE [3..0] Signale die vier entsprechenden Modifikationsmarken-Bits des Modifikationsmarken-Speichers 194 modifizieren.
- Für die anfänglichen Dateneinschreibvorgänge werden die vier adressierten Modifikationsmarken- Bits des Modifikationsmarken-Speichers 194 mit den als Pipeline verarbeiteten PA_BE [3..0] Signalen ersetzt. Die übrigen achtundzwanzig Modifikationsmarken-Bits für den adressierten Block des SRAM Puffers 200 werden während des anfänglichen Dateneinschreibvorgangs auf Null gelöscht. Für die normalen Dateneinschreibvorgänge werden die vier adressierten Modifikationsmarken-Bits des Modifikationsmarken-Speichers 194 jeweils auf eins gesetzt, wenn das entsprechende PA_BE [3..0] Pipeline-Signal eins ist. Die vier adressierten Modifikationsmarken-Bits bleiben jeweils unverändert, wenn das entsprechende PA_BE[3..0] Pipeline-Signal Null ist. Die übrigen achtundzwanzig Modifikationsmarken-Bits für den adressierten Block des SRAM Puffers 200 bleiben während des normalen Dateneinschriebvorgangs unverändert.
- Zusätzlich greift der Weitergabecontroller 70 direkt auf die Modifikationsmarken-Bits zu. Der Weitergabecontroller 70 gibt eine Modifikationsmarken-Ersetzungsoperation vor, um die Modifkationsmarken-Bits für einen spezifizierten Block B0 bis B7 durch Markendaten, die über die PA- DQ Signale bereitgestellt werden, zu ersetzen. Der Weitergabecontroller 70 gibt eine "ODER" Modifikationsmarken-Operation aus, um die Modifikationsmarken-Bits für einen spezifizierten Block B0 bis B7 durch das "ODER" Funktionsergebnis zwischen den ursprünglichen Modifikationsmarken-Bits von dem Modifikationsmarken-Speicher 194 und neuen Markendaten über die PA_DQ[31..0] Signale zu ersetzen.
- Die Bit-Abbildung zwischen den Modifikationsmarken-Bits b0-b31 der gewählten Modifikationsmarken T0 bis T7 und Datenwörtern, die über die PA_DQ Signale transferiert werden, ist in Fig. 13 dargestellt. Zum Beispiel transferiert der Weitergabecontroller 70 neue Modifikationsmarken-Daten über die PA_DQ[0], PA_DQ[8], PA_DQ[16] und PA_DQ[24] Signale, um die Modifikationsmarken-Bits für das Wort W0 des gewählten Blocks B0 bis B7 zu ändern. Der Weitergabecontroller 70 transferiert neue Modifikationsmarken-Daten über die PA_DQ[5], PA_DQ[13], PA_DQ[21] und PA_DQ[29] Signale, um die Modifikationsmarken-Bits für das Wort B5 des gewählten Blocks B0-B7 zu ändern.
- Die Modifikationsmarken-Bits T0-T7, die zur Pixel-Cache-Böcken B0-B7 gehören, werden in einem Farberweiterungsmechanismus für gewöhnliche Farbweitergabeoperationen durch den Weitergabecontroller 70 verwendet. Der Farberweiterungsmechanismus ermöglicht dem Weitergabecontroller 70 einzelne Pixel mit einem einzelnen Bit zu spezifizieren. Der Farberweiterungsmechanismus erweitert das Bit dann auf ein gesamtes Pixel. Der Weitergabecontroller 70 verwendet den Farberweiterungsmechanismus während zweidimensionaler Weitergabeoperationen wie beispielsweise dem Zeichnen eines Textes, was erfordert, dass der Weitergabecontroller 70 einen gemeinsamen Farbwert an viele Pixel in den DRAM-Banken A-D schreibt.
- Der Weitergabecontroller 70 wählt einen Farberweiterungsblock aus den Pixel-Cache-Blöcken B0 -B7. Der Weitergabecontroller 70 schreibt dann einen gemeinsamen Farbwert acht mal an alle Pixel in dem Farberweiterungsblock. Der Weitergabecontroller 70 schreibt dann ein 32 Bit Farberweiterungswort an die Modifikationsmarken-Bits in dem Modifikationsmarken-Speicher 194, die dem Farberweitungsblock entsprechen.
- Der Weitergabecontroller 70 initiiert dann eine Scheibblocktransferoperation des Farberweiterungsblocks an eine der DRAM-Banken A-D über den globalen Bus 60. Die Pixel des Farberweiterungsblocks, die den gemeinsamen Farbwert enthalten und einen entsprechenden Modifikationsmarken-Bitsatz aufweisen, werden an die gewählte DRAM-Bank A-D mit einem gemeinsamen Farbwert geschrieben. Die Pixel des Farberweiterungsblocks, der nicht einen entsprechenden Modifikationsmarken-Bitsatz aufweist, werden nicht an die gewählte DRAM-Bank A-D geschrieben.
- Danach schreibt der Weitergabecontroller 70 ein neues Farberweiterungswort an die Modifikationsmarken-Bits des Farberweiterungsblocks, und initiiert dann eine Schreibblocktransferoperation des Farberweiterungsblocks an einen anderen Abschnitt der DRAM-Banken A-D. Der Weitergabecontroller 70 verwendet den Farberweiterungsblock, um eine Vordergrundfarbe zu halten, die wiederholt verwendet wird, um Text in die DRAM-Banken A-D hinein zu schreiben.
- Fig. 14 zeigt die Abbildung der Ebenenmaskenbits in dem Ebenenmaskenregister 198 und der Modifikationsmarken-Bits in dem Modifikationsmarken-Speicher 194 für einen Pixel-Cache-Block auf maskierte Schreibblockoperationen auf dem globalen Bus 60. Für eine Ausführungsform umfasst ein maskierter Schreibblock, der über den globalen Bus 60 transferiert wird, 256 Bits. Die Wechselwirkung zwischen den Modifikationsmarken-Bits und den Ebenenmaskenbits für die untersten 40 Bits auf dem globalen Bus 60 ist gezeigt.
- Während einer maskierten Blockschreiboperation über den globalen Bus 60 wird dann, wenn das Modifikationsmarken-Bit und das Ebenenbit, das einem Bit des markierten Schreibblocks entspricht, beide gleich zu eins sind, dieses Bit des markierten Schreibblocks in den gewählten Leseverstärker in die DRAM- Banken A-D geschrieben. Die 32 Ebenenmaskenbits werden wiederholt auf jeden 32 Bit Abschnitt des maskierten Schreibblocks auf dem globalen Bus 60 angewendet. Jedes Modifikationsmarken-Bit bezieht sich auf einen 8 Bit Abschnitt des maskierten Schreibblocks auf dem globalen Bus 60.
- Tabelle 6 beschreibt die Pixelportoperationen des FBRAM-Chips 71 für eine Ausführungsform. Die Pixelportoperationen umfassen Operationen zum Modellieren von Daten aus dem Pixelpuffer 56, Operationen zum Schreiben von Daten an den Pixelpuffer 56 in vier unterschiedlichen Moden, Operationen zum Ersetzen und Modifizieren von Modifikationsmarken-Sätzen in dem Modifikationsmarken-Speicher 194 und eine Operation zum Schreiben an die Steuerregister des FBRAM-Chips 71. Tabelle 6
- Der Weitergabecontroller 70 spezifiziert Block- und Wortadressen für Pixelportoperationen über die PA_ADDR [5..0] Signale. Der Weitergabecontroller 70 spezifiziert Blockadressen für die Pixel-ALU- Operationen über die PA_ADDR [5..3] Signale. Der Weitergabecontroller 70 spezifiziert Wortadressen für die Pixel-ALU-Operationen über die PA_ADDR [2..0] Signale. Der Weitergabecontroller 70 spezifiziert die Steuerregister während Steuerregister-Schreiboperationen über die PA_ADDR [5..0] Signale.
- Der Weitegabecontroller 70 gibt die Pixelport-Lese-Operation vor, um 32 Datenbits aus dem Pixelpuffer 56 zu lesen. Die Block- und Wortadressen in dem SRAM-Puffer 200 werden durch die PA_ADDR [5..0] Signale spezifiziert.
- Der Weitergabecontroller 70 gibt die zustandlose anfängliche Dateneinschreiboperation vor, um 32 Datenbits des Blocks und Worts in den SRAM-Puffer 200, der durch die PA_ADDR [5..0] Signale spezifiziert wird, zu schreiben. Fig. 12 zeigt, dass der Weitergabecontroller 70 die Schreibdaten über die PA_DQ [31..0] Signale zu einem Takt nachdem die PA_ADDR Signale die Schreibadresse spezifizieren, transferiert. Die zustandslose anfängliche Dateneinschreiboperation wird von den Inhalten der Steuerregister in dem FBRAM-Chip 71 nicht beeinflusst. Die ROP/Mischeinheiten 231-233 lassen die Schreibdaten, die von dem Weitergabecontroller 70 empfangen werden, ohne Modifikation durch. Die Fig. 11 zeigt, dass die sechs Zustände der Adressenpipelineverzögerung und die fünf Stufen der Datenpipelineverzögerung bewirken, dass die Schreibdaten und die Adresse den Schreibport des Pixelpuffers 56 zur gleichen Zeit erreichen.
- Während einer zustandslosen anfänglichen Dateneinschreiboperation beeinflusst das Vergleichsergebnis 240 von der Vergleichseinheit 235 das Einschreiben von Daten an den SRAM-Puffer 200 nicht. Die Pixelport-Steuerschaltung 114 veranlasst die Vergleichseinheit 235 den Pixelpuffer- Einschreibvorgang über das Pixelpuffer-Einschreib-Aktivierungssignal 276 zu aktivieren. Das PA_PASS_OUT Signal wird auf hoch gezwungen, um ein Durchlassen (pass) anzuzeigen, und das PA_PASS_IN Signal wird ignoriert. Die vier entsprechenden Modifikationsmarken-Bits für den adressierten Block und das adressierte Wort werden in Übereinstimmung mit den PA_BE [3..0] Signalen für die 32 Bit Schreibdaten gesetzt, die von dem Weitergabecontroller 70 über den verschachtelten Weitergabebus 64 über die PA_DQ Signale empfangen werden. Die übrigen Modifikationsmarken-Bits für den adressierten Block werden gelöscht.
- Die zustandslose normale Dateneinschreiboperation wird ebenfalls von den Inhalten der Steuerregister in dem FBRAM-Chip 71 nicht beeinflusst. Der Weitergabecontroller 70 gibt die zustandslose normale Dateneinschreiboperation aus, um 32 Bits von Daten, die von den PA_DQ [31..0] Signalen breitgestellt werden, an den Block und an das Wort in dem SRAM-Puffer 200, die von dem PA_ADDR [5..0] Signalen spezifiziert werden, zu schreiben. Während einer zustandslosen normalen Dateneinschreiboperation werden die vier Modifikationsmarken-Bits für den adressierten Block und das Wort mit den PA_BE [3..0] Signalen, die den PA_DQ [31..0] Schreibdaten entsprechen, Inklusiv-ODER verknüpft. Die ROP/Mischeinheiten 231-233 lassen die Schreibdaten ohne eine Modifikation durch und das Vergleichsergebnis 240 beeinflusst eine Dateneinschreibung an den SRAM-Puffer 200 nicht. Das PA_PASS_OUT Signal wird auf hoch gezwungen, um einen Durchlass anzuzeigen, und das PA_PASS_IN Signal wird ignoriert.
- Der Weitergabecontroller 70 gibt einen zustandsmäßigen anfänglichen Dateneinschreibbetrieb vor, um 32 Bits von Daten an den SRAM-Puffer 200 in Übereinstimmung mit den Inhalten des Steuerregisters in dem FBRAM-Chip 21 zu schreiben. Fig. 12 zeigt, dass der Weitergabecontroller 70 den Block und das Wort in dem SRAM-Puffer 200 über die PA_ADDR [5..0] Signale bei einem Takt vor der Bereitstellung von neuen Daten über die PA_DQ [31..0] Signale spezifiziert. Fig. 11 zeigt, dass die PA_ADDR verwendet wird, um alte Pixelpufferdaten zur gleichen Zeit zu lesen, zu der der Weitergabecontroller 70 die neuen Daten über die PA_DQ Stifte (Stufe 2 der Pipeline) liefert. Die neuen Daten können mit den existierenden Daten von dem adressierten Block und dem Wort in Übereinstimmung mit den Inhalten der Register in dem FBRAM-Chip 71, die Pixel-ALU-Operationen steuern, kombiniert werden. Fig. 11 zeigt, dass die kombinierten Daten (Stufe 2 Pixelpuffer-Leseportdaten und Stufe 2 PA_DQ Schreibdaten) um fünf Pipelinezustände verzögert werden und dass die Adresse durch sechs Pipelinestufen verzögert wird, was bewirkt, dass die kombinierten Daten und die Adresse den Schreibport des Pixelpuffers 56 gleichzeitig erreichen.
- Während einer zustandsmäßigen anfänglichen Dateneinschreiboperation bestimmen das Vergleichsergebnis 240 von der Vergleichseinheit 235 und das PA_PASS_IN Signal, ob der SRAM-Puffer 200 in Übereinstimmung mit dem Pixelpuffer-Schreibaktivierungssignal 276 geschrieben wird. Die vier Modifikationsmarken-Bits für den adressierten Block und das adressierte Wort werden auf die PA_BE [3..0] Signale gesetzt, die mit den neuen Daten über den verschachtelten Weitergabebus 64 empfangen werden. Die übrigen Modifikationsmarken-Bits für den adressierten Block werden gelöscht. Die Einschreibvorgänge an den SRAM-Puffer 200 und den Modifikationsmarken-Speicher 194 werden durch die Pixelpuffer-Schreibaktivierung 276 konditioniert. Ein Vergleichstestfehler deaktiviert den Einschreibvorgang an den SRAM-Puffer 200, wenn entweder das PA_PASS_IN Signal oder das PA_PASS_OUT Signal niedrig ist.
- Der Weitergabecontroller 70 gibt die zustandsmäßige normale Dateneinscbreiboperation vor, um 32 Bits von Daten an den SRAM-Puffer 200 in Übereinstimmung mit den Inhalten der Steuerregister in dem FBRAM-Chip 71 zu schreiben. Der Weitergabecontroller 70 spezifiziert den Block und das Wort in dem SRAM-Puffer 200 über die PA_ADDR [5..0] Signale und stellt neue Daten über die PA_DQ [31..0] Signale bereit. Die neuen Daten können mit den existierenden Daten in dem adressierten Block und dem adressierten Wort in Übereinstimmung mit den Inhalten der Register in dem FBRAM-Chip 71, die Pixel- ALU-Operationen steuern, kombiniert werden. Das Vergleichsergebnis 240 von der Vergleichseinheit 235 und das PA_PASS_IN Signal bestimmen, ob der SRAM-Puffer 200 in Übereinstimmung mit dem Pixelpuffer-Schreibaktivierungssignal 276 beschrieben wird. Die vier Modifikationsmarken-Bits für den adressierten Block und das adressierte Wort werden mit den PA_BE [3..0] Signalen, die mit den neuen Daten über den verschachtelten Weitegabebus 64 empfangen werden, Inklusiv-ODER verknüpft. Die Schreibvorgänge an den SRAM-Puffer 200 und den Modifikationsmarken-Speicher 194 werden durch die Pixelpuffer-Schreibaktivierung 276 gesperrt, wenn entweder das PA_PASS_IN Signal oder das PA_PASS_OUT Signal einen Vergleichstestfehler anzeigen. Fig. 11 zeigt, dass die Vergleichsoperationspipeline 235 und die Aktivierungspipeline die gleiche Tiefe wie die Schreibdatenpipeline 230-233 sind, sodass die Vergleichentscheidungs- und Schreibaktivierungsbedingungen den Schreibport des Pixelpuffers 56 zur gleichen Zeit wie die Schreibdaten erreichen.
- Der Weitergabecontroller 70 gibt die Modifikationsmarken-Ersetzungs-Operation vor, um Modifikationsmarken-Daten über die PA_DQ [31..0] Signale an den Modifikationsmarken-Speicher 194 zu transferieren. Der Weitergabecontroller 70 spezifiziert einen Block in dem Pixelpuffer 56 für die neuen Markendaten-Bits über die PA_ADDR [5..3] Signale. Die PA_BE [3..0] Signale wählen ein Byte von den PA_DQ [31..0] Signalen, das die neuen Markendaten bereitstellt. Die neuen Markendaten gehen durch die Raster-op-Schaltung der ROP/Mischeinheiten 231-233 unmodifiziert.
- Der Weitergabecontroller 70 gibt die Modifikationsmarken-ODER-Operation vor, um eine Inklusiv-ODER-Funktion mit neuen Markendaten und existierenden Markendaten in dem Modifikationsmarken-Speicher auszuführen. Der Weitergabecontroller 70 stellt die neuen Markendaten über die PA_DQ [31..0] Signale bereit und spezifiziert einen Block in dem Pixelpuffer 56 für die ODER Funktion über die PA_ADDR [5..3] Signale. Die PA_BE [3..0] Signale wählen ein Byte von den PA_DQ [31..0] Signalen fur die Inklusiv-ODER-Funktion mit den existierenden Modifikationsmarken-Bits. Die neuen Markendaten gehen durch die Raster-op-Schaltungen der ROP/Mischeinheiten 231-233, um die Inklusiv-ODER-Funktion auszuführen.
- Der Weitergabecontroller 70 gibt Steuerregister-Schreiboperationen vor, um neue Daten in das interne Steuerregister des FBRAM-Chips 171 zu transferieren. Der Weitergabecontroller 70 transferiert neue Daten über die PA_DQ [31..0] Signale und spezifiziert das Steuerregister über die PA_ADDR Signale. Das PA_BE [0] Signal ermöglicht Einschreibvorgänge an Bits 7 : 0, das PA_BE [1] Signal ermöglicht Einschreibvorgänge an Bits 15 : 8, das PA_BE [2] Signal ermöglicht Einschreibvorgänge an die Bits 23 : 16, und das PA_BE [3] Signal ermöglicht Einschreibvorgänge an Bits 31 : 24 des spezifizierten Steuerregisters.
- Die internen Steuerregister des FBRAM-Chips 71 umfassen das Ebenenmaskenregister 198, das Konstantquellenregister 236, das Übereinstimmungsmaskenregister 264, das Größenmaskenregister 266, das ROP/Misch-Steuerregister 220, das Vergleichssteuerregister 268, und das Schreibadressensteuerregister. Die Inhalte der Steuerregister in dem FBRAM-Chip 71 werden während zustandsloser Dateneinschreiboperationen ignoriert. Die neuen Daten, die während einer Steuerregister- Schreiboperation hineingeladen werden, beeinflussen Operationen nicht, die von dem Weitergabecontroller 70 während vorangehender Zyklen ausgelöst werden.
- Die Inhalte des Ebenenmaskenregisters 198 beeinflussen zustandsmäßige Dateneinschreib- Pixelportoperationen und maskierte Schreibblockoperationen über den globalen Bus. Während maskierter Schreibblockoperationen stellt jedes Bit in dem Ebenenmaskenregister 198 eine Schreibaktivierung für eine der 32 Bitebenen in den DRAM-Banken A-D bereit.
- Das Konstantquellenregister 236 ist ein 36 Bit Register, das Konstantquellendaten für ROP/Misch- und Vergleichsoperationen in der Pixel-ALU 58 bereitstellt. Der Weitergabecontroller 70 lädt das Konstantquellenregister 236 über die PA_DQ Signale und die PA_DX Signale über den verschachtelten Weitergabebus 64. Die ROP/Mischeinheiten 231-233 und die Vergleichseinheit 235 können jeweils das Konstantquellenregister 236 wählen, um Quellendaten bereitzustellen.
- Der Weitergabecontroller 70 schreibt an das Übereinstimmungsmaskenregister 264, um die Bits zu spezifizieren, die an einem Übereinstimmungstest von der Übereinstimmungsvergleichsschaltung 260 teilnehmen. Das Größenmaskenregister 266 spezifiziert die Bits, die an einem Größentest von der Größenvergleichsschaltung 262 teilnehmen. Der Weitergabecontroller 70 transferiert Daten an das Übreinstimmungsmaskenregister 264 und das Größenmaskenregister 266 über die PA_DQ Signale über den verschachtelten Weitergabebus 64.
- Der Weitergabecontroller 70 schreibt an das ROP/Misch-Steuerregister 220, um die Funktionen zu steuern, die von jeder der ROP/Mischeinheiten 231-233 ausgeführt werden. Jede ROP/Mischeinheit 231- 233 wird unabhängig von einem 8 Bit Feld des 32 Bit ROP/Misch-Steuerregister 220 gesteuert. Zum Beispiel wählen Bits 0-3 des ROP/Misch-Steuerregisters 220 eine der 16 niedrigen Raster-Operationen (ops) für die ROP/Mischeinheit 230, und Bits 8-11 des ROP/Misch-Steuerregisters 220 wählen eine der 16 möglichen Raster-Operationen für die ROP/Misch-Einheit 231.
- Die Tabelle 7 listet die Raster-Ops auf, die von jeder ROP/Misch-Einheit 231-233 für eine Ausführungsform ausgeführt werden. Die Raster-Ops werden durch die Bits 0-3 des entsprechenden Abschnitts des ROP/Misch-Steuerregisters 220 gewählt. NEW (NEU) stellt entweder die neuen Daten, die über den Weitergabecontroller 70 über die PA_DQ [31..0] Signale geliefert werden, oder die Inhalte des Konstantquellenregisters 236 dar. OLD (ALT) stellt die alten Daten dar, die in dem Pixelpuffer 56 gespeichert sind.
- 0000 Alle Bits Null
- 0001 NEU und ALT
- 0010 NEU und ALT
- 0011 NEU
- 0100 NEU und ALT
- 0101 ALT
- 0110 NEU XOR ALT
- 0111 NEU oder ALT
- 1000 NEU und ALT
- 1001 NEU XOR ALT
- 1010 ALT
- 1011 NEU oder ALT
- 1100 NEU
- 1101 NEU oder ALT
- 1110 NEU oder ALT
- 1111 Alle Bits Eins
- Bit 4 des ROP/Misch-Steuerregisters 220 wählt entweder eine Raster-op-Funktion oder eine Mischfunktion für die ROP-Mischeinheit 230. Bit 5 des ROP/Misch-Steuerregisters 220 wählt eine Quelle für die Raster-op-Steuereinheit 222 und den Addierer 224 aus entweder den PA_DQ.... (31...0) Signalen oder dem Konstantquellenregister 236. Analoge Bits des ROP/Misch-Steuerregisters 220 entsprechen den ROP-Mischeinheiten 231-233.
- Die Tabelle 8 listet die Quellenteile bzw. Quellenbruchteile für die Multipliziererschaltung 228 auf. Die ROP/Misch-Einheiten 0-n, die aufgelistet sind, umfassen die ROP/Misch-Einheiten. 230-233. Die Quellenteile für die Multipliziererschaltung 228 der ROP/Misch-Einheit 230 werden durch Bits 7-6 des ROP/Misch-Steuerregisters 220 gewählt.
- Kodierung Teilquelle für die ROP/Misch-Einheit # n
- 00 100 H (1,00)
- 01 Konstantquellenregister
- 10 PA_DX[3], PA_DQ[8n + 7 ..8n]
- 11 PA_DX[3], PA_DQ[31..24]
- Der Weitergabecontroller 70 schreibt an das Vergleichssteuerregister 268, um die Funktionen der Vergleichseinheit 235 zu steuern. Bit 16 des Vergleichssteuerregisters 268 wählt die Quelle für die Vergleichseinheit 235 entweder aus den Daten, die von dem Weitergabecontroller 70 über die PA_DEKO- Signale empfangen werden oder den Daten von dem Konstantquellenregister 236. Die Bits 27-24 des. Vergleichssteuerregisters 268 steuern die Wähllogik des FDRAM-Chips 71. Die Bits 25-24 löschen/setzen das HIT-Flag und die Bits 27-26 aktivieren/deaktivieren die Wähllogik.
- Die Tabelle 9 listet die Größenvergleichstests der Vergleichseinheit 235 auf. Die Größenvergleichstests der Vergleichseinheit 235 werden von den Bits 2-0 des Vergleichssteuerregisters 268 gewählt. Die Bits 2-0 des Vergleichssteuerregisters 268 wählen eine von acht Tests für die Größen- Vergleichsschaltung 262.
- 000 Immer durchlassen.
- 001 Durchlassen wenn NEU > = ALT
- 010 Durchlassen wenn NEU == ALT
- 011 Durchlassen wenn NEU > ALT
- 100 Niemals durchlassen
- 101 Durchlassen wenn NEU ≤ ALT
- 110 Durchlassen wenn NEU! = ALT
- 111 Durchlassen wenn NEU < ALT
- Die Tabelle 10 listet die Übereinstimmungsvergleichstests der Vergleichseinheit 235 auf. Die Übereinstimmungsvergleichstests der Vergleichseinheit 235 werden durch die Bits 9-8 des Vergleichssteuerregisters 268 gewählt. Die Bits 9-8 des Vergleichssteuerregisters 268 wählen einen von vier Vergleichstests für die Übereinstimmungsvergleichsschaltung 260.
- 00 Immer durchlassen
- 01 Niemals durchlassen
- 10 Durchlassen wenn NEU == ALT
- 11 Durchlassen wenn NEU' = ALT
- Eine zustandsmäßige Schreiboperation schreibt an den Pixelpuffer 560 nur dann, wenn der Größentest von der Größenvergleichsschaltung 262 und der Übereinstimmungstest von der Übereinstimmungsvergleichsschaltung 260 und das PA_PASS_IN-Signal jeweils einen Durchlass anzeigen.
- Das PA_PASS_OUT-Signal zeigt einen Durchlass an, wenn der Größentest und der Übereinstimmungstest beide einen Durchlass (ein Bestehen) anzeigen.
- Das HIT-Flag des Vergleichssteuerregisters 268 wird gesetzt, wenn eine zustandsmäßige Schreiboperation die Größen- und Übereinstimmungstests besteht, während die Wähllogik des SDRAM- Chips 71 aktiviert ist und das PA_PASS_IN ebenfalls ein Bestehen anzeigt. Das HIT-Flag bleibt dann gesetzt, bis ein Schreibvorgang an das Vergleichssteuerregister 268 ein Bit 24 löscht. Das HIT-Flag des Vergleichssteuerregisters 268 wird auf einem HIT-Eingabe/Ausgabe-Schnittstellenstift des FDRAM-Chips 71 reflektiert.
- Das Schreibadressen-Steuerregister in der Pixelport-Steuerschaltung 114 wählt eine Schreibadressenquelle für den SRAM-Puffer 200 während Pixelport-Schreiboperationen. Die Schreibadressenquellen für den SRAM-Puffer 200 sind entweder die PA_ADDR[5..0] Signale oder die PA_DQ[29..24] Signale. Der Weitergabecontroller 70 programmiert normalerweise das Schreibadressen- Steuerregister, um die PA_ADDR[5.00] für die Schreibadressenquelle während Pixelport- Einschreibvorgängen zu wählen. Der Weitergabecontroller 70 programmiert das Schreibadressen- Steuerregister, um die PA_DQ[29..24] Signale als die Schreibadressenquelle JUr Pixelport- Einschreibvorgänge während vertikalen Roll- oder anderer interner Kopier-Operationen zu wählen.
- Fig. 15 zeigt den Pipeline-Datenfluss an den Pixelpuffer 56 von beiden Schreibadressenquellen, die von dem Schreibadressen-Steuerregister gewählt werden. Der Pipelinefluss für die Schreibadressenquelle in Kombination mit der Schreibadressen-Wählfunktion, die von den Schreibadressen-Steuerregister vorgesehen wird. Wenn die Schreibadressenquelle die PA_DQ[29..24] Signale ist, ermöglicht schnelle vertikale Roll- und interne Kopier-Operationen. Die Pipelinearchitektur der Pixel-ALU 58 ermöglicht dem Weitergabecontroller 70 Lesedaten von einer Stelle des SRAM-Puffers 200, die von PA_ADDR[5,0] spezifiziert wird, zu kopieren und Daten an eine andere Stelle des SRAM-Puffers 200, die von PA_DQ[29..24] spezifiziert wird, mit einer zustandsmäßigen Dateneinschreiboperation bei einer Rate von 32 Bits pro FDRAM pro Takt während vertikaler Roll- und interner Kopieroperationen zu schreiben.
- Fig. 16 zeigt eine vertikale Rolloperation (scroll-operation), bei der die Pixeldaten für das Pixel A an das Pixel B bewegt werden. Die Pixeldaten für das Pixel A werden in dem Block 3:Wort 0 des SRAM- Puffers 200 gespeichert. Die Pixeldaten für das Pixel B werden in Block 0:Wort 5 des SRAM-Puffers 200 gespeichert.
- Fig. 17 zeigt den Pipelinetransfer der Pixeldaten von dem Pixel A an das Pixel B während einer vertikalen Roll- oder einer anderen internen Kopier-Operation, die die Schreibadressen-Wählfunktion mit einer zustandsmäßigen Dateneinschreiboperation verwendet. Der Weitergabecontroller 70 schreibt die Steuerregister in das SDRAM-Chip 71, um die vertikale Rolloperation vor Beginnen der zustandsmäßigen Schreiboperation zum Bewegen des Pixels A an das Pixel B aufzubauen.
- Der Weitergabecontroller 70 programmiert das Schreibadressen-Steuerregister, um die PA_DQ[29..24]-Signale für die Schreibadresse an den SRAM-Puffer 200 zu wählen. Der Weitergabecontroller 70 programmiert das ROP/Misch-Steuerregister 220, um Altdaten von den ROP/Misch-Einheiten 230-233 zu wählen. Der Weitergabecontroller 70 programmiert das Vergleichssteuerregister 268 auf immer ein Bestehen. Der Weitergabecontroller 70 programmiert das Ebenenmaskenregister 198, um die gewünschten Bits in die SRAM-Puffer 200 während der zustandsmäßigen Dateneinschreiboperation zu übergeben.
- Der Weitergabecontroller 70 schreibt an das Schreibadressen-Steuerregister während der Zeit t20. Während der Zeit t20 wird das Schreibadressen-Steuerregister über die PA_ADDR-Signale gewählt. Während der Zeit t21 transferiert der Weitergabecontroller 70 die Daten, die auf das Schreibadressen- Steuerregister abzielen, über die PA_DQ-Signale.
- Während aufeinanderfolgender Adressenzyklen auf dem verschachtelten Weitergabebus 64 zwischen Zeiten t21-t23 und Datenzyklen zwischen Zeiten t22-t24 programmiert der Weitergabecontroller 70 das ROP/Misch-Steuerregister 200, um alte Daten für jede der ROP/Misch- Einheiten 231-233 zu wählen, und programmiert das Vergleichssteuerregister 268, um immer ein Bestehen anzuzeigen, und programmiert das Ebenenmaskenregister 198, um die gewünschten Bits in den SRAM-Puffer 200 während der zustandsmäßigen Schreiboperation zu ermöglichen bzw. zu aktivieren.
- Der Wiedergabecontroller 70 transferiert die Adresse für das Pixel A über die PA_ADDR[5..0] Signale während der Zeit t24 und transferiert dann die Adresse für das Pixel B über die PA_DQ[29..24]- Signale während der Zeit t25. Mehrere Pipelinezyklen später werden die Pixel A-Daten an den Pixel B-Ort geschrieben.
- Die Tabelle 11 listet die DRAM-Zugriffsoperationen auf, die von dem FDRAM-Chip 71 tUt eine Ausführungsform bereit gestellt werden. Die DRAM-Zugriffsoperationen umfassen Seitenzugriffsoperationen, Blockzugriffsoperationen und Videopuffer-Ladeoperationen. Die Seitenzugriffsoperationen umfassen eine Zugreifen-Seite-Operation, eine Vorladeoperation und eine Seitenduplizierungsoperation. Die Blockadressenoperationen umfassen Blockleseoperationen, nicht maskierte Blockschreibeoperationen und maskierte Blockschreibeoperationen. Der Weitergabecontroller 70 kann eine DRAM-Zugriffsoperation bei jedem Zyklus des verschachtelten Weitergabebusses 64 über die DRAM_Signale starten. Tabelle 11
- Der Weitergabecontroller 70 gibt Seitenzugriffsoperationen aus, um Seiten der DRAM-Banken A- D zu wählen. Der Weitergabecontroller 70 spezifiziert die DRAM-Bank A-D und die DRAM_BANK Signale und spezifiziert die Seite, auf die zugegriffen wird, über die DRAM_ADDR[8..0]-Signale.
- Der Weitergabecontroller 70 löst Blockzugriffsoperationen aus, um Blöcke von Daten zwischen den Seitenpuffern A-D und dem Pixelpuffer 56 zu transferieren. Der Weitergabecontroller 70 spezifiziert die DRAM-Bank A-D und den Seitenpuffer A-D über die DRAM_BANK-Signale. Der Weitergabecontroller 70 spezifiziert den Pixel-Cache-Block in dem Pixelpuffer 56 über die DRAM_ADDR[8..6]-Signale und wählt einen Block des spezifizierten Seitenpuffers A-D über die DRAM_ADDR[5..0]-Signale.
- Der Weitergabecontroller 70 gibt eine Operation für ein nicht maskiertes Schreiben eines Blocks aus, um einen Block von Daten von dem spezifizierten Block des Pixelpuffers 56 an den spezifizierten Block des spezifizierten Seitenpuffers A-D über den globalen Bus 60 zu transferieren. Die Ebenenmaskenbits in dem Ebenenmaskenregister 198 beeinflussen nicht maskierte Schreibblockoperationen nicht. Die Modifikationsmarken-Bits in dem Modifikationsmarken-Speicher 194, die dem spezifizierten Block des Pixelpuffers 56 entsprechen, steuern byteweise Schreibvorgänge an den spezifizierten Seitenpuffer A-D.
- Der Weitergabecontroller 70 gibt eine maskierte Schreibblockoperation aus, um einen Block von Daten von dem spezifizierten Pixel-Cache-Block des Pixelpuffers 56 an den spezifizierten Block des spezifizierten Seitenpuffers A-D über den globalen Bus 60 zu transferieren. Das Ebenenmaskenregister 198 und die Modifikationsmarken-Bits für den spezifizierten Pixel-Cache-Block des Pixelpuffers 56 steuern bitweise Einschreibvorgänge an den Seitenpuffer A-D der spezifizierten DRAM-Bank A-D.
- Der Weitergabecontroller 70 gibt eine Bankvorladeoperation aus, um die Leseverstärker in der spezifizierten DRAM-Bank A-D vorzuladen. Der Weitergabecontroller 70 gibt eine Bankvorladeoperation in Vorbereitung für eine nachfolgende Seitenzugriffsoperation aus.
- Der Weitergabecontroller 70 gibt eine Videotransferoperation aus, um eine 640-Bit Linie von Leserverstärkerdaten von dem spezifizierten Seitenpuffer A-D an den entsprechenden Videopuffer 52 oder 54 zu transferieren. Der Weitergabecontroller 70 verwendet die DRAM_ADDR[3..0]-Signale, um die Linie von dem Seitenpuffer A-D zu spezifizieren.
- Der Weitergabecontroller 70 gibt eine Duplikatseitenoperation (Seitenduplizierungsoperation) aus, um Leseverstärkerdaten in dem spezifizierten Seitenpuffer A-D an die spezifizierte Seite in der entsprechenden DRAM-Bank A-D zu transferieren. Die Ebenenmaskenbits in dem Ebenenmaskenregister 198 beeinflussen Seitenduplizierungsoperationen nicht.
- Der Weitergabecontroller 70 gibt eine Blockleseoperation aus, um einen Block von Daten von dem spezifizierten Block des spezifizierten Seitenpuffers A-D an den spezifizierten Pixel-Cache-Block des Pixelpuffers 56 über den globalen Bus 60 zu transferieren. Die Blockleseoperation löscht die Modifikationsmarken-Bits für den spezifizierten Pixel-Cache-Block des Pixelpuffers 56.
- Der Weitergabecontroller 70 gibt eine Seitenzugriffsoperation aus, um Daten von der spezifizierten Seite in der spezifizierten DRAM-Bank A-D an die entsprechenden Leseverstärker in den Seitenpuffern A- D zu transferieren. Der Weitergabecontroller 70 stellt einer Seitenzugriffsoperation auf eine bestimmte DRAM-Bank A-D eine Vorladeoperation auf diese DRAM-Bank voraus.
- Fig. 18 zeigt ein Zeitablaufdiagramm für einen Pixelport-Einschreibvorgang an dem FDRAM- Chip 71 für eine Ausführungsform. Die Pixelport-Steuersignale, die gezeigt sind, werden durch ein Mastertaktsignal (CLK) auf dem verschachtelten Weitergabebus 64 synchronisiert. Das Mastertaktsignal CLK synchronisiert auch einen Datentransfer über den verschachtelten Weitergabebus 64 über die PA_DQ-Signale und die PA_DX-Signale.
- Zur Zeit t41 gibt der Weitergabecontroller 70 eine Steuerregister-Schreiboperation über den verschachtelten Wiedergabebus 64 aus. Die PA_OP Signale zeigen die Steuerregister-Schreiboperation und die PA_ADDR-Signale an, um das interne Register des FDRAM-Chips 71 zu spezifizieren.
- Zur Zeit t42 gibt der Weitergabecontroller 70 eine Modifikationsmarken-Ersetzungsoperation über die PA_OP-Signale aus. Der Weitergabecontroller 70 spezifiziert den Block für die Modifikationsmarken- Ersetzungsoperation über die PA_ADDR-Signale. Zur Zeit t42 transferiert der Weitergabecontroller 70 auch die Registerdaten über PA_DQ und die PA_DX-Stifte für die Steuerregister-Schreiboperation, die zur Zeit t41 ausgelöst wird.
- Zur Zeit t43 bringt der Wiedergabecontroller 70 eine Modifikationsmarken-ODER-Operation über die PA_OP-Signale hervor und verwendet die PA_ADDR-Signale, um den Block für die Modifikationsmarken-ODER-Operation anzuzeigen. Ferner werden zur Zeit t43 die Modifikationsmarken- Bits für die Modifikationsmarken-Ersetzungsoperation, die zur Zeit t42 begonnen wird, durch den Wiedergabecontroller 70 über die PA_DQ-Signale transferiert.
- Zur Zeit t44 zeigen die PA_OP-Signale eine zustandsmäßige anfängliche Schreiboperation, die von dem Weitergabecontroller 70 ausgelöst wird, an, und die PA_ADDR-Signale zeigen den Block und das Wort für die zustandsmäßige Operation an. Ferner werden zur Zeit t44 die Modifikationsmarken für die Modifikationsmarken-ODER-Operation, die zur Zeit t43 begonnen wird, über die PA_DQ-Signale durch den Weitergabecontroller 70 transferiert.
- Zur Zeit t45 zeigen die PA_OP-Signale eine zustandsmäßige anfängliche Schreiboperation an, die von dem Wiedergabecontroller 70 ausgegeben wird. Ferner transferiert der Wiedergabecontroller zur Zeit t45 die neuen Daten über die PA_DQ und die PA_DX Signale für die zustandsmäßige anfängliche Schreiboperation, die bei t44 begonnen wird.
- Zur Zeit t46 werden die neuen Daten für die zustandsmäßige anfängliche Dateneinschreiboperation, die bei t45 begonnen wird, von dem Wiedergabecontroller 70 über die PA_DQ und die PA_DX-Signale transferiert. Zur Zeit t49 empfängt der FBRAM-Chip 71 das gültige PA_PASS_IN-Signal und transferiert das sich ergebende PA_PASS_OUT-Signal für die zustandsmäßige anfängliche Schreiboperation, die bei t44 begonnen wird.
- Fig. 19 zeigt eine Reihe von DRAM-Operationen an die DRAM-Bank A des FBRAM-Chips 71 für eine Ausführungsform. Zur Zeit t60 beginnt der Wiedergabecontroller 70 eine Vorladeoperation (PRE) über die DRAM_OP-Signale. Der Wiedergabecontroller 70 zeigt die DRAM-Bank A über die DRAM_BANK Signale an und zeigt die Seite der DRAM-Bank A für die Vorladeoperation über die DRAM_ADDR-Signale an. Zur Zeit t61 zeigt der Wiedergabecontroller 70 einen Zyklus ohne Operation (no op, NOP) auf dem verschachtelten Wiedergabebus 64 an.
- Zur Zeit t62 beginnt der Wiedergabecontroller 70 einer Seitenzugriffroperation (Access Page Operation, ACP) über die DRAM_OP-Signale und zeigt die DRAM-Bank A über die DRAM_BANK- Signale an. Der Wiedergabecontroller 70 verwendet die DRAM_ADDR-Signale, um die Seite der DRAM- Bank A für die Seitenzugriffsoperation anzuzeigen.
- Zur Zeit t64 gibt der Wiedergabecontroller 70 eine nicht maskierte Schreibblockoperation (Unmasked Write Block Operation, UWB) über die DRAM_OP-Signale aus und zeigt die DRAM-Bank A über die DRAM_BANK-Signale an. Der Wiedergabecontroller 70 transferiert die Blockadresse für die nicht maskierte Schreibblockoperation über die DRAM_ADDR-Signale.
- Zur Zeit t66 gibt der Wiedergabecontroller 70 eine maskierte Schreibblockoperation (Masked Write Block Operation, MWB) aus, die auf die DRAM-Bank A abzielt. Zur Zeit t66 transferiert der Wiedergabecontroller 70 die Blockadresse fur die maskierte Schreibblockoperation über die DRAM_ADDR-Signale. Zur Zeit t68 beginnt der Wiedergabecontroller 70 eine Vorladeoperation an der DRAM-Bank A und transferiert den DRAM-Seitenidentifizierer für die Vorladeoperation über die DRAM_ADDR-Signale.
- Fig. 20 zeigt eine Reihe von DRAM-Operationen an der DRAM-Bank A auf dem FBRAM-Chip 71. Zur Zeit t80 zeigt der Wiedergabecontroller 70 eine Seitenzugriffsoperation über die DRAM_OP- Signale an und spezifiziert die DRAM-Bank A über die DRAM_BANK-Signale und spezifiziert die Seite für die Seitenzugriffsoperation über die DRAM_ADDR-Signale.
- Zur Zeit t82 zeigt der Wiedergabecontroller 70 eine Seitenduplizierungsoperation (Duplicate Page Operation, DUP) über die DRAM_OP-Signale an. Der Wiedergabecontroller 70 zeigt die DRAM-Bank A über die DRAM_BANK-Signale und die Seite für die Seitenduplizierungsoperation über die DRAM_ADDR-Signale an.
- Zur Zeit t84 erzeugt der Wiedergabecontroller 70 eine Seitenduplizierungsoperation an der DRAM-Bank A und spezifiziert die Seite für die Seitenduplizierungsoperation über die DRAM_ADDR- Signale. Zur Zeit t86 gibt der Wiedergabecontroller 70 eine nicht maskierte Schreibblockoperation an die DRAM-Bank A aus und spezifiziert den Block über die DRAM_ADDR-Signale. Zur Zeit t88 beginnt der Wiedergabecontroller 70 eine Seitenduplizierungsoperation auf der DRAM-Bank A und zeigt die Seite für die Seitenduplizierungsoperation über die DRAM_ADDR-Signale an.
- Fig. 21 zeigt eine Reihe von Operationen, die von dem Wiedergabecontroller 70 an den DRAM- Banken A-D des FBRAM-Chips 71 erzeugt werden. Zur Zeit t140 beginnt der Wiedergabecontroller 70 eine Vorladeoperation auf der DRAM-Bank A und zeigt die Seite für die Vorladeoperation auf den DRAM_ADDR-Signalen an.
- Zur Zeit t141 beginnt der Wiedergabecontroller 70 eine Vorladeoperation auf einer Seite der DRAM-Bank B. Zur Zeit t142 beginnt der Wiedergabecontroller 70 eine Seitenzugriffsoperation auf einer Seite der DRAM-Bank C. Zur Zeit t143 beginnt der Wiedergabecontroller 70 eine maskierte Schreibblockoperation auf der DRAM-Bank D und zeigt den Block über die DRAM_ADDR-Signale an.
- Zur Zeit t145 beginnt der Wiedergabe- bzw. Weitergabecontroller 70 eine Seitenzugriffsoperation auf die DRAM-Bank B. Zur Zeit t146 beginnt der Wiedergabecontroller 70 eine Blockleseoperation an der DRAM-Bank C. Zur Zeit t148 beginnt der Wiedergabecontroller 70 eine Vorladeoperation an der DRAM- Bank D. Zur Zeit t149 beginnt der Wiedergabecontroller 70 eine Seitenduplizierungsoperation an der DRAM-Bank B.
- Fig. 22 zeigt eine Reihe von DRAM-Operationen, die von dem Wiedergabecontroller 70 an den FBRAM-Chip 71 begonnen werden. Zur Zeit t160 beginnt der Wiedergabecontroller 70 eine Seitenzugriffsoperation an der DRAM-Bank A. Zur Zeit t162 beginnt der Wiedergabecontroller 70 eine Seitenduplizierungsoperation an der DRAM-Bank B. Zur Zeit t163 beginnt der Wiedergabecontroller 70 eine maskierte Schreibblockoperation auf der DRAM-Bank A an dem Block, der über die DRAM_ADDR- Signale spezifiziert wird.
- Zur Zeit t165 beginnt der Wiedergabecontroller 70 eine Seitenduplizierungsoperation auf einer Seite der DRAM-Bank C. Zur Zeit t167 beginnt der Wiedergabecontroller 70 eine Vorladeoperation auf der DRAM-Bank A. Zur Zeit t168 beginnt der Wiedergabecontroller 70 eine Seitenzugriffsoperation auf der DRAM-Bank D.
- Fig. 23 zeigt eine Reihe von DRAM-Operationen, die von dem DRAM-Controller 70 auf dem FBRAM-Chip 71 begonnen werden. Zur Zeit t180 beginnt der Wiedergabecontroller 70 eine Seitenduplizierungsoperation auf der DRAM-Bank A und zur Zeit t181 beginnt der Wiedergabecontroller 70 eine maskierte Schreibblockoperation auf der DRAM-Bank B.
- Zur Zeit t182 beginnt der Wiedergabecontroller 70 eine Videotransferoperation auf der DRAM- Bank C an einer Linie, die von den DRAM_ADDR-Signalen angezeigt wird. Zur Zeit t183 beginnt der Wiedergabecontroller 70 eine maskierte Schreibblockoperation an die DRAM-Bank B.
- Zur Zeit t184 beginnt der Weitergabecontroller 70 eine Vorladeoperation an der DRAM-Bank D und zur Zeit t185 beginnt er eine Videotransferoperation an die DRAM-Bank B. Zur Zeit t186 beginnt der Weitergabecontroller 70 eine Seitenzugriffsoperation an der DRAM-Bank D und zur Zeit t187 beginnt er eine Seitenduplizierungsoperation an der DRAM-Bank A. Zur Zeit t189 beginnt der Weitergabecontroller 70 eine Videotransferoperation an der DRAM-Bank C.
- Fig. 24 zeigt ein Computergrafiksystem 290. Das Computergrafiksystem 290 umfasst einen Prozessor 338, ein Grafikuntersystem 300 und eine Anzeigeeinrichtung 306. Der Prozessor 338 kommuniziert mit dem Grafikuntersystem 300 über einen Systembus 396.
- Der Prozessor 338 führt Computergrafik-Anwendungsprogramme aus. Die Computergrafik- Anwendungsprogramme erzeugen Grafikdaten, die grafische Elemente für eine Anzeige definieren. Der Prozessor 338 transferiert Grafikdaten an das Grafikuntersystem 300 über den Systembus 396. Der Prozessor 338 greift auch auf Grafikdaten von dem Grafikuntersystem 300 über den Systembus 396 für interaktive Computergrafik-Anwendungsprogramme zu.
- Das Grafikuntersystem 300 verarbeitet die Grafikdaten, die von dem Prozessor 338 empfangen werden, und gibt die entsprechenden Grafikelemente weiter auf die Anzeigeeinrichtung 306. Das Grafikuntersystem 300 kommuniziert mit der Anzeigeeinrichtung 306 über einen Satz von Schnittstellenleitungen 398. Die Schnittstellenleitungen 398 transferieren die roten, grünen und blauen Videosignale und Videosynchronisationssignale zum Erzeugen von Bildern auf der Anzeigeeinrichtung 306.
- Fig. 25 zeigt das Grafikuntersystem 300. Das Grafikuntersystem 300 umfasst ein oder mehrere FBRAM-Chips 302, einen Weitergabecontroller 308 und einen Digital-zu-analog-Wandler eines Speichers mit wahlfreiem Zugriff (Random Access Memory Digital-To-Analogue Converter, RAMDAC) 304.
- Der Weitergabecontroller 308 greift auf die FBRAM-Chips 302 über den Weitergabebus 310 zu. Der Weitergabecontroller 308 steuert die Funktionen der FBRAM-Chips 302 über einen Steuerbus 312. Der Weitergabecontroller 308 steuert die Operationen des FBRAM-Chips 302 einschließlich der Pixelportoperationen, der DRAM-Operationen und anderer FBRAM-Operationen.
- Der Weitergabecontroller 308 transferiert Pixeldaten für die FBRAM-Chips 302 über den Weitergabebus 310. Der Weitergabecontroller 308 transferiert Adressen- und Steuersignale für die FBRAM-Chips 302 über den Steuerbus 312. Die FBRAM-Chips 302 transferieren Videodaten an den RAMDAC 304 über einen Videobus 316. Der RAMDAC 304 erzeugt einen Videotakt 314, der den Transfer von Videodaten über den Videobus 316 synchronisiert. Der RAMDAC 304 transferiert Videosignale über die Schnittstellenleitungen 398, um Bilder auf die Anzeigeeinrichtung 306 weiterzugeben.
- Eine Ausführungsform ist ein einzelner FBRAM-Chip 302 als ein einzelner Puffer eines 1280 · 1024-Rahmenpuffers für die Anzeigeeinrichtung 306 angeordnet. Jedes Pixel für die Anzeigeeinrichtung 306 umfasst 8 Bits. Ein Anzeigerahmen auf der Anzeigeeinrichtung 306 umfasst ein 8 breites · 32 hohes Feld von Seitengruppen in dem FBRAM-Chip 302. Jede Seitengruppe ist 160 Pixel breit · 32 Pixel hoch. Jede Seitengruppe umfasst eine Seite von jeder DRAM-Bank A-D.
- Die vier unabhängigen DRAM-Banken A-D in dem FBRAM-Chip 302 sind verschachtelt. Die verschachtelten DRAM-Banken A-D versetzen den Weitergabecontroller 308 in die Lage, Seitenvorhol- Operationen (Prefetch) für eine der DRAM-Banken A-D zu beginnen, während Bilder in eine andere DRAM-Bank A-D weitergegeben werden.
- Jede DRAM-Seite innerhalb einer Seitengruppe des FBRAM-Chips 302 ist 80 Pixel breit · 16 Pixel hoch. Die DRAM-Seiten werden in 16 Scanlinien mit jeweils 80 Pixeln Breite für einen Transfer an die entsprechenden Videopuffer für die DRAM-Banken A-D unterteilt. Die DRAM-Seiten sind in ein 10 breites · 4 hohes Feld von 256 Bit-Blöcken für einen Transfer über den globalen Bus in dem FBRAM-Chip 302 unterteilt. Zwei Pixel werden aus den Videopuffern des FBRAM-Chips 302 über den Videobus 316 während jedes Zyklus des Videotrakts 314 herausgeschoben.
- Pixelblöcke, die zwischen dem Pixelpuffer und den DRAM-Banken A-D über den globalen Bus des FBRAM-Chips 302 transferiert werden, sind 8 Pixel breit · 4 Pixel hoch. Der Weitergabecontroller 308 greift auf Sätze von vier Pixeln von dem spezifizierten Pixelcacheblock des Pixelpuffers in dem FBRAM- Chip 302 über den Weitergabebus 310 zu. Die Pixel-ALU in dem FBRAM-Chip 302 greift intern auf Sätze von vier Pixeln von den Pixelcacheblöcken des Pixelpuffers zu. Der Weitergabecontroller 308 schreibt die Modifikationsmarken-Bits für einen Pixelcacheblock des Pixelpuffers in dem FBRAM-Chip 302 in einem Zyklus über den Weitergabebus 310.
- Die folgenden Gleichungen bestimmen die DRAM-Bank A-D, die DRAM-Seite, die Scanlinie in einer Seite, den Block innerhalb einer Seite, das Wort innerhalb eines Blocks, und das Pixel innerhalb eines Worts für jedes Pixel des 1280 · 1024 · 8 Bit Einzelpuffer-Rahmenpuffers, der von dem FBRAM-Chip 302 bereitgestellt wird.
- DRAM-Bank = 2·((y% 32)/16) + (x% 160)/80
- Seite = 8·(y/32) + x/160
- Scanlinie = y% 16
- Block = (y% 16)/4 + 4·((x% 80)/8)
- Wort = 2·(y% 4) + (x% 8)/4
- Pixel = x% 4
- wobei x und y die Anzeigekoordinaten des Pixels sind und wobei "%" eine Integer- Modulusoperation anzeigt und "/" eine Integer-Teilungsoperation in einer C-Programmiersyntax anzeigt, und wobei DRAM-Bank = 0 eine DRAM-Bank A spezifiziert, DRAM-Bank = 1 eine DRAM-Bank B spezifiziert, eine DRAM-Bank = 2 eine DRAM-Bank C spezifiziert, und DRAM-Bank = 3 eine DRAM- Bank D spezifiziert.
- Für eine andere Ausführungsform ist ein einzelner FBRAM-Chip 302 als ein doppelt gepufferter 640 · 512 · 8 Bit Rahmenpuffer mit einem 16-Bit Z-Puffer für die Anzeigeeinrichtung 306 angeordnet. Die Z-Vergleichsfunktionen und ROP/Mischfunktionen werden innerhalb des FBRAM-Chips 302 ausgeführt.
- Fig. 26 zeigt ein Grafikuntersystem 120. Das Grafikuntersystem 120 umfasst einen Satz von FBRAM-Chips 130-133. Die FBRAM-Chips 130-133 stellen einen einfach bzw. einzeln gepufferten 1280 · 1024 · 32 Bit Rahmenpuffer für die Anzeigeeinrichtung 306 bereit. Das Grafikuntersystem 120 umfasst ferner einen Weitergabecontroller 122 und einen RAMDAC 124.
- Der Weitergabecontroller 122 transferiert Pixeldaten für die FBRAM-Chips 130-133 über einen Weitergabebus 128. Der Weitergabecontroller 122 steuert die Operationen der FBRAM-Chips 130-133 über einen Steuerbus 148, einschließlich der Pixelport-Zugriffsoperationen, der Videozugriffsoperationen, und der DRAM-Zugriffsoperationen.
- Der RAMDAC 124 erzeugt einen Videotakt 145, der den Transfer von Videodaten von den FBRAM-Chips 130-133 über einen Satz von Videobussen 140-143 synchronisiert. Der Weitergabecontroller 122 greift auf Pixeldaten in jedem FBRAM-Chip 130-133 über einen Satz von Weitergabebussen 150-153 zu. Der Weitergabecontroller 122 transferiert Adressen- und Steuersignale an die FBRAM-Chips 130-133 über den Steuerbus 148.
- Die FBRAM-Chips 130-133 sind als ein einzeln gepufferter 1280 · 1024 Rahmenpuffer für die Anzeigeeinrichtung 126 angeordnet, wobei jedes Pixel 32 Bits umfasst. Jedes 32-Bit Pixel umfasst einen 8 Bit roten Wert, einen 8 Bit grünen Wert, einen 8 Bit blauen Wert und einen 8 Bit X Wert, der zum Mischen, für Überlagerungen, Fensterattributsteuerungen oder Fensterclipcodes wie Fenster I.D. (Window I.D.) verwendet werden.
- Für eine Ausführungsform stellt jeder FBRAM-Chip 130-133 einen 1280 · 1024 · 8 Bit Pixelpuffer für eine der 8 Bit Komponenten der Pixel bereit. Der FBRAM-Chip 130 stellt einen 1280 · 1024 · 8 Bit roten Puffer bereit, der FBRAM-Chip 131 stellt einen 1280 · 1024 · 8 Bit grünen Puffer bereit, der FBRAM-Chip 132 stellt einen 1280 · 1024 · 8 Bit blauen Puffer bereit und der FBRAM-Chip 133 stellt einen 1280 · 1024 · 8 Bit X Puffer bereit. Die Gleichungen, die die Bank, die Seite, die Scanlinie, den Block, das Wort, und das Pixel innerhalb jedes FBRAM-Chips 130-133 bestimmen, sind diejenigen, die voranstehend für den einzeln gepufferten 1280 · 1024 · 8 Bit Rahmenpuffer des Computeruntersystems 300 angegeben sind.
- Für eine andere Ausführungsform stellt jeder FBRAM-Chip 130-133 einen 320 · 1024 · 32 Bit Rahmenpuffer bereit, der die roten, grünen, blauen und X Komponenten jedes Pixels aufnimmt. Die FBRAM-Chips 130-133 sind auf einer Pixel-für-Pixel-Basis in einer horizontalen Richtung verschachtelt und stellen zusammen einen verschachtelten 1280 · 1024 · 32 Rahmenpuffer bereit. Ein Anzeigerahmen (Anzeigebild) umfasst ein 8 breites · 32 hohes Feld von Seitengruppen in den FBRAM-Chips 130-133. Jede Seitengruppe ist 160 Pixel breit · 32 Pixel hoch.
- Jede DRAM-Seite innerhalb einer Seitengruppe der FBRAM-Chips 130-133 ist 80 Pixel breit · 16 Pixel hoch. Die DRAM-Seiten sind in 16 Scanlinien mit jeweils 80 Pixeln Breite für einen Transfer an die entsprechenden Videopuffer für die DRAM-Banken A-D unterteilt. Ein 32-Bit Pixel wird von den Videopuffern von jedem der vier FBRAM-Chips 130-133 über die Videobusse 140-143 während zwei Zyklen des Videotrakts 145 herausgeschoben.
- Pixelblöcke, die zwischen dem Pixelpuffer und den DRAM-Banken A-D über den globalen Bus in jedem FBRAM-Chip 130-133 transferiert werden, sind 2 Pixel breit · 4 Pixel hoch. Der Weitergabecontroller 122 greift auf ein Pixel von einem Pixelcacheblock des Pixelpuffers in jedem FBRAM-Chip 130-133 über jeden Weitergabebus 150-153 zu. Die Pixel-ALU in jedem FBRAM-Chip 130- 133 greift intern auf ein Pixel von einem Pixelcacheblock des entsprechenden Pixelpuffers zu.
- Die folgenden Gleichungen bestimmen die Bank, die Seite, die Scanlinie, den Block, das Wort, und das Pixel für jedes Pixel in jedem FBRAM-Chip 130-133.
- DRAM-Bank = 2·((y% 32)/16) + (x% 40)/20
- Seite = 8·(y/32) + x/40
- Scanlinie = y% 16
- Block = (y% 16)/4 + 4·((x% 20)/8)
- Pixel = 2·(y% 4) + (x% 2)
- Fig. 27 zeigt ein Grafikuntersystem 284. Das Grafikuntersystem 284 umfasst einen Weitergabecontroller 298, einen Satz von FBRAM-Chips 320-331, und einen RAMDAC 296. Die FBRAM-Chips 320-331 sind in einem 1280 · 1024 · 96 Bits pro Pixel Rahmenpuffer für die Anzeigeeinrichtung 306 mit doppelten 32 Bit R, G, B, X Puffern plus einem einzelnen 32 Bit Z Puffer angeordnet.
- Der Rahmenpuffer, der von den FBRAM-Chips 320-331 bereitgestellt wird, ist in der horizontalen Richtung verschachtelt. Die FBRAM-Chips 320, 324 und 328 umfassen einen ersten verschachtelten Abschnitt. Die FBRAM-Chips 321, 325 und 329 stellen einen zweiten verschachtelten Abschnitt bereit. Die FBRAM-Chips 322, 326 und 330 stellen einen dritten verschachtelten Abschnitt bereit, und die FBRAM- Chips 323, 327 und 331 stellen einen vierten verschachtelten Abschnitt des Rahmenpuffers bereit. Jeder verschachtelte Abschnitt des Rahmenpuffers umfasst einen 320 · 1024 Abschnitt des 1280 · 1024 Anzeigebilds für die Anzeigeeinrichtung 306.
- Pixeldaten für das Grafikuntersystem 284 werden von den FBRAM-Chips 324-331 doppelt gepuffert. Die FBRAM-Chips 324-327 stellen einen Puffer A bereit und die FBRAM-Chips 328-331 stellen einen Puffer B bereit. Die FBRAM-Chips 320-323 stellen einen Z-Puffer bereit.
- Der Puffer A, der Puffer B und der Z-Puffer weisen jeweils eine Tiefe von 32 Bits auf. Die 32 Bit Tiefe nimmt einen 8 Bit roten Wert, einen 8 Bit grünen Wert, einen 8 Bit blauen Wert und 8 Bits für eine Steuerung von Überlappungen, einer Farbpalettenauswahl, eines Fenster-Clippens oder Mischens auf. Die 32 Bit Tiefe des Z-Puffers stellt 28 Bits einer Tiefensteuerung und 4 Bits für zusätzlich Clip- oder Schablonenfunktionen bereit.
- Der Weitergabecontroller 298 greift auf die FBRAM-Chips 320-331 über einen Weitergabebus 318 zu. Der Weitergabecontroller 298 greift auf die Pixelport-Steuerschnittstelle, die DRAM- Steuerschnittstelle, und die Videoport-Steuerschnittstelle für die FBRAM-Chips 320-331 über einen Steuerbus 334, der mit jedem FBRAM-Chip 320-331 gekoppelt ist, zu.
- Für eine Ausführungsform umfasst der Weitergabebus 318 128 Bits einschließlich von 32 Bits für einen verschachtelten Abschnitt des Rahmenpuffers. Der Weitergabebus 318 umfasst einen Satz von verschachtelter Weitergabe 360-363. Jeder verschachtelte Abschnitt des Rahmenpuffers teilt 32 Bits von Pixeldaten. Z. B. verwenden die FBRAM-Chips 320, 324 und 328 des ersten verschachtelten Abschnitts des Rahmenpuffers den verschachtelten Weitergabebus 360 gemeinsam.
- Für eine alternative Ausführungsform umfasst der Weitergabebus 318 256 Bits einschließlich von 32 Bits für jeden verschachtelten Abschnitt des Puffers A und des Puffers B und 32 Bits für jeden der verschachtelten Z-Pufferabschnitte.
- Die FBRAM-Chips 320-323 transferieren Vergleichsergebnisse an die entsprechenden Puffer A und B über einen Satz von Vergleichsergebnis-Signalleitungen 365-368. Z. B. transferiert der FBRAM-Chip 320 das Vergleichsergebnis durch den PA_PASS_OUT-Stift in den PA_PASS_IN-Stift des FBRAM-Chips 324 und den PA_PASS_IN-Stift des FBRAM-Chips 328 über das Vergleichsergebnissignal 365. Der PA_PASS_OUT-Stift des FBRAM-Chips 324 kann auch den PA_PASS_IN-Stift des FBRAM-Chips 320 konditionieren, wobei dem Puffer A erlaubt wird, auch Schreibvorgänge in dem Puffer C mit Hilfe eines zweiten Vergleichsergebnissignals 965 zu konditionieren.
- Die Vergleichseinheiten innerhalb der FBRAM-Chips 320-323 führen Tiefencheckfunktionen und zusätzliche Clip- oder Schablonenfunktionen aus und transferieren die Ergebnisse an die entsprechenden Puffer A und B über die Vergleichsergebnissignale 365-368. Die Vergleichsergebnissignale 365-368 in Kombination mit den internen Vergleichsergebnissen in dem Puffer A und dem Puffer B der FBRAM- Chips 324-331 steuern die internen Schreibvorgänge auf die entsprechenden internen Pixelpuffer in den Clips 324-331. Die Vergleichseinheit in den Puffer A Chips 324-327 können auch Fensterclipfunktionen ausführen und die Ergebnisse an die entsprechenden Z-Puffer Chips 320-323 über die Vergleichsergebnissignale 965-968 transferieren. Die Vergleichsergebnissignale 965-968 in Kombination mit den internen Vergleichsergebnissen in den Z-Puffer Chips 320-323 steuern die internen Schreibvorgänge in die entsprechenden internen Pixelpuffer in den Chips 320-323.
- Die FBRAM-Chips 324-327 transferieren Videodaten an den RAMDAC 296 über einen Satz von Videobussen 350-353 für den Puffer A des Rahmenpuffers. Die FBRAM-Chips 328-331 transferieren Videodaten an den RAMDAC 296 über einen Satz von Videobussen 340-343 für den Puffer B des Rahmenpuffers.
- Die Videobusse 350-353 und 340-343 umfassen 128 Bits. Der RAMDAC 296 erzeugt einen Satz von Videosteuersignalen 336 zum Wählen entweder von Videodaten von dem Puffer A oder Videodaten von dem Puffer B. Der Puffer A oder der Puffer B wird auf einer Pixel-für-Pixel-Basis für Fensteroperationen (Window-Operationen) gewählt.
- Fig. 28 zeigt Pixelport-Zwischenverbindungen für einen 32-Bit doppelt gepufferten Rahmenpuffer einschließlich eines Z-Puffers. Der Rahmenpuffer umfasst einen Satz von FBRAM-Chips 380-391, die mit dem Weitergabecontroller 394 gekoppelt sind. Der Weitergabecontroller 394 greift auf Pixeldaten in dem FBRAM-Chips 380-391 über einen Weitergabebus 370 zu. Der Weitergabecontroller 394 steuert die Pixelport-Operationen der FBRAM-Chips 380-391 über einen Steuerbus 372.
- Die FBRAM-Chips 380-391 sind in einem horizontalen verschachtelten Rahmenpuffer mit vier Wegen angeordnet. Die FBRAM-Chips 380-382 umfassen einen ersten Verschachtelungsabschnitt des Rahmenpuffers. Die FBRAM-Chips 383-385 umfassen einen zweiten Verschachtelungsabschnitt. Die FBRAM-Chips 386-388 umfassen einen dritten Verschachtelungsabschnitt und die FBRAM-Chips 389-391 umfassen einen vierten Verschachtelungsabschnitt des Rahmenpuffers.
- Der Puffer A Abschnitt des Rahmenpuffers umfasst die FBRAM-Chips 381, 384, 387, und 390. Der Puffer B Abschnitt des Rahmenpuffers umfasst die FBRAM-Chips 382, 385, 388, und 391. Der Z- Puffer Abschnitt des Rahmenpuffers umfasst die FBRAM-Chips 380, 383, 386, und 390.
- Der Weitergabebus 370 umfasst einen verschachtelten Weitergabebus 400 und einen verschachtelten Weitergabebus 402. Der verschachtelte Weitergabebus 400 und der verschachtelte Weitergabebus 402 umfassen jeweils 36 Bits. Die Pixeldatenpfade (die PA_DQ-Signale) der FBRAM- Chips 380-382 und 386-388 verwenden den verschachtelten Weitergabebus 400 gemeinsam. Die Pixeldatenpfade für die FBRAM-Chips 383-385 und 389-391 verwenden gemeinsam den verschachtelten Weitergabebus 402.
- Jeder FBRAM-Chip 380-391 wird während Datentransfers über den Weitergabebus 370 durch die entsprechenden PA_ENA[0 : 1]Signale aktiviert und deaktiviert. Der Weitergabecontroller 394 erzeugt einen Satz von Verschachtelungs-Aktivierungssignalen (EN_0) bis (EN_3). Die Aktivierungssignale EN_0 bis EN_3 werden an die FBRAM-Chips 380-391 über einen Satz von Aktivierungssignalleitungen 410-413 gekoppelt. Die Aktivierungssignale EN_0 bis EN_3 von dem Weitergabecontroller 394 stellen die PA_ENA[0]Signale für die FBRAM-Chips 380-391 bereit.
- Der Weitergabecontroller 394 erzeugt einen Satz von Pufferaktivierungssignalen EN_A, EN_B und EN_Z. Das Aktivierungssignal EN_A aktiviert und deaktiviert den Puffer A, das Aktivierungssignal EN_B aktiviert und deaktiviert den Puffer B und das Aktivierungssignal EN_Z aktiviert und deaktiviert den Z-Puffer. Eine Aktivierungssignalleitung 415 koppelt das EN_A-Signal an den PA_ENA[1] der FBRAM- Chips 381, 384, 387, und 390. Eine Aktivierungssignalleitung 416 koppelt das EN_B-Signal an den PA_ENA[1] der FBRAM-Chips 382, 385, 388, und 391. Eine Aktivierungssignalleitung 417 koppelt das EN_Z-Signal an den PA_ENA[1] jedes FBRAM-Chips 380, 383, 386, und 389.
- Für jeden einzelnen Chip müssen beide PA_ENA[0] und PA_ENA[1] aktiviert werden, um an den Chip zu schreiben und davon zu lesen. Es wird nur auf die Chips in den gewünschten Verschachtelungen und in den gewünschten Puffern zugegriffen werden, wie durch die Matrix von Signalen 410-417 spezifiziert.
- Während Z Puffer Operationen multiplexieren die Aktivierungssignale EN_A, EN_B und EN_Z Pixel- und Z-Puffer Daten über dem Weitergabebus 370. In einem Z-Puffer Modus werden Pixeldaten und Z-Puffer Daten für zwei Pixel über den Weitergabebus 370 in zwei Taktzyklen transferiert. In dem ersten Taktzyklus ist EN_Z gültig und zwei 32 Bit Z Puffer Werte können über den verschachtelten Weitergabebus 400 und den verschachtelten Weitergabebus 402 an die FBRAM-Chips 380, 383, 386, und 389 transferiert werden. Während des nächsten Taktzyklus sind sowohl EN_A als auch EN_B beide gültig und zwei 32 Bit Farbpixelwerte können über jeden der verschachtelten Weitergabebusse 400 und 402 an die FBRAM-Chips 381, 384, 387, und 390 oder die FBRAM-Chips 382, 385, 388, und 391 in Übereinstimmung mit den Aktivierungssignalen EN_A und EN_B transferiert werden.
- Fig. 29 ist ein Zustandsdiagramm für DRAM-Zugriffsoperationen, die von dem Weitergabecontroller 70 an den FBRAM-Chip 71 ausgegeben werden. Der Weitergabecontroller 70 implementiert einen Satz von Zuständen 420-426. Die DRAM-Zugriffsoperationen auf dem FBRAM-Chip 71 umfassen die Operation für einen Seitenzugriff (Access Page, ACP), die Operation für einen Videotransfer (Video Transfer, VDX), die Operation für das Vorladen (PRECharge, PRE), einer Bank, die Operation zum Lesen eines Blocks (Read Block, RDB), die Operation für eine nicht maskierte Blockbeschreibung (Unmasked Write Block, UWB), die Operation für eine maskierte Blockbeschreibung (Masked Write Block, MWB), und die Operation für die Duplizierung einer Seite (Duplicate Page, DUP). Der Weitergabecontroller 70 beginnt jede Steuertransaktion an einer bestimmten Seite der DRAM-Banken A-D mit einer Seitenzugriffsoperation auf diese Seite.
- Der Weitergabecontroller 70 frischt eine Seite von jeder der DRAM-Banken A-D durch Ausführen einer Seitenzugriffsoperation auf diese Seite im Zustand 420 wieder auf, gefolgt von einer Vorladeoperation auf diese Seite im Zustand 426. Die Seitenzugriffsoperation im Zustand 420 spezifiziert eine der Seiten von einer der DRAM-Banken A-D für die Seitenwiederauffrischungsoperation. Nach der Vorladeoperation im Schritt 426 kehrt der Weitergabecontroller 70 auf den Zustand 420 in Vorbereitung für eine andere Steuertransaktion auf die DRAM-Banken A-D zurück.
- Der Weitergabecontroller 70 transferiert Daten von den DRAM-Banken A-D an die Videopuffer 52 und 54 durch anfängliches Ausführen einer Seitenzugriffsoperation im Zustand 420, um die spezifizierte Seite an die spezifizierten Seitenpuffer A-D zu transferieren. Danach führt der Weitergabecontroller 70 im Zustand 424 eine Videotransferoperation aus, um die Daten, auf die zugegriffen wird, von dem spezifizierten Seitenpuffer A-D an einen der Videopuffer 52 und 54 zu transferieren. Der Weitergabecontroller 70 führt dann eine Vorladeoperation im Zustand 426 in Vorbereitung für eine andere Steuertransaktion an die DRAM-Banken A-D aus.
- Während Weitergabeoperationen führt der Weitergabecontroller 70 Steuersequenzen an den DRAM-Banken A-D aus, die mit einer Seitenzugriffsoperation im Schritt 420 beginnen und die mit einer Vorladeoperation im Schritt 426 enden. Jedes Weitergabesteuersequenz umfasst entweder eine Blockleseoperation, eine maskierte oder nicht maskierte Blockeinschreibeoperation, oder eine Seitenduplizierungsoperation. Der Weitergabecontroller 70 geht zwischen den Zuständen 420, 422, und 426 zurück zum Zustand 422 während jeder Weitergabesequenz.
- Fig. 30 zeigt Zwischenverbindungen zwischen der DRAM-Bank A und dem Seitenpuffer A in dem FBRAM-Chip 71 für eine Ausführungsform. Ein Feld von vier DRAM-Zellen sind gezeigt, einschließlich einer DRAM-Zelle mit einem Transistor Q1 und einem Kondensator C1, einer DRAM-Zelle mit einem Transistor Q2 und einem Kondensator C2, einer DRAM-Zelle mit einem Transistor Q3 und einem Kondensator C3 und einer DRAM-Zelle mit einem Transistor Q4 und einem Kondensator C4.
- Eine elektrische Ladung wird an die DRAM-Zellen des DRAM-Felds 154 über einen Satz von Bitleitungen 440 und 441 und von diesen DRAM-Zellen transferiert. Die Bitleitungen 440 transferieren eine Ladung entlang einer Spalte des DRAM-Felds 154 an die Kondensatoren C1 und C3. Die Bitleitungen 441 transferieren eine Ladung entlang einer anderen Spalte des DRAM-Felds 154 an die Kondensatoren C2 und C4. Die Bitleitungen 440 umfassen eine positive Bitleitung und eine negative Bitleitung. In ähnlicher Weise umfassen die Bitleitungen 441 eine positive Bitleitung und eine negative Bitleitung.
- Ein Satz von Leseverstärkern 430 und 432 sind mit den Bitleitungen 440 bzw. 441 gekoppelt. Der Leseverstärker 430 erfasst und verstärkt das Spannungssignal auf den Bitleitungen 440 differenziell. Der Leseverstärker 432 erfasst und verstärkt das Spannungssignal auf den Bitleitungen 441 differenziell.
- Die Zeilendecoderschaltung 158 ist gekoppelt, um eine Wortleitung für jede Zeile von DRAM- Zellen des DRAM-Felds 154 mit einer Wortleitung 450 und einer Wortleitung 451 anzusteuern. Die Wortleitung 440 ist mit den Gates der Transistoren Q1 und Q2 gekoppelt und die Wortleitung 441 ist mit den Gates der Transistoren Q3 und Q4 gekoppelt.
- Die Zeilendecoderschaltung 158 aktiviert jede Wortleitung 450 und 451 zum Zugreifen auf die DRAM-Zellen der entsprechenden Zeilen. Die Zeilendecoderschaltung 158 aktiviert die Wortleitung 450, um die Transistoren Q1 und Q2 einzuschalten. Die eingeschalteten Transistoren Q1 und Q2 koppeln den Kondensator C1 mit den Bitleitungen 440 und koppeln den Kondensator C2 mit den Bitleitungen 441. Die aktivierte Wortleitung 450 transferiert eine Ladung zwischen den Bitleitungen 440 und dem Kondensator C1 und zwischen den Bitleitungen 441 und dem Kondensator C2. In ähnlicher Weise aktiviert die Zeilendecoderschaltung 158 die Wortleitung 451, um eine Ladung zwischen den Kondensatoren C3 und C4 bzw. den Bitleitungen 440 und 441 zu koppeln.
- Während einer Vorladeoperation auf dem DRAM-Feld 154 steuert der Leseverstärker 430 die Bitleitungen 440 auf einen Referenzspannungspegel, und der Leseverstärker 432 steuert die Bitleitungen 441 auf den Referenzspannungspegel.
- Während einer Seitenzugriffsoperation deaktiviert die Zeilendecoderschaltung 158 die Wortleitungen 450 und 451. Die deaktivierten Wortleitungen 450 und 451 entkoppeln die Bitleitungen 440 und 441 von den Kondensatoren C1-C4. Infolgedessen sind die Bitleitungen 440 und 441 während einer Seitenzugriffsoperation zu Anfang in einem Schwebezustand. Danach aktiviert die Zeilendecoderschaltung 158 eine der Wortleitungen 450 oder 451 gemäß der Seite, die von der Seitenzugriffsoperation spezifiziert wird.
- Wenn z. B. die Zeilendecoderschaltung 158 die Wortleitung 450 aktiviert, dann werden die Transistoren Q1 und Q2 eingeschaltet und sie transferieren eine Ladung von den Kondensatoren C1 und C2 auf die Bitleitungen 440 bzw. 441. Der Leseverstärker 430 erfasst und verstärkt die Spannungen auf den Bitleitungen 440 differenziell. Der Leseverstärker 432 erfasst und verstärkt die Spannungen auf den Bitleitungen 441 differenziell. Die Leseverstärker 430 und 432 steuern die Bitleitungen 440 und 441 auf die vollen Versorgungsspannungspegel. Die vollen Hauptspannungspegel auf den Bitleitungen 440 und 441 werden in die Kondensatoren C1 und C2 durch die Transistoren Q1 und Q2 zurückgebracht, um die entsprechenden DRAM-Zellen wieder aufzufrischen.
- Die Fig. 31 und 32 illustrieren einen Seitenduplizierungsbetrieb (Seitenduplizierungsoperation) für die DRAM-Bank A und den Seitenpuffer A in dem FBRAM-Chip 71 für eine Ausführungsform. Der Weitergabecontroller 70 initiiert eine Seitenduplizierungsoperation nach einer Seitenzugriffsoperation oder nach einer früheren Seitenduplizierungsoperation. Am Start einer Seitenduplizierungsoperation wird eine der Wortleitungen 450 oder 451 durch die Zeilendecoderschaltung 158 in Übereinstimmung mit der vorangehenden Seitenzugriffsoperation oder der vorangehenden Seitenduplizierungsoperation angesteuert.
- Fig. 31 zeigt den Start einer Seitenduplizierungsoperation. Die Zeilendecoderschaltung 158 steuert die Wortleitung 451 beim Start der Seitenduplizierungsoperation an. Die aktivierte Wortleitung 451 koppelt die Kondensatoren C3 und C4 an die Bitleitungen 440 bzw. 441. Die Leseverstärker 430 und 432 steuern die volle Versorgungsspannung der Daten für die vorangehende Seitenzugriffs- oder Seitenduplizierungsoperation auf jede der Bitleitungen 440 und 441. Die Daten auf den Bitleitungen 440 und 441 werden jeweils auf die Kondensatoren C3 und C4 transferiert.
- Fig. 32 zeigt den Abschluss der Seitenduplizierungsoperation. Die Zeilendecoderschaltung 158 deaktiviert die Wortleitung 451 und aktiviert die Wortleitung 450, um die Seitenduplizierungsoperation abzuschließen. Die Zeilendecoderschaltung 158 aktiviert die Wortleitung 450, während Daten für die vorangehende Seitenzugriffs- oder Seitenduplizierungsoperation auf die Bitleitungen 440 und 441 von den Leseverstärkern 430 und 432 gelegt werden. Die aktivierte Wortleitung 450 schaltet die Transistoren Q1 und Q2 ein und transferiert die Daten auf den Bitleitungen 440 und 441 auf die Kondensatoren C1 und C2.
- Fig. 33 zeigt die Wähl-Logik (Picking-Logik) 500 in dem FBRAM-Chip 71. Die Wähl-Logik 500 umfasst einen Satz von Stufe 7 Pipeline-Registern 502-506, einen HIT-Flag-Haltespeicher 520, einen Wählaktivierungs-Haltespeicher 522, ein Paar von Multiplexern 514 und 516, und einen Satz von Logikgattern 510, 512, 530, und 532.
- Das Register 502 puffert das Ladevergleichs-Steuersignal 282 von der Pixelport-Steuerschaltung 114. Das Register 504 puffert Bits 27..24 des Vergleichssteuerregisters 268 über die Signale 550. Das Register 506 puffert die PA_PASS_IN und die PA_PASS_OUT-Signale und ein zustandsmäßiges Schreibaktivierungssignal 552 von der Pixelport-Steuerschaltung 114.
- Das HIT-Flag-Register 520 stellt ein HIT-Flag 560 bereit. Das Wählaktivierungsregister 522 stellt ein Wählaktivierungssignal 562 bereit. Das HIT-Flag-Signal 560 steuert einen Ausgangsstift des FBRAM- Chips 71 HIT an. Die Bits 27..24 des Vergleichssteuerregisters 268 steuern die Wähl-Logik 500. Die Bits 24 und 25 des Vergleichssteuerregisters 268 setzen/löschen das HIT-Flag 560. Die Bits 26 und 27 des Vergleichssteuerregisters 268 aktivieren/deaktivieren die Wähl-Logik 500. Der Weitergabecontroller 70 schreibt eine 10 an Bits 25..24 zum Löschen des HIT-Flags 560. Der Weitergabecontroller 70 schreibt eine 11 an Bits 25..24, um das HIT-Flag 560 zu setzen. Der Weitergabecontroller schreibt eine 0 an ein Bit 25, um dem HIT-Flag zu ermöglichen, außer bei Wähltreffern unverändert zu bleiben. Der Weitergabecontroller 70 schreibt eine 10 an Bits 27..26, um die Wähl-Logik 500 zu deaktivieren, und schreibt eine 11 an Bits 27..26, um die Wähl-Logik 500 zu aktivieren. Der Weitergabecontroller schreibt eine 0 an ein Bit 27, um dem Wählaktivierungszustand zu ermöglichen, unverändert zu bleiben.
- Der HIT-Ausgangsstift des FBRAM-Chips 71 ist ein niedrigaktives Ausgangssignal einer offenen Drain, das die Ergebnisse der Wählfunktion des FBRAM-Chips 71 reflektiert. Der Weitergabecontroller 70 aktiviert zu Anfang die Wähl-Logik 500 und löscht das HIT-Flag 560. Der HIT-Ausgangsstift des FBRAM- Chips 71 ist 7 Zyklen später während der Pipeline Stufe 8 gültig. Eine zustandsmäßige Schreiboperation, die von dem Weitergabecontroller 70 nach einer Schreibvergleichs-Steuerregisteroperation zum Löschen des HIT-Flags 560 ausgegeben wird, steuert den Ausgangsstift des FBRAM-Chips 71 auf niedrig, wenn das PA_PASS_IN-Signal und das PA_PASS_OUT-Signal beide ein Bestehen (ein Durchlassen) an der Pipeline Stufe 6 anzeigen.
- Fig. 34 zeigt die Zeitsteuerung der Wähl-Logik 500. Zur Zeit t200 gibt der Weitergabecontroller 70 eine Steuerregister-Schreiboperation über den verschachtelten Weitergabebus 64 aus, der auf das Vergleichssteuerregister 268 abzielt. Zur Zeit t201 gibt der Weitergabecontroller 70 eine zustandsmäßige normale Dateneinschreibeoperation an den Block und das Wort, das über die PA_ADDR-Signale angezeigt wird. Ferner transferiert zur Zeit t201 der Weitergabecontroller 70 Registerdaten über die PA_DQ-Signale für die Vergleichssteuerregister-Schreiboperation, die zur Zeit t200 gestartet wird.
- Die Registerdaten, die über die PA_DQ Signale zur Zeit t201 transferiert werden, aktivieren die Wähllogik 500 und löschen das HIT Flag 560. Danach transferiert zur Zeit t202 der Weitergabecontroller 70 die Daten für die zustandsmäßige normale Dateneinschreiboperation (gestartet während des vorangehenden Zyklus) über die PA_DQ Signale. Zur Zeit t206 zeigen die PA_PASS_IN und die PA_PASS_OUT Signale beide eine Bestanden-Bedingung an und zur Zeit t207 stellt der HIT Ausgangsstift des FBRAM Chips 71 ein gültiges HIT Flag bereit.
- Die Wähllogik 500 wird verwendet, um die weitergegebenen Objekte zu bestimmen, die in einen definierten Bereich eines Anzeigeschirms sichtbar sind. Die Wählfunktion wird oft verwendet, um Objekte zum Hervorheben oder Editieren zu wählen, nachdem eine Zeigeeinrichtung positioniert ist, um auf einen bestimmten Fleck auf der Anzeige zu verweisen. Der Ort des Flecks wird verwendet, um die Mitte einer kleinen Fläche zu definieren, die als die Wählöffnung (pick aperture) bezeichnet wird.
- Ein Weitergabecontroller ist programmiert, um den Anzeigerahmen neu zu zeichnen und sämtliche Objekte, die nicht in die Wählöffnung fallen, wegzuklippen. Nur diejenigen Objekte, die Pixel in der Wählöffnung beitragen und Pixel aufweisen, die die internen Vergleichstests bestehen, verursachen zustandsmäßige Einschreibvorgänge an den Pixelpuffer und setzen das HIT Flag. Wenn das HIT Wählflag gelöscht wird, bevor jedes Objekt gezeichnet ist, und wenn der Weitergabecontroller das HIT Flag testet, nachdem jedes Objekt gezeichnet ist, dann wird das HIT Flag nur für Objekte gesetzt, die sichtbare Pixel in der Wählöffnung aufweisen. Der HIT Ausgangsstift eines FBRAM Chips ist ein Ausgang mit einer offenen Drain in einer Ausführungsform, die ermöglicht, dass HIT Ergebnisse von mehreren FBRAM Chips der Verwendung eines einzelnen Signals ODER-verdrahtet werden.
- Die Bits 27 und 26 des Vergleichssteuerregisters in dem FBRAM Chip stellen eine Aktivierungs/Deaktivierungs-Steuerung der Wähllogik bereit. Die Aktivierungs/Deaktivierungs-Funktion ist nützlich, um bestimmte Objekte aus dem Wähltest zu eliminieren und zu ermöglichen, dass mehrere Prozesse die Wähllogik in einem Multicasting-System gemeinsam verwenden.
- Die Bits 25 und 24 des Vergleichssteuerregisters stellen die Möglichkeit bereit das HIT Flag voreinzustellen oder zu löschen. Die Voreinstellungs/Löschungs-Funktion kombiniert mit dem HIT Status über den HIT Stift stellt einen Mechanismus zum Speichern und Wiederherstellen des Zustands des HIT Status von geswappten (übergelaufenen) Prozessen, die die Wähllogik in eine Multicasting-System gemeinsam verwenden, bereit.
- In der voranstehenden Spezifikation ist die Erfindung unter Bezugnahme auf spezifische beispielhafte Ausführungsformen davon beschrieben worden. Es wird jedoch offensichtlich sein, dass verschiedene Modifikationen und Änderungen daran durchgeführt werden können, ohne von dem Umfang der Erfindung abzuweichen, wie in den beigefügten Ansprüchen aufgeführt. Die Spezifikation und die Zeichnungen werden demzufolge als illustrativ und nicht als restriktiv angesehen.
Claims (12)
1. Rahmenpuffer-Speichervorrichtung (71) für ein Computergrafiksystem (86), wobei das
Grafiksystem umfasst:
einen Satz von Rahmenpufferspeicherchips (71-82), wobei jeder besagte Chip darauf eine jeweilige
Rahmenpuffer-Speichervorrichtung aufweist;
einen Weitergabecontroller (70);
einen Weitergabebus (98); und
eine Videoausgangsschaltung (84),
wobei der Weitergabecontroller Daten an den Speicherchips über den Weitergabebus liest und schreibt, und
der Weitergabecontroller Rahmenpuffer-Steuersignale und Befehle an den Speicherchips über den
Weitergabebus transferiert, wobei die Speichervorrichtung umfasst:
ein Speicherfeld zum Puffern eines Satzes von Pixeldaten, die ein Bild für eine Anzeige auf eine
Anzeigeeinrichtung definieren, wobei das Speicherfeld als ein Satz von Speicherbanken (A-D) angeordnet
ist, wobei jede besagte Speicherbank einen Satz von Speicherzellen (154) und einen Satz von
Leseverstärkern (156), die zum Zugreifen auf die Speicherzellen gekoppelt sind, umfasst;
einen Pixel-Cache (56), umfassend eine Vielzahl von Pixel-Cache-Blöcken und einen Satz von
Modifikationsmarken-Bits, die jedem Pixel-Cache-Block entsprechen, wobei die Modifikationsmarken-Bits
die Daten bestimmt, die von einem entsprechenden Pixel-Cache-Block während Operationen, bei denen ein
Pixeldatentransfer zwischen Blöcken des Pixel-Caches und Speicherbanken des Speicherfelds beteiligt ist,
transferiert und in einen derartigen Pixel-Cache-Block eingelesen werden;
eine Pixel-ALU (58), umfassend einen Satz von Einheiten (230-235) zum Ausführen einer selektierbaren
Verarbeitung für die Pixeldaten, die an den Pixel-Cache über den Weitergabebus transferiert werden;
eine Speicherzugriffs-Schnittstellenschaltung (112), die mit dem Speicherfeld und dem Pixel-Cache
gekoppelt und mit dem Weitergabebus koppelbar ist, um jeweilige
Speicherzugriffsaufforderungen/Pixeldaten-Transferaufforderungen von dem Weitergabecontroller über den
Weitergabebus zu empfangen, wobei die Aufforderungen Speicherzugriffsfunktionen und Speicherbanken,
auf die zugegriffen werden soll, spezifizieren, wobei die Speicherzugriffs-Schnittstellenschaltung auch eine
Schaltungsanordnung (60, 168) zum Initiieren einer Speicherzugriffsfunktion in Übereinstimmung mit einer
Speicherzugriffsaufforderung aufweist; und
eine Pixelzugriffs-Schnittstellenschaltung (114), die mit dem Pixel-Cache gekoppelt und mit dem
Weitergabebus koppelbar ist, um Pixelzugriffsaufforderungen von dem Weitergabecontroller über den
Weitergabebus zu empfangen, wobei die Pixelzugriffsauffordenungen Pixel-Cache-Blöcke zur Verwendung
bei Pixeldaten-Verarbeitungsoperationen spezifizieren, wobei die Pixelzugriffsschaltung eine
Schaltungsanordnung (184) zum Initiieren eines Pixelzugriffs auf den Pixel-Cache in Übereinstimmung mit
einer Pixelzugriffsaufforderung aufweist;
dadurch gekennzeichnet, dass
der Pixel-Cache zum Zugriff auf die Leseverstärker jeder Speicherbank über einen internen Bus (60), um
einen Transfer von Daten zwischen dem Pixel-Cache und den Speicherbanken zu ermöglichen, gekoppelt
ist; und
dass die Pixel-ALU mit dem Pixel-Cache gekoppelt und mit dem Weitergabebus koppelbar ist, wobei die
Pixel-ALU Steuersignale von der Pixelzugriffs-Schnittstellenschaltung empfängt, wobei eine
Speicherzugriffsfunktion durch die Speicherzugriffs-Schnittstellenschaltung parallel zu einem Pixelzugriff
auf den Pixel-Cache, durch die Pixelzugriffs-Schnittstellenschaltung, über die Pixel-ALU ausgeführt
werden kann.
2. Rahmenpuffer-Speichervorrichtung nach Anspruch 1, wobei die Speicherzugriffsschaltung eine
Speicherzugriffsfunktion initiiert, während die Pixelzugriffsschaltung einen Pixelzugriff initiiert.
3. Rahmenpuffer-Speichervorrichtung nach Anspruch 1 oder 2, wobei weiter ein
Ebenenmaskenregister (198) vorgesehen ist, welches zum Empfangen und Speichern eines Satzes von
Ebenenmaskenbits gekoppelt ist, wobei die Ebenenmaskenbits die Daten bestimmen, die von dem Pixel-
Cache während einiger Operationen transferiert und in den Pixel-Cache hineingelesen werden.
4. Rahmenpuffer-Speichervorrichtung nach Anspruch 3, wobei die Speicherzugriffsfunktion eine
maskierte Schreibblockoperation ist, die Daten von einem Pixel-Cache-Block, der durch die
Speicherzugriffsaufforderung spezifiziert wird, an die Leseverstärker für die Speicherbank transferiert, die
von der Speicherzugriffsaufforderung spezifiziert wird, so dass die Ebenenmaskenbits eine bitweise
Schreibmaske in die Leseverstärker hinein bestimmen.
5. Rahmenpuffer-Speichervorrichtung nach Anspruch 3 oder 4, wobei die Speicherzugriffsfunktion
eine Videotransferoperation ist, die einen Abschnitt einer Rasteranzeige-Scanlinie von den Leseverstärkern
für der Speicherbank, die von der Speicherzugriffsaufforderung spezifiziert wird, an einen seriellen
Videopuffer transferiert, der den Abschnitt der Rasteranzeige-Scanlinie an eine Rasteranzeigeeinrichtung
verschiebt.
6. Rahmenpuffer-Speichervorrichtung nach Anspruch 3 bis 5, wobei die Speicherzugriffsfunktion
eine nichtmaskierte Schreibblockoperation ist, die Daten von einem Pixel-Cache-Block, der von der
Speicherzugriffsaufforderung spezifiziert wird, an die Leseverstärker für die Speicherbank transferiert, die
von der Speicherzugriffsaufforderung spezifiziert wird, so dass die Modifikationsmarken-Bits eine bitweise
Schreibmaske in die Leseverstärker hinein bestimmen.
7. Rahmenpuffer-Speichervorrichtung nach irgendeinem der Ansprüche 3 bis 5, wobei die
Speicherzugriffsfunktion eine maskierte Schreibblockoperation ist, die Daten von einem Pixel-Cache-
Block, der von der Speicherzugriffsaufforderung spezifiziert wird, an die Leseverstärker für die
Speicherbank transferiert, die von der Speicherzugriffsaufforderung spezifiziert wird, so dass die
Ebenenmaskenbits und die Modifikationsmarken-Bits eine bitweise Schreibmaske in die Leseverstärker
hinein bestimmen.
8. Rahmenpuffer-Speichervorrichtung nach irgendeinem der Ansprüche 1 bis 5, wobei der
Pixelzugriff eine zustandslose anfängliche Datenschreiboperation ist die einen Datenwert, der über den
Weitergabebus empfangen wird, in den Pixel-Cache-Block schreibt, der von der
Speicherzugriffsaufforderung spezifiziert wird, die die Modifikationsmarken-Bits setzt, die durch eine
Adresse der Speicherzugriffsaufforderung und durch einen Satz von Schreibaktivierungssignalen
spezifiziert werden, die mit dem Datenwert empfangen werden, und die einen Satz von übrigen
Modifikationsmarken-Bits in dem Pixel-Cache-Block, der von der Pixelzugriffsaufforderung spezifiziert
wird, löscht.
9. Computersystem, umfassend:
einen Prozessor, der zum Transfer eines Satzes von Grafikdaten über einen Systembus gekoppelt ist, wobei
die Grafikdaten einem Bild für eine Anzeige auf einer Anzeigeeinrichtung entsprechen;
einen Weitergabecontroller (70), der zum Empfang der Graphikdaten über den Systembus gekoppelt ist,
wobei der Weitergabecontroller zum Transfer einer Speicherzugriffsaufforderung, einer
Pixelzugriffsaufforderung und eines Pixelwerts über einen Weitergabebus (98) gekoppelt ist; und
einen Satz von Rahmenpuffer-Speicherchips, wobei jeder Speicherchip darauf eine Rahmenpuffer-
Speichervorrichtung aufweist, die wie im Anspruch 1 beansprucht, umfasst.
10. Verfahren zum Zugreifen auf Pixeldaten in einem Computersystem nach Anspruch 9, wobei das
Verfahren die folgenden Schritte umfasst:
Empfangen einer Speicherzugriffsaufforderung, die eine Speicherzugriffsfunktion und eine des Satzes von
Speicherbanken (A-D) des Speicherfelds spezifiziert, wobei die Speicherzellen (154) der Speicherbanken
einen Satz von Pixeldaten, die ein Bild für eine Anzeige auf einer Anzeigeeinrichtung definieren, puffern;
Empfangen einer Pixelzugriffsaufforderung, die einen einer Vielzahl von Pixel-Cache-Blöcken in dem
Pixel-Cache (56) spezifiziert; und
Ausführen der Speicherzugriffsfunktion in Übereinstimmung mit der Speicherzugriffsaufforderung,
während parallel zu den Speicherzugriffsfunktionen ein Pixelzugriff auf den Pixel-Cache in
Übereinstimmung mit der Pixelzugriffsaufforderung ausgeführt wird, wobei der Pixelzugriff über die Pixel-
ALU stattfindet.
11. Verfahren nach Anspruch 10, wobei die Speicherzugriffsfunktion eine Vorladebankoperation ist,
die den Satz von Leseverstärkern (156) für die Speicherbank, die von der Speicherzugriffsaufforderung
spezifiziert wird, vorlädt.
12. Verfahren nach Anspruch 10, wobei der Schritt zum Ausführen der Speicherzugriffsfunktion in
Übereinstimmung mit der Speicherzugriffsaufforderung den Schritt zum Ausführen einer
Duplikatseitenoperation durch Transferieren von Daten von dem Satz von Leseverstärkern (156) an die
Speicherzellen (154) einer Seite der Speicherbank (A-D), die von der Speicherzugriffsaufforderung
spezifiziert wird, umfasst.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/237,307 US5544306A (en) | 1994-05-03 | 1994-05-03 | Flexible dram access in a frame buffer memory and system |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69528722D1 DE69528722D1 (de) | 2002-12-12 |
DE69528722T2 true DE69528722T2 (de) | 2003-09-18 |
Family
ID=22893193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69528722T Expired - Fee Related DE69528722T2 (de) | 1994-05-03 | 1995-04-27 | Vielseitiger DRAM-Zugriff in einem Rasterpufferspeicher |
Country Status (4)
Country | Link |
---|---|
US (1) | US5544306A (de) |
EP (2) | EP0681282B1 (de) |
JP (1) | JP3779748B2 (de) |
DE (1) | DE69528722T2 (de) |
Families Citing this family (132)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07319436A (ja) * | 1994-03-31 | 1995-12-08 | Mitsubishi Electric Corp | 半導体集積回路装置およびそれを用いた画像データ処理システム |
US5596686A (en) * | 1994-04-21 | 1997-01-21 | Silicon Engines, Inc. | Method and apparatus for simultaneous parallel query graphics rendering Z-coordinate buffer |
EP0681279B1 (de) * | 1994-05-03 | 2001-07-18 | Sun Microsystems, Inc. | Direktzugriffspeicher und System für Rasterpuffer |
US5694143A (en) * | 1994-06-02 | 1997-12-02 | Accelerix Limited | Single chip frame buffer and graphics accelerator |
US5696534A (en) * | 1995-03-21 | 1997-12-09 | Sun Microsystems Inc. | Time multiplexing pixel frame buffer video output |
US5767856A (en) * | 1995-08-22 | 1998-06-16 | Rendition, Inc. | Pixel engine pipeline for a 3D graphics accelerator |
US6035369A (en) * | 1995-10-19 | 2000-03-07 | Rambus Inc. | Method and apparatus for providing a memory with write enable information |
US5696947A (en) * | 1995-11-20 | 1997-12-09 | International Business Machines Corporation | Two dimensional frame buffer memory interface system and method of operation thereof |
US6359624B1 (en) | 1996-02-02 | 2002-03-19 | Kabushiki Kaisha Toshiba | Apparatus having graphic processor for high speed performance |
KR20000064680A (ko) * | 1996-03-21 | 2000-11-06 | 가나이 쓰도무 | Dram내장데이타처리장치 |
US6504548B2 (en) | 1998-09-18 | 2003-01-07 | Hitachi, Ltd. | Data processing apparatus having DRAM incorporated therein |
US6188800B1 (en) * | 1996-08-30 | 2001-02-13 | Yamaha Corporation | Two-dimensional spatial transformation system for video processing |
JPH10302054A (ja) * | 1997-04-24 | 1998-11-13 | Mitsubishi Electric Corp | フレームバッファメモリ |
US5940090A (en) * | 1997-05-07 | 1999-08-17 | Cirrus Logic, Inc. | Method and apparatus for internally caching the minimum and maximum XY pixel address values in a graphics subsystem |
US5917503A (en) * | 1997-06-02 | 1999-06-29 | Hewlett Packard Company | Converging data pipeline device |
US6020901A (en) * | 1997-06-30 | 2000-02-01 | Sun Microsystems, Inc. | Fast frame buffer system architecture for video display system |
US6118462A (en) * | 1997-07-01 | 2000-09-12 | Memtrax Llc | Computer system controller having internal memory and external memory control |
US6057862A (en) * | 1997-07-01 | 2000-05-02 | Memtrax Llc | Computer system having a common display memory and main memory |
US8489861B2 (en) * | 1997-12-23 | 2013-07-16 | Round Rock Research, Llc | Split embedded DRAM processor |
US5933156A (en) * | 1997-12-03 | 1999-08-03 | Margolin; Jed | Z-Buffer for row addressable graphics memory with flash fill |
EP0926600B1 (de) | 1997-12-24 | 2003-06-11 | Texas Instruments Inc. | Computer Anordnung mit Prozessor und Speicher-Hierarchie und sein Betriebsverfahren |
US6661421B1 (en) | 1998-05-21 | 2003-12-09 | Mitsubishi Electric & Electronics Usa, Inc. | Methods for operation of semiconductor memory |
US6535218B1 (en) * | 1998-05-21 | 2003-03-18 | Mitsubishi Electric & Electronics Usa, Inc. | Frame buffer memory for graphic processing |
US6559851B1 (en) | 1998-05-21 | 2003-05-06 | Mitsubishi Electric & Electronics Usa, Inc. | Methods for semiconductor systems for graphics processing |
US6504550B1 (en) * | 1998-05-21 | 2003-01-07 | Mitsubishi Electric & Electronics Usa, Inc. | System for graphics processing employing semiconductor device |
JP2000011190A (ja) * | 1998-06-25 | 2000-01-14 | Sony Corp | 画像処理装置 |
US6303986B1 (en) | 1998-07-29 | 2001-10-16 | Silicon Light Machines | Method of and apparatus for sealing an hermetic lid to a semiconductor die |
US6771264B1 (en) * | 1998-08-20 | 2004-08-03 | Apple Computer, Inc. | Method and apparatus for performing tangent space lighting and bump mapping in a deferred shading graphics processor |
US6288730B1 (en) | 1998-08-20 | 2001-09-11 | Apple Computer, Inc. | Method and apparatus for generating texture |
WO2000014683A1 (fr) | 1998-09-07 | 2000-03-16 | Mitsubishi Denki Kabushiki Kaisha | Circuit integre a semi-conducteurs |
US6329997B1 (en) | 1998-12-04 | 2001-12-11 | Silicon Motion, Inc. | 3-D graphics chip with embedded DRAM buffers |
US6704023B1 (en) * | 1998-12-04 | 2004-03-09 | Silicon Motion, Inc. | 3-D graphics chip with embedded DRAMbuffers |
US6437789B1 (en) * | 1999-02-19 | 2002-08-20 | Evans & Sutherland Computer Corporation | Multi-level cache controller |
US6226017B1 (en) * | 1999-07-30 | 2001-05-01 | Microsoft Corporation | Methods and apparatus for improving read/modify/write operations |
JP2001111651A (ja) * | 1999-10-07 | 2001-04-20 | Internatl Business Mach Corp <Ibm> | データ伝送装置およびその方法 |
US6538928B1 (en) * | 1999-10-12 | 2003-03-25 | Enhanced Memory Systems Inc. | Method for reducing the width of a global data bus in a memory architecture |
US7012613B1 (en) | 2000-05-02 | 2006-03-14 | Ati International Srl | Method and apparatus for fragment scriptor for use in over-sampling anti-aliasing |
US6864895B1 (en) * | 2000-05-30 | 2005-03-08 | Hewlett-Packard Development Company, L.P. | Pseudo-linear frame buffer mapping system and method |
KR100355233B1 (ko) * | 2000-07-03 | 2002-10-11 | 삼성전자 주식회사 | 정보의 비교-기록 기능을 구비하는 반도체 메모리 장치 및이의 정보 처리방법 |
JP3504240B2 (ja) * | 2000-07-24 | 2004-03-08 | 株式会社ソニー・コンピュータエンタテインメント | 画像処理システム、デバイス、方法及びコンピュータプログラム |
US6636223B1 (en) * | 2000-08-02 | 2003-10-21 | Ati International. Srl | Graphics processing system with logic enhanced memory and method therefore |
US6900812B1 (en) * | 2000-08-02 | 2005-05-31 | Ati International Srl | Logic enhanced memory and method therefore |
KR100430567B1 (ko) * | 2000-10-11 | 2004-05-10 | 한국전자통신연구원 | 주소발생기를 포함한 인터리빙/디인터리빙 수행 장치 및그 방법과 그를 이용한 채널 부호화 시스템 |
US6707591B2 (en) | 2001-04-10 | 2004-03-16 | Silicon Light Machines | Angled illumination for a single order light modulator based projection system |
US6670959B2 (en) | 2001-05-18 | 2003-12-30 | Sun Microsystems, Inc. | Method and apparatus for reducing inefficiencies in shared memory devices |
US6778179B2 (en) * | 2001-05-18 | 2004-08-17 | Sun Microsystems, Inc. | External dirty tag bits for 3D-RAM SRAM |
US6720969B2 (en) * | 2001-05-18 | 2004-04-13 | Sun Microsystems, Inc. | Dirty tag bits for 3D-RAM SRAM |
US6864900B2 (en) * | 2001-05-18 | 2005-03-08 | Sun Microsystems, Inc. | Panning while displaying a portion of the frame buffer image |
US6782205B2 (en) | 2001-06-25 | 2004-08-24 | Silicon Light Machines | Method and apparatus for dynamic equalization in wavelength division multiplexing |
US6747781B2 (en) | 2001-06-25 | 2004-06-08 | Silicon Light Machines, Inc. | Method, apparatus, and diffuser for reducing laser speckle |
US6829092B2 (en) | 2001-08-15 | 2004-12-07 | Silicon Light Machines, Inc. | Blazed grating light valve |
US6833834B2 (en) | 2001-12-12 | 2004-12-21 | Sun Microsystems, Inc. | Frame buffer organization and reordering |
US6800238B1 (en) | 2002-01-15 | 2004-10-05 | Silicon Light Machines, Inc. | Method for domain patterning in low coercive field ferroelectrics |
US6753870B2 (en) * | 2002-01-30 | 2004-06-22 | Sun Microsystems, Inc. | Graphics system configured to switch between multiple sample buffer contexts |
US6795078B2 (en) | 2002-01-31 | 2004-09-21 | Sun Microsystems, Inc. | Parallel read with source-clear operation |
JP2003233366A (ja) * | 2002-02-13 | 2003-08-22 | Nec Access Technica Ltd | 表示合成回路及び携帯用電子機器 |
US7027064B2 (en) * | 2002-02-28 | 2006-04-11 | Sun Microsystems, Inc. | Active block write-back from SRAM cache to DRAM |
US6812929B2 (en) | 2002-03-11 | 2004-11-02 | Sun Microsystems, Inc. | System and method for prefetching data from a frame buffer |
US6806883B2 (en) | 2002-03-11 | 2004-10-19 | Sun Microsystems, Inc. | System and method for handling display device requests for display data from a frame buffer |
US6836272B2 (en) | 2002-03-12 | 2004-12-28 | Sun Microsystems, Inc. | Frame buffer addressing scheme |
US6801980B2 (en) * | 2002-04-25 | 2004-10-05 | International Business Machines Corporation | Destructive-read random access memory system buffered with destructive-read memory cache |
US6728023B1 (en) | 2002-05-28 | 2004-04-27 | Silicon Light Machines | Optical device arrays with optimized image resolution |
US6767751B2 (en) | 2002-05-28 | 2004-07-27 | Silicon Light Machines, Inc. | Integrated driver process flow |
US6822797B1 (en) | 2002-05-31 | 2004-11-23 | Silicon Light Machines, Inc. | Light modulator structure for producing high-contrast operation using zero-order light |
US6829258B1 (en) | 2002-06-26 | 2004-12-07 | Silicon Light Machines, Inc. | Rapidly tunable external cavity laser |
US6714337B1 (en) | 2002-06-28 | 2004-03-30 | Silicon Light Machines | Method and device for modulating a light beam and having an improved gamma response |
US6813059B2 (en) | 2002-06-28 | 2004-11-02 | Silicon Light Machines, Inc. | Reduced formation of asperities in contact micro-structures |
US6801354B1 (en) | 2002-08-20 | 2004-10-05 | Silicon Light Machines, Inc. | 2-D diffraction grating for substantially eliminating polarization dependent losses |
US6712480B1 (en) | 2002-09-27 | 2004-03-30 | Silicon Light Machines | Controlled curvature of stressed micro-structures |
US6806997B1 (en) | 2003-02-28 | 2004-10-19 | Silicon Light Machines, Inc. | Patterned diffractive light modulator ribbon for PDL reduction |
US6829077B1 (en) | 2003-02-28 | 2004-12-07 | Silicon Light Machines, Inc. | Diffractive light modulator with dynamically rotatable diffraction plane |
US7333106B1 (en) * | 2003-03-27 | 2008-02-19 | Silicon Motion, Inc. | Method and apparatus for Z-buffer operations |
CN1809869B (zh) | 2003-06-30 | 2011-04-20 | 瑞萨电子株式会社 | 驱动器及其显示设备 |
US7519762B2 (en) * | 2003-09-30 | 2009-04-14 | Intel Corporation | Method and apparatus for selective DRAM precharge |
US9087603B2 (en) * | 2003-09-30 | 2015-07-21 | Intel Corporation | Method and apparatus for selective DRAM precharge |
US7167946B2 (en) * | 2003-09-30 | 2007-01-23 | Intel Corporation | Method and apparatus for implicit DRAM precharge |
US7599044B2 (en) | 2005-06-23 | 2009-10-06 | Apple Inc. | Method and apparatus for remotely detecting presence |
US7242169B2 (en) * | 2005-03-01 | 2007-07-10 | Apple Inc. | Method and apparatus for voltage compensation for parasitic impedance |
US20060268978A1 (en) * | 2005-05-31 | 2006-11-30 | Yang Genkun J | Synchronized control scheme in a parallel multi-client two-way handshake system |
US20070050718A1 (en) * | 2005-05-19 | 2007-03-01 | Moore Michael R | Systems and methods for web server based media production |
US7577930B2 (en) | 2005-06-23 | 2009-08-18 | Apple Inc. | Method and apparatus for analyzing integrated circuit operations |
US9298311B2 (en) * | 2005-06-23 | 2016-03-29 | Apple Inc. | Trackpad sensitivity compensation |
JP4151688B2 (ja) | 2005-06-30 | 2008-09-17 | セイコーエプソン株式会社 | 集積回路装置及び電子機器 |
JP4552776B2 (ja) * | 2005-06-30 | 2010-09-29 | セイコーエプソン株式会社 | 集積回路装置及び電子機器 |
US7764278B2 (en) * | 2005-06-30 | 2010-07-27 | Seiko Epson Corporation | Integrated circuit device and electronic instrument |
JP4010335B2 (ja) | 2005-06-30 | 2007-11-21 | セイコーエプソン株式会社 | 集積回路装置及び電子機器 |
JP4010336B2 (ja) | 2005-06-30 | 2007-11-21 | セイコーエプソン株式会社 | 集積回路装置及び電子機器 |
US7567479B2 (en) * | 2005-06-30 | 2009-07-28 | Seiko Epson Corporation | Integrated circuit device and electronic instrument |
US20070001975A1 (en) * | 2005-06-30 | 2007-01-04 | Seiko Epson Corporation | Integrated circuit device and electronic instrument |
JP4345725B2 (ja) * | 2005-06-30 | 2009-10-14 | セイコーエプソン株式会社 | 表示装置及び電子機器 |
JP4661401B2 (ja) * | 2005-06-30 | 2011-03-30 | セイコーエプソン株式会社 | 集積回路装置及び電子機器 |
JP4010333B2 (ja) * | 2005-06-30 | 2007-11-21 | セイコーエプソン株式会社 | 集積回路装置及び電子機器 |
KR100826695B1 (ko) * | 2005-06-30 | 2008-04-30 | 세이코 엡슨 가부시키가이샤 | 집적 회로 장치 및 전자 기기 |
US20070001970A1 (en) * | 2005-06-30 | 2007-01-04 | Seiko Epson Corporation | Integrated circuit device and electronic instrument |
KR100850614B1 (ko) * | 2005-06-30 | 2008-08-05 | 세이코 엡슨 가부시키가이샤 | 집적 회로 장치 및 전자 기기 |
US7755587B2 (en) * | 2005-06-30 | 2010-07-13 | Seiko Epson Corporation | Integrated circuit device and electronic instrument |
JP4661400B2 (ja) | 2005-06-30 | 2011-03-30 | セイコーエプソン株式会社 | 集積回路装置及び電子機器 |
JP4010332B2 (ja) * | 2005-06-30 | 2007-11-21 | セイコーエプソン株式会社 | 集積回路装置及び電子機器 |
US20070016700A1 (en) * | 2005-06-30 | 2007-01-18 | Seiko Epson Corporation | Integrated circuit device and electronic instrument |
US7593270B2 (en) * | 2005-06-30 | 2009-09-22 | Seiko Epson Corporation | Integrated circuit device and electronic instrument |
US20070001974A1 (en) * | 2005-06-30 | 2007-01-04 | Seiko Epson Corporation | Integrated circuit device and electronic instrument |
US7564734B2 (en) | 2005-06-30 | 2009-07-21 | Seiko Epson Corporation | Integrated circuit device and electronic instrument |
KR100828792B1 (ko) * | 2005-06-30 | 2008-05-09 | 세이코 엡슨 가부시키가이샤 | 집적 회로 장치 및 전자 기기 |
US7561478B2 (en) * | 2005-06-30 | 2009-07-14 | Seiko Epson Corporation | Integrated circuit device and electronic instrument |
JP4186970B2 (ja) | 2005-06-30 | 2008-11-26 | セイコーエプソン株式会社 | 集積回路装置及び電子機器 |
JP4830371B2 (ja) | 2005-06-30 | 2011-12-07 | セイコーエプソン株式会社 | 集積回路装置及び電子機器 |
JP2007066109A (ja) * | 2005-08-31 | 2007-03-15 | Fujitsu Ltd | データ送受信制御装置およびデータ送受信制御方法 |
JP4665677B2 (ja) | 2005-09-09 | 2011-04-06 | セイコーエプソン株式会社 | 集積回路装置及び電子機器 |
US7433191B2 (en) * | 2005-09-30 | 2008-10-07 | Apple Inc. | Thermal contact arrangement |
US7598711B2 (en) * | 2005-11-23 | 2009-10-06 | Apple Inc. | Power source switchover apparatus and method |
JP4586739B2 (ja) | 2006-02-10 | 2010-11-24 | セイコーエプソン株式会社 | 半導体集積回路及び電子機器 |
US7891818B2 (en) | 2006-12-12 | 2011-02-22 | Evans & Sutherland Computer Corporation | System and method for aligning RGB light in a single modulator projector |
WO2008150471A2 (en) * | 2007-05-31 | 2008-12-11 | Visan Industries | Systems and methods for rendering media |
US8358317B2 (en) | 2008-05-23 | 2013-01-22 | Evans & Sutherland Computer Corporation | System and method for displaying a planar image on a curved surface |
US8702248B1 (en) | 2008-06-11 | 2014-04-22 | Evans & Sutherland Computer Corporation | Projection method for reducing interpixel gaps on a viewing surface |
US7719876B2 (en) | 2008-07-31 | 2010-05-18 | Unity Semiconductor Corporation | Preservation circuit and methods to maintain values representing data in one or more layers of memory |
US8077378B1 (en) | 2008-11-12 | 2011-12-13 | Evans & Sutherland Computer Corporation | Calibration system and method for light modulation device |
US8244984B1 (en) * | 2008-12-08 | 2012-08-14 | Nvidia Corporation | System and method for cleaning dirty data in an intermediate cache using a data class dependent eviction policy |
US8060700B1 (en) * | 2008-12-08 | 2011-11-15 | Nvidia Corporation | System, method and frame buffer logic for evicting dirty data from a cache using counters and data types |
US8949541B2 (en) * | 2008-12-08 | 2015-02-03 | Nvidia Corporation | Techniques for evicting dirty data from a cache using a notification sorter and count thresholds |
FR2940572B1 (fr) * | 2008-12-24 | 2011-04-22 | Sagem Comm | Procede de traitement d'image pour impripmante multifonctions |
US8762889B2 (en) * | 2009-09-23 | 2014-06-24 | Vidan Industries | Method and system for dynamically placing graphic elements into layouts |
US8406073B1 (en) | 2010-12-22 | 2013-03-26 | Intel Corporation | Hierarchical DRAM sensing |
US9641826B1 (en) | 2011-10-06 | 2017-05-02 | Evans & Sutherland Computer Corporation | System and method for displaying distant 3-D stereo on a dome surface |
US9183609B2 (en) * | 2012-12-20 | 2015-11-10 | Nvidia Corporation | Programmable blending in multi-threaded processing units |
US9489142B2 (en) | 2014-06-26 | 2016-11-08 | International Business Machines Corporation | Transactional memory operations with read-only atomicity |
US9495108B2 (en) | 2014-06-26 | 2016-11-15 | International Business Machines Corporation | Transactional memory operations with write-only atomicity |
JP2017011580A (ja) * | 2015-06-24 | 2017-01-12 | キヤノン株式会社 | 通信装置およびその制御方法、プログラム |
US10497447B2 (en) * | 2017-06-29 | 2019-12-03 | SK Hynix Inc. | Memory device capable of supporting multiple read operations |
CN110825432B (zh) * | 2019-10-30 | 2021-09-10 | 西安联飞智能装备研究院有限责任公司 | 一种数据传递方法及装置 |
TWI755154B (zh) * | 2020-03-03 | 2022-02-11 | 美商美光科技公司 | 基於計數器及錯誤校正碼反饋用於記憶體單元之即時程式化及驗證方法 |
WO2021176243A1 (en) | 2020-03-03 | 2021-09-10 | Micron Technology, Inc. | On-the-fly programming and verifying method for memory cells based on counters and ecc feedback |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6194290A (ja) * | 1984-10-15 | 1986-05-13 | Fujitsu Ltd | 半導体メモリ |
US4941107A (en) * | 1986-11-17 | 1990-07-10 | Kabushiki Kaisha Toshiba | Image data processing apparatus |
US5131080A (en) * | 1987-08-18 | 1992-07-14 | Hewlett-Packard Company | Graphics frame buffer with RGB pixel cache |
EP0427114A3 (en) * | 1989-11-07 | 1992-07-15 | Micron Technology, Inc. | High speed bit mask register architecture |
US5233689A (en) * | 1990-03-16 | 1993-08-03 | Hewlett-Packard Company | Methods and apparatus for maximizing column address coherency for serial and random port accesses to a dual port ram array |
JPH03296993A (ja) * | 1990-04-16 | 1991-12-27 | Hitachi Ltd | 半導体集積回路装置ならびに記憶装置及びディジタル処理装置 |
US5274760A (en) * | 1991-12-24 | 1993-12-28 | International Business Machines Corporation | Extendable multiple image-buffer for graphics systems |
-
1994
- 1994-05-03 US US08/237,307 patent/US5544306A/en not_active Expired - Lifetime
-
1995
- 1995-04-27 DE DE69528722T patent/DE69528722T2/de not_active Expired - Fee Related
- 1995-04-27 EP EP95302878A patent/EP0681282B1/de not_active Expired - Lifetime
- 1995-04-27 EP EP00114019A patent/EP1054377A3/de not_active Withdrawn
- 1995-05-08 JP JP13264995A patent/JP3779748B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE69528722D1 (de) | 2002-12-12 |
EP0681282A2 (de) | 1995-11-08 |
EP1054377A2 (de) | 2000-11-22 |
US5544306A (en) | 1996-08-06 |
EP0681282B1 (de) | 2002-11-06 |
EP0681282A3 (de) | 1996-01-17 |
EP1054377A3 (de) | 2001-07-11 |
JPH0855238A (ja) | 1996-02-27 |
JP3779748B2 (ja) | 2006-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69528722T2 (de) | Vielseitiger DRAM-Zugriff in einem Rasterpufferspeicher | |
DE69521741T2 (de) | Direktzugriffspeicher und System für Rasterpuffer | |
DE69736611T2 (de) | Reorganisation von Speicherreferenzen für Pixel in einer seitenorientierten Speicherarchitektur | |
DE69722117T2 (de) | Einheitliche Speicherarchitektur mit dynamischer Grafikspeicherzuordnung | |
DE10101073B4 (de) | Bildaufbereitungsvorrichtung mit niedrigeren Speicherkapazitätsanforderungen und Verfahren dafür | |
DE69725057T2 (de) | Gleitkommaprozessor für einen dreidimensionalen graphischen Beschleuniger | |
DE68926571T2 (de) | Wirksames verfahren zur aktualisierung eines zeitverschachtelt arbeitenden einzeltor-z-pufferspeichers | |
DE3909896C2 (de) | ||
DE69918022T2 (de) | Keine blockierung erforderndes textur-cache-system | |
DE3619420C2 (de) | ||
DE69728002T2 (de) | Steuerprozessor für einen drei-dimensionalen Beschleuniger, der die Fähigkeit geometrischer Dekompression besitzt und Verfahren zur Bearbeitung von geometrischen Daten in diesem Beschleuniger | |
DE3851680T2 (de) | Einrichtung zur Änderung der Bildelementdaten, die in einem Direktzugriffsspeicher gespeichert sind. | |
DE69122147T2 (de) | Verfahren und Einrichtung zum Abschneiden von Pixeln von Quellen- und Zielfenstern in einem graphischen System | |
DE69609534T2 (de) | Rechnerbasierte 3D-Darstellungsverfahren und -System | |
DE3688145T2 (de) | Videoanzeigesystem. | |
DE102013017639A1 (de) | Zwischenspeicherung von adaptiv dimensionierten Cache-Kacheln in einem vereinheitlichen L2-Cache-Speicher mit Oberflächenkomprimierung | |
EP0984397A2 (de) | Verfahren und Vorrichtung zum Eliminieren unerwünschter Stufungen an Kanten bei Bilddarstellungen im Zeilenraster | |
DE69521953T2 (de) | Organisation eines Z-Puffer-Etikettenspeichers | |
DE69430857T2 (de) | Zeichnungsverarbeitungsgerät für drei-dimensionalen graphischen Hoch-Leistungsbeschleuniger | |
DE102013018135B4 (de) | Adressenbit-Wiederabbildungsschema zur Reduzierung einer Zugriffsauflösung von DRAM-Zugriffen | |
DE69326494T2 (de) | Halbleiterspeicheranordnung | |
DE68929482T2 (de) | Integrierter Schaltkreis mit synchronem Halbleiterspeicher, ein Verfahren zum Zugriff auf den besagten Speicher sowie ein System, das einen solchen Speicher beinhaltet | |
DE69215155T2 (de) | Gerät mit schneller Kopierung zwischen Rasterpuffern in einem Anzeigesystem mit Doppel-Pufferspeichern | |
DE69802041T2 (de) | Graphisches Verarbeitungsgerät und -verfahren | |
DE19503401A1 (de) | Signalverarbeitungsverfahren und -vorrichtung für ein Graphiksystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |