DE3924774A1 - Datenverarbeitungsanlage fuer fenster-orientierte rastergraphik-systeme - Google Patents

Datenverarbeitungsanlage fuer fenster-orientierte rastergraphik-systeme

Info

Publication number
DE3924774A1
DE3924774A1 DE19893924774 DE3924774A DE3924774A1 DE 3924774 A1 DE3924774 A1 DE 3924774A1 DE 19893924774 DE19893924774 DE 19893924774 DE 3924774 A DE3924774 A DE 3924774A DE 3924774 A1 DE3924774 A1 DE 3924774A1
Authority
DE
Germany
Prior art keywords
memory
data
image
monitor
window
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.)
Granted
Application number
DE19893924774
Other languages
English (en)
Other versions
DE3924774C2 (de
Inventor
Thomas Dipl Ing Haaker
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.)
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
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 Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Priority to DE19893924774 priority Critical patent/DE3924774A1/de
Publication of DE3924774A1 publication Critical patent/DE3924774A1/de
Application granted granted Critical
Publication of DE3924774C2 publication Critical patent/DE3924774C2/de
Granted 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/14Display of multiple viewports

Landscapes

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

Description

Die vorliegende Erfindung bezieht sich auf eine Datenverar­ beitungsanlage für fenster-orientierte Rastergraphik-Systeme gemäß dem Oberbegriff Anspruch 1 und beschreibt eine neuar­ tige Framebuffer-Architektur, die Rastergraphiksysteme mit integriertem Window-Management-System optimal unterstützt. Unter Frame wird der zeitliche Rahmen, in dem sich der Bildaufbau für die auf einem Monitor darzustellenden Bilder bzw. in einem Speicher abgelegten Informationen (auch die nicht dargestellten) abspielt, verstanden. Unter Framebuffer werden dann solche Speicher, die diese Frames speichern, verstanden, unter window = Fenster, Bild oder Bildaus­ schnitt.
Unter Nutzung moderner Video-Speicherbausteine können große Pixelmengen in dem Teil des Framebuffers, der die auf dem Monitor sichtbare Bildinformation enthält, unter Realzeit­ bedingung mit Bit-Block-Transfer-Funktionen (im nachfolgen­ den BitBlT) manipuliert und kopiert werden, ohne Rechenzeit des angeschlossenen Graphik- bzw. Renderingprozessors zu beanspruchen und ohne dessen evtl. gleichzeitige Zugriffe auf den Framebuffer zu verhindern.
Die technischen Anwendungsgebiete liegen in allen Bereichen, die direkt oder indirekt mit Computern graphische Ausgabe erzeugen.
Technische Anwendungsgebiete sind u.a.: Computergraphik, Computer bzw. Workstations mit graphischer Ausgabe, Rastergraphiksysteme, Dokumentengraphik, Computer­ animation, Visualisierung von Supercomputerdaten, Window­ orientierte Graphiksysteme, Multi-Media-Workstation.
Stand der Technik; Nachteile des Standes der Technik: Der Framebuffer eines Raster-Graphik-Systems enthält als zentralen Bestandteil den On-Screen-Speicher. In diesem sind alle Pixel gespeichert, die periodisch entsprechend der Bild­ wiederholrate zeilenweise ausgelesen und auf dem Monitor dargestellt werden (Screen-Refresh). Der hingegen in vielen Anwendungen erforderliche Off-Screen-Speicher trägt nicht direkt mit einem seriellen Pixelstrom zum Bildaufbau bei, sondern wird z.B. von Window-Management-Systemen als Zwi­ schenspeicher zum schnellen Restaurieren ehemals verdeckter Windows benutzt, dient zum Speichern von Textfonts oder ent­ hält Teilergebnisse eines Rendering-Prozesses, die vor ihrer Darstellung auf dem Monitor weiterer Verarbeitung bedürfen. Für die Realisierung des Off-Screen-Speichers werden auf­ grund der notwendigen Speichertiefe dynamische Speicher (DRAM) (Dynamic = Random-Access-Memory) verwendet.
Der On-Screen-Speicher wird mit Video-RAM-Chips (VRAM) auf­ gebaut, die in Erweiterung zu den DRAM-Chips mit jeweils einem weiteren seriellen Port (Ein- bzw. Ausgang) den zugriffsintensiven Screen-Refresh von den Schreib- und Lesezugriffen des Graphikprozessors zeitlich entkoppeln. Der Graphikprozessor trägt die mit entsprechenden Rendering- Algorithmen generierten Pixel über das RAM-Port unter der gewünschten Adresse in die Speichermatrix des VRAMs ein. Zusätzlich zu einem DRAM kann jedoch mit jeweils einem ge­ sonderten Adreßzugriff der gesamte Inhalt einer Matrixzeile in ein auf dem VRAM integriertes Serial Access Memory (SAM) geschrieben oder von dort geladen werden. Die im SAM gespei­ cherten Pixel können ab einer beliebigen Stelle (SAM-Start­ adresse) seriell über das SAM-Port ein- oder ausgelesen wer­ den.
Stand der Technik herkömmlicher Framebuffer-Architekturen ist die ausschließliche Nutzung der VRAM-Chips für den Screen-Refresh. Wie in Skizze 1 angedeutet, werden in kon­ ventionellen Framebuffer-Architekturen die SAM-Ports (meh­ rere Chips für die Farbtiefe notwendig, z.B. 3×8 bit = 24 bit) des On-Screen-Speichers ständig jeweils als Ausgang geschaltet und an die Digital-Analogwandler (D/A) geführt, die aus dem seriellen, binär codierten Pixelstrom (z.B. 3×8 bit) die analogen Rot-, Gelb-, Blau-Signale (RGB) für den Monitor erzeugen. Die Steuerung übernimmt das Video- Steuergerät (Video-Controller), indem es am Ende jeder dargestellten Bildschirmzeile den Adreßbus kurzzeitig vom Graphikprozessor trennt und selbst belegt, um die SAMs der VRAM-Chips mit den Pixelwerten der nächsten Bildzeile zu laden. Während des sichtbaren Anteils jeder Bildzeile generiert der Video-Controller den seriellen Takt SC (Serial Clock), mit dem der Pixelstrom aus den SAM-Ports den D/A-Wandlern zugeführt wird.
Der Nachteil der dem Stand der Technik entsprechenden Frame­ buffer-Architekturen ist darin begründet, daß die seriellen VRAM-Ports (SAM-Ports), obwohl sie bei modernen VRAM-Chips (z.B. 1 Mbit-VRAM) gegenüber den RAM-Ports eine 3- bis 6­ fach höhere Datentransferrate ermöglichen, nicht für eine schnellere Datenverarbeitung von dem angeschlossenen Pro­ zessor verwendet werden können, da sie ausschließlich für den Screen-Refresh genutzt werden.
Der Verlust der mit den SAM-Ports eigentlich möglichen Ge­ schwindigkeitssteigerung wirkt sich vor allem bei Systemen nachteilig aus, die häufig Bit-Block-Transfer-Operationen (BitBlT) verwenden (z.B. Window-Manager).
In konventionellen Framebuffer-Architekturen hingegen muß der Graphikprozessor BitBlT-Operationen mit Speicherzugrif­ fen über die langsameren RAM-Ports ausführen, da die SAM- Ports für den Screen-Refresh belegt sind. Der Nachteil der dadurch langsameren Speicherzugriffe wird in bestehenden Systemen oft durch eine möglichst hohe Parallelverarbeitung der Pixel kompensiert. Dies führt jedoch zwangsläufig zu aufwendigen und daher teuren Systemen, da alle Datenwege verbreitert und Speicherorganisationen mit höherer Chip- Anzahl gewählt werden müssen.
Window-orientierte Graphiksysteme verwenden die BitBlT- Operation auch, um es dem Benutzer zu ermöglichen, auf dem Bildschirm dargestellte Windows interaktiv in Realzeit zu verschieben. Graphiksysteme, die die herkömmliche BitBlT-Operation über die RAM-Ports der VRAM-Chips ausfüh­ ren, können oftmals keine Windows mit komplettem Inhalt in Realzeit verschieben. Sie bewegen interaktiv lediglich einen Window-Rahmen und füllen diesen mit dem Window-Inhalt erst nach Abschluß des interaktiven Verschiebe-Prozesses durch den Benutzer. Dies hat jedoch den Nachteil, daß das Window nicht relativ zu darin enthaltenen Details positioniert wer­ den kann. Verschiebt der Graphikprozessor Windows mit BitBlT-Opera daß wertvolle Rechenzeit des Prozessors für einfache Ko­ pieroperationen, die bei Nutzung der SAM-Ports auch ein Hardware-Steuerwerk mit geringem Aufwand ausführen könnte, verschwendet wird.
Aufgabe der Erfindung ist es, diese Nachteile zu vermeiden und insbesondere die Geschwindigkeit der Bearbeitung zu er­ höhen. Erfindungsgemäß geschieht dies durch die Datenverar­ beitungsanlage nach Anspruch 1; vorteilhafte Ausgestaltungen sind in den Unteransprüchen angegeben.
Die dieser Erfindung zugrundeliegende neue Framebuffer- Architektur ermöglicht erstmals, die seriellen VRAM-Ports (SAM-Ports) nicht nur für den Screen-Refresh zu verwenden, sondern auch deren gegenüber den RAM-Ports um den Faktor 3 bis 6 erhöhte Datentransferrate für beschleunigte BitBlT- Operationen zu nutzen. Obwohl dadurch teilweise die zum Bildaufbau auf dem Monitor benötigten Datenwege benutzt werden, können ohne Beanspruchung eines Graphikprozessors BitBlT-Operationen, bei denen das Pixelfeld eines Operanden und das Ergebnis-Pixelfeld im sichtbaren Teil des Framebuf­ fer-Speichers (On-Screen) liegen, ohne Störungen des gerade angezeigten Monitorbildes ausgeführt werden. Die Pixel des anderen Bit-BlT-Operanden können einer externen Quelle (z.B. Video), einer zweiten On-Screen-Speicherbank (Double Buffe­ ring) oder dem Off-Screen-Speicher, sofern dieser mit VRAM- Chips realisiert wird, entnommen werden.
Die Bit-BlT-Operation wird unabhängig von der Größe des da­ von betroffenen Pixelfeldes in einer konstanten Zeit, die zur Darstellung eines Vollbildes auf dem Monitor benötigt wird (1 Frame), durchgeführt. Die Änderung des Bildinhaltes auf dem Monitor erfolgt im darauffolgenden zweiten Frame. Die BitBlT-Zykluszeit entspricht somit der Dauer zweier Frames. Die Bildänderung erfolgt jedoch innerhalb eines Frames, so daß diese der Benutzer bei sehr großen Pixelfel­ dern als "schlagartig" wahrnimmt.
Window-orientierte Graphiksysteme mit einer auf dieser Er­ findung basierenden Framebuffer-Architektur erlauben dem Anwender, mehrere beliebig geformte Windows gleichzeitig interaktiv zu bewegen und relativ zum jeweiligen Inhalt zu positionieren. Da die dafür ständig notwendigen Kopiervor­ gänge der Windows jeweils nur die Zeit von zwei Frames be­ nötigen, werden sie, bei genügend kleinen Schritten, vom Benutzer als kontinuierliche Bewegung empfunden.
Eine weitere wesentliche Verbesserung der auf dieser Erfin­ dung beruhenden Framebuffer-Architektur ist die Ausführung von BitBlT- und Window-Kopier-Operationen über die seriellen Ports der VRAM-Chips gleichzeitig mit der Darstellung des aktuellen Bildes auf dem Monitor und parallel zu den vom angeschlossenen Graphikprozessor gerade zu bearbeitenden Graphikalgorithmen. Da der Graphikprozessor gegenüber her­ kömmlichen Systemen nicht mehr selbst aktiv die BitBlT- oder Kopier-Operation ausführt sondern lediglich anstößt, kann er für die gesamte Zeitdauer dieser Operation selbst auf die­ jenigen Speicher-Chips zurückgreifen, die von der jeweiligen Operation betroffen sind. Dies hat in vielen Anwendungsfäl­ len, in denen nicht auf das Ergebnis der BitBlT-Operation gewartet werden muß, den Vorteil, daß auch die Graphikalgo­ rithmen bereits parallel zu dem laufenden Bit-Block-Transfer (weiter)bearbeitet werden können, die ständigen Zugriff auf den Framebuffer verlangen.
Dieser Vorteil kommt z.B. stark in Window-Managment-Systemen zum Tragen. Möchte der Benutzer ein auf dem Monitor angezeig­ tes Window verschieben, kann der Graphikprozessor bereits den vom Window zuvor verdeckten Hintergrund restaurieren, während der Window-Inhalt automatisch an die Zielposition kopiert wird.
Da die BitBlT- oder Window-Kopier-Operation synchron mit dem Screen-Refresh abläuft, hängt deren Ausführungszeit direkt von der Bildwiederhol- bzw. horizontalen Zeilenablenkfre­ quenz des Monitors ab und ist damit von der Größe des zu bearbeitenden Pixelfeldes unabhängig. Enthält der Framebuf­ fer für jedes Pixel zusätzlich zu der Farbinformation noch weitere Masken-Bits, ist die Ausführungszeit der BitBlT- Operation bei Auswertung dieser Bits auch von der Form der Pixelfläche unabhängig. Dies ist ein weiterer Vorteil, da die nach dem Stand der Technik auf die RAM-Ports der VRAM- Chips angewendeten BitBlT-Operationen nur für rechteckige Pixelfelder definiert sind.
Framebuffer, die Window-Management-Systeme unterstützen, enthalten ohnehin solche zusätzlichen Masken-Bits in Form einer Window-Identifizierungsnummer (ID). Wird diese Zusatzinformation während einer Window-Kopier-Operation aus­ gewertet, können gleichzeitig mehrere Windows verschoben werden, d.h. deren Ausführungszeit ist auch unabhängig von der Anzahl der zu kopierenden Windows. Dies ist in Window- Management-Systemen von großem Vorteil, da dort oftmals eine Einheit aus mehreren verschieden großen Windows manipuliert werden muß.
Die Ausführungszeit einer BitBlT- oder Window-Kopier-Ope­ ration entspricht der Dauer eines Frames, d.h. der Zeit, in der ein Bild auf dem Monitor dargestellt wird. Exakt be­ rechnet sie sich aus der Anzahl der dargestellten Bildzeilen geteilt durch die horizontale Ablenkfrequenz. Die Wiederhol­ rate aufeinanderfolgender BitBlT-Operationen ist gleich der halben Bildwiederholrate. Mit üblichen Bildwiederholraten größer gleich 50 Hz kann die BitBlT-Operation somit externe Video- oder Fernsehbilder mit dem On-Screen-Speicherinhalt unter Realzeitbedingungen verknüpfen und das Ergebnis an beliebiger Stelle sowohl in den On-Screen-Speicher zurück­ schreiben als auch auf dem Monitor anzeigen.
Eine BitBlT-Operation verknüpft mit einer logischen Funktion zwei im Framebuffer gespeicherte gleich große rechteckige Pixelfelder miteinander und legt das Ergebnis-Pixelfeld wieder im Framebuffer ab. Da hierbei sehr viele Pixeldaten hintereinander gelesen und geschrieben werden, kann gerade diese serielle Pixelverarbeitung mit BitBlTs durch die Ver­ wendung der seriellen VRAM-Ports optimal unterstützt werden.
Im folgenden wird die Erfindung anhand der Skizzen 2-4 erläutert.
Die Grundidee der in dieser Erfindung beschriebenen Frame­ buffer-Architektur beruht auf der Tatsache, daß alle im On-Screen-Bereich gespeicherten Pixel, die mit BitBlT- oder Window-Kopier-Operationen manipuliert werden sollen, ohne­ hin zeilenweise an den seriellen VRAM-Ports ausgegeben werden, um sie auf dem Bildschirm darstellen zu können. Der serielle Pixelstrom läßt sich zusätzlich zu den D/A-Wandlern auch zu einer logischen Einheit 4 leiten, dort pixelseriell verarbeiten und in einem weiteren mit VRAM-Chips aufgebauten Speicher ab der geforderten Zieladresse einschreiben. Um die Operationen auf vom Benutzer vorgegebene Pixelfelder zu begrenzen, müssen die seriell verarbeiteten Pixel selektiv in den Zielspeicher eingetragen werden, d. h. sie dürfen nur dann eingeschrieben werden, wenn sie aus Pixeln des abgegrenzten Pixelfeldes erzeugt wurden. Auf diese Weise lassen sich beliebige Pixel des On-Screen-Speichers unter Benutzung der bereits vorhandenen seriellen Datenwege zu den D/A- Wandlern bearbeiten, ohne die Random-Access-Ports der On-Screen-VRAM- Chips zu benötigen und ohne den Screen-Refresh zu stören.
Skizze 2 verdeutlicht mit einem Blockdiagramm die Framebuffer-Architektur dieser Erfindung, in dem zur Vereinfachung nur die in diesem Zusammenhang wichtigen Datenpfade eingezeichnet sind. Es enthält in Erweiterung zu der in Skizze 1 dargestellten konventionellen Framebuffer-Architektur vier weitere Blöcke.
Eine BitBlT-Operation benötigt definitionsgemäß zwei Pixel-Quellen und einen Zielspeicher, in dem das Ergebnis abgelegt wird. Eine Quelle ist der On-Screen- Speicher, dessen Pixel ja manipuliert werden sollen. Die 2. BitBlT-Quelle stellt ein weiterer Speicher 3 dar, der in gleicher Weise wie der On-Screen-Speicher mit VRAM-Chips aufgebaut wird. Diese kann eine externe Quelle (z. B. Videobild) sein, aus dem in vielen Systemen für Computer-Animationen benötigten Double-Buffer stammen oder einem Teil des Off-Screen-Speichers entnommen werden, sofern dieser mit VRAM-Chips aufgebaut ist.
Eine logische Einheit 4 führt die gewünschte BitBlT-Operation durch, indem sie die Pixel aus dem On-Screen-Speicher und der 2. BitBlT-Quelle seriell verknüpft und in den Zielspeicher einträgt.
Der Zielspeicher, ebenfalls mit VRAM-Chips realisiert, ist in Skizze 2 mit Display-Speicher bezeichnet, da er nicht nur die mit der BitBlT-Operation modifizierten Pixel sammelt, sondern daraufhin diese auch für die Dauer eines Bildes auf dem Monitor darstellt (s. u.).
Der vierte neue in Skizze 2 eingezeichnete Block ist mit X-Switch bezeichnet und symbolisiert einen Kreuzschienen-Verteiler. Dieser kann von jedem beliebigen der an ihn angeschlossenen drei Datenpfade Pixel einlesen und an einen oder zwei der beiden übrigen Datenpfade verteilen. Die gewünschte Konfiguration kann über Steuerleitungen (in Skizze 2 nicht eingezeichnet) eingestellt werden.
Solange keine BitBlT-Operationen ausgeführt werden, gelangen die zeilenweise aus dem On-Screen-Speicher ausgelesenen Pixel zur Darstellung auf dem Monitor über den X-Switch an die D/A-Wandler und gleichzeitig zu den jeweils auf Eingang geschalteten SAM-Ports des Display-Speichers. Die Ausgänge der logischen Verknüpfungseinheit sind in dieser Phase abgeschaltet. Dadurch kann das jeweils aktuelle Bild parallel zu dessen Darstellung zeilenweise in den Display-Speicher eingelesen werden. Die auf diese Weise gewonnene Kopie des On-Screen-Speichers ist eine notwendige Voraussetzung für die im folgenden beschriebene BitBlT-Operation:
Die gewünschte BitBlT-Operation wird mit dem Beginn des nächsten Bildaufbaus gestartet. Während der Dauer dieses ersten Frames der Operation werden die Ausgänge der logischen Einheit aktiviert und die damit ebenfalls verbundenen X-Switch-Ports abgeschaltet. Dadurch können (wie zu Anfang dieses Kapitels beschrieben) die Pixel aus dem On-Screen-Speicher mit denen der 2. BitBlT-Quelle modifiziert und selektiv in den Display-Speicher ab der gewünschten Startadresse eingetragen werden. Die geeignete Wahl der Startadresse legt den Ort fest, an dem die durch die BitBlT-Funktion bearbeiteten Pixel danach auf dem Monitor dargestellt werden. Da die Kopie des zuvor im Display-Speicher abgelegten Bildes nur selektiv mit den modifizierten Pixeln überschrieben wird, enthält der Display-Speicher bereits nach einem Frame das neue Gesamtbild. Das selektive Überschreiben muß ein Steuerwerk durchführen, indem es z. B. im On-Screen-Bereich pro Pixel zusätzlich gespeicherte Masken-Bits auswertet. Für die Dauer dieses ersten Frames liefert der On-Screen-Speicher die Bildinformation, so daß die Änderung durch die BitBlT-Operation auf dem Monitor noch nicht zu sehen ist.
Während des zweiten Frames der BitBlT-Operation werden die SAM-Ports des Display-Speichers jeweils auf Ausgang und die des On-Screen-Speichers jeweils auf Eingang gestellt. Die logische Einheit schaltet ihre Ausgänge ab, der X- Switch leitet den Pixelstrom aus dem Display- zum On-Screen-Speicher und zu den D/A-Wandlern. Dadurch wird das geänderte Bild (erstmals) auf dem Monitor dargestellt und gleichzeitig in den On-Screen-Speicher zurückgeschrieben. Die im On-Screen-Bereich des Framebuffers geforderte BitBlT-Operation ist somit ausgeführt und die Voraussetzung gleicher Inhalte von On-Screen- und Display-Speicher für die nächste Operation erfüllt.
Kennzeichnend für die in dieser neuen Framebuffer-Architektur durchgeführten BitBlT-Operation sind drei Eigenschaften:
  • 1. Sie bedarf zu ihrer Ausführung weder eines Prozessors, noch arbeitet sie mit den Random-Access-Ports (RAM-Ports) des On-Screen-Speichers. Dadurch kann der daran angeschlossene Graphikprozessor parallel zu der BitBlT- Operation bereits die folgenden Graphikalgorithmen unter Benutzung der RAM-Ports bearbeiten.
  • 2. Sie erfolgt synchron zur zeilenweisen Darstellung des Monitorbildes. Die benötigte Ausführungszeit ist damit nicht von der Anzahl der zu bearbeitenden Pixel sondern nur von der Horizontal- und Vertikalfrequenz des angeschlossenen Monitors abhängig.
    Ein für den heutigen Stand der Technik typischer hochauflösender Monitor, der 1280 × 1024 Pixel mit 70 Hz (flimmerfrei) darstellen kann, arbeitet mit ca. 75 kHz Zeilenablenkfrequenz. Diese Werte lassen sich unter der Annahme, daß eine BitBlT-Operation ein Drittel bzw. die Hälfte des Bildinhaltes bearbeitet, auf Pixel-Update-Raten von 31 MPixel/sec bzw. 48 MPixel/sec umrechnen. Die Bearbeitung des gesamten Bildes führt gar zu Pixel-Update- Raten von 96 MPixel/sec.
  • 3. Der Graphikprozessor kann auf das Ergebnis einer BitBlT-Operation bereits nach einem Frame über die RAM-Ports des Display-Speichers zugreifen. Aufeinander folgende BitBlT-Operationen können alle 2 Frames neu gestartet werden.
Ausführungsbeispiel
Im folgenden werden die Vorgänge innerhalb eines auf dieser Erfindung basierenden Framebuffers detailierter beschrieben. Zur Vereinfachung wird jedoch die BitBlT-Operation auf den darin enthaltenen Spezialfall des Kopierens von Pixelflächen reduziert. Dieser ist in Rastergraphik-Systemen von großer Bedeutung, in denen ein Window-Manager unterstützt werden soll. In solchen Systemen müssen große Pixelmengen, die zusammen ein Window auf dem Bildschirm darstellen, als Folge von Benutzereingaben (z. B. Maus) in Realzeit verschoben werden. Hierfür ist die nur in dieser Framebuffer-Architektur mögliche Window-Kopier-Operation eine gute Anwendung. Deren Ablauf entspricht genau dem Ablauf der im vorigen Kapitel beschriebenen BitBlT-Operation mit der Ausnahme, daß die Pixel nicht modifiziert sondern nur kopiert werden.
Skizze 3 zeigt das gegenüber Skizze 2 weiter detailliertere Blockschaltbild. Die 2. BitBlT-Quelle und die logische Verknüpfungseinheit können für Window- Kopier-Operation entfallen. On-Screen- und Display-Speicher sind mit jeweils fünf Datenpfaden, von denen jeder aus jeweils einer der gewünschten Farbtiefe entsprechende Anzahl von Leitungen (z. B. 24) besteht, über den Kreuzschienen-Verteiler (X-Switch) miteinander und mit dem mit RAM-DAC bezeichneten Block verbunden. Beide Speicher bestehen daher jeweils aus fünf mit VRAM-Chips aufgebauten Bänken. Die Parallelisierung über fünf Datenpfade vereinfacht die Handhabung der bei hochauflösenden Rastersystemen (z. B. 1280 × 1024 Pixel) auftretenden hohen Pixelfrequenzen von über 100 MHz, da innerhalb jedes Datenpfades dann nur ein Fünftel der Pixelfrequenz verarbeitet werden muß. (DAC = D/A Controller = D/A Wandler u. Steuergerät)
Der RAM-DAC-Baustein liest aus den fünf anstehenden seriellen Pixelströmen zu jedem Zeitpunkt fünf Pixel parallel in ein internes Register ein und gibt diese mittels eines internen Multiplexers über ein ebenfalls intern vorhandenes Umsetz-RAM (für diese Beschreibung ohne Bedeutung) mit der fünffach höheren Pixelfrequenz an die integrierten D/A-Wandler weiter. Am Ausgang liefert der RAM-DAC-Baustein schließlich die für einen Farbmonitor benötigten drei R-, G-, B-Analogsignale.
Die Funktion des Kreuzschienen-Verteilers wird erst in diesem detaillierteren Schaltbild vollständig ersichtlich. In den fünf Bänken des On-Screen- und des Display-Speichers sind jeweils fünf auf dem Monitor hintereinander angezeigte Pixel abgelegt. Soll ein Window nicht um Vielfache von Fünf sondern z. B. nur um ein Pixel horizontal verschoben werden, müssen die Datenpfade von On- Screen- und Display-Speicher zyklisch um eins verschoben miteinander verbunden, die zu dem RAM-DAC-Baustein führenden Datenpfade jedoch direkt 1 : 1 an die des On-Screen-Speichers geschaltet werden. Dies kann nur ein programmierbarer X-Switch leisten.
Der Datenbus des Graphikprozessors ist direkt mit den RAM-Ports des Off- Screen-, des On-Screen- und des Display-Speichers verbunden. Der Adreßbus hingegen wird zum On-Screen- und Display-Speicher über einen Zweikanal- Multiplexer (MUX) geführt.
Der in Skizze 3 eingezeichnete Window-Copy-Controller steuert sowohl die normale Darstellung des im On-Screen-Speicher enthaltenen Bildes auf dem Monitor als auch die Window-Kopier-Operation. Zu diesem Zweck erhält dieser in jedem horizontalen Strahlrücklauf des Bildschirms über einen Zweikanal- Multiplexer Zugriff auf den Adreßbus des On-Screen- und des Display- Speichers, um die VRAM-Chips für die nächste Bildzeile mit der jeweils benötigten Datenrichtung und Startadresse für die Verarbeitung der Pixel über die seriellen Ports zu programmieren. Für die gesamte übrige Zeit erhält der Graphikprozessor Zugriff auf die beiden Adreßbusse. Weiterhin generiert der Window-Copy-Controller den Takt SC (Serial Clock), mit dem die Pixel in die SAM-Ports der VRAM-Chips ein- bzw. ausgelesen werden und steuert mit dem Signal SE (Serial Enable), ob die Pixel den Speicherinhalt überschreiben dürfen. Dadurch wird das für die Window-Kopier-Operation notwendige selektive Einschreiben in den Display-Speicher realisiert. Die dafür erforderliche Information gewinnt der Window-Copy-Controller aus der im On-Screen-Speicher zusätzlich zu jedem Pixel enthaltenen Window-ID (in Skizze 3 nicht eingezeichnet). Weitere Signale steuern den Zweikanal-Multiplexer, den RAM-DAC- Baustein und den Monitor (SYNC-Signale).
Der Ablauf der Window-Kopier-Operation und deren Anwendung soll im folgenden noch einmal anhand eines Beispiels mit den Skizzen 4.a bis 4.c erläutert werden. Die Skizzen zeigen jeweils die Inhalte des On-Screen- und des Display- Speichers und das zugehörige Monitorbild am Ende eines Frames, d. h. zum Zeitpunkt des vertikalen Strahlrücklaufs. In dem Beispiel sollen die Windows W1 und W2 von der linken oberen Bildschirmecke in Richtung der rechten unteren Ecke verschoben werden. Dabei liegt Window W2 über W1, und beide können ein drittes Window W3 und den restlichen Hintergrund verdecken.
Skizze 4.a zeigt die Ausgangssituation. Der Inhalt des On-Screen-Speichers erscheint auf dem Monitor und ist gleichzeitig in den Display-Speicher kopiert worden, um die Vorbedingung gleicher Inhalte vor einer Window-Kopier- Operation zu erfüllen.
Skizze 4.b zeigt die Situation am Ende des ersten Frames der Window-Kopier- Operation. Immer noch erscheint der On-Screen-Speicher-Inhalt auf dem Monitor, während die Windows W1 und W2 im Display-Speicher bereits selektiv an der Zielposition kopiert worden sind. Der serielle Datenstrom in den Display-Speicher wird durch zwei Parameter gesteuert. Die jedem Pixel zugeordnete Window-ID entscheidet, ob ein Pixel den Display-Speicher-Inhalt überschreiben soll. Der zweite Parameter ist die Startadresse des Display-Speichers, die aus einem vom Window-Manager vorgegebenen Verschiebe-Vektor berechnet wird.
Der Graphikprozessor hat während dieses ersten Frames bereits im Display- Speicher über dessen Random-Access-Ports die vom Window W1 an der ursprünglichen Position verdeckte Fläche restauriert. Der Inhalt des On-Screen- Speichers bleibt jedoch unverändert, da er in diesem ersten Frame als Quelle dient (s. Skizze 4.b).
Skizze 4.c zeigt die Situation am Ende des zweiten und letzten Frames der Window-Kopier-Operation. Der Inhalt des Display-Speichers ist ausgelesen, auf dem Monitor dargestellt und gleichzeitig vollständig in den On-Screen-Speicher zurückgeschrieben worden.
Die in Skizze 4.c dargestellte Situation setzt voraus, daß der Graphikprozessor während dieses zweiten Frames durch parallele Zugriffe auf den On-Screen- und Display-Speicher in beiden die vom Window W2 ehemals verdeckte Fläche restauriert hat. Der Prozessor muß parallel in beiden Speichern die Änderungen eintragen, damit am Ende der Kopier-Operation in beiden Speichern die gleiche Information steht. Greift der Prozessor auf Speicherzellen des On-Screen- Bereichs zu, die auch gerade über die SAM-Ports beschrieben werden sollen, wird dieser angehalten, bis die gesamte zugehörige Bildzeile in die Serial-Access- Memories (SAMs) der VRAM-Chips eingelesen und in deren Speichermatrix zurückgeschrieben worden sind.

Claims (6)

1. Datenverarbeitungsanlage für fensterorientierte Raster­ graphiksysteme mit einem Graphikprozessor, in dem gra­ phische Objekte verarbeitet und in eine Datenmenge überführt werden, und diese in einem On-Screen-Speicher gespeichert werden, und die gespeicherten Daten über einen D/A-Wandler auf einen Monitor gegeben werden, dadurch gekennzeichnet, daß zur schnelleren Datenübertragung von dem Graphik­ prozessor zu verarbeitende graphische Objekte, die be­ reits als Datenmenge vorliegen, von dem On-Screen-Spei­ cher nachgeschalteten Einrichtungen (1, 2, 3, 4) bearbeitbar sind.
2. Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, daß, während ein erstes Bild von dem On-Screen-Speicher auf den Monitor eingelesen wird, von den Einrichtungen (1-4) das erste Bild bearbeitet und danach ein Zwischenbild erzeugt wird, das als zweites Bild auf den Monitor eingelesen wird und gleichzeitig in den On-Screen-Speicher zurückgeschrieben wird und dieses zweite Bild vom On-Screen-Speicher als drittes Bild auf den Monitor eingelesen wird.
3. Datenverarbeitungsanlage nach Anspruch 2, dadurch gekennzeichnet, daß der Graphikprozessor seinerseits noch das zweite Bild bearbeitet und dieses als drittes Bild auf den Monitor eingelesen wird.
4. Datenverarbeitungsanlage nach Anspruch 2, dadurch gekennzeichnet, daß von dem Graphikprozessor der Befehl für einen Ko­ piervorgang von Teilbildern an die Einrichtung 1 ge­ schaltet wird und die Kopie als Zwischenbild in dem Displayspeicher 2 zwischengespeichert und dann als zweites Bild auf den Monitor eingelesen wird.
5. Datenverarbeitungsanlage nach den Ansprüchen 1-2, dadurch gekennzeichnet, daß Bit-Block-Transfer-Operationen von der logischen Einheit 4 durch Verknüpfung von mindestens zwei Daten­ quellen (On-Screen-Speicher + 3) und Einschreibung in den Display-Speicher durchgeführt werden.
6. Datenverarbeitungsanlage nach den Ansprüchen 1-5, dadurch gekennzeichnet, daß ein Kreuzschienenverteiler (X-Switch) vorgesehen ist, der die Datenmengen auf die Datenpfade verteilt.
DE19893924774 1989-07-26 1989-07-26 Datenverarbeitungsanlage fuer fenster-orientierte rastergraphik-systeme Granted DE3924774A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19893924774 DE3924774A1 (de) 1989-07-26 1989-07-26 Datenverarbeitungsanlage fuer fenster-orientierte rastergraphik-systeme

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19893924774 DE3924774A1 (de) 1989-07-26 1989-07-26 Datenverarbeitungsanlage fuer fenster-orientierte rastergraphik-systeme

Publications (2)

Publication Number Publication Date
DE3924774A1 true DE3924774A1 (de) 1991-02-07
DE3924774C2 DE3924774C2 (de) 1992-11-12

Family

ID=6385906

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19893924774 Granted DE3924774A1 (de) 1989-07-26 1989-07-26 Datenverarbeitungsanlage fuer fenster-orientierte rastergraphik-systeme

Country Status (1)

Country Link
DE (1) DE3924774A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4217417A1 (de) * 1991-05-31 1992-12-03 Toshiba Kawasaki Kk Mehrfenster-anzeigesteuervorrichtung

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3710696A1 (de) * 1987-03-31 1988-11-10 Nixdorf Computer Ag Verfahren zum bearbeiten des speicherinhalts eines bildwiederholspeichers und schaltungsanordnung zur durchfuehrung des verfahrens

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3710696A1 (de) * 1987-03-31 1988-11-10 Nixdorf Computer Ag Verfahren zum bearbeiten des speicherinhalts eines bildwiederholspeichers und schaltungsanordnung zur durchfuehrung des verfahrens

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DE-Z: Elektronik, H. 21, Okt.1986, S. 89-92 u. 96-98 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4217417A1 (de) * 1991-05-31 1992-12-03 Toshiba Kawasaki Kk Mehrfenster-anzeigesteuervorrichtung

Also Published As

Publication number Publication date
DE3924774C2 (de) 1992-11-12

Similar Documents

Publication Publication Date Title
DE3850955T2 (de) Anzeigesystem mit einem Fenstermechanismus.
DE3853447T2 (de) Anzeigesteuergerät für eine Kathodenstrahlröhre-/Plasmaanzeigeeinheit.
DE69211231T2 (de) Verfahren und Vorrichtung zur Verwaltung eines gemeinsam genutzten Speichers ausserhalb des Bildschirms
DE69020279T2 (de) Mechanismus zur Sicherung von Bildelementen für Adapter für gemischte Darstellung von graphischen Signalen und Video.
DE3485765T2 (de) Anzeigesystem fuer zusammengesetzte bilder.
DE3787125T2 (de) Mehrfensteranzeigesystem.
DE69309621T2 (de) System zum Kombinieren von Videosignalen verschiedener Formate und aus verschiedenen Quellen
DE3853489T2 (de) Grafik-Anzeigesystem.
DE3687358T2 (de) Bildpufferspeicher mit variablem zugriff.
DE68926571T2 (de) Wirksames verfahren zur aktualisierung eines zeitverschachtelt arbeitenden einzeltor-z-pufferspeichers
DE3854172T2 (de) Verfahren und Vorrichtung zur Steuerung von zwei oder mehreren Bilddarstellungsgeräten.
DE69024403T2 (de) Dynamische Steuerung für Rechnergrafik
DE69729916T2 (de) Dynamische bildgrössenänderung
DE60015213T2 (de) Paralelle Wiedergabevorrichtung
DE69122147T2 (de) Verfahren und Einrichtung zum Abschneiden von Pixeln von Quellen- und Zielfenstern in einem graphischen System
DE3785064T2 (de) Elektrisches Anzeigesystem.
DE3889240T2 (de) Zähler mit veränderbarer Verschaltung zur Adressierung in graphischen Anzeigesystemen.
DE3782830T2 (de) Anzeigesysteme fuer graphische darstellungen.
DE3736195A1 (de) Raster-scan-videoanzeigegeraet
DE3881203T2 (de) Videowiedergabe-steuergerät.
DE69211447T2 (de) Rasterpuffer-Organisation und Steuerung für Echtzeit-Bilddekompression
DE69107602T2 (de) Verfahren und Vorrichtung zum direkten Schreiben in einem Rasterpufferspeicher eines Rechners mit einem Fenstersystem, das den Bildschirm steuert.
DE3783796T2 (de) Erweiterte rasterbedienung in einem anzeigegeraet.
DE69215155T2 (de) Gerät mit schneller Kopierung zwischen Rasterpuffern in einem Anzeigesystem mit Doppel-Pufferspeichern
DE3723590C2 (de) Schaltungsanordnung zur Darstellung von Informationen auf einem Bildschirm durch Überlagerung mehrerer Einzelbilder

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8320 Willingness to grant licenses declared (paragraph 23)
8339 Ceased/non-payment of the annual fee