DE19603850A1 - Grafikkarte zum Ansteuern zweier Bildschirme - Google Patents

Grafikkarte zum Ansteuern zweier Bildschirme

Info

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
Application number
DE1996103850
Other languages
English (en)
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.)
MIRO DISPLAYS GMBH, 38112 BRAUNSCHWEIG, DE
Original Assignee
MIRO COMPUTER PROD AG
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 MIRO COMPUTER PROD AG filed Critical MIRO COMPUTER PROD AG
Priority to DE1996103850 priority Critical patent/DE19603850A1/de
Publication of DE19603850A1 publication Critical patent/DE19603850A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital 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/1438Digital 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital 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/1446Digital 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).
DE1996103850 1996-02-05 1996-02-05 Grafikkarte zum Ansteuern zweier Bildschirme Withdrawn DE19603850A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0480331A2 (de) * 1990-10-09 1992-04-15 Pfister GmbH Datenverarbeitungssystem mit Bildschirmeinheiten

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0480331A2 (de) * 1990-10-09 1992-04-15 Pfister GmbH Datenverarbeitungssystem mit Bildschirmeinheiten

Cited By (2)

* Cited by examiner, † Cited by third party
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