JPH03231334A - タスク切り替え制御方式 - Google Patents
タスク切り替え制御方式Info
- Publication number
- JPH03231334A JPH03231334A JP2755790A JP2755790A JPH03231334A JP H03231334 A JPH03231334 A JP H03231334A JP 2755790 A JP2755790 A JP 2755790A JP 2755790 A JP2755790 A JP 2755790A JP H03231334 A JPH03231334 A JP H03231334A
- Authority
- JP
- Japan
- Prior art keywords
- task
- registers
- area
- processor
- monitor
- 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
- 238000000034 method Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000010187 selection method Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野]
本発明はマルチタスクモニタにおけるタスク切り糾え方
法に関する。
法に関する。
[従来の技術]
一つのプロセッサを複数のタスクが共有することを可能
にするマルチタスクモニタにおいては、複数のタスクを
切り替える際に、中断したタスクを再び実行することが
可能なように、その実行内容及びその時のプロセッサの
状態を保存しておく。
にするマルチタスクモニタにおいては、複数のタスクを
切り替える際に、中断したタスクを再び実行することが
可能なように、その実行内容及びその時のプロセッサの
状態を保存しておく。
例えば、第4図に示すようにタスクが使用可能な32ビ
ツトのレジスタを8本持つプロセッサを考える。従来の
マルチタスクモニタは、第5図に示すような手順でタス
クの切り替えを行う。即ち、あるタスクをプロセッサを
使用している状態から停止状態に変更する際、タスクの
状態を格納しておく領域にプロセッサのレジスタ及びそ
のタスクの制御に必要な付加的な情報を格納する。そし
てこれから実行を再開しようとするタスクの状態を格納
しである領域からそのタスクが中断した時に保持してい
たプロセッサのレジスタの内容及びりスフの制御に必要
な付加的な情報を読み出し、プロセッサのレジスタに読
み出した内容を格納し、制御情報を基にタスクの実行を
再開させる。
ツトのレジスタを8本持つプロセッサを考える。従来の
マルチタスクモニタは、第5図に示すような手順でタス
クの切り替えを行う。即ち、あるタスクをプロセッサを
使用している状態から停止状態に変更する際、タスクの
状態を格納しておく領域にプロセッサのレジスタ及びそ
のタスクの制御に必要な付加的な情報を格納する。そし
てこれから実行を再開しようとするタスクの状態を格納
しである領域からそのタスクが中断した時に保持してい
たプロセッサのレジスタの内容及びりスフの制御に必要
な付加的な情報を読み出し、プロセッサのレジスタに読
み出した内容を格納し、制御情報を基にタスクの実行を
再開させる。
[発明が解決しようとする課題]
上記従来技術では、タスクが実際に使用するプロセッサ
レジスタの数にかかわらずプロセッサ内のすべてのレジ
゛スタを保存・再格納するため、プロセッサの保有する
レジスタの数が多い場合はタスクの切り替え時間が多く
なり、且つタスクの状態を格納しておく領域が増加して
しまう。
レジスタの数にかかわらずプロセッサ内のすべてのレジ
゛スタを保存・再格納するため、プロセッサの保有する
レジスタの数が多い場合はタスクの切り替え時間が多く
なり、且つタスクの状態を格納しておく領域が増加して
しまう。
本発明の目的は、上述した従来技術の問題点を解消し、
タスク切′り替え時間を短縮し、且つタスクの状態を格
納しておく領域を縮小することが可能なタスク切り替え
制御方式を提供することにある。
タスク切′り替え時間を短縮し、且つタスクの状態を格
納しておく領域を縮小することが可能なタスク切り替え
制御方式を提供することにある。
[課題を解決するための手段]
上記目的を達成するために、本発明のタスク切り替え制
御方式においては、タスクをマルチタスクモニタに登録
する際に、そのタスクが使用するプロセッサの種類をマ
ルチタスクモニタに通知することによって、マルチタス
クモニタがタスクを切り替える際に、タスクが使用した
プロセッサのレジスタのみを保存することによって、タ
スクの切り替え時間及びタスクの状態を保存しておく領
域を凝縮するものである。
御方式においては、タスクをマルチタスクモニタに登録
する際に、そのタスクが使用するプロセッサの種類をマ
ルチタスクモニタに通知することによって、マルチタス
クモニタがタスクを切り替える際に、タスクが使用した
プロセッサのレジスタのみを保存することによって、タ
スクの切り替え時間及びタスクの状態を保存しておく領
域を凝縮するものである。
[実施例]
以下、本発明の−・実施例を第1〜3図により説明する
。ここでも第4図に示すような32ビツトのレジスタを
8本持つプロセッサを考える。あるタスクをマルチタス
クモニタに登録する際に、第1図に示すようにマルチタ
スクモニタに渡すパラメータ中に、そのタスクが使用す
るレジスタの種類を含め、マルチタスクモニタにパラメ
ータを渡す<1O−1)。マルチタスクモニタは第2図
に小すように、渡されたパラメータからそのタスクの状
態を保存しておくため領域の大きさを決定しく2O−1
)、その領域中にそのタスクが使用するプロセッサのレ
ジスタの種類を書き込む(202)。例えば、いまタス
クがrO,rl、r2の3本のレジスタを使用する場合
、タスクを登録する際にこの情報をマルチタスクモニタ
に渡し、マルチタスクモニタはタスクの状態を保存して
おく領域のうち、プロセッサのレジスタを格納する領域
はレジスタ3本分でよいことを知る。又タスクを切り替
える際は、プロセッサのレジスタのうちro、rl、r
2の3本のレジスタを格納するという情報を、タスクの
状態を保存□しておく一域゛に書き込む。タスクの′幼
り替えの際は、マルチタスクモニタは第3図に示すよう
に切り替゛えを行おうとするタスクの□、タスクめ状態
を保iする領域から、プロセッサのレジスタのうちどの
レジスタを保゛存すべきかを読み出しく3O−1)、そ
の内容の示すプロセラ゛すのレジスタをタスクの状態を
を格納する領域に保存する(30−2)、先にあげた例
のタスクの場合、マルチタスクモニタは々スフの状態を
格納する領域からこの゛タスクがレジスタrO,rl、
r2の3本のレジスタを使うという情報を読み出し、プ
ロセッサのレジスタのう保存しておく領域に格納する。
。ここでも第4図に示すような32ビツトのレジスタを
8本持つプロセッサを考える。あるタスクをマルチタス
クモニタに登録する際に、第1図に示すようにマルチタ
スクモニタに渡すパラメータ中に、そのタスクが使用す
るレジスタの種類を含め、マルチタスクモニタにパラメ
ータを渡す<1O−1)。マルチタスクモニタは第2図
に小すように、渡されたパラメータからそのタスクの状
態を保存しておくため領域の大きさを決定しく2O−1
)、その領域中にそのタスクが使用するプロセッサのレ
ジスタの種類を書き込む(202)。例えば、いまタス
クがrO,rl、r2の3本のレジスタを使用する場合
、タスクを登録する際にこの情報をマルチタスクモニタ
に渡し、マルチタスクモニタはタスクの状態を保存して
おく領域のうち、プロセッサのレジスタを格納する領域
はレジスタ3本分でよいことを知る。又タスクを切り替
える際は、プロセッサのレジスタのうちro、rl、r
2の3本のレジスタを格納するという情報を、タスクの
状態を保存□しておく一域゛に書き込む。タスクの′幼
り替えの際は、マルチタスクモニタは第3図に示すよう
に切り替゛えを行おうとするタスクの□、タスクめ状態
を保iする領域から、プロセッサのレジスタのうちどの
レジスタを保゛存すべきかを読み出しく3O−1)、そ
の内容の示すプロセラ゛すのレジスタをタスクの状態を
を格納する領域に保存する(30−2)、先にあげた例
のタスクの場合、マルチタスクモニタは々スフの状態を
格納する領域からこの゛タスクがレジスタrO,rl、
r2の3本のレジスタを使うという情報を読み出し、プ
ロセッサのレジスタのう保存しておく領域に格納する。
その優マルチタクスモニタは、次に実行を再開すべきタ
スクを決定しく3O−3)、そのタスクの状態を保存し
ておく領域から、そのタスクがプロセッサのレジスタの
うちどのレジスタを使用するかを読み出す(30−4)
、そしてその内容の示すレジスタに、タスクの状態を格
納しておく領域から読み出した内容を格納して(30−
4)、そのタスクの実行を再開する。先にあげた゛タス
クの実行を再開する場合、マルチタスクモニタはタスク
の状態を格納する領域からこのタスクのレジスタro、
rl。
スクを決定しく3O−3)、そのタスクの状態を保存し
ておく領域から、そのタスクがプロセッサのレジスタの
うちどのレジスタを使用するかを読み出す(30−4)
、そしてその内容の示すレジスタに、タスクの状態を格
納しておく領域から読み出した内容を格納して(30−
4)、そのタスクの実行を再開する。先にあげた゛タス
クの実行を再開する場合、マルチタスクモニタはタスク
の状態を格納する領域からこのタスクのレジスタro、
rl。
r2の3本めレジスタを使うという情報を読み出し、そ
のタスクの状態を格納する領域から読み込み出した情報
プロセッサのレジスタのうちrO。
のタスクの状態を格納する領域から読み込み出した情報
プロセッサのレジスタのうちrO。
rl、r2に格納して、タスクの実行を開始する。
尚、C言語城の高級言語を使用し、特定のコンパイラを
南いてタスクを作成する場合、そのコンパイラによって
使用されるレジスタの種類があらかじめ分っている□場
合には、各タスクのうちどのタスクが特定のコンパイラ
によって作成されているかを示す情報と、そのコンパイ
ラによって生成されたタスクが使用するレジスタの種類
をマルチタスクモニタに登録しておくことによって、そ
の凹ンパイラによって作成されたすべてのタスクに一様
に本発明を適用することが可能になり、各タスクごとに
そのタスクがどのレジスタを使用するかを示す領域を、
タスクの状態を格納しておく領域中に持つ必要がなくな
る。
南いてタスクを作成する場合、そのコンパイラによって
使用されるレジスタの種類があらかじめ分っている□場
合には、各タスクのうちどのタスクが特定のコンパイラ
によって作成されているかを示す情報と、そのコンパイ
ラによって生成されたタスクが使用するレジスタの種類
をマルチタスクモニタに登録しておくことによって、そ
の凹ンパイラによって作成されたすべてのタスクに一様
に本発明を適用することが可能になり、各タスクごとに
そのタスクがどのレジスタを使用するかを示す領域を、
タスクの状態を格納しておく領域中に持つ必要がなくな
る。
[発明の効果]
以上説明したように本発明によれば、タスクの切り替え
をする際に、中断するタスク及び再開するタスクが使用
するプロセッサのレジスタのみを保存格納するため、タ
スクの切り替え時間のオーバヘッドを短縮することが可
能になる。又タスクの状態を保存する領域を確保する際
、プロセッサの持つすべてのレジスタを保存する領域を
持つ代りに、そのタスクが使用するブ[]セセラのレジ
スタのみを保存できる領域を確保するため、タスクの状
態を保存する領域を縮小することができる。
をする際に、中断するタスク及び再開するタスクが使用
するプロセッサのレジスタのみを保存格納するため、タ
スクの切り替え時間のオーバヘッドを短縮することが可
能になる。又タスクの状態を保存する領域を確保する際
、プロセッサの持つすべてのレジスタを保存する領域を
持つ代りに、そのタスクが使用するブ[]セセラのレジ
スタのみを保存できる領域を確保するため、タスクの状
態を保存する領域を縮小することができる。
第1図はタスク登録の動作を示す動作フロー図、第2図
はマルチタスクモニタのタスク登録肋作を示す動作フロ
ー図、第3図はマルチタスクモニタのタスク切り替え手
順を示す動作フロー図、第4図は本発明を実施するプロ
セッサのレジスタ構成の一例を示す図、第5図は従来技
術におけるタスク切り替え動作を示す動作フロー図であ
る。 第 第 凶 屍 (2)
はマルチタスクモニタのタスク登録肋作を示す動作フロ
ー図、第3図はマルチタスクモニタのタスク切り替え手
順を示す動作フロー図、第4図は本発明を実施するプロ
セッサのレジスタ構成の一例を示す図、第5図は従来技
術におけるタスク切り替え動作を示す動作フロー図であ
る。 第 第 凶 屍 (2)
Claims (1)
- 1、少なくとも1つ以上のタスクを少なくとも1つ以上
のプロセッサに割り付け、タスクを切り替えることでマ
ルチタスクを実現するマルチタスクモニタにおいて、タ
スクが使用するプロセッサの種類をタスクを生成する時
にマルチタスクモニタに登録し、マルチタスクモニタは
タスクの状態を格納する領域を確保する際に、タスクの
使用するプロセッサのレジスタの数からその領域の大き
さを決定し、且つタスクが使用するプロセッサのレジス
タの種類をあらかじめ格納しておき、タスク切り替えに
おいてプロセッサのレジスタの内容の入れ替えを実行す
る際に、格納しておいたタスクが使用するプロセッサの
レジスタの内容を入れ替えることを特徴とするタスク切
り替え制御方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2755790A JPH03231334A (ja) | 1990-02-07 | 1990-02-07 | タスク切り替え制御方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2755790A JPH03231334A (ja) | 1990-02-07 | 1990-02-07 | タスク切り替え制御方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH03231334A true JPH03231334A (ja) | 1991-10-15 |
Family
ID=12224357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2755790A Pending JPH03231334A (ja) | 1990-02-07 | 1990-02-07 | タスク切り替え制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH03231334A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7093260B1 (en) * | 2000-05-04 | 2006-08-15 | International Business Machines Corporation | Method, system, and program for saving a state of a task and executing the task by a processor in a multiprocessor system |
-
1990
- 1990-02-07 JP JP2755790A patent/JPH03231334A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7093260B1 (en) * | 2000-05-04 | 2006-08-15 | International Business Machines Corporation | Method, system, and program for saving a state of a task and executing the task by a processor in a multiprocessor system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5161226A (en) | Microprocessor inverse processor state usage | |
KR100848603B1 (ko) | 데이터 처리장치와 복귀상태의 저장방법 | |
US20030033509A1 (en) | Architectural reuse of registers for out of order simultaneous multi-threading | |
US6385718B1 (en) | Computer system and method for executing interrupt instructions in operating modes | |
JP2003515805A (ja) | プロセッサシステム | |
JP5131269B2 (ja) | マルチプロセッシングシステム | |
JPH03231334A (ja) | タスク切り替え制御方式 | |
JP2002157132A (ja) | コンピュータ、その制御方法及びその制御方法を記録した記録媒体 | |
JPS63155338A (ja) | プログラム実行履歴記録制御方式 | |
JPS63197239A (ja) | 仮想プロセツサ制御情報退避格納方式 | |
JPS6048770B2 (ja) | 情報処理方式 | |
JP2985244B2 (ja) | 情報処理装置 | |
JPH03282756A (ja) | 非同期入出力方式 | |
JPH02257232A (ja) | 割り込み処理プログラム管理方法 | |
JPS58225469A (ja) | マルチプロセツサ制御方式 | |
JPS61226849A (ja) | 共有バツフア制御方式 | |
JPH0667898A (ja) | タスク制御方式 | |
JP2002544619A (ja) | 専用ポインタメモリを使用するオブジェクト指向処理 | |
JP2001134449A (ja) | データ処理装置とその制御方法 | |
JPS6380334A (ja) | マイクロプロセツサ | |
JPH01169635A (ja) | ジョブ起動方式 | |
JPH04365136A (ja) | ベクトルデータ処理装置 | |
JPH02230324A (ja) | マイクロプログラム制御装置 | |
JPH04140881A (ja) | 情報処理装置 | |
JPH01197867A (ja) | マルチプロセッサシステム |