JP5789072B2 - マルチコアアーキテクチャにおけるリソース管理 - Google Patents
マルチコアアーキテクチャにおけるリソース管理 Download PDFInfo
- Publication number
- JP5789072B2 JP5789072B2 JP2007505624A JP2007505624A JP5789072B2 JP 5789072 B2 JP5789072 B2 JP 5789072B2 JP 2007505624 A JP2007505624 A JP 2007505624A JP 2007505624 A JP2007505624 A JP 2007505624A JP 5789072 B2 JP5789072 B2 JP 5789072B2
- Authority
- JP
- Japan
- Prior art keywords
- controller
- processor
- thread
- manager
- core processor
- 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 152
- 230000006870 function Effects 0.000 claims description 60
- 238000000034 method Methods 0.000 claims description 43
- 238000004891 communication Methods 0.000 claims description 19
- 230000001419 dependent effect Effects 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 7
- 238000012544 monitoring process Methods 0.000 claims description 5
- 239000000872 buffer Substances 0.000 claims 3
- 230000003213 activating effect Effects 0.000 claims 1
- 230000004913 activation Effects 0.000 claims 1
- 238000007726 management method Methods 0.000 description 71
- 230000003068 static effect Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 238000013461 design Methods 0.000 description 12
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 8
- 230000000694 effects Effects 0.000 description 8
- 238000003780 insertion Methods 0.000 description 8
- 230000037431 insertion Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 229910052710 silicon Inorganic materials 0.000 description 8
- 239000010703 silicon Substances 0.000 description 8
- 230000001360 synchronised effect Effects 0.000 description 8
- 230000007704 transition Effects 0.000 description 8
- 239000003795 chemical substances by application Substances 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 230000006399 behavior Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 241001522296 Erithacus rubecula Species 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 230000001010 compromised effect Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 235000019800 disodium phosphate Nutrition 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 241000238876 Acari Species 0.000 description 1
- 102100027364 Cysteine-rich protein 3 Human genes 0.000 description 1
- 102100037024 E3 ubiquitin-protein ligase XIAP Human genes 0.000 description 1
- YKFRUJSEPGHZFJ-UHFFFAOYSA-N N-trimethylsilylimidazole Chemical compound C[Si](C)(C)N1C=CN=C1 YKFRUJSEPGHZFJ-UHFFFAOYSA-N 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 238000013442 quality metrics Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001960 triggered 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, 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, look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- 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, 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; 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, look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
- G06F9/3889—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
- G06F9/3891—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute organised in groups of units sharing resources, e.g. clusters
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Multi Processors (AREA)
- Advance Control (AREA)
Description
図4に、コントローラ130と、コントローラ130の周辺に位置する、コントローラ130に関連付けられたインターフェースグループ200〜250を示す。
図6に、システム管理コントローラ130の主要な論理コンポーネントを示す。コントローラ130の機能は、以下の各機能を実行する4つの1次内部並列処理サブブロック間で分担される。
スレッド入力マネージャ300は、システム管理コントローラ130内の他のサブブロックに3つの共通関数を提供する。
スレッド同期マネージャ310は、システム管理コントローラ130内の他のサブブロックに7つの共通関数を提供する。
スレッド出力マネージャ320は、システム管理コントローラ130内の他のサブブロックに5つの共通関数を提供する。
スレッドスケジュールマネージャ330は、システム管理コントローラ130内に位置するスレッド出力マネージャ320およびシステムインターフェース(TSIF)380に3つの共通関数を提供する。
前述のように、処理リソース150という用語は、命令がどれほど初歩的なものであるかに関わらず、その命令を実行し得る任意のリソースに適用される。したがって、入出力モジュールなど、固定機能を有するリソースも含まれる。処理リソース150の種類に応じて、システム管理コアクライアント120を介した、システム相互接続160と処理リソース150の間の接続は、単方向とすることも、双方向とすることもできる。
各コントローラクライアント120は、完全に割り込み駆動型である。コントローラ130から内部割り込みを受け取り次第、コントローラクライアント120は、専用密結合メモリ190内に保持されているその特定の処理リソース150に関連付けられたディスパッチ待ち行列の先頭から、スレッド記述子をポップする。次いで、スレッド記述子内の一意の参照を使って、メインメモリリソース140さらなるスレッド制御情報、スレッド制御ブロック(TCB)が読み取られる。TCB内に含まれる情報は以下のいずれかとすることができる。
図8に、ハードウェアコントローラクライアント120の基本構造を示す。設計の機能的中心にあるのは、コントローラクライアント有限状態機械(FSM)500である。この有限状態機械(FSM)500は、3段階すべてにおいてアクティブとすることができる。コントローラクライアントFSM500は、コントローラ130からの割り込み220によって活動化される。
a)処理リソース150によって生成されるアドレスが、比較器530および比較アドレスレジスタ540を使って、基底アドレスおよびオフセット定義によって定義される期待される挙動に照らしてチェックされてもよい。
b)処理リソース150によって生成されるアドレスが、減算機550およびオフセットアドレスレジスタ560を使ってオフセットされ、処理リソース150が、通常、アドレス0×0前後に正規化される、任意の所与のスレッドのアドレスマップの正規化ビューを有することを可能にする。
システム管理コントローラ130内で使用されるデータ型のインスタンスは、公開(システム一般から見ることができ、システム一般によって操作される)と専用可視(システム管理コントローラ130内でのみ見ることができ、システム管理コントローラ130サブブロックによってのみ操作される)とに分けられる。複数のエンドアプリケーションにまたがる設計の移植性を保証するために、すべてのスレッド、待ち行列および集約待ち行列記述子が、共通基底クラスを使用する専用密結合メモリ190、コントローラメモリ要素195内に格納される。
各コントローラメモリ要素195は、以下の7つの記述子型のいずれかを表すことができる。
記述子が初期設定または実行時操作を必要とする場合、操作は、コントローラ130APIを介して行われる。集中型タスク割り振り/管理システムは、リアルタイム対話が、ハードウェア実施に十分適する/ハードウェア実施に十分なほど単純化されるように設計される。
この項では、コントローラ130APIを介してシステムから見ることのできるオブジェクトを説明する。通常、これらのオブジェクトは、実行時に、コントローラ130とクライアント120とそれらに関連付けられた処理リソース150とを備える集中型タスク割り振り/管理システムによって操作される。
図9cおよび9dにスレッドプリミティブのフォーマットを示す。その依存関係に従って、スレッド記述子は、保留待ち行列構造に、または直接作動可能待ち行列構造に配置され得る。スレッドが保留待ち行列構造内に配置されるべきである場合、アプリケーションは、スレッドの依存関係を定義しなければならない。外部イベントへの依存性は、依存参照として現れる。コントローラ130は、この依存参照を解釈しない。これは、スレッド記述子を作動可能待ち行列構造にいつ移行させるべきか決定する、入力同期プリミティブとの比較のために維持される。
同期プリミティブは、保留待ち行列とインターフェースし、1つ以上のスレッド記述子の保留待ち行列構造から作動可能待ち行列構造への移行を生じさせることができる。
割り込みサービススレッド(IST)法は、非同期イベントによって処理リソース150に課される負荷を最小限に抑える有益な手段を提供する。さらに、本発明に基づくシステムにおける加速されたリアルタイム応答は、小さなシステム変更を加えるだけでISTのさらなる普及を可能にする。
専用オブジェクトは、通常、ブート時、すなわち、電源遮断サイクル後のシステム初期設定時に構成される。処理リソース150が、実行時に内部オブジェクトと直接対話することはまれである。
スレッドは、同期イベントまたはタイマイベントによって、保留待ち行列構造から作動可能待ち行列構造に格上げされ得る。スレッドは、これらのイベントクラスの両方に反応しても、一方だけに反応してもよい。スレッドが両方に反応する場合、そのスレッドは、保留待ち行列とタイマ待ち行列の両方に存在する。
ユニキャスト:同期イベントは、指定された保留待ち行列で見つかった最初の(最高優先順位の)適切な従属スレッドで状態遷移をトリガする。
マルチキャスト:同期イベントは、指定された保留待ち行列内のすべての適切な従属スレッドで状態遷移をトリガする。
ブロードキャスト:同期イベントは、すべての保留待ち行列内のすべての適切な従属スレッドで状態遷移をトリガする。
タイムアウトイベントを待ち受けるスレッド記述子を格納する単一システム規模のタイマ待ち行列が設けられる。図15に、タイマ待ち行列の例示的実施形態を示す。
作動可能待ち行列構造は、実行可能な状態のスレッドを保持する。これらのスレッドは、独立のスレッドプリミティブを用いて作成されたスレッドであり、または依存対象とする同期プリミティブを受け取っているスレッドである。同期スレッドは、あらかじめ保留待ち行列構造から移行している。
スケジューラ層は、スレッド記述子をスケジュールするのに使用される階層を定義する。各スケジューラ層は、通常、スケジューリングアルゴリズム、スケジューリング決定を行うのに使用されるいくつかのメトリック、および別のスケジューラ層またはスレッド記述子とすることのできる子要素のリストを定義する。ルート、静的および動的の3種類のスケジューラ層記述子がある。スケジューラ層メモリ要素のフォーマットを図9eおよび9fに示す。
ディスパッチ待ち行列は、関連付けられた処理リソース150からのサービスを待ち受ける先入れ先出し(FIFO)待ち行列としてスケジュールされたスレッド記述子を保持する。現在の好ましい実施形態では、最大32のディスパッチ待ち行列が許容される。ディスパッチ待ち行列は、図9gおよび9hに示すディスパッチ待ち行列記述子によって定義される。ディスパッチ待ち行列記述子は、システム初期設定時に構成される。
アプリケーションおよびシステムのスケジューリング要件は様々に異なり、実際には、実際の動作環境での試験後に初めて明らかになることもある。これに対応するために、システム管理コントローラ130は、使用されるスケジューリングポリシとスケジューリングアルゴリズムの両方に柔軟性を与え、これらは、マルチコアプロセッサ設計段階全体を通して変更、調整することができる。
1.連携スケジューラが現在実行中のタスクを利用して新しいタスクをスケジュールする前に処理リソース150を解放する。この種のシステムは、(例えば、処理リソース150にとってローカルのキャッシュが必要な命令を含まず、したがって、より低速の上位メモリから足りない命令をロードしなければならないなどの場合の)コールドキャッシュ効果の最小化、および固定機能ハードウェアアクセラレータと適合するが、より複雑な組み込みアプリケーションには適さないことがある。
2.静的アルゴリズム駆動型スケジューラが、より適格性の高いタスクを実行するために、現在実行中のタスクに取って代わることができる。事前定義されたスケジューリングパラメータおよびアルゴリズムによる最も適格なスレッドが、常に、これらのシステムにおける実行中のスレッドである。任意の所与のタスクの適格性は、システムが実行を開始する前に定められる。
3.動的アルゴリズム駆動型スケジューラが、実行時に適格性を再定義することができる。前述のように、現在実行中のプロセスは、依然として、適格性が最も高いものであるが、タスクが実行を開始した後で、適格性メトリックが変更されている可能性がある。
図19に、通信システムに一般的に見られる簡略化された待ち行列構造の例示的実施形態を示す。この構造は、入出力装置の出力待ち行列を表す。FIFO待ち行列を共用するすべてのスレッドが同じ接続上にあり、そのため、これは、接続ごとの待ち行列構造である。第2のスケジューリング層は、この例では重み付き公平待ち行列(WFQ)アルゴリズムを使用する。このアルゴリズムは、所与のタスクの完了時刻を、その長さと重み係数に基づいて計算する。次いで、最も早い完了時刻を有するパケットを選択する。WFQはスレッドが表すパケットの長さの知識を利用するものであるが、最初のFIFO待ち行列は、この情報とは無関係である。この場合、アプリケーションプログラマは、パケットの長さが、各スレッドごとのスケジューラメトリックに存在するようにしなければならない。階層内の上位のスケジューラ層は、それら自体のスケジューリングアルゴリズムのためにこのパラメータを継承する。
P 接続に割り振られるパイプ帯域幅の部分
I パケットの長さ
B 総パイプ帯域幅
c 接続帯域幅
d スケジューラ層デッドライン
P*B=c
チャネルを帯域幅1に正規化した場合、pはcに等しくなる。その場合、パケット処理の完了時刻tは次式で与えられる。
(1/p)*l=t
その場合、必要なメトリック1/pとlである。pは元々分数であるため、これらの値(1/pおよびl)は両方とも整数である。スケジュールされたパケットの長さは、スケジューラ階層を介して上方に渡され、その層のデッドラインを漸進的に更新する。各更新内で行われる計算は、詳細には、以下の通りである。
d=d+[(1/p)*l]
式中、dおよび1/p(重み)は、スケジューラ層記述子内に格納され、lはスケジュール更新の間に階層を介して渡される。この計算は、スケジューラマネージャ330内で実行される。
Claims (61)
- 実行可能トランザクションを処理するためのリソースを提供する、複数の相互接続されたプロセッサ要素を有するマルチコアプロセッサを制御するリソース管理/タスク割り振りコントローラであって、
前記複数のプロセッサ要素のうちの少なくとも一つのプロセッサ要素は、電源投入時にマスタとして始動し、前記コントローラと物理的に分離されており、前記マルチコアプロセッサ内の実行可能トランザクションの割り振りを受信するように適合されており、
前記コントローラは、前記マスタとして始動したプロセッサ要素を含む前記複数のプロセッサ要素のそれぞれと通信するように適合されており、事前定義された割り振りパラメータに従って個々のプロセッサ要素に前記マルチコアプロセッサ内の実行可能トランザクションを割り振る制御論理を備え、
初期設定シーケンスに続いて実行可能トランザクションを割り振るために前記制御論理を作動させ、
前記制御論理は、複数のコントローラクライアントを介して、前記プロセッサ要素のそれぞれと通信し、
前記コントローラクライアントの各々は、対応するプロセッサ要素に関連付けられており、関連付けられたプロセッサ要素と複数の相互接続されたプロセッサ要素のうちの少なくとも一つとの通信を制御するように構成されており、
前記制御論理は、前記複数のコントローラクライアントを介して実行可能トランザクションを割り振るように構成されており、
前記コントローラは、少なくとも一つの前記実行可能トランザクションを前記マスタとして始動したプロセッサ要素に割り振り、
前記制御論理が、実行可能トランザクションマネージャと、専用メモリマネージャとをさらに備え、前記専用メモリマネージャが、前記実行可能トランザクションマネージャによる専用メモリへのアクセスを制御する、
コントローラ。 - コントローラの前記制御論理内に含まれる事前定義された割り振りパラメータの範囲が、前記プロセッサ要素による前記実行可能トランザクションの実行のタイミングおよび/または順序のスケジューリングのための、複数のトランザクションスケジューリング規則を含む、請求項1に記載のコントローラ。
- コントローラの前記制御論理内に含まれる事前定義された割り振りパラメータの範囲が、前記実行可能トランザクションが前記プロセッサ要素によって実行されるやり方を制御するための、複数のシステム管理規則を含む、請求項1または2に記載のコントローラ。
- さらに、前記プロセッサ要素への通信のための命令を生成するように構成されている、請求項2または3に記載のコントローラ。
- プロセッサ要素に、前記プロセッサ要素を、コントローラによってそのプロセッサ要素に割り振られる実行可能トランザクションの後続の実行を可能にするようさらに適合させるプロセッサ要素構成命令を送るように構成されている、請求項4に記載のコントローラ。
- 前記プロセッサ要素への1つ以上の割り込みの送信によって命令を生成するように構成されている、請求項4または5に記載のコントローラ。
- 前記プロセッサ要素への1つ以上のポーリングの送信によって命令を生成するように構成されている、請求項4または5に記載のコントローラ。
- 前記実行可能トランザクションマネージャが、前記専用メモリ内の利用可能なメモリの指示を維持するように構成された、実行可能トランザクション入力マネージャをさらに備える、請求項1〜7のいずれか一項に記載のコントローラ。
- 前記実行可能トランザクションマネージャが、前記専用メモリ内の利用可能なメモリ位置のリストを維持するように構成されている、請求項8に記載のコントローラ。
- 前記実行可能トランザクション入力マネージャが、前記専用メモリマネージャからの更新された命令の結果として前記利用可能なメモリの指示を維持する、請求項9に記載のコントローラ。
- 前記割り振られるべき実行可能トランザクションが、それぞれが前記マルチコアプロセッサ上で実行されているアプリケーションの一部を形成するスレッドを含み、前記スレッドの少なくとも一部が、他のイベントと関係なく実行することのできる独立スレッドであり、前記スレッドのうちの前記独立スレッドの他のスレッドの少なくとも一部が、その実行が所定のイベントの存在に依存する従属スレッドである、請求項1〜10のいずれか一項に記載のコントローラ。
- 前記制御論理が、前記実行可能トランザクションマネージャにタイマ機能を提供するように構成されたタイムマネージャをさらに備える、請求項11に記載のコントローラ。
- 前記所定のイベントがタイミングイベントである、請求項12に記載のコントローラ。
- 前記所定のイベントが、前のスレッドの実行の完了、または別のより適格なスレッドによる優先使用である、請求項11に記載のコントローラ。
- 前記実行可能トランザクションマネージャが、所定のイベントの発生を待ち受ける従属スレッドを指示する、前記専用メモリ内の少なくとも1つの保留待ち行列リストと、タイミングイベントを待ち受けるスレッドを指示する、前記専用メモリ内の少なくとも1つのタイマ待ち行列リストとを維持するように構成された実行可能トランザクション同期マネージャをさらに備える、請求項11に記載のコントローラ。
- 前記実行可能トランザクションマネージャが、関連付けられた前記プロセッサ要素の1つでの実行を待ち受ける前記スレッドを指示する、前記専用メモリ内の複数のディスパッチ待ち行列構造を維持すると共に、前記プロセッサ要素の1つで実行するための前記プロセッサ要素の1つへの割り振りを待ち受けるスレッドを指示する、前記専用メモリ内の複数の作動可能待ち行列構造を維持するように構成された実行可能トランザクション出力マネージャをさらに備える、請求項15に記載のコントローラ。
- 前記実行可能トランザクションマネージャが、各プロセッサ要素ごとに、前記作動可能待ち行列内から前記ディスパッチ待ち行列へのスレッドのディスパッチに優先順位付けするスケジューリング決定を提供し、維持するように構成された実行可能トランザクションスケジュールマネージャをさらに備える、請求項16に記載のコントローラ。
- 前記制御論理が、前記実行可能トランザクションマネージャと通信する、コントローラによる前記マルチコアプロセッサへのアクセスを管理するように構成されたシステムインターフェースマネージャをさらに備える、請求項1〜17のいずれか一項に記載のコントローラ。
- 前記システムインターフェースマネージャが、相互接続インターフェースおよび構成、ならびに前記実行可能トランザクションマネージャへの実行時アクセスを提供するように構成されている、請求項18に記載のコントローラ。
- 前記制御論理が、前記マルチコアプロセッサ内で用いられる第1のフォーマットのシステム割り込みを、前記実行可能トランザクションマネージャが理解可能な、第2の異なるフォーマットのコントローラ割り込みに変換するシステム割り込みマネージャをさらに備える、請求項6に記載のコントローラ。
- 請求項1〜20のいずれか一項に記載のコントローラを備えるマルチコアプロセッサであって、それぞれが関連付けられたコントローラクライアントを有する複数の相互接続されたプロセッサ要素を有し、各コントローラクライアントが、前記コントローラからの制御信号に応じて、前記プロセッサ要素とマルチコアプロセッサの残りの部分の間の通信を制御するように構成されている、マルチコアプロセッサ。
- 請求項1〜20のいずれか一項に記載のコントローラを備えるマルチコアプロセッサであって、複数の相互接続されたプロセッサ要素と、少なくとも1つのコントローラクライアントとを有し、前記コントローラクライアントが、前記コントローラからの制御信号に応じて、前記プロセッサ要素とマルチコアプロセッサの残りの部分との間の通信を制御するように構成されている、マルチコアプロセッサ。
- 前記コントローラからも、前記複数の相互接続されたプロセッサ要素からもアクセス可能な共用システム相互接続をさらに備える、請求項21に記載のマルチコアプロセッサ。
- 前記マルチコアプロセッサを1つ以上の外部装置に接続する外部インターフェースをさらに備える、請求項23に記載のマルチコアプロセッサ。
- 前記コントローラと通信する専用メモリをさらに備える、請求項21〜24のいずれか一項に記載のマルチコアプロセッサ。
- 前記専用メモリが、前記コントローラから排他的にアクセス可能である、請求項25に記載のマルチコアプロセッサ。
- 前記専用メモリが、前記コントローラからも、前記マルチコアプロセッサの少なくとも1つの別のコンポーネントからもアクセス可能である、請求項25に記載のマルチコアプロセッサ。
- 前記専用メモリが、複数の個別メモリ要素を備える、請求項25に記載のマルチコアプロセッサ。
- 個別メモリ要素の数がユーザ定義可能である、請求項28に記載のマルチコアプロセッサ。
- 各メモリ要素が類似のサイズのものであり、前記ユーザ定義可能なメモリ要素の数が、結果として可変メモリサイズをもたらす、請求項29に記載のマルチコアプロセッサ。
- 前記コントローラクライアントが、前記関連付けられたプロセッサ要素上で実行中のソフトウェアアプリケーションである、請求項21に記載のマルチコアプロセッサ。
- 前記コントローラクライアントが、前記関連付けられたプロセッサ要素の機能に依存するハードウェアコントローラクライアントである、請求項21に記載のマルチコアプロセッサ。
- 前記コントローラクライアントが、前記コントローラからの制御信号による活動化時に、前記関連付けられたプロセッサ要素を制御するクライアント制御論理をさらに備える、請求項32に記載のマルチコアプロセッサ。
- 前記コントローラクライアントが、前記プロセッサ要素とマルチコアプロセッサの残りの部分の間で送られる通信メッセージの一時保管のための複数のバッファをさらに備える、請求項33に記載のマルチコアプロセッサ。
- 前記複数のバッファが、先入れ先出しバッファである、請求項34に記載のマルチコアプロセッサ。
- 前記コントローラクライアントが、それぞれがアドレスを格納するように構成された複数のメモリ要素をさらに備える、請求項34に記載のマルチコアプロセッサ。
- 前記コントローラクライアントが、それぞれが、前記関連付けられたプロセッサ要素によって生成されるアドレスを前記メモリ要素の1つに格納されるアドレスと比較するように構成された複数の比較器をさらに備える、請求項36に記載のマルチコアプロセッサ。
- 前記コントローラクライアントが、前記メモリ要素の1つに格納されるアドレスを、前記関連付けられたプロセッサ要素によって生成されるアドレスから差し引くように構成された減算器をさらに備える、請求項36に記載のマルチコアプロセッサ。
- 複数のプロセッサ要素を有するマルチコアプロセッサ内のリソースを制御し、割り振る方法であって、
前記複数のプロセッサ要素のうちの、電源投入時にマスタとして始動するプロセッサ要素において、前記マルチコアプロセッサ内の実行可能トランザクションの割り振りを受信するステップと、
前記マスタとして始動したプロセッサ要素とは物理的に別個のリソース管理/タスク割り振りコントローラにおいて、実行可能トランザクションを受け取るステップと、
前記マスタとして始動したプロセッサ要素の制御とは関係なく、初期設定シーケンスに続いて、前記プロセッサ要素の1つにその実行可能トランザクションを割り振るステップと、
コントローラクライアントを介して前記プロセッサ要素の1つに前記実行可能トランザクションを宛先指定するステップと、を備え、
前記実行可能トランザクションを割り振るステップにおいて、少なくとも一つの前記実行可能トランザクションを前記マスタとして始動したプロセッサ要素に割り振り、
前記リソース管理/タスク割り振りコントローラは、前記プロセッサ要素に前記実行可能トランザクションを割り振る制御論理を有し、前記制御論理は、実行可能トランザクションマネージャと、専用メモリマネージャとをさらに備え、前記専用メモリマネージャが、前記実行可能トランザクションマネージャによる専用メモリへのアクセスを制御する、
方法。 - 前記コントローラクライアントがハードウェアクライアントである、請求項39に記載の方法。
- 前記コントローラクライアントがソフトウェアクライアントである、請求項39に記載の方法。
- 前記コントローラクライアント内に所定のアドレスを格納するステップをさらに備える、請求項40に記載の方法。
- 前記コントローラクライアントにおいて、前記関連付けられたプロセッサ要素によって生成されたアドレスから前記所定のアドレスを差し引いて、正規化されたアドレスを生成するステップをさらに備える、請求項42に記載の方法。
- 前記コントローラクライアントにおいて、前記関連付けられたプロセッサ要素によって生成されたアドレスを、前記格納された所定のアドレスと比較するステップと、
前記比較の結果に応じて前記プロセッサ要素を構成するステップとをさらに備える、請求項42に記載の方法。 - 前記コントローラクライアントにおいて、前記マルチコアプロセッサの残りの部分から前記関連付けられたプロセッサ要素への通信メッセージ全部を格納するステップと、
続いて、前記全メッセージを前記関連付けられたプロセッサ要素に渡すステップとをさらに備える、請求項40に記載の方法。 - 前記コントローラクライアントにおいて、前記マルチコアプロセッサの残りの部分から前記関連付けられたプロセッサ要素に通信メッセージをストリーミングするステップをさらに備える、請求項40に記載の方法。
- 第2のコントローラクライアントを用いて、第1のコントローラクライアントの実行可能トランザクションを作成し、実行し、または削除するステップをさらに備える、請求項39に記載の方法。
- 事前定義されたスケジューリングパラメータセットに基づいて、前記実行可能トランザクションを前記プロセッサ要素の1つに割り振るステップをさらに備える、請求項39〜47のいずれか一項に記載の方法。
- 前記スケジューリングパラメータセットがユーザ定義可能である、請求項48に記載の方法。
- 前記コントローラが使用するための前記スケジューリングパラメータのリストを監視するステップをさらに備える、請求項48または49に記載の方法。
- 時間の経過につれて前記スケジューリングパラメータセットを変更するステップをさらに備える、請求項48〜50のいずれか一項に記載の方法。
- 前記スケジューリングパラメータの前記リストを監視するステップが、前記プロセッサ要素の1つ以上によって実行され得る作動可能タスクのリストを維持する工程をさらに備える、請求項50に記載の方法。
- 前記マルチコアプロセッサ内のプロセッサリソースを均衡化するよう求める要件に基づいて、前記実行可能トランザクションを前記プロセッサ要素の1つに割り振るステップをさらに備える、請求項48〜51のいずれか一項に記載の方法。
- 前記プロセッサ要素の1つにとって、より優先度の高いタスクを実行することが望ましいと判定されるときに、前記実行可能トランザクションのそのプロセッサ要素への前記割り振りを妨げるステップをさらに備える、請求項48〜51のいずれか一項に記載の方法。
- 所定の長さの時間より長期間割り振られていない実行可能トランザクションのリストを維持するステップをさらに備える、請求項39〜54のいずれか一項に記載の方法。
- 前記スケジューリングパラメータの前記リストを監視するステップが、所定のイベントを待ち受ける保留タスクのリストを維持する工程をさらに備える、請求項50に記載の方法。
- 前記所定のイベントがタイマイベント、同期イベントまたは両方である、請求項56に記載の方法。
- 相互に排他的な所定のイベントに従って、複数の保留タスクのリストを維持するステップをさらに備える、請求項56に記載の方法。
- 前記スケジューリングパラメータの前記リストを監視するステップが、個々の処理リソース上での実行を待ち受けるディスパッチタスクのリストを維持する工程をさらに備える、請求項50に記載の方法。
- タイムアウト時に、所定のイベントを待ち受ける実行可能トランザクションを作動可能待ち行列に移動させるステップをさらに備える、請求項59に記載の方法。
- 前記コントローラが、もっぱら、前記タスクの割り振り専用である、請求項39〜60のいずれか一項に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0407384.7 | 2004-03-31 | ||
GBGB0407384.7A GB0407384D0 (en) | 2004-03-31 | 2004-03-31 | Resource management in a multicore processor |
PCT/GB2005/001154 WO2005096143A1 (en) | 2004-03-31 | 2005-03-30 | Resource management in a multicore architecture |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012221414A Division JP2013061947A (ja) | 2004-03-31 | 2012-10-03 | マルチコアアーキテクチャにおけるリソース管理 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007531137A JP2007531137A (ja) | 2007-11-01 |
JP5789072B2 true JP5789072B2 (ja) | 2015-10-07 |
Family
ID=32247648
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007505624A Active JP5789072B2 (ja) | 2004-03-31 | 2005-03-30 | マルチコアアーキテクチャにおけるリソース管理 |
JP2012221414A Pending JP2013061947A (ja) | 2004-03-31 | 2012-10-03 | マルチコアアーキテクチャにおけるリソース管理 |
JP2013122998A Active JP6018021B2 (ja) | 2004-03-31 | 2013-06-11 | マルチコアアーキテクチャにおけるリソース管理 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012221414A Pending JP2013061947A (ja) | 2004-03-31 | 2012-10-03 | マルチコアアーキテクチャにおけるリソース管理 |
JP2013122998A Active JP6018021B2 (ja) | 2004-03-31 | 2013-06-11 | マルチコアアーキテクチャにおけるリソース管理 |
Country Status (7)
Country | Link |
---|---|
EP (1) | EP1730628B1 (ja) |
JP (3) | JP5789072B2 (ja) |
KR (3) | KR101248170B1 (ja) |
CN (1) | CN100517219C (ja) |
GB (1) | GB0407384D0 (ja) |
TW (3) | TWI407373B (ja) |
WO (1) | WO2005096143A1 (ja) |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0420442D0 (en) * | 2004-09-14 | 2004-10-20 | Ignios Ltd | Debug in a multicore architecture |
JP5088365B2 (ja) | 2007-03-23 | 2012-12-05 | 富士通株式会社 | 電子機器および負荷分散プログラム |
US8544014B2 (en) * | 2007-07-24 | 2013-09-24 | Microsoft Corporation | Scheduling threads in multi-core systems |
US8327363B2 (en) | 2007-07-24 | 2012-12-04 | Microsoft Corporation | Application compatibility in multi-core systems |
KR100958303B1 (ko) * | 2007-12-12 | 2010-05-19 | 한국전자통신연구원 | 멀티코어 시스템 환경에서 내부 코어 간 통신채널을 이용한 모듈 디바이스의 동적 적재 및 실행을 통한 부하 균등화 시스템 및 방법 |
US8930644B2 (en) | 2008-05-02 | 2015-01-06 | Xilinx, Inc. | Configurable transactional memory for synchronizing transactions |
KR100953968B1 (ko) * | 2008-09-11 | 2010-04-21 | 엘지전자 주식회사 | 멀티 프로세서 및 이를 이용한 전원 절감 방법 |
TWI486048B (zh) * | 2008-09-12 | 2015-05-21 | Chi Mei Comm Systems Inc | 手機圖片轉換系統及方法 |
WO2010035315A1 (ja) | 2008-09-24 | 2010-04-01 | 富士通株式会社 | マルチコアcpuにおける消費電力制御方法,消費電力制御プログラム及び情報処理システム |
TWI381315B (zh) * | 2008-10-24 | 2013-01-01 | Nat Univ Chung Cheng | Synchronization elements for multi-core embedded systems |
KR100981017B1 (ko) * | 2008-12-08 | 2010-09-07 | 재단법인대구경북과학기술원 | 정적 태스크 정의 기능을 가진 시스템을 위한 우선순위 재정의 및 대기큐 관리 방법과 상기 방법을 실행하는 시스템 |
US9785462B2 (en) * | 2008-12-30 | 2017-10-10 | Intel Corporation | Registering a user-handler in hardware for transactional memory event handling |
JP2011034189A (ja) * | 2009-07-30 | 2011-02-17 | Renesas Electronics Corp | ストリームプロセッサ及びそのタスク管理方法 |
TWI465916B (zh) * | 2010-09-01 | 2014-12-21 | Tatung Co | 異質雙核心之非對稱傳輸系統與方法 |
CN101977313B (zh) * | 2010-09-20 | 2012-11-21 | 中国科学院计算技术研究所 | 视频信号编码装置和方法 |
US20120096292A1 (en) * | 2010-10-15 | 2012-04-19 | Mosaid Technologies Incorporated | Method, system and apparatus for multi-level processing |
CN102012844B (zh) * | 2010-11-29 | 2013-01-09 | 上海大学 | 一种面向cmp系统的线程调度方法 |
TWI432953B (zh) | 2010-12-09 | 2014-04-01 | Ind Tech Res Inst | 具電源管理之超長指令處理器以及其電源管理裝置與方法 |
FR2975200B1 (fr) * | 2011-05-12 | 2013-06-14 | Peugeot Citroen Automobiles Sa | Synchronisation de donnees dans un systeme de pilotage |
KR101639854B1 (ko) * | 2011-05-20 | 2016-07-14 | 소프트 머신즈, 인크. | 복수의 엔진에 의해 명령어 시퀀스들의 실행을 지원하기 위한 상호접속 구조 |
US8335875B1 (en) * | 2011-06-24 | 2012-12-18 | Intel Corporation | System and method for performing isochronous data buffering |
KR101283911B1 (ko) * | 2011-11-08 | 2013-07-16 | 재단법인대구경북과학기술원 | 운영체제의 알람 관리방법 및 그 운영체제, 그 기록매체 |
CN102521036A (zh) * | 2011-12-05 | 2012-06-27 | 苏州希图视鼎微电子有限公司 | 指令驱动协处理器的任务中断方法及系统 |
SE537552C2 (sv) | 2011-12-21 | 2015-06-09 | Mediatek Sweden Ab | Digital signalprocessor |
KR101880452B1 (ko) | 2012-02-06 | 2018-08-17 | 삼성전자주식회사 | 커널 수행 순서 스케줄링 방법 및 장치 |
CN108681519B (zh) * | 2012-03-30 | 2022-04-08 | 英特尔公司 | 用于从多线程发送请求至加速器的机制 |
KR101984635B1 (ko) | 2012-07-19 | 2019-05-31 | 삼성전자주식회사 | 어플리케이션을 고속으로 처리하는 연산 처리 장치 및 방법 |
KR101421232B1 (ko) | 2012-10-25 | 2014-07-21 | 주식회사 시큐아이 | 패킷 처리 장치, 방법 및 컴퓨터 판독 가능한 기록 매체 |
US9361103B2 (en) * | 2012-11-02 | 2016-06-07 | Advanced Micro Devices, Inc. | Store replay policy |
CN103810223B (zh) * | 2012-11-15 | 2017-03-01 | 中国科学院软件研究所 | 一种基于数据分组的内存数据组织查询方法 |
US9558003B2 (en) | 2012-11-29 | 2017-01-31 | Samsung Electronics Co., Ltd. | Reconfigurable processor for parallel processing and operation method of the reconfigurable processor |
US8984251B2 (en) * | 2012-12-04 | 2015-03-17 | Apple Inc. | Hinting of deleted data from host to storage device |
US9201791B2 (en) | 2013-01-08 | 2015-12-01 | Apple Inc. | Flow-ID dependency checking logic |
TWI492157B (zh) * | 2013-03-05 | 2015-07-11 | Andes Technology Corp | 處理中斷要求事件的裝置與方法 |
US8959576B2 (en) * | 2013-03-14 | 2015-02-17 | Intel Corporation | Method, apparatus, system for qualifying CPU transactions with security attributes |
DE102013109990B4 (de) * | 2013-08-30 | 2020-08-27 | Fujitsu Ltd. | Computersystem, Verwendung eines Systemmanagement-Bausteins und Verfahren zum bidirektionalen Datenaustausch |
TWI489393B (zh) * | 2013-11-15 | 2015-06-21 | Univ Nat Yunlin Sci & Tech | Applied Assignment Method for Multi - core System |
US9588774B2 (en) | 2014-03-18 | 2017-03-07 | International Business Machines Corporation | Common boot sequence for control utility able to be initialized in multiple architectures |
US9552033B2 (en) * | 2014-04-22 | 2017-01-24 | Qualcomm Incorporated | Latency-based power mode units for controlling power modes of processor cores, and related methods and systems |
TWI644253B (zh) * | 2014-07-18 | 2018-12-11 | 軸子研究有限公司 | Data processing device and control method thereof |
US20160092117A1 (en) * | 2014-09-26 | 2016-03-31 | Intel Corporation | Reduction of performance impact of uneven channel loading in solid state drives |
TWI554945B (zh) * | 2015-08-31 | 2016-10-21 | 晨星半導體股份有限公司 | 例行工作的分配方法及應用其之多核心電腦 |
GB2543302B (en) * | 2015-10-14 | 2018-03-21 | Advanced Risc Mach Ltd | Vector load instruction |
GB2547893B (en) * | 2016-02-25 | 2018-06-06 | Advanced Risc Mach Ltd | Combining part of an offset with a corresponding part of a base address and comparing with a reference address |
CN106878389B (zh) * | 2017-01-04 | 2020-02-07 | 北京百度网讯科技有限公司 | 用于在云系统中进行资源调度的方法和装置 |
KR102297512B1 (ko) | 2017-04-04 | 2021-09-03 | 삼성전자주식회사 | 전자 장치 및 그의 제어 방법 |
CN110737616B (zh) * | 2018-07-20 | 2021-03-16 | 瑞昱半导体股份有限公司 | 处理中断优先级的电路系统 |
CN111371820A (zh) * | 2018-12-25 | 2020-07-03 | 上海亮衡信息科技有限公司 | 一种基于定时器触发的通信方法、系统及通信设备 |
CN110008123B (zh) * | 2019-03-28 | 2022-04-26 | 武汉达梦数据库股份有限公司 | 一种自动部署测试软件的方法以及相应的装置 |
CN111913809B (zh) * | 2020-07-28 | 2024-03-19 | 阿波罗智能技术(北京)有限公司 | 多线程场景下的任务执行方法、装置、设备和存储介质 |
KR102530348B1 (ko) * | 2020-11-17 | 2023-05-09 | 이화여자대학교 산학협력단 | Gpgpu의 스레드 블록 스케줄링 방법 및 장치 |
CN112286863B (zh) | 2020-11-18 | 2023-08-18 | 合肥沛睿微电子股份有限公司 | 处理暨存储电路 |
TWI786476B (zh) * | 2020-11-25 | 2022-12-11 | 大陸商合肥沛睿微電子股份有限公司 | 處理暨儲存電路 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8711663D0 (en) * | 1987-05-18 | 1987-06-24 | Singer Link Miles Ltd | Multiprocessing architecture |
JPH03138753A (ja) * | 1989-10-25 | 1991-06-13 | Mitsubishi Electric Corp | マルチプロセッサシステムのブートロード装置 |
JPH0635724A (ja) * | 1992-07-21 | 1994-02-10 | Fujitsu Ltd | イベント同期制御方式 |
US5504670A (en) * | 1993-03-31 | 1996-04-02 | Intel Corporation | Method and apparatus for allocating resources in a multiprocessor system |
JP3245500B2 (ja) * | 1994-04-28 | 2002-01-15 | エヌイーシーマイクロシステム株式会社 | マルチプログラミングにおける事象管理方式 |
KR0170506B1 (ko) * | 1995-08-05 | 1999-03-30 | 양승택 | 멀티프로세서 인터럽트 처리기 및 인터럽트 처리 및 구동방법 |
KR100376056B1 (ko) | 1995-12-29 | 2003-07-22 | 엘지엔시스(주) | 멀티 프로세서 인터럽트 처리장치 |
KR970059923A (ko) * | 1996-01-05 | 1997-08-12 | 구자홍 | 마이크로프로세서의 외부 인터럽트 제어장치 |
JP3001461B2 (ja) * | 1997-05-29 | 2000-01-24 | 日本電気ソフトウェア株式会社 | プロセスのディスパッチ装置 |
US6212544B1 (en) * | 1997-10-23 | 2001-04-03 | International Business Machines Corporation | Altering thread priorities in a multithreaded processor |
US6427224B1 (en) | 2000-01-31 | 2002-07-30 | International Business Machines Corporation | Method for efficient verification of system-on-chip integrated circuit designs including an embedded processor |
US7007153B1 (en) | 2000-03-30 | 2006-02-28 | Agere Systems Inc. | Method and apparatus for allocating functional units in a multithreaded VLIW processor |
US6516393B1 (en) * | 2000-09-29 | 2003-02-04 | International Business Machines Corporation | Dynamic serialization of memory access in a multi-processor system |
US20030126416A1 (en) * | 2001-12-31 | 2003-07-03 | Marr Deborah T. | Suspending execution of a thread in a multi-threaded processor |
-
2004
- 2004-03-31 GB GBGB0407384.7A patent/GB0407384D0/en not_active Ceased
-
2005
- 2005-03-30 KR KR1020117028576A patent/KR101248170B1/ko active IP Right Grant
- 2005-03-30 EP EP05729094.2A patent/EP1730628B1/en active Active
- 2005-03-30 CN CNB2005800108015A patent/CN100517219C/zh active Active
- 2005-03-30 KR KR1020067022736A patent/KR101258502B1/ko active IP Right Grant
- 2005-03-30 KR KR1020127020977A patent/KR101239082B1/ko active IP Right Grant
- 2005-03-30 JP JP2007505624A patent/JP5789072B2/ja active Active
- 2005-03-30 WO PCT/GB2005/001154 patent/WO2005096143A1/en active Application Filing
- 2005-03-31 TW TW094110344A patent/TWI407373B/zh active
- 2005-03-31 TW TW102119397A patent/TWI541725B/zh active
- 2005-03-31 TW TW102119395A patent/TWI502511B/zh active
-
2012
- 2012-10-03 JP JP2012221414A patent/JP2013061947A/ja active Pending
-
2013
- 2013-06-11 JP JP2013122998A patent/JP6018021B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
TW200602981A (en) | 2006-01-16 |
KR101239082B1 (ko) | 2013-03-06 |
EP1730628B1 (en) | 2018-12-26 |
WO2005096143A1 (en) | 2005-10-13 |
TW201337769A (zh) | 2013-09-16 |
TWI541725B (zh) | 2016-07-11 |
KR20070022034A (ko) | 2007-02-23 |
JP2013061947A (ja) | 2013-04-04 |
TW201337768A (zh) | 2013-09-16 |
CN100517219C (zh) | 2009-07-22 |
TWI407373B (zh) | 2013-09-01 |
JP2007531137A (ja) | 2007-11-01 |
KR101248170B1 (ko) | 2013-03-27 |
GB0407384D0 (en) | 2004-05-05 |
KR20120003014A (ko) | 2012-01-09 |
TWI502511B (zh) | 2015-10-01 |
JP2013211050A (ja) | 2013-10-10 |
KR101258502B1 (ko) | 2013-04-26 |
KR20120106890A (ko) | 2012-09-26 |
EP1730628A1 (en) | 2006-12-13 |
CN1993674A (zh) | 2007-07-04 |
JP6018021B2 (ja) | 2016-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5789072B2 (ja) | マルチコアアーキテクチャにおけるリソース管理 | |
US9779042B2 (en) | Resource management in a multicore architecture | |
JP6495208B2 (ja) | ストリームに基づく演算を実装するための汎用複数コアシステムのための方法および装置 | |
US7925869B2 (en) | Instruction-level multithreading according to a predetermined fixed schedule in an embedded processor using zero-time context switching | |
JP6294586B2 (ja) | 命令スレッドを組み合わせた実行の管理システムおよび管理方法 | |
EP2288989B1 (en) | Local collections of tasks in a scheduler | |
JP2017182820A (ja) | グラフィックス計算プロセススケジューリング | |
US20070150895A1 (en) | Methods and apparatus for multi-core processing with dedicated thread management | |
JP6086868B2 (ja) | ユーザモードからのグラフィックス処理ディスパッチ | |
JP2005235228A (ja) | マルチプロセッサシステムにおけるタスク管理方法および装置 | |
JP2013239199A (ja) | マルチコアアーキテクチャにおけるスケジューリング | |
WO2013131340A1 (zh) | 片上系统soc的多处理器的调度方法及装置 | |
Rezaei et al. | Ultrashare: Fpga-based dynamic accelerator sharing and allocation | |
Murtaza et al. | Silicon real time operating system for embedded DSPs | |
Uddin | Microgrid-The microthreaded many-core architecture | |
Labarta et al. | Hybrid Parallel Programming with MPI/StarSs | |
Wu et al. | BLQ: Light-Weight Locality-Aware Runtime for Blocking-Less Queuing | |
Samman et al. | Architecture, on-chip network and programming interface concept for multiprocessor system-on-chip | |
MENELAOS | WEIGHTED SCHEDULING IN HETEROGENEOUS ARCHITECTURES FOR OFFLOADING VARIABLE-LENGTH KERNELS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070824 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080129 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20081219 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20090205 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20090310 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110104 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110329 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110405 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110704 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120403 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20120524 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120627 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120702 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120709 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120803 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120810 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120831 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120907 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121003 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20121204 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130404 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20130524 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20130614 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150107 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150611 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150731 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5789072 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313117 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
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 |