JP2000215068A - マルチタスクスケジュ―リング装置 - Google Patents
マルチタスクスケジュ―リング装置Info
- Publication number
- JP2000215068A JP2000215068A JP11012821A JP1282199A JP2000215068A JP 2000215068 A JP2000215068 A JP 2000215068A JP 11012821 A JP11012821 A JP 11012821A JP 1282199 A JP1282199 A JP 1282199A JP 2000215068 A JP2000215068 A JP 2000215068A
- Authority
- JP
- Japan
- Prior art keywords
- task
- execution
- executed
- tasks
- held
- 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.)
- Pending
Links
Abstract
先度から推測するしかなく、特にプログラム中で優先度
が変更される場合ではタスクの実行状況を解析するのが
困難であるという問題があった。 【解決手段】 スケジューリングによって過去に選択さ
れ実行されたタスクの選択履歴情報を記憶する手段を設
けた構成をとっている。選択履歴情報として、過去に選
択され実行されたタスクのタスク番号をある一定の個数
だけ記憶する、タスク切替え毎に、タスクの実行番号を
生成し、タスク毎に保持する、タスク切替え毎に、各タ
スク毎に実行回数をカウントし保持する、といった方法
を採っている。
Description
機能を備えたマイクロコントローラにおけるスケジュー
リング装置に関するものである。
コントローラにおいて、プロセッサが単一の場合、複数
のタスクの中から1つのタスクが選択され、その選択さ
れたタスクがプロセッサによって実行される。タスク
は、実行可能状態、実行状態、待機状態などの状態をと
る。実行可能状態とは、タスクがプロセッサにより実行
可能な状態であり、実行状態とは、タスクがプロセッサ
により実行されている状態であり、待機状態とは、タス
クがプロセッサにより実行できない状態である。また、
タスクには優先度がある。
あるタスクのうちで、最も優先度の高いタスクが選択、
つまりスケジューリングが行なわれ、選択されたタスク
が実行される。
来のマイクロコントローラでは、タスクがどのような順
番で実行されたかは優先度から推測するしかなく、特に
プログラム中で優先度が変更される場合ではタスクの実
行状況を解析するのが困難であるという問題があった。
これは、プログラム開発でデバッグを行なう上で大きな
課題となる。
で、タスクの実行状況解析を容易に行なうことができる
マイクロコントローラを提供することを目的とする。
に、本発明のマイクロコントローラは、スケジューリン
グによって過去に選択され実行されたタスクの選択履歴
情報を記憶する手段を設けた構成をとっている。
て、図面を参照しながら説明する。
て、3つの方法について説明する。
を記憶する方法として、複数のタスクはそれぞれ一意の
タスク番号をもち、過去に選択され実行されたタスクの
タスク番号をある一定の個数だけ記憶する手段を設け、
タスク切替が発生すると、それまで実行されていたタス
クのタスク番号が記憶される場合について説明する。
を記憶する方法として、タスク切替時に次に実行すべき
タスクが選択されるとその都度、タスクの実行番号が生
成される。各タスクはそれぞれ実行番号を記憶する手段
をもっており、タスク切替時にそれまで実行されていた
タスクの実行番号記憶手段にその時生成された実行番号
が記憶される場合について説明する。
を記憶する方法として、各タスクはそれぞれ、そのタス
クが過去に実行された回数を記憶する手段をもってお
り、タスク切替時に、それまで実行されていたタスクの
実行回数がインクリメントされる場合について説明す
る。
態で、タスクの選択履歴情報としてタスク番号を保持す
るスケジューリング装置を用いたマイクロコントローラ
の図を示すものである。
り、プログラムが格納されている。
11のアドレス115が生成される。
たがって、データとして命令116が出力される。
がデコードされ、実行信号117が出力される。
したがって演算が行なわれる。
となる演算データ118が格納されており、演算の終了
後、演算結果119が格納される。
スク毎の管理テーブル130〜133が含まれる。各タ
スクの管理テーブル130〜133には、それぞれ該当
するタスクのアドレス、状態、優先度を格納するための
領域がある。アドレスとは、そのタスクのプログラムに
おいて次に実行を開始すべきアドレスである。
時にスケジューリングが行なわれる。
あり、タスクの選択履歴情報として、スケジューラ12
0によって過去に選択されたタスクのタスク番号が格納
される。
ロコントローラについて、以下、タスク切替時の動作を
説明する。
れていたタスクのプログラムは中断され、スケジューラ
120よって、次の3つの処理: (1)それまで実行されていたタスクのアドレスの退避と
状態の変更 (2)次に実行すべきタスクの選択 (3)選択されたタスクのアドレスの復帰と状態の変更 が行なわれた後、選択されたタスクのプログラムが、そ
のアドレスから再開される。
ーケンサ110から出力され、タスク管理テーブル12
1の中の該当するタスクの管理テーブルのアドレスの領
域に格納される。また、それまで実行されていたタスク
の状態は、実行状態からそれ以外状態に移される。つま
り、該当するタスクの管理テーブルの状態の領域が書き
換えられる。 (2)タスク管理テーブル121が参照され、状態が実
行可能状態であるタスクのうちで、優先度が最も高いタ
スク選択される。 (3)選択されたタスクのアドレスは、シーケンサ11
0へ送られる。また、選択されたタスクの状態は、実行
可能状態から実行状態に移される。つまり、該当するタ
スクの管理テーブルの状態の領域が書き換えられる。
3の中からタスクが選択されると、そのタスクのタスク
番号144が決定される。タスク番号144は、スケジ
ューラ120から出力され、タスク番号格納手段140
に送られ、そこで保持される。
0で保持されていたタスク番号はタスク番号格納手段1
41に送られ、そこで保持される。同様に、タスク番号
は順にシフトされ保持されるが、タスク番号格納手段1
43で保持されていたタスク番号は失われる。つまり、
タスク番号格納手段140には1つ前に実行されたタス
クのタスク番号が、タスク番号格納手段141には2つ
前に実行されたタスクのタスク番号が、それぞれ格納さ
れている。
る。
と保持されるタスク番号のリストである。ここでは、タ
スク1、2、3を使用し、その優先度はそれぞれ高、
中、低とする。初期状態として、タスク1、2、3の状
態はそれぞれ、実行状態、実行可能状態、実行可能状態
とする。
ら待機状態に移行したとする。実行可能状態にあるタス
クは、タスク2、3である。タスク2は優先度:中、タ
スク3は優先度:低であり、次に実行すべきタスクとし
てタスク2が選択される。選択されたタスク2は実行状
態に移され、タスク1、3はその状態が保持される。こ
のとき、タスク1のタスク番号"1"がスケジューラ12
0から出力され、タスク番号保持手段140に入力され
る。
ら待機状態に移行したとする。実行可能状態にあるタス
クは、タスク3のみである。次に実行すべきタスクとし
てタスク3が選択される。
タスク1、2はその状態が保持される。このとき、タス
ク2のタスク番号"2"がスケジューラ120から出力さ
れ、タスク番号保持手段140に入力される。同時にタ
スク番号保持手段140に保持されていたタスク番号"
1"は、タスク番号保持手段141に入力される。
実行されていたタスク番号がタスク番号保持手段140
に入力され、それまでタスク番号保持手段140に保持
されていたタスク番号はタスク番号保持手段141に入
力され、それまでタスク番号保持手段141に保持され
ていたタスク番号はタスク番号保持手段142に入力さ
れ、という具合に、タスク番号はタスク番号保持手段1
40〜143を順にシフトされながら保持される。
ば、タスク番号保持手段140〜143を設けることに
より、過去に選択し実行されたタスクの履歴情報とし
て、タスク番号を保持することができる。
場合、図2の上側に示したようなタスクの実行トレース
図があると、どのタスクがどのような順で実行されたか
が判り易く、タスクの実行状況解析には有効である。し
かしながら、タスク切替えの度に各タスクの実行状態を
記録しておくことで、実行トレースを再現することは可
能はであるが、過去のタスク切替え全てにおいて、全て
のタスクの実行状態を記録することは保持手段の回路規
模の点で困難であった。
タスクのタスク番号のみを過去4回のタスク切替えに限
定して保持している。ここで、タスク番号保持手段14
0に保持されているタスク番号は、一つ前に実行されて
いたタスクのタスク番号を意味している。同様に、タス
ク番号保持手段141〜143に保持されているタスク
番号は、それぞれ、2〜4つ前に実行されたタスク番号
を意味している。
143に保持されているタスク番号を調べることで、過
去4つ前までのタスク切替えで、どのタスクが選択され
実行されたのかを知ることができる。
いて、タスク番号保持手段141〜143に保持されて
いるタスク番号は、それぞれ、3、1、3、2であるこ
とから、1つ前に実行されたタスクは、タスク3であ
り、2つ前に実行されたタスクは、タスク1であり、3
つ前に実行されたタスクは、タスク3であり、4つ前に
実行されたタスクは、タスク2であることが判る。
を保持することにより、この情報に基づきタスクのスケ
ジューリングを行なうことが可能となる。例えば、スケ
ジューリング装置が選択履歴情報を参照し、過去の選択
回数が少ないタスクは、選択回数の多いタスクに比べて
優先的に選択するなどといった新たな選択基準を採るこ
とが可能となる。
準を変更しなくても、選択履歴情報を参照し、これに基
づきタスクの優先度を変更することも可能である。例え
ば、履歴情報保持手段をデータ転送命令の読み出しもと
となるレジスタとして定義する。
転送命令を用いて履歴情報をレジスタの値として参照す
ることができる。
の書き込み先となるレジスタと定義することで、プログ
ラムによる優先度の変更ができる。
に、例えば、優先度の低いタスク(タスクA)が優先度
の高いタスク(タスクB)に比べて、実行回数が少なく
タスクAの実行回数を上げた方がよいと判断された場
合、タスクAの優先度を高くする、あるいはタスクBの優
先度を低くするといった優先度の変更、再設定を行なう
ことが可能である。
し、これをタスクの選択に反映することでより適切なス
ケジューリングが実現できる。
態で、タスクの選択履歴情報としてタスク実行番号を保
持するスケジューリング装置を用いたマイクロコントロ
ーラの図を示すものである。
ルであり、各タスク毎の管理テーブル330〜333が
含まれる。
は、それぞれ該当するタスクのアドレス、状態、優先度
と実行番号を格納するための領域がある。
時にスケジューリングが行なわれる。
ロコントローラについて、以下、タスク切替時の動作を
説明する。
生し次に実行すべきタスクが選択される度に、選択され
たタスクに対してタスクの実行番号が生成される。タス
クの実行番号は、マイクロコントローラが起動された時
の初期値を1とし、その後、タスク切替えでタスクが選
択される度にインクリメントされる。
れていたタスクのアドレスが、タスク管理テーブル32
1の中の該当するタスクの管理テーブルのアドレス格納
領域に退避されると共に、そのタスクに対する実行番号
は、該当するタスク管理テーブルの実行番号格納領域に
書き込まれる。
る。
とタスク管理テーブルに保持される各タスクの実行番号
である。初期状態では、スケジューラ320がもつ実行
番号は、1である。
いたタスク1の実行番号1がタスク1の管理テーブル3
31の実行番号格納領域に書き込まれる。スケジューラ
320では、次に実行すべきタスクとしてタスク2が選
択されると、実行番号がインクリメントされ、2にな
る。
たタスク2の実行番号2がタスク2の管理テーブル33
2の実行番号格納領域に書き込まれる。スケジューラ3
20では、次に実行すべきタスクとしてタスク3が選択
されると、実行番号がインクリメントされ、3になる。
タスク1の実行番号格納領域の値は1のままである。
書き込みと実行回数のインクリメントが行なわれる。
クのタスク管理テーブル330〜333に、それぞれ該
当するタスクの実行番号を格納する領域を設けることに
より、過去に選択し実行されたタスクの履歴情報とし
て、タスクの実行番号を保持することができる。
合、実行番号が小さいほど過去に実行されたタスクであ
り、大きいほど最近に実行されたタスクであることが判
る。例えば、図4のタスク切替え5の直後において、タ
スク0〜3のタスク管理テーブルの実行番号領域に保持
されている実行番号は、それぞれ、0、4、2、5であ
ることから、タスク0は実行されておらず、タスク1は
4番目に実行され、タスク2は2番目に実行され、タス
ク3は5番目に実行されたことが判る。
グを行なう場合、例えば、実行番号の小さいタスクはあ
まり実行されていないと判断され、優先度を上げるなど
といった優先度変更を行なうことができる。
態で、タスクの選択履歴情報としてタスクの実行回数を
保持するスケジューリング装置を用いたマイクロコント
ローラの図を示すものである。
ルであり、各タスク毎のテーブル530〜533が含ま
れる。各タスクの管理テーブル530〜533には、そ
れぞれ該当するタスクのアドレス、状態、優先度と実行
回数を格納するための領域がある。
時にスケジューリングが行なわれる。
ロコントローラについて、以下、タスク切替時の動作を
説明する。
0によってそれまで実行されていたタスクのアドレスが
退避されると共に、該当するタスク管理テーブルに格納
されている実行回数がインクリメントされる。
る。
とタスク管理テーブルに保持される実行回数である。
30〜533の実行回数格納領域の値は、0である。
いたタスク1の管理テーブル331の実行回数格納領域
の値は、インクリメントされ、0から1に書き換えられ
る。
たタスク2の管理テーブル332の実行回数格納領域の
値は、インクリメントされ、0から1に書き換えられ
る。タスク1の実行回数格納領域の値は1のままであ
る。
いたタスクの実行回数格納領域の値がインクリメントさ
れる。
クのタスク管理テーブル530〜533に、それぞれ該
当するタスクの実行回数を格納する領域を設けることに
より、過去に選択し実行されたタスクの履歴情報とし
て、タスクの実行回数を保持することができる。
合、実行回数が小さいほど実行頻度が少なく、実行回数
が大きいほど実行頻度が多いことが判り、各タスクの実
行頻度を知ることができる。
いて、タスク0〜3のタスク管理テーブルの実行番号領
域に保持されている実行番号は、それぞれ、0、2、
1、2であることから、タスク0の実行回数は0回であ
り、タスク1の実行回数は2回であり、タスク2の実行
回数は1回であり、タスク3の実行回数は2回であり、
タスク1と3の実行頻度が高いことが判る。
グを行なう場合、例えば、実行回数の小さいタスクはあ
まり実行されていないと判断し優先度を上げる、あるい
は、実行回数の大きいタスクはよく実行されていると判
断し優先度を下げるなどといった優先度変更を行なうこ
とができる。
スクの選択履歴情報を記憶する手段をを設けることによ
り、タスクの実行状況を容易に解析することができるタ
スクスケジューリング装置を実現するものである。
各処理の間に因果関係があり、タスク間で同期をとりな
がら処理を進める必要がある場合、各タスクの実行状況
に応じて、優先度の変更や再設定を行なうことができ、
最適な優先度設定を行なう上で、極めて有効である。
す図
のリストを示す図
す図
番号を示す図
す図
回数を示す図
Claims (3)
- 【請求項1】 複数のタスクのそれぞれに対し実行状態
情報を記憶する手段と、前記複数のタスクのそれぞれに
対し優先度情報を記憶する手段とを備え、 タスク切替時には前記実行状態情報と前記優先度情報と
に基づき前記複数のタスクのうちから次に実行すべきタ
スクを選択するタスクスケジューリング装置であって、
過去に選択され実行されたタスクの選択履歴情報を保持
することを特徴とするタスクスケジューリング装置。 - 【請求項2】 請求項1記載のタスクスケジューリング
装置であって、前記タスクの選択履歴情報を用いてタス
クの実行状況解析を行なうことを特徴とするタスクスケ
ジューリング装置。 - 【請求項3】 請求項1記載のタスクスケジューリング
装置であって、前記タスクの選択履歴情報に基づき次に
実行すべきタスクを選択することを特徴とするタスクス
ケジューリング装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11012821A JP2000215068A (ja) | 1999-01-21 | 1999-01-21 | マルチタスクスケジュ―リング装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11012821A JP2000215068A (ja) | 1999-01-21 | 1999-01-21 | マルチタスクスケジュ―リング装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000215068A true JP2000215068A (ja) | 2000-08-04 |
Family
ID=11816061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11012821A Pending JP2000215068A (ja) | 1999-01-21 | 1999-01-21 | マルチタスクスケジュ―リング装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2000215068A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005107818A (ja) * | 2003-09-30 | 2005-04-21 | Kyocera Mita Corp | 調停装置およびそれを用いる画像形成装置 |
KR100707663B1 (ko) | 2006-04-26 | 2007-04-13 | 주식회사 대우일렉트로닉스 | 멀티미디어 데이터 재생 시스템 및 방법 |
JP2010020803A (ja) * | 2003-02-18 | 2010-01-28 | Microsoft Corp | コプロセッサの性能を強化するシステムおよび方法 |
JP2010287254A (ja) * | 2003-02-18 | 2010-12-24 | Microsoft Corp | タスクのスケジューリングを支援する装置 |
CN108241891A (zh) * | 2016-12-27 | 2018-07-03 | 株式会社捷太格特 | 解析装置以及解析系统 |
JP2020091540A (ja) * | 2018-12-03 | 2020-06-11 | 株式会社デンソー | 情報処理装置 |
-
1999
- 1999-01-21 JP JP11012821A patent/JP2000215068A/ja active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010020803A (ja) * | 2003-02-18 | 2010-01-28 | Microsoft Corp | コプロセッサの性能を強化するシステムおよび方法 |
JP2010287254A (ja) * | 2003-02-18 | 2010-12-24 | Microsoft Corp | タスクのスケジューリングを支援する装置 |
US8671411B2 (en) | 2003-02-18 | 2014-03-11 | Microsoft Corporation | Multithreaded kernel for graphics processing unit |
US9298498B2 (en) | 2003-02-18 | 2016-03-29 | Microsoft Technology Licensing, Llc | Building a run list for a coprocessor based on rules when the coprocessor switches from one context to another context |
JP2005107818A (ja) * | 2003-09-30 | 2005-04-21 | Kyocera Mita Corp | 調停装置およびそれを用いる画像形成装置 |
KR100707663B1 (ko) | 2006-04-26 | 2007-04-13 | 주식회사 대우일렉트로닉스 | 멀티미디어 데이터 재생 시스템 및 방법 |
CN108241891A (zh) * | 2016-12-27 | 2018-07-03 | 株式会社捷太格特 | 解析装置以及解析系统 |
JP2018106562A (ja) * | 2016-12-27 | 2018-07-05 | 株式会社ジェイテクト | 解析装置および解析システム |
US10928783B2 (en) | 2016-12-27 | 2021-02-23 | Jtekt Corporation | Analysis device and analysis system for ranking predictor performance for determining acceptability of an object to be produced |
CN108241891B (zh) * | 2016-12-27 | 2023-09-01 | 株式会社捷太格特 | 解析装置以及解析系统 |
JP2020091540A (ja) * | 2018-12-03 | 2020-06-11 | 株式会社デンソー | 情報処理装置 |
JP7263746B2 (ja) | 2018-12-03 | 2023-04-25 | 株式会社デンソー | 情報処理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9043806B2 (en) | Information processing device and task switching method | |
US20100050184A1 (en) | Multitasking processor and task switching method thereof | |
EP1811375B1 (en) | Processor | |
JP3525518B2 (ja) | データ転送装置 | |
EP3933639B1 (en) | Transaction processing method, apparatus, and electronic device for blockchain | |
JP2000215068A (ja) | マルチタスクスケジュ―リング装置 | |
JP2010061620A (ja) | Dma装置及びdma転送方法 | |
JPH1139171A (ja) | マルチタスク処理装置、マルチタスク処理制御方法及び制御プログラム記憶媒体 | |
JPS62151940A (ja) | レジスタ退避/復帰方式 | |
US11681527B2 (en) | Electronic device and multiplexing method of spatial | |
JP2883465B2 (ja) | 電子計算機 | |
JP5277893B2 (ja) | デバッグ支援装置およびデバッグ支援方法 | |
JPH10326104A (ja) | プログラマブルコントローラおよびシーケンスプログラム実行方法 | |
JPH10232772A (ja) | プログラム変更装置 | |
CN113448518A (zh) | 一种数据处理方法、系统、设备以及介质 | |
JP2004013506A (ja) | プロセッサのダウンロード装置及びその制御方法 | |
JPH07319753A (ja) | バスサイクルのマルチプレクス方式 | |
JPH10320242A (ja) | アプリケーションタスクの検査方法 | |
JP2013229671A (ja) | マルチインターバルタイマ並びにその制御装置、制御方法及び制御プログラム | |
JP2006039604A (ja) | 情報処理装置および方法、並びにプログラム | |
JPH0628182A (ja) | 情報処理装置 | |
JPS63123140A (ja) | 履歴情報記憶装置 | |
JPH05298144A (ja) | データトレース方式 | |
JPH064472A (ja) | 入出力優先順位制御方式 | |
JPS62209650A (ja) | メモリアクセスシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041025 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041207 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050202 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20050629 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050816 |