JPH1131122A - バス相互接続システム - Google Patents

バス相互接続システム

Info

Publication number
JPH1131122A
JPH1131122A JP10111765A JP11176598A JPH1131122A JP H1131122 A JPH1131122 A JP H1131122A JP 10111765 A JP10111765 A JP 10111765A JP 11176598 A JP11176598 A JP 11176598A JP H1131122 A JPH1131122 A JP H1131122A
Authority
JP
Japan
Prior art keywords
information
processing element
register
buffered
bus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP10111765A
Other languages
English (en)
Other versions
JP3880724B2 (ja
Inventor
Roy R Faget
ロイ・アール・ファゲット
Ronald D Larson
ロナルド・ディー・ラーソン
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH1131122A publication Critical patent/JPH1131122A/ja
Application granted granted Critical
Publication of JP3880724B2 publication Critical patent/JP3880724B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Bus Control (AREA)
  • Image Processing (AREA)
  • Digital Computer Display Output (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 グラフィックス・システムで使用されるバ
ス構造において、システム帯域幅を改善する。 【解決手段】複数のグラフィックス処理要素を相互接続
するために使用することができるバス相互接続システム
は、グラフィックス処理要素をリング状に結合するバス
構造を含む。バス構造は、複数のグラフィックス処理要
素のそれぞれの対を接続する複数の個々のバスを含む。
上記個々のバスはそれぞれ、グラフィックス・コマンド
および情報信号を上記リング内のグラフィックス処理要
素間で転送するための同様の複数の信号ラインを含む。
複数の信号ラインの各々は、例えば、クロック信号(CL
K)と、バッファされる情報準備信号(B_Rdy)と、バッフ
ァされない情報準備信号(U_Rdy)と、ビジー信号(Busy)
と、タイプ・フィールド信号(Type[8:0])と、情報フィ
ールド信号(Info[31:0])と、を伝送する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、一般に、コンピ
ュータ・システムのフィールドに関し、具体的には、パ
イプライン化されるデジタル通信のためのインタフェー
ス回路に関する。
【0002】
【従来の技術】一般に、コンピュータ・グラフィックス
・システムが、物体のグラフィック表現を2次元ディス
プレイ画面上に表示するために使用される。現在のコン
ピュータ・グラフィックス・システムは、非常に詳細な
表現を提供することができ、多様なアプリケーションの
中で使用される。
【0003】典型的なコンピュータ・グラフィックス・
システムで、ディスプレイ画面上に表現される物体は、
複数のグラフィックス・プリミティブに分解される。プ
リミティブは、点、線、ベクトルおよび多角形(例えば
三角形)のようなグラフィックス・ピクチャの基本成分
である。典型的には、ハードウェア/ソフトウェア方式
を実現して、2次元のディスプレイ画面上に、1つまた
は複数の物体を含むグラフィックス・プリミティブをレ
ンダリングする(描く)。
【0004】ホスト・コンピュータは、通常、レンダリ
ングされる3次元物体のプリミティブを表現するプリミ
ティブ・データを提供する。例えばプリミティブが三角
形であるとき、ホスト・コンピュータは、その三角形
を、各々の頂点のx,y,z座標および赤、緑、青(R,G,B)カ
ラー値に関して定義することができる。レンダリングす
るハードウェアは、プリミティブ・データを補間して、
各々のプリミティブを構成する表示画面ピクセルおよび
各々のピクセルに関するR,G,Bカラー値を計算する。
【0005】典型的なコンピュータ・グラフィックス・
システムの基本構成要素は、幾何アクセラレータ、ラス
タライザおよびフレーム・バッファを含む。システム
は、(後述される)テクスチャ・マッピング・ハードウェ
アのような他のハードウェアを含むこともできる。幾何
アクセラレータは、ホストコンピュータから、物体を構
成するプリミティブに関する頂点座標およびカラー・デ
ータを受信する。幾何アクセラレータは、典型的に、頂
点座標データに関する(すなわち画面空間座標への)変換
を実施し、四辺形を三角形に分解し、ライティング(lig
hting)し、クリッピングし、各々のプリミティブについ
て平面方程式計算を実施するというような他の機能を実
施することもできる。レンダリング・データとよばれる
幾何アクセラレータからの出力を、ラスタライザ(およ
び任意のテクスチャ・マッピング・ハードウェア)が使
用して、プリミティブを構成する各々のピクセルについ
て最終の画面空間座標およびR,G,Bカラー値を計算す
る。最終のデータは、ディスプレイ画面上へ表示するた
めフレーム・バッファに格納される。いくつかのグラフ
ィックス・システムは、(変換、補間その他のような)多
様な操作が、異なる物体プリミティブに関して異なる構
成要素によって同時に実施されるように、パイプライン
化される。
【0006】より洗練されたシステムは、表面の詳細が
改善された物体を表示することができるように、選択と
してテクスチャ・マッピングを提供する。テクスチャ・
マッピングは、テクスチャとよばれるソース画像を3次
元物体の表面上にマップし、そしてテクスチャされた3
次元物体を2次元グラフィックス表示画面にマップし
て、結果として生じる画像を表示することを含む方法で
ある。テクスチャ・マッピングは、テクスチャの1つま
たは複数の点要素(テクセル)を、テクスチャがマップさ
れる物体の表示された部分のそれぞれの点要素(ピクセ
ル)に適用することを含む。テクスチャ・マッピング・
ハードウェア・サブシステムは、典型的に、レンダリン
グされる物体の一部に関連するテクスチャ・データを格
納するローカル・メモリを含む。
【0007】パイプライン化されたグラフィックス・シ
ステム、特にデータをたくさん使う(data-intensive)テ
クスチャ・マッピングを提供するシステムは、一般に、
多様な構成要素間でデータが伝達される複雑なバス構造
を含む。システム帯域幅は、多くの場合、結果的に妥協
される。そのようなシステムでは、例えば、どのパスが
残っているあるいは不使用であるかではなく、特定のデ
ータ・タイプおよび操作に専用のデータ・パス(バス)を
もつのが普通である。そのような専用のパスがない場
合、パイプライン化される主要なレンダリング・バス・
システムは、ホストからローカル・テクスチャ・マッピ
ング・メモリにテクスチャ・データをダウンロードする
というような特定の操作を実施するために、フラッシュ
されなければならないことがある。さらに、並列に接続
される複数のチップをもつシステムで、バス構造は、し
ばしばそれらのチップの各々への別々のバスを含み、そ
れによってさらにシステム帯域幅を減少させる。
【0008】システム帯域幅は、システム性能に直接的
に関係する。技術が進歩するに従って、ホスト・プロセ
ッサは、プリミティブ・データを改善されたスピードで
グラフィックス・レンダリング・チップに供給すること
ができる。ホスト・プロセッサの向上する技術に対処す
るため、高帯域幅の通信を扱うことができるバス構造が
要求される。
【0009】
【発明が解決しようとする課題】従ってこの発明の全般
的な目的は、システム帯域幅を最大限にする、パイプラ
イン化されるコンピュータ・グラフィックス・システム
のための改善されたバス構造およびデータ通信プロトコ
ルを提供することである。
【0010】
【課題を解決するための手段】この発明の1つの側面に
よれば、複数のグラフィックス処理要素をもつグラフィ
ックス処理システム内で使用するバス相互接続システム
は、グラフィックス処理要素をリング状に結合するバス
構造を含む。バス構造は、複数の個々のバスを含み、個
々のバスの各々は、1対のグラフィックス処理要素を接
続する。上記個々のバスの各々は、グラフィックス・コ
マンドおよび情報信号を上記リング内のグラフィックス
処理要素間で転送するための同様の複数の信号ラインを
含む。
【0011】この発明の他の側面によれば、グラフィッ
クス装置は、個々のバスを介してリング状に結合される
多数の処理要素を含む。個々のバスの各々は、同様の複
数の信号を転送する。それぞれの処理要素は、リング内
の前の処理要素から個々のバスに沿ってコマンドおよび
情報信号を受信し、リング内の次に続く処理要素へ個々
のバスの第2のものに沿って情報を送るように結合され
る、コア処理ユニットおよびインタフェース・ユニット
を含む。
【0012】この発明のさらに別の側面によれば、リン
グ状に結合される複数の処理要素をもつグラフィックス
・システムを操作する方法が提供される。処理要素のう
ちの1つは、ホスト・プロセッサに結合される、上記リ
ング上の他の処理要素に転送するためのコマンドおよび
情報信号を受信するホスト・インタフェース処理要素で
ある。その方法は、リング内の上記処理要素のうちの1
つで、リング内の前の処理要素からグラフィックス・コ
マンドおよび情報信号を受信するステップと、受信され
たグラフィックス・コマンドおよび情報信号を上記リン
グ内の次の処理要素に送るステップと、を含む。さら
に、受信されたグラフィックス・コマンドおよび情報信
号は、処理要素のコア処理ユニットへ送られる。
【0013】
【発明の実施の形態】
1.システム概要 図1ないし図3は、この発明に従うバス・アーキテクチ
ャおよびデータ転送プロトコルを用いるコンピュータ・
グラフィックス・システムの、それぞれ具体的な実施例
を示すブロック図である。各々のシステムは、異なる数
の構成要素を備え、それゆえ異なる性能レベルを提供す
る。図示されるシステムのうち2つは、付加のテクスチ
ャ・マッピング機能を提供する。図示されるシステム
は、例示であって、これに限定されるものではなく、任
意のデータ転送システムが、この発明のバス・アーキテ
クチャおよびデータ転送プロトコルを利用することでき
ることを理解しなければならない。
【0014】図1は、3つのうちの最も単純なシステム
を示す。図示されるように、システムは、ホスト・コン
ピュータ100、フロントエンド・サブシステム102および
フレーム・バッファ・サブシステム104を含む。フロン
トエンド・サブシステム102は、ホストコンピュータ100
からバス101を通して、レンダリングされるプリミティ
ブを受信する。プリミティブは典型的に、三角形の頂点
のようなプリミティブの特定の部分の各々に関するx,y,
z座標データ、R,G,Bカラー・データおよびアルファ・ブ
レンディング(blending)・データによって指定される。
【0015】3次元でプリミティブを表現するデータ
は、フロントエンド・サブシステム102によって、セグ
メント122A、122Bおよび122Cを有するバス122を介し
て、フレーム・バッファ・サブシステムに提供される。
フレーム・バッファ・サブシステム104は、フロントエ
ンド・サブシステム102から受信されるレンダリング・
データを補間して、各々のプリミティブを表現する表示
画面上のピクセルを計算し、各々のピクセルについて結
果の物体のR,G,Bカラー値を決定する。各々のピクセル
に関するR,G,Bカラー制御信号は、それぞれR,G,Bライン
123(B)上に供給され、結果として得られる画像を表示す
る表示画面のピクセル(図示せず)を制御する。
【0016】図1に示される実施例で、フロントエンド
・サブシステム102は、ホスト・インタフェース106およ
び3次元(3D)幾何アクセラレータ110を含む。上述した
ように、ホスト・インタフェース106は、ホストコンピ
ュータ100からバス101を介して、x,y,z座標およびカラ
ー・プリミティブ・データを受信する。そのようなデー
タは、ホスト・インタフェース106からバス108を通して
幾何アクセラレータ110に供給される。幾何アクセラレ
ータ110は、表示するためのレンダリング・データをも
たらす従来の幾何アクセラレータ機能を実施する。その
ような機能は、浮動小数点形式で実施される、3次元変
換、ライティング、クリッピング、透視乗算演算、およ
び平面方程式生成を含むことができる。レンダリング・
データは、幾何アクセラレータ110により、バス112に沿
ってホスト・インタフェース106に供給され、ホスト・
インタフェース106は、レンダリング・データを再びフ
ォーマットし、浮動小数点から固定小数点への変換を実
施し、そのようなデータをバス・システム122を通して
フレーム・バッファ・サブシステム104に供給する。
【0017】この実施例で、フレーム・バッファ・サブ
システム104は、2つのフレーム・バッファ・コントロ
ーラ114Aおよび114Bを含み、各々のバッファ・コントロ
ーラは、それぞれ同期式グラフィックス・ランダムアク
セスメモリ(SGRAM)116Aおよび116B、およびランダムア
クセスメモリ・ディジタル・アナログ変換器(RAMDAC)12
0をもつ。バス・システム122には、フレーム・バッファ
・コントローラ114Aおよび114Bの両方およびホスト・イ
ンタフェース106が接続される。この実施例で、バス122
は、それぞれ同じものである3つのバス122A、122Bおよ
び122Cを含む。以下でより詳しく述べるバス・アーキテ
クチャ122および関連するデータ転送プロトコルは、従
来技術のアーキテクチャおよびプロトコルにまさる改善
された帯域幅を提供する。
【0018】図1の実施例で、各々のフレーム・バッフ
ァ・コントローラ114Aおよび114Bは、ホスト・インタフ
ェース106からレンダリング・データを受信する。各々
のフレーム・バッファ・コントローラは、表示画面の異
なる重なり合わないセグメントを制御することができ
る。フレーム・バッファ・コントローラは、プリミティ
ブ・データを補間して、プリミティブを表現する画面表
示ピクセル座標および各々の座標のピクセルについて、
対応する物体R,G,Bカラー値を計算することができる。
【0019】フレーム・バッファ・コントローラ114Aお
よび114Bによって生成される、各々のピクセルについて
R,G,B値を含む結果として得られる画像ビデオ・データ
は、対応するSGRAMS116Aおよび116Bに格納することがで
きる。ビデオ・データは、SGRAMチップからフレーム・
バッファ・コントローラに取り出され、RAMDAC120が処
理できるように再びフォーマットされ、RAMDACに提供さ
れることができる。RAMDAC120は、各々のピクセルにつ
いて、デジタル・カラー・データをアナログR,G,Bカラ
ー制御信号に変換することができ、変換された信号は、
画面ディスプレイ(図示せず)を制御するようにR,G,Bラ
イン123に沿って供給される。
【0020】ホスト・インタフェース106は、ビデオ・
バス124を通して直接RAMDAC120と通信することもでき
る。システムは、フレーム・バッファ・サブシステム10
4が第1のプリミティブに関して演算し、一方でフロン
トエンド・サブシステム102が(時間的に)次に続くプリ
ミティブに関して演算するというような、パイプライン
化されたシステムであることが好ましい。
【0021】この発明のバス・システムは、図2に示さ
れるグラフィックス・システム内で使用することもでき
る。図2に示されるシステムは、(1)2つの3D幾何ア
クセラレータ110Aおよび110Bが、フロントエンド・サブ
システム102に含まれること、(2)テクスチャ・マッピン
グ・サブシステム130が使用されること、および(3)各々
のSGRAMメモリ116Aおよび116Bが、容量を増やしたこ
と、を除いて図1に示されるシステムと同様である。2
つの幾何アクセラレータ110Aおよび110Bを用いて、プリ
ミティブ・データは、以下でより詳しく記述されるよう
にこの発明のデータ転送プロトコルに従ってそれぞれの
幾何アクセラレータ間に分配される。
【0022】テクスチャ・マッピング・サブシステム13
0は、テクスチャ・マッピング演算を実行する任意のサ
ブシステムでありえるが、この典型的な実施例では、テ
クスチャ・マッピング回路132、およびテクスチャ・デ
ータの制限された量を格納する関連するローカル・キャ
ッシュメモリ134を含む。
【0023】この実施例で、バス122は、それぞれの部
分122A-122Dを含む。テクスチャ・マッピング回路132
は、ホスト・インタフェース106およびフレーム・バッ
ファ・コントローラ114Aの間のバス122に接続される。
演算の間、テクスチャ・マッピング回路132は、フレー
ム・バッファ・コントローラ回路114Aおよび114Bの両方
と同様に、バス122Aに沿ってプリミティブ・データを受
信する。データは、少なくとも1つの頂点に関数するx,
y,z物体ピクセル座標、物体R,G,Bカラー値およびS,Tテ
クスチャ・マップ座標、およびプリミティブ(すなわち
三角形)の平面方程式を含むことができる。テクスチャ
・マッピング回路132は、x,yピクセル座標およびS,Tテ
クスチャ座標を補間して、各々のピクセルについて結果
のテクスチャ・データを計算することができる。各々の
ピクセルに関するテクスチャ・データは、任意の時間に
キャッシュ・メモリ134に格納することができる。そう
である場合、テクスチャ・データは、キャッシュ・メモ
リ134から読み込まれる。要求されるテクスチャ・デー
タが、その時間にキャッシュ・メモリ134に存在しない
場合、以下でより詳しく記述されるように、データ・レ
ンダリング・パイプラインまたは専用のテクスチャ・デ
ータ・パスをフラッシュする必要なく、この発明に従う
効果的な方法で、要求されるテクスチャ・データをホス
トコンピュータからダウンロードする。
【0024】各々のピクセルに関するテクスチャ・デー
タは、テクセル・バス136に沿って各々のフレーム・バ
ッファ・コントローラ114Aおよび114Bに供給することが
でき、そこでテクスチャ・データは、1ピクセル毎の基
準で、各々のフレーム・バッファ・コントローラによっ
て物体R,G,Bカラー値と組み合わせられる。
【0025】フロントエンド・サブシステム102、フレ
ーム・バッファ・サブシステム104およびテクスチャ・
マッピング・サブシステム130は、現在知られている任
意のサブシステムまたは今後開発されるサブシステムで
ありえることを理解すべきである。さらに、そのような
各々のサブシステムは、パイプライン化され、複数のプ
リミティブに関して同時に演算することが好ましい。こ
のように、テクスチャ・マッピング・サブシステム130
およびフレーム・バッファ・サブシステム104が、フロ
ントエンド・サブシステム102が以前に提供したプリミ
ティブに関して演算し、一方フロントエンド・サブシス
テム102は、そのような下流サブシステム内のパイプラ
インが満杯になるまで新しいプリミティブに関して演算
し続ける。
【0026】この発明のバス・アーキテクチャは、異な
るタイプの複数のグラフィックス処理チップが、アーキ
テクチャ内で交換可能に配置できるように構成される。
すなわち、バス122に接続される各々のチップは、テク
スチャ・マッピング、フレーム・バッファ制御またはそ
の他のそのような機能のような、任意のグラフィックス
機能を実施することができる。
【0027】図3は、この発明のバス・アーキテクチャ
を用いるグラフィックス・システムの更なる実施例を示
すブロック図である。図3のシステムで、フロントエン
ド・サブシステム102は、3つの3D幾何アクセラレー
タ110A、110Bおよび110Cを含む。フレーム・バッファ・
サブシステム104は、それぞれSGRAMメモリ116A-116Dを
有する4つのフレーム・バッファ・コントローラ114A-1
14Dを含む。テクスチャ・マッピング・サブシステム130
は、関連するキャッシュメモリ134および135をそれぞれ
が有する2つのテクスチャ・マッピング回路132および1
33を含む。
【0028】この発明のバス・アーキテクチャ122のバ
ス・セグメント122A-Gによって、ホスト・インタフェー
ス106、各々のテクスチャ・マッピング回路132および13
3、および各々のフレーム・バッファ・コントローラ114
A-114Dが接続される。テクセル・バス137が、テクスチ
ャ・マッピング回路133と各々のフレーム・バッファ・
コントローラ114Cおよび114Dの間に接続される。動作
は、図2に関して記述したのとと同様である。
【0029】2.バス相互接続システム 図4を参照すると、この発明に従うバス相互接続システ
ム200のブロック図が示されている。(例えばフレーム・
バッファ・コントローラのような)多数のグラフィック
ス・チップを相互接続するために使用することができる
バス相互接続システム200は、多数の処理要素202,222お
よび242を含む。処理要素202は、中央処理装置(CPU)の
ような外部ホスト装置(図示せず)に、周辺要素相互接続
(PCI)バス201を介してインタフェースされる。各々の処
理要素202、222および242は、特定用途向け集積回路(AS
IC)チップを含み、そのコアは、フレーム・バッファ・
コントローラ、テクスチャ・マッピング装置等のよう
な、任意のタイプのグラフィックス処理装置として構成
することができる。
【0030】バス相互接続ネットワーク200を使用する
ことができるシステムの例は、図1ないし図3に示され
ている。例えば図1で、ホスト・インタフェース106
は、バス101を介してホストコンピュータ100に結合し、
ホスト・インタフェース106は、フレーム・バッファ・
コントローラ114Aおよび114Bとリング状に相互接続され
る。このように、この例では、処理要素202(図4)は、
ホスト・インタフェース106(図1)に対応し、PCIバス20
1(図4)は、バス101(図1)に対応し、処理要素222およ
び242(図4)は、それぞれバッファ・コントローラ114A
および114B(図1)に対応することができる。
【0031】図4に示されるように、各々の要素202、2
22および242は、それぞれコア・プロセッサ204、224お
よび244およびインタフェース回路206、226および246を
含む。各々の処理要素のコア・プロセッサは、同じもの
でも異なるものでもよいが、インタフェース回路206、2
26および246は、同じものである(ことが好ましい)。各
々のコア・プロセッサ204、224および244およびその関
連のインタフェース206、226および246の間には、いく
つかの非同期式先入れ先出しバッファ(FIFO)208、210、
212、214、228、230、232、234、248、250、252および2
54が結合される。これらの非同期式FIFOは、インタフェ
ース回路206、226および246からそれぞれコア・プロセ
ッサ204、224および244へ、およびコア・プロセッサ20
4、224および244からそれぞれインタフェース206、226
および246へ、の両方にバッファされる(すなわち非優先
の)情報パスおよびバッファされない(すなわち優先の)
情報パスを提供する。
【0032】バッファされる(すなわち非優先の)情報と
バッファされない(すなわち優先の)情報の区別、および
バッファされる(すなわち非優先の)情報パスとバッファ
されない(すなわち優先の)情報パスの間の情報の各々の
タイプの処理は、それぞれ以下により詳しく記述され
る。しかしここで、情報の2つの別個のタイプは、1つ
の共有バスを使用して処理要素間で伝送できることを理
解しなければならない。情報の各々のパケットは、(そ
れと同時に伝送されるタイプ・フィールド・データに特
定のビットを設定することによって、)バッファされる
(すなわち非優先の)またはバッファされない(すなわち
優先の)情報のどちらかであると識別される。インタフ
ェース回路によって受信された後、バッファされると識
別される情報は、バッファされる情報のみを受信する記
憶要素(すなわち非優先情報記憶要素)に転送され、バッ
ファされないと識別される情報は、バッファされない情
報のみを受信する記憶要素(すなわち優先情報記憶要素)
に転送される。
【0033】バッファされない(すなわち優先の)情報
は、バッファされる(すなわち非優先の)情報よりも常に
優先度が高くなるが、非優先情報は、バッファされない
(すなわち優先の)情報が処理し終わるまで、バッファさ
れない(すなわち優先の)情報パスとは異なる情報パス内
に保持されるように、リング内のインタフェース回路を
制御することにより、優先情報が送られる前にそのパイ
プライン・パスを「フラッシュ」しなければばらないシ
ステムにまさる重要な利点が提供される。
【0034】優先情報は、ここでは「バッファされな
い」と識別されるが、それにもかかわらずそれは、情報
記憶要素を通して処理されるように、言葉の一般的な意
味で実際上「バッファされる」ことを理解しなければな
らない。だが、バッファされない情報は、非優先情報と
比較するとある意味ではバッファされないので、ここで
は優先情報は、バッファされないという。
【0035】さらに図4を参照して、処理要素222を一
例として使用すると、バッファされる書込(BW)FIFO228
(すなわち非優先インタフェース出力記憶要素)は、イン
タフェース回路からコア・プロセッサへバッファされる
(すなわち非優先の)情報パスを提供するように、インタ
フェース回路226とコア・プロセッサ224の間に結合され
る。同様に、バッファされない書込(UW)FIFO230(すなわ
ち優先インタフェース出力記憶要素)は、インタフェー
ス回路からコア・プロセッサへバッファされない(すな
わち優先の)情報パスを提供するように、インタフェー
ス回路226とコア・プロセッサ224の間に結合される。さ
らに、バッファされる読込(BR)FIFO232(すなわち非優先
インタフェース入力記憶要素)は、コア・プロセッサと
インタフェース回路の間にバッファされる(すなわち非
優先の)情報パスを提供するように、コア・プロセッサ2
24とインタフェース回路226の間に結合される。最後
に、バッファされない読込(UR)FIFO234(すなわち優先イ
ンタフェース入力記憶要素)は、コア・プロセッサとイ
ンタフェース回路の間にバッファされない(すなわち優
先の)情報を提供するように、コア・プロセッサ224とイ
ンタフェース回路226の間に結合される。典型的な読込
および書込FIFO228、230、232および234の配置および動
作は、以下でより詳しく記述される。
【0036】処理要素202、222および242は、バス・セ
グメント250、252および254を含む単方向バスによって
相互接続される。相互接続ネットワーク200のバス・セ
グメント250、252および254は、構成および幅が同一で
ある。図示されるように、バス・セグメント250、252お
よび254は、リング形式で処理要素202、222および242を
相互接続する。バス・セグメント250は、処理要素202お
よび222を相互接続し、バス・セグメント252は、処理要
素222および242を相互接続し、バス・セグメント254
は、処理要素242および202を相互接続する。こうして、
処理要素202からの情報は、処理要素222に送られ、処理
要素222からの情報は、処理要素242に送られ、処理要素
242からの情報は、処理要素202に戻される。
【0037】図4に示される配置を使用することによっ
て、情報は、外部ホスト装置と処理要素202の間で(PCI
バス201を介して)交換されることができ、情報は、各々
の処理要素202、222および242からリング内のその次の
処理要素に単方向に循環することができる。この循環の
配置は、各々のインタフェースの出力が、リング内のそ
れに続くただ1つのインタフェースの入力をドライブ
し、処理要素の隣接する各々の対の間の単純なポイント
ツーポイント接続を提供する。各々の処理要素は、1ロ
ードのみをドライブするので、信号の完全性の問題が最
小限にされ、その結果として、高いバス帯域幅を達成す
ることができる。
【0038】さらに、この実施例で、要素から要素へ転
送される情報は、クロック信号と共に転送される。この
ようにして、システム全体のクロック同期を提供する必
要が排除され、別の処理要素の付加は、単に新しい処理
要素をリング内にプラグ接続することによって達成され
る。すなわち、クロック信号の完全性は、リング内の処
理要素の数が増加するにつれて当然低下するが、クロッ
クを情報と共に転送することによって、バスに含まれる
要素の数を事実上無制限にすることができる。
【0039】このように、この発明によるリング相互接
続システムは、幅が低減されたバスを使用して、通信帯
域幅の増加を可能にする。高スループットは、リングの
インタフェースに情報をすばやく送ることによって達成
され、一方、各々の要素のコア・プロセッサが、情報転
送レートから非同期でコマンド処理することを可能にす
る。バス幅が低減され、1バスあたり1ロードしかない
ので、ルーティングおよび信号の完全性の問題が低減さ
れる。さらに、クロックが、リング配置内で情報と共に
伝送されると、追加の処理要素は、システムの同期化に
悪影響を及ぼすことなく容易にリング・ネットワークに
加えるまたはそこから削除することができる。各々の処
理要素が、情報をバスから抽出するのに必要とする時間
はわずかであるので、別の処理要素をリングに加えるこ
とは、追加される処理要素あたり追加の1クロック・サ
イクルしか増やさず、従って最小限の追加の遅延を生じ
させるだけである。
【0040】3.バス相互接続 図4を参照して、バス・セグメント250、252および254
の1つの機能は、処理要素202、222および242の間で情
報のパケットを転送することである。発明の1つの実施
例によると、情報の完全なパケットは、2つの別個の部
分を含み、各々の部分は、情報の32ビットを含む。伝送
されるとき、各々の情報パケットの2つの部分は、時間
的に多重化されるので、転送される各々の完全なパケッ
トについて、情報の64ビットが、実際に処理要素間で転
送される。例えば、情報パケットの第1の部分は、32ビ
ット・アドレスを含むことができ、パケットの(第1の
部分のすぐ後に続く)第2の部分は、32ビット・データ
ワードを含むことができる。さらにこの実施例によれ
ば、各々の完全な情報パケットのそれぞれの部分は、そ
れに関連する9ビット・タイプデータ・フィールドをも
ち、この9ビット・タイプフィールドは、関連する情報
パケットと同時に伝送される。
【0041】各々のバス・セグメント250、252および25
4は、情報およびタイプデータの転送に割り当てられる4
1バス・ラインをもつ。バス・セグメント250を一例とし
て使用すると、32の別個のバス・ラインを含む250Fバス
・ラインが、インタフェース回路206とインタフェース
回路226の間の情報の32ビットの単方向の転送に割り当
てられ、9つの別個のバス・ラインを含む250Eバス・ラ
インが、インタフェース回路206とインタフェース回路2
26の間のタイプデータの9ビットの単方向の転送のため
に割り当てられる。このように、1クロック・サイクル
の間に、バス・ライン250Eおよび250Fは一緒に、処理要
素202と222との間でタイプデータの9ビットおよび情報
の32ビットを転送することができる。情報およびタイプ
データの半パケット(すなわち情報の32ビットおよびタ
イプ・データの9ビット)は、少なくとも200MHzのレート
で転送されることが好ましい。
【0042】図4に示されるように、各々のバス・セグ
メント250、252および254は、それが相互接続する処理
要素間に、共通信号を提供する。再びバス・セグメント
250を一例として使用すると、これらの信号は、バス・
ライン250Aに沿って伝送されるクロック信号(CLK)と、
バス・ライン250Bに沿って伝送されるバッファされる情
報準備信号(B_Rdy)と、バス・ライン250Cに沿って伝送
されるバッファされない情報準備信号(U_Rdy)と、バス
・ライン250Dに沿って伝送されるビジー信号(Busy)と、
バス・ライン250Eに沿って伝送されるタイプ・フィール
ド信号(Type[8:0])と、バス・ライン250Fに沿って伝送
される情報フィールド信号(Info[31:0])と、を含む。ク
ロック信号(CLK)、タイプ・フィールド信号(Type[8:0])
および情報フィールド信号(Info[31:0])は、リング内の
(処理要素202のような)1つの処理要素から(処理要素22
2のような)次の処理要素へ第1の下流方向に送られる。
バッファされる情報準備信号(B_Rdy)、バッファされな
い情報準備信号(U_Rdy)およびビジー信号(Busy)は、リ
ング内の(処理要素222のような)第2の処理要素から(処
理要素202のような)第1の処理要素へ、逆の上流方向に
供給される。これら「逆方向」の信号のうちの2つすな
わちB_RdyおよびU_Rdyは、以下でより詳しく記述される
ように、処理要素間の情報のフローを制御するために使
用される。
【0043】ビジー信号は、バス上のチップのどれがビ
ジーであるか否かを示すために使用される。ホストが読
み込むことができるマスタ処理要素内のレジスタが、チ
ップのどれがビジーであるか否かを把握する。このよう
にして、ホストは、処理要素を伴う特定の演算をいつ実
施することができるかを判断することができる。
【0044】バス相互接続システム200の1つの重要な
利点は、その柔軟性である。すなわち、上述したよう
に、クロックがデータと共に伝送され、ただ1つのロー
ドが、各々のソースに結合されるので、バス相互接続シ
ステム200は、信号の完全性または帯域幅の深刻な低下
を生じることなく、任意の数の処理要素を相互接続する
ことができる。こうして、この発明のバス・アーキテク
チャは、テクスチャ・マッピング、画像処理、ボリュー
ム・レンダリングのような機能を実行する任意の処理要
素の追加、または性能および機能性の向上のためにラス
タライザまたはフレーム・バッファ・コントローラのよ
うな標準の処理要素の追加を可能にする。
【0045】バス構造によって提供されるもう1つの利
点は、2つの別個の32ビット情報ワードを(時間的に)多
重化することにより、この情報を処理要素間で交換する
のに必要とされるピンの数が、情報パケットがそのよう
に多重化されない場合に必要とされる数の半分になると
いうことである。バスのスピードすなわち200MHzは、上
述したようにアドレスの32ビットおよびデータの30ビッ
トの多重化が実施され、グラフィックス装置が性能目標
を満たすに十分な高さである。ピンの削減は、一般に、
ASIC設計で主要なファクタであるので、情報転送に割り
当てられるピンの数の半分を使用して性能目標を満たす
バス構造の能力は、同じ量の情報を伝送するのにより多
くのピンを使用するシステムにまさる重要な利点を提供
する。
【0046】ASIC技術が向上するが、利用できるピン総
数が増加し、または技術的な進歩が、より高速なデータ
転送レートの必要を指図しなければならないとき、41ビ
ット情報パスは、より多くのピンを情報転送に割り当て
ることができるように、容易に拡張することができ、そ
れゆえシステムの帯域幅を増大させることができる。さ
らに、PCボード技術およびI/Oパッド設計の改善は、
間違いなくバス・アーキテクチャ200が、増大された周
波数で動作することを可能にする。
【0047】さらに、上述したように、バス・セグメン
ト250、252および254は単方向である。一般に単方向バ
スは、バスの方向を逆にすることに関連する遅延期間が
ないので、双方向バスより高速なデータ転送レートを提
供する。さらに、伝送および受信パスの両方を提供し、
制御する必要がないので、単方向バス構造は、典型的に
管理するのが比較的簡単であり、より少ないハードウェ
アしか必要としない。
【0048】4.処理要素 上述したように、図4の各々の処理要素は、コア・プロ
セッサ(例えばコア・プロセッサ224)と、多数の書込お
よび読込FIFO(例えばFIFO228,230,232および234)と、イ
ンタフェース回路(例えばインタフェース回路226)と、
を含む。また上述されたように、各々の処理要素のコア
・プロセッサは、同じものである必要はない。例えば図
4の実施例で、処理要素202のコア・プロセッサ204は、
ホストPCIバスとインタフェースするための論理を含む
が、それが他のコア・プロセッサに含まれる必要はな
い。図4の例で、処理要素202は、リング・ネットワー
ク200内のマスタ処理要素であり、前述したように、図
1ないし図3のホスト・インタフェース106に対応する
ことができる。こうして、以下に記述されるように、処
理要素202は、リング内に結合される他の処理要素とは
少し異なる方法で入力パケットを処理する。
【0049】バス相互接続ネットワーク200に関連する
各々の処理要素202、222および242の一般的な動作は、
以下の通りである。1次クロックは、フェーズ1(P1)お
よびフェーズ2(P2)の2つのフェーズに分割される。前
述したように、情報ライン(例えばバス・ライン250F)を
横断して伝達されるパケットは、例えば、多重化された
アドレス/データ情報でありえる。(1つの典型的な実施
例で)各々のパケットは、アドレス情報の32ビットおよ
びデータ情報の32ビット(パケットあたり情報の64ビッ
トの合計)を含む。こうして、フェーズ1(P1)の間、パ
ケットのアドレス部分を、情報ライン(例えばバス・ラ
イン250F)に沿って伝送することができ、フェーズ2(P
2)の間、パケットの関連するデータ部分を情報ラインに
沿って伝送することができる。
【0050】しかしここで、情報のパケットは、データ
・パケットが後にくるアドレス・パケットを含む必要は
なく、アドレスおよびデータ情報の任意の組合せを含む
ことができることに注意しなければならない。例えば、
以下の表2に示されるように、ブロック転送のような操
作が実施されるとき、情報パケットは、別のデータ・パ
ケットが後にくるデータ・パケットを含むことができ
る。さらに、情報のパケットは、2つ以上の異なる部分
に多重化されなくてもよく、選択として、この発明の理
念から逸脱することなく、1つの多重ビット・パケット
として伝送されてもよいことに注意しなければならな
い。
【0051】情報の各々のパケットは、インタフェース
回路(例えばインタフェース回路226)によって、1組の
情報ライン(例えばバス・ライン250F)を通して受信され
る。処理要素によって受信される全てのパケットは、処
理するため、その処理要素のコア・プロセッサ(例えば
処理要素222のコア・プロセッサ224)に送られる。各々
の処理要素は、それに関連するユニークな基準アドレス
をもつので、例えば、読み込み操作の間、到来アドレス
の5ビットを処理要素の基準アドレスと比較して、パケ
ットがその処理要素に向けられたものかどうか調べるこ
とができる。処理要素の全ての同じタイプは、共通の基
準アドレスを共有することが好ましい。特定のパケット
が、ある処理要素に関係しない場合、そのコア・プロセ
ッサは単にそのパケットを落とす。そうでなければ、コ
ア・プロセッサは、パケットによって指図されるあらゆ
る機能を実施する。パケットが読込パケットである場
合、例えば、コア・プロセッサ(例えばコア・プロセッ
サ224)は、そのメモリから読み込まれた情報を、(わず
かな遅延の後)それに関連するインタフェース回路(例え
ばインタフェース回路226)から外に送り、それによって
インタフェース回路は、下流の処理要素(例えば処理要
素242)に情報を送ることができる。
【0052】バス相互接続システム200が、高周波で動
作することができる1つの理由は、(マスタ処理要素202
以外の)各々の処理要素について各々のインタフェース
回路が、リング内の次の処理要素に情報を渡す前に最小
限の時間しか情報を保持しないからである。すなわち、
情報が各々の処理要素222および242に転送されるとき、
各々のインタフェース回路226および246はそれぞれ、第
1クロック・サイクルの間に、入力レジスタ(図示せず)
内の情報を取り出し、必ずしも次に続くクロック・サイ
クルでなくてもよいが、第1のクロック・サイクルの後
にくる第2のクロック・サイクルの間に、その情報を出
力レジスタ(図示せず)に送る。このように、1つの実施
例で、処理要素226および246の各々で生じる待ち時間
は、1クロック・サイクルしかない。このように、(マ
スタ処理要素202以外の)処理要素によって受信される全
てのパケットは、そのインタフェース回路によって、リ
ング内の次の処理要素に送られる。
【0053】対照的に、マスタ処理要素は、それがリン
グ相互接続の開始および終了であるため、「迂回モー
ド」で動作するように構成される。迂回モードで、イン
タフェース回路206は、2つの別個の半分として動作す
る。(書込FIFO208および210を含む)入力の半分は、リン
グから全てのアドレス/データ情報を受信し、受信した
情報をコア・プロセッサ204を通して迂回させ、(読込FI
FO212および214を含む)出力の半分は、新しいアドレス/
データ情報をコア・プロセッサ204から受け取り、この
情報をリング内の次の処理要素に送る。こうして、図4
に示される例で、(マスタ処理要素202内の)インタフェ
ース回路206によって受信される全ての情報は、コア要
素204に入り、情報は、インタフェース回路226および24
6の各々で行われるように直接インタフェース206の入力
からその出力へ渡されることは決してない。出力の半分
は、(PCIバスを通して)ホスト・プロセッサからコマン
ドを受信し、そのようなコマンドを伝えまたは修正し
(またはそれに応答する追加のコマンドを生成し)、これ
らのコマンドをリングに送ることができる。
【0054】迂回モードは、マスタ処理要素についての
み使用されるように上述したが、改善された機能性を提
供するために、同様にリング内の他の処理要素について
使用することができると考えられる。例えば、迂回モー
ドを、他の処理要素内でも使用することにより、それら
の要素が、画像処理のような機能を実施することを可能
にする。画像処理の間、データは、典型的にコア・プロ
セッサに供給され、操作され、コア・プロセッサの外に
渡される。このように、(コア・プロセッサが画像処理
を実行しているとき)コア・プロセッサによって受信さ
れるデータは、典型的に、データが入ってきてから出て
いくまでの間の待ち時間が非常に長くなりうるような方
法で格納され、処理される。その上、コアを出ていくデ
ータ量と異なるデータ量が、コアに入ってくることがあ
る。従って、リング内の1つまたは複数の処理要素を迂
回モードに置くことによって、画像処理は、リングの全
体の性能を低下させずに、それらの処理要素によって扱
われることができる。
【0055】さらに、迂回モードを使用して、例えば処
理要素は、デジタル・ビデオストリームを、伝送する処
理要素の下流にあるビデオ・データ処理要素に伝送する
ことができる。デジタル・ビデオストリームを供給する
(複数の)処理要素は、デジタル・ビデオストリームを受
信する(複数の)ビデオ・データ処理要素より上流になけ
ればならない。そのような機能を実施するため、ホスト
は、デジタル・ビデオ処理要素のインタフェース内の迂
回状態ハードウェア・レジスタ(図示せず)に書き込むこ
とによって、デジタル・ビデオデータ処理要素を迂回モ
ードに置く。ビデオ処理要素を迂回モードに置いた後、
それ以外の操作が、相互接続時に実施されてはならな
い。迂回モードに置かれた後に、ビデオ処理要素は、メ
モリおよびオーバレイ・バッファ、画像バッファ、また
はリング・バス内の下流の処理要素のいずれかの中のテ
クスチャ・キャッシュへの書き込みを生成することがで
きる。
【0056】迂回モードは、各々の「迂回されるべき」
インタフェース回路に、迂回状態ハードウェア・フラグ
を設定することによって可能になる。従って、図4に示
される例で、インタフェース回路206の迂回状態ハード
ウェア・フラグは、恒久的に設定され、インタフェース
回路226および246の迂回状態ハードウェア・フラグは、
選択的に設定されることができる。
【0057】(図4の)マスタ処理要素202は、リング・
ネットワーク内の情報パケット通信を開始するので、情
報と共に送られる1次クロックも提供する。すなわち、
マスタ処理要素202は、迂回モードで動作するように構
成されることに加えて、「マスタ・モード」で動作する
ようにも構成される。全ての処理要素は、それらがマス
タ・モードで動作するように構成されるか否かにかかわ
らず、上流の処理要素から、その処理要素からの情報と
共に到来クロック(In_CLK)を受信する。この到来クロッ
クIn_CLKは、(後述する)インタフェース回路の入力回路
をクロックするために使用される。マスタ・モードで動
作するように構成されない、処理要素202以外の処理要
素は、(後述する)インタフェース回路の出力回路をクロ
ックするのにも到来クロックIn_CLKを使用する。
【0058】インタフェース回路206は、マスタ・モー
ドで動作するように構成されるので、その出力回路は、
到来クロック(In_CLK)ではなくコア・プロセッサ204に
よって生成されるソース・クロック(Src_CLK)を使用し
てクロックされるように制御される。従って「マスタに
された」処理要素のコアからのソース・クロックSrc_CL
Kが、情報と一緒に、その処理要素のコアからリング内
の次の処理要素へ送られる。インタフェース回路の出力
回路にタイミングを提供するために、(マスタ・モード
で動作するように構成されるか否かに依存して)ソース
・クロックまたは到来クロックのどちらを選択するかと
いう方法、およびそこからの適当なタイミング信号の生
成は、以下でより詳しく述べる。
【0059】上述したように、マスタ処理要素に結合さ
れる処理要素は、一般に迂回モードで動作しない。従っ
て、全ての非マスタ処理要素(例えば処理要素222および
242)について、リング内のある処理要素から他の処理要
素への情報の転送は、主に処理要素のインタフェース回
路(例えばインタフェース回路226および246)によって制
御される。非マスタ処理要素222を一例として使用する
と、コア・プロセッサ224は、非同期式バッファされる
書込(BW)およびバッファされない書込(UW)FIFO228およ
び230を介して情報を受信し、コア・プロセッサ224から
読み込まれる情報を、非同期式バッファされる読込(BR)
およびバッファされない読込(UR)FIFO232および234を介
してインタフェース回路226の出力に渡す。FIFO228、23
0、232および234が、「非同期式」とよばれるのは、バ
ッファされる書込(BW)およびバッファされない書込(UW)
FIFO228および230が、インタフェース回路226から情報
を受信し、バッファされる読込(BR)およびバッファされ
ない読込(UR)FIFO232および234が、(インタフェース回
路226によって提供される)第1のクロックを使用してイ
ンタフェース回路226に情報を伝送し、一方バッファさ
れる書込(BW)およびバッファされない書込(UW)FIFO228
および230が、情報をコア・プロセッサ224に伝送し、バ
ッファされる読込(BR)およびバッファされない読込(UR)
FIFO232および234が、第1のクロックとは異なる周波数
をもちうる(コア・プロセッサ224によって提供される)
第2のクロックを使用して、コア・プロセッサ224から
情報を受信するからである。このように、インタフェー
ス回路226およびコア・プロセッサ224は異なる周波数で
動作することができるので、非同期FIFO228、230、232
および234の使用は、2つの装置間の情報の転送を容易
にする。
【0060】1つの実施例で、処理要素222を一例とし
て使用するとき、FIFO228、230、232および234の各々
は、1FIFOエントリあたり82ビットを(並列に)格納する
ことができる。書込および読込パスの各々の中で、バッ
ファされるFIFO(すなわち非優先インタフェース記憶要
素)およびバッファされないFIFO(すなわち優先インタフ
ェース記憶要素)の両方を用いる理由は、以下でより詳
しく述べる。しかし、ここで、2つの別個の情報パス、
すなわちバッファされる(非優先の)情報パスおよびバッ
ファされない(すなわち優先の)情報パスが、コア・プロ
セッサ224へおよびそこから提供されることに注意すべ
きである。1つの実施例で、バッファされる書込(BW)お
よびバッファされない書込(UW)FIFO228および230の各々
のエントリに格納される82並列ビットのうちの41ビット
は、パケット伝送のフェーズ1(P1)の間に受信される32
情報ビットおよび9タイプ・ビットに対応し、ビットの
うち他方の41ビットは、パケット伝送のフェーズ2(P2)
の間に受信される32情報ビットおよび9タイプ・ビット
に対応する。従って、書き込み機能のようにアドレスお
よびデータを必要とする機能が実施される場合、各々の
バッファ・エントリは、32ビット・アドレスと、アドレ
スに関連する9ビット・タイプフィールドと、データの3
2ビットと、(一般にアドレスに関連するタイプフィール
ドの複製である)そのデータに関連する9ビット・タイプ
フィールドと、を含む。この発明の1つの実施例で、バ
ッファされる書込(BW)およびバッファされない書込(UW)
FIFO228および230の各々は、少なくとも5エントリの深
さでなければならず、読込FIFOの各々は、少なくとも1
エントリの深さでなければならない。しかし、各々のFI
FOの中のエントリ数は、必要に応じてコアによって調整
することができることを理解すべきである。
【0061】1つの実施例で、各々の処理要素間で送ら
れるクロック信号は、200MHzクロックである。各々のイ
ンタフェース回路(例えばインタフェース回路226)は、
2フェーズ・クロッキング・システムを使用し、それら
の各々のフェーズは、外部クロック周波数の2分の1で
動作する、すなわち各々のフェーズは、この実施例の中
で100MHzで動作する。ここで図5を簡単に参照すると、
(上流の処理要素からの)到来システム・クロックIn_CLK
と、各々のインタフェース回路の内部で生成される2つ
のクロッキング・フェーズであるフェーズ1(P1)および
フェーズ2(P2)との間の関係を示すタイミング図が示さ
れている。動作のフェーズ(すなわちP1またはP2)は、到
来システム・クロックIn_CLKの各々の立ち下がり端に関
して変わることに注意されたい。タイミングの理由のた
め、図5に示される1フェーズ・クロックではなく相補
的なシステム・クロックを使用することが望ましい。し
かし、分かり易くするため、1フェーズ・クロックのみ
を以下で述べる。
【0062】上述したように、処理要素がマスタ・モー
ドで動作するように構成されないとき、それは、到来ク
ロックIn_CLKを、出発情報と共に伝送されるその出発ク
ロック(Out_CLK)として伝送する。従って、マスタ・モ
ードで構成されないとき、出発クロックOut_CLKに関し
て内部で生成されるフェーズP1およびP2は、到来In_CLK
に関して内部で生成されるフェーズP1およびP2と同一で
ある。しかし、処理要素が、マスタ・モードで動作する
ように構成されるとき、到来クロックIn_CLKではなく、
そのコアからのソース・クロックSrc_CLKを使用してデ
ータを伝送する。従って、マスタ・モードのとき、イン
タフェース回路は、ソース・クロックをその出発クロッ
クOut_CLKとして伝送し、出発情報のフローを制御する
ために、図5に示されるものと同様の(しかし同一では
ない)、(フェーズP1およびP2を含む)2フェーズ・クロ
ッキング・システムを生成する。
【0063】ここで図6を参照すると、インタフェース
回路226の詳細なブロック図が示されている。1つの実
施例で、リング内の全ての処理要素のインタフェース回
路は同じものであるので、インタフェース回路226の以
下の記述は、同様にインタフェース回路206および246の
各々にも適用されることを理解すべきである。しかし、
前述したように、インタフェース回路206は、一般に、
「迂回モード」および「マスタ・モード」でのみ動作す
るので、その動作は、インタフェース回路226および246
のものと少しばかり異なる。
【0064】図6に示されるように、タイプデータ、お
よび情報の多重化されたパケットが、インタフェース回
路226の入力と同時に提供され、入力レジスタ260(すな
わち入力記憶要素)へラッチされる。入力レジスタ260
は、インタフェース回路226の入力パッドに含めること
ができ、あるいは選択として、インタフェース回路の外
部に位置することもできる。上述したように、インタフ
ェース回路226内の論理は、2フェーズ・システムを使
用してクロックされる。到来クロックIn_CLKは、2で割
る(divide-by-two)回路295の入力に提供され、2で割る
回路295は、出力信号書込クロック(Wr_CLK)と、Wr_CLK
信号の逆であるので、フェーズP2の間は高いフェーズ2
クロック(P2_CLK)とを提供する。信号Wr_CLKおよびP2_C
LKは、以下に記述されるように、インタフェース論理内
のさまざまなレジスタを制御するために使用される。
【0065】到来クロックIn_CLKは、マルチプレクサ29
9の一方の入力にも提供される。マルチプレクサ299は、
第2の入力として、コア・プロセッサ224からソース・
クロックSrc_CLKを受信する。インタフェース回路224が
マスタ・モードで動作するように構成されるとき、マル
チプレクサ299は、その出力としてソース・クロックSrc
_CLKを選択し、そのソース・クロックSrc_CLKを出力ク
ロックOut_CLKとしてインタフェース回路226の出力に提
供する。逆に、インタフェース回路が、マスタ・モード
で動作するように構成されないとき、マルチプレクサ29
9は、その出力として入力クロックIn_CLKを選択し、そ
の入力クロックIn_CLKを出力クロックOut_CLKとして提
供する。
【0066】マルチプレクサ299の出力は、2で割る回
路(devide-by-two)297の入力にも提供され、2で割る回
路297は、読込クロックRD_CLKと、RD_CLKの逆であり、
出力制御のためにその出力として使用される信号(図示
せず)とを提供する。このように、インタフェース回路2
26が、マスタ・モードで構成されないとき、書込クロッ
クWr_CLKおよび読込クロックRD_CLKは、同期しなければ
ならず、両方ともP2_CLKの逆でなければならない。反対
に、インタフェース回路226がマスタ・モードで構成さ
れるとき、読込クロックRD_CLKは、ソース・クロックSr
c_CLKによってのみ駆動される。
【0067】1つの実施例によれば、情報バス・ライン
のうちの1つに関する情報の1ビット、例えばバス・ラ
イン250F(図4に示す)のBit[31]の状態を切り換え、2
で割る回路295および297の出力をそれに同期させること
によって、2で割る回路295および297によって生成され
るクロックをシステム全体で同期することができる。
【0068】入力レジスタ260と出力レジスタ300(すな
わち出力記憶要素)の間に(マルチプレクサ270および282
を介して)結合されるパス通過経路(pass through pat
h)261を使用することによって、インタフェース回路226
は、次の処理要素に伝送するために、情報パケット(お
よびタイプ・データ)をその回路を通して出力レジスタ3
00にすばやく送ることができる。パス通過経路261は、
(後述する)バックアップ・パス290が空であり、下流の
処理要素(図示せず)が、現在情報を受信することができ
ることを示す信号をインタフェース回路226に提供する
ときは必ず使用される。しかし、下流の処理要素が、情
報を受信することができないと示す場合、(情報を受信
する準備をしていた)下流の要素に渡そうとしていた情
報は、(後述する)バックアップ情報パス290内の情報記
憶要素(例えばレジスタ)に格納される。このバックアッ
プされる情報は、少なくともインタフェース回路226
が、上流の処理要素(例えば図4の処理要素202)から情
報を受信することを中止するまで、バックアップ情報パ
ス290の情報記憶要素に格納されなければならない。上
流の処理要素は、インタフェース回路226が、上流の処
理要素にその情報の伝送を中止するように命令する信号
を提供することに応答して、情報を伝送することを中止
する。
【0069】5.通信プロトコル ここで述べる実施例で、上述したように処理要素間で転
送される情報パケットは、2つの部分を含む。例えば、
第1の部分はアドレス情報を含むことができ、第2の部
分は、そのアドレスに関連するデータを含むことができ
る。さらに、タイプフィールドが、情報パケットの2つ
の部分の各々に関連する。1つの実施例で、タイプフィ
ールドは、9ビットを含み、以下の表1に示されるよう
にコード化することができる。
【0070】
【表1】
【0071】タイプフィールドは、それと同時に受信す
る情報をどのように扱うかに関連して命令を処理要素の
各々に提供する。一般に使用される2つのタイプフィー
ルドは、レジスタ読込およびレジスタ書込タイプフィー
ルドである。レジスタ書込は、2つのステップで実施さ
れる。第1に、アドレスが、フェーズ1(P1)の間にバス
に沿って送信され、第2に、データが、フェーズ2(P2)
の間に送信される。レジスタ読込の場合、アドレスが、
フェーズ1(P1)の間に送信され、フェーズ2(P2)の間に
送信されるデータフィールドは、未知である。短い遅延
の後、コア・プロセッサから読み込まれたデータは、同
じレジスタ読込パケットの以前に未知であったデータ・
スロットに挿入され、リング内の次の処理要素に送られ
る。
【0072】ほかに一般に使用される2つのタイプフィ
ールドは、BIN読込およびBlN書込命令であり、それら
は、BlNタイプデータを読み込み、書き込む(すなわちオ
ーバレイ・バッファ、画像バッファまたはテクスチャ・
キャッシュのような特定のバッファに対して情報を読み
込み、書き込む)のためである。別のタイプフィールド
の選択として、ブロック転送命令を使用して、送信元と
宛先の間で大きいデータ・ブロックを転送することがで
きる。例えば、大きいデータ・ブロックは、ダイレクト
・メモリ・アクセス(DMA)技法を使用することによっ
て、ホスト・コンピュータから(マスタ処理要素を通し
て)下流の処理要素へ転送することができる。さらに、
平面方程式命令をタイプフィールドに含めて、平面方程
式データを3Dレンダリングのためのレジスタに転送す
ることができる。最後に、多種多様な(Miscellaneous,M
isc)タイプ命令が、バス上で特別な機能を実現するため
に使用される。例えば、Miscタイプ命令を使用して、操
作の他のタイプを実施する前に読込パスをフラッシュす
ることができる。
【0073】表1から明らかなように、いくつかの命令
は、共通の意味をもつビットを共有する。例えば、タイ
プ・フィールドのビット<8>は、「バリッド(Valid)」ビ
ットであり、情報パケットのそれぞれの部分の有効性を
示すために使用される。バリッド・ビットが「0」であ
る場合、タイプ・フィールドのビット<7:0>は無視され
る。さらに、典型的に、タイプ・フィールドのビット<3
>は、バッファされる(すなわち非優先の)情報パスまた
はバッファされない(すなわち優先の)情報パスのどちら
を使用して(1)インタフェース回路からコア・プロセッ
サへ情報を転送する、(2)コア・プロセッサからインタ
フェース回路へ情報を転送する、または(3)(上述した)
バックアップ情報パス内に情報を保持するのか識別す
る。バッファされるおよびバッファされない情報パスの
更なる詳細は、以下で与えられる。
【0074】前述したように、情報は、多重化されたパ
ケットでバスに沿って伝送され、各々の情報パケットの
半分が、クロックの各々のフェーズで転送される。以下
の表2は、上述された、表1に挙げられる操作のタイプ
について、フェーズ1および2(P1およびP2)の間に転送
される情報をまとめている。
【0075】
【表2】
【0076】図4および図6を参照して(および再び処
理要素222を一例として使用して)、表2に示されるよう
に、フェーズP1の間に、各々の情報パケットの第1の部
分がインタフェース回路226によって(情報ライン250Fに
沿って)受信され、フェーズP2の間に、各々のパケット
の第2の部分が、インタフェース回路226によって(情報
ライン250Fに沿って)受信される。図6に示されるよう
に、インタフェース回路226は、入力レジスタ260、P1レ
ジスタ262、P1WDレジスタ264およびP2WDレジスタ266を
含む。入力レジスタ260は、到来情報パケット(およびそ
れらの関連のタイプ・データ)を受信し、P1レジスタ262
は、その入力を、入力レジスタ260の出力から受信す
る。さらに、P1WDレジスタ264は、その入力を、P1レジ
スタ262の出力から受信し、P2WDレジスタは、その入力
を、入力レジスタ260の出力から受信する。
【0077】ここで簡単に図7を参照して、インタフェ
ース回路226によるいくつかの完全な情報パケットの受
信を示すタイミング図が示されている。具体的に言え
ば、このタイミング図は、(1)バス・ライン250Aに沿っ
て受信される到来クロック(In_CLK)の状態と、(2)バス
・ライン250Fに沿って受信される情報(Info[31:0])と、
(3)2で割る回路295から出力される書込クロック信号(W
r_CLK)と、(4)入力レジスタ260(IN_Reg)、P1レジスタ26
2(P1_Reg)、およびP1WDおよびP2WDレジスタ264および26
6(P1/P2WD)のそれぞれの内容と、を示している。上述の
信号の状態は、一連の転送サイクルT0-T3にわたって示
されており、転送サイクルT0-T3の各々は、第1フェー
ズP1および第2フェーズP2を含む。これらの信号は、比
較のため同じ時間スケール(水平軸)で示される。ある信
号が他のものより上にある物理的な配置は、その信号
が、他の信号より高い重要性を達成することを意味する
のではない。
【0078】ここで述べるこの発明の1つの実施例は、
処理要素としてASICを使用して実現されるので、図6に
示される個々の情報記憶要素の各々の「次の状態」の内
容の制御(すなわち情報記憶要素の内容が、次にクロッ
クされる状態の間にどうなるか)、および多様なマルチ
プレクサを通る情報のフローの制御は、Verilogのよう
なソフトウェア・シミュレーション言語を使用すること
によって実現することができ、汎用プロセッサ上で動作
するSynopsysTMのような統合ツールによって論理ゲート
回路に転換することができる。選択として、論理関数
を、ソフトウェアに書き込み、プロセッサによって実行
してもよい。
【0079】図7に示されるように、転送サイクルT1の
フェーズP1の間、上流の処理要素の出力レジスタは、例
えば、アドレスADDR1(すなわち第1の情報パケットのア
ドレス部分)をバス・ライン250Fに沿って送る。転送サ
イクルT1のフェーズP2の間、到来クロックIn_CLKの立ち
下がり端は、ADDR1を、インタフェース回路226の入力レ
ジスタ260にラッチする。時間T2のフェーズP1の間、到
来クロックIn_CLKの立ち下がり端は、第1の情報パケッ
トのデータ部分DATA1を、入力レジスタ260にラッチす
る。これは、入力レジスタ260およびインタフェース回
路226を、到来クロックIn_CLKの次の立ち下がり端(すな
わち時間T2のフェーズ2(P2)の間)に上流の処理要素か
らADDR2を受信するために解放された状態にする。タイ
プ・データは、インタフェース回路226によって、(バス
・ライン250Eから)同じ方法で受信される。こうして、
情報およびタイプ・データは、インタフェース回路226
によって、到来クロックIn_CLKの周波数すなわちおよそ
200MHzで受信される。
【0080】各々の情報パケットの2つの部分を、(コ
ア・プロセッサ224に渡される)82ビット並列ワードにデ
マルチプレクス(de-multiplex)するために、フェーズP1
レジスタ262が提供される。情報(および関連するタイプ
・フィールド)が、上述したようにインタフェース回路2
26によって受信されるとき、P1レジスタ262は、各々の
情報パケットの第1の部分のみをラッチするように、2
分の1周波数クロックWr_CLKによって制御される。さら
に、(コア・プロセッサ224に情報を送るための)P1/P2WD
レジスタ264/266は、各々の情報パケットの両方の部分
を同時にラッチするように、(2分の1周波数クロックW
r_CLKの逆である)2分の1周波数クロックP2_CLKによっ
て制御される。
【0081】より具体的には、2分の1周波数クロック
Wr_CLKの立ち上がり端の間、入力レジスタ260の内容
は、P1レジスタ262にラッチされ、2分の1周波数クロ
ックP2_CLKの立ち上がり端(Wr_CLKの立ち下がり端)の
間、P1レジスタ262の内容が、P1WDレジスタ264にラッチ
され、入力レジスタ260の内容が、P2WDレジスタ266にラ
ッチされる。従って、どのP2_CLK信号の立ち上がり端の
後でも、P1/P2WDレジスタ264および266は、それぞれ情
報パケットの第1の部分および第2の部分を格納してい
る。P2_CLK信号の次の立ち上がり端の前の任意の時間に
(例えば次のWr_CLK信号の立ち上がり端で)、P1/P2WDレ
ジスタ内の情報は、以下により詳しく述べるように、パ
ケットに関連するタイプ・フィールド内の特定のビット
の値に依存して、バッファされる(すなわち非優先の)非
同期書込(BW)FIFO228またはバッファされない(すなわち
優先の)非同期書込(UW)FIFO230のどちらかにロードされ
る。インタフェースによって提供されるアドレス/デー
タおよびタイプ情報のフィルタリングはない。このよう
に、インタフェースで受信されるあらゆる情報パケット
は、コア・プロセッサ224に送られ、コア・プロセッサ2
24は、それが関心のあるパケットであるかどうか判断す
る。
【0082】図6に戻って、到来する多重化された情報
パケットは全て、(上述したように)到来クロックIn_CLK
の各々の立ち下がり端で入力レジスタ260によって受信
される。さらに、(1)(パス通過経路261を介して)入力レ
ジスタ260、(2)バックアップ情報パス290、(3)バッファ
される読込(BR)またはバッファされない読込(UR)FIFO23
2または234、のいずれかからの情報は、(処理要素がマ
スタ構成でないときは入力クロックIn_CLKと同じであ
る)出力クロックOut_CLKの立ち下がり端で、出力レジス
タ300に(1つまたは複数のマルチプレクサ270、282およ
び280を通して)クロックされる。従って、マスタ・モー
ドで構成されないとき、入力レジスタ260および出力レ
ジスタ300は、入力クロックIn_CLKの各々の立ち下がり
端で、すなわちP1およびP2転送サイクルの間に、情報を
受信し、伝送する。情報パケットは、2つの部分(例え
ばアドレス部分およびデータ部分)に多重化されるの
で、入力レジスタ260は、実際に、操作のP2フェーズの
間の入力クロックIn_CLKの立ち下がり端で、例えばアド
レス情報のような各々の情報パケットの第1の部分を受
信し、(アドレスがレジスタ260にクロックされたP2フェ
ーズのすぐ後にくる)操作のP1フェーズの間の入力クロ
ックIn_CLKの立ち下がり端で、例えばデータ情報のよう
な情報パケットの第2の部分を受信する。同様に、イン
タフェース回路226によって伝送される各々の情報パケ
ットの第1の部分は、操作のP1フェーズの間、(処理要
素がマスタ構成でないときの入力クロックIn_CLKと同じ
である)出力クロックOut_CLKの立ち下がり端によって、
出力レジスタ300にクロックされる。各々の伝送される
情報パケットの第2の部分は、操作フェーズP2の間の
(パケットの第1の部分がレジスタ300にクロックされた
P1フェーズのすぐ後にくる)出力クロックOut_CLKの立ち
下がり端によって、出力レジスタ300にクロックされ
る。
【0083】処理要素222の下流にある処理要素(例えば
処理要素242)が、処理要素222から情報を受信すること
ができることを示し、処理要素222が、それ自体ストー
ルしてないとき(例えばそのコア・プロセッサからの読
込情報を待っているとき)、出力レジスタ300は、情報を
入力レジスタ260から(パス通過経路261を介して)直接受
信する。それによって、入力クロックIn_CLKの各々の立
ち下がり端の間に、情報パケット(およびその関連する
タイプ・データ)の1つの部分が、インタフェース回路2
26を通してシフトされ、インタフェース回路の存在の結
果として1クロック・サイクルの待ち時間のみが生じ
る。
【0084】6.バックアップ情報パス 処理要素222より下流の処理要素(例えば処理要素242)
が、現在、処理要素222から情報を受信することができ
ないことを示す場合、または処理要素222が、それ自体
でストールしている場合(例えばそのコアからの読込情
報を待っているとき)、処理要素222より上流の処理要素
(例えば処理要素202)が、データをなお送信している
間、すなわち現在情報を受け入れることができないとい
う処理要素222からの指示に上流の処理要素202が応答す
るまで、(以下に記述される)バックアップ情報パス290
内の情報記憶要素を使用して、インタフェース回路226
にバックアップされる情報を格納する。すなわちこのバ
ックアップ機能は、少なくともインタフェース回路226
が、上流の処理要素(例えば処理要素202)に情報を送信
するのを中止するよう知らせることができるまで実施さ
れる。
【0085】図6に示されるように、バックアップ情報
パス290は、バッファされる(すなわち非優先の)情報バ
ックアップ・パス292およびバッファされない(すなわち
優先の)情報バックアップ・パス294を含む。バッファさ
れる情報バックアップ・パス292は、バッファされる(す
なわち非優先の)バックアップ記憶要素B0、B1、B2、B
3、B4およびB5を含み、バッファされない情報バックア
ップ・パス294は、バッファされない(すなわち優先の)
バックアップ記憶要素U0、U1、U2、U3、U4およびU5を含
む。さらにバックアップ情報パス290にはマルチプレク
サ292Aおよび292Bも含められ、それらは、1つの実施例
で、バッファされるバックアップ記憶要素B4およびB5お
よびバッファされないバックアップ記憶要素U4およびU5
のうちのただ1つの内容を、マルチプレクサ292Aおよび
292Bの出力が接続されるマルチプレクサ270の入力の一
方に選択的に提供する(または1つも提供しない)ように
配置される。
【0086】また図6には、B_Rdyレジスタ322、U_Rdy
レジスタ324、B_Rdy論理回路326およびU_Rdy論理回路32
8が示されている。B_Rdyレジスタ322は、下流の処理要
素から(B_Rdy論理回路326を通して)到来バッファされる
準備(B_Rdy_In)信号を受信し、出発バッファされる準備
(B_Rdy_Out)信号を上流の処理要素へ提供する。同様
に、U_Rdyレジスタ324は、下流の処理要素から(U_Rdy論
理回路328を通して)到来バッファされない準備(U_Rdy_I
n)信号を受信し、出発バッファされない準備(U_Rdy_Ou
t)信号を上流の処理要素に提供する。B_RdyおよびU_Rdy
論理回路326および328は、到来B_Rdy_InおよびU_Rdy_In
信号に加えて多数の他の入力を受信し、それらはどれ
も、処理要素222が、現在上流の処理要素から情報を受
信することができないことを示すことができる。B_Rdy
およびU_Rdyレジスタ322および324の各々は、Wr_CLK信
号の立ち上がり端でクロックされる。
【0087】下流の処理要素は、上流の要素に対して
(例えばバス・ライン250Bに沿った)それらの出発バッフ
ァされる準備(B_Rdy_Out)信号および(例えばバス・ライ
ン250Cに沿った)それらの出発バッファされない準備(U_
Rdy_Out)信号を非アサートにすることによって、上流の
処理要素に情報伝送を中止するように知らせる。B_Rdy_
OutおよびU_Rdy_Out信号は、バッファされる(すなわち
非優先の)情報およびバッファされない(すなわち優先
の)情報を受信するための処理要素222の相関的な能力を
示す。バッファされるおよびバッファされない情報の使
用および制御に関連する説明は、以下で詳しく述べる。
【0088】図6のバックアップ情報パス290は、その
バッファされるおよびバッファされない情報パス292お
よび294の各々の中に、バッファリングの3ステージを
含み、インタフェース回路226が、下流のインタフェー
ス回路246から到来非アサートB_Rdy_In信号を最初に受
信してから、(インタフェース回路226が、上流のインタ
フェース回路206に対して出発バッファされる準備信号B
_Rdy_Outを非アサートした後、)インタフェース回路226
が、実際に上流のインタフェース回路206から情報を受
信することを中止するまでの時間の間に、バックアップ
できる情報の最大量を収容する。
【0089】インタフェース回路226による(下流の処理
要素からの)到来B_Rdy_InおよびU_Rdy_In信号の受信に
よって、インタフェース回路226は、識別されるタイプ
の情報(すなわちバッファされるまたはバッファされな
い情報)を下流の処理要素に伝送することを中止する。
また、インタフェース回路226は、あらゆるペンディン
グ情報、およびインタフェース回路226が出発B_Rdy_Out
またはU_Rdy_Out信号を(上流の処理要素に対して)非ア
サートにしてから、上流の処理要素が、識別されるタイ
プの情報を送信することを実際に中止するまでの時間の
間に受信されるあらゆる情報を、バックアップ情報パス
290に含まれる専用バッファに格納する。このように、
非アサートにされた到来B_Rdy_InまたはU_Rdy_In信号の
受信は、信号を受信している処理要素が、その出発情報
およびタイプデータ・バス・ラインに沿って、情報およ
びタイプデータを送信することを(できるだけ早く)中止
しなければならないという指示である。
【0090】インタフェース回路226は、下流の処理要
素から非アサートにされたB_Rdy_InまたはU_Rdy_In信号
を受信すると、それは、信号を受信した時にすでに送信
し始めていた情報の完全なパケットを送信し終えた後に
のみ、その情報転送を中止する。こうして、例えば、イ
ンタフェース回路226は、インタフェース回路246から非
アサートにされたB_Rdy_In信号を受信する場合、(非優
先の操作に関連する)アドレスが出力レジスタ300にクロ
ックされたあと、インタフェース回路226は、下流の処
理要素246への情報転送を中止する前に、(前に送信され
たアドレスに関連する)情報パケットのデータ部分をク
ロックすることを続ける。
【0091】バックアップ・パス290に転送される情報
は、P1WDレジスタ264およびP2WDレジスタ266にもラッチ
され、(情報がバッファされるかバッファされないかに
依存して)バッファされる書込(BW)FIFO228またはバッフ
ァされない書込(UW)FIFO230のどちらかに転送され、従
って(情報がコアに関心をもつ場合)「バックアップされ
る」情報であってもコア224に到達することに注意すべ
きである。
【0092】バックアップされる情報の一時的な記憶の
ために使用される方法は、バッファされるおよびバッフ
ァされない情報の両方について同じであることを理解す
べきであるが、分かり易くするため、以下の記述は、B_
Rdy_InおよびB_Rdy_Out信号の使用および効果と、バッ
ファされるバックアップ情報パス292の使用にのみ言及
する。
【0093】情報(およびタイプ・データ)が、バッファ
されるバックアップ・パス292に転送されるとき、それ
は、最初にレジスタB4およびB5に書き込まれる。レジス
タB4およびB5が満杯になると、到来情報(およびタイプ
・データ)は、レジスタB2およびB3に書き込まれる。最
後に、レジスタB2およびB3が満杯になると、到来情報
(およびタイプ・データ)は、レジスタB0およびB1に書き
込まれる。加えて、情報(およびタイプ・データ)が、バ
ッファされるバックアップ・パス292に転送されると
き、P1レジスタ262からの情報(およびタイプ・データ)
は、常にレジスタB0、B2またはB4のうちの1つに書き込
まれ、入力レジスタ260からの情報は、常にレジスタB
1、B3またはB5のうちの1つに書き込まれる。P1レジス
タ262からバッファされるバックアップ記憶要素B2およ
びB4へ、および入力レジスタ260からバッファされるバ
ックアップ記憶要素B3およびB5への情報転送パスは、図
6に明示的に示されていないが、それにもかかわらず情
報転送パスが存在し、バッファされるバックアップ・パ
ス292への入力は、バッファされるバックアップ・パス2
92内のバッファされるバックアップ記憶要素のそれぞれ
の対(すなわちB0およびB1、B2およびB3、B4およびB5)へ
の入力を意味する傾向があることを理解すべきである。
【0094】バッファされるバックアップ・パス292が
どのように満たされるかとは対照的に、バッファされる
バックアップ・パス292が空にされるとき、情報(および
タイプ・データ)は、常にレジスタB4およびB5から読み
込まれる。さらに、レジスタB4およびB5が空にされる
と、レジスタB2およびB3の内容が(もしあれば)、それぞ
れレジスタB4およびB5にシフトされ、レジスタB0および
B1の内容が(もしあれば)、それぞれレジスタB2およびB3
にシフトされる。
【0095】前述したように、ソフトウェア設計/ハー
ドウェア実現の論理を使用して、この発明で使用される
各々のレジスタの次の状態の内容を制御することができ
る。1つの実施例によると、タイプデータを含むバック
アップ情報パス290内の個々のレジスタおよびP2レジス
タ262内の個々のタイプデータ・レジスタの各々の内容
を調べて、どの情報が、次のクロック・サイクルの間に
回路内のどの位置に転送されるべきかを判断する代わり
に、例えば制御レジスタ・ブロック320に含まれるレジ
スタ302、304、306、308、310、312および314のような
多数の別々の1ビット・レジスタ(すなわち記憶要素を
識別する内容)を利用して、情報のどのタイプが、バッ
クアップ情報パス290内のどの位置にあるか、および情
報のどのタイプが、P1レジスタ262内にあるかを把握す
る。例えば、(1)単一のレジスタ302は、バッファされる
バックアップ・レジスタB4およびB5が満杯であるかどう
か示すために使用することができ、(2)単一のレジスタ3
04は、バッファされるバックアップ・レジスタB2および
B3が満杯であるかどうか示すために使用することがで
き、(3)単一のレジスタ306は、バッファされるバックア
ップ・レジスタB0およびB1が満杯であるかどうか示すた
めに使用することができ、(4)単一のレジスタ308は、バ
ッファされるバックアップ・レジスタB0が、その中に格
納される多種多様なタイプの情報を持つかどうか示すた
めに使用することができ、(5)単一のレジスタは310は、
バッファされるバックアップのレジスタB2が、その中に
格納される多種多様ななタイプの情報を持つかどうか示
すために使用することができ、(6)単一のレジスタ312
は、バッファされるバックアップ・レジスタB4が、その
中に格納される多種多様なタイプの情報を持つかどうか
示すために使用することができ、(7)単一のレジスタ314
は、P1レジスタ262が、その中に格納される多種多様な
タイプのバッファされる情報を持つかどうか示すために
使用することができる。これら1ビット・レジスタの使
用は、回路の制御を簡単にし、回路が、他の方法で動作
できるよりも速いスピードで動作することを可能にす
る。
【0096】さらに同様のレジスタ(図示せず)を制御レ
ジスタ・ブロック320内に提供して、バックアップ・レ
ジスタB0、B2、B4およびP1レジスタ262の各々が、上記
表1に定義されるような、その処理要素のコアの基準ア
ドレスに合致するアドレスや、BlN読込パケットのアド
レスやブロック転送(BltOb)パケットのような、それに
格納される情報の他の特定の種類を持つかどうかを指示
する。さらに同様の情報を、制御レジスタ・ブロック32
0(すなわち内容識別記憶要素)内の追加の複数の1ビッ
ト・レジスタ(図示せず)に格納して、バッファされない
バックアップ・パス294に含まれる例えばレジスタのよ
うなバッファされない(すなわち優先の)バックアップ記
憶要素の内容を識別する。さらに、制御レジスタ・ブロ
ック320内の1ビット「タイプ識別」レジスタ(図示せ
ず)を使用して、P1レジスタ262が、例えばバッファされ
るBltOb情報のようなバッファされる情報の特定のタイ
プを含むかどうか識別し、それが、例えばバッファされ
ないBltOb情報のようなバッファされない情報の特定の
タイプを含むかどうか識別する。
【0097】B_Rdy_Out信号は、2つの状態をもち、ア
サートにされた状態は、B_Rdy_Out信号を伝送する処理
要素が、情報を受け付けるために利用可能であることを
示し、非アサートにされた状態は、処理要素が情報を受
け付けるために利用できないことをを示す。1つの実施
例で、アサートにされた状態は、論理「1」に相当し、
非アサートにされた状態は、論理「0」に相当する。
【0098】処理要素は、下流の処理要素から非アサー
トにされた到来B_Rdy_In信号を受信することに応答し
て、上流の処理要素に対してその出発B_Rdy_Out信号を
非アサートにすることに加えて、処理要素は、さまざま
なその他の理由のために情報を受け付けることができな
いことがある。例えば、バッファされる書込(BW)FIFO22
8(すなわち非優先情報記憶要素)が、(以下でより詳しく
説明されるように)満杯である特定の数のエントリ内に
ある場合、インタフェース回路226は、それ以上多くの
情報を受信することができないので、B_Rdy論理回路326
は、上流の処理要素が情報を伝送することを中止するよ
うに出発B_Rdy_Out信号を(次のWr_CLK上)非アサートに
して、入力情報が落ちないことを保証する。さらに、コ
ア読み込み操作の間、読み込みデータが(例えば先取り
操作のために)すでに存在しない場合、到来情報パケッ
トがコア224からの読込操作を実施するために符号化さ
れるとき、B_Rdy論理回路326は、出発B_Rdy_Out信号を
(次のWr_CLKで)非アサートにする。そのような読み込み
操作は、1つまたは複数のコア・レジスタの読み込み、
またはコアに結合される(フレーム・バッファのような)
メモリ装置を含むことができる。
【0099】読込パケット(例えばレジスタ読込パケッ
ト)が受信され、先取りされたデータが存在しないと
き、処理要素222は、情報およびタイプ・データを下流
の処理要素に送信することを(できるだけ早く)中止しな
ければならないという指示を受信する。すなわち、処理
要素222が、(以前に受信されたアドレスと共に多重化さ
れる)情報が下流の処理要素に伝送される前に情報がそ
のコアから読み込まれことを待たなければならない限り
において、処理要素222によって受信される読込パケッ
トは、(上流の処理要素に情報を送信することを中止す
るように知らせることに加えて)、情報およびタイプ・
データを下流の処理要素に送信することを(できるだけ
早く)中止しなければならないという指示を構成する。
【0100】上述したように、コア・データの読込が要
求されると、コア・プロセッサ224がアクセスされると
き、読込データが返される前に、わずかな遅延期間があ
る。データは、以下で説明されるように、データがバッ
ファされるかバッファされないかに依存して、バッファ
される読込(BR)FIFO232(すなわち非優先インタフェース
入力記憶要素)またはバッファされない読込(UR)FIFO234
(すなわち優先インタフェース入力記憶要素)のいずれか
を通してコアから読み込まれる。これらのFIFOからのデ
ータは、4つの情報保持レジスタすなわち情報保持レジ
スタP1_OUT、P2_OUT、U_P1_OUTおよびU_P2_OUT(それぞ
れ272、274、276および278)のうちの1つに読み込まれ
る。分かり易くするため、バッファされるデータの読み
込みだけを、以下で述べる。しかし、(異なるレジスタ
を使用するが)バッファされないデータの読み込むも同
じ方法で実施されることを理解すべきである。
【0101】コア・プロセッサ224がアクセスされると
きの遅延期間の間、読込のアドレスは、バックアップ情
報パス290内の情報記憶要素に格納され、処理要素224
は、上流の処理要素に情報を送信するのを中止するよう
知らせるためにバス・ライン250Bに沿ってその出発B_Rd
y_Out信号を非アサートにする。データが、コア・プロ
セッサ224から返されるとき、それはバッファされる読
込(BR)FIFO232を通して伝搬し、P2_OUTレジスタ274に格
納される。取り出されたデータが、P2_OUTレジスタ274
に格納される場合、B_Rdy_Out信号は、再びアサートに
され(上流の処理要素が再び情報を送信することができ
ることを示す)、読込に対応するアドレスが、マルチプ
レクサ292A、270および282を通して送られ、次のP2_CLK
信号の立ち上がり端で出力される。取り出されたデータ
は(マルチプレクサ280および282を通して伝搬したあ
と)、次のRD_CLK信号の立ち上がり端で出力される。こ
のように、コア読込を実施するとき、B_Rdy_Out信号を
使用して、上流の処理要素を読込データが利用可能にな
るまで一時的に止めることができる。結果として、コア
読込が実施されたあと、そのアドレスから取り出される
アドレスおよびデータは、(本質的に)コア読込操作に関
連する遅延によってのみ決定される遅延期間に同期して
伝送することができる。
【0102】ここで図8を参照すると、出発B_Rdy_Out
信号が、例えばコア読込パケットを受信したあと処理要
素222によって非アサートにされてから、処理要素222
が、実際に上流の処理要素(例えば処理要素202)から情
報を受信することを中止するまでのの間に生じる待ち時
間を説明するタイミング図が示されている。これらの信
号は、比較のため同じ時間スケール(水平軸)で示され
る。ある信号が他のものより上にある物理的な配置は、
ある信号が、他のものより高い重要性を達成することを
意味するのではない。
【0103】図示されるように、各々の転送サイクルの
フェーズ1(P1)およびフェーズ2(P2)の間、アドレスお
よびデータ情報は、それぞれバス・ライン250Fに沿って
受信される。転送サイクルT1のフェーズP1の間に送信さ
れるアドレスに関連するタイプ情報が、コア読込操作が
実施されることを示す場合、転送サイクルT1のフェーズ
P2の間、B_Rdy_Out信号が、非アサートにされる。タイ
プフィールド(すなわち有効信号)のビット<8>の高い状
態によって示されるように、有効なアドレスおよびデー
タ情報は、転送サイクルT2の終了までバス・ライン250F
に沿って受信され続ける。B_Rdy_Out信号が、転送サイ
クルT1の間に非アサートにされてから、情報が、転送サ
イクルT2の間にバスに沿って伝送されることを中止する
までの時間の間の時間遅延は、結果として情報のバック
アップを処理要素222に生じさせる。
【0104】ここで図9を参照すると、B_Rdy_Out信号
が、処理要素222によって再びアサートにされてから、
処理要素222が、再び上流の処理要素(例えば処理要素20
2)から有効な情報を受信するまでの時間の間の同様の遅
延が示されている。これらの信号は、比較のため同じ時
間スケール(水平軸)で示される。ある信号が他のものよ
り上にある物理的な配置は、ある信号が他の信号より大
きい重要性を達成することを意味しない。この時間遅延
は、新しい情報がインタフェース回路226の入力レジス
タ260によって受信される前に、バックアップ情報パス2
90内の情報が、出力レジスタ300の外に送られることを
可能にする。
【0105】再び図6を参照して、(下流の処理要素か
ら)非アサートにされた到来B_Rdy_In信号を受信した後
のインタフェース回路226の操作を述べる。到来情報パ
ケットの第1の部分(例えばアドレスおよびアドレス・
タイプ情報)が、転送サイクルのフェーズP1の間、入力
レジスタ260の入力で受信される。同じ転送サイクルの
フェーズP2の間に、情報パケットの第1の部分は、入力
レジスタ260にラッチされる。次の転送サイクルのフェ
ーズP1の間に、情報パケットの第2の部分(例えばデー
タおよびデータ・タイプ情報)が、入力レジスタ260にロ
ードされるのと同時に、入力レジスタ260に格納された
情報が、P1レジスタ262にロードされる。情報の両方の
部分は、次に続くP2クロック・フェーズで、バッファさ
れるバックアップ・パス292(すなわちレジスタB4および
B5)の第1ステージに送られる。インタフェース回路226
がその出発B_Rdy_Out信号を非アサートにするのに応じ
て、上流のプロセッサが伝送を止めるまで、情報は、P1
レジスタ262および入力レジスタ260から、(次に続くP2
クロック・フェーズで)バッファされるバックアップ・
パス292内の次に続くレジスタ(すなわちバッファされる
バックアップ記憶要素)に転送され続ける。
【0106】インタフェース回路226が、再び情報を受
信するおよび/または送信する準備ができたとき、その
出発B_Rdy_Out信号は、アサートにされ、バッファされ
るバックアップ・パス292内のレジスタを空にする処理
が始まる。出発B_Rdy_Out信号が再びアサートにされた
後の第1の転送サイクルのフェーズ1(P1)の間、レジス
タB4からの情報が、マルチプレクサ292A、270および282
へと送られ、出力レジスタ300にラッチされる。同じ転
送サイクルのフェーズ2(P2)の間、レジスタB5からの情
報が、マルチプレクサ292A、270および282に送られ、出
力レジスタ300にラッチされる。
【0107】第2の転送サイクルのフェーズ1(P1)およ
びフェーズ2(P2)の間、レジスタB2およびB3からそれぞ
れシフトされたレジスタB4およびB5からの情報が(もし
あれば)、出力レジスタ300に送られる。次に、第1の転
送サイクルの間にレジスタB0からレジスタB2へ、そして
第2の転送サイクルの間にレジスタB2からレジスタB4へ
シフトされたレジスタB4からの情報が(もしあれば)、第
3の転送サイクルのフェーズ1(P1)の間に、マルチプレ
クサを通して出力レジスタ300に送られる。また第3の
転送サイクルのフェーズ1(P1)の間に、上流の処理要素
(例えば処理要素202)は、情報パケットの第1の部分を
バス250に沿って提供する。こうして、第1の転送サイ
クルの間にレジスタB1からレジスタB3に、第2の転送サ
イクルの間にレジスタB3からレジスタB5にシフトされた
レジスタB5からの情報が(もしあれば)、第3の転送サイ
クルのフェーズ2(P2)の間に、出力レジスタ300にラッ
チされると同時に、上流の処理要素からの情報パケット
の第1の部分が入力レジスタ260にラッチされ、それに
よってバッファされるバックアップ・パス292を空にす
る。
【0108】最後に、第4の転送サイクルのフェーズ1
(P1)の間に、(以前に入力レジスタ260にラッチされた)
情報パケットの第1の部分が、パス通過経路261を通っ
て出力レジスタ300に直接送ることができるようになる
と同時に、上流の処理要素からの情報パケットの第2の
部分が、入力レジスタ260にラッチされることができ
る。バッファされるバックアップ・パス292は、バック
アップできる限りの情報の最大量を収容するような大き
さに作られるので、処理要素が操作を中止するときに失
われる情報はなく、高速通信スループットが維持され
る。
【0109】7.バッファされるおよびバッファされな
い情報パス さらに図6を参照して、上で説明したように、各々の到
来情報パケットの第1および第2の部分(およびその関
連のタイプ・フィールド)は、それぞれP1レジスタ262お
よび入力レジスタ260(すなわち入力記憶要素)にラッチ
され、その後それぞれP2WDレジスタ266およびP1WDレジ
スタ264にラッチされ、処理要素222のコア・プロセッサ
224に送られる。P1WDおよびP2WDレジスタ264および266
にラッチされる各々の情報パケットの両方の部分は、パ
ケットの第1の部分のタイプフィールドの内容に従っ
て、バッファされる書込(BW)FIFO228(すなわち非優先イ
ンタフェース出力記憶要素)またはバッファされない書
込(UW)FIFO230(すなわち優先インタフェース出力記憶要
素)のいずれかに入力される。すなわち、パケットの第
1の部分のタイプフィールド、すなわちP1レジスタ262
に格納された部分を調べて、パケットが、表1のリスト
項目に従ってバッファされるまたはバッファされないと
識別されるかを判断する。
【0110】表1に示されるように、このタイプフィー
ルドのビット<7>が「1」である場合、パケットは、常に
バッファされる書込(BW)FIFO228に転送されなければな
らず、ビット<7>が「0」である場合、バッファされる書
込(BW)FIFO228またはバッファされない書込(UW)FIFO230
のどちらにパケットが転送されるかは、タイプフィール
ドのビット<3>の値に依存する。1つの実施例で、パケッ
トの第1の部分のタイプフィールドのビット<3>が「1」
である場合、情報は、バッファされないタイプであり、
逆にビット<3>が「0」である場合、情報は、バッファさ
れるタイプである。
【0111】1つの実施例によれば、P1レジスタ262の
タイプフィールドの内容を調べて、それがバッファされ
るまたはバッファされない情報を含むかどうか判断する
のではなく、2つの別々の1ビット・レジスタ(例えば
制御レジスタ・ブロック320内のレジスタ316および318)
を用いてP1レジスタ262が現在バッファされるまたはバ
ッファされない情報を含むかどうかを把握する。例え
ば、レジスタ316は、P1レジスタ262が現在バッファされ
る情報を含むかどうか示すために使用することができ、
レジスタ318は、P1レジスタ262が現在バッファされない
情報を含むかどうか示すために使用することができる。
各々のレジスタ316および318の次の状態の内容は、入力
レジスタ260に格納される情報のタイプ・フィールドを
調べることによって決定することができ、従ってP1レジ
スタ262が、入力情報を受信し、同じクロック・サイク
ルの間に、レジスタ316および318が、P1レジスタ262に
入力される情報のタイプに対応する入力を受信する。
【0112】バッファされる書込(BW)FIFO228およびバ
ッファされない書込(UW)FIFO230が、より詳しく図10に
示される。図示されるように、1つの実施例で、バッフ
ァされる書込(BW)およびバッファされない書込(UW)FIFO
228および230の各々は、情報パケットの2つの部分のそ
れぞれを格納するための8エントリを含む。すなわち、
バッファされる書込(BW)およびバッファされない書込(U
W)FIFO228および230の各々は、(1)P1WDレジスタ264から
のフェーズ1の情報およびタイプ・データ(P1_WrInfoお
よびP1_WrType)、および(2)P1WDレジスタ266からのフェ
ーズ2の情報およびタイプ・データ(P2_WrInfoおよびP2
_WrType)、を格納する8エントリを含む。さらに、FIFO
228は、ロード制御回路227およびアンロード制御回路22
9も含み、バッファされない書込(UW)FIFO230は、ロード
制御回路231およびアンロード制御回路233も含む。
【0113】図11を参照すると、到来クロック信号In_C
LK、2で割る回路295(図6に図示)からの書込クロック
信号Wr_CLK、および(レジスタ264および266からFIFO228
または230に書き込まれた情報である)P1およびP2_WrInf
oの間の関係を示すタイミング図が与えられている。こ
れらの信号は、比較のため同じ時間スケール(水平軸)で
示される。ある信号が他のものより上にある物理的な配
置は、ある信号が他の信号より高い重要性を達成するこ
とを意味していない。図10に示されるように、ロード制
御回路227および231の各々は、クロック入力としてWr_C
LK信号を受信する。さらにロード制御回路227は、上で
説明した情報がバッファされるまたはバッファされない
タイプのどちらであるか識別するタイプ・ビットの検査
の結果であるバッファされる情報ロード信号(B_WrInfoL
d)も受信する。ロード制御回路227は、バッファされる
書込満杯信号(B_WrFull)を提供する。バッファされる書
込満杯信号は、バッファされる書込(BW)FIFO228が、満
杯である4エントリの中にあるとき、アサートにされ、
バッファされる書込み(BW)FIFO228が満杯にするのに使
用できる5以上のエントリを持つとき、非アサートにさ
れる。同様に、ロード制御回路231は、上で説明した情
報がバッファされるまたはバッファされないタイプある
かを識別するタイプ・ビットの検査の結果であるバッフ
ァされない情報ロード信号(U_WrInfoLd)を受信する。ロ
ード制御回路231は、バッファされない書込満杯信号(U_
WrFull)を提供し、それは、バッファされない書込み(U
W)FIFO230が、満杯の4エントリの中にあるときアサー
トにされ、バッファされない書込(UW)FIFO230が、満杯
にするのに使用できる5以上のエントリをもつとき、非
アサートにされる。
【0114】さらにアンロード制御回路229および233の
各々は、それぞれのコア・クロック信号およびアンロー
ド信号をコアから受信し(アンロード信号のうちの1つ
がアサートにされるとき、コアが、FIFOからコア・クロ
ック・レートで情報をアンロードすることを許し)、そ
れぞれの空の信号をコアに与える(そのFIFOが、コア
に、現在その中に格納された情報をもたないことを示
す)。こうして、コアは、バッファされる書込(BW)およ
びバッファされない書込(UW)FIFO228および230からのP1
およびP2の情報およびタイプ・データ(P1_Info、P1_Typ
e、P2_InfoおよびP2_Type)に、これらのFIFOがインタフ
ェース回路226から情報およびタイプ・データを受信す
るクロック・レートと非同期であるレートでアクセスす
ることができる。
【0115】図12および図13の各々は、非同期のバッフ
ァされる読込(BR)およびバッファされない読込(UR)FIFO
232および234をより詳細に示す。図12は、処理要素222
が迂回モードで構成されるとき、バッファされる読込(B
R)およびバッファされない読込(UR)FIFO232および234
が、どのように動作するかを示し、図13は、(図6に示
す構成のように)処理要素が迂回モードで構成されない
とき、バッファされる読込(BR)およびバッファされない
読込(UR)FIFO232および234が、どのように動作するかを
示す。まず図12を参照して、処理要素222が迂回モード
で構成されるとき、バッファされる読込(BR)およびバッ
ファされない読込(UR)FIFO232および234の選択される一
方が、コアから、情報パケットの両方の部分(すなわち
フェーズ1の情報(P1_Info)およびタイプ・データ(P1_T
ype)およびフェーズ2の情報(P2_Info)およびタイプ・
データ(P2_Type))をコア・クロックおよびロード信号と
共に受信し、FIFOのそれぞれのものが満杯であるときを
コアに示す「満杯」信号を、コアに与える。図示される
例で、バッファされる読込(BR)およびバッファされない
読込(UR)FIFO232および234の各々は、8エントリの深さ
であるが、それぞれの読込FIFOの必要な深さは、コアが
実行する操作によって決定される。
【0116】図12に示されるように、バッファされる読
込(BR)FIFO232は、インタフェース回路226に、バッファ
される情報パケットの両方の部分(すなわちフェーズ1
の出力情報(P1_OutInfo)およびタイプ・データ(P1_OutT
ype)およびフェーズ2の出力情報(P2_OutInfo)およびタ
イプ・データ(P2_OutType))を提供する。具体的に言え
ば、フェーズ1の出力情報P1_OutInfoおよびタイプ・デ
ータP1_OutTypeは、P1_OUTレジスタ272に提供され、フ
ェーズ2の出力情報P2_OutInfoおよびタイプ・データP2
_OutTypeは、P2_OUTレジスタ274に提供される。同様
に、バッファされない読込(UR)FIFO234は、バッファさ
れない情報パケットの両方の部分をインタフェース回路
226に提供する。すなわち、フェーズ1のバッファされ
ない出力情報(P1_U_OutInfo)およびタイプ・データ(P1_
U_OutType)は、バッファされない読込(UR)FIFO234からU
_P1_OUTレジスタ276に与えられ、フェーズ2のバッファ
されない出力情報(P2_U_OutInfo)およびタイプ・データ
(P2_U_OutType)は、バッファされない読込(UR)FIFO234
からU_P2_OUTレジスタ278に与えられる。
【0117】ここで図13を参照して、処理要素222が迂
回モードで構成されないとき、バッファされる読込(BR)
およびバッファされない読込(UR)FIFO232および234の選
択される一方は、以下で説明する情報に関連するマスク
・データと共にコアから情報を受信する。迂回モードで
ないとき、情報パケットの各々の部分に関連するタイプ
・データは、関係がなく無視される。その出力で、バッ
ファされる読込(BR)FIFO232は、バッファされる情報パ
ケットの2つの部分のいずれか(すなわちフェーズ1の
バッファされる出力情報(P1_OutInfo)またはフェーズ2
のバッファされる出力情報(P2_OutInfo))、およびコア
からのマスク・データ(OutMask)を、インタフェース回
路226に与える。具体的に言えば、フェーズ1のバッフ
ァされる出力情報P1_OutInfoまたはフェーズ2のバッフ
ァされる出力情報P2_OutInfoのいずれかが、P1_OUTレジ
スタ272およびP2_OUTレジスタ274の両方に与えられ、バ
ッファされるマスク・データ(OutMask)の32ビットが、
マスク・レジスタ284に与えられる。同様に、バッファ
されない読込(UR)FIFO234は、バッファされない情報パ
ケットのどちらかの部分と、コアからのバッファされな
いマスク・データ(OutMask)を、インタフェース回路226
に提供する。具体的に言えば、フェーズ1のバッファさ
れない出力データ(PI_U_OutInfo)またはフェーズ2のバ
ッファされない出力データ(P2_U_OutInfo)のいずれか
が、U_P1_OUTレジスタ276およびU_P2_OUTレジスタ278の
両方に提供され、バッファされないマスク・データ(Out
Mask)が、マスク・レジスタ284に提供される。1つの実
施例によれば、バッファされないマスク・データの1ビ
ットだけが使用される。
【0118】(バッファされる情報が読み込まれるとき)
マスク・レジスタ284へ転送されるバッファされるマス
ク・データ(OutMask)は、コアから出力されるバッファ
される情報の選択的マスキングまたは「ビット・スライ
シング」を実施するために使用される。このようにし
て、32ビット・マスクは、(1)コアから出力されるバッ
ファされる情報、および(2)パス通過経路261を介して流
れてくるバッファされる情報またはバックアップ情報パ
ス290から読み込まれるバッファされる情報のいずれ
か、のうち1つから、ビット毎基準で、バッファされる
情報を選択する。(バッファされない情報が読み込まれ
るとき)マスク・レジスタ284へ転送されるバッファされ
ないマスク・データ(OutMask)の1ビットを使用して、
今挙げられた2つのソースのうちの一方から、完全な32
ビット情報ワードを選択する。あるいは、バッファされ
ないマスク・データの32ビットを使用して、コアからの
バッファされない情報を、「ビット毎」に選択的にマス
クすることもできることに注意すべきである。
【0119】図14を参照すると、出発クロック信号Out_
CLKと、2で割る回路297(図6に示す)からの読込クロッ
ク信号RD_CLKと、読込FIFO232および234のうちの一方か
らのバッファされる出力情報との間の関係を示すタイミ
ング図が与えられている。バッファされる出力情報、す
なわちバッファされる読込(BR)FIFO232からのP1およびP
2_OutInfoが一例として示されているが、バッファされ
ない出力情報P1およびP2_U_OutInfoを同様に表すことが
できる。これらの信号は、比較のため同じ時間スケール
(水平軸)で示される。ある信号が他のものより上にある
物理的な配置は、ある信号が他の信号より高い重用性を
達成することを意味しない。
【0120】図12および図13で、バッファされる読込(B
R)FIFO232は、アンロード制御回路235およびロード制御
回路237を含み、バッファされない読込(UR)FIFO234は、
アンロード制御回路239およびロード制御回路241を含
む。ロード制御回路237または241の一方へのロード信号
がアサートにされるとき、情報およびマスク・データ
は、コア・クロックの移行時にそれらのFIFOの一方にロ
ードされ、アンロード制御回路235および239の一方への
バッファされるまたはバッファされないアンロード信号
(B_OutlnfoUnldまたはU_OutlnfoUnld)がアサートにされ
るとき、クロック信号RD_CLKの移行時にそれらのFIFOの
一方からアンロードされる。アンロード制御回路235お
よび239からの信号B_OutDatValおよびU_OutDatValはそ
れぞれ、バッファされるまたはバッファされない情報
が、読込レジスタ272、274、276および278のうち対応す
る1つにクロックされる準備ができていることを示す。
【0121】前述したように、バッファされない(すな
わち優先の)情報が、バッファされる(すなわち非優先
の)情報よりも優先度が高くなるように、FIFO228、23
0、232および234およびバックアップ情報パス290を制御
することによって、パイプライン内の非優先情報が、パ
イプラインからフラッシュされるまたは優先情報が送信
できる前に捨てられる必要なく、情報の2つの別個のタ
イプが、1つのバスに沿ってパイプラインを通して渡さ
れることができる。すなわち、優先情報パケットがイン
タフェースに入るときに、パイプライン内に存在する非
優先情報は、優先情報がインタフェースを通り抜け、非
優先情報を再び伝送することができるときまで、非優先
情報パスのいずれかの中の非情報記憶要素のいずれか
(すなわちバッファされる読込(BR)FIFO232、バッファさ
れる書込(BW)FIFO228またはバッファされるバックアッ
プ・パス292に)の中で動かないまま保持することができ
る。優先および非優先の情報の各々のための専用のパス
を提供するのではなく、2つのユニークで別々のパイプ
ライン化されるパスについて、インタフェース回路(例
えばインタフェース回路226)の到来および出発バスのそ
れぞれを共有することによって、資源の共有を含まない
パイプライン化されるバス解決法のみを提供する先行技
術システムにまさる、ハードウェアおよびASICピン総数
の重要な節減が、実現される。
【0122】この発明は、この中で、ビットの特定の数
を伝送することができるバスを使用し、特定の制御信号
を使用して回路全体への情報の伝達を制御するように記
述されているが、同様の機能を実施する任意の幅の任意
の制御信号のバスも、この発明に含まれる。さらに、こ
の中で、回路素子は、クロック信号の特定の端でクロッ
クされるように記述されているが、これらの素子は、こ
の発明の理念から逸脱することなく、同等にクロック信
号の反対の端でクロックすることができる。
【0123】加えて、情報記憶要素の特定のタイプが、
この発明の中で用いられると記述されているが、情報記
憶要素の任意の代替のタイプを、この発明の理念に従っ
て同等に使用することもできる。さらに回路は、ASICを
使用して実現されると記述されているが、それは、専用
のハードウェア、適切にプログラムされたファームウェ
アまたはソフトウェア、またはそれらの任意の組み合わ
せを使用して、同等に実現することができる。
【0124】さらに、システムは、グラフィックス処理
システムのいくつかのグラフィックス処理装置を相互接
続するように使用されると記述されているが、この発明
は、グラフィックス処理の適用に限定されず、処理要素
の任意のタイプを相互接続するために同等にそのバス・
システムを使用することができる。同様に、インタフェ
ース回路は、グラフィックス処理装置をバスにインタフ
ェースするように使用されると記述されているが、この
発明は、グラフィックス処理装置をインタフェースする
ことに限定されず、同等にそのインタフェース回路を使
用して、装置の任意のタイプをバスにインタフェースす
ることができる。
【0125】この発明のわずか1つの実施例を述べた
が、当業者であれば、さまざまな変更、修正および改良
が容易に考えられるであろう。そのような変更、修正お
よび改良は、この発明に従うものである。従って上の記
述は、単なる例示であって、限定するものではない。
【0126】本発明は例として次の実施態様を含む。 (1)複数のグラフィックス処理要素をもつグラフィッ
クス処理システム内で使用するためのバス相互接続シス
テムであって、上記複数のグラフィックス処理要素(20
2、222、242)をリング状に結合するバス構造を含み、上
記バス構造は、複数の個々のバス(250、252、254))を含
み、上記個々のバス(250、252、254)の各々は、上記グ
ラフィックス処理要素(202、222、242)の一対を接続
し、上記個々のバス(250、252、254)の各々は、上記リ
ング内のグラフィックス処理要素(202、222、242)間で
グラフィックス・コマンド信号および情報信号を転送す
るための、同様の複数の信号ライン(250A-250F)を含
む、バス相互接続システム。
【0127】(2)上記複数の信号ライン(250A-250F)
はさらに、上記情報信号を転送するための複数の情報信
号ライン(250F)と、上記情報信号ライン上の情報信号に
関連するクロック信号を、上記リング内の次の処理要素
に転送するクロック信号ライン(250A)と、を含む、上記
(1)記載のバス相互接続システム。
【0128】(3)さらに上記複数の信号ラインは、準
備信号ライン(250B、250C)を含み、それに沿って準備信
号は、リング内の第1のグラフィックス処理要素(226)
から前のグラフィックス処理要素(206)へ転送され、上
記準備信号は、上記第1のグラフィックス処理要素(22
6)の、上記リング内の上記前のグラフィックス処理要素
(206)から情報を受信する能力を示す、上記(1)記載のバ
ス相互接続システム。
【0129】(4)さらに上記複数の信号ライン(250A-
250F)は、上記情報信号ライン(250F)に沿った情報の有
効性を示す信号を含む、上記(2)記載のバス相互接続シ
ステム。
【0130】(5)さらに上記複数の信号ライン(250A-
250F)は、上記複数の情報信号ライン(250F)に沿った情
報に実施される操作のタイプを示すタイプ信号を転送す
るための、複数のタイプ信号ライン(250E)を含む、上記
(2)記載のバス相互接続システム。
【0131】(6)上記リング内の上記グラフィックス
処理要素の1つは、ホスト・プロセッサに結合され、上
記リング内の他のグラフィックス処理要素(222、242)へ
送られるコマンドおよび情報信号をホスト・プロセッサ
から受信するホスト・インタフェース処理要素(202)で
ある、上記(1)記載のバス相互接続システム。
【0132】(7)さらに上記グラフィックス処理要素
の各々(222)は、コア処理ユニット(224)と、インタフェ
ース・ユニット(226)と、を含み、上記インタフェース
・ユニットは、コマンドおよび情報信号が上記インタフ
ェース・ユニットを通して上記リング内の他のグラフィ
ックス処理要素に直接転送されることを可能にするパス
通過経路(261)と、上記送られるコマンドおよび情報信
号を一時的に格納するためのバックアップ・パス(290)
とを含む、上記(6)記載のバス相互接続システム。
【0133】(8)さらに上記インタフェース・ユニッ
トは、パス通過経路(261)に結合される、上記対応する
コア処理ユニット(224)に転送するために上記コマンド
および情報信号を一時的に格納する複数のバッファ(22
8、230)を含む、上記(7)記載のバス相互接続システム。
【0134】(9)上記ホスト・インタフェース処理要
素(202)によって受信される全てのコマンドおよび情報
信号は、上記ホスト・インタフェース処理要素(202)か
ら上記リング内の他のグラフィックス処理要素に転送さ
れる前に、上記ホスト処理要素(202)の上記コア処理ユ
ニット(204)に転送される、上記(7)記載のバス相互接続
システム。
【0135】(10)上記処理要素(222)の各々は、動
作の通常モードおよび動作の迂回モードをもち、通常モ
ードで動作する間、コマンドおよび情報信号は、インタ
フェース(226)のパス通過経路(261)を通して送られ、迂
回モードの間、コマンドおよび情報信号は、インタフェ
ース(226)の外に転送される前にコア処理ユニット(224)
へ送られる、上記(7)記載のバス相互接続システム。
【0136】
【発明の効果】本発明に従うバス構造を、パイプライン
化されるコンピュータ・グラフィックス・システムで使
用することにより、高い通信帯域幅を実現することがで
きる。
【図面の簡単な説明】
【図1】この発明のバス・アーキテクチャを用いる、パ
イプライン化されるコンピュータ・グラフィックス・シ
ステムのブロック図。
【図2】この発明のバス・アーキテクチャを用いる、パ
イプライン化されるコンピュータ・グラフィックス・シ
ステムのブロック図。
【図3】この発明のバス・アーキテクチャを用いる、パ
イプライン化されるコンピュータ・グラフィックス・シ
ステムのブロック図。
【図4】この発明のバス・アーキテクチャの一般的な実
施例を示すブロック図。
【図5】この発明の中で使用されるシステム・クロック
の操作のフェーズを示すタイミング図。
【図6】図4に示されるインタフェース回路のうちの1
つのより詳細なブロック図。
【図7】アドレスおよびデータ情報が、図6に示される
インタフェース回路内で用いられる多様なレジスタにど
のようにクロックされるかを示すタイミング図。
【図8】インタフェース回路が、そのBuffered_Ready信
号を上流の処理要素にデアサートにしてから、上流の処
理要素がインタフェース回路にデータを送信するのを中
止するまでの間の遅延を示すタイミング図。
【図9】インタフェース回路が、そのBuffered_Ready信
号を上流の処理要素に再びアサートにしてから、上流の
処理要素がインタフェース回路に有効なデータを送信し
始めるまでの間の遅延を示すタイミング図。
【図10】図6に示されるバッファされるおよびバッフ
ァされない書込FIFOのより詳細なブロック図。
【図11】図10に示されるバッファされるおよびバッフ
ァされない書込FIFOを制御するために使用される多様な
信号の間の関係を示すタイミング図。
【図12】図6に示されるバッファされるおよびバッフ
ァされない書込FIFOのより詳細なブロック図であり、処
理要素が迂回モードで構成されるとき、これらのFIFOが
どのように動作するかを示す図。
【図13】図6に示されるバッファされるおよびバッフ
ァされない書込FIFOのより詳細なブロック図であり、処
理要素が迂回モードで構成されないとき、これらのFIFO
がどのように動作するかを示す図。
【図14】図12および図13に示されるバッファされるお
よびバッファされない書込FIFOを制御するために使用さ
れる多様な信号の関係を示すタイミング図。
【符号の説明】
202、222、242 グラフィックス処理要素 204、224、244 コア処理ユニット 206、226、246 インタフェース回路 208、228、248 バッファされる書込FIFO 210、230、250 バッファされない書込FIFO 212、232、252 バッファされる読込FIFO 214、234、254 バッファされない読込FIFO 250、252、254 バス 250A-250F 信号ライン 261 パス通過経路 290 バックアップ情報パス
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ロナルド・ディー・ラーソン アメリカ合衆国80525コロラド州フォー ト・コリンズ、アロット・アヴェニュー 8050

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】複数のグラフィックス処理要素をもつグラ
    フィックス処理システム内で使用するバス相互接続シス
    テムであって、 上記複数のグラフィックス処理要素をリング状に結合す
    るバス構造を含み、上記バス構造は、各々が上記グラフ
    ィックス処理要素の一対を接続する複数の個々のバスを
    含み、上記個々のバスはそれぞれ、上記リング内のグラ
    フィックス処理要素間でグラフィックス・コマンド信号
    および情報信号を転送する同様の複数の信号ラインを含
    む、バス相互接続システム。
JP11176598A 1997-05-01 1998-04-22 バス相互接続システム Expired - Fee Related JP3880724B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/847,271 US5911056A (en) 1997-05-01 1997-05-01 High speed interconnect bus
US847,271 1997-05-01

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2003417558A Division JP4195655B2 (ja) 1997-05-01 2003-12-16 バス相互接続システム

Publications (2)

Publication Number Publication Date
JPH1131122A true JPH1131122A (ja) 1999-02-02
JP3880724B2 JP3880724B2 (ja) 2007-02-14

Family

ID=25300231

Family Applications (2)

Application Number Title Priority Date Filing Date
JP11176598A Expired - Fee Related JP3880724B2 (ja) 1997-05-01 1998-04-22 バス相互接続システム
JP2003417558A Expired - Fee Related JP4195655B2 (ja) 1997-05-01 2003-12-16 バス相互接続システム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2003417558A Expired - Fee Related JP4195655B2 (ja) 1997-05-01 2003-12-16 バス相互接続システム

Country Status (3)

Country Link
US (1) US5911056A (ja)
JP (2) JP3880724B2 (ja)
GB (1) GB2324943B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001109904A (ja) * 1999-10-01 2001-04-20 Mitsubishi Electric Inf Technol Center America Inc ボリューム・レンダリング・システムにおけるボリューム・データ・セットのレンダリング方法
JP2007535042A (ja) * 2004-04-23 2007-11-29 エヌヴィディア コーポレイション ブリッジコントローラを用いないポイントツーポイントバスブリッジング
KR101018573B1 (ko) 2006-06-15 2011-03-03 엔비디아 코포레이션 2개 이상의 그래픽 처리 장치를 갖는 비용 효율적인 고성능그래픽 시스템을 위한 그래픽 처리 장치

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6786420B1 (en) 1997-07-15 2004-09-07 Silverbrook Research Pty. Ltd. Data distribution mechanism in the form of ink dots on cards
US6618117B2 (en) 1997-07-12 2003-09-09 Silverbrook Research Pty Ltd Image sensing apparatus including a microcontroller
US6985207B2 (en) 1997-07-15 2006-01-10 Silverbrook Research Pty Ltd Photographic prints having magnetically recordable media
US6624848B1 (en) 1997-07-15 2003-09-23 Silverbrook Research Pty Ltd Cascading image modification using multiple digital cameras incorporating image processing
US6879341B1 (en) 1997-07-15 2005-04-12 Silverbrook Research Pty Ltd Digital camera system containing a VLIW vector processor
US6690419B1 (en) 1997-07-15 2004-02-10 Silverbrook Research Pty Ltd Utilising eye detection methods for image processing in a digital image camera
AUPO802797A0 (en) 1997-07-15 1997-08-07 Silverbrook Research Pty Ltd Image processing method and apparatus (ART54)
AUPO850597A0 (en) 1997-08-11 1997-09-04 Silverbrook Research Pty Ltd Image processing method and apparatus (art01a)
US7551201B2 (en) 1997-07-15 2009-06-23 Silverbrook Research Pty Ltd Image capture and processing device for a print on demand digital camera system
US7110024B1 (en) 1997-07-15 2006-09-19 Silverbrook Research Pty Ltd Digital camera system having motion deblurring means
DE19749931C2 (de) * 1997-11-11 2000-03-23 Siemens Ag Verfahren und Anordnung zur Steuerung einer Datenübertragung
AUPP702098A0 (en) 1998-11-09 1998-12-03 Silverbrook Research Pty Ltd Image creation method and apparatus (ART73)
US6545683B1 (en) * 1999-04-19 2003-04-08 Microsoft Corporation Apparatus and method for increasing the bandwidth to a graphics subsystem
AUPQ056099A0 (en) 1999-05-25 1999-06-17 Silverbrook Research Pty Ltd A method and apparatus (pprint01)
DE19935192A1 (de) * 1999-07-27 2001-02-22 Moeller Gmbh Adressierung von Teilnehmern eines Bussystems
JP3586603B2 (ja) * 1999-11-25 2004-11-10 Necエレクトロニクス株式会社 データ転送装置及びデータ転送方法
US6687780B1 (en) * 2000-11-02 2004-02-03 Rambus Inc. Expandable slave device system
US6961861B2 (en) * 2002-02-27 2005-11-01 Sun Microsystems, Inc. Globally clocked interfaces having reduced data path length
EP1495412B1 (en) * 2002-03-22 2012-11-28 Alandro Consulting NY LLC Scalable high performance 3d graphics
JP4280029B2 (ja) * 2002-05-30 2009-06-17 パナソニック株式会社 ディジタル信号処理装置およびディジタル信号処理方法
US7188277B2 (en) * 2003-03-28 2007-03-06 Hewlett-Packard Development Company, L.P. Integrated circuit
US7146538B2 (en) * 2003-03-28 2006-12-05 Hewlett-Packard Development Company, L.P. Bus interface module
US20040257372A1 (en) * 2003-06-19 2004-12-23 Lippincott Louis A. Communication ports in a data driven architecture
US8812749B2 (en) 2003-12-31 2014-08-19 Intel Corporation Programmable video processing and video storage architecture
CN100504826C (zh) * 2004-06-30 2009-06-24 诺基亚公司 改进的接口
US7555630B2 (en) 2004-12-21 2009-06-30 Intel Corporation Method and apparatus to provide efficient communication between multi-threaded processing elements in a processor unit
US7617343B2 (en) * 2005-03-02 2009-11-10 Qualcomm Incorporated Scalable bus structure
JP4327175B2 (ja) 2005-07-12 2009-09-09 株式会社ソニー・コンピュータエンタテインメント マルチグラフィックプロセッサシステム、グラフィックプロセッサおよび描画処理方法
JP5460156B2 (ja) * 2009-07-14 2014-04-02 キヤノン株式会社 データ処理装置
JP5414506B2 (ja) * 2009-12-18 2014-02-12 キヤノン株式会社 データ処理装置、データ処理方法、及びプログラム
JP5539101B2 (ja) 2010-08-18 2014-07-02 キヤノン株式会社 情報処理装置、情報処理方法、およびプログラム
WO2016051435A1 (en) * 2014-10-01 2016-04-07 Renesas Electronics Corporation Data transfer apparatus and microcomputer
US20160117179A1 (en) * 2014-10-24 2016-04-28 Advanced Micro Devices, Inc. Command replacement for communication at a processor

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4536873A (en) * 1984-03-19 1985-08-20 Honeywell Inc. Data transmission system
US4760571A (en) * 1984-07-25 1988-07-26 Siegfried Schwarz Ring network for communication between one chip processors
EP0172038B1 (en) * 1984-08-16 1991-10-23 Sharp Kabushiki Kaisha Information processor
US5262965A (en) * 1988-10-31 1993-11-16 Bts-Broadcast Television Systems, Inc. System and method for high speed computer graphics image computation using a parallel connected, asynchronous multiprocessor ring coupled to a synchronous special purpose video processing ring
US5369744A (en) * 1989-10-16 1994-11-29 Hitachi, Ltd. Address-translatable graphic processor, data processor and drawing method with employment of the same
JPH03182140A (ja) * 1989-12-11 1991-08-08 Mitsubishi Electric Corp 共通バッファ形交換装置
FR2680026B1 (fr) * 1991-07-30 1996-12-20 Commissariat Energie Atomique Architecture de systeme en tableau de processeurs a structure parallele.
US5243596A (en) * 1992-03-18 1993-09-07 Fischer & Porter Company Network architecture suitable for multicasting and resource locking
US5278828A (en) * 1992-06-04 1994-01-11 Bell Communications Research, Inc. Method and system for managing queued cells
FI91695C (fi) * 1992-10-05 1994-07-25 Nokia Telecommunications Oy Menetelmä liikenteen priorisoimiseksi runkoverkon kautta yhteen liitettyjen lähiverkkojen välillä
US5457687A (en) * 1993-09-02 1995-10-10 Network Equipment Technologies, Inc. Method and apparatus for backward explicit congestion notification (BECN) in an ATM network
FR2710993B1 (fr) * 1993-10-04 1995-11-24 Commissariat Energie Atomique Procédé et système d'interconnexion pour la gestion de messages dans un réseau de processeurs à structure parallèle.
JPH07143170A (ja) * 1993-11-19 1995-06-02 Fujitsu Ltd 情報配送システム
JP2655481B2 (ja) * 1994-04-28 1997-09-17 日本電気株式会社 出力バッファ型atmスイッチにおける優先制御方法
US5434848A (en) * 1994-07-28 1995-07-18 International Business Machines Corporation Traffic management in packet communications networks
EP0705006B1 (en) * 1994-09-28 1999-09-01 Siemens Aktiengesellschaft ATM communication system for statistical multiplexing of cells
EP0717532A1 (en) * 1994-12-13 1996-06-19 International Business Machines Corporation Dynamic fair queuing to support best effort traffic in an ATM network
US5760792A (en) * 1995-05-01 1998-06-02 Intergraph Corporation Fifo logical addresses for control and error recovery
US5745684A (en) * 1995-11-06 1998-04-28 Sun Microsystems, Inc. Apparatus and method for providing a generic interface between a host system and an asynchronous transfer mode core functional block
US5687324A (en) * 1995-11-08 1997-11-11 Advanced Micro Devices, Inc. Method of and system for pre-fetching input cells in ATM switch

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001109904A (ja) * 1999-10-01 2001-04-20 Mitsubishi Electric Inf Technol Center America Inc ボリューム・レンダリング・システムにおけるボリューム・データ・セットのレンダリング方法
JP2007535042A (ja) * 2004-04-23 2007-11-29 エヌヴィディア コーポレイション ブリッジコントローラを用いないポイントツーポイントバスブリッジング
JP4841545B2 (ja) * 2004-04-23 2011-12-21 エヌヴィディア コーポレイション ブリッジコントローラを用いないポイントツーポイントバスブリッジング
KR101018573B1 (ko) 2006-06-15 2011-03-03 엔비디아 코포레이션 2개 이상의 그래픽 처리 장치를 갖는 비용 효율적인 고성능그래픽 시스템을 위한 그래픽 처리 장치

Also Published As

Publication number Publication date
GB9808055D0 (en) 1998-06-17
GB2324943B (en) 2002-03-20
JP2004164660A (ja) 2004-06-10
GB2324943A (en) 1998-11-04
US5911056A (en) 1999-06-08
JP3880724B2 (ja) 2007-02-14
JP4195655B2 (ja) 2008-12-10

Similar Documents

Publication Publication Date Title
US5911056A (en) High speed interconnect bus
US5909562A (en) Backup FIFO in-line storage
US5821949A (en) Three-dimensional graphics accelerator with direct data channels for improved performance
US5874969A (en) Three-dimensional graphics accelerator which implements multiple logical buses using common data lines for improved bus communication
US5961640A (en) Virtual contiguous FIFO having the provision of packet-driven automatic endian conversion
US5649230A (en) System for transferring data using value in hardware FIFO&#39;S unused data start pointer to update virtual FIFO&#39;S start address pointer for fast context switching
US4967375A (en) Fast architecture for graphics processor
US7447873B1 (en) Multithreaded SIMD parallel processor with loading of groups of threads
US5764966A (en) Method and apparatus for reducing cumulative time delay in synchronizing transfer of buffered data between two mutually asynchronous buses
US7594095B1 (en) Multithreaded SIMD parallel processor with launching of groups of threads
US5740409A (en) Command processor for a three-dimensional graphics accelerator which includes geometry decompression capabilities
US6169554B1 (en) Clip testing unit for a three-dimensional graphics accelerator
US7536669B1 (en) Generic DMA IP core interface for FPGA platform design
US5970236A (en) Circuit for selectively performing data format conversion
US20020194418A1 (en) System for multisized bus coupling in a packet-switched computer system
US6816955B1 (en) Logic for providing arbitration for synchronous dual-port memory
US6321233B1 (en) Apparatus for controlling pipelined memory access requests
US6718411B2 (en) Asic system architecture including data aggregation technique
US7016349B1 (en) Logic for generating multicast/unicast address (es)
US6141023A (en) Efficient display flip
US5907691A (en) Dual pipelined interconnect
US5966142A (en) Optimized FIFO memory
US6631455B1 (en) Logic for initializing the depth of the queue pointer memory
KR100476895B1 (ko) 가변 가능한 데이터 전송 모드를 갖는 인터페이스 장치 및그것의 동작 방법
JP2001134752A (ja) グラフィックプロセッサおよびグラフィックプロセッサにおけるデータ処理方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040601

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040823

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040827

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041115

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20051011

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060117

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060120

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20061010

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061108

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees