JP5538442B2 - リアルタイムマルチスレッドスケジューラおよびスケジューリング方法 - Google Patents
リアルタイムマルチスレッドスケジューラおよびスケジューリング方法 Download PDFInfo
- Publication number
- JP5538442B2 JP5538442B2 JP2011554278A JP2011554278A JP5538442B2 JP 5538442 B2 JP5538442 B2 JP 5538442B2 JP 2011554278 A JP2011554278 A JP 2011554278A JP 2011554278 A JP2011554278 A JP 2011554278A JP 5538442 B2 JP5538442 B2 JP 5538442B2
- Authority
- JP
- Japan
- Prior art keywords
- task
- priority
- thread
- tasks
- executable
- 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 - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 52
- 238000012545 processing Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 2
- 238000013507 mapping Methods 0.000 claims 4
- 238000010586 diagram Methods 0.000 description 19
- 238000012790 confirmation Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000002618 waking 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
- 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/46—Multiprogramming arrangements
-
- 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
-
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Description
102 メモリ
108 バスインタフェース
110 命令キャッシュ
111、128、130 バス
112 データキャッシュ
114 シーケンサ
116 汎用割り込み
118、120、122、124 命令実行ユニット
126 汎用レジスタファイル
132 スーパバイザ制御レジスタ
150 制御ユニット
156 割り込みコントローラ
158 リアルタイム優先度スケジューラ
200 マルチスレッドプロセッサ
202 リアルタイム優先度スケジューラ
204 割り込みコントローラ
206 第1のデータ構造
208 優先順位付けされた実行中タスクリスト
210 第2のデータ構造
212 優先順位付けされた実行可能タスクリスト
214 複数の実行中スレッド
220 割り込みマスク
222 スケジュール
1400 システム
1410 プロセッサ
1422 システムオンチップデバイス
1426 ディスプレイコントローラ
1428 ディスプレイデバイス
1430 入力デバイス
1432 メモリ
1434 コーデック
1436 スピーカー
1438 マイクロフォン
1440 無線インタフェース
1442 無線アンテナ
1444 電源
1464 リアルタイムマルチスレッドスケジューラモジュール
1466 コンピュータ実行可能命令
1468 カメラインタフェース
1470 ビデオカメラ
Claims (23)
- タスクを前記タスクの実行を可能にするように複数のハードウェアスレッドのうちのハードウェアスレッドに割り当てるように構成されたマルチスレッドプロセッサの第1のハードウェアスレッドにおいて割り込みを受信するステップを有し、
前記第1のハードウェアスレッドは、第1の時間における前記マルチスレッドプロセッサにおける前記複数のハードウェアスレッドに割り当てられた複数のタスクのうちの最低優先度タスクの第1のハードウェアスレッドによる実行に基づいて特定され、
前記第1のハードウェアスレッドにおける前記割り込みの受信に基づいて、前記第1のハードウェアスレッドにおいて割り込みルーチンを開始して実行可能タスクリストから最高優先度タスクを選択するステップと、
前記マルチスレッドプロセッサの第2のハードウェアスレッドを識別するステップとをさらに有し、
前記第2のハードウェアスレッドは、前記第1の時間の後に発生する第2の時間における前記マルチスレッドプロセッサにおける前記複数のハードウェアスレッドに割り当てられた複数のタスクのうちの最低優先度タスクの第2のハードウェアスレッドによる実行に基づいて特定され、
後続の割り込みを前記第2のハードウェアスレッドにマッピングするステップをさらに有する方法。 - 前記割り込みは、少なくとも1つのタスクが実行される準備ができていることを示す請求項1に記載の方法。
- 前記第1の時間において、アイドルタスクが前記第1のハードウェアスレッドに割り当てられる請求項1に記載の方法。
- 前記割り込みルーチンを実行することが、前記実行可能タスクリストからの前記最高優先度タスクの第1の優先度を、実行中タスクリストからの最低優先度タスクの第2の優先度と比較することを含み、前記実行中タスクリストが、前記マルチスレッドプロセッサの前記複数のハードウェアスレッドに割り当てられた1つ以上のタスクを記憶するように構成され、前記割り込みルーチンを実行することが、前記第1の優先度が前記第2の優先度より高い場合に前記最高優先度タスクと前記最低優先度タスクをスワップすることをさらに含む請求項1に記載の方法。
- 前記第1の優先度が前記第2の優先度より高い場合に前記最高優先度タスクと前記最低優先度タスクをスワップした後、前記第1のハードウェアスレッドにおいて前記実行可能タスクリストからの前記最高優先度タスクを実行することと、以前に前記第1のハードウェアスレッドに割り当てられた前記最低優先度タスクを前記実行可能タスクリストに加えることとをさらに含む請求項4に記載の方法。
- 前記複数のハードウェアスレッドに割り当てられた前記複数のタスクのうちの前記後続の最低優先度実行中タスクを判断するステップと、
前記割り込みルーチンを使用して前記後続の割り込みを前記第2のハードウェアスレッドにマッピングするステップと、をさらに有し、
前記第2のハードウェアスレッドは前記複数のハードウェアスレッドに割り当てられた前記複数のタスクのうちの前記後続の最低優先度実行中タスクを実行している請求項5に記載の方法。 - スケジュールを確認していずれかの実行可能タスクが前記複数のハードウェアスレッドに割り当てられた前記複数のタスクのうちの前記後続の最低優先度実行中タスクより高い優先度を有するかどうかを判断した結果に基づいて、前記後続の割り込みを選択的に設定するステップをさらに有する請求項6に記載の方法。
- 前記第1のハードウェアスレッドが前記割り込みを受信できるようにするために、前記マルチスレッドプロセッサの割り込みコントローラが、前記複数のハードウェアスレッドのうちの前記第1のハードウェアスレッド以外のハードウェアスレッドが前記割り込みを受信することからマスクされるように指示するステップをさらに有する請求項1に記載の方法。
- タスクを前記タスクの実行を可能にするようにハードウェアスレッドに割り当てるように構成されたマルチスレッドプロセッサのハードウェアスレッドのセットのうちの第1のハードウェアスレッドにおいて割り込みを受信するステップを有し、前記ハードウェアスレッドのセットの各ハードウェアスレッドは、実行中タスクのセットのそれぞれのタスクを実行し、前記実行中タスクのセットの各タスクおよび実行可能タスクのセットの各タスクは、それぞれの優先度を有し、
前記第1のハードウェアスレッドにおける前記割り込みの受信の後で、前記実行中タスクのセットの各タスクが前記実行可能タスクのセットの全てのタスクの優先度より大きいかまたはそれに等しい優先度を有するまで、前記実行中タスクのセットのうちの最低優先度タスクを前記実行可能タスクのセットのうちの最高優先度タスクと反復的にスワップするステップをさらに有する方法。 - 前記反復的スワップの各反復は、前記実行中タスクのセットのうちの前記最低優先度タスクを前記実行可能タスクのセットのうちの前記最高優先度タスクとスワップした後、
前記実行中タスクのセットのうちの後続の最低優先度タスクを判断するステップと、
前記実行中タスクのセットのうちの前記後続の最低優先度タスクの後続の最低優先度が、前記実行可能タスクのセットのうちの後続の最高優先度タスクの後続の最高優先度より小さいとき、後続の割り込みを、前記実行中タスクのセットのうちの前記後続の最低優先度タスクを実行する特定のハードウェアスレッドに出力して、前記反復的スワップの次の反復を実行するステップとを含む請求項9に記載の方法。 - タスクを前記タスクの実行を可能にするように複数のハードウェアスレッドのうちのハードウェアスレッドに割り当てるように構成され、前記複数のハードウェアスレッドが最高優先度タスクを実行しているように前記複数のハードウェアスレッドを実行するように構成され、そして、前記複数のハードウェアスレッドに割り当てられた複数のタスクのうちの最低優先度タスクを、前記複数のハードウェアスレッドのうちの前記最低優先度タスクを実行する特定のハードウェアスレッドが割り込みを受信した後、前記複数のハードウェアスレッドに割り当てられたすべてのタスクがすべての実行可能タスクの最高優先度と少なくとも同じ高さの優先度を有するように、最高優先度実行可能タスクとスワップすることによって、1つ以上のタスクをスケジュールするように構成されたマルチスレッドプロセッサを備えるシステム。
- 前記マルチスレッドプロセッサは、前記複数のハードウェアスレッドのうちの前記最低優先度タスクを実行する特定のハードウェアスレッドが、前記割り込みを受信した後に、割り込みルーチンを起動して実行可能タスクリストから最高優先度タスクを選択するように構成された請求項11に記載のシステム。
- 前記マルチスレッドプロセッサは、タスクをそれぞれスワップして、実行可能タスクリストの最高優先度タスクを前記複数のハードウェアスレッドのうちの特定のハードウェアスレッドに割り当て、前記最低優先度タスクを前記実行可能タスクリストに加えた後、スケジュールが確認されて、前記実行可能タスクリストのうちのいずれかの実行可能タスクが前記複数のハードウェアスレッドに割り当てられたいずれかのタスクより高い優先度を有するかどうかを判断するように構成された請求項11に記載のシステム。
- 第1のデータ構造が、前記複数のハードウェアスレッドに割り当てられたタスクの優先順位付けされた実行中タスクリストを含み、第2のデータ構造が、前記複数のハードウェアスレッドに割り当てられる準備ができているタスクの優先順位付けされた実行可能タスクリストを含む請求項11に記載のシステム。
- 割り込みを、前記複数のハードウェアスレッドのうちの前記第1のデータ構造の前記優先順位付けされた実行中タスクリストからの最低優先度タスクを実行している特定のハードウェアスレッドにマッピングするように構成された割り込みコントローラをさらに備える請求項14に記載のシステム。
- 割り込みマスクは、割り込みを前記複数のハードウェアスレッドのうちの特定のハードウェアスレッドにマッピングするように構成され、前記複数のハードウェアスレッドのうちの前記特定のハードウェアスレッドは、前記第1のデータ構造の前記優先順位付けされた実行中タスクリストからの最低優先度タスクを実行している請求項14に記載のシステム。
- 前記最高優先度タスクを前記第2のデータ構造の前記優先順位付けされた実行可能タスクリストから前記第1のデータ構造の前記優先順位付けされた実行中タスクリストに移動して、前記最高優先度タスクを前記特定のハードウェアスレッドに割り当て、スケジュールを確認して前記第2のデータ構造中のいずれかの実行可能タスクが前記第1のデータ構造中の最低優先度実行中タスクより高い優先度を有するかどうかを判断するように構成されたスケジューラをさらに備える請求項15に記載のシステム。
- 前記複数のハードウェアスレッドのうちの前記特定のハードウェアスレッドは、アイドルタスクと関連付けられたアイドルハードウェアスレッドである請求項17に記載のシステム。
- マルチスレッドプロセッサを備えるコンピュータに、
タスクを前記タスクの実行を可能にするように前記マルチスレッドプロセッサの複数のハードウェアスレッドのうちのハードウェアスレッドに割り当てるように構成された前記複数のハードウェアスレッドのうちの、最低優先度タスクを実行している特定のハードウェアスレッドを判定させると共に、
割り込みを前記複数のハードウェアスレッドのうちの前記特定のハードウェアスレッドにマッピングさせるように実行可能であるコンピュータ実行可能命令を含むコンピュータ読み取り可能な媒体であって、
前記割り込みは、少なくとも1つのタスクが実行される準備ができていることを示し、前記複数のハードウェアスレッドのうちの前記特定のハードウェアスレッドは、前記割り込みを受信し、前記割り込みに基づいて割り込みルーチンを開始して実行可能タスクリストから最高優先度タスクを選択するコンピュータ読み取り可能な媒体。 - 前記コンピュータ実行可能命令は、前記コンピュータに、
タスクをスワップさせて、前記実行可能タスクリストからの前記最高優先度タスクを前記複数のハードウェアスレッドのうちの前記特定のハードウェアスレッドに割り当てさせ、前記最低優先度タスクを前記実行可能タスクリストに加えさせた後、スケジュールを確認させていずれかの実行可能タスクがいずれかの実行中タスクより高い優先度を有するかどうかを判断させるようにさらに実行可能であり、前記スケジュールを確認させていずれかの実行可能タスクがいずれかの実行中タスクより高い優先度を有するかどうかを判断させることは、新しい最低優先度実行中タスクを新しい最高優先度実行可能タスクと比較させることを含み、
前記コンピュータ実行可能命令は、前記コンピュータに、割り込みルーチンを使用させて、後続の割り込みを、前記複数のハードウェアスレッドのうちの前記新しい最低優先度実行中タスクを実行している新しい特定のハードウェアスレッドにマッピングさせ、
前記スケジュールを確認させていずれかの実行可能タスクが前記新しい最低優先度実行中タスクより高い優先度を有するかどうかを判断させた結果に基づいて、前記後続の割り込みを選択的に出力させるようにさらに実行可能である請求項19に記載のコンピュータ読み取り可能な媒体。 - タスクを前記タスクの実行を可能にするようにハードウェアスレッドのセットのうちのハードウェアスレッドに割り当てるように構成されたマルチスレッドプロセッサの前記ハードウェアスレッドのセットのうちの第1のハードウェアスレッドにおいて割り込みを受信するための手段を備え、前記ハードウェアスレッドのセットの各ハードウェアスレッドは、実行中タスクのセットのそれぞれのタスクを実行し、前記実行中タスクのセットの各実行中タスクおよび実行可能タスクのセットの各実行可能タスクは、それぞれの優先度を有し、
前記割り込みに基づいて、前記実行中タスクのセットの各実行中タスクが前記実行可能タスクのセットの全ての実行可能タスクの優先度より大きいかまたはそれに等しい優先度を有するまで、前記実行中タスクのセットのうちの最低優先度タスクを前記実行可能タスクのセットのうちの最高優先度タスクと反復的にスワップするための手段をさらに備える装置。 - 前記マルチスレッドプロセッサは処理システムに含まれ、前記処理システムは複数の命令実行ユニットを備える請求項1に記載の方法。
- 前記マルチスレッドプロセッサは、最高第2の数までのタスクを処理するように、インターリーブされた方法で同時に実行可能である第1の数のハードウェアスレッドを備え、前記第1の数のハードウェアスレッドのうちの各ハードウェアスレッドは、実行のために単一の対応するタスクに割り当てられると共に、前記第1の数と前記第2の数は同じである請求項1に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/405,271 | 2009-03-17 | ||
US12/405,271 US9207943B2 (en) | 2009-03-17 | 2009-03-17 | Real time multithreaded scheduler and scheduling method |
PCT/US2010/027453 WO2010107774A2 (en) | 2009-03-17 | 2010-03-16 | Real-time multithreaded scheduler and scheduling method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012520531A JP2012520531A (ja) | 2012-09-06 |
JP5538442B2 true JP5538442B2 (ja) | 2014-07-02 |
Family
ID=42738766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011554278A Expired - Fee Related JP5538442B2 (ja) | 2009-03-17 | 2010-03-16 | リアルタイムマルチスレッドスケジューラおよびスケジューリング方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9207943B2 (ja) |
EP (1) | EP2409220A4 (ja) |
JP (1) | JP5538442B2 (ja) |
KR (1) | KR101350851B1 (ja) |
CN (1) | CN102341780B (ja) |
TW (1) | TW201135597A (ja) |
WO (1) | WO2010107774A2 (ja) |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI410870B (zh) * | 2010-03-26 | 2013-10-01 | Novatek Microelectronics Corp | 電腦系統架構 |
US20120192147A1 (en) * | 2011-01-25 | 2012-07-26 | Argen Wong | Develop real time software without an RTOS |
JP5303593B2 (ja) * | 2011-03-16 | 2013-10-02 | 株式会社コア | パケット送信制御装置及びパケット送信制御方法 |
US9105009B2 (en) | 2011-03-21 | 2015-08-11 | Microsoft Technology Licensing, Llc | Email-based automated recovery action in a hosted environment |
US20120260080A1 (en) * | 2011-04-08 | 2012-10-11 | Nokia Corporation | Method and Apparatus for Preprocessing Operations During a Boot Process |
JP5765423B2 (ja) * | 2011-07-27 | 2015-08-19 | 富士通株式会社 | マルチコアプロセッサシステム、およびスケジューリング方法 |
US20130074088A1 (en) * | 2011-09-19 | 2013-03-21 | Timothy John Purcell | Scheduling and management of compute tasks with different execution priority levels |
US8839257B2 (en) * | 2011-11-22 | 2014-09-16 | Microsoft Corporation | Superseding of recovery actions based on aggregation of requests for automated sequencing and cancellation |
US9460303B2 (en) | 2012-03-06 | 2016-10-04 | Microsoft Technology Licensing, Llc | Operating large scale systems and cloud services with zero-standing elevated permissions |
US9026705B2 (en) * | 2012-08-09 | 2015-05-05 | Oracle International Corporation | Interrupt processing unit for preventing interrupt loss |
JP6017260B2 (ja) * | 2012-10-17 | 2016-10-26 | ルネサスエレクトロニクス株式会社 | マルチスレッドプロセッサ |
US8881249B2 (en) | 2012-12-12 | 2014-11-04 | Microsoft Corporation | Scalable and automated secret management |
WO2014138472A2 (en) * | 2013-03-06 | 2014-09-12 | Robotex Inc. | System and method for collecting and processing data and for utilizing robotic and/or human resources |
US9135062B2 (en) | 2013-04-09 | 2015-09-15 | National Instruments Corporation | Hardware assisted method and system for scheduling time critical tasks |
US10037511B2 (en) * | 2013-06-04 | 2018-07-31 | International Business Machines Corporation | Dynamically altering selection of already-utilized resources |
NL2014169B1 (en) | 2015-01-21 | 2017-01-05 | Huisman Well Tech | Apparatus and method for drilling a directional borehole in the ground. |
US9762585B2 (en) | 2015-03-19 | 2017-09-12 | Microsoft Technology Licensing, Llc | Tenant lockbox |
US9921891B1 (en) * | 2015-03-31 | 2018-03-20 | Integrated Device Technology, Inc. | Low latency interconnect integrated event handling |
US10931682B2 (en) | 2015-06-30 | 2021-02-23 | Microsoft Technology Licensing, Llc | Privileged identity management |
US10445100B2 (en) | 2016-06-09 | 2019-10-15 | International Business Machines Corporation | Broadcasting messages between execution slices for issued instructions indicating when execution results are ready |
CN106375435A (zh) * | 2016-08-31 | 2017-02-01 | 福建天晴数码有限公司 | Web线程超时监控的方法及其系统 |
CN106445070B (zh) * | 2016-09-12 | 2019-04-02 | 华侨大学 | 一种硬实时系统资源受限偶发任务能耗优化调度方法 |
CN109144682A (zh) | 2017-06-27 | 2019-01-04 | 阿里巴巴集团控股有限公司 | 任务的优先级处理方法和处理装置 |
CN107577523B (zh) * | 2017-07-31 | 2021-01-05 | 创新先进技术有限公司 | 一种任务执行的方法及装置 |
TWI639955B (zh) * | 2017-11-06 | 2018-11-01 | 晨星半導體股份有限公司 | 多處理器系統及其處理器管理方法 |
CN109871275A (zh) * | 2017-12-01 | 2019-06-11 | 晨星半导体股份有限公司 | 多处理器系统及其处理器管理方法 |
US20190196867A1 (en) * | 2017-12-21 | 2019-06-27 | Qualcomm Incorporated | System and method of priority-based interrupt steering |
CN108235133B (zh) * | 2018-01-15 | 2021-03-02 | 北京陌上花科技有限公司 | 视频识别方法及装置 |
CN108509260B (zh) * | 2018-01-31 | 2021-08-13 | 深圳市万普拉斯科技有限公司 | 线程识别处理方法、装置、计算机设备和存储介质 |
CN108762905B (zh) * | 2018-05-24 | 2020-12-11 | 苏州乐麟无线信息科技有限公司 | 一种多任务事件的处理方法和装置 |
US10691490B2 (en) * | 2018-07-06 | 2020-06-23 | Apple Inc. | System for scheduling threads for execution |
KR102641520B1 (ko) | 2018-11-09 | 2024-02-28 | 삼성전자주식회사 | 멀티-코어 프로세서를 포함하는 시스템 온 칩 및 그것의 태스크 스케줄링 방법 |
JP7197794B2 (ja) * | 2019-03-28 | 2022-12-28 | 富士通株式会社 | 情報処理装置および実行制御プログラム |
US11544065B2 (en) | 2019-09-27 | 2023-01-03 | Advanced Micro Devices, Inc. | Bit width reconfiguration using a shadow-latch configured register file |
CN110737522B (zh) * | 2019-10-16 | 2023-03-03 | 福州物联网开放实验室有限公司 | 一种嵌入式操作系统的待机任务调度方法 |
US20210132985A1 (en) * | 2019-10-30 | 2021-05-06 | Advanced Micro Devices, Inc. | Shadow latches in a shadow-latch configured register file for thread storage |
CN111367652A (zh) * | 2020-01-07 | 2020-07-03 | 苏州大学 | 一种嵌入式实时操作系统的任务调度处理系统和方法 |
US11599359B2 (en) | 2020-05-18 | 2023-03-07 | Advanced Micro Devices, Inc. | Methods and systems for utilizing a master-shadow physical register file based on verified activation |
JP7380415B2 (ja) * | 2020-05-18 | 2023-11-15 | トヨタ自動車株式会社 | エージェント制御装置 |
JP7380416B2 (ja) | 2020-05-18 | 2023-11-15 | トヨタ自動車株式会社 | エージェント制御装置 |
CN112905317B (zh) * | 2021-02-04 | 2023-12-15 | 西安电子科技大学 | 快速可重构信号处理异构平台下任务调度方法和系统 |
CN113377517B (zh) * | 2021-06-28 | 2023-02-28 | 上海鲲宜软件技术有限公司 | 基于实时操作系统的线程调度方法及系统 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5168566A (en) | 1983-11-25 | 1992-12-01 | Sharp Kabushiki Kaisha | Multi-task control device for central processor task execution control provided as a peripheral device and capable of prioritizing and timesharing the tasks |
JP3524961B2 (ja) | 1994-07-21 | 2004-05-10 | 株式会社東芝 | マルチプロセッサシステムおよび同システムにおけるタスクスケジューリング方法 |
US6076157A (en) | 1997-10-23 | 2000-06-13 | International Business Machines Corporation | Method and apparatus to force a thread switch in a multithreaded processor |
US7257814B1 (en) * | 1998-12-16 | 2007-08-14 | Mips Technologies, Inc. | Method and apparatus for implementing atomicity of memory operations in dynamic multi-streaming processors |
US6754690B2 (en) | 1999-09-16 | 2004-06-22 | Honeywell, Inc. | Method for time partitioned application scheduling in a computer operating system |
US6931641B1 (en) | 2000-04-04 | 2005-08-16 | International Business Machines Corporation | Controller for multiple instruction thread processors |
EP1299801B1 (en) | 2000-06-12 | 2010-12-29 | MIPS Technologies, Inc. | Method and apparatus for implementing atomicity of memory operations in dynamic multi-streaming processors |
US7080379B2 (en) | 2002-06-20 | 2006-07-18 | International Business Machines Corporation | Multiprocessor load balancing system for prioritizing threads and assigning threads into one of a plurality of run queues based on a priority band and a current load of the run queue |
US7650601B2 (en) * | 2003-12-04 | 2010-01-19 | International Business Machines Corporation | Operating system kernel-assisted, self-balanced, access-protected library framework in a run-to-completion multi-processor environment |
US7360064B1 (en) * | 2003-12-10 | 2008-04-15 | Cisco Technology, Inc. | Thread interleaving in a multithreaded embedded processor |
US7614053B2 (en) | 2004-02-20 | 2009-11-03 | Sony Computer Entertainment Inc. | Methods and apparatus for task management in a multi-processor system |
US7757238B2 (en) * | 2004-06-29 | 2010-07-13 | Intel Corporation | Task switching with a task containing code region to adjust priority |
US8756605B2 (en) | 2004-12-17 | 2014-06-17 | Oracle America, Inc. | Method and apparatus for scheduling multiple threads for execution in a shared microprocessor pipeline |
US8255912B2 (en) | 2005-04-13 | 2012-08-28 | Qualcomm Incorporated | Techniques for setting events in a multi-threaded system |
US7913255B2 (en) | 2005-10-20 | 2011-03-22 | Qualcomm Incorporated | Background thread processing in a multithread digital signal processor |
US8621475B2 (en) * | 2007-12-06 | 2013-12-31 | International Business Machines Corporation | Responsive task scheduling in cooperative multi-tasking environments |
-
2009
- 2009-03-17 US US12/405,271 patent/US9207943B2/en not_active Expired - Fee Related
-
2010
- 2010-03-16 WO PCT/US2010/027453 patent/WO2010107774A2/en active Application Filing
- 2010-03-16 CN CN201080010974.8A patent/CN102341780B/zh not_active Expired - Fee Related
- 2010-03-16 KR KR1020117024405A patent/KR101350851B1/ko not_active IP Right Cessation
- 2010-03-16 EP EP10753971A patent/EP2409220A4/en not_active Withdrawn
- 2010-03-16 JP JP2011554278A patent/JP5538442B2/ja not_active Expired - Fee Related
- 2010-03-17 TW TW099107933A patent/TW201135597A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
CN102341780B (zh) | 2015-11-25 |
US9207943B2 (en) | 2015-12-08 |
US20100242041A1 (en) | 2010-09-23 |
EP2409220A2 (en) | 2012-01-25 |
WO2010107774A2 (en) | 2010-09-23 |
CN102341780A (zh) | 2012-02-01 |
TW201135597A (en) | 2011-10-16 |
JP2012520531A (ja) | 2012-09-06 |
EP2409220A4 (en) | 2012-02-01 |
WO2010107774A3 (en) | 2011-01-13 |
KR20110127757A (ko) | 2011-11-25 |
KR101350851B1 (ko) | 2014-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5538442B2 (ja) | リアルタイムマルチスレッドスケジューラおよびスケジューリング方法 | |
JP5329563B2 (ja) | マルチスレッド・プロセッサのための共有割込みコントローラ | |
JP2017204307A (ja) | ゲストオペレーティングシステムおよび仮想プロセッサとともにハイパーバイザを使用するシステムおよび方法 | |
JP4148223B2 (ja) | プロセッサおよび情報処理方法 | |
US8140823B2 (en) | Multithreaded processor with lock indicator | |
US8479207B2 (en) | Priority inheritance in multithreaded systems | |
US9606818B2 (en) | Systems and methods of executing multiple hypervisors using multiple sets of processors | |
JP2006243865A (ja) | プロセッサおよび情報処理方法 | |
CN112416546A (zh) | 多任务调度方法、电子装置和计算机存储介质 | |
US20100050184A1 (en) | Multitasking processor and task switching method thereof | |
JP5254342B2 (ja) | n−ウェイキャッシュを用いるシステムおよび方法 | |
US9715392B2 (en) | Multiple clustered very long instruction word processing core | |
JP2006243864A (ja) | プロセッサおよび情報処理方法 | |
KR100978147B1 (ko) | 중앙형 인터럽트 콘트롤러를 위한 장치, 방법 및 시스템 | |
US20150363227A1 (en) | Data processing unit and method for operating a data processing unit | |
US11347544B1 (en) | Scheduling work items based on declarative constraints |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130318 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130402 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130701 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20131105 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140305 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20140312 |
|
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: 20140331 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5538442 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140428 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |