JPH11134202A - タスク切替え装置 - Google Patents

タスク切替え装置

Info

Publication number
JPH11134202A
JPH11134202A JP9295134A JP29513497A JPH11134202A JP H11134202 A JPH11134202 A JP H11134202A JP 9295134 A JP9295134 A JP 9295134A JP 29513497 A JP29513497 A JP 29513497A JP H11134202 A JPH11134202 A JP H11134202A
Authority
JP
Japan
Prior art keywords
context
task
task switching
information
switching device
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
Application number
JP9295134A
Other languages
English (en)
Inventor
Hiroshi Morimoto
浩 森本
Takuya Nomura
琢家 野村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP9295134A priority Critical patent/JPH11134202A/ja
Publication of JPH11134202A publication Critical patent/JPH11134202A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【課題】 従来のタスク切替え装置11は、タスク呼出
し時のタスク状態の区別がつかないため、全タスク状態
の中で必要な最大量のコンテキスト情報33を保存して
いる。タスク状態では不要なコンテキスト情報33を保
存するため、コンテキスト保存部31の使用量は増加す
る。本発明はタスク切替え時にタスク状態を保存し、コ
ンテキスト保存部31の使用量を最小限にすることを目
的とする。 【解決手段】 タスク切替え呼び出し時のタスク状態を
保持するため、タスク状態識別部23がコンテキスト保
存部31の特定領域にタスク状態の識別情報32を保存
し、タスク切替え処理後、復帰状態識別部26がコンテ
キスト保存部31の識別情報32からタスク切替え前の
タスク状態を識別できることで、コンテキスト保存部3
1のコンテキスト情報33を最適にする事ができ、コン
テキスト保存部31の使用量を削減することができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マイクロプロセッ
サ等に組み込まれるタスク切替え装置に関するものであ
る。
【0002】
【従来の技術】図7は、従来のタスク切替え装置のブロ
ック図である。
【0003】同図において、タスク切替え装置111
は、コンテキスト待避部123とタスク切替部124と
コンテキスト復帰部125から構成され、コンテキスト
保存部131との間でデータの読み書きを行う。また、
タスク部121には通常のプログラムを、タスク独立部
122には割り込みプログラムを格納する。そしてプロ
グラムは機械語であるが、アセンブラから変換されたも
の(プログラム1、3)と、C言語等の高級言語から変
換されたもの(プログラム2、4)とがある。
【0004】タスク切替え装置111は、タスク部12
1またはタスク独立部122が現在実行しているタスク
(プログラム)と別のタスクを実行しようとするとき、
タスク切替え処理を行った後に、任意のタスクが実行さ
れる。従って、タスク部121のタスクが実行中にタス
ク独立部122のタスクが割り込んで実行される場合
(割り込み)と、タスク独立部122のタスクが実行中
にさらにタスク独立部122のタスクが割り込んで実行
される場合(多重割り込み)とがある。また、割り込み
が実行終了後はもとのタスクの実行が再開されることに
なる。
【0005】以上の構成を持つ従来のタスク切替え装置
111について、コンテキスト保存部131にタスク部
121とタスク独立部122とを実行させる為に必要な
コンテキスト情報141を保存・復元する動作を説明す
る。 (1) コンテキスト保存部131へのコンテキスト情
報141の待避動作 タスク部121又はタスク独立部122が現在実行中の
タスクと別のタスクを実行しようとするとき、タスク切
替え装置111はタスク状態に関係なくすべての一定量
のコンテキスト情報141をコンテキスト保存部131
に保存する。なお、コンテキスト情報141とはもとの
タスクの実行するためのすべての情報をいい、PSW
(プログラムステータスワード)等が含まれる。 (2) コンテキスト保存部131からのコンテキスト
情報141の復帰動作 コンテキスト復帰部125は、コンテキスト保存部13
1に格納されている一定量のコンテキスト情報141を
復帰させ、もとのタスクの実行が再開される。
【0006】
【発明が解決しようとする課題】しかしながら、上記の
従来のタスク切替え装置111は、現在実行されている
タスクの種類に関わらず、すべての一定量のコンテキス
ト情報141をコンテキスト保存部131に保存してい
た。このため、保存および復元のための処理時間が増大
し、かつ多大な容量のコンテキスト保存部131を必要
とするという問題点を有している。
【0007】すなわち、タスクが切り替えられる前に実
行されていたのが、アセンブラから変換されたプログラ
ムである場合とC言語から変換されたプログラムである
場合とでは保存すべき情報量が違うにも関わらず、常に
一定の情報を保存していた。
【0008】具体的には、C言語を変換するコンパイラ
は使用するレジスタ数が規定されておりハードウェアが
有するレジスタをすべて使用する訳ではない。一方アセ
ンブラでは作成者がレジスタを自由に使用できる。
【0009】従って、C言語から変換された機械語によ
るタスクを実行中に割り込みが発生した場合はコンパイ
ラで規定されたレジスタ数だけを情報待避すれば足り、
アセンブラから変換された機械語によるタスクを実行中
に割り込みが発生した場合はハードウェアが備えるすべ
てのレジスタの情報を待避しなければならない。
【0010】本発明はかかる点に鑑み、タスク切替え時
に待避するコンテキスト情報量を最適にすることでコン
テキストの保存および復元の処理時間とコンテキスト保
存部の使用量とを最小限にすることを目的とする。
【0011】
【課題を解決するための手段】この課題を解決するため
本発明の請求項1記載のタスク切替え装置は、退避が必
要なコンテキストを識別し、識別情報を所定の領域に退
避するタスク状態識別手段と、前記タスク状態識別手段
により識別されたコンテキストを退避するコンテキスト
退避手段と、前記所定の領域から識別情報を読出して復
帰が必要なコンテキストを識別する復帰状態識別手段
と、前記復帰状態識別手段により識別されたコンテキス
トを復帰するコンテキスト復帰手段とを備えることを特
徴とする。
【0012】本発明の請求項2記載のタスク切替え装置
は、請求項1記載のタスク切替え装置において、前記タ
スク状態識別手段は、タスク切り替えがアセンブラ言語
のプログラムでなされたか高級言語のプログラムでなさ
れたかの情報を前記識別情報としたものである。
【0013】本発明の請求項3記載のタスク切替え装置
は、請求項2記載のタスク切替え装置において、前記コ
ンテキスト退避手段は、前記タスク状態識別手段により
タスク切り替えが高級言語のプログラムでなされたこと
が識別された場合、前記高級言語の言語処理系において
破壊レジスタと定義されたレジスタを含まないコンテキ
ストを退避するとしたものである。
【0014】本発明の請求項4記載のタスク切替え装置
は、請求項3記載のタスク切替え装置において、前記コ
ンテキスト退避手段は、引数または戻り値を格納するレ
ジスタに対して、該レジスタが前記破壊レジスタと定義
されたレジスタに含まれる場合であっても、該レジスタ
を退避するとしたものである。
【0015】本発明の請求項5記載のタスク切替え装置
は、請求項3記載のタスク切替え装置において、前記コ
ンテキスト退避手段は、前記タスク状態識別手段により
タスク切り替えが高級言語のプログラムでなされたこと
が識別された場合であっても、該タスク切替えが各タス
クから独立なプログラムからなされた場合は、前記破壊
レジスタと定義されたレジスタを退避するとしたもので
ある。
【0016】本発明の請求項6記載のタスク切替え装置
は、請求項5記載のタスク切替え装置において、各タス
クから独立な前記プログラムは、割り込みプログラムで
あるとしたものである。
【0017】本発明の請求項7記載のタスク切替え装置
は、請求項1記載のタスク切替え装置において、前記識
別情報は、退避または復帰するコンテキストにいかなる
資源を含むかを、ビット毎に該資源を割り付けた情報ま
たは含む資源の状態をエンコードした情報であるとした
ものである。
【0018】本発明の請求項8記載のタスク切替え装置
は、請求項1から7のいずれか1項に記載のタスク切替
え装置において、前記所定の領域と、前記コンテキスト
退避手段によりコンテキストが退避される領域とは、予
め定められたコンテキスト保存領域において互いに連続
するとしたものである。
【0019】本発明の請求項9記載のタスク切替え装置
は、請求項1から7のいずれか1項に記載のタスク切替
え装置において、前記所定の領域は、前記コンテキスト
退避手段によりコンテキストが退避される際に、該コン
テキストに含まれる資源を所定のデータ長に整列させて
退避するときに発生する未使用領域の一部または全部で
あるとしたものである。
【0020】
【発明の実施の形態】以下、本発明の実施形態につい
て、図1から図6を用いて説明する。
【0021】図1は、本発明の実施形態におけるタスク
切替え装置の構成および使用形態図である。
【0022】同図において、タスク切替え装置11は、
タスク状態識別部23と、コンテキスト待避部24と、
タスク切替部25と、復帰状態識別部26と、コンテキ
スト復帰部27とから構成され、コンテキスト保存部3
1との間でデータの読み書きを行う。
【0023】この実施の形態では、タスク状態識別部2
3によって現在実行中のタスクがアセンブラから変換さ
れた機械語か、C言語等の高級言語から変換された機械
語かを識別し、C言語等から変換された機械語である場
合は保存する情報量を最適とするものである。
【0024】すなわち、アセンブラから変換された機械
語によるタスクを実行中に割り込みが発生した場合は、
ハードウェアが備えるすべてのレジスタの情報を待避す
る。一方、C言語等から変換された機械語である場合
は、コンパイラが規定するレジスタのみの情報を待避す
るものである。
【0025】以上の構成を持つ本発明のタスク切替え装
置11について、タスク部21とタスク独立部22とを
実行させる為に必要なコンテキストをコンテキスト保存
部31に保存・復元させる動作を説明する。 (1)タスク状態識別部23のタスク状態の退避動作 タスク状態識別部23は、現在実行中のタスクがアセン
ブラから変換された機械語又はC言語等から変換された
機械語によるものかを区別し、その状態の情報をコンテ
キスト保存部31の特定された未使用領域に識別情報3
2として保存すると共に、コンテキスト待避部24にそ
の状態を渡す。
【0026】なお、上記の区別は一般に、アセンブラか
ら変換された機械語とC言語から変換された機械語とは
別のメモリ空間に格納されるため、いずれのメモリ空間
に格納されているかを認識することにより実現する。 (2)コンテキスト待避部24のコンテキスト保存部3
1への待避動作 コンテキスト待避部24は、タスク状態識別部23から
渡されたタスク状態をもとに、タスク状態に応じた最適
なコンテキスト情報33をタスク保存部31に待避す
る。 (3)復帰状態識別部26のコンテキスト情報33の復
帰動作 復帰状態識別部26は、コンテキスト保存部31の特定
領域に保存されている識別情報34を読み出し、コンテ
キスト保存部31に保存されているコンテキスト情報3
5の種類を識別すると共に、保存されているコンテキス
ト情報35の種類に関する情報をコンテキスト復帰部2
7に渡す。
【0027】これにより、保存する情報量を切り替えて
いるため、必要な情報を復帰させることができる。 (4)コンテキスト復帰部27のコンテキスト保存部3
1からの復帰動作 コンテキスト復帰部27は、復帰状態識別部26から渡
された情報をもとに、コンテキスト保存部31からコン
テキスト情報35を読み込み、コンテキスト情報33を
復帰させて、次のタスクを実行させる。
【0028】以下に本実施形態のタスク切替え装置をフ
ローチャートおよびコンテキスト保存部の状態を図を用
いて説明する。
【0029】まず、図2は、本実施形態のタスク切替え
装置が対象とするプロセッサのコンテキストとなり得る
レジスタを示した図である。このプロセッサは、いずれ
も24ビットのデータレジスタD0〜D3、アドレスレ
ジスタA0〜A3、プログラムカウンタPCと、16ビ
ットのプロセッサ状態語PSWを備える。 (1)タスク部21からのタスク切替え呼び出し タスク部21は主にユーザのアプリケーションタスクで
構成され、関数単位のタスク切替えが行われる。
【0030】コンテキストの退避に関しては、タスク状
態識別部23とコンテキスト待避部24とが以下のよう
に作用する。
【0031】図3はコンテキスト情報を待避するプログ
ラムフローチャート、図4はアセンブラ言語でタスク切
替装置11を呼び出した場合のコンテキスト保存部の構
造を示した図、図5は高級言語でタスク切替装置11を
呼び出した場合のコンテキスト保存部の構造を示した図
である。
【0032】アセンブラ言語におけるタスク切替え呼び
出しの場合(ステップ201から始める)、コンテキス
ト保存部31に退避領域を確保する(ステップ20
3)。退避領域は、図2に示す全てのコンテキストを格
納するための38バイトを必要とする。次にアセンブラ
言語を示す識別情報を保存する(ステップ204)。識
別情報は、コンテキスト保存部の先頭から3を加算した
1バイト分の領域402のLSBに値0として示され
る。LSB以外は何でもよいが、判断のしやすさの観点
からLSB以外は0とする。そしてアセンブラ言語から
の呼び出しのみに退避必要なコンテキスト情報を退避す
る(ステップ205)。ここでは、データレジスタD0
とD1、アドレスレジスタA0の内容がそれぞれコンテ
キスト8情報〜コンテキスト10情報として、領域40
9〜411に退避される。最後にアセンブラ言語と高級
言語に必要なコンテキスト情報を退避する(ステップ2
08)。ここでは、データレジスタD2とD3、アドレ
スレジスタA1〜A3、プログラムカウンタPC、プロ
セッサ状態語PSWの内容がそれぞれコンテキスト1情
報〜コンテキスト7情報として、領域401と領域40
3〜408に退避される。以上でコンテキスト情報の退
避を完了する。なお、コンテキスト2情報〜コンテキス
ト6情報およびコンテキスト8情報〜コンテキスト10
情報は、コンテキスト1情報と同様にそれぞれの領域の
下位3バイトの位置に保存される。
【0033】C言語などの高級言語におけるタスク切替
え呼び出しの場合(ステップ202から始める)、コン
テキスト保存部31に退避領域を確保する(ステップ2
06)。退避領域は、図2に示すコンテキストの内から
破壊レジスタとして定義されているデータレジスタD0
とD1およびアドレスレジスタA0を除くものを格納す
るための26バイトしか必要としない。破壊レジスタは
プログラムの関数間における値の保証が不要なレジスタ
としてコンパイラなどの言語処理系で扱われるレジスタ
である。次に高級言語を示す識別情報を保存する(ステ
ップ207)。識別情報は、コンテキスト保存部の先頭
から3を加算した1バイト分の領域402のLSBに値
1として示される。LSB以外は何でもよいが、判断の
しやすさの観点からLSB以外は0とする。そしてアセ
ンブラ言語と高級言語に共通して必要なコンテキスト情
報を退避する(ステップ208)。ここでは、データレ
ジスタD2とD3、アドレスレジスタA1〜A3、プロ
グラムカウンタPC、プロセッサ状態語PSWの内容が
それぞれコンテキスト1情報〜コンテキスト7情報とし
て、領域401と領域403〜408に退避される。以
上でコンテキスト情報の退避を完了する。なお、コンテ
キスト2情報〜コンテキスト6情報は、コンテキスト1
情報と同様にそれぞれの領域の下位3バイトの位置に保
存される。
【0034】コンテキストの復帰に関しては、復帰状態
識別部26とコンテキスト復帰部27とが以下のように
作用する。
【0035】図6は、コンテキスト情報を復帰するプロ
グラムフローチャートである。まず、復帰状態識別部2
6がコンテキスト保存部の先頭に3を加算した領域40
2から識別情報を読み出し(ステップ301)、アセン
ブラ言語からの呼び出しか、高級言語からの呼び出しか
を識別する(ステップ302)。領域402の1バイト
のデータが0なら前者、1なら後者である。
【0036】アセンブラ言語からの呼び出しと判定した
場合は、アセンブラ言語のみ待避したコンテキスト情報
を復帰し(ステップ303)、その領域を開放する(ス
テップ304)。具体的には、図4において、領域40
9〜411からコンテキスト8情報〜コンテキスト10
情報を取り出してそれぞれデータレジスタD0、アドレ
スレジスタA0とA1に格納する。続いて共通で待避さ
れたコンテキスト情報を復帰してその領域を開放する
(ステップ305)。具体的には、領域401と領域4
03〜408からコンテキスト1情報〜コンテキスト7
情報を取り出してそれぞれデータレジスタD1〜D3、
アドレスレジスタA2とA3、プログラムカウンタP
C、プロセッサ状態語PSWに格納する。以上でコンテ
キスト情報の退避を完了する。なお、領域の開放はスタ
ックポインタを更新するなどして実現される。
【0037】高級言語からの呼び出しと判定した場合
は、共通で待避されたコンテキスト情報を復帰してその
領域を開放する(ステップ305)。破壊レジスタとし
て定義されているデータレジスタD0およびアドレスレ
ジスタA0とA1については復帰する必要がない。具体
的には、領域401と領域403〜408からコンテキ
スト1情報〜コンテキスト7情報を取り出してそれぞれ
データレジスタD1〜D3、アドレスレジスタA2とA
3、プログラムカウンタPC、プロセッサ状態語PSW
に格納する。以上でコンテキスト情報の退避を完了す
る。なお、領域の開放はスタックポインタを更新するな
どして実現される。 (2)タスク独立部22からのタスク切替え呼び出し タスク独立部22は主に割り込みプログラムである。従
って、高級言語におけるタスク切替え呼び出しであって
も全てのコンテキストを退避および復帰する必要があ
る。アセンブラ言語および高級言語いずれの場合も、コ
ンテキスト保存部の構造は図4に示すものと同じにな
り、退避および復帰の動作は上記(1)のアセンブラ言
語の場合と同一である。
【0038】以上のように本発明の実施形態によれば、
タスク切替えがアセンブラ言語からなされたか高級言語
からなされたかを示す情報をコンテキスト保存部31の
領域402に保存し、高級言語の場合の破壊レジスタの
退避を省略する事で、コンテキスト保存部31に保存さ
れるコンテキスト情報量は最適になり、コンテキストの
保存および復元の処理時間とコンテキスト保存部31の
使用量とを削減することができる。さらに、領域402
には、3バイト長のレジスタをワード整列させたときに
発生する未使用領域を割り当てているため、識別情報の
保存によるコンテキスト保存部31の使用量の増大を招
かない。
【0039】なお、上記実施形態では、タスク切替えが
アセンブラ言語からなされたか高級言語からなされたか
を示す2値の情報のみをコンテキスト保存部31の領域
402に保存しているが、直接的にコンテキスト保存部
31に保存されるコンテキスト情報を識別するようにし
てもよい。例えば、8ビットの領域402のビットそれ
ぞれにデータレジスタD0〜D3およびアドレスレジス
タA0〜A3の退避の有無を示すようにしてもよいし、
256種類までの情報を8ビットにエンコードするよう
にしてもよい。
【0040】また、上記実施形態では、識別情報を格納
する領域402には3バイト長のレジスタをワード整列
させたときに発生する未使用領域を割り当てているが、
プロセッサ状態語PSWを退避する領域の、本来プロセ
ッサ状態語PSWに未使用のビットを利用してもよい
し、敢えて専用の領域を割り当ててもよい。後者の場合
でも、該専用領域がコンテキスト保存部に保存されるコ
ンテキスト情報の削減量を下回れば効果がある。特に、
4バイト長のレジスタの内容を保存する場合には有効と
なることが多い。
【0041】また、上記実施形態では、破壊レジスタを
データレジスタD0とD1およびアドレスレジスタA0
としているが、これらに限定されるものではない。さら
に、破壊レジスタに引数または戻り値を格納するレジス
タを割り付ける場合、高級言語におけるタスク切替え呼
び出しであってもこれらのレジスタを退避や復帰するよ
うにしてもよい。
【0042】
【発明の効果】以上のように本発明の請求項1記載のタ
スク切替え装置は、退避が必要なコンテキストを識別
し、識別情報を所定の領域に退避するタスク状態識別手
段と、前記タスク状態識別手段により識別されたコンテ
キストを退避するコンテキスト退避手段と、前記所定の
領域から識別情報を読出して復帰が必要なコンテキスト
を識別する復帰状態識別手段と、前記復帰状態識別手段
により識別されたコンテキストを復帰するコンテキスト
復帰手段とを備えることを特徴とする。
【0043】この構成によれば、退避および復帰が必要
なコンテキストのみが識別され、保存されるコンテキス
ト情報量は最適になり、コンテキストの量を削減するこ
とができる。
【0044】本発明の請求項2記載のタスク切替え装置
は、請求項1記載のタスク切替え装置において、前記タ
スク状態識別手段は、タスク切り替えがアセンブラ言語
のプログラムでなされたか高級言語のプログラムでなさ
れたかの情報を前記識別情報としたものである。
【0045】この構成によれば、最小の識別情報のみで
退避および復帰が必要なコンテキストを効率よく識別す
ることができる。
【0046】本発明の請求項3記載のタスク切替え装置
は、請求項2記載のタスク切替え装置において、前記コ
ンテキスト退避手段は、前記タスク状態識別手段により
タスク切り替えが高級言語のプログラムでなされたこと
が識別された場合、前記高級言語の言語処理系において
破壊レジスタと定義されたレジスタを含まないコンテキ
ストを退避するとしたものである。
【0047】この構成によれば、破壊レジスタの退避お
よび復帰がなくなり、保存されるコンテキスト情報量は
最適になり、コンテキストの量を削減することができ
る。
【0048】本発明の請求項4記載のタスク切替え装置
は、請求項3記載のタスク切替え装置において、前記コ
ンテキスト退避手段は、引数または戻り値を格納するレ
ジスタに対して、該レジスタが前記破壊レジスタと定義
されたレジスタに含まれる場合であっても、該レジスタ
を退避するとしたものである。
【0049】この構成によれば、引数または戻り値が格
納される破壊レジスタは退避され、容易に矛盾なくコン
テキストが切替えられる。
【0050】本発明の請求項5記載のタスク切替え装置
は、請求項3記載のタスク切替え装置において、前記コ
ンテキスト退避手段は、前記タスク状態識別手段により
タスク切り替えが高級言語のプログラムでなされたこと
が識別された場合であっても、該タスク切替えが各タス
クから独立なプログラムからなされた場合は、前記破壊
レジスタと定義されたレジスタを退避するとしたもので
ある。
【0051】この構成によれば、各タスクから独立なプ
ログラムでは破壊レジスタは退避され、容易に矛盾なく
コンテキストが切替えられる。
【0052】本発明の請求項6記載のタスク切替え装置
は、請求項5記載のタスク切替え装置において、各タス
クから独立な前記プログラムは、割り込みプログラムで
あるとしたものである。
【0053】この構成によれば、割り込みプログラムで
は破壊レジスタは退避され、容易に矛盾なくコンテキス
トが切替えられる。
【0054】本発明の請求項7記載のタスク切替え装置
は、請求項1記載のタスク切替え装置において、前記識
別情報は、退避または復帰するコンテキストにいかなる
資源を含むかを、ビット毎に該資源を割り付けた情報ま
たは含む資源の状態をエンコードした情報であるとした
ものである。
【0055】この構成によれば、識別情報を参照するだ
けで退避および復帰が真に必要なコンテキストを効率よ
く識別することができる。
【0056】本発明の請求項8記載のタスク切替え装置
は、請求項1から7のいずれか1項に記載のタスク切替
え装置において、前記所定の領域と、前記コンテキスト
退避手段によりコンテキストが退避される領域とは、予
め定められたコンテキスト保存領域において互いに連続
するとしたものである。
【0057】この構成によれば、領域のつながりにより
識別情報とそれによって識別されるコンテキストとの対
応が明確になる。
【0058】本発明の請求項9記載のタスク切替え装置
は、請求項1から7のいずれか1項に記載のタスク切替
え装置において、前記所定の領域は、前記コンテキスト
退避手段によりコンテキストが退避される際に、該コン
テキストに含まれる資源を所定のデータ長に整列させて
退避するときに発生する未使用領域の一部または全部で
あるとしたものである。
【0059】この構成によれば、識別情報の退避による
コンテキストの量の増大を招かない。
【図面の簡単な説明】
【図1】本発明の実施形態におけるタスク切替え装置の
構成および使用形態図
【図2】本実施形態のタスク切替え装置が対象とするプ
ロセッサのコンテキストとなり得るレジスタを示した図
【図3】同実施形態におけるタスク切替え装置のコンテ
キスト情報を退避するプログラムフローチャート
【図4】アセンブラ言語でタスク切替装置11を呼び出
した場合のコンテキスト保存部の構造を示した図
【図5】高級言語でタスク切替装置11を呼び出した場
合のコンテキスト保存部の構造を示した図
【図6】同実施形態におけるタスク切替え装置のコンテ
キスト情報を復帰するプログラムフローチャート
【図7】従来のタスク切替え装置の構成および使用形態
【符号の説明】 11 タスク切替え装置 21 タスク部 22 タスク独立部 23 タスク状態識別部 24 コンテキスト待避部 25 タスク切替部 26 復帰状態識別部 27 コンテキスト復帰部 31 コンテキスト保存部 32、34 識別情報 33、35 コンテキスト情報 111 タスク切替え装置 121 タスク部 122 タスク独立部 123 コンテキスト待避部 124 タスク切替部 125 コンテキスト復帰部 131 コンテキスト保存部 141 コンテキスト情報

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 退避が必要なコンテキストを識別し、識
    別情報を所定の領域に退避するタスク状態識別手段と、 前記タスク状態識別手段により識別されたコンテキスト
    を退避するコンテキスト退避手段と、 前記所定の領域から識別情報を読出して復帰が必要なコ
    ンテキストを識別する復帰状態識別手段と、 前記復帰状態識別手段により識別されたコンテキストを
    復帰するコンテキスト復帰手段とを備えることを特徴と
    するタスク切替え装置。
  2. 【請求項2】 前記タスク状態識別手段は、タスク切り
    替えがアセンブラ言語のプログラムでなされたか高級言
    語のプログラムでなされたかの情報を前記識別情報とす
    ることを特徴とする請求項1記載のタスク切替え装置。
  3. 【請求項3】 前記コンテキスト退避手段は、前記タス
    ク状態識別手段によりタスク切り替えが高級言語のプロ
    グラムでなされたことが識別された場合、前記高級言語
    の言語処理系において破壊レジスタと定義されたレジス
    タを含まないコンテキストを退避することを特徴とする
    請求項2記載のタスク切替え装置。
  4. 【請求項4】 前記コンテキスト退避手段は、引数また
    は戻り値を格納するレジスタに対して、該レジスタが前
    記破壊レジスタと定義されたレジスタに含まれる場合で
    あっても、該レジスタを退避することを特徴とする請求
    項3記載のタスク切替え装置。
  5. 【請求項5】 前記コンテキスト退避手段は、前記タス
    ク状態識別手段によりタスク切り替えが高級言語のプロ
    グラムでなされたことが識別された場合であっても、該
    タスク切替えが各タスクから独立なプログラムからなさ
    れた場合は、前記破壊レジスタと定義されたレジスタを
    退避することを特徴とする請求項3記載のタスク切替え
    装置。
  6. 【請求項6】 各タスクから独立な前記プログラムは、
    割り込みプログラムであることを特徴とする請求項5記
    載のタスク切替え装置。
  7. 【請求項7】 前記識別情報は、退避または復帰するコ
    ンテキストにいかなる資源を含むかを、ビット毎に該資
    源を割り付けた情報または含む資源の状態をエンコード
    した情報であることを特徴とする請求項1記載のタスク
    切替え装置。
  8. 【請求項8】 前記所定の領域と、前記コンテキスト退
    避手段によりコンテキストが退避される領域とは、予め
    定められたコンテキスト保存領域において互いに連続す
    ることを特徴とする請求項1から7のいずれか1項に記
    載のタスク切替え装置。
  9. 【請求項9】 前記所定の領域は、前記コンテキスト退
    避手段によりコンテキストが退避される際に、該コンテ
    キストに含まれる資源を所定のデータ長に整列させて退
    避するときに発生する未使用領域の一部または全部であ
    ることを特徴とする請求項1から7のいずれか記載のタ
    スク切替え装置。
JP9295134A 1997-10-28 1997-10-28 タスク切替え装置 Pending JPH11134202A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9295134A JPH11134202A (ja) 1997-10-28 1997-10-28 タスク切替え装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9295134A JPH11134202A (ja) 1997-10-28 1997-10-28 タスク切替え装置

Publications (1)

Publication Number Publication Date
JPH11134202A true JPH11134202A (ja) 1999-05-21

Family

ID=17816730

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9295134A Pending JPH11134202A (ja) 1997-10-28 1997-10-28 タスク切替え装置

Country Status (1)

Country Link
JP (1) JPH11134202A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003027846A1 (en) * 2001-09-20 2003-04-03 Ricoh Company, Ltd. Task switching system, task switching method and dsp modem
JP3218155U (ja) * 2018-07-02 2018-09-27 武登志 中尾 収納袋スタンド

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003027846A1 (en) * 2001-09-20 2003-04-03 Ricoh Company, Ltd. Task switching system, task switching method and dsp modem
JP3218155U (ja) * 2018-07-02 2018-09-27 武登志 中尾 収納袋スタンド

Similar Documents

Publication Publication Date Title
US5634046A (en) General purpose use of a stack pointer register
US6076156A (en) Instruction redefinition using model specific registers
KR100848603B1 (ko) 데이터 처리장치와 복귀상태의 저장방법
US5148544A (en) Apparatus and method for control of asynchronous program interrupt events in a data processing system
JPH02267634A (ja) 割込み処理装置
GB2348306A (en) Batch processing of tasks in data processing systems
JP3970609B2 (ja) プロセッサシステム
US8327122B2 (en) Method and system for providing context switch using multiple register file
JPH09128267A (ja) データ処理装置およびデータ処理方法
JPH11134202A (ja) タスク切替え装置
AU626067B2 (en) Apparatus and method for control of asynchronous program interrupt events in a data processing system
JP2004030224A (ja) プロセッサ、レジスタ退避方法およびレジスタ指定方法
US7890740B2 (en) Processor comprising a first and a second mode of operation and method of operating the same
JPH056281A (ja) 情報処理装置
EP0301707A2 (en) Apparatus and method for providing an extended processing environment on nonmicrocoded data processing system
JP4504756B2 (ja) Java(登録商標名)実行環境におけるメモリ管理方法及びメモリ管理プログラム
JP2009230479A (ja) マイクロプロセッサ
JPS5826043B2 (ja) プロセツサのリセツト方式
JP2004287618A (ja) オペレーティングシステム起動制御方法、およびその方法をコンピュータに実行させるプログラム、ならびにオペレーティングシステム起動制御装置
US5778207A (en) Assisting operating-system interrupts using application-based processing
JP2562838B2 (ja) プロセッサ及びストアバッファ制御方法
JP2000155677A (ja) プログラムの暴走防止方法、そのためのコンピューターシステムと暴走防止プログラムを記録した記録媒体
JP2932812B2 (ja) 言語処理プログラム実行装置
JP3733746B2 (ja) プログラマブルコントローラ
EP1104899A2 (en) Data processing apparatus and method of controlling the same