DE3852185T2 - Bildspeicher für Raster-Video-Anzeige. - Google Patents

Bildspeicher für Raster-Video-Anzeige.

Info

Publication number
DE3852185T2
DE3852185T2 DE3852185T DE3852185T DE3852185T2 DE 3852185 T2 DE3852185 T2 DE 3852185T2 DE 3852185 T DE3852185 T DE 3852185T DE 3852185 T DE3852185 T DE 3852185T DE 3852185 T2 DE3852185 T2 DE 3852185T2
Authority
DE
Germany
Prior art keywords
memory
address
row
column
pixel
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
DE3852185T
Other languages
English (en)
Other versions
DE3852185D1 (de
Inventor
Satish Gupta
Leon Lumelsky
Marc Segre
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE3852185D1 publication Critical patent/DE3852185D1/de
Application granted granted Critical
Publication of DE3852185T2 publication Critical patent/DE3852185T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/123Frame memory handling using interleaving

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Input (AREA)
  • Digital Computer Display Output (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Memory System (AREA)

Description

  • Diese Spezifikation ist Teil einer Reihe von sieben Spezifikationen, die sich jeweils auf eine andere Erfindung beziehen, jedoch ein gemeinsames exemplarisches Ausführungsbeispiel haben. Um eine wiederholte Beschreibung zu vermeiden, enthalten alle sieben Spezifikationen Querverweise; es handelt sich um folgende Spezifikationen:
  • EP-A-0279 225, (AT9-86-070) mit dem Titel "RECONFIGURABLE COUNTERS FOR ADDRESSING IN GRAPHICS DISPLAY SYSTEMS".
  • EP-A-0279 229, (AT9-86-072) mit dem Titel "A GRAPHICS DISPLAY SYSTEM".
  • EP-A-0279 231, (AT9-86-073) mit dem Titel "A GRAPHICS FUNCTION CONTROLLER FOR A HIGH PERFORMANCE VIDEO DISPLAY SYSTEM".
  • EP-A-0279 226, (KI9-86-029) mit dem Titel "HIGH RESOLUTION DISPLAY ADAPTER".
  • EP-A-0279 227, (YO9-86-051) mit dem Titel "RASTER DISPLAY VECTOR GENERATOR".
  • EP-A-0279 230, (YO9-86-104) mit dem Titel "VIDEO ADAPTER WITH IMPROVED DATA PATHING".
  • EP-A-0279 228, (YO9-86-105) mit dem Titel "A FRAME BUFFER IN OR FOR A RASTER SCAN VIDEO DISPLAY".
  • Die vorliegende Erfindung bezieht sich auf Bildspeicher in oder für Raster-Scan-Video-Anzeigen.
  • Bei Anzeige-Adaptern als Schnittstelle zwischen einem Rechner und einem angeschlossenen Raster-Scan-Video-Bildschirm können viele Funktionen, die bisher in autonomen Arbeitsplatzrechnern nicht zur Verfügung standen, bereitgestellt werden; dies hat zur Folge, daß bessere Speicherarchitekturen und Steuereinrichtungen für den Bildspeicher eines solchen Video-Adapters verlangt werden. Da Geschwindigkeit und Speicherkapazität von Arbeitsplatzrechnern und Personalcomputern ständig zunehmen, steigt auch der Bedarf an hochauflösenden intelligenten Anzeige-Adaptern. Bei großen graphischen Anwendungen, die bisher nur auf Mainframe-Rechnern mit dedizierten graphischen Anzeigestationen möglich waren, kann diese gesteigerte Leistungsfähigkeit genutzt werden, um die graphischen Anwendungen auf autonome SYsteme umzustellen. Die vorliegende Erfindung beschreibt Funktionen, die in einen Video-Anzeigeadapter eingebaut werden können, um die für solche komplexen graphischen Anwendungen benötigten graphischen Funktionen und die entsprechende Leistung auch in autonomen Arbeitsplatzrechnern bereitzustellen.
  • Solche Anzeige-Adapter mit gesteigerter Leistungsfähigkeit werden besonders für kleine autonome Arbeitsplatzrechner, wie zum Beispiel den IBM PC/AT und den IBM RT-PC benötigt, die leistungsfähige Adapterfunktionen bei angemessenen Kosten bereitstellen können und die ein sehr breites Anwendungsspektrum abdecken.
  • Einschränkender Faktor für die Aktualisierungsleistung von Raster-Scan-Anzeigen mit Bildspeicher ist die Speicherorganisation des Bildspeichers. Die Speicherorganisation bestimmt, auf wie viele und auf welche Bildpunkte in einem Speicherzyklus zugegriffen werden kann, wodurch die Anzahl der Bildpunkte, die parallel von der Aktualisierungs-Hardware aktualisiert werden können, eingeschränkt ist. Bei leistungsfähigen Anzeigen ist häufig eine Aktualisierung parallel zum Bildspeicher möglich, wodurch pro Bildpunkt ein kürzerer Speicherzyklus benötigt wird.
  • Die geforderte Parallelaktualisierung hängt von der Größe und Form der Objekte ab, die in den Bildspeicher gezeichnet werden. Das heißt, wenn nur lange horizontale Linien als Objekte in den Speicher gezeichnet würden, wäre eine Organisation, die den parallelen Zugriff auf sechzehn oder zweiunddreißig horizontale Bildpunkte erlauben würde, ideal. Ähnlich wäre, wenn die angezeigten Objekte immer sechs mal acht Zeichen groß wären, eine Speicherorganisation perfekt, die es erlauben würde, parallel auf eine Matrix von sechs mal acht Bildpunkten zuzugreifen. Ein zusätzlicher Vorteil für die Speicherorganisationen von Bildspeichern ist die Fähigkeit, auf diese Bildpunkt-Matrizen an jeder beliebigen Bildpunkt-Grenze zuzugreifen. Wenn bei dem obigen Beispiel des parallelen Zugriffs auf sechzehn horizontale Bildpunkte eine Einschränkung dadurch gegeben ist, daß die linke Kante auf einer Grenze von sechzehn Bildpunkten liegen muß, dann würde der HorizontalIinienzeichner seine maximale Leistungsfähigkeit nur dann erreichen, wenn die Linie auf Grenzen mit sechzehn Bildpunkten beginnen würde, ein sehr unwahrscheinlicher Fall. Ein Zugriff auf sechzehn Bildpunkte, deren linke Kante an jeder gewünschten Bildpunkt-Grenze liegen kann, ist effizienter. In der vorliegenden Beschreibung wird diese Art von Parallelzugriff als "auf den Bildpunkt ausgerichteter" Zugriff bezeichnet.
  • Die Implementierung von Speicherorganisationen bestimmt die Kosten und die Komplexität von Systemen mit Bildspeicher und der zugehörigen Aktualisierungs-Hardware. Die Speicherorganisation und ihre Implementierung ist daher bei der Feststellung der Kosten und der Funktionalität von Anzeigen mit Bildspeicher ein kritischer Aspekt. Wegen der Natur der Speicherchips wird die Komplexität der Bildspeicherorganisation eindeutig von der Anzahl von Speicherchips und der Anzahl von eindeutigen, an diese angeschlossenen Signalleitern bestimmt. Diese Speicheranschlüsse bestehen aus den Adressenleitern (normalerweise unterteilt in Reihenadressen- und Spaltenadressensignale), den Datenleitern und den Steuersignalleitern (Reihenadressen-Strobes, Spaltenadressen-Strobes und die Schreibfreigabe-Impulse).
  • In der von A. Bechtolsheim am 6. März 1984 herausgegebenen US-Patentschrift US-A-4,435,792 mit dem Titel "RASTER MEMORY MANIPULATION APPARATUS" wird eine Bildspeicherorganisation bereitgestellt, die den Zugriff auf sechzehn auf den Bildpunkt ausgerichtete horizontale Bildpunkte ermöglicht. Dies wird erreicht durch sechzehn Speicherchips (von jeweils 64 Kilobit), um einen Bildspeicher von 1K mal 1K zu realisieren. Die Möglichkeit, auf ein auf den Bildpunkt ausgerichtetes Wort zuzugreifen, erreicht man durch die Zustellung von Spaltenadressen-Strobes an verschiedene Chips, in Abhängigkeit von der linken Grenze des gewünschten Wortes. In der Implementierung wird ein Adreßbus, jedoch sechzehn Spaltenadressen-Strobeleitungen verwendet. Die erste Adresse wird angesteuert und die entsprechenden Chips erhalten Strobeimpulse, gefolgt von der zweiten Adresse und dem Strobeimpuls an die übrigen Chips. Die Implementierung erfordert einen längeren Speicherzyklus, jedoch nur acht Adressensignale.
  • In einem Artikel von Robert F. Sproull, Ivan E. Sutherland, Alistair Thompson, Satish Gupta und Charles Minter mit dem Titel "THE EIGHT BY EIGHT DISPLAY", ACM Transaction on Graphics, Band 2, Nr. 1, Januar 1983, Seite 32-56, wird die Implementierung des Zugriffs auf eine Acht-mal-Acht-Matrix von Bildpunkten beschrieben, die auf den Bildpunkt ausgerichtet werden konnte, um den Zugriff für verschiedene Operationen zu optimieren. Die Acht-mal-Acht-Anzeige hatte acht Adressen-Sätze (jeweils acht Leiter), die verschiedene Adressen an verschiedene Spalten der Acht-mal-Acht-Matrix von Speicherchips liefern konnten. Die verwendete Speicherorganisation stellte getrennte Reihenadressen bereit, wobei dieselben Adressenleitungen verwendet und getrennte Spalten-Strobes bereitgestellt wurden, ebenso wurden separate Spaltenadressen bereitgestellt, indem unterschiedliche Adressen in unterschiedlichen Spalten angesteuert wurden.
  • Die Acht-mal-Acht-Anzeige konnte alle 64 Bildpunkte lesen oder schreiben. Somit würde ein Bildspeicher mit acht Bits pro Bildpunkt fünfhundertundzwölf (64 x 8) Datenbits verwenden. Es liegt auf der Hand, daß eine derart große Zahl von Bits nur von einer Anordnung von Prozessoren verarbeitet werden kann oder daß zusätzliche Multiplexer erforderlich sind, welche die Anzahl der Bits, die aus dem Bildspeicher gelesen werden, auf die Größe des Datenbusses reduzieren würden. Für ein einzelnes Prozessorsystem ist eine solche große Zahl von E/A- und Adressenleitungen zu groß.
  • Die vorliegende Erfindung beschreibt die Speicherorganisation eines Bildspeichers, der über eine reduzierte Anzahl von Adressen-, Daten- und Steuerleitungen verfügt, jedoch trotzdem eine volle, auf den Bildpunkt ausgerichtete Adressierfähigkeit des Bildspeichers erlaubt.
  • US-A-4,434,502 von Arakawa et al, mit dem Titel "A MEMORY SYSTEM HANDLING A PLURALITY OF BITS AS A UNIT TO BE PROCESSED" beschreibt einen auf den Bildpunkt ausgerichteten Speicherzugriff, jedoch nur für Leseoperationen. Die vorliegende Erfindung stellt demgegenüber eine Adressierfähigkeit aller Punkte, sowohl für die Lese- als auch für die Schreiboperationen bereit. In US-A-4,434,502 basiert das Gesamtkonpzept der Speicherorganisation auf der Trennung oder Unterteilung des Speichers in eine Anzahl kleinerer Blöcke (mindestens vier) und der Bereitstellung einer unterschiedlichen Adressensteuerung für jeden dieser Blöcke. In der vorliegenden Erfindung wird jedoch für die Adressensteuerung eine andere Lösung verwendet, und zwar werden hier die verschiedenen Speicherabschnitte nicht räumlich getrennt, wie in US-A-4,434,502, sondern es erfolgt eine zeitliche Trennung oder ein Multiplexen der Adressen. Daher kann der Bildspeicher der vorliegenden Erfindung als ein physischer Block mit einer gemeinsamen Adressensteuerung betrachtet werden.
  • Die Ergebnisse dieses Lösungsweges sind wie folgt. In US-A-4,434,502 ist zur Adresseninkrementierung/-dekrementierung eine Anzahl arithmetischer Einheiten erforderlich, entsprechend der Anzahl der Speicherblöcke. Hierdurch wird natürlich ein Bildspeicher teurer, und zwar wegen dem Mehraufwand an Hardware, zum Beispiel eine größere Menge von Chips. Mit der Architektur der vorliegenden Erfindung ist nur ein externer Adressen-Inkrementierer und ein Vier-zu-Eins- Adressen-Multiplexer erforderlich.
  • Desweiteren muß, nach den Lehren von US-A-4,434,502, die Anzahl der Adressenbusse doppelt so hoch sein, wie die Anzahl der Blöcke im Bildspeicher. Damit kann die Implementierung einer solchen Architektur wegen der großen Anzahl von erforderlichen Ein- und Ausgängen nicht in VLSI ausgeführt werden. In der vorliegenden Erfindung ist es möglich, eine Adressensteuerung voll in VLSI-Technik zu implementieren, weil nur ein Adressenbus benötigt wird.
  • Ein weiterer Aspekt, auf den sich aus US-A-4,434,502 schließen läßt, ohne daß dieser dort ausdrücklich dargelegt wurde, ist der, daß der Bildspeicher aus herkömmlichen statischen RAMs aufgebaut ist. Statische RAMs haben gewöhnlich eine geringere Dichte als herkömmliche dynamische RAMs. Sie ermöglichen jedoch, daß getrennte Adressenpaare an die Speicherblöcke angelegt werden können. Würde man herkömmliche dynamische RAMs (die über chipintegrierte Reihen-/Spaltenadressen- Demultiplexer verfügen) anstelle von statischen RAMs verwenden, um die Anzahl der Speicherchips und den für einen solchen Bildspeicher erforderlichen Platz auf der Leiterplatte zu reduzieren, dann wäre für jeden Speicherblock ein zusätzlicher Zwei-zu-Eins-Adressenmultiplexer erforderlich. Die vorliegende Erfindung befaßt sich jedoch nicht mit statischen RAMs, da sie bei großen Bildspeichern unbrauchbar sind.
  • Schließlich wird in US-A-4,434,502 das Konzept der Größenreduzierung des Datenbusses durch eine zusätzliche logische Auswahleinheit implementiert, eine für jeden Block. In der vorliegenden Erfindung ist die Anzahl der Datenbusleitungen ohne zusätzliche Hardware stark reduziert, obwohl für die Schreiboperation dieselbe Leistung bereitgestellt wird, die ohne Reduzierung der Datenbusleitungen erreichbar wäre.
  • Zusammenfassend kann man sagen, daß für die Methode und das Gerät, wie sie in US-A-4,434,502 beschrieben werden, insgesamt eine größere Menge zusätzlicher Steuerungs-Hardware- Chips benötigt werden, als wahrscheinlich für den Speicher selbst. Demgegenüber wird mit dem Lösungsweg der vorliegenden Erfindung die Steuerung des Bildspeichers viel weniger kostenintensiv und erfordert auch weniger Platz, bei gleichzeitiger Bereitstellung der gleichen oder sogar einer höheren Leistung.
  • In US-A-4,442,503 von D. Schutt et al mit dem Titel "DEVICE FOR STORING AND DISPLAYING GRAPHIC INFORMATION" wird eine Methode zur Leistungssteigerung für eine zweidimensionale Vektorgraphik (oder Kurven-Zeichnung) in einem Bildspeicher mit linearer Organisation beschrieben. Der beschriebene Bildspeicher umfaßt im wesentlichen eine herkömmliche Architektur, die eine angemessene Leistung für das Speichern von Raster- Bildern zur Verfügung stellt, jedoch bei zweidimensionalen Zeichnungen zu langsam arbeitet. Der Bildspeicher-Entwurf der Patentschrift US-A-4,442,503 basiert auf demselben Verfahren, wie US-A-4,434,502, das heißt, bei dieser Lösung muß der Bildspeicher aus einer Reihe kleinerer Module aufgebaut sein. Demzufolge ist das Thema von US-A-4,442,503 eine Adressen- Transformationseinrichtung, die zweidimensionale Adressen- Matrizen, zum Beispiel in der Vektor-Graphik, in getrennte Adressen für jedes Bildspeichermodul umwandelt und die Adressen auf die Adresseneingänge jedes Speichermoduls verteilt. Die Anzahl der Speichermodule entspricht im wesentlichen dem vertikalen Maß der Vektor-Strobe-Datei.
  • Andererseits stellt die vorliegende Erfindung eine Organisation und Implementierung eines zweidimensionalen Bildspeichers bereit. Ein solcher Speicher kann mit Erfolg zur Speicherung von Raster-Bildern sowie auch für die Vektor-Graphik verwendet werden, ohne daß eine zusätzliche Adressenumwandlung und die Bereitstellung getrennter Adressierungen für eine Anzahl von Speichermodulen erforderlich ist.
  • US-A-4,475,104 von T. Shen mit dem Titel "THREE DIMENSIONAL DISPLAY SYSTEM" beschreibt eine Methode, die in dieser Patentschrift als Z-Speicher-Algorithmus bezeichnet wird, wodurch die zweidimensionale Darstellung und Speicherung von dreidimensionalen Bildern vereinfacht wird. Die genannte Patentschrift beschäftigt sich jedoch nicht mit der Bildspeicherarchitektur, sondern vielmehr nur mit den Methoden der Interpretation von in dem Bildspeicher gespeicherten Daten. Dieser Ansatz ist ein ganz anderer als die Speicherorganisation der vorliegenden Erfindung.
  • Ein Artikel mit dem Titel "ALL POINTS-ADDRESSABLE RASTER DISPLAY MEMORY" von Dill et al, der im IBM Journal of Research and Development, Band 28, Nr. 4, Juli 1984, erschienen ist, bezieht sich insofern auf die vorliegende Erfindung, als er eine zweidimensionale Bildspeicherarchitektur beschreibt. Das in dem Artikel beschriebene System erfordert keine Unterteilung des Bildspeichers in kleinere Speichermodule mit separaten Adressenbussen, wie die beiden ersten Patente, auf die weiter oben Bezug genommen wurde. In diesem Artikel werden zwei Architekturen beschrieben. Beide unterscheiden sich jedoch von der in der vorliegenden Erfindung beschriebenen Architektur
  • Bei dem ersten Lösungsweg ist ein getrennter Adressen-Inkrementierer erforderlich, der sich in jedem Speicherchip befindet. Leider sind solche Chips gegenwärtig nicht erhältlich. Zudem ist es kaum denkbar, daß man den Platz auf einem Chip gegen einen zusätzlichen Inkrementierer eintauscht, wenn er für zusätzliche Speicherzellen verwendet werden kann. Demnach hat ein solcher Ansatz eher theoretischen als praktischen Wert.
  • In dem zweiten Lösungsweg, der in dem Artikel beschrieben wird, werden keine speziellen Speicherchips mit darauf befindlichem Adressen-Inkrementierer verwendet, sondern es werden stattdessen die Speichereingangs-/-ausgangsbits manipuliert, indem nur die gewünschten Bits ausgewählt werden. Für diese Methode ist im Vergleich zum Bildspeicher die doppelte Anzahl von Speicherchips erforderlich.
  • In dem Ansatz der vorliegenden Erfindung soll ein Adressen- Inkrementierer verwendet werden und zweireihige- und zweispaltige Adressen sollen zeitlich unterteilt werden. So kann jeder Chip, auch ohne daß sich darauf ein zusätzlicher Adressen-Multiplexer befindet, entweder eine inkrementierte oder eine nicht inkrementierte Reihenadresse sowie eine inkrementierte oder nicht inkrementierte Spaltenadresse erhalten. Folglich bietet die vorliegende Erfindung eine effektive Möglichkeit, herkömmliche Speicherchips zu verwenden, ohne daß zusätzliche Speicherchips erforderlich sind. Die Anzahl der erforderlichen Speicherchips muß nur so groß sein, daß ein volles Bild gespeichert werden kann; in dem Ausführungsbeispiel der vorliegenden Erfindung wird zum Beispiel eine Viermal-Vier-Pufferspeicherebene beschrieben, die aus sechzehn 64K-mal-8-Bit-Speicherchips aufgebaut ist. Mit dieser Anzahl ist die komplette Speicherung eines 8-Bit-Bildes von 1K mal 1K möglich. Bei dem in dem Vortrag beschriebenen Ansatz wären zwei Chips erforderlich, um eine Adressierfähigkeit aller Punkte für ein Bildpunktguadrat von Vier mal Vier bereit zustellen, oder die zweifache Speicherkapazität, wie sie für die Basis-Bildspeicherung erforderlich ist.
  • Das in dem obigen Artikel beschriebene System unterscheidet sich außerdem von dem der vorliegenden Erfindung dadurch, daß hier nicht über eine Längenreduzierung der Eingangs-/Ausgangsdaten diskutiert wird, mit Ausnahme dessen, was für die Bildpunktadressierbarkeit erforderlich ist, wenn der zweite in dem Vortrag beschriebene Ansatz verwendet würde. Allgemein ist eine solche Reduzierung im Hinblick auf die Schnittstelle mit dem externen Mikroprozessor, den Graphik- Generator-Einheiten etc. nicht ausreichend. Demgegenüber ist das System der vorliegenden Erfindung genau mit diesem Problem beschäftigt.
  • EP-A-0 163 209 ist auf die interne Architektur dynamischer Speicherchips ausgerichtet und beschäftigt sich mit der Bereitstellung einer Vielzahl von Datenpfadbreiten für-Bildschirmformate. Im einzelnen wird eine Möglichkeit bereitgestellt, die Anzahl der bei Anforderung eines anderen Formats verwendeten Chips zu reduzieren, inbesondere, wenn die horizontale Auflösung keine durch Zwei teilbare Zahl ist.
  • Dieses Problem ist von dem der vorliegenden Erfindung zu trennen; die Lösung des Problems hat weder einen Einfluß auf die Implementierung eines in allen Punkten adressierfähigen Hochleistungs-Bildspeichers, noch wird die Implementierung eines solchen Bildspeichers hierdurch erleichtert, wie es bei der vorliegenden Erfindung der Fall ist.
  • Gemäß der Erfindung wird ein Bildspeicher für eine Raster- Scan-Videoanzeige bereitgestellt, bei dem ein Zugriff auf Speicherzellen möglich ist, die einer auf den Bildpunkt ausgerichteten MxN-Marix von zusammenhängenden Bildpunkten entsprechen, die auf dem Bildschirm der Anzeigevorrichtung angezeigt werden sollen, wobei der Bildspeicher folgendes aufweist: Direktzugriffsspeicher mit einer Matrix von separat adressierfähigen Speicherabschnitten, wobei die Matrix der Speicherabschnitte N Reihen und M Spalten aufweist. N Reihen- Adressen-Strobeleitungen (RAS), jede angeschlossen an jeden Abschnitt in einer entsprechenden Reihe der Matrix von Speicherabschnitten, und M Spaltenadressen-Strobeleitungen (CAS), jede angeschlossen an jeden Abschnitt in einer entsprechenden Spalte der Matrix von Speicherabschnitten; einen von allen Speicherabschnitten gemeinsam genutzten Adressenbus, um die Speicherzellen, die der MxN-Matrix von zusammenhängenden Bildpunkten auf der Bildschirmanzeige in der Matrix der Speicherabschnitte entsprechen, für den Zugriff zu identifizieren, eine Zelle von jedem Abschnitt; jeder Abschnitt hat Ausgangs- und Schreibfreigabemittel, mit denen Daten in eine adressierte Speicherzelle geschrieben und aus dieser gelesen werden können, und Datenleitungen für den Transfer von Daten zu oder von adressierten Speicherzellen, wobei die Datenleitungen aller Abschnitte in jeder Spalte miteinander verbunden sind; und Adreß- und Ansteuersignal-Erzeugungsmittel (Fig. 11) , die von einer an den Bildspeicher gelieferten Ursprungs-Bildpunktadresse (PO) Ansteuersignale für die Erregung des genannten Adressenbusses und der Strobe-Leitungen ableitet, um auf die der MxN-Matrix von Bildpunkten entsprechenden Speicherzellen zuzugreifen, deren Lage auf dem Bildschirm durch den Ursprungs-Bildpunkt identifiziert wird.
  • Es folgt eine Beschreibung einer Form von Bildspeicherarchitektur dieser Art, die in einem Video-Adapter für eine Raster-Scan-Anzeige verwendet werden kann, welche die Fähigkeit bereitstellt, auf eine auf den Bildpunkt ausgerichtete rechteckige M-mal-N Bildpunkt-Matrix von einem Direktzugriffs-Videospeicher zuzugreifen, bei der der Speicher M mal N separat adressierfähige Speicherabschnitte mit einem gemeinsamen Adreßbus aufweist, wobei die Video-Daten so organisiert sind, daß jeder Bildpunkt in der M-mal-N-Matrix auf dem Bildschirm in einem anderen Speicherabschnitt gespeichert wird, und Adressiermittel für den Zugriff auf eine M-mal-N- Matrix von Speicherabschnitten durch Adressen, die von der dem System zugestellten Ursprungs-Bildpunktadresse der Matrix (PO) abgeleitet werden.
  • Diese Architektur ist in der Lage, auf eine beliebig ausgerichtete M-mal-N-Matrix eines Bildpufferspeichers zuzugreifen, indem alle Speicherchips von einem gemeinsamen Adressenbus angesteuert werden, und indem die Speichermatrix von N RAS-Leitungen horizontal und von M CAS-Leitungen vertikal nach unten angesteuert wird (in dem beschriebenen Ausführungsbeispiel 4 mal 4).
  • Mit dieser Architektur ist außerdem die Steuerung der Schreiboperation einzelner Bildpunkte in dieser Matrix möglich, indem die Schreibfreigabe-Stifte zu jedem Speicherchip direkt angesteuert werden.
  • Die Datenleitungen im Puffer sind miteinander verbunden, so daß nur M horizontale Bildpunkte gelesen oder geschrieben werden können. Dies bedeutet weniger Datenleitungen für den Speicher und weniger zu berechnende Bits. Während der Leseoperationen steuern die Ausgangsfreigaben, welche Reihe gerade gelesen wird. Während der Schreiboperationen steuern die obengenannten Schreibfreigaben, welche Reihe gerade geschrieben wird.
  • Der beschriebene Puffer hat eine Ebenen-Maske, die selektiv erregt werden kann, um gewünschte Bildpunktebenen zu sperren.
  • Durch sequentielle Steuerung der Ausgangsfreigaben zu verschiedenen Reihen kann der Bildspeicher einen schnellen Zugriff auf 3 Reihen bereitstellen, nachdem normal auf eine zugegriffen wurde. Hierdurch ist die wirtschaftlichere Lösung eines kleinen Datenbusses möglich, sowie auch eine hohe Geschwindigkeit für sequentielle Aktualisierungen.
  • Zusätzlich zu der beschriebenen Technik für den schnellen Zugriff auf aufeinanderfolgende Reihen eines Quadrats von 4 mal 4 kann die Pufferorganisation außerdem auf die benachbarten 4 mal 4-Quadrate im Page-Modus zugreifen. Der Page- Modus kann nur verwendet werden, wenn diese aufeinanderfolgenden 4 mal 4-Quadrate dieselbe Reihenadresse haben. Hiermit ist ein Zugriff mit dem 2- bis 4-fachen der normalen Speicherzugriffsgeschwindigkeit möglich. Die Quadrate entlang einer Reihe liegen immer auf derselben Reihenadresse.
  • Die beschriebene Anordnung funktioniert ebensogut bei anderen Quadrat-Organisationen mit unterschiedlicher Größe (zum Beispiel 8 mal 8, 16 mal 16) oder für andere rechteckige Organisationen mit unterschiedlicher Größe (zum Beispiel 3 mal 4, 5 mal 4 etc.) . Diese anderen Konfigurationen würden natürlich soviele gleichzeitig zugriffsfähige Speicherchips oder Abschnitte erfordern, wie sich Bildpunkte in der rechteckigen Matrix befinden, auf die zugegriffen wird. So wären für eine 8-mal-8-Matrix 64 Abschnitte, für eine 4-mal-5-Matrix 20 Abschnitte erforderlich.
  • Im Gegensatz zu einer herkömmlichen Implementierung eines solchen Bildspeichers verwendet die vorliegende Erfindung eine reduzierte Anzahl von E/A- und Adressen-Leitungen und wesentlich weniger speicherunterstützende Hardware. Folglich erhält man mit einer solchen Bildspeicherarchitektur eine Anzeige, die weniger kostet, die jedoch die Leistung eines wesentlich teuereren Systems bietet. Die vorliegende Erfindung soll weiter anhand eines Beispiels unter Bezugnahme auf ein Ausführungsbeispiel der Erfindung beschrieben werden, wie es in den beiliegenden Zeichnungen erläutert wird; es zeigt:
  • FIG. 1 ein höheres Funktionsblockdiagramm der Architektur eines Gesamt-Video-Adapters, in dem die vorliegende Erfindung einen besonderen Nutzen hat;
  • FIG. 2 ein Diagramm, das eine quadratische 4-mal-4-Bildpunkt- Matrix auf dem Bildschirm zeigt, welche die Adressierung einzelner Bildpunkte und die acht Datenbits jedes Bildpunktes darstellt;
  • FIG. 3 ein Diagramm zur Erläuterung der effektiven Adressen- Ansteuerungs-(strobe) und -Datenleitungen für die 4-mal-4- Bildpunkt-Matrix auf dem Bildschirm, wie in FIG. 2 erläutert;
  • FIG. 4 ein Diagramm zur Erläuterung eines 4-mal-4-mal-8-Bit- Bildpunktsegments des Bildspeichers, das die Ausrichtung der Freigabesignale für die Direkt-Maske und die Ebenen-Maske zeigt;
  • FIG. 5.1 eine Bildspeicher-Abbildung einer typischen Anordnung von sechzehn Bildpunkten der ausgerichteten Vier-mal- Vier-Bildpunkt-Matrix auf dem Bildschirm, wie in FIG. 5.2 gezeigt;
  • FIG. 5.2 die Lage einer Vier-mal-Vier-Bildpunkt-Matrix auf dem Bildschirm, ausgerichtet" an Wortgrenzen (nicht ausgerichtet);
  • FIG. 6.1 eine Bildspeicher-Abbildung einer typischen Anordnung von sechzehn Bildpunkten einer nicht ausgerichteten Vier-mal-Vier-Bildpunkt-Matrix auf dem Bildschirm, wie in FIG. 6.2 gezeigt;
  • FIG. 6.2 die Lage einer Vier-mal-Vier-Bildpunkt-Matrix auf dem Bildschirm, die nicht auf genaue Wortgrenzen "ausgerichtet" ist;
  • FIG. 7 das Erscheinungsbild einer Vier-mal-Vier-Bildpunkt- Matrix auf dem Bildschirm, ähnlich der in FIG. 6.2, die ein nicht ausgerichtetes Wort zeigt, welches, zusammen mit FIG. 8-10, als Beispiel dient, um die Erzeugung der entsprechenden Reihen- und Spaltenadressen-Strobes aus der Adresse des Bezugsbits PO zu zeigen;
  • FIG. 8 ein Diagramm der Reihe von Reihen- und Spaltenadreß- Strobes zur Erläuterung der relativen zeitlichen Abstimmung, die für die Adressierung der nicht ausgerichteten Vier-mal- Vier Bildpunkt-Matrix der FIG. 7 erforderlich ist;
  • FIG. 9 die von der Schaltmatrix SWX (FIG. 11) ausgeführte Verteilung der zwei Spaltenadressen-Strobes der FIG. 8 auf die vier erforderlichen Spaltenadressen-Strobe-Signale, die direkt an die Speicherchips angelegt werden, wie es von dem in FIG. 7 gezeigten Beispiel gefordert wird;
  • FIG. 10, ähnlich wie FIG. 9, die Verteilung der beiden Reihenadressen-Strobe-Signale auf die vier Strobe-Signale, die direkt an die Speicherchips angelegt werden;
  • FIG. 11 ein Funktionsblockdiagramm des Adressier- und Zugriffssteuerungs-Schaltsystems des Bildspeichers, welches die erforderlichen Steuersignale (Adressen und Strobes) erzeugt, um auf beliebige Quadrate auf der Bildschirmfläche zuzugreifen;
  • FIG. 12 eine Abbildungstabelle, welche die logische Funktion des Schalters SWX in FIG. 11 definiert;
  • FIG. 13 ein logisches Diagramm einer möglichen Implementierung des Schalters SWX der FIG. 12;
  • FIG. 14, ähnlich wie FIG. 7, eine nicht ausgerichtete Vier- mal-Vier-Bildpunkt-Matrix auf dem Bildschirm zur Erläuterung der Direktmasken-Erzeugung, wie sie für FIG. 15 dargelegt wurde;
  • FIG. 15, in Form eines Diagramms, die automatische zweidimensionale Drehung der direkten Maske unter Steuerung der x- und y-Ausrichtungsschaltkreise für das betreffende Beispiel der FIG. 14; und
  • FIG. 16 ein höheres Blockdiagramm zur Erläuterung einer Form der Gesamt-Bildspeicherarchitektur der vorliegenden Erfindung.
  • Vor einer ausführlichen Beschreibung der vorliegenden Bildspeicherarchitektur, mit der auf quadratische Worte-des Bildschirms, die auf Bildpunkte ausgerichtet sind, zugegriffen werden kann, soll ein kurzer Überblick eines Video-Adapters gegeben werden, in dem die vorliegende Erfindung einen besonderen Nutzen hat. Natürlich dient der hier beschriebene Video-Adapter nur der Erläuterung und die vorliegende Erfindung könnte auch mit anderen Video-Adapter-Architekturen vorteilhaft genutzt werden, wie für den Fachmann erkennbar ist.
  • Ein Gesamt-Funktions-Blockdiagramm eines Video-Anzeigeadapters, in dem die vorliegende Erfindung einen besonderen Nutzen hat, ist in FIG. 1 dargestellt.
  • Man stelle sich den Video-Anzeige-Adapter als einen mittleren Graphikanzeigeadapter mit hoher Auflösung vor, der einen beliebigen Bildschirm aus einer Reihe von aktuell erhältlichen Anzeigebildschirm-Einheiten ansteuern könnte, wie zum Beispiel den IBM 5081. In einer momentan realisierbaren Form unterstützt er einen solchen Bildschirm mit einer Auflösung von 1024 mal 1024 Bildpunkten und stellt pro Bildpunkt acht Bit Videodaten-Information bereit, wodurch man 256 mögliche Steuerungsmerkmale erhält, die auf eine größere Anzahl von Farben aufgeteilt werden können.
  • Es folgt eine kurze Beschreibung der Gesamtfunktion des Adapters, wobei für eine ausführlichere Beschreibung eines solchen Adapters auf EP-A-0 279 226, (KI9-86-029) verwiesen wird. Da die Hauptaufgabe des Video-Anzeigeadapters insgesamt darin besteht, verbesserte Video-Anzeigefunktionen in einem vergleichsweise preiswerten Adapter bereitzustellen, der wiederum an Prozessoren oder CPUs mit etwas geringerer Rechenleistung angeschlossen werden kann, werden die Funktionen, die sonst in einer anspruchsvolleren CPU ausführbar wären, in den vorliegenden Adapter-Funktionen bereitgestellt. Desweiteren sind die Funktionen über einen relativ geradlinigen und vereinfachten Befehlssatz implementierbar.
  • Bezugnehmend auf FIG. 1 besteht der Gesamtadapter aus den folgenden Hauptkomponenten. Der digitale Signalprozessor 10 dient zur Verwaltung der Ressourcen des Gesamtadapters, transformiert jedoch auch Anzeigekoordinaten und führt eine Reihe anderer ziemlich anspruchsvoller Signalverarbeitungsaufgaben aus.
  • Der Befehls- und Datenspeicherblock 12 ist ein Befehls-RAM, der mit einem zusätzlichen Mikro-Code für den Signalprozessor geladen werden kann, wie verständlich wird. Block 12 wirkt ebenfalls als ein Daten-RAM und stellt die primäre Schnittstelle zwischen dem Signalprozessor 10 und dem Systemprozessor bereit. Darüber hinaus hat er die Funktion eines Hauptspeichers für den Signalprozessor 10.
  • Block 14 mit der Bezeichnung Befehl FIFO dient als Eingangs puffer für die Weitergabe sequentieller Befehle zum digitalen Signalprozessor 10 über den E/A-Bus 16 und verbindet, wie zu sehen ist, den Video-Anzeigeadapter mit dem Systemprozessor.
  • Der Bildpunkt-Prozessor 18 enthält eine Logik, die eine Reihe von anzeigeunterstützenden Funktionen ausführt, wie zum Beispiel Linienzeichnen und Adressenmanipulation, mit der finite Bereiche des Anzeigebildschirms manipuliert werden können (BIT BLT). Eine Reihe von neuartigen Aspekten des vorliegenden Anzeigeadapters sind in dem Bildpunkt-Prozessorblock untergebracht.
  • Block 20 mit der Bezeichnung Bildspeicher umfaßt den Video- Direktzugriffsspeicher, der den Monitor über eine entsprechende Digital-Analog-Umwandlungsschaltlogik speist. Wie man sehen kann, hat die hierin beschriebene Konfiguration eine Auflösung von etwa 1K mal 1K Bildpunkten, wobei jeder Bildpunkt ein diskretes Element von auf dem Monitor angezeigten Video-Daten darstellt, das so viele Informationen enthalten kann, wie in den acht Ebenen des Bildspeichers gespeichert werden können, was, wie gut zu sehen ist, bedeutet, daß es acht Datenbits pro Bildpunkt gibt. Wie weiter zu sehen ist, können diese acht Bits auf das Rot, Grün und Blau eines Farbbildschirms aufgeteilt sein oder einfach auf die Intensitätsinformation in der Graustufen-Skala eines Schwarz-Weiß-Bildschirms.
  • Wir beschäftigen uns in der vorliegenden Beschreibung hauptsächlich mit der Architektur des Bildspeichers 20, der eine Reihe von Merkmalen bereitstellt, die es möglich machen, daß der Video-Adapter wesentlich schneller arbeitet, wie aus der nachfolgenden Beschreibung noch deutlich wird.
  • Setzen wir nun die Beschreibung der vorliegenden Bildspeicherarchitektur fort; in der folgenden Beschreibung wird ein Bildspeicher mit einer Auflösung von 1K (1024) mal 1K mal acht (Bits von Video-Daten pro Bildpunkt) angenommen. Alle Entwurfs-Parameter lassen sich leicht auf Bildspeicher mit anderen Auflösungswerten und einer anderen Anzahl von Bits pro Bildpunkt ausweiten. Dieser Bildspeicher würde wahrscheinlich aus 16 Speicherchips aufgebaut, jeweils mit einer Kapazität von 64K mal 8 Bits (zum Beispiel 256 mal 256 mal 8), obwohl auch ein Aufbau aus kleineren Chips möglich ist (zum Beispiel zwei 64K-mal-4-Chips oder acht 64K-mal-1-Chips anstelle jedes 64K-mal-8 Bit-Chips).
  • Somit kann auf 16 Bildpunkte parallel zugegriffen werden, auf je einen Bildpunkt von jedem Chip. Auf diese 16 Bildpunkte kann, wie im Vordergrund von FIG. 2 erläutert, in Form eines 4-mal-4-Quadrats zugegriffen werden. ln einem Speicherzyklus kann auf 128 Datenbits zugegriffen werden, das entspricht 16 Bildpunkten, durchnumeriert von 0 bis 15. Hierbei ist klar, daß die Matrix im gesamten Bildspeicher so verteilt ist, daß ein Bildpunkt jeder Matrix auf einem anderen Chip oder in einem anderen Abschnitt des Bildspeichers gespeichert ist. Dies wird aus der folgenden Beschreibung deutlicher. FIG. 3 zeigt die Signale, die erforderlich sind, um eine solche Bildspeicherorganisation anzusteuern. Hierbei sollte man davon ausgehen, daß alle in der Figur dargestellten Bildpunkte tatsächlich auf alle 16 Chips verteilt, jedoch entlang gemeinsamer Reihen und Spalten angeordnet sind. Ein acht Bit X- und Y-Adressenbus wird für alle Speicherchips gemeinsam verwendet. Auf den Chips müssen nur acht Bits vorhanden sein, da nur auf 256 Reihen oder Spalten auf jedem Chip zugegriffen werden muß und alle Chip-Adressenleiter in Reihen und Spalten miteinander verbunden sind. Die Datensignale (Eingang/Ausgang) sind in vertikaler Richtung angeschlossen und bilden einen 32-Bit-Datenbus. Hierdurch wird der Zugriff auf alle sechzehn Bildpunkte (128 Bits) möglich, wenn die entlang jeder Spalte geschriebenen Daten gleich sind (wie es beim Löschen, bei Bildfülloperationen oder beim Zeichnen vertikaler Linien der Fall ist), andernfalls sind jedoch Lese- und Schreiboperationen von 4 horizontalen Bildpunkten möglich, die sich in jeder der vier Reihen befinden können. Die vier RAS-Signale werden entlang der Reihen gesteuert, so daß alle Chips in derselben Reihe dieselbe Reihenadresse haben. Entsprechend haben alle Chips in derselben Spalte eine gemeinsame Spaltenadresse. Auf jedes Wort (von 32 Bits) kann zugegriffen werden, indem vier zeitlich unterteilte 8-Bit- Adressen auf dem Adressenbus geliefert werden. Zwei davon sind Reihenadressen, die beiden anderen sind Spaltenadressen. Bei einer Bildpunkt-Matrix, die sich vollständig in einem durch fiktive Koordinatenlinien begrenzten Bereich befindet, der physische Wortgrenzen an jeder N-ten Reihe und jeder M- ten Spalte definiert, bezeichnet als auf das Wort ausgerichtete Matrix, ist nur jeweils eine erforderlich, wie nachfolgend erklärt wird. Jeder Chip empfängt nur eine Reihen- und Spaltenadresse, die von einem der beiden Reihenadressen- Strobes und einem der beiden Spaltenadressen-Strobes ausgewählt wird.
  • Figur 4 erläutert die übrigen Steuersignale (zum Beispiel Ausgangssignale und Schreibfreigabesignale), welche die Fähigkeit steuern, jede Kombination von Bildpunkten und Ebenen für die gesamte Matrix zu maskieren. Die "direkte" Maske steuert, welche Bildpunkte in dem Quadrat geschrieben werden, und wird durch selektive Steuerung der Schreib-"Freigabe"- Signale aller 16 Chips implementiert. Die Ebenen-Maske steuert, welche Ebene geschrieben wird, und ihre Implementierung hängt ab von der internen Logik der Speicherchips, die für den Aufbau des Bildspeichers verwendet werden. Werden zum Beispiel NEC-UPD41264-Chips verwendet, wird die Ebenen-Maske bereitgestellt, indem die entsprechenden Daten auf dem Datenbus während des Reihenadressen-Strobes geliefert werden. Bei 64K-mal-1-Chips kann die Maskierung der Ebene durch 32 getrennte CAS-Signale erfolgen, acht pro Spalte, wobei nur diejenigen freigegeben werden, bei denen die Ebene freigegeben wird.
  • Figs. 5.1 und 5.2 zeigen eine Übereinstimmung zwischen der Lage von Bildpunkten auf dem Bildschirm und den Adressen, die dem Bildspeicher für eine ausgerichtete Matrix geliefert werden. Der schraffierte Bereich auf dem Bildschirm der Figur 5.2 zeigt 16 Bildpunkte, auf die gleichzeitig zugegriffen wird. Das schwarz eingezeichnete Quadrat in jedem Chip der Figur 5.1 zeigt eine Zelle oder einen Bildpunkt, auf die/den entsprechend diesem Bereich zugegriffen würde. Fette Linien auf dem Bildschirm markieren Wortgrenzen. Liegt das Bildpunkt-Quadrat genau innerhalb dieser Grenzen, sind die an alle 16 Speicherchips gelieferten Adressen gleich, man spricht von einer auf das Wort ausgerichteten Matrix. Wenn also auf das Quadrat mit den Koordinaten (4,0) des Bildpunkts P0 zugegriffen wird, dann ist für alle Chips die Reihenadresse gleich 0 und die Spaltenadresse gleich 1.
  • Die FIGS. 6.1 und 6.2 entsprechen den FIGS. 5.1 und 5.2, stellen jedoch die Bedingung einer nicht auf das Wort ausgerichteten Matrix dar. So liegt die Matrix über einer oder mehreren Wortgrenzen. In dem Beispiel von FIG. 6.2 liegt die Matrix, in der die Koordinaten des Bildpunkts P0 bei (5,1) liegen, in zwei vertikalen und zwei horizontalen Adressenräumen. Dies führt zu der in FIG. 6.1 gezeigten Verteilung im Bildspeicher. Man kann feststellen, daß alle 16 Bildpunkte immer noch innerhalb von vier Spalten (2,1,1,1) und vier Reihen (1,0,0,0) liegen. Die von jedem Chip empfangenen Adressen sind verschieden. Diese Adressen werden durch die Adressier- Schaltlogik berechnet, wie nachfolgend unter Bezugnahme auf das in FIG. 7 gezeigte Beispiel erläutert wird. FIG. 7 erläutert eine Auswahl von Adressen, die an die Speicherchips angelegt werden, wenn ein Bildpunkt-Quadrat nicht an den Wortgrenzen liegt (nicht ausgerichtet ist). Wenn zum Beispiel die Koordinaten von P0 (229,247) sind, dann müßten die Bildpunkte P0, P1, P2 die Reihenadresse 61 und die Spaltenadresse 57 erhalten, der Bildpunkt P3 müßte die Adressen 58, 61 etc. erhalten. Das heißt, es gibt vier Adressenpaare, die den 16 Chips zugeordnet werden müssen.
  • FIG. 8 erläutert die zeitliche Abstimmung der Adressen, die an die Reihen- und Spaltenadressenbusse aller 16 Chips geliefert werden, in bezug auf die vier Steuersignale RASA, RASB, CASA und CASB. Die FIGS. 9 und 10 erläutern die Verteilung der vier oben genannten Signale auf acht Signale RAS 1-4 und CAS 1-4 für eine beliebige Matrix, die wiederum direkt zu den Reihen und Spalten der Speicherchips geliefert werden. So können mit CASA, CASB, RASA und RASB bis zu zwei Reihen- und Spaltenadressen in jedem Chip ausgewählt werden. RAS 1-4 und CAS 1-4 sind die tatsächlichen Strobe-Impulse, die an die oben ausgewählten Adressenieitungen angelegt werden. RAS 1 wird an die vier Chips in Reihe 1 der Chip-Matrix im Bildspeicher etc. angelegt, und CAS 1 wird an die Chips in Spalte 1 der Chip-Matrix im Bildspeicher angelegt.
  • Die Schaltlogik und die zeitliche Abstimmung werden von den beiden letzten Bits der X- und Y-Adressen gesteuert. Für das oben genannte Beispiel wird also CASA an CAS2, CAS3 und CAS4 angelegt; CASB wird an CAS 1 angelegt; RASA wird an RAS4 angeschlossen und RASB wird an RAS1, RAS2 und RAS3 angeschlossen.
  • FIG. 11 zeigt die erforderliche Hardware, die den Zugriff auf eine beliebige quadratische Matrix bereitstellt, basierend auf dem oben besprochenen Prinzip. Zwei 10-Bit-Adressenregister ADRX und ADRY werden mit den Koordinaten des Bildpunkts P0 geladen (in dem Beispiel ADRX = 229, ADRY = 247). Die höherwertigen 8 Bits jeder Adresse werden mit einem entsprechenden Inkrementierer (INCRX und INCRY) verbunden und mit dem Vier-zu-Eins-Multiplexer MUX. Die Speicheroperation beginnt, wenn ein Signal "Speicheroperation starten" (MOP) an eine Ablaufsteuerung SEQ angelegt wird, die wiederum die Signale RASA, RASB, CASA und CASB bereitstellt. Die zuletzt genannten Signale steuern den MUX, stellen die unten auf FIG. 8 dargestellte Adressenseguenz bereit und speisen außerdem die Eingänge von zwei funktionell gleichen logischen Schaltern SWX und SWY. Der Schalter SWX verteilt CASA und CASB auf vier Signale CAS1-4 unter Steuerung der beiden letzten Bits des ADRX-Registers XAD0, XAD1, und der Schalter SWY verteilt RASA und RASB auf vier Signale RAS1-4, unter Steuerung der beiden letzten Bits des ADRY-Registers, YAD0, YAD1.
  • FIG. 12 definiert die logische Funktion oder die Wahrheitstabelle des Schalters SWX und zeigt die Übereinstimmung zwischen seinen Eingangs- und Ausgangssignalen als eine, Funktion der zwei letzten Bits der X-Adresse. FIG. 13 zeigt die mögliche Implementierung des SWX-Schalters entsprechend der durch Tabelle 1 festgelegten Logik. Die logische Funktion für Schalter SWY ist nicht dargestellt, da sie mit der des Schalters SWX identisch ist, zum Beispiel würden CAS 1-4, A und B, durch RAS 1-4, A und B, ersetzt. Die in FIG. 7 dargestellte quadratische Matrix würde durch eine Adresse P0 (229, 247) definiert, was auf den Bildschirm-Koordinaten des Bildpunkts P0 zu erkennen ist (dem Ursprung der Matrix). Die höherwertigen acht Bits der X-Adresse werden auf 7, X(9...2) = 7 decodiert; die niederwertigen zwei Bits werden auf 1, X(1,0) = 1 decodiert; die höherwertigen acht Bits der Y-Adresse werden auf 61, Y(9....2) 61 decodiert; und die niederwertigen zwei Bits werden auf 3, Y(1,0) = 3 decodiert. FIG. 8 gibt die Adressen an, die über den MUX der FIG. 12 an den Bildspeicher angelegt werden während der Zeiten, in denen CASA, CASB und RASA, RASB aktiv sind.
  • FIGS. 9 und 10 zeigen die Verteilung der Strobe-Signale CAS 1-4 und RAS 1-4 auf die jeweiligen Reihen und Spalten von Chips während der Adressenseguenzen CASA, CASB und RASA, RASB. Die jeweilige Ausgangskonfiguration wird von den zwei logischen Schaltern SWX und SWY bestimmt und ist für das Beispiel in FIG. 7 graphisch dargestellt und oben beschrieben. Wie bereits gesagt wurde, ist die logische Funktion, die die Ausgänge von SWX und SWY definiert, in FIG. 12 dargestellt.
  • Eine Auswertung der oben genannten Matrix-Adresse P0 (231, 247) ist in FIG. 11 durch die in Klammern gesetzten Zahlen unter MUX, INCRX, INCRY, SWX und SWY dargestellt.
  • FIGS. 14 und 15 zeigen die erforderliche Ausrichtung der Direktmaske entsprechend der Lage des Bildpunkt-Quadrats. Zwei Ausrichter, einer für die horizontale Richtung (XAL) und einer für die vertikale Richtung (YAL) drehen die 16-Bit-Maske unter Steuerung durch die vier niederwertigen X- und Y-Adreßbits X(1,0) und Y(1,0). Die Datenausrichtung ist ebenfalls erforderlich, das entsprechende Prinzip wurde in der bereits genannten US-Patentschrift 4,435,792 mit dem Titel "RASTER MEMORY MANIPULATION APPARATUS" von Andreas Bechtolsheim beschrieben und bedarf daher an dieser Stelle keiner näheren Erläuterung. Es soll jedoch erwähnt werden, daß für den hier beschriebenen Bildspeicher eine Datenausrichtung nur für eine (horizontale) Richtung erfolgen muß und vierfach weniger Hardware benötigt wird.
  • FIG. 15 stellt graphisch die von den beiden Ausrichtern XAL und YAL ausgeführte Abbildung für die in FIG. 14 dargestellte Matrix dar, P0 (230, 247). Wie verständlich wird, muß die Masken-Matrix, die den Zugriff auf bestimmte Bildpunkte im Bildspeicher (FB) selektiv steuert, aus ihrer ursprünglichen Form, bei der das Ausrichtungsmodul links eingegeben wurde, rekonfiguriert werden auf die dargestellte Konfiguration, die zu dem FB auf der rechten Seite der Figur geht, was natürlich durch die Lage des betreffenden Bildpunktes im FB bedingt ist.
  • FIG. 16 zeigt die Gesamtimplementierung des beschriebenen Bildspeichers. Diese Darstellung spricht für sich selbst, da alle Blöcke, die ihrer Art nach im wesentlichen nicht konventionell sind, beschrieben wurden. Die Bildspeicherorganisation kann weiter dadurch verbessert werden, daß man schnell aufeinanderfolgende Speicherzyklen ermöglicht. Dies ist sehr sinnvoll, da die meisten aufeinanderfolgenden Bildspeicherzugriffe in der Umgebung der vorherigen liegen. Von der Aktualisierungs-Hardware kann somit leicht die von schnelleren, in der Umgebung der vorherigen Zyklen liegenden Aktualisierungszyklen bereitgestellte Verbesserung genutzt werden.
  • Bei der beschriebenen Bildspeicherorganisation sind Lese- und Schreiboperationen von beliebig ausgerichteten Reihen von vier Bildpunkten möglich. Nachdem auf eine Reihe zugegriffen wurde, kann sehr einfach auf jede der anderen drei Reihen in dem betreffenden 4-mal-4-Quadrat zugegriffen werden, indem einfach die Ausgänge dieser Chip-Reihe freigegeben werden. Der Zugriff auf die nächste Reihe erfolgt wesentlich schneller als der Zugriff auf die erste Reihe (in der aktuellen Speichertechnik 50 Nanosekunden gegenüber 300 Nanosekunden).
  • Eine etwas andere Technik für den schnellen Zugriff auf aufeinanderfolgende Worte ist der bei einigen Speicherchips mögliche Zugriff im Page-Modus. Der Zugriff im Page-Modus ist ein Modus für den Speicherchip-Zugriff, bei dem auf Speicherzellen mit derselben Reihenadresse schneller zugegriffen werden kann (typischerweise 1/6 bis 1/3 des normalen Speicherzyklus). Benachbarte 4-mal-4-Quadrate liegen typischerweise auf derselben Reihenadresse und es kann auf sie im Page-Modus zugegriffen werden.
  • Die Technik des schnellen Zugriffs auf aufeinanderfolgende Worte ist auch bei Speicherorganisationen sinnvoll, bei denen Speicherchips von größerer Dichte verwendet werden. Wird ein Bildspeicher mit einer Speicherorganisation von größerer Dichte entworfen, kann der Zugriff auf ein Quadrat von 16 Bildpunkten möglicherweise nicht durchführbar sein, und zwar wegen einer zu geringen Anzahl von Eingangs-/Ausgangsstiften auf den Speicherchips (das heißt, bei einem 1K-mal-1K-Bildspeicher ist nur ein 256-mal-4-Speicherchip erforderlich). In diesem Fall könnte man den Speicher so organisieren, daß nur auf vier horizontale Bildpunkte zugegriffen wird und der schnelle Zugriff auf aufeinanderfolgende Worte verwendet wird, um eine schnelle Aktualisierung bereitzustellen. Das weiter oben beschriebene Merkmal der Ebenen-Maske soll die Auswahl oder das Ignorieren bestimmter Bit-Felder in den einzelnen Bildpunkten bewirken und wäre für einen gegebenen Zugriff gleich (das heißt, dasselbe Bit). Dementsprechend muß es sich nur um ein 8-Bit-Maskenfeld handeln, das an die Ausgangsfreigabeleitungen angelegt wird, die in FIG. 4 schematisch als "Ebenen-Maske" gezeigt werden. Diese Leitungen werden in den vertikalen Ebenen der jeweiligen Chips miteinander verbunden, wie deutlich wird.

Claims (9)

1. Ein Bildspeicher (20) für eine Raster-Scan-Videoanzeige, wobei auf diesen Bildspeicher über Speicherzellen zugegriffen werden kann, die einer auf einen Bildpunkt ausgerichteten MxN-Matrix von zusammenhängenden Bildpunkten entsprechen, die auf dem Anzeigebildschirm angezeigt werden sollen, wobei der Bildspeicher folgendes aufweist:
Direktzugriffsspeicher mit einer Anordnung von getrennt adressierfähigen Speicherabschnitten, wobei die Matrix der Speicherabschnitte N Reihen und M Spalten aufweist;
N Reihenadressen-Strobe-Leitungen (RAS), jede angeschlossen an jeden Abschnitt in einer entsprechenden Reihe der Matrix von Speicherabschnitten und M Spaltenadressen-Strobe-Leitungen (CAS), jede angeschlossen an jeden Abschnitt in einer entsprechenden Spalte der Matrix von Speicherabschnitten;
einen für alle Speicherabschnitte gemeinsamen Adressenbus, um die Speicherzellen, die der MxN-Matrix von zusammenhängenden Bildpunkten auf dem Anzeigebildschirm in der Matrix der Speicherabschnitte entsprechen, für den Zugriff zu identifizieren, eine Zelle von jedem Abschnitt;
jeder Abschnitt verfügt über Ausgangs- und Schreibfreigabemittel, die ermöglichen, daß Daten in eine adressierte Zelle geschrieben und aus dieser gelesen werden können, und Datenleitungen für den Transfer von Daten zu oder von den adressierten Zellen, wobei die Datenleitungen aller Abschnitte in jeder Spalte miteinander verbunden sind;
ein Adressen- und Ansteuersignal-Erzeugungsmittel (Fig. 11), das aus einer dem Bildspeicher zugestellten Urprungs-Bildpunkt-Adresse (P0), Ansteuersignale ableiten kann, die den genannten Adressenbus und die Strobe-Leitungen erregen, um auf die Speicherzellen zuzugreifen, die der MxN-Matrix von Bildpunkten entsprechen, deren Lage auf dem Bildschirm von dem Ursprungs-Bildpunkt identifiziert wird.
2. Ein Bildspeicher nach Anspruch 1, in dem das adressenerzeugende Mittel dieselbe Reihen- und Spaltenadresse an alle genannten Abschnitte liefern kann, wenn die Speicherzellen, auf die zugegriffen wird, einer Matrix von Bildpunkten entsprechen, die vollständig in einem Bereich auf dem Bildschirm liegen, der durch fiktive Koordinatenlinien begrenzt ist, welche physische Wortgrenzen an jeder N-ten Reihe und jeder M-ten Spalte definieren.
3. Ein Bildspeicher nach Anspruch 2, bei dem das adressenerzeugende Mittel Mittel enthält, die innerhalb eines Speicherzyklus zwei aufeinanderfolgende Reihen- und Spaltenadressen an den Speicher liefern, und Mittel für das selektive Erregen eines ersten Satzes von RAS- und CAS-Leitungen während einer ersten Phase, in der die erste der genannten aufeinanderfolgenden Adressen dem Adressenbus zugestellt wird, und eines zweiten Satzes von RAS- und CAS-Leitungen während einer zweiten Phase des Speicherzugriffszyklus, in der die zweite der aufeinanderfolgenden Adressen dem Adressenbus zugestellt wird, mit denen alle N Reihen und M Spalten der Adressen-Strobe-Leitungen während eines gegebenen Speicherzugriffszyklus erregt werden.
4. Ein Bildspeicher nach Anspruch 3, in dem das Mittel für das selektive Erregen logische Mittel umfaßt (SWX, SWY), die von den niederwertigen Bits von der Ursprungs-Bildpunkt-Adresse (PO) erregt werden, um zu bestimmen, welche Reihen- und Spaltenadressen-Strobe-Leitungen in der ersten Phase des Speicherzugriffszyklus erregt werden sollen, und auf welche dieser Leitungen während der zweiten Phase des Speicherzugriffszyklus zugegriffen werden soll.
5. Ein Bildspeicher nach Anspruch 4, bei dem das logische Mittel ein Mittel zum Erregen aller N Reihen- und aller M Spalten-Leitungen während der ersten Phase des Speicherzyklus umfaßt, wenn die Adresse des Ursprungs- Bildpunkts entlang einer der genannten physischen Wortgrenzen liegt, sowohl in Reihen- als auch in Spaltenrichtung.
6. Ein Bildspeicher nach Anspruch 3, bei dem das Mittel für die sequentielle Zustellung von Adressen zum Speicher einen Multiplexer (MUX) umfaßt, der unter Steuerung durch den Speichertakt betätigt werden kann, der einen ersten Satz von X- und Y-Adressen liefert, die von den höherwertigen Bits der Ursprungs-Bildpunkt-Adresse (PO) während der ersten Phase des Speicherzyklus abgeleitet werden, und zum Liefern des Satzes von X- und Y-Adressen, um Eins hochgezählt, während der zweiten Phase des Speicherzyklus.
7. Ein Bildspeicher nach Anspruch 3, ein Mittel zur Erzeugung einer MxN-Adressenmaske aufweisend, zum Steuern des Zugriffs auf bestimmte Bildpunkte in der M-mal-N-Matrix während eines bestimmten Bildspeicherzyklus, der ein Register zum Speichern der direkten Masken enthält;
erste Drehmittel, die mit dem Direktmaskenregister zusammenarbeiten und die Maske in X-Richtung entsprechend der Abweichung der Ursprungs-Bildpunkt-Adresse (PO) von einer physischen Wortgrenze in Reihen-Richtung verschieben, und zweite Drehmittel, die mit dem Direktmaskenregister zusammenarbeiten und die Maske in Spaltenrichtung entsprechend der Abweichung der Ursprungs-Bildpunkt- Adresse von einer physischen Wortgrenze in Spaltenrichtung verschieben.
8. Ein Bildspeicher nach Anspruch 7, bei dem das Mittel zur Bestimmung der X- und Y-Abweichungswerte einen Adressen- Decodierer umfaßt, der die niederwertigen Bits der X- und Y-Adressen, welche die Ursprungs-Bildpunkt-Adresse (P0) definieren, decodiert, um die Bildpunktabweichung von den spezifizierten physischen Wortgrenzen in Reihenund Spaltenrichtung zu bestimmen.
9. Ein Bildspeicher nach Anspruch 3, bei dem die Ausgangsfreigabe- und Datenleitungen für den Speicher so angeordnet sind, daß die komplette MxN-Matrix der Speicherzellen, auf die zugegriffen wird, in vorbestimmte Registerstellen ausgelesen werden kann, ein Bildpunkt von jedem Speicherabschnitt.
DE3852185T 1987-02-12 1988-01-26 Bildspeicher für Raster-Video-Anzeige. Expired - Fee Related DE3852185T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/013,843 US4903217A (en) 1987-02-12 1987-02-12 Frame buffer architecture capable of accessing a pixel aligned M by N array of pixels on the screen of an attached monitor

Publications (2)

Publication Number Publication Date
DE3852185D1 DE3852185D1 (de) 1995-01-12
DE3852185T2 true DE3852185T2 (de) 1995-05-24

Family

ID=21762070

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3852185T Expired - Fee Related DE3852185T2 (de) 1987-02-12 1988-01-26 Bildspeicher für Raster-Video-Anzeige.

Country Status (4)

Country Link
US (1) US4903217A (de)
EP (1) EP0279228B1 (de)
JP (1) JPS63200245A (de)
DE (1) DE3852185T2 (de)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5319786A (en) * 1987-05-20 1994-06-07 Hudson Soft Co., Ltd. Apparatus for controlling a scanning type video display to be divided into plural display regions
USRE39529E1 (en) 1988-04-18 2007-03-27 Renesas Technology Corp. Graphic processing apparatus utilizing improved data transfer to reduce memory size
JPH0736162B2 (ja) * 1988-04-18 1995-04-19 株式会社日立製作所 図形処理装置
US4991110A (en) * 1988-09-13 1991-02-05 Silicon Graphics, Inc. Graphics processor with staggered memory timing
US5020003A (en) * 1988-09-29 1991-05-28 At&T Bell Laboratories Graphics controller image creation
US6727903B1 (en) * 1989-04-20 2004-04-27 Hitachi, Ltd. Microprocessor, and graphics processing apparatus and method using the same
JP3350043B2 (ja) * 1990-07-27 2002-11-25 株式会社日立製作所 図形処理装置及び図形処理方法
FR2666165B1 (fr) * 1990-08-23 1995-02-03 Sextant Avionique Procede de presentation d'images sur un ecran matriciel et systeme pour la mise en óoeuvre du procede.
US5278967A (en) * 1990-08-31 1994-01-11 International Business Machines Corporation System for providing gapless data transfer from page-mode dynamic random access memories
US5345555A (en) * 1990-11-23 1994-09-06 Network Computing Devices, Inc. Image processor memory for expediting memory operations
JPH07120435B2 (ja) * 1990-12-06 1995-12-20 インターナショナル・ビジネス・マシーンズ・コーポレイション 高速zバッファの初期化および更新方法ならびにそのシステム
US5261049A (en) * 1991-07-22 1993-11-09 International Business Machines Corporation Video RAM architecture incorporating hardware decompression
US5613053A (en) 1992-01-21 1997-03-18 Compaq Computer Corporation Video graphics controller with automatic starting for line draws
ATE137040T1 (de) * 1992-01-21 1996-05-15 Compaq Computer Corp Graphische videokontrolleinheit mit verbesserten rechenfaehigkeiten
US5506693A (en) * 1992-09-30 1996-04-09 Harris Corporation Addressing mechanism for interfacing spatially defined imagery data with sequential memory
US5453957A (en) * 1993-09-17 1995-09-26 Cypress Semiconductor Corp. Memory architecture for burst mode access
JP2647348B2 (ja) * 1993-09-20 1997-08-27 インターナショナル・ビジネス・マシーンズ・コーポレイション クリッピング・プレーン・データ記憶システム及び方法
US5680156A (en) * 1994-11-02 1997-10-21 Texas Instruments Incorporated Memory architecture for reformatting and storing display data in standard TV and HDTV systems
US5835970A (en) * 1995-12-21 1998-11-10 Cypress Semiconductor Corp. Burst address generator having two modes of operation employing a linear/nonlinear counter using decoded addresses
US6549218B1 (en) 1999-03-31 2003-04-15 Microsoft Corporation Dynamic effects for computer display windows
KR100809699B1 (ko) * 2006-08-25 2008-03-07 삼성전자주식회사 디스플레이용 데이터 구동 장치, 데이터 출력 장치 및디스플레이용 데이터 구동 방법
US7624251B2 (en) * 2006-11-01 2009-11-24 Apple Inc. Instructions for efficiently accessing unaligned partial vectors
US7620797B2 (en) * 2006-11-01 2009-11-17 Apple Inc. Instructions for efficiently accessing unaligned vectors
US9818170B2 (en) * 2014-12-10 2017-11-14 Qualcomm Incorporated Processing unaligned block transfer operations
CN108509289B (zh) * 2017-02-28 2021-06-29 龙芯中科技术股份有限公司 一种基于MIPS处理器vxWorks系统的验证方法和装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3015125A1 (de) * 1980-04-19 1981-10-22 Ibm Deutschland Gmbh, 7000 Stuttgart Einrichtung zur speicherung und darstellung graphischer information
US4434502A (en) * 1981-04-03 1984-02-28 Nippon Electric Co., Ltd. Memory system handling a plurality of bits as a unit to be processed
US4509043A (en) * 1982-04-12 1985-04-02 Tektronix, Inc. Method and apparatus for displaying images
US4435792A (en) * 1982-06-30 1984-03-06 Sun Microsystems, Inc. Raster memory manipulation apparatus
US4475104A (en) * 1983-01-17 1984-10-02 Lexidata Corporation Three-dimensional display system
US4691295A (en) * 1983-02-28 1987-09-01 Data General Corporation System for storing and retreiving display information in a plurality of memory planes
JPS6097454A (ja) * 1983-11-01 1985-05-31 Nec Corp デ−タ処理装置
US4663735A (en) * 1983-12-30 1987-05-05 Texas Instruments Incorporated Random/serial access mode selection circuit for a video memory system
US4648049A (en) * 1984-05-07 1987-03-03 Advanced Micro Devices, Inc. Rapid graphics bit mapping circuit and method
JPS61159686A (ja) * 1985-01-07 1986-07-19 株式会社日立製作所 画像表示装置
EP0192139A3 (de) * 1985-02-19 1990-04-25 Tektronix, Inc. Steuergerät für einen Rasterpufferspeicher
JPH061449B2 (ja) * 1985-03-04 1994-01-05 富士ゼロックス株式会社 画像編集用イメ−ジメモリ

Also Published As

Publication number Publication date
DE3852185D1 (de) 1995-01-12
US4903217A (en) 1990-02-20
EP0279228A2 (de) 1988-08-24
EP0279228B1 (de) 1994-11-30
JPS63200245A (ja) 1988-08-18
EP0279228A3 (de) 1991-04-17

Similar Documents

Publication Publication Date Title
DE3852185T2 (de) Bildspeicher für Raster-Video-Anzeige.
DE3852045T2 (de) Video-Schnittstelle mit Datenfluss.
DE3853489T2 (de) Grafik-Anzeigesystem.
DE3852989T2 (de) Software-konfigurierbarer Speicher für ein Datenverarbeitungssystem mit graphischer Tätigkeit.
DE69119630T2 (de) Verfahren und Einrichtung zur Maximierung von Spaltenadressenkohärenz für den Zugriff von seriellen und Direktzugriffstoren in einem graphischen System mit einem Rasterpufferspeicher
DE3751720T2 (de) Schaltung für die bildschirmwiedergabe von computern
DE69122226T2 (de) Verfahren und Einrichtung zur Zugriffsanordnung eines VRAM zum beschleunigten Schreiben von vertikalen Linien auf einer Anzeige
DE3850955T2 (de) Anzeigesystem mit einem Fenstermechanismus.
DE3687359T2 (de) Rasterpufferspeicher.
DE3687358T2 (de) Bildpufferspeicher mit variablem zugriff.
DE3789537T2 (de) Matrix-Wortorganisiertes Speichersystem.
DE69516881T2 (de) Speichervorrichtung und datenverarbeitungssystem mit einer solchen speichervorrichtung
DE3587750T2 (de) Peripheriegerät für Bildspeicher.
DE10053439B4 (de) Grafik-Beschleuniger mit Interpolationsfunktion
DE3636394C2 (de) Einrichtung und Verfahren zur Speicherorganisation
DE3786125T2 (de) Raster-Bildschirm-Steuerung mit veränderlicher räumlicher Auflösung und variabler Datentiefe der Bildelemente.
DE69633477T2 (de) Bildspeicher für graphische Daten
DE68919781T2 (de) Videospeicheranordnung.
WO2000063846A1 (de) Verfahren zur rasterisierung eines graphikgrundelements
DE69028382T2 (de) Serielle multiplexierte Registerarchitektur für VRAM
DE69016697T2 (de) Video-Direktzugriffsspeicher.
DE3889240T2 (de) Zähler mit veränderbarer Verschaltung zur Adressierung in graphischen Anzeigesystemen.
DE69029065T2 (de) Logische Schaltung und Verfahren zum Wiederordnen für einen graphischen Videoanzeigespeicher
DE3889557T2 (de) Vektorgenerator für Raster-Bildschirmanzeige.
DE68925569T2 (de) Dynamischer Video-RAM-Speicher

Legal Events

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