JPH02217929A - タスク切り替え方式 - Google Patents
タスク切り替え方式Info
- Publication number
- JPH02217929A JPH02217929A JP3955989A JP3955989A JPH02217929A JP H02217929 A JPH02217929 A JP H02217929A JP 3955989 A JP3955989 A JP 3955989A JP 3955989 A JP3955989 A JP 3955989A JP H02217929 A JPH02217929 A JP H02217929A
- Authority
- JP
- Japan
- Prior art keywords
- task
- mcpu
- tasks
- data
- data area
- 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
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔概要〕
マイクロプロセッサ(MCPU)におけるタスク切り替
え方式に関し、 タスク間の分離を行うことができ、信較性の高いマルチ
タスクシステムを構築することができるタスク切り替え
方式を提供することを目的とし、マイクロプロセッサ(
MCPU)において、咳MCPtJが実行する各タスク
に対応するタスク用データ領域をそれぞれ独立に設けて
固定的に該MCPUのアドレス空間の一部に割り当てる
とともに、該MCPUのアドレス指定に応じて該各タス
ク用データ領域を切り替えるタスク切り替え機構を設け
て構成する。
え方式に関し、 タスク間の分離を行うことができ、信較性の高いマルチ
タスクシステムを構築することができるタスク切り替え
方式を提供することを目的とし、マイクロプロセッサ(
MCPU)において、咳MCPtJが実行する各タスク
に対応するタスク用データ領域をそれぞれ独立に設けて
固定的に該MCPUのアドレス空間の一部に割り当てる
とともに、該MCPUのアドレス指定に応じて該各タス
ク用データ領域を切り替えるタスク切り替え機構を設け
て構成する。
本発明はマイクロプロセッサ(MCPU)におけるタス
ク切り替え方式に係り1.特にタスク切り替え機構がM
CPUのアーキテクチャ上サポートされていない場合に
有効なタスク切り替え方式に関するものである。
ク切り替え方式に係り1.特にタスク切り替え機構がM
CPUのアーキテクチャ上サポートされていない場合に
有効なタスク切り替え方式に関するものである。
16ビツト以上の上位のMCPUでは、そのアーキテク
チャ1でマルチタスク、マルチユーザを指向した機構が
内部的に具備されているのが一般であるが、8ビツト以
下の下位のMCPUではその使用目的から上記のような
高度な機構を有しないのが普通である。
チャ1でマルチタスク、マルチユーザを指向した機構が
内部的に具備されているのが一般であるが、8ビツト以
下の下位のMCPUではその使用目的から上記のような
高度な機構を有しないのが普通である。
このようなMCPUにおいてマルチタスクシステムを構
築する場合に、タスク間の分離を行っては転性を高くで
きることが要望される。
築する場合に、タスク間の分離を行っては転性を高くで
きることが要望される。
上述のように下位のMCPUでは、その使用目的からタ
スク切り替え機構がMCPUのアーキテクチャ上サポー
トされていないのが普通であり、それが特徴ともなって
いる。
スク切り替え機構がMCPUのアーキテクチャ上サポー
トされていないのが普通であり、それが特徴ともなって
いる。
しかしながらMCPUの高度な利用が一般的になるにつ
れて、下位器MCPUをマルチタスク用に使用すること
が求められるようになると、下位のMCPUにおける上
述の、それが特徴でもあった単純なアーキテクチャが欠
点と考えられるようになった。
れて、下位器MCPUをマルチタスク用に使用すること
が求められるようになると、下位のMCPUにおける上
述の、それが特徴でもあった単純なアーキテクチャが欠
点と考えられるようになった。
しかしながら従来の膨大なソフトウェア資産を切り捨て
て、上位のMCPUに切り替えることば簡単には出来な
い。
て、上位のMCPUに切り替えることば簡単には出来な
い。
そのため、システムプログラム用のデータ領域もユーザ
プログラム用のデータ領域も、同一アドレス空間に配置
した使用方法でマルチタスクシステムを構築する方法が
一般に用いられている。
プログラム用のデータ領域も、同一アドレス空間に配置
した使用方法でマルチタスクシステムを構築する方法が
一般に用いられている。
しかしながらこのようなシステムプログラム用のデータ
領域とユーザプログラム用のデータ領域とを同一アドレ
ス空間に配置してマルチタスクシステムを構築する方式
では、タスク間の分離ができていないため、極めて信頼
性に欠けたものになるという問題がある。
領域とユーザプログラム用のデータ領域とを同一アドレ
ス空間に配置してマルチタスクシステムを構築する方式
では、タスク間の分離ができていないため、極めて信頼
性に欠けたものになるという問題がある。
本発明はこのような従来技術の課題を解決しようとする
ものであって、タスク切り替え機構がそのアーキテクチ
ャ上サポートされていないMCPUの場合に、タスク間
の分離を行うことができ、信頼性の高いマルチタスクシ
ステムを構築することができるタスク切り替え方式を提
供することを目的としている。
ものであって、タスク切り替え機構がそのアーキテクチ
ャ上サポートされていないMCPUの場合に、タスク間
の分離を行うことができ、信頼性の高いマルチタスクシ
ステムを構築することができるタスク切り替え方式を提
供することを目的としている。
本発明は第1図にその原理的構成を示すように、マイク
ロプロセッサ(MCPU)11において、タスク用デー
タ領域141〜14.4を固定的に該McpULIのア
ドレス空間の一部に割り当てるとともに、タスク切り替
え機構15を設けたものである。
ロプロセッサ(MCPU)11において、タスク用デー
タ領域141〜14.4を固定的に該McpULIのア
ドレス空間の一部に割り当てるとともに、タスク切り替
え機構15を設けたものである。
タスク用データ領域14.〜14、は、MCPUIIが
実行する各タスクに対応するタスク用データを格納する
領域でありそれぞれ独立に設けられるものである。
実行する各タスクに対応するタスク用データを格納する
領域でありそれぞれ独立に設けられるものである。
タスク切り替え機構15は、M CP Ullのアドレ
ス指定に応じて各タスク用データ領域141〜I4、を
切り替える作用を行うものである。
ス指定に応じて各タスク用データ領域141〜I4、を
切り替える作用を行うものである。
本発明のタスク切り替え方式は、外部的にタスク切り替
え機構を設けるとともに、タスク間の分離を図るために
ユーザのデータ領域にある特定アドレス空間領域を割り
当て、タスクごとにそれぞれの領域を割り当てるととも
に、タスク切り替え時ごとにそのデータ領域を次々にバ
ンク切り替えを行うようにしたものである。
え機構を設けるとともに、タスク間の分離を図るために
ユーザのデータ領域にある特定アドレス空間領域を割り
当て、タスクごとにそれぞれの領域を割り当てるととも
に、タスク切り替え時ごとにそのデータ領域を次々にバ
ンク切り替えを行うようにしたものである。
従って本発明のタスク切り替え方式では、タスク間の分
離を完全に行うことができ、信頼性の高。
離を完全に行うことができ、信頼性の高。
いタスク切り替え方式を実現することができるようにな
る。
る。
〔実施例)
第2図は本発明の一実施例を示したものであって、8ビ
ツトM CP Uを用いたマルチ・タスクモニタのハー
ドウェア構成例を示したものである。
ツトM CP Uを用いたマルチ・タスクモニタのハー
ドウェア構成例を示したものである。
第2図において、MCPUIIはIGビットのアドレス
線A、〜AI5および8ビツトのデータ線DO〜D、を
有し、それぞれアドレスバス12.データバスI3を介
して、ダイナミックRAM、 スタティックRAM等か
らなるRAM領域におけるシステム用データ9a域14
゜、複数のタスク用データ領域14、、14t、−・、
148に接続されるとともに、アドレスデコーダ15.
システムプログラムROM16゜ユーザプログラムRO
M17に接続されている。なお第2図においては、読み
だしくR)/書き込み(W)信号および各種タイミング
信号等の制御線は省略して示されている。
線A、〜AI5および8ビツトのデータ線DO〜D、を
有し、それぞれアドレスバス12.データバスI3を介
して、ダイナミックRAM、 スタティックRAM等か
らなるRAM領域におけるシステム用データ9a域14
゜、複数のタスク用データ領域14、、14t、−・、
148に接続されるとともに、アドレスデコーダ15.
システムプログラムROM16゜ユーザプログラムRO
M17に接続されている。なお第2図においては、読み
だしくR)/書き込み(W)信号および各種タイミング
信号等の制御線は省略して示されている。
MCPUIIは、マルチ・タスクモニタのカーネル部(
核部)をなすシステムプログラムROMl6およびユー
ザプログラムROM17に予め書き込まれているプログ
ラムを用いて複数のタスク#1〜#Nを実行するが、こ
の際ユーザプログラムROM17に格納されているタス
ク#1〜タスク#Nのプログラムの実行に際しては、そ
れぞれタスク用データ領域141. lh、 −、14
%におけるデータを用いる。
核部)をなすシステムプログラムROMl6およびユー
ザプログラムROM17に予め書き込まれているプログ
ラムを用いて複数のタスク#1〜#Nを実行するが、こ
の際ユーザプログラムROM17に格納されているタス
ク#1〜タスク#Nのプログラムの実行に際しては、そ
れぞれタスク用データ領域141. lh、 −、14
%におけるデータを用いる。
アドレスデコーダ15は、ユーザプログラムROM17
に対するタスクモニタスク#Nのプログラムのアドレス
指定に応じて、イネーブル信号CEB1〜CEBNを出
力する。これによって指定されたプログラムに対応する
タスク用データ領域14+、 14g、 ・−・、 1
4mがアクティブになり、指定されたタスクが実行され
る。なおシステムプロセッサROM2S、ユーザプログ
ラムROM17も、それぞれイネーブル信号CEO,C
EIによってアクティブにされる。
に対するタスクモニタスク#Nのプログラムのアドレス
指定に応じて、イネーブル信号CEB1〜CEBNを出
力する。これによって指定されたプログラムに対応する
タスク用データ領域14+、 14g、 ・−・、 1
4mがアクティブになり、指定されたタスクが実行され
る。なおシステムプロセッサROM2S、ユーザプログ
ラムROM17も、それぞれイネーブル信号CEO,C
EIによってアクティブにされる。
第3図はタスク用データ領域のアドレス空間における配
置の一例を示したものである。
置の一例を示したものである。
いまM CP Uのアドレス空間を5oooo〜$FF
FFとすると、$0000〜5xxxxのうちバンク#
Oはシステムのデータ6a域に割り当てられ、バンク#
l〜バンク#Nはタスク#1〜タスク#Nのデータ領域
に割り当てられる。またこれ以降$YYYYまでのアド
レス空間はニーザブプログラムROMに割り当てられ、
$ I” F F Fまでのアドレス空間はシステムプ
ログラムROMに割り当てられる。
FFとすると、$0000〜5xxxxのうちバンク#
Oはシステムのデータ6a域に割り当てられ、バンク#
l〜バンク#Nはタスク#1〜タスク#Nのデータ領域
に割り当てられる。またこれ以降$YYYYまでのアド
レス空間はニーザブプログラムROMに割り当てられ、
$ I” F F Fまでのアドレス空間はシステムプ
ログラムROMに割り当てられる。
第4図はマルチタスクに必要なデータ6a域の使用例を
示したものである。
示したものである。
21はタスク用スタック領域であって、割り込み処理時
等において、MCPUにおける各種のレジスタ、タスク
に必要なポインタ群およびスティタス情報等を退避する
ための領域である。
等において、MCPUにおける各種のレジスタ、タスク
に必要なポインタ群およびスティタス情報等を退避する
ための領域である。
22はタスクのワーク領域であって、処理中のデータを
一時的に保持するバッファ領域等に使用される。
一時的に保持するバッファ領域等に使用される。
第5図は本発明方式におけるタスク切り替えのフローを
例示したものである。
例示したものである。
タスク切り替えは次の順序によって行われる。
■ 現在、タスクAを処理中であったとする。
■ なんらかの要因(例えば処理の終了とか“待ち”の
発生等)が生じたとき、システムコールによってシステ
ムのタスク切り替えルーチンに移るが、この際移る前に
タスクAのデータ領域にタスク情報をセーブする。
発生等)が生じたとき、システムコールによってシステ
ムのタスク切り替えルーチンに移るが、この際移る前に
タスクAのデータ領域にタスク情報をセーブする。
■ システムプログラムでは、次の待ちタスクであるタ
スクCに切り替えるが、処理を移す際にタスクCのデー
タ領域から情報を得るために、タスクCのデータ領域に
切り替えて各種情報を得てから、タスクCへ処理を移す
。
スクCに切り替えるが、処理を移す際にタスクCのデー
タ領域から情報を得るために、タスクCのデータ領域に
切り替えて各種情報を得てから、タスクCへ処理を移す
。
このようにタスクの切り替えに際しては、直接タスク間
でデータ領域を切り替えるのではなく、プログラムがタ
スクA→システムー◆タスクCに制御が移るのに合わせ
て、データ領域も順次対応する領域に切り替えられる。
でデータ領域を切り替えるのではなく、プログラムがタ
スクA→システムー◆タスクCに制御が移るのに合わせ
て、データ領域も順次対応する領域に切り替えられる。
以上説明したように本発明によれば、タスク切り替え機
構がそのアーキテクチャ上サポートされていないMCP
Uの場合に、外部的にタスク切り替え機構を設けてると
もに、データ領域にタスクごとに特定アドレス空間領域
を割り当て、タスク切り替えごとにデータ領域を切り替
えるようにしたので、タスク間の干渉を完全に防止する
ことができ、信顛性の高いマルチタスクシステムを構築
することができるようになる。
構がそのアーキテクチャ上サポートされていないMCP
Uの場合に、外部的にタスク切り替え機構を設けてると
もに、データ領域にタスクごとに特定アドレス空間領域
を割り当て、タスク切り替えごとにデータ領域を切り替
えるようにしたので、タスク間の干渉を完全に防止する
ことができ、信顛性の高いマルチタスクシステムを構築
することができるようになる。
第1図は本発明の原理的構成を示す図、配置の一例を示
す図、 第4図はマルチタスクに必要なデータ領域の使用例を示
す図、 第5図は本発明方式におけるタスク切り替えのフローを
例示する図である。 1にマイクロプロセッサ( I2ニアドレスバス I3:データパス 14゜ニジステム用データ領域 14、、−、14N:タスク用データ領域I5ニアドレ
スデコーダ 1GニジステムプログラムROM 17:ユーザプログラムROM 21:タスク用スタック領域 22:タスクのワーク領域 MCPU) 本発明の原理的構成を示す図 1s 1 図
す図、 第4図はマルチタスクに必要なデータ領域の使用例を示
す図、 第5図は本発明方式におけるタスク切り替えのフローを
例示する図である。 1にマイクロプロセッサ( I2ニアドレスバス I3:データパス 14゜ニジステム用データ領域 14、、−、14N:タスク用データ領域I5ニアドレ
スデコーダ 1GニジステムプログラムROM 17:ユーザプログラムROM 21:タスク用スタック領域 22:タスクのワーク領域 MCPU) 本発明の原理的構成を示す図 1s 1 図
Claims (1)
- 【特許請求の範囲】 マイクロプロセッサ(以下MCPUという)(11)に
おいて、 該MCPU(11)が実行する各タスクに対応するタス
ク用データ領域(14_1〜14_N)をそれぞれ独立
に設けて固定的に該MCPU(11)のアドレス空間の
一部に割り当てるとともに、 該MCPU(11)のアドレス指定に応じて該各タスク
用データ領域(14_1〜14_N)を切り替えるタス
ク切り替え機構(15)を設けたことを特徴とするタス
ク切り替え方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3955989A JPH02217929A (ja) | 1989-02-20 | 1989-02-20 | タスク切り替え方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3955989A JPH02217929A (ja) | 1989-02-20 | 1989-02-20 | タスク切り替え方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH02217929A true JPH02217929A (ja) | 1990-08-30 |
Family
ID=12556430
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3955989A Pending JPH02217929A (ja) | 1989-02-20 | 1989-02-20 | タスク切り替え方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH02217929A (ja) |
-
1989
- 1989-02-20 JP JP3955989A patent/JPH02217929A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6331857B1 (en) | Packetized command interface to a graphics processor | |
| US5161226A (en) | Microprocessor inverse processor state usage | |
| US5386563A (en) | Register substitution during exception processing | |
| US6401155B1 (en) | Interrupt/software-controlled thread processing | |
| US6275749B1 (en) | Interrupt-controlled thread processing | |
| EP0239078B1 (en) | Register saving/restoring system | |
| JP3970609B2 (ja) | プロセッサシステム | |
| US6883171B1 (en) | Dynamic address windowing on a PCI bus | |
| JPS5911921B2 (ja) | 数値制御装置 | |
| JPS58225443A (ja) | 高速デ−タ処理装置 | |
| JPS62151940A (ja) | レジスタ退避/復帰方式 | |
| JPS61184643A (ja) | 仮想計算機の起動制御方式 | |
| JP2585905B2 (ja) | マルチタスク実行装置 | |
| JPH02163834A (ja) | マルチ・タスク処理方式 | |
| JPH0477831A (ja) | レジスタ退避装置 | |
| JPS626329A (ja) | デ−タ転送回路 | |
| JPH02270032A (ja) | ローディング方式 | |
| JPH0397035A (ja) | 記憶手段構成方式 | |
| JPH03188531A (ja) | 時分割マルチタスク実行装置 | |
| JPH0340139A (ja) | マルチタスクシステムにおけるコンテキスト切換方法 | |
| JPH0375832A (ja) | 仮想計算機制御方式 | |
| JPS6177937A (ja) | 情報処理装置 | |
| JPS61260344A (ja) | 入出力処理装置 | |
| JPS63201730A (ja) | ソフトウエアスタツク制御方法 | |
| JPS63173152A (ja) | 演算装置 |