JPH0199132A - マルチタスク実行装置 - Google Patents
マルチタスク実行装置Info
- Publication number
- JPH0199132A JPH0199132A JP25652887A JP25652887A JPH0199132A JP H0199132 A JPH0199132 A JP H0199132A JP 25652887 A JP25652887 A JP 25652887A JP 25652887 A JP25652887 A JP 25652887A JP H0199132 A JPH0199132 A JP H0199132A
- Authority
- JP
- Japan
- Prior art keywords
- task
- tasks
- time
- counter
- executed
- 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
- 239000002699 waste material Substances 0.000 abstract 1
- 238000000034 method Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000013523 data management Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
産業上の利用分野
本発明は、マイクロプロセッサ−を用いて制御するシス
テムにおいて、2つ以上のタスク(仕事)を1つのマイ
クロプロセッサ−で時分割に実行し、複数のタスクに対
し優先順位をつけてプログラム実行時間を管理し、しか
もタスク切り換えのためのロス時間無く自動的にタスク
を変更しシステムを制御することのできるマルチタスク
実行装置に関するものである。
テムにおいて、2つ以上のタスク(仕事)を1つのマイ
クロプロセッサ−で時分割に実行し、複数のタスクに対
し優先順位をつけてプログラム実行時間を管理し、しか
もタスク切り換えのためのロス時間無く自動的にタスク
を変更しシステムを制御することのできるマルチタスク
実行装置に関するものである。
従来の技術
マイクロプロセッサ−を利用してタスクを実行する場合
、1つのマイクロプロセッサ−に対して、レジスタ群、
スタックポインタ、ステータスレジスタ等からなる1組
のレジスタファイルを準備し、マイクロプロセッサ−か
らの命令に応じて、同レジスタファイルに必要なデータ
を転送しながらタスクを実行する方式のものが多い。こ
の方式では常時1つのタスクしか実行できないから、実
行効率が悪くなる。そこで、従来から、1つのマイクロ
プロセッサ−に対して設けられた1組のレジスタファイ
ルを時分割で使用し、複数のタスクを時分割で実行する
方式が用いられている。そのうち、最も典型的なものは
、マイクロプロセッサ−の1命令毎にタスクを切換える
方式である。ところが、この方式では、2つ以上のタス
クを1命令毎に順次切換えて実行するだけであるから、
複数のタスク間に実行時間の優先順位をもたせることか
できない。しかもタスクを切換えるたびに1、それまで
レジスタファイルに格納されていたデータを、−旦メモ
リ−(スタック)領域に待避させ、次のタスクに必要な
データを別のメモリー空間等からレジスタファイルに呼
び込む操作が必要となる。このデータの切換時間中はタ
スクを実行することができず、したがって時間的なロス
が大きくなる。
、1つのマイクロプロセッサ−に対して、レジスタ群、
スタックポインタ、ステータスレジスタ等からなる1組
のレジスタファイルを準備し、マイクロプロセッサ−か
らの命令に応じて、同レジスタファイルに必要なデータ
を転送しながらタスクを実行する方式のものが多い。こ
の方式では常時1つのタスクしか実行できないから、実
行効率が悪くなる。そこで、従来から、1つのマイクロ
プロセッサ−に対して設けられた1組のレジスタファイ
ルを時分割で使用し、複数のタスクを時分割で実行する
方式が用いられている。そのうち、最も典型的なものは
、マイクロプロセッサ−の1命令毎にタスクを切換える
方式である。ところが、この方式では、2つ以上のタス
クを1命令毎に順次切換えて実行するだけであるから、
複数のタスク間に実行時間の優先順位をもたせることか
できない。しかもタスクを切換えるたびに1、それまで
レジスタファイルに格納されていたデータを、−旦メモ
リ−(スタック)領域に待避させ、次のタスクに必要な
データを別のメモリー空間等からレジスタファイルに呼
び込む操作が必要となる。このデータの切換時間中はタ
スクを実行することができず、したがって時間的なロス
が大きくなる。
一方、このような1命令毎のタスク切換えではなく、ユ
ーザープログラムによって複数のタスクの時間管理を行
い、割込処理等を用いてタスク切換えを行う方式も知ら
れている。この方式によれば、プログラムの作成時に予
め複数のタスクの実行時間に優先順位を設けることも可
能である。しかし、プログラムによって優先順位を設定
するにはプログラム内容に対する高度な理解が必要であ
り、マイクロコンピュータを使用するユーザーが、その
ユーザーの仕様に合ったプログラムを作成し、優先順位
を設定することは実際上極めて困難である。しかも、こ
の場合でも1つのマイクロプロセッサ−に対して1組の
レジスタファイルしか存在しないから、タスクの切換え
のたびにデータの待避と呼び込みを繰り返す必要があり
、したがって時間的なロスは依然として解消されない。
ーザープログラムによって複数のタスクの時間管理を行
い、割込処理等を用いてタスク切換えを行う方式も知ら
れている。この方式によれば、プログラムの作成時に予
め複数のタスクの実行時間に優先順位を設けることも可
能である。しかし、プログラムによって優先順位を設定
するにはプログラム内容に対する高度な理解が必要であ
り、マイクロコンピュータを使用するユーザーが、その
ユーザーの仕様に合ったプログラムを作成し、優先順位
を設定することは実際上極めて困難である。しかも、こ
の場合でも1つのマイクロプロセッサ−に対して1組の
レジスタファイルしか存在しないから、タスクの切換え
のたびにデータの待避と呼び込みを繰り返す必要があり
、したがって時間的なロスは依然として解消されない。
このような問題点を解決するために、1つのマイクロプ
ロセッサ−に対して複数のレジスタファイルを準備し、
マイクロプロセッサ−(プログラム)からの命令に従っ
てマルチプレクサ−を切換え、複数のレジスタファイル
を順次切換えながら複数のタスクを時分割で実行する方
式もある。このようにすれば、1つのタスクに対して1
つのレジスタファイルが準備されているから、切換え時
にデータを待避させたり、呼び込んだりする必要はなく
、したがって時間的なロスは少なくなる。
ロセッサ−に対して複数のレジスタファイルを準備し、
マイクロプロセッサ−(プログラム)からの命令に従っ
てマルチプレクサ−を切換え、複数のレジスタファイル
を順次切換えながら複数のタスクを時分割で実行する方
式もある。このようにすれば、1つのタスクに対して1
つのレジスタファイルが準備されているから、切換え時
にデータを待避させたり、呼び込んだりする必要はなく
、したがって時間的なロスは少なくなる。
しかしこの場合でも複数のタスクの切換え設定や各タス
クの実行時間の優先順位はプログラムによって設定しな
ければならない。このためユーザーがユーザーの仕様に
合わせてプログラムを作成するには相当大きな負担がか
かることになる。
クの実行時間の優先順位はプログラムによって設定しな
ければならない。このためユーザーがユーザーの仕様に
合わせてプログラムを作成するには相当大きな負担がか
かることになる。
発明が解決しようとする問題点
このように、従来複数のタスクを1つのマイクロプロセ
ッサ−で実行させる場合には、仮にレジスタファイルが
複数あったとしても、タスク毎のデータ管理、実行時間
管理、優先順位等をプログラムで設定しなければならな
いという問題があった。
ッサ−で実行させる場合には、仮にレジスタファイルが
複数あったとしても、タスク毎のデータ管理、実行時間
管理、優先順位等をプログラムで設定しなければならな
いという問題があった。
本発明は、タスク毎にレジスタファイルを持ち、タスク
を切り換える時のデータ待避にかかる時間的ロスを無(
し、また、タスク毎にタスク実行時間のデータを持ち、
そのタスクが実行する時間を自動的にカウンタに設定す
ることで、タスク毎の実行時間管理と、優先順位の管理
を行う機能を持たせることにより従来の問題を解決する
ものである。
を切り換える時のデータ待避にかかる時間的ロスを無(
し、また、タスク毎にタスク実行時間のデータを持ち、
そのタスクが実行する時間を自動的にカウンタに設定す
ることで、タスク毎の実行時間管理と、優先順位の管理
を行う機能を持たせることにより従来の問題を解決する
ものである。
問題点を解決するための手段
本発明は上述の問題点を解決するために、タスク毎にレ
ジスタファイルを設けるとともに、各レジスタファイル
の中にタスク実行時間のデータレ、タスクを設け、その
データレジスタの値を順次自動的にカウンタに設定し、
そのカウンタの設定時間ごとに、各々のタスクを実行さ
せるようにしたものである。
ジスタファイルを設けるとともに、各レジスタファイル
の中にタスク実行時間のデータレ、タスクを設け、その
データレジスタの値を順次自動的にカウンタに設定し、
そのカウンタの設定時間ごとに、各々のタスクを実行さ
せるようにしたものである。
作用
このようにすれば、データレジスタの値、いいかえれば
カウンタの設定時間を操作するだけでタスクの実行時間
に差をつけ、それによりタスク間の優先順位を設けるこ
とができる。したがって、1つのマイクロプロセッサで
時間的に無駄な(複数のタスクの優先順位をつけ1時分
割で実行することが可能となる。
カウンタの設定時間を操作するだけでタスクの実行時間
に差をつけ、それによりタスク間の優先順位を設けるこ
とができる。したがって、1つのマイクロプロセッサで
時間的に無駄な(複数のタスクの優先順位をつけ1時分
割で実行することが可能となる。
実施例
本発明の一実施例を第1図、第2図に示すブロック図を
用いて詳しく述べる。この例では4つのタスクの時分割
実行が可能なもの、すなわち、レジスタファイルを4つ
持つシステムについて述べる。第1図において、レジス
タファイル群1は4つのタスクを受持つレジスタファイ
ルA、B。
用いて詳しく述べる。この例では4つのタスクの時分割
実行が可能なもの、すなわち、レジスタファイルを4つ
持つシステムについて述べる。第1図において、レジス
タファイル群1は4つのタスクを受持つレジスタファイ
ルA、B。
C,Dからなる。各レジスタファイルA−Dは、第2図
に示すように、レジスタ群IA〜LD、スタックポイン
タ2.A〜2D、ステータスレジスタ3A〜3D、プロ
グラムカウンタ4A〜4D、タスク実行時間用データレ
ジスタ5A〜5Dを各々備えている。各レジスタファイ
ルA−D内に設けたタスク実行時間用データレジスタ5
A〜5Dの値は中央処理装置(CPU、図示せず)から
の命令により設定され、タスクが切り換えられた時に、
タスク実行時間用データレジスタ5A〜5Dの値はカウ
ンタバス2を通してカウンタ3に転送され、その値が自
動的に設定される。その後カウンタ3は、カウントクロ
ックにもとづいて設定値に達するまでカウント動作を行
う。そしてカウンタ3に値がセットされてからカウント
値が設定値になるまでの間がタスク実行時間となり、こ
の間にひとつのタスクが実行される。カウンタ3のカウ
ント値が設定値になると、カウンタ3がパルスを発生す
る。このパルスがタスク指定回路4に入力され、タスク
指定回路4により次のタスクを決定する。タスク指定回
路4からの信号はデコーダ5によりデコードされ、次の
タスクを実行すべくレジスタファイルA−Dを切り換え
、同様の動作により次のタスクを実行する。
に示すように、レジスタ群IA〜LD、スタックポイン
タ2.A〜2D、ステータスレジスタ3A〜3D、プロ
グラムカウンタ4A〜4D、タスク実行時間用データレ
ジスタ5A〜5Dを各々備えている。各レジスタファイ
ルA−D内に設けたタスク実行時間用データレジスタ5
A〜5Dの値は中央処理装置(CPU、図示せず)から
の命令により設定され、タスクが切り換えられた時に、
タスク実行時間用データレジスタ5A〜5Dの値はカウ
ンタバス2を通してカウンタ3に転送され、その値が自
動的に設定される。その後カウンタ3は、カウントクロ
ックにもとづいて設定値に達するまでカウント動作を行
う。そしてカウンタ3に値がセットされてからカウント
値が設定値になるまでの間がタスク実行時間となり、こ
の間にひとつのタスクが実行される。カウンタ3のカウ
ント値が設定値になると、カウンタ3がパルスを発生す
る。このパルスがタスク指定回路4に入力され、タスク
指定回路4により次のタスクを決定する。タスク指定回
路4からの信号はデコーダ5によりデコードされ、次の
タスクを実行すべくレジスタファイルA−Dを切り換え
、同様の動作により次のタスクを実行する。
なお、各レジスタファイルA−Dからの実行時間用デー
タ以外のデータは、それぞれのタスク実行時間内にシス
テムバス6を介してアドレスカウンタ、ALU等(図示
せず)に転送され、本来のタスクの実行に使用される。
タ以外のデータは、それぞれのタスク実行時間内にシス
テムバス6を介してアドレスカウンタ、ALU等(図示
せず)に転送され、本来のタスクの実行に使用される。
このようにすれば、タスク間の優先順位はタスク実行時
間用データレジスタ5A〜5Dの値を、レジスタファイ
ル毎に差をつけてお(たけて可能になる。したがって、
ユーザーが実行プログラムによって優先順位を設ける必
要はなく、ユーザーの負担を大幅に軽減することができ
る。もちろん、この場合にもレジスタファイルは各タス
ク毎に設けられているから、タスク切換時のデータの待
避や呼び込みは不要となり、したがってタスク切換えに
伴うロスは生じない。
間用データレジスタ5A〜5Dの値を、レジスタファイ
ル毎に差をつけてお(たけて可能になる。したがって、
ユーザーが実行プログラムによって優先順位を設ける必
要はなく、ユーザーの負担を大幅に軽減することができ
る。もちろん、この場合にもレジスタファイルは各タス
ク毎に設けられているから、タスク切換時のデータの待
避や呼び込みは不要となり、したがってタスク切換えに
伴うロスは生じない。
なお、タスク実行時間用データレジスタ5A〜5Dの初
期設定はプログラムで行う必要があるが、従来のように
時間管理を行ないユーザープログラムでタスク毎の実行
時間管理を行う必要はなくなる。
期設定はプログラムで行う必要があるが、従来のように
時間管理を行ないユーザープログラムでタスク毎の実行
時間管理を行う必要はなくなる。
発明の詳細
な説明したように、本発明によれば、簡単な制御回路に
より、ユーザプログラムに負担をかけずに1つのマイク
ロプロセッサで複数個のタスクを時分割で、タスク毎の
優先順位をつけ、実行することができる。
より、ユーザプログラムに負担をかけずに1つのマイク
ロプロセッサで複数個のタスクを時分割で、タスク毎の
優先順位をつけ、実行することができる。
第1図は本発明の一実施例のマルチタスク実行装置のブ
ロック図、第2図は上記実施例で用いるレジスタファイ
ル構成例を示すブロック図である。 1・・・・・・レジスタファイル群、2・・・・・・カ
ウンターバス、3・・・・・・カウンター、4・・・・
・・タスク指定回路、5・・・・・・デコーダ回路、6
・・・・・・システムバス。 代理人の氏名 弁理士 中尾敏男 ほか1名第2図
ロック図、第2図は上記実施例で用いるレジスタファイ
ル構成例を示すブロック図である。 1・・・・・・レジスタファイル群、2・・・・・・カ
ウンターバス、3・・・・・・カウンター、4・・・・
・・タスク指定回路、5・・・・・・デコーダ回路、6
・・・・・・システムバス。 代理人の氏名 弁理士 中尾敏男 ほか1名第2図
Claims (1)
- 複数のタスクに対応する複数のレジスタファイルを備え
、上記各レジスタファイル中にそれぞれタスク時間を決
定するデータレジスタを設け、前記各データレジスタの
値を逐次カウンターに設定し、前記カウンタの出力によ
り、上記複数のレジスタファイルを順次切換え、複数の
タスクを時分割で実行することを特徴とするマルチタス
ク実行装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25652887A JPH0199132A (ja) | 1987-10-12 | 1987-10-12 | マルチタスク実行装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25652887A JPH0199132A (ja) | 1987-10-12 | 1987-10-12 | マルチタスク実行装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0199132A true JPH0199132A (ja) | 1989-04-18 |
Family
ID=17293877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25652887A Pending JPH0199132A (ja) | 1987-10-12 | 1987-10-12 | マルチタスク実行装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0199132A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03294930A (ja) * | 1990-04-11 | 1991-12-26 | Matsushita Electric Ind Co Ltd | 演算処理方法および演算処理装置 |
JPH06202887A (ja) * | 1992-12-28 | 1994-07-22 | Matsushita Electric Ind Co Ltd | マイクロコンピュータ |
US6470376B1 (en) | 1997-03-04 | 2002-10-22 | Matsushita Electric Industrial Co., Ltd | Processor capable of efficiently executing many asynchronous event tasks |
US8195922B2 (en) | 2005-03-18 | 2012-06-05 | Marvell World Trade, Ltd. | System for dynamically allocating processing time to multiple threads |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60181934A (ja) * | 1984-02-29 | 1985-09-17 | Fujitsu Ltd | タスク優先度制御方式 |
JPS6243734A (ja) * | 1985-08-20 | 1987-02-25 | Nec Corp | マイクロプロセツサ |
JPS62145432A (ja) * | 1985-12-20 | 1987-06-29 | Nec Corp | デ−タ処理装置 |
-
1987
- 1987-10-12 JP JP25652887A patent/JPH0199132A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60181934A (ja) * | 1984-02-29 | 1985-09-17 | Fujitsu Ltd | タスク優先度制御方式 |
JPS6243734A (ja) * | 1985-08-20 | 1987-02-25 | Nec Corp | マイクロプロセツサ |
JPS62145432A (ja) * | 1985-12-20 | 1987-06-29 | Nec Corp | デ−タ処理装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03294930A (ja) * | 1990-04-11 | 1991-12-26 | Matsushita Electric Ind Co Ltd | 演算処理方法および演算処理装置 |
JPH06202887A (ja) * | 1992-12-28 | 1994-07-22 | Matsushita Electric Ind Co Ltd | マイクロコンピュータ |
US6470376B1 (en) | 1997-03-04 | 2002-10-22 | Matsushita Electric Industrial Co., Ltd | Processor capable of efficiently executing many asynchronous event tasks |
US8195922B2 (en) | 2005-03-18 | 2012-06-05 | Marvell World Trade, Ltd. | System for dynamically allocating processing time to multiple threads |
US8468324B2 (en) | 2005-03-18 | 2013-06-18 | Marvell World Trade Ltd. | Dual thread processor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0315275A2 (en) | Flexible asic microcomputer | |
KR970016979A (ko) | 다중 처리 시스템에서 타스크의 큐잉 시스템 및 방법 | |
JPH0199132A (ja) | マルチタスク実行装置 | |
JP3144842B2 (ja) | マイクロプロセッサ | |
JPH0640314B2 (ja) | マルチチヤネル共用資源プロセツサ | |
JP4292705B2 (ja) | タスクスケジューリング装置 | |
JPH01154237A (ja) | 時分割タスク実行装置 | |
JP2003058381A (ja) | プログラムによる例外処理設定を可能にしたプロセッサ | |
JP2659603B2 (ja) | 演算処理方法および演算処理装置 | |
JP2553698B2 (ja) | 時分割マルチタスク実行装置 | |
JP2579008B2 (ja) | 時分割マルチタスク実行装置 | |
JPS6243734A (ja) | マイクロプロセツサ | |
JP2574349B2 (ja) | 時分割マルチタスク実行装置 | |
JPH0462093B2 (ja) | ||
JPS62164138A (ja) | コンカレントル−プを有するマイクロプロセツサ | |
JP2508026B2 (ja) | タイマ制御方式 | |
JPS6269352A (ja) | マイクロプロセツサ | |
JPH0298744A (ja) | 割込み処理方式 | |
JPS6337433A (ja) | デ−タ処理方式 | |
JPH01154236A (ja) | 時分割タスク実行装置 | |
JPH02113363A (ja) | マルチプロセッサシステムにおけるタイムスライス制御方式 | |
JP2000066903A (ja) | 割り込み処理システムおよび割り込み処理方法 | |
JPS63268032A (ja) | ル−プ制御回路 | |
JPS62145434A (ja) | コンカレントル−プを有するマイクロプロセツサ | |
JPS6269350A (ja) | マイクロプロセツサ |