DE69432512T2 - Für fensterumgebungsoperationen entworfenes rasterpuffersystem - Google Patents

Für fensterumgebungsoperationen entworfenes rasterpuffersystem Download PDF

Info

Publication number
DE69432512T2
DE69432512T2 DE69432512T DE69432512T DE69432512T2 DE 69432512 T2 DE69432512 T2 DE 69432512T2 DE 69432512 T DE69432512 T DE 69432512T DE 69432512 T DE69432512 T DE 69432512T DE 69432512 T2 DE69432512 T2 DE 69432512T2
Authority
DE
Germany
Prior art keywords
data
frame buffer
color
pixel
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69432512T
Other languages
English (en)
Other versions
DE69432512D1 (de
Inventor
Curtis Priem
Chin Shuen CHANG
Duy Hai HO
Cheng Szu SUN
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Semiconductor Inc
Sun Microsystems Inc
Original Assignee
Samsung Semiconductor Inc
Sun Microsystems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Semiconductor Inc, Sun Microsystems Inc filed Critical Samsung Semiconductor Inc
Publication of DE69432512D1 publication Critical patent/DE69432512D1/de
Application granted granted Critical
Publication of DE69432512T2 publication Critical patent/DE69432512T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • G09G5/024Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed using colour registers, e.g. to control background, foreground, surface filling
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • G09G5/022Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed using memory planes
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control 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/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Diese Erfindung bezieht sich auf Computersysteme und insbesondere auf Verfahren und eine Einrichtung zur Bereitstellung eines Einzelbildpuffers, der in der Lage ist, Daten für die Anzeige bei einer hohen Geschwindigkeitsrate zu empfangen, zu bearbeiten und zu übertragen, wenn die Verwendung in einem System erfolgt, das eine Mehrzahl von Anwendungen gleichzeitig in Fenstern auf einer Ausgabeanzeigeeinrichtung anzeigt.
  • Geschichte des Standes der Technik
  • Eines der signifikanten Probleme bei der Erhöhung der Fähigkeiten von Tischcomputern bestand darin, Wege zur Erhöhung der Geschwindigkeit zu finden, mit welcher Informationen an eine Ausgabeanzeigeeinrichtung übertragen werden. Die verschiedenen Formen der Datenpräsentation, die gegenwärtig verfügbar sind, erfordern, daß sehr große Datenmengen übertragen werden. Wenn beispielsweise ein Computerausgabeanzeigemonitor in einem Farbmodus arbeitet, in welchem 1024 × 780 Pixel auf dem Bildschirm angezeigt werden, und der Modus ein solcher ist, in welchem zweiunddreißig Bit zur Definition jedes Pixels verwendet werden, dann muß eine Gesamtmenge von über fünfundzwanzig Millionen Bits von Informationen mit jedem Einzelbild, das angezeigt wird, an den Bildschirm übertragen werden. Üblicherweise werden sechzig Einzelbilder pro Sekunde angezeigt, so daß pro Sekunde über eineinhalb Milliarden Bits übertragen werden müssen. Dies erfordert einen sehr beträchtlichen Umfang an Verarbeitungsleistung. Im Allgemeinen verlangsamt die Übertragung dieser Daten den gesamten Betrieb des Computers.
  • Um den Prozeß der Datenübertragung an die Anzeige zu beschleunigen, sind verschiedene Beschleunigungsschaltungen entwickelt worden. Diese Schaltungen sind angepaßt, um den Zentralprozessor des Computers von der Notwendigkeit zu befreien, viele der Funktionen auszuführen, die zur Datenübertragung an die Anzeige erforderlich sind. Im Wesentlichen übernehmen diese Beschleuniger verschiedene Operationen, welche normalerweise der Zentralprozessor ausführen müßte. Beispielsweise erfordern Blockübertragungen von Daten von einer Position auf dem Bildschirm zu einer anderen, daß jede Datenzeile auf dem Bildschirm, die übertragen wird, gelesen und in eine neue Zeile geschrieben wird. Das Speichern von Informationen in Fensterbereichen einer Anzeige erfordert, daß Daten, die für jeden Fensterteil verfügbar sind, beschnitten werden, damit sie in diesen Fensterteil hineinpassen und andere Bereiche der Anzeige nicht überschrieben werden. Viele andere Funktionen erfordern die Erzeugung verschiedener Vektoren, wenn ein Bild in einem Fenster auf der Anzeige gelöscht oder verlagert wird. Alle diese Operationen erfordern einen beträchtlichen Teil der Zeit, die einer zentralen Verarbeitungseinheit zur Verfügung steht. Diese sich wiederholenden Funktionsarten können von einem Grafikbeschleuniger ausgeführt werden und den Zentralprozessor von der Belastung befreien. Im Allgemeinen ist festgestellt worden, daß dann die größte Erhöhung der Anzeigegeschwindigkeit erreicht werden kann, wenn Operationen, die eine große Anzahl von Pixeln gleichzeitig behandeln, von einem Grafikbeschleuniger mechanisiert werden. Dies beschleunigt selbstverständlich die Operationen, die an der grafischen Anzeige beteiligt sind.
  • Ein Problem, welches von Entwicklern von Grafikbeschleunigerschaltungen entdeckt worden ist, besteht darin, daß ein großer Teil der Geschwindigkeitserhöhung, die durch die Grafikbeschleunigerschaltung erreicht wird, durch die Einzelbildpufferschaltung unwirksam gemacht wird, in welche die Ausgabe des Grafikbeschleunigers für die endgültige Anzeige auf einer Ausgabeanzeigeeinrichtung geladen wird. Üblicherweise bietet ein Einzelbildpuffer einen ausreichenden Umfang an Random Access Memory (Direktzugriffsspeicher), um ein anzuzeigendes Einzelbild von Daten zu speichern. Die Übertragung der Daten in den und aus dem Einzelbildpuffer erfolgt jedoch wegen der Art und Weise, in welcher die Einzelbildpuffer konstruiert sind, sehr langsam. Es sind verschiedene Verbesserungen vorgenommen worden, um den Zugriff in Einzelbildpuffern zu beschleunigen. Beispielsweise ist der Zwei-Port-VRAM durch einen DRAM ersetzt worden, so daß Informationen aus dem Einzelbildpuffer entnommen werden können, während er geladen wird. Es ist ein Flash-Modus entwickelt worden, der gestattet, daß eine ganze Zeile einer Anzeige mit einer einzelnen Farbe geschrieben wird. Dieser Modus ist zweckmäßig, wenn die gesamte Anzeige gelöscht wird, kann aber kein Beschneiden für begrenzte Bereiche bereitstellen, und ist daher nicht zweckmäßig, wenn Fenster auf dem Bildschirm einer Ausgabeanzeige angezeigt werden. Da die Entwicklung von dem Stand der Technik entsprechenden Einzelbildpuffern zu einem beträchtlichen Engpaß hinsichtlich der schnellen Anzeige von Daten bei modernen Fenstertechniksystemen geführt hat, ist ein neues Design von Einzelbildpuffern wünschenswert, das eine wesentlich höhere Anzeigegeschwindigkeit gestattet.
  • Beispiele für dem Stand der Technik entsprechende Anordnungen werden in EP-A-0225,197 (Digital Equipment Corporation), US-A-4,807,189 (Pinkham et al) und US-A-5,046,023 (Hitachi Ltd.) offenbart.
  • Zusammenfassende Darstellung der Erfindung
  • Es ist daher ein Ziel der vorliegenden Erfindung, ein neues Design für einen Einzelbildpuffer bereitzustellen, das in der Lage ist, die Daten schnell zu behandeln, die an ihn zur Anzeige in einem System übertragen werden, welches eine Mehrzahl von Anwendungen in separaten Fenstern auf einer Ausgabeanzeigeeinrichtung präsentiert.
  • Es ist ein weiteres, spezielleres Ziel der vorliegenden Erfindung, ein neues Design für einen Einzelbildpuffer bereitzustellen, das in der Lage ist, die Anzeige von Daten durch Faktoren zu beschleunigen, welche die Größenordnung der dem Stand der Technik entsprechenden Einzelbildpuffer aufweisen.
  • Diese und andere Ziele der vorliegenden Erfindung werden in einem Einzelbildpuffer nach Anspruch 1 und in einem Verfahren zum Betreiben des Einzelbildpuffers nach Anspruch 9 realisiert.
  • Diese und andere Ziele und Eigenschaften der vorliegenden Erfindung wird man unter Bezugnahme auf die detaillierte Beschreibung, die folgt, zusammen mit den Zeichnungen besser verstehen, in welchen in den verschiedenen Ansichten auf gleiche Elemente durch gleiche Bezeichnungen Bezug genommen wird.
  • Kurzbeschreibung der Zeichnungen
  • 1 ist eine Blockdarstellung, die ein Computersystem darstellt, das die vorliegende Erfindung beinhaltet.
  • 2 ist eine Blockdarstellung eines Einzelbildpuffers, der gemäß dem Stand der Technik konzipiert wurde.
  • 3 ist eine Blockdarstellung eines Einzelbildpuffers, der gemäß der vorliegenden Erfindung entwickelt wurde.
  • 4 ist eine Darstellung, die die Operationsdetails eines Teils des Einzelbildpuffers von 3 darstellt.
  • 5 ist ein Flußdiagramm, das ein erfindungsgemäßes Verfahren darstellt.
  • Bezeichnung und Terminologie
  • Einige Teile der detaillierten Beschreibungen, die folgen, werden als symbolische Darstellungen von Operationen an Datenbits in einem Computerspeicher dargestellt. Diese Be schreibungen und Darstellungen sind die Mittel, die von den Fachleuten in der Datenverarbeitungstechnik verwendet werden, um den Gehalt ihrer Arbeit am effektivsten an andere Fachleute zu übermitteln. Die Operationen sind diejenigen, die physikalische Manipulationen physikalischer Größen erfordern. Normalerweise, obwohl nicht notwendigerweise, können diese Größen die Form elektrischer oder magnetischer Signale annehmen, die gespeichert, übertragen, kombiniert, verglichen und anderweitig behandelt werden können. Es hat sich mitunter als zweckmäßig erwiesen, hauptsächlich aus Gründen der allgemeinen Verwendung, diese Signale als Bits, Werte, Elemente, Symbole, Zeichen, Begriffe, Zahlen oder dergleichen zu bezeichnen. Es sollte jedoch beachtet werden, daß alle diese und ähnliche Begriffe mit den entsprechenden physikalischen Größen zu verbinden sind, und nur zweckmäßige Bezeichnungen sind, die diesen Größen zugeordnet werden.
  • Ferner werden die ausgeführten Manipulationen häufig mit Begriffen wie beispielsweise „Addieren" oder „Vergleichen" bezeichnet, welche üblicherweise mit geistigen Operationen verbunden werden, die von einem menschlichen Anwender ausgeführt werden. In den meisten Fällen der hierin beschriebenen Operationen, die Teil der vorliegenden Erfindung sind, sind derartige Fähigkeiten eines menschlichen Anwenders nicht erforderlich oder wünschenswert; die Operationen sind Maschinenoperationen. Zu den zweckmäßigen Maschinen zur Ausführung der Operationen der vorliegenden Erfindung gehören Mehrzweck-Digitalcomputer oder andere ähnliche Einrichtungen. In allen Fällen sollte der Unterschied zwischen den Verfahrensoperationen beim Betrieb eines Computers und dem Verfahren der Berechnung selbst beachtet werden. Die vorliegende Erfindung bezieht sich auf ein Verfahren und eine Einrichtung zum Betrieb eines Computers bei der Verarbeitung elektrischer oder anderer (z. B. mechanischer, chemischer) physikalischer Signale zur Erzeugung anderer gewünschter physikalischer Signale.
  • Detaillierte Beschreibung der Erfindung
  • Es wird jetzt auf 1 Bezug genommen; dort wird ein Computersystem 10 dargestellt. Das System 10 enthält einen Zentralprozessor 11, der die verschiedenen Befehle ausführt, die an den Computer 10 für seine Operationen bereitgestellt werden. Der Zentralprozessor 11 ist mit einem Bus 12 verbunden, der adaptiert ist, um Informationen an die verschiedenen Komponenten des Systems 10 zu transportieren. Mit dem Bus 12 ist ein Hauptspeicher 13 verbunden, welcher üblicherweise aus einem dynamischen Direktzugriffsspeicher in einer Fachleuten bekannten Art konstruiert ist, um Informationen zu speichern, die von dem Zentralprozessor während des Zeitraums verwendet werden, in welchem Energie für das System 10 bereitgestellt wird. Ebenfalls mit dem Bus 12 ist ein Nur-Lese-Speicher 14 verbunden, der verschiedene, den Fachleuten bekannte Speichereinrichtungen enthalten kann (wie beispielsweise elektrisch programmierbare Nur-Lese-Speicher-Einrichtungen (EPROM oder ähnliche Einrichtungen)), welche angepaßt sind, um den Speicherzustand bei fehlender Stromversorgung für das System 10 zu erhalten. Der Nur-Lese-Speicher 14 speichert üblicherweise verschiedene Grundfunktionen, die von Prozessor 11 verwendet werden, wie beispielweise grundlegende Eingabe-/Ausgabeprozesse und Inbetriebnahmeprozesse.
  • Ebenfalls mit Bus 12 sind verschiedene periphere Komponenten verbunden, wie beispielsweise Langzeitspeicher 16. Die Konstruktion und der Betrieb des Langzeitspeichers 16 (üblicherweise elektromechanische Festplattenlaufwerke) sind Fachleuten bekannt. Ebenfalls mit dem Bus 12 ist eine Schaltung, wie beispielsweise Einzelbildpuffer 17, verbunden, in welche Daten geschrieben werden können, die an eine Ausgabeeinrichtung, wie beispielsweise ein Monitor 18, zur Anzeige zu übertragen sind. Für die Zwecke der vorliegenden Erläuterung kann der Einzelbildpuffer so betrachtet werden, daß er zusätzlich zu den zum Speichern der Informationen erforderlichen verschiedenen Speicherebenen verschiedene, den Fachleuten bekannte Schaltungen zum Steuern des Abtastens der Informationen an die Ausgabeeinrichtung enthält.
  • 2 stellt einen Einzelbildpuffer 17 dar, der gemäß dem Stand der Technik konstruiert ist. Üblicherweise enthält ein derartiger Einzelbildpuffer 17 ein DRAM-Array, das zum Speichern der Informationen konzipiert ist, die die Pixel auf der Ausgabeanzeige definieren. Wenn auf den Direktzugriffsspeicher bzw. RAM eines Einzelbildpuffers 17 in seinem normalen Betriebsmodus zugegriffen wird, werden Daten auf den Leitern des Datenbusses 12 in den Einzelbildpuffer 17 geschrieben oder aus diesem gelesen. Wenn in den Einzelbildpuffer 17 geschrieben wird, übertragen alle Datenleiter des Busses die Binärdaten, die als Pixelinformationen zu speichern sind. In einem typischen Computersystem, das einen Zweiunddreißig-Bit-Bus aufweist, können zweiunddreißig Bit von Informationen auf dem Bus geschrieben werden und an zweiunddreiflig Eingangsanschlüssen zum Einzelbildpufferspeicher erscheinen. Diese Daten können in Abhängigkeit von der Anzahl der Bits, die zur Definition eines Pixels in dem entsprechenden Anzeigemodus benötigt werden, ein oder mehrere Pixel definieren. Beispielsweise erfordert in einem Acht-Bit-Farb-Betriebsmodus jedes angezeigte Pixel acht Datenbits; und zweiunddreißig Datenbits auf den Datenleitern des Busses sind in der Lage, vier Pixel bei jedem einzelnen Zugriff zu definieren. Das Schreiben der Pixeldaten mit einem (oder vier) Pixel auf einmal ist ein relativ langsames Verfahren, den Einzelbildpuffer mit Daten zu füllen, die an die Anzeige zu schreiben sind. Dies ist jedoch der übliche Modus, Pixeldaten an die Anzeige zu schreiben. Dieser normale Modus wird üblicherweise in jedem beliebigen Prozeß verwendet, der die Anzeige Pixel für Pixel verändert, oder um jedes beliebige grafische Bild zu beschreiben, welches mehr als zwei Farben in einem Fenster verwendet.
  • Es gibt jedoch viele Operationen, welche die Anzeige beeinflussen, welche eine sehr große Anzahl von Pixeln manipulieren, und es jedoch nicht erforderlich machen, daß Pixel einzeln verändert werden. Diese Operationen schließen beispielsweise das Löschen der gesamten Anzeige oder eines Fensters der Anzeige und ähnliche Operationen ein. Da das Füllen des Einzelbildpuffers so langsam verläuft, wenn jedes Pixel auf den Datenleitern einzeln beschrieben wird, verfügen einige dem Stand der Technik entsprechende Einzelbildpuffer auch über eine Einrichtung, welche einen Betriebsmodus gestattet (bezeichnet als „Blockmodus"), in welchem jeder Datenleiter den Zugriff auf vier Bits steuert, die einen Pixelfarbwert repräsentieren. Dieser Blockmodus gestattet, daß Daten, die einen Farbwert repräsentieren, gleichzeitig in eine Mehrzahl einzelner Pixelpositionen in dem Speicher geschrieben werden. In diesem Blockmodus sind die Informationen, die auf den Datenleitern in das Array geschrieben werden, Steuerinformationen, die verwendet werden, um das Schreiben in Speicherpositionen, die bestimmte Pixelpositionen repräsentieren, freizugeben, und um andere Pixelpositionen zu ignorieren.
  • Der dem Stand der Technik entsprechende Einzelbildpuffer 17 von 2 weist eine Mehrzahl von Dateneingangsleitern 23 und ein Vier-Bit-Farbregister 19 auf. Ein Vier-Bit-Farbwert, der als Pixeldaten in Datenpositionen in einem Array 20 des Einzelbildpuffers 17 zu speichern ist, wird in das Farbregister 19 geschrieben. Daten, die auf den Datenleitern 23 an den Einzelbildpuffer 17 übertragen werden, zeigen die Positionen der Pixel an, welche zu schreiben sind, und die Positionen derjenigen Pixel, welche nicht zu schreiben sind. Wenn beispielsweise ein Datenleiter 23 einen Null-Wert überträgt, dann wird die Pixelposition, die von diesem Leiter gesteuert wird, nicht geschrieben. Wenn ein Datenleiter 23 einen Eins-Wert überträgt, dann wird der Vier-Bit-Farbwert aus dem Farbregister 19 in die Pixelposition geschrieben.
  • Auf diese Weise können ausgewählte Pixel aus einer Anzahl von einzelnen Pixeln unter Verwendung der in dem Farbregister 19 gespeicherten Farbwerte gleichzeitig geschrieben werden. Dies ist eine sehr zweckmäßige Handhabung, wenn gewünscht wird, große Bereiche unter Verwendung derselben Farbe zu handhaben. Man kann beispielsweise mit einem Zweiunddreißig-Bit-Bus ein Fenster sehr schnell löschen, indem bei Zugriffen auf zweiunddreißig Pixel auf einmal eine Hintergrundfarbe in das gesamte Fenster einer Anzeige geschrieben wird. Dieser Modus gestattet ebenfalls, daß Pixeldaten beschnitten werden, damit sie in ein Fenster hineinpassen, da er gestattet, daß Steuersignale eine Farbe innerhalb eines Fensters schreiben und das Schreiben der Farbe in Pixelpositionen außerhalb des Fensters sperren.
  • Ein Problem bei diesem dem Stand der Technik entsprechenden Block-Betriebsmodus besteht darin, daß er nur mit dem veralteten Vier-Bit-Farb-Betriebsmodus verwendet werden kann. Ein größeres Problem ist, daß dem Stand der Technik entsprechende Einzelbildpuffer nur in der Lage sind, eine Farbe auf einmal zu behandeln, obwohl mehr als ein Pixel mit dieser Farbe unter Verwendung des Blockmodus gleichzeitig geschrieben werden kann. Auf der anderen Seite behandeln die Grafikbeschleunigungseinrichtungen und Software, welche Pixelinformationen an den Einzelbildpuffer 17 bereitstellen, üblicherweise zwei Farben gleichzeitig. Somit verlangsamen, während ein ganzer Bildschirm unter Verwendung dieses Blockmodus schnell gelöscht werden kann, fortgeschrittenere Behandlungen den Systembetrieb. Wenn beispielsweise irgendein Informationsmuster in den Einzelbildpuffer geschrieben wird, muß eine erste Hintergrundfarbe in dem Farbregister plaziert werden, und die gesamte erste Zeile des bestimmten Fensters muß durch Schreiben der Hintergrundfarbe gelöscht werden. Dann wird die Vordergrundfarbe in dem Farbregister plaziert, und die Vordergrundpixel werden in die Zeile geschrieben. Dann wird die Hintergrundfarbe erneut in dem Farbregister plaziert, und die gesamte zweite Zeile des bestimmten Fensters wird gelöscht. Die Hintergrundfarbe im Farbregister wird erneut durch die Vordergrundfarbe ersetzt, und die Vordergrundpixel für die zweite Zeile werden geschrieben. Dies wird fortgesetzt, bis alle Zeilen des Fensters mit beiden für die Anzeige erforderlichen Farben geschrieben worden sind.
  • Bei dem Stand der Technik entsprechenden Einzelbildpuffern erfordert jeder Zugriff auf den Einzelbildpuffer sowohl einen Zeilenadreß-Strobe-Impuls(Row Address Strobe – RAS)-Zyklus von 120 Nanosekunden als auch einen Spaltenadreß-Strobe-Impuls(Column Address Strobe – CAS)-Zyklus von 20 Nanosekunden. Dies trifft für den Zugriff auf den Einzelbildpuffer zum Laden des Farbregisters und für den Zugriff auf die Speicherpositionen in dem Einzelbildpuffer zu. Wenn der Zeilenadreß-Strobe-Impuls bereitgestellt worden ist, kann ein einzelner Spaltenadreß-Zyklus das Zeilenadreß-Strobe-Signal überlagern, so daß für jede bestimmte Operation insgesamt 120 ns erforderlich sind. Wenn auf eine Speicherposition zugegriffen wird, wird die Zeilenadresse auf der abfallenden Flanke des RAS-Zyklus bereitgestellt, und Daten werden auf der fallenden Flanke des CAS-Zyklus geschrieben oder gelesen. Wenn ein RAS-Signal initiiert worden ist, kann eine Mehrzahl von Pixeln in derselben Zeile gelesen oder ge- schrieben werden, solange keine andere Operation dazwischenkommt, wobei nur ein CAS-Zyklus für jede Gruppe von zweiunddreißig Pixeln erforderlich ist. Wenn jedoch dieselbe RAS/CAS-Sequenz für andere Operationen als das Lesen und Schreiben von bzw. in Speicherzellen verwendet wird, nimmt das Laden des Farbregisters mit der Hintergrundfarbe die ersten 120 Nanosekunden in Anspruch, das Schreiben der Hintergrundfarbe nimmt weitere 120 Nanosekunden in Anspruch, das erneute Laden des Farbregisters mit der Vordergrundfarbe nimmt weitere 120 Nanosekunden in Anspruch und das Schreiben der Vordergrundfarbe nimmt weitere 120 Nanosekunden in Anspruch.
  • Die Zeit, die erforderlich ist, um das Farbregister zweimal auf jeder Zeile neu zu laden, zusammen mit der Anforderung, in jede der zweiunddreißig Bitpositionen in jeder Zeile zweimal zu schreiben, verlangsamen die Operation beträchtlich. Wenn beispielsweise gewünscht wird, in einen Bereich eines Fensters zu schreiben, um die präsentierten Daten zu verändern, ist es zuerst erforderlich, den Wert in dem Farbregister in die Hintergrundfarbe dieses Bereichs zu verändern, dann den Hintergrund zu schreiben, dann den Wert im Farbregister erneut zu verändern, und schließlich die Vordergrundfarbe zu schreiben.
  • Eine der langsamsten Operationen, die in einem solchen dem Stand der Technik entsprechenden Einzelbildpuffer ausgeführt wird, ist der Bilddurchlauf bzw. das Scrollen der Daten. Bei einer Bilddurchlauf-Operation werden Datenzeilen auf der Ausgabeanzeige herauf- oder herunterbewegt. Da die Daten, die die Pixel beschreiben, die auf einer Ausgabeanzeigeeinrichtung angezeigt werden, in einem Einzelbildpuffer gespeichert sind, erfordert der Bilddurchlauf, daß die Pixeldaten in dem Einzelbildpuffer, die eine Zeile der Anzeige beschreiben, von dem Zentralprozessor aus dem Einzelbildpuffer gelesen werden und in eine andere Position im Einzelbildpuffer zurück geschrieben werden. Bei einem typischen Personalcomputer werden zweiunddreißig Datenbits (ein Pixel in Zweiunddreißig-Bit-Farbe oder vier Pixel in Acht-Bit-Farbe) in einer Operation, die üblicherweise 140 Nanosekunden erfordert, gleichzeitig aus dem Einzelbildpuffer gelesen; üblicherweise werden zusätzlich 20 ns zum Lesen benötigt, wenn Daten von dem Einzelbildpufferchip entfernt werden müssen. Diesem folgt ein Zugriff zum Zurückschreiben der Daten in die entsprechenden Positionen in dem Einzelbildpuffer, ein Zugriff, welcher erneut 120 Nanosekunden erfordert. Dieses Muster des Lesens und Schreibens wird fortgesetzt, bis eine ganze Zeile gelesen und neu geschrieben worden ist. Da ein typischer Bildschirm Zeilen mit 1024 Pixeln enthalten kann, werden 140 Nanosekunden plus 120 Nanosekunden mal 1024 Pixel benötigt, um eine einzelne Zeile von Zweiunddreißig-Bit-Farbpixeln, oder ein Viertel dieser Zeit für Acht-Bit-Pixel, auf der Anzeige zu durchlaufen. Jede Textzeile beansprucht ungefähr zwölf Zeilen von Pixeln; somit dauert der Bilddurchlauf einer Textzeile sehr lange.
  • Ein weiteres Problem bei den dem Stand der Technik entsprechenden Einzelbildpuffern betrifft die Schaltung, mit welcher Daten aus dem Array genommen und an die Ausgabeanzeigeschaltung übertragen werden. Üblicherweise erfordert die Schaltung eine Schieberegisterausgabestufe, die in der Lage ist, eine gesamte Zeile von Pixeln auf der Ausgabe zu halten. Eine Zeile von Pixeldaten wird in diese Schieberegisterschaltung übertragen und Pixel für Pixel an die Anzeige hinausgeschoben. Ein Schieberegister, das ausreichend ist, um eine gesamte Zeile von Pixeln zu halten, nimmt viel Platz auf dem Einzelbildpuffer in Anspruch. Dies ist der Platz, der dann nicht verfügbar ist, um andere, häufig zweckmäßigere, Techniken auszuführen.
  • Zusätzlich zu diesen Problemen der bekannten Einzelbildpuffer gibt es eine Reihe anderer Probleme, welche tendenziell die Operation des Anzeigens von Daten verlangsamen.
  • Es wird nun auf 3 Bezug genommen; es wird eine detaillierte Blockdarstellung eines Einzelbildpuffers 50 gezeigt, der gemäß der vorliegenden Erfindung konzipiert wurde, während 5 ein erfindungsgemäßes Verfahren darstellt. 3 stellt eine Platine dar, auf welcher sich die verschiedenen Komponenten eines Einzelbildpuffers 50 befinden. Der Einzelbildpuffer 50 enthält eine Mehrzahl von Speicherzellen 53, wie beispielsweise Feldeffekttransistorbauelemente, die angeordnet sind, um ein DRAM-Array 52 bereitzustellen. Die Anordnung der Zellen 53, die das Array 52 bilden, wird in Übereinstimung mit Grundsätzen entwickelt, die den Fachleuten bekannt sind. Sie ist angepaßt, um eine ausreichende Anzahl adressierbarer Speicherzellen 53 in dem Array 52 bereitzustellen, um die Anzahl der Pixel zu beschreiben, die in einem bestimmten Betriebsmodus auf einer Ausgabeanzeigeeinrichtung zu präsentieren sind. Beispielsweise kann das Array 52 insgesamt zweiunddreißig Ebenen enthalten (nur die erste ist in 3 im Detail dargestellt), wobei jede Ebene 256 Zeilen enthält, wobei jede Zeile 1024 Speicherbauelemente enthält; eine derartige Anordnung erlaubt das Speichern von Farbdaten, die ausreichend sind, um Zweiunddreißig-Bit-Farbe in einer Pixelanzeige von 512 × 512 auf einem Farbausgabeanzeigedatenendgerät anzuzeigen. Obwohl der Einzelbildpuffer 50 sowohl Zweiunddreißig-Bit- als auch Sechzehn-Bit-Farbmodi sowie andere Modi anzeigen kann, die Fachleuten bekannt sind, ist der Einzelbildpuffer 50 speziell für die Verwendung mit Pixeln angepaßt, die Farbe in Acht-Bit-Farbmodi anzeigen.
  • Zusätzlich zu dem Array 52 enthält der Einzelbildpuffer 50 Zeilen- und Spaltendecodierschaltungen zum Decodieren der Adressen, die von einer Steuereinrichtung, wie beispielsweise einem Zentralprozessor, bereitgestellt werden, und zur Auswahl einzelner Speicherzellen in jeder Ebene des Arrays 52, um die verschiedenen Pixel zu definieren, die auf einer Ausgabeanzeigeeinrichtung repräsentiert werden können. Die Adreßdecodierschaltung enthält eine Zeilendecodierschaltung 54 und eine Spaltendecodierschaltung 56, mit welchen einzelne Speicherzellen 53, die Bits einzelner Pixel repräsentieren, für das Lesen und Schreiben ausgewählt werden können. Ebenfalls als Teil des Einzelbildpuffers 50 sind Datenleiter 58 enthalten, die mit einem Datenbus verbunden werden können, um Daten bereitzustellen, die im Array 52 zu verwenden sind. Üblicherweise werden zweiunddreißig Datenleiter 58 bereitgestellt, obwohl diese Anzahl mit dem speziellen Computersystem variiert. Die Zahl Zweiunddreißig entspricht der Anzahl von Bits, welche übertragen werden, um die Farbe ei nes einzelnen Pixels mit der größten Anzahl von Bits anzuzeigen, deren Verwendung durch das Anzeigesystem in dem genauesten Farb-Betriebsmodus erwartet wird.
  • Wenn Daten auf den Datenleitern 58 des Datenbusses im normalen Betriebsmodus in den Einzelbildpuffer 50 geschrieben werden, definiert jede Gruppe von zweiunddreißig Bits einen oder mehrere Farbwerte, die an einer oder mehreren Pixelpositionen auf der Ausgabeanzeige anzuzeigen sind. Somit können, wenn eine Ausgabeanzeige Daten in einem Acht-Bit-Farbmodus anzeigt; die von den Datenleitern 58 im normalen Schreibmodus übertragenen zweiunddreißig Bits vier Pixelpositionen auf der Anzeige definieren. Auf der anderen Seite übertragen, wenn eine Anzeige Daten in einem Zweiunddreißig-Bit-Farbmodus anzeigt, die zweiunddreißig Bits der Datenleiter 58 Informationen, die eine einzige Pixelposition auf der Anzeige definieren. Wie zu sehen ist, wird einer der Datenleiter 58 des Busses über einen Eingabedatenpuffer mit allen acht Multiplexern 62 in jeder Ebene des Arrays verbunden. Das in 3 dargestellte Ausführungsbeispiel ist speziell für die Verwendung in einem System angepaßt, das Acht-Bit-Farbmodi verwendet, und zu diesem Zweck verwendet das System acht einzelne Multiplexer 62 in jeder Ebene des Einzelbildpuffers 50 zur Auswahl bestimmter Schreibeingangsdaten. Der Ausgang jedes dieser Multiplexer 62 ist mit einer der acht Tri-State-Schreib-Treiberstufen 73 verbunden, welche über einen Schreib-Freigabeschalter, wie beispielsweise ein Übertragungsgatter 71, auf einem Leiter 66, der mit jeder achten Spalte der bestimmten Ebene des Arrays verbunden ist, ein Ausgabesignal bereitstellt. Jeder der Multiplexer 62 wählt die Quelle der zum Array 52 in jeder Ebene zu übertragenden Daten in Abhängigkeit vom ausgewählten Betriebsmodus aus. Somit wird im normalen Modus das Datenbit direkt vom Datenleiter 58 für diese Ebene des Arrays ausgewählt. Das Bit wird von einem der Multiplexer 62 durch eine der acht Schreib-Treiberstufen 73 an eine bestimmte ausge wählte Spalte übertragen und in die Speicherzelle 53 bei dieser Spalte und der ausgewählten Zeile geschrieben. Da ein Bit in jede der zweiunddreißig Ebenen des Arrays geschrieben werden kann, können zweiunddreißig Bits von den Busleitern 58 (einer für jede Ebene) als ein Zweiunddreißig-Bit-Pixel, zwei Sechzehn-Bit-Pixel oder vier Acht-Bit-Pixel in Abhängigkeit von dem Farbmodus, in welchem das System arbeitet, geschrieben werden.
  • Wie in 3 gezeigt, wird eine Modussteuerschaltung 68 bereitgestellt, um den bestimmten Betriebsmodus zu bezeichnen, in welchem der Einzelbildpuffer arbeiten soll. Um die Modusauswahl auszuführen, werden vier Steuersignale DSF0-DSF3 zusammen mit den Schreibfreigabe- und Ausgabefreigabesignalen bereitgestellt. Die Kombination dieser Signale erzeugt die bestimmten Ausgabemodussteuersignale in einer Art und weise, die Fachleuten bekannt ist.
  • Bei einer Schreiboperation im normalen Modus, wie sie im Stand der Technik ausgeführt wird, wird eine bestimmte Adresse auf dem Adreßbus übertragen, um eine bestimmte Zeile und Spalte auszuwählen. Die Zeilenadresse wird von einem Zeilenadreß-Latch-Speicher 51 auf der abfallenden Flanke eines Zeilenadreß-Strobe-Signals an die Zeilendecodierschaltung 54 bereitgestellt. Die Zeilenadresse veranlaßt, daß alle Speicherzellen 53 mit Strom versorgt werden, die mit der bestimmten Zeile des Arrays in jeder der ausgewählten Ebenen verbunden sind. Wenn die entsprechende Zeile des Arrays mit Strom versorgt worden ist, wird der Wert jeder Speicherzelle in der Zeile von einem Leseverstärker 63 für jede Spalte des Arrays erfaßt. Die Leseverstärker 63 werden eingeschaltet, und jeder Leseverstärker 63 leitet den erfaßten Wert zurück, um die Speicherzelle 53 in der ausgewählten Zeile aufzufrischen.
  • Auf der abfallenden Flanke des CAS-Signals wird die Spaltenadresse aus einem Latch-Speicher 57 an die entsprechenden Schalter 67 der Spaltendecodierschaltung 56 übertra gen, um die entsprechenden Spalten in jeder Ebene auszuwählen, in die zu schreiben ist. Bei dem dargestellten Ausführungsbeispiel des Einzelbildpuffers 50 beträgt die Spaltenadresse zehn Bits. Von diesen zehn Bits werden die höherwertigen sieben Bits CA3-9 der Spaltenadresse verwendet, um eine Gruppe von acht benachbarten Spalten auszuwählen. Das Normalmodus-Schreibsteuersignal bei jedem der Multiplexer 62 veranlaßt, daß das Datensignal, das auf dem mit dieser Ebene verknüpften einzelnen Leiter 58 bereitgestellt wird, von jedem der acht Multiplexer 62 aus dem Dateneingabepuffer übertragen wird. Eines der Signale, das von den Multiplexern 62 erzeugt wird, wird von einem einzelnen der Schreib-Treiberstufen-Verstärker 73 verstärkt und an die adressierte Speicherzelle 53 in dieser Ebene des Arrays übertragen. Die geringerwertigen drei Bits CA0-2 der Spaltenadresse aus dem Latch-Speicher 57 wählen den entsprechenden der acht Schreib-Treiberstufen-Verstärker 73 aus, welcher das Datenbit an eine einzelne Spalte der Spalten überträgt. Da jeder der Leiter 58, der mit jeder Ebene des Arrays 52 verknüpft ist, ein einzelnes Bit für die Speicherzelle bei der ausgewählten Zeile und Spalte überträgt, wird der Pixelwert (oder Werte) an die entsprechende Spalten- und Zeilenposition in jeder Ebene des Arrays übertragen.
  • In ähnlicher Weise werden, wenn ein bestimmter Pixelwert aus dem Array 52 im normalen Betriebsmodus gelesen werden soll, die Zeilen- und Spaltenadressen an die Decodierschaltungen 54 und 56 übertragen. Eine Zeilenadresse wird auf der abfallenden Flanke des RAS-Signals ausgewählt, und die gesamte Zeile der Speicherzellen in jeder ausgewählten Ebene des Arrays 52 wird aufgefrischt. Bei der abfallenden Flanke des CAS-Signals werden die höherwertigen sieben Bits CA3-9 der Spaltenadresse an die entsprechenden Schalter 67 der Spaltendecodierschaltung 56 angelegt, um die acht benachbarten Spalten in jeder Ebene auszuwählen, welche adressiert worden sind und gelesen werden sollen. Der Zustand der Spei cherzellen 53 in jeder dieser acht Spalten jeder ausgewählten Ebene wird von einem zweiten Satz von Ausgabeleseverstärkern 75 erfaßt. Die Ausgabe einer bestimmten Spalte dieser Spalten wird von einem Multiplexer 79 in jeder Ebene ausgewählt, der von dem Normalmodus-Lesesignal und dem Wert der drei niederwertigen Bits CA0-2 der Spaltenadresse gesteuert wird. Dies veranlaßt, daß der Zustand einer bestimmten Speicherzelle 53 an einen bestimmten Leiter der Leiter 58 des Datenbusses übertragen wird, der mit dieser Ebene des Arrays 52 verknüpft ist. Somit führt, wie dargestellt worden ist, der Einzelbildpuffer 50 die typischen normalen Lese- und Schreib-Betriebsmodi aus.
  • Der Einzelbildpuffer 50 enthält auch wenigstens ein Paar Farbwertregister C0 und C1, welche zum Speichern der Farbwerte verwendet werden, welche in Farbblock-Betriebsmodi verwendet werden können, die nachstehend beschrieben werden, in welchen in eine Mehrzahl von Speicherpositionen gleichzeitig geschrieben werden kann. Jede Ebene des Arrays enthält ein Ein-Bit-Register C0 und ein Ein-Bit-Register C1 zum Speichern eines Bits eines Farbwertes. Da jede Ebene ein Bit für jedes Register enthält, enthält jedes Register C0 und C1 insgesamt zweiunddreißig Bit bei dem bevorzugten Ausführungsbeispiel. Somit kann ein ganzer Acht-Bit-Farbwert in den Registern C0 und C1 gespeichert werden, die sich auf acht Ebenen befinden; ein ganzer Sechzehn-Bit-Farbwert kann in den Registern C0 und C1 gespeichert werden, die sich auf sechzehn Ebenen befinden, und ein ganzer Zweiunddreißig-Bit-Farbwert kann in den Registern C0 und C1 der zweiunddreißig Ebenen des Einzelbildpuffers 50 gespeichert werden. Mit einem Zweiunddreißig-Bit-Farbregister, wie beispielsweise dem dargestellten, kann das Farbmuster für einen bestimmten Acht-Bit-Farbwert viermal in jedem Farbregister wiederholt werden (auf dieselbe Weise kann eine Sechzehn-Bit-Farbe zweimal wiederholt werden). Die Farbregister C0 und C1 können selektiv adressiert werden, so daß sie mit Daten geladen werden können, die auf den Leitern 58 des Datenbusses bereitgestellt werden. Wie zu sehen ist, werden in jeder Zellenebene Schalter bereitgestellt, um das Laden der Register C0 und C1 mit Farbwertdaten von den Datenleitern 58 zuzulassen. Die Details der Farbblockregister und deren Verwendung werden in dem US-Patent 5,504,855 mit dem Titel Apparatus For Providing Fast Multi-Color Storage In A Frame Buffer, Priem et al, beschrieben.
  • Die Farbregister C0 und C1 stellen Farbwerte bereit, welche die Multiplexer 62 – anstelle der Daten, die auf den Leitungen 58 bereitgestellt werden – für das Schreiben in die Zellen des Speicher-Arrays auswählen können. Die Auswahl von Farbwerten aus den Registern C0, C1 durch die Multiplexer 62 oder von Pixeldaten von den Leitungen 58 ist von dem bestimmten Farb-Betriebsmodus abhängig, einem Wert, der von Steuersignalen angezeigt wird, die von dem Zentralprozessor oder von einer zugehörigen Grafikbeschleunigungseinrichtung bereitgestellt werden.
  • Wenn von den Steuersignalen ein Farbblock-Betriebsmodus angezeigt wird, übertragen die Datenleiter 58 – anstatt Pixeldaten zu übertragen – Freigabesignale zur Anzeige von Pixelpositionen in dem Array 52, in welche die Farbwerte zu schreiben sind, die in den Registern C0 und C1 gehalten werden. Diese Farbwerte werden anfänglich aus den Datenleitern 58 jeder Array-Ebene des Einzelbildpuffers 50 als Antwort auf ein Steuersignal zum Laden des Farbregisters geladen. Da zwei Farbregister C0 und C1 in dem bevorzugten Ausführungsbeispiel bereitgestellt werden, sind insgesamt vier Farbblock-Betriebsmodi möglich. Diese Modi werden als Farbe-0-Modus, Farbe-1-Modus, Farbe-0&1-Modus und Farbe-1&0-Modus bezeichnet. Wie man sehen wird, wird mit jedem dieser Betriebsmodi einfach durch das Fehlen der Anforderung zum Laden der Farbwertregister für das Schreiben in jede Zeile der Anzeige Zeit gespart.
  • Wenn im Farbe-0-Betriebsmodus ein Steuersignalwert von Eins auf einem bestimmten Datenleiter 58 übertragen wird, dann wird der Wert in dem Farbregister C0 in die Speicherpositionen geschrieben, die von diesem Leiter 58 gesteuert werden. Der Wert in dem Farbregister C0 wird von den Datenleitern 58, welche ein Steuersignal mit einem Wert Eins übertragen, auch an alle anderen Speicherpositionen übertragen. Auf der anderen Seite wird kein Farbwert in die Pixelpositionen geschrieben, die von einem Datenleiter 58 gesteuert werden, auf welchem ein Steuerwert Null übertragen wird. Somit können bei einer einzelnen gleichzeitigen Übertragung zweiunddreißig verschiedene Pixelpositionen beeinflußt werden; diejenigen Positionen, die einen Wert Eins empfangen, werden freigegeben, um den Wert in dem Farbregister C0 zu empfangen, während diejenigen, welche einen Wert Null empfangen, unverändert bleiben.
  • Die Art und Weise, auf welche dies ausgeführt wird, wird an einem Fall von Acht-Bit-Farbe dargestellt. Vorausgesetzt, daß das Farbwertregister C0 mit einem Farbwertmuster von acht Bits geladen worden ist, welches in den zweiunddreißig Bits viermal wiederholt wird, die in diesem Register bereitgestellt werden, und daß das Farbwertregister C1 mit einem anderen Farbwertmuster von acht Bits geladen worden ist, welches in den zweiunddreißig Bits viermal wiederholt wird, die in diesem Register bereitgestellt werden, dann werden von der Adresse auf dem Adreßbus über die Zeilen- und Spaltenadreßdecodierschaltungen 54 und 56 eine Zeile und acht Spalten auf die oben beschriebene Weise ausgewählt. Unter der Annahme, daß der Farbblockmodus 0 ausgewählt wird, wählen alle acht Multiplexer 62 jeder Ebene das Register C0 als die Quelle der Farbdaten für das Array aus. Dann werden die entsprechenden Schreib-Treiberstufen 73 in Übereinstimmung mit den Freigabesignalen freigegeben, die auf den Leitern 58 des Datenbusses erscheinen.
  • Die Steuerdaten, die auf den Leitern 58 erscheinen, werden an ein Pixelmaskenregister 55 gesendet. Die Bits des Pixelmaskenregisters 55 werden auf die in 4 dargestellte Weise in jeder Array-Ebene verwendet, um alle Treiberstufen 73 zu steuern, die die Übertragung von Daten an ein bestimmtes Pixel steuern. Da das betrachtete Beispiel eine Acht-Bit-Farbe beinhaltet, und unter der Annahme, daß die ersten acht Spalten von der Spaltenadresse ausgewählt worden sind, liegen die Bits, die das erste Pixel definieren, in der ersten Spalte in der ausgewählten Zeile und in den ersten acht Ebenen dieser Spalte. Das erste Pixel P1 in dem Pixelmaskenregister 55 steuert die entsprechende Treiberstufe 73, die die erste Spalte und die ersten acht Ebenen steuert, die Farbe aus dem Farbwertregister C0 an diese Bitpositionen in dem Array zu übertragen. Folglich können bei einer ausgewählten Zeile und acht ausgewählten Spalten insgesamt zweiunddreißig Acht-Bit-Farbpixel gleichzeitig mit dem in dem Farbwertregister C0 gespeicherten Wert geschrieben werden.
  • Dies ist ein schneller Betriebsmodus, ähnlich dem Vier-Bit-Blockmodus, der in den bekannten Einzelbildpuffern verwendet wird, und er kann verwendet werden, um den Bildschirm sehr schnell zu löschen oder um anderweitig eine einzige Farbe an den Fensterbereich bereitzustellen. Beispielsweise kann ein Einzelbildpuffer 30 für eine Anzeige von 1024 × 780 Pixeln und acht Bit Tiefe ungefähr zweiunddreißig mal schneller gelöscht werden als die einzelnen Pixel nacheinander an den Einzelbildpuffer 50 geschrieben werden können. Dieser Modus ist ebenfalls zweckmäßig für das Beschneiden, da ein Farbwert in die Pixelpositionen innerhalb eines Fensterbereichs geschrieben werden kann, währen die Pixelpositionen außerhalb dieses Fensterbereichs nicht freigegeben werden.
  • Der Farbe-1-Modus gleicht dem Farbe-0-Modus mit der Ausnahme, daß, wenn ein Wert Eins auf einem bestimmten Datenleiter 58 übertragen wird, der Wert dann in das Farbregister C1 in die Speicherpositionen geschrieben wird, welche das Pixel definieren, das für diesen Leiter 58 adressiert ist. Der Wert in dem Farbregister C1 wird ebenfalls zu allen anderen Speicherpositionen bei Adressen übertragen, die durch Eins-Werte freigegeben werden, die auf den Datenleitern 58 übertragen werden. Andererseits wird kein Farbwert in die Pixelpositionen geschrieben, an welche auf den Datenleitern eine Null übertragen wird.
  • Wie zu sehen ist, kann, da die zwei Farbregister C0 und C1 vor der Bearbeitung eines beliebigen Teils eines Fensters geladen werden können und sie immer verfügbar sind, eine Folge von Pixeln (z. B. zweiunddreißig) ohne die Notwendigkeit des erneuten Ladens der Farbregister in zwei Zugriffen geschrieben und beschnitten werden. Die Hintergrundfarbe kann bei einem ersten Zugriff geschrieben werden und die Vordergrundfarbe kann bei einem zweiten Zugriff geschrieben werden, ohne daß irgendeine Notwendigkeit besteht, zwischen den Zugriffen ein Farbregister neu zu laden.
  • Es ist jedoch ein noch schnelleres Schreiben möglich, indem die Farbmodi 0&1 und 1&0 in den Teilen der Anzeige verwendet werden, in welchen das Beschneiden nicht erforderlich ist. Wie in der oben genannten parallel anhängigen Patentanmeldung ausgeführt wird, verwenden die meisten am Schreiben an die Anzeige beteiligten Operationen zwei Farben. Üblicherweise stellen ein Wiedergabechip (Grafikbeschleuniger) oder die zentrale Verarbeitungseinheit ein Steuersignal bereit, welches anzeigt, wo das Beschneiden erforderlich ist. Bei Nichtvorhandensein dieses Signals gestatten die Modi 0&1 und 1&0, daß zwei Farben gleichzeitig in den Einzelbildpuffer geschrieben werden. In diesen Modi zeigt ein Null-Wert auf einem Datenleiter 58 an, daß aus einem Farbwertregister ein Farbwert in die gesteuerten Pixel zu schreiben ist, während ein Eins-Wert auf einem Datenleiter 58 anzeigt, daß aus dem anderen Farbwertregister ein Farbwert in die gesteuerten Pixel zu schreiben ist.
  • Dies wird erreicht, indem der Steuerwert, der auf dem Datenleiter 58 für jede Ebene übertragen und in dem Pixelmaskenregister 55 gespeichert wird, mit dem Farbmodus-Steuersignal zur Auswahl des entsprechenden Farbregisters kombiniert wird, aus welchem der Farbwert von jedem Multiplexer 62 übertragen wird. Wenn beispielsweise in einem Farbmodus 0&1 oder 1&0 eine Null in einer Bit-Position in dem Pixelmaskenregister 55 einen Multiplexer 62 veranlaßt, den Farbwert auszuwählen, der in dem einen Farbwertregister gespeichert ist, während eine Eins in einer Bit-Position in dem Pixelmaskenregister 55 einen Multiplexer 62 veranlaßt, den Farbwert auszuwählen, der in dem anderen Farbwertregister gespeichert ist, dann steuern die Farbmodus-Steuersignale, die Modus 0&1 oder 1&0 anzeigen, daß alle ausgewählten Pixel von den Treiberstufen 73 in das Array geschrieben werden. Dies gestattet, daß zwei separate Farben, die sowohl den Vordergrund als auch den Hintergrund repräsentieren, gleichzeitig in diejenigen Teile eines Fensterbereichs geschrieben werden, die kein Beschneiden erfordern.
  • Die Bereitstellung von zwei Farbwertregistern gestattet zusätzlich zu den beschriebenen Farbmodi, daß eine Reihe neuer Verfahren des Schreibens von Daten in den Einzelbildpuffer ausgeführt werden. Beispielsweise werden zusätzlich zu dem gleichzeitigen Schreiben von zweiunddreißig Pixeln in Gruppen unter Verwendung der Farbregister C0 und C1 Blockmodi bereitgestellt, mit welchen eine gesamte Zeile von Pixeln aus den Farbregistern in einer Farbe mit Beschneiden oder in zwei Farben ohne Beschneiden geschrieben werden kann. Diese Modi werden als Block-256-, Block-512- und Block-1024-Modi bezeichnet und werden in dem US-Patent 5,533,187 mit dem Titel Multiple Block Mode Operations In A Frame Buffer System Designed For Windowing Operations, Priem et al, im Detailbeschrieben.
  • Im Block-256-Modus bestimmt der wert auf jedem Datenleiter den Farbwert, welcher in zweiunddreißig benachbarte Acht-Bit-Pixelpositionen geschrieben wird. Dies wird ausgeführt, indem die Spaltenadresse ein Viertel aller Spalten (256) in jeder Ebene des Arrays gleichzeitig auswählt. Dann empfängt jedes Pixel, das mit jeder dieser Spalten verbunden ist, den einzelnen Farbwert in einem Farbwertregister, das von dem Wert bezeichnet wird, der in dem bestimmten Farbmodus auf dem Datenleiter übertragen wird. Man wird feststellen, daß im Block-256-Modus insgesamt zweiunddreißig mal zweiunddreißig Acht-Bit-Pixel (1024 Pixel) gleichzeitig von jedem Schreibzugriff beeinflußt werden. Dies ist eine typische Anzahl von Pixeln in einer Zeile eines modernen Computerfarbmonitors. Somit kann jeder Zugriff auf Acht-Bit-Pixel im Block-256-Modus alle Pixel in einer 1024-Pixel-Zeile schreiben. Es ist klar, daß dieser Modus verwendet werden kann, um einen ganzen Bildschirm sehr schnell zu löschen, oder um ein Muster zu schreiben, welches in Zweiunddreißig-Bit-Blöcken auf dem Bildschirm variiert.
  • Jedoch in jedem Fall, in welchem unter Verwendung des Block-256-Modus zwei Farben bei demselben Zugriff in den Einzelbildpuffer geschrieben werden, sind die Datenleiter für die Bereitstellung der Beschneidungssignale nicht verfügbar. Aus diesem Grund ist es notwendig, an den Rändern eines Fensters die Farbe-0- und Farbe-1-Modi zu verwenden, um das Beschneiden des Fensters auszuführen. Diese Einzelfarbmodi können an den Fensterübergängen an jeder Seite jeder Zeile verwendet werden, die ein Fenster beinhaltet, um bei einem ersten Zugriff eine Hintergrundfarbe in die Fensterkante zu schreiben, und dann bei einem zweiten Zugriff eine Vordergrundfarbe in die Fensterkante zu schreiben. Auf eine ähnliche Weise muß der Block-256-Modus, weil die Körnung des Zugriffs bei diesem Modus so groß ist, häufig mit den anderen Modi verwendet werden, um eine Fensterkante zu beschneiden. Das heißt, da jedes Steuerbit zweiunddreißig Pixel beeinflußt, kann der Block-256-Modus nur die Auswahl treffen, Pixel in benachbarte Gruppen von zweiunddreißig Pi xeln zu schreiben und nicht zu schreiben. Folglich muß der Block-256-Modus mit dem Block-8-Modus verwendet werden, um eine Fensterkante genau zu beschneiden.
  • Ein zweiter zusätzlicher Modus wird als Block-512-Modus bezeichnet. Im Block-512-Modus beeinflußt jeder Datenleiter den Wert der Daten, die in zweiunddreißig benachbarte Sechszehn-Bit-Pixelpositionen geschrieben werden. In diesem Modus wählt die Spaltenadresse insgesamt die Hälfte der Spalten in jeder Ebene gleichzeitig aus. Dieser Modus erfordert die Erhöhung der Anzahl der Auswahlleiter, Multiplexer 62 und anderer Komponenten, die oben diskutiert wurden, auf sechzehn. Dieser Modus wird mit dem Block-16-Modus auf dieselbe Weise verwendet, auf welche der Block-256-Modus mit dem Block-8-Modus verwendet wird, um eine ganze Zeile innerhalb eines beschnittenen Fensterbereichs der Anzeige schnell zu schreiben. Ein dritter zusätzlicher Modus wird als Block-1024-Modus bezeichnet. Im Block-1024-Modus werden alle. Spalten in jeder Ebene von der Spaltenadresse gleichzeitig ausgewählt. Dieser Modus erfordert die Erhöhung der Anzahl der Auswahlleiter, Multiplexer 62 und anderer Komponenten, die oben diskutiert wurden, auf zweiunddreißig. Im Block-1024-Modus beeinflußt jeder Datenleiter den Wert der Daten, die in zweiunddreißig benachbarte Zweiunddreißig-Bit-Pixelpositionen geschrieben werden. Dieser Modus wird mit dem Block-32-Modus auf dieselbe Weise verwendet, auf welche der Block-256-Modus mit dem Block-8-Modus verwendet wird, um eine ganze Zeile innerhalb eines beschnittenen Fensterbereichs der Anzeige schnell zu schreiben. Jeder dieser Modi stellt nützliche Funktionen auf dieselbe Weise wie der Block-256-Modus bereit, aber für Konfigurationen der Einzelbildpuffer, die die Daten speichern, welche Sechzehn-Bit- und Zweiunddreißig-Bit-Pixel beschreiben.
  • Zusätzlich zu den Farbwertregistern C0 und C1, welche eine schnelle Operation ermöglichen, enthält der Einzelbildpuffer gemäß 3 eine Ausgabeschaltung, mit welcher Pixeldaten an eine (nicht in der Figur dargestellte) Ausgabeanzeigeeinrichtung geschoben werden. Diese enthält ein Array von Übertragungs-Gattern 77, welches verwendet wird, um acht Datenbits gleichzeitig von jeder Ebene des Arrays an ein Ausgabeschieberegister 80 zu schieben. Das Schieberegister 80 in jeder Ebene enthält insgesamt vierundsechzig Bitpositionen. Somit umfaßt bei dem bevorzugten Ausführungsbeispiel das Register 256 Bytes in den zweiunddreißig Ebenen – ein Wert, der einem Viertel einer Zeile auf einer Anzeige entspricht, die 1024 Pixelpositionen in einer Zeile aufweist. Die Daten in dem Register 80 werden dann von einem anderen Multiplexer 82 – jedes Bit einzeln – von jeder Ebene an eine Schaltung geschoben, die die Anzeige der Pixeldaten auf einer Ausgabeanzeigeeinrichtung steuert. Es wird erkennbar sein, daß dieses Schieberegister wesentlich kleiner ist als dasjenige, das üblicherweise am Ausgang eines Einzelbildpuffers verwendet wird, und folglich wesentlich weniger Platinenfläche benötigt.
  • Der Einzelbildpuffer 50 enthält ebenfalls eine Schaltung, die für die Bereitstellung einer sehr schnellen Bilddurchlauf-Operation entwickelt wurde. Die Bilddurchlauf-Operation wird in dem US-Patent 5,805,133 mit dem Titel METHOD AND APPARATUS FOR INCREASING THE RATE OF SCROLLING IN A FRAME BUFFER SYSTEM DESIGNED FOR WINDOWING OPERATIONS, Priem et al, im Detail beschrieben.
  • Diese Bilddurchlauf-Operation wird im Allgemeinen an diesem Punkt beschrieben, um die Verwendung der verschiedenen Schaltungen des Einzelbildpuffers zu erläutern.
  • Bei der Bilddurchlauf-Operation werden die Daten zuerst aus dem Array gelesen und dann in das Array in eine neue Zeile zurück geschrieben, ohne sie aus dem Einzelbildpuffer 50 zu entfernen. Um dies auszuführen, wird von der steuernden Schaltung (Zentralprozessor oder Grafikbeschleuniger) ein Bilddurchlaufmodus-Signal initiiert, und es wird eine Adresse zur Bezeichnung der bestimmten Daten, die durch laufen werden sollen, an die Zeilen- und Spaltendecodierschaltung bereitgestellt. Der Bilddurchlaufmodus kann veranlassen, daß – wie im normalen Betriebmodus – eine bestimmte Zeile an der abfallenden Flanke eines RAS-Signals ausgewählt wird, und die Speicherzellen dieser Zeile aufgefrischt werden. Die höherwertigen Bits der Spaltenadresse werden verwendet, um acht benachbarte Spalten der Adresse auszuwählen. Das Modussignal an dem Array der Übertragungs-Gatters 77 jeder Ebene veranlaßt, daß die Daten in den Speicherzellen jeder der ausgewählten acht Spalten an einen ersten Acht-Bit-Latch-Speicher, der als Latch-Speicher 0 in der Figur gezeigt ist, übertragen werden. Eine nächste sequentielle Adresse veranlaßt, daß die Daten in den Speicherzellen jeder der nächsten ausgewählten acht Spalten an einen zweiten Acht-Bit-Latch-Speicher, der als Latch-Speicher 1 in der Figur gezeigt wird, übertragen werden. Dies wird für weitere zwei Leseoperationen fortgesetzt, welche zwei weitere Sätze von acht Speicherzellen in jeder Ebene auswählen und die gelesenen Ergebnisse in dritte und vierte Acht-Bit-Latch-Speicher, Latch-Speicher 2 und Latch-Speicher 3, plazieren.
  • Somit werden in einem Satz von vier Leseoperationen, der nur 180 ns (ein RAS/CAS von 120 ns, dem drei CAS-Zyklen von jeweils 20 ns folgen) dauert, insgesamt zweiunddreißig Bits in jeder der zweiunddreißig Ebenen gelesen und in den Latch-Speichern 0–3 gespeichert. Das bedeutet, daß bei vier einzelnen Zugriffen, die insgesamt ein einzelnes RAS-Signal und vier CAS-Signale erfordern, die 180 ns dauern, insgesamt 128 Acht-Bit-Pixel in den Latch-Speichern 0–3 gespeichert werden können. Somit kann in insgesamt acht mal 180 ns oder 1440 ns auf eine ganze Zeile von Pixeln auf einer 1024 Pixel breiten Anzeige zugegriffen und diese gespeichert werden.
  • Wie in 3 gezeigt wird, ist jeder Latch-Speicher 0-3 so verbunden, daß seine einzelnen Bits von einem Multiplexer 81 für die Bereitstellung an den Multiplexer 62 ausgewählt werden können. In der Figur ist einer der Latch- Speicher 0–3 dargestellt, wobei jede seiner Bitpositionen eine Eingabe an jeden der acht einzelnen Multiplexer 62 dieser Speicherebene bereitstellt. Dies gestattet vier sequentielle Schreiboperationen an vier aufeinander folgende Adressen wobei dies ungefähr 180 ns dauert, um die Daten, die durchlaufen werden, in die neuen Zeilenpositionen in dem Array 52 zurückzuschreiben, an welches die Zeile adressiert ist. Wie bei der Bilddurchlauf-Leseoperation veranlaßt das Bilddurchlaufmodus-Steuersignal die höherwertigen Bits der Spaltenadresse, in jeder Schreiboperation die entsprechenden acht benachbarten Spalten auszuwählen. Das Bilddurchlaufmodus-Steuersignal wählt dann unter Verwendung der Treiberstufen 73 und der Schreibfreigabeschalter 71 alle Spalten aus. Bei jeder Rückschreib-Operation, die beim Bilddurchlauf verwendet wird, werden die Werte in jedem einzelnen Bit-Latch-Speicher 0–3 durch das Übersteuern der Leseverstärker 63 auf das Array geleitet, um an den ausgewählten Speicherpositionen in den entsprechenden Zellen des Arrays neue Werte zu erstellen. Somit beträgt die gesamte Zeit, die benötigt wird, um die Daten für den Bilddurchlauf von 128 Pixeln zu lesen und zurückzuschreiben, nur 180 ns., während eine Zeile 1440 ns erfordert – ungefähr ein 85 stel der Zeit, die erforderlich ist, um das Durchlaufen in dem Stand der Technik entsprechenden Anordnungen auszuführen.
  • Eine zusätzliche Möglichkeit der Erfindung gestattet das Beschneiden von Pixeldaten, damit sie in Fenster passen, in welchen zur gleichen Zeit Daten gespeichert werden, wenn der Bilddurchlauf stattfindet. Man wird festgestellt haben, daß während jedes beliebigen Zeitraums, in welchem der Bilddurchlauf auftritt, die Leiter 58 auf dem, Datenbus nicht für den Bilddurchlauf verwendet werden. Indem auf den Datenleitern 58 Freigabesignale an die Schreibfreigabe-Gatter 71 jedes Arrays gesendet werden, kann das Beschneiden ausgeführt werden. Wenn beispielsweise ein erster Datenleiter 58 eine Null überträgt, die anzeigt, daß kein Schreiben eintre ten soll, und dieses Signal angelegt wird, um die Übertragungs-Gatter 71 zu sperren, die mit allen Leitern 66 (einer in jeder Ebene des Arrays 52) verbunden sind, welche die Bits eines entsprechenden Pixels beeinflussen, dann werden die Bits in der bestimmten Latch-Speicher-Bitposition nicht geschrieben. Somit kann ein ganzes Pixel beschnitten werden. Wenn alle Datenleiter, die Pixelpositionen außerhalb eines Fensters steuern, Null-Werte führen, dann kann der gesamte Bereich außerhalb eines Fensters beschnitten werden, während der Bilddurchlauf stattfindet.

Claims (13)

  1. Ein Einzelbildpuffer (50), der so ausgebildet ist, daß er mit einem Datenbus und einem Ausgabedisplay in einem Computersystem gekoppelt werden kann, wobei der Einzelbildpuffer aufweist: ein Array (52) von Speicherzellen (53) zum Speichern von auf dem Ausgabedisplay anzuzeigenden Daten; erste und zweite Farbwertregister (C0, C1); eine latch-speichernde Schaltung zum Speichern von Pixeldaten, die eine Mehrzahl von auf dem Ausgabedisplay anzuzeigenden Pixeln definieren, wobei aus dem Array zu lesende Daten und in das Array zu schreibende Daten in der latch-speichernden Schaltung gespeichert werden; ein Pixelmaskenregister; gekennzeichnet durch: eine Schaltung zum Schreiben von Pixeldaten aus dem Array (52) in die latch-speichernde Schaltung und eine mit der latch-speichernden Schaltung und den Farbwertregistern gekoppelte Schaltung zum Auswählen von Pixeldaten zum gleichzeitigen Schreiben in eine Mehrzahl von Speicherpositionen in dem Array (52) aus den ersten und zweiten Farbwertregistern gleichzeitig oder aus der latchspeichernden Schaltung, wobei jede Speicherposition einer Pixelposition des Ausgabedisplays entspricht.
  2. Ein Einzelbildpuffer nach Anspruch 1, bei welchem die Schaltung zum Auswählen von Pixeldaten zum Schreiben aus den Farbwertregistern gleichzeitig oder aus der latchspeichernden Schaltung in eine Mehrzahl von Speicherpositionen in dem Array aufweist: eine Mehrzahl von Multiplexern (62), die mit jedem der Farbwertregister und mit der latch-speichernden Schaltung verbunden sind; und eine Quelle von Steuersignalen, die die Multiplexer (62) veranlassen, Farbwerte aus den Farbwertregistern (C0, C1) oder Pixeldaten aus der latch-speichernden Schaltung in Abhängigkeit von einem Betriebsmodus auszuwählen, wobei der Betriebsmodus ein durch die Steuersignale angezeigter Wert ist.
  3. Ein Einzelbildpuffer nach Anspruch 2, bei welchem die Quelle der Steuersignale zum Veranlassen der Multiplexer zum Auswählen von Pixeldaten aus den Farbregistern oder aus den Latch-Speichern eine Schaltung zum Übertragen von Steuersignalen auf dem Datenbus umfaßt.
  4. Ein Einzelbildpuffer nach Anspruch 2, ferner aufweisend eine Schaltung, die die Multiplexer veranlaßt, Pixeldaten von dem Datenbus auszuwählen.
  5. Ein Einzelbildpuffer nach Anspruch 1, ferner aufweisend ein Schieberegister, das eine Anzahl von Speicherpositionen zur Verfügung stellt, die geringer ist als die Anzahl von Pixeln in einer Zeile einer Anzeige; und eine Schaltung zum Schreiben von Pixeldaten in das Schieberegister aus dem Array zur Präsentation auf einem Ausgabedisplay.
  6. Ein Einzelbildpuffer nach Anspruch 1, bei welchem das. Array von Speicherzellen in einer Mehrzahl von Ebenen angeordnet ist und der ferner eine Schaltung zum Auswählen irgendeiner der mehreren Ebenen für einen Zugriff aufweist.
  7. Ein Einzelbildpuffer nach einem der Ansprüche 1 bis 6, wobei der Einzelbildpuffer ferner aufweist: eine Adreßdekodierschaltung zum Steuern eines Zugriffs auf das Array, wobei die Adreßdekodierschaltung eine Spaltenadreßdekodierschaltung zum Auswählen von Gruppen benachbarter Spalten in dem Array einschließt; eine Mehrzahl von Schaltungen zum Auswählen zum Schreiben in jede der Spalten irgendeiner der Gruppen benachbarter Spalten; wobei die latch-speichernde Schaltung so ausgebildet ist, daß sie Pixeldaten speichert, die zu einem wesentlichen Teil einer Zeile von auf dem Ausgabedisplay anzuzeigenden Pixeldaten äquivalent sind; eine Schaltung zum Schreiben von Pixeldaten aus ausgewählten Gruppen benachbarter Spalten des Arrays in die latch-speichernde Schaltung.
  8. Ein Computersystem, aufweisend: einen Datenbus; ein Ausgabedisplay; und einen Einzelbildpuffer nach einem der Ansprüche 1 bis 6.
  9. Ein Verfahren zum Betreiben eines Einzelbildpuffers, umfassend die Schritte: Speichern von Daten in ersten und zweiten Farbwertregistern, die jeweils einen Farbwert von in dem Einzelbildpuffer zu speichernden Pixeln definieren; Speichern von Daten in einer latch-speichernden Schaltung, die einen Wert einer Mehrzahl von in dem Einzelbildpuffer gespeicherten Pixeln definieren; Speichern von Daten in einem Pixelmaskenregister (55), um Pixel anzuzeigen, zu welchen Farbwerte aus einem Farbwertregister zur Speicherung in dem Einzelbildpuffer (50) geschrieben werden sollen; Bereitstellen von Pixel werten definierenden Daten auf einem Datenbus, um einen Farbwert wenigstens eines in dem Einzelbildpuffer zu speichernden Pixels anzuzeigen; Bereitstellen einer Mehrzahl von Steuersignalen zum Auswählen zwischen den Daten in den Farbwertregistern und der latch-speichernden Schaltung für irgendeine Operation der Speicherung in dem Einzelbildpuffer; und Auswählen von Pixeldaten zum gleichzeitigen Schreiben aus den ersten und zweiten Farbwertregistern gleichzeitig oder aus der latch-speichernden Schaltung in eine Mehrzahl von Speicherpositionen in dem Array (52), wobei jede Position einer Pixelposition des Ausgabedisplays entspricht.
  10. Ein Verfahren zum Auswählen von in einen Einzelbildpuffer zu übertragenden Daten nach Anspruch 9, bei welchem der Schritt des Bereitstellens von Steuersignalen umfaßt: Liefern von wenigstens drei unabhängigen Steuersignalen zum Auswählen zwischen einem Satz von Betriebsmodi, wobei jeder Betriebsmodus ein durch die Steuersignale gekennzeichneter Wert ist.
  11. Ein Verfahren nach Anspruch 9 und 10, ferner umfassend die Schritte: Speichern von Daten in einer Mehrzahl von Latch-Speichern zum Anzeigen eines Werts einer Mehrzahl von Pixeln, die in einer Zeile des Einzelbildpuffers gespeichert sind; Speichern von Daten in einem Pixelmaskenregister zum Anzeigen von Pixeln, zu welchen Farbwerte aus einem Farbwertregister zur Speicherung in dem Einzelbildpuffer geschrieben werden sollen; und wobei das Bereitstellen einer Mehrzahl von Steuersignalen zum Auswählen zwischen den Daten in den Farbwertregistern und der Mehrzahl von Latch-Speichern für irgendeine Operation der Speicherung in dem Einzelbildpuffer ferner das Speichern aus den Daten auf den Leitern des Datenbusses in den Einzelbildpuffer einschließt.
  12. Ein Verfahren zum Auswählen von in einen Einzelbildpuffer zu übertragenden Daten nach Anspruch 11, bei welchem der Schritt des Bereitstellens einer Mehrzahl von Steuersignalen zum Auswählen zwischen den Daten in dem Farbwertregister, der Mehrzahl von Latch-Speichern und den Leitern des Datenbusses für irgendeine Operation der Speicherung in dem Einzelbildpuffer, wobei die Daten in dem Einzelbildpuffer gespeichert werden sollen, den zusätzlichen Schritt umfaßt: Benutzen der in dem Pixelmaskenregister gespeicherten Daten als zusätzliche Steuersignale zum Anzeigen der Pixel, in welche Farbwerte aus dem Farbwertregister zur Speicherung in dem Einzelbildpuffer geschrieben werden sollen.
  13. Ein Verfahren zum Auswählen von in einen Einzelbildpuffer zu übertragenden Daten nach Anspruch 11, ferner umfassend das Veranlassen einer Mehrzahl von Multiplexern, Pixeldaten zwischen den Daten in den Farbwertregistern, der Mehrzahl von Latch-Speichern und den Leitern des Datenbusses als die in den Einzelbildpuffer zu speichernden Daten auszuwählen.
DE69432512T 1993-10-29 1994-10-27 Für fensterumgebungsoperationen entworfenes rasterpuffersystem Expired - Fee Related DE69432512T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14533593A 1993-10-29 1993-10-29
US145335 1993-10-29
PCT/US1994/012307 WO1995012164A2 (en) 1993-10-29 1994-10-27 Frame buffer system designed for windowing operations

Publications (2)

Publication Number Publication Date
DE69432512D1 DE69432512D1 (de) 2003-05-22
DE69432512T2 true DE69432512T2 (de) 2004-04-22

Family

ID=22512623

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69432512T Expired - Fee Related DE69432512T2 (de) 1993-10-29 1994-10-27 Für fensterumgebungsoperationen entworfenes rasterpuffersystem

Country Status (6)

Country Link
US (1) US5528751A (de)
EP (1) EP0677190B1 (de)
JP (1) JPH08505255A (de)
KR (1) KR100335474B1 (de)
DE (1) DE69432512T2 (de)
WO (1) WO1995012164A2 (de)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5539430A (en) * 1993-10-29 1996-07-23 Sun Microsystems, Inc. Pipelined read write operations in a high speed frame buffer system
WO1995012191A1 (en) * 1993-10-29 1995-05-04 Sun Microsystems, Inc. Method for increasing the rate of scrolling in a frame buffer
US5764963A (en) * 1995-07-07 1998-06-09 Rambus, Inc. Method and apparatus for performing maskable multiple color block writes
US6104658A (en) * 1996-08-08 2000-08-15 Neomagic Corporation Distributed DRAM refreshing
US5781200A (en) * 1996-08-08 1998-07-14 Ulsi Systems Tile memory mapping for increased throughput in a dual bank access DRAM
US6230235B1 (en) 1996-08-08 2001-05-08 Apache Systems, Inc. Address lookup DRAM aging
KR100300972B1 (ko) * 1997-09-19 2001-09-03 윤종용 텍스춰매핑수행장치및텍스춰캐시의데이터억세스방법
US6542796B1 (en) * 2000-11-18 2003-04-01 Honeywell International Inc. Methods and apparatus for integrating, organizing, and accessing flight planning and other data on multifunction cockpit displays
TW514863B (en) * 2001-12-14 2002-12-21 Chi Mei Electronics Corp Overdrive system and method of liquid crystal display
CN100350448C (zh) * 2001-12-27 2007-11-21 奇美电子股份有限公司 液晶显示器的过载驱动系统与方法
US7313764B1 (en) * 2003-03-06 2007-12-25 Apple Inc. Method and apparatus to accelerate scrolling for buffered windows
US8159440B2 (en) 2003-06-30 2012-04-17 Advanced Micro Devices, Inc. Controller driver and display apparatus using the same
US7573491B2 (en) * 2004-04-02 2009-08-11 David Hartkop Method for formatting images for angle-specific viewing in a scanning aperture display device
EP1622111A1 (de) * 2004-07-28 2006-02-01 Deutsche Thomson-Brandt Gmbh Leitungstreiberschaltung für Anzeigevorrichtung mit aktiver Matrix
JP4488042B2 (ja) * 2007-08-14 2010-06-23 セイコーエプソン株式会社 画像処理回路、表示装置及び印刷装置
JP4404116B2 (ja) * 2007-08-14 2010-01-27 セイコーエプソン株式会社 画像処理回路、表示装置及び印刷装置
TWI416500B (zh) * 2009-12-28 2013-11-21 Inventec Besta Co Ltd 顯示系統及其加速顯示方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4648077A (en) * 1985-01-22 1987-03-03 Texas Instruments Incorporated Video serial accessed memory with midline load
US4769637A (en) * 1985-11-26 1988-09-06 Digital Equipment Corporation Video display control circuit arrangement
US5170157A (en) * 1986-05-20 1992-12-08 Takatoshi Ishii Memory device for an image display apparatus having a serial port and independently operable data registers
US5046023A (en) * 1987-10-06 1991-09-03 Hitachi, Ltd. Graphic processing system having bus connection control capable of high-speed parallel drawing processing in a frame buffer and a system memory
US4823302A (en) * 1987-01-30 1989-04-18 Rca Licensing Corporation Block oriented random access memory able to perform a data read, a data write and a data refresh operation in one block-access time
JPS63204595A (ja) * 1987-02-20 1988-08-24 Fujitsu Ltd マルチプレ−ンビデオram構成方式
US4807189A (en) * 1987-08-05 1989-02-21 Texas Instruments Incorporated Read/write memory having a multiple column select mode
US5305078A (en) * 1992-01-21 1994-04-19 Exfo Electro-Optical Engineering Inc. Measurement of attenuation of optical fibers using transmitted wavelength and power information
US5282177A (en) * 1992-04-08 1994-01-25 Micron Technology, Inc. Multiple register block write method and circuit for video DRAMs

Also Published As

Publication number Publication date
JPH08505255A (ja) 1996-06-04
US5528751A (en) 1996-06-18
EP0677190A1 (de) 1995-10-18
DE69432512D1 (de) 2003-05-22
EP0677190B1 (de) 2003-04-16
WO1995012164A3 (en) 1995-05-26
EP0677190A4 (de) 1996-07-24
KR100335474B1 (ko) 2002-09-26
WO1995012164A2 (en) 1995-05-04
KR950704741A (ko) 1995-11-20

Similar Documents

Publication Publication Date Title
DE69432512T2 (de) Für fensterumgebungsoperationen entworfenes rasterpuffersystem
DE4013263C2 (de) Vorrichtung zur Farbauswahl bei einem Ausgabegerät mit Fensteranzeige
DE3619420C2 (de)
DE69635663T2 (de) vERFAHREN FÜR DAS EINSPEICHERN VON DATEN IN EINEM FLASH-EEPROM-HAUPTSPEICHER IN EINEM RECHNERSYSTEM
DE19882933B4 (de) Flash-Speicher-Unterteilung für Lese-während-Schreiboperationen
DE19530100C2 (de) Integrierte Dram-Schaltung mit Reihenkopierschaltung und Verfahren
DE2803989C2 (de) Digitaldatenspeicher mit wahlfreiem Zugriff
DE60317347T2 (de) Speicherschaltung mit nichtflüchtigem ram und ram
EP0908893B1 (de) Speicherarchitektur mit Mehrebenenhierarchie
DE2617408A1 (de) Datenverarbeitungsgeraet
DE3916784C2 (de) Speicherzellenfeld und Verfahren zum Schreiben von Daten in das Speicherzellenfeld
DE3636394C2 (de) Einrichtung und Verfahren zur Speicherorganisation
DE3141196A1 (de) Videobildverarbeitungsvorrichtung
DE10101073B4 (de) Bildaufbereitungsvorrichtung mit niedrigeren Speicherkapazitätsanforderungen und Verfahren dafür
DE2059917B2 (de) Hybridadressierter datenspeicher
DE2062228A1 (de) Datenverarbeitungssystem mit gleich zeitigem Zugriff auf mehrere Speicher stellen
DE1499739C3 (de) Datenspeicher zur gleichzeitigen Entnahme mehrerer Wörter
DE3911721C2 (de)
DE68929482T2 (de) Integrierter Schaltkreis mit synchronem Halbleiterspeicher, ein Verfahren zum Zugriff auf den besagten Speicher sowie ein System, das einen solchen Speicher beinhaltet
DE4218686A1 (de) Statischer direktzugriffsspeicher
DE69433033T2 (de) Zeitverschachtelte leseschreiboperationen in einem hochgeschwindigkeitsrasterpuffersystem
DE102004012516A1 (de) Computersystem zur elektronischen Datenverarbeitung
DE69908772T2 (de) Geraet mit kontextumschaltungsfaehigkeit
DE602004012923T2 (de) Wortweise programmierbarer Flash-Speicher
DE112004002973T5 (de) Halbleiterbauelement und Verfahren zum Schreiben von Daten

Legal Events

Date Code Title Description
8332 No legal effect for de
8370 Indication of lapse of patent is to be deleted
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee