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

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

Info

Publication number
JPH03188531A
JPH03188531A JP32788689A JP32788689A JPH03188531A JP H03188531 A JPH03188531 A JP H03188531A JP 32788689 A JP32788689 A JP 32788689A JP 32788689 A JP32788689 A JP 32788689A JP H03188531 A JPH03188531 A JP H03188531A
Authority
JP
Japan
Prior art keywords
queue
time
register
task execution
queues
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
JP32788689A
Other languages
English (en)
Other versions
JP2579008B2 (ja
Inventor
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 JP1327886A priority Critical patent/JP2579008B2/ja
Publication of JPH03188531A publication Critical patent/JPH03188531A/ja
Application granted granted Critical
Publication of JP2579008B2 publication Critical patent/JP2579008B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 産業上の利用分野 本発明は一つの中央演算処理装置(以下CPUと呼ぶ)
を用いて、二つ以上のタスク(仕事)を時分割並行処理
をし、かつ、任意に選択された一つの割込み或いは例外
を高速に処理することができる時分割マルチタスク実行
装置に関するものである。
従来の技術 マイクロプロセッサを利用してタスクを実行する場合、
一つのCPUに対して、レジスタ群、スタックポインタ
、ステータスレジスタ等からなる一組のレジスタファイ
ルを準備し、CPUからの命令に応じてレジスタファイ
ルに必要なデータを転送しながらタスクを実行する方式
のものが多い。ところが、この方式では常時−つのタス
クしか実行できないから、実行効率が悪くなる。そこで
従来から、一つのCPUに対して設けられた一組のレジ
スタファイルを時分割で使用し、複数のタスクを時分割
で実行する方法が考えられている。そのうち、最も典型
的なものは、CPUの−命令毎にタスクを切り替える方
式である。ところがこの方式はタスクを切り替えるたび
に、それまでレジスタファイルに格納されていたデータ
を、−旦メモリ(スタック)領域に退避させ、次のタス
クに必要なデータを別のメモリ空間等からレジスタファ
イルに呼び込む操作が必要となる。このデータの切り替
え時間中はタスクを実行することができず、従って時間
的なロスが大きくなる。
このような問題点を解決するために、一つのCPUに対
して複数のレジスタファイルを準備し、CPUの命令に
従ってマルチプレクサを切り替え、複数のレジスタファ
イルを順次切り替えながら複数のタスクを時分割で実行
する方式も考えられている。このようにすれば、一つの
タスクに対して一つのレジスタファイルが準備されてい
るから、切り替え時にデータを退避させたり、呼び込ん
だりする必要はなく、従って時間的なロスは少なくなる
。しかし、この場合でも複数のタスクの切り替え設定は
プログラムによって設定しなければならない。このため
、ユーザーがユーザーの仕様に合わせてプログラムを作
成するには相当負担がかかることになる。また、通常は
割込みや例外はシステム管理をしているタスク実行キュ
ーに対して処理の起動がかかるため、現在処理している
システム管理の情報を一旦メモリに格納する必要があり
、割込みや例外処理の起動に時間的制約があった。
発明が解決しようとする課題 このように、従来複数のタスクを一つのCPUで実行さ
せる場合には、各タスクの切り替え設定をプログラムで
設定しなければならないため、ユーザーに大きな負担を
かけ、また、割込み応答9例外応答に対し、CPUが十
分対応できないため、時間的制約を加えるという問題が
あった。
本発明は、このような従来の問題を解決する時分割マル
チタスク実行装置を提供するものである。
課題を解決するための手段 この目的を達成するために本発明の時分割マルチタスク
実行装置は、複数のタスクをそれぞれ実行する複数のタ
スク実行キューに対して2組のキュー切り替えスケジニ
ーリングレジスタを含む、共通の制御用レジスタ群とキ
ュー切り替え制御部、高速処理をする割込み・例外を指
定する占有処理指定レジスタの管理下で複数のタスク実
行キューに一つのCPUを時分割で占有させ、複数のタ
スクを時分割並行処理し、かつ、任意の一つの割込み或
いは例外のみを受は付けるタスク実行キューを設けるよ
うに構成したものである。
作用 このようにすれば、ユーザーがユーザーの仕様に合わせ
て制御用レジスタ群の中のレジスタに必要な情報をセッ
トするだけでタスクの実行仕様を設定することができる
。このため、ユーザーがプログラムに対する十分な知識
を持っていなくても、レジスタといういわゆるハードウ
ェア上に1またはOの情報をセットするだけで希望する
仕様を設定することができ、システム構築に柔軟性が加
わる。更に、一つの要因ではあるが、割込み・例外応答
を高速化することは、リアルタイム性を要求されるシス
テムには不可欠であり、プログラム的にも負担を減らす
ことができる。
実施例 以下本発明の一実施例について図面を参照しながら説明
する。
第1図は本発明の一実施例の基本的な構成を示すもので
ある。この実施例の時分割マルチタスク実行装置は一つ
のマイクロプロセッサで実現させ、一つのCPU (図
示せず)に対して8つのタスク実行手ニー(以下単にキ
ューと呼ぶ)0〜7が設けられている。各キ:L−〇〜
7はそれぞれレジスタ群、データレジスタ、アドレスポ
インタ等からなるレジスタファイル8を備えており、各
レジスタファイル8内にストアされたデータやアドレス
を参照しながらタスクを実行する。これらのキ:L−〇
〜7の実行順序を制御するために、キュー〇からライト
アクセス可能な、全てのキ:L−〇−?−7に対して共
通の制御用レジスタ群9と、キュー切り替え制御部13
が設けられている。すなわち複数のキュー〇〜7は、制
御用レジスタ群9とキュー切り替え制御部13の管理下
で一つのCPUを時分割で占有し、最大8個のタスクを
時分割並行処理をする。
制御用レジスタ群9は、キーL−〇〜7のうちの一つに
対しく以下の説明ではキ、−1)に対し、占有処理させ
る割込み或いは例外を設定する占有処理指定レジスタ1
0とキュー0〜7の実行順序を指定するキュー切り替え
スケジューリングレジスタ11と12とで構成されてい
る。ここでキュー切り替えスケジューリングレジスタ1
2はキュー1からもライトアクセス可能である。プログ
ラムカウンタ14は各キュー0〜7のレジスタファイル
8内にあるレジスタからのアドレスを受けて、現在実行
中の命令或いは次命令以降の命令のアドレスを示す。R
OM15には、いわゆるオブジェクトコードがストアさ
れており、プログラムカウンタ14からのアドレスに従
って順次命令を実行する。RAM16は命令の実行に伴
って発生する様々なデータを逐次読み書きをする。各ブ
ロック間に示された矢印線及び中央の線17は、データ
またはアドレスのパスラインである。
第2図はキュー切り替えスケジューリングレジスタ11
の構成を、第3図はキュー切り替えスケジューリングレ
ジスタ12の構成を示したものである。キュー切り替え
スケジューリングレジスタ11.12の各ビットはキュ
ーO〜7に対応しており、ビットが1のときキューが選
択され、ビットが00ときは選択されない。キ二−切り
替えスケジューリングレジスタ11と12の差はキ、S
−切り替えスケジューリングレジスタ11がキューOか
らのみライトアクセス可能であるのに対しキュー切り替
えスケジューリングレジスタ12はキa−Qと1からラ
イトアクセス可能である。すなわち、この2組のキュー
切り替えスケジューリングレジスタ11.12の1がセ
ットされているビットの論理和が実行されるキューとな
る。
第4図は占有処理指定レジスタ1oの構成を示したもの
である。各ビットは割込み要因1〜6と例外要因1.2
に対応している。1がセットされている割込み要因或い
は例外要因に対し、キュー1が占有的に割り当てられて
おり、上記要因が発生したときにキュー1に起動がかか
り処理される構成になっている。
第5図はキュー切り替えレジスタ11の設定によりキュ
ー2.3.7が選択され、3個のタスクが時分割並行処
理されているのを示した図である。第6図に示すキュー
切り替えレジスタ11のビット2,3.7に1をセット
することにより、ある一定の時間、或いは命令毎等によ
りキュー2.3.7が自動的に切り替わる。
第7図は占有処理指定レジスタ10により設定された割
込み・例外要因が発生したときの処理を示した図である
。最初のキューの時分割並行処理設定は第8図のキュー
切り替えスケジューリングレジスタ11で示すようにキ
ュー2.3が選択されている。また、第8図に示すよう
に占有処理指定レジスタ10は割込み要、因2に対応す
るビット6に1がセットされている。一方、割込み要因
2が発生するまでのキュー切り替えスケジューリングレ
ジスタ12の内容は全ビットOである。第7図のキュー
2,3を実行したところで割込み要因2が発生し、この
割込み処理をするために、占有処理指定レジスタ10で
指定された割込要因であるためキュー1に起動がかかり
、シーケンスaが開始される。キュー1は割込み要因2
を占有的に処理するように設定したので、割込み要因2
以外のタスクは実行しない。したがってキ二一1に対応
するレジスタファイルのデータをスタックに退避する必
要はなくなり、スタック退避によるオーバーヘッドは生
じない。また割込み処理終了時においてもスタックから
復帰するデータは存在しないのでスタックからの復帰に
よるオーバーヘッドは生じない。キ二一1のシーケンス
aにおいて割込みによって生じたタスクをキュー6に割
り当てるため、第8図のキュー切り替えスケジューリン
グレジスタ12に示すようにキュ−6に対応するビット
6に1をセットする。キュー切り替え制御部13は2組
のキュー切り替えスケジューリングレジスタ11.12
の内容を判断し、キュー切り替えスケジューリングレジ
スタ11で選択されたキュー2.3とキュー切り替えス
ケジューリングレジスタ12で選択されたキュ−6の合
わせて3個のキューをシーケンスaが終了後、時分割並
行実行する。
第9図は第8図のキュー切り替えスケジューリングレジ
スタ11と占有処理指定レジスタ10の設定において割
込み要因2以外の割込み・例外(ここでは割込み要因5
)が発生したときの処理について示した図である。占有
処理指定レジスタ10で設定した要因以外の割込み・例
外が発生したときはキュー1以外(ここではキュー0)
に起動がかかる。このときキュー0では他のタスクが実
行されているのでシーケンスbでキュー〇のレジスタフ
ァイルの内容がスタックに退避され、スタックからの退
避によるオーバーヘッドが生じる。またシーケンスdで
示すようにキュー0の内容がスタックから復帰されるの
でスタック復帰によるオーバーヘッドが生じる。
発明の効果 このようにすれば、ユーザーがユーザーの仕様に合わせ
て、制御用レジスタ群中のレジスタに必要な情報をセッ
トするだけでタスクの実行仕様を決められる。また、一
つではあるが高速の割込み・例外応答を要する要因に対
して、リアルタイム性の高いシステムを提供することが
できる。
従ってユーザーがプログラムに対する十分な知識を持っ
ていなくてもレジスタという、いわゆるハードウェア上
に1または0の情報をセットするだけで希望する仕様を
設定することができ、マルチタスク実行仕様並びにリア
ルタイム処理仕様を設定するにあたってのユーザーの負
担を大きく軽減することができる。
【図面の簡単な説明】
第1図は本発明の一実施例の時分割マルチタスク実行装
置のブロック図、第2図はキュー切り替えスケジューリ
ングレジスタ11の構成を示した図、第3図はキュー切
り替えスケジューリングレジスタ12の構成を示した図
、第4図は占有処理指定レジスタの構成を示した図、第
5図はキュー2.3.7が自動的に切り替わる場合の動
作を示した図、第6図は第5図の動作のレジスタの設定
例を示した図、第7図は占有処理指定レジスタで設定し
た割込み・例外要因が発生した場合の動作を示した図、
第8図は第7図の動作のレジスタの設定例を示した図、
第9図は占有処理指定レジスタで設定した以外の割込み
・例外要因が発生した場合の動作を示した図である。 0〜7・・・・・・タスク実行キュー 8・・・・・・
レジスタファイル、9・・・・・・制御用レジスタ群、
10・・・・・・占有処理指定レジスタ、11・・・・
・・キュー切り替えスケジューリングレジスタ、12・
・・・・・キュー切り替えスケジューリングレジスタ、
13・・・・・・キュー切り替え制御部、14・・・・
・・プログラムカウンタ、15・・・・・・ROM、1
6・・・・・・RAM、17・・・・・・パスライン。

Claims (2)

    【特許請求の範囲】
  1. (1)1組の制御用レジスタ群およびキュー切り替え制
    御部の管理下で複数のタスク実行キューに一つのCPU
    を時分割で占有させ、上記複数のタスク実行キューによ
    り複数のタスクを時分割並行処理するように構成すると
    ともに、上記制御用レジスタ群の中に、上記複数のタス
    ク実行キューのうち実際実行させるタスク実行キューを
    指定する2組のキュー切り替えスケジェーリングレジス
    タを設けたことを特徴とする時分割マルチタスク実行装
    置。
  2. (2)制御用レジスタ群の中に複数のタスク実行キュー
    のうちの一つに対し、占有処理させる割込み或いは例外
    を設定する占有処理指定レジスタを設けたことを特徴と
    する特許請求の範囲第1項記載の時分割マルチタスク実
    行装置。
JP1327886A 1989-12-18 1989-12-18 時分割マルチタスク実行装置 Expired - Lifetime JP2579008B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1327886A JP2579008B2 (ja) 1989-12-18 1989-12-18 時分割マルチタスク実行装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1327886A JP2579008B2 (ja) 1989-12-18 1989-12-18 時分割マルチタスク実行装置

Publications (2)

Publication Number Publication Date
JPH03188531A true JPH03188531A (ja) 1991-08-16
JP2579008B2 JP2579008B2 (ja) 1997-02-05

Family

ID=18204080

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1327886A Expired - Lifetime JP2579008B2 (ja) 1989-12-18 1989-12-18 時分割マルチタスク実行装置

Country Status (1)

Country Link
JP (1) JP2579008B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06187169A (ja) * 1992-12-18 1994-07-08 Matsushita Electric Ind Co Ltd マルチタスク実行装置
US8195922B2 (en) 2005-03-18 2012-06-05 Marvell World Trade, Ltd. System for dynamically allocating processing time to multiple threads

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60214044A (ja) * 1984-04-09 1985-10-26 Nec Corp マイクロコンピュ−タ
JPS62151940A (ja) * 1985-12-25 1987-07-06 Nec Corp レジスタ退避/復帰方式
JPH01154237A (ja) * 1987-12-10 1989-06-16 Matsushita Electric Ind Co Ltd 時分割タスク実行装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60214044A (ja) * 1984-04-09 1985-10-26 Nec Corp マイクロコンピュ−タ
JPS62151940A (ja) * 1985-12-25 1987-07-06 Nec Corp レジスタ退避/復帰方式
JPH01154237A (ja) * 1987-12-10 1989-06-16 Matsushita Electric Ind Co Ltd 時分割タスク実行装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06187169A (ja) * 1992-12-18 1994-07-08 Matsushita Electric Ind Co Ltd マルチタスク実行装置
US8195922B2 (en) 2005-03-18 2012-06-05 Marvell World Trade, Ltd. System for dynamically allocating processing time to multiple threads
US8468324B2 (en) 2005-03-18 2013-06-18 Marvell World Trade Ltd. Dual thread processor

Also Published As

Publication number Publication date
JP2579008B2 (ja) 1997-02-05

Similar Documents

Publication Publication Date Title
US5161226A (en) Microprocessor inverse processor state usage
US5168566A (en) Multi-task control device for central processor task execution control provided as a peripheral device and capable of prioritizing and timesharing the tasks
US5371887A (en) Time-shared multitask execution device
KR20020020186A (ko) 내장형 프로세서 복합체, 네트워크 프로세싱 시스템 및인스트럭션 실행 제어 방법
KR960003045B1 (ko) 마이크로프로세서
JP3644042B2 (ja) マルチタスク処理装置
JP2553698B2 (ja) 時分割マルチタスク実行装置
JPH03188531A (ja) 時分割マルチタスク実行装置
JP2574349B2 (ja) 時分割マルチタスク実行装置
JPH01154237A (ja) 時分割タスク実行装置
JP2585905B2 (ja) マルチタスク実行装置
JP2693916B2 (ja) タスクスケジュール方法
JPH05108380A (ja) データ処理システム
JPH0199132A (ja) マルチタスク実行装置
JPS603229B2 (ja) 情報処理方式
JP2666667B2 (ja) マルチタスク実行装置
JPH03188530A (ja) プログラム先取り装置
JPH06149594A (ja) マルチタスク実行装置
JPH0683640A (ja) 割込応答処理方式
JPH0376497B2 (ja)
JPH0462093B2 (ja)
JPH06149593A (ja) マルチタスク実行装置
JPH0477930A (ja) マイクロコンピュータ
JPH0764802A (ja) リアルタイムシステムのシミュレーション装置
JPH04350728A (ja) 複数タスクの実時間処理装置