JP5774699B2 - マルチメディアプロセッサにおける順序通りでないコマンド実行 - Google Patents
マルチメディアプロセッサにおける順序通りでないコマンド実行 Download PDFInfo
- Publication number
- JP5774699B2 JP5774699B2 JP2013520769A JP2013520769A JP5774699B2 JP 5774699 B2 JP5774699 B2 JP 5774699B2 JP 2013520769 A JP2013520769 A JP 2013520769A JP 2013520769 A JP2013520769 A JP 2013520769A JP 5774699 B2 JP5774699 B2 JP 5774699B2
- Authority
- JP
- Japan
- Prior art keywords
- command
- processing pipelines
- mask
- commands
- dependency
- 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.)
- Active
Links
- 238000012545 processing Methods 0.000 claims description 184
- 230000001419 dependent effect Effects 0.000 claims description 86
- 238000000034 method Methods 0.000 claims description 42
- 230000004044 response Effects 0.000 claims description 25
- 238000004891 communication Methods 0.000 claims description 14
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 7
- 230000005236 sound signal Effects 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000005022 packaging material Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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)
- Image Processing (AREA)
- Advance Control (AREA)
Description
図1は、マルチメディアプロセッサ10と、コマンド割当および同期プロセッサ12とを含む典型的なマルチメディアデバイス2の構成要素を示すブロック図である。マルチメディアデバイス2は、独立型デバイスまたは大きなシステムの一部であることができる。例えばマルチメディアデバイス2は、(例えば無線通信デバイスハンドセットのような)無線メディア通信デバイス、デジタルテレビ(TV)、ビデオ電話、デジタルマルチメディアプレーヤ、パーソナルデジタルアシスタント(PDA)、ビデオゲームコンソール、パーソナルコンピュータまたはラップトップデバイス、または他のビデオデバイスを備える、あるいはその一部であることができる。マルチメディアデバイス2はまた、上記デバイスの一部または全部において用いられうる1つまたは複数の集積回路またはチップに含まれることもできる。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1] コマンド間従属情報を含む少なくとも1つのコマンドストリームを受信することと、ここにおいて前記少なくとも1つのコマンドストリームは第1、第2、および第3のコマンドを備え、前記第2および第3のコマンドは前記第2のコマンドが前記第3のコマンドよりも先行するような前記少なくとも1つのコマンドストリームにおける第1の順序を有する、
前記コマンド間従属情報に基づいて、前記第2のコマンドが、前記第1のコマンドの先の実行に従属することを決定することと、
複数の処理パイプラインのうちの第1の1つに前記第1のコマンドが関連付けられ、前記複数の処理パイプラインのうちの別の第2の1つに前記第2のコマンドおよび前記第3のコマンドが関連付けられていることとを決定することと、
プロセッサによって、前記複数の処理パイプラインのうちの第2の1つに前記第3のコマンドを割り当てることと、
前記複数の処理パイプラインのうちの第2の1つに前記第3のコマンドを割り当てた後、前記プロセッサによって、前記第2のコマンドおよび前記第3のコマンドが前記第1の順序とは異なる第2の順序で実行するように、前記複数の処理パイプラインのうちの第2の1つに前記第2のコマンドを割り当てることとを備える方法。
[C2] 前記複数の処理パイプラインのうちの第1の1つに関連付けられたコマンドの完了状態を表すための第1のスライドウインドウを保持することと、
前記複数の処理パイプラインのうちの前記第2の1つに関連付けられたコマンドの完了状態を表すための第2のスライドウインドウを保持することとをさらに備える、C1に記載の方法。
[C3] 前記少なくとも1つのコマンドストリームは、前記複数の処理パイプラインのうちの第1の1つに関連付けられた順序付きコマンドの第1のセットと、前記複数の処理パイプラインのうちの第2の1つに関連付けられた順序付きコマンドの第2のセットとを備え、
前記第1のスライドウインドウは、前記第1のスライドウインドウの開始位置を表すコマンドカウンタを備え、前記開始位置は、前記複数の処理パイプラインのうちの第1の1つによってまだ実行されていない先行コマンドが残っていない、前記順序付きコマンドの第1のセット内の最後のコマンドに対応する、C2に記載の方法。
[C4] 前記第1のスライドウインドウは、前記第1のコマンドの完了状態を表す第1のビットを有するアクティブウインドウマスクを備える、C2に記載の方法。
[C5] 前記コマンド間従属情報に基づいて、前記第2のコマンドのための従属マスクを生成することをさらに備え、前記従属マスク内のビットは前記第1のスライドウインドウにおいて対応するコマンドのための前記完了状態を示す、C2に記載の方法。
[C6] 前記第2のコマンドのための従属マスクを生成することは、
前記第1のコマンドの完了状態を決定することと、
前記第1のコマンドが実行されていない場合に、前記第2のコマンドのための従属マスク内に前記第1のコマンドに対応するビットを設定することとを備える、C5に記載の方法。
[C7] 前記第1のスライドウインドウは前記第1のコマンドの完了状態を表す第1のビットを有するアクティブウインドウマスクを備え、
前記第1のコマンドの完了状態を決定することは、前記アクティブウインドウマスクの前記第1のビットを評価することを備える、C6に記載の方法。
[C8] 前記複数の処理パイプラインのうちの第1の1つから、前記第1のコマンドが実行されたという通知を受信することと、
前記通知に応答して、前記第2のコマンドのための従属マスク内の、前記第1のコマンドに対応するビットをクリアすることとをさらに備える、C5に記載の方法。
[C9] 前記複数の処理パイプラインのうちの第1の1つから、前記第2のコマンドが完了したという通知を受信することと、
前記通知に応答して、前記第1のコマンドが前記従属マスク内の最下位ビットに対応する場合に、前記従属マスクを1ビット右シフトすることとをさらに備える、C5に記載の方法。
[C10] 前記複数の処理パイプラインのうちの第1の1つに前記第2のコマンドを割り当てることは、
前記第1のコマンドに対応する、前記従属マスク内のビットが空であるかを判定することと、
前記第1のコマンドに対応する、前記従属マスク内のビットが空である場合のみ、前記複数の処理パイプラインのうちの第1の1つに前記第2のコマンドを割り当てることとを備える、C5に記載の方法。
[C11] 前記複数の処理パイプラインのうちの第1の1つから、前記第1のコマンドが完了したという通知を受信することと、
前記通知に応答して、前記第1のスライドウインドウを進めることと
を備える、C2に記載の方法。
[C12] 前記少なくとも1つのコマンドストリームはさらに、第4のコマンドを備え、
前記第2のコマンドは優先値を有し、前記第4のコマンドは優先値を有し、
前記コマンド間従属情報に基づいて、前記第4のコマンドが、前記第1のコマンドの先の実行に従属することを決定することと、
前記複数の処理パイプラインのうちの第2の1つに前記第4のコマンドが関連付けられていることを決定することと、
前記第2のコマンドおよび前記第4のコマンドの前記優先値に基づいた順序で、前記複数の処理パイプラインのうちの前記第2の1つに前記第2のコマンドおよび前記第4のコマンドを割り当てることとをさらに備える、C1に記載の方法。
[C13] コマンド間従属情報を含む少なくとも1つのコマンドストリームを受信し、ここにおいて前記少なくとも1つのコマンドストリームは第1、第2、および第3のコマンドを備え、前記第2および第3のコマンドは前記第2のコマンドが前記第3のコマンドに先行するような前記少なくとも1つのコマンドストリームにおける第1の順序を有し、
前記コマンド間従属情報に基づいて、前記第2のコマンドが、前記第1のコマンドの先行実行に従属することを決定し、
複数の処理パイプラインのうちの第1の1つに前記第1のコマンドが関連付けられ、前記複数の処理パイプラインのうちの別の第2の1つに前記第2のコマンドおよび前記第3のコマンドが関連付けられていることとを決定し、
前記複数の処理パイプラインのうちの前記第2の1つに前記第3のコマンドを割り当て、
前記複数の処理パイプラインのうちの第2の1つに前記第3のコマンドを割り当てた後、前記第2のコマンドおよび前記第3のコマンドが前記第1の順序とは異なる第2の順序で実行するように、前記複数の処理パイプラインのうちの第2の1つに前記第2のコマンドを割り当てるように構成されたコマンド割当および同期プロセッサを備える装置。
[C14] 前記コマンド割当および同期プロセッサはさらに、
前記複数の処理パイプラインのうちの第1の1つに関連付けられたコマンドの完了状態を表すための第1のスライドウインドウを保持し、
前記複数の処理パイプラインのうちの第2の1つに関連付けられたコマンドの完了状態を表すための第2のスライドウインドウを保持するように構成された、C13に記載の装置。
[C15] 前記少なくとも1つのコマンドストリームは、前記複数の処理パイプラインのうちの第1の1つに関連付けられた順序付きコマンドの第1のセットと、前記複数の処理パイプラインのうちの第2の1つに関連付けられた順序付きコマンドの第2のセットとを備え、
前記第1のスライドウインドウは、前記第1のスライドウインドウの開始位置を表すコマンドカウンタを備え、前記開始位置は、前記複数の処理パイプラインのうちの第1の1つによってまだ実行されていない先行コマンドが残っていない、前記順序付きコマンドの第1のセット内の最後のコマンドに対応する、C14に記載の装置。
[C16] 前記第1のスライドウインドウは、前記第1のコマンドの完了状態を表す第1のビットを有するアクティブウインドウマスクを備える、C14に記載の装置。
[C17] 前記コマンド割当および同期プロセッサはさらに、前記コマンド間従属情報に基づいて、前記第2のコマンドのための従属マスクを生成するように構成され、前記従属マスク内のビットは前記第1のスライドウインドウにおいて対応するコマンドに関する完了状態を示す、C14に記載の装置。
[C18] 前記第2のコマンドのための従属マスクを生成するために、前記コマンド割当および同期プロセッサはさらに、
前記第1のコマンドの完了状態を決定し、
前記第1のコマンドが実行されると、前記第2のコマンドのための従属マスク内に、前記第1のコマンドに対応するビットを設定するように構成された、C17に記載の装置。
[C19] 前記第1のスライドウインドウは前記第1のコマンドの完了状態を表す第1のビットを有するアクティブウインドウマスクを備え、
前記第1のコマンドの完了状態を決定するために、前記コマンド割当および同期プロセッサはさらに、前記アクティブウインドウマスクの前記第1のビットを評価するように構成された、C18に記載の装置。
[C20] 前記コマンド割当および同期プロセッサはさらに、
前記複数の処理パイプラインのうちの第1の1つから、前記第1のコマンドが実行されたという通知を受信し、
前記通知に応答して、前記第2のコマンドのための従属マスク内の、前記第1のコマンドに対応するビットをクリアするように構成された、C17に記載の装置。
[C21] 前記コマンド割当および同期プロセッサはさらに、
前記複数の処理パイプラインのうちの第1の1つから、前記第1のコマンドが完了したという通知を受信し、
前記通知に応答して、前記第1のコマンドが前記従属マスク内の最下位ビットに対応する場合、前記従属マスクを1ビット右シフトするように構成された、C17に記載の装置。
[C22] 前記複数の処理パイプラインのうちの第1の1つに前記第2のコマンドを割り当てるために、前記コマンド割当および同期プロセッサはさらに、
前記第1のコマンドに対応する、前記従属マスク内のビットが空であるかを判定し、
前記第1のコマンドに対応する、前記従属マスク内のビットが空である場合のみ、前記複数の処理パイプラインのうちの第1の1つに前記第2のコマンドを割り当てるように構成された、C17に記載の装置。
[C23] 前記コマンド割当および同期プロセッサはさらに、
前記複数の処理パイプラインのうちの第1の1つから、前記第1のコマンドが完了したという通知を受信し、
前記通知に応答して、前記第1のスライドウインドウを進める
ように構成された、C14に記載の装置。
[C24] 前記少なくとも1つのコマンドストリームはさらに第4のコマンドを備え、
前記第2のコマンドは優先値を有し、前記第4のコマンドは優先値を有し、
前記コマンド割当および同期プロセッサはさらに、
前記コマンド間従属情報に基づいて、前記第4のコマンドが前記第1のコマンドの先の実行に従属することを決定し、
前記複数の処理パイプラインのうちの第2の1つに前記第4のコマンドが関連付けられていることを決定し、
前記第2のコマンドおよび前記第4のコマンドの優先値に基づいた順序で、前記複数の処理パイプラインのうちの第2の1つに前記第2のコマンドおよび前記第4のコマンドを割り当てるように構成された、C13に記載の装置。
[C25] 前記装置は、無線通信デバイスハンドセットを備える、C13に記載の装置。
[C26] 前記装置は、1つまたは複数の集積回路デバイスを備える、C13に記載の装置。
[C27] コマンド間従属情報を含む少なくとも1つのコマンドストリームを受信するための手段と、ここにおいて前記少なくとも1つのコマンドストリームは第1、第2、および第3のコマンドを備え、前記第2および第3のコマンドは前記第2のコマンドが前記第3のコマンドに先行するような、前記少なくとも1つのコマンドストリームにおける第1の順序を有する、
前記コマンド間従属情報に基づいて、前記第2のコマンドが、前記第1のコマンドの先の実行に従属することを決定するための手段と、
複数の処理パイプラインのうちの第1の1つに前記第1のコマンドが関連付けられ、前記複数の処理パイプラインのうちの別の第2の1つに前記第2のコマンドおよび前記第3のコマンドが関連付けられていることとを決定するための手段と、
前記複数の処理パイプラインのうちの第2の1つに前記第3のコマンドを割り当てるための手段と、
前記複数の処理パイプラインのうちの第2の1つに前記第3のコマンドを割り当てた後、前記第2のコマンドおよび前記第3のコマンドが、前記第1の順序とは異なる第2の順序で実行するように、前記複数の処理パイプラインのうちの第2の1つに前記第2のコマンドを割り当てるための手段とを備えるデバイス。
[C28] 前記複数の処理パイプラインのうちの第1の1つに関連付けられたコマンドの完了状態を表すための第1のスライドウインドウを保持するための手段と、
前記複数の処理パイプラインのうちの第2の1つに関連付けられたコマンドの完了状態を表すための第2のスライドウインドウを保持するための手段とをさらに備える、C27に記載のデバイス。
[C29] 前記少なくとも1つのコマンドストリームは、前記複数の処理パイプラインのうちの第1の1つに関連付けられた順序付きコマンドの第1のセットと、前記複数の処理パイプラインのうちの第2の1つに関連付けられた順序付きコマンドの第2のセットとを備え、
前記第1のスライドウインドウは、前記第1のスライドウインドウの開始位置を表すコマンドカウンタを備え、前記開始位置は、前記複数の処理パイプラインのうちの第1の1つによってまだ実行されていない先行コマンドが残っていない、前記順序付きコマンドの第1のセット内の最後のコマンドに対応する、C28に記載のデバイス。
[C30] 前記第1のスライドウインドウは、前記第1のコマンドの完了状態を表す第1のビットを有するアクティブウインドウマスクを備える、C28に記載のデバイス。
[C31] 前記コマンド間従属情報に基づいて、前記第2のコマンドのための従属マスクを生成するための手段をさらに備え、前記従属マスク内のビットは前記第1のスライドウインドウにおいて対応するコマンドに関する完了状態を示す、C28に記載のデバイス。
[C32] 前記第2のコマンドのための従属マスクを生成するための手段はさらに、
前記第1のコマンドの完了状態を決定するための手段と、
前記第1のコマンドが実行されていない場合に、前記第2のコマンドのための従属マスク内に前記第1のコマンドに対応するビットを設定するための手段とを備える、C31に記載のデバイス。
[C33] 前記第1のスライドウインドウは、前記第1のコマンドの完了状態を表す第1のビットを有するアクティブウインドウマスクを備え、
前記第1のコマンドの完了状態を決定することは、前記アクティブウインドウマスクの前記第1のビットを評価することを備える、C32に記載のデバイス。
[C34] 前記複数の処理パイプラインのうちの第1の1つから、前記第1のコマンドが実行されたという通知を受信するための手段と、
前記通知に応答して、前記第2のコマンドのための従属マスク内の、前記第1のコマンドに対応するビットをクリアするための手段とをさらに備える、C31に記載のデバイス。
[C35] 前記複数の処理パイプラインのうちの第1の1つから、前記第1のコマンドが完了したという通知を受信するための手段と、
前記通知に応答して、前記第1のコマンドが前記従属マスク内の最下位ビットに対応する場合に、前記従属マスクを1ビット右シフトするための手段とをさらに備える、C31に記載のデバイス。
[C36] 前記複数の処理パイプラインのうちの第1の1つに前記第2のコマンドを割り当てるための手段はさらに、
前記第1のコマンドに対応する、前記従属マスク内のビットが空であるかを判定するための手段と、
前記第1のコマンドに対応する、前記従属マスク内のビットが空である場合のみ、前記複数の処理パイプラインのうちの第1の1つに前記第2のコマンドを割り当てるための手段とを備える、C31に記載のデバイス。
[C37] 前記複数の処理パイプラインのうちの第1の1つから、前記第1のコマンドが完了したという通知を受信するための手段と、
前記通知に応答して、前記第1のスライドウインドウを進めるための手段とをさらに備える、C28に記載のデバイス。
[C38] 前記少なくとも1つのコマンドストリームはさらに、第4のコマンドを備え、
前記第2のコマンドは優先値を有し、前記第4のコマンドは優先値を有し、
前記コマンド間従属情報に基づいて、前記第4のコマンドが前記第1のコマンドの先の実行に従属することを決定するための手段と、
前記複数の処理パイプラインのうちの第2の1つに前記第4のコマンドが関連付けられていることを決定するための手段と、
前記第2のコマンドおよび前記第4のコマンドの優先値に基づいた順序で、前記複数の処理パイプラインのうちの第2の1つに前記第2のコマンドおよび前記第4のコマンドを割り当てるための手段とをさらに備える、C27に記載のデバイス。
[C39] プログラム可能プロセッサに、
コマンド間従属情報を含む少なくとも1つのコマンドストリームを受信させ、ここにおいて前記少なくとも1つのコマンドストリームは第1、第2、および第3のコマンドを備え、前記第2および第3のコマンドは前記第2のコマンドが前記第3のコマンドに先行するような、前記少なくとも1つのコマンドストリームにおける第1の順序を有し、
前記コマンド間従属情報に基づいて、前記第2のコマンドが、前記第1のコマンドの先の実行に従属することを決定させ、
前記第1のコマンドが、複数の処理パイプラインのうちの第1の1つに関連付けられ、前記第2のコマンドおよび前記第3のコマンドが前記複数の処理パイプラインのうちの別の第2の1つに関連付けられていることとを決定させ、
前記複数の処理パイプラインのうちの第2の1つに前記第3のコマンドを割り当てさせ、
前記複数の処理パイプラインのうちの第2の1つに前記第3のコマンドを割り当てた後、前記第2のコマンドおよび前記第3のコマンドが前記第1の順序とは異なる第2の順序で実行するように、前記複数の処理パイプラインのうちの第2の1つに前記第2のコマンドを割り当てさせるための命令を備えるコンピュータ読取可能記憶媒体。
[C40] 前記プログラム可能プロセッサに、
前記複数の処理パイプラインのうちの第1の1つに関連付けられたコマンドの完了状態を表すための第1のスライドウインドウを保持させ、
前記複数の処理パイプラインのうちの第2の1つに関連付けられたコマンドの完了状態を表すための第2のスライドウインドウを保持させるための命令をさらに備える、C39に記載のコンピュータ読取可能記憶媒体。
[C41] 前記少なくとも1つのコマンドストリームは、前記複数の処理パイプラインのうちの第1の1つに関連付けられた順序付きコマンドの第1のセットと、前記複数の処理パイプラインのうちの第2の1つに関連付けられた順序付きコマンドの第2のセットとを備え、
前記第1のスライドウインドウは、前記第1のスライドウインドウの開始位置を表すコマンドカウンタを備え、前記開始位置は、前記複数の処理パイプラインのうちの第1の1つによってまだ実行されていない先行コマンドが残っていない、前記順序付きコマンドの第1のセット内の最後のコマンドに対応する、C40に記載のコンピュータ読取可能記憶媒体。
[C42] 前記第1のスライドウインドウは、前記第1のコマンドの完了状態を表す第1のビットを有するアクティブウインドウマスクを備える、C40に記載のコンピュータ読取可能記憶媒体。
[C43] 前記コマンド間従属情報に基づいて、前記プログラム可能プロセッサに、前記第2のコマンドのための従属マスクを生成させるための命令をさらに備え、前記従属マスク内のビットは前記第1のスライドウインドウにおいて対応するコマンドに関する完了状態を示す、C40に記載のコンピュータ読取可能記憶媒体。
[C44] 前記第2のコマンドのための従属マスクを生成するために、前記プログラム可能プロセッサに、
前記第1のコマンドの完了状態を決定させ、
前記第1のコマンドが実行されていない場合に、前記第2のコマンドのための従属マスク内に、前記第1のコマンドに対応するビットを設定させるための命令をさらに備える、C43に記載のコンピュータ読取可能記憶媒体。
[C45] 前記第1のスライドウインドウは前記第1のコマンドの完了状態を表す第1のビットを有するアクティブウインドウマスクを備え、
前記第1のコマンドの完了状態を決定するために、
前記プログラム可能プロセッサに、前記アクティブウインドウマスクの第1のビットを評価させるための命令をさらに備える、C44に記載のコンピュータ読取可能記憶媒体。
[C46] 前記プログラム可能プロセッサに、
前記複数の処理パイプラインのうちの第1の1つから、前記第1のコマンドが実行されたという通知を受信させ、
前記通知に応答して、前記第1のコマンドに対応する、前記第2のコマンドのための従属マスク内のビットをクリアさせるための命令をさらに備える、C43に記載のコンピュータ読取可能記憶媒体。
[C47] 前記プログラム可能プロセッサに、
前記複数の処理パイプラインのうちの第1の1つから、前記第1のコマンドが完了したという通知を受信させ、
前記通知に応答して、前記第1のコマンドが前記従属マスク内の最下位ビットに対応する場合に、前記従属マスクを1ビット右シフトさせるための命令をさらに備える、C43に記載のコンピュータ読取可能記憶媒体。
[C48] 前記複数の処理パイプラインのうちの第1の1つに前記第2のコマンドを割り当てるために、前記プログラム可能プロセッサに、
前記第1のコマンドに対応する、前記従属マスク内のビットが空であるかを判定させ、
前記第1のコマンドに対応する、前記従属マスク内のビットが空である場合のみ、前記複数の処理パイプラインのうちの第1の1つに前記第2のコマンドを割当てさせるための命令をさらに備える、C43に記載のコンピュータ読取可能記憶媒体。
[C49] 前記プログラム可能プロセッサに、
前記複数の処理パイプラインのうちの第1の1つから、前記第1のコマンドが完了したという通知を受信させ、
前記通知に応答して、前記第1のスライドウインドウを進めさせる
ための命令をさらに備える、C40に記載のコンピュータ読取可能記憶媒体。
[C50] 前記少なくとも1つのコマンドストリームは第4のコマンドをさらに備え、
前記第2のコマンドは優先値を有し、前記第4のコマンドは優先値を有し、
前記プログラム可能プロセッサに、
前記コマンド間従属情報に基づいて、前記第4のコマンドが前記第1のコマンドの先の実行に従属することを決定させ、
前記複数の処理パイプラインのうちの第2の1つに前記第4のコマンドが関連付けられていることを決定させ、
前記第2のコマンドおよび前記第4のコマンドの優先値に基づいた順序で、前記複数の処理パイプラインのうちの第2の1つに前記第2のコマンドおよび前記第4のコマンドを割当てさせるための命令をさらに備える、C39に記載のコンピュータ読取可能記憶媒体。
Claims (46)
- コマンド間従属情報を含む少なくとも1つのコマンドストリームであって、前記少なくとも1つのコマンドストリームは第1、第2、および第3のコマンドを備え、前記第2および第3のコマンドは前記第2のコマンドが前記第3のコマンドよりも先行するような前記少なくとも1つのコマンドストリームにおける第1の順序を有し、前記第1および第2のコマンドは前記第1のコマンドが前記第2のコマンドよりも先行するような前記少なくとも1つのコマンドストリームにおける順序を有し、前記第1のコマンドは、複数の処理パイプラインのうちの第1の1つに関連付けられ、前記第2のコマンドおよび前記第3のコマンドは前記複数の処理パイプラインのうちの別の第2の1つに関連付けられるものである、前記少なくとも1つのコマンドストリームを受信することと、
前記コマンド間従属情報に基づいて、前記第2のコマンドが、前記第1のコマンドの実行に従属するか否かと、前記第3のコマンドが前記第1のコマンドの実行と前記第2のコマンドの実行に従属するか否かを判断することと、
前記第2のコマンドが前記第1のコマンドの実行に従属し、かつ前記第3のコマンドが前記第1のコマンドの実行と前記第2のコマンドの実行のいずれにも従属しないのであれば、前記第2のコマンドおよび前記第3のコマンドを前記第1の順序とは異なる第2の順序で実行するように、プロセッサによって、先に、前記複数の処理パイプラインのうちの第2の1つに前記第3のコマンドを割り当て、前記複数の処理パイプラインのうちの第2の1つに前記第3のコマンドを割り当てた後で、前記複数の処理パイプラインのうちの第2の1つに前記第2のコマンドを割り当てることと、
前記複数の処理パイプラインのうちの第1の1つに関連付けられたコマンドの完了状態を表すための第1のスライドウインドウを保持することと、
前記複数の処理パイプラインのうちの前記第2の1つに関連付けられたコマンドの完了状態を表すための第2のスライドウインドウを保持することと
を備える方法。 - 前記少なくとも1つのコマンドストリームは、前記複数の処理パイプラインのうちの第1の1つに関連付けられた順序付きコマンドの第1のセットと、前記複数の処理パイプラインのうちの第2の1つに関連付けられた順序付きコマンドの第2のセットとを備え、
前記第1のスライドウインドウは、前記第1のスライドウインドウの開始位置を表すコマンドカウンタを備え、前記開始位置は、前記複数の処理パイプラインのうちの第1の1つによってまだ実行されていない先行コマンドが残っていない、前記順序付きコマンドの第1のセット内の最後のコマンドに対応する、請求項1に記載の方法。 - 前記第1のスライドウインドウは、前記第1のコマンドの完了状態を表す第1のビットを有するアクティブウインドウマスクを備える、請求項1に記載の方法。
- 前記コマンド間従属情報に基づいて、前記第2のコマンドのための従属マスクを生成することをさらに備え、前記従属マスク内のビットは前記第2のコマンドが従属するコマンドの前記完了状態を示す、請求項1に記載の方法。
- 前記第2のコマンドのための従属マスクを生成することは、
前記第1のコマンドの完了状態を決定することと、
前記第1のコマンドが実行されていない場合に、前記第2のコマンドのための従属マスク内に前記第1のコマンドに対応するビットを設定することと
を備える、請求項4に記載の方法。 - 前記第1のスライドウインドウは前記第1のコマンドの完了状態を表す第1のビットを有するアクティブウインドウマスクを備え、
前記第1のコマンドの完了状態を決定することは、前記アクティブウインドウマスクの前記第1のビットを評価することを備える、請求項5に記載の方法。 - 前記複数の処理パイプラインのうちの第1の1つから、前記第1のコマンドが実行されたという通知を受信することと、
前記通知に応答して、前記第2のコマンドのための従属マスク内の、前記第1のコマンドに対応するビットをクリアすることと
をさらに備える、請求項4に記載の方法。 - 前記複数の処理パイプラインのうちの第1の1つから、前記第1のコマンドが完了したという通知を受信することと、
前記通知に応答して、前記第1のコマンドが前記従属マスク内の最下位ビットに対応する場合に、前記従属マスクを1ビット右シフトすることと
をさらに備える、請求項4に記載の方法。 - 前記複数の処理パイプラインのうちの第2の1つに前記第2のコマンドを割り当てることは、
前記第2のコマンドのための前記従属マスク内のビットが空であるかを判定することと、
前記第2のコマンドのための前記従属マスク内のビットが空である場合のみ、前記複数の処理パイプラインのうちの第2の1つに前記第2のコマンドを割り当てることとを備える、請求項4に記載の方法。 - 前記複数の処理パイプラインのうちの第1の1つから、前記第1のコマンドが完了したという通知を受信することと、
前記通知に応答して、前記第1のスライドウインドウを進めることと
をさらに備える、請求項1に記載の方法。 - 前記少なくとも1つのコマンドストリームはさらに、第4のコマンドを備え、
前記第2のコマンドは優先値を有し、前記第4のコマンドは優先値を有し、
前記第1および第4のコマンドは前記第1のコマンドが前記第4のコマンドよりも先行するような前記少なくとも1つのコマンドストリームにおける順序を有し、
前記第4のコマンドは、複数の処理パイプラインのうちの前記第2の1つに関連付けられ、
前記コマンド間従属情報に基づいて、前記第4のコマンドが、前記第1のコマンドの実行に従属するか否かを判断することと、
前記第2のコマンドが前記第1のコマンドの実行に従属し、かつ前記第4のコマンドが前記第1のコマンドの実行に従属するのであれば、前記第2のコマンドおよび前記第4のコマンドの前記優先値に基づいた順序で、前記複数の処理パイプラインのうちの前記第2の1つに前記第2のコマンドおよび前記第4のコマンドを割り当てることと
をさらに備える、請求項1に記載の方法。 - コマンド間従属情報を含む少なくとも1つのコマンドストリームであって、前記少なくとも1つのコマンドストリームは第1、第2、および第3のコマンドを備え、前記第2および第3のコマンドは前記第2のコマンドが前記第3のコマンドに先行するような前記少なくとも1つのコマンドストリームにおける第1の順序を有し、前記第1および第2のコマンドは前記第1のコマンドが前記第2のコマンドよりも先行するような前記少なくとも1つのコマンドストリームにおける順序を有し、前記第1のコマンドは、複数の処理パイプラインのうちの第1の1つに関連付けられ、前記第2のコマンドおよび前記第3のコマンドは前記複数の処理パイプラインのうちの別の第2の1つに関連付けられるものである、前記少なくとも1つのコマンドストリームを受信し、
前記コマンド間従属情報に基づいて、前記第2のコマンドが、前記第1のコマンドの実行に従属するか否かと、前記第3のコマンドが前記第1のコマンドの実行と前記第2のコマンドの実行に従属するか否かを判断し、
前記第2のコマンドが前記第1のコマンドの実行に従属し、かつ前記第3のコマンドが前記第1のコマンドの実行と前記第2のコマンドの実行のいずれにも従属しないのであれば、前記第2のコマンドおよび前記第3のコマンドを前記第1の順序とは異なる第2の順序で実行するように、先に、前記複数の処理パイプラインのうちの前記第2の1つに前記第3のコマンドを割り当て、前記複数の処理パイプラインのうちの第2の1つに前記第3のコマンドを割り当てた後で、前記複数の処理パイプラインのうちの第2の1つに前記第2のコマンドを割り当てる
ように構成されたコマンド割当および同期プロセッサを備え、
前記コマンド割当および同期プロセッサはさらに、
前記複数の処理パイプラインのうちの第1の1つに関連付けられたコマンドの完了状態を表すための第1のスライドウインドウを保持し、
前記複数の処理パイプラインのうちの第2の1つに関連付けられたコマンドの完了状態を表すための第2のスライドウインドウを保持する
ように構成される、装置。 - 前記少なくとも1つのコマンドストリームは、前記複数の処理パイプラインのうちの第1の1つに関連付けられた順序付きコマンドの第1のセットと、前記複数の処理パイプラインのうちの第2の1つに関連付けられた順序付きコマンドの第2のセットとを備え、
前記第1のスライドウインドウは、前記第1のスライドウインドウの開始位置を表すコマンドカウンタを備え、前記開始位置は、前記複数の処理パイプラインのうちの第1の1つによってまだ実行されていない先行コマンドが残っていない、前記順序付きコマンドの第1のセット内の最後のコマンドに対応する、請求項12に記載の装置。 - 前記第1のスライドウインドウは、前記第1のコマンドの完了状態を表す第1のビットを有するアクティブウインドウマスクを備える、請求項12に記載の装置。
- 前記コマンド割当および同期プロセッサはさらに、前記コマンド間従属情報に基づいて、前記第2のコマンドのための従属マスクを生成するように構成され、前記従属マスク内のビットは前記第2のコマンドが従属するコマンドの完了状態を示す、請求項12に記載の装置。
- 前記第2のコマンドのための従属マスクを生成するために、前記コマンド割当および同期プロセッサはさらに、
前記第1のコマンドの完了状態を決定し、
前記第1のコマンドが実行されていない場合に、前記第2のコマンドのための従属マスク内に、前記第1のコマンドに対応するビットを設定する
ように構成された、請求項15に記載の装置。 - 前記第1のスライドウインドウは前記第1のコマンドの完了状態を表す第1のビットを有するアクティブウインドウマスクを備え、
前記第1のコマンドの完了状態を決定するために、前記コマンド割当および同期プロセッサはさらに、前記アクティブウインドウマスクの前記第1のビットを評価するように構成された、請求項16に記載の装置。 - 前記コマンド割当および同期プロセッサはさらに、
前記複数の処理パイプラインのうちの第1の1つから、前記第1のコマンドが実行されたという通知を受信し、
前記通知に応答して、前記第2のコマンドのための従属マスク内の、前記第1のコマンドに対応するビットをクリアする
ように構成された、請求項15に記載の装置。 - 前記コマンド割当および同期プロセッサはさらに、
前記複数の処理パイプラインのうちの第1の1つから、前記第1のコマンドが完了したという通知を受信し、
前記通知に応答して、前記第1のコマンドが前記従属マスク内の最下位ビットに対応する場合、前記従属マスクを1ビット右シフトする
ように構成された、請求項15に記載の装置。 - 前記複数の処理パイプラインのうちの第2の1つに前記第2のコマンドを割り当てるために、前記コマンド割当および同期プロセッサはさらに、
前記第2のコマンドのための前記従属マスク内のビットが空であるかを判定し、
前記第2のコマンドのための前記従属マスク内のビットが空である場合のみ、前記複数の処理パイプラインのうちの第2の1つに前記第2のコマンドを割り当てるように構成された、請求項15に記載の装置。 - 前記コマンド割当および同期プロセッサはさらに、
前記複数の処理パイプラインのうちの第1の1つから、前記第1のコマンドが完了したという通知を受信し、
前記通知に応答して、前記第1のスライドウインドウを進める
ように構成された、請求項12に記載の装置。 - 前記少なくとも1つのコマンドストリームはさらに第4のコマンドを備え、
前記第2のコマンドは優先値を有し、前記第4のコマンドは優先値を有し、
前記第1および第4のコマンドは前記第1のコマンドが前記第4のコマンドよりも先行するような前記少なくとも1つのコマンドストリームにおける順序を有し、
前記第4のコマンドは、複数の処理パイプラインのうちの前記第2の1つに関連付けられ、
前記コマンド割当および同期プロセッサはさらに、
前記コマンド間従属情報に基づいて、前記第4のコマンドが、前記第1のコマンドの実行に従属するか否かを判断し、
前記第2のコマンドが前記第1のコマンドの実行に従属し、かつ前記第4のコマンドが前記第1のコマンドの実行に従属するのであれば、前記第2のコマンドおよび前記第4のコマンドの優先値に基づいた順序で、前記複数の処理パイプラインのうちの第2の1つに前記第2のコマンドおよび前記第4のコマンドを割り当てる
ように構成された、請求項12に記載の装置。 - 前記装置は、無線通信デバイスハンドセットを備える、請求項12に記載の装置。
- 前記装置は、1つまたは複数の集積回路デバイスを備える、請求項12に記載の装置。
- コマンド間従属情報を含む少なくとも1つのコマンドストリームであって、前記少なくとも1つのコマンドストリームは第1、第2、および第3のコマンドを備え、前記第2および第3のコマンドは前記第2のコマンドが前記第3のコマンドに先行するような、前記少なくとも1つのコマンドストリームにおける第1の順序を有し、前記第1および第2のコマンドは前記第1のコマンドが前記第2のコマンドよりも先行するような前記少なくとも1つのコマンドストリームにおける順序を有し、前記第1のコマンドは、複数の処理パイプラインのうちの第1の1つに関連付けられ、前記第2のコマンドおよび前記第3のコマンドは前記複数の処理パイプラインのうちの別の第2の1つに関連付けられるものである、前記少なくとも1つのコマンドストリームを受信するための手段と、
前記コマンド間従属情報に基づいて、前記第2のコマンドが、前記第1のコマンドの実行に従属するか否かと、前記第3のコマンドが前記第1のコマンドの実行と前記第2のコマンドの実行に従属するか否かを判断するための手段と、
前記第2のコマンドが前記第1のコマンドの実行に従属し、かつ前記第3のコマンドが前記第1のコマンドの実行と前記第2のコマンドの実行のいずれにも従属しないのであれば、前記第2のコマンドおよび前記第3のコマンドを前記第1の順序とは異なる第2の順序で実行するように、先に、前記複数の処理パイプラインのうちの第2の1つに前記第3のコマンドを割り当て、前記複数の処理パイプラインのうちの第2の1つに前記第3のコマンドを割り当てた後で、前記複数の処理パイプラインのうちの第2の1つに前記第2のコマンドを割り当てるための手段と、
前記複数の処理パイプラインのうちの第1の1つに関連付けられたコマンドの完了状態を表すための第1のスライドウインドウを保持するための手段と、
前記複数の処理パイプラインのうちの第2の1つに関連付けられたコマンドの完了状態を表すための第2のスライドウインドウを保持するための手段と
を備えるデバイス。 - 前記少なくとも1つのコマンドストリームは、前記複数の処理パイプラインのうちの第1の1つに関連付けられた順序付きコマンドの第1のセットと、前記複数の処理パイプラインのうちの第2の1つに関連付けられた順序付きコマンドの第2のセットとを備え、
前記第1のスライドウインドウは、前記第1のスライドウインドウの開始位置を表すコマンドカウンタを備え、前記開始位置は、前記複数の処理パイプラインのうちの第1の1つによってまだ実行されていない先行コマンドが残っていない、前記順序付きコマンドの第1のセット内の最後のコマンドに対応する、請求項25に記載のデバイス。 - 前記第1のスライドウインドウは、前記第1のコマンドの完了状態を表す第1のビットを有するアクティブウインドウマスクを備える、請求項25に記載のデバイス。
- 前記コマンド間従属情報に基づいて、前記第2のコマンドのための従属マスクを生成するための手段をさらに備え、前記従属マスク内のビットは前記第2のコマンドが従属するコマンドの完了状態を示す、請求項25に記載のデバイス。
- 前記第2のコマンドのための従属マスクを生成するための手段はさらに、
前記第1のコマンドの完了状態を決定するための手段と、
前記第1のコマンドが実行されていない場合に、前記第2のコマンドのための従属マスク内に前記第1のコマンドに対応するビットを設定するための手段と
を備える、請求項28に記載のデバイス。 - 前記第1のスライドウインドウは、前記第1のコマンドの完了状態を表す第1のビットを有するアクティブウインドウマスクを備え、
前記第1のコマンドの完了状態を決定することは、前記アクティブウインドウマスクの前記第1のビットを評価することを備える、請求項29に記載のデバイス。 - 前記複数の処理パイプラインのうちの第1の1つから、前記第1のコマンドが実行されたという通知を受信するための手段と、
前記通知に応答して、前記第2のコマンドのための従属マスク内の、前記第1のコマンドに対応するビットをクリアするための手段と
をさらに備える、請求項28に記載のデバイス。 - 前記複数の処理パイプラインのうちの第1の1つから、前記第1のコマンドが完了したという通知を受信するための手段と、
前記通知に応答して、前記第1のコマンドが前記従属マスク内の最下位ビットに対応する場合に、前記従属マスクを1ビット右シフトするための手段と
をさらに備える、請求項28に記載のデバイス。 - 前記複数の処理パイプラインのうちの第2の1つに前記第2のコマンドを割り当てるための手段はさらに、
前記第2のコマンドのための前記従属マスク内のビットが空であるかを判定するための手段と、
前記第2のコマンドのための前記従属マスク内のビットが空である場合のみ、前記複数の処理パイプラインのうちの第2の1つに前記第2のコマンドを割り当てるための手段と
を備える、請求項28に記載のデバイス。 - 前記複数の処理パイプラインのうちの第1の1つから、前記第1のコマンドが完了したという通知を受信するための手段と、
前記通知に応答して、前記第1のスライドウインドウを進めるための手段とをさらに備える、請求項25に記載のデバイス。 - 前記少なくとも1つのコマンドストリームはさらに、第4のコマンドを備え、
前記第2のコマンドは優先値を有し、前記第4のコマンドは優先値を有し、
前記第1および第4のコマンドは前記第1のコマンドが前記第4のコマンドよりも先行するような前記少なくとも1つのコマンドストリームにおける順序を有し、
前記第4のコマンドは、複数の処理パイプラインのうちの前記第2の1つに関連付けられ、
前記コマンド間従属情報に基づいて、前記第4のコマンドが前記第1のコマンドの実行に従属するか否かを判断するための手段と、
前記第2のコマンドが前記第1のコマンドの実行に従属し、かつ前記第4のコマンドが前記第1のコマンドの実行に従属するのであれば、前記第2のコマンドおよび前記第4のコマンドの優先値に基づいた順序で、前記複数の処理パイプラインのうちの第2の1つに前記第2のコマンドおよび前記第4のコマンドを割当てるための手段と
をさらに備える、請求項25に記載のデバイス。 - プログラム可能プロセッサに、
コマンド間従属情報を含む少なくとも1つのコマンドストリームであって、前記少なくとも1つのコマンドストリームは第1、第2、および第3のコマンドを備え、前記第2および第3のコマンドは前記第2のコマンドが前記第3のコマンドに先行するような、前記少なくとも1つのコマンドストリームにおける第1の順序を有し、前記第1および第2のコマンドは前記第1のコマンドが前記第2のコマンドよりも先行するような前記少なくとも1つのコマンドストリームにおける順序を有し、前記第1のコマンドは、複数の処理パイプラインのうちの第1の1つに関連付けられ、前記第2のコマンドおよび前記第3のコマンドは前記複数の処理パイプラインのうちの別の第2の1つに関連付けられるものである、前記少なくとも1つのコマンドストリームを受信させ、
前記コマンド間従属情報に基づいて、前記第2のコマンドが、前記第1のコマンドの実行に従属するか否かと、前記第3のコマンドが前記第1のコマンドの実行と前記第2のコマンドの実行に従属するか否かを判断させ、
前記第2のコマンドが前記第1のコマンドの実行に従属し、かつ前記第3のコマンドが前記第1のコマンドの実行と前記第2のコマンドの実行のいずれにも従属しないのであれば、前記第2のコマンドおよび前記第3のコマンドを前記第1の順序とは異なる第2の順序で実行するように、先に、前記複数の処理パイプラインのうちの第2の1つに前記第3のコマンドを割り当てさせ、前記複数の処理パイプラインのうちの第2の1つに前記第3のコマンドを割り当てさせた後で、前記複数の処理パイプラインのうちの第2の1つに前記第2のコマンドを割り当てさせ、
前記複数の処理パイプラインのうちの第1の1つに関連付けられたコマンドの完了状態を表すための第1のスライドウインドウを保持させ、
前記複数の処理パイプラインのうちの第2の1つに関連付けられたコマンドの完了状態を表すための第2のスライドウインドウを保持させる
ための命令を備えるコンピュータ読取可能記憶媒体。 - 前記少なくとも1つのコマンドストリームは、前記複数の処理パイプラインのうちの第1の1つに関連付けられた順序付きコマンドの第1のセットと、前記複数の処理パイプラインのうちの第2の1つに関連付けられた順序付きコマンドの第2のセットとを備え、
前記第1のスライドウインドウは、前記第1のスライドウインドウの開始位置を表すコマンドカウンタを備え、前記開始位置は、前記複数の処理パイプラインのうちの第1の1つによってまだ実行されていない先行コマンドが残っていない、前記順序付きコマンドの第1のセット内の最後のコマンドに対応する、請求項36に記載のコンピュータ読取可能記憶媒体。 - 前記第1のスライドウインドウは、前記第1のコマンドの完了状態を表す第1のビットを有するアクティブウインドウマスクを備える、請求項36に記載のコンピュータ読取可能記憶媒体。
- 前記コマンド間従属情報に基づいて、前記プログラム可能プロセッサに、前記第2のコマンドのための従属マスクを生成させるための命令をさらに備え、前記従属マスク内のビットは前記第2のコマンドが従属するコマンドの完了状態を示す、請求項36に記載のコンピュータ読取可能記憶媒体。
- 前記第2のコマンドのための従属マスクを生成するために、前記プログラム可能プロセッサに、
前記第1のコマンドの完了状態を決定させ、
前記第1のコマンドが実行されていない場合に、前記第2のコマンドのための従属マスク内に、前記第1のコマンドに対応するビットを設定させる
ための命令をさらに備える、請求項39に記載のコンピュータ読取可能記憶媒体。 - 前記第1のスライドウインドウは前記第1のコマンドの完了状態を表す第1のビットを有するアクティブウインドウマスクを備え、
前記第1のコマンドの完了状態を決定するために、
前記プログラム可能プロセッサに、前記アクティブウインドウマスクの第1のビットを評価させるための命令をさらに備える、
請求項40に記載のコンピュータ読取可能記憶媒体。 - 前記プログラム可能プロセッサに、
前記複数の処理パイプラインのうちの第1の1つから、前記第1のコマンドが実行されたという通知を受信させ、
前記通知に応答して、前記第1のコマンドに対応する、前記第2のコマンドのための従属マスク内のビットをクリアさせる
ための命令をさらに備える、請求項39に記載のコンピュータ読取可能記憶媒体。 - 前記プログラム可能プロセッサに、
前記複数の処理パイプラインのうちの第1の1つから、前記第1のコマンドが完了したという通知を受信させ、
前記通知に応答して、前記第1のコマンドが前記従属マスク内の最下位ビットに対応する場合に、前記従属マスクを1ビット右シフトさせる
ための命令をさらに備える、請求項39に記載のコンピュータ読取可能記憶媒体。 - 前記複数の処理パイプラインのうちの第2の1つに前記第2のコマンドを割り当てるために、前記プログラム可能プロセッサに、
前記第2のコマンドのための前記従属マスク内のビットが空であるかを判定させ、
前記第2のコマンドのための前記従属マスク内のビットが空である場合のみ、前記複数の処理パイプラインのうちの第2の1つに前記第2のコマンドを割当てさせるための命令をさらに備える、請求項39に記載のコンピュータ読取可能記憶媒体。 - 前記プログラム可能プロセッサに、
前記複数の処理パイプラインのうちの第1の1つから、前記第1のコマンドが完了したという通知を受信させ、
前記通知に応答して、前記第1のスライドウインドウを進めさせる
ための命令をさらに備える、請求項36に記載のコンピュータ読取可能記憶媒体。 - 前記少なくとも1つのコマンドストリームは第4のコマンドをさらに備え、
前記第2のコマンドは優先値を有し、前記第4のコマンドは優先値を有し、
前記第1および第4のコマンドは前記第1のコマンドが前記第4のコマンドよりも先行するような前記少なくとも1つのコマンドストリームにおける順序を有し、
前記第4のコマンドは、複数の処理パイプラインのうちの前記第2の1つに関連付けられ、
前記プログラム可能プロセッサに、
前記コマンド間従属情報に基づいて、前記第4のコマンドが前記第1のコマンドの実行に従属するか否かを判断させ、
前記第2のコマンドが前記第1のコマンドの実行に従属し、かつ前記第4のコマンドが前記第1のコマンドの実行に従属するのであれば、前記第2のコマンドおよび前記第4のコマンドの優先値に基づいた順序で、前記複数の処理パイプラインのうちの第2の1つに前記第2のコマンドおよび前記第4のコマンドを割当てさせる
ための命令をさらに備える、請求項36に記載のコンピュータ読取可能記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/837,600 | 2010-07-16 | ||
US12/837,600 US10241799B2 (en) | 2010-07-16 | 2010-07-16 | Out-of-order command execution with sliding windows to maintain completion statuses |
PCT/US2011/044285 WO2012009701A1 (en) | 2010-07-16 | 2011-07-15 | Out-of-order command execution in a multimedia processor |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013535728A JP2013535728A (ja) | 2013-09-12 |
JP5774699B2 true JP5774699B2 (ja) | 2015-09-09 |
Family
ID=44583601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013520769A Active JP5774699B2 (ja) | 2010-07-16 | 2011-07-15 | マルチメディアプロセッサにおける順序通りでないコマンド実行 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10241799B2 (ja) |
EP (1) | EP2593862B1 (ja) |
JP (1) | JP5774699B2 (ja) |
KR (1) | KR101477434B1 (ja) |
CN (1) | CN103534680B (ja) |
WO (1) | WO2012009701A1 (ja) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9904616B2 (en) | 2011-12-14 | 2018-02-27 | International Business Machines Corporation | Instruction output dependent on a random number-based selection or non-selection of a special command from a group of commands |
US20140258697A1 (en) * | 2013-03-07 | 2014-09-11 | Mips Technologies, Inc. | Apparatus and Method for Transitive Instruction Scheduling |
US9632834B2 (en) * | 2013-05-17 | 2017-04-25 | Nvidia Corporation | Assigning priorities to computational work streams by mapping desired execution priorities to device priorities |
EP2887021B1 (en) * | 2013-12-20 | 2019-05-15 | Airbus Operations GmbH | Merging human machine interfaces of segregated domains |
CN103984655A (zh) * | 2014-04-29 | 2014-08-13 | 三星半导体(中国)研究开发有限公司 | 数据访问的处理方法和装置 |
US9799088B2 (en) * | 2014-08-21 | 2017-10-24 | Qualcomm Incorporated | Render target command reordering in graphics processing |
US10346168B2 (en) | 2015-06-26 | 2019-07-09 | Microsoft Technology Licensing, Llc | Decoupled processor instruction window and operand buffer |
US10409606B2 (en) | 2015-06-26 | 2019-09-10 | Microsoft Technology Licensing, Llc | Verifying branch targets |
US9940136B2 (en) | 2015-06-26 | 2018-04-10 | Microsoft Technology Licensing, Llc | Reuse of decoded instructions |
US11755484B2 (en) | 2015-06-26 | 2023-09-12 | Microsoft Technology Licensing, Llc | Instruction block allocation |
US20170083343A1 (en) * | 2015-09-19 | 2017-03-23 | Microsoft Technology Licensing, Llc | Out of order commit |
US10095519B2 (en) | 2015-09-19 | 2018-10-09 | Microsoft Technology Licensing, Llc | Instruction block address register |
US9977623B2 (en) | 2015-10-15 | 2018-05-22 | Sandisk Technologies Llc | Detection of a sequential command stream |
US10348634B2 (en) * | 2015-12-22 | 2019-07-09 | Intel Corporation | Technologies for tracking out-of-order network packets |
KR20180090124A (ko) * | 2017-02-02 | 2018-08-10 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US10686872B2 (en) | 2017-12-19 | 2020-06-16 | Xilinx, Inc. | Network interface device |
US11165720B2 (en) * | 2017-12-19 | 2021-11-02 | Xilinx, Inc. | Network interface device |
US10686731B2 (en) | 2017-12-19 | 2020-06-16 | Xilinx, Inc. | Network interface device |
US10719970B2 (en) * | 2018-01-08 | 2020-07-21 | Apple Inc. | Low latency firmware command selection using a directed acyclic graph |
US10684797B2 (en) * | 2018-08-31 | 2020-06-16 | Micron Technology, Inc. | Command-in-pipeline counter for a memory device |
US11080101B2 (en) | 2019-03-22 | 2021-08-03 | Apple Inc. | Dependency scheduling for control stream in parallel processor |
US11016771B2 (en) * | 2019-05-22 | 2021-05-25 | Chengdu Haiguang Integrated Circuit Design Co., Ltd. | Processor and instruction operation method |
US20230056965A1 (en) * | 2021-08-23 | 2023-02-23 | International Business Machines Corporation | Dynamic multi-stream deployment planner |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2908598B2 (ja) | 1991-06-06 | 1999-06-21 | 松下電器産業株式会社 | 情報処理装置 |
US5710902A (en) * | 1995-09-06 | 1998-01-20 | Intel Corporation | Instruction dependency chain indentifier |
US5884062A (en) * | 1996-08-30 | 1999-03-16 | Texas Instruments Incorporated | Microprocessor with pipeline status integrity logic for handling multiple stage writeback exceptions |
US6065105A (en) * | 1997-01-08 | 2000-05-16 | Intel Corporation | Dependency matrix |
US5941983A (en) | 1997-06-24 | 1999-08-24 | Hewlett-Packard Company | Out-of-order execution using encoded dependencies between instructions in queues to determine stall values that control issurance of instructions from the queues |
US5913049A (en) | 1997-07-31 | 1999-06-15 | Texas Instruments Incorporated | Multi-stream complex instruction set microprocessor |
US6260189B1 (en) * | 1998-09-14 | 2001-07-10 | Lucent Technologies Inc. | Compiler-controlled dynamic instruction dispatch in pipelined processors |
US6697932B1 (en) * | 1999-12-30 | 2004-02-24 | Intel Corporation | System and method for early resolution of low confidence branches and safe data cache accesses |
JP3558001B2 (ja) | 2000-05-24 | 2004-08-25 | 日本電気株式会社 | 命令バッファ及びバッファキュー制御 |
US6950926B1 (en) * | 2001-03-02 | 2005-09-27 | Advanced Micro Devices, Inc. | Use of a neutral instruction as a dependency indicator for a set of instructions |
US6950927B1 (en) | 2001-04-13 | 2005-09-27 | The United States Of America As Represented By The Secretary Of The Navy | System and method for instruction-level parallelism in a programmable multiple network processor environment |
US6889314B2 (en) | 2001-09-26 | 2005-05-03 | Intel Corporation | Method and apparatus for fast dependency coordinate matching |
US7055021B2 (en) * | 2002-02-05 | 2006-05-30 | Sun Microsystems, Inc. | Out-of-order processor that reduces mis-speculation using a replay scoreboard |
GB0215029D0 (en) | 2002-06-28 | 2002-08-07 | Critical Blue Ltd | Strand based execution |
US7350056B2 (en) | 2005-09-27 | 2008-03-25 | International Business Machines Corporation | Method and apparatus for issuing instructions from an issue queue in an information handling system |
US8933953B2 (en) | 2008-06-30 | 2015-01-13 | Intel Corporation | Managing active thread dependencies in graphics processing |
US8135942B2 (en) * | 2008-08-28 | 2012-03-13 | International Business Machines Corpration | System and method for double-issue instructions using a dependency matrix and a side issue queue |
-
2010
- 2010-07-16 US US12/837,600 patent/US10241799B2/en active Active
-
2011
- 2011-07-15 WO PCT/US2011/044285 patent/WO2012009701A1/en active Application Filing
- 2011-07-15 CN CN201180041049.6A patent/CN103534680B/zh active Active
- 2011-07-15 EP EP11735958.8A patent/EP2593862B1/en active Active
- 2011-07-15 KR KR1020137003936A patent/KR101477434B1/ko active IP Right Grant
- 2011-07-15 JP JP2013520769A patent/JP5774699B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
US20120017069A1 (en) | 2012-01-19 |
KR101477434B1 (ko) | 2014-12-29 |
CN103534680A (zh) | 2014-01-22 |
US10241799B2 (en) | 2019-03-26 |
CN103534680B (zh) | 2016-01-27 |
KR20130069729A (ko) | 2013-06-26 |
JP2013535728A (ja) | 2013-09-12 |
EP2593862A1 (en) | 2013-05-22 |
EP2593862B1 (en) | 2016-08-17 |
WO2012009701A1 (en) | 2012-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5774699B2 (ja) | マルチメディアプロセッサにおける順序通りでないコマンド実行 | |
CN108206937B (zh) | 一种提升智能分析性能的方法和装置 | |
US8730248B2 (en) | Multi-graphics processor system, graphics processor and data transfer method | |
TWI428852B (zh) | 著色器處理系統與方法 | |
US9170841B2 (en) | Multiprocessor system for comparing execution order of tasks to a failure pattern | |
KR101552079B1 (ko) | 그래픽스 프로세싱 유닛 상의 그래픽스 및 비그래픽스 어플리케이션들의 실행 | |
US8866826B2 (en) | Method and apparatus for dispatching graphics operations to multiple processing resources | |
US9396032B2 (en) | Priority based context preemption | |
JP2008123045A (ja) | プロセッサ | |
US8743131B2 (en) | Course grain command buffer | |
US8548061B2 (en) | Image decoding apparatus and image decoding method | |
JP2007522561A (ja) | 同時マルチスレッディングプロセッサを用いてバッファ型アプリケーションのエネルギー消費を低減する方法 | |
JP2010181989A (ja) | データ処理装置 | |
CN111124641B (zh) | 一种利用多线程的数据处理方法及系统 | |
JP4575925B2 (ja) | マルチスレッドアーキテクチャを用いた視覚および図形データの処理 | |
US20150206596A1 (en) | Managing a ring buffer shared by multiple processing engines | |
CN113015003B (zh) | 视频帧缓存方法和设备 | |
CN110708609A (zh) | 一种视频播放方法及装置 | |
US10747692B2 (en) | Image processing accelerator | |
US9417878B2 (en) | Instruction scheduling for reducing register usage based on dependence depth and presence of sequencing edge in data dependence graph | |
CN113994363A (zh) | 用于波隙管理的方法和装置 | |
US7577762B1 (en) | Cooperative scheduling for multiple consumers | |
US8694697B1 (en) | Rescindable instruction dispatcher | |
CN110764710A (zh) | 低延迟高iops的数据访问方法与存储系统 | |
CN117742863B (zh) | 一种基于Qt和GStreamer结合的多媒体处理方法、系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130529 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140729 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141029 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141118 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20150218 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150518 |
|
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: 20150602 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150701 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5774699 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |