JPH1011301A - マルチタスク処理装置及びマルチタスク処理制御方法 - Google Patents

マルチタスク処理装置及びマルチタスク処理制御方法

Info

Publication number
JPH1011301A
JPH1011301A JP16486796A JP16486796A JPH1011301A JP H1011301 A JPH1011301 A JP H1011301A JP 16486796 A JP16486796 A JP 16486796A JP 16486796 A JP16486796 A JP 16486796A JP H1011301 A JPH1011301 A JP H1011301A
Authority
JP
Japan
Prior art keywords
context
task
save
restore
bus
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
JP16486796A
Other languages
English (en)
Inventor
Masaharu Imai
正治 今井
Akichika Shiomi
彰睦 塩見
Takumi Nakano
巧 仲野
Mitsuyoshi Itabashi
光義 板橋
Masashi Kiroku
真史 記録
Takafumi Yamase
孝文 山瀬
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.)
Yazaki Corp
Original Assignee
Yazaki Corp
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 Yazaki Corp filed Critical Yazaki Corp
Priority to JP16486796A priority Critical patent/JPH1011301A/ja
Publication of JPH1011301A publication Critical patent/JPH1011301A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 処理すべきタスク数がマイクロプロセッサの
レジスタ群数よりも多い場合にもマイクロプロセッサ全
体のパフォーマンスを低下させない。 【解決手段】 コンテキストの退避/復帰処理を行なう
必要がある場合には、退避/復帰制御手段12は、バス
17とは別個に設けられた退避/復帰用バス11、1
5、16を介して、いずれかのレジスタ群24-1〜24
-Mに格納されているコンテキストをコンテキスト用記憶
手段18に退避するとともに、コンテキスト用記憶手段
18に格納されている処理すべきコンテキストを当該レ
ジスタ群に復帰させるので、通常のタスク処理をコンテ
キストの退避/復帰と並行して行なうことができ、退避
/復帰処理のオーバーヘッドを削減して、マルチタスク
処理装置1全体のパフォーマンスを向上できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マルチタスク処理
装置及びマルチタスク処理制御方法に係り、特にマルチ
タスキングにおいて、コンテキストスイッチング(Cont
ext switching )を行なうマルチタスク処理装置及びマ
ルチタスク処理制御方法に関する。
【0002】
【従来の技術】近年のマイクロプロセッサにおいては、
複数のタスクを並列して処理するマルチタスキングが行
なわれている。このマルチタスキングを実現する方法と
して、複数種類の方法があるが、このような方法の中
で、最も簡単な方法としてコンテキストスイッチングが
知られている。
【0003】従来のマイクロプロセッサは、レジスタフ
ァイル(レジスタ群)を1組しか持っていなかったた
め、タスク切換の際には、レジスタファイルの内容であ
るコンテキストを外部メモリであるコンテキスト用メモ
リ(例えば、メインメモリ上に設ける。)に退避し、次
にレジスタファイルの内容を退避したタスクの処理を行
なう場合には、コンテキスト用メモリから対応するコン
テキストをレジスタに復帰させていた。
【0004】しかし、上記従来のマイクロプロセッサに
おいては、タスク切換が起こる度にコンテキスト用メモ
リに対するアクセスが必要となる。コンテキスト用メモ
リ空間の切換え、例えば、メインメモリ空間の切換えは
かなりの時間を要するため、マイクロプロセッサ全体と
してのパフォーマンスが低下してしまうという問題点が
あった。
【0005】
【発明が解決しようとする課題】上記問題点を解決すべ
く、複数のレジスタファイルを設け、コンテキスト用メ
モリ空間の切換頻度を低減することによりパフォーマン
スの向上を図る方法が提案されている。
【0006】図11に複数のレジスタファイルを有する
マイクロプロセッサの概要構成ブロック図を示す。マイ
クロプロセッサ100は、それぞれ一のタスクのコンテ
キストを格納する複数のレジスタファイル101-1〜1
01-nと、複数のレジスタファイル101-1〜101-n
にいずれのタスクに対応するコンテキストが格納されて
いるかを判別し、タスクの処理に用いるレジスタファイ
ルを選択するための制御信号を出力するレジスタファイ
ル選択回路105と、レジスタファイル101-1〜10
1-nと演算回路110及び制御回路111とを接続する
内部バス(内部アドレスバス及び内部データバス)10
6と、内部バス106及び外部データバス109を制御
するためのバス制御回路107と、を備えて構成されて
いる。
【0007】さらに、マイクロプロセッサ100には、
レジスタファイル101-1〜101-nに格納しきれない
コンテキストを退避するとともに、各種データを記憶す
るデータ/コンテキスト用メモリ108が外部データバ
ス109を介して接続されている。
【0008】次に動作を説明する。1) 処理すべきタスク数Nがレジスタファイル数n以
下の場合(N≦n) この場合には、各タスクのコンテキストはいずれかのレ
ジスタファイルに格納されていることとなる。
【0009】従って、タスク切換えが発生した場合に
は、レジスタファイル選択回路105は、切換え先のタ
スクに対応するレジスタファイルを複数のレジスタファ
イル101-1〜101-nのうちから判別し、対応するレ
ジスタファイル101-X(X=1〜n)のみをアクティ
ブにするための制御信号を出力する。
【0010】これによりそれ以降は、当該アクティブに
されたレジスタファイル101-Xのみがアクセス可能と
なり、このレジスタファイル101-Xに格納されている
コンテキストに基づいて演算回路110及び制御回路1
11は動作を行なうこととなる。
【0011】従って、処理すべきタスク数Nがレジスタ
ファイル数n以下の場合には、レジスタファイル101
-1〜101-nに格納しきれないコンテキストが発生する
ことがなく、各種データを記憶するデータ/コンテキス
ト用メモリ108に対して外部データバス109を介し
てアクセスする必要がないので、高速にタスク切換えを
行なうことができ、マイクロプロセッサ101全体のパ
フォーマンスを向上させることができるのである。2) 処理すべきタスク数Nがレジスタファイル数nよ
り多い場合(N>n) この場合には、N個のタスクのコンテキストのうち、n
個のタスクに対応するコンテキストはいずれかのレジス
タファイルに格納されているとともに、(N−n)個の
コンテキストはデータ/コンテキスト用メモリ108に
格納されていることとなる。
【0012】従って、タスク切換えが発生した場合に
は、レジスタファイル選択回路105は、切換え先のタ
スクに対応するコンテキストがレジスタファイル101
-1〜101-nのいずれかに存在するか否かを判別し、い
ずれかのレジスタファイル101-1〜101-nに当該切
換え先のタスクに対応するコンテキストが存在する場合
には、対応するレジスタファイル101-X(X=1〜
n)のみをアクティブにするための制御信号を出力す
る。
【0013】これによりそれ以降は、当該アクティブに
されたレジスタファイル101-Xのみがアクセス可能と
なり、このレジスタファイル101-Xに格納されている
コンテキストに基づいて演算回路110及び制御回路1
11は動作を行なうこととなる。
【0014】一方、いずれのレジスタファイル101-1
〜101-nにも当該切換え先のタスクに対応するコンテ
キストが存在しない場合には、レジスタファイル選択回
路105は、タスクの優先度等に基づいてデータ/コン
テキスト用メモリ108に退避すべきコンテキストが格
納されているレジスタファイル101-Y(Y=1〜n)
を判別するとともに、バス制御回路107を制御するこ
とにより、当該レジスタファイル101-Yに格納されて
いるコンテキストを内部バス106及びデータバス10
9を介してデータ/コンテキスト用メモリ108に退避
する。
【0015】退避が終了すると、レジスタファイル選択
回路105は、再びバス制御回路107を制御すること
により復帰させるべきコンテキストをデータバス109
及び内部バス106を介してレジスタファイル101-Y
に格納する。そして、レジスタファイル選択回路105
は、コンテキストの復帰が完了すると、レジスタファイ
ル101-Yのみをアクティブにするための制御信号を出
力する。
【0016】これによりそれ以降は、当該アクティブに
されたレジスタファイル101-Yのみがアクセス可能と
なり、このレジスタファイル101-Yに格納されている
コンテキストに基づいて演算回路110及び制御回路1
11は動作を行なうこととなる。
【0017】以上の説明のように、処理すべきタスク数
Nがレジスタファイル数nより多い場合には、全てのコ
ンテキストをレジスタファイルに格納することができ
ず、コンテキストの退避/復帰のための時間が必要とな
って、マイクロプロセッサ全体のパフォーマンスが低下
してしまうという問題点があった。
【0018】そこで、本発明の目的は、処理すべきタス
ク数がマイクロプロセッサのレジスタファイル(レジス
タ群)数よりも多い場合にもマイクロプロセッサ全体の
パフォーマンスを低下させることがないマルチタスク処
理装置及びマルチタスク処理制御方法を提供することに
ある。
【0019】
【課題を解決するための手段】請求項1記載の発明は、
各々がコンテキストを格納するM個(M;2以上の整
数)のレジスタ群及びタスク処理を行なうべく前記M個
のレジスタ群に接続されたバスを有し、選択したいずれ
か一のレジスタ群に格納されている前記コンテキストに
基づいて、複数の前記タスク処理を順次行なうマルチタ
スク処理装置において、前記コンテキストを格納するコ
ンテキスト用記憶手段と、前記バスとは別個に設けら
れ、かつ、前記M個のレジスタ群と前記コンテキスト用
記憶手段との間に設けられて前記コンテキストの退避/
復帰を行なうための退避/復帰用バスと、前記退避/復
帰用バスを介して、前記コンテキストを前記コンテキス
ト用記憶手段に退避し、あるいは、前記コンテキスト用
記憶手段から前記コンテキストを前記レジスタ群に復帰
させるための制御を行なう退避/復帰制御手段と、を備
えて構成する。
【0020】請求項1記載の発明によれば、マルチタス
ク処理装置は、コンテキストの退避/復帰処理を行なう
必要がない場合には、M個のレジスタ群のうち、処理す
べきタスクに対応するレジスタ群に格納されているデー
タをバスを介してやり取りしてタスクの処理を行なう。
【0021】そして処理に用いるレジスタ群を切換える
ことにより、複数のタスク処理を順次行なうマルチタス
ク処理を行なう。一方、コンテキストの退避/復帰処理
を行なう必要がある場合、すなわち、M個のレジスタ群
に処理すべきタスクに対応するコンテキストが格納され
ていない場合には、退避/復帰制御手段は、バスとは別
個に設けられた退避/復帰用バスを介して、いずれかの
レジスタ群に格納されているコンテキストをコンテキス
ト用記憶手段に退避するとともに、コンテキスト用記憶
手段に格納されている処理すべきコンテキストを当該レ
ジスタ群に復帰させる。
【0022】従って、通常のタスク処理を、バスを介し
てコンテキストの退避/復帰と並行して行なうことがで
きる。請求項2記載の発明は、請求項1記載の発明にお
いて、前記退避/復帰制御手段は、現在実行中のタスク
処理と並行して前記現在実行中のタスク処理を除く各タ
スク処理の優先順位及び処理状態に基づいて次に退避可
能なタスク処理及び復帰すべきタスク処理の判別処理を
行なうように構成する。
【0023】請求項2記載の発明によれば、請求項1記
載の発明の作用に加えて、退避/復帰制御手段は、現在
実行中のタスク処理と並行して現在実行中のタスク処理
を除く各タスク処理の優先順位及び処理状態に基づいて
次に退避可能なタスク処理及び復帰すべきタスク処理の
判別処理を行なう。
【0024】請求項3記載の発明は、請求項1又は請求
項2記載の発明において、並行して処理すべき全タスク
数をL(L;2以上の整数)とし、 L≦M の場合には、全タスク処理に対応するコンテキストを前
記M個のレジスタ群のうちのL個のレジスタ群に格納す
る。
【0025】請求項3記載の発明によれば、請求項1又
は請求項2記載の発明の作用に加えて、並行して処理す
べき全タスク数をL(L;2以上の整数)とし、 L≦M の場合には、全タスク処理に対応するコンテキストをM
個のレジスタ群のうちのL個のレジスタ群に格納するの
で、タスク切換に伴うコンテキストの退避/復帰処理が
生じることがなく高速に処理を行なうことができる。
【0026】請求項4記載の発明は、各々がコンテキス
トを格納するM個(M;2以上の整数)のレジスタ群及
びタスク処理を行なうべく前記M個のレジスタ群に接続
されたバスを有し、選択したいずれか一のレジスタ群に
格納されている前記コンテキストに基づいて、複数の前
記タスク処理を順次行なうマルチタスク処理装置のマル
チタスク処理制御方法において、現在実行中のタスク処
理と並行して前記現在実行中のタスク処理を除く各タス
ク処理の優先順位及び処理状態に基づいて次に退避可能
なタスク処理及び復帰すべきタスク処理を判別する判別
工程と、前記判別に基づいて、前記バスとは別個に設け
られ、かつ、前記M個のレジスタ群と前記コンテキスト
用記憶手段との間に設けられて前記コンテキストの退避
/復帰を行なうための退避/復帰用バスを介して、前記
退避可能なタスク処理に対応するコンテキストを前記コ
ンテキスト用記憶手段に退避し、あるいは、前記コンテ
キスト用記憶手段から前記コンテキストを前記レジスタ
群に復帰させるための制御を行なう退避/復帰制御工程
と、を備えて構成する。
【0027】請求項4記載の発明によれば、判別工程
は、現在実行中のタスク処理と並行して現在実行中のタ
スク処理を除く各タスク処理の優先順位及び処理状態に
基づいて次に退避可能なタスク処理及び復帰すべきタス
ク処理を判別する。これにより退避/復帰工程は、判別
工程における判別に基づいて、バスとは別個に設けら
れ、かつ、M個のレジスタ群と前記コンテキスト用記憶
手段との間に設けられてコンテキストの退避/復帰を行
なうための退避/復帰用バスを介して、前記退避可能な
タスク処理に対応するコンテキストをコンテキスト用記
憶手段に退避し、あるいは、コンテキスト用記憶手段か
らコンテキストをレジスタ群に復帰させるための制御を
行なう。
【0028】請求項5記載の発明は、請求項4記載のマ
ルチタスク処理制御方法において、並行して処理すべき
全タスク数をL(L;2以上の整数)とし、 L≦M の場合には、前記M個のレジスタ群のうちのL個のレジ
スタ群に全タスク処理に対応するコンテキストを格納す
る格納工程を備えて構成する。
【0029】請求項5記載の発明によれば、請求項4記
載の発明の作用に加えて、格納工程は、 L≦M の場合には、M個のレジスタ群のうちのL個のレジスタ
群に全タスク処理に対応するコンテキストを格納する。
【0030】
【発明の実施の形態】次に図面を参照して本発明の好適
な実施形態を説明する。図1にマルチタスク処理装置の
実施形態としてのマイクロプロセッサの概要構成ブロッ
ク図を示す。
【0031】マイクロプロセッサ30は、大別すると、
後述のM個のレジスタファイル(レジスタ群)24-1〜
24-Mを有し、退避/復帰処理を行なうレジスタ回路1
0と、レジスタファイル24-1〜24-Mの内容に基づい
て各種演算を行なう演算回路26と、後述のレジスタフ
ァイル24-1〜24-Mと演算回路26を接続する内部バ
ス(内部アドレスバス及び内部データバス)17と、内
部バス17及び後述の外部データバス13を制御するた
めのバス制御回路22と、を備えて構成されている。
【0032】レジスタ回路10は、内部バス17とは別
個に設けられ、後述のレジスタファイル24-1〜24-M
と接続されている退避/復帰用内部バス11と、演算回
路26の処理状態に応じてコンテキストの退避/復帰を
制御すべくタスクの処理に用いるレジスタファイルを選
択するための制御信号SC を出力する退避/復帰制御回
路12と、後述の退避/復帰用内部バス11並びに退避
/復帰用データバス15及び退避/復帰用アドレスバス
16を制御するための退避/復帰用バス制御回路14
と、それぞれ一のタスクのコンテキストを格納するM個
(M;2以上の整数)のレジスタファイル(レジスタ
群)24-1〜24-Mと、を備えて構成されている。
【0033】バス制御回路22には、各種データを記憶
する外部メモリとしてのデータ用メモリ20が接続され
た外部データバス13が接続されている。退避/復帰制
御回路12は、複数のレジスタファイル24-1〜24-M
にいずれのタスクに対応するコンテキストが格納されて
いるかを判別するレジスタファイル選択回路12Aを備
えて構成されている。
【0034】退避/復帰用バス制御回路14には、退避
/復帰用データバス15及び退避/復帰用アドレスバス
16を介して、退避したコンテキストを格納するための
外部メモリとしてのコンテキスト用メモリ18を備えて
構成されている。次に概要動作を説明する。1) 処理すべきタスク数Nがレジスタファイル数M以
下の場合(N≦M) この場合には、各タスクのコンテキストはいずれかのレ
ジスタファイル24-1〜24-Mに格納されることとな
る。
【0035】従って、タスク切換えが発生した場合に
は、レジスタファイル選択回路12Aは、切換え先のタ
スクに対応するレジスタファイルを複数のレジスタファ
イル24-1〜24-Mのうちから判別し、対応するレジス
タファイル24-X(X=1〜M)のみをアクティブにす
るための制御信号SC を出力する。
【0036】これによりそれ以降は、当該アクティブに
されたレジスタファイル24-Xのみがアクセス可能とな
り、このレジスタファイル24-Xに格納されているコン
テキストに基づいて演算回路26は動作を行なうことと
なる。従って、処理すべきタスク数Nがレジスタファイ
ル数M以下の場合には、レジスタファイル24-1〜24
-Mに格納しきれないコンテキストが発生することはな
く、退避/復帰用データバス15及び退避/復帰用アド
レスバス16を介してコンテキスト用メモリ18をアク
セスする必要がないので、高速にタスク切換えを行なう
ことができ、マイクロプロセッサ3全体のパフォーマン
スを向上させることができるのである。2) 処理すべきタスク数Nがレジスタファイル数Mよ
り多い場合(N>M) この場合には、N個のタスクのコンテキストのうち、M
個のタスクに対応するコンテキストはいずれかのレジス
タファイル24-1〜24-Mに格納されているとともに、
(N−M)個のコンテキストはコンテキスト用メモリ1
8に格納されていることとなる。 i) 退避/復帰処理を行なわない場合の制御 そこで、タスク切換えが発生した場合には、レジスタフ
ァイル選択回路12Aは、内部バス17、バス制御回路
7、外部データバス13及びデータ用メモリ20を用い
て現在行なわれている演算回路26のタスクの処理と並
行して、切換え先のタスクに対応するコンテキストがレ
ジスタファイル24-1〜24-Mのいずれかに存在するか
否かを判別する。
【0037】このレジスタファイル選択回路12Aの判
別に基づいて退避/復帰制御回路12は、いずれかのレ
ジスタファイル24-1〜24-Mに当該切換え先のタスク
に対応するコンテキストが存在する場合には、対応する
レジスタファイル24-X(X=1〜M)のみをアクティ
ブにするための制御信号SC を出力する。
【0038】これによりそれ以降は、当該アクティブに
されたレジスタファイル24-Xのみがアクセス可能とな
り、このレジスタファイル24-Xに格納されているコン
テキストに基づいて演算回路26はタスクの処理を行な
うこととなる。 ii) 退避/復帰処理を行なう場合の制御 一方、いずれのレジスタファイル24-1〜24-Mにも当
該切換え先のタスクに対応するコンテキストが存在しな
い場合には、レジスタファイル選択回路12Aは、タス
クの優先度等に基づいてコンテキスト用メモリ18に退
避すべきコンテキストが格納されているレジスタファイ
ル24-Y(Y=1〜M)を判別する。
【0039】これにより退避/復帰制御回路12は、制
御信号SC により退避/復帰用バス制御回路14を制御
することにより、当該レジスタファイル24-Yに格納さ
れているコンテキストを退避/復帰用内部バス11並び
に退避/復帰用データバス15及び退避/復帰用アドレ
スバス16を介してコンテキスト用メモリ18に退避す
る。
【0040】レジスタファイル24-Yに格納されている
コンテキストのコンテキスト用メモリ18への退避が終
了すると、退避/復帰制御回路12は、再び制御信号S
C により退避/復帰用バス制御回路14を制御すること
により、レジスタファイル24-Yに復帰させるべきコン
テキストを退避/復帰用データバス15及び退避/復帰
用アドレスバス16並びに退避/復帰用内部バス11を
介してレジスタファイル24-Yに格納する。
【0041】そして、退避/復帰制御回路12は、コン
テキストのレジスタファイル24-Yへの復帰が完了する
と、レジスタファイル24-Yをアクティブにするための
制御信号SC を出力する。これによりそれ以降は、当該
アクティブにされたレジスタファイル24-Yをアクセス
することが可能となり、このレジスタファイル24-Yに
格納されているコンテキストに基づいて演算回路26は
対応するタスクの処理を行なうこととなる。
【0042】以上の退避/復帰処理は、内部バス17、
バス制御回路7、外部データバス13及びデータ用メモ
リ20を用いて現在行なわれている演算回路26のタス
クの処理と並行して行なうことができるので、現在実行
中のタスクの処理を中断する必要がなく、レジスタファ
イルの切換時間のオーバーヘッドを削減することが可能
となる。従って、マイクロプロセッサ全体のパフォーマ
ンスを向上させることができる。
【0043】以上の説明のように、処理すべきタスク数
Nがレジスタファイル数Mより多い場合にも、見掛け
上、全てのコンテキストをレジスタファイルに格納した
場合と同等の処理を行なうことができ、復帰/退避処理
のために現在実行中のタスクの処理が影響を受けないよ
うに余裕を見込んだ数のレジスタファイルを用意してお
けばよいので、レジスタ切換に伴うオーバーヘッドを削
減するために最低限必要なレジスタファイル数は少なく
てすむので、簡易な構成を達成できるにもかかわらずマ
イクロプロセッサ全体のパフォーマンスを向上できる。
【0044】次に図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に示すように、タスク
を実行中である実行状態(図中、「RUN」と示
す。)、直ちにタスクの実行に移行できる実行可能状態
(図中、「READY」と示す。)、キー入力待ち等の
待機状態(図中、「WAIT」と示す。)の3状態があ
るものとする。また、これらのタスクの状態に関する情
報(例えば、図2参照)は、退避/復帰制御回路12が
保有している。
【0045】また、図2乃至図10においては、図示の
簡略化のため、第1タスクT1 をタスクT1 、第2タス
クT2 をタスクT2 、第3タスクT3 をタスクT3 、第
4タスクT4 をタスクT4 と表している。また、図4乃
至図10においては、図示の簡略化のため、バス制御回
路22及び退避/復帰用バス制御回路14は図示を省略
している。
【0046】初期状態においては、図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に格納される。
【0047】そして、第2レジスタファイル24-2に
は、優先度=2の第2タスクT2 のコンテキストが格納
されている。さらにコンテキスト用メモリ18には、優
先度=3のタスク、すなわち、第3タスクT3 のコンテ
キスト及び現時点において優先度の最も低い第4タスク
T4のコンテキストが格納されている。
【0048】そして、第1タスクT1 の処理の途中でキ
ーボードを介したデータ入力待ち状態等が発生すると、
図5(a)に示すように、第1タスクT1 は待機状態
(=「WAIT」)となり、演算回路26は、第2レジ
スタファイル24-2に格納されている第2タスクT2 の
コンテキストを用いて、第2タスクT2 を実行状態(=
「RUN」)とする。
【0049】この第2タスクT2 の実行と並行して、退
避/復帰制御回路12のレジスタファイル選択回路12
Aは、図5(a)に示した各タスクの優先度及び状態に
基づいて判別を行ない、待機状態(=「WAIT」)に
ある第1レジスタファイル24-1に格納されている第1
タスクT1 のコンテキストをコンテキスト用メモリ18
に退避すべき旨の判別を行なう。
【0050】このレジスタファイル選択回路12Aの判
別に基づいて、図3のフローチャートに示すように、退
避/復帰制御回路12は、退避/復帰用バス制御回路1
4を制御信号SC により制御して、第1レジスタファイ
ル24-1から退避/復帰用内部バス11並びに退避/復
帰用データバス15及び退避/復帰用アドレスバス16
を介して、コンテキスト用メモリ18に第1タスクT1
のコンテキストを退避する(ステップS1)。
【0051】図6に第1タスクT1 のコンテキストをコ
ンテキスト用メモリ18に退避後の状態を示す。そし
て、この第1タスクT1 のコンテキストの退避処理と並
行して演算回路26は、第2レジスタファイル24-2に
格納されている第2タスクT2 のコンテキストに基づい
て第2タスクT2 の処理を行なうこととなる(ステップ
S3)。
【0052】さらに退避/復帰制御回路12は、コンテ
キスト用メモリ18にコンテキストが格納されているタ
スクのうち、実行可能状態(=「READY」)にあ
り、かつ、最も優先度の高いタスクのコンテキスト(図
5(a)参照)、すなわち、この場合においては第3タ
スクT3 のコンテキストを退避/復帰用バス制御回路1
4を制御信号SC により制御し、退避/復帰用内部バス
11並びに退避/復帰用データバス15及び退避/復帰
用アドレスバス16を介して第1レジスタファイル24
-1に復帰する(ステップS2)。
【0053】図7に第3タスクT3 のコンテキストを第
1レジスタファイル24-1に復帰後の状態を示す。そし
て、第2タスクT2 の処理の途中でキーボードを介した
データ入力待ち状態等が発生すると、図8(a)に示す
ように、第2タスクT2 は待機状態(=「WAIT」)
となり、演算回路26は、第1レジスタファイル24-1
に格納されている第3タスクT3 のコンテキストを用
いて、第3タスクT3 を実行状態(=「RUN」)とす
る。
【0054】この第3タスクT3 の実行と並行して、退
避/復帰制御回路12のレジスタファイル選択回路12
Aは、図8(a)に示した各タスクの優先度及び状態に
基づいて判別を行ない、待機状態(=「WAIT」)に
ある第2レジスタファイル24-2 に格納されている第
2タスクT2 のコンテキストをコンテキスト用メモリ1
8に退避すべき旨の判別を行なう。
【0055】このレジスタファイル選択回路12Aの判
別に基づいて、図3のフローチャートに示した処理と同
様に、退避/復帰制御回路12は、退避/復帰用バス制
御回路14を制御信号SC により制御して、第2レジス
タファイル24-2 から退避/復帰用内部バス11並び
に退避/復帰用データバス15及び退避/復帰用アドレ
スバス16を介して、コンテキスト用メモリ18に第2
タスクT2 のコンテキストを退避する(図3のステップ
S1に相当)。
【0056】図9に第2タスクT2 のコンテキストをコ
ンテキスト用メモリ18に退避後の状態を示す。そし
て、この第2タスクT2 のコンテキストの退避処理と並
行して演算回路26は、第1レジスタファイル24-1に
格納されている第3タスクT3 のコンテキストに基づい
て第3タスクT3 の処理を行なうこととなる(図3のス
テップS3相当)。
【0057】さらに退避/復帰制御回路12は、図10
に示すように、コンテキスト用メモリ18にコンテキス
トが格納されているタスクのうち、実行可能状態(=
「READY」)にあり、かつ、最も優先度の高いタス
クのコンテキスト(図8(a)参照)、すなわち、この
場合においては第4タスクT4 のコンテキストを退避/
復帰用内部バス11並びに退避/復帰用データバス15
及び退避/復帰用アドレスバス16を介して第1レジス
タファイル24-1に復帰する(図3のステップS2相
当)。
【0058】そして、以下、同様にしてコンテキストの
退避/復帰及びレジスタ切換えを行なってマルチタスク
処理を実行する。以上の説明のように、本実施形態によ
れば、演算回路26におけるタスクの実行を中断するこ
となく、すなわち、演算回路26におけるタスクの実行
と並行してコンテキストの退避/復帰処理を行なうこと
ができ、レジスタファイル切換に伴う退避/復帰処理の
ためのオーバーヘッドを削減し、マイクロプロセッサ全
体のパフォーマンスを向上させることができるのであ
る。
【0059】
【発明の効果】請求項1記載の発明によれば、マルチタ
スク処理装置は、コンテキストの退避/復帰処理を行な
う必要がある場合、すなわち、M個のレジスタ群に処理
すべきタスクに対応するコンテキストが格納されていな
い場合には、退避/復帰制御手段は、バスとは別個に設
けられた退避/復帰用バスを介して、いずれかのレジス
タ群に格納されているコンテキストをコンテキスト用記
憶手段に退避するとともに、コンテキスト用記憶手段に
格納されている処理すべきコンテキストを当該レジスタ
群に復帰させるので、通常のタスク処理をコンテキスト
の退避/復帰と並行して行なうことができ、退避/復帰
処理のオーバーヘッドを削減して、マルチタスク処理装
置全体のパフォーマンスを向上できる。
【0060】請求項2記載の発明によれば、請求項1記
載の発明の効果に加えて、退避/復帰制御手段は、現在
実行中のタスク処理と並行して現在実行中のタスク処理
を除く各タスク処理の優先順位及び処理状態に基づいて
次に退避可能なタスク処理及び復帰すべきタスク処理の
判別処理を行なうので、次に実行すべきタスク処理に対
応するコンテキストは、いずれかのレジスタ群に格納さ
れていることとなり、直ちにレジスタ群の切換を行な
え、切換のオーバーヘッドをより低減することが可能と
なる。
【0061】請求項3記載の発明によれば、請求項1又
は請求項2記載の発明の効果に加えて、並行して処理す
べき全タスク数をL(L;2以上の整数)とし、 L≦M の場合には、全タスク処理に対応するコンテキストをM
個のレジスタ群のうちのL個のレジスタ群に格納するの
で、タスク切換に伴うコンテキストの退避/復帰処理が
生じることがなく高速に処理を行なうことができ、マル
チタスク処理装置のパフォーマンスを低下させることが
ない。
【0062】請求項4記載の発明によれば、判別工程
は、現在実行中のタスク処理と並行して現在実行中のタ
スク処理を除く各タスク処理の優先順位及び処理状態に
基づいて次に退避可能なタスク処理及び復帰すべきタス
ク処理を判別し、退避/復帰工程は、判別工程における
判別に基づいて、バスとは別個に設けられてコンテキス
トの退避/復帰を行なうための退避/復帰用バスを介し
て、退避可能なタスク処理に対応するコンテキストをコ
ンテキスト用記憶手段に退避し、あるいは、コンテキス
ト用記憶手段からコンテキストをレジスタ群に復帰させ
るための制御を行なうので、通常のタスク処理はバスを
介して行ない、退避/復帰処理は並行して退避/復帰用
バスを介して行なうことにより退避/復帰処理のオーバ
ーヘッドを削減して、マルチタスク処理全体のパフォー
マンスを向上できる。
【0063】請求項5記載の発明によれば、請求項4記
載の発明の作用に加えて、格納工程は、 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 内部バス 18 コンテキスト用メモリ 20 データ用メモリ 22 バス制御回路 24-1〜24-M レジスタファイル(レジスタ群) 26 演算回路 30 マイクロプロセッサ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 塩見 彰睦 静岡県浜松市半田町3776 医大宿舎K− 544 (72)発明者 仲野 巧 愛知県宝飯郡音羽町長沢八王子49 (72)発明者 板橋 光義 静岡県裾野市御宿1500 矢崎総業株式会社 内 (72)発明者 記録 真史 静岡県裾野市御宿1500 矢崎総業株式会社 内 (72)発明者 山瀬 孝文 静岡県裾野市御宿1500 矢崎総業株式会社 内

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 各々がコンテキストを格納するM個
    (M;2以上の整数)のレジスタ群及びタスク処理を行
    なうべく前記M個のレジスタ群に接続されたバスを有
    し、選択したいずれか一のレジスタ群に格納されている
    前記コンテキストに基づいて、複数の前記タスク処理を
    順次行なうマルチタスク処理装置において、 前記コンテキストを格納するコンテキスト用記憶手段
    と、 前記バスとは別個に設けられ、かつ、前記M個のレジス
    タ群と前記コンテキスト用記憶手段との間に設けられて
    前記コンテキストの退避/復帰を行なうための退避/復
    帰用バスと、 前記退避/復帰用バスを介して、前記コンテキストを前
    記コンテキスト用記憶手段に退避し、あるいは、前記コ
    ンテキスト用記憶手段から前記コンテキストを前記レジ
    スタ群に復帰させるための制御を行なう退避/復帰制御
    手段と、 を備えたことを特徴とするマルチタスク処理装置。
  2. 【請求項2】 請求項1記載のマルチタスク処理装置に
    おいて、 前記退避/復帰制御手段は、現在実行中のタスク処理と
    並行して前記現在実行中のタスク処理を除く各タスク処
    理の優先順位及び処理状態に基づいて次に退避可能なタ
    スク処理及び復帰すべきタスク処理の判別処理を行なう
    ことを特徴とするマルチタスク処理装置。
  3. 【請求項3】 請求項1又は請求項2記載のマルチタス
    ク処理装置において、 並行して処理すべき全タスク数をL(L;2以上の整
    数)とし、 L≦M の場合には、全タスク処理に対応するコンテキストを前
    記M個のレジスタ群のうちのL個のレジスタ群に格納す
    ることを特徴とするマルチタスク処理装置。
  4. 【請求項4】 各々がコンテキストを格納するM個
    (M;2以上の整数)のレジスタ群及びタスク処理を行
    なうべく前記M個のレジスタ群に接続されたバスを有
    し、選択したいずれか一のレジスタ群に格納されている
    前記コンテキストに基づいて、複数の前記タスク処理を
    順次行なうマルチタスク処理装置のマルチタスク処理制
    御方法において、 現在実行中のタスク処理と並行して前記現在実行中のタ
    スク処理を除く各タスク処理の優先順位及び処理状態に
    基づいて次に退避可能なタスク処理及び復帰すべきタス
    ク処理を判別する判別工程と、 前記判別に基づいて、前記バスとは別個に設けられ、か
    つ、前記M個のレジスタ群と前記コンテキスト用記憶手
    段との間に設けられて前記コンテキストの退避/復帰を
    行なうための退避/復帰用バスを介して、前記退避可能
    なタスク処理に対応するコンテキストを前記コンテキス
    ト用記憶手段に退避し、あるいは、前記コンテキスト用
    記憶手段から前記コンテキストを前記レジスタ群に復帰
    させるための制御を行なう退避/復帰制御工程と、 を備えたことを特徴とするマルチタスク処理制御方法。
  5. 【請求項5】 請求項4記載のマルチタスク処理制御方
    法において、 並行して処理すべき全タスク数をL(L;2以上の整
    数)とし、 L≦M の場合には、前記M個のレジスタ群のうちのL個のレジ
    スタ群に全タスク処理に対応するコンテキストを格納す
    る格納工程を備えたことを特徴とするマルチタスク処理
    制御方法。
JP16486796A 1996-06-25 1996-06-25 マルチタスク処理装置及びマルチタスク処理制御方法 Pending JPH1011301A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16486796A JPH1011301A (ja) 1996-06-25 1996-06-25 マルチタスク処理装置及びマルチタスク処理制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16486796A JPH1011301A (ja) 1996-06-25 1996-06-25 マルチタスク処理装置及びマルチタスク処理制御方法

Publications (1)

Publication Number Publication Date
JPH1011301A true JPH1011301A (ja) 1998-01-16

Family

ID=15801437

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16486796A Pending JPH1011301A (ja) 1996-06-25 1996-06-25 マルチタスク処理装置及びマルチタスク処理制御方法

Country Status (1)

Country Link
JP (1) JPH1011301A (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004063925A1 (ja) * 2003-01-09 2004-07-29 Japan Science And Technology Agency コンテキスト切り替え方法・装置・プログラム・記憶媒体、中央演算装置
US7020879B1 (en) 1998-12-16 2006-03-28 Mips Technologies, Inc. Interrupt and exception handling for multi-streaming digital processors
US7035997B1 (en) 1998-12-16 2006-04-25 Mips Technologies, Inc. Methods and apparatus for improving fetching and dispatch of instructions in multithreaded processors
US7191313B2 (en) 2001-08-28 2007-03-13 Sony Corporation Microprocessor
US7237093B1 (en) 1998-12-16 2007-06-26 Mips Technologies, Inc. Instruction fetching system in a multithreaded processor utilizing cache miss predictions to fetch instructions from multiple hardware streams
US7257814B1 (en) 1998-12-16 2007-08-14 Mips Technologies, Inc. Method and apparatus for implementing atomicity of memory operations in dynamic multi-streaming processors
JP2009080820A (ja) * 2008-10-31 2009-04-16 Panasonic Corp タスク切換装置、方法及びプログラム
US7529907B2 (en) 1998-12-16 2009-05-05 Mips Technologies, Inc. Method and apparatus for improved computer load and store operations
US7707391B2 (en) 1998-12-16 2010-04-27 Mips Technologies, Inc. Methods and apparatus for improving fetching and dispatch of instructions in multithreaded processors
US7765546B2 (en) 1998-12-16 2010-07-27 Mips Technologies, Inc. Interstream control and communications for multi-streaming digital processors
US8042116B2 (en) 2004-09-17 2011-10-18 Panasonic Corporation Task switching based on the execution control information held in register groups
US8276156B2 (en) 2003-03-13 2012-09-25 Panasonic Corporation Task switching based on assigned time slot
JP2017037370A (ja) * 2015-08-06 2017-02-16 富士通株式会社 計算機、プロセス制御方法およびプロセス制御プログラム

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7529907B2 (en) 1998-12-16 2009-05-05 Mips Technologies, Inc. Method and apparatus for improved computer load and store operations
US7035997B1 (en) 1998-12-16 2006-04-25 Mips Technologies, Inc. Methods and apparatus for improving fetching and dispatch of instructions in multithreaded processors
US7650605B2 (en) 1998-12-16 2010-01-19 Mips Technologies, Inc. Method and apparatus for implementing atomicity of memory operations in dynamic multi-streaming processors
US7707391B2 (en) 1998-12-16 2010-04-27 Mips Technologies, Inc. Methods and apparatus for improving fetching and dispatch of instructions in multithreaded processors
US7237093B1 (en) 1998-12-16 2007-06-26 Mips Technologies, Inc. Instruction fetching system in a multithreaded processor utilizing cache miss predictions to fetch instructions from multiple hardware streams
US7257814B1 (en) 1998-12-16 2007-08-14 Mips Technologies, Inc. Method and apparatus for implementing atomicity of memory operations in dynamic multi-streaming processors
US7467385B2 (en) 1998-12-16 2008-12-16 Mips Technologies, Inc. Interrupt and exception handling for multi-streaming digital processors
US7926062B2 (en) 1998-12-16 2011-04-12 Mips Technologies, Inc. Interrupt and exception handling for multi-streaming digital processors
US7900207B2 (en) 1998-12-16 2011-03-01 Mips Technologies, Inc. Interrupt and exception handling for multi-streaming digital processors
US7020879B1 (en) 1998-12-16 2006-03-28 Mips Technologies, Inc. Interrupt and exception handling for multi-streaming digital processors
US7765546B2 (en) 1998-12-16 2010-07-27 Mips Technologies, Inc. Interstream control and communications for multi-streaming digital processors
US7191313B2 (en) 2001-08-28 2007-03-13 Sony Corporation Microprocessor
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
WO2004063925A1 (ja) * 2003-01-09 2004-07-29 Japan Science And Technology Agency コンテキスト切り替え方法・装置・プログラム・記憶媒体、中央演算装置
US8276156B2 (en) 2003-03-13 2012-09-25 Panasonic Corporation Task switching based on assigned time slot
US8042116B2 (en) 2004-09-17 2011-10-18 Panasonic Corporation Task switching based on the execution control information held in register groups
JP2009080820A (ja) * 2008-10-31 2009-04-16 Panasonic Corp タスク切換装置、方法及びプログラム
JP2017037370A (ja) * 2015-08-06 2017-02-16 富士通株式会社 計算機、プロセス制御方法およびプロセス制御プログラム

Similar Documents

Publication Publication Date Title
US6687810B2 (en) Method and apparatus for staggering execution of a single packed data instruction using the same circuit
JP2883784B2 (ja) マイクロコンピュータ
JPH09212371A (ja) レジスタ退避及び復元システム
JPH1011301A (ja) マルチタスク処理装置及びマルチタスク処理制御方法
JPH0736848A (ja) 情報処理装置および処理方法
EP0644481A1 (en) Back-up logic for dual execution unit processor
JP2724078B2 (ja) 二重化メモリの保守方法
JPH1139171A (ja) マルチタスク処理装置、マルチタスク処理制御方法及び制御プログラム記憶媒体
JPH06236272A (ja) スーパースカラ・プロセッサ・システムの同期化効率を向上させる方法およびシステム
JPS62151940A (ja) レジスタ退避/復帰方式
JP2503984B2 (ja) 情報処理装置
JPH11167494A (ja) 演算処理装置、及び演算処理装置のレジスタ管理方法
JP2639988B2 (ja) データ駆動型データ処理装置
JP2720427B2 (ja) ベクトル処理装置
JPH09106344A (ja) パイプライン処理装置
JPH06149593A (ja) マルチタスク実行装置
JPH09146769A (ja) パイプライン処理装置
JPH0262633A (ja) プログラム間通知方式
JPH0357025A (ja) レジスタ回路
JPH0855034A (ja) 演算プロセッサ及びこれを用いた割込処理システム
JPH05224953A (ja) 割込み制御装置及び方法
JPH076045A (ja) 多重処理システムにおけるメモリ管理方法
JPH0773049A (ja) プログラムのシミュレータ装置
JPH08212083A (ja) 割り込み処理装置
JPH03108061A (ja) ベクトル演算装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20020716