JPH0387935A - タスクプリエンプション制御方式 - Google Patents

タスクプリエンプション制御方式

Info

Publication number
JPH0387935A
JPH0387935A JP22296189A JP22296189A JPH0387935A JP H0387935 A JPH0387935 A JP H0387935A JP 22296189 A JP22296189 A JP 22296189A JP 22296189 A JP22296189 A JP 22296189A JP H0387935 A JPH0387935 A JP H0387935A
Authority
JP
Japan
Prior art keywords
cpu
priority
task
dispatch
register
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
JP22296189A
Other languages
English (en)
Inventor
Eiji Ishibashi
石橋 英次
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 JP22296189A priority Critical patent/JPH0387935A/ja
Publication of JPH0387935A publication Critical patent/JPH0387935A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) この発明はマルチプロセッサ構成の計算機システムにお
けるタスクプリエンブション制御方式(従来の技術) マルチプロセッサ構成の計算機システムでは、タスク(
プロセス)にCPUを与える(割当てる)処理において
新しいタスクを実行させるには、空き状態のCPUがあ
ればそのCPUで、空き状態のCPUがなければ最も低
い優先度(プライオリティ)のタスクを実行させていた
CPUでタスクをディスパッチする処理が行われていた
。このように、優先度の低いタスクの実行を中断させて
、他にディスパッチすることをプリエンプション(Pr
eemptlon)という。
さて、ブリエンブションを行うのに際し、従来は自分以
外のCPUでディスパッチ処理を行わせる手段として、
相手CPUに割込んで強制的にディスパッチを行わせる
S I G P (SlgnalProcessor 
)命令を用いるのが一般的であった。
このために、ソフトウェア処理では、各CPUの状態(
正常/異常)、各CPUで実行中のタスクの優先度など
を管理し、これらの管理情報をもとにディスパッチさせ
るCPUを選択し、5IGP命令を発行するようになっ
ていた。
(発明が解決しようとする課題) 上記したように従来は、タスクプリエンプションを行う
ために、各CPUの状態、各CPUで実行中のタスクプ
ライオリティなどをCPU自身がチエツクし、5IGP
命令を発行しなければならず、処理のオーバヘッドが大
きいという問題があった。しかも、5IGP命令(SI
GP要求)を受信したCPUは、5IGP割込み処理を
経由してタスクディスパッチを行うために、この点での
オーバヘッドも問題であった。
この発明は上記事情に鑑みてなされたものでその目的は
、他のCPUで実行中のタスクのプライオリティや他の
CPUの状態などを知る必要もなしに、簡単にプリエン
ブション処理が行えるタスクプリエンブション制御方式
を提供することにある。
C発明の構成〕 (a題を解決するための手段) この発明は、各CPUで実行中のタスクのプライオリテ
ィを指示する第1の指示手段と、この第1の指示手段に
よって指示されたプライオリティがCPU単位で設定さ
れる第1のレジスタ手段と、新たにCPUを割当てるべ
きタスクが現れた場合にそのタスクのプライオリティを
指示する第2の指示手段と、この第2の指示手段によっ
て指示されたプライオリティが設定される第2のレジス
タ手段と、この第2のレジスタ手段に設定された値とC
PU単位の上記第1のレジスタ手段に設定された値とを
比較して、最も低いプライオリティのタスクを実行中の
CPUを選択し、同CPUに対してディスパッチを指示
するディスパッチ指示信号を出力する比較手段とを設け
、この比較手段からのディスパッチ指示信号によりディ
スパッチ割込みを発生するCPUによってプリエンプシ
ョン処理を行うようにしたことを特徴とする。
(作用) 上記の構成によれば、各CPUで実行中のタスクのプラ
イオリティがCPU単位で第1のレジスタ手段に設定さ
れ、新たにCPUを割当てるべきタスクのプライオリテ
ィが第2のレジスタ手段に設定される。そして、この第
2のレジスタ手段へのプライオリティ設定時に、その設
定値と第1のレジスタ手段に設定された値とが比較手段
によって比較される。この比較の結果、最も低いプライ
オリティのタスクを実行中のCPUが比較手段によって
選択されて、同CPUに対してディスパッチを指示する
ディスパッチ指示信号が出力され、同CPUはこのディ
スパッチ指示信号によってディスパッチ割込みを発生し
てブリエンブション処理を行う。
(実施例) 第1図はこの発明を適用するマルチプロセッサ構成の計
算機システムの一実施例を示すブロック構成図である。
同図において、10−1.10−2・・・10−nはC
PU、20はオペレーティングシステム(以下、O8と
称する)である。CP U 10−1〜10−nは、0
820からの実行中タスクのプライオリティ (ここで
はプライオリティ値が小さい程プライオリティが高いも
のとする)を指示する命令(以下、LEPR命令と称す
る)に応じて実行中タスクのプライオリティを後述する
実行プライオリティレジスタ31−1〜31−nに設定
すると共に、新たに割当てるべきタスクのプライオリテ
ィを指示する命令(以下、LDPR命令と称する)に応
じて同命令で指定されたプライオリティを後述するディ
スパッチレジスタ32に設定するプライオリティ設定機
能と、0S20からのディスパッチ指示信号によりディ
スパッチ割込みを発生させる機能とを有している。また
0320は、上記したLEPR命令並びにLDPR命令
の発行によりブリエンブション制御を指示すると共に、
ディスパッチ割込みによりタスクをディスパッチするよ
うになっている。
30はディスパッチさせるCPUを選択するためのブリ
エンプション制御回路である。プリエンブション制御回
路30は、CP U 10−1〜10−nで実行中のタ
スクのプライオリティが同じCP U 10−1〜10
−nによって設定されるレジスタ(実行プライオリティ
レジスタ) 31−1〜81−nと、新たに割当てるべ
きタスクのプライオリティがCP U to−1〜10
−nのいずれかによって設定されるレジスタ(ディスパ
ッチプライオリティレジスタ82とを有している。
ブリエンブション制御回路30は更に、実行プライオリ
ティレジスタ31−1〜31−nおよびディスパッチプ
ライオリティレジスタ32のうち、CP U to−1
〜10−nによって指示されたプライオリティ書込み対
象レジスタを選択するレジスタ選択回路33と、実行プ
ライオリティレジスタ31−1〜81−nの内容とディ
スパッチプライオリティレジスタ32の内容とを比較す
る比較回路34とを有している。比較回路34は、上記
比較により、ディスパッチさせるCPUを選択し、その
CPUにディスパッチ指示信号を出力するようになって
いる。
次に、第1図の構成の動作を、第2図および第3図のフ
ローチャートを適宜参照して説明する。
なお、第2図はタスクにCPUを与える処理を説明する
ためのフローチャート、第3図はタスクを起動する処理
を説明するためのフローチャートである。
まず、0820によるタスクに対するCPU割当て処理
について説明する。この処理は、CPU10−1 (t
は1〜nのいずれか)からのディスパッチ割込みによっ
て開始される。この場合、0820は現在実行中であっ
たタスクのプライオリティとCPU待ち状態のタスク(
即ちCPU割当て対象タスク)のプライオリティとを比
較し、タスク切換えが必要か(CPU待ち状態のタスク
のプライオリティの方が実行中タスクのプライオリティ
より高い場合)否か(CPU待ち状態のタスクのプライ
オリティの方が実行中タスクのプライオリティより低い
場合)を判断する(第2図ステップ81)。
もし、タスク切換えが必要な場゛合、OS 20は旧タ
スクのコンテキストをセーブし、且つ新タスク(新実行
タスク)のコンテキストをロードする(第2図ステップ
S2)。次にOS 20はCPU10−■に対してLE
PR命令を発行して新タスクのプライオリティをプリエ
ンブション制御回路30内の実行プライオリティレジス
タ31−1に設定させ(第2図ステップS3)、新タス
クへ制御を渡す。
これにより、新タスクが実行される。これに対してタス
ク切換えが不要な場合には、0320は実行すべきタス
クが存在するか否かの判断を行い(第2図ステップS4
)、実行すべきタスクが存在するならば、元のタスクに
制御を戻す。また、実行すべきタスクが存在しないなら
ば、0820は(次にCP U 1G−1が選択される
ように)CPUIO−1に対してLEPR命令を発行し
てシステムで存在する最下位プライオリティ値+1の値
(即ち更に低いプライオリティ値)を実行タスクプライ
オリティとしてプリエンブション制御回路30内の実行
プライオリティレジスタ31−1に設定させ(第2図ス
テップS5 ) 、CPUl0−1を待ち状態とする。
さて、0S20からLEPR命令が発行されたC P 
U 10−1は、ブリエンプション制御回路30のレジ
スタ選択回路33を介して自CPUに対応する実行プラ
イオリティレジスタ31−1に、LEPR命令のオペラ
ンドで指定されている値(実行プライオリティ)を設定
する。
次に、0820においてタスクを実行する必要性が生じ
た場合の動作を説明する。0820は、SVC(スーパ
バイザコール)命令などによってタスク起動が要求され
ると、対象タスク(実行すべきタスク)の待ちを解除し
、対象タスクをc p trio−t < tは1〜n
のいずれか)の割当て待ち状態とする(第3図ステップ
S 11)。そして0820は、CP U 10−1に
対してLDPR命令を発行して上記対象タスクのプライ
オリティをブリエンプション制御回路30内のディスパ
ッチプライオリティレジスタ32に設定させ(第2図ス
テップ512)、ディスパッチを促す。
さて、0820からLDPR命令が発行されたC P 
U 10−1は、ブリエンプション制御回路30のレジ
スタ選択回路33を介してディスパッチプライオリティ
レジスタ82に、LDPR命令のオペランドで指定され
ている値(実行すべきタスクのプライオリティ)を設定
する。このレジスタ32に対するプライオリティ設定動
作が行われると、その動作に同期して比較回路34によ
り以下に述べる比較動作が行われる。即ち比較回路34
は、実行プライオリティレジスタat−t〜31−nの
内容をEPRI〜EPRnとし、ディスパッチプライオ
リティレジスタ32の内容DPRとすると、まずEPR
I〜EPRnの大小を比較して値が最も大きい(即ちプ
ライオリティが最も低い)EPRj(jは1〜nのいず
れか)を選択する。次に比較回路34は、選択したEP
RjとDPRとの大小を比較し、EPRj kDPHの
関係が成立する場合だけ、即ちEPRjで示されるプラ
イオリティがDPRで示されるプライオリティに対して
同等以下の場合だけ、(EPRjを保持している実行プ
ライオリティレジスタ31−jに対応する)CPUIO
−jにディスパッチ指示信号を出力する。CP U 1
G−jはプリエンブション制御回路30の比較回路34
からのディスパッチ指示信号に応じてディスパッチ割込
みを発生する。この結果、前記したようにOS 2Gに
よるタスクに対するCPU割当て処理が開始される。
なお、空き状態にあるCPUが存在する場合には、その
空きCPUを、上記の比較回路34の動作に無関係に、
実行すべきタスクに割当てることは可能である。
[発明の効果] 以上詳述したようにこの発明によれば、マルチプロセッ
サ構成の計算機システム上の各CPUで実行中のタスク
のプライオリティがCPU別に設定される第1のレジス
タ手段と、新たにCPUを割当てるべきタスクが出現し
た場合に、そのタスクのプライオリティが設定されるm
2のレジスタ手段と、この第2のレジスタ手段の示す値
と上記各CPU毎の第1のレジスタ手段の示す値とを比
較する比較手段とを設け、第1のレジスタ手段によって
示される各CPU毎のプライオリティのうち、最も低い
プライオリティであつ工上記第2のレジスタ手段の示す
プライオリティと同等以下のプライオリティを持つタス
クを実行中のCPUを選択し、同CPUに対してディス
パッチを指示するディスパッチ指示信号を出力すること
により、こノティスパッチ指示信号を受けたCPUがデ
ィスパッチ割込みを起す構成としたので、各CPUは、
他CPUで実行中のタスクのプライオリティ更には他C
PUの状態などを知る必要がなく、簡単にブリエンブシ
ョン処理が実現できる。また、各CPUにおいては他C
PUでディスパッチ処理を行わせることが不必要となり
、従来のように他CPUに割込んで強制的にディスパッ
チを行わせるための命令(SIGP命令)を使用する必
要がなくなるため、同命令の送受信に伴う両CPUのオ
ーバヘッドが解消される。
【図面の簡単な説明】
第1図はこの発明を適用するマルチプロセッサ構成の計
算機システムの一実施例を示すブロック構成図、第2図
はタスクにCPUを与える処理を説明するためのフロー
チャート、第3図はタスクを起動する処理を説明するた
めのフローチャートである。 10−1〜l O−n・・・CPU、2G・・・オペレ
ーティングシステム(O8)、30・・・ブリエンブシ
ョン制御回路、31−1〜31−n・・・実行プライオ
リティレジスタ、82・・・ディスパッチプライオリテ
ィレジスタ、33・・・レジスタ選択回路、34・・・
比較回路。

Claims (1)

  1. 【特許請求の範囲】 マルチプロセッサ構成の計算機システムにおいて、 各CPUで実行中のタスクのプライオリティを指示する
    第1の指示手段と、 この第1の指示手段によって指示されたプライオリティ
    が上記CPU単位で設定される第1のレジスタ手段と、 新たにCPUを割当てるべきタスクのプライオリティを
    指示する第2の指示手段と、 この第2の指示手段によって指示されたプライオリティ
    が設定される第2のレジスタ手段と、この第2のレジス
    タ手段に上記プライオリティが設定された際に、この第
    2のレジスタ手段の示す値と上記各CPU毎の第1のレ
    ジスタ手段の示す値とを比較して、最も低いプライオリ
    ティであって上記第2のレジスタ手段の示す値と同等以
    下のプライオリティを持つタスクを実行中のCPUを選
    択し、同CPUに対してディスパッチを指示するディス
    パッチ指示信号を出力する比較手段と、 を具備し、上記ディスパッチ指示信号を受けたCPUが
    ディスパッチ割込みを起すように構成されていることを
    特徴とするタスクプリエンプション制御方式。
JP22296189A 1989-08-31 1989-08-31 タスクプリエンプション制御方式 Pending JPH0387935A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22296189A JPH0387935A (ja) 1989-08-31 1989-08-31 タスクプリエンプション制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22296189A JPH0387935A (ja) 1989-08-31 1989-08-31 タスクプリエンプション制御方式

Publications (1)

Publication Number Publication Date
JPH0387935A true JPH0387935A (ja) 1991-04-12

Family

ID=16790596

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22296189A Pending JPH0387935A (ja) 1989-08-31 1989-08-31 タスクプリエンプション制御方式

Country Status (1)

Country Link
JP (1) JPH0387935A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06231100A (ja) * 1992-12-10 1994-08-19 Nec Corp プロセスディスパッチ方法
JP2006259968A (ja) * 2005-03-16 2006-09-28 Seiko Epson Corp プロセッサ及びこのプロセッサ適用される割込み処理制御方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5285444A (en) * 1976-01-09 1977-07-15 Agency Of Ind Science & Technol Information processing system
JPS5697169A (en) * 1979-12-29 1981-08-05 Fujitsu Ltd Multidata processing system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5285444A (en) * 1976-01-09 1977-07-15 Agency Of Ind Science & Technol Information processing system
JPS5697169A (en) * 1979-12-29 1981-08-05 Fujitsu Ltd Multidata processing system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06231100A (ja) * 1992-12-10 1994-08-19 Nec Corp プロセスディスパッチ方法
JP2006259968A (ja) * 2005-03-16 2006-09-28 Seiko Epson Corp プロセッサ及びこのプロセッサ適用される割込み処理制御方法

Similar Documents

Publication Publication Date Title
US5394547A (en) Data processing system and method having selectable scheduler
US7590990B2 (en) Computer system
JPH0387935A (ja) タスクプリエンプション制御方式
JPH05108380A (ja) データ処理システム
JP2636722B2 (ja) マルチタスク実行管理方式
JP2597283B2 (ja) 割込みにおけるスケジューリング方式
JPS63636A (ja) タスク制御方式
JPH04257915A (ja) 情報処理装置
JP2000047881A (ja) リアルタイムシステム
JPH07114518A (ja) マルチプロセッサシステムにおけるタスクスケジューリング方式
JPH0644234B2 (ja) タスク管理装置
JPH01258135A (ja) トランザクション実行制御方式
JPH09106358A (ja) 仮想計算機システムのスケジューリング方法および装置
US5430880A (en) Apparatus and method for controlling the time assignment of the processing power of a data processing system
JPH08329022A (ja) マルチプロセッサシステムの入出力処理負荷分散制御方式
JPH03252824A (ja) パッチjob実行多重度制御方式
JP2001282555A (ja) コンピュータシステムのプロセス管理方式
JPH031243A (ja) タイムシェアリングシステム
JPH08292956A (ja) データベース管理装置及びデータベース管理方法
JP2000029850A (ja) オペレーティングシステムのプロセッサ間通信を使用したタスク制御方法
JPH02196359A (ja) データ処理システム
JPS61160147A (ja) 仮想計算機制御方式
JPS63257830A (ja) 疎結合計算機システム
JPH03223955A (ja) 情報処理システム
JPS60189564A (ja) 資源使用の逐次化制御方式