JPH0744404A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH0744404A
JPH0744404A JP18510593A JP18510593A JPH0744404A JP H0744404 A JPH0744404 A JP H0744404A JP 18510593 A JP18510593 A JP 18510593A JP 18510593 A JP18510593 A JP 18510593A JP H0744404 A JPH0744404 A JP H0744404A
Authority
JP
Japan
Prior art keywords
task
register
priority
instruction execution
execution unit
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
JP18510593A
Other languages
English (en)
Inventor
Katsuto Fukuoka
克仁 福岡
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP18510593A priority Critical patent/JPH0744404A/ja
Publication of JPH0744404A publication Critical patent/JPH0744404A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 ハードウェア化により高速なスケジューリン
グ処理を可能にし、また割り込み信号に対するタスクの
応答を高速化した情報処理装置を提供することを目的と
する。 【構成】 命令実行ユニットEXUは、ディスパッチ要
求信号DRSを受けとると、コンテキストレジスタCT
XREGの内容を、タスク優先度レジスタPRIREG
が示すタスク優先度に対応するタスク制御ブロックTC
Bに保存し、レディー・レジスタRDYREGの各ビッ
トの内容をタスク優先度の降順に検索して実行可能状態
を示すビットに対応するタスク優先度を割り出し、該タ
スク優先度をタスク優先度レジスタPRIREGに書き
込み、該タスク優先度に対応するタスク制御ブロックT
CBの内容を前記コンテキストレジスタCTXREGに
読み込み、該タスク制御ブロックTCBの内容に従って
タスクを実行する。

Description

【発明の詳細な説明】
【0001】
【発明の技術分野】本発明は、複数のタスクを実行する
情報処理装置に係り、特に、ハードウェア化に適したス
ケジューリング方法に基づいてスケジューリング操作を
ハードウェア化して高速なスケジューリング処理を可能
とし、また、割り込みハンドラを介在せずに割り込み信
号によってタスクを直接起動させることにより割り込み
信号に対するタスクの応答を高速にした情報処理装置に
関する。
【0002】
【従来の技術】図8に、従来の情報処理装置の構成図を
示す。複数のタスク(TASK)を時分割で実行する情
報処理装置IPA’では、一般に、タスク優先度に基づ
いてタスク(TASK)をスケジューリングする。
【0003】先ず、タスク優先度に基づくスケジューリ
ング方式について説明する。以下、処理手順名を括弧付
きの符号で示す。
【0004】命令実行ユニットEXUで実行されるプロ
グラムのある時点での状態は、命令実行ユニットEXU
中の全レジスタ、即ちコンテキストレジスタCTXRE
Gの内容で表すことができる。例えば、ある時点Pでコ
ンテキストレジスタCTXREGの内容を、外部メモリ
EMU中のタスク制御ブロックTCBに保存しておいた
とすると、タスク制御ブロックTCBには、時点Pにお
ける命令実行ユニットEXUの状態が保存されることに
なる。この後、命令実行ユニットEXUがいかなる動き
をしようとも、タスク制御ブロックTCBの内容をコン
テキストレジスタCTXREGに書き戻せば、命令実行
ユニットEXUの状態は時点Pの状態に復帰し、命令実
行ユニットEXUは時点P以降の動作を継続することが
できる。
【0005】尚、タスク制御ブロックTCBには、コン
テキストレジスタCTXREGの内容の他にもタスク
(TASK)に関連する情報が記録される。例えばタス
ク優先度、タスクID番号、ユーザID番号、プログラ
ムカウンタPCに入れるべき初期値、並びにスタックポ
インタSPに入れるべき初期値等である。
【0006】複数のタスク(TASK)を命令実行ユニ
ットEXUで並列に実行するためには、次のようにすれ
ばよい。複数のタスク(TASK)のそれぞれに対応す
るタスク制御ブロックTCBを外部メモリEMU上に用
意しておく。一定の方式に従ってタスク(TASK)を
1つ選択し、タスク(TASK)に対応するタスク制御
ブロックTCBの内容を、コンテキストレジスタCTX
REG上にロードして実行する。
【0007】タスク(TASK)を切り替える時には、
コンテキストレジスタCTXREGの内容をタスク(T
ASK)に対応するタスク制御ブロックTCBにストア
してから、新しいタスク制御ブロックTCBの内容をコ
ンテキストレジスタCTXREGにロードする。
【0008】ここでは、タスク優先度に基づくスケジュ
ーリング方式について、図9を使用して説明する。タス
ク優先度に基づくスケジューリング方式では、タスク
(TASK)をタスク優先度の降順に管理しておく。例
えば図9に示すように、外部メモリEMU上に配置した
キューヘッダQUEHDRからポインタによるリンク
で、タスク制御ブロックTCBの待ち行列を構成してお
けばよい。ここでタスク制御ブロックTCBはタスク優
先度の降順になるように管理しておく。
【0009】実行を中断させたいタスク(TASK)に
対応するタスク制御ブロックTCBは、この待ち行列か
ら外す。この処理を「タスク実行の中断」(SUSTS
K’)と呼ぶことにする。また実行を再開させたいタス
ク(TASK)に対応するタスク制御ブロックTCBは
待ち行列中の適当な位置をサーチしてそこに挿入する。
この処理を「タスク実行の再開」(RSMTSK’)と
呼ぶことにする。タスク実行の中断(SUSTSK’)
及びタスク実行の再開(RSMTSK’)の手順を図1
0(1)及び図10(2)に示す。このようにすると、
キューヘッダQUEHDRが指す先頭のタスク制御ブロ
ックTCBは、実行可能で、且つ最も高いタスク優先度
を持つことになる。
【0010】以上のように、タスク(TASK)を管理
する操作を「スケジューリング」(SCHEDUL
E’)と呼ぶ。尚、このデータ構造は、必ずしもこの形
に限定されるものではなく、タスク優先度に基づいた順
序の待ち行列を構成できればいかなる形でもかまわな
い。
【0011】次に、タスクを切り替える時には、命令実
行ユニットEXUは次のように動作する。ここではタス
クを切り替える動作を、ディスパッチ処理(DISPA
TCH’)と呼ぶ。ディスパッチ処理(DISPATC
H’)の処理手順を図11に示す。
【0012】ディスパッチ処理(DISPATCH’)
の処理動作の様子を図8を使用して説明する。先ず図8
中のT1に示すように、コンテキストレジスタCTXR
EGの内容を、実行していたタスク(TASK)に対応
するタスク制御ブロックTCBにストアする(ステップ
S15)。次に図8中のT2に示すように、キューヘッ
ダQUEHDRが指すタスク制御ブロックTCB、即ち
最も高いタスク優先度を持つタスク制御ブロックTCB
を選択し(ステップS16)、そのタスク制御ブロック
TCBの内容をコンテキストレジスタCTXREGにロ
ードする(ステップS17)。
【0013】以後、命令実行ユニットEXUはロードし
た新しいタスク(TASK)を実行することになる。デ
ィスパッチ処理(DISPATCH’)によって中断さ
れた古いタスク(TASK)のコンテキストレジスタC
TXREGの内容は、そのタスク(TASK)に対応す
るタスク制御ブロックTCBに保存されているので、後
でコンテキストレジスタCTXREGにロードすれば再
開できる。
【0014】一般の情報処理装置は、割り込み信号IR
Sにより、割り込みハンドラ(INTHDR)を起動す
る機構を持っている。ところが上述したタスク(TAS
K)を管理する機構は持っていないので、タスク(TA
SK)はソフトウェアで管理されている。つまり、スケ
ジューリング処理(SCHEDULE’)とディスパッ
チ処理(DISPATCH’)の操作はソフトウェアと
して実行される。ここでスケジューリング処理(SCH
EDULE’)をハードウェア化すれば、ソフトウェア
で行なうのに比較してスケジューリングが高速になると
いう利点がある。加えて、外部信号でスケジューリング
を直接指示できるようになるという利点もある。
【0015】しかし前述のように、ソフトウェアで行な
ってきたタスク優先度順の待ち行列を利用するスケジュ
ーリング処理(SCHEDULE’)の方法では、キュ
ーのサーチと挿入を含む複雑な処理が必要となるため、
ハードウェア化に適さないという問題があった。それ
故、従来は高速化のためにスケジューリング処理(SC
HEDULE’)の一部の処理をマイクロプログラム化
するなどの工夫がなされている。例えば、「キューをサ
ーチする」、「キューに挿入する」、及び「キューから
削除する」といった高機能な専用命令を設けて、実行速
度の向上を図る方法が採られていた。
【0016】更にこれを進めて、スケジューリング処理
(SCHEDULE’)の全体の処理を一気に実行する
ようにハードウェアを構成したとしても、ソフトウェア
で実行するのに比較して、スケジューリング処理(SC
HEDULE’)のためのプログラムを読み出す時間の
分だけしか高速化できない。またスケジューリング処理
(SCHEDULE’)をソフトウェアで行なう従来の
情報処理装置では、割り込み信号IRSに対応してタス
ク(TASK)を実行するに際して、直接にタスクを起
動することはできない。そこで、次のような方法が採ら
れる。
【0017】割り込み信号IRSが入力されると、命令
実行ユニットEXUは割り込みハンドラ(INTHD
R)を起動する。ここでタスクを起動するためスケジュ
ーリング処理(SCHEDULE’)をソフトウェアと
して実行する。割り込みハンドラ(INTHDR)を終
了すると、ディスパッチ処理(DISPATCH’)を
ソフトウェアとして実行する。ディスパッチ処理(DI
SPATCH’)を終了すると、コンテキストレジスタ
(CTXREG)の内容が新しいタスクに入れ替わって
いるのでタスクが起動する。これで割り込み信号IRS
に対応してタスク(TASK)を起動することができる
が、間に割り込みハンドラ(INTHDR)が介在して
しまう。このため、タスク(TASK)の応答が遅れて
しまう点が問題となる。
【0018】典型的な例として、割り込みハンドラ(I
NTHDR)の実行に20[μ秒]、ディスパッチ処理
(DISPATCH)の実行に10[μ秒]、タスク
(TASK)の実行に70[μ秒]程度の時間がかかる
ものとすると、割り込み信号IRSに対するタスク(T
ASK)の応答の2割が割り込みハンドラ(INTHD
R)の実行のために空費されていることになる。
【0019】
【発明が解決しようとする課題】以上説明したように、
従来の情報処理装置におけるスケジューリング方法で
は、キューのサーチと挿入を含む複雑な処理が必要にな
るため、スケジューリング処理のハードウェア化の障害
になっていた。それ故、高速なスケジューリングが行な
えず、また割り込み信号に対するタスクの応答に割り込
みハンドラを介在させる必要があり、割り込みハンドラ
の実行のために割り込み信号に対するタスクの応答が遅
くなるという問題があった。
【0020】本発明は、上記問題点を解決するもので、
その目的は、ハードウェア化に適したスケジューリング
方法に基づいてスケジューリング操作をハードウェア化
して、高速なスケジューリング処理を可能にし、また、
割り込みハンドラを介在せずに割り込み信号によってタ
スクを直接起動させることにより、割り込み信号に対す
るタスクの応答を高速化した情報処理装置を提供するこ
とである。
【0021】
【課題を解決するための手段】図1は本発明の原理説明
図である。
【0022】前記課題を解決するために、本発明の第1
の特徴は、コンテキストレジスタCTXREGを備え、
前記コンテキストレジスタCTVREGの内容を書き換
えながら、それぞれ異なるタスク優先度を持つ複数のタ
スクを時分割で実行する命令実行ユニットEXUと、前
記実行ユニットEXUが実行する各タスクのタスク制御
ブロックTCBを保持する外部メモリEMUと、複数の
ビットを備え、各ビット位置が、前記命令実行ユニット
EXUが実行する各タスクのタスク優先度に対応し、各
ビット内容は、対応するタスクが実行可能または不可能
の何れの状態であるかを示し、前記命令実行ユニットE
XUからの指示により、各ビットの操作が可能であるレ
ディー・レジスタRDYREGと、前記命令実行ユニッ
トEXUが現在実行しているタスクのタスク優先度を保
持するタスク優先度レジスタPRIREGと、複数の要
素を備え、各要素の位置が、前記命令実行ユニットEX
Uが実行する各タスクのタスク優先度に対応し、各要素
の内容として、対応するタスクのタスク制御ブロックT
CBのアドレスを保持するタスク制御テーブルレジスタ
TCTREGと、前記レディー・レジスタRDYREG
の内容が変化した時、ディスパッチ要求信号DRSを前
記命令実行ユニットEXUに送出するディスパッチ・リ
クエスタDSPREQとを具備し、前記命令実行ユニッ
トEXUは、前記ディスパッチ要求信号DRSを受けと
ると、前記コンテキストレジスタCTXREGの内容
を、前記タスク優先度レジスタPRIREGが示すタス
ク優先度に対応するタスク制御ブロックTCBに保存
し、前記レディー・レジスタRDYREGの各ビットの
内容をタスク優先度の降順に検索して実行可能状態を示
すビットに対応するタスク優先度を割り出し、該タスク
優先度を前記タスク優先度レジスタPRIREGに書き
込み、該タスク優先度に対応するタスク制御ブロックT
CBの内容を前記コンテキストレジスタCTXREGに
読み込み、該タスク制御ブロックTCBの内容に従って
タスクを実行することである。
【0023】また、本発明の第2の特徴は、図5に示す
如く、複数のコンテキストレジスタCTXREG0〜C
TXREG7を備え、前記コンテキストレジスタの1つ
CTXREGiを選択して、該コンテキストレジスタC
TXREGiの内容を書き換えながら、それぞれ異なる
タスク優先度を持つ複数のタスクを時分割で実行する命
令実行ユニットEXUと、複数のビットを備え、各ビッ
ト位置が、前記命令実行ユニットEXUが実行する各タ
スクのタスク優先度に対応し、各ビット内容は、対応す
るタスクが実行可能または不可能の何れの状態であるか
を示し、前記命令実行ユニットEXUからの指示によ
り、各ビットの操作が可能であるレディー・レジスタR
DYREGと、前記命令実行ユニットEXUが現在実行
しているタスクのタスク優先度を保持するタスク優先度
レジスタPRIREGと、前記レディー・レジスタRD
YREGの内容が変化した時、ディスパッチ要求信号D
RSを前記命令実行ユニットEXUに送出するディスパ
ッチ・リクエスタDSPREQとを具備し、前記命令実
行ユニットEXUは、前記ディスパッチ要求信号DRS
を受けとると、前記レディー・レジスタRDYREGの
各ビットの内容をタスク優先度の降順に検索して実行可
能状態を示すビットに対応するタスク優先度を割り出
し、該タスク優先度を前記タスク優先度レジスタPRI
REGに書き込み、該タスク優先度に対応する前記コン
テキストレジスタCTXREGiを選択してタスクを実
行することである。
【0024】また、本発明の第3の特徴は、請求項1ま
たは2に記載の情報処理装置において、前記情報処理装
置IPAは、前記レディー・レジスタRDYREG、前
記タスク優先度レジスタPRIREG、及びまたは前記
タスク制御テーブルレジスタTCTREGのアドレスを
保持するタスク制御テーブルポインタTCTPTRを具
備することである。
【0025】また、本発明の第4の特徴は、請求項1、
2、または3に記載の情報処理装置において、前記情報
処理装置IPAは、前記レディー・レジスタRDYRE
Gの内容を入力して、各ビットの内容をタスク優先度の
降順に検索して、実行可能状態を示すビットに対応する
タスク優先度を割り出して出力するプライオリティ・エ
ンコーダPRIENCを具備し、前記ディスパッチ・リ
クエスタDSPREQは、前記プライオリティ・エンコ
ーダPRIENCから出力されるタスク優先度が変化し
た時、ディスパッチ要求信号DRSを前記命令実行ユニ
ットEXUに送出することである。
【0026】更に、本発明の第5の特徴は、請求項1、
2、3、または4に記載の情報処理装置において、前記
情報処理装置IPAは、当該情報処理装置IPAの外部
から供給される割り込み信号IRSを具備し、前記命令
実行ユニットEXUは、前記割り込み信号IRSに基づ
き、前記レディー・レジスタRDYREGのビットを操
作して、タスクの実行可能または不可能の状態を変更す
ることである。
【0027】
【作用】本発明の第1の特徴の情報処理装置では、図1
に示す如く、命令実行ユニットEXUは、ディスパッチ
要求信号DRSを受けとると、コンテキストレジスタC
TXREGの内容を、タスク優先度レジスタPRIRE
Gが示すタスク優先度に対応するタスク制御ブロックT
CBに保存し、レディー・レジスタRDYREGの各ビ
ットの内容をタスク優先度の降順に検索して実行可能状
態を示すビットに対応するタスク優先度を割り出し、該
タスク優先度をタスク優先度レジスタPRIREGに書
き込み、該タスク優先度に対応するタスク制御ブロック
TCBの内容をコンテキストレジスタCTXREGに読
み込み、該タスク制御ブロックTCBの内容に従ってタ
スクを実行するようにしている。
【0028】つまり、本発明のスケジューリング方法で
は、各タスク(TASK)にそれぞれ異なるタスク優先
度〔TSKPRI〕を割り当てる。各タスク(TAS
K)が実行可能か不可能かの状態を示す対応表としてレ
ディー・レジスタRDYREGを設ける。タスク(TA
SK)の実行を中断させたい場合は、タスク(TAS
K)に対応するレディー・レジスタRDYREGのビッ
トをリセットする。この処理を「タスク実行の中断」
(SUSTSK)と呼び、手順を図2(1)に示す。
【0029】また、タスク(TASK)の実行を再開さ
せたい場合は、タスク(TASK)に対応するレディー
・レジスタRDYREGのビットをセットする。この処
理を「タスク実行の再開」(RSMTSK)と呼び、手
順を図2(2)に示す。
【0030】更に、レディー・レジスタRDYREGの
内容が変化した場合は、続いてディスパッチ処理(DI
SPATCH)を実行するように構成する。ディスパッ
チ処理(DISPATCH)の手順を図3に示す。
【0031】同図においてディスパッチ処理(DISP
ATCH)は、第1にコンテキストレジスタ(CTXR
EG)の内容を、前のタスク(TASK)に対応するタ
スク制御ブロックTCBにストアし(ステップS5)、
第2にレディー・レジスタRDYREGをタスク優先度
〔TSKPRI〕の降順にサーチして、最高のタスク優
先度〔TSKPRI〕を選択し(ステップS6)、第3
に選択したタスク優先度〔TSKPRI〕に対応するタ
スク制御ブロックTCBの内容をコンテキストレジスタ
CTXREGにロードして処理を続行する(ステップS
7)。
【0032】これにより、タスク(TASK)からの命
令で別のタスク(TASK)を操作することができ、ス
ケジューリング処理(SCHEDULE)はハードウェ
アで迅速に行うことができる。
【0033】また、本発明の第2の特徴の情報処理装置
では、命令実行ユニットEXUは、ディスパッチ要求信
号DRSを受けとると、レディー・レジスタRDYRE
Gの各ビットの内容をタスク優先度の降順に検索して実
行可能状態を示すビットに対応するタスク優先度を割り
出し、該タスク優先度を前記タスク優先度レジスタPR
IREGに書き込み、該タスク優先度に対応するコンテ
キストレジスタCTXREGiを選択してタスクを実行
するようにしている。
【0034】これにより、第1の特徴の情報処理装置と
同様に、ハードウェアにより高速なスケジューリング処
理の行える情報処理装置を実現できる。
【0035】また、本発明の第3の特徴の情報処理装置
では、情報処理装置IPAは、レディー・レジスタRD
YREG、タスク優先度レジスタPRIREG、及びま
たは前記タスク制御テーブルレジスタTCTREGを外
部メモリEMU上に仮想的に構成し、これらレジスタに
対するアクセスをタスク制御テーブルポインタTCTP
TR内に保持されたアドレスを使って参照する。
【0036】従って、第1及び第2の特徴の情報処理装
置よりもハードウェア量を削減した構成で、同様の効果
を実現できる。
【0037】また、本発明の第4の特徴の情報処理装置
では、プライオリティ・エンコーダPRIENCは、レ
ディー・レジスタRDYREGの内容を入力して、各ビ
ットの内容をタスク優先度の降順に検索して、実行可能
状態を示すビットに対応するタスク優先度を割り出して
出力し、ディスパッチ・リクエスタDSPREQでは、
プライオリティ・エンコーダPRIENCから出力され
るタスク優先度が変化した時に、ディスパッチ要求信号
DRSを命令実行ユニットEXUに送出することとした
ので、無駄なディスパッチ処理(DISPATCH)を
起動させることなく、より効率的なスケジューリング処
理を行うことができる。
【0038】更に、本発明の第5の特徴の情報処理装置
では、命令実行ユニットEXUは、割り込み信号IRS
に基づき、レディー・レジスタRDYREGのビットを
操作して、タスクの実行可能または不可能の状態を変更
することとしたので、割り込み信号IRSによってタス
ク(TASK)を直接起動でき、割り込み信号IRSに
対するタスク(TASK)の応答を高速化した情報処理
装置を実現できる。
【0039】
【実施例】以下、本発明に係る実施例を図面に基づいて
説明する。
【0040】図4に、本発明の第1の実施例に係る情報
処理装置の構成図を示す。図8(従来例)と重複する部
分には同一の符号を附する。
【0041】本実施例の情報処理装置IPAには、一般
的な命令実行ユニットEXUが内蔵されており、外部バ
スEXTBUSを介して情報処理装置IPAの外部に接
続された外部メモリEMU上の命令を読み込んで実行す
る。命令実行ユニットEXUには、プログラムカウンタ
PC、スタックポインタSP、プログラムステータスワ
ードレジスタPSW、及び汎用レジスタGENREGを
含んでいる。これらのレジスタ全体をコンテキストレジ
スタCTXREGと呼ぶ。このコンテキストレジスタC
TXREGの内容が、命令実行ユニットEXUの命令実
行状態を表している。
【0042】命令実行ユニットEXUには、内部バスI
NTBUSを介してレディー・レジスタRDYREGが
接続されている。レディー・レジスタRDYREGは8
ビットで構成され、各ビットの位置は、命令実行ユニッ
トEXUが実行するタスク(TASK)のタスク優先度
〔TSKPRI〕に対応している。ここでは、上位ビッ
トから順に0,1,2,3,...,7とする。各ビッ
トは対応するタスク(TASK)の実行可能か不可能か
の何れかの状態を保持する。各ビットの内容は”1”の
時、実行可能、”0”の時、実行不可能を意味するもの
とする。
【0043】タスク優先度〔TSKPRI〕は0,1,
2,3,...,7の何れかで、数値が小さい程高いタ
スク優先度〔TSKPRI〕を意味するものとする。ま
た、命令実行ユニットEXUからの指示により、レディ
ー・レジスタRDYREGの任意のビットをセット或い
はリセットできるように構成されている。
【0044】内部バスINTBUSには、タスク優先度
レジスタPRIREGが接続されている。タスク優先度
レジスタPRIREGは、命令実行ユニットEXUが現
在実行中のタスク(TASK)のタスク優先度〔TSK
PRI〕を保持するためのレジスタである。
【0045】また内部バスINTBUSには、タスク制
御テーブルレジスタTCTREGが接続されている。タ
スク制御テーブルレジスタTCTREG、は8つの要素
を持ち、各ビットの位置は、命令実行ユニットEXUが
実行するタスク(TASK)のタスク優先度〔TSKP
RI〕に対応している。ここでは、上位要素から順に
0,1,2,3,...,7とする。尚、各要素は対応
するタスク(TASK)のタスク制御ブロックTCBの
アドレスを保持する。
【0046】タスク制御ブロックTCBは、情報処理装
置IPAに接続された外部メモリEMU内に配置されて
いる。
【0047】ここでは、タスク優先度〔TSKPRI〕
の値”1”、”4”、及び”7”に対応したタスク制御
ブロックTCB1、TCB4、及びTCB7が配置され
ているものとする。これに対応して、タスク制御テーブ
ルレジスタTCTREGの第1、第4、及び第7の要素
には、それぞれタスク制御ブロックTCB1、TCB
4、及びTCB7のアドレスが保持されるものとする。
タスク制御テーブルレジスタTCTREGのその他の要
素、即ち第0、第2、第3、第5、及び第6の要素の内
容は不定である。
【0048】レディー・レジスタRDYREGには、デ
ィスパッチ・リクエスタDSPREQが接続されてい
る。ディスパッチ・リクエスタDSPREQは、レディ
ー・レジスタRDYREGの内容が変化したら、ディス
パッチ要求信号DRSを命令実行ユニットEXUに送出
する。命令実行ユニットEXUはディスパッチ要求信号
DRSを受けとると、ディスパッチ処理(DISPAT
CH)を実行するよう構成されている。
【0049】ディスパッチ処理(DISPATCH)の
手順は次の通りである(図3参照)。
【0050】第1に、タスク優先度レジスタPRIRE
Gが示すタスク優先度〔TSKPRI〕に対応するタス
ク制御テーブルレジスタTCTREGの要素が指し示す
タスク制御ブロックTCBに、コンテキストレジスタC
TXREGの内容を書き出す(ステップS5)。
【0051】第2に、レディー・レジスタRDYREG
の各ビットの内容を、上位要素からタスク優先度〔TS
KPRI〕の降順に検索して、最も上位で”1”になっ
ているビットの位置に対応するタスク優先度〔TSKP
RI〕を割り出し、そのタスク優先度〔TSKPRI〕
をタスク優先度レジスタPRIREGに書き込む(ステ
ップS6)。
【0052】第3に、そのタスク優先度〔TSKPR
I〕に対応するタスク制御テーブルレジスタTCTRE
Gの要素が指し示すタスク制御ブロックTCBの内容
を、コンテキストレジスタCTXREGに読み込む(ス
テップS7)。尚、ディスパッチ処理(DISPATC
H)の後、命令実行ユニットEXUは処理を続行する。
【0053】また、本実施例の情報処理装置IPAにお
いて、例えば、タスク実行の中断(SUSTSK)は次
のように実現される(図2(1)中、ステップS1)。
【0054】「レディー・レジスタRDYREGのタス
ク優先度〔TSKPRI〕番目のビットをリセットす
る。」また、タスク実行の再開(RSMTSK)は次の
ように実現される(図2(2)中、ステップS3)。
【0055】「レディー・レジスタRDYREGのタス
ク優先度〔TSKPRI〕番目のビットをセットす
る。」例えば今、レディー・レジスタRDYREGの内
容が”00001001B ”(添え字の”B ”は2進数
であることを示す)であったとしよう。これはタスク優
先度〔TSKPRI〕が”4”と”7”のタスク(TA
SK4及びTASK7)が実行可能であることを示す。
この状態では、タスク優先度〔TSKPRI〕が高い
方、即ち”4”に対応するタスク(TASK4)が命令
実行ユニットEXUによって実行されている。
【0056】タスク(TASK4)の中で、タスク優先
度〔TSKPRI〕として”4”を指定してタスク実行
の中断(SUSTSK)が実行されると、次のようにな
る。
【0057】先ず、タスク実行の中断(SUSTSK)
の結果として、レディー・レジスタRDYREGのビッ
ト4がリセットされる。レディー・レジスタRDYRE
Gの内容が変化したので、ディスパッチ・リクエスタD
SPREQは、ディスパッチ要求信号DRSを命令実行
ユニットEXUに送出する。レディー・レジスタRDY
REGの内容は”00000001B ”になっている。
【0058】命令実行ユニットEXUは、ディスパッチ
要求信号DRSを受けとるとディスパッチ処理(DIS
PATCH)を実行する。
【0059】第1に、タスク優先度レジスタPRIRE
Gの値、即ち”4”に対応するタスク制御テーブルレジ
スタTCTREGの要素が指し示すタスク制御ブロック
TCB、即ちタスク制御ブロックTCB4にコンテキス
トレジスタCTXREGの内容を書き出す。
【0060】第2に、レディー・レジスタRDYREG
の各ビットの内容を上位要素からタスク優先度〔TSK
PRI〕の降順に検索して、最も上位で”1”になって
いるビットの位置を割り出す。その値、即ち”7”をタ
スク優先度レジスタPRIREGに書き込む。
【0061】第3に、タスク制御テーブルレジスタTC
TREGの第7の要素が指し示すタスク制御ブロックT
CB、即ちタスク制御ブロックTCB7の内容をコンテ
キストレジスタCTXREGに読み込む。
【0062】これでディスパッチ処理(DISPATC
H)を行う前のコンテキストレジスタCTXREGの内
容は、タスク制御ブロックTCB4にストアされ、新た
にタスク制御ブロックTCB7の内容が、コンテキスト
レジスタCTXREGにロードされた。結果として、プ
ログラムカウンタPCやスタックポインタSP等のプロ
グラムの実行に必要な命令実行ユニットEXUの内部状
態が書き換えられたので、命令実行ユニットEXUはタ
スク(TASK7)を実行することになる。
【0063】次に、タスク(TASK7)の中で、タス
ク優先度〔TSKPRI〕として”4”を指定してタス
ク実行の再開(RSMTSK)が実行されると、次のよ
うになる。
【0064】先ず、タスク実行の再開(RSMTSK)
の結果として、レディー・レジスタRDYREGのビッ
ト4がセットされる。レディー・レジスタRDYREG
の内容が変化したので、ディスパッチ・リクエスタDS
PREQは、ディスパッチ要求信号DRSを命令実行ユ
ニットEXUに送出する。レディー・レジスタRDYR
EGの内容は”00001001B ”になっている。
【0065】命令実行ユニットEXUは、ディスパッチ
要求信号DRSを受けとるとディスパッチ処理(DIS
PATCH)を実行する。
【0066】第1に、タスク優先度レジスタPRIRE
Gの値、即ち”7”に対応するタスク制御テーブルレジ
スタTCTREGの要求が指し示すタスク制御ブロック
TCB、即ちタスク制御ブロックTCB7にコンテキス
トレジスタCTXREGの内容を書き出す。
【0067】第2に、レディー・レジスタRDYREG
の各ビットの内容を上位要素からタスク優先度TSKP
RIの降順に検索して、最も上位で”1”になっている
ビットの位置を割り出す。その値、即ち”4”をタスク
優先度レジスタPRIREGに書き込む。
【0068】第3に、タスク制御テーブルレジスタTC
TREGの第4の要素が指し示すタスク制御ブロックT
CB、即ちタスク制御ブロックTCB4の内容をコンテ
キストレジスタCTXREGに読み込む。
【0069】これでディスパッチ処理(DISPATC
H)を行う前のコンテキストレジスタCTXREGの内
容は、タスク制御ブロックTCB7にストアされ、新た
にタスク制御ブロックTCB4の内容が、コンテキスト
レジスタCTXREGにロードされた。結果として、プ
ログラムカウンタPCやスタックポインタSP等のプロ
グラムの実行に必要な命令実行ユニットEXUの内部状
態が書き換えられたので、命令実行ユニットEXUはタ
スク(TASK4)を再開することになる。
【0070】このように、本実施例の情報処理装置IP
Aにおいては、タスク(TASK)からの命令で、別の
タスク(TASK)を起動することができ、スケジュー
リング処理(SCHEDULE)はハードウェアにより
迅速に行なわれる。
【0071】また、レディー・レジスタRDYREGに
は、情報処理装置IPAの外部から供給される割り込み
信号IRSが入力されており、割り込み信号IRSによ
ってレディー・レジスタRDYREGの任意のビットを
セットできるように構成されている。
【0072】例えば今、レディー・レジスタRDYRE
Gの内容が”00001001B ”であったとしよう。
これは、タスク優先度〔TSKPRI〕が”4”と”
7”のタスク(TASK4及びTASK7)が実行可能
であることを示す。この状態では、タスク優先度〔TS
KPRI〕が高い方すなわち4に対応するタスク(TA
SK4)が命令実行ユニットEXUによって実行されて
いる。
【0073】ここで、割り込み信号IRSによってレデ
ィー・レジスタRDYREGのビット1がセットされる
と、この情報処理装置IPAは次のように動作する。
【0074】先ず、レディー・レジスタRDYREGの
内容が変化したので、ディスパッチ・リクエスタDSP
REQは、ディスパッチ要求信号DRSを命令実行ユニ
ットEXUに送出する。レディー・レジスタRDYRE
Gの内容は”01001001B ”になっている。命令
実行ユニットEXUは、ディスパッチ要求信号DRSを
受けとるとディスパッチ処理(DISPATCH)を実
行する。
【0075】第1に、タスク優先度レジスタPRIRE
Gの値、即ち”4”に対応するタスク制御テーブルレジ
スタTCTREGの要求が指し示すタスク制御ブロック
TCB、即ちタスク制御ブロックTCB4にコンテキス
トレジスタCTXREGの内容を書き出す。
【0076】第2に、レディー・レジスタRDYREG
の各ビットの内容を上位要素からタスク優先度〔TSK
PRI〕の降順に検索して、最も上位で”1”になって
いるビットの位置を割り出す。その値、即ち”1”をタ
スク優先度レジスタPRIREGに書き込む。
【0077】第3に、タスク制御テーブルレジスタTC
TREGの第1の要素が指し示すタスク制御ブロックT
CB、即ちタスク制御ブロックTCB1の内容をコンテ
キストレジスタCTXREGに読み込む。これでディス
パッチ処理(DISPATCH)の前のコンテキストレ
ジスタCTXREGの内容は、タスク制御ブロックTC
B4にストアされ、新たにタスク制御ブロックTCB1
の内容が、コンテキストレジスタCTXREGにロード
された。結果として、プログラムカウンタPCやスタッ
クポインタSP等のプログラムの実行に必要な命令実行
ユニットEXUの内部状態が書き換えられたので、命令
実行ユニットEXUはタスク(TASK1)を実行する
ことになる。
【0078】このように、本実施例の情報処理装置IP
Aでは、割り込み信号IRSによってタスク(TAS
K)が直接に起動できる。
【0079】以上説明したように、第1の実施例の情報
処理装置IPAでは、タスク(TASK)からの命令で
別のタスク(TASK)を操作することができ、スケジ
ューリング処理(SCHEDULE)はハードウェアで
迅速に行なわれる。また、割り込み信号IRSによって
タスク(TASK)を直接起動でき、割り込み信号IR
Sに対応してタスク(TASK)を高速に起動できる情
報処理装置IPAを提供することができる。
【0080】ところで、例えばタスク(TASK4)の
中で、タスク優先度〔TSKPRI〕として”7”を指
定して、タスク実行の中断(SUSTSK)が実行され
ると、次のようになる。
【0081】先ず、タスク実行の中断(SUSTSK)
の結果としてレディー・レジスタRDYREGのビット
7がリセットされる。レディー・レジスタRDYREG
の内容が変化したので、ディスパッチ・リクエスタDS
PREQは、ディスパッチ要求信号DRSを命令実行ユ
ニットEXUに送出する。レディー・レジスタRDYR
EGの内容は”00001000B ”になっている。
【0082】命令実行ユニットEXUは、ディスパッチ
要求信号DRSを受けとると、ディスパッチ処理(DI
SPATCH)を実行する。
【0083】第1に、タスク優先度レジスタPRIRE
Gの値、即ち”4”に対応するタスク制御テーブルレジ
スタTCTREGの要素が指し示すタスク制御ブロック
TCB、即ちタスク制御ブロックTCB4にコンテキス
トレジスタCTXREGの内容を書き出す。
【0084】第2に、レディー・レジスタRDYREG
の各ビットの内容を上位要素からタスク優先度〔TSK
PRI〕の降順に検索して、最も上位で”1”になって
いるビットの位置を割り出す。その値、即ち”4”をタ
スク優先度レジスタPRIREGに書き込む。
【0085】第3に、タスク制御テーブルレジスタTC
TREGの第4の要素が指し示すタスク制御ブロックT
CB、即ちタスク制御ブロックTCB4の内容をコンテ
キストレジスタCTXREGに読み込む。この場合、結
局タスク(TASK4)の実行が継続されるので、ディ
スパッチ処理(DISPATCH)は無駄であった。こ
の欠点は第4の実施例で解決される。
【0086】次に、本発明の第2の実施例に係る情報処
理装置IPAの構成を図5を使用して説明する。
【0087】本実施例の情報処理装置IPAは、第1の
実施例とほぼ同様であるが、ディスパッチ処理(DIS
PATCH)の高速化のために、命令実行ユニットEX
U中に複数のレジスタバンクを備えた構成となってい
る。それぞれのレジスタバンクをコンテキストレジスタ
CTXREG0〜CTXREG7と呼ぶ。
【0088】各レジスタバンクは、命令実行ユニットE
XUが実行するタスク(TASK)に対応している。こ
こでは、タスク優先度〔TSKPRI〕の値”1”、”
4”、及び”7”に対応したコンテキストレジスタCT
XREG1、CTXREG4、及びCTXREG7が用
意されているものとする。尚、本実施例の情報処理装置
IPAでは、第1の実施例に備えられていたタスク制御
テーブルレジスタTCTREGは持っていない。
【0089】命令実行ユニットEXUは、コンテキスト
レジスタCTXREG1、CTXREG4、及びCTX
REG7の内の1つを選択して、タスク(TASK)を
実行する機能を持つ。命令実行ユニットEXUは、ディ
スパッチ要求信号DRSを受けとるとディスパッチ処理
(DISPATCH)を実行するよう構成されている。
【0090】ディスパッチ処理(DISPATCH)の
手順は次の通りである。
【0091】第1に、レディー・レジスタRDYREG
の各ビットの内容を上位要素からタスク優先度〔TSA
PRI〕の降順に検索して、最も上位で”1”になって
いるビットの位置に対応するタスク優先度〔TSKPR
I〕を割り出し、そのタスク優先度〔TSKPRI〕を
タスク優先度レジスタPRIREGに書き込む。
【0092】第2に、そのタスク優先度〔TSKPR
I〕に対応するコンテキストレジスタCTXREGを選
択してタスク(TASK)を実行する。例えば今、レデ
ィー・レジスタRDYREGの内容が”0000100
1B ”であったとしよう。これはタスク優先度〔TSK
PRI〕が”4”と”7”のタスク(TASK)が実行
可能であることを示す。この状態では、タスク優先度
〔TSKPRI〕が高い方、即ち”4”に対応するコン
テキストレジスタCTXREG4が命令実行ユニットE
XUによって選択されて実行されている。
【0093】ここで、割り込み信号IRSによってレデ
ィー・レジスタRDYREGのビット1がセットされる
と、本実施例の情報処理装置IPAは次のように動作す
る。
【0094】先ず、レディー・レジスタRDYREGの
内容が変化したので、ディスパッチ・リクエスタDSP
REQは、ディスパッチ要求信号DRSを命令実行ユニ
ットEXUに送出する。レディー・レジスタRDYRE
Gの内容は”01001001B ”になっている。
【0095】命令実行ユニットEXUは、ディスパッチ
要求信号DRSを受けとるとディスパッチ処理(DIS
PATCH)を実行する。
【0096】第1に、レディー・レジスタRDYREG
の各ビットの内容を上位要素からタスク優先度〔TSK
PRI〕の降順に検索して、最も上位で”1”になって
いるビットの位置を割り出す。その値、即ち”1”をタ
スク優先度レジスタPRIREGに書き込む。
【0097】第2に、そのタスク優先度〔TSKPR
I〕に対応するコンテキストレジスタCTXREG、即
ちコンテキストレジスタCTXREG1を選択してタス
ク(TASK)を実行する。これでディスパッチ処理
(DISPATCH)の前のコンテキストレジスタCT
XREG4から、新たにコンテキストレジスタCTXR
EG1に切り替わった。結果として、プログラムカウン
タPCやスタックポインタSP等のプログラムの実行に
必要な命令実行ユニットEXUの内部状態を表わすレジ
スタが切りかえられたので、命令実行ユニットEXUは
タスク(TASK1)を実行することになる。
【0098】以上説明したように、第2の実施例の情報
処理装置IPAでは、第1の実施例の特徴に加えて、コ
ンテキストレジスタCTXREGの内容のストアとロー
ドが不要になるので、より高速にタスク(TASK)を
切り替えられるようになる。
【0099】次に、本発明の第3の実施例に係る情報処
理装置IPAの構成を図6を使用して説明する。
【0100】本実施例の情報処理装置IPAは、第1の
実施例の情報処理装置IPAの構成の一部を外部メモリ
EMU上に仮想的に実現し、ハードウェアの削減を図っ
た構成例である。
【0101】本実施例では、情報処理装置IPA内のタ
スク制御テーブルレジスタTCTREGを省き、タスク
制御テーブルレジスタTCTREGを外部メモリEMU
上に配している。その代わりに、内部バスINBUSに
接続されたタスク制御テーブルポインタTCTPTRを
備える。このタスク制御テーブルポインタTCTPTR
は、タスク制御テーブルレジスタTCTREGのアドレ
スを保持する。
【0102】本実施例の情報処理装置IPAの動作は第
1の実施例と同様である。但し、タスク制御テーブルレ
ジスタTCTREGを参照する際に、タスク制御テーブ
ルポインタTCTPTRの内容を使って外部メモリEM
U上から参照する点だけが異なる。
【0103】第3の実施例では、情報処理装置IPAの
構成要素の一部を仮想的に構成したので、第1の実施例
よりハードウェア量を削減できる。尚、外部メモリEM
U上に仮想的に構成する要素は、情報処理装置IPAの
中から他にも種々選ぶことができるが、その動作は第1
の実施例と変わりないので説明を省略する。
【0104】更に、本発明の第4の実施例に係る情報処
理装置IPAの構成を図7を使用して説明する。
【0105】本実施例の情報処理装置IPAは、無駄な
ディスパッチ要求信号DRSを抑制して実行効率を向上
させるために、レディー・レジスタRDYREGとディ
スパッチ・リクエスタDSPREQの間に接続されたプ
ライオリティ・エンコーダPRIENCを備える。
【0106】プライオリティ・エンコーダPRIENC
は、レディー・レジスタRDYREGの内容を入力し
て、レディー・レジスタRDYREGの各ビットの内容
を最上位からタスク優先度〔TSKPRI〕の降順に検
索して、実行可能になっているビットに対応するタスク
優先度〔TSKPRI〕を割り出し、そのタスク優先度
〔TSKPRI〕を示す信号をディスパッチリクエスタ
に送出する。ディスパッチリクエスタは、前記信号が変
化したら、ディスパッチ要求信号DRSを命令実行ユニ
ットEXUに送出するよう構成されている。
【0107】例えば今、レディー・レジスタRDYRE
Gの内容が”00001000B ”であったとしよう。
これはタスク優先度〔TSKPRI〕が”4”のタスク
(TASK)が実行可能であることを示す。この状態で
は、タスク優先度〔TSKPRI〕が”4”に対応する
タスク(TASK)が命令実行ユニットEXUによって
実行されている。
【0108】この時、レディー・レジスタRDYREG
の内容は、プライオリティ・エンコーダPRIENCに
送られる。プライオリティ・エンコーダPRIENC
は、レディー・レジスタRDYREGの各ビットの内容
を上位要素からタスク優先度〔TSKPRI〕の降順に
検索して、最も上位で”1”になっているビットの位
置、即ち”4”をディスパッチ・リクエスタDSPRE
Qに送出している。
【0109】ここで、割り込み信号IRSによってレデ
ィー・レジスタRDYREGのビット1がセットされる
と、本実施例の情報処理装置IPAは次のように動作す
る。この時、レディー・レジスタRDYREGの内容
は”01001000B ”になっている。
【0110】レディー・レジスタRDYREGの内容は
プライオリティ・エンコーダPRIENCに送られる。
プライオリティ・エンコーダPRIENCは、レディー
・レジスタRDYREGの各ビットの内容を上位要素か
らタスク優先度〔TSKPRI〕の降順に検索して、最
も上位で”1”になっているビットの位置、即ち”1”
をディスパッチ・リクエスタDSPREQに送出する。
【0111】プライオリティ・エンコーダPRIENC
の出力が”4”から”1”に変化したので、ディスパッ
チ・リクエスタDSPREQは、ディスパッチ要求信号
DRSを命令実行ユニットEXUに送出する。
【0112】命令実行ユニットEXUは、ディスパッチ
要求信号DRSを受けとると、ディスパッチ処理(DI
SPATCH)を実行し、タスク(TASK4)からタ
スク(TASK1)に切り替える。ディスパッチ処理
(DISPATCH)の手順は既に述べた通りである。
【0113】次に、割り込み信号IRSによって、レデ
ィー・レジスタRDYREGのビット7がセットされる
と、情報処理装置IPAは次のように動作する。この
時、レディー・レジスタRDYREGの内容は”010
01001B ”になっている。
【0114】レディー・レジスタRDYREGの内容は
プライオリティ・エンコーダPRIENCに送られる。
プライオリティ・エンコーダPRIENCは、レディー
・レジスタRDYREGの各ビットの内容を上位要素か
らタスク優先度〔TSKPRI〕の降順に検索して、最
も上位で”1”になっているビットの位置、即ち”1”
をディスパッチ・リクエスタDSPREQに送出する。
プライオリティ・エンコーダPRIENCの出力は”
1”のまま変化しないので、ディスパッチ・リクエスタ
DSPREQはディスパッチ要求信号DRSを送出しな
い。従って、ディスパッチ処理(DISPATCH)は
行なわれず、命令実行ユニットEXUはタスク(TAS
K1)を続行する。
【0115】このように、第4の実施例の情報処理装置
IPAでは、レディー・レジスタRDYREGの最上位
のビットが変化した時だけディスパッチ要求信号DRS
を送出するようにしたので、第1の実施例で説明したよ
うな無駄なディスパッチ処理(DISPATCH)が起
こらなくなった。
【0116】尚、プライオリティ・エンコーダPRIE
NCを追加した第4の実施例の構成は前記第2及び第3
の実施例に対しても適用できる。
【0117】
【発明の効果】以上説明したように、本発明の情報処理
装置によれば、命令実行ユニットは、ディスパッチ要求
信号を受けとると、コンテキストレジスタの内容を、タ
スク優先度レジスタが示すタスク優先度に対応するタス
ク制御ブロックに保存し、レディー・レジスタの各ビッ
トの内容をタスク優先度の降順に検索して実行可能状態
を示すビットに対応するタスク優先度を割り出し、該タ
スク優先度をタスク優先度レジスタに書き込み、該タス
ク優先度に対応するタスク制御ブロックの内容をコンテ
キストレジスタに読み込み、該タスク制御ブロックの内
容に従ってタスクを実行することとしたので、タスクか
らの命令で別のタスクを操作でき、スケジューリング処
理をハードウェアで迅速に行うことができ、また、割り
込み信号に基づき、レディー・レジスタのビットを操作
して、タスクの実行可能または不可能の状態を変更する
こととしたので、割り込み信号によってタスクを直接起
動でき、割り込み信号に対するタスクの応答を高速化し
た情報処理装置を提供することができる。
【0118】また、本発明によれば、命令実行ユニット
は、ディスパッチ要求信号を受けとると、レディー・レ
ジスタの各ビットの内容をタスク優先度の降順に検索し
て実行可能状態を示すビットに対応するタスク優先度を
割り出し、該タスク優先度を前記タスク優先度レジスタ
に書き込み、該タスク優先度に対応するコンテキストレ
ジスタを選択してタスクを実行することとしたので、ハ
ードウェアにより高速なスケジューリング処理を可能と
した情報処理装置を提供することができる。
【0119】また、本発明によれば、レディー・レジス
タ、タスク優先度レジスタ、及びまたは前記タスク制御
テーブルレジスタを外部メモリEMU上に仮想的に構成
し、これらレジスタに対するアクセスをタスク制御テー
ブルポインタ内に保持されたアドレスを使って参照する
ことにより、よりハードウェア量を削減した構成で、上
記と同様の効果を実現できる。
【0120】更に、本発明によれば、プライオリティ・
エンコーダにより、レディー・レジスタの内容を入力し
て、各ビットの内容をタスク優先度の降順に検索して、
実行可能状態を示すビットに対応するタスク優先度を割
り出して出力し、ディスパッチ・リクエスタにより、プ
ライオリティ・エンコーダから出力されるタスク優先度
が変化した時に、ディスパッチ要求信号を命令実行ユニ
ットに送出することとしたので、無駄なディスパッチ処
理を起動させることなく、より効率的なスケジューリン
グ処理を行うことができる。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】本発明のスケジューリング処理を説明する流れ
図であり、図2(1)はタスク実行の中断、図2(2)
はタスク実行の再開である。
【図3】本発明のディスパッチ処理を説明する流れ図で
ある。
【図4】本発明の第1の実施例に係る情報処理装置の構
成図である。
【図5】本発明の第2の実施例に係る情報処理装置の構
成図である。
【図6】本発明の第3の実施例に係る情報処理装置の構
成図である。
【図7】本発明の第4の実施例に係る情報処理装置の構
成図である。
【図8】従来の情報処理装置の構成図であり、ディスパ
ッチ処理の説明図である。
【図9】スケジューリング処理の説明図である。
【図10】従来例のスケジューリングの処理を説明する
流れ図であり、図10(1)はタスク実行の中断、図1
0(2)はタスク実行の再開である。
【図11】従来例のディスパッチ処理を説明する流れ図
である。
【符号の説明】
IPA 情報処理装置 EXU 命令実行ユニット CTXREG,CTXREG0〜CTXREG7 コン
テキストレジスタ PC プログラムカウンタ SP スタックポインタ PSW プログラムステータスワードレジスタ GENREG 汎用レジスタ RDYREG レディー・レジスタ PRIREG タスク優先度レジスタ TCTREG タスク制御テーブルレジスタ DSPREQ ディスパッチ・リクエスタ TCTPTR タスク制御テーブルポインタ PRIENC プライオリティ・エンコーダ EMU 外部メモリ TCB,TCB0〜TCB7 タスク制御ブロック EXTBUS 外部バス INBUS 内部バス IRS 割り込み信号 DRS ディスパッチ要求信号 QUEHDR キューヘッダ TSKPRI タスク優先度 TASK,TASK0〜TASK7 タスク SCHEDULE,SCHEDULE’ スケジューリ
ング処理 SUSTSK,SUSTSK’ タスク実行の中断処理 RSMTSK,RSMTSK’ タスク実行の再開処理 DISPATCH,DISPATCH’ ディスパッチ
処理 INTHDR 割り込みハンドラ

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 コンテキストレジスタを備え、前記コン
    テキストレジスタの内容を書き換えながら、それぞれ異
    なるタスク優先度を持つ複数のタスクを時分割で実行す
    る命令実行ユニットと、 前記命令実行ユニットが実行する各タスクのタスク制御
    ブロックを保持する外部メモリと、 複数のビットを備え、各ビット位置が、前記命令実行ユ
    ニットが実行する各タスクのタスク優先度に対応し、各
    ビット内容は、対応するタスクが実行可能または不可能
    の何れの状態であるかを示し、前記命令実行ユニットか
    らの指示により、各ビットの操作が可能であるレディー
    ・レジスタと、 前記命令実行ユニットが現在実行しているタスクのタス
    ク優先度を保持するタスク優先度レジスタと、 複数の要素を備え、各要素の位置が、前記命令実行ユニ
    ットが実行する各タスクのタスク優先度に対応し、各要
    素の内容として、対応するタスクのタスク制御ブロック
    のアドレスを保持するタスク制御テーブルレジスタと、 前記レディー・レジスタの内容が変化した時、ディスパ
    ッチ要求信号を前記命令実行ユニットに送出するディス
    パッチ・リクエスタとを有し、 前記命令実行ユニットは、前記ディスパッチ要求信号を
    受けとると、前記コンテキストレジスタの内容を、前記
    タスク優先度レジスタが示すタスク優先度に対応するタ
    スク制御ブロックに保存し、前記レディー・レジスタの
    各ビットの内容をタスク優先度の降順に検索して実行可
    能状態を示すビットに対応するタスク優先度を割り出
    し、該タスク優先度を前記タスク優先度レジスタに書き
    込み、該タスク優先度に対応するタスク制御ブロックの
    内容を前記コンテキストレジスタに読み込み、該タスク
    制御ブロックの内容に従ってタスクを実行することを特
    徴とする情報処理装置。
  2. 【請求項2】 複数のコンテキストレジスタを備え、前
    記コンテキストレジスタの1つを選択して、該コンテキ
    ストレジスタの内容を書き換えながら、それぞれ異なる
    タスク優先度を持つ複数のタスクを時分割で実行する命
    令実行ユニットと、 複数のビットを備え、各ビット位置が、前記命令実行ユ
    ニットが実行する各タスクのタスク優先度に対応し、各
    ビット内容は、対応するタスクが実行可能または不可能
    の何れの状態であるかを示し、前記命令実行ユニットか
    らの指示により、各ビットの操作が可能であるレディー
    ・レジスタと、 前記命令実行ユニットが現在実行しているタスクのタス
    ク優先度を保持するタスク優先度レジスタと、 前記レディー・レジスタの内容が変化した時、ディスパ
    ッチ要求信号を前記命令実行ユニットに送出するディス
    パッチ・リクエスタとを有し、 前記命令実行ユニットは、前記ディスパッチ要求信号を
    受けとると、前記レディー・レジスタの各ビットの内容
    をタスク優先度の降順に検索して実行可能状態を示すビ
    ットに対応するタスク優先度を割り出し、該タスク優先
    度を前記タスク優先度レジスタに書き込み、該タスク優
    先度に対応する前記コンテキストレジスタを選択してタ
    スクを実行することを特徴とする情報処理装置。
  3. 【請求項3】 前記情報処理装置は、前記レディー・レ
    ジスタ、前記タスク優先度レジスタ、及びまたは前記タ
    スク制御テーブルレジスタのアドレスを保持するタスク
    制御テーブルポインタを有することを特徴とする請求項
    1または2に記載の情報処理装置。
  4. 【請求項4】 前記情報処理装置は、前記レディー・レ
    ジスタの内容を入力して、各ビットの内容をタスク優先
    度の降順に検索して、実行可能状態を示すビットに対応
    するタスク優先度を割り出して出力するプライオリティ
    ・エンコーダを有し、 前記ディスパッチ・リクエスタは、前記プライオリティ
    ・エンコーダから出力されるタスク優先度が変化した
    時、ディスパッチ要求信号を前記命令実行ユニットに送
    出することを特徴とする請求項1、2、または3に記載
    の情報処理装置。
  5. 【請求項5】 前記情報処理装置は、当該情報処理装置
    の外部から供給される割り込み信号を有し、 前記命令実行ユニットは、前記割り込み信号に基づき、
    前記レディー・レジスタのビットを操作して、タスクの
    実行可能または不可能の状態を変更することを特徴とす
    る請求項1、2、3、または4に記載の情報処理装置。
JP18510593A 1993-07-27 1993-07-27 情報処理装置 Pending JPH0744404A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18510593A JPH0744404A (ja) 1993-07-27 1993-07-27 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18510593A JPH0744404A (ja) 1993-07-27 1993-07-27 情報処理装置

Publications (1)

Publication Number Publication Date
JPH0744404A true JPH0744404A (ja) 1995-02-14

Family

ID=16164948

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18510593A Pending JPH0744404A (ja) 1993-07-27 1993-07-27 情報処理装置

Country Status (1)

Country Link
JP (1) JPH0744404A (ja)

Similar Documents

Publication Publication Date Title
JPH05173783A (ja) 命令パイプラインをドレーンさせるためのシステムおよび方法
JPH03286332A (ja) デジタルデータ処理装置
JPS59167761A (ja) 計算機システム
EP0290942B1 (en) Guest machine execution control system for virtual machine system
JPH06131181A (ja) 階層並列処理型中央処理装置
US20070226172A1 (en) File-management apparatus, file-management method, and computer product
US20030014558A1 (en) Batch interrupts handling device, virtual shared memory and multiple concurrent processing device
JP2000353092A (ja) 情報処理装置及びそのレジスタファイル切替方法
US4816992A (en) Method of operating a data processing system in response to an interrupt
JPH0744404A (ja) 情報処理装置
JPH0754467B2 (ja) データ処理装置
JP3067253B2 (ja) データ処理装置
JP2552738B2 (ja) データ処理装置
JPH06324861A (ja) Cpu制御システム及び制御方法
JPS61184643A (ja) 仮想計算機の起動制御方式
JP2814683B2 (ja) 命令処理装置
JP2798275B2 (ja) 仮想記憶アドレス空間アクセス制御方式
US20020129229A1 (en) Microinstruction sequencer stack
JPS6240736B2 (ja)
JP2927102B2 (ja) 命令列切り替え方法及びそれを用いた演算プロセッサ
JP2576589B2 (ja) 仮想記憶アクセス制御方式
JPS59189452A (ja) デ−タ処理装置用キユ−構造
JPH0424828A (ja) マルチタスク管理方式
JPS60254328A (ja) デ−タ処理システムにおけるタスク処理方式
JPH0486923A (ja) タスク管理制御方式