JP5285828B2 - 並列データ処理装置 - Google Patents
並列データ処理装置 Download PDFInfo
- Publication number
- JP5285828B2 JP5285828B2 JP2000611183A JP2000611183A JP5285828B2 JP 5285828 B2 JP5285828 B2 JP 5285828B2 JP 2000611183 A JP2000611183 A JP 2000611183A JP 2000611183 A JP2000611183 A JP 2000611183A JP 5285828 B2 JP5285828 B2 JP 5285828B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- processing
- instruction
- memory
- processing element
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
- G06F15/8015—One dimensional arrays, e.g. rings, linear arrays, buses
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30087—Synchronisation or serialisation instructions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30101—Special purpose registers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3838—Dependency mechanisms, e.g. register scoreboarding
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3887—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3888—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple threads [SIMT] in parallel
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Advance Control (AREA)
- Multi Processors (AREA)
- Executing Machine-Instructions (AREA)
- Hardware Redundancy (AREA)
- Image Processing (AREA)
Description
図1は、グラフィックデータ処理システム3を示すシステムレベルのブロック図である。システム3は、インタフェース2を介して、パーソナルコンピュータまたはワークステーションなどのホストシステム(図示せず)と接続する。このようなシステムは、制御目的のために従属(embedded)プロセッサユニット(EPU)を具備することができる。例えば、特定のグラフィックスシステム3は、グラフィックプロセッサの全体的な機能を制御するため、およびホストシステムと接続するための従属処理ユニット(EPU)8を含む。システムは、ビデオ出カインタフェース14を介して表示画面に出力するためにグラフィックデータを処理する処理コア10を含む。ローカルメモリ12が、グラフィックスシステム3のために提供される。
図5は、処理コアをさらに詳細に示す。スレッドマネージャ102は、EPU8から制御信号を受信するために接続される。制御信号は、いつ命令がフェッチされるべきか、および命令がどこで見つけられるべきかに関して、スレッドマネージャに知らせる。スレッドマネージャ102は、これらの命令をアレイコントローラ104に、およびチャネルコントローラ108に提供するために接続される。アレイコントローラおよびチャネルコントローラ104と108は、受信された命令に依存する処理ブロック106に制御信号を転送するために接続される。
処理要素のアレイは、命令ストリームで一連の命令を実行するために制御される。処理ブロック106用のこのような命令ストリームは「スレッド」として知られている。各スレッドは、1つまたは複数のタスクを実行するために協調して動作する。用語「マルチスレッド」は、単一のタスクを実行するために複数のスレッドを使用することを指すが、用語「マルチタスキング」が、複数のタスクを同時に実行するための複数のスレッドを使用することを指す。これらの命令ストリームまたはスレッドを管理するのがスレッドマネージャ102である。
アレイコントローラ104は、処理ブロック106の動作を命令し、図7にさらに詳細に示される。
チャネルコントローラ108は、アレイコントローラ104による命令の実行に関して非同期で動作する。これが、計算および外部I/Oを同時に実行し、可能な限り重複できるようにする。計算(PE)動作は、さらに詳細に以下に説明されるように、スレッドマネージャのセマフォによってI/O動作と同期される。
単一のメモリ、またはその他のアドレス指定されたデバイスへのアクセスを要求する大多数の要素を有するコンピュータシステムにおいては、記憶ユニットへのアクセスは要素ごとに連続して実行される場合に処理速度のかなりの減速がある場合がある。
処理ブロック106の1つは、図10にさらに詳細に示される。処理ブロック106は、それぞれのデータ項目で並列に動作するが、同じ命令(SIMD)を実行するように配列されているプロセッサ要素1061のアレイを含む。各プロセッサ要素1061は、プロセッサユニット1061a、PEレジスタファイル1061b、およびPEメモリユニット1061cを含む。PEメモリユニット1063cは、プロセッサユニット1061aによる処理のためのデータ項目を記憶するために使用される。各プロセッサユニット1061aは、PEレジスタファイル1061bを介して、そのPEメモリユニット1061cに、およびそのPEメモリユニット1061cからデータを転送できる。プロセッサユニット1061aは、処理中のデータを記憶するためにPEレジスタファイル1061bも使用する。プロセッサユニット1061aとメモリユニット1061c間でのデータ項目の転送は、アレイコントローラ104によって制御される。
axi+byj+c
を、xiとyjの値の範囲に関して評価するための既知の装置である。
図11は、図1から図10のシステムを使用するグラフィックデータ処理方法での簡略化されたステップを示す。ホストシステムは、グラフィックスシステムによって処理され、表示されるプリミティブグラフィック画像の頂点に関するデータを作成する。それから、データは、頂点データのブロックとして、あるいはそれはホストシステムによってグラフィックスシステムに対して作成されるため、頂点ごとにどちらかで転送される。
スレッドマネージャ
図6に関して前述されたように、スレッドごとにフェッチされた命令を記憶するためのキャッシュメモリユニット1024を備える、スレッドマネージャ102に関する詳細な説明がここで示される。キャッシュユニット1024は、スレッドごとに1つづつ、一連の先入れ先出し(FIFO)バッファによって置換できる。また、スレッドマネージャは、命令フェッチユニット1023、スレッドスケジューラ1025、スレッドプロセッサ1026、セマフォコントローラ1028、およびステータスブロック1030も含む。
スレッドスケジューラは、実行時、以下のスケジューリングトリガの1つが発生すると必ず、どのスレッドがアクティブとならなければならないのかを計算し直す。
スレッドは(準備完了ではなく)、影響を受けやすい(YIELDING)。
−命令キャッシュ失敗で待機中でない限り
−ゼロセマフォで待機中でない限り
−ビジー実行ユニットで待機中でない限り、あるいは
−HALT(停止)命令で待機中でない限り、
つねに準備完了であると見なされる。
スレッドの同期および他のリソースへのアクセスの制御は、セマフォコントローラ1028によって提供される。
セマフォは、8ビットの符号なしカウントを有する。しかしながら、msb(ビット7)は、オーバフロービットとして使用され、このようにして絶対に設定されてはならない。任意のセマフォのビット7が設定されると必ず、スレッドマネージャステータスレジスタ内のセマフォオーバフローフラグがセットされる。対応する割込みイネーブルが設定されると、EPUは割り込まれる。セマフォオーバフローフラグは、EPUによってクリアされるまで設定されたままとなる。
以下の動作は、セマフォごとに提供される。
セマフォは、それらが、どの実行ユニットによって信号で知らされるのかに応じて4つのグループに分けられる。
▲1▼グループid
▲2▼グループ内のセマフォ数
▲3▼セマフォグループ名
▲4▼グループ内のセマフォが知らされる信号
において、
▲1▼0 ▲2▼32 ▲3▼スレッド ▲4▼スレッドとEPU
▲1▼1 ▲2▼16 ▲3▼チャネル ▲4▼チャネルコントローラ
▲1▼2 ▲2▼16 ▲3▼ロード/記憶 ▲4▼ロード/記憶ユニット
▲1▼3 ▲2▼16 ▲3▼PE ▲4▼PEシーケンサ
である。
EPUは、コアが凍結されると、全てのセマフォ値を読書きできる。加えて、EPUは、以下に示すように、任意のときにスレッドセマフォを事前設定、増分および減分することができる。
増分:EPUは、その増分レジスタを書き込むことによってセマフォを原子的に増分できる(原子動作とは、周知であるように、他の動作によって割り込むことができない動作である)。
減分:EPUは、その減分レジスタを読み取ることによってセマフォを原子的に減分できる。セマフォが、減分の前にゼロ以外である場合、読み取りは真に戻る。それ以外の場合、読み取りは偽に戻り、セマフォはゼロで残される。
ここで、図7に示されるように、アレイコントローラ104に関する詳細な説明が示される。アレイコントローラ104は、処理ブロック106の動作を命令する。アレイコントローラ104は、スレッドマネージャから命令を受け取るために接続されている命令ランチャ1041を備える。命令ランチャ1041は、追加の特定の命令情報を命令ランチャに提供する命令テーブル1042に索引を付ける。
(ロード/記憶のためのイネーブルとして使用される)イネーブルスタックへの書込み
(ロード/記憶のための索引が付けられたアドレスとして使用される)Pレジスタへの書込み(図6)
(MEEフィードバック用のイネーブルとして使用される)Vレジスタへの書込み(図6)
命令ランチヤ1041は、命令がアクセスするのがどのレジスタかを決定し、命令が起動されるとこれらのレジスタをロックする。命令が完了すると、レジスタはアンロックされる。ロード/記憶命令にとって、アクセスされたレジスタを決定することは率直である。これは、アクセスされたレジスタが命令で直接的に符号化されるためである。PE命令の場合、タスクは、アクセスされたレジスタの集合がマイクロコードに依存するため、さらに複雑である。この問題は、命令によってアクセスされる4つのオペランドのバイト長さを示す、命令テーブル1042をアドレス指定するためにPE命令の9つのビットを使用することによって解決される。
ロード/記憶コントローラ1045の詳細な説明がここに示される。
ロード/記憶コントローラ1045は、PEメモリ1063上で以下の動作を実行する。
I/Oチャネル転送
PEメモリからPEレジスタファイルへのロードおよび記憶
ロード命令および記憶命令は、単一メモリページとレジスタファイルの4つのクワタ詰めバイトの間で示されるバイト数を、以下の通りに転送する。
メモリページの全てまたは一部は、MEEフィードバックバッファにコピーされてよい。ページアドレスは、メモリベースレジスタ機構(以下を参照)で修正できる。ページの各クワタ詰めバイトは、MEEフィードバックバッファのA部分、B部分、またはC部分の任意のサブセットにコピーすることができ、フィードバックバッファプッシュは、それぞれのクワタ詰めバイトの後に使用できる。
メモリリフレッシュは、他の全てのメモリ動作に対して優先順位を有する。ロード/記憶対I/Oチャネルの優先順位は、ステータスレジスタビットで選択される。
PEメモリは動的であり、リフレッシュされなければならない。これは、全てのページがリフレッシュ期間のたびに読み取られることを保証することによって、ソフトウェア内で達成されてよい。しかしながら、好ましい方法は、アーキテクチャ内でのハードウェアリフレッシュを含むことである。
ロード/記憶コントローラ1045によって使用されているメモリアドレスは、以下の2つの機構のどちらか、または両方で操作する命ことができる。
メモリベースレジスタは、命令の中のあるビットにより条件が設けられる、適切な命令によって指定されるページアドレスにオプションで追加される。
命令の索引ビットが設定されると、命令のメモリのクワタ詰めバイトアドレスの低い5つのビットが、PEごとに、PEのPレジスタの低い5つのビットと論理和される。
チャネルコントローラ108に関する詳細な説明を以下に続ける。前述されたように、チャネルコントローラは、外部メモリとPEメモリの間でデータの転送を制御する。各処理ブロック106では、転送エンジンが、ブロックI/Oレジスタとバスアーキテクチャ間で、直接メモリアクセスDMA転送を実行する。チャネル命令に応じて、データ転送はビニングユニット1069を通過するか、あるいは直接的に外部メモリへ/外部メモリから移動する。
PEメモリから外部メモリにデータを転送する書込み命令
チャネルおよびビニングユニット内でレジスタ値を操作する付帯演算命令
スレッドマネージャ102からの命令は、低優先順位、高優先順位およびビンナー命令に押し込まれる。各FIFOが、スレッドマネージャ102に送信される自身の「完全」表示を有し、その結果、完全命令FIFOでブロックされたスレッドは、別のスレッドが、いっぱいではない命令FIFOの中に命令を押し込むのを妨げないだろう。
BINNING機能
前述されたように、各処理ブロック106は、ブロックI/Oバスとシステムバス6の間で取り付けられている、関連付けられたビニングユニット1069を有する。ビニングユニットは、外部メモリ内のビンリストのプリミティブポインタの読み取りおよび書込みに対する特殊なサポートを提供する。
ビンリストは、リストデータをメモリに出力することによって、外部メモリ内で作成される。ビンリストは、メモリ内のビンのコンテンツの場所を示す。このようなリスト構造の保守は、ポインタアレイの形を取る追加の記憶ユニットを必要とする。ビンナーハードウェアは、メモリ内のこれらの構造に直接的にアクセスする。
ビニングハードウェアは、図9に詳細に示されており、PEアレイ1061が、プリミティブポインタを外部メモリに対して読書きできるようにするために必要とされるbinnitizationプロセスに関係する計算を処理する責任を負う。
ビンリストメモリの割当て
コンテキスト切替え時のビニング状態の保存および復元
ビニングユニット1069がBinner書込み命令を実行しているとき、それはビンリストの作成のために割り当てられる未知の量のメモリを必要とする。それは、このメモリにEPU8から一度に一部分を要求し、それを必要としているどのビンリストにもそれを割り当てる。ビンナーユニット1068は、32バイトの小さなチャンク(部分)をビンリストに割り当てるが、これは、それがこのレベルで割り当てられなければならないのであれば、不寛容にEPUをロードするだろう。代わりに、EPUは、それが適切であると決定するどのようなサイズ(例えば、64kBytesであるが、32バイトの任意の便利な倍数)であれデータの大きな部分を提供し、ビンナーユニット1068はこれを、チャンク発生器1106を使用して個々のチャンクに分割する。EPUからの大量のデータの転送は、EPUにとってさらに効率的であり、ビニングユニット1069の少量のデータの処理は、ビニングユニット1069にとってより効率的である。
図14は、図5および図10に図示されている処理要素の一部を形成する、プロセッサユニット1061aおよびPEレジスタファイル1061bを示す。PE1061は、マルチプレクサ210および212(AおよびB)を介して(R、S、VおよびPと示される)8ビットレジスタ202、204、206,208のブロックからデータ値を受け取るために接続される論理演算ユニット(ALU)214を含む。
複数ビットのイネーブルスタックをハードウェア内で提供することにより、ソフトウェアが、ALUがネスト化された命令シーケンスを処理しているときに、単一イネーブルビットのコンテンツを保存し、ロードする必要性を取り除くことができる。
Claims (25)
- 処理要素のSIMD(単一命令複数データ)アレイを備えるデータ処理装置であって、
複数の命令ストリームの各々に対する命令項目を検索する手段と、
前記複数の命令ストリームを結合してシリアル命令ストリームにする手段と、
前記シリアル命令ストリームを処理要素のアレイのデータ処理を制御する処理コントローラまたは前記処理要素へおよび前記処理要素からのデータの転送を制御するデータ転送コントローラのいずれかに配分する手段と、
各々が各命令ストリーム用であり、それぞれの命令ストリームを制御する複数の命令ストリームプロセッサと、
命令ストリーム間の同期を制御するセマフォコントローラと、
前記命令ストリームの各々に関する状態情報を供給する状態ブロックと、
状態情報を受信するように接続され、かつ前記命令ストリームのどれがアクティブであるべきであるかを決定するように作動可能であるスケジューリング手段と、を具備し、
前記処理要素が、複数の処理ブロックに作動可能に分割され、前記処理ブロックがデータ項目のそれぞれのグループを処理するように作動可能である、データ処理装置。 - 共通受信命令に従ってそれぞれのデータ項目を処理するように作動可能である処理要素のアレイを備えるデータ処理装置であって、
複数の命令ストリームの各々に対する命令項目を検索する手段と、
前記複数の命令ストリームを結合してシリアル命令ストリームにする手段と、
前記シリアル命令ストリームを処理要素のアレイのデータ処理を制御する処理コントローラまたは前記処理要素へおよび前記処理要素からのデータの転送を制御するデータ転送コントローラのいずれかに配分する手段と、
各々が各命令ストリーム用であり、それぞれの命令ストリームを制御する複数の命令ストリームプロセッサと、
命令ストリーム間の同期を制御するセマフォコントローラと、
前記命令ストリームの各々に関する状態情報を供給する状態ブロックと、
状態情報を受信するように接続され、かつ前記命令ストリームのどれがアクティブであるべきであるかを決定するように作動可能であるスケジューリング手段と、を具備し、
前記処理要素が、少なくとも1つの処理要素を有する複数の処理ブロックに作動可能に分割され、前記処理ブロックがデータ項目のそれぞれのグループを処理するように作動可能である、データ処理装置。 - 前記処理ブロックの中の少なくとも1つが、欠陥のある処理ブロックの代わりにデータ項目のグループを処理するように作動可能な冗長ブロックである、請求項1または2記載の装置。
- 処理ブロックに生じる欠陥を検出し、かつこの処理ブロックのデータ処理機能を冗長処理ブロックに転送するように作動可能な欠陥検出手段を備える、請求項3記載の装置。
- 各処理ブロックには、関連するブロックの欠陥処理要素の代わりにデータ項目を処理するように作動可能な少なくとも1つの冗長処理要素が装備されている、請求項1乃至請求項4のいずれか一項に記載の装置。
- 処理ブロックの前記処理要素が、その中の所定数の処理要素を有するグループに配置され、各々のこのようなグループが、前記グループの欠陥処理要素を取り換えるための少なくとも1つのこのような冗長処理要素を含む、請求項5記載の装置。
- 処理要素に生じる欠陥を検出し、かつこの処理要素のデータ処理機能を冗長処理要素に転送するように作動可能な欠陥検出手段を備える、請求項5または6記載の装置。
- 各処理ブロックが、各処理要素のための数式を評価し、かつそれぞれの評価を前記処理ブロックの前記処理要素に供給するように作動可能である、数式評価器を含む、請求項1乃至請求項7のいずれか一項に記載の装置。
- 前記ブロックの各処理要素のための式ax+by+cを評価するように作動可能であり、各処理要素が、特定の(x,y)値を割り当てられ、かつa、bおよびcが前記数式評価器に供給された係数である、請求項8記載の装置。
- 前記係数a、bおよびcが、前記処理ブロックの前記処理要素によって前記数式評価器に供給される、請求項9記載の装置。
- 前記係数a、bおよびcが、前記処理ブロックの外部にある供給源によって前記数式評価器に供給される、請求項9記載の装置。
- 前記処理要素によって処理される命令項目およびデータ項目が、互いから別々に前記処理要素に供給される、請求項1乃至請求項11のいずれか一項に記載の装置。
- 処理ブロックの処理要素によって処理されるデータ項目が、この処理ブロックの処理要素によって供給される、請求項1乃至請求項12のいずれか一項に記載の装置。
- 各処理要素が、データ項目および命令項目を受信し、受信命令項目に従って作動可能であるプロセッサユニットと、前記プロセッサユニットから受信されたデータ項目を記憶するメモリユニットと、前記プロセッサユニットと前記メモリユニットとの間に配置され、前記プロセッサユニットおよび前記メモリユニットからのデータ項目を記憶するように作動可能であり、これらのユニットの他方に転送し、かつ前記処理要素の前記プロセッサユニットによって処理するためのデータ項目を記憶するように作動可能であるレジスタファイルとを含む、請求項1乃至請求項13のいずれか一項に記載の装置。
- データ項目および命令項目を記憶する外部メモリと、
各処理要素と前記外部メモリとの間のデータ項目および命令項目の転送を制御するコントローラ手段とを備え、
前記または各処理要素が、
データ項目および命令項目を受信するように接続され、かつ前記命令項目に従って前記データ項目を処理するように作動可能なプロセッサユニットと、
前記プロセッサユニットに入力するためのデータ項目を一時的に記憶する複数の記憶レジスタであって、前記記憶レジスタの少なくとも1つがオフセット値を記憶するように作動可能である記憶レジスタと、
データ項目と外部メモリアドレスを示すアドレスデータを記憶するメモリユニットと、
データ項目を記憶するレジスタファイルであって、前記レジスタファイルが、前記プロセッサユニットと前記メモリユニットとの間に接続され、これらのユニットの他方に転送するためにこれらのユニットのいずれかからデータ項目を受信し、かつ前記処理要素の外部のメモリにデータ項目を転送し、かつ前記プロセッサユニットによって処理するためのデータ項目を記憶する、レジスタファイルとを備え、
前記コントローラ手段が、オフセット値を前記記憶レジスタから検索し、前記オフセット値を所定の基準アドレスと結合し、計算された内部アドレスを生じさせ、前記内部メモリの前記計算された内部アドレスに記憶された外部アドレスデータを検索し、かつ前記外部アドレスで前記外部メモリにアクセスするように作動可能である、請求項1または2記載のデータ処理装置。 - 前記コントローラ手段が、記憶データまたは命令項目を外部メモリの外部アドレスから検索し、前記検索されたデータまたは命令項目を前記処理要素に転送するように作動可能である、請求項15記載のデータ処理装置。
- 前記コントローラ手段が、前記処理要素からのデータ項目を前記外部アドレスに記憶するための前記外部メモリに転送するように作動可能である、請求項15記載のデータ処理装置。
- 各処理要素が、
命令項目に従ってデータ項目を処理するプロセッサユニットと、
前記処理要素がデータ項目を処理するために使用可能であるかどうかを指示するイネーブルレジスタとを備え、
前記イネーブルレジスタが、複数のインディケータを含み、各々が前記処理要素の使用許可状態または使用禁止状態を示すように作動可能であり、前記インディケータ全てが前記使用許可状態を示す場合、前記処理要素がデータ項目の処理のために利用可能である、請求項1乃至請求項17のいずれか一項に記載のデータ処理装置。 - 前記イネーブルレジスタの各インディケータが、関連される前記処理要素のための条件付処理ステップの状態を示すように作動可能である、請求項18記載のデータ処理装置。
- 前記イネーブルレジスタがハードウェアレジスタによって備えられる、請求項18または19記載のデータ処理装置。
- 各処理要素が、プロセッサユニットと、データ項目をデータ記憶ユニットへおよびデータ記憶ユニットから転送するメモリ入出力ポートと、データ項目を前記プロセッサユニットに転送するデータレジスタのセットとを備え、前記データレジスタのセットの前記レジスタの各々が、データ項目を前記メモリ入出力ポートから受信し、かつデータ項目を前記プロセッサユニットの出力から受信し、かつデータ項目を前記プロセッサユニットの入力に転送するために接続される、請求項1乃至請求項20のいずれか一項に記載のデータ処理装置。
- 請求項1乃至請求項21のいずれか一項に記載のデータ処理装置で命令ストリームをスケジュールする方法であって、どの命令ストリームが、時間における特定の瞬間に優先順位を有するかを決定し、かつこの命令ストリームを前記SIMDアレイに転送することを備える、方法。
- 処理要素のSIMD(単一命令複数データ)アレイを備えるデータ処理装置を使用してデータ項目を処理する方法であって、
複数の命令ストリームの各々に対する命令項目を検索し、
前記複数の命令ストリームを結合してシリアル命令ストリームにし、
前記シリアル命令ストリームを処理要素のアレイのデータ処理を制御する処理コントローラまたは前記処理要素へおよび前記処理要素からのデータの転送を制御するデータ転送コントローラのいずれかに配分し、
各々が各命令ストリーム用であり、それぞれの命令ストリームを制御し、
命令ストリーム間の同期を制御し、
前記命令ストリームの各々に関する状態情報を供給し、
状態情報を受信するように接続され、かつ前記命令ストリームのどれがアクティブであるべきであるかを決定し、
共通命令を前記アレイの前記処理要素の全てに供給し、
各処理要素が前記共通命令に従って異なるデータ項目を処理するようにそれぞれのデータ項目を前記処理要素に供給することを備え、
前記データ項目が、前記命令項目とは無関係に前記処理要素に供給される、方法。 - 前記アレイによって処理されるデータ項目が、前記アレイの前記処理要素の少なくとも1つによって直接供給される、請求項23記載の方法。
- 前記処理要素が、複数の処理ブロックに作動可能に分割され、各ブロックが所定のグループからデータ項目を処理するように作動可能である、請求項23記載の方法。
Applications Claiming Priority (33)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB9908203.4 | 1999-04-09 | ||
| GB9908201A GB2348972A (en) | 1999-04-09 | 1999-04-09 | Array controller for array of processing elements |
| GB9908222.4 | 1999-04-09 | ||
| GB9908209.1 | 1999-04-09 | ||
| GB9908203A GB2348973B (en) | 1999-04-09 | 1999-04-09 | Parallel data processing systems |
| GB9908199.4 | 1999-04-09 | ||
| GB9908225A GB2348980B (en) | 1999-04-09 | 1999-04-09 | Parallel data processing systems |
| GB9908226A GB2348981A (en) | 1999-04-09 | 1999-04-09 | Parallel data processing system with SIMD array |
| GB9908222A GB2352306A (en) | 1999-04-09 | 1999-04-09 | Parallel processing apparatus using a SIMD array |
| GB9908205A GB2348975A (en) | 1999-04-09 | 1999-04-09 | Parallel data processing systems |
| GB9908229A GB2348983A (en) | 1999-04-09 | 1999-04-09 | Parallel data processing system |
| GB9908227A GB2349484A (en) | 1999-04-09 | 1999-04-09 | Parallel data processing system with SIMD array |
| GB9908201.8 | 1999-04-09 | ||
| GB9908211.7 | 1999-04-09 | ||
| GB9908219.0 | 1999-04-09 | ||
| GB9908205.9 | 1999-04-09 | ||
| GB9908226.5 | 1999-04-09 | ||
| GB9908227.3 | 1999-04-09 | ||
| GB9908225.7 | 1999-04-09 | ||
| GB9908209A GB2348976A (en) | 1999-04-09 | 1999-04-09 | Single instruction multiple data array |
| GB9908199A GB2348971B (en) | 1999-04-09 | 1999-04-09 | Parallel data processing systems |
| GB9908214A GB2348978A (en) | 1999-04-09 | 1999-04-09 | Parallel redundant data processing apparatus |
| GB9908219A GB2348979A (en) | 1999-04-09 | 1999-04-09 | Parallel data processing system with shared memory |
| GB9908214.1 | 1999-04-09 | ||
| GB9908204.2 | 1999-04-09 | ||
| GB9908204A GB2348974B (en) | 1999-04-09 | 1999-04-09 | Parallel data processing systems |
| GB9908230A GB2348984B (en) | 1999-04-09 | 1999-04-09 | Parallel data processing systems |
| GB9908211A GB2348977A (en) | 1999-04-09 | 1999-04-09 | Parallel data processing systems with a SIMD array |
| GB9908228.1 | 1999-04-09 | ||
| GB9908230.7 | 1999-04-09 | ||
| GB9908228A GB2348982A (en) | 1999-04-09 | 1999-04-09 | Parallel data processing system |
| GB9908229.9 | 1999-04-09 | ||
| PCT/GB2000/001332 WO2000062182A2 (en) | 1999-04-09 | 2000-04-07 | Parallel data processing apparatus |
Related Child Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2010222021A Division JP2011023036A (ja) | 1999-04-09 | 2010-09-30 | 並列データ処理装置 |
| JP2010222022A Division JP2011023037A (ja) | 1999-04-09 | 2010-09-30 | 並列データ処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2002541586A JP2002541586A (ja) | 2002-12-03 |
| JP5285828B2 true JP5285828B2 (ja) | 2013-09-11 |
Family
ID=27585628
Family Applications (3)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2000611183A Expired - Lifetime JP5285828B2 (ja) | 1999-04-09 | 2000-04-07 | 並列データ処理装置 |
| JP2010222021A Pending JP2011023036A (ja) | 1999-04-09 | 2010-09-30 | 並列データ処理装置 |
| JP2010222022A Pending JP2011023037A (ja) | 1999-04-09 | 2010-09-30 | 並列データ処理装置 |
Family Applications After (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2010222021A Pending JP2011023036A (ja) | 1999-04-09 | 2010-09-30 | 並列データ処理装置 |
| JP2010222022A Pending JP2011023037A (ja) | 1999-04-09 | 2010-09-30 | 並列データ処理装置 |
Country Status (5)
| Country | Link |
|---|---|
| US (3) | US7363472B2 (ja) |
| EP (1) | EP1181648A1 (ja) |
| JP (3) | JP5285828B2 (ja) |
| AU (1) | AU3829500A (ja) |
| WO (1) | WO2000062182A2 (ja) |
Families Citing this family (163)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8174530B2 (en) * | 1999-04-09 | 2012-05-08 | Rambus Inc. | Parallel date processing apparatus |
| US20080162874A1 (en) * | 1999-04-09 | 2008-07-03 | Dave Stuttard | Parallel data processing apparatus |
| US20080008393A1 (en) * | 1999-04-09 | 2008-01-10 | Dave Stuttard | Parallel data processing apparatus |
| US20070242074A1 (en) * | 1999-04-09 | 2007-10-18 | Dave Stuttard | Parallel data processing apparatus |
| US7506136B2 (en) | 1999-04-09 | 2009-03-17 | Clearspeed Technology Plc | Parallel data processing apparatus |
| US7627736B2 (en) | 1999-04-09 | 2009-12-01 | Clearspeed Technology Plc | Thread manager to control an array of processing elements |
| US20080162875A1 (en) * | 1999-04-09 | 2008-07-03 | Dave Stuttard | Parallel Data Processing Apparatus |
| US8171263B2 (en) * | 1999-04-09 | 2012-05-01 | Rambus Inc. | Data processing apparatus comprising an array controller for separating an instruction stream processing instructions and data transfer instructions |
| US8169440B2 (en) | 1999-04-09 | 2012-05-01 | Rambus Inc. | Parallel data processing apparatus |
| US7966475B2 (en) | 1999-04-09 | 2011-06-21 | Rambus Inc. | Parallel data processing apparatus |
| US7802079B2 (en) | 1999-04-09 | 2010-09-21 | Clearspeed Technology Limited | Parallel data processing apparatus |
| US8762691B2 (en) | 1999-04-09 | 2014-06-24 | Rambus Inc. | Memory access consolidation for SIMD processing elements using transaction identifiers |
| EP1181648A1 (en) | 1999-04-09 | 2002-02-27 | Clearspeed Technology Limited | Parallel data processing apparatus |
| US7526630B2 (en) | 1999-04-09 | 2009-04-28 | Clearspeed Technology, Plc | Parallel data processing apparatus |
| GB2370380B (en) | 2000-12-19 | 2003-12-31 | Picochip Designs Ltd | Processor architecture |
| US7013302B2 (en) * | 2000-12-22 | 2006-03-14 | Nortel Networks Limited | Bit field manipulation |
| US7069422B2 (en) * | 2000-12-22 | 2006-06-27 | Modelski Richard P | Load-shift carry instruction |
| EP1384160A2 (en) | 2001-03-02 | 2004-01-28 | Atsana Semiconductor Corp. | Apparatus for variable word length computing in an array processor |
| US6895520B1 (en) | 2001-03-02 | 2005-05-17 | Advanced Micro Devices, Inc. | Performance and power optimization via block oriented performance measurement and control |
| US7185174B2 (en) | 2001-03-02 | 2007-02-27 | Mtekvision Co., Ltd. | Switch complex selectively coupling input and output of a node in two-dimensional array to four ports and using four switches coupling among ports |
| US7383421B2 (en) * | 2002-12-05 | 2008-06-03 | Brightscale, Inc. | Cellular engine for a data processing system |
| US7000090B2 (en) | 2002-01-21 | 2006-02-14 | Analog Devices, Inc. | Center focused single instruction multiple data (SIMD) array system |
| US6941446B2 (en) * | 2002-01-21 | 2005-09-06 | Analog Devices, Inc. | Single instruction multiple data array cell |
| US7480909B2 (en) * | 2002-02-25 | 2009-01-20 | International Business Machines Corporation | Method and apparatus for cooperative distributed task management in a storage subsystem with multiple controllers using cache locking |
| US6865659B2 (en) * | 2002-06-07 | 2005-03-08 | Sun Microsystems, Inc. | Using short references to access program elements in a large address space |
| US6980209B1 (en) * | 2002-06-14 | 2005-12-27 | Nvidia Corporation | Method and system for scalable, dataflow-based, programmable processing of graphics data |
| US6825843B2 (en) * | 2002-07-18 | 2004-11-30 | Nvidia Corporation | Method and apparatus for loop and branch instructions in a programmable graphics pipeline |
| GB2417586B (en) | 2002-07-19 | 2007-03-28 | Picochip Designs Ltd | Processor array |
| JP2004362086A (ja) * | 2003-06-03 | 2004-12-24 | Matsushita Electric Ind Co Ltd | 情報処理装置および機械語プログラム変換装置 |
| US7421565B1 (en) * | 2003-08-18 | 2008-09-02 | Cray Inc. | Method and apparatus for indirectly addressed vector load-add -store across multi-processors |
| US7870553B2 (en) | 2003-08-28 | 2011-01-11 | Mips Technologies, Inc. | Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts |
| US7594089B2 (en) * | 2003-08-28 | 2009-09-22 | Mips Technologies, Inc. | Smart memory based synchronization controller for a multi-threaded multiprocessor SoC |
| EP1658563B1 (en) * | 2003-08-28 | 2013-06-05 | MIPS Technologies, Inc. | Apparatus, and method for initiation of concurrent instruction streams in a multithreading microprocessor |
| US9032404B2 (en) | 2003-08-28 | 2015-05-12 | Mips Technologies, Inc. | Preemptive multitasking employing software emulation of directed exceptions in a multithreading processor |
| US7418585B2 (en) | 2003-08-28 | 2008-08-26 | Mips Technologies, Inc. | Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts |
| US7849297B2 (en) | 2003-08-28 | 2010-12-07 | Mips Technologies, Inc. | Software emulation of directed exceptions in a multithreading processor |
| US7836450B2 (en) * | 2003-08-28 | 2010-11-16 | Mips Technologies, Inc. | Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts |
| US7711931B2 (en) * | 2003-08-28 | 2010-05-04 | Mips Technologies, Inc. | Synchronized storage providing multiple synchronization semantics |
| US7239322B2 (en) | 2003-09-29 | 2007-07-03 | Ati Technologies Inc | Multi-thread graphic processing system |
| US6897871B1 (en) | 2003-11-20 | 2005-05-24 | Ati Technologies Inc. | Graphics processing architecture employing a unified shader |
| US8643659B1 (en) | 2003-12-31 | 2014-02-04 | 3Dlabs Inc., Ltd. | Shader with global and instruction caches |
| GB2411745B (en) * | 2004-03-02 | 2006-08-02 | Imagination Tech Ltd | Method and apparatus for management of control flow in a simd device |
| US7577869B2 (en) * | 2004-08-11 | 2009-08-18 | Ati Technologies Ulc | Apparatus with redundant circuitry and method therefor |
| US9098932B2 (en) * | 2004-08-11 | 2015-08-04 | Ati Technologies Ulc | Graphics processing logic with variable arithmetic logic unit control and method therefor |
| GB2417105B (en) * | 2004-08-13 | 2008-04-09 | Clearspeed Technology Plc | Processor memory system |
| US7827555B2 (en) * | 2004-09-13 | 2010-11-02 | Integrated Device Technology, Inc. | Scheduler for a multiprocessing computing system |
| US7634774B2 (en) * | 2004-09-13 | 2009-12-15 | Integrated Device Technology, Inc. | System and method of scheduling computing threads |
| US7644255B2 (en) * | 2005-01-13 | 2010-01-05 | Sony Computer Entertainment Inc. | Method and apparatus for enable/disable control of SIMD processor slices |
| US7746349B1 (en) | 2005-03-16 | 2010-06-29 | Nvidia Corporation | Method and apparatus for display of data |
| JP4893621B2 (ja) * | 2005-05-20 | 2012-03-07 | ソニー株式会社 | 信号処理装置 |
| US7451293B2 (en) * | 2005-10-21 | 2008-11-11 | Brightscale Inc. | Array of Boolean logic controlled processing elements with concurrent I/O processing and instruction sequencing |
| US7475197B1 (en) | 2005-10-25 | 2009-01-06 | Nvidia Corporation | Cross process memory management |
| US7447873B1 (en) | 2005-11-29 | 2008-11-04 | Nvidia Corporation | Multithreaded SIMD parallel processor with loading of groups of threads |
| US7594095B1 (en) | 2005-11-29 | 2009-09-22 | Nvidia Corporation | Multithreaded SIMD parallel processor with launching of groups of threads |
| US7788468B1 (en) | 2005-12-15 | 2010-08-31 | Nvidia Corporation | Synchronization of threads in a cooperative thread array |
| US7861060B1 (en) * | 2005-12-15 | 2010-12-28 | Nvidia Corporation | Parallel data processing systems and methods using cooperative thread arrays and thread identifier values to determine processing behavior |
| US7584342B1 (en) | 2005-12-15 | 2009-09-01 | Nvidia Corporation | Parallel data processing systems and methods using cooperative thread arrays and SIMD instruction issue |
| US8077174B2 (en) | 2005-12-16 | 2011-12-13 | Nvidia Corporation | Hierarchical processor array |
| US7634637B1 (en) * | 2005-12-16 | 2009-12-15 | Nvidia Corporation | Execution of parallel groups of threads with per-instruction serialization |
| US7697007B1 (en) | 2005-12-19 | 2010-04-13 | Nvidia Corporation | Predicated launching of compute thread arrays |
| US7728841B1 (en) | 2005-12-19 | 2010-06-01 | Nvidia Corporation | Coherent shader output for multiple targets |
| US8074224B1 (en) * | 2005-12-19 | 2011-12-06 | Nvidia Corporation | Managing state information for a multi-threaded processor |
| US7865894B1 (en) | 2005-12-19 | 2011-01-04 | Nvidia Corporation | Distributing processing tasks within a processor |
| US7631171B2 (en) * | 2005-12-19 | 2009-12-08 | Sun Microsystems, Inc. | Method and apparatus for supporting vector operations on a multi-threaded microprocessor |
| US7526634B1 (en) | 2005-12-19 | 2009-04-28 | Nvidia Corporation | Counter-based delay of dependent thread group execution |
| WO2007082044A2 (en) * | 2006-01-10 | 2007-07-19 | Brightscale, Inc. | Method and apparatus for processing algorithm steps of multimedia data in parallel processing systems |
| US7647476B2 (en) * | 2006-03-14 | 2010-01-12 | Intel Corporation | Common analog interface for multiple processor cores |
| US9563433B1 (en) | 2006-09-01 | 2017-02-07 | Allsearch Semi Llc | System and method for class-based execution of an instruction broadcasted to an array of processing elements |
| US20080059764A1 (en) * | 2006-09-01 | 2008-03-06 | Gheorghe Stefan | Integral parallel machine |
| US20080059762A1 (en) * | 2006-09-01 | 2008-03-06 | Bogdan Mitu | Multi-sequence control for a data parallel system |
| US20080055307A1 (en) * | 2006-09-01 | 2008-03-06 | Lazar Bivolarski | Graphics rendering pipeline |
| US20080059467A1 (en) * | 2006-09-05 | 2008-03-06 | Lazar Bivolarski | Near full motion search algorithm |
| US7627723B1 (en) | 2006-09-21 | 2009-12-01 | Nvidia Corporation | Atomic memory operators in a parallel processor |
| US8087029B1 (en) | 2006-10-23 | 2011-12-27 | Nvidia Corporation | Thread-type-based load balancing in a multithreaded processor |
| US8108872B1 (en) | 2006-10-23 | 2012-01-31 | Nvidia Corporation | Thread-type-based resource allocation in a multithreaded processor |
| US7680988B1 (en) | 2006-10-30 | 2010-03-16 | Nvidia Corporation | Single interconnect providing read and write access to a memory shared by concurrent threads |
| US8176265B2 (en) | 2006-10-30 | 2012-05-08 | Nvidia Corporation | Shared single-access memory with management of multiple parallel requests |
| US8108625B1 (en) | 2006-10-30 | 2012-01-31 | Nvidia Corporation | Shared memory with parallel access and access conflict resolution mechanism |
| US8429656B1 (en) | 2006-11-02 | 2013-04-23 | Nvidia Corporation | Thread count throttling for efficient resource utilization |
| US7663621B1 (en) * | 2006-11-03 | 2010-02-16 | Nvidia Corporation | Cylindrical wrapping using shader hardware |
| US8271746B1 (en) | 2006-11-03 | 2012-09-18 | Nvidia Corporation | Tiering of linear clients |
| US9135017B2 (en) * | 2007-01-16 | 2015-09-15 | Ati Technologies Ulc | Configurable shader ALU units |
| JP4913685B2 (ja) * | 2007-07-04 | 2012-04-11 | 株式会社リコー | Simd型マイクロプロセッサおよびsimd型マイクロプロセッサの制御方法 |
| GB2454865B (en) | 2007-11-05 | 2012-06-13 | Picochip Designs Ltd | Power control |
| US20090248919A1 (en) * | 2008-03-25 | 2009-10-01 | Jerzy Szwagrzyk | Method for external fifo acceleration |
| US8073559B2 (en) * | 2008-06-19 | 2011-12-06 | Varian Semiconductor Equipment Associates, Inc. | Material transport systems using autonomous controls |
| US8755515B1 (en) | 2008-09-29 | 2014-06-17 | Wai Wu | Parallel signal processing system and method |
| KR101572879B1 (ko) | 2009-04-29 | 2015-12-01 | 삼성전자주식회사 | 병렬 응용 프로그램을 동적으로 병렬처리 하는 시스템 및 방법 |
| GB2470037B (en) | 2009-05-07 | 2013-07-10 | Picochip Designs Ltd | Methods and devices for reducing interference in an uplink |
| GB2470771B (en) | 2009-06-05 | 2012-07-18 | Picochip Designs Ltd | A method and device in a communication network |
| GB2470891B (en) | 2009-06-05 | 2013-11-27 | Picochip Designs Ltd | A method and device in a communication network |
| JP5394501B2 (ja) | 2009-10-02 | 2014-01-22 | シャープ株式会社 | 血管状態モニタリング方法 |
| GB2474071B (en) | 2009-10-05 | 2013-08-07 | Picochip Designs Ltd | Femtocell base station |
| DE102009054637A1 (de) * | 2009-12-15 | 2011-06-16 | Robert Bosch Gmbh | Verfahren zum Betreiben einer Recheneinheit |
| US8627042B2 (en) * | 2009-12-30 | 2014-01-07 | International Business Machines Corporation | Data parallel function call for determining if called routine is data parallel |
| JP5386634B2 (ja) | 2010-03-19 | 2014-01-15 | シャープ株式会社 | 測定結果処理装置、測定システム、測定結果処理方法、制御プログラムおよび記録媒体 |
| US8683185B2 (en) | 2010-07-26 | 2014-03-25 | International Business Machines Corporation | Ceasing parallel processing of first set of loops upon selectable number of monitored terminations and processing second set |
| GB2482869B (en) | 2010-08-16 | 2013-11-06 | Picochip Designs Ltd | Femtocell access control |
| US9552206B2 (en) * | 2010-11-18 | 2017-01-24 | Texas Instruments Incorporated | Integrated circuit with control node circuitry and processing circuitry |
| US8688957B2 (en) * | 2010-12-21 | 2014-04-01 | Intel Corporation | Mechanism for conflict detection using SIMD |
| GB2489716B (en) | 2011-04-05 | 2015-06-24 | Intel Corp | Multimode base system |
| GB2489919B (en) | 2011-04-05 | 2018-02-14 | Intel Corp | Filter |
| GB2491098B (en) | 2011-05-16 | 2015-05-20 | Intel Corp | Accessing a base station |
| US9183614B2 (en) | 2011-09-03 | 2015-11-10 | Mireplica Technology, Llc | Processor, system, and method for efficient, high-throughput processing of two-dimensional, interrelated data sets |
| US9037931B2 (en) | 2011-12-21 | 2015-05-19 | Advanced Micro Devices, Inc. | Methods and systems for logic device defect tolerant redundancy |
| EP2608558A1 (en) * | 2011-12-22 | 2013-06-26 | Thomson Licensing | System and method for adaptive streaming in a multipath environment |
| US10157060B2 (en) | 2011-12-29 | 2018-12-18 | Intel Corporation | Method, device and system for control signaling in a data path module of a data stream processing engine |
| US9411584B2 (en) | 2012-12-29 | 2016-08-09 | Intel Corporation | Methods, apparatus, instructions, and logic to provide vector address conflict detection functionality |
| US9411592B2 (en) | 2012-12-29 | 2016-08-09 | Intel Corporation | Vector address conflict resolution with vector population count functionality |
| KR102102166B1 (ko) | 2013-04-22 | 2020-04-21 | 삼성전자 주식회사 | 심드 구조 기반의 쓰레드 분기 관리 장치 및 방법 |
| US9274904B2 (en) * | 2013-06-18 | 2016-03-01 | Advanced Micro Devices, Inc. | Software only inter-compute unit redundant multithreading for GPUs |
| US9218291B2 (en) * | 2013-07-25 | 2015-12-22 | International Business Machines Corporation | Implementing selective cache injection |
| US11768689B2 (en) | 2013-08-08 | 2023-09-26 | Movidius Limited | Apparatus, systems, and methods for low power computational imaging |
| US9934043B2 (en) | 2013-08-08 | 2018-04-03 | Linear Algebra Technologies Limited | Apparatus, systems, and methods for providing computational imaging pipeline |
| US10331583B2 (en) | 2013-09-26 | 2019-06-25 | Intel Corporation | Executing distributed memory operations using processing elements connected by distributed channels |
| JP2016066218A (ja) * | 2014-09-24 | 2016-04-28 | 株式会社ソシオネクスト | プロセッサ、半導体集積回路、及びベクトル命令の処理方法 |
| KR102497849B1 (ko) | 2016-05-09 | 2023-02-07 | 삼성전자주식회사 | 분석물질 농도 예측 방법 및 장치 |
| US10699362B2 (en) * | 2016-06-23 | 2020-06-30 | Intel Corporation | Divergent control flow for fused EUs |
| US20180005059A1 (en) * | 2016-07-01 | 2018-01-04 | Google Inc. | Statistics Operations On Two Dimensional Image Processor |
| US10616316B2 (en) | 2016-09-15 | 2020-04-07 | International Business Machines Corporation | Processing element host management in a stream computing environment |
| US10162680B2 (en) * | 2016-12-13 | 2018-12-25 | GM Global Technology Operations LLC | Control of data exchange between a primary core and a secondary core using a freeze process flag and a data frozen flag in real-time |
| US10558575B2 (en) | 2016-12-30 | 2020-02-11 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator |
| US10572376B2 (en) | 2016-12-30 | 2020-02-25 | Intel Corporation | Memory ordering in acceleration hardware |
| US10416999B2 (en) | 2016-12-30 | 2019-09-17 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator |
| US10474375B2 (en) | 2016-12-30 | 2019-11-12 | Intel Corporation | Runtime address disambiguation in acceleration hardware |
| JP2018165913A (ja) * | 2017-03-28 | 2018-10-25 | 富士通株式会社 | 演算処理装置、情報処理装置、及び演算処理装置の制御方法 |
| US10467183B2 (en) | 2017-07-01 | 2019-11-05 | Intel Corporation | Processors and methods for pipelined runtime services in a spatial array |
| US10515046B2 (en) | 2017-07-01 | 2019-12-24 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator |
| US10515049B1 (en) | 2017-07-01 | 2019-12-24 | Intel Corporation | Memory circuits and methods for distributed memory hazard detection and error recovery |
| US10445234B2 (en) | 2017-07-01 | 2019-10-15 | Intel Corporation | Processors, methods, and systems for a configurable spatial accelerator with transactional and replay features |
| US10469397B2 (en) | 2017-07-01 | 2019-11-05 | Intel Corporation | Processors and methods with configurable network-based dataflow operator circuits |
| US10445451B2 (en) | 2017-07-01 | 2019-10-15 | Intel Corporation | Processors, methods, and systems for a configurable spatial accelerator with performance, correctness, and power reduction features |
| US10387319B2 (en) | 2017-07-01 | 2019-08-20 | Intel Corporation | Processors, methods, and systems for a configurable spatial accelerator with memory system performance, power reduction, and atomics support features |
| US10496574B2 (en) | 2017-09-28 | 2019-12-03 | Intel Corporation | Processors, methods, and systems for a memory fence in a configurable spatial accelerator |
| US11086816B2 (en) | 2017-09-28 | 2021-08-10 | Intel Corporation | Processors, methods, and systems for debugging a configurable spatial accelerator |
| US10445098B2 (en) | 2017-09-30 | 2019-10-15 | Intel Corporation | Processors and methods for privileged configuration in a spatial array |
| US10417175B2 (en) | 2017-12-30 | 2019-09-17 | Intel Corporation | Apparatus, methods, and systems for memory consistency in a configurable spatial accelerator |
| US10445250B2 (en) | 2017-12-30 | 2019-10-15 | Intel Corporation | Apparatus, methods, and systems with a configurable spatial accelerator |
| US10565134B2 (en) | 2017-12-30 | 2020-02-18 | Intel Corporation | Apparatus, methods, and systems for multicast in a configurable spatial accelerator |
| US20190303297A1 (en) * | 2018-04-02 | 2019-10-03 | Intel Corporation | Apparatus, methods, and systems for remote memory access in a configurable spatial accelerator |
| US11307873B2 (en) | 2018-04-03 | 2022-04-19 | Intel Corporation | Apparatus, methods, and systems for unstructured data flow in a configurable spatial accelerator with predicate propagation and merging |
| US10564980B2 (en) | 2018-04-03 | 2020-02-18 | Intel Corporation | Apparatus, methods, and systems for conditional queues in a configurable spatial accelerator |
| US10891240B2 (en) | 2018-06-30 | 2021-01-12 | Intel Corporation | Apparatus, methods, and systems for low latency communication in a configurable spatial accelerator |
| US10459866B1 (en) | 2018-06-30 | 2019-10-29 | Intel Corporation | Apparatuses, methods, and systems for integrated control and data processing in a configurable spatial accelerator |
| US10853073B2 (en) | 2018-06-30 | 2020-12-01 | Intel Corporation | Apparatuses, methods, and systems for conditional operations in a configurable spatial accelerator |
| US11200186B2 (en) | 2018-06-30 | 2021-12-14 | Intel Corporation | Apparatuses, methods, and systems for operations in a configurable spatial accelerator |
| DE102018115902A1 (de) | 2018-07-01 | 2020-01-02 | Oliver Bartels | SIMD-Prozessor mit CAM zur Operandenauswahl nach Mustererkennung |
| GB2578320B (en) * | 2018-10-23 | 2023-07-05 | Advanced Risc Mach Ltd | Graphics processing |
| US10678724B1 (en) | 2018-12-29 | 2020-06-09 | Intel Corporation | Apparatuses, methods, and systems for in-network storage in a configurable spatial accelerator |
| US10965536B2 (en) | 2019-03-30 | 2021-03-30 | Intel Corporation | Methods and apparatus to insert buffers in a dataflow graph |
| US10817291B2 (en) | 2019-03-30 | 2020-10-27 | Intel Corporation | Apparatuses, methods, and systems for swizzle operations in a configurable spatial accelerator |
| US10915471B2 (en) | 2019-03-30 | 2021-02-09 | Intel Corporation | Apparatuses, methods, and systems for memory interface circuit allocation in a configurable spatial accelerator |
| US11029927B2 (en) | 2019-03-30 | 2021-06-08 | Intel Corporation | Methods and apparatus to detect and annotate backedges in a dataflow graph |
| US11037050B2 (en) | 2019-06-29 | 2021-06-15 | Intel Corporation | Apparatuses, methods, and systems for memory interface circuit arbitration in a configurable spatial accelerator |
| US11074213B2 (en) * | 2019-06-29 | 2021-07-27 | Intel Corporation | Apparatuses, methods, and systems for vector processor architecture having an array of identical circuit blocks |
| US11907713B2 (en) | 2019-12-28 | 2024-02-20 | Intel Corporation | Apparatuses, methods, and systems for fused operations using sign modification in a processing element of a configurable spatial accelerator |
| US11500811B2 (en) * | 2020-06-12 | 2022-11-15 | Alibaba Group Holding Limited | Apparatuses and methods for map reduce |
| US12504958B2 (en) | 2020-09-09 | 2025-12-23 | Ascenium, Inc. | Compute element processing using control word templates |
| US12493554B2 (en) | 2020-09-09 | 2025-12-09 | Ascenium, Inc. | Parallel processing using hazard detection and mitigation |
| US12578991B2 (en) | 2020-09-09 | 2026-03-17 | Ascenium, Inc. | Parallel processing architecture with distributed register files |
| US12086080B2 (en) | 2020-09-26 | 2024-09-10 | Intel Corporation | Apparatuses, methods, and systems for a configurable accelerator having dataflow execution circuits |
| EP4229572A4 (en) * | 2020-10-15 | 2024-11-20 | Ascenium, Inc. | PARALLEL PROCESSING ARCHITECTURE WITH BACKGROUND LOADS |
| US12353320B2 (en) | 2023-08-31 | 2025-07-08 | Advanced Micro Devices, Inc | Low latency offloading of collectives over a switch |
Family Cites Families (119)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3537074A (en) * | 1967-12-20 | 1970-10-27 | Burroughs Corp | Parallel operating array computer |
| FR2253418A5 (ja) * | 1973-11-30 | 1975-06-27 | Honeywell Bull Soc Ind | |
| FR2253420A5 (ja) * | 1973-11-30 | 1975-06-27 | Honeywell Bull Soc Ind | |
| FR2253423A5 (ja) * | 1973-11-30 | 1975-06-27 | Honeywell Bull Soc Ind | |
| US4229790A (en) * | 1978-10-16 | 1980-10-21 | Denelcor, Inc. | Concurrent task and instruction processor and method |
| US4314349A (en) | 1979-12-31 | 1982-02-02 | Goodyear Aerospace Corporation | Processing element for parallel array processors |
| US4435758A (en) * | 1980-03-10 | 1984-03-06 | International Business Machines Corporation | Method for conditional branch execution in SIMD vector processors |
| GB2074351B (en) | 1980-03-28 | 1984-01-04 | Int Computers Ltd | Data processing system |
| FI66995C (fi) | 1980-06-12 | 1984-12-10 | Elevator Gmbh | Foerfarande och anordning foer att oeverfoera data mellanprocessorer i ett flerprocessorsystem |
| US4590465A (en) * | 1982-02-18 | 1986-05-20 | Henry Fuchs | Graphics display system using logic-enhanced pixel memory cells |
| US4484273A (en) * | 1982-09-03 | 1984-11-20 | Sequoia Systems, Inc. | Modular computer system |
| US4602328A (en) * | 1982-12-17 | 1986-07-22 | L'etat Francais Represente Par Le Ministre Des P.T.T. (Centre National D'etudes Des Telecommunications) | Management system for the memory of a processor or microprocessor |
| JPS59136859A (ja) * | 1983-01-27 | 1984-08-06 | Nec Corp | バツフア制御装置 |
| US5247689A (en) * | 1985-02-25 | 1993-09-21 | Ewert Alfred P | Parallel digital processor including lateral transfer buses with interrupt switches to form bus interconnection segments |
| US5113523A (en) | 1985-05-06 | 1992-05-12 | Ncube Corporation | High performance computer system |
| US4972314A (en) | 1985-05-20 | 1990-11-20 | Hughes Aircraft Company | Data flow signal processor method and apparatus |
| US4754398A (en) * | 1985-06-28 | 1988-06-28 | Cray Research, Inc. | System for multiprocessor communication using local and common semaphore and information registers |
| US4739476A (en) * | 1985-08-01 | 1988-04-19 | General Electric Company | Local interconnection scheme for parallel processing architectures |
| US4907148A (en) * | 1985-11-13 | 1990-03-06 | Alcatel U.S.A. Corp. | Cellular array processor with individual cell-level data-dependent cell control and multiport input memory |
| US4835729A (en) * | 1985-12-12 | 1989-05-30 | Alcatel Usa, Corp. | Single instruction multiple data (SIMD) cellular array processing apparatus with on-board RAM and address generator apparatus |
| GB8605366D0 (en) * | 1986-03-05 | 1986-04-09 | Secr Defence | Digital processor |
| JPS62274454A (ja) * | 1986-05-23 | 1987-11-28 | Hitachi Ltd | 並列処理計算機 |
| JPS6353678A (ja) * | 1986-08-22 | 1988-03-07 | Hitachi Ltd | ベクトル処理装置 |
| CA1293819C (en) * | 1986-08-29 | 1991-12-31 | Thinking Machines Corporation | Very large scale computer |
| US4985832A (en) * | 1986-09-18 | 1991-01-15 | Digital Equipment Corporation | SIMD array processing system with routing networks having plurality of switching stages to transfer messages among processors |
| US5230079A (en) * | 1986-09-18 | 1993-07-20 | Digital Equipment Corporation | Massively parallel array processing system with processors selectively accessing memory module locations using address in microword or in address register |
| US5175865A (en) * | 1986-10-28 | 1992-12-29 | Thinking Machines Corporation | Partitioning the processors of a massively parallel single array processor into sub-arrays selectively controlled by host computers |
| US5165023A (en) * | 1986-12-17 | 1992-11-17 | Massachusetts Institute Of Technology | Parallel processing system with processor array and network communications system for transmitting messages of variable length |
| US5127104A (en) * | 1986-12-29 | 1992-06-30 | Dataflow Computer Corporation | Method and product involving translation and execution of programs by automatic partitioning and data structure allocation |
| FR2622989B1 (fr) * | 1987-11-06 | 1992-11-27 | Thomson Csf | Machine multiprocesseur reconfigurable pour traitement du signal |
| US5081575A (en) | 1987-11-06 | 1992-01-14 | Oryx Corporation | Highly parallel computer architecture employing crossbar switch with selectable pipeline delay |
| CA1309198C (en) | 1987-12-10 | 1992-10-20 | Carlo J. Evangelisti | Parallel rendering of smoothly shaded color triangles with anti-aliased edges for a three dimensional color display |
| US4939638A (en) * | 1988-02-23 | 1990-07-03 | Stellar Computer Inc. | Time sliced vector processing |
| US5159686A (en) * | 1988-02-29 | 1992-10-27 | Convex Computer Corporation | Multi-processor computer system having process-independent communication register addressing |
| GB2216306A (en) | 1988-02-29 | 1989-10-04 | Ardent Computer Corp | Load and synchronize computer architecture and process |
| US5038282A (en) * | 1988-05-11 | 1991-08-06 | Massachusetts Institute Of Technology | Synchronous processor with simultaneous instruction processing and data transfer |
| US4970724A (en) | 1988-12-22 | 1990-11-13 | Hughes Aircraft Company | Redundancy and testing techniques for IC wafers |
| US5151969A (en) * | 1989-03-29 | 1992-09-29 | Siemens Corporate Research Inc. | Self-repairing trellis networks |
| JPH03132861A (ja) * | 1989-10-19 | 1991-06-06 | Agency Of Ind Science & Technol | マルチプロセッサ・システムの再構成制御方式 |
| EP0424618A3 (en) | 1989-10-24 | 1992-11-19 | International Business Machines Corporation | Input/output system |
| JP2835103B2 (ja) | 1989-11-01 | 1998-12-14 | 富士通株式会社 | 命令指定方法及び命令実行方式 |
| GB8925721D0 (en) | 1989-11-14 | 1990-01-04 | Amt Holdings | Processor array system |
| US6070003A (en) | 1989-11-17 | 2000-05-30 | Texas Instruments Incorporated | System and method of memory access in apparatus having plural processors and plural memories |
| US5339447A (en) | 1989-11-17 | 1994-08-16 | Texas Instruments Incorporated | Ones counting circuit, utilizing a matrix of interconnected half-adders, for counting the number of ones in a binary string of image data |
| US5239654A (en) | 1989-11-17 | 1993-08-24 | Texas Instruments Incorporated | Dual mode SIMD/MIMD processor providing reuse of MIMD instruction memories as data memories when operating in SIMD mode |
| US5212777A (en) | 1989-11-17 | 1993-05-18 | Texas Instruments Incorporated | Multi-processor reconfigurable in single instruction multiple data (SIMD) and multiple instruction multiple data (MIMD) modes and method of operation |
| US5522083A (en) | 1989-11-17 | 1996-05-28 | Texas Instruments Incorporated | Reconfigurable multi-processor operating in SIMD mode with one processor fetching instructions for use by remaining processors |
| JP3102495B2 (ja) * | 1989-12-28 | 2000-10-23 | 株式会社日立製作所 | 仮想記憶管理方法 |
| US5185872A (en) | 1990-02-28 | 1993-02-09 | Intel Corporation | System for executing different cycle instructions by selectively bypassing scoreboard register and canceling the execution of conditionally issued instruction if needed resources are busy |
| US5276886A (en) * | 1990-10-11 | 1994-01-04 | Chips And Technologies, Inc. | Hardware semaphores in a multi-processor environment |
| US5590345A (en) | 1990-11-13 | 1996-12-31 | International Business Machines Corporation | Advanced parallel array processor(APAP) |
| US5734921A (en) | 1990-11-13 | 1998-03-31 | International Business Machines Corporation | Advanced parallel array processor computer package |
| US5765011A (en) * | 1990-11-13 | 1998-06-09 | International Business Machines Corporation | Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams |
| US5815723A (en) * | 1990-11-13 | 1998-09-29 | International Business Machines Corporation | Picket autonomy on a SIMD machine |
| US5828894A (en) * | 1990-11-13 | 1998-10-27 | International Business Machines Corporation | Array processor having grouping of SIMD pickets |
| US5625836A (en) | 1990-11-13 | 1997-04-29 | International Business Machines Corporation | SIMD/MIMD processing memory element (PME) |
| US5175858A (en) * | 1991-03-04 | 1992-12-29 | Adaptive Solutions, Inc. | Mechanism providing concurrent computational/communications in SIMD architecture |
| JP2743608B2 (ja) * | 1991-03-27 | 1998-04-22 | 日本電気株式会社 | 共有レジスタ制御方式 |
| US5522080A (en) * | 1991-10-24 | 1996-05-28 | Intel Corporation | Centralized control SIMD processor having different priority levels set for each data transfer request type and successively repeating the servicing of data transfer request in a predetermined order |
| CA2073516A1 (en) * | 1991-11-27 | 1993-05-28 | Peter Michael Kogge | Dynamic multi-mode parallel processor array architecture computer system |
| JP2642039B2 (ja) | 1992-05-22 | 1997-08-20 | インターナショナル・ビジネス・マシーンズ・コーポレイション | アレイ・プロセッサ |
| JPH0668053A (ja) * | 1992-08-20 | 1994-03-11 | Toshiba Corp | 並列計算機 |
| JPH06131309A (ja) * | 1992-10-21 | 1994-05-13 | Sanyo Electric Co Ltd | 並列計算機システム |
| US5388206A (en) * | 1992-11-13 | 1995-02-07 | The University Of North Carolina | Architecture and apparatus for image generation |
| JP2878538B2 (ja) * | 1992-12-03 | 1999-04-05 | 富士通株式会社 | データ処理装置及びデータ処理方法 |
| GB2273377A (en) | 1992-12-11 | 1994-06-15 | Hughes Aircraft Co | Multiple masks for array processors |
| US5437045A (en) * | 1992-12-18 | 1995-07-25 | Xerox Corporation | Parallel processing with subsampling/spreading circuitry and data transfer circuitry to and from any processing unit |
| US5457779A (en) | 1993-01-15 | 1995-10-10 | Silicon Graphics, Inc. | System for accessing graphic data in a SIMD processing environment |
| US5825921A (en) | 1993-03-19 | 1998-10-20 | Intel Corporation | Memory transfer apparatus and method useful within a pattern recognition system |
| US5717947A (en) * | 1993-03-31 | 1998-02-10 | Motorola, Inc. | Data processing system and method thereof |
| JP3199205B2 (ja) * | 1993-11-19 | 2001-08-13 | 株式会社日立製作所 | 並列演算装置 |
| US5745778A (en) | 1994-01-26 | 1998-04-28 | Data General Corporation | Apparatus and method for improved CPU affinity in a multiprocessor system |
| US5606683A (en) * | 1994-01-28 | 1997-02-25 | Quantum Effect Design, Inc. | Structure and method for virtual-to-physical address translation in a translation lookaside buffer |
| CN1107597A (zh) | 1994-02-24 | 1995-08-30 | 吴乾弥 | 管线式与心跳式及单指令多数据流的阵列处理架构及方法 |
| US5673407A (en) | 1994-03-08 | 1997-09-30 | Texas Instruments Incorporated | Data processor having capability to perform both floating point operations and memory access in response to a single instruction |
| US5487022A (en) | 1994-03-08 | 1996-01-23 | Texas Instruments Incorporated | Normalization method for floating point numbers |
| US5652872A (en) * | 1994-03-08 | 1997-07-29 | Exponential Technology, Inc. | Translator having segment bounds encoding for storage in a TLB |
| JP3300776B2 (ja) | 1994-03-15 | 2002-07-08 | 株式会社日立製作所 | 並列プロセッサの切替え制御方式 |
| WO1995028686A1 (en) | 1994-04-15 | 1995-10-26 | David Sarnoff Research Center, Inc. | Parallel processing computer containing a multiple instruction stream processing architecture |
| JP3308770B2 (ja) | 1994-07-22 | 2002-07-29 | 三菱電機株式会社 | 情報処理装置および情報処理装置における計算方法 |
| US5590356A (en) * | 1994-08-23 | 1996-12-31 | Massachusetts Institute Of Technology | Mesh parallel computer architecture apparatus and associated methods |
| US5649135A (en) * | 1995-01-17 | 1997-07-15 | International Business Machines Corporation | Parallel processing system and method using surrogate instructions |
| US5630160A (en) | 1995-03-08 | 1997-05-13 | Texas Instruments Incorporated | Floating point exponent compare using repeated two bit compare cell |
| US5752031A (en) * | 1995-04-24 | 1998-05-12 | Microsoft Corporation | Queue object for controlling concurrency in a computer system |
| US6112019A (en) | 1995-06-12 | 2000-08-29 | Georgia Tech Research Corp. | Distributed instruction queue |
| JPH0926888A (ja) * | 1995-07-13 | 1997-01-28 | Hitachi Ltd | 排他制御装置 |
| US5831625A (en) * | 1996-01-02 | 1998-11-03 | Integrated Device Technology, Inc. | Wavelet texturing |
| US6108460A (en) * | 1996-01-02 | 2000-08-22 | Pixelfusion Limited | Load balanced image generation |
| US5808690A (en) * | 1996-01-02 | 1998-09-15 | Integrated Device Technology, Inc. | Image generation system, methods and computer program products using distributed processing |
| US5892517A (en) * | 1996-01-02 | 1999-04-06 | Integrated Device Technology, Inc. | Shared access texturing of computer graphic images |
| US5850489A (en) * | 1996-01-02 | 1998-12-15 | Integrated Device Technology, Inc. | Linear expression evaluator |
| US5835925A (en) | 1996-03-13 | 1998-11-10 | Cray Research, Inc. | Using external registers to extend memory reference capabilities of a microprocessor |
| JPH09288652A (ja) * | 1996-04-23 | 1997-11-04 | Nec Corp | 並列プロセッサの冗長切り替え装置 |
| US6104842A (en) * | 1996-06-10 | 2000-08-15 | Integrated Device Technology, Inc. | Geometry processing of digital video models and images |
| DE69728086D1 (de) * | 1996-07-02 | 2004-04-22 | Sun Microsystems Inc | Erweiterte symmetrische Multiprozessorarchitektur |
| US6058465A (en) * | 1996-08-19 | 2000-05-02 | Nguyen; Le Trong | Single-instruction-multiple-data processing in a multimedia signal processor |
| US6154225A (en) | 1996-10-11 | 2000-11-28 | Silicon Motion, Inc. | Virtual refresh™ architecture for a video-graphics controller |
| US6016395A (en) | 1996-10-18 | 2000-01-18 | Samsung Electronics Co., Ltd. | Programming a vector processor and parallel programming of an asymmetric dual multiprocessor comprised of a vector processor and a risc processor |
| JP3645671B2 (ja) * | 1996-10-29 | 2005-05-11 | 富士通株式会社 | 命令バッファを有するプロセッサ装置 |
| US6697063B1 (en) | 1997-01-03 | 2004-02-24 | Nvidia U.S. Investment Company | Rendering pipeline |
| US5796385A (en) * | 1997-01-28 | 1998-08-18 | Integrated Device Technology, Inc. | Luminance controlled color resolution reduction |
| US5949426A (en) * | 1997-01-28 | 1999-09-07 | Integrated Device Technology, Inc. | Non-linear texture map blending |
| US6055619A (en) | 1997-02-07 | 2000-04-25 | Cirrus Logic, Inc. | Circuits, system, and methods for processing multiple data streams |
| US6131151A (en) | 1997-11-12 | 2000-10-10 | Lsi Logic Corporation | Processing high-speed digital datastreams with reduced memory |
| US6055579A (en) | 1997-11-17 | 2000-04-25 | Silicon Graphics, Inc. | Distributed control and synchronization of multiple data processors using flexible command queues |
| US6173389B1 (en) | 1997-12-04 | 2001-01-09 | Billions Of Operations Per Second, Inc. | Methods and apparatus for dynamic very long instruction word sub-instruction selection for execution time parallelism in an indirect very long instruction word processor |
| US6259460B1 (en) | 1998-03-26 | 2001-07-10 | Silicon Graphics, Inc. | Method for efficient handling of texture cache misses by recirculation |
| US6173388B1 (en) | 1998-04-09 | 2001-01-09 | Teranex Inc. | Directly accessing local memories of array processors for improved real-time corner turning processing |
| US6266759B1 (en) * | 1998-12-14 | 2001-07-24 | Cray, Inc. | Register scoreboarding to support overlapped execution of vector memory reference instructions in a vector processor |
| US6304955B1 (en) | 1998-12-30 | 2001-10-16 | Intel Corporation | Method and apparatus for performing latency based hazard detection |
| US6308252B1 (en) * | 1999-02-04 | 2001-10-23 | Kabushiki Kaisha Toshiba | Processor method and apparatus for performing single operand operation and multiple parallel operand operation |
| US20080008393A1 (en) | 1999-04-09 | 2008-01-10 | Dave Stuttard | Parallel data processing apparatus |
| US8171263B2 (en) | 1999-04-09 | 2012-05-01 | Rambus Inc. | Data processing apparatus comprising an array controller for separating an instruction stream processing instructions and data transfer instructions |
| US7506136B2 (en) | 1999-04-09 | 2009-03-17 | Clearspeed Technology Plc | Parallel data processing apparatus |
| US8762691B2 (en) | 1999-04-09 | 2014-06-24 | Rambus Inc. | Memory access consolidation for SIMD processing elements using transaction identifiers |
| EP1181648A1 (en) | 1999-04-09 | 2002-02-27 | Clearspeed Technology Limited | Parallel data processing apparatus |
| JP4893621B2 (ja) * | 2005-05-20 | 2012-03-07 | ソニー株式会社 | 信号処理装置 |
| US7447873B1 (en) * | 2005-11-29 | 2008-11-04 | Nvidia Corporation | Multithreaded SIMD parallel processor with loading of groups of threads |
| US20080059762A1 (en) * | 2006-09-01 | 2008-03-06 | Bogdan Mitu | Multi-sequence control for a data parallel system |
-
2000
- 2000-04-07 EP EP00917203A patent/EP1181648A1/en not_active Withdrawn
- 2000-04-07 AU AU38295/00A patent/AU3829500A/en not_active Abandoned
- 2000-04-07 WO PCT/GB2000/001332 patent/WO2000062182A2/en not_active Ceased
- 2000-04-07 JP JP2000611183A patent/JP5285828B2/ja not_active Expired - Lifetime
-
2001
- 2001-10-09 US US09/972,797 patent/US7363472B2/en not_active Expired - Fee Related
-
2006
- 2006-12-22 US US11/615,849 patent/US20080040575A1/en not_active Abandoned
-
2007
- 2007-01-31 US US11/669,868 patent/US7925861B2/en not_active Expired - Fee Related
-
2010
- 2010-09-30 JP JP2010222021A patent/JP2011023036A/ja active Pending
- 2010-09-30 JP JP2010222022A patent/JP2011023037A/ja active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| WO2000062182A2 (en) | 2000-10-19 |
| JP2011023037A (ja) | 2011-02-03 |
| US20080040575A1 (en) | 2008-02-14 |
| EP1181648A1 (en) | 2002-02-27 |
| US20070226458A1 (en) | 2007-09-27 |
| US7925861B2 (en) | 2011-04-12 |
| AU3829500A (en) | 2000-11-14 |
| US7363472B2 (en) | 2008-04-22 |
| WO2000062182A3 (en) | 2001-04-12 |
| JP2002541586A (ja) | 2002-12-03 |
| US20020174318A1 (en) | 2002-11-21 |
| JP2011023036A (ja) | 2011-02-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5285828B2 (ja) | 並列データ処理装置 | |
| US7958332B2 (en) | Parallel data processing apparatus | |
| US7506136B2 (en) | Parallel data processing apparatus | |
| US8762691B2 (en) | Memory access consolidation for SIMD processing elements using transaction identifiers | |
| US8171263B2 (en) | Data processing apparatus comprising an array controller for separating an instruction stream processing instructions and data transfer instructions | |
| US7802079B2 (en) | Parallel data processing apparatus | |
| US20080008393A1 (en) | Parallel data processing apparatus | |
| US20080007562A1 (en) | Parallel data processing apparatus | |
| US7627736B2 (en) | Thread manager to control an array of processing elements | |
| US20160283241A1 (en) | Parallel data processing apparatus | |
| US20070294510A1 (en) | Parallel data processing apparatus | |
| US8169440B2 (en) | Parallel data processing apparatus | |
| US7966475B2 (en) | Parallel data processing apparatus | |
| US8174530B2 (en) | Parallel date processing apparatus | |
| US20070242074A1 (en) | Parallel data processing apparatus | |
| US20080162874A1 (en) | Parallel data processing apparatus | |
| US20080016318A1 (en) | Parallel data processing apparatus | |
| GB2348971A (en) | Accessing a memory unit in a parallel data processing system | |
| US20080162875A1 (en) | Parallel Data Processing Apparatus | |
| GB2348984A (en) | Parallel data processing system | |
| GB2348973A (en) | SIMD array with array controller | |
| GB2348978A (en) | Parallel redundant data processing apparatus | |
| GB2348982A (en) | Parallel data processing system | |
| GB2348972A (en) | Array controller for array of processing elements | |
| GB2348980A (en) | Parallel data processing system with SIMD array |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20041215 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20041215 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070302 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100330 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100630 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100714 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100727 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100824 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100930 |
|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20101105 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20101105 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110411 |
|
| RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20110411 |
|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20110419 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120214 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120510 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120517 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120614 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120621 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120713 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120926 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130125 |
|
| A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20130307 |
|
| 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: 20130517 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130603 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5285828 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| EXPY | Cancellation because of completion of term |