JPH1139171A - マルチタスク処理装置、マルチタスク処理制御方法及び制御プログラム記憶媒体 - Google Patents
マルチタスク処理装置、マルチタスク処理制御方法及び制御プログラム記憶媒体Info
- Publication number
- JPH1139171A JPH1139171A JP19434697A JP19434697A JPH1139171A JP H1139171 A JPH1139171 A JP H1139171A JP 19434697 A JP19434697 A JP 19434697A JP 19434697 A JP19434697 A JP 19434697A JP H1139171 A JPH1139171 A JP H1139171A
- Authority
- JP
- Japan
- Prior art keywords
- context
- task
- internal bus
- bus
- register
- 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)【要約】
【課題】 処理すべきタスク数がマイクロプロセッサの
レジスタ群数より多い場合にも、マイクロプロセッサ全
体のパフォーマンスを低下させない。 【解決手段】 マルチタスク処理装置30の退避/復帰
制御回路12は、内部バス17とは別個に設けられた退
避/復帰用内部バス11を介して、いずれかのレジスタ
群24-1〜24-Mに格納されているコンテキストをコン
テキスト用メモリ14に退避するとともに、コンテキス
ト用メモリ14に格納されている処理すべきコンテキス
トを当該レジスタ群に復帰させるので、通常のタスク処
理をコンテキストの退避/復帰と並行して行なうことが
でき、オーバーヘッドを削減して、全体のパフォーマン
スを向上できる。さらにコンテキスト用メモリ14を外
部バス13に接続する場合と比較して回路構成を簡略化
でき、レジスタ切替時間の短縮化が図れ、コンテキスト
用メモリ14を外部に接続する必要もないので接続ミス
等による誤動作が発生せず信頼性を向上できる。
レジスタ群数より多い場合にも、マイクロプロセッサ全
体のパフォーマンスを低下させない。 【解決手段】 マルチタスク処理装置30の退避/復帰
制御回路12は、内部バス17とは別個に設けられた退
避/復帰用内部バス11を介して、いずれかのレジスタ
群24-1〜24-Mに格納されているコンテキストをコン
テキスト用メモリ14に退避するとともに、コンテキス
ト用メモリ14に格納されている処理すべきコンテキス
トを当該レジスタ群に復帰させるので、通常のタスク処
理をコンテキストの退避/復帰と並行して行なうことが
でき、オーバーヘッドを削減して、全体のパフォーマン
スを向上できる。さらにコンテキスト用メモリ14を外
部バス13に接続する場合と比較して回路構成を簡略化
でき、レジスタ切替時間の短縮化が図れ、コンテキスト
用メモリ14を外部に接続する必要もないので接続ミス
等による誤動作が発生せず信頼性を向上できる。
Description
【0001】
【発明の属する技術分野】本発明は、マルチタスク処理
装置、マルチタスク処理制御方法及び制御プログラム記
憶媒体に係り、特にマルチタスキングにおいて、コンテ
キストスイッチング(Context switching )を行なうマ
ルチタスク処理装置、マルチタスク処理制御方法及びマ
ルチタスク制御用プログラムを記憶した制御プログラム
記憶媒体に関する。
装置、マルチタスク処理制御方法及び制御プログラム記
憶媒体に係り、特にマルチタスキングにおいて、コンテ
キストスイッチング(Context switching )を行なうマ
ルチタスク処理装置、マルチタスク処理制御方法及びマ
ルチタスク制御用プログラムを記憶した制御プログラム
記憶媒体に関する。
【0002】
【従来の技術】近年のマイクロプロセッサにおいては、
複数のタスクを並行して処理するマルチタスキングが行
なわれている。従来のマイクロプロセッサは、レジスタ
ファイル(レジスタ群)を1組しか持っていなかったた
め、タスク切換の際には、レジスタファイルの内容であ
るコンテキストを外部メモリであるコンテキスト用メモ
リ(例えば、メインメモリ上に設ける。)に退避し、次
にレジスタファイルの内容を退避したタスクの処理を行
なう場合には、コンテキスト用メモリから対応するコン
テキストをレジスタに復帰させていた。
複数のタスクを並行して処理するマルチタスキングが行
なわれている。従来のマイクロプロセッサは、レジスタ
ファイル(レジスタ群)を1組しか持っていなかったた
め、タスク切換の際には、レジスタファイルの内容であ
るコンテキストを外部メモリであるコンテキスト用メモ
リ(例えば、メインメモリ上に設ける。)に退避し、次
にレジスタファイルの内容を退避したタスクの処理を行
なう場合には、コンテキスト用メモリから対応するコン
テキストをレジスタに復帰させていた。
【0003】しかし、上記従来のマイクロプロセッサに
おいては、タスク切換が起こる度にコンテキスト用メモ
リに対するアクセスが必要となる。コンテキスト用メモ
リ空間の切換え、例えば、メインメモリ空間の切換えは
かなりの時間を要するため、マイクロプロセッサ全体と
してのパフォーマンスが低下してしまうという問題点が
あった。
おいては、タスク切換が起こる度にコンテキスト用メモ
リに対するアクセスが必要となる。コンテキスト用メモ
リ空間の切換え、例えば、メインメモリ空間の切換えは
かなりの時間を要するため、マイクロプロセッサ全体と
してのパフォーマンスが低下してしまうという問題点が
あった。
【0004】
【発明が解決しようとする課題】上記問題点を解決すべ
く、複数のレジスタファイルを設け、コンテキスト用メ
モリ空間の切換頻度を低減することによりパフォーマン
スの向上を図る方法が提案されている。
く、複数のレジスタファイルを設け、コンテキスト用メ
モリ空間の切換頻度を低減することによりパフォーマン
スの向上を図る方法が提案されている。
【0005】図11に複数のレジスタファイルを有する
マイクロプロセッサの概要構成ブロック図を示す。マイ
クロプロセッサ100は、それぞれ一のタスクのコンテ
キストを格納する複数のレジスタファイル101-1〜1
01-nと、複数のレジスタファイル101-1〜101-n
にいずれのタスクに対応するコンテキストが格納されて
いるかを判別し、タスクの処理に用いるレジスタファイ
ルを選択するための制御信号を出力するレジスタファイ
ル選択回路105と、レジスタファイル101-1〜10
1-nと演算回路110及び制御回路111とを接続する
内部バス(内部アドレスバス及び内部データバス)10
6と、内部バス106及び外部バス109を制御するた
めのバス制御回路107と、を備えて構成されている。
マイクロプロセッサの概要構成ブロック図を示す。マイ
クロプロセッサ100は、それぞれ一のタスクのコンテ
キストを格納する複数のレジスタファイル101-1〜1
01-nと、複数のレジスタファイル101-1〜101-n
にいずれのタスクに対応するコンテキストが格納されて
いるかを判別し、タスクの処理に用いるレジスタファイ
ルを選択するための制御信号を出力するレジスタファイ
ル選択回路105と、レジスタファイル101-1〜10
1-nと演算回路110及び制御回路111とを接続する
内部バス(内部アドレスバス及び内部データバス)10
6と、内部バス106及び外部バス109を制御するた
めのバス制御回路107と、を備えて構成されている。
【0006】さらに、マイクロプロセッサ100には、
レジスタファイル101-1〜101-nに格納しきれない
コンテキストを退避するとともに、各種データを記憶す
るデータ/コンテキスト用メモリ108が外部バス10
9を介して接続されている。次に動作を説明する。1) 処理すべきタスク数Nがレジスタファイル数n以
下の場合(N≦n) この場合には、各タスクのコンテキストはいずれかのレ
ジスタファイルに格納されていることとなる。
レジスタファイル101-1〜101-nに格納しきれない
コンテキストを退避するとともに、各種データを記憶す
るデータ/コンテキスト用メモリ108が外部バス10
9を介して接続されている。次に動作を説明する。1) 処理すべきタスク数Nがレジスタファイル数n以
下の場合(N≦n) この場合には、各タスクのコンテキストはいずれかのレ
ジスタファイルに格納されていることとなる。
【0007】従って、タスク切換えが発生した場合に
は、レジスタファイル選択回路105は、切換え先のタ
スクに対応するレジスタファイルを複数のレジスタファ
イル101-1〜101-nのうちから判別し、対応するレ
ジスタファイル101-X(X=1〜n)のみをアクティ
ブにするための制御信号を出力する。
は、レジスタファイル選択回路105は、切換え先のタ
スクに対応するレジスタファイルを複数のレジスタファ
イル101-1〜101-nのうちから判別し、対応するレ
ジスタファイル101-X(X=1〜n)のみをアクティ
ブにするための制御信号を出力する。
【0008】これによりそれ以降は、当該アクティブに
されたレジスタファイル101-Xのみがアクセス可能と
なり、このレジスタファイル101-Xに格納されている
コンテキストに基づいて演算回路110及び制御回路1
11は動作を行なうこととなる。
されたレジスタファイル101-Xのみがアクセス可能と
なり、このレジスタファイル101-Xに格納されている
コンテキストに基づいて演算回路110及び制御回路1
11は動作を行なうこととなる。
【0009】従って、処理すべきタスク数Nがレジスタ
ファイル数n以下の場合には、レジスタファイル101
-1〜101-nに格納しきれないコンテキストが発生する
ことがなく、各種データを記憶するデータ/コンテキス
ト用メモリ108に対して外部バス109を介してアク
セスする必要がないので、高速にタスク切換えを行なう
ことができ、マイクロプロセッサ100全体のパフォー
マンスを向上させることができるのである。2) 処理すべきタスク数Nがレジスタファイル数nよ
り多い場合(N>n) この場合には、N個のタスクのコンテキストのうち、n
個のタスクに対応するコンテキストはいずれかのレジス
タファイルに格納されているとともに、(N−n)個の
コンテキストはデータ/コンテキスト用メモリ108に
格納されていることとなる。
ファイル数n以下の場合には、レジスタファイル101
-1〜101-nに格納しきれないコンテキストが発生する
ことがなく、各種データを記憶するデータ/コンテキス
ト用メモリ108に対して外部バス109を介してアク
セスする必要がないので、高速にタスク切換えを行なう
ことができ、マイクロプロセッサ100全体のパフォー
マンスを向上させることができるのである。2) 処理すべきタスク数Nがレジスタファイル数nよ
り多い場合(N>n) この場合には、N個のタスクのコンテキストのうち、n
個のタスクに対応するコンテキストはいずれかのレジス
タファイルに格納されているとともに、(N−n)個の
コンテキストはデータ/コンテキスト用メモリ108に
格納されていることとなる。
【0010】従って、タスク切換えが発生した場合に
は、レジスタファイル選択回路105は、切換え先のタ
スクに対応するコンテキストがレジスタファイル101
-1〜101-nのいずれかに存在するか否かを判別し、い
ずれかのレジスタファイル101-1〜101-nに当該切
換え先のタスクに対応するコンテキストが存在する場合
には、対応するレジスタファイル101-X(X=1〜
n)のみをアクティブにするための制御信号を出力す
る。
は、レジスタファイル選択回路105は、切換え先のタ
スクに対応するコンテキストがレジスタファイル101
-1〜101-nのいずれかに存在するか否かを判別し、い
ずれかのレジスタファイル101-1〜101-nに当該切
換え先のタスクに対応するコンテキストが存在する場合
には、対応するレジスタファイル101-X(X=1〜
n)のみをアクティブにするための制御信号を出力す
る。
【0011】これによりそれ以降は、当該アクティブに
されたレジスタファイル101-Xのみがアクセス可能と
なり、このレジスタファイル101-Xに格納されている
コンテキストに基づいて演算回路110及び制御回路1
11は動作を行なうこととなる。
されたレジスタファイル101-Xのみがアクセス可能と
なり、このレジスタファイル101-Xに格納されている
コンテキストに基づいて演算回路110及び制御回路1
11は動作を行なうこととなる。
【0012】一方、いずれのレジスタファイル101-1
〜101-nにも当該切換え先のタスクに対応するコンテ
キストが存在しない場合には、レジスタファイル選択回
路105は、タスクの優先度等に基づいてデータ/コン
テキスト用メモリ108に退避すべきコンテキストが格
納されているレジスタファイル101-Y(Y=1〜n)
を判別するとともに、バス制御回路107を制御するこ
とにより、当該レジスタファイル101-Yに格納されて
いるコンテキストを内部バス106及び外部バス109
を介してデータ/コンテキスト用メモリ108に退避す
る。
〜101-nにも当該切換え先のタスクに対応するコンテ
キストが存在しない場合には、レジスタファイル選択回
路105は、タスクの優先度等に基づいてデータ/コン
テキスト用メモリ108に退避すべきコンテキストが格
納されているレジスタファイル101-Y(Y=1〜n)
を判別するとともに、バス制御回路107を制御するこ
とにより、当該レジスタファイル101-Yに格納されて
いるコンテキストを内部バス106及び外部バス109
を介してデータ/コンテキスト用メモリ108に退避す
る。
【0013】退避が終了すると、レジスタファイル選択
回路105は、再びバス制御回路107を制御すること
により復帰させるべきコンテキストを外部バス109及
び内部バス106を介してレジスタファイル101-Yに
格納する。そして、レジスタファイル選択回路105
は、コンテキストの復帰が完了すると、レジスタファイ
ル101-Yのみをアクティブにするための制御信号を出
力する。
回路105は、再びバス制御回路107を制御すること
により復帰させるべきコンテキストを外部バス109及
び内部バス106を介してレジスタファイル101-Yに
格納する。そして、レジスタファイル選択回路105
は、コンテキストの復帰が完了すると、レジスタファイ
ル101-Yのみをアクティブにするための制御信号を出
力する。
【0014】これによりそれ以降は、当該アクティブに
されたレジスタファイル101-Yのみがアクセス可能と
なり、このレジスタファイル101-Yに格納されている
コンテキストに基づいて演算回路110及び制御回路1
11は動作を行なうこととなる。
されたレジスタファイル101-Yのみがアクセス可能と
なり、このレジスタファイル101-Yに格納されている
コンテキストに基づいて演算回路110及び制御回路1
11は動作を行なうこととなる。
【0015】以上の説明のように、処理すべきタスク数
Nがレジスタファイル数nより多い場合には、全てのコ
ンテキストをレジスタファイルに格納することができ
ず、コンテキストの退避/復帰のための時間が必要とな
って、マイクロプロセッサ全体のパフォーマンスが低下
してしまうという問題点があった。
Nがレジスタファイル数nより多い場合には、全てのコ
ンテキストをレジスタファイルに格納することができ
ず、コンテキストの退避/復帰のための時間が必要とな
って、マイクロプロセッサ全体のパフォーマンスが低下
してしまうという問題点があった。
【0016】また、コンテキスト用のメモリは外部バス
に接続されているため、インターフェース動作などに起
因してレジスタファイルの切替が高速では行えないとい
う不具合があった。さらにコンテキスト用のメモリを外
部に接続するため、誤接続の可能性があり、信頼性が低
下してしまうという可能性があった。
に接続されているため、インターフェース動作などに起
因してレジスタファイルの切替が高速では行えないとい
う不具合があった。さらにコンテキスト用のメモリを外
部に接続するため、誤接続の可能性があり、信頼性が低
下してしまうという可能性があった。
【0017】そこで、本発明の目的は、処理すべきタス
ク数がマイクロプロセッサのレジスタファイル(レジス
タ群)数よりも多い場合にもレジスタ切替を高速に行え
マイクロプロセッサ全体のパフォーマンスを低下させる
ことがなく、信頼性を向上することが可能なマルチタス
ク処理装置、マルチタスク処理制御方法及び制御プログ
ラム記憶媒体を提供することにある。
ク数がマイクロプロセッサのレジスタファイル(レジス
タ群)数よりも多い場合にもレジスタ切替を高速に行え
マイクロプロセッサ全体のパフォーマンスを低下させる
ことがなく、信頼性を向上することが可能なマルチタス
ク処理装置、マルチタスク処理制御方法及び制御プログ
ラム記憶媒体を提供することにある。
【0018】
【課題を解決するための手段】請求項1記載の発明は、
各々がコンテキストを格納するM個(M;2以上の整
数)のレジスタ群と、タスク処理を行なうべく前記M個
のレジスタ群に接続された内部バスと、前記内部バスに
接続され前記内部バスと外部の外部バスとの間のインタ
ーフェース動作を行うバス制御回路と、を有し、選択し
たいずれか一のレジスタ群に格納されている前記コンテ
キストに基づいて複数の前記タスク処理を順次行なうと
ともに、前記外部バスを介して外部とデータのやりとり
を行うマルチタスク処理装置において、前記コンテキス
トを格納するコンテキスト用記憶手段と、前記内部バス
とは別個に設けられ、かつ、前記M個のレジスタ群と前
記コンテキスト用記憶手段との間に設けられて前記コン
テキストの退避/復帰を行なうための退避/復帰用内部
バスと、前記退避/復帰用内部バスを介して、前記コン
テキストを前記コンテキスト用記憶手段に退避し、ある
いは、前記コンテキスト用記憶手段から前記コンテキス
トを前記レジスタ群に復帰させるための制御を行なう退
避/復帰制御手段と、を備えて構成する。
各々がコンテキストを格納するM個(M;2以上の整
数)のレジスタ群と、タスク処理を行なうべく前記M個
のレジスタ群に接続された内部バスと、前記内部バスに
接続され前記内部バスと外部の外部バスとの間のインタ
ーフェース動作を行うバス制御回路と、を有し、選択し
たいずれか一のレジスタ群に格納されている前記コンテ
キストに基づいて複数の前記タスク処理を順次行なうと
ともに、前記外部バスを介して外部とデータのやりとり
を行うマルチタスク処理装置において、前記コンテキス
トを格納するコンテキスト用記憶手段と、前記内部バス
とは別個に設けられ、かつ、前記M個のレジスタ群と前
記コンテキスト用記憶手段との間に設けられて前記コン
テキストの退避/復帰を行なうための退避/復帰用内部
バスと、前記退避/復帰用内部バスを介して、前記コン
テキストを前記コンテキスト用記憶手段に退避し、ある
いは、前記コンテキスト用記憶手段から前記コンテキス
トを前記レジスタ群に復帰させるための制御を行なう退
避/復帰制御手段と、を備えて構成する。
【0019】請求項1記載の発明によれば、マルチタス
ク処理装置は、コンテキストの退避/復帰処理を行なう
必要がない場合には、M個のレジスタ群のうち、処理す
べきタスクに対応するレジスタ群に格納されているデー
タを内部バスを介してやり取りしてタスクの処理を行な
う。
ク処理装置は、コンテキストの退避/復帰処理を行なう
必要がない場合には、M個のレジスタ群のうち、処理す
べきタスクに対応するレジスタ群に格納されているデー
タを内部バスを介してやり取りしてタスクの処理を行な
う。
【0020】そして処理に用いるレジスタ群を切換える
ことにより、複数のタスク処理を順次行なうマルチタス
ク処理を行なう。一方、コンテキストの退避/復帰処理
を行なう必要がある場合、すなわち、M個のレジスタ群
に処理すべきタスクに対応するコンテキストが格納され
ていない場合には、退避/復帰制御手段は、内部バスと
は別個に設けられた退避/復帰用内部バスを介して、い
ずれかのレジスタ群に格納されているコンテキストをコ
ンテキスト用記憶手段に退避するとともに、コンテキス
ト用記憶手段に格納されている処理すべきコンテキスト
を当該レジスタ群に復帰させる。
ことにより、複数のタスク処理を順次行なうマルチタス
ク処理を行なう。一方、コンテキストの退避/復帰処理
を行なう必要がある場合、すなわち、M個のレジスタ群
に処理すべきタスクに対応するコンテキストが格納され
ていない場合には、退避/復帰制御手段は、内部バスと
は別個に設けられた退避/復帰用内部バスを介して、い
ずれかのレジスタ群に格納されているコンテキストをコ
ンテキスト用記憶手段に退避するとともに、コンテキス
ト用記憶手段に格納されている処理すべきコンテキスト
を当該レジスタ群に復帰させる。
【0021】従って、通常のタスク処理を内部バスを介
して行うことにより、コンテキストの退避/復帰と並行
して行なうことができる。請求項2記載の発明は、請求
項1記載の発明において、前記退避/復帰制御手段は、
現在実行中のタスク処理と並行して前記現在実行中のタ
スク処理を除く各タスク処理の優先順位及び処理状態に
基づいて次に退避可能なタスク処理及び復帰すべきタス
ク処理の判別処理を行なうように構成する。
して行うことにより、コンテキストの退避/復帰と並行
して行なうことができる。請求項2記載の発明は、請求
項1記載の発明において、前記退避/復帰制御手段は、
現在実行中のタスク処理と並行して前記現在実行中のタ
スク処理を除く各タスク処理の優先順位及び処理状態に
基づいて次に退避可能なタスク処理及び復帰すべきタス
ク処理の判別処理を行なうように構成する。
【0022】請求項2記載の発明によれば、請求項1記
載の発明の作用に加えて、退避/復帰制御手段は、現在
実行中のタスク処理と並行して現在実行中のタスク処理
を除く各タスク処理の優先順位及び処理状態に基づいて
次に退避可能なタスク処理及び復帰すべきタスク処理の
判別処理を行なう。
載の発明の作用に加えて、退避/復帰制御手段は、現在
実行中のタスク処理と並行して現在実行中のタスク処理
を除く各タスク処理の優先順位及び処理状態に基づいて
次に退避可能なタスク処理及び復帰すべきタスク処理の
判別処理を行なう。
【0023】請求項3記載の発明は、請求項1又は請求
項2記載の発明において、並行して処理すべき全タスク
数をL(L;2以上の整数)とし、 L≦M の場合には、全タスク処理に対応するコンテキストを前
記M個のレジスタ群のうちのL個のレジスタ群に格納す
る。
項2記載の発明において、並行して処理すべき全タスク
数をL(L;2以上の整数)とし、 L≦M の場合には、全タスク処理に対応するコンテキストを前
記M個のレジスタ群のうちのL個のレジスタ群に格納す
る。
【0024】請求項3記載の発明によれば、請求項1又
は請求項2記載の発明の作用に加えて、並行して処理す
べき全タスク数をL(L;2以上の整数)とし、 L≦M の場合には、全タスク処理に対応するコンテキストをM
個のレジスタ群のうちのL個のレジスタ群に格納するの
で、タスク切換に伴うコンテキストの退避/復帰処理が
生じることがなく高速に処理を行なうことができる。
は請求項2記載の発明の作用に加えて、並行して処理す
べき全タスク数をL(L;2以上の整数)とし、 L≦M の場合には、全タスク処理に対応するコンテキストをM
個のレジスタ群のうちのL個のレジスタ群に格納するの
で、タスク切換に伴うコンテキストの退避/復帰処理が
生じることがなく高速に処理を行なうことができる。
【0025】請求項4記載の発明は、各々がコンテキス
トを格納するM個(M;2以上の整数)のレジスタ群
と、タスク処理を行なうべく前記M個のレジスタ群に接
続された内部バスと、前記内部バスに接続され前記内部
バスと外部の外部バスとの間のインターフェース動作を
行うバス制御回路と、前記内部バスとは別個に設けら
れ、かつ、前記M個のレジスタ群と前記コンテキスト用
記憶手段との間に設けられて前記コンテキストの退避/
復帰を行なうための退避/復帰用内部バスと、を有し、
選択したいずれか一のレジスタ群に格納されている前記
コンテキストに基づいて複数の前記タスク処理を順次行
なうとともに、前記外部バスを介して外部とデータのや
りとりを行うマルチタスク処理装置のマルチタスク処理
制御方法であって、現在実行中のタスク処理と並行して
前記現在実行中のタスク処理を除く各タスク処理の優先
順位及び処理状態に基づいて次に退避可能なタスク処理
及び復帰すべきタスク処理を判別する判別工程と、前記
判別に基づいて、前記退避/復帰用内部バスを介して、
前記退避可能なタスク処理に対応するコンテキストを前
記コンテキスト用記憶手段に退避し、あるいは、前記コ
ンテキスト用記憶手段から前記コンテキストを前記レジ
スタ群に復帰させるための制御を行なう退避/復帰制御
工程と、を備えて構成する。
トを格納するM個(M;2以上の整数)のレジスタ群
と、タスク処理を行なうべく前記M個のレジスタ群に接
続された内部バスと、前記内部バスに接続され前記内部
バスと外部の外部バスとの間のインターフェース動作を
行うバス制御回路と、前記内部バスとは別個に設けら
れ、かつ、前記M個のレジスタ群と前記コンテキスト用
記憶手段との間に設けられて前記コンテキストの退避/
復帰を行なうための退避/復帰用内部バスと、を有し、
選択したいずれか一のレジスタ群に格納されている前記
コンテキストに基づいて複数の前記タスク処理を順次行
なうとともに、前記外部バスを介して外部とデータのや
りとりを行うマルチタスク処理装置のマルチタスク処理
制御方法であって、現在実行中のタスク処理と並行して
前記現在実行中のタスク処理を除く各タスク処理の優先
順位及び処理状態に基づいて次に退避可能なタスク処理
及び復帰すべきタスク処理を判別する判別工程と、前記
判別に基づいて、前記退避/復帰用内部バスを介して、
前記退避可能なタスク処理に対応するコンテキストを前
記コンテキスト用記憶手段に退避し、あるいは、前記コ
ンテキスト用記憶手段から前記コンテキストを前記レジ
スタ群に復帰させるための制御を行なう退避/復帰制御
工程と、を備えて構成する。
【0026】請求項4記載の発明によれば、判別工程
は、現在実行中のタスク処理と並行して現在実行中のタ
スク処理を除く各タスク処理の優先順位及び処理状態に
基づいて次に退避可能なタスク処理及び復帰すべきタス
ク処理を判別する。これにより退避/復帰工程は、判別
工程における判別に基づいて、退避/復帰用バスを介し
て、退避可能なタスク処理に対応するコンテキストをコ
ンテキスト用記憶手段に退避し、あるいは、コンテキス
ト用記憶手段からコンテキストをレジスタ群に復帰させ
るための制御を行なう。
は、現在実行中のタスク処理と並行して現在実行中のタ
スク処理を除く各タスク処理の優先順位及び処理状態に
基づいて次に退避可能なタスク処理及び復帰すべきタス
ク処理を判別する。これにより退避/復帰工程は、判別
工程における判別に基づいて、退避/復帰用バスを介し
て、退避可能なタスク処理に対応するコンテキストをコ
ンテキスト用記憶手段に退避し、あるいは、コンテキス
ト用記憶手段からコンテキストをレジスタ群に復帰させ
るための制御を行なう。
【0027】請求項5記載の発明は、請求項4記載のマ
ルチタスク処理制御方法において、並行して処理すべき
全タスク数をL(L;2以上の整数)とし、 L≦M の場合には、前記M個のレジスタ群のうちのL個のレジ
スタ群に全タスク処理に対応するコンテキストを格納す
る格納工程を備えて構成する。
ルチタスク処理制御方法において、並行して処理すべき
全タスク数をL(L;2以上の整数)とし、 L≦M の場合には、前記M個のレジスタ群のうちのL個のレジ
スタ群に全タスク処理に対応するコンテキストを格納す
る格納工程を備えて構成する。
【0028】請求項5記載の発明によれば、請求項4記
載の発明の作用に加えて、格納工程は、 L≦M の場合には、M個のレジスタ群のうちのL個のレジスタ
群に全タスク処理に対応するコンテキストを格納する。
載の発明の作用に加えて、格納工程は、 L≦M の場合には、M個のレジスタ群のうちのL個のレジスタ
群に全タスク処理に対応するコンテキストを格納する。
【0029】請求項6記載の発明は、各々がコンテキス
トを格納するM個(M;2以上の整数)のレジスタ群
と、タスク処理を行なうべく前記M個のレジスタ群に接
続された内部バスと、前記内部バスに接続され前記内部
バスと外部の外部バスとの間のインターフェース動作を
行うバス制御回路と、前記内部バスとは別個に設けら
れ、かつ、前記M個のレジスタ群と前記コンテキスト用
記憶手段との間に設けられて前記コンテキストの退避/
復帰を行なうための退避/復帰用内部バスと、を有し、
選択したいずれか一のレジスタ群に格納されている前記
コンテキストに基づいて複数の前記タスク処理を順次行
なうとともに、前記外部バスを介して外部とデータのや
りとりを行うマルチタスク処理装置にマルチタスク処理
を行わせるための制御プログラムを記憶した制御プログ
ラム記憶媒体であって、現在実行中のタスク処理と並行
して前記現在実行中のタスク処理を除く各タスク処理の
優先順位及び処理状態に基づいて次に退避可能なタスク
処理及び復帰すべきタスク処理を判別させ、前記判別に
基づいて、前記退避/復帰用内部バスを介して、前記退
避可能なタスク処理に対応するコンテキストを前記コン
テキスト用記憶手段に退避し、あるいは、前記コンテキ
スト用記憶手段から前記コンテキストを前記レジスタ群
に復帰させるための制御を行なう、制御プログラムを記
憶する。
トを格納するM個(M;2以上の整数)のレジスタ群
と、タスク処理を行なうべく前記M個のレジスタ群に接
続された内部バスと、前記内部バスに接続され前記内部
バスと外部の外部バスとの間のインターフェース動作を
行うバス制御回路と、前記内部バスとは別個に設けら
れ、かつ、前記M個のレジスタ群と前記コンテキスト用
記憶手段との間に設けられて前記コンテキストの退避/
復帰を行なうための退避/復帰用内部バスと、を有し、
選択したいずれか一のレジスタ群に格納されている前記
コンテキストに基づいて複数の前記タスク処理を順次行
なうとともに、前記外部バスを介して外部とデータのや
りとりを行うマルチタスク処理装置にマルチタスク処理
を行わせるための制御プログラムを記憶した制御プログ
ラム記憶媒体であって、現在実行中のタスク処理と並行
して前記現在実行中のタスク処理を除く各タスク処理の
優先順位及び処理状態に基づいて次に退避可能なタスク
処理及び復帰すべきタスク処理を判別させ、前記判別に
基づいて、前記退避/復帰用内部バスを介して、前記退
避可能なタスク処理に対応するコンテキストを前記コン
テキスト用記憶手段に退避し、あるいは、前記コンテキ
スト用記憶手段から前記コンテキストを前記レジスタ群
に復帰させるための制御を行なう、制御プログラムを記
憶する。
【0030】請求項6記載の発明によれば、マルチタス
ク処理装置は、制御プログラムに基づいて、現在実行中
のタスク処理と並行して前記現在実行中のタスク処理を
除く各タスク処理の優先順位及び処理状態に基づいて次
に退避可能なタスク処理及び復帰すべきタスク処理を判
別させ、前記判別に基づいて、前記退避/復帰用内部バ
スを介して、前記退避可能なタスク処理に対応するコン
テキストを前記コンテキスト用記憶手段に退避し、ある
いは、前記コンテキスト用記憶手段から前記コンテキス
トを前記レジスタ群に復帰させるための制御を行なう。
ク処理装置は、制御プログラムに基づいて、現在実行中
のタスク処理と並行して前記現在実行中のタスク処理を
除く各タスク処理の優先順位及び処理状態に基づいて次
に退避可能なタスク処理及び復帰すべきタスク処理を判
別させ、前記判別に基づいて、前記退避/復帰用内部バ
スを介して、前記退避可能なタスク処理に対応するコン
テキストを前記コンテキスト用記憶手段に退避し、ある
いは、前記コンテキスト用記憶手段から前記コンテキス
トを前記レジスタ群に復帰させるための制御を行なう。
【0031】請求項7記載の発明は、請求項6記載の発
明において、並行して処理すべき全タスク数をL(L;
2以上の整数)とし、 L≦M の場合には、前記M個のレジスタ群のうちのL個のレジ
スタ群に全タスク処理に対応するコンテキストを格納す
る、制御プログラムを記憶する。
明において、並行して処理すべき全タスク数をL(L;
2以上の整数)とし、 L≦M の場合には、前記M個のレジスタ群のうちのL個のレジ
スタ群に全タスク処理に対応するコンテキストを格納す
る、制御プログラムを記憶する。
【0032】請求項7記載の発明によれば、請求項6記
載の発明において、マルチタスク処理装置は、制御プロ
グラムに基づいて、 L≦M の場合には、前記M個のレジスタ群のうちのL個のレジ
スタ群に全タスク処理に対応するコンテキストを格納す
る。
載の発明において、マルチタスク処理装置は、制御プロ
グラムに基づいて、 L≦M の場合には、前記M個のレジスタ群のうちのL個のレジ
スタ群に全タスク処理に対応するコンテキストを格納す
る。
【0033】
【発明の実施の形態】次に図面を参照して本発明の好適
な実施形態を説明する。図1にマルチタスク処理装置の
実施形態としてのマイクロプロセッサの概要構成ブロッ
ク図を示す。
な実施形態を説明する。図1にマルチタスク処理装置の
実施形態としてのマイクロプロセッサの概要構成ブロッ
ク図を示す。
【0034】マイクロプロセッサ30は、大別すると、
後述のM個のレジスタファイル(レジスタ群)24-1〜
24-Mを有し、退避/復帰処理を行なうレジスタ回路1
0と、レジスタファイル24-1〜24-Mの内容に基づい
て各種演算を行なう演算回路26と、後述のレジスタフ
ァイル24-1〜24-Mと演算回路26を接続する内部バ
ス(内部アドレスバス及び内部データバス)17と、内
部バス17及び後述の外部バス13を制御するためのバ
ス制御回路22と、を備えて構成されている。
後述のM個のレジスタファイル(レジスタ群)24-1〜
24-Mを有し、退避/復帰処理を行なうレジスタ回路1
0と、レジスタファイル24-1〜24-Mの内容に基づい
て各種演算を行なう演算回路26と、後述のレジスタフ
ァイル24-1〜24-Mと演算回路26を接続する内部バ
ス(内部アドレスバス及び内部データバス)17と、内
部バス17及び後述の外部バス13を制御するためのバ
ス制御回路22と、を備えて構成されている。
【0035】レジスタ回路10は、内部バス17とは別
個に設けられ、後述のレジスタファイル24-1〜24-M
と接続されている退避/復帰用内部バス11と、演算回
路26の処理状態に応じてコンテキストの退避/復帰を
制御すべくタスクの処理に用いるレジスタファイルを選
択するための制御信号SC を出力する退避/復帰制御回
路12と、退避/復帰用内部バス11を介して退避した
コンテキストを格納するためのコンテキスト用メモリ1
4と、それぞれ一のタスクのコンテキストを格納するM
個(M;2以上の整数)のレジスタファイル(レジスタ
群)24-1〜24-Mと、を備えて構成されている。
個に設けられ、後述のレジスタファイル24-1〜24-M
と接続されている退避/復帰用内部バス11と、演算回
路26の処理状態に応じてコンテキストの退避/復帰を
制御すべくタスクの処理に用いるレジスタファイルを選
択するための制御信号SC を出力する退避/復帰制御回
路12と、退避/復帰用内部バス11を介して退避した
コンテキストを格納するためのコンテキスト用メモリ1
4と、それぞれ一のタスクのコンテキストを格納するM
個(M;2以上の整数)のレジスタファイル(レジスタ
群)24-1〜24-Mと、を備えて構成されている。
【0036】バス制御回路22には、各種データを記憶
する外部メモリとしてのデータ用メモリ20が接続され
た外部バス13が接続されている。退避/復帰制御回路
12は、複数のレジスタファイル24-1〜24-Mにいず
れのタスクに対応するコンテキストが格納されているか
を判別するレジスタファイル選択回路12Aを備えて構
成されている。
する外部メモリとしてのデータ用メモリ20が接続され
た外部バス13が接続されている。退避/復帰制御回路
12は、複数のレジスタファイル24-1〜24-Mにいず
れのタスクに対応するコンテキストが格納されているか
を判別するレジスタファイル選択回路12Aを備えて構
成されている。
【0037】次に概要動作を説明する。この場合におい
て、マルチタスク制御用のプログラムは、図示しないR
OM等の不揮発性メモリに書き込まれ、あるいは、外部
バスを介して外部の記憶媒体(フレキシブルディスク、
ハードディスク、光ディスク、半導体メモリ等)から供
給され、または、外部から通信により受信することによ
り図示しないRAMに格納されてマイクロプロセッサに
より処理されるものとする。1) 処理すべきタスク数Nがレジスタファイル数M以
下の場合(N≦M) この場合には、各タスクのコンテキストはいずれかのレ
ジスタファイル24-1〜24-Mに格納されることとな
る。
て、マルチタスク制御用のプログラムは、図示しないR
OM等の不揮発性メモリに書き込まれ、あるいは、外部
バスを介して外部の記憶媒体(フレキシブルディスク、
ハードディスク、光ディスク、半導体メモリ等)から供
給され、または、外部から通信により受信することによ
り図示しないRAMに格納されてマイクロプロセッサに
より処理されるものとする。1) 処理すべきタスク数Nがレジスタファイル数M以
下の場合(N≦M) この場合には、各タスクのコンテキストはいずれかのレ
ジスタファイル24-1〜24-Mに格納されることとな
る。
【0038】従って、タスク切換えが発生した場合に
は、レジスタファイル選択回路12Aは、切換え先のタ
スクに対応するレジスタファイルを複数のレジスタファ
イル24-1〜24-Mのうちから判別し、対応するレジス
タファイル24-X(X=1〜M)のみをアクティブにす
るための制御信号SC を出力する。
は、レジスタファイル選択回路12Aは、切換え先のタ
スクに対応するレジスタファイルを複数のレジスタファ
イル24-1〜24-Mのうちから判別し、対応するレジス
タファイル24-X(X=1〜M)のみをアクティブにす
るための制御信号SC を出力する。
【0039】これによりそれ以降は、当該アクティブに
されたレジスタファイル24-Xのみがアクセス可能とな
り、このレジスタファイル24-Xに格納されているコン
テキストに基づいて演算回路26は動作を行なうことと
なる。従って、処理すべきタスク数Nがレジスタファイ
ル数M以下の場合には、レジスタファイル24-1〜24
-Mに格納しきれないコンテキストが発生することはな
く、退避/復帰用内部バス11を介してコンテキスト用
メモリ14をアクセスする必要がないので、高速にタス
ク切換えを行なうことができ、マイクロプロセッサ30
全体のパフォーマンスを向上させることができるのであ
る。2) 処理すべきタスク数Nがレジスタファイル数Mよ
り多い場合(N>M) この場合には、N個のタスクのコンテキストのうち、M
個のタスクに対応するコンテキストはいずれかのレジス
タファイル24-1〜24-Mに格納されているとともに、
(N−M)個のコンテキストはコンテキスト用メモリ1
4に格納されていることとなる。 i) 退避/復帰処理を行なわない場合の制御 そこで、タスク切換えが発生した場合には、レジスタフ
ァイル選択回路12Aは、内部バス17、バス制御回路
22、外部バス13及びデータ用メモリ20を用いて現
在行なわれている演算回路26のタスクの処理と並行し
て、切換え先のタスクに対応するコンテキストがレジス
タファイル24-1〜24-Mのいずれかに存在するか否か
を判別する。
されたレジスタファイル24-Xのみがアクセス可能とな
り、このレジスタファイル24-Xに格納されているコン
テキストに基づいて演算回路26は動作を行なうことと
なる。従って、処理すべきタスク数Nがレジスタファイ
ル数M以下の場合には、レジスタファイル24-1〜24
-Mに格納しきれないコンテキストが発生することはな
く、退避/復帰用内部バス11を介してコンテキスト用
メモリ14をアクセスする必要がないので、高速にタス
ク切換えを行なうことができ、マイクロプロセッサ30
全体のパフォーマンスを向上させることができるのであ
る。2) 処理すべきタスク数Nがレジスタファイル数Mよ
り多い場合(N>M) この場合には、N個のタスクのコンテキストのうち、M
個のタスクに対応するコンテキストはいずれかのレジス
タファイル24-1〜24-Mに格納されているとともに、
(N−M)個のコンテキストはコンテキスト用メモリ1
4に格納されていることとなる。 i) 退避/復帰処理を行なわない場合の制御 そこで、タスク切換えが発生した場合には、レジスタフ
ァイル選択回路12Aは、内部バス17、バス制御回路
22、外部バス13及びデータ用メモリ20を用いて現
在行なわれている演算回路26のタスクの処理と並行し
て、切換え先のタスクに対応するコンテキストがレジス
タファイル24-1〜24-Mのいずれかに存在するか否か
を判別する。
【0040】このレジスタファイル選択回路12Aの判
別に基づいて退避/復帰制御回路12は、いずれかのレ
ジスタファイル24-1〜24-Mに当該切換え先のタスク
に対応するコンテキストが存在する場合には、対応する
レジスタファイル24-X(X=1〜M)のみをアクティ
ブにするための制御信号SC を出力する。
別に基づいて退避/復帰制御回路12は、いずれかのレ
ジスタファイル24-1〜24-Mに当該切換え先のタスク
に対応するコンテキストが存在する場合には、対応する
レジスタファイル24-X(X=1〜M)のみをアクティ
ブにするための制御信号SC を出力する。
【0041】これによりそれ以降は、当該アクティブに
されたレジスタファイル24-Xのみがアクセス可能とな
り、このレジスタファイル24-Xに格納されているコン
テキストに基づいて演算回路26はタスクの処理を行な
うこととなる。 ii) 退避/復帰処理を行なう場合の制御 一方、いずれのレジスタファイル24-1〜24-Mにも当
該切換え先のタスクに対応するコンテキストが存在しな
い場合には、レジスタファイル選択回路12Aは、タス
クの優先度等に基づいてコンテキスト用メモリ14に退
避すべきコンテキストが格納されているレジスタファイ
ル24-Y(Y=1〜M)を判別する。
されたレジスタファイル24-Xのみがアクセス可能とな
り、このレジスタファイル24-Xに格納されているコン
テキストに基づいて演算回路26はタスクの処理を行な
うこととなる。 ii) 退避/復帰処理を行なう場合の制御 一方、いずれのレジスタファイル24-1〜24-Mにも当
該切換え先のタスクに対応するコンテキストが存在しな
い場合には、レジスタファイル選択回路12Aは、タス
クの優先度等に基づいてコンテキスト用メモリ14に退
避すべきコンテキストが格納されているレジスタファイ
ル24-Y(Y=1〜M)を判別する。
【0042】これにより退避/復帰制御回路12は、制
御信号SC により、レジスタファイル24-Yに格納され
ているコンテキストを退避/復帰用内部バス11を介し
てコンテキスト用メモリ14に退避する。レジスタファ
イル24-Yに格納されているコンテキストのコンテキス
ト用メモリ14への退避が終了すると、退避/復帰制御
回路12は、再び制御信号SC により、レジスタファイ
ル24-Yに復帰させるべきコンテキストを退避/復帰用
内部バス11を介してレジスタファイル24-Yに格納す
る。
御信号SC により、レジスタファイル24-Yに格納され
ているコンテキストを退避/復帰用内部バス11を介し
てコンテキスト用メモリ14に退避する。レジスタファ
イル24-Yに格納されているコンテキストのコンテキス
ト用メモリ14への退避が終了すると、退避/復帰制御
回路12は、再び制御信号SC により、レジスタファイ
ル24-Yに復帰させるべきコンテキストを退避/復帰用
内部バス11を介してレジスタファイル24-Yに格納す
る。
【0043】そして、退避/復帰制御回路12は、コン
テキストのレジスタファイル24-Yへの復帰が完了する
と、レジスタファイル24-Yをアクティブにするための
制御信号SC を出力する。これによりそれ以降は、当該
アクティブにされたレジスタファイル24-Yをアクセス
することが可能となり、このレジスタファイル24-Yに
格納されているコンテキストに基づいて演算回路26は
対応するタスクの処理を行なうこととなる。
テキストのレジスタファイル24-Yへの復帰が完了する
と、レジスタファイル24-Yをアクティブにするための
制御信号SC を出力する。これによりそれ以降は、当該
アクティブにされたレジスタファイル24-Yをアクセス
することが可能となり、このレジスタファイル24-Yに
格納されているコンテキストに基づいて演算回路26は
対応するタスクの処理を行なうこととなる。
【0044】以上の退避/復帰処理は、内部バス17、
バス制御回路22、外部バス13及びデータ用メモリ2
0を用いて現在行なわれている演算回路26のタスクの
処理と並行して行なうことができるので、現在実行中の
タスクの処理を中断する必要がなく、レジスタファイル
の切換時間のオーバーヘッドを削減することが可能とな
る。従って、マイクロプロセッサ全体のパフォーマンス
を向上させることができる。
バス制御回路22、外部バス13及びデータ用メモリ2
0を用いて現在行なわれている演算回路26のタスクの
処理と並行して行なうことができるので、現在実行中の
タスクの処理を中断する必要がなく、レジスタファイル
の切換時間のオーバーヘッドを削減することが可能とな
る。従って、マイクロプロセッサ全体のパフォーマンス
を向上させることができる。
【0045】以上の説明のように、処理すべきタスク数
Nがレジスタファイル数Mより多い場合にも、見掛け
上、全てのコンテキストをレジスタファイルに格納した
場合と同等の処理を行なうことができ、復帰/退避処理
のために現在実行中のタスクの処理が影響を受けないよ
うに余裕を見込んだ数のレジスタファイルを用意してお
けばよいので、タスク切替に伴うオーバーヘッドを削減
するために最低限必要なレジスタファイル数は少なくて
すむので、簡易な構成を達成できるにもかかわらずマイ
クロプロセッサ全体のパフォーマンスを向上できる。
Nがレジスタファイル数Mより多い場合にも、見掛け
上、全てのコンテキストをレジスタファイルに格納した
場合と同等の処理を行なうことができ、復帰/退避処理
のために現在実行中のタスクの処理が影響を受けないよ
うに余裕を見込んだ数のレジスタファイルを用意してお
けばよいので、タスク切替に伴うオーバーヘッドを削減
するために最低限必要なレジスタファイル数は少なくて
すむので、簡易な構成を達成できるにもかかわらずマイ
クロプロセッサ全体のパフォーマンスを向上できる。
【0046】次に図2乃至図10を参照してより具体的
な動作を説明する。以下においては、説明の簡略化のた
め、レジスタファイル数M=2の場合について説明す
る。この場合において、処理すべきタスクは、図2に示
すように、第1タスクT1、第2タスクT2 、第3タス
クT3 、第4タスクT4 の4個あり、タスクの優先度
は、数字が小さいほど優先度が高く、第1タスクT1 の
優先度=1(最も優先度が高い)、第2タスクT2 の優
先度=2、第3タスクT3 の優先度=3、第4タスクの
優先度=4(最も優先度が低い)であるとする。さら
に、タスクの状態としては、図2、図4(a)あるいは
図5(a)に示すように、タスクを実行中である実行状
態(図中、「RUN」と示す。)、直ちにタスクの実行
に移行できる実行可能状態(図中、「READY」と示
す。)、キー入力待ち等の待機状態(図中、「WAI
T」と示す。)の3状態があるものとする。また、これ
らのタスクの状態に関する情報(例えば、図2参照)
は、退避/復帰制御回路12が保有している。
な動作を説明する。以下においては、説明の簡略化のた
め、レジスタファイル数M=2の場合について説明す
る。この場合において、処理すべきタスクは、図2に示
すように、第1タスクT1、第2タスクT2 、第3タス
クT3 、第4タスクT4 の4個あり、タスクの優先度
は、数字が小さいほど優先度が高く、第1タスクT1 の
優先度=1(最も優先度が高い)、第2タスクT2 の優
先度=2、第3タスクT3 の優先度=3、第4タスクの
優先度=4(最も優先度が低い)であるとする。さら
に、タスクの状態としては、図2、図4(a)あるいは
図5(a)に示すように、タスクを実行中である実行状
態(図中、「RUN」と示す。)、直ちにタスクの実行
に移行できる実行可能状態(図中、「READY」と示
す。)、キー入力待ち等の待機状態(図中、「WAI
T」と示す。)の3状態があるものとする。また、これ
らのタスクの状態に関する情報(例えば、図2参照)
は、退避/復帰制御回路12が保有している。
【0047】また、図2乃至図10においては、図示の
簡略化のため、第1タスクT1 をタスクT1 、第2タス
クT2 をタスクT2 、第3タスクT3 をタスクT3 、第
4タスクT4 をタスクT4 と表している。また、図4乃
至図10においては、図示の簡略化のため、バス制御回
路22及び内部バス17は図示を省略している。
簡略化のため、第1タスクT1 をタスクT1 、第2タス
クT2 をタスクT2 、第3タスクT3 をタスクT3 、第
4タスクT4 をタスクT4 と表している。また、図4乃
至図10においては、図示の簡略化のため、バス制御回
路22及び内部バス17は図示を省略している。
【0048】初期状態においては、図2及び図4(a)
に示すように、第1タスクT1 は実行状態(=「RU
N」)、第2タスクT2 、第3タスクT3 及び第4タス
クT4は実行可能状態(=「READY」)にあるもの
とする。この段階では、演算回路26は、第1レジスタ
ファイル24-1に格納されている第1タスクT1 のコン
テキストに基づいて第1タスクT1 の処理を行なってい
る。この第1タスクT1 の処理の結果については、内部
バス17、バス制御回路22及び外部バス13を介して
データ用メモリ20に格納される。
に示すように、第1タスクT1 は実行状態(=「RU
N」)、第2タスクT2 、第3タスクT3 及び第4タス
クT4は実行可能状態(=「READY」)にあるもの
とする。この段階では、演算回路26は、第1レジスタ
ファイル24-1に格納されている第1タスクT1 のコン
テキストに基づいて第1タスクT1 の処理を行なってい
る。この第1タスクT1 の処理の結果については、内部
バス17、バス制御回路22及び外部バス13を介して
データ用メモリ20に格納される。
【0049】そして、第2レジスタファイル24-2に
は、優先度=2の第2タスクT2 のコンテキストが格納
されている。さらにコンテキスト用メモリ14には、優
先度=3のタスク、すなわち、第3タスクT3 のコンテ
キスト及び現時点において優先度の最も低い第4タスク
T4のコンテキストが格納されている。
は、優先度=2の第2タスクT2 のコンテキストが格納
されている。さらにコンテキスト用メモリ14には、優
先度=3のタスク、すなわち、第3タスクT3 のコンテ
キスト及び現時点において優先度の最も低い第4タスク
T4のコンテキストが格納されている。
【0050】そして、第1タスクT1 の処理の途中でキ
ーボードを介したデータ入力待ち状態等が発生すると、
図5(a)に示すように、第1タスクT1 は待機状態
(=「WAIT」)となり、演算回路26は、第2レジ
スタファイル24-2に格納されている第2タスクT2 の
コンテキストを用いて、第2タスクT2 を実行状態(=
「RUN」)とする。
ーボードを介したデータ入力待ち状態等が発生すると、
図5(a)に示すように、第1タスクT1 は待機状態
(=「WAIT」)となり、演算回路26は、第2レジ
スタファイル24-2に格納されている第2タスクT2 の
コンテキストを用いて、第2タスクT2 を実行状態(=
「RUN」)とする。
【0051】この第2タスクT2 の実行と並行して、退
避/復帰制御回路12のレジスタファイル選択回路12
Aは、図5(a)に示した各タスクの優先度及び状態に
基づいて判別を行ない、待機状態(=「WAIT」)に
ある第1レジスタファイル24-1に格納されている第1
タスクT1 のコンテキストをコンテキスト用メモリ14
に退避すべき旨の判別を行なう。
避/復帰制御回路12のレジスタファイル選択回路12
Aは、図5(a)に示した各タスクの優先度及び状態に
基づいて判別を行ない、待機状態(=「WAIT」)に
ある第1レジスタファイル24-1に格納されている第1
タスクT1 のコンテキストをコンテキスト用メモリ14
に退避すべき旨の判別を行なう。
【0052】このレジスタファイル選択回路12Aの判
別に基づいて、図3のフローチャートに示すように、退
避/復帰制御回路12は、制御信号SC により第1レジ
スタファイル24-1から退避/復帰用内部バス11を介
して、コンテキスト用メモリ14に第1タスクT1 のコ
ンテキストを退避する(ステップS1)。
別に基づいて、図3のフローチャートに示すように、退
避/復帰制御回路12は、制御信号SC により第1レジ
スタファイル24-1から退避/復帰用内部バス11を介
して、コンテキスト用メモリ14に第1タスクT1 のコ
ンテキストを退避する(ステップS1)。
【0053】図6に第1タスクT1 のコンテキストをコ
ンテキスト用メモリ14に退避後の状態を示す。そし
て、この第1タスクT1 のコンテキストの退避処理と並
行して演算回路26は、第2レジスタファイル24-2に
格納されている第2タスクT2 のコンテキストに基づい
て第2タスクT2 の処理を行なうこととなる(ステップ
S3)。
ンテキスト用メモリ14に退避後の状態を示す。そし
て、この第1タスクT1 のコンテキストの退避処理と並
行して演算回路26は、第2レジスタファイル24-2に
格納されている第2タスクT2 のコンテキストに基づい
て第2タスクT2 の処理を行なうこととなる(ステップ
S3)。
【0054】さらに退避/復帰制御回路12は、コンテ
キスト用メモリ14にコンテキストが格納されているタ
スクのうち、実行可能状態(=「READY」)にあ
り、かつ、最も優先度の高いタスクのコンテキスト(図
5(a)参照)、すなわち、この場合においては制御信
号SC により第3タスクT3 のコンテキストを退避/復
帰用内部バス11を介して第1レジスタファイル24-1
に復帰する(ステップS2)。
キスト用メモリ14にコンテキストが格納されているタ
スクのうち、実行可能状態(=「READY」)にあ
り、かつ、最も優先度の高いタスクのコンテキスト(図
5(a)参照)、すなわち、この場合においては制御信
号SC により第3タスクT3 のコンテキストを退避/復
帰用内部バス11を介して第1レジスタファイル24-1
に復帰する(ステップS2)。
【0055】図7に第3タスクT3 のコンテキストを第
1レジスタファイル24-1に復帰後の状態を示す。そし
て、第2タスクT2 の処理の途中でキーボードを介した
データ入力待ち状態等が発生すると、図8(a)に示す
ように、第2タスクT2 は待機状態(=「WAIT」)
となり、演算回路26は、第1レジスタファイル24-1
に格納されている第3タスクT3 のコンテキストを用
いて、第3タスクT3 を実行状態(=「RUN」)とす
る。
1レジスタファイル24-1に復帰後の状態を示す。そし
て、第2タスクT2 の処理の途中でキーボードを介した
データ入力待ち状態等が発生すると、図8(a)に示す
ように、第2タスクT2 は待機状態(=「WAIT」)
となり、演算回路26は、第1レジスタファイル24-1
に格納されている第3タスクT3 のコンテキストを用
いて、第3タスクT3 を実行状態(=「RUN」)とす
る。
【0056】この第3タスクT3 の実行と並行して、退
避/復帰制御回路12のレジスタファイル選択回路12
Aは、図8(a)に示した各タスクの優先度及び状態に
基づいて判別を行ない、待機状態(=「WAIT」)に
ある第2レジスタファイル24-2 に格納されている第
2タスクT2 のコンテキストをコンテキスト用メモリ1
4に退避すべき旨の判別を行なう。
避/復帰制御回路12のレジスタファイル選択回路12
Aは、図8(a)に示した各タスクの優先度及び状態に
基づいて判別を行ない、待機状態(=「WAIT」)に
ある第2レジスタファイル24-2 に格納されている第
2タスクT2 のコンテキストをコンテキスト用メモリ1
4に退避すべき旨の判別を行なう。
【0057】このレジスタファイル選択回路12Aの判
別に基づいて、図3のフローチャートに示した処理と同
様に、退避/復帰制御回路12は、制御信号SC により
第2レジスタファイル24-2 から退避/復帰用内部バ
ス11を介して、コンテキスト用メモリ14に第2タス
クT2 のコンテキストを退避する(図3のステップS1
に相当)。
別に基づいて、図3のフローチャートに示した処理と同
様に、退避/復帰制御回路12は、制御信号SC により
第2レジスタファイル24-2 から退避/復帰用内部バ
ス11を介して、コンテキスト用メモリ14に第2タス
クT2 のコンテキストを退避する(図3のステップS1
に相当)。
【0058】図9に第2タスクT2 のコンテキストをコ
ンテキスト用メモリ14に退避後の状態を示す。そし
て、この第2タスクT2 のコンテキストの退避処理と並
行して演算回路26は、第1レジスタファイル24-1に
格納されている第3タスクT3 のコンテキストに基づい
て第3タスクT3 の処理を行なうこととなる(図3のス
テップS3相当)。
ンテキスト用メモリ14に退避後の状態を示す。そし
て、この第2タスクT2 のコンテキストの退避処理と並
行して演算回路26は、第1レジスタファイル24-1に
格納されている第3タスクT3 のコンテキストに基づい
て第3タスクT3 の処理を行なうこととなる(図3のス
テップS3相当)。
【0059】さらに退避/復帰制御回路12は、図10
に示すように、コンテキスト用メモリ14にコンテキス
トが格納されているタスクのうち、実行可能状態(=
「READY」)にあり、かつ、最も優先度の高いタス
クのコンテキスト(図8(a)参照)、すなわち、この
場合においては第4タスクT4 のコンテキストを退避/
復帰用内部バス11を介して第2レジスタファイル24
-2に復帰する(図3のステップS2相当)。
に示すように、コンテキスト用メモリ14にコンテキス
トが格納されているタスクのうち、実行可能状態(=
「READY」)にあり、かつ、最も優先度の高いタス
クのコンテキスト(図8(a)参照)、すなわち、この
場合においては第4タスクT4 のコンテキストを退避/
復帰用内部バス11を介して第2レジスタファイル24
-2に復帰する(図3のステップS2相当)。
【0060】そして、以下、同様にしてコンテキストの
退避/復帰及びレジスタ切換えを行なってマルチタスク
処理を実行する。以上の説明のように、本実施形態によ
れば、演算回路26におけるタスクの実行を中断するこ
となく、すなわち、演算回路26におけるタスクの実行
と並行してコンテキストの退避/復帰処理を行なうこと
ができ、タスク切替に伴う退避/復帰処理のためのオー
バーヘッドを削減し、マイクロプロセッサ全体のパフォ
ーマンスを向上させることができるのである。
退避/復帰及びレジスタ切換えを行なってマルチタスク
処理を実行する。以上の説明のように、本実施形態によ
れば、演算回路26におけるタスクの実行を中断するこ
となく、すなわち、演算回路26におけるタスクの実行
と並行してコンテキストの退避/復帰処理を行なうこと
ができ、タスク切替に伴う退避/復帰処理のためのオー
バーヘッドを削減し、マイクロプロセッサ全体のパフォ
ーマンスを向上させることができるのである。
【0061】さらにコンテキスト用メモリを外部バスと
比較してより高速処理が可能な内部バス(=退避/復帰
用内部バス)に接続しているため、コンテキスト用メモ
リを退避/復帰用バス制御回路及び退避/復帰用の外部
バスを介してマイクロプロセッサの外部に接続する場合
と比較して回路構成を簡略化することができ、タスク切
替時間の短縮化が図れる。
比較してより高速処理が可能な内部バス(=退避/復帰
用内部バス)に接続しているため、コンテキスト用メモ
リを退避/復帰用バス制御回路及び退避/復帰用の外部
バスを介してマイクロプロセッサの外部に接続する場合
と比較して回路構成を簡略化することができ、タスク切
替時間の短縮化が図れる。
【0062】また、マイクロプロセッサがコンテキスト
用メモリを内蔵しているため、マイクロプロセッサとコ
ンテキスト用メモリを接続する必要もなく、接続ミス等
による誤動作が発生することがないため、信頼性を向上
することができる。
用メモリを内蔵しているため、マイクロプロセッサとコ
ンテキスト用メモリを接続する必要もなく、接続ミス等
による誤動作が発生することがないため、信頼性を向上
することができる。
【0063】
【発明の効果】請求項1記載の発明によれば、マルチタ
スク処理装置は、コンテキストの退避/復帰処理を行な
う必要がある場合、すなわち、M個のレジスタ群に処理
すべきタスクに対応するコンテキストが格納されていな
い場合には、退避/復帰制御手段は、内部バスとは別個
に設けられた退避/復帰用内部バスを介して、いずれか
のレジスタ群に格納されているコンテキストをコンテキ
スト用記憶手段に退避するとともに、コンテキスト用記
憶手段に格納されている処理すべきコンテキストを当該
レジスタ群に復帰させるので、通常のタスク処理をコン
テキストの退避/復帰と並行して行なうことができ、退
避/復帰処理のオーバーヘッドを削減して、マルチタス
ク処理装置全体のパフォーマンスを向上できる。
スク処理装置は、コンテキストの退避/復帰処理を行な
う必要がある場合、すなわち、M個のレジスタ群に処理
すべきタスクに対応するコンテキストが格納されていな
い場合には、退避/復帰制御手段は、内部バスとは別個
に設けられた退避/復帰用内部バスを介して、いずれか
のレジスタ群に格納されているコンテキストをコンテキ
スト用記憶手段に退避するとともに、コンテキスト用記
憶手段に格納されている処理すべきコンテキストを当該
レジスタ群に復帰させるので、通常のタスク処理をコン
テキストの退避/復帰と並行して行なうことができ、退
避/復帰処理のオーバーヘッドを削減して、マルチタス
ク処理装置全体のパフォーマンスを向上できる。
【0064】さらにコンテキスト用メモリを外部バスと
比較してより高速処理が可能な退避/復帰用内部バスに
接続しているため、コンテキスト用メモリを外部バスに
接続する場合と比較して回路構成を簡略化することがで
き、タスク切替時間の短縮化が図れ、コンテキスト用メ
モリを外部に接続する必要もないので接続ミス等による
誤動作が発生することがなく信頼性を向上することがで
きる。
比較してより高速処理が可能な退避/復帰用内部バスに
接続しているため、コンテキスト用メモリを外部バスに
接続する場合と比較して回路構成を簡略化することがで
き、タスク切替時間の短縮化が図れ、コンテキスト用メ
モリを外部に接続する必要もないので接続ミス等による
誤動作が発生することがなく信頼性を向上することがで
きる。
【0065】請求項2記載の発明によれば、請求項1記
載の発明の効果に加えて、退避/復帰制御手段は、現在
実行中のタスク処理と並行して現在実行中のタスク処理
を除く各タスク処理の優先順位及び処理状態に基づいて
次に退避可能なタスク処理及び復帰すべきタスク処理の
判別処理を行なうので、次に実行すべきタスク処理に対
応するコンテキストは、いずれかのレジスタ群に格納さ
れていることとなり、直ちにレジスタ群の切換を行な
え、切換のオーバーヘッドをより低減することが可能と
なる。
載の発明の効果に加えて、退避/復帰制御手段は、現在
実行中のタスク処理と並行して現在実行中のタスク処理
を除く各タスク処理の優先順位及び処理状態に基づいて
次に退避可能なタスク処理及び復帰すべきタスク処理の
判別処理を行なうので、次に実行すべきタスク処理に対
応するコンテキストは、いずれかのレジスタ群に格納さ
れていることとなり、直ちにレジスタ群の切換を行な
え、切換のオーバーヘッドをより低減することが可能と
なる。
【0066】請求項3記載の発明によれば、請求項1又
は請求項2記載の発明の効果に加えて、並行して処理す
べき全タスク数をL(L;2以上の整数)とし、 L≦M の場合には、全タスク処理に対応するコンテキストをM
個のレジスタ群のうちのL個のレジスタ群に格納するの
で、タスク切換に伴うコンテキストの退避/復帰処理が
生じることがなく高速に処理を行なうことができ、マル
チタスク処理装置のパフォーマンスを低下させることが
ない。
は請求項2記載の発明の効果に加えて、並行して処理す
べき全タスク数をL(L;2以上の整数)とし、 L≦M の場合には、全タスク処理に対応するコンテキストをM
個のレジスタ群のうちのL個のレジスタ群に格納するの
で、タスク切換に伴うコンテキストの退避/復帰処理が
生じることがなく高速に処理を行なうことができ、マル
チタスク処理装置のパフォーマンスを低下させることが
ない。
【0067】請求項4記載の発明によれば、判別工程
は、現在実行中のタスク処理と並行して現在実行中のタ
スク処理を除く各タスク処理の優先順位及び処理状態に
基づいて次に退避可能なタスク処理及び復帰すべきタス
ク処理を判別し、退避/復帰工程は、判別工程における
判別に基づいて、内部バスとは別個に設けられてコンテ
キストの退避/復帰を行なうための退避/復帰用内部バ
スを介して、退避可能なタスク処理に対応するコンテキ
ストをコンテキスト用記憶手段に退避し、あるいは、コ
ンテキスト用記憶手段からコンテキストをレジスタ群に
復帰させるための制御を行なうので、通常のタスク処理
は内部バスを介して行ない、退避/復帰処理は並行して
退避/復帰用バスを介して行なうことにより退避/復帰
処理のオーバーヘッドを削減して、マルチタスク処理全
体のパフォーマンスを向上できる。
は、現在実行中のタスク処理と並行して現在実行中のタ
スク処理を除く各タスク処理の優先順位及び処理状態に
基づいて次に退避可能なタスク処理及び復帰すべきタス
ク処理を判別し、退避/復帰工程は、判別工程における
判別に基づいて、内部バスとは別個に設けられてコンテ
キストの退避/復帰を行なうための退避/復帰用内部バ
スを介して、退避可能なタスク処理に対応するコンテキ
ストをコンテキスト用記憶手段に退避し、あるいは、コ
ンテキスト用記憶手段からコンテキストをレジスタ群に
復帰させるための制御を行なうので、通常のタスク処理
は内部バスを介して行ない、退避/復帰処理は並行して
退避/復帰用バスを介して行なうことにより退避/復帰
処理のオーバーヘッドを削減して、マルチタスク処理全
体のパフォーマンスを向上できる。
【0068】請求項5記載の発明によれば、請求項4記
載の発明の作用に加えて、格納工程は、 L≦M の場合には、M個のレジスタ群のうちのL個のレジスタ
群に全タスク処理に対応するコンテキストを格納するの
で、タスク切換に伴うコンテキストの退避/復帰処理が
生じることがなく高速に処理を行なうことができ、マル
チタスク処理におけるパフォーマンスを低下させること
がない。
載の発明の作用に加えて、格納工程は、 L≦M の場合には、M個のレジスタ群のうちのL個のレジスタ
群に全タスク処理に対応するコンテキストを格納するの
で、タスク切換に伴うコンテキストの退避/復帰処理が
生じることがなく高速に処理を行なうことができ、マル
チタスク処理におけるパフォーマンスを低下させること
がない。
【0069】請求項6記載の発明によれば、マルチタス
ク処理装置は、制御プログラムに基づいて、現在実行中
のタスク処理と並行して前記現在実行中のタスク処理を
除く各タスク処理の優先順位及び処理状態に基づいて次
に退避可能なタスク処理及び復帰すべきタスク処理を判
別させ、前記判別に基づいて、前記退避/復帰用内部バ
スを介して、前記退避可能なタスク処理に対応するコン
テキストを前記コンテキスト用記憶手段に退避し、ある
いは、前記コンテキスト用記憶手段から前記コンテキス
トを前記レジスタ群に復帰させるための制御を行なうの
で、通常のタスク処理は内部バスを介して行ない、退避
/復帰処理は並行して退避/復帰用バスを介して行なう
ことにより退避/復帰処理のオーバーヘッドを削減し
て、マルチタスク処理全体のパフォーマンスを向上でき
る。
ク処理装置は、制御プログラムに基づいて、現在実行中
のタスク処理と並行して前記現在実行中のタスク処理を
除く各タスク処理の優先順位及び処理状態に基づいて次
に退避可能なタスク処理及び復帰すべきタスク処理を判
別させ、前記判別に基づいて、前記退避/復帰用内部バ
スを介して、前記退避可能なタスク処理に対応するコン
テキストを前記コンテキスト用記憶手段に退避し、ある
いは、前記コンテキスト用記憶手段から前記コンテキス
トを前記レジスタ群に復帰させるための制御を行なうの
で、通常のタスク処理は内部バスを介して行ない、退避
/復帰処理は並行して退避/復帰用バスを介して行なう
ことにより退避/復帰処理のオーバーヘッドを削減し
て、マルチタスク処理全体のパフォーマンスを向上でき
る。
【0070】請求項7記載の発明によれば、請求項6記
載の発明において、マルチタスク処理装置は、制御プロ
グラムに基づいて、 L≦M の場合には、前記M個のレジスタ群のうちのL個のレジ
スタ群に全タスク処理に対応するコンテキストを格納す
るので、タスク切換に伴うコンテキストの退避/復帰処
理が生じることがなく高速に処理を行なうことができ、
マルチタスク処理におけるパフォーマンスを低下させる
ことがない。
載の発明において、マルチタスク処理装置は、制御プロ
グラムに基づいて、 L≦M の場合には、前記M個のレジスタ群のうちのL個のレジ
スタ群に全タスク処理に対応するコンテキストを格納す
るので、タスク切換に伴うコンテキストの退避/復帰処
理が生じることがなく高速に処理を行なうことができ、
マルチタスク処理におけるパフォーマンスを低下させる
ことがない。
【図1】実施形態のマルチタスク処理装置の概要構成ブ
ロック図である。
ロック図である。
【図2】タスク処理の優先度及び状態の例を説明する図
である。
である。
【図3】実施形態の動作処理フローチャートである。
【図4】実施形態の動作説明図(その1)である。
【図5】実施形態の動作説明図(その2)である。
【図6】実施形態の動作説明図(その3)である。
【図7】実施形態の動作説明図(その4)である。
【図8】実施形態の動作説明図(その5)である。
【図9】実施形態の動作説明図(その6)である。
【図10】実施形態の動作説明図(その7)である。
【図11】従来のマルチタスク処理装置の概要構成ブロ
ック図である。
ック図である。
10 レジスタ回路 11 退避/復帰用内部バス 12 退避/復帰制御回路 12A レジスタファイル選択回路 13 外部バス 14 コンテキスト用メモリ 15 退避/復帰用データバス 16 退避/復帰用アドレスバス 17 内部バス 20 データ用メモリ 22 バス制御回路 24-1〜24-M レジスタファイル(レジスタ群) 26 演算回路 30 マイクロプロセッサ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 塩見 彰睦 静岡県浜松市半田町3776 医大宿舎K− 544 (72)発明者 仲野 巧 愛知県宝飯郡音羽町長沢八王子49 (72)発明者 板橋 光義 静岡県裾野市御宿1500 矢崎総業株式会社 内 (72)発明者 記録 真史 静岡県裾野市御宿1500 矢崎総業株式会社 内
Claims (7)
- 【請求項1】 各々がコンテキストを格納するM個
(M;2以上の整数)のレジスタ群と、タスク処理を行
なうべく前記M個のレジスタ群に接続された内部バス
と、前記内部バスに接続され前記内部バスと外部の外部
バスとの間のインターフェース動作を行うバス制御回路
と、を有し、選択したいずれか一のレジスタ群に格納さ
れている前記コンテキストに基づいて複数の前記タスク
処理を順次行なうとともに、前記外部バスを介して外部
とデータのやりとりを行うマルチタスク処理装置におい
て、 前記コンテキストを格納するコンテキスト用記憶手段
と、 前記内部バスとは別個に設けられ、かつ、前記M個のレ
ジスタ群と前記コンテキスト用記憶手段との間に設けら
れて前記コンテキストの退避/復帰を行なうための退避
/復帰用内部バスと、 前記退避/復帰用内部バスを介して、前記コンテキスト
を前記コンテキスト用記憶手段に退避し、あるいは、前
記コンテキスト用記憶手段から前記コンテキストを前記
レジスタ群に復帰させるための制御を行なう退避/復帰
制御手段と、 を備えたことを特徴とするマルチタスク処理装置。 - 【請求項2】 請求項1記載のマルチタスク処理装置に
おいて、 前記退避/復帰制御手段は、現在実行中のタスク処理と
並行して前記現在実行中のタスク処理を除く各タスク処
理の優先順位及び処理状態に基づいて次に退避可能なタ
スク処理及び復帰すべきタスク処理の判別処理を行なう
ことを特徴とするマルチタスク処理装置。 - 【請求項3】 請求項1又は請求項2記載のマルチタス
ク処理装置において、 並行して処理すべき全タスク数をL(L;2以上の整
数)とし、 L≦M の場合には、全タスク処理に対応するコンテキストを前
記M個のレジスタ群のうちのL個のレジスタ群に格納す
ることを特徴とするマルチタスク処理装置。 - 【請求項4】 各々がコンテキストを格納するM個
(M;2以上の整数)のレジスタ群と、タスク処理を行
なうべく前記M個のレジスタ群に接続された内部バス
と、前記内部バスに接続され前記内部バスと外部の外部
バスとの間のインターフェース動作を行うバス制御回路
と、前記内部バスとは別個に設けられ、かつ、前記M個
のレジスタ群と前記コンテキスト用記憶手段との間に設
けられて前記コンテキストの退避/復帰を行なうための
退避/復帰用内部バスと、を有し、選択したいずれか一
のレジスタ群に格納されている前記コンテキストに基づ
いて複数の前記タスク処理を順次行なうとともに、前記
外部バスを介して外部とデータのやりとりを行うマルチ
タスク処理装置のマルチタスク処理制御方法であって、 現在実行中のタスク処理と並行して前記現在実行中のタ
スク処理を除く各タスク処理の優先順位及び処理状態に
基づいて次に退避可能なタスク処理及び復帰すべきタス
ク処理を判別する判別工程と、 前記判別に基づいて、前記退避/復帰用内部バスを介し
て、前記退避可能なタスク処理に対応するコンテキスト
を前記コンテキスト用記憶手段に退避し、あるいは、前
記コンテキスト用記憶手段から前記コンテキストを前記
レジスタ群に復帰させるための制御を行なう退避/復帰
制御工程と、 を備えたことを特徴とするマルチタスク処理制御方法。 - 【請求項5】 請求項4記載のマルチタスク処理制御方
法において、 並行して処理すべき全タスク数をL(L;2以上の整
数)とし、 L≦M の場合には、前記M個のレジスタ群のうちのL個のレジ
スタ群に全タスク処理に対応するコンテキストを格納す
る格納工程を備えたことを特徴とするマルチタスク処理
制御方法。 - 【請求項6】 各々がコンテキストを格納するM個
(M;2以上の整数)のレジスタ群と、タスク処理を行
なうべく前記M個のレジスタ群に接続された内部バス
と、前記内部バスに接続され前記内部バスと外部の外部
バスとの間のインターフェース動作を行うバス制御回路
と、前記内部バスとは別個に設けられ、かつ、前記M個
のレジスタ群と前記コンテキスト用記憶手段との間に設
けられて前記コンテキストの退避/復帰を行なうための
退避/復帰用内部バスと、を有し、選択したいずれか一
のレジスタ群に格納されている前記コンテキストに基づ
いて複数の前記タスク処理を順次行なうとともに、前記
外部バスを介して外部とデータのやりとりを行うマルチ
タスク処理装置にマルチタスク処理を行わせるための制
御プログラムを記憶した制御プログラム記憶媒体であっ
て、 現在実行中のタスク処理と並行して前記現在実行中のタ
スク処理を除く各タスク処理の優先順位及び処理状態に
基づいて次に退避可能なタスク処理及び復帰すべきタス
ク処理を判別させ、 前記判別に基づいて、前記退避/復帰用内部バスを介し
て、前記退避可能なタスク処理に対応するコンテキスト
を前記コンテキスト用記憶手段に退避し、あるいは、前
記コンテキスト用記憶手段から前記コンテキストを前記
レジスタ群に復帰させるための制御を行なう、 制御プログラムを記憶したことを特徴とする制御プログ
ラム記憶媒体。 - 【請求項7】 請求項6記載の制御プログラム記憶媒体
において、 並行して処理すべき全タスク数をL(L;2以上の整
数)とし、 L≦M の場合には、前記M個のレジスタ群のうちのL個のレジ
スタ群に全タスク処理に対応するコンテキストを格納す
る、 制御プログラムを記憶したことを特徴とする制御プログ
ラム記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19434697A JPH1139171A (ja) | 1997-07-18 | 1997-07-18 | マルチタスク処理装置、マルチタスク処理制御方法及び制御プログラム記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19434697A JPH1139171A (ja) | 1997-07-18 | 1997-07-18 | マルチタスク処理装置、マルチタスク処理制御方法及び制御プログラム記憶媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH1139171A true JPH1139171A (ja) | 1999-02-12 |
Family
ID=16323062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP19434697A Pending JPH1139171A (ja) | 1997-07-18 | 1997-07-18 | マルチタスク処理装置、マルチタスク処理制御方法及び制御プログラム記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH1139171A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006030564A1 (ja) * | 2004-09-17 | 2006-03-23 | Matsushita Electric Industrial Co., Ltd. | プロセッサ |
WO2008023427A1 (fr) * | 2006-08-24 | 2008-02-28 | Netcleus Systems Corporation | Dispositif de traitement de tâche |
WO2008023426A1 (fr) * | 2006-08-24 | 2008-02-28 | Netcleus Systems Corporation | Dispositif de traitement de tâche |
JP2008269597A (ja) * | 2008-04-09 | 2008-11-06 | Net Kuriasu Systems Kk | タスク処理装置 |
WO2009090684A1 (ja) * | 2008-01-15 | 2009-07-23 | Netcleus Systems Corporation | タスク処理装置 |
US8020169B2 (en) | 2003-01-09 | 2011-09-13 | Japan Science And Technology Agency | Context switching system having context cache and a register file for the save and restore context operation |
CN102436393A (zh) * | 2006-08-24 | 2012-05-02 | 科尼龙硅公司 | 任务处理装置 |
-
1997
- 1997-07-18 JP JP19434697A patent/JPH1139171A/ja active Pending
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8020169B2 (en) | 2003-01-09 | 2011-09-13 | Japan Science And Technology Agency | Context switching system having context cache and a register file for the save and restore context operation |
CN100440153C (zh) * | 2004-09-17 | 2008-12-03 | 松下电器产业株式会社 | 处理器 |
WO2006030564A1 (ja) * | 2004-09-17 | 2006-03-23 | Matsushita Electric Industrial Co., Ltd. | プロセッサ |
US8042116B2 (en) | 2004-09-17 | 2011-10-18 | Panasonic Corporation | Task switching based on the execution control information held in register groups |
US8327379B2 (en) | 2006-08-24 | 2012-12-04 | Kernelon Silicon Inc. | Method for switching a selected task to be executed according with an output from task selecting circuit |
WO2008023426A1 (fr) * | 2006-08-24 | 2008-02-28 | Netcleus Systems Corporation | Dispositif de traitement de tâche |
CN102436393A (zh) * | 2006-08-24 | 2012-05-02 | 科尼龙硅公司 | 任务处理装置 |
WO2008023427A1 (fr) * | 2006-08-24 | 2008-02-28 | Netcleus Systems Corporation | Dispositif de traitement de tâche |
US9342350B2 (en) | 2006-08-24 | 2016-05-17 | Renesas Electronics Corporation | System for selecting a task to be executed according to an output from a task control circuit |
US9753729B2 (en) | 2006-08-24 | 2017-09-05 | Renesas Electronics Corporation | System for selecting a task to be executed according to an output from a task control circuit |
WO2009090684A1 (ja) * | 2008-01-15 | 2009-07-23 | Netcleus Systems Corporation | タスク処理装置 |
JP5155336B2 (ja) * | 2008-01-15 | 2013-03-06 | カーネロンシリコン株式会社 | タスク処理装置 |
TWI476696B (zh) * | 2008-01-15 | 2015-03-11 | Kernelon Silicon Inc | Work processing device |
JP2008269597A (ja) * | 2008-04-09 | 2008-11-06 | Net Kuriasu Systems Kk | タスク処理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20060089975A1 (en) | Online system recovery system, method and program | |
JPH09212371A (ja) | レジスタ退避及び復元システム | |
KR20040105685A (ko) | 연산 처리 시스템, 컴퓨터 시스템 상에서의 태스크 제어방법, 및 컴퓨터 프로그램 | |
US9043806B2 (en) | Information processing device and task switching method | |
JPH1011301A (ja) | マルチタスク処理装置及びマルチタスク処理制御方法 | |
JPH1139171A (ja) | マルチタスク処理装置、マルチタスク処理制御方法及び制御プログラム記憶媒体 | |
US7434222B2 (en) | Task context switching RTOS | |
US6886088B2 (en) | Memory that allows simultaneous read requests | |
JP2006039874A (ja) | 情報処理装置 | |
JP2000215068A (ja) | マルチタスクスケジュ―リング装置 | |
JP2723847B2 (ja) | マイクロプロセッサ | |
JP2007200106A (ja) | データ処理装置、制御方法、及びプログラム | |
JPH11167494A (ja) | 演算処理装置、及び演算処理装置のレジスタ管理方法 | |
JP4747062B2 (ja) | デバイスの移行方式、デバイスの移行方法、移行制御装置、及びプログラム | |
JP2005071141A (ja) | スタック管理方法及び装置並びにスタック管理プログラム | |
JP2001134449A (ja) | データ処理装置とその制御方法 | |
JP2639988B2 (ja) | データ駆動型データ処理装置 | |
JP2001236241A (ja) | メモリ二重化制御方式 | |
JPS6314242A (ja) | メモリ拡張方式 | |
JP2002373082A (ja) | マルチタスク構成のトランザクション処理方法及びトランザクション処理プログラム | |
JPH09106344A (ja) | パイプライン処理装置 | |
JPH03156657A (ja) | データ転送装置 | |
JPH10240556A (ja) | 共有メモリを持つ疎結合計算機システム | |
JPH05250161A (ja) | マイクロコンピュータ装置 | |
WO2006046272A1 (ja) | メモリアクセス装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20020716 |