JPH08315566A - Fifo待ち行列システム - Google Patents
Fifo待ち行列システムInfo
- Publication number
- JPH08315566A JPH08315566A JP8084894A JP8489496A JPH08315566A JP H08315566 A JPH08315566 A JP H08315566A JP 8084894 A JP8084894 A JP 8084894A JP 8489496 A JP8489496 A JP 8489496A JP H08315566 A JPH08315566 A JP H08315566A
- Authority
- JP
- Japan
- Prior art keywords
- queue
- data
- state machine
- fifo
- fifo queue
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
理能力を向上させる。 【解決手段】第1の装置が、データ・ブロック単位また
はデータ・ブロックを構成するデータ項目単位いずれか
の増分値でFIFO待ち行列にデータを書き込む。FI
FOの空き空間があるか否かFIFO待ち行列状態がデ
ータ・ブロック書き込みに先がけて検証される。各書き
込み動作に先行して行われるFIFO待ち行列状態を調
べるポーリングは必要とされない。第2の装置がデータ
・ブロック単位またはデータ項目単位いずれかの増分値
でFIFO待ち行列からデータを読み取る。第2の装置
が第1の装置に追いつくことなくFIFO待ち行列から
読み取ることができように第1の装置はFIFOへの書
き込みを開始した後第2の装置へ読み取り開始可能信号
を送る。これによって、読み取りデータがあるか否かを
判断するためのFIFO待ち行列状態のポーリングの必
要性が排除される。
Description
に関するもので、特に、論理機構とポーリングの必要性
を最小にすることによる先入れ先出し(FIFO)待ち行
列の処理性能改善に関するものである。
要性を最小にとどめる効率的で高性能な待ち行列システ
ムを実現することは、3次元画像装置において使用され
る高性能低コストのグラフィックス・アクセラレータ回
路の分野における課題である。限られた回路空間環境に
おいて最大処理性能および効率を実現するように製品を
設計しなければならないため、他の電子装置と同様に、
グラフィックス・アクセラレータ回路においても、より
小さくより効率的な待ち行列システムを実現することが
必要とされる。
FO待ち行列に書き込みを行う一般的に装置"A"と呼ば
れる少くとも1つの電子装置(またはコンポーネントま
たはプロセス)、および、同じFIFO待ち行列から読
み取りを行う一般的に装置"B"と呼ばれる別の少なくと
も1つの電子装置(またはコンポーネントまたはプロセ
ス)を備える。装置AにとってFIFO待ち行列へ書込
みを行うことのできる空間があるか否かを知ることは有
益であり、装置BにとってFIFO待ち行列から読み取
ることのできるデータがあるか否かを知ることは有益で
ある。伝統的FIFO待ち行列システムは、各書込み動
作に先行して空間が使用可能であるか否かを判断するよ
うにFIFO待ち行列コンローラに要求することによっ
て、上記のような空間およびデータの使用可能性の問題
を解決している。FIFO待ち行列コントローラが、"f
ull(十分な空間なし)"という標識で応答する場合、装置
Aは待機し、FIFO待ち行列へ書込みを行う空間がで
きるまでFIFO待ち行列コントローラへのポーリング
を繰り返す。その間、装置Aは、現行の処理がFIFO
待ち行列への書込みを終わるまで、別の処理を実行する
ことはできない。
てデータが読み取ることのできる状態にあるか否か判断
するため、FIFO待ち行列コンローラをポーリングす
る必要がある。FIFO待ち行列コントローラが、"emp
ty(データなし)"という標識で応答するならば、装置B
は待機し、FIFO待ち行列から読み取るデータができ
るまでFIFO待ち行列コントローラへのポーリングを
繰り返す。その間、装置Bは、FIFO待ち行列から新
しいデータを読み取るまで、別の処理を実行することが
できない。
間に制約があり、処理時間を浪費する状態ポーリングを
許容できない高性能電子装置において実施されるFIF
O待ち行列の使用にとって、上述のような伝統的FIF
O待ち行列システムを実施するために必要とされる一見
単純な論理機構でも規模は過大であり、各書込み/読取
り動作に先行する状態ポーリングの反復はコストがかか
りすぎる。
ち行列システムは、3次元画像装置において使用される
グラフィックス・アクセラレータ回路のような高性能電
子装置の実装回路空間および処理性能に対する要求を満
たすことができない。かくして、効率的で高性能なFI
FO待ち行列システムが必要とされる。
る本発明の性能向上によって、上述された問題は解決さ
れ、当分野において技術的進歩が達成される。本発明の
性能向上待ち行列システムは、第1の状態マシン""Aお
よび第2の状態マシン"B"を含む複数の電子装置を有す
るグラフィックス・アクセラレータ回路によって実現さ
れる。上記状態マシン"A"および"B"のはともに、FI
FO待ち行列コントローラによって制御されるFIFO
待ち行列に電気的に接続し、相互に非同期的に動作す
る。状態マシンAは、部分的にデータを処理してFIF
O待ち行列へ結果を出力する。状態マシンBは、FIF
O待ち行列からデータを読み取り、そのデータを処理し
て、他の下流ハードウェアにその結果を出力する。
O待ち行列に対する書込み/読み取りに先立って必要と
されるFIFO待ち行状態ポーリングの回数を減少する
ことによって実現される。FIFO待ち行列コントロー
ラは、待ち行列状態要求に対して単に"full"標識を返す
のではなく、FIFO待ち行列の利用可能空間の数量に
関する情報を回答する。FIFO待ち行列の利用可能空
間において記憶できるデータの量を状態マシンAは判断
することができるので、状態マシンAは、FIFO待ち
行列状態について一度ポーリングを行えば、その後は、
各書き込み動作に先行するポーリング割込みを反復して
行わずとも、複数の計算によって、使用可能FIFO待
ち行列空間に書き込まれる複数の出力を生成することが
できる。FIFO待ち行列へ書き込むべき出力を生成す
ることに先行して、使用可能FIFO待ち行列空間が存
在することがわかるので、上記の結果は効率的な待ち行
列システムである。本明細書において、複数の出力を
「データ・ブロック(data chunk;データ・チャンク:
データかたまり)」と呼び、複数の出力のそれぞれ1つ
を「データ項目」と呼ぶこととする。データ・ブロック
は、FIFO待ち行列における使用可能データ・ブロッ
ク空間へ、データ項目単位の増分値で書き込むことがで
きるであろうし、あるいは、書き込み動作効率を更に向
上させるため、1回の書き込み動作で1つのデータ・ブ
ロック全体をFIFO待ち行列に書き込むこともできる
であろう。本発明の好ましい実施形態では、データ・ブ
ロック範囲内のデータがデータ項目増分値で書き込まれ
る。
は、読み取り動作に先行して待ち行列状態要求に対し
て"empty"標識を返すのではなく、FIFO待ち行列に
おけるデータの存在に関する情報を返す。データの存在
が、FIFO待ち行列において少くとも1つのデータ・
ブロックが読み取り可能な状態にあることを標示するこ
ともできるし、あるいは、FIFO待ち行列において少
くとも1つのデータ・ブロック中の少なくとも1つのデ
ータ項目が読み取り可能な状態にあることを標示しても
よい。状態マシンBは、データ・ブロックが使用可能か
否かFIFO待ち行列状態についてポーリングを1回だ
け行なえばよく、その後は、データ項目単位増分で全デ
ータ・ブロックのデータを読み取るか、あるいは、読み
取り動作効率の向上のためデータ・ブロック単位増分で
データを読み取ることもできる。各読取り動作に先行す
るポーリング割込みの反復は発生しない。
IFO待ち行列にデータを書き込むことができる速度と
同じ速度または遅い速度で状態マシンBがデータを読む
ことが既知であるという前提に立てば、FIFO待ち行
列からのデータ読み取りに先立ち、状態マシンBはFI
FO待ち行列状態に関して1回ポーリングを行うだけで
よく、その後はいかなる理由でもFIFO待ち行列状態
のポーリングを要求する必要はない。この代替形態で
は、状態マシンAの状態に永久に追いつくことなしに状
態マシンBがFIFO待ち行列からの読み取りを継続す
ることができるように、状態マシンAはFIFO待ち行
列に対する先頭開始(head start)書き込みデータを確保
する。
1の改善を含む上に、更に、状態マシンAが信号線を経
由して状態マシンBに信号を送る時まで状態マシンBの
開始を遅延するように制御する機能を付加する。状態マ
シンAは、上記第1の待ち行列システム改善形態におけ
る場合と同様に、FIFO待ち行列にデータを書き込
む。一旦所定量のデータがFIFO待ち行列に書き込ま
れると、状態マシンAは、状態マシンBに対してFIF
O待ち行列からの読み取りを開始するように信号を送
る。状態マシンAがFIFO待ち行列に書き込むことが
できる速度と同じまたはそれより遅い速度で状態マシン
BがFIFO待ち行列からデータを読み取るので、状態
マシンBは、読み取るデータを常に持ち、状態マシンA
に決して追いつくことはない。このような構成によっ
て、より小規模な回路の実施が可能となるとともに、読
み取りに先行するポーリングが必要とされなくなる。
アクセラレータ・ハードウェアのアーキテクチャ100
を示す。図1に示されるアーキテクチャは、図解のため
の例に過ぎず、本発明をいかなる特別のハードウェア・
アーキテクチャまたは実施形態に制限するものではな
い。伝統的グラフィックス・アクセラレータは、ソフト
ウェアおよび一般的マイクロコード化されたプロセッサ
として実施される浮動小数点指向アーキテクチャではあ
るが、アーキテクチャ100と伝統的グラフィックス・
アクセラレータのアーキテクチャの間の基本的相違は、
アーキテクチャ100がハードワイヤード制御機構、動
的論理浮動小数点メガ・セルおよび高度にカスタマイズ
された固定データ経路を含むという点にある。特に、ア
ーキテクチャ100は、幾何学マトリックス変換、多角
形分解、オブジェクト明照/陰影、遠近法調整、切り取
り、および、ランダムな方向に向いている多角形ならび
にベクトルに関する平面/傾斜方程式計算を実行するよ
うに設計されている。このアーキテクチャ100におい
て処理される典型的な多角形は、3辺または4辺多角形
である。
される特性を持つ最も共通のプリミティブだけを迅速に
かつ効率的に処理し下流のハードウェアによる後続処理
を容易にすることによって、一層大規模な全般的3次元
処理方式を支援するように設計されている。アーキテク
チャ100の形態は、回路空間を最小にし過剰処理時間
を少なくすることが求められる環境において実施される
ので、使用可能回路空間の使用度を最大にし、高性能規
格を維持する努力を払うことによって、処理効率全体を
向上し、より小規模回路の設計を実施する必要がある。
によって制御される第1のマイクロプロセッサ110お
よび制御装置145によって制御される第2のマイクロ
プロセッサ125を有する複式プロセッサ・ベクトル処
理設計である。以下の記述において、上記第1のマイク
ロプロセッサを状態マシンA、上記第2のマイクロプロ
セッサを状態マシンBとそれぞれ呼称する。動作的に
は、状態マシンAは、伝統的FIFO待ち行列102を
経由して入力される頂点プリミティブを前処理する。二
重ランダム・アクセス・メモリ(RAM)バッファ105
および107が、マイクロプロセッサ110がプリミテ
ィブを取り出すステージング領域を提供する。マイクロ
プロセッサ110は、FIFO/RAMメモリ112お
よび115を経由してマイクロプロセッサ125へ結果
を渡す前に、入力プリミティブに対して、幾何学変換、
部分的傾斜計算、その他の予備計算などを含む初期的浮
動小数点演算を実行する。マイクロプロセッサ110
は、メモリ、マスター・マルチプレクサ、レジスタ、そ
の他の浮動小数点コンポーネント等を含む複数のプロセ
ッサ・エレメント111を含む。制御装置135は、ア
ドレス復号、変換、分解および位置援助のような処理命
令をプロセッサ・エレメント111に対して与える。
115が、メモリ・コントローラ113および116に
よってそれぞれ制御される。メモリ・コントローラ11
3および116は、複合型FIFO/RAMメモリ方式
および本発明の処理向上待ち行列システムの2つを実現
する。処理されるプリミティブのタイプおよび実行され
る計算に依存して、メモリ112および115は、FI
FO待ち行列としてあるいはRAMメモリとして適時使
用される。FIFO待ち行列として使用される時、メモ
リ112または115は、本発明の改良待ち行列システ
ムを使用して状態マシンAから状態マシンBへのデータ
引き渡しを実施する。
は、切り取りRAMステージング装置118から出力さ
れるら明照位置、輝度、カラーおよび方向と統合され
る。統合されたデータは、マイクロプロセッサ125に
よる処理のため入力ラッチ待ち行列121に送られる。
マイクロプロセッサ125は、メモリ、マスター・マル
チプレクサ、レジスタ、その他の浮動小数点コンポーネ
ント等を含む複数のプロセッサ・エレメント124を含
む。制御装置145は、アドレス復号、変換、分解およ
び位置援助のような処理命令をプロセッサ・エレメント
124に対して与える。マイクロプロセッサ125によ
る処理が完了したものは伝統的FIFO待ち行列127
へ出力され、本発明の開示の範囲外の下流ハードウエア
による後続の処理に備えられる。
列システム実施形態の間の相違を考察する場合共通の処
理シナリオを使用する。この処理シナリオは、4個の頂
点各々について使用可能とされる8つの光度を持つ3次
元四辺形プリミティブを状態マシンAおよびBが完全に
処理するために必要とされるFIFO待ち行列コントロ
ーラ・ポーリングおよび読取り/書込みメモリ・アクセ
スの数量に焦点をあてる。処理を完了するために必要と
される特定の計算は、本例の目的範囲を越えている。し
かし、3次元プリミティブにおける基本x、y、z座標
に関する計算は、例示の目的としての処理が発生する相
対的位置として識別される。四辺形の例は、例示の目的
だけのものであって、本発明に対する制限を意図するも
のではない。
統的FIFO待ち行列システム200を示す。FIFO
待ち行列112は、制御装置135によって制御される
マイクロプロセッサ110を含む第1の状態マシン"
A"、および制御装置145によって制御されるマイク
ロプロセッサ125を含む第2の状態マシン"B"にサー
ビスを提供する。状態マシンAおよびBは、必要に応じ
てハンドシェーキング(握手)制御210によって相互の
間の活動を連絡し調整する。入力待ち行列102が、処
理のため状態マシンAにプリミティブ・データを与え
る。出力待ち行列127は、状態マシンBによって処理
されたプリミティブを、必要な場合下流のハードウェア
へ送付するため待ち行列に入れる。
データ経路230によってFIFO待ち行列112に接
続される。状態制御線220は、状態マシンAがFIF
O待ち行列状態をポーリングする時そのような情報を状
態マシンAに通知するために使用される。FIFO待ち
行列状態は、FIFO待ち行列112が"full(いっぱ
い)"である時点を標示する。データ経路230は、処理
されたデータをFIFO待ち行列112に出力するため
状態マシンAによって使用される。
データ経路250によってFIFO待ち行列112に接
続される。状態制御線240は、状態マシンBがFIF
O待ち行列112の状態を調べるためFIFO待ち行列
コントローラ113をポーリングする時そのような情報
を状態マシンBに通知するためFIFO待ち行列コント
ローラ113によって使用される。FIFO待ち行列1
12に使用可能データがない場合、FIFO待ち行列コ
ントローラ113は、FIFO待ち行列"empty(空)"状
態を戻す。データ経路250は、状態マシンBが処理を
遂行できる状態にある時FIFO待ち行列112からデ
ータを読み取るため状態マシンBによって使用される。
基づく状態マシンAとFIFO待ち行列112の間の伝
統的動作の相互交信プロセスを示す。伝統的待ち行列シ
ステム200を使用する四辺形プリミティブを完全に処
理するため状態マシンAによって必要とされるFIFO
待ち行列112状態のポーリングおよび書込みアクセス
の回数は、4*(8*4)=128回の動作である。すな
わち、8つの光度を持つ4つの頂点の各々について4回
の計算が存在する。
動作は、図3のステップ302におけるシステム初期化
に続いて、状態マシンAを始動する(ステップ30
3)。状態マシンAは、初期化され動作可能状態になる
と、処理すべきプリミティブがあるか否かを判断する
(ステップ304)。処理すべきプリミティブがない場
合、状態マシンAは、ステップ304を繰り返して待機
する。プリミティブが使用可能になり次第、プリミティ
ブが入力待ち行列102から読み取られ(ステップ30
6)、状態マシンAは、プリミティブの処理を開始す
る。
Aは、FIFO待ち行列112の空間が使用可能である
か否かを判断するためFIFO待ち行列コントローラ1
13をポーリングする(ステップ307)。空間が使用
可能でない場合、FIFO待ち行列112の空間が使用
可能となるまで、状態マシンAは、このプリミティブに
関しこれ以上の処理を行わず、ステップ307で待機す
る。FIFO待ち行列112の空間が使用可能である
時、状態マシンAは、ステップ310でx座標計算を実
行し、ステップ312でFIFO待ち行列112に結果
を書き込む。
112の空間が使用可能であるか否かを判断するためF
IFO待ち行列コントローラ113をポーリングする
(ステップ315)。FIFO待ち行列112の空間が
使用可能となるまで、状態マシンAは、このプリミティ
ブに関しこれ以上の処理を行わず、ステップ315で待
機する。FIFO待ち行列112の空間が使用可能であ
る時、状態マシンAは、ステップ320でy座標計算を
実行し、ステップ320でFIFO待ち行列112に結
果を書き込む。z座標計算に関するポーリング、計算お
よび書込みが継続し(ステップ324、327および3
29)、x,y、z座標の平方の和に関するポーリン
グ、計算および書込みが実行される(ステップ333、
335および337)。
は、4つの頂点の各々について使用可能にされる8段階
の光度を持つので、ステップ340の判断は、307な
いし337の処理ステップを通して8つの光度に関する
処理サイクルを制御し、ステップ341の判断は、30
7ないし340の処理ステップを通して4つの頂点関す
る処理サイクルを制御する。各頂点についてすべての光
度が処理されると、処理はステップ340および344
を通過し、状態マシンAが次のプリミティブの処理を開
始することができる(ステップ348)。
112からデータを読む場合の伝統的な動作のプロセス
を示す。伝統的待ち行列システム200に関するステッ
プ302のシステム初期化に続いて、状態マシンBが図
4のステップ363において始動される。ステップ30
2におけるシステム初期化に続く状態マシンAの始動と
同時に状態マシンBが始動されるので、状態マシンAが
最終的にFIFO待ち行列112にデータを書き込むま
で、状態マシンBはステップ365でFIFO待ち行列
コントローラ113に対するポーリングを繰り返さなけ
ればならない。状態マシンBがFIFO待ち行列コント
ローラ113から"not empty(空でない)"状態標識を受
け取ると(ステップ365)、状態マシンBは、FIF
O待ち行列112からx座標データを読み取る(ステッ
プ365)。FIFO待ち行列112からy座標、Z座
標およびx、y、z座標平方総和データを読み取るま
で、状態マシンBはFIFO待ち行列112に対するポ
ーリングおよび読み取りを継続する(ステップ369な
いし382)。
み取られると、プリミティブに関する最終計算が実行さ
れる(ステップ384)。その結果が出力待ち行列12
7へ出力される(ステップ385)。4つの頂点の各々
について8つ光度の計算サイクルがあるので、ステップ
387の判断は、ステップ365ないし385までの処
理を4つの頂点各々について8回繰り返す。すべての頂
点がステップ387で処理されたなら、状態マシンBは
必要に応じて他のデータの処理を継続する(ステップ3
90)。
ステムに関する改善されたFIFO待ち行列システム4
00を示す。FIFO待ち行列112は、制御装置13
5によって制御されるマイクロプロセッサ110を含む
第1の状態マシンAおよび制御装置145によって制御
されるマイクロプロセッサ125を含む第2の状態マシ
ンBにサービスを提供する。状態マシンAおよびBはハ
ンドシェーキング制御410によって必要に応じて相互
にプロトコールを通信するが、相互の読み書きは非同期
的に行われる。入力待ち行列102は、状態マシンAに
処理すべきデータを提供する。出力待ち行列127は、
状態マシンBで処理されたプリミティブを下流ハードウ
ェアへの送信に備えて待ち行列に入れる。
データ経路430によってFIFO待ち行列112に接
続される。状態マシンAが状態情報を求めてFIFO待
ち行列コントローラ113に対してポーリングを行う場
合、FIFO待ち行列コントローラ113は状態制御線
420を用いてFIFO待ち行列112の状態を状態マ
シンAに通知する。FIFO待ち行列システム400の
改善の鍵は、FIFO待ち行列コントローラー113が
FIFO待ち行列112の利用可能空間量に関する情報
を回答するため状態制御線420を使用する点にある。
FIFO待ち行列112の利用可能空間は、空きのバイ
トかワードの数か、または、既知のサイズのFIFO待
ち行列112に所在するデータの量から引き出されるで
あろう。状態マシンAがFIFO待ち行列112の使用
可能空間に記憶することができるデータ量を判断できる
ので、状態マシンAはFIFO待ち行列112の状態を
一度ポーリングすれば、その後は、各書込み動作に先立
ちポーリング割り込みを繰り返さずに、FIFO待ち行
列空き空間に書かれる複数データ項目を生成する複数の
計算を実行することができる。FIFO待ち行列112
へ書き込むべきデータの生成に先行して、FIFO待ち
行列112の空間が存在することが判明するので、上記
構成は一層効率的な待ち行列システムを生み出す。FI
FO待ち行列112におけるデータ・ブロック書き込み
可能空き空間にデータ項目単位の増分値で1つのデータ
・ブロックが書き込まれるか、あるいは、書き込み動作
の効率化を図るため1つのデータ・ブロック全体が一度
にFIFO待ち行列112に書き込まれる。本発明の好
ましい実施形態は、データ項目単位の増分値でデータ・
ブロックを書き込む。
2への書き込みのため、状態マシンAによって使用され
る。4つの頂点の各々について8つの光度を持つ3次元
四辺形プリミティブという本実施形態の処理シナリオに
おいては、データ・ブロックは、各頂点毎に4片のデー
タからなる8つの光源計算の結果を含む。すなわち、各
データ・ブロック中のデータ項目のすべてをFIFO待
ち行列112に書き込むため、4回だけのFIFO待ち
行列112状態要求ポーリングが必要とされる。状態マ
シンBは、状態制御線440およびデータ経路450に
よってFIFO待ち行列112に接続される。状態マシ
ンBが状態情報を求めてFIFO待ち行列コントローラ
113に対してポーリングを行う時、FIFO待ち行列
112は状態制御線440を使用してFIFO待ち行列
112の状態を状態マシンBに通知する。本実施形態の
改善では、FIFO待ち行列112のデータの存在に関
する情報を通知するため、状態制御線440がFIFO
待ち行列コントローラ113によって使用される。状態
マシンBは、1つのデータ・ブロックが読み取り可能状
態にあるか否かを判断するため1度だけFIFO待ち行
列112の状態についてポーリングを行う必要があり、
その後は、データ項目単位の増分値で1つのデータ・ブ
ロック全体を読み取るか、読みとり動作の効率化を図る
ため1つのデータ・ブロック全体を一度に読み取る。各
読取り動作に先行するポーリング割込みの繰り返しは起
きない。代替的形態としては、FIFO待ち行列112
からのデータ読み取りに先行して、状態マシンBがFI
FO待ち行列112の状態に関するポーリングを一度行
い、状態マシンBの読み取り速度が、態機械Aが同じF
IFO待ち行列にデータを書き込む速度と同じまたは遅
いということが既知であることを前提とすれば、その後
はいかなる理由にせよFIFO待ち行列状態を決して要
求しない。この場合、状態マシンBが状態マシンAに永
久に追いつくことなくFIFO待ち行列112からの読
み取りを継続できるように、状態マシンAはFIFO待
ち行列112への先頭開始書き込みデータを取得する。
いずれの場合でも、状態マシンBが処理を遂行できる準
備ができている時、FIFO待ち行列112からデータ
を読み取るため、データ経路450は状態マシンBによ
って使用される。
400に基づいて、図6は、状態マシンAとFIFO待
ち行列112の間の動作上の交信プロセスを示す。待ち
行列システム400を使用して四辺形プリミティブを処
理する状態マシンAによって要求されるFIFO待ち行
列112要求ポーリングおよび書込みアクセスの回数
は、4*1=4回の動作である。すなわち、処理される
4つの頂点の各々に関するすべての処理結果を出力する
ために4つのデータ・ブロック空間が必要とされる。
400を含むシステムに関して、状態マシンAはシステ
ム初期化(ステップ502)に続いて始動される(ステ
ップ503)。動作可能状態になると、状態マシンA
は、処理するプリミティブがあるか否か判断する(ステ
ップ505)。もし処理するプリミティブがなければ、
状態マシンAは待機する。待機中、状態マシンは他のタ
スクを継続することができる。プリミティブが使用可能
になると、入力待ち行列102からプリミティブが読み
取られる(ステップ506)。プリミティブが読み取ら
れると、状態マシンAはプリミティブの処理を開始す
る。
データ・ブロックのために適切なサイズのFIFO待ち
行列112使用可能空間があるか否かを判断するためF
IFO待ち行列コントローラ113に対しポーリングを
行う(ステップ507)。必要とされるデータ・ブロッ
クのサイズは、処理するために使用可能な計算の数およ
び計算によって生成される出力の数によって決定され
る。必要サイズのデータ・ブロック空間が使用可能状態
になければ、FIFO待ち行列112の空間が使用可能
になるまで、状態マシンAは、このプリミティブに関す
る処理をこれ以上進めない(ステップ507)。FIF
O待ち行列112の空間が使用可能になり次第、状態マ
シンAはx座標計算を実行し(ステップ510)、FI
FO待ち行列112に結果を書く(ステップ512)。
続いて、y座標、z座標およびx、y、z座標平方和を
計算し(ステップ518、527および535)、それ
ぞれ書き込む(ステップ520、529および53
7)。4つの頂点の各々について使用可能とされる8つ
の光度を持つ本実施形態の四辺形プリミティブにおいて
は、ステップ540の判断に従って、ステップ507な
いし537を通して8つの光度についての処理サイクル
が制御され、ステップ544の判断に従って、ステップ
507ないし540を通して4つの頂点についての処理
サイクルが制御される。各頂点についてのすべての光度
が処理されると、状態マシンAは、次のプリミティブの
処理を開始する(ステップ548)。状態マシンAは、
書き込み効率向上のため、データ・ブロック全体を一度
に書き込むことがもできるが、本発明にとって好ましく
は、データ項目単位の増分値でデータ・ブロックを書き
込む。
112からデータを読み取る動作プロセスを示す。待ち
行列システム400に関して、システム初期化(ステッ
プ502)に続いて状態マシンBが始動される(ステッ
プ562)。ステップ502におけるシステム初期化に
続く状態マシンAと同時に、状態マシンBは始動される
ので、状態マシンAが最終的にFIFO待ち行列112
にデータを書き終わるまで、状態マシンBはFIFO待
ち行列コントローラ113に対するポーリングを繰り返
し、待機しなければならない(ステップ565)。状態
マシンBは、状態マシンAと非同期的に動作する。デー
タがFIFO待ち行列112で使用可能であると判断す
ると(ステップ565)、状態マシンBは、FIFO待
ち行列112からデータを読み取る(ステップ56
7)。データは、効率向上のためデータ・ブロック全体
として読み取ることもでき、あるいは、データ項目増分
値にわけてデータ・ブロックを読み取ることもできる。
FIFO待ち行列112の状態は、FIFO待ち行列1
12の空き空間の量として、FIFO待ち行列112に
現在所在するデータの量として、あるいは、現在いかな
るデータも存在しないか否かの情報として、いずれかを
選択して標示される。
用可能となると、最終的処理が実行される(ステップ5
84)。結果が出力待ち行列127へ出力される(ステ
ップ585)。四辺形プリミティブに関して4つの頂点
の各々に8つの光度があるので、ステップ587の判断
に従って、ステップ565ないし585の処理は4つの
頂点の各々につて4回繰り返される。すべての4つの頂
点の処理が完了すると(ステップ587)、状態マシン
Bは必要に応じて次の処理を続ける(ステップ59
0)。
ム 図8は、アーキテクチャ100のようなベクトル処理シ
ステムに使用される好ましいFIFO待ち行列システム
600を示す。FIFO待ち行列112は、制御装置1
35によって制御されるマイクロプロセッサ110を含
む第1の状態マシンAおよび制御装置145によって制
御されるマイクロプロセッサ125を含む第2の状態マ
シンBにサービスを提供する。状態マシンAおよびBは
ハンドシェーキング制御610によって必要に応じて相
互にプロトコールを通信する。入力待ち行列102は、
状態マシンAに処理すべきデータを提供する。出力待ち
行列127は、状態マシンBで処理されたプリミティブ
を下流ハードウェアへの送信に備えて待ち行列に入れ
る。
データ経路630によってFIFO待ち行列112に接
続される。状態制御線620は、FIFO待ち行列11
2の使用可能空間量に関する情報を回答するために、F
IFO待ち行列コントローラ113によって使用され
る。状態マシンAは、図5および図6について上述した
ような書込み動作を実行する。データ経路630は、F
IFO待ち行列112にデータを書き込むため状態マシ
ンAによって使用される。
てのみFIFO待ち行列112に接続される。常に状態
マシンAが状態マシンBより前に進んでいるように、状
態マシンBは状態マシンAの後から開始するように制御
されるので、FIFO待ち行列112と状態マシンBの
間で状態制御線は使用されない。状態マシンBに感知さ
れる1ビット「B開始」制御線605を介して状態マシ
ンAが状態マシンBに信号を送ると、状態マシンBが開
始する。FIFO待ち行列112の状態ポーリングが除
去されるため、処理効率が向上し、状態BおよびFIF
O待ち行列コントローラ113の回路実装が単純化され
る。データ経路650は、状態マシンBが処理を実行す
る準備ができている時、FIFO待ち行列112からデ
ータを読み取るため状態マシンBによって使用される。
データは、読み取り動作の効率化を図るため1つのデー
タ・ブロック全体として読み取られるか、あるいは、本
発明の好ましい実施形態において行われるようにデータ
項目単位の増分値で読み取られる。
システム600に基づいて、図9は、状態マシンAとF
IFO待ち行列112の間の動作上の交信プロセスを示
す。状態マシンAがFIFO待ち行列112に書き込む
ために必要なFIFO待ち行列112のポーリングの回
数は、図5に基づいた図6の記述の場合と同一である。
を含むシステムに関して、システム初期化(ステップ7
02)に続いて、状態マシンAが始動される(ステップ
703)。初期化され使用可能状態になると、状態マシ
ンAは、処理すべきプリミティブが使用可能か否かを判
断する(ステップ705)。処理するプミティブが使用
可能でなければ、状態マシンAは待機する(ステップ7
05)。待機中状態マシンAは他のタスクを実行するこ
ともできる。プリミティブが使用可能になり次第、プリ
ミティブが入力待ち行列102から読み取られる(ステ
ップ706)。一旦プリミティブが読み取られると、状
態マシンAはプリミティブの処理を開始する。
IFO待ち行列コントローラ113に対するポーリング
を行ってFIFO待ち行列112の空き空間がデータ・
ブロックに適切な大きさか否かを判断する(ステップ7
07)。必要なデータ・ブロックの大きさは、処理する
ために使用可能な計算の数および各計算が生成する対応
する出力の数によって決定される。データ・ブロックの
ためのFIFO待ち行列112空間が使用可能でなけれ
ば、使用可能になるまで、状態マシンAはこのプリミテ
ィブの処理を進めない。FIFO待ち行列112空間が
使用可能になると、状態マシンAは、すべての光度につ
いてx、y、z座標計算を実行し(ステップ710)、
x、y、z座標の平方和を計算する(ステップ71
1)。計算結果がFIFOへ書き込まれる(ステップ7
10、711)。データは、書き込み動作の効率化を図
るため1つのデータ・ブロック全体として書き込まれる
か、あるいは、本発明の好ましい実施形態において行わ
れるようにデータ項目単位の増分値で書き込まれる。ス
テップ712に続いて、状態マシンAは、「B開始」ビ
ットをオンにして、状態マシンAが十分な先頭開始情報
を持ち、少くとも1つのデータ・ブロックの少くとも1
つのデータ項目が状態マシンBによる読み取りに備えて
準備ができていることを状態マシンBに通知する。状態
マシンBは、データ・ブロック全体がFIFO待ち行列
112に書き込まれるまでか、あるいは、所望の状態マ
シンA先頭開始に基づいて第1のデータ・ブロック内の
第1のデータ項目が書き込まれるまで、読み取りを待た
なければならない。状態マシンAがデータ処理を終了す
るかまたはFIFO待ち行列112が空になるまで、
「B開始」ビットはオンのままにされる。
頂点の各々について使用可能とされる8つの光度を持つ
ので、ステップ740の判断に従って、ステップ710
ないし711を通して8つの光度についての処理サイク
ルが制御され、ステップ744の判断に従って、ステッ
プ707ないし740を通して4つの頂点についての処
理サイクルが制御される。各頂点についてすべての光度
が処理されると、処理はステップ740および744を
通過し、状態マシンAが後続プリミティブの処理を開始
する(ステップ748)。
み取りを行う状態マシンBに関する好ましい動作プロセ
スを示す。本発明の好ましい待ち行列システム600に
関して、システム初期化(ステップ762)に続いて、
状態マシンBが始動される(ステップ762)。ステッ
プ702におけるシステム初期化に続く状態マシンAの
始動と同じ時点で状態マシンBが始動されるが、状態マ
シンBは、データ・ブロックが使用可能か否かを決定す
るためのFIFO待ち行列コントローラ113に対する
ポーリングを行わない。状態マシンAが状態マシンBに
関する先頭開始情報を持ち、少くとも1つのデータ・ブ
ロックの少くとも1つのデータ項目がFIFO待ち行列
112で使用可能であることを標識する「B開始」ビッ
トがオンにされるまで、状態マシンBは他のタスクを実
行する。状態マシンBは、FIFO待ち行列コントロー
ラ113からのFIFO待ち行列112状態通知を必要
としない。状態マシンBが「B開始」ビットのオンを検
出すると(ステップ764)、x、y、z座標および平
方和データがFIFO待ち行列112から読み取られる
(ステップ767)。すべてのデータが状態マシンBに
とって使用可能となると、最終的計算が実行され(ステ
ップ784)、結果が待ち行列127へ出力される(ス
テップ785)。本実施形態の四辺形プリミティブが4
つの頂点の各々について使用可能とされる8つの光度を
持つので、ステップ787の判断に従って、ステップ7
67ないし785を通して4つの頂点についての処理サ
イクルが制御される。すべての頂点が処理されると(ス
テップ787)、状態マシンBは必要に応じて処理を継
続する(ステップ790)。
が、当業者が本発明の原理を逸脱することなく本発明の
代替的実施形態を設計することができることは明らかで
ある。
が含まれる。 (1)電子装置において、FIFO待ち行列コントロー
ラによって制御されるFIFO待ち行列、上記FIFO
待ち行列へ書き込みを行う第1の装置、および上記FI
FO待ち行列から読み取りを行う第2の装置を備える待
ち行列システムであって、上記FIFO待ち行列コント
ローラを介してFIFO待ち行列状態を生成する状態生
成機構と、上記FIFO待ち行列の空間が複数のデータ
項目からなるデータ・ブロックの1つを記憶するために
十分なサイズであるか否かを判断するデータ・ブロック
・サイズ識別機構と、上記データ・ブロックを書き込む
ことのできる空間が上記FIFO待ち行列において使用
可能な状態にある場合上記FIFO待ち行列にデータを
書き込む上記待ち行列コントローラのデータ書き込み制
御部分と、上記データ書き込み制御部分と非同期的に上
記FIFO待ち行列から上記データを読み取る上記待ち
行列コントローラのデータ読み取り制御部分と、を含む
待ち行列システム。 (2)使用可能空間量、既知のサイズのFIFO待ち行
列中の非使用可能空間量、および上記FIFOにデータ
が現在所在するか否かの情報からなるグループから選択
される形態で、上記FIFO待ち行列状態が上記FIF
O待ち行列の使用可能空間に関する情報を含む、上記
(1)に記載の待ち行列システム。 (3)上記データ書き込み制御部分が、データ・ブロッ
ク単位またはデータ項目単位いずれかの増分値で上記デ
ータを書き込む、上記(1)に記載の待ち行列システ
ム。 (4)上記データ読み取り制御部分が、データ・ブロッ
ク単位またはデータ項目単位いずれかの増分値で上記デ
ータを読み取る、上記(1)に記載の待ち行列システ
ム。
列コントローラによって制御されるFIFO待ち行列、
上記FIFO待ち行列へ書き込みを行う第1の装置、お
よび上記FIFO待ち行列から読み取りを行う第2の装
置を備える待ち行列システムであって、上記FIFO待
ち行列コントローラを介してFIFO待ち行列状態を生
成する状態生成機構と、上記FIFO待ち行列の空間が
複数のデータ項目からなるデータ・ブロックの1つを記
憶するために十分なサイズであるか否かを判断するデー
タ・ブロック・サイズ識別機構と、上記データ・ブロッ
クを書き込むことのできる空間が上記FIFO待ち行列
において使用可能な状態にある場合上記FIFO待ち行
列にデータを書き込む上記待ち行列コントローラのデー
タ書き込み制御部分と、上記データが上記FIFO待ち
行列において使用可能であることを上記第2の装置へ標
示するための信号と、上記信号に応答して上記FIFO
待ち行列から上記データを読み取る上記待ち行列コント
ローラのデータ読み取り制御部分と、を含む待ち行列シ
ステム。 (6)使用可能空間量、既知のサイズのFIFO待ち行
列中の非使用可能空間量、および上記FIFOにデータ
が現在所在するか否かの情報からなるグループから選択
される形態で、上記FIFO待ち行列状態が上記FIF
O待ち行列の使用可能空間に関する情報を含む、上記
(5)に記載の待ち行列システム。 (7)上記データ書き込み制御部分が、データ・ブロッ
ク単位またはデータ項目単位いずれかの増分値で上記デ
ータを書き込み、上記データ読み取り制御部分が、デー
タ・ブロック単位またはデータ項目単位いずれかの増分
値で上記データを読み取る、上記(5)に記載の待ち行
列システム。
列コントローラによって制御されるFIFO待ち行列、
上記FIFO待ち行列へ書き込みを行う第1の装置、お
よび上記FIFO待ち行列から読み取りを行う第2の装
置を備える待ち行列システムを使用する方法であって、
上記FIFO待ち行列コントローラを介して、上記FI
FO待ち行列の使用可能空間量に関する情報を含むFI
FO待ち行列状態を生成するステップと、上記FIFO
待ち行列の空間が複数のデータ項目からなるデータ・ブ
ロックの1つを記憶するために十分なサイズであるか否
かを判断するステップと、上記データ・ブロックを書き
込むことのできる空間が上記FIFO待ち行列において
使用可能な状態にある場合、上記FIFO待ち行列にデ
ータを書き込むステップと、上記データ書き込みステッ
プと非同期的に、上記FIFO待ち行列から上記データ
を読み取るステップと、を含む待ち行列システム使用方
法。
列コントローラによって制御されるFIFO待ち行列、
上記FIFO待ち行列へ書き込みを行う第1の装置、お
よび上記FIFO待ち行列から読み取りを行う第2の装
置を備える待ち行列システムを使用する方法であって、
上記FIFO待ち行列コントローラを介して、上記FI
FO待ち行列の使用可能空間量に関する情報を含むFI
FO待ち行列状態を生成するステップと、上記FIFO
待ち行列の空間が複数のデータ項目からなるデータ・ブ
ロックの1つを記憶するために十分なサイズであるか否
かを判断するステップと、上記データ・ブロックを書き
込むことのできる空間が上記FIFO待ち行列において
使用可能な状態にある場合、上記FIFO待ち行列にデ
ータを書き込むステップと、上記データが上記FIFO
待ち行列において使用可能であることを標示する信号を
上記第2の装置へ送るステップと、上記信号に応答して
上記FIFO待ち行列から上記データを読み取るステッ
プと、を含む待ち行列システム使用方法。
果、書込み動作に関するFIFO待ち行列状態スポーリ
ングの回数が減少し、データ書き込みに先行してFIF
O待ち行列データ・ブロック空間が使用可能か否かを判
断することによって、また、書き込み動作が先頭開始を
持つまで読取り動作の開始を遅延させることによって、
読み取り動作に関するポーリングが不要となる。
アクセラレータを示すブロック図である。
ク図である。
Aのプロセスを示す流れ図である。
Bのプロセスを示す流れ図である。
ク図である。
Aのプロセスを示す流れ図である。
Bのプロセスを示す流れ図である。
システムを示すブロック図である。
システムの状態マシンAのプロセスを示す流れ図であ
る。
列システムの状態マシンBのプロセスを示す流れ図であ
る。
状態制御線 230、430、630 データ入力用データ経路 250、450、650 データ出力用データ経路 605 「B開始」ビット信号線
Claims (1)
- 【請求項1】)電子装置において、FIFO待ち行列コ
ントローラによって制御されるFIFO待ち行列、上記
FIFO待ち行列へ書き込みを行う第1の装置、および
上記FIFO待ち行列から読み取りを行う第2の装置を
備える待ち行列システムであって、 上記FIFO待ち行列コントローラを介してFIFO待
ち行列状態を生成する状態生成機構と、 上記FIFO待ち行列の空間が複数のデータ項目からな
るデータ・ブロックの1つを記憶するために十分なサイ
ズであるか否かを判断するデータ・ブロック・サイズ識
別機構と、 上記データ・ブロックを書き込むことのできる空間が上
記FIFO待ち行列において使用可能な状態にある場合
上記FIFO待ち行列にデータを書き込む上記待ち行列
コントローラのデータ書き込み制御部分と、 上記データ書き込み制御部分と非同期的に上記FIFO
待ち行列から上記データを読み取る上記待ち行列コント
ローラのデータ読み取り制御部分と、 を含む待ち行列システム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US442,543 | 1982-11-18 | ||
| US08/442,543 US5664114A (en) | 1995-05-16 | 1995-05-16 | Asynchronous FIFO queuing system operating with minimal queue status |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH08315566A true JPH08315566A (ja) | 1996-11-29 |
Family
ID=23757206
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8084894A Pending JPH08315566A (ja) | 1995-05-16 | 1996-04-08 | Fifo待ち行列システム |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5664114A (ja) |
| JP (1) | JPH08315566A (ja) |
Families Citing this family (71)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH096614A (ja) * | 1995-06-21 | 1997-01-10 | Sanyo Electric Co Ltd | データ処理装置 |
| US5822752A (en) * | 1996-07-15 | 1998-10-13 | International Business Machines Corporation | Method and apparatus for fast parallel determination of queue entries |
| US6807581B1 (en) | 2000-09-29 | 2004-10-19 | Alacritech, Inc. | Intelligent network storage interface system |
| US6434620B1 (en) | 1998-08-27 | 2002-08-13 | Alacritech, Inc. | TCP/IP offload network interface device |
| US7076568B2 (en) * | 1997-10-14 | 2006-07-11 | Alacritech, Inc. | Data communication apparatus for computer intelligent network interface card which transfers data between a network and a storage device according designated uniform datagram protocol socket |
| US6427171B1 (en) | 1997-10-14 | 2002-07-30 | Alacritech, Inc. | Protocol processing stack for use with intelligent network interface device |
| US7042898B2 (en) | 1997-10-14 | 2006-05-09 | Alacritech, Inc. | Reducing delays associated with inserting a checksum into a network message |
| US7185266B2 (en) | 2003-02-12 | 2007-02-27 | Alacritech, Inc. | Network interface device for error detection using partial CRCS of variable length message portions |
| US8621101B1 (en) | 2000-09-29 | 2013-12-31 | Alacritech, Inc. | Intelligent network storage interface device |
| US8782199B2 (en) | 1997-10-14 | 2014-07-15 | A-Tech Llc | Parsing a packet header |
| US7089326B2 (en) * | 1997-10-14 | 2006-08-08 | Alacritech, Inc. | Fast-path processing for receiving data on TCP connection offload devices |
| US6389479B1 (en) | 1997-10-14 | 2002-05-14 | Alacritech, Inc. | Intelligent network interface device and system for accelerated communication |
| US6697868B2 (en) | 2000-02-28 | 2004-02-24 | Alacritech, Inc. | Protocol processing stack for use with intelligent network interface device |
| US6658480B2 (en) | 1997-10-14 | 2003-12-02 | Alacritech, Inc. | Intelligent network interface system and method for accelerated protocol processing |
| US6427173B1 (en) | 1997-10-14 | 2002-07-30 | Alacritech, Inc. | Intelligent network interfaced device and system for accelerated communication |
| US6591302B2 (en) | 1997-10-14 | 2003-07-08 | Alacritech, Inc. | Fast-path apparatus for receiving data corresponding to a TCP connection |
| US7133940B2 (en) | 1997-10-14 | 2006-11-07 | Alacritech, Inc. | Network interface device employing a DMA command queue |
| US7237036B2 (en) | 1997-10-14 | 2007-06-26 | Alacritech, Inc. | Fast-path apparatus for receiving data corresponding a TCP connection |
| US6226680B1 (en) | 1997-10-14 | 2001-05-01 | Alacritech, Inc. | Intelligent network interface system method for protocol processing |
| US6470415B1 (en) | 1999-10-13 | 2002-10-22 | Alacritech, Inc. | Queue system involving SRAM head, SRAM tail and DRAM body |
| US6757746B2 (en) | 1997-10-14 | 2004-06-29 | Alacritech, Inc. | Obtaining a destination address so that a network interface device can write network data without headers directly into host memory |
| US8539112B2 (en) | 1997-10-14 | 2013-09-17 | Alacritech, Inc. | TCP/IP offload device |
| US7167927B2 (en) | 1997-10-14 | 2007-01-23 | Alacritech, Inc. | TCP/IP offload device with fast-path TCP ACK generating and transmitting mechanism |
| US6687758B2 (en) | 2001-03-07 | 2004-02-03 | Alacritech, Inc. | Port aggregation for network connections that are offloaded to network interface devices |
| US7174393B2 (en) | 2000-12-26 | 2007-02-06 | Alacritech, Inc. | TCP/IP offload network interface device |
| US7284070B2 (en) * | 1997-10-14 | 2007-10-16 | Alacritech, Inc. | TCP offload network interface device |
| US6310891B1 (en) | 1997-12-18 | 2001-10-30 | Alcatel Usa Sourcing, L.P. | Method of scheduling time division multiplex (TDM) cells in a synchronous optical network (SONET) frame |
| US6169749B1 (en) | 1997-12-18 | 2001-01-02 | Alcatel Usa Sourcing L.P. | Method of sequencing time division multiplex (TDM) cells in a synchronous optical network (sonet) frame |
| US6078588A (en) * | 1997-12-18 | 2000-06-20 | Alcatel Usa Sourcing, L.P. | Queuing apparatus and method for avoiding address collision of data in a plurality of frames |
| US6353864B1 (en) * | 1998-04-20 | 2002-03-05 | Fujitsu Limited | System LSI having communication function |
| US6129757A (en) | 1998-05-18 | 2000-10-10 | Scimed Life Systems | Implantable members for receiving therapeutically useful compositions |
| US7616200B1 (en) | 1998-06-12 | 2009-11-10 | 3Dlabs Inc. Ltd. | System for reducing aliasing on a display device |
| US6476816B1 (en) | 1998-07-17 | 2002-11-05 | 3Dlabs Inc. Ltd. | Multi-processor graphics accelerator |
| US6459453B1 (en) | 1998-07-17 | 2002-10-01 | 3Dlabs Inc. Ltd. | System for displaying a television signal on a computer monitor |
| WO2000004436A1 (en) | 1998-07-17 | 2000-01-27 | Intergraph Corporation | Graphics processing with transcendental function generator |
| US7518616B1 (en) | 1998-07-17 | 2009-04-14 | 3Dlabs, Inc. Ltd. | Graphics processor with texture memory allocation system |
| US6188410B1 (en) | 1998-07-17 | 2001-02-13 | 3Dlabs Inc. Ltd. | System for processing vertices from a graphics request stream |
| WO2000004527A1 (en) * | 1998-07-17 | 2000-01-27 | Intergraph Corporation | Apparatus and method of directing graphical data to a display device |
| WO2000004484A2 (en) | 1998-07-17 | 2000-01-27 | Intergraph Corporation | Wide instruction word graphics processor |
| WO2000004443A1 (en) | 1998-07-17 | 2000-01-27 | Intergraph Corporation | Byte reordering apparatus and method |
| WO2000004494A1 (en) | 1998-07-17 | 2000-01-27 | Intergraph Corporation | Graphics processing system with multiple strip breakers |
| US7664883B2 (en) | 1998-08-28 | 2010-02-16 | Alacritech, Inc. | Network interface device that fast-path processes solicited session layer read commands |
| US6674440B1 (en) | 1999-04-05 | 2004-01-06 | 3Dlabs, Inc., Inc. Ltd. | Graphics processor for stereoscopically displaying a graphical image |
| US6507877B1 (en) | 1999-09-03 | 2003-01-14 | Whamtech, Inc. | Asynchronous concurrent dual-stream FIFO |
| US8019901B2 (en) | 2000-09-29 | 2011-09-13 | Alacritech, Inc. | Intelligent network storage interface system |
| US6720074B2 (en) * | 2000-10-26 | 2004-04-13 | Inframat Corporation | Insulator coated magnetic nanoparticulate composites with reduced core loss and method of manufacture thereof |
| US7510571B2 (en) * | 2001-06-11 | 2009-03-31 | Boston Scientific, Scimed, Inc. | Pleated composite ePTFE/textile hybrid covering |
| US20030121835A1 (en) * | 2001-12-31 | 2003-07-03 | Peter Quartararo | Apparatus for and method of sieving biocompatible adsorbent beaded polymers |
| US7543087B2 (en) | 2002-04-22 | 2009-06-02 | Alacritech, Inc. | Freeing transmit memory on a network interface device prior to receiving an acknowledgement that transmit data has been received by a remote device |
| US7496689B2 (en) | 2002-04-22 | 2009-02-24 | Alacritech, Inc. | TCP/IP offload device |
| US7191241B2 (en) * | 2002-09-27 | 2007-03-13 | Alacritech, Inc. | Fast-path apparatus for receiving data corresponding to a TCP connection |
| US7337241B2 (en) | 2002-09-27 | 2008-02-26 | Alacritech, Inc. | Fast-path apparatus for receiving data corresponding to a TCP connection |
| US7653588B2 (en) * | 2003-04-24 | 2010-01-26 | Chicago Board Options Exchange, Incorporated | Method and system for providing order routing to a virtual crowd in a hybrid trading system |
| US20050050285A1 (en) * | 2003-08-26 | 2005-03-03 | Haas William Robert | Memory control system and method for installing new memory |
| US6996070B2 (en) * | 2003-12-05 | 2006-02-07 | Alacritech, Inc. | TCP/IP offload device with reduced sequential processing |
| US8248939B1 (en) | 2004-10-08 | 2012-08-21 | Alacritech, Inc. | Transferring control of TCP connections between hierarchy of processing mechanisms |
| US7496700B1 (en) * | 2005-01-12 | 2009-02-24 | Pmc-Sierra, Inc. | Serial tunneling protocol (STP) flow control in SAS expanders without SATA link state machine |
| US7738500B1 (en) | 2005-12-14 | 2010-06-15 | Alacritech, Inc. | TCP timestamp synchronization for network connections that are offloaded to network interface devices |
| DE102006041306A1 (de) * | 2006-09-01 | 2008-03-20 | Micronas Gmbh | Speicherverwaltungs-Schaltungsanordnung und Speicherverwaltungsverfahren |
| US8539513B1 (en) | 2008-04-01 | 2013-09-17 | Alacritech, Inc. | Accelerating data transfer in a virtual computer system with tightly coupled TCP connections |
| US8341286B1 (en) | 2008-07-31 | 2012-12-25 | Alacritech, Inc. | TCP offload send optimization |
| US9306793B1 (en) | 2008-10-22 | 2016-04-05 | Alacritech, Inc. | TCP offload device that batches session layer headers to reduce interrupts as well as CPU copies |
| US10254967B2 (en) | 2016-01-13 | 2019-04-09 | Sandisk Technologies Llc | Data path control for non-volatile memory |
| US20180088904A1 (en) * | 2016-09-26 | 2018-03-29 | Knuedge, Inc. | Dedicated fifos in a multiprocessor system |
| US10528255B2 (en) | 2016-11-11 | 2020-01-07 | Sandisk Technologies Llc | Interface for non-volatile memory |
| US10528286B2 (en) | 2016-11-11 | 2020-01-07 | Sandisk Technologies Llc | Interface for non-volatile memory |
| US10528267B2 (en) | 2016-11-11 | 2020-01-07 | Sandisk Technologies Llc | Command queue for storage operations |
| US10114589B2 (en) | 2016-11-16 | 2018-10-30 | Sandisk Technologies Llc | Command control for multi-core non-volatile memory |
| US10382380B1 (en) * | 2016-11-17 | 2019-08-13 | Amazon Technologies, Inc. | Workload management service for first-in first-out queues for network-accessible queuing and messaging services |
| CN108415859B (zh) * | 2018-04-28 | 2023-10-27 | 珠海一微半导体股份有限公司 | 一种激光陀螺仪数据的硬件加速电路 |
| CN120316027B (zh) * | 2025-06-17 | 2025-09-09 | 此芯科技集团有限公司 | 一种乱序投机执行发射队列及电子设备 |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5097442A (en) * | 1985-06-20 | 1992-03-17 | Texas Instruments Incorporated | Programmable depth first-in, first-out memory |
| US5021994A (en) * | 1988-01-11 | 1991-06-04 | Texas Instruments Incorporated | Look-ahead flag generator |
| JPH04242852A (ja) * | 1990-02-13 | 1992-08-31 | Internatl Business Mach Corp <Ibm> | 多重処理のための先入れ先出しバッファ待ち行列の管理機構および方法 |
| US5455913A (en) * | 1990-05-14 | 1995-10-03 | At&T Global Information Solutions Company | System and method for transferring data between independent busses |
| US5296936A (en) * | 1991-07-22 | 1994-03-22 | International Business Machines Corporation | Communication apparatus and method for transferring image data from a source to one or more receivers |
| US5172228A (en) * | 1991-11-19 | 1992-12-15 | Utah State University Foundation | Image compression method and apparatus employing distortion adaptive tree search vector quantization |
| US5299315A (en) * | 1992-09-17 | 1994-03-29 | International Business Machines Corp. | Personal computer with programmable threshold FIFO registers for data transfer |
| US5455907A (en) * | 1993-09-10 | 1995-10-03 | Compaq Computer Corp. | Buffering digitizer data in a first-in first-out memory |
| US5442747A (en) * | 1993-09-27 | 1995-08-15 | Auravision Corporation | Flexible multiport multiformat burst buffer |
| US5469223A (en) * | 1993-10-13 | 1995-11-21 | Auravision Corporation | Shared line buffer architecture for a video processing circuit |
| US5448558A (en) * | 1994-04-05 | 1995-09-05 | International Business Machines Corporation | Method and apparatus for managing packet FIFOS |
-
1995
- 1995-05-16 US US08/442,543 patent/US5664114A/en not_active Expired - Lifetime
-
1996
- 1996-04-08 JP JP8084894A patent/JPH08315566A/ja active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| US5664114A (en) | 1997-09-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH08315566A (ja) | Fifo待ち行列システム | |
| US5821949A (en) | Three-dimensional graphics accelerator with direct data channels for improved performance | |
| EP2936492B1 (en) | Multi-mode memory access techniques for performing graphics processing unit-based memory transfer operations | |
| US5874969A (en) | Three-dimensional graphics accelerator which implements multiple logical buses using common data lines for improved bus communication | |
| US6628277B1 (en) | Decompression of three-dimensional graphics data using mesh buffer references to reduce redundancy of processing | |
| US7071935B1 (en) | Graphics system with just-in-time decompression of compressed graphics data | |
| EP0817010B1 (en) | Floating point processor for a three-dimensional graphics accelerator | |
| US6476808B1 (en) | Token-based buffer system and method for a geometry pipeline in three-dimensional graphics | |
| EP0817117B1 (en) | Command processor for a three-dimensional graphics accelerator which includes geometry decompression capabilities and method for processing geometry data in said graphics accelerator | |
| US6459429B1 (en) | Segmenting compressed graphics data for parallel decompression and rendering | |
| US8098255B2 (en) | Graphics processing system with enhanced memory controller | |
| US5956042A (en) | Graphics accelerator with improved lighting processor | |
| US6559854B2 (en) | Image creation device | |
| US20030169262A1 (en) | System and method for handling display device requests for display data from a frame buffer | |
| US7522171B1 (en) | On-the-fly reordering of 32-bit per component texture images in a multi-cycle data transfer | |
| US20030169626A1 (en) | System and method for controlling a number of outstanding data transactions within an integrated circuit | |
| US6864892B2 (en) | Graphics data synchronization with multiple data paths in a graphics accelerator | |
| EP1255227A1 (en) | Vertices index processor | |
| US5914724A (en) | Lighting unit for a three-dimensional graphics accelerator with improved handling of incoming color values | |
| US8243086B1 (en) | Variable length data compression using a geometry shading unit | |
| US8254701B1 (en) | Data compression using a geometry shading unit | |
| US8295621B1 (en) | Data decompression using a geometry shading unit | |
| US6308237B1 (en) | Method and system for improved data transmission in accelerated graphics port systems | |
| US6515670B1 (en) | Graphics system and method for minimizing the idle time of a host processor in the graphics system | |
| US6885375B2 (en) | Stalling pipelines in large designs |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051101 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051108 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20060202 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20060221 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060704 |