JPH03294930A - 演算処理方法および演算処理装置 - Google Patents

演算処理方法および演算処理装置

Info

Publication number
JPH03294930A
JPH03294930A JP9684190A JP9684190A JPH03294930A JP H03294930 A JPH03294930 A JP H03294930A JP 9684190 A JP9684190 A JP 9684190A JP 9684190 A JP9684190 A JP 9684190A JP H03294930 A JPH03294930 A JP H03294930A
Authority
JP
Japan
Prior art keywords
task
tasks
execution
instruction
arithmetic processing
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.)
Granted
Application number
JP9684190A
Other languages
English (en)
Other versions
JP2659603B2 (ja
Inventor
Satoshi Tanaka
聡 田中
Keisuke Tanaka
啓介 田中
Katsuhiko Satsugawa
佐津川 勝彦
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 JP2096841A priority Critical patent/JP2659603B2/ja
Publication of JPH03294930A publication Critical patent/JPH03294930A/ja
Application granted granted Critical
Publication of JP2659603B2 publication Critical patent/JP2659603B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、複数のタスクの時分割で実行することによ
り複数のタスクを並列処理することが可能なハードウェ
アのスワップ機能を有する演算処理装置を用いた演算処
理方法に関するものである。
〔従来の技術〕
マイクロコンピュータに代表される演算処理装置で、並
列処理を行う方法の一つとして、ソフトウェアで、レジ
スタおよびフラグの内容を退避し、タスクを切り替える
という、割り込み処理によって実現する方法がある。し
かしながら、割り込み処理のオーバーヘッドのため、タ
スクの高速切り替えは困難である。このため、ハードウ
ェア上で、レジスタ、フラグ等を並列処理させるタスク
の数だけ用意し、これを切り替えることによって複数の
タスクを実行させるという方法が考えられた。
第7図は従来のこの種の演算処理装置におけるスワップ
機能部分のブロック図を示している。第7図では、例と
して4つのタスクを並列に実行可能な演算処理装置を仮
定している。
第7図において、ウェイトフラグ回路1は、動作させな
いタスクを示すフラグを立てる回路である。タスクに対
してこのウェイトフラグが立っているときは、そのタス
クの処理を行なわず、つぎのタスクへ進む。
スワップコントロール回路2は、現在実行しているタス
クとウェイトフラグ回路1におけるウェイトフラグの情
報とから、つぎに実行するタスクを決定する論理回路で
ある。このスワップコントロール回路2は、タスクの状
態を示す信号crt+so。
CPU5Iを出力する。
第8図は従来の演算処理装置におけるスワップのタイミ
ングを示すタイミング図である。この図では、例として
4つのタスクA、B、C,Dが並列に実行できる演算処
理装置において、ウェイトフラグが立っていない場合の
タイミングを示しており、4つのタスクA、B、C,D
が1命令ずつ順次時分割で実行されていることを示して
いる。
このように、ハードウェア制御でn個のタスクのスワッ
プを行うとき、全タスクを均等に実行できる。
〔発明が解決しようとする課題〕
上記のようにハードウェア制御でn個のタスクのスワッ
プを行うと、各タスクが同率で実行できることがメリッ
トとなる。また、命令毎のスワップは、各タスクを均等
に実行することができ、また、巨視的にはタスクが並列
に実行されているように見えリアルタイム性を維持する
ことができる。
しかしながら、4つのタスクA、B、C,Dを同率で並
列に実行できる演算処理装置の場合を考えると、4つの
タスクA、B、C,Dの各々を構成する命令数が同一で
ない場合、例えばタスクACを構成する命令数がタスク
B、Dを構成する命令数の2倍であって、タスクA、 
CがタスクB。
Dに比べて2倍の処理をしなければならない場合におい
て、同率の実行比率では、第9図のように、前半は、見
かけ上タスクA、B、CおよびDが並列に処理される。
タスクB、Dは処理の100パーセントがこの段階で終
わっているが、タスクACについてはこの段階では処理
の50パーセントしか終わっていない。後半は、タスク
B、 Dの処理が終わっているので、タスクB、Dにつ
いてはウェイトフラグを立てることによりウェイトさせ
、タスクA、Cの残りの50パーセントを処理すること
になる。
このように、従来の演算処理装置では、タスクA、B、
C,Dのうち、あるタスクだけ、例えばタスクA、Cの
処理を特に優先したい場合において、それ以外のタスク
B、Dが処理を終えて停止した後で、優先したいタスク
A、 Cの残った処理を行わねばならず、その間はタス
クB、Dにつづく次のタスクの実行を行うことができず
、並列処理のリアルタイム性が失われる。つまり、スワ
ップの率が同率で固定では、処理の優先の点から、ある
タスクが終了した後、すぐに次のタスクを実行すること
ができず、待ちが入って処理効率が悪くなる。
この発明の目的は、各タスクの処理を均一に行うことが
できるとともに並列処理のリアルタイム性を維持するこ
とができる演算処理方法を提供することである。
〔課題を解決するための手段〕
請求項(11記載の演算処理方法は、ハードウェア制御
によるスワップ機能でn個のタスクを時分割で切り替え
て実行することにより前記n個のタスクを並列的に実行
する演算処理方法において、各タスク毎にその命令実行
回数の比率をレジスタによって任意にプログラマブルに
設定し、前記タスク毎の命令実行回数の比率に従ってひ
とつの命令実行を単位としてタスクの切り替えを行うこ
とを特徴とする 請求項(2)記載の演算処理方法は、請求項+11記載
の構成において、ひとつの命令を切り替えの最小単位と
してタスク1からタスクnまで順次実行切り替えを行い
、要望の実行回数が終わったタスクの実行を停止し、残
りのタスクでひとつの命令を切り替えの最小単位として
実行切り替えを行い、全タスクが要望の実行回数を終了
するまでを1サイクルとし、前記lサイクル内の各タス
クの要望の実行回数をレジスタに設定したタスク毎の命
令実行回数の比率に従って設定して、n個のタスクの実
行切り替えを行う。
C作   用〕 請求項(1)記載の構成によれば、ソフトウェアで各タ
スク毎にその命令実行回数の比率をレジスタに指定する
ことによって、タスク毎の命令実行回数の比率に従って
ひとつの命令実行を単位としてタスクの切り替えが行わ
れる。この結果、各タスクの処理量や処理の優先の度合
に応じてタスク毎の命令実行回数の比率を適切に設定す
ることにより、あるタスクだけ特に処理を優先したい場
合等においても各タスクの処理を均一に行うことができ
るとともに並列処理のリアルタイム性を維持することが
できる。
請求項(2)記載の構成によれば、1サイクル内におい
て、ひとつの命令を切り替えの最小単位としてタスク1
からタスクnまで順次実行切り替えを行い、要望の実行
回数が終わったタスクの実行を停止し、残りのタスクで
ひとつの命令を切り替えの最小単位として実行切り替え
を行うことで、各タスクの並列処理を実現しているので
、1サイクル内においても、各タスクの処理の均一に行
うことができるとともにリアルタイム性を維持すること
ができ、各タスクについて割り込みがあったときの反応
速度を高めることができる。
〔実 施 例〕
大東n1 この発明の第1の実施例を第1図ないし第3図を参照し
て説明する。
第1図はこの発明の第1の実施例の演算処理装置のスワ
ップ機能部分のブロック図を示している。
第1図では、例として4つのタスクを並列に実行可能な
演算処理装置を仮定している。
第1図において、ウェイトフラグ回路1は、動作させな
いタスクを示すフラグを立てる回路である。タスクに対
してこのウェイトフラグが立っているときは、そのタス
クの処理を行わず、つぎのタスクへ進む。
カウンタ3,4.5.6は、特許請求の範囲でいうレジ
スタに相当し、それぞれタスクA、  BC,Dの命令
実行回数を1命令が実行されたときに発生する信号LA
STによってカウントするダウンカウンタ構成であり、
各タスクA、B、CDの命令実行回数の比率に応じて命
令実行回数がプリセットされていて、各タスクA、B、
C,Dについて所定の命令回数が終了してカウント値が
0となった時に、オーバーフロー信号を出力する。
スワップコントロール回路2は、現在実行しているタス
クとウェイトフラグ回路1におけるウェイトフラグの情
報とカウンタ3.4,5.6のオーバーフロー信号とか
ら、つぎに実行するタスクを決定する論理回路である。
このスワップコントロール回路2は、タスクの状態を示
す信号cpuso。
cpustを出力する。
第2図と第3図は、従来例の第8図および第9図にそれ
ぞれ対応するタイミング図である。これらの図では、従
来例と同し処理量のタスクA、B。
C,Dのスワップを行う際に、タスクA、Cの実行比率
をタスクB、Dの2倍に設定したときのスワップのタイ
ミング図を第2図に示し、全体のタイミング図を第3図
に示している。
第2図は、タスクAを2命令実行し、タスクBを1命令
実行し、タスクCを2命令実行し、タスクDを1命令実
行するサイクルを繰り返している状態を示している。第
2図のように、各タスクAB、C,Dの処理を時分割で
行うと、第3図のように各タスクA、B、C,Dの実行
が略同じ時期に終了することになる。なお、第3図にお
いて、処理実行密度を斜線の密度に対応させている。
このような設定にすると、タスクB、Dが終了する時点
で、タスクA、Cの処理も終了することになり、全タス
クの処理が均一に行われることになり、並列処理のリア
ルタイム性も維持することができる。
以上のように、n個の各タスクについてカウンタを設け
ることによって任意にタスクの実行比率を変えられるよ
うにすると、各タスクの処理量の大小に係わらず並列的
に処理される各タスクの実行終了時点のタイミングを揃
えることが可能となり、特定のタスクを優先的に実行し
たい場合においても、巨視的に見ると、リアルタイム性
を維持しつつ各タスクを均一に並列処理できることにな
る。
スm この発明の第2の実施例を第4図および第5図を参照し
て説明する。
上記第1の実施例においては、タスクの実行比率を変え
ることによって、特定のタスクだけ優先的に実行させる
場合において、各タスクのカウンタに実行比率をセット
することによって、巨視的にみて、均一に実行させるこ
とができる。
第5図は、4つのタスクA、B、C,Dが同時に実行で
きる演夏処理装置を仮定して、タスクAについては8命
令、タスクB、  Cについては4命令、タスクDにつ
いては2命令というように実行比率を設定した時の1サ
イクルのスワップのタイミングを示すものである。第1
の実施例の構成では、スワップは、タスクAを8命令実
行し、タスクBを4命令実行し、タスクCを4命令実行
し、タスクDを2命令実行するのが1サイクルとなり、
このサイクルの繰り返しで各タスクA、B、C。
Dの処理が実行され、リアルタイム性の維持が図られる
ところが、1サイクルという微視的な見方をすると、各
タスクA、 B、 C,Dの処理は、上記のように各タ
スクA、B、C,Dで固まって実行されてしまい、処理
の均一性という観点からは好ましくない。
例えば、割り込みの反応速度を考える0例えば、縦軸の
時間1のタスクAを実行しているときに、タスクDの割
り込み要求が発生した場合、つぎにタスクDが実行され
る時間17まで、16命令分待たなければ、割り込みが
受は付けられない。
割り込みが待ち時間が少な(早く受は付けられるために
は、1サイクルの中でも、各タスクA。
B、C,Dが均一に実行されるように、切り替える必要
がある。
このため、1命令を切り替えの最小単位として各タスク
A、B、C,Dの実行切り替えを行い、カウンタ3〜6
にそれぞれ命令実行比率に応じて設定された要望の実行
回数が終わったタスクからウェイトし、残りのタスクで
同様の実行切り替えを行い、全タスクが要望の実行回数
を終了した段階で1サイクルの実行を完了するようなス
ワップを行うようにする。
第4図は、第5図に示した1サイクルのスワップを、上
記のような手法によって実行切り替えを行った場合の1
サイクルのスワップのタイミング図である。
第4図のようなスワップを行った場合において、割り込
みの反応速度を考えると、一番遅いタイミングは、縦軸
の時間8のタスクDの2番目の実行終了後に、タスクD
の割り込み要求が発生した場合であるが、つぎのサイク
ルの時間4のタスクDの実行までは14命令分であり、
第5図の場合16命令分よりも改善されていることが明
らかである。
第6図は、第4図のタイミングでスワップを行う場合に
おける各タスクのカウンタ3〜6のカウント値と、その
オーバーフローを示すものであり、記号A、B、C,D
はそれぞれ各タスクに対応している。
以上のようにスワップを行うための回路構成としては、
ブロック的には第1図の構成とかわらず、内容的にスワ
ップコントロール回路2が1命令実行毎にタスクを切り
替えるということを考慮しながら、現在実行しているタ
スクとウェイト回路1におけるウェイトフラグの情報と
カウンタ3〜6のオーバーフロー信号とから、つぎのタ
スクを決定する論理回路であるというところが異なる。
このように、実行比率を考慮したときの1サイクルの各
タスク間のスワップについても、1命令毎に切り替える
ことによって、均一にタスクを処理できるとともにリア
ルタイム性を維持することができ、しかも割り込みに対
する反応速度を早くすることができる。
〔発明の効果〕
請求項(11記載の演算処理方法によれば、並列処理さ
れるn個のタスクについて、各タスク毎にその命令実行
回数の比率を任意に設定して各タスクを実行することで
、特定のタスクを優先的に処理させなければならないと
きでも、各タスクの均一性を失わずにリアルタイム性を
維持することができる。
請求項(2)記載の演算処理方法によれば、1サイクル
内での各タスクの実行も分散させているので、!サイク
ル内でも各タスクの均一性を失わずにリアルタイム性を
維持することができ、割り込みの反応速度も向上させる
ことができる。
【図面の簡単な説明】
第1図はこの発明の演算処理方法の第1の実施例を実施
する演算処理装置の構成を示すブロック図、第2図は第
1図の実施例のタスク切り替えのタイミングを示すタイ
ミング図、第3図は第1図の実施例における全体の実行
タイミング図、第4図はこの発明の演算処理方法の第2
の実施例を実施する演算処理装置におけるタスク切り替
えのタイミング図、第5図は第2の実施例におけるタス
ク切り替えのタイミングを第1の実施例の方式に合わせ
て描いたタイミング図、第6図は第1図の演算処理装置
におけるカウンタのタイミングの一例を示したタイミン
グ図、第7図は演算処理装置の従来例の構成を示すブロ
ック図、第8図は第7図の装置でのタスク切り替えのタ
イミングを示すタイミング図、第9図は全体の実行タイ
ミング図である。 l・・・ウェイトフラグ回路、2−・・スワップコント
ロール回路、3,4,5.6・・・カウンタ第2図 図 第 3 図 第 図 第 図 第 図 第 7 図 第 図

Claims (2)

    【特許請求の範囲】
  1. (1)ハードウェア制御によるスワップ機能でn個のタ
    スクを時分割で切り替えて実行することにより前記n個
    のタスクを並列的に実行する演算処理方法において、 各タスク毎にその命令実行回数の比率をレジスタによっ
    て任意にプログラマブルに設定し、前記タスク毎の命令
    実行回数の比率に従ってひとつの命令実行を単位として
    タスクの切り替えを行うことを特徴とする演算処理方法
  2. (2)ひとつの命令を切り替えの最小単位としてタスク
    1からタスクnまで順次実行・切り替えを行い、要望の
    実行回数が終わったタスクの実行を停止し、残りのタス
    クでひとつの命令を切り替えの最小単位として実行・切
    り替えを行い、全タスクが要望の実行回数を終了するま
    でを1サイクルとし、前記1サイクル内の各タスクの要
    望の実行回数をレジスタに設定したタスク毎の命令実行
    回数の比率に従って設定して、n個のタスクの実行切り
    替えを行う請求項(1)記載の演算処理方法。
JP2096841A 1990-04-11 1990-04-11 演算処理方法および演算処理装置 Expired - Fee Related JP2659603B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2096841A JP2659603B2 (ja) 1990-04-11 1990-04-11 演算処理方法および演算処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2096841A JP2659603B2 (ja) 1990-04-11 1990-04-11 演算処理方法および演算処理装置

Publications (2)

Publication Number Publication Date
JPH03294930A true JPH03294930A (ja) 1991-12-26
JP2659603B2 JP2659603B2 (ja) 1997-09-30

Family

ID=14175744

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2096841A Expired - Fee Related JP2659603B2 (ja) 1990-04-11 1990-04-11 演算処理方法および演算処理装置

Country Status (1)

Country Link
JP (1) JP2659603B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06202887A (ja) * 1992-12-28 1994-07-22 Matsushita Electric Ind Co Ltd マイクロコンピュータ
JPH06250856A (ja) * 1993-02-26 1994-09-09 Nippondenso Co Ltd マイクロコンピュータ
JPH08328881A (ja) * 1995-05-29 1996-12-13 Nec Corp タスクのスケジューリング方式
US6304957B1 (en) 1993-02-26 2001-10-16 Nippondenso Co., Ltd. Multitask processing unit

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0199132A (ja) * 1987-10-12 1989-04-18 Matsushita Electric Ind Co Ltd マルチタスク実行装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0199132A (ja) * 1987-10-12 1989-04-18 Matsushita Electric Ind Co Ltd マルチタスク実行装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06202887A (ja) * 1992-12-28 1994-07-22 Matsushita Electric Ind Co Ltd マイクロコンピュータ
JPH06250856A (ja) * 1993-02-26 1994-09-09 Nippondenso Co Ltd マイクロコンピュータ
US6304957B1 (en) 1993-02-26 2001-10-16 Nippondenso Co., Ltd. Multitask processing unit
JPH08328881A (ja) * 1995-05-29 1996-12-13 Nec Corp タスクのスケジューリング方式

Also Published As

Publication number Publication date
JP2659603B2 (ja) 1997-09-30

Similar Documents

Publication Publication Date Title
JPH03294930A (ja) 演算処理方法および演算処理装置
JPH02226336A (ja) デジタル信号処理装置
JPH0199132A (ja) マルチタスク実行装置
JPH07160650A (ja) タスクの実行制御装置
JPS62145435A (ja) コンカレント処理命令を有するマイクロプロセツサ
JPS6243734A (ja) マイクロプロセツサ
JPH025104A (ja) 演算処理装置
JPH03288906A (ja) Pcの命令実行方式
JPS60204029A (ja) 信号処理装置
JPS60263238A (ja) 情報処理装置
JPS62156738A (ja) プログラム制御装置
JPH01154236A (ja) 時分割タスク実行装置
JPH02148163A (ja) マルチオペレーティングシステム
JPH02113363A (ja) マルチプロセッサシステムにおけるタイムスライス制御方式
JPH0544689B2 (ja)
JPH02110739A (ja) マルチタスク用中央処理装置
JPH03164940A (ja) 割込み時期を複数化した計算機
JPH0353322A (ja) 情報処理装置
JPH03282721A (ja) マイクロプロセッサ
JPH0122936B2 (ja)
JPH0679271B2 (ja) ル−プ制御回路
JPS61166631A (ja) マイクロプログラム制御処理方法
JPS61173367A (ja) マイクロコンピユ−タ切換回路
JPH04238539A (ja) プログラムの動作方式
JPH01195543A (ja) 割り込みベクタテーブル切り替えマルチos方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees