DE19603850A1 - Grafikkarte zum Ansteuern zweier Bildschirme - Google Patents
Grafikkarte zum Ansteuern zweier BildschirmeInfo
- Publication number
- DE19603850A1 DE19603850A1 DE1996103850 DE19603850A DE19603850A1 DE 19603850 A1 DE19603850 A1 DE 19603850A1 DE 1996103850 DE1996103850 DE 1996103850 DE 19603850 A DE19603850 A DE 19603850A DE 19603850 A1 DE19603850 A1 DE 19603850A1
- Authority
- DE
- Germany
- Prior art keywords
- address
- screen
- bits
- addresses
- memory
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1423—Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
- G06F3/1438—Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display using more than one graphics controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1423—Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
- G06F3/1446—Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display display composed of modules, e.g. video walls
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Controls And Circuits For Display Device (AREA)
Description
Die Erfindung betrifft eine Grafikkarte mit den weiteren Merkmalen
des Oberbegriffs des Anspruchs 1, mit Mitteln zum Ansteuern zweier
Bildschirme.
Die Erfindung betrifft weiterhin ein Verfahren zum Umsetzen der
Adressen eines primären, linear adressierten, zusammenhängenden
Bildschirmspeichers in die Adressen zweier unabhängiger, zwei
Bildschirmen zugeordneter Einzelspeicher; zum Betrieb der erfin
dungsgemäßen Grafikkarte.
Die Hardware moderner PC′s, d. h. zum sogenannten "IBM-Standard"
kompatibler Computer, sieht Grafikkarten vor, die im allgemeinen
nach dem VGA-Standard arbeiten. Diese Grafikkarten weisen einen
Anschluß für einen Monitor auf und sind als Einsteckkarten ausge
bildet, die in entsprechende Steckplätze (Slots) des Datenbusses
des Rechners gesteckt werden. Eine moderne Grafikkarte weist einen
eigenen Prozessor sowie eigene Speicherbausteine auf. Bei ver
schiedenen Anwendungsfällen, insbesondere bei professionellen An
wendungen von Zeichenprogrammen (CAD-Programme) oder im Zeitungs
wesen (DTP-Programme) hat es sich als sinnvoll herausgestellt,
zwei Bildschirme gleichzeitig anzusteuern. Bei grafischen Benutz
eroberflächen (GUI), wie beispielsweise Windows, kann beispiels
weise bei einem CAD-Programm die eigentliche zu bearbeitende
Zeichnung auf einem 20-Zoll-Monitor dargestellt werden, während
die notwendigen Bearbeitungssymbole (icons) auf einem parallel
angeordneten, kleineren Bildschirm dargestellt werden können. Für
den Zwillingsbetrieb von Monitoren, d. h. den simultanen Betrieb
eines linken und eines rechten Monitors, ist entweder eine Grafik
karte notwendig, die zwei Monitore ansteuern kann, oder aber zwei
parallel geschaltete Grafikkarten, die in unterschiedlichen Ein
steckplätzen (Slots) am Bus angeordnet sind und entsprechend ange
steuert werden müssen.
Die Anmelderin hat in der Vergangenheit eine Grafikkarte entwic
kelt, die in einem Steckplatz eines Datenbusses nach dem PCI-Standard
betrieben werden kann und es erlaubt, zwei Monitore anzusteu
ern, wobei sich der gesamte Bildbereich über beide Monitore hinweg
erstreckte. Die bisher bekannte Grafikkarte der Anmelderin bestand
aus zwei parallel geschalteten herkömmlichen Grafikkarten, die in
schneller Folge abwechselnd auf den Bus geschaltet oder abgeschal
tet wurden. Der hierfür notwendige Umschalter wurde durch eine
eigens entwickelte Treiber-Software gesteuert. Bei einem zeilen
weisen Aufbau des gesamten Bildbereiches wurde in jeder Zeile beim
Verlassen des Bildbereichs des ersten Bildschirmes auf den zweiten
Bildschirm umgeschaltet, beispielsweise bei einer vertikalen Auf
lösung von 1200 Zeilen 1200 mal bis zum Gesamtaufbau eines Bildes.
Die bisher bekannte Grafikkarte zum Anschluß von zwei Bildschirmen
und das bisher verwendete Verfahren zur Ansteuerung von zwei Bild
schirmen war insofern nachteilig, als die Arbeit des Umschaltens
zwischen beiden Bildschirmen über die Treiber-Software vom Haupt
prozessor des Rechners erledigt werden mußte.
Nachfolgende Generationen von grafischen Benutzeroberflächen bzw.
Betriebssystemen wie beispielsweise Windows 95 sehen Grafiktreiber
vor, die als sogenannte Miniporttreiber arbeiten. Dies bedeutet,
daß der Treiber hardwareunabhängige Aufgaben - die auch eine Ma
nipulation des Bildschirmspeichers beinhalten können - an die so
genannte DIB-Engine abgeben kann. Dabei steht die Abkürzung "DIB"
für Device Independant Bitmap. Für diese Vorgehensweise muß der
Treiber der DIB-Engine die Adresse des linear eingeblendeten Bild
schirmspeichers mitteilen. Bisherige Mehrkartenlösungen zum An
steuern zweier Bildschirme versagen hier, da es keinen zusammen
hängenden Bildspeicher gibt.
Weiterhin ist es bei modernen Bussen nach dem PCI-Standard zwin
gend notwendig, daß an jedem Erweiterungssteckplatz (Slot) ledig
lich ein Gerät (PCI-Device) angeschlossen ist.
Der Erfindung liegt daher die Aufgabe zugrunde eine Grafikkarte zu
schaffen, die zwei herkömmliche Grafikkarten in sich vereinigt, so
daß zwei Bildschirme angesteuert werden können, und die sich nach
außen, d. h. zu dem Bus und den Treibern des Betriebssystems wie
eine (und nur eine) virtuelle Grafikkarte verhält.
Der Erfindung liegt weiterhin die Aufgabe zugrunde, ein Verfahren
zum Umsetzen der Adressen eines primären, linear adressierten zu
sammenhängenden Bildschirmspeichers in die Adressen zweier unab
hängiger, zwei Bildschirmen (linker und rechter Bildschirm) zuge
ordneter Einzelspeicher zu schaffen, das sich durch besondere
Schnelligkeit der Adreßumsetzung auszeichnet, so daß beispielswei
se digitalisierte Videos abgespielt werden können. Es ist mit an
deren Worten notwendig, daß die zu schaffende Grafikkarte und das
zu schaffende Verfahren zusammen einen Betrieb in Echtzeit ermög
lichen, d. h. der Bildaufbau beispielsweise der Einzelbilder von
digitalisierten Videos muß in Echtzeit möglich sein.
Die Lösung der Aufgabe ist bei einer gattungsgemäßen Grafikkarte
dadurch gekennzeichnet, daß Mittel zum Umsetzen der Adressen eines
linearen Adreßraumes für einen zusammenhängenden (primären) Bild
schirmspeicher, dessen Inhalt über den Datenbus übertragen wird,
in zwei jeweils einem der angesteuerten Bildschirme zugeordnete
Adreßräume vorgesehen sind.
Der verfahrensmäßige Anteil der Lösung ist bei einem gattungsgemä
ßen Verfahren dadurch gekennzeichnet, daß für den zusammenhängen
den primären Bildschirmspeicher ein Gesamtadreßraum reserviert
wird, der eine logische Zeilenlänge (pitch) und eine maximale Zei
lenzahl aufweist, die unabhängig von der gewählten Auflösung kon
stant sind, daß jede Adresse unabhängig von Auflösung und Bittiefe
einen Zeilen- und einen angrenzenden Spaltenadreßanteil aufweist;
und daß zur Adreßumsetzung der gesamte Zeilen- und Spaltenbereich
der Adresse durch einen Wert überschrieben wird, der sich ergibt
aus der Summe des Produktes von horizontaler Auflösung des jewei
ligen Bildschirms und dem jeweiligen Zeilenanteil (Zeilenanfangs
adresse) und dem jeweiligen aktuellen Spaltenanteil, für den rech
ten Einzelbildschirm zusätzlich korrigiert um die dem linken Ein
zelbildschirm zugeordnete horizontale Auflösung.
Bevorzugt ist vorgesehen, daß ein eigener Prozessor auf der erfin
dungsgemäßen Grafikkarte zur Durchführung des erfindungsgemäßen
Verfahrens vorgehen ist. Dabei kann der Prozessor als sogenanntes
ASIC, d. h. speziell gestaltetes IC ausgebildet sein.
Erfindungsgemäß ist insbesondere vorgesehen, daß die Mittel zum
Umsetzen der Adressen als Brücke zwischen dem Primärbus und einem
auf der Karte ausgebildeten Grafikdatenbus (Sekundärbus) wirken.
Die Mittel zum Umsetzen der Adressen sind insbesondere wenn der
Primär- und Sekundärbus nach dem PCI-Standard ausgebildet sind
also eine speziell ausgestaltete "PCI-Bridge".
Bei einer bevorzugten Ausführungsform ist vorgesehen, daß die
Brücke zum Primärbus hin als konventionelle Grafikkarte mit einem
zusammenhängenden, linear adressierbaren Bildschirmspeicher kon
figuriert ist. Beim Hochfahren (Booten) des Computers wird sich
die erfindungsgemäße Grafikkarte daher mit ihren eigenen BIOS dem
Computer gegenüber als herkömmliche VGA-Karte anmelden und ledig
lich als ein PCI-Gerät (PCI-Device), nämlich eine VGA-Karte, er
scheinen.
Das erfindungsgemäße Verfahren funktioniert für eine Vielzahl von
Auslösungen und Farbtiefen, da die logische Zeilenlänge (pitch)
und die maximal mögliche Zeilenzahl des reservierten Gesamtadreß
raumes konstant sind. Zum Umsetzen wird, wie weiter oben ausge
führt, die bisherige Adresse überschrieben durch einen Wert, der
bei beiden Bildschirmen jeweils ein Produkt enthält. Dieses Pro
dukt entspricht dem aktuellen Wert des Zeilenzählers (Zeilenadreß
anteil) und der horizontalen Auflösung des jeweiligen Bildschirms
(Gesamtzahl der Spalten). Diese Produktbildung ist zeitaufwendig
und kann nicht innerhalb eines Taktes abgearbeitet werden. Bei dem
rechten Bildschirm kommt zur Adressenumsetzung noch eine Summation
dazu, da zusätzlich jeweils von der Gesamtadresse die Auflösung
des linken Bildschirms (die Gesamtspaltenanzahl des linken Bild
schirms) subtrahiert werden muß. Ein schneller Bildaufbau ist da
her nicht möglich. Um den Bildaufbau zu beschleunigen, indem die
Umsetzung mit Hilfe der zugeordneten jeweiligen Zeilenanfangs
adressen der Einzelbildschirme vereinfacht wird, sieht eine bevor
zugte Ausführungsform der Erfindung daher vor, daß die Mittel zum
Umsetzen der Adressen zumindest einen Speicher umfassen, in dem
die auf Zeilenanfangsadressen beider Bildschirme sich beziehenden
Werte (Konstanten) abgelegt sind. Dabei ist dieser Speicher vor
zugsweise ein statisches RAM (SRAM).
Um den Zugriff auf diesen Speicher zu vereinfachen, kann bevorzugt
vorgesehen sein, daß die Adressen des SRAM voneinander um ein In
krement beabstandet sind, das der logischen Zeilenlänge ent
spricht. Auf diese Weise brauchen die Adressen des SRAM′s, unter
denen die jeweiligen Konstanten für die Zeilenanfangsadressen der
jeweiligen Bildschirme abgespeichert sind, nicht berechnet zu wer
den.
Der Inhalt des SRAM′s kann darüber hinaus für einen schnellen Zu
griff in einen der Brücke zugeordneten Speicherbereich gemappt
werden.
Weitere bevorzugte Ausführungsformen der Erfindung sind in den
Unteransprüchen beschrieben.
Die Erfindung wird im folgenden anhand der Zeichnung näher be
schrieben. In der Zeichnung zeigen:
Fig. 1 eine schematische Darstellung einer an ein PCI Lo
cal Bus angeschlossenen erfindungsgemäßen Grafik
karte,
Fig. 2 eine schematische Darstellung der einzelnen Funk
tionseinheiten der erfindungsgemäßen Grafikbrücke,
Fig. 3 eine schematische Darstellung des virtuellen Ge
samtadreßraumes, der von einem äußeren Bildschirm
treiber als zusammenhängender Bildschirmspeicher
gesehen wird,
Fig. 4 eine schematische Darstellung der Aufteilung des
von der erfindungsgemäßen Grafikkarte verwendeten
Adressenbereichs,
Fig. 5 eine schematische Darstellung der Unterscheidungs
bits in der jeweiligen 32-bit-Adresse,
Fig. 6 eine schematische Darstellung der Adressen-Umset
zung,
Fig. 7 eine Tabelle mit den für die Adressen-Umsetzung
notwendigen, im SRAM gespeicherten Werten für ein
erstes Ausführungsbeispiel, und
Fig. 8 eine Tabelle gemäß Fig. 7 für ein zweites Ausfüh
rungsbeispiel.
Fig. 1 zeigt die wesentlichen Bauelemente eines Rechners mit ei
nem PCI Local Bus, der im folgenden Primärbus genannt wird. Der
Primärbus 10 gemäß dem PCI-Standard transportiert Daten zwischen
verschiedenen Baugruppen und einem Prozessor 12. Neben auf der
Hauptplatine des Computers untergebrachten PCI-Einheiten 14, wie
beispielsweise einem Festplatten-Kontroller (HDD-Controller) kön
nen drei Erweiterungssteckplätze 16₁, 16₂ und 16₃ vorgesehen sein.
Im Erweiterungssteckplatz 16₃ (PCI-Slot) ist eine erfindungsgemäße
Grafikkarte eingesteckt, die zwei Monitore 18₁ und 18₂ steuert.
Eine auf der erfindungsgemäßen Grafikkarte angeordnete Grafik
brücke 20 arbeitet als "PCI to PCT-Bridge" und verteilt Daten auf
einen auf der erfindungsgemäßen Grafikkarte ausgebildeten Sekun
därbus (PCI Graphics Extension Bus).
An dem Sekundärbus können drei PCI-Geräte angeordnet sein. Die
beiden ersten Geräte sind die jedem Bildschirm 18₁ und 18₂ zugeord
neten Grafik-Kontroller 22₁ und 22₂. Ein drittes "PCI Target" kann
beispielsweise einen 3D-Koprozessor für CAD/CAM-Anwendungen o. ä.
sein. Ein Speicher in Form eines SRAM′s 24 stellt die zur Adressen-Umsetzung
notwendigen Konstanten in schnell lesbarer Form zur
Verfügung.
Fig. 2 zeigt den Aufbau der Grafikbrücke 20, die vorzugsweise als
ASIC ausgebildet ist. Die vom Primärbus 10 gelieferten Bilddaten
werden über einen Zwischenspeicher 26 dem eigentlichen Brückenbau
stein 28 zugeführt. Der Adressen-Umsetzer 30 sorgt für ent
sprechende Umsetzung der dem Monitor 1 18₁ oder dem Monitor 2 18₂
(Fig. 1) zugeordneten Adressen, bevor die Daten über den Sekun
därbus 21, der auf der Grafikkarte ausgebildet ist, zu den Grafik-Kontrollern
22₁ und 22₂ geleitet werden. Für seine Arbeit braucht
der Adressen-Umsetzer 30 die im SRAM 24 abgelegten Daten, die über
den Sekundär-Bus zugeführt werden. Kontroller 32 und 34 steuern
eine Schnittstelle 36 für den dem statischen Speicher (SRAM) 24.
Fig. 3 zeigt den einheitlichen Gesamtadreßraum für beide Bild
schirmspeicher, so wie er sich dem Treiber des Betriebssystems
oder der grafischen Benutzeroberfläche des Computers präsentiert.
Unabhängig von der für den linken Schirm und den rechten Schirm
vorgesehenen Auflösung ist der Gesamtadreßraum mit einer logischen
Zeilenlänge (pitch) von 16K versehen. Abhängig von der gewählten
Farbtiefe kann eine theoretische Spaltenzahl von 16×1024 erreicht
werden. Der letztgenannte Wert gilt für 8 Bit, d. h. 1 Byte Farb
tiefe. Wird eine höhere Farbtiefe gewählt, so geht die Anzahl in
einer Zeile adressierbarer Pixel (Bildpunkte) entsprechend zurück.
Weiterhin sind maximal 2048 Zeilen vorgesehen.
Fig. 6 zeigt den prinzipiellen Aufbau einer Adresse. Ein 32-Bit-Wort
weist Bits 0 bis 31 auf. Die ersten 14 Bits, numeriert als 0
bis 13, sind als Spaltenzähler verwendet, während die sich an
schließenden 11 Bits 14 bis 24 als Zeilenzähler fungieren.
Sind die Bits 14 bis 24 auf 0 gesetzt, so sind die entsprechenden
Bildpunkte in der nullten Zeile des Gesamtadreßraums gemäß Fig. 3
angesprochen. Von der linken oberen Ecke werden die Pixel (Bild
punkte) nach rechts fortlaufend durchgezählt, wobei die Bits 0 bis
13 hochlaufen. Ist - wie in Fig. 3 durch die eingezeichneten
Bildflächen für linken Schirm und rechten Schirm angedeutet - der
gesamte Bildbereich kleiner als der gesamte Adreßraum, so wird
nach Erreichen des letzten Bildpunktes einer Zeile auf den Bits 0
bis 13 nicht mehr weitergezählt, sondern das Bit 14 auf 1 erhöht.
Dies gilt beim Übergang von der nullten auf die erste Zeile. Ent
sprechend wird bei allen anderen Übergängen der gesamte, durch die
Bits 14 bis 24 gebildete Wert um 1 erhöht.
Der für beliebige Auflösungen von linken Schirm und rechten
Schirm, d. h. für eine beliebige Gesamtauflösung stets gleichblei
bende "pitch" von 16K, d. h. eine konstant bleibende logische Zei
lenlänge, sorgt dafür, daß sich aus der gemäß Fig. 6 dargestell
ten Adresse die Position eines Bildpunktes im virtuellen Adreßraum
unmittelbar hinsichtlich Spalte und Zeile ablesen läßt. Die so
gegebene Unterteilung der Adresse in Spalteninformation und Zei
leninformation erlaubt es, auf einfache und vor allen Dingen
schnelle Weise Manipulationen vorzunehmen und bestimmte Bildpunkte
des Gesamtadreßraums entweder dem linken oder dem rechten Schirm
zuzuordnen.
Wie Fig. 6 weiter zeigt, sind die vier höchsten Bits 28 bis 31
zur Identifikation einer Basisadresse vorgesehen. Die Bits 25 bis
27 dienen als Identifikationsbits, die festlegen, welchem Spei
chersegment die jeweilige Adresse im virtuellen Adressenbereich
gemäß Fig. 4 zuzuordnen ist.
Fig. 4 zeigt den virtuellen Adressenbereich, der nach dem Hoch
fahren des Systems von der Grafikkarte angefordert wird. Bei dem
vorliegenden Ausführungsbeispiel beträgt der gesamte Adressenbe
reich 256 MByte. Davon sind drei Blöcke à je 64 MB dem Grafik-Kontroller
1, dem Grafik-Kontroller 2 und dem dritten - optionalen -
PCI-Device zugeordnet. Dies kann beispielsweise ein 3D-Koprozessor
sein. Die obersten 64 MB sind der Brücke zugeordnet und beinhalten
Deinen Bereich von 32 MB, beginnend an der Adresse bC000000h. In
der gewählten Notation steht "b" für den durch eine Basisadresse
gegebenen "Offset" (Versatz). In den genannten Adressenbereich
wird der Inhalt des SRAM′s, der weiter unten noch erläutert werden
wird, eingeblendet, um einen schnellen Zugriff zu gewährleisten.
Fig. 5 zeigt, wie die Bits 24 bis 31 eines 32-Bit-Adreß-Wortes
verwendet werden, um die in Fig. 4 gezeigten Adressenbereiche zu
unterscheiden. Die Bits 28 bis 31 werden verwendet, um die jewei
lige Basisadresse darzustellen. Die Bits 24 bis 27 wirken als
Identifikationsbits. Insbesondere ist das Bit 26 vorgesehen, um
zwischen dem ersten Bildspeicherbereich und dem zweiten Bildspei
cherbereich zu unterscheiden.
Im folgenden wird anhand der Fig. 3, 6 und 7 anhand eines Bei
spieles erläutert, wie die erfindungsgemäße Adreßumsetzung funk
tioniert. Fig. 3 zeigt den virtuellen Gesamtadreßraum beider
Bildschirmspeicher. In Übereinstimmung mit dem in Fig. 7 darge
stellten Ausführungsbeispiel seien 8 Bit als Farbinformation ver
fügbar, d. h. 1 Byte. Der linke Bildschirm wird mit einer horizon
talen Auflösung von 1280 und einer vertikalen Auflösung von 1024
betrieben. Der rechte Bildschirm wird mit einer Auflösung von 1600
Spalten und 1200 Zeilen betrieben. Der gesamte vom Treiber des
Betriebssystems adressierte Bildschirmbereich umfaßt daher
(1280+1600)×1200 Bildpunkte. Der in Fig. 3 schraffiert einge
zeichnete Bereich wird auf dem linken Schirm nicht dargestellt,
sondern ist nur durch Bildschirm-Rollen ("scrollen") erreichbar.
In der nullten Zeile des Gesamtadreßraumes in Fig. 3 liegen also
2880 Pixel. Die Adresse in dem 32-Bit-Wort gemäß Fig. 6 weist
also einen Spaltenzähler auf, der auf den Bits 0 bis 13 von 0 bis
2779 hochzählt. Das erste Bit der ersten Zeile weist im Spalten
zähler eine 0 auf, während das Bit 14 auf 1 springt; usw.
Um die so bekannten Adressen umzusetzen, ist es für den linken
Bildschirm erforderlich, anstelle der Bits 0 bis 24 (vgl. Fig. 6)
die jeweilige "Pixelnummer" in Koordinatensysteme des jeweiligen
Bildschirms zu setzen. Für den linken Schirm liegen in der nullten
Zeile die Pixel 0 bis 1279. Das erste Pixel der nächsten Zeile ist
im Koordinatensystem des Bildschirmspeichers für den linken Schirm
das Pixel Nummer "1280". Im Spaltenzähler der Adresse im virtuel
len Bildraum gemäß Fig. 3 steht hier eine 0, da die Information
nach Spalten und Zeilen kodiert ist. Indem der Wert 1280 addiert
wird, wird die Adresse umgesetzt. Für die nachfolgenden Pixel der
gleichen (nämlich ersten) Spalte des linken Schirms sind die ent
sprechenden Werte im Spaltenzähler gemäß Fig. 6 zu addieren.
Fig. 7 zeigt sowohl in dezimaler wie in hexadezimaler Schreibwei
se, welche Werte jeweils zu dem Inhalt des Spaltenzählers (Bits 0
bis 13) addiert werden müssen. Der Zeilenzähler (Bits 14 bis 24)
wird entsprechend auf 0 gesetzt, oder anders ausgedrückt, der ge
samte Bereich der Bits von 0 bis 24 wird durch die Summe aus der
Zeilenanfangsadresse, ablesbar aus der "Tabelle links" in Fig. 7
und dem jeweiligen Wert des Spaltenzählers ersetzt.
In Fig. 6 sind die letzten fünf Bits des "SRAM Wert links" als 0
gezeichnet. Hierdurch wird angedeutet, daß sich bei konventionel
len Auflösungen auf den letzten Stellen des SRAM Werts bei Summa
tion keine Veränderungen ergeben. Daher können die ersten fünf
Bits des Spaltenzählers (Bits 0 bis 4) unverändert "weitergescho
ben" werden.
Wie Fig. 7 weiter zeigt, sind die Zeilenanfangsadressen für den
rechten Schirm auf gleiche Weise zu ermitteln, wobei der Versatz
durch den linken Schirm berücksichtigt werden muß, indem die Spal
tenanzahl (= horizontale Auflösung) des linken Schirms einfach
subtrahiert werden muß, um den entsprechenden Versatz auszuglei
chen. Dementsprechend ergibt sich in Zeile 0 ein negativer Wert,
da bei der gewählten Auflösung von 1600×1024 das Produkt des Zei
lenzählers (Bit 14=0) für die nullte Zeile des rechten Schirms 0
beträgt. Steht der Spaltenzähler auf Werten 1280 oder größer, wird
weiterhin Bit 26 auf "1" gesetzt.
Wie erkennbar ist, ist die schnelle Manipulation der Adressen nur
möglich, da im nach außen hin erscheinenden Adreßbereich gemäß
Fig. 3 Spalte und Zeile in der Adresse selbst unmittelbar ables
bar sind.
Fig. 8 zeigt ein anderes Beispiel, bei der eine Farbtiefe von 4
Byte (= 32 Bit) gewählt ist. Entsprechend vervierfachen sich die
Werte der Zeilenanfangsadressen, da für jedes Pixel 4 Byte zu re
servieren sind.
Das erfindungsgemäße Verfahren der Adreßumsetzung ermöglicht die
Konstruktion einer Grafikkarte zum Ansteuern zweier Monitore, die
schnell arbeitet und insbesondere mit Treibern angesteuert werden
kann, die einen zusammenhängenden, linear adressierbaren Speicher
raum voraussetzen.
Claims (15)
1. Grafikkarte zum Anschluß an einen Erweiterungssteckplatz ei
nes Datenbusse (Primärbus) eines Rechners, mit Mitteln zum
Ansteuern zweier Bildschirme, gekennzeichnet durch Mittel zum
Umsetzen der Adressen eines linearen Adreßraumes für einen
zusammenhängenden Bildschirmspeicher, dessen Inhalt über den
Datenbus übertragen wird, in zwei jeweils einem der angesteu
erten Bildschirme zugeordnete Adreßräume.
2. Grafikkarte nach Anspruch 1, dadurch gekennzeichnet, daß die
Mittel zum Umsetzen der Adressen als Brücke zwischen dem Pri
märbus und einem auf der Karte ausgebildetem Grafik-Datenbus
(Sekundärbus) wirken.
3. Grafikkarte nach Anspruch 2, dadurch gekennzeichnet, daß Pri
mär- und Sekundärbus nach dem PCI-Standard ausgebildet sind.
4. Grafikkarte nach Anspruch 3, dadurch gekennzeichnet, daß die
Brücke zum Primärbus hin als konventionelle Grafikkarte mit
einem zusammenhängenden, linear adressierbaren Bildschirm
speicher konfiguriert ist.
5. Grafikkarte nach einem der vorhergehenden Ansprüche, dadurch
gekennzeichnet, daß die Mittel zum Umsetzen der Adressen zu
mindest einen Speicher umfassen, in dem auf Zeilenanfangs
adressen beider Bildschirme sich beziehende Konstanten abge
legt sind.
6. Grafikkarte nach Anspruch 5, dadurch gekennzeichnet, daß der
Speicher ein SRAM ist.
7. Verfahren zum Umsetzen der Adressen eines primären, linear
adressierten, zusammenhängenden Bildschirmspeichers in die
Adressen zweier unabhängiger, zwei Bildschirmen (linker und
rechter Bildschirm) zugeordneter Einzelspeicher, dadurch ge
kennzeichnet, daß für den zusammenhängenden primären Bild
schirmspeicher ein Gesamtadreßraum reserviert wird, der eine
logische Zeilenlänge (pitch) (16K in Fig. 3) und eine maxi
male Zeilenzahl (2K in Fig. 3) aufweist, die unabhängig von
der gewählten Auflösung konstant sind, daß jede Adresse un
abhängig von Auflösung und Bittiefe einen Zeilen- (Bits 14-24
in Fig. 6) und einen angrenzenden Spaltenadreßanteil (Bits
0-13 in Fig. 6) aufweist; und daß zur Adreßumsetzung der ge
samte Zeilen- und Spaltenbereich der Adresse (Bits 0-24 in
Fig. 6) durch einen Wert überschrieben wird, der sich ergibt
aus der Summe des Produktes von horizontaler Auflösung des
jeweiligen Bildschirms und dem jeweiligen Zeilenanteil (Zei
lenanfangsadresse) und dem jeweiligen aktuellen Spaltenan
teil; für den rechten Einzelbildschirm zusätzlich korrigiert
um die dem linken Einzelbildschirm zugeordnete horizontale
Auflösung.
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß für
den linken Einzelspeicher die jeweiligen Produkte aus Zeilen
anteil und horizontaler Auflösung (linke Zeilenanfangsadres
sen) und für den rechten Einzelspeicher die jeweiligen Pro
dukte korrigiert um den einfachen Wert der horizontalen Auf
lösung des linken Speichers (rechte Zeilenanfangsadressen)
gespeichert werden.
9. Verfahren nach Anspruch 7 oder 8, dadurch gekennzeichnet, daß
die den jeweiligen Zeilenanfangsadressen eines Einzelbild
schirms zugeordneten Werte in einem SRAM abgelegt sind.
10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, daß die
Adressen des SRAM voneinander um ein Inkrement beabstandet
sind, daß der logischen Zeilenlänge entspricht.
11. Verfahren nach einem der vorhergehenden Ansprüche, dadurch
gekennzeichnet, daß die Adressen als 32-Bit-Wörter darge
stellt werden, daß die ersten n Bits als Spaltenzähler, die
sich anschließenden m Bits als Zeilenzähler, zumindest ein
Bit als Bildschirmindikator und die höchsten Bits als Basis
adresse genutzt werden.
12. Verfahren nach Anspruch 11, dadurch gekennzeichnet, daß die
logische Zeilenlänge (pitch) 16K beträgt, daß die maximale
Zeilenzahl 2K beträgt, daß die Bits 0-13 zur Darstellung der
Spalte und die Bits 14-24 zur Darstellung der Zeile verwendet
werden, daß eines der Bits 25-27 als Bildschirmindikator und
die Bits 28-31 als Basisadresse verwendet werden.
13. Verfahren nach einem der Ansprüche 9 bis 12, dadurch gekenn
zeichnet, daß das SRAM 2×2K Einträge zur Verfügung stellt.
14. Verfahren nach einem der Ansprüche 9,10 oder 13, dadurch ge
kennzeichnet, daß der Inhalt des SRAM in einen der Brücke
zugeordneten Speicherbereich gemappt wird.
15. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß in der
generierten Adresse ein Bit (Bit 26) zur Unterscheidung zwi
schen einem dem linken oder rechten Bildschirm zugeordnetem
Speicherbereich mit unterschiedlicher Basisadresse zugeordnet
ist (Bildschirmindikatorbit).
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE1996103850 DE19603850A1 (de) | 1996-02-05 | 1996-02-05 | Grafikkarte zum Ansteuern zweier Bildschirme |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE1996103850 DE19603850A1 (de) | 1996-02-05 | 1996-02-05 | Grafikkarte zum Ansteuern zweier Bildschirme |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19603850A1 true DE19603850A1 (de) | 1997-08-07 |
Family
ID=7784392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE1996103850 Withdrawn DE19603850A1 (de) | 1996-02-05 | 1996-02-05 | Grafikkarte zum Ansteuern zweier Bildschirme |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE19603850A1 (de) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE20006931U1 (de) | 2000-04-14 | 2000-11-09 | Ultratronik GmbH Vertrieb von elektronischen Bauelementen und Systemen, 82211 Herrsching | Hybrid-Anzeigeeinheit |
DE19847642C2 (de) * | 1998-02-20 | 2003-07-31 | Mitsubishi Electric Corp | PCI-PCI-Brücke |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0480331A2 (de) * | 1990-10-09 | 1992-04-15 | Pfister GmbH | Datenverarbeitungssystem mit Bildschirmeinheiten |
-
1996
- 1996-02-05 DE DE1996103850 patent/DE19603850A1/de not_active Withdrawn
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0480331A2 (de) * | 1990-10-09 | 1992-04-15 | Pfister GmbH | Datenverarbeitungssystem mit Bildschirmeinheiten |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19847642C2 (de) * | 1998-02-20 | 2003-07-31 | Mitsubishi Electric Corp | PCI-PCI-Brücke |
DE20006931U1 (de) | 2000-04-14 | 2000-11-09 | Ultratronik GmbH Vertrieb von elektronischen Bauelementen und Systemen, 82211 Herrsching | Hybrid-Anzeigeeinheit |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3438869C2 (de) | ||
DE3587209T2 (de) | Datenanzeigesystem mit Möglichkeit zum Mischen von Anzeigequellen und mit Benutzung eines Anzeigegerätes vom Speichertyp. | |
DE3425022C2 (de) | ||
DE3419219C2 (de) | Steuervorrichtung für ein Bildschirmgerät | |
DE2817946C2 (de) | Datensichtgerät | |
DE3885780T2 (de) | Adressierung in einer Computer-Anordnung. | |
DE69107602T2 (de) | Verfahren und Vorrichtung zum direkten Schreiben in einem Rasterpufferspeicher eines Rechners mit einem Fenstersystem, das den Bildschirm steuert. | |
DE3441640A1 (de) | Streifenfeldspeichercontroller | |
DE3911721C2 (de) | ||
DE3888891T2 (de) | Steuersystem zum Umdrehen von Seiten mit grosser Geschwindigkeit. | |
DE2213953C3 (de) | Schaltungsanordnung zum Darstellen von Zeichen auf dem Bildschirm eines Sichtgerätes | |
DE60006007T2 (de) | Verfahren und gerät zur kombinierten umordnung von transaktionen und pufferverwaltung | |
DE69221220T2 (de) | Verfahren zur Zuteilung von Speicherplätzen ausserhalb des Bildschirms | |
DE2836500A1 (de) | Anordnung zum einblenden von graphiken in ein auf dem bildschirm eines sichtgeraetes dargestelltes bild | |
DE3915562C1 (de) | ||
DE19628039B4 (de) | Speicheradressen-Steuerschaltung | |
DE3688513T2 (de) | Bit-adressierbares mehrdimensionales Netz. | |
DE2233193A1 (de) | Stapel-speichersystem | |
DE19603850A1 (de) | Grafikkarte zum Ansteuern zweier Bildschirme | |
EP1145113B1 (de) | Verfahren und anordnung zur erzeugung und ausführung von komprimierten programmen eines vliw-prozessors | |
DE69430296T2 (de) | Verschiebungsgeschwindigkeitserhöhung in einem rasterpuffer | |
EP0782077B1 (de) | Verfahren und Anordnung zum Konvertieren von Speicheradressen in Speicheransteuersignale | |
DE2717244C2 (de) | ||
DE3530602C2 (de) | ||
DE2017879B2 (de) | Speicheranordnung mit freiem Zugriff |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8127 | New person/name/address of the applicant |
Owner name: MIROMEDIA GMBH, 38112 BRAUNSCHWEIG, DE |
|
8127 | New person/name/address of the applicant |
Owner name: MIRO DISPLAYS GMBH, 38112 BRAUNSCHWEIG, DE |
|
8130 | Withdrawal |