JP2008522277A - 優先度の付けられたタスク間の効率的な切り換え - Google Patents
優先度の付けられたタスク間の効率的な切り換え Download PDFInfo
- Publication number
- JP2008522277A JP2008522277A JP2007542478A JP2007542478A JP2008522277A JP 2008522277 A JP2008522277 A JP 2008522277A JP 2007542478 A JP2007542478 A JP 2007542478A JP 2007542478 A JP2007542478 A JP 2007542478A JP 2008522277 A JP2008522277 A JP 2008522277A
- Authority
- JP
- Japan
- Prior art keywords
- task
- instruction
- tasks
- memory
- priority
- 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.)
- Revoked
Links
- 230000015654 memory Effects 0.000 claims abstract description 60
- 230000001360 synchronised effect Effects 0.000 claims abstract description 16
- 230000007246 mechanism Effects 0.000 claims abstract description 14
- 238000000034 method Methods 0.000 claims abstract description 14
- 230000004044 response Effects 0.000 claims abstract description 4
- 238000012545 processing Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 7
- 230000001934 delay Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 231100001261 hazardous Toxicity 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 102100031476 Cytochrome P450 1A1 Human genes 0.000 description 1
- 101000941690 Homo sapiens Cytochrome P450 1A1 Proteins 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000004018 waxing Methods 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/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
- G06F8/451—Code distribution
-
- 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
Abstract
プログラム・ルーチンのタスクが、種々の優先度の少なくとも二つのメモリ・スタック機構(62、64)に、割り当てられた優先度に基づいて選択的に格納される、プロセッサ装置、タスク・スケジューリング方法およびコンピュータ・プログラム・プロダクトに関する。少なくとも二つのプロセッサ手段(20、30)で実行されるタスクの切り換えは、プログラム・ルーチンに挿入された同期命令への応答として前記少なくとも二つのメモリ・スタック機構(62、64)にアクセスすることによって制御される。それにより、優先度を付けられたタスク間の、効率的な0サイクルのタスク切り換えが達成できる。
Description
S101 挿入されている同期命令を抽出
S102 デコード命令
S103 コプロセッサのプログラム・カウンタを所与のCPアドレスに設定し、HPタスクの次のアドレスを渡す
S104 LPスタックの一番上を、LPタスクの次のアドレスで置き換え、HPタスクの次のアドレスをHPスタックにプッシュする
S105 HPスタックから現在のタスクをポップさせ、HPタスクの次のアドレスを保存
Claims (12)
- a)プログラム・ルーチンのタスクを該タスクに割り当てられた優先度に基づいて処理するための、独自のメモリ・アクセスをもつ少なくとも二つのプロセッサ手段と、
b)タスクをその割り当てられた優先度に基づいて選択的に格納するための、異なる優先度の少なくとも二つのメモリ・スタック機構と、
c)前記少なくとも二つのプロセッサ手段で実行されるタスクの切り換えの制御を、前記プログラム・ルーチンに挿入された同期命令に応じて前記少なくとも二つのメモリ・スタックにアクセスすることによって行う、タスク切り換え手段、
とを有するプロセッサ装置。 - 前記少なくとも二つのメモリ・スタック機構をモニタリングし、優先度が最も高い空でないメモリ・スタック機構の一番上へのアクセスを提供するためのランタイム取扱手段をさらに有する、請求項1記載の装置。
- 前記同期命令が、前記プロセッサ手段の一つの、プログラム・カウンタを、所与のタスク・アドレスに設定し、前記プロセッサ手段の別の一つの、現在タスクを、前記少なくとも二つのメモリ・スタック機構のうち高優先度のものからポップさせる開始命令を含む、請求項1または2記載の装置。
- 前記同期命令が、所与のタスクを前記少なくとも二つのメモリ・スタック機構の高優先度のものにプッシュし、前記少なくとも二つのメモリ・スタック機構の低優先度のものの一番上を、前記プロセッサ手段の一つの次のタスク・アドレスで置き換える停止命令を含む、請求項1または2記載の装置。
- 前記同期命令が、前記少なくとも二つのメモリ・スタック機構の高優先度のものから現在のタスクをポップさせ、所与のタスク・アドレスを格納する保持命令を含む、請求項1または2記載の装置。
- 前記タスク切り換え手段が、前記所与のタスク・アドレスを前記命令から導出するよう適応されている、請求項3ないし5記載の装置。
- 前記同期命令が、前記プログラム・ルーチンの命令に追加的ビットとして添付されている、請求項1ないし6記載の装置。
- 独自のメモリ・アクセスをもつ少なくとも二つのプロセッサ手段を有するプロセッサ装置においてタスク・スケジューリングを実行する方法であって:
a)プログラム・ルーチンのタスクを、割り当てられた優先度に基づいて、異なる優先度の少なくとも二つのメモリ・スタック機構に選択的に格納する段階と;
b)前記プログラム・ルーチンに同期命令を挿入する段階と;
c)前記少なくとも二つのプロセッサ手段で実行されるタスクの切り換えを、前記同期命令に応じて前記少なくとも二つのメモリ・スタックにアクセスすることによって制御する段階、
とを有する方法。 - 前記プログラム・ルーチンの諸タスクの依存性を解析する段階と、該解析する段階の結果に基づいて前記プログラム・ルーチンのアセンブリ・コードに前記同期命令を挿入する段階とをさらに有する、請求項8記載の方法。
- 前記同期命令が、前記プロセッサ手段の一つにおいてタスクを開始するための開始命令、前記プロセッサ手段の一つにおいてタスクを停止させるための停止命令および前記プロセッサ手段の一つにおいてタスクを保持するための保持命令を含む、請求項8または9記載の方法。
- 低優先度タスクと高優先度タスクとの間の切り換えを、前記プログラム・ルーチンの通常の命令と同時的に呼び出す段階をさらに有する、請求項8ないし10のうちいずれか一項記載の方法。
- 前記プロセッサ装置のメモリにロードされたときに、プロセッサ装置を、請求項8ないし10のうちいずれか一項記載の前記諸段階を実行するよう制御するコード手段を有する、コンピュータ・プログラム・プロダクト。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP04106190 | 2004-11-30 | ||
PCT/IB2005/053897 WO2006072841A2 (en) | 2004-11-30 | 2005-11-24 | Efficient switching between prioritized tasks |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008522277A true JP2008522277A (ja) | 2008-06-26 |
Family
ID=36228556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007542478A Revoked JP2008522277A (ja) | 2004-11-30 | 2005-11-24 | 優先度の付けられたタスク間の効率的な切り換え |
Country Status (7)
Country | Link |
---|---|
US (1) | US20080098398A1 (ja) |
EP (1) | EP1820100B1 (ja) |
JP (1) | JP2008522277A (ja) |
CN (1) | CN100535862C (ja) |
AT (1) | ATE406613T1 (ja) |
DE (1) | DE602005009398D1 (ja) |
WO (1) | WO2006072841A2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007026095A (ja) * | 2005-07-15 | 2007-02-01 | Matsushita Electric Ind Co Ltd | 並列演算装置 |
US8032889B2 (en) * | 2006-04-05 | 2011-10-04 | Maxwell Technologies, Inc. | Methods and apparatus for managing and controlling power consumption and heat generation in computer systems |
US8281294B1 (en) * | 2007-11-12 | 2012-10-02 | Nvidia Corporation | System and method for representing and managing a multi-architecture co-processor application program |
US8276132B1 (en) * | 2007-11-12 | 2012-09-25 | Nvidia Corporation | System and method for representing and managing a multi-architecture co-processor application program |
WO2009090684A1 (ja) * | 2008-01-15 | 2009-07-23 | Netcleus Systems Corporation | タスク処理装置 |
CN101290591B (zh) * | 2008-06-03 | 2011-10-12 | 北京中星微电子有限公司 | 一种嵌入式操作系统中切换任务的方法和单元 |
CN101290590B (zh) * | 2008-06-03 | 2012-01-11 | 北京中星微电子有限公司 | 一种嵌入式操作系统中切换任务的方法和单元 |
FR2942556B1 (fr) * | 2009-02-24 | 2011-03-25 | Commissariat Energie Atomique | Unite d'allocation et de controle |
US20120192147A1 (en) * | 2011-01-25 | 2012-07-26 | Argen Wong | Develop real time software without an RTOS |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4286322A (en) * | 1979-07-03 | 1981-08-25 | International Business Machines Corporation | Task handling apparatus |
US4435780A (en) * | 1981-06-16 | 1984-03-06 | International Business Machines Corporation | Separate stack areas for plural processes |
GB2191612A (en) * | 1986-06-11 | 1987-12-16 | Ibm | Display terminal |
JPH02271435A (ja) * | 1989-04-13 | 1990-11-06 | Mitsubishi Electric Corp | タスクトレース装置 |
US5161226A (en) * | 1991-05-10 | 1992-11-03 | Jmi Software Consultants Inc. | Microprocessor inverse processor state usage |
EP0706126A1 (en) * | 1994-10-07 | 1996-04-10 | International Business Machines Corporation | Multi-priority level scheduler |
WO1997005550A1 (en) * | 1995-07-27 | 1997-02-13 | Intel Corporation | Protocol for arbitrating access to a shared memory area using historical state information |
US6128728A (en) * | 1997-08-01 | 2000-10-03 | Micron Technology, Inc. | Virtual shadow registers and virtual register windows |
US6157989A (en) * | 1998-06-03 | 2000-12-05 | Motorola, Inc. | Dynamic bus arbitration priority and task switching based on shared memory fullness in a multi-processor system |
JP4072271B2 (ja) * | 1999-02-19 | 2008-04-09 | 株式会社日立製作所 | 複数のオペレーティングシステムを実行する計算機 |
US6993018B1 (en) * | 1999-08-03 | 2006-01-31 | Telefonaktiebolaget Lm Ericsson (Publ) | Priority signaling for cell switching |
FR2799081B1 (fr) * | 1999-09-27 | 2002-02-22 | Cit Alcatel | Procede et dispositif de gestion des circuits de transmission d'un reseau |
JP3641997B2 (ja) * | 2000-03-30 | 2005-04-27 | 日本電気株式会社 | プログラム変換装置及び方法並びに記録媒体 |
US6822959B2 (en) * | 2000-07-31 | 2004-11-23 | Mindspeed Technologies, Inc. | Enhancing performance by pre-fetching and caching data directly in a communication processor's register set |
US6751711B1 (en) * | 2000-10-27 | 2004-06-15 | Nortel Networks Limited | Methods and systems for process rollback in a shared memory parallel processor computing environment |
GB2369464B (en) * | 2000-11-27 | 2005-01-05 | Advanced Risc Mach Ltd | A data processing apparatus and method for saving return state |
US20030014474A1 (en) * | 2001-05-30 | 2003-01-16 | Mckaig Ray S. | Alternate zero overhead task change circuit |
EP1391820A3 (en) * | 2002-07-31 | 2007-12-19 | Texas Instruments Incorporated | Concurrent task execution in a multi-processor, single operating system environment |
US20050015768A1 (en) * | 2002-12-31 | 2005-01-20 | Moore Mark Justin | System and method for providing hardware-assisted task scheduling |
US8631176B2 (en) * | 2003-02-11 | 2014-01-14 | Gvbb Holdings S.A.R.L. | Asynchronous communications technique |
US7487502B2 (en) * | 2003-02-19 | 2009-02-03 | Intel Corporation | Programmable event driven yield mechanism which may activate other threads |
DE10353267B3 (de) * | 2003-11-14 | 2005-07-28 | Infineon Technologies Ag | Multithread-Prozessorarchitektur zum getriggerten Thread-Umschalten ohne Zykluszeitverlust und ohne Umschalt-Programmbefehl |
US7904905B2 (en) * | 2003-11-14 | 2011-03-08 | Stmicroelectronics, Inc. | System and method for efficiently executing single program multiple data (SPMD) programs |
-
2005
- 2005-11-24 JP JP2007542478A patent/JP2008522277A/ja not_active Revoked
- 2005-11-24 WO PCT/IB2005/053897 patent/WO2006072841A2/en active IP Right Grant
- 2005-11-24 EP EP05826687A patent/EP1820100B1/en not_active Not-in-force
- 2005-11-24 US US11/719,964 patent/US20080098398A1/en not_active Abandoned
- 2005-11-24 AT AT05826687T patent/ATE406613T1/de not_active IP Right Cessation
- 2005-11-24 DE DE602005009398T patent/DE602005009398D1/de active Active
- 2005-11-24 CN CNB2005800408842A patent/CN100535862C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20080098398A1 (en) | 2008-04-24 |
EP1820100A2 (en) | 2007-08-22 |
CN100535862C (zh) | 2009-09-02 |
WO2006072841A2 (en) | 2006-07-13 |
EP1820100B1 (en) | 2008-08-27 |
WO2006072841A3 (en) | 2006-10-12 |
CN101065728A (zh) | 2007-10-31 |
DE602005009398D1 (de) | 2008-10-09 |
ATE406613T1 (de) | 2008-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008522277A (ja) | 優先度の付けられたタスク間の効率的な切り換え | |
JP2007188398A (ja) | マルチプロセッサシステム、マルチプロセッサシステムの制御方法をコンピュータに実行させるためのプログラム。 | |
KR20130012126A (ko) | 예외 이벤트 처리 장치 및 방법 | |
US20100050184A1 (en) | Multitasking processor and task switching method thereof | |
CN114168271B (zh) | 一种任务调度方法、电子设备及存储介质 | |
KR100439286B1 (ko) | 처리시스템,프로세서,컴퓨터판독가능한메모리및컴파일러 | |
KR100983135B1 (ko) | 패킷의 의존성 명령을 그룹핑하여 실행하는 프로세서 및 방법 | |
KR20070090649A (ko) | 멀티 코어 시스템에서 협력적 스케줄링을 제공하는 장치 및방법 | |
CN111538535B (zh) | 一种cpu指令处理方法、控制器和中央处理单元 | |
KR100883655B1 (ko) | 재구성 가능한 프로세서를 갖는 문맥 교환 시스템 및 방법 | |
US20040098722A1 (en) | System, method, and computer program product for operating-system task management | |
JP4170364B2 (ja) | プロセッサ | |
CN113918336A (zh) | 基于多核CPU的FreeRTOS运行任务方法及装置 | |
US8910181B2 (en) | Divided central data processing | |
JP2009175960A (ja) | 仮想マルチプロセッサシステム | |
JP5678347B2 (ja) | Itシステムの構成方法、そのコンピュータプログラムおよびitシステム | |
US7603673B2 (en) | Method and system for reducing context switch times | |
JP2008537248A (ja) | デジタルシグナルプロセッサ上でのマルチタスクの実施 | |
US9619277B2 (en) | Computer with plurality of processors sharing process queue, and process dispatch processing method | |
JP2007122337A (ja) | 演算装置 | |
JP6477216B2 (ja) | 演算装置、スレッド切替方法、及びマルチスレッドプログラム | |
CN116361079A (zh) | 堆栈切换方法、堆栈切换装置、处理器以及存储介质 | |
JPS6227413B2 (ja) | ||
KR20010067336A (ko) | 데이터 처리 장치 및 그 제어 방법 | |
JPH11134202A (ja) | タスク切替え装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081121 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110706 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110823 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111117 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120612 |
|
AA91 | Notification that invitation to amend document was cancelled |
Free format text: JAPANESE INTERMEDIATE CODE: A971091 Effective date: 20120626 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120717 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20121211 |