(57)【要約】  複数のグラフィックスデバイスの間の専用のデジタルインタフェースを提供するシステム及び方法を開示する。専用インタフェースが、デジタルピクセルデータ及び同期信号の伝送のために、複数のグラフィックスデバイスのそれぞれの間にポイントツーポイント接続を提供する。表示可能な画像の一部分を合成するなどのグラフィックス処理が、複数のグラフィックスデバイスの間で分散される。複数のグラフィックスデバイスの一つであるマスターグラフィックスデバイスが、表示可能な画像の合成された部分に対して、特定のディスプレイデバイスに必要な変換を行う。【選択図】  図４Ｂ
2008521135.tif 000002
【特許請求の範囲】
【請求項１】
専用インタフェースを備えるグラフィックスプロセッサであって、
ローカルに生成されるピクセルデータと、スレーブグラフィックスデバイスによって生成されて第１の専用インタフェースによって受信されるピクセルデータとの間での選択をピクセル単位で行い、第２の専用インタフェースに出力される合成ピクセルデータを生成するように構成されている合成器ユニットと、
選択ユニットに結合されており、前記合成ピクセルデータを受け取って、ディスプレイデバイスに出力するための表示可能な画像を生成するように構成されている最終ピクセル処理ユニットと、
前記合成器ユニットに結合されており、該グラフィックスプロセッサがマスターグラフィックスデバイスである場合に、前記ディスプレイデバイスに出力される前記表示可能な画像を同期させるための同期信号を生成するように構成されているラスターロックユニットと、
を備えるグラフィックスプロセッサ。
【請求項２】
第２のローカルに生成されたピクセルデータを前記最終ピクセル処理ユニットに出力するように構成されている第２の合成器ユニットを更に備える、請求項１に記載のグラフィックスプロセッサ。
【請求項３】
前記第２の合成器ユニットが、前記第２のローカルに生成されたピクセルデータと、別のスレーブグラフィックスプロセッサによって生成されて前記専用インタフェースによって受信されるピクセルデータとの間の選択を、ピクセル単位で行なって、第２の合成ピクセルデータを生成する、請求項２に記載のグラフィックスプロセッサ。
【請求項４】
前記第１の専用インタフェースと前記第２の専用インタフェースとが、前記グラフィックスプロセッサを収納するパッケージの多目的ピンを使用して提供される、請求項１に記載のグラフィックスプロセッサ。
【請求項５】
前記ローカルに生成されるピクセルデータを生成するように構成されているグラフィックス処理パイプラインを更に備える、請求項１に記載のグラフィックスプロセッサ。
【請求項６】
前記ローカルに生成されるピクセルデータが、任意のオーバーレイ面又はカーソルを含んでいる、請求項１に記載のグラフィックスプロセッサ。
【請求項７】
前記ラスターロックユニットが、前記第１の専用インタフェースに含まれているバッファスワップ信号を制御及び監視するように構成されている、請求項１に記載のグラフィックスプロセッサ。
【請求項８】
前記合成ピクセルデータが、前記表示可能な画像を生成するために、前記最終ピクセル処理ユニットによってスケーリングされる、請求項１に記載のグラフィックスプロセッサ。
【請求項９】
前記合成ピクセルデータが、指定されたピクセルエリア内にありローカルに生成されたピクセルデータを含んでいる、請求項１に記載のグラフィックスプロセッサ。
【請求項１０】
前記スレーブグラフィックスデバイスによって生成される前記ピクセルデータが、別のスレーブグラフィックスデバイスによって生成されるピクセルデータを含んでいる、請求項１に記載のグラフィックスプロセッサ。
【請求項１１】
前記スレーブグラフィックスデバイス内のラスターロックユニットが、前記ラスターロックユニットによって出力される前記同期信号を受信する、請求項１に記載のグラフィックスプロセッサ。
【請求項１２】
前記マスターグラフィックスデバイスが前記ディスプレイデバイスに直接結合されており、前記スレーブグラフィックスデバイスが前記マスターグラフィックスデバイスを通じて前記ディスプレイデバイスに結合されている、請求項１に記載のグラフィックスプロセッサ。
【請求項１３】
第２のスレーブグラフィックスデバイスとして構成設定されている、請求項１に記載のグラフィックスプロセッサ。
【発明の詳細な説明】
【発明の分野】
【０００１】
[0001]本発明の一以上の側面は、広くグラフィックス処理に関するものであり、より詳細には、マルチプロセッサ・グラフィックス処理システムにおける複数のグラフィックスプロセッサの接続に関するものである。
【関連技術の説明】
【０００２】
[0002]従来のマルチプロセッサ・グラフィックス処理システム、例えば、ＳＬＩ（スキャンラインインターリーブ：ｓｃａｎ  ｌｉｎｅ  ｉｎｔｅｒｌｅａｖｅ）用に構成された３ｄｆｘ社のＶｏｏＤｏｏ２（登録商標）グラフィックスアダプタ製品、又は、Ｍｅｔａｂｙｔｅ社Ｗｉｃｋｅｄ  ３ＤのＰＧＣ（ｐａｒａｌｌｅｌ  ｇｒａｐｈｉｃｓ  ｃｏｎｆｉｇｕｒａｔｉｏｎ）は、二つ以上のグラフィックスアダプタを使用することによってグラフィックス処理の性能を高めている。図１に示すマザーボード１００は、従来のマルチプロセッサ・グラフィックス処理システムの例である。マザーボード１００は、ホストプロセッサ１２０と、メインメモリ１１０と、チップセット１３０とを備えており、チップセット１３０は、グラフィックスアダプタ１４０のそれぞれとの業界標準インタフェース、具体的にはＰＣＩ（ｐｅｒｉｐｈｅｒａｌ  ｃｏｍｐｏｎｅｎｔ  ｉｎｔｅｒｆａｃｅ）を提供する。第１のグラフィックスアダプタ１４０と第２のグラフィックスアダプタ１４０はそれぞれ、コネクタを介してマザーボード１００に結合されており、ホストプロセッサ１２０からの命令及びデータがＰＣＩバス１４２を介してブロードキャストされる。第１のグラフィックスアダプタ１４０は、ディスプレイ１７０に表示する画像の第１の半分（例：奇数番目のスキャンライン、又は上側の半分）をレンダリングし、第２のグラフィックスアダプタ１４０は、画像の第２の半分をレンダリングする。
【０００３】
[0003]第１のグラフィックスアダプタ１４０は、画像の第１の半分のデジタルデータを、アナログ合成ユニット１５０内の第１のデジタル−アナログ変換器（ＤＡＣ）を使用して、アナログドメインに変換し、アナログビデオ信号を第２のグラフィックスアダプタ１４０内のアナログ合成ユニット１５０に、アナログ信号を伝送するように構成された独自仕様のケーブル１４５を使用して、出力する。第２のグラフィックスアダプタ１４０は、画像の第２の半分のデジタルデータを、別のアナログ合成ユニット１５０内の第２のデジタル−アナログ変換器を使用して、アナログドメインに変換する。第２のグラフィックスアダプタ１４０内のアナログ合成ユニット１５０は、第１のグラフィックスアダプタ１４０から受信されるアナログビデオ信号と、画像の第２の半分に基づいて生成されるアナログビデオ信号とを合成して、画像全体のアナログビデオ出力を生成する。画像全体のアナログビデオ出力は、ディスプレイ１７０に出力される。ビデオタイミング及びデジタル−アナログ変換器の較正が第１のグラフィックスアダプタ１４０と第２のグラフィックスアダプタ１４０とで異なるために、画像全体を表示するときに視覚的なアーチファクト、例えば、画像の破断（ｔｅａｒｉｎｇ）や色の変動が発生する。
【０００４】
[0004]従って、ビデオタイミング及びデジタル−アナログ変換器の較正の差に起因するアーチファクトのない画像が生成されるように二つ以上のグラフィックスアダプタの取り付けを容易にすることが望まれている。
【発明の概要】
【０００５】
[0005]本発明は、二つのグラフィックスアダプタの間の専用インタフェースを提供する新しいシステム及び方法に関するものである。独自仕様のデジタルインタフェースが二つのグラフィックスアダプタを接続し、専用インタフェースを提供する。デジタルピクセルデータ及び同期信号が、スレーブグラフィックスアダプタとマスターグラフィックスアダプタとの間で伝送される。マスターグラフィックスアダプタは、ビデオタイミングを生成し、デジタルピクセルデータを表示用に変換する。
【０００６】
[0006]本発明の様々な実施の形態は、専用インタフェースを有するグラフィックスプロセッサを備えている。グラフィックスプロセッサは、合成器ユニットと、最終ピクセル処理ユニットと、ラスターロックユニット（ｒａｓｔｅｒ  ｌｏｃｋ  ｕｎｉｔ）と、を有している。合成器ユニットは、ローカルに生成されるピクセルデータ、又は、スレーブグラフィックスデバイスによって生成されて第１の専用インタフェースによって受信されるピクセルデータをピクセル単位で選択して、合成ピクセルデータを生成するように構成されている。合成ピクセルデータは第２の専用インタフェースに出力される。最終ピクセル処理ユニットは、選択ユニットに結合されており、合成ピクセルデータを受信して、ディスプレイデバイスに出力するための表示可能な画像を生成するように構成されている。ラスターロックユニットは、合成器ユニットに結合されており、グラフィックスプロセッサがマスターグラフィックスデバイスであるときに、ディスプレイデバイスに出力される表示可能な画像を同期させるための同期信号を生成するように構成されている。
【０００７】
[0007]本発明の方法の様々な実施の形態は、複数のグラフィックスデバイスによって生成されるピクセルデータを一つのグラフィックスプロセッサ内で合成し、表示可能な画像データを生成するためのものであり、第１のグラフィックスデータを処理するステップと、第２のグラフィックスデータを処理するステップと、を含んでいる。第１のグラフィックスデータは、第１のグラフィックスデバイス内で処理されて、第１のピクセルデータが生成される。このピクセルデータは、専用インタフェースを介して第２のグラフィックスデバイスに出力される。第２のグラフィックスデータは、第２のグラフィックスデバイス内で処理されて、第２のピクセルデータが生成される。合成ピクセルデータが、第２のグラフィックスデバイス内で、第１のピクセルデー又は第２のピクセルデータをラスター位置情報に基づいて選択することによって、生成される。この合成ピクセルデータが処理されて、ディスプレイデバイスに直接出力するための、又は第３のグラフィックスデバイスに結合されている第２の専用インタフェースに出力するための、表示可能な画像データが生成される。
【０００８】
[0008]本発明の様々な実施の形態は、複数のグラフィックスデバイスの性能を拡張するためのマルチプロセッサグラフィックスインタフェースを備えている。マルチプロセッサグラフィックスインタフェースは、ピクセルデータと、同期信号と、バッファスワップ信号とを含んでいる。ピクセルデータは、第１のグラフィックスデバイスによって生成され、第２のグラフィックスデバイスに出力される。同期信号は、ディスプレイデバイス用に第２のグラフィックスデバイスによって生成され、第１のグラフィックスデバイスによって受信される。バッファスワップ信号は、第１のグラフィックスデバイス及び第２のグラフィックスデバイスによって制御され、第１のグラフィックスデバイス及び第２のグラフィックスデバイスによってサンプリングされる。
【０００９】
[0009]添付の図面は、本発明の一以上の側面に係る例示的な実施の形態を示している。しかしながら、これら添付の図面は、図示した実施の形態に本発明を制限するものではなく、説明及び理解のみを目的とするものと解釈されたい。
【詳細な説明】
【００１０】
[0021]以下の説明では、本発明をより完全に理解できるように数多くの具体的な詳細を記載してある。しかしながら、これらの具体的な詳細の一つ以上が無くとも、本発明を実施できることが、当業者には明らかであろう。別の例においては、本発明が曖昧になることを避けるため、周知の特徴については説明していない。
【００１１】
[0022]専用インタフェースは、デジタルピクセルデータ及び同期信号の伝送のために、複数のグラフィックスアダプタのそれぞれの間にポイントツーポイント接続を提供する。この専用インタフェースには、バッファ管理信号、すなわちデジタルピクセルデータの出力を制御するために使用されるバッファスワップ信号（ｂｕｆｆｅｒ  ｓｗａｐ）、を含めることができる。グラフィックス処理は、表示可能な画像の一部分を合成することを含むものであり、複数のグラフィックスアダプタの間で分散させることができる。複数のグラフィックスアダプタのそれぞれは、表示可能な画像のピクセルデータの一部分と、他の複数のグラフィックスアダプタによって生成されてそれらのグラフィックスアダプタから受信されるピクセルデータとを合成する。複数のグラフィックスアダプタのうちの一つであるマスターグラフィックスアダプタは、表示可能な画像の合成部分を、例えば、ＤＡＣを使用してデジタルからアナログへの変換を実行するといったように、必要に応じて特定のディスプレイデバイス用に変換する。デジタルからアナログへの変換を一つのデバイス、すなわちマスターグラフィックスアダプタが実行するため、複数のグラフィックスアダプタの間でのデジタル−アナログ変換器の不整合（ｍｉｓｍａｔｃｈ）に起因するアーチファクトが、表示可能な画像に発生しない。
【００１２】
[0023]図２は、マルチプロセッサ・グラフィックス処理システムのマザーボードの例示的な実施の形態のブロック図である。マザーボード２００は、デスクトップコンピュータ、サーバ、ラップトップコンピュータ、パームトップコンピュータ、タブレットコンピュータ、ゲームコンソール、携帯電話、コンピュータベースのシミュレータなどの内部に備えることができる。マザーボード２００は、ホストプロセッサ２２０と、メインメモリ２１０と、ブリッジ２３５に直接結合されているチップセット２３０と、を備えている。
【００１３】
[0024]マザーボード２００の幾つかの実施の形態においては、チップセット２３０は、システムメモリブリッジと入力／出力（Ｉ／Ｏ）ブリッジとを有することができ、これらのブリッジは、幾つかのインタフェース、例えば、ＡＴＡ（Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）バス、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  ｃｏｍｐｏｎｅｎｔ  ｉｎｔｅｒｆａｃｅ））を有していてもよい。ブリッジ２３５は、チップセット２３０と、マスターグラフィックスアダプタ２４０及びスレーブグラフィックスアダプタ２６０との間のインタフェースを提供する。本発明の幾つかの実施の形態においては、インタフェース２４１及び２４２は、ＰＣＩ−ＥｘｐｒｅｓｓTM（ｐｅｒｉｐｈｅｒａｌ  ｃｏｍｐｏｎｅｎｔ  ｉｎｔｅｒｆａｃｅ  ｅｘｐｒｅｓｓ）といった業界標準のインタフェース仕様に準拠している。更に、本発明のある実施の形態においては、ブリッジ２３５の機能はチップセット２３０の中に含まれている。その実施の形態においては、ブリッジ２３５は省かれており、チップセット２３０がマスターグラフィックスアダプタ２４０及びスレーブグラフィックスアダプタ２６０とのインタフェースとして直接的に機能する。
【００１４】
[0025]マスターグラフィックスアダプタ２４０は、通常は、プリント基板（ＰＣＢ）であり、図３Ａ及び図３Ｂに関連して説明するように、第１のスロットに取り付けられているときには接続部２４２に結合される。スレーブグラフィックスアダプタ２６０は、第２のスロットに取り付けられているときには接続部２４１に結合される。本発明の幾つかの実施の形態においては、追加のグラフィックスアダプタを追加のスロットに取り付けることができ、ブリッジ２３５が、追加のスロットのそれぞれのインタフェースを提供することができる。マスターグラフィックスアダプタ２４０及び二次グラフィックスアダプタ２６０は、それぞれ、一以上のグラフィックスプロセッサと、専用メモリとを有することができ、当該専用メモリは、グラフィックスデータ、例えば、テクスチャマップ、画像データ、プログラム命令を格納するために使用することができる。
【００１５】
[0026]マスターグラフィックスアダプタ２４０と一つ以上のスレーブグラフィックスアダプタ２６０との間の一次接続は、ブリッジ２３５を介してインタフェースによって提供される。本発明の幾つかの実施の形態においては、一次接続は、マスターグラフィックスアダプタ２４０と一つ以上のスレーブグラフィックスアダプタ２６０とを、ブリッジ２３５と、チップセット２３０と、メインメモリ２１０とを通じて結合し、マスターグラフィックスアダプタ２４０と一つ以上のスレーブグラフィックスアダプタ２６０との間のデータ伝送は、ホストプロセッサ２２０によって制御される。専用インタフェース２４５は、マスターグラフィックスアダプタ２４０と一つ以上のスレーブグラフィックスアダプタ２６０との間の二次接続を提供する。この二次接続は、スレーブグラフィックスアダプタ２６０によって生成されるピクセルデータを、スレーブグラフィックスアダプタ２６０からマスターグラフィックスアダプタ２４０に伝送するために使用され、これによって、一次接続のピクセルデータ伝送の負荷が軽減される。
【００１６】
[0027]二つ以上のグラフィックスアダプタの間の専用インタフェース２４５を使用することによって、二つ以上のグラフィックスアダプタの間でのグラフィックスデータ及び同期信号の効率的な伝送が促進される一方で、システムの帯域幅が減少する。更に、ユーザは、グラフィックスアダプタのそれぞれを必要に応じて容易に取り付けて、画質或いはレンダリング速度に関してレンダリング性能を高めることができる。例えば、二つ以上のグラフィックスアダプタを使用して、画像のレンダリングによる画質を向上させたり、二つ以上のグラフィックスアダプタを使用して、より高いフレームレートで画像をレンダリングすることができる。
【００１７】
[0028]マスターグラフィックスアダプタ２４０とスレーブグラフィックスアダプタ２６０との間の専用インタフェース２４５は、接続デバイスによって提供される。接続デバイスは、両端部にソケットが取り付けられているコネクタＰＣＢとすることができる。コネクタＰＣＢの一部として作製されている導電トレースが、コネクタＰＣＢの一方の端部のソケットのピンを、コネクタＰＣＢの反対側の端部の別のソケットのピンに直接接続している。接続デバイスの別の実施の形態には、端部のそれぞれにソケットが取り付けられているコネクタフレキシブルケーブル（ｃｏｎｎｅｃｔｏｒ  ｆｌｅｘｉｂｌｅ  ｃａｂｌｅ）がある。コネクタフレキシブルケーブルは、可撓性の絶縁ラッピング内にワイヤを有しており、当該ワイヤが、コネクタフレキシブルケーブルの一方の端部の一つのソケットのピンを、コネクタフレキシブルケーブルの反対側の端部の別のソケットのピンに直接接続している。当業者には、別のコンポーネント及び機構を使用して接続デバイスを作製できることが認識されるであろう。
【００１８】
[0029]専用インタフェース２４５は、幾つかの信号用のマルチビット接続を提供する。例えば、ピクセルデータは、スレーブグラフィックスデバイスからマスターグラフィックスデバイスに、又は別のスレーブグラフィックスデバイスに、データ、データバリッド信号、及びクロック用の複数の１ビット接続を使用して、伝送することができる。マスターグラフィックスデバイスは、画像データをディスプレイデバイスに直接出力する。これに対して、スレーブグラフィックスデバイスは、ピクセルデータをマスターグラフィックスデバイスに、場合によっては別のスレーブグラフィックスデバイスを通じて、出力する。ピクセルデータ及びデータバリッド信号は、クロックの一方又は両方のエッジにおいて伝送することができる。また、一つ以上のバッファ管理信号をグラフィックスアダプタの間に接続デバイスを使用して接続することができる。本発明の幾つかの実施の形態においては、バッファ管理信号は、ディスプレイへのピクセルデータを生成しているすべてのグラフィックスプロセッサがバッファをスワップすべきとき、すなわちバックバッファとフロントバッファとをスワップすべきときを示す。また、同期信号をマスターグラフィックスデバイスからスレーブグラフィックスデバイスに伝送して、ディスプレイラスター位置を伝えることもできる。
【００１９】
[0030]マスターグラフィックスアダプタ２４０は、画像データをディスプレイデバイス（ディスプレイ２７０）に出力する。この技術分野において公知であるディスプレイデバイスの例として、陰極線管（ＣＲＴ）、フラットパネルディスプレイが挙げられる。スレーブグラフィックスアダプタ２６０は、マスターグラフィックスアダプタ２４０よりも画像の大きな部分を処理して、その画像のより大きな部分のピクセルデータを、専用インタフェース２４５を介してマスターグラフィックスアダプタ２４０に伝送することができる。本発明の幾つかの実施の形態においては、画像の処理は、マスターグラフィックスアダプタ２４０と一つ以上のスレーブグラフィックスアダプタ２６０との間で、各グラフィックスアダプタの処理能力に基づいて、分散させることができる。更に、バッファスワップ信号と同期信号（例：水平同期及び垂直同期）とを、スレーブグラフィックスアダプタ２６０と一次グラフィックスアダプタ２４０との間で、専用インタフェース２４５を使用して伝送することができる。
【００２０】
[0031]図３Ａは、本発明の一以上の側面に係るグラフィックスアダプタ３０５の例示的な実施の形態である。グラフィックスアダプタ３０５は、マスターグラフィックスアダプタ３４０又はスレーブグラフィックスアダプタ３０６とすることができる。通常、ＰＣＢは、システムのマザーボードのスロットに接続するように構成されているフィンガータイプのシステムコネクタ３５５を有しており、グラフィックスアダプタ３０５を支持する。導電性の「フィンガー」はグラフィックスアダプタ３０５の作製時にＰＣＢに設けられ、システムコネクタ３５５が形成される。システムコネクタ３５５は、通常、ＰＣＩ−Ｅｘｐｒｅｓｓ（登録商標）といった業界標準のインタフェース仕様に準拠する。本発明の幾つかの実施の形態においては、システムコネクタ３５５が、ソケットタイプのコネクタ、又は製造工程時にＰＣＢに設けられるコネクタに置き換えられる。
【００２１】
[0032]ＧＰＵ（グラフィックス処理ユニット）３２５は、グラフィックスアダプタ３０５を支持しているプリント基板に設けられており、プリント基板上のワイヤトレースによってシステムコネクタ３５５に結合されている。ＧＰＵ３２５は、通常、ホストプロセッサからのグラフィックスデータ及び命令を、システムコネクタ３５５を通じて受信する。ＧＰＵ３２５はまた、フィンガータイプのグラフィックスエッジコネクタ３１５に、ＰＣＢ上のワイヤトレースによって結合されている。ディスプレイ出力コネクタ３７５は、通常、マザーボードに取り付けられたグラフィックスアダプタ１００を収容している筐体から露出しており、エンドユーザがディスプレイデバイスの入力コネクタをディスプレイ出力コネクタ１３０に接続することができるようになっている。
【００２２】
[0033]複数のグラフィックスアダプタがシステムに取り付けられており、ＧＰＵ３２５がスレーブグラフィックスデバイスとして構成設定されている場合には、ＧＰＵ３２５はピクセルデータ（処理されたグラフィックスデータ）をグラフィックスエッジコネクタ３１５に出力する。一つ以上のグラフィックスアダプタがシステムに取り付けられており、ＧＰＵ３２５がマスターグラフィックスデバイスとして構成設定されている場合には、ＧＰＵ３２５は、ＰＣＢ上のワイヤトレースを使用してピクセルデータをディスプレイ出力コネクタ３１５に出力する。本発明の幾つかの実施の形態においては、ＧＰＵ３２５がマスターグラフィックスデバイスとして構成されており、システムに複数のグラフィックスアダプタが取り付けられている場合には、ＧＰＵ３２５は、同期信号（例：水平同期及び垂直同期）をグラフィックスエッジコネクタ３１５に出力する。
【００２３】
[0034]本発明の幾つかの実施の形態においては、グラフィックスエッジコネクタ３１５は、二つのポート用の信号を含んでおり、一方のポートは、ＧＰＵ３２５がスレーブグラフィックスデバイスとして構成設定されている場合に使用され、他方のポートは、ＧＰＵ３２５がマスターグラフィックスデバイスとして構成設定されている場合に使用される。複数のスレーブデバイスがシステムにインストールされている場合には、両ポートが別のスレーブデバイスからピクセルデータを受信するスレーブデバイスのそれぞれにおいて使用される。本発明の別の実施の形態においては、グラフィックスエッジコネクタ３１５は、一つのポートの信号を含んでおり、ＧＰＵ３２５によってポートに入力される信号及びポートから出力される信号が、ＧＰＵ３２５がマスターグラフィックスデバイスとして構成設定されているかスレーブグラフィックスデバイスとして構成設定されているかに応じて変化する。本発明の幾つかの実施の形態においては、追加のポートが、追加の専用インタフェースを提供するために使用可能である。
【００２４】
[0035]図３Ｂは、本発明の一つ以上の側面に係るマルチプロセッサ・グラフィックス処理システムのマザーボード３００の例示的な実施の形態である。マザーボード３００は、図２のマザーボード２００に示した要素と専用インタフェースとを含んでおり、専用インタフェースは、二つのグラフィックスアダプタ、即ちマスターグラフィックスアダプタ３４０及びスレーブグラフィックスアダプタ３６０を直接結合している接続デバイス３４５によって形成されている。マザーボード３００内のホストプロセッサ３２０、チップセット３３０、メインメモリ３１０、ブリッジ３３５、及び接続デバイス３４５は、マザーボード２００内のホストプロセッサ２２０、チップセット２３０、メインメモリ２１０、ブリッジ２３５、及び接続デバイス２４５に相当する。
【００２５】
[0036]マスターグラフィックスアダプタ３４０のようなマスターグラフィックスアダプタは、スロット３５０を介してマザーボードに結合されている。スレーブグラフィックスアダプタ３６０のようなスレーブグラフィックスアダプタは、別のスロット３５０を介してマザーボードに結合されている。本発明の幾つかの実施の形態においては、追加のスレーブグラフィックスアダプタ又はマスターグラフィックスアダプタをスロット３５０に取り付けることができる。一つ以上のスレーブグラフィックスアダプタ３６０は、図３Ｃ及び図３Ｄに関連して説明するように、ピクセルデータを、専用インタフェースを介してマスターグラフィックスアダプタ３４０に提供する。
【００２６】
[0037]本発明の幾つかの実施の形態においては、接続デバイス３４５は、自身に結合されているグラフィックスアダプタのそれぞれを、マスターグラフィックスアダプタ又はスレーブグラフィックスアダプタのいずれかとして構成設定する。例えば、接続デバイス３４５の各ソケット内の１ビット接続によって、マスターグラフィックスアダプタ３４０をマスターグラフィックスアダプタとして構成設定し、スレーブグラフィックスアダプタ３６０を構成設定する。具体的には、グラフィックスドライバが、接続デバイス３４５によって設定された１ビット接続の状態を読み取り、それに応じてグラフィックスアダプタのそれぞれを構成設定する。本発明のこれらの実施の形態においては、マスター及びスレーブの構成設定は、接続デバイス３４５を１８０度回転させてから取り付けることによって、逆にすることができる。
【００２７】
[0038]図３Ｃは、本発明の一以上の側面に係るグラフィックスアダプタの構成の例示的な実施の形態である。グラフィックスアダプタ３７０は、第２の接続デバイス（例：接続デバイス３４５）に接続するために使用される第２の「フィンガー」を有する点において、グラフィックスアダプタ３０５と異なっている。グラフィックスアダプタ３７０は、システムコネクタ３５５とグラフィックスエッジコネクタ３１７及び３１９とに結合されているＧＰＵ３２５を有している。専用インタフェースに含まれている信号は、グラフィックスエッジコネクタ３１７及び３１９を通じて送られ、図３Ｄに示すように、二つ以上のグラフィックスアダプタを結合する。グラフィックスエッジコネクタ３１７及び３１９は、システムコネクタ３５５とは反対側のグラフィックスアダプタ３７０の側部に配置されているが、グラフィックスエッジコネクタ３１７及び３１７の一方又は両者をグラフィックスアダプタ３７０の別の側部に配置することができる。
【００２８】
[0039]グラフィックスアダプタ３７０は、スレーブグラフィックスアダプタと、マスターグラフィックスアダプタ又は別のスレーブグラフィックスアダプタのいずれかとの間に配置することができる。ＧＰＵ３２５は、二つのポート、すなわちスレーブポート及びマスターポートに信号を提供し、ポートのそれぞれが一つのグラフィックスエッジコネクタに結合されている。ＧＰＵ３２５は、コネクタ３１７又は３１９の一方を介してピクセルデータの受信し、及びピクセルデータをコネクタ３１７又は３１９を介して出力するように構成することができる。ＧＰＵ３２５は、ディスプレイ出力コネクタ３７５に直接結合されている。しかしながら、本発明の幾つかの実施の形態においては、ディスプレイ出力コネクタ３７５をグラフィックスアダプタ３０５又は３７０から省いて、ディスプレイ出力を持たないアクセラレータとして機能するグラフィックスアダプタを提供することができる。
【００２９】
[0040]図３Ｄは、本発明の一以上の側面に係る複数のグラフィックスデバイスの構成の例示的な実施の形態である。複数のグラフィックスデバイス（グラフィックスアダプタ３０５及び複数のグラフィックスアダプタ３７０）が、二つの接続デバイス３４５を使用して互いに結合されている。各接続デバイス３４５は、複数のグラフィックスデバイスのうちの二つの間にポイントツーポイントの専用インタフェースを提供する。具体的には、第１の接続デバイス３４５は、グラフィックスアダプタ３０５と第１のグラフィックスアダプタ３７０とをグラフィックスエッジコネクタを介して結合する。従って、第１の接続デバイス３４５は、グラフィックスエッジコネクタ３１５をグラフィックスエッジコネクタ３１７に結合することができる。グラフィックスアダプタ３０５は、第１のグラフィックスアダプタ３７０にピクセルデータを提供するスレーブグラフィックスアダプタとして構成設定することができ、この場合、第１のグラフィックスアダプタ３７０はスレーブグラフィックスアダプタ又はマスターグラフィックスアダプタのいずれかとして構成設定することができる。或いは、グラフィックスアダプタ３０５を、第１のグラフィックスアダプタ３７０からピクセルデータを受信するマスターグラフィックスアダプタとして構成設定することができる。
【００３０】
[0041]第２の接続デバイス３４５は、第１のグラフィックスアダプタ３７０と第２のグラフィックスアダプタ３７０とをグラフィックスエッジコネクタ３１９を介して結合している。第２のグラフィックスアダプタ３７０は、第１のグラフィックスアダプタ３７０にピクセルデータを提供するスレーブグラフィックスアダプタとして構成設定することができ、この場合、第１のグラフィックスアダプタ３７０はスレーブグラフィックスアダプタ又はマスターグラフィックスアダプタのいずれかとして構成設定することができる。或いは、第２のグラフィックスアダプタ３７０を、第１のグラフィックスアダプタ３７０からピクセルデータを受信するマスターグラフィックスアダプタとして構成設定することができる。
【００３１】
[0042]第１のグラフィックスアダプタ３７０は、マスターグラフィックスアダプタとして構成設定されている場合には、グラフィックスアダプタ３０５と第２のグラフィックスアダプタ３７０とからピクセルデータを受信することができる。グラフィックスアダプタ３０５又は第２のグラフィックスアダプタ３７０のいずれかがマスターグラフィックスアダプタとして構成設定されている場合には、これらは、それぞれ、第２のグラフィックスアダプタ３７０又はグラフィックスアダプタ３０５からのピクセルデータを第１のグラフィックスアダプタ３７０を通じて受信することができる。当業者には、複数のグラフィックスアダプタの別の構成を使用して、一つ以上のディスプレイデバイスへの画像データを生成できることが認識されるであろう。
【００３２】
[0043]図４Ａは、本発明の一以上の側面に係るグラフィックスデバイス、すなわちグラフィックスプロセッサ４００の例示的な実施の形態のブロック図である。グラフィックスプロセッサ４００は、ＧＰＵ３２５のようなＧＰＵであり、マスターグラフィックスアダプタ２４０又は３４０、若しくはスレーブグラフィックスアダプタ２６０又は３６０のようなグラフィックスアダプタ内に備えられている。グラフィックスプロセッサ４００は、インタフェースコントローラ４１０を備えており、当該インタフェースコントローラ４１０は、一次接続、すなわち接続４４２を介してブリッジ２３５との信号の送受を行なう。接続４４２は、接続２４１又は２４２に相当し、インタフェース仕様に準拠しており、スロット２５０を介してマザーボードに結合されている。
【００３３】
[0044]インタフェースコントローラ４１０は、プログラム命令及びデータを、処理のためにグラフィックス処理パイプライン４２０に出力する。グラフィックス処理パイプライン４２０は、レンダリング機能を実行し、ピクセルデータを、メモリ管理ユニット４３０を介してフレームバッファに出力する。インタフェースコントローラ４１０とグラフィックス処理パイプライン４２０のそれぞれは、読取り要求及び書込み要求をメモリ管理ユニット４３０に出力し、グラフィックスアダプタに備えられたメモリ、例えばフレームバッファメモリにアクセスする。メモリ管理ユニット４３０は、読み取るべきメモリ又は書き込むべきメモリが、システムメモリのように、グラフィックスアダプタの外側である場合には、読取り要求及び書込み要求をインタフェースコントローラ４１０に出力することができる。
【００３４】
[0045]ディスプレイパイプライン及びタイミング発生器４２５は、フレームバッファメモリに格納されているピクセルデータを、メモリ管理ユニット４３０を介して読み取り、ピクセルデータを、オーバーレイサーフェス、ベースサーフェス、アイコン、カーソルなどと合成し、そのピクセルデータを合成器ユニット４３５に出力する。グラフィックスプロセッサ４００がマスターグラフィックスデバイスとして構成設定されている場合には、ディスプレイパイプライン及びタイミング発生器４２５は、同期信号、具体的には、水平同期、垂直同期、データイネーブル、ブランキング期間（ｂｌａｎｋｉｎｇ  ｐｅｒｉｏｄｓ）などを、当業者に公知の手法を使用して生成する。同期信号は、ディスプレイデバイスと一以上のスレーブグラフィックスデバイスとに第２の専用インタフェース４４７を介して出力される。ディスプレイパイプライン及びタイミング発生器４２５はまた、グラフィックス処理パイプライン４２０から受信されるスワップ信号に基づいて、バッファスワップ信号を制御する。
【００３５】
[0046]グラフィックスプロセッサ４００がスレーブグラフィックスデバイスとして構成設定されている場合には、ディスプレイパイプライン及びタイミング発生器４２５は、マスターグラフィックスデバイスからの同期信号を第１の専用インタフェース４４９を介して受信する。ディスプレイパイプライン及びタイミング発生器４２５は、同期信号を他のスレーブグラフィックスデバイスに第１の専用インタフェース４４７を介して出力する。ディスプレイパイプライン及びタイミング発生器４２５によって生成された、又はディスプレイパイプライン及びタイミング発生器４２５によって受信された同期信号は、特定のピクセル位置に対する読取り要求を生成するために使用される。特定のピクセル位置に対応するピクセルデータは、フレームバッファから読み取られて、ディスプレイパイプライン及びタイミング発生器４２５によって合成器ユニット４３５に出力される。ラスター位置情報、例えばピクセル位置情報も、ディスプレイパイプライン及びタイミング発生器４２５によって合成器ユニット４３５に出力される。
【００３６】
[0047]合成器ユニット４３５は、二つのデータ源からピクセルデータを受信する。第１のデータ源は、グラフィックス処理パイプライン４２０によってローカルに生成されてディスプレイパイプライン及びタイミング発生器４２５によってフレームバッファから読み取られるピクセルデータである。第２のデータ源は、スレーブグラフィックスデバイス（グラフィックスアダプタ又はＧＰＵ）によって生成されて第２の専用インタフェース４４７を介して受信されるピクセルデータである。合成器ユニット４３５は、ローカルに生成されたピクセルデータと、第２の専用インタフェース４４７を介して受信されたピクセルデータのいずれかを選択し、合成ピクセルデータを生成する。ディスプレイパイプライン及びタイミング発生器４２５は、ラスター位置情報を、合成器ユニット４３５に提供する。このラスター位置情報は、合成ピクセルデータを生成するために選択すべきピクセルデータ源を決定するために使用される。本発明の幾つかの実施の形態においては、ディスプレイパイプライン及びタイミング発生器４２５は、バッファスワップ信号も、合成器ユニット４３５に提供する。このバッファスワップ信号は、合成ピクセルデータを生成するために選択すべきピクセルデータ源を決定するために使用される。
【００３７】
[0048]合成ピクセルデータは、最終ピクセル処理ユニット４４０に出力されるか、或いは、スレーブグラフィックスデバイス又はマスターグラフィックスデバイスに第１の専用インタフェース４４９を介して出力される。グラフィックスプロセッサ４００がスレーブグラフィックスデバイスとして構成設定されている場合には、合成器ユニット４４０は、合成ピクセルデータを、第１の専用インタフェース４４９を介して（オプションとしてスレーブグラフィックスデバイスを通じて）マスターグラフィックスデバイスに出力する。グラフィックスプロセッサ４００がマスターグラフィックスデバイスとして構成設定されている場合には、合成器ユニット４３５は、合成ピクセルデータを最終ピクセル処理ユニット４４０に出力する。
【００３８】
[0049]最終ピクセル処理ユニット４４０は、合成器ユニット４３５から受信された合成ピクセルデータを処理して、ディスプレイデバイスに直接出力するための表示可能な画像データを生成する。本発明の幾つかの実施の形態においては、グラフィックス処理パイプライン４２０によって生成されたピクセルデータは、特定のディスプレイ用にスケーリングされていない。例えば、フラットパネルのような固定解像度のディスプレイデバイスが使用される場合には、ピクセルデータは、その固定解像度に合うようにアップスケーリングされる。最終ピクセル処理ユニット４４０は、合成ピクセルデータに対して、ディスプレイに必要な変換、例えば、デジタルからアナログへの変換を実行する。最終ピクセル処理ユニット４４０はまた、合成ピクセルデータを、ＨＤＴＶ（高詳細テレビ）、ＳＤＴＶ（標準画質テレビ）等といった様々な形式での表現用に処理することもできる。更に、最終ピクセル処理ユニット４４０は、合成ピクセルデータを、ディスプレイ出力コネクタ３７５に接続されているディスプレイデバイスによってサポートされている別のディスプレイモニター解像度、例えば、ＶＥＳＡ（ｖｉｄｅｏ  ｅｌｅｃｔｒｏｎｉｃｓ  ｓｔａｎｄａｒｄｓ  ａｓｓｏｃｉａｔｉｏｎ）のモニタータイミング仕様に規定されているディスプレイモニター解像度に合わせて処理することもできる。本発明の幾つかの実施の形態においては、最終ピクセル処理ユニット４４０は、複数のディスプレイデバイスに同時に出力することができる。
【００３９】
[0050]図４Ｂは、本発明の一以上の側面に係り、図４Ａに示したグラフィックスプロセッサの一部の例示的な実施の形態のブロック図である。本発明のある実施の形態においては、１２ビット（ダブルデータレートでは２４ビット）のピクセルデータ、データイネーブル信号、及びクロックが、スレーブグラフィックスデバイスによって出力される。合成器ユニット４３５が、マスターグラフィックスデバイスとして構成設定されているグラフィックスプロセッサ内にある場合、又はスレーブグラフィックスデバイスとして構成されており複数のスレーブグラフィックスデバイスが使用されている場合には、合成器ユニット４３５は、スレーブグラフィックスデバイスからピクセルデータを受信する。合成器ユニット４３５内のＦＩＦＯ（先入れ先出しメモリ）４５５は、ピクセルデータが有効であることをデータイネーブル信号が示す場合に、ピクセルデータを格納する。ピクセルデータは、クロックの一方又は両方のエッジにおいて伝送することができる。本発明の幾つかの実施の形態においては、ＦＩＦＯ４５５は、レジスタファイルのような別のストレージリソースに置き換えられている。
【００４０】
[0051]ディスプレイパイプライン及びタイミング発生器４２５内のディスプレイパイプライン４６５は、ローカルに生成されてメモリに格納されているピクセルデータを、メモリ管理ユニット４３０を介してフレームバッファから読み取り、そのピクセルデータを、オーバーレイサーフェス、ベースサーフェス、アイコン、カーソルなどと合成する。ディスプレイパイプライン４６５は、フレームバッファ読取り要求を生成するために使用されるラスターロックユニット４７０からのラスター位置情報を受信する。ラスター位置情報は、表示可能な画像中の現在の水平ピクセル位置及び垂直ピクセル位置を示す。ディスプレイパイプライン４６５は、ローカルに生成されたピクセルデータを合成器ユニット４３５に出力する。
【００４１】
[0052]マルチプレクサ４６０は、ＦＩＦＯ４５５から読み取られたピクセルデータ、又はグラフィックス処理パイプライン４２０によってローカルに生成されたピクセルデータのいずれかを出力するように、選択制御器４５０によって制御される。この選択は、ピクセルごと、スキャンラインごと、フレームごとに変えることができる。グラフィックスプロセッサ内の選択制御器４５０の各々は、画像のうちそのグラフィックスプロセッサが生成する部分に基づいてプログラムされている。本発明の幾つかの実施の形態においては、グラフィックスプロセッサの各々は、連続的又は交互式のいずれかの複数のスキャンラインであるピクセルエリアを処理するようにプログラムされている。本発明の別の幾つかの実施の形態においては、プロセッサの各々は、画像の特定の長方形領域であるピクセルエリアを処理するようにプログラムされている。本発明の幾つかの実施の形態においては、グラフィックスデバイスが処理する複数のピクセルを定義するピクセルエリアが、そのグラフィックスデバイスに対して一定である。
【００４２】
[0053]選択制御器４５０は、ラスター位置情報を、ディスプレイパイプライン及びタイミング発生器４２５内のラスターロックユニット４７０から受信する。ラスターロックユニット４７０は、同期信号を生成するタイミング発生回路を有している。グラフィックスプロセッサ４００がスレーブデバイスとして構成設定されている場合には、ラスターロックユニット４７０は、マスターデバイスから受信される同期信号を出力する。グラフィックスプロセッサ４００がマスターデバイスとして構成設定されている場合には、ラスターロックユニット４７０は、タイミング発生回路によって生成される同期信号を出力する。本発明の幾つかの実施の形態においては、マスターグラフィックスデバイスは、同期信号が第２の専用インタフェース４４７を通じてスレーブデバイスに渡されるときに生じる遅延が補正されるように、同期信号を進める。本発明の別の実施の形態においては、各スレーブデバイスは、スレーブデバイスのそれぞれとマスターデバイスとの間で生じる遅延を補正するのに必要なだけ同期信号を進める。
【００４３】
[0054]選択制御器４５０は、図５Ｂに関連して説明するように、ラスター位置情報と、プログラムされているピクセルエリアとを使用して、最終ピクセル処理ユニット４４０に出力するために選択すべきピクセルデータを決定する。本発明の幾つかの実施の形態においては、フレームバッファから読み取られるピクセルを制御するため、プログラムされているピクセルエリアが選択制御器４５０によってディスプレイパイプライン４６５に出力され、これによって、合成器ユニット４３５による出力用に選択されないピクセルを不必要に読み取ることが排除される。
【００４４】
[0055]前述したように、グラフィックスデバイスがマスターグラフィックスデバイスとして構成設定されている場合には、ラスターロックユニット４７０内のタイミング発生回路が、同期信号、具体的には水平同期及び垂直同期を、当業者に公知の手法を使用して生成する。グラフィックスデバイスがスレーブグラフィックスデバイスとして構成設定されている場合には、グラフィックスデバイスは、マスターグラフィックスデバイスによって生成される同期信号を第１の専用インタフェースを介して受信する。（ラスターロックユニット４７０によって受信又は生成された）同期信号は、ラスターロックユニット４７０によって第２の専用インタフェースを介してスレーブグラフィックスデバイスに出力される。同期信号はまた、マスターグラフィックスデバイスによってディスプレイデバイスにも出力される。ＦＩＦＯ４５５は、複数のグラフィックスデバイスのそれぞれによって受信される同期信号間のずれ（スキュー）に耐え得るに必要な大きさを有している。同期信号は、ラスターロックユニット４７０によって当業者に公知の手法を使用して処理されて、ラスター位置情報が生成され、この情報が選択制御器４５０とディスプレイパイプライン４６５とに出力される。
【００４５】
[0056]バッファスワップ信号がまた、合成ピクセルデータを生成するときに使用する際に使用するために、専用インタフェースに含められることがある。グラフィックスプロセッサのそれぞれは、自身が画像のピクセルデータの処理を完了してフレームバッファメモリからピクセルデータを読み取ることができる状態にあるか否かを示すスワップ信号を生成する。スワップ信号はラスターロックユニット４７０に入力され、バッファスワップ信号を制御するために使用される。バッファスワップ信号はトライステート（３値状態の）信号であり、具体的には、プルアップコンポーネントを使用するワイヤードＡＮＤであり、バッファをスワップできる状態にないグラフィックスデバイスのそれぞれによってローにされ、バッファをスワップできる状態にあるグラフィックスデバイスのそれぞれによって３値状態にされる。グラフィックスデバイスの各々はまた、バッファスワップ信号をサンプリングして、グラフィックスデバイスのすべてがバッファをスワップできる状態にあるときを判定する。バッファスワップ信号は、ラスターロックユニット４７０によって監視及び制御され、一つ以上の専用インタフェースを介してグラフィックスデバイスのそれぞれに接続される。
【００４６】
[0057]合成器ユニット４３５内の出力ユニット４４５は、合成ピクセルデータを受信し、その合成ピクセルデータを最終ピクセル処理ユニット４４０又は別のグラフィックスデバイスのいずれかに出力する。グラフィックスデバイスがマスターデバイスとして構成設定されている場合には、出力ユニット４４５は、合成ピクセルデータを最終ピクセル処理ユニット４４０に出力し、グラフィックスデバイスがスレーブデバイスとして構成設定されている場合には、出力ユニット４４５は、合成ピクセルデータをマスターデバイスに直接出力するか、又は別のスレーブデバイスを介してマスターデバイスに出力する。従って、スレーブグラフィックスデバイスによって出力される合成ピクセルデータは、マスターグラフィックスデバイスに達する前に、別のスレーブグラフィックスデバイスによって生成される追加のピクセルデータと合成されることがある。
【００４７】
[0058]最終ピクセル処理ユニット４４０は、合成器ユニット４３５によって出力された合成ピクセルデータを受信する。マスターグラフィックスデバイスとして構成設定されている場合には、最終ピクセル処理ユニット４４０は、合成ピクセルデータに対して、ディスプレイのタイプに応じてディスプレイに必要な変換を行い、表示可能な画像を生成する。ピクセルデータは、表示可能な画像に変換される前に完全な画像を生成するために、マスターグラフィックスデバイスによってデジタルドメインにおいて合成される。従って、デジタルからアナログへの変換が、一つのグラフィックスプロセッサにおいて実行され、複数のグラフィックスデバイスの間でのデジタル−アナログ変換器の不整合に起因する画像のアーチファクトが回避される。
【００４８】
[0059]図４Ｃは、本発明の一つ以上の側面に係るグラフィックスデバイス、すなわちグラフィックスプロセッサ４０１の別の例示的な実施の形態のブロック図である。グラフィックスプロセッサ４０１は、図４Ａのグラフィックスプロセッサ４００に示した要素を備えている。具体的には、グラフィックスエンジン４２２のそれぞれが、合成器ユニット４３５に結合されたディスプレイパイプライン及びタイミング発生器４２５を有している。グラフィックスプロセッサ４０１は、グラフィックスプロセッサ４００と比較すると、追加のスレーブグラフィックスデバイスポートと、追加のマスターグラフィックスデバイスポートとを備えている。従って、グラフィックスプロセッサ４０１は、四つの異なるデバイスに接続することができる。グラフィックスエンジン４２２のそれぞれは、マスターエンジン又はスレーブエンジンのいずれかとして独立して構成設定することができ、最終ピクセル処理ユニット４４０は、表示可能な画像を二つのディスプレイデバイスに出力することができる。或いは、最終ピクセル処理ユニット４４０は、一方のグラフィックスエンジン４２２によって生成された合成ピクセルデータを出力し、また、他方のグラフィックスエンジン４２２によって生成された合成ピクセルデータから生成される表示可能な画像を出力することができる。最終ピクセル処理ユニット４４０は、グラフィックスエンジン４２２の両者からの合成ピクセルデータを、個別の専用インタフェースを介して二つのマスターグラフィックスデバイスに出力することもできる。
【００４９】
[0060]図５Ａは、本発明の一つ以上の側面に従って、複数のグラフィックスアダプタによって生成されるピクセルデータを合成する方法の例示的な実施の形態である。ステップ５０５において、第１のデバイス、すなわちスレーブグラフィックスデバイス（例えば、スレーブグラフィックスアダプタ２６０又は３６０、ＧＰＵ３２５、又はグラフィックスプロセッサ４００）が画像の第１の部分を処理し、第１のピクセルデータを生成する。第１のデバイスは、第１のピクセルデータを、第２のデバイスであるマスターグラフィックスデバイス又はスレーブグラフィックスデバイスのいずれかに、第１の専用インタフェースを介して出力する。この第１のピクセルデータは、第１のデバイスによって生成されたピクセルデータを含み得るものであり、当該ピクセルデータは、別のスレーブグラフィックスデバイスによって生成されたピクセルデータと第１のデバイス内で合成されたものである。第２のデバイスによって第１のデバイスに出力される同期信号を使用して、出力用のピクセルデータを選択し、これによって、合成ピクセルデータに対し、ディスプレイデバイスに必要な同期が行われる。また、バッファスワップ信号を使用して、出力するピクセルデータを選択することもできる。ステップ５１０において、第２のデバイス（例えば、スレーブグラフィックスアダプタ２６０又は３６０、マスターグラフィックスアダプタ２４０又は３４０、ＧＰＵ３２５、又はグラフィックスプロセッサ４００）が画像の第２の部分を処理して、第２のピクセルデータを生成する。
【００５０】
[0061]画像の処理は、各グラフィックスアダプタの処理能力に基づいて、マスターグラフィックスデバイスと一つ以上のスレーブグラフィックスデバイスとの間で分散させることができる。処理能力としては、フレームレート、１秒あたりレンダリングされるプリミティブ、テクスチャレンダリング速度、画像の解像度などの性能特性がある。処理能力としてはまた、トリリニアフィルタによるテクスチャマッピング、アンチエイリアシング、複数の光源などの画質特性がある。
【００５１】
[0062]ステップ５１５において、第２のデバイス内の選択制御器４５０が、ピクセルエリアを定義する一つ以上のプログラムされている値と、ラスターロックユニット４７０によって提供されるラスター位置情報とに基づいて、選択を実行する。この選択の実行について、図５Ｂに関連して説明する。ステップ５２０において、マルチプレクサ４６０が、第１のデバイスから受信される第１のピクセルデータを選択して最終ピクセル処理ユニット４４０に出力すべきかを、判定する。ステップ５２０においてマルチプレクサ４６０が第１のピクセルデータを選択する場合に、ステップ５２５において、マルチプレクサ４６０が、第１のピクセルデータを合成ピクセルデータ５２５として出力する。ステップ５２０においてマルチプレクサ４６０が第１のピクセルデータを選択しない場合には、ステップ５３０において、マルチプレクサ４６０は、第２のピクセルデータを合成ピクセルデータとして出力する。
【００５２】
[0063]次のステップ５３５において、第２のデバイスは、自身がマスターグラフィックスデバイスとして構成設定されているのか、又は、スレーブグラフィックスデバイスとして構成設定されているのかを判定する。ステップ５３５において、第２のデバイスがマスターグラフィックスデバイスとして構成設定されている場合、ステップ５４０において、最終ピクセル処理ユニット４４０が、合成ピクセルデータをディスプレイデバイス用にスケーリングし、スケーリングした合成ピクセルデータをディスプレイデバイスに出力する。また、ステップ５４０において、第２のデバイスは、ラスターロックユニット４７０によって生成される水平同期及び垂直同期をディスプレイデバイスに出力し、同期信号を第１のデバイスに出力する。ラスターロックユニット４７０は、ローカルなグラフィックス処理パイプラインから受信されるスワップバッファ（ｓｗａｐ  ｂｕｆｆｅｒ）に基づいて必要な調整をバッファスワップ信号に対して行う。
【００５３】
[0064]ステップ５３５において、第２のデバイスがマスターグラフィックスデバイスとして構成設定されていない場合、ステップ５４５において、合成器ユニット４３５が、合成ピクセルデータを、マスターグラフィックスデバイスと第２のデバイスとの間の第２の専用インタフェースを介してマスターグラフィックスデバイスに出力する。また、第２のデバイスは、マスターグラフィックスデバイスから受信された同期信号を第１のデバイスに出力し、ラスターロックユニット４７０が、ローカルなグラフィックス処理パイプラインから受信されるスワップバッファに基づいて必要な調整をバッファスワップ信号に対して行う。
【００５４】
[0065]図５Ｂは、本発明の一以上の側面に従って、複数のグラフィックスアダプタによって生成されるピクセルデータを選択する方法の例示的な実施の形態である。ステップ５５５において、選択制御器４５０が、ディスプレイデバイスにおける現在のピクセル位置、例えばラスター位置を、ラスターロックユニット４７０から受信されるラスター位置情報に基づいて決定する。具体的には、選択ユニット４５０は、水平位置及び垂直位置を決定することができる。
【００５５】
[0066]ステップ５６０において、選択制御器４５０は、ラスター位置が、グラフィックスデバイスに対して定義されているピクセルエリア内であるかを判定する。ステップ５６０において、ラスター位置がピクセルエリア内であると選択制御器４５０が判定する場合に、ステップ５６５において、選択制御器４５０によってマルチプレクサ４６０に出力される選択信号が、ローカルに生成されたピクセルデータであってディスプレイパイプライン４７０によって合成器ユニット４３５に出力されるピクセルデータを選択する。ローカルなグラフィックス処理パイプラインによって処理されるピクセルエリア内のすべてのピクセルデータは、マルチプレクサ４６０によって出力されるピクセルデータ用に合成ピクセルデータとして選択される。ステップ５６０において、ラスター位置がピクセルエリア内ではないと選択制御器４５０が判定する場合、ステップ５７０において、選択制御器４５０によってマルチプレクサ４６０に出力される選択信号は、スレーブグラフィックスデバイスから専用インタフェースを介して受信されてＦＩＦＯ４５５によって出力されるピクセルデータが選択される。従って、ピクセルデータをピクセル単位で選択することができる。
【００５６】
[0067]ピクセルデータ及び同期信号を含んでいる専用インタフェースは、複数のグラフィックスデバイスのそれぞれの間にポイントツーポイント接続を提供する。画像の一部分を複数のグラフィックスデバイスのそれぞれによって生成することができ、各グラフィックスデバイスが、画像中のある部分用のローカルに生成されたピクセルデータを、画像の一つ以上の別の部分のピクセルデータであってスレーブグラフィックスデバイスから受信される別のピクセルデータと、合成する。一つのデバイス、すなわちマスターグラフィックスアダプタがデジタルからアナログへの変換を実行するので、表示用に画像を変換するときに、複数のグラフィックスデバイスの間でのデジタル−アナログ変換器の不整合に起因するアーチファクトが画像に発生しない。従って、グラフィックス処理の性能を、追加のグラフィックスデバイスをシステムに追加することによって、デジタル−アナログ変換器の不整合による視覚的なアーチファクトを発生させることなく、向上させることができる。
【００５７】
[0068]本発明を具体的な実施の形態を参照しながら説明してきた。しかしながら、添付の請求項に記載されている本発明の広い精神及び範囲から逸脱することなく、本発明に様々な修正及び変更を行うことができることが明らかであろう。従って、上記の説明及び図面は、本発明を制限するものではなく、説明を目的とするものであるとみなされるべきである。方法の請求項におけるステップのリストは、その請求項に明示的に記していない限りは、ステップを特定の順序で実行することを意味するものではない。
【００５８】
[0069]すべての商標は、それらの所有者の各自の財産である。
【図面の簡単な説明】
【００５９】
【図１】マルチプロセッサ・グラフィックス処理システムの先行技術のマザーボードの例示的な実施の形態のブロック図である。
【図２】マルチプロセッサ・グラフィックス処理システムのマザーボードの例示的な実施の形態のブロック図である。
【図３Ａ】本発明の一以上の側面に係るグラフィックスアダプタの例示的な実施の形態である。
【図３Ｂ】本発明の一以上の側面に係るマルチプロセッサ・グラフィックス処理システムのマザーボードの例示的な実施の形態である。
【図３Ｃ】本発明の一以上の側面によるグラフィックスアダプタの別の例示的な実施の形態である。
【図３Ｄ】本発明の一以上の側面に係る複数のグラフィックスアダプタの構成の例示的な実施の形態である。
【図４Ａ】本発明の一以上の側面に係るグラフィックスプロセッサの例示的な実施の形態のブロック図である。
【図４Ｂ】本発明の一以上の側面に係る、図４Ａに示したグラフィックスプロセッサの一部の例示的な実施の形態のブロック図である。
【図４Ｃ】本発明の一以上の側面に係るグラフィックスプロセッサの別の例示的な実施の形態のブロック図である。
【図５Ａ】本発明の一以上の側面に従い、複数のグラフィックスアダプタによって生成されるピクセルデータを合成する方法の例示的な実施の形態である。
【図５Ｂ】本発明の一以上の側面に従い、複数のグラフィックスアダプタによって生成されるピクセルデータを選択する方法の例示的な実施の形態である。
【図１】
2008521135.tif 000003
【図２】
2008521135.tif 000004
【図３Ａ】
2008521135.tif 000005
【図３Ｂ】
2008521135.tif 000006
【図３Ｃ】
2008521135.tif 000007
【図３Ｄ】
2008521135.tif 000008
【図４Ａ】
2008521135.tif 000009
【図４Ｂ】
2008521135.tif 000010
【図４Ｃ】
2008521135.tif 000011
【図５Ａ】
2008521135.tif 000012
【図５Ｂ】
2008521135.tif 000013
【国際調査報告】
2008521135.tif 000014
2008521135.tif 000015
2008521135.tif 000016