JPH01169540A - 時分割マルチタスク実行装置 - Google Patents

時分割マルチタスク実行装置

Info

Publication number
JPH01169540A
JPH01169540A JP32858487A JP32858487A JPH01169540A JP H01169540 A JPH01169540 A JP H01169540A JP 32858487 A JP32858487 A JP 32858487A JP 32858487 A JP32858487 A JP 32858487A JP H01169540 A JPH01169540 A JP H01169540A
Authority
JP
Japan
Prior art keywords
queue
register
switching
time
execution
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
JP32858487A
Other languages
English (en)
Other versions
JP2574349B2 (ja
Inventor
Koichi Yoshida
孝一 吉田
Mikio Ogisu
荻須 幹雄
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 JP62328584A priority Critical patent/JP2574349B2/ja
Publication of JPH01169540A publication Critical patent/JPH01169540A/ja
Application granted granted Critical
Publication of JP2574349B2 publication Critical patent/JP2574349B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 産業上の利用分野 本発明はひとつの中央演算処理装置(以下CPUと呼ぶ
)を用いて、ふたつ以上のタスク(仕事)を時分割並行
処理する時分割マルチタスク実行装置に関するものであ
る。
従来の技術 マイクロプロセッサ−を利用してタスクを実行する場合
、ひとつのCPUに対して、レジスタ群、スタックポイ
ンタ、ステータスレジスタ等からなる一組のレジスタフ
ァイルを準備し、CPUからの命令に応じてレジスタフ
ァイルに必要なデータを転送しながらタスクを実行する
方式のものが多い。ところが、この方式では常時ひとつ
のタスクしか実行できないから、実行効率が悪くなる。
そこで従来から、ひとつのCPUに対して設けられた一
組のレジスタファイルを時分割で使用し、複数のタスク
を時分割で実行する方法が考えられている。そのうち、
最も典型的なものは、CPUの一命令毎にタスクを切り
替える方式である。ところがこの方式は、ふたつ以上の
タスクを一命令毎に順次切り替えて実行するだけである
から、複数のタスク間に実行時間の優先順位をもたせる
ことができない。しかもタスクを切り替えるたびに、そ
れまでレジスタファイルに格納されていたデータを、−
旦メモリ−(スタック)領域に退避させ、次のタスクに
必要なデータを別のメモリー空間等からレジスタファイ
ルに呼び込む操作が必要となる。このデータの切り替え
時間中はタスクを実行することができず、したがって時
間的なロスが大きくなる。
一方、このような−命令毎のタスク切り替えだけではな
く、ユーザープログラムによって、複数のタスクの時間
管理を行い、割込み処理等を用いてタスク切り替えを行
なう方式も知られている。
この方式によれば、プログラムの作成時に予め複数のタ
スクの実行時間に優先順位を設けることも可能である。
しかし、プログラムによって優先順位を設定するにはプ
ログラム内容に対する高度な理解が必要であり、CPU
を使用するユーザが、そのユーザーの仕様に合ったプロ
グラムを作成し、優先順位を設定することは実際上極め
て困難である。しかもこの場合でもひとつのCPUに対
して一組のレジスタファイルしか存在しないから、タス
クの切り替えのたびにデータの退避と呼び込みを繰り返
す必要があり、したがって時間的なロスは依然として解
消されない。
このような問題点を解決するために、ひとつのCPUに
対して複数のレジスタファイルを準備し、CPUの命令
に従ってマルチプレクサ−を切り替え、複数のレジスタ
フィルを順次切り替えながら複数のタスクを時分割で実
行する方式も考えられている。このようにすれば、ひと
つのタスクに対してひとつのレジスタファイルが準備さ
れているから、切り替え時にデータを退避させたり、呼
び込んだりする必要はな(、シたがって時間的なロスは
少な(なる。しかしこの場合でも複数のタスクの切り替
え設定や各タスクの実行時間の優先順位はプログラムに
よって設定しなければならない。このためユーザーが、
ユーザーの仕様に合わせてプログラムを作成するには相
当大きな負担がかかることになる。
発明が解決しようとする問題点 このように、従来複数のタスクをひとつのCPUで実行
させる場合には、各タスクの切り替え設定や各タスクの
実行時間の優先順位をプログラムで設定しなければなら
ないため、ユーザーに大きな負担をかけるという問題が
あった。
本発明は、このような従来の問題を解決する時分割マル
チタスク実行装置を提供するものである。
問題点を解決するための手段 この目的を達成するために本発明の時分割マルチタスク
実行装置は、複数のタスクをそれぞれ実行する複数のタ
スク実行キューに対して共通の1組の制御用レジスタ群
とキュー切り替え制御部を設け、これらの制御用レジス
タ群とキュー切り替え制御部の管理下で複数のタスク実
行キューにひとつのCPUを時分割で占有させ、複数の
タスクを時分割並行処理するように構成したものである
作用 このようにすれば、ユーザーがユーザーの仕様に合わせ
て制御用レジスタ群中のレジスタに必要な情報をセット
するだけでタスクの実行仕様を設定することができる。
このためユーザーがプログラムに対する十分な知識を持
っていなくても、レジスタという、いわゆるハードウェ
アー上に1または0の情報をセットするだけで希望する
仕様を設定することができる。
実施例 以下本発明の一実施例について図面を参照しながら説明
をする。
第1図は本発明の一実施例の基本的な構成を示すもので
ある。この実施例の時分割マルチタスク実行装置はひと
つのマイクロプロセッサで実現され、ひとつのCPU(
図示せず)に対して8つのタスク実行キュー(以下単に
キューと呼ぶ)0〜7が設けられている。各キューO〜
7はそれぞれレジスタ群、データレジスタ、アドレスポ
インタ等からなるレジスタファイル8を設けており、各
レジスタファイル8内にストアされたデータやアドレス
を参照しながらタスクを実行する。これらのキュー0〜
7の実行順序や実行時間等を制御するために、すべての
キューO〜7に対して共通の制御用レジスタ群9とキュ
ー切り替え制御部10が設けられている。すなわち複数
のキューO〜7は、制御用レジスタ群9とキュー切り替
え制御部1oの管理下でひとつのCPUを時分割で占有
し、最大8つのタスクを時分割並行処理する。
制御用レジスタ群9は、キュー切り替えモードレジスタ
11と、キュー切り替えスケジューリングレジスタ12
と、実行中キューレジスタ13と、実行済キューレジス
タ14と、実行キュー履歴レジスタ15と、キュー実行
予定時間指定レジスタ16とで構成されている。プログ
ラムカウンタ17は、各キュー0〜7のレジスタファイ
ル8内にあるレジスタからのアドレスを受けて、現在実
行中の命令あるいは次命令以降の命令のアドレスを示す
。ROM18には、いわゆるオブジェクトコードがスト
アされており、プログラムカウンタ17からのアドレス
にしたがって順次命令を実行する。データRAM19は
、命令の実行に伴って発生する様々なデータを逐次読み
書きをする。
各ブロック間に示された矢印線および中央の線20は、
データまたはアドレスのパスラインである。
キュー切り替えモードレジスタ11はキュー切り替えモ
ード制御用のレジスタであり、第2図Aに示すようにb
p(ビットポジション)O−bp7の8つのビットポジ
ションをもち、bpO2bp1゜bp2.bp3にそれ
ぞれ設定されるMO(モードO)、Ml(モード1)、
P(プログラム)、U(ユーザー)の4本のフラグから
構成されている。MOフラグ、M1フラグを0にするか
1にするかによって、第2図Bに示すようにキュー切り
替えモードの設定をする。すなわちこれらのフラグの設
定により、 (0)  自動キュー切り替えモード解除(1)  −
命令を実行するごとに自動的にキューを切り替えるモー
ド(命令毎自動キュー切り替えモード) (2)プログラム中でキューを切り替える命令を実行さ
せるモード(プログラムキュー切り替えモード) 〈3)キューの実行予定時間を指定するキュー実行予定
時間指定レジスタ16で指定された時間CPUを占有し
、その時間が経過すればキューを切り替えるモード(タ
イムスライス自動キュー切り替えモード)を設定するこ
とができる。Pフラグはプログラム中でキューを切り替
える命令を実行させるモード[上記プログラムキュー切
り替えモード(2)】において使用され、Pを1にセッ
トすれば自動的に次のキューに移る。キューが切替わっ
た後、PフラグはOにクリアされる。なお、第2図A以
降の図面中の17wはリード(読出し)とライト(書込
み)の両方が可能なことを、またrはリード(読出し)
のみが可能なことを示している。第2図Aに示すように
キュー切り替えモードレジスタ11においては、スーパ
ーバイザモードではbpO〜bp7のすべてのビットポ
イントにおいてり−ド/ライト可能(17w)であり、
ユーザーモードでは、bp2のPフラグのみリード/ラ
イト可能(17w)で、その他はリード(r)しかでき
ない。したがって、Pフラグはプログラム中でキューを
切り替えることができるように、スーパーバイザモード
、ユーザーモードを問わずリード/ライト可能(r /
 w )となっている。Uフラグは、1にセットすれば
キュー切り替えスケジューリングレジスタ12がユーザ
ーモードからり一ド/ライト可能(17w)になり、ユ
ーザープログラムでタスク実行キューの切り替えができ
る。また、Uフラグを1にセットした時点で自動キュー
切り替えモードは解除される。
キュー切り替えスケジューリングレジスタ12は、実行
させるキューのビットを1にセットすることでキューを
実行可能にさせることができるレジスタである。第2図
Cにその構成を示す。オペレーティングシステムの管理
下のような通常のキュー切り替えはこのキュー切り替え
スケジューリングレジスタ12を書き替えることで行な
い、自動キュー切り替えモード[上記(1) 、 (2
) 、 (3)のときのみ複数のビット指定が可能であ
る。自動キュー切り替えモードではこのキュー切り替え
スケジューリングレジスタ12を参照してキューを時間
ロスなしで切り替える。自動キュー切り替えモード以外
のモード[上記(0)】では、キュー切替え後、このレ
ジスタの値はクリアされる。また前述の通り、キュー切
り替えモードレジスタ11のUフラグを1にセットすれ
ば、キュー切り替えスケジューリングレジスタ12がユ
ーザーモードがらリード/ライト可能になり、ユーザー
プログラムでタスク実行キューを切り替えることができ
る。
(このことを第2図Cではr/(w)で示している)。
実行中キューレジスタ13は実行中のキューを示すレジ
スタで、その構成を第2図りに示す。第2図りに示すよ
うに実行中のキューO〜7にそれぞれ対応してbpO〜
bp2にOOOから111までの値がセットされる。
実行済キューレジスタ14は、ひとつ前に実行させたキ
ューナンバを示すレジスタでその構成を第2図Eに示す
。この実行済みキューレジスタ14も、第2図りに示し
た実行中キューレジスタ13と同様に、実行済みのキュ
ー0〜7にそれぞれ対応してbpo−bp2にOOOか
ら111までの値がセットされる。
実行キュー履歴レジスタ15は、使用したキューの履歴
を示すレジスタで、その構成を第2図Fに示す。各ビッ
トポジションbpO−bp7に対し各キュー0〜7が対
応しており、使用したキューのビットポジションに1が
セットされ、使用したキューの履歴が示される。
以上の実行中キューレジスタ13.実行済キューレジス
タ14.実行キュー履歴レジスタ15は主としてオペレ
ーティングシステムがタスクやキューを管理するときに
使われる。したがって本発明の基本的な機能には直接関
与しない。
タスク実行予定時間指定レジスタ16はタイムスライス
自動キュー切り替えモード[上記(3)1において使用
され、キューの実行時間を設定するレジスタである。そ
の構成を第2図Gに示す。4つの時間指定レジスタa−
dを備え、各レジスタa〜dのbpo−bp2およびb
p4〜bp6に0または1をセットすることによりキュ
ーO〜7がCPUを占有する時間に重みを付け、それに
よって各キュー0〜7で実行されるタスクの優先順位を
設定することができる。例えば時間指定レジスタaのb
po−bp2に000を設定し、時間指定レジスタdの
bp4〜bp7に111を設定した場合には、キュー0
が最低位の優先順位、キュー7が最高位の優先順位とな
る。
次にキュー切り替えの基本的な動作とレジスタの設定方
法について述べる。自動キュー切り替えさせる場合の基
本的な動作としては (A)  キュー1〜7を自動キュー切り替えさせる場
合(キューOにオペレーティングシステムを実装する場
合) (B)  キュー0〜7を自動キュー切り替えさせる場
合 の2通りがある。以下、(A)、 ([1)各々の場合
の基本的な動作と各レジスタの設定方法を説明する。
(A)キュー1〜7を自動キュー切り替えさせる場合(
キュー0にオペレーティングシステムを実装する場合)
キュー1〜7は1から7の順番で自動的にキューが切り
替わり、システムコールや割込み発生時にはキュー0に
対しての起動がかかる。なお、システムコールとは、タ
スクの実行に同期して例外処理を行なうことをさし、割
込みとは、タスクの実行と非同期に発生する事象の処理
を行なうことをさす。
システムコールの場合、システムコールを発生したキュ
ーは停止し、システムコールの実行をキューOで行ない
、キュー0〜7がOから7の順番で自動キュー切り替え
をする。システムコールが発生したキューはシステムコ
ールから復帰するまでストップする。システムコールか
ら復帰した後は再びキュー1〜7が順番に自動キュー切
り替えをする。
第3図A、第3図B、第3図Cはキュー0でオペレーテ
ィングシステムを実行し、キュー2・キュー3・キュー
7でユーザープログラムを実行し、なおかつ自動キュー
切り替えを実行している例である。横軸は時間を示して
おり縦軸はその時間CPUをどのキューが占有している
のかを示す。第3図A及び第3図Bはそれぞれキュー3
とキュー2でシステムコールが発生した場合の例であり
、システムコールを発生したキューに替わってキューO
に対して起動がかかる。
割込みの場合、割込み受理の処理が優先的に行なわれ、
自動キュー切り替え動作は一時的にストップするが、割
込み復帰後は自動キュー切り替えモードを続けて再開す
る。第3図Cは自動キュー切り替えモード実行時に割込
みが発生した例である。自動キュー切り替えするキュー
は1から7まで任意に指定できる。
キュー1〜7を自動キュー切り替えさせる場合のキュー
切り替えモードレジスタ11とキュー切り替えスケジュ
ーリングレジスタ12の設定を第3図り、第3図Eに示
す。
キュー切り替えモードレジスタ11内のM1フラグ、M
Oフラグに第2図Bに示した01.10゜11のいずれ
かをセットすること(こより自動キュー切り替えモード
を設定する。一方、キュー切り替えスケジューリングレ
ジスタ12には、自動キュー切り替えをさせるタスク実
行キューに対応するビットポジション:こ1をセットす
る。自動キュー切り替えモードでは、切り替えを実行さ
せるべき複数のキューを指定する必要上、複数のビット
指定が可能となっている。
(B)キューO〜7を自動キュー切り替えさせる場合キ
ュー0〜7はOから7の順番で自動キュー切り替えをす
る。システムコール・割込み発生時はキューOに対し起
動がかかり、キューOのレジスタファイル8内にあるプ
ログラムカウンタ(PC)。
プログラムステータスワード(PSW)をスタック領域
(メモリ領域)に退避し、システムコールや割込み処理
にはいる。システムコールの場合、システムコールを発
生したキューを除(キュー0〜7がOから7の順番で自
動キュー切り替えをする。(システムコールを発生した
キューはシステムコールから復帰するまでストップする
)。システムコール復帰後は再びキューO〜7が順番に
自動キュー切り替えをする。第4図Aはキュー2にシス
テムコールが発生した場合の例である。
割込みの場合、自動キュー切り替えモードは一時的にス
トップし、割込み受理の処理が優先的に行なわれる。割
込み復帰後は自動キュー切り替え動作を再開する。
自動キュー切り替えするキューはOから7まで指定でき
る。キュー0〜7を自動キュー切り替えさせる場合のレ
ジスタの設定を第4図B、第4図Cに示す。キュー切り
替えレジスタ11のフラグの設定とキュー切り替えスケ
ジューリングレジスタ12の値の設定方法は第3図り、
同Eと同様である。
ここで、自動キュー切り替え実行モードとしては、前述
の通り (1)  −命令を実行するごとに自動的にキューを切
り替えるモード(命令毎自動キュー切り替えモード) c2.)プログラム中でキューを切り替える命令を実行
させるモード(プログラムキュー切り替えモード) (3)キューの実行予定時間を指定するキュー実行予定
時間指定レジスタ16で指定された時間CPUを占有し
、その時間が経過すればキューを切り替えるモード(タ
イムスライス自動キュー切り替えモード) の3つのモードがあるが、以下自動キュー切り替え実行
モードの基本的な動作とレジスタの設定方法について説
明する。
例えば、キュー2,3.5を、上記モード(1)の命令
毎自動キュー切り替えモードで実行する場合には、第5
図A、BおよびCのように設定する。
つまりキュー切り替えモードレジスタのMOlフラグ1
2M1フラグを0にセットして、このモード(1)の命
令毎自動キュー切り替えモードに設定し、キュー切り替
えスケジューリングレジスタ12のキュー2,3.5の
位置に1をセットして実行キューをキュー2,3.5に
設定する。この設定により1命令を実行する毎にキュー
を切り替える。
次に、上記モード(2)のプログラムキュー切り替えモ
ードは第6図A、BおよびCに示すようにキュー切り替
えモードレジスタのMOlフラグ0、M1フラグを1に
セットして、このプログラム自動キュー切り替えモード
に設定し、キュー切り替えスケジューリングレジスタ1
2で実行キューをキュー2,3.5に設定する。この設
定によりユーザーがプログラム中にキューを切り替える
操作(Pフラグのセット)を入れればキューが切り替わ
る。
さらに、上記モード(3)のタイムスライス自動キュー
切り替えモードは第7図A、B、CおよびDに示すよう
にキュー切り替えモードレジスタ11のMOのフラグ、
Mlフラグを共に1にセットしてタイムスライス自動キ
ュー切り替えモード(3)に設定し、キュー切り替えス
ケジューリングレジスタ12で実行キューをキュー2.
3.5に設定する。この設定によりタイムスライスにキ
ューを切り替えられる。この例の場合、キュー実行時間
をキュー実行予定時間指定レジスタ16(第2図G参照
)で キュー実行予定時間指定レジスタb(キュー3.2用)
=718 キュー実行予定時間指定レジスタC(キュー5.4用)
=508 (但しHは16進数表現を意味する) のように設定しているため キュー2の実行予定時間はIH キュー3の実行予定時間は7H キュー4の実行予定時間はOH キュー5の実行予定時間は5H となりキュー2,3.5の実行優先度は(キュー3のタ
スク)〉(キュー5のタスク)〉(キュー2のタスク) となる。このように、タスクがCPUを占有する時間に
重み付けをすることでタスクの優先度を設定することが
可能である。
以上述べた自動キュー切り替え動作のレジスタセット手
順をまとめると以下のようになる。
1)実行中キューを゛キュー0”に移す。
2) キュー切り替えモードレジスタll内のMl。
MOlフラグ自動キュー切り替えモードの設定をする。
3)キュー切り替えスケジューリングレジスタ12をセ
ットすると自動キュー切り替えを開始する。1フラグが
1キユーに対応している。
4) プログラム自動キュー切り替えモードのときはキ
ュー切り替えモードレジスタll内のPフラグを1にセ
ットする。Pフラグは次のキューに実行が移った後、0
にクリアされる。
次に、キューの切り替えの具体的なレジスタの設定例お
よび動作例について述べる。第8図A。
BおよびCは命令毎自動キュー切り替えモード(1)で
、キュー0は自動キューの切り替えをさせない場合(キ
ュー0でオペレーティングシステムを稼働させる場合)
である。レジスタ操作は下記の通りである。
a)実行キューを“キュー0”に移す。
b) キュー切り替えモードレジスタ11内の各フラグ
を第8図Aのように設定する。
C) キュー切り替えスケジューリングレジスタ12の
値を第8図Bのようにセットし、自動キュー切り替えさ
せるキューの指定をする。
実際の動作は第8図Cになる。
第9図A、BおよびCは命令毎自動キュー切り替えモー
ド(1)でキュー0も自動キュー切り替えさせる場合で
ある。レジスタ操作は下記の通りである。
a)実行キューを″キュー0″に移す。
b)キュー切り替えモードレジスタ11内の各フラグを
第9図Aのように設定する。
C)キュー切り替えスケジューリングレジスタ12の値
を第9図Bのようにセットし、自動キュー切り替えをさ
せるキューの指定をする。
実際の動作は第9図Cになる。
第10図A、B、CおよびDはプログラムキュー切り替
えモード(2)の場合である。レジスタ操作は下記の通
りである。
a)実行キューを″キューO”に移す。
b) キュー切り替えモードレジスタ11内の各フラグ
を第10図Aのように設定する。
C) キュー切り替えスケジューリングレジスタ12の
値を第10図Bのようにセットし、切り替えさせるキュ
ーの指定をする。
d)キュー切り替えを行なうときキュー切り替えモード
レジスタ11内のPフラグを第10図Cのように設定す
る。
実際の動作は第10図りになる。
第11図A、第11図Bはオペレーティングシステム(
キューO)管理によるキュー切り替えをさせる場合であ
る。レジスタ操作は下記の通りである。
a) 実行キューを“キュー0″に移す。
b)キュー切り替えモードレジスタ11内の各フラグを
第11図Aのように設定する。
C)オペレーティングシステムがキュー切り替えスケジ
ューリングレジスタ12の値をセットし、キューの切り
替えをする。
d)キュー0への復帰方法は ・タイマによるスケジューリング ・タスクWAIT等のシステムコール などがある。
実際の動作は第11図Bになる。なお、この場合、キュ
ーO〜7にいずれかを実行するかはオペレーティングシ
ステムによって決まるから、第11図Bでは実行キュー
をキューa、b、cとして示している。
第12図A、第12図Bはキュー切り替えスケジューリ
ングレジスタ12の値の書き替え(オペレーティングシ
ステムを介さないプログラムキュー、切り替え)による
キュー切り替えをさせる場合である。レジスタ操作は下
記の通りである。
a) 実行キューを゛キュー0”に移す。
b)キュー切り替えモードレジスタ11内の各フラグを
第12図Aのように設定する。
実際の動作は第12図Bになる。
次に自動キュー切り替え動作(1) 、 (2) 、 
(3)時の割込み処理について説明する。第13図は割
込み処理の基本動作について示したものである。割込み
は最優先でキュー0で受理される。割込み発生により、
自動キュー切り替えモードは一時的にストップし割込み
受理の処理が優先的に行なわれる。第13図の例では l)キュー2・3・7の自動キュー切り替えでキュー3
を実行中に割込みが発生。
2)キューOのシーケンスaでは自動キューの切り替え
モードは一時的にストップし割込みの処理が優先的に行
われる。割込み処理が終わり割込み復帰命令を実行する
と再び自動キュー切り替えが再開される。
(キュー2・3・7を自動キュー切り替えする。) 第14図A、Bの動作は以下の通りである。
l)キュー2・3・7の自動キュー切り替え設定で、キ
ュー3を実行中に割込みが発生。
2)キューOのシーケンスbでは自動キューの切り替え
モードは一時的にストップし割込みの処理が優先的に行
なわれる。割込み処理で生成したタスクをキュー6で実
行させ、かつキュー2・3・7でも引き続きタスクを実
行させるため、シーケンスbのC部分で再び自動キュー
の切り替えの設定する。(その後はキュー2・3・6・
7を自動キューの切り替えする。) 第15図の動作は以下の通りである。但し、割込み優先
度は(割込みx)く(割込みy)とする。
l)キュー2・3・7の自動キュー切り替えでキュー3
を実行中に割込みが発生。
2) キューOのシーケンスdで自動キュー切り替えモ
ードは一時的にストップし、割込みXの処理が優先的に
行なわれる。
3)キュー0のシーケンスdを実行中に割込みyが発生
し、割込みyの方が割込みXより優先度が高いため割込
みyの処理がシーケンスeで行なわれる。
4)割込みyの処理終了後(シーケンスeの割込み復帰
命令後)、割込みXの処理が引き続きキュー0で行なわ
れ、シーケンスfの割込み復帰命令でキュー2・3・7
の自動キュー切り替えが再開される。
第16図はシステムコール処理時に割込みが発生した場
合である。
l) キュー2・3・7が自動キュー切り替え中にキュ
ー3でシステムコールが発生し、キュー0で受理されキ
ュー0・2・7が自動キュー切り替えをする。
2)キュー0・2・7の自動キュー切り替えで、キュー
2を実行中に割り込みが発生。
3)キューOのシーケンスgでは自動キュー切り替えモ
ードは一時的にストップし割込みの処理が優先的に行な
われる。シーケンスgが終了し割込み処理から割込み復
帰命令で復帰するとシーケンスhからキュー0・2・7
の自動キュー切り替えが再開され、キューOではキュー
3からのシステムコール処理が引き続き実行される。
第17図はストリング処理命令実行中に割込みが発生し
た場合である。なお、ストリング処理命令とは文字列等
の一次元的並び、つまり任意の長さだけ連続して並べた
データタイプに対しての連続処理命令のことを意味する
■) キュー2・3・6の自動キュー切り替えで、キュ
ー2のシーケンスiのストリング処理命令実行中に割込
みが発生。ストリング処理命令実行中に割込みが発生し
たときはオペコード、オペランド等の必要なデータを退
避し自動キュー切り替え動作を一時的にストップしキュ
ーOで割込みを受理する。
2)キューOでの割込み処理ののち割込み復帰命令を実
行し、自動キュー切り替えモードを再開。キュー2での
ストリング処理命令処理の続きをシーケンスjで実行す
る。
発明の効果 本発明によれば、ユーザーがユーザーの仕様に合わせて
制御用レジスタ群中のレジスタに必要な情報をセットす
るだけでタスクの実行仕様を設定することができる。従
ってユーザーがプログラムに対する十分な知識を持って
いなくても、レジスタという、いわゆるハードウェア上
に1または0の情報をセットするだけで希望する仕様を
設定することができ、マルチタスク実行仕様を設定する
にあたってのユーザーの負担を大きく軽減することがで
きる。
【図面の簡単な説明】
第1図は本発明の一実施例の時分割マルチタスク実行装
置のブロック図、第2図Aはキュー切り替えモードレジ
スタ11の構成を示した図、第2図Bはキュー切り替え
モードレジスタ11のMl。 MOフラグの設定方法を示した図、第2図Cはキュー切
り替えスケジューリングレジスタ12の構成を示した図
、第2図りは実行中キューレジスタ13の構成を示した
図、第2図Eは実行済キューレジスタ14の構成を示し
た図、第2図Fは実行キュー履歴レジスタ15の構成を
示した図、第2図Gはタスク実行予定時間指定レジスタ
16の構成を示した図、第3図A及び第3図Bはキュー
1〜7を自動キュー切り替えモード時に、それぞれキュ
ー3とキュー2でシステムコールが発生した例を示した
因、第3図Cは自動キュー切り替えモード時に割込みが
発生した例を示した図、第3図り、Eはキュー1〜7を
自動キュー切り替えさせる場合のレジスタの設定方法を
示した各図、第4図Aはキュー0〜7を自動キュー切り
替え時に、キュー2にシステムコールが発生した場合の
例を示した図、第4図B、CはキューO〜7を自動キュ
ー切り替えさせる場合のレジスタの設定方法を示した各
図、第5図A、BおよびCは、命令毎自動キュー切り替
えモード時の各レジスタの設定例および動作例を示した
各図、第6図A、BおよびCはプログラムキュー切り替
えモード時の各レジスタの設定例および動作例を示した
各図、第7図A、B、CおよびDはタイムスライス自動
キュー切り替えモード時の各レジスタの設定例および動
作例を示した各図、第8図A、BおよびCは命令毎自動
キュー切り替えモードでキュー0は自動キューの切り替
えをさせない場合(キューOでオペレーティングシステ
ムを稼働させる場合)の各レジスタの設定例および動作
例を示した各図、第9図A、BおよびCは命令毎自動キ
ュー切り替えモードでキューOも自動キュー切り替えさ
せる場合の各レジスタの設定例および動作例を示した各
図、第10図A、B、CおよびDはプログラムキュー切
り替えさせる場合の各レジスタの設定例および動作例を
示した各図、第11図A、およびBはオペレーティング
システム(キュー0)管理によるキュー切り替えをさせ
る場合のレジスタの設定例および動作例を示した各図、
第12図A、Bはキュー切り替えスケジューリングレジ
スタの値の書き替え〈オペレーティングシステムを介さ
ないプログラムキュー切り替え)によるキュー切り替え
をさせる場合のレジスタの設定例および動作例を示した
各図、第13図は、キュー切り替え時の割込み処理の動
作について示した図、第14図AおよびBはキュー切り
替え時のレジスタの設定例および動作例を示した各図、
第15図、第16図は、それぞれ、システムコール処理
時に割込みが発生した場合の各動作について示した図、
第17図はストリング処理命令実行中に割込みが発生し
た場合の動作について示した図である。 0〜7・・・・・・タスク実行キュー、8・・・・・・
レジスタファイル、9・・・・・・制御用レジスタ群、
10・・・・・・キュー切り替え制御部、11・・・・
・・キュー切り替えモードレジスタ、12・・・・・・
キュー切り替えスケジューリングレジスタ、13・・・
・・・実行中キューレジスタ、14・・・・・・実行済
キューレジスタ、15・・・・・・実行キュー履歴レジ
スタ、16・・・・・・キュー実行予定時間指定レジス
タ、17・・・・・・プログラムカウンタ、18・・・
・・・ROM、19・・・・・・データRAM。 20・・・・・・パスライン。 代理人の氏名 弁理士 中尾敏男 ほか1名派    
       − 0う U 派     − 派      − く; の              リ 浸                  −り !へ 」 浪    ♂     @ −ミ本 本 上 卑 恨 第17図 りてシトスタート (O5)   4 Tニー171−m− キュー2       ←−−−− キー1−3           ←−−キズーC←← (−田)11つ 1町5)32べiと計4】【η命4+3ν宇(イコ′↓ ←−−−

Claims (4)

    【特許請求の範囲】
  1. (1)1組の制御用レジスタ群およびキュー切り替え制
    御部の管理下で複数のタスク実行キューにひとつの中央
    演算処理装置を時分割で占有させ、上記複数のタスク実
    行キューにより複数のタスクを時分割並行処理するよう
    に構成したことを特徴とする時分割マルチタスク実行装
    置。
  2. (2)制御用レジスタ群の中に、複数のタスク実行キュ
    ーの切り替えモードを設定するキュー切り替えモードレ
    ジスタを設けたことを特徴とする特許請求の範囲第1項
    記載の時分割マルチタスク実行装置。
  3. (3)制御用レジスタ群の中に、複数のタスク実行キュ
    ーのうち実際実行させるタスク実行キューを指定するキ
    ュー切り替えスケジューリングレジスタを設けたことを
    特徴とする特許請求の範囲第1項記載の時分割マルチタ
    スク実行装置。
  4. (4)制御用レジスタ群の中に、各タスク実行キューの
    CPU占有時間を設定するキュー実行予定時間指定レジ
    スタを設けたことを特徴とする特許請求の範囲第1項記
    載の時分割マルチタスク実行装置。
JP62328584A 1987-12-24 1987-12-24 時分割マルチタスク実行装置 Expired - Fee Related JP2574349B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62328584A JP2574349B2 (ja) 1987-12-24 1987-12-24 時分割マルチタスク実行装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62328584A JP2574349B2 (ja) 1987-12-24 1987-12-24 時分割マルチタスク実行装置

Publications (2)

Publication Number Publication Date
JPH01169540A true JPH01169540A (ja) 1989-07-04
JP2574349B2 JP2574349B2 (ja) 1997-01-22

Family

ID=18211910

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62328584A Expired - Fee Related JP2574349B2 (ja) 1987-12-24 1987-12-24 時分割マルチタスク実行装置

Country Status (1)

Country Link
JP (1) JP2574349B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5621672A (en) * 1993-04-06 1997-04-15 Honda Giken Kogyo Kabushiki Kaisha Multitask control system
US6304957B1 (en) 1993-02-26 2001-10-16 Nippondenso Co., Ltd. Multitask processing unit
US6470376B1 (en) 1997-03-04 2002-10-22 Matsushita Electric Industrial Co., Ltd Processor capable of efficiently executing many asynchronous event tasks

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62145435A (ja) * 1985-12-20 1987-06-29 Matsushita Electric Ind Co Ltd コンカレント処理命令を有するマイクロプロセツサ

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62145435A (ja) * 1985-12-20 1987-06-29 Matsushita Electric Ind Co Ltd コンカレント処理命令を有するマイクロプロセツサ

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6304957B1 (en) 1993-02-26 2001-10-16 Nippondenso Co., Ltd. Multitask processing unit
US5621672A (en) * 1993-04-06 1997-04-15 Honda Giken Kogyo Kabushiki Kaisha Multitask control system
US6470376B1 (en) 1997-03-04 2002-10-22 Matsushita Electric Industrial Co., Ltd Processor capable of efficiently executing many asynchronous event tasks

Also Published As

Publication number Publication date
JP2574349B2 (ja) 1997-01-22

Similar Documents

Publication Publication Date Title
US5161226A (en) Microprocessor inverse processor state usage
US8006247B2 (en) Multi-tasking real-time operating system for microprocessors with limited memory
US5371887A (en) Time-shared multitask execution device
JPH0353328A (ja) レジスタ退避回復方法ならびに処理装置
JPH01169540A (ja) 時分割マルチタスク実行装置
JP3644042B2 (ja) マルチタスク処理装置
JP2636722B2 (ja) マルチタスク実行管理方式
JP2553698B2 (ja) 時分割マルチタスク実行装置
JP2579008B2 (ja) 時分割マルチタスク実行装置
JPH01154237A (ja) 時分割タスク実行装置
KR100728899B1 (ko) 복수의 레지스터 집합과 하드웨어 작업 관리자를 가진고성능 멀티쓰레드 임베디드 프로세서
JPH0588917A (ja) ジヨブスケジユーリング方式
JPH0199132A (ja) マルチタスク実行装置
JPH0895803A (ja) タスクスケジュール方法
JPH04322332A (ja) プログラム実行制御方式
JPH04314141A (ja) マルチタスク制御方法とその機構
JP2508026B2 (ja) タイマ制御方式
JPS63636A (ja) タスク制御方式
JPH0462093B2 (ja)
JPH0756633B2 (ja) タスク切換え方式
JPH0778091A (ja) マルチタスク管理方法
JPH01216432A (ja) マルチタスクシステム
JPH02254544A (ja) マルチタスク型シーケンスプロセッサおよびその起動方法
JPH0764802A (ja) リアルタイムシステムのシミュレーション装置
JPH07134656A (ja) 割り込み制御方法及びそれを実現するマルチタスクシステム

Legal Events

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