DE19807028C2 - Synchronisation für das Rahmenpufferaustauschen in Multipipeline-Computergraphikanzeigesystemen - Google Patents
Synchronisation für das Rahmenpufferaustauschen in Multipipeline-ComputergraphikanzeigesystemenInfo
- Publication number
- DE19807028C2 DE19807028C2 DE19807028A DE19807028A DE19807028C2 DE 19807028 C2 DE19807028 C2 DE 19807028C2 DE 19807028 A DE19807028 A DE 19807028A DE 19807028 A DE19807028 A DE 19807028A DE 19807028 C2 DE19807028 C2 DE 19807028C2
- Authority
- DE
- Germany
- Prior art keywords
- computer graphics
- synchronization control
- control system
- input
- slave
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
Description
Diese Erfindung bezieht sich allgemein auf Computergraphik
anzeigesysteme und insbesondere auf Verfahren und Vorrich
tungen zum Synchronisieren des Rahmenpufferaustauschens oder
"Rahmenpuffer-Swappens" in Multipipeline-Computergraphikan
zeigesytemen.
Mit zunehmender Verfeinerung der Computergraphik wurden Ein
sätze von Conmputergraphikanzeigesystemen immer vielfältiger
und kreativer. In vielen modernen Anwendung werden bei
spielsweise mehrere Anzeigesysteme auf einmal verwendet, um
eine größere Betrachtungsfläche zu schaffen, als durch ein
einziges Anzeigesystem, das allein arbeitet, erreicht werden
kann. Eine solche Anwendung ist allgemein als "Theater der
virtuellen Realität" bekannt. Bei einem typischen Theater
der virtuellen Realität werden viele Computergraphikanzeige
systeme verwendet, um Bilder auf jede Wand eines Raumes zu
projizieren, derart, daß ein Beobachter innerhalb des Raums
die Bilder sehen kann, unabhängig davon, in welche Richtung
er oder sie sieht oder sich bewegt. Oft verändert sich die
Präsentation der Bilder abhängig von der Position oder
Ausrichtung des Beobachters innerhalb des Raums, wie es
durch ein Nachführungsgerät angezeigt wird. Andere Typen von
Theatern der virtuellen Realität verwenden viele Monitore,
die um einen relativ feststehenden Beobachter ausgerichtet
sind. Die letzteren Typen der Theater der virtuellen
Realität werden beispielsweise häufig in Flugsimulatoren
verwendet. Bei fortgeschrittenen Anwendungen werden manchmal
stereoskopische Anzeigetechniken verwendet. Bei stereoskopi
schen Anwendungen werden Ansichten für das linke und rechte
Auge abwechselnd angezeigt, während eine spezielle Brille,
die der Beobachter trägt, abwechselnd das rechte und linke
Gesichtsfeld verdeckt. Wenn die Brille und das Anzeigesystem
korrekt synchronisiert sind, erfährt der Beobachter eine
Tiefenwahrnehmung (d. h. eine "3D-Vision"), während er die
angezeigte Szene betrachtet.
Ob stereoskopische Techniken verwendet werden oder nicht, es
müssen dennoch spezielle Probleme gelöst werden, bevor Mul
tianzeigesysteme in einer der obigen Umgebungen effektiv
eingesetzt werden können. Ein solches spezielles Problem be
steht im Synchronisieren des Rahmenpufferaustauschens oder
Rahmenpuffer-Swappens unter den vielen Anzeigesystemen, die
verwendet werden, um die Bilder zu erzeugen.
Zur Wiederholung ist eine typische Computergraphik-"Pipe
line" 100 in Fig. 1 dargestellt. Ein Hostcomputersystem 110
führt eine System- und Anwendungssoftware aus, die in der
Lage ist, eine Szene hinsichtlich Polygonschnittpunkten,
Farbe, Beleuchtung, Texturen, usw. zu modellieren. Das Host
computersystem 110 sendet diese Informationen zu einem Gra
phikbeschleunigungssystem 112. Das Graphikbeschleunigungs
system bereitet die modellierte Szene auf, um Pixeldaten zur
Speicherung in einem Rahmenpufferspeicher bzw. Bildpuf
ferspeicher zu erzeugen. Der Inhalt des Rahmenpufferspei
chers wird durchgängig von einem Direktzugriffsspeicher/Di
gital-zu-Analog-Wandler-("RAMDAC"; RAMDAC = random access
memory/digital-to-analog converter)Modul gelesen, das ty
pischerweise Farb- oder Gammakorrekturnachschlagtabellen
enthält und einen Anzeigemonitor 124 treibt. In einfachere
ren Anwendungen, bei denen kein Graphikbeschleunigungssystem
112 vorhanden ist, kann das Hostcomputersystem 110 die Pi
xeldaten selbst erzeugen und die Pixeldaten direkt in den
Rahmenpuffer schreiben.
Es ist ebenfalls üblich, eine Technik zu verwenden, die als
Doppelpuffern bekannt ist. Beim Doppelpuffern werden zwei
Rahmenpuffer 116 und 118 statt eines einzigen Rahmenpuffers
vorgesehen. Auf diese Art und Weise kann das Hostcomputersy
stem 110 oder das Graphikbeschleunigungssystem 112 Pixelda
ten in einen Rahmenpuffer (den "nicht-betrachtbaren" oder
"hinteren" Puffer) schreiben, während das RAMDAC-Modul 122
und der Monitor 124 Pixeldaten anzeigen, die vorher in den
anderen Rahmenpuffer (den "betrachbaren" oder "vorderen"
Puffer) geschrieben worden sind. Der Effekt dieser Technik
besteht darin, ein Reißen und andere unerwünschte visuelle
Kunstprodukte zu reduzieren, die in ein Bild eingeführt wer
den, wenn der Inhalt eines Rahmenpuffers verändert wird,
während der Inhalt desselben Rahmenpuffers angezeigt wird.
Bei Systemen, die zwei Puffer verwenden, ist es bekannt,
eine Rahmenpuffersteuerung 114 zu verwenden, um zu koordi
nieren, welcher Puffer zu einem gegebenen Zeitpunkt be
trachtbar sein wird, und welcher Puffer zu einem gegebenen
Zeitpunkt nicht betrachtbar sein wird. Insbesondere zeigt
eine Swap-Steuerung oder Austauschsteuerung 120 innerhalb
der Rahmenpuffersteuerung 114 an, wann es sicher ist, das
Anzeigen des Inhalts eines Rahmenpuffers anzuhalten, und das
Anzeigen des Inhalts des anderen Rahmenpuffers zu starten.
Typischerweise wird die Swap-Steuerung 120 anzeigen, daß es
sicher ist, die Rahmenpuffer auszutauschen, und zwar zu dem
Moment, wenn (1) die Graphikpipeline das Aufbereiten von Pi
xeldaten in den nicht-betrachtbaren Puffer beendet hat, und
(2) die gegenwärtige Rasterposition der Anzeige nicht inner
halb des interessierenden Fensters ist. (Bei Full-Screen-
Graphiksystemen (Graphiksystemen, die den gesamten Bild
schirm ausnützen, würde das Pufferaustauschen üblicherweise
nur während eines vertikalen Rücklaufs auftreten. Bei Fen
stergraphiksystemen kann das Puffer-Austauschen jedoch zu
einem beliebigen Zeitpunkt auftreten, zu dem das Raster
nicht innerhalb des interessierenden Fensters ist.)
Obwohl eine bekannte Rahmenpuffersteuerung 114 sowie eine
bekannte Swap-Steuerung 120 wirksam sind, um das Austauschen
von Rahmenpuffern 116 und 118 in einer Einzelcomputergra
phikpipeline 100 zeitlich zu steuern, liefern dieselben kei
ne Einrichtung zum Synchronisieren des Austauschens von Rah
menpuffern unter allen Graphikpipelines, die in Multipipe
line-Anzeigsystemen verwendet werden, wie sie oben beschrie
ben wurden. Daher sind in den von den Multipipeline-Anzeigesystemen
erzeugten Bildern Diskontinuitäten zu sehen, die
diese bekannte Rahmenpuffersteuerungen 114 und Swap- bzw.
Austauschsteuerungen 120 verwenden. Dies ist der Fall, da
die verschiedenen Computergraphikpipelines in dem Multian
zeigesystem Puffer zu unterschiedlichen Zeitpunkten austau
schen können, wenn die Komplexitäten der aufzubereitenden
Rahmen bzw. Bilder, sich von einer Pipeline zu einer anderen
wesentlich unterscheiden. Dieser Effekt ist beispielsweise
besonders dann wahrnehmbar, wenn die Pipelines jeweils un
terschiedliche Teile desselben Objekts anzeigen. Die uner
wünschten visuellen Effekte, die durch diesen Synchronisa
tionsmangel bewirkt werden, können noch deutlicher zutage
treten, wenn stereoskopische Techniken verwendet werden.
Aus der JP-05-053553 A ist bereits eine Anzeigebildschirm
steuerung für die Anzeige von aufeinanderfolgenden Rahmen
mittels einer Vielzahl von Anzeigeprozessoren und
zugeordneten Bildspeichern bekannt. Die Anzeigeprozessoren
erzeugen Anzeigeelemente der Rahmen, die den jeweiligen
Bildspeichern zugeordnet sind. Ein Videogenerator liest
Daten aus einem Bildschirmspeicher entsprechend des Wertes
eines Zählers aus. Ein dezentralisiertes Steuersystem läßt
Anzeige-Token (Anzeigezugriffsberechtigungen) zwischen den
Anzeigeprozessoren zirkulieren, wodurch ein Synchronisa
tionssystem gebildet wird.
Aus der US 5,300,948 A ist eine Anzeigevorrichtung mit einer
Vielzahl von Rahmenspeichern bekannt. Eine Steuersoftware
bewirkt wahlweise das Verbinden eines Rahmenspeichers mit
einer Ausgangslogik von zwei Rahmenspeichern nach der
Zeitgabe der vertikalen Rücklaufintervalle oder das
Verbinden einer Mehrzahl von Rahmenspeichern jeweils zum
Zeitpunkt der horizontalen Rücklaufintervalle mit der
ausgangsseitigen Logik.
Die Aufgabe der vorliegenden Erfindung besteht daher darin,
Verfahren und Vorrichtungen zum Synchronisieren des Austau
schens von Rahmenpuffern unter allen Computergraphikpipelines
in einem Multipipeline-Computergraphikanzeigesystem zu
schaffen.
Diese Aufgabe wird durch eine Vorrichtung gemäß Anspruch 1,
durch ein Verfahren gemäß Anspruch 4 sowie durch ein Syn
chronisationssteuersystem gemäß Anspruch 8 gelöst.
Die Verfahren und Vorrichtungen der Erfindung erreichen die
se Aufgabe durch Anordnen der zu synchronisierenden Compu
tergraphikpipelines in einer geschlossenen Prioritätsverket
tungsschleife. Eine der Pipelines in der Schleife ist konfi
guriert, um die Haupt-Pipeline zu sein, während die anderen
konfiguriert sind, um die Neben-Pipelines zu sein. Wenn die
Hauptpipeline ihre Rahmenpuffer austauscht, wird ein Haupt
austauschsignal über die Prioritätsverkettungsschleife von
der Haupt-Pipeline zu jeder Neben-Pipeline fortgepflanzt.
Sobald jede Neben-Pipeline das Haupt-Pipelineaustauschsignal
erkennt, tauscht dieselbe als Reaktion darauf ihre eigenen
Rahmenpuffer aus. Gemäß einem weiteren Aspekt der Erfindung
pflanzt jede Nebenpipeline ein Rückkopplungssignal über die
Prioritätsverkettung zurück zu der Haupt-Pipeline fort, um
anzuzeigen, ob die Neben-Pipeline bereit ist, ihre Rahmen
puffer wieder auszutauschen. Wenn die letztere Technik ver
wendet wird, wird die Haupt-Pipeline warten, bis das Rück
kopplungssignal anzeigt, daß alle Neben-Pipelines in dem
System bereit sind, ihre Rahmenpuffer auszutauschen, bevor
die Haupt-Pipeline ihre eigenen Rahmenpuffer ein zweites Mal
austauschen wird. Wenn die Haupt-Pipeline ihre Rahmenpuffer
ein zweites Mal austauscht, wird der Prozeß wiederholt, wo
bei die Haupt-Pipeline wieder das Austauschsignal durch die
Prioritätsverkettung fortpflanzt.
Bei einem Ausführungsbeispiel umfaßt ein Multipipelineanzei
gesystem eine geschlossene Prioritätsverkettungsschleife aus
Synchronisationssteuersystemen. Die geschlossene Prioritäts
verkettungsschleife aus Synchronisationssteuersystemen um
faßt ein erstes Synchronisationssteuersystem, das mit einer
ersten Computergraphikpipeline gekoppelt ist, und ein zwei
tes Synchronisationssteuersystem, das mit einer zweiten Com
putergraphikpipeline gekoppelt ist. Das erste Synchronisa
tionssteuersystem ist betreibbar, um seinen Prioritätsver
kettungsausgang zu aktivieren, wenn die erste Computergra
phikpipeline ihre Rahmenpuffer austauscht, und um seinen
Prioritätsverkettungsausgang zu deaktivieren, wenn die erste
Computergraphikpipeline bereit ist, ihre Rahmenpuffer wieder
auszutauschen. Das erste Synchronisationssteuersystem ist
ebenfalls betreibbar, um während der Zeit, wenn sein Priori
tätsverkettungseingang aktiviert ist, dar ersten Computer
graphikpipeline anzuzeigen, daß sie nicht ihre Rahmenpuffer
austauschen sollte. Das zweite Synchronisationssteuersystem
ist betreibbar, wenn es eine positive Flanke an seinem Prio
ritätsverkettungseingang sieht, um der zweiten Computergra
phikpipeline anzuzeigen, daß sie ihre Rahmenpuffer austau
schen sollte. Das zweite Synchronisationssteuersystem ist
ebenfalls betreibbar, um seinen Prioritätsverkettungsausgang
immer dann zu aktivieren, wenn entweder sein Prioritätsver
kettungseingang aktiviert ist, oder wenn die zweite Compu
tergraphikpipeline nicht bereit ist, ihre Rahmenpuffer aus
zutauschen.
Ein weiterer Aspekt der Erfindung ist das Synchronisations
steuersystem selbst. Bei einem Ausführungsbeispiel umfaßt
das Synchronisationssteuersystem einen Prioritätsverket
tungseingang, einen Prioritätsverkettungsausgang, ein UND-
Gatter, ein ODER-Gatter und eine Synchronisationssteuerung.
Die Synchronisationssteuerung hat eine programmierbare
Haupt/Neben-Anzeigerschaltung zum Bestimmen, ob das Synchro
nisationssteuersystem bezüglich anderer Synchronisations
steuersysteme als ein Nebengerät oder als ein Hauptgerät
wirkt, einen Hauptgerät/Nebengerät-Ausgang, der auf die pro
grammierbare Hauptgerät/Nebengerät-Anzeigerschaltung an
spricht, einen Prioritätsverkettungszustandseingang, einen
Bus zum schnittstellenmäßigen Verbinden der Synchronisa
tionssteuerung mit einer Austauschsteuerung in einer Compu
tergraphikpipeline, und einen Zeichenausgang, der auf den
Bus anspricht, zum Anzeigen, ob die Computergraphikpipeline
bereit ist, ihre Rahmenpuffer auszutauschen. Der Prioritäts
verkettungseingang ist mit dem Prioritätsverkettungszu
standseingang und mit einem Eingang des UND-Gatters gekop
pelt. Der Ausgang des ODER-Gatters ist mit dem Prioritäts
verkettungsausgang gekoppelt. Der Zeichenausgang ist mit
einem Eingang des ODER-Gatters gekoppelt. Der Ausgang des
UND-Gatters ist mit einem weiteren Eingang des ODER-Gatters
gekoppelt, und der Hauptgerät/Nebengerät-Ausgang ist mit
einem weiteren Eingang des UND-Gatters gekoppelt, um den
Prioritätsverkettungseingang zu dem ODER-Gatter durchzusteu
ern, wenn das Synchronisationssteuersystem als Nebengerät
programmiert ist, um jedoch zu verhindern, daß der Priori
tätsverkettungseingang mit dem ODER-Gatter verbunden ist,
wenn das Synchronisationssteuersystem als Hauptgerät pro
grammiert ist.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung
werden nachfolgend bezugnehmend auf die beiliegenden Zeich
nungen detaillierter erläutert. Es zeigen
Fig. 1 ein Blockdiagramm, das eine bekannte Computergraphikpipeline
darstellt;
Fig. 2 ein Logikdiagramm, das ein Multipipeline-Computer
graphikanzeigesystem gemäß einem bevorzugten Aus
führungsbeispiel der vorliegenden Erfindung dar
stellt;
Fig. 3 ein Flußdiagramm, das eine bevorzugte Verhaltens
beschreibung jeder Computergraphikpipeline von Fig.
2 darstellt, die als Nebengerät konfiguriert ist;
Fig. 4 ein Flußdiagramm, das eine bevorzugte Verhaltens
beschreibung der Computergraphikpipeline von Fig. 2
darstellt, die als Hauptgerät konfiguriert ist;
Fig. 5 ein Zeitsteuerdiagramm, das den Betrieb des Multi
pipeline-Computergraphikanzeigesystems von Fig. 2
darstellt;
Fig. 6 ein schematisches Diagramm, das eine bevorzugte
Implementation der Differenzleitungsempfänger von
Fig. 2 darstellt; und
Fig. 7 ein schematisches Diagramm, das eine bevorzugte
Implementation der Differenzleitungstreiber von
Fig. 2 darstellt.
Fig. 2 ist ein Logikdiagramm, das ein Multipipeline-Compu
tergraphikanzeigesystem 200 gemäß eines bevorzugten Ausfüh
rungsbeispiels der Erfindung darstellt. Die Computergraphik
pipelines A, B und C können herkömmlich sein und beispiels
weise gemäß der Computergraphikpipeline 100 implementiert
sein. Die Computergraphikpipelines A, B und C sind über Bus
se 204, 208 und 212 mit Synchronisationssteuersystemen 202,
206 bzw. 210 gekoppelt. Das Synchronisationssteuersystem 202
hat einen Prioritätsverkettungseingang 214 und einen Prio
ritätsverkettungsausgang 216. Das Synchronisationssteuer
system 206 hat einen Prioritätsverkettungseingang 218 und
einen Prioritätsverkettungsausgang 220. Das Synchronisa
tionssteuersystem 210 hat einen Prioritätsverkettungseingang
222 und einen Prioritätsverkettungsausgang 224. Der Priori
tätsverkettungsausgang 216 ist mit dem Prioritätsverket
tungseingang 218 über einen Differenztreiber 226 und einen
Differenzempfänger 228 gekoppelt. Der Prioritätsverkettungs
ausgang 220 ist über einen Differenztreiber 230 und einen
Differenzempfänger 232 mit dem Prioritätsverkettungseingang
222 gekoppelt. Der Prioritätsverkettungsausgang 224 ist über
einen Differenztreiber 234 und einen Differenzempfänger 236
mit einem Prioritätsverkettungseingang 214 gekoppelt. Auf
grund dieser Anordnung bilden die Synchronisationssteuersy
steme 202, 206 und 210 eine geschlossene Prioritätsverket
tungsschleife oder "Daisy-Chain-Schleife".
Das Synchronisationssteuersystem 202 enthält eine Synchro
nisationssteuerung A, ein UND-Gatter 238 und ein ODER-Gatter
240. Das Synchronisationssteuersystem 206 enthält eine Syn
chronisationssteuerung B, ein UND-Gatter 242 und ein ODER-
Gatter 244. Das Synchronisationssteuersystem 210 enthält
eine Synchronisationssteuerung C, ein UND-Gatter 246 und ein
ODER-Gatter 248. Die Synchronisationssteuerung A und das
UND-Gatter 238 sind über eine Signalleitung DCS_A mit dem
Prioritätsverkettungseingang 214 gekoppelt. (Die Abkürzung
DCS_A steht für "Prioritätsverkettungszustand A" (Daisy
Chain State A)). Ebenso sind die Synchronisationssteuerung B
und das UND-Gatter 242 mit dem Prioritätsverkettungseingang
218 über eine Signalleitung DCS_B gekoppelt. Die Synchroni
sationssteuerung C und das UND-Gatter 246 sind schließlich
über eine Signalleitung DCS_C mit dem Prioritätsverkettungs
eingang 222 gekoppelt.
Die Synchronisationssteuerungen A, B, und C können unabhän
gig voneinander entweder als Hauptgeräte (Master) oder als
Nebengeräte (Slave) arbeiten. (Vorzugsweise wird nur eine
der Steuerungen als Hauptgerät konfiguriert sein, während
der Rest als Nebengeräte konfiguriert ist.) Um diese Unter
scheidung zu erreichen, enthält jede Steuerung eine programmierbare
Hauptgerät/Nebengerät-Anzeigerschaltung, die in
Fig. 2 als 250, 252 und 254 gezeigt ist. Jede Komponente der
programmierbaren Hauptgerät/Nebengerät-Anzeigerschaltung
kann als Ein-Bit-Feld in Registern implementiert sein, die
über Busse 204, 208 bzw. 212 adressierbar und beschreibbar
sind. Der Zustand des Bits zeigt an, ob das zugeordnete Syn
chronisationssteuersystem sich als Hauptgerät oder als Ne
bengerät verhalten soll. Jede Synchronisationssteuerung A, B
und C hat einen Ausgang zum Anzeigen des Zustands dieses
Bits. Diese Ausgänge sind in Fig. 2 als S/M bezeichnet, um
anzuzeigen, daß, wenn das Signal aktiviert ist (deaktiviert
ist) das Hostsynchronisationssteuersystem als Nebengerät
(Hauptgerät) wirken soll. Diese Ausgänge sind mit einem der
Eingänge der UND-Gatter 238, 242 und 246 gekoppelt, wie es
gezeigt ist. Die Ausgänge der UND-Gatter 238, 242 und 246
sind mit einem der Eingänge der ODER-Gatter 240, 244 bzw.
248 gekoppelt. Die Auswirkung dieser Anordnung besteht dar
in, zu bewirken, daß der Zustand des Prioritätsverkettungs
eingangs jedes Nebengeräts zu dem ODER-Term beiträgt, der
durch die ODER-Gatter 240, 244 und 248 erzeugt wird. Für ein
Hauptgerät trägt der Prioritätsverkettungseingang jedoch
nicht zu dem ODER-Term bei.
Der andere Eingang der ODER-Gatter 240, 244 und 248 ist mit
einem Signal ZEICHNEN gekoppelt, welches immer dann durch
die jeweilige Synchronisationssteuerung aktiviert wird, wenn
die derselben zugeordnete Computergraphikpipeline noch nicht
bereit ist, die Rahmenpuffer auszutauschen. Dieses Signal
würde typischerweise aktiviert sein, wenn die zugeordnete
Computergraphikpipeline gerade beschäftigt ist, Pixeldaten
in ihren nicht-betrachtbaren Rahmenpuffer aufzubereiten. Das
Signal würde deaktiviert werden, nachdem der Rahmen voll
ständig in den nicht-betrachtbaren Rahmenpuffer aufbereitet
worden ist. Um diese Funktionalität zu erreichen, sollten
die Busse 204, 208 und 212 derart betreibbar sein, daß sie
nicht nur den jeweiligen Computergraphikpipelines A, B und C
erlauben, auf die Komponenten 250, 252 und 254 der program
mierbaren Hauptgerät/Nebengerät-Anzeigerschaltung zugreifen,
sondern dieselben sollten ebenfalls eine Schnittstelle für
die jeweilige Austauschsteuerung 120 innerhalb der zugeord
neten Pipeline schaffen. Insbesondere sollte das Schnitt
stellensignalisieren vorgesehen sein, (1) um zu erlauben,
daß die Computergraphikpipeline ihrer Synchronisationssteue
rung anzeigt, wenn ein Rahmenpufferaustausch auftritt, (2)
um es der Computergraphikpipeline zu erlauben, ihrer Syn
chronisationssteuerung anzuzeigen, wenn die Pipeline noch
nicht bereit ist, um Rahmenpuffer auszutauschen, (3) um es
der Synchronisationssteuerung zu erlauben, ihrer Computer
graphikpipeline anzuzeigen, wenn ein Rahmenpufferaustausch
auftreten sollte, und (4) um es der Synchronisationssteu
erung zu erlauben, ihrer Computergraphikpipeline anzuzeigen,
daß ein Rahmenpufferaustausch nicht versucht werden sollte.
Es wird davon ausgegangen, daß ein Fachmann unter Bezugnahme
auf diese Beschreibung in der Lage sein wird, eine solche
Schnittstelle zu entwickeln, ohne daß es übermäßiger Experi
mentierung bedarf.
Fig. 3 ist ein Flußdiagramm, das verhaltensmäßig darstellt,
wie eine Graphikpipeline und ihre zugeordnete Synchronisa
tionssteuerung zusammenarbeiten werden, wenn die Synchroni
sationssteuerung als Nebengerät konfiguriert ist. Wie es bei
300 gezeigt ist, überwacht jedes Nebengerät seinen Priori
tätsverkettungseingang und wartet darauf, bis dasselbe eine
positive Flanke erfaßt. In anderen Worten wartet das Neben
gerät, bis es erfaßt, daß sein Prioritätsverkettungseingang
von einem deaktivierten in einen aktivierten Zustand überge
gangen ist. Während des Wartens zeigt das Nebengerätsynchro
nisationssteuersytem seiner zugeordneten Graphikpipeline,
daß es noch nicht günstig ist, Puffer auszutauschen. Beim
Erfassen einer positiven Flanke zeigt das Synchronisations
steuersystem seiner Graphikpipeline jedoch an, daß es Zeit
ist, Puffer auszutauschen, wonach die Puffer bei 203 ausge
tauscht werden. Sobald dies auftritt, aktiviert das Neben
synchronisationssteuersystem seinen Ausgang ZEICHNEN, wie es
bei 304 gezeigt ist, um anzuzeigen, daß seine Graphikpipe
line gerade damit beschäftigt ist, Pixeldaten in seinen
nicht-betrachbaren Rahmenpuffer aufzubereiten. Dieses Signal
bleibt während der Zeit aktiviert 306, die benötigt wird,
damit der Rahmen bzw. das Einzelbild vollständig aufbereitet
wird. Wenn der Rahmen vollständig aufbereitet ist, deakti
viert das Nebengerätsynchronisationssteuersystem seinen Aus
gang ZEICHNEN bei 308, um anzuzeigen, daß es bereit ist,
Puffer auszutauschen. Das Nebengerät wartet dann wieder bei
300 auf eine positive Flanke an seinem Prioritätsverket
tungseingang, bevor es die Puffer austauscht, wobei der Pro
zeß wiederholt wird.
Fig. 4 ist ein Flußdiagramm, das verhaltensmäßig darstellt,
wie eine Graphikpipeline und ihre zugeordnete Synchronisa
tionssteuerung zusammenarbeiten werden, wenn die Synchroni
sationssteuerung als Hauptgerät konfiguriert ist. Es sei an
genommen, daß die Hauptgerätcomputerpipeline ihre Rahmenpuf
fer bei 400 austauscht. Sobald das zugeordnete Hauptgerät
synchronisationssteuersystem erfaßt, daß dies aufgetreten
ist, aktiviert es seinen Ausgang ZEICHNEN bei 402, um anzu
zeigen, daß die Hauptgerätpipeline gerade damit beschäftigt
ist, Pixeldaten in ihren nicht-betrachtbaren Rahmenpuffer
aufzubereiten. Dieses Signal bleibt bei 304 aktiviert, und
zwar während der Zeit, die benötigt wird, damit der Rahmen
bzw. das Einzelbild vollständig aufbereitet wird. Wenn der
Rahmen vollständig aufbereitet ist, deaktiviert das Haupt
gerätsynchronisationssteuersystem seinen Ausgang ZEICHNEN
bei 406, um anzuzeigen, daß seine zugeordnete Graphikpipe
line bereit ist, um wieder Puffer auszutauschen. Die Haupt
gerätsynchronisationssteuerung wird jedoch seiner Pipeline
nicht anzeigen, daß sie Puffer austauschen sollte, bis die
Hauptsteuerung erfaßt, daß ihr Prioritätsverkettungseingang
in einem deaktivierten Zustand ist (was anzeigt, daß alle
Nebengeräte ebenfalls bereit sind, Puffer auszutauschen).
Die Hauptsteuerung wartet bei 408, bis sie sieht, daß ihr
Prioritätsverkettungseingang deaktiviert ist, was anzeigt,
daß alle Nebengeräte bereit sind, Puffer auszutauschen, wo
nach die Hauptsteuerung ihrer zugeordneten Graphikpipeline
anzeigt, daß es nun sicher ist, Puffer auszutauschen. Das
Verfahren wird dann bei 400 wiederholt, wenn die Hauptgerät
pipeline ihre Rahmenpuffer austauscht.
Um ein detaillierters Verständnis des Betriebs des Multi
pipeline-Computergraphikanzeigesystems 200 zu schaffen, wird
nachfolgend bezugnehmend auf das Zeitsteuerdiagramm von Fig.
5 ein Beispiel erörtert. Zwecks dieses Beispiels sei ange
nommen, daß die Computergraphikpipeline A auf den program
mierbaren Hauptgerät/Nebengerät-Anzeiger 250 zugegriffen
hat, und in dem entsprechenden Bit eine 0 gespeichert hat,
um das Synchronisationssteuersystem 202 zu konfigurieren, um
als das Hautgerät zu arbeiten. Es sei ebenfalls angenommen,
daß sowohl die Computergraphikpipeline B als auch die Compu
tergraphikpipeline C auf ihre jeweiligen programmierbaren
Hauptgerät/Nebengerät-Anzeiger 252, 254 zugegriffen haben,
und in dem geeigneten Bit eine 1 gespeichert haben, um die
Synchronisationssteuersysteme 206, 210 derart zu konfigurie
ren, daß sie als Nebengeräte arbeiten. Bei 500 tauscht die
Hauptgerätpipeline A ihre Rahmenpuffer aus, wobei als Reak
tion darauf die Hauptsynchronisationssteuerung A ZEICHNEN_A
aktiviert. Diese Aktivierung wird über das ODER-Gatter 240
und die Prioritätsverkettungsverbindung 256 zu dem Priori
tätsverkettungseingang 218 fortgepflanzt, was bewirkt, daß
DCS_B aktiviert wird, wie es bei 502 gezeigt ist. Die posi
tive Flanke auf DCS_B bewirkt, daß die Nebengerätsynchroni
sationssteuerung B der Computergraphikpipeline B mitteilt,
die Puffer auszutauschen, und dieselbe bewirkt, daß die Syn
chronisationssteuerung B ZEICHNEN_B aktiviert, wie es bei
504 gezeigt ist. Da die Synchronisationssteuerung B als Ne
bengerät konfiguriert ist, wird ihr Signal S/M eine 1 sein.
Daher wird die Aktivierung von DCS_B durch das UND-Gatter
242, das ODER-Gatter 244 und die Prioritätsverkettungsver
bindung 258 zu dem Prioritätsverkettungseingang 222 fortge
pflanzt. Ebenfalls wird die Aktivierung ZEICHNEN_B durch das
ODER-Gatter 244 und die Prioritätsverkettungsverbindung 258
zu dem Prioritätsverkettungseingang 222 fortgepflanzt, was
bewirkt, daß DCS_C aktiviert wird, wie es bei 506 gezeigt
ist. Als Reaktion auf die positive Flanke auf DCS_C teilt
die Synchronisationssteuerung C der Pipeline C mit, die Puf
fer auszutauschen, und dieselbe aktiviert ZEICHNEN_C, wie es
bei 508 gezeigt ist. Dieses Signal (genauso wie das DCS_C-
Signal, das sich durch das UND-Gatter 246 forgepflanzt hat)
pflanzt sich durch das ODER-Gatter 248 und die Prioritäts
verkettungsverbindung 260 zu dem Prioritätsverkettungsein
gang 214 fort, was bewirkt, daß DCS_A aktiviert wird, wie es
bei 510 gezeigt ist.
Es sei angenommen, daß die Hauptgerätpipeline A zuerst das
Aufbereiten in den nicht-betrachtbaren Rahmenpuffer beendet.
Dieselbe teilt dann ihrer Synchronisationssteuerung A mit,
daß sie das Aufbereiten beendet hat, wonach die Synchronisa
tionssteuerung A als Reaktion darauf ZEICHNEN_A deaktiviert,
wie es bei 512 gezeigt ist. Dies wird durch das ODER-Gatter
240 und die Prioritätsverkettungsverbindung 256 fortge
pflanzt, um zu bewirken, daß DCS_B deaktiviert wird, wie es
bei 514 gezeigt ist. Es sei angenommen, daß die Pipeline C
als zweite das Aufbereiten beendet, und daß die Pipeline B
die letzte ist, die mit dem Aufbereiten fertig wird. Sobald
die Pipeline C fertig ist, teilt sie dies der Synchronisa
tionssteuerung C mit, welche ZEICHNEN_C deaktiviert, wie es
bei 516 gezeigt ist. Da die Pipeline B immer noch aufberei
tet, bleibt ZEICHEN_B jedoch aktiviert. So sieht trotz der
mittlerweile eingetretenen Deaktivierung von ZEICHNEN_C die
Hauptgerätsynchronisationssteuerung A immer noch, daß DCS_A
aktiviert ist. Dies ist der Fall, da das aktivierte Signal
ZEICHNEN_B immer noch durch das ODER-Gatter 244, die Priori
tätsverkettungsverbindung 258, das UND-Gatter 246, das
ODER-Gatter 248 und die Prioritätsverkettungsverbindung 260
zu dem Prioritätsverkettungseingang 214 ausgebreitet wird.
Somit wartet die Hauptgerätsynchronisationssteuerung A noch
darauf, Rahmenpuffer auszutauschen, da sie weiß, daß zumin
dest ein Nebengerät in der Prioritätverkettungsschleife im
mer noch aufbereitet, und nicht bereit ist, ihre Puffer aus
zutauschen.
Schließlich beendet die Pipeline B bei 518 das Aufbereiten,
und die Synchronisationssteuerung B deaktiviert ZEICHNEN_B.
Dies wird über das ODER-Gatter 244 und die Prioritätsver
kettungsverbindung 258 fortgepflanzt, um zu bewirken, daß
DCS_C deaktiviert wird, wie es bei 520 gezeigt ist. Sobald
die Deaktivierung von DCS_C über das UND-Gatter 246, das
ODER-Gatter 248 und die Prioritätsverkettungsverbindung 260
fortgepflanzt wird, wird DCS_A deaktiviert, wie es bei 522
gezeigt ist. Wenn die Hauptgerätsynchronisationssteuerung A
sieht, daß DCS_A deaktiviert worden ist, zeigt der Hauptge
rätpipeline A an, daß es nun sicher ist, Rahmenpuffer aus
zutauschen. Die Hauptgerätpipeline A führt dies durch, und
der Prozeß wird bei 524 wiederholt. (Sobald die Hauptgerät
pipeline A Kenntnis erhält, daß es sicher ist, Rahmenpuffer
auszutauschen, wird sie dies vorzugsweise nur tun, wenn die
gegenwärtige Rasterposition ihrer Anzeige nicht innerhalb
des interessierenden Fensters ist. Ferner wird jede Neben
gerätpipeline dieselbe Vorsicht bezüglich ihrer eigenen ge
genwärtigen Rasterposition walten lassen.)
Fig. 6 ist ein schematisches Diagramm, das eine bevorzugte
Implementation der Differenzleitungsempfänger 228, 232 und
236 darstellt. Ein beliebiger gebrauchsfertiger Differenz
leitungsverstärker kann verwandet werden, wie z. B. der Vie
rerdifferenzleitungsempfänger AM26LV32C, der in Fig. 6 ge
zeigt ist, und der von Texas Instruments, Inc. hergestellt
wird. Das Widerstandsnetzwerk, das bei 600 gezeigt ist, wird
vorzugsweise verwendet, um eine korrekte Abschlußimpedanz
für die Prioritätsverkettung zu liefern. Fig. 7 ist ein
schematisches Diagramm, das eine bevorzugte Implementation
der Differenzleitungstreiber 226, 230 und 234 darstellt. Wie
es aus der Zeichnung zu sehen ist, kann ein beliebiger ge
brauchsfertiger Differenzleitungstreiber verwendet werden,
wie z. B. der Viererdifferenzleitungstreiber AM26LV31C, der
in Fig. 7 gezeigt ist und ebenfalls von Texas Instruments,
Inc. hergestellt wird.
Claims (8)
1. Vorrichtung zum Synchronisieren des Rahmenpufferaus
tauschens in zumindest einer ersten und einer zweiten
Computergraphikpipeline (A, B), wobei die Vorrichtung
zum Synchronisieren des Rahmenpufferaustauschens fol
gende Merkmale aufweist:
eine geschlossene Prioritätsverkettungsschleife von Synchronisationssteuersystemen (202, 206), wobei jedes Synchronisationssteuersystem in der Schleife einen Pri oritätsverkettungseingang (214, 218) und einen Priori tätsverkettungsausgang (216, 220) aufweist, wobei der Prioritätsverkettungsausgang jedes Synchronisations steuersystems mit dem Prioritätsverkettungseingang ei nes weiteren Synchronisationssteuersystems gekoppelt ist;
wobei die geschlossene Prioritätsverkettungsschleife von Synchronisationssteuersystemen folgende Merkmale aufweist:
ein erstes Synchronisationssteuersystem (202), das mit der ersten Computergraphikpipeline (A) gekop pelt ist, und das einen ersten Prioritätsverket tungseingang (214) und einen ersten Prioritätsver kettungsausgang (216) aufweist;
ein zweites Synchronisationssteuersystem (206), das mit der zweiten Computergraphikpipeline (B) gekop pelt ist, und das einen zweiten Prioritätsverket tungseingang (218) und einen zweiten Prioritätsver kettungsausgang (220) aufweist;
wobei das erste Synchronisationssteuersystem (202) be treibbar ist, um den ersten Prioritätsverkettungsaus gang (216) zu aktivieren, wenn die erste Computergra phikpipeline (A) ihre Rahmenpuffer austauscht, und um den ersten Prioritätsverkettungsausgang (216) zu deak tivieren, wenn die erste Computergraphikpipeline (A) bereit ist, ihre Rahmenpuffer wieder auszutauschen;
wobei das erste Synchronisationssteuersystem (202) be treibbar ist, wenn der erste Prioritätsverkettungsein gang (214) in einem aktivierten Zustand ist, um der ersten Computergraphikpipeline (A) anzuzeigen, daß sie ihre Rahmenpuffer nicht austauschen sollte;
wobei das zweite Synchronisationssteuersystem (206) betreibbar ist, wenn der zweite Prioritätsverket tungseingang (218) von einem deaktivierten in einen aktivierten Zustand übergeht, um der zweiten Compu tergraphikpipeline (B) anzuzeigen, daß sie ihre Rah menpuffer austauschen sollte;
wobei das zweite Synchronisationssteuersystem (206) be treibbar ist, um den zweiten Prioritätsverkettungsaus gang (220) immer dann zu aktivieren, wenn die logische ODER-Verknüpfung der folgenden zwei Bedingungen wahr ist: die zweite Computergraphikpipeline (B) ist nicht bereit, ihre Rahmenpuffer auszutauschen, und der zweite Prioritätsverkettungseingang (218) ist aktiviert.
eine geschlossene Prioritätsverkettungsschleife von Synchronisationssteuersystemen (202, 206), wobei jedes Synchronisationssteuersystem in der Schleife einen Pri oritätsverkettungseingang (214, 218) und einen Priori tätsverkettungsausgang (216, 220) aufweist, wobei der Prioritätsverkettungsausgang jedes Synchronisations steuersystems mit dem Prioritätsverkettungseingang ei nes weiteren Synchronisationssteuersystems gekoppelt ist;
wobei die geschlossene Prioritätsverkettungsschleife von Synchronisationssteuersystemen folgende Merkmale aufweist:
ein erstes Synchronisationssteuersystem (202), das mit der ersten Computergraphikpipeline (A) gekop pelt ist, und das einen ersten Prioritätsverket tungseingang (214) und einen ersten Prioritätsver kettungsausgang (216) aufweist;
ein zweites Synchronisationssteuersystem (206), das mit der zweiten Computergraphikpipeline (B) gekop pelt ist, und das einen zweiten Prioritätsverket tungseingang (218) und einen zweiten Prioritätsver kettungsausgang (220) aufweist;
wobei das erste Synchronisationssteuersystem (202) be treibbar ist, um den ersten Prioritätsverkettungsaus gang (216) zu aktivieren, wenn die erste Computergra phikpipeline (A) ihre Rahmenpuffer austauscht, und um den ersten Prioritätsverkettungsausgang (216) zu deak tivieren, wenn die erste Computergraphikpipeline (A) bereit ist, ihre Rahmenpuffer wieder auszutauschen;
wobei das erste Synchronisationssteuersystem (202) be treibbar ist, wenn der erste Prioritätsverkettungsein gang (214) in einem aktivierten Zustand ist, um der ersten Computergraphikpipeline (A) anzuzeigen, daß sie ihre Rahmenpuffer nicht austauschen sollte;
wobei das zweite Synchronisationssteuersystem (206) betreibbar ist, wenn der zweite Prioritätsverket tungseingang (218) von einem deaktivierten in einen aktivierten Zustand übergeht, um der zweiten Compu tergraphikpipeline (B) anzuzeigen, daß sie ihre Rah menpuffer austauschen sollte;
wobei das zweite Synchronisationssteuersystem (206) be treibbar ist, um den zweiten Prioritätsverkettungsaus gang (220) immer dann zu aktivieren, wenn die logische ODER-Verknüpfung der folgenden zwei Bedingungen wahr ist: die zweite Computergraphikpipeline (B) ist nicht bereit, ihre Rahmenpuffer auszutauschen, und der zweite Prioritätsverkettungseingang (218) ist aktiviert.
2. Vorrichtung gemäß Anspruch 1, bei der:
jedes Synchronisationssteuersystem (202, 206) in der geschlossenen Prioritätsverkettungsschleife mit seiner eigenen Computergraphikpipeline (A, B) gekoppelt ist;
wobei das erste Synchronisationssteuersystem (202) ein Hauptgerät ist;
wobei jeder der anderen Synchronisationssteuersysteme (206) in der geschlossenen Prioritätsverkettungsschlei fe ein Nebengerät ist; und
wobei jedes Nebengerät bezüglich der geschlossenen Prioritätsverkettungsschleife und bezüglich seiner eigenen Computergraphikpipeline (B) auf dieselbe Art und Weise wie das zweite Synchronisationssteuersystem (206) bezüglich der geschlossenen Prioritätsverket tungsschleife und bezüglich der zweiten Computergra phikpipeline (B) arbeitet.
jedes Synchronisationssteuersystem (202, 206) in der geschlossenen Prioritätsverkettungsschleife mit seiner eigenen Computergraphikpipeline (A, B) gekoppelt ist;
wobei das erste Synchronisationssteuersystem (202) ein Hauptgerät ist;
wobei jeder der anderen Synchronisationssteuersysteme (206) in der geschlossenen Prioritätsverkettungsschlei fe ein Nebengerät ist; und
wobei jedes Nebengerät bezüglich der geschlossenen Prioritätsverkettungsschleife und bezüglich seiner eigenen Computergraphikpipeline (B) auf dieselbe Art und Weise wie das zweite Synchronisationssteuersystem (206) bezüglich der geschlossenen Prioritätsverket tungsschleife und bezüglich der zweiten Computergra phikpipeline (B) arbeitet.
3. Vorrichtung gemäß Anspruch 2, bei der jedes Synchro
nisationssteuersystem (202, 206) in der geschlossenen
Prioritätsverkettungsschleife folgende Merkmale auf
weist:
eine Synchronisationssteuerung, ein UND-Gatter (238, 242) und ein ODER-Gatter (240, 244);
wobei die Synchronisationssteuerung folgende Merkmale aufweist: eine programmierbare Hauptgerät/Nebengerät- Anzeigerschaltung (250, 252) zum Bestimmen, ob das Synchronisationssteuersystem (202, 206) als Hauptgerät oder als Nebengerät arbeiten wird; einen Hauptgerät/Ne bengerät-Ausgang, der auf die Hauptgerät/Nebengerät-An zeigerschaltung anspricht; einen Prioritätsverkettungs zustandseingang; und einen Zeichnen-Ausgang, wobei der Zeichnen-Ausgang zum Anzeigen vorhanden ist, daß die Computergraphikpipeline (A, B), mit der das Synchroni sationssteuersystem (202, 206) gekoppelt ist, nicht be reit ist, ihre Puffer auszutauschen; und
wobei: der Prioritätsverkettungseingang (214, 218) des Synchronisationssteuersystems (202, 206) mit dem Prio ritätsverkettungszustandseingang und mit einem Eingang des UND-Gatters (238, 242) gekoppelt ist; der Ausgang des ODER-Gatters (240, 244) mit dem Prioritätsverket tungsausgang (216, 220) des Synchronisationssteuersy stems (202, 206) gekoppelt ist; der Zeichnen-Ausgang mit einem Eingang des ODER-Gatters (240, 244) gekoppelt ist; der Ausgang des UND-Gatters (238, 242) mit einem anderen Eingang des ODER-Gatters (240, 244) gekoppelt ist; und der Hauptgerät/Nebengerät-Ausgang mit einem anderen Eingang des UND-Gatters (238, 242) gekoppelt ist, um den Prioritätsverkettungseingang (214, 218) des Synchronisationssteuersystems (202, 206) zu dem ODER- Gatter (240, 244) durchzuschalten, wenn das Synchroni sationssteuersystem (202, 206) ein Nebengerät ist, um jedoch zu verhindern, daß der Prioritätsverkettungsein gang (214, 218) des Synchronisationssteuersystems (202, 206) zu dem ODER-Gatter (240, 244) durchgeschaltet wird, wenn das Synchronisationssteuersystem (202, 206) ein Hauptgerät ist.
eine Synchronisationssteuerung, ein UND-Gatter (238, 242) und ein ODER-Gatter (240, 244);
wobei die Synchronisationssteuerung folgende Merkmale aufweist: eine programmierbare Hauptgerät/Nebengerät- Anzeigerschaltung (250, 252) zum Bestimmen, ob das Synchronisationssteuersystem (202, 206) als Hauptgerät oder als Nebengerät arbeiten wird; einen Hauptgerät/Ne bengerät-Ausgang, der auf die Hauptgerät/Nebengerät-An zeigerschaltung anspricht; einen Prioritätsverkettungs zustandseingang; und einen Zeichnen-Ausgang, wobei der Zeichnen-Ausgang zum Anzeigen vorhanden ist, daß die Computergraphikpipeline (A, B), mit der das Synchroni sationssteuersystem (202, 206) gekoppelt ist, nicht be reit ist, ihre Puffer auszutauschen; und
wobei: der Prioritätsverkettungseingang (214, 218) des Synchronisationssteuersystems (202, 206) mit dem Prio ritätsverkettungszustandseingang und mit einem Eingang des UND-Gatters (238, 242) gekoppelt ist; der Ausgang des ODER-Gatters (240, 244) mit dem Prioritätsverket tungsausgang (216, 220) des Synchronisationssteuersy stems (202, 206) gekoppelt ist; der Zeichnen-Ausgang mit einem Eingang des ODER-Gatters (240, 244) gekoppelt ist; der Ausgang des UND-Gatters (238, 242) mit einem anderen Eingang des ODER-Gatters (240, 244) gekoppelt ist; und der Hauptgerät/Nebengerät-Ausgang mit einem anderen Eingang des UND-Gatters (238, 242) gekoppelt ist, um den Prioritätsverkettungseingang (214, 218) des Synchronisationssteuersystems (202, 206) zu dem ODER- Gatter (240, 244) durchzuschalten, wenn das Synchroni sationssteuersystem (202, 206) ein Nebengerät ist, um jedoch zu verhindern, daß der Prioritätsverkettungsein gang (214, 218) des Synchronisationssteuersystems (202, 206) zu dem ODER-Gatter (240, 244) durchgeschaltet wird, wenn das Synchronisationssteuersystem (202, 206) ein Hauptgerät ist.
4. Verfahren zum Synchronisieren des Rahmenpufferaustau
schens in Multipipeline-Computergraphikanzeigesystemen
(202), mit folgenden Schritten:
- a) Austauschen von Rahmenpuffern in einer Hauptgerät- Computergraphikpipeline (A);
- b) Fortpflanzenlassen eines Hauptgerät-Austauschsi gnals von der Hauptgerät-Computergraphikpipeline (A) zu einer in einer Prioritätsverkettung angeord neten Serie von Nebengerät-Computergraphikpipelines (B, C); und
- c) Austauschen von Rahmenpuffern in jeder der Nebenge rät-Computergraphikpipelines (B, C) als Reaktion auf das Hauptgerät-Austauschsignal.
5. Verfahren gemäß Anspruch 4, das ferner folgende Schrit
te aufweist:
- a) Fortpflanzenlassen eines Rückkopplungssignals von zumindest einer der Nebengerät-Computergraphikpipe lines (B, C) zu der Hauptgerät-Computergraphikpipe line (A), wobei das Rückkopplungssignal anzeigt, ob die zumindest eine Nebengerät-Computergraphikpipeline (B, C) bereit ist, Rahmenpuffer auszutauschen; und
- b) Warten, bis das Rückkopplungssignal an der Haupt gerät-Computergraphikpipeline (A) anzeigt, daß die zumindest eine Nebengerät-Computergraphikpipeline (B, C) bereit ist, Rahmenpuffer auszutauschen; und
6. Verfahren gemäß Anspruch 4, das ferner folgende Schrit
te aufweist:
Zugreifen auf die erste Hauptgerät/Nebengerät-Anzeiger schaltung (250), um die Hauptgerät-Computergraphikpipe line (A) zu konfigurieren, um als Hauptgerät zu arbei ten; und
Zugreifen auf zumindest die zweite Hauptgerät/Nebenge rät-Anzeigerschaltung (252, 254), um jede Nebengerät- Computergraphikpipeline (B, C) zu konfigurieren, um als Nebengerät zu arbeiten.
Zugreifen auf die erste Hauptgerät/Nebengerät-Anzeiger schaltung (250), um die Hauptgerät-Computergraphikpipe line (A) zu konfigurieren, um als Hauptgerät zu arbei ten; und
Zugreifen auf zumindest die zweite Hauptgerät/Nebenge rät-Anzeigerschaltung (252, 254), um jede Nebengerät- Computergraphikpipeline (B, C) zu konfigurieren, um als Nebengerät zu arbeiten.
7. Verfahren gemäß Anspruch 5, bei dem Schritte b) und d)
folgende Schritte aufweisen:
in zumindest einem Nebengerät, Bestimmen der logischen ODER-Verknüpfung der folgenden beiden Signale: eines Prioritätsverkettungseingangssignals (218, 222) und eines Zeichnen-Signals, das anzeigt, ob das zumindest eine Nebengerät bereit ist, Rahmenpuffer auszutauschen; und
Treiben eines Prioritätsverkettungsausgangssignals (220, 224), das auf den Schritt des Bestimmens an spricht.
in zumindest einem Nebengerät, Bestimmen der logischen ODER-Verknüpfung der folgenden beiden Signale: eines Prioritätsverkettungseingangssignals (218, 222) und eines Zeichnen-Signals, das anzeigt, ob das zumindest eine Nebengerät bereit ist, Rahmenpuffer auszutauschen; und
Treiben eines Prioritätsverkettungsausgangssignals (220, 224), das auf den Schritt des Bestimmens an spricht.
8. Synchronisationssteuersystem (202) zum Synchronisieren
des Rahmenpufferaustauschens in einer ersten Computer
graphikpipeline (A) mit einem Rahmenpufferaustauschen
in einer zweiten Computergraphikpipeline (B), wobei das
Synchronisationssteuersystem (202) folgende Merkmale
aufweist:
einen Prioritätsverkettungseingang (214);
einen Prioritätsverkettungsausgang (216);
ein UND-Gatter (238);
ein ODER-Gatter (240); und
eine Synchronisationssteuerung mit folgenden Merkmalen:
einer programmierbaren Hauptgerät/Nebengerät-Anzeiger schaltung (250) zum Bestimmen, ob das Synchronisations steuersystem (202) als ein Nebengerät oder als ein Hauptgerät bezüglich der zweiten Computergraphikpipe line (B) arbeiten wird; einem Hauptgerät/Nebengerät- Ausgang, der auf die programmierbare Hauptgerät/Neben gerät-Anzeigerschaltung (250) anspricht; einem Priori tätsverkettungszustandseingang; einem Bus (204) zum schnittstellenmäßigen Verbinden der Synchronisations steuerung mit einer Austauschsteuerung in der ersten Computergraphikpipeline (A); und einem Zeichnen-Aus gang, der auf den Bus (204) anspricht, zum Anzeigen, ob die erste Computergraphikpipeline (A) bereit ist, ihre Rahmenpuffer auszutauschen;
wobei: der Prioritätsverkettungseingang (214) mit dem Prioritätsverkettungszustandseingang und mit einem Ein gang des UND-Gatters (238) gekoppelt ist; der Ausgang des ODER-Gatters (240) mit dem Prioritätsverkettungs ausgang (216) gekoppelt ist; der Zeichnen-Ausgang mit einem Eingang des ODER-Gatters (240) gekoppelt ist; der Ausgang des UND-Gatters (238) mit einem weiteren Ein gang des ODER-Gatters (240) gekoppelt ist; und der Hauptgerät/Nebengerät-Ausgang mit einem anderen Eingang des UND-Gatters (238) gekoppelt ist, um den Prioritäts verkettungseingang (214) zu dem ODER-Gatter (240) durchzuschalten, wenn das Synchronisationssteuersystem (202) als Nebengerät programmiert ist, um jedoch zu verhindern, daß der Prioritätsverkettungseingang (214) das ODER-Gatter (240) erreicht, wenn das Synchronisa tionssteuersystem (202) als Hauptgerät programmiert ist.
einen Prioritätsverkettungseingang (214);
einen Prioritätsverkettungsausgang (216);
ein UND-Gatter (238);
ein ODER-Gatter (240); und
eine Synchronisationssteuerung mit folgenden Merkmalen:
einer programmierbaren Hauptgerät/Nebengerät-Anzeiger schaltung (250) zum Bestimmen, ob das Synchronisations steuersystem (202) als ein Nebengerät oder als ein Hauptgerät bezüglich der zweiten Computergraphikpipe line (B) arbeiten wird; einem Hauptgerät/Nebengerät- Ausgang, der auf die programmierbare Hauptgerät/Neben gerät-Anzeigerschaltung (250) anspricht; einem Priori tätsverkettungszustandseingang; einem Bus (204) zum schnittstellenmäßigen Verbinden der Synchronisations steuerung mit einer Austauschsteuerung in der ersten Computergraphikpipeline (A); und einem Zeichnen-Aus gang, der auf den Bus (204) anspricht, zum Anzeigen, ob die erste Computergraphikpipeline (A) bereit ist, ihre Rahmenpuffer auszutauschen;
wobei: der Prioritätsverkettungseingang (214) mit dem Prioritätsverkettungszustandseingang und mit einem Ein gang des UND-Gatters (238) gekoppelt ist; der Ausgang des ODER-Gatters (240) mit dem Prioritätsverkettungs ausgang (216) gekoppelt ist; der Zeichnen-Ausgang mit einem Eingang des ODER-Gatters (240) gekoppelt ist; der Ausgang des UND-Gatters (238) mit einem weiteren Ein gang des ODER-Gatters (240) gekoppelt ist; und der Hauptgerät/Nebengerät-Ausgang mit einem anderen Eingang des UND-Gatters (238) gekoppelt ist, um den Prioritäts verkettungseingang (214) zu dem ODER-Gatter (240) durchzuschalten, wenn das Synchronisationssteuersystem (202) als Nebengerät programmiert ist, um jedoch zu verhindern, daß der Prioritätsverkettungseingang (214) das ODER-Gatter (240) erreicht, wenn das Synchronisa tionssteuersystem (202) als Hauptgerät programmiert ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/859,799 US6157395A (en) | 1997-05-19 | 1997-05-19 | Synchronization of frame buffer swapping in multi-pipeline computer graphics display systems |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19807028A1 DE19807028A1 (de) | 1998-11-26 |
DE19807028C2 true DE19807028C2 (de) | 2001-12-06 |
Family
ID=25331745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19807028A Expired - Fee Related DE19807028C2 (de) | 1997-05-19 | 1998-02-19 | Synchronisation für das Rahmenpufferaustauschen in Multipipeline-Computergraphikanzeigesystemen |
Country Status (4)
Country | Link |
---|---|
US (1) | US6157395A (de) |
JP (1) | JP3627897B2 (de) |
DE (1) | DE19807028C2 (de) |
GB (1) | GB2325602B (de) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6924807B2 (en) * | 2000-03-23 | 2005-08-02 | Sony Computer Entertainment Inc. | Image processing apparatus and method |
US6791551B2 (en) | 2000-11-27 | 2004-09-14 | Silicon Graphics, Inc. | Synchronization of vertical retrace for multiple participating graphics computers |
US6809733B2 (en) * | 2000-11-27 | 2004-10-26 | Silicon Graphics, Inc. | Swap buffer synchronization in a distributed rendering system |
US6831648B2 (en) | 2000-11-27 | 2004-12-14 | Silicon Graphics, Inc. | Synchronized image display and buffer swapping in a multiple display environment |
US7016998B2 (en) * | 2000-11-27 | 2006-03-21 | Silicon Graphics, Inc. | System and method for generating sequences and global interrupts in a cluster of nodes |
WO2002056546A1 (fr) * | 2001-01-09 | 2002-07-18 | Mitsubishi Denki Kabushiki Kaisha | Systeme de transmission de donnees |
JP2003030641A (ja) * | 2001-07-19 | 2003-01-31 | Nec System Technologies Ltd | 描画装置とその並列描画方法、及び並列描画プログラム |
US6727904B2 (en) * | 2002-03-01 | 2004-04-27 | Hewlett-Packard Development Company, L.P. | System and method for rendering graphical data |
US6700580B2 (en) * | 2002-03-01 | 2004-03-02 | Hewlett-Packard Development Company, L.P. | System and method utilizing multiple pipelines to render graphical data |
US6894692B2 (en) * | 2002-06-11 | 2005-05-17 | Hewlett-Packard Development Company, L.P. | System and method for sychronizing video data streams |
US7237041B2 (en) * | 2002-12-02 | 2007-06-26 | Adc Telecommunications, Inc. | Systems and methods for automatic assignment of identification codes to devices |
US7483031B2 (en) * | 2003-04-17 | 2009-01-27 | Nvidia Corporation | Method for synchronizing graphics processing units |
US7119808B2 (en) * | 2003-07-15 | 2006-10-10 | Alienware Labs Corp. | Multiple parallel processor computer graphics system |
US20080211816A1 (en) * | 2003-07-15 | 2008-09-04 | Alienware Labs. Corp. | Multiple parallel processor computer graphics system |
US7425962B2 (en) * | 2004-07-27 | 2008-09-16 | Hewlett-Packard Development Company, L.P. | Systems and methods for generating a composite video signal from a plurality of independent video signals |
US7545380B1 (en) * | 2004-12-16 | 2009-06-09 | Nvidia Corporation | Sequencing of displayed images for alternate frame rendering in a multi-processor graphics system |
US7525549B1 (en) * | 2004-12-16 | 2009-04-28 | Nvidia Corporation | Display balance/metering |
TWI322354B (en) * | 2005-10-18 | 2010-03-21 | Via Tech Inc | Method and system for deferred command issuing in a computer system |
US8130227B2 (en) | 2006-05-12 | 2012-03-06 | Nvidia Corporation | Distributed antialiasing in a multiprocessor graphics system |
SG137754A1 (en) * | 2006-05-12 | 2007-12-28 | Nvidia Corp | Antialiasing using multiple display heads of a graphics processor |
US7880861B2 (en) * | 2007-08-17 | 2011-02-01 | Asml Netherlands B.V. | Synchronizing timing of multiple physically or logically separated system nodes |
US20110043514A1 (en) * | 2009-08-24 | 2011-02-24 | ATI Technologies ULC. | Method and apparatus for multiple display synchronization |
US8514234B2 (en) * | 2010-07-14 | 2013-08-20 | Seiko Epson Corporation | Method of displaying an operating system's graphical user interface on a large multi-projector display |
US8866825B2 (en) | 2010-12-15 | 2014-10-21 | Ati Technologies Ulc | Multiple display frame rendering method and apparatus |
US9275603B2 (en) * | 2012-04-23 | 2016-03-01 | Intel Corporation | Driving displays at cinematic frame rates |
TW201405315A (zh) * | 2012-07-30 | 2014-02-01 | Acer Inc | 支援雙主控裝置的資料路由系統 |
US9471955B2 (en) | 2014-06-19 | 2016-10-18 | Apple Inc. | Multiple display pipelines driving a divided display |
FR3062495B1 (fr) * | 2017-02-01 | 2020-12-25 | Peugeot Citroen Automobiles Sa | Dispositif d’analyse de la synchronisation d’images sur des voies d’affichage distinctes |
EP3550770B1 (de) * | 2018-04-06 | 2021-06-30 | Melexis Technologies NV | Ein konfigurierbares netzwerk zum austausch von sicherheitsfehlerinformationen |
US10609432B1 (en) * | 2018-12-10 | 2020-03-31 | Broadsign Serv Llc | Server and method for synchronizing display of a digital content on a plurality of computing devices |
JP7224237B2 (ja) * | 2019-05-08 | 2023-02-17 | 三菱電機株式会社 | I/o制御装置 |
CN111857481A (zh) * | 2020-07-24 | 2020-10-30 | 京东方科技集团股份有限公司 | 图像显示方法、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0553553A (ja) * | 1991-08-21 | 1993-03-05 | Oki Electric Ind Co Ltd | 連続フレームの画面切替方式 |
US5300948A (en) * | 1990-05-11 | 1994-04-05 | Mitsubishi Denki Kabushiki Kaisha | Display control apparatus |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4495594A (en) * | 1981-07-01 | 1985-01-22 | International Business Machines Corporation | Synchronization of CRT controller chips |
US4523226A (en) * | 1982-01-27 | 1985-06-11 | Stereographics Corporation | Stereoscopic television system |
US5493595A (en) * | 1982-02-24 | 1996-02-20 | Schoolman Scientific Corp. | Stereoscopically displayed three dimensional medical imaging |
US5488952A (en) * | 1982-02-24 | 1996-02-06 | Schoolman Scientific Corp. | Stereoscopically display three dimensional ultrasound imaging |
GB2123656B (en) * | 1982-06-09 | 1987-02-18 | Tatsumi Denshi Kogyo Kk | A method and an apparatus for displaying a unified picture on crt screens of multiple displaying devices |
JPH0640256B2 (ja) * | 1983-12-26 | 1994-05-25 | 株式会社日立製作所 | 表示制御装置 |
US4710876A (en) * | 1985-06-05 | 1987-12-01 | General Electric Company | System and method for the display of surface structures contained within the interior region of a solid body |
CA1326082C (en) * | 1989-09-06 | 1994-01-11 | Peter D. Macdonald | Full resolution stereoscopic display |
US5821989A (en) * | 1990-06-11 | 1998-10-13 | Vrex, Inc. | Stereoscopic 3-D viewing system and glasses having electrooptical shutters controlled by control signals produced using horizontal pulse detection within the vertical synchronization pulse period of computer generated video signals |
US5241389A (en) * | 1991-07-29 | 1993-08-31 | Intelligent Resources Integrated Systems, Inc. | Video display system providing for synchronization of multiple video data streams |
US5416510A (en) * | 1991-08-28 | 1995-05-16 | Stereographics Corporation | Camera controller for stereoscopic video system |
JPH05119734A (ja) * | 1991-10-28 | 1993-05-18 | Canon Inc | 表示制御装置 |
US5289577A (en) * | 1992-06-04 | 1994-02-22 | International Business Machines Incorporated | Process-pipeline architecture for image/video processing |
WO1995014252A1 (en) * | 1993-11-15 | 1995-05-26 | Q-Lamp, Inc. | 3-d video microscope |
US5805913A (en) * | 1993-11-30 | 1998-09-08 | Texas Instruments Incorporated | Arithmetic logic unit with conditional register source selection |
US5523886A (en) * | 1994-01-04 | 1996-06-04 | Sega Of America, Inc. | Stereoscopic/monoscopic video display system |
US5572250A (en) * | 1994-10-20 | 1996-11-05 | Stereographics Corporation | Universal electronic stereoscopic display |
AU4149196A (en) * | 1994-11-04 | 1996-05-31 | Catapult Entertainment, Inc. | Method and apparatus for loosely synchronizing closed free-running raster displays |
EP0734011A3 (de) * | 1995-03-21 | 1999-01-20 | Sun Microsystems, Inc. | Feldsynchronisation von unabhängigen Bildspeichern |
JPH09139957A (ja) * | 1995-11-14 | 1997-05-27 | Mitsubishi Electric Corp | グラフィック表示装置 |
US5794016A (en) * | 1995-12-11 | 1998-08-11 | Dynamic Pictures, Inc. | Parallel-processor graphics architecture |
US5831638A (en) * | 1996-03-08 | 1998-11-03 | International Business Machines Corporation | Graphics display system and method for providing internally timed time-varying properties of display attributes |
JP2970529B2 (ja) * | 1996-05-08 | 1999-11-02 | 富士ゼロックス株式会社 | 画像処理装置 |
JP3776513B2 (ja) * | 1996-05-28 | 2006-05-17 | オリンパス株式会社 | 画像処理装置 |
-
1997
- 1997-05-19 US US08/859,799 patent/US6157395A/en not_active Expired - Lifetime
-
1998
- 1998-02-19 DE DE19807028A patent/DE19807028C2/de not_active Expired - Fee Related
- 1998-05-07 GB GB9809761A patent/GB2325602B/en not_active Expired - Fee Related
- 1998-05-12 JP JP12898698A patent/JP3627897B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5300948A (en) * | 1990-05-11 | 1994-04-05 | Mitsubishi Denki Kabushiki Kaisha | Display control apparatus |
JPH0553553A (ja) * | 1991-08-21 | 1993-03-05 | Oki Electric Ind Co Ltd | 連続フレームの画面切替方式 |
Also Published As
Publication number | Publication date |
---|---|
JPH10319934A (ja) | 1998-12-04 |
GB9809761D0 (en) | 1998-07-08 |
GB2325602A (en) | 1998-11-25 |
DE19807028A1 (de) | 1998-11-26 |
US6157395A (en) | 2000-12-05 |
JP3627897B2 (ja) | 2005-03-09 |
GB2325602B (en) | 2001-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19807028C2 (de) | Synchronisation für das Rahmenpufferaustauschen in Multipipeline-Computergraphikanzeigesystemen | |
DE19810062C2 (de) | Synchronisation einer links/rechts-Kanalanzeige und vertikale Auffrischung in stereoskopischen Mehranzeigencomputergraphiksystemen | |
DE69735975T2 (de) | System und Verfahren zur Überlagerung von wahlweise in unterschiedlichen nativen Formaten gespeicherten Bildern | |
DE102015108057B4 (de) | Aktualisierungsabhängiges adaptives Dithering für ein Display mit variabler Aktualisierungsrate | |
DE69729916T2 (de) | Dynamische bildgrössenänderung | |
DE102013020808A1 (de) | Effiziente Autostereo-Unterstützung unter Verwendung von Anzeigesteuerungsfenster | |
DE60015213T2 (de) | Paralelle Wiedergabevorrichtung | |
DE19953595B4 (de) | Verfahren und Vorrichtung zur Verarbeitung dreidimensionaler Bilder | |
DE10101073B4 (de) | Bildaufbereitungsvorrichtung mit niedrigeren Speicherkapazitätsanforderungen und Verfahren dafür | |
DE112005002340T5 (de) | Gleichzeitige Übertragung von PCI Express-Protokolldaten und sDVO | |
DE112014003669T5 (de) | Dynamische GPU-Merkmaleinstellung basierend auf Benutzer-beobachteten Bildschirmbereich | |
DE60033589T2 (de) | Bildverarbeitung | |
EP2780886B1 (de) | Grafikverarbeitungsvorrichtung, anzeigevorrichtung für ein flugzeugcockpit sowie verfahren zur anzeige von grafikdaten | |
WO2016012441A1 (de) | Einrichtung und verfahren zum anzeigen von informationen auf einer mehrere einzelne bildschirm-module aufweisenden bildschirm-anordnung | |
DE19545356C2 (de) | Vorrichtung zur Darstellung von Stereo-Videobildern | |
DE102013114306A1 (de) | System, Verfahren und Computerprogrammprodukt für eine verteilte Verarbeitung von überlappenden Teilbereichen von Pixel | |
DE102007021546A1 (de) | Kantenglättung mit Hilfe mehrerer Anzeigeköpfe eines Grafikprozessors | |
DE19806547C2 (de) | System und Verfahren zur Erzeugung von stereoskopischen Anzeigesignalen von einer Einzelcomputergraphikpipeline | |
DE19714915A1 (de) | Bilddarstellungsverfahren und Vorrichtung zur Durchführung des Verfahrens | |
DE4115440A1 (de) | Verfahren zur steuerung einer anzeigevorrichtung | |
DE3938366A1 (de) | Steuervorrichtung fuer ein anzeigegeraet | |
EP1680929B1 (de) | Ansteuerung zur stereoprojektion | |
DE102019206028B3 (de) | Grafiksystem für ein Fahrzeug | |
DE102014014553B3 (de) | Vorrichtung und Verfahren zum Ausgleichen einer Bewegungsverzerrung eines angezeigten Objekts sowie ein die Vorrichtung umfassendes System und ein Computerprogrammprodukt mit Programmcode zum Durchführen des Verfahrens | |
DE10125075B4 (de) | Personal Immersion: PC-basiertes Echtzeitgraphiksystem für Virtual Reality Anwendungen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8125 | Change of the main classification |
Ipc: G09G 5/36 |
|
8127 | New person/name/address of the applicant |
Owner name: HEWLETT-PACKARD CO. (N.D.GES.D.STAATES DELAWARE), |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE |
|
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |