JPH07244595A - プロセススイッチ制御装置およびプロセス制御方法 - Google Patents
プロセススイッチ制御装置およびプロセス制御方法Info
- Publication number
- JPH07244595A JPH07244595A JP3553594A JP3553594A JPH07244595A JP H07244595 A JPH07244595 A JP H07244595A JP 3553594 A JP3553594 A JP 3553594A JP 3553594 A JP3553594 A JP 3553594A JP H07244595 A JPH07244595 A JP H07244595A
- Authority
- JP
- Japan
- Prior art keywords
- switch
- state
- output
- input
- message
- 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
Links
Abstract
セススイッチ制御装置およびプロセス制御方法に関し,
マルチプロセッシング環境でのユーザレベルの入出力お
よびメッセージ通信を可能とし,低いオーバーヘッドの
入出力およびメッセージ通信を実現することを目的とす
る。 【構成】プロセススイッチを起こすことのできるフリー
状態とクリティカルな状態とを状態管理手段14により管
理し,これらの状態に応じてプロセススイッチを起こす
タイミングに幅を持たせ,現在実行中のプロセスが入出
力中またはメッセージ通信中のクリティカルな状態にあ
る場合には,スイッチ制御手段15によりプロセススイッ
チが起きないようにプロセスのスイッチ信号を制御す
る。
Description
割的に動作するマルチプロセッシング・システムにおけ
るプロセススイッチ制御装置および制御方法に関するも
のである。
ている。このような計算機システムでは,一般に複数の
プロセスが走行している。特に,計算性能を上げるため
に複数のシステムを接続して,相互に通信を行うシステ
ムも用いられており,この場合に利用されるメッセージ
通信は,計算性能を犠牲にしないためにもオーバーヘッ
ドができるだけ小さいことが要求される。同様に入出力
においてもオーバーヘッドが小さいことが要求される。
なお,ここでプロセスとはCPU実行権を得て走行する
計算機システムの実行単位をいい,この実行単位にはい
わゆるタスクと呼ばれるものも含まれる。
ロセスが走行している場合,一連の入出力(I/O)処
理にはオペレーティング・システム(以下,OSとい
う)を介在させる必要があった。しかし,OSを介在さ
せると,ユーザプロセスからOSへの制御移行に伴う処
理などのために,非常に計算機の処理時間がかかる。こ
のOSによるオーバーヘッドを削減するために,OSを
介さないユーザレベルの転送方式として,特開平3−1
50659号公報(データ転送方式),特開平5−23
3440号公報(バッファ機能を備えたデータ転送方
式)などに示される技術が知られている。
ッサ当たりメッセージを送信できるプロセスが一つであ
る場合に利用できる技術であり,マルチプロセッシング
環境では利用するのは難しかった。
ユーザレベルでメッセージ送信や,入出力操作を可能に
しようとした場合,マルチプロセッシング環境では,一
つの操作(例えばメッセージ送信)が複数のトランザク
ションに分割された場合に,トランザクションの間にプ
ロセススイッチが発生して,他のプロセスによる操作が
割り込み,一つの操作として意味を持たなくなってしま
うという問題があった。
2(A)は,一般のプロセススイッチを表している。タ
スクAが走行しているときに,プロセススイッチを起こ
す割り込みが入ると,OSがタスクBにCPU時間を与
えてタスクBが走り出す。
をStartからEndまでタスクAが行っている様子
を表している。ここで,タスクAが(1) に示すように入
出力を開始する前に,プロセススイッチを起こす割り込
みがあった場合には,プロセススイッチによってCPU
実行権をタスクBに切り替えても何ら問題はない。これ
に対して,(2) に示すようにメッセージ送信や入出力
を,OSを介さずにユーザレベルでタスクAが行ってい
る最中(critical section) に,プロセススイッチを起
こす割り込みが発生すると,問題が発生する。
行われているために,ここで,プロセススイッチにより
タスクBがCPU時間を与えられて走行を開始すると,
タスクAと同様なメッセージ送信や入出力を行うことが
あり,タスクAの操作と競合が発生して正しい操作が行
われなくなる。
プロセッシング環境においても,OSを介さない効率の
高いメッセージの送信および入出力を可能とすることを
目的とする。
図である。図1(A)において,10はCPUおよびメ
モリなどからなる処理装置,11はマルチプロセッシン
グ環境を提供するオペレーティング・システム(O
S),12A,12BはCPU実行権を得て走行する計
算機システムの実行単位であるプロセス(以下の説明で
は,プロセスの例としてタスクを代表させて説明す
る),13はプロセスの切り替えを制御するプロセスス
イッチ制御装置,14はプロセスの切り替えを制御する
ための状態を管理する状態管理手段,15はプロセスを
切り替えるタイミング信号であるスイッチ信号(Switch)
の出力を制御するスイッチ制御手段,16はネットワー
ク等へのメッセージの転送を制御する転送制御装置,1
7はディスク装置等のI/Oデバイスを表す。
スが転送制御装置16によるメッセージ通信またはI/
Oデバイス17に対する入出力を開始するというイベン
トを示す信号,Endは,現在実行中のプロセスが転送
制御装置16によるメッセージ通信またはI/Oデバイ
ス17に対する入出力を終了するというイベントを示す
信号,resetは,状態をクリアすることを指示する
信号,Switchは,プロセススイッチを起こすこと
を指示する信号を表す。
に,複数のプロセス(タスクA)12A,プロセス(タ
スクB)12B,…が時分割的にCPU時間を与えられ
て走行する。本発明では,これらの複数のタスクA,
B,…の走行を切り替えるために,状態管理手段14お
よびスイッチ制御手段15を持つプロセススイッチ制御
装置13を有する。
チ制御装置13の状態管理手段14は,少なくとも,プ
ロセススイッチを起こすことのできるフリー状態と,現
在実行中のプロセスが入出力中またはメッセージ通信中
であるためにプロセススイッチを起こすことを抑止する
スイッチ抑止状態とを含む状態を管理する。また,スイ
ッチ制御手段15は,前記状態に応じてプロセススイッ
チを起こすタイミングに幅を持たせ,前記スイッチ抑止
状態にあるときにはプロセススイッチが起きないように
プロセスのスイッチ信号を制御する。
4は,少なくとも,プロセススイッチを起こすことので
きるフリー状態と,現在実行中のプロセスが入出力中ま
たはメッセージ通信中であるためにプロセススイッチを
起こすことを抑止するスイッチ抑止状態と,プロセスス
イッチのトリガとなるタイマー・イベントが所定の時間
内に発生する状態になったことを示すスイッチ予告促進
状態とを含む状態を管理する。また,スイッチ制御手段
15は,前記状態に応じてプロセススイッチを起こすタ
イミングに幅を持たせ,前記スイッチ抑止状態にあると
きにはプロセススイッチが起きないようにプロセスのス
イッチ信号を制御するとともに,前記スイッチ予告促進
状態において現在実行中のプロセスが入出力中またはメ
ッセージ通信中に入ることを示すイベントが発生したと
きには,そのプロセスが入出力中またはメッセージ通信
中に入る前にプロセスのスイッチ信号を出力する。
制御手段15は,前記スイッチ抑止状態においてプロセ
ススイッチを起こすためのタイマー・イベントまたはそ
の予告イベントが発生した場合に,プロセススイッチを
遅延させ,現在実行中のプロセスの入出力終了またはメ
ッセージ通信終了のイベントによりプロセスのスイッチ
信号を出力し,プロセススイッチを起こす手段を備え
る。
制御手段15は,前記スイッチ抑止状態におけるプロセ
ススイッチの遅延が所定の時間を越えた場合には割り込
みを起こし,一つのプロセスが長時間にわたって実行権
を占有しないように制御する手段を備える。
イッチ制御手段15は,前記スイッチ抑止状態において
非同期な外部割り込みがあった場合に,その割り込みの
発生を遅延させ,現在実行中のプロセスの入出力終了ま
たはメッセージ通信終了のイベントが発生してから保留
した割り込みを発生させる手段を備える。
るプロセス,またはメッセージを送信もしくは受信する
プロセスを一つに制限するために,一つのプロセスが入
出力を開始またはメッセージの送信もしくは受信を開始
してからそれが終了するまでのクリティカルな状態を管
理し,そのクリティカルな状態における他の実行可能な
プロセスの入出力起動またはメッセージ送信/受信の開
始を抑止することにより,入出力またはメッセージの送
信もしくは受信を,マルチプロセッシング環境において
もユーザプログラムのレベルで起動可能とする。
るプロセス,またはメッセージを送信もしくは受信する
プロセスを一つに制限するために,所定のアドレス空間
のアクセス権を入出力を開始またはメッセージの送信も
しくは受信を開始したプロセスに与え,他の実行可能な
プロセスの前記アドレス空間へのアクセスを禁止し,前
記アクセス権を持つプロセスの入出力が終了またはメッ
セージの送信もしくは受信が終了したときに前記アクセ
ス権を変更することにより,入出力またはメッセージの
送信もしくは受信を,マルチプロセッシング環境におい
てもユーザプログラムのレベルで起動可能とする。
プロセススイッチ(タスクスイッチ)が起こるタイミン
グに幅を持たせることによって,プロセスが不可分な操
作を行っている間に,プロセススイッチが発生すること
を防ぐので,マルチプロセッシング環境下においてもメ
ッセージ送信/受信,入出力操作をユーザプログラムの
レベルで実行することができるようになる。
辺で,メッセージ送信/受信または入出力の起動がかか
った場合には,その起動を一時保留し,プロセススイッ
チを起こすようにするので,プロセススイッチの時間間
隔が極端に長くなるのを事前に防ぐことが可能になる。
出力中である場合には,プロセススイッチを起こすイベ
ントを遅延させ,メッセージ送信/受信または入出力の
終了イベントによってプロセススイッチを起こすことに
より,送信/受信または入出力途中でプロセススイッチ
が起きないように制御することができる。
トの遅延が,ある一定時間を越えた場合には,割り込み
を起こすことにより,一つのプロセスがCPU時間を極
端に長い時間占有しないようにすることができる。
メッセージ送信/受信または入出力中である場合には,
その割り込みの発生を遅延させることにより,プロセス
の不可分の処理を保証することが可能になる。
セージ送信/受信を開始してから,終了するまでの間
に,他のアクティブ(実行可能)なプロセスが入出力ま
たはメッセージ送信/受信を開始できないように,プロ
セスが使用権を持つアドレス空間のアクセス権を制御す
ることにより,入出力またはメッセージ送信/受信を行
うプロセスを一つに制限し,マルチプロセッシング環境
において,入出力またはメッセージ送信/受信を,複数
のプロセスからユーザプログラムのレベルで起動できる
ようにすることが可能になる。
態遷移説明図,図5および図6は本発明の実施例におけ
るプロセススイッチのタイミング説明図,図7は本発明
の実施例による非同期割り込みの制御説明図,図8は本
発明の実施例におけるアクセス権の制御説明図である。
例では,プロセススイッチ制御装置13は,図2(A)
に示すように,free状態およびused状態の二つ
の状態を管理する。free状態は,現在実行中のプロ
セスが入出力中でもメッセージ送信/受信中でもなく,
プロセススイッチを起こすことのできる状態である。u
sed状態は,現在実行中のプロセスが入出力中または
メッセージ送信/受信中であり,プロセススイッチを起
こすことを抑止しなければならない状態である。
ト信号reset)のイベントにより,プロセススイッ
チ制御装置13はfree状態になる。free状態に
おいて,現在実行中のプロセスが入出力またはメッセー
ジ送信/受信を開始するというイベントを示す信号St
artが入ると,許可信号ackを出力し,used状
態に遷移する。used状態においては,プロセススイ
ッチを発生させるイベントが発生してもプロセススイッ
チを起こさずに,現在実行中のプロセスが入出力または
メッセージ送信/受信を終了するというイベントを示す
信号Endが入ったときに,許可信号ackを出力する
とともに,プロセススイッチを起こすことを指示するス
イッチ信号Switchを処理装置10に対して出力
し,free状態に遷移する。
例では,プロセススイッチ制御装置13は,図2(B)
に示すように,free状態,used状態およびsw
itch状態の三つの状態を管理する。free状態
は,現在実行中のプロセスが入出力中でもメッセージ送
信/受信中でもなく,プロセススイッチを起こすことの
できる状態である。used状態は,現在実行中のプロ
セスが入出力中またはメッセージ送信/受信中であり,
プロセススイッチを起こすことを抑止しなければならな
い状態である。switch状態は,プロセススイッチ
のトリガとなるタイマー信号timerが所定の時間内
に発生する状態になったことを示すスイッチ予告促進状
態である。
ト信号reset)のイベントにより,プロセススイッ
チ制御装置13はfree状態になる。free状態に
おいて,現在実行中のプロセスが入出力またはメッセー
ジ送信/受信を開始するというイベントを示す信号St
artが入ると,許可信号ackを出力し,used状
態に遷移する。また,free状態において,プロセス
スイッチのトリガとなるタイマー信号timerが所定
の時間内に発生することを示す予告タイマー信号tim
er0が入ると,switch状態に遷移する。
チを発生させるイベントが発生してもプロセススイッチ
を起こさずに,現在実行中のプロセスが入出力またはメ
ッセージ送信/受信を終了するというイベントを示す信
号Endが入ったときに,許可信号ackを出力すると
ともに,プロセススイッチを起こすことを指示するスイ
ッチ信号Switchを処理装置10に対して出力し,
free状態に遷移する。
ッチのトリガとなるタイマー信号timerが入ると,
スイッチ信号Switchを出力してプロセススイッチ
を起こし,free状態に遷移する。また,現在実行中
のプロセスが入出力またはメッセージ送信/受信を開始
するというイベントを示す信号Startが入ると,許
可信号ackを出力するとともに,スイッチ信号Swi
tchを出力し,他の実行可能なプロセスに強制的にス
イッチさせて,free状態に遷移する。また,swi
tch状態でリセット信号resetが入ったときに
は,許可信号ackを出力し,free状態に遷移す
る。
動作例を示している。タスクAがfree状態で走行中
に予告タイマー信号timer0が入ると,switc
h状態に遷移する。このとき,タスクAが入出力または
メッセージ送信/受信を開始しようとすると,そのイベ
ントを示す信号Startが検出されるが,switc
h状態になっているので,タスクスイッチを起こし,タ
スクAからCPU実行権を奪って他の実行可能なタスク
BにCPU実行権を与える。
例では,プロセススイッチ制御装置13は,図2(C)
に示すように,free状態,used状態,swit
ch状態およびswitch0状態の四つの状態を管理
する。free状態,used状態,switch状態
は,前述した図2(B)に示す状態と同様である。sw
itch0状態は,used状態において,予告タイマ
ー信号timer0が入ったときに遷移するスイッチ準
備状態である。
ト信号reset)のイベントにより,プロセススイッ
チ制御装置13はfree状態になる。free状態に
おいて,現在実行中のプロセスが入出力またはメッセー
ジ送信/受信を開始するというイベントを示す信号St
artが入ると,許可信号ackを出力し,used状
態に遷移する。また,free状態において,プロセス
スイッチのトリガとなるタイマー信号timerが所定
の時間内に発生することを示す予告タイマー信号tim
er0が入ると,switch状態に遷移する。
セスが入出力またはメッセージ送信/受信を終了すると
いうイベントを示す信号Endが入ったときに,許可信
号ackを出力し,free状態に遷移する。一方,u
sed状態において,予告タイマー信号timer0が
入ると,プロセススイッチの準備のためにswitch
0状態に遷移する。
ロセスが入出力またはメッセージ送信/受信を終了する
というイベントを示す信号Endが入ると,許可信号a
ckを出力するとともに,プロセススイッチを起こすこ
とを指示するスイッチ信号Switchを処理装置10
に対して出力し,free状態に遷移する。
状態における状態遷移は,図2(B)で説明した状態遷
移と同様である。図5(B)は,この第3の実施例にお
ける動作例を示している。タスクAが入出力またはメッ
セージ送信/受信を開始し,used状態になっている
ときに,予告タイマー信号timer0が入ると,sw
itch0状態に遷移する。switch0状態になる
と,その後のプロセススイッチは遅延され,タスクAが
入出力またはメッセージ送信/受信を終了したことを示
す信号Endによってタスクスイッチを起こし,タスク
BにCPU実行権が与えられる。
例では,プロセススイッチ制御装置13は,図3(A)
に示すように,free状態,used状態,swit
ch状態およびswitch0状態の四つの状態を管理
する。free状態,used状態,switch状態
における状態遷移は,図2(C)に示す状態遷移と同様
である。switch0状態についても,図2(C)の
例とほぼ同様であるが,プロセススイッチを遅延させる
スイッチ抑止状態(used状態またはswitch0
状態)において,現在実行中のプロセスが長時間にわた
ってCPU時間を占有してしまうことを防ぐために,あ
る一定時間が経過した場合にはCPUに対して割り込み
信号Interruptを出力してfree状態に戻
す。
動作例を示している。タスクAが入出力(I/O)を開
始している場合には,タスクスイッチをある時間(Ti
meOut)だけ引き延ばし,入出力が終わるのを期待
する。その時間内に終わらない場合には,その入出力を
中断し,必要に応じてタスクAに関する処理途中の情報
を保存して,タスクBにタスクスイッチする。
例では,プロセススイッチ制御装置13は,図3(B)
に示すように,free状態,used状態およびma
sk状態の三つの状態を管理する。free状態,us
ed状態については,前述の例と同様である。mask
状態は,used状態において非同期な外部割り込みE
xInterruptがあった場合に遷移する状態であ
る。非同期な外部割り込みExInterruptがあ
った場合にused状態からmask状態に遷移するこ
とにより,その非同期な外部割り込みの発生を遅延さ
せ,ある一定の時間が経過したことを示すタイムアウト
のイベント(TO:timeout),あるいは現在実
行中のプロセスの入出力またはメッセージ通信終了のイ
ベントを示す信号Endによって,保留していた割り込
みの信号Interruptを処理装置10に送出す
る。
の非同期割り込み制御回路の例を示す。従来の通常の非
同期割り込みでは,図7(A)に示すように,非同期割
り込み等の割り込み信号は,OR回路60により論理的
にORされ,CPUに対して与えられる。これに対し,
本実施例では,例えば図7(B)に示すような制御回路
が用いられる。現在実行中のタスクが入出力(またはメ
ッセージ通信)を開始するときに,I/O Start
の信号によってセット/リセットフリップフロップ61
をセットし,入出力実行中であることを記憶しておく。
この状態のときには,セット/リセットフリップフロッ
プ61の出力であるmaskの反転信号は0であり,O
R回路60の出力はAND回路62によってマスクさ
れ,CPUに割り込みがかかるのが抑止される。これに
よって,現在実行中のタスクがクリティカルな入出力を
行っている最中に,非同期割り込み等が発生するのを防
ぐことができる。実行中の入出力が終了すると,I/O
End信号によってセット/フリップフロップ61が
リセットされ,割り込みのマスクは解除される。
例では,プロセススイッチ制御装置13は,図4(A)
に示すように,free状態,used状態の二つの状
態を管理する。本実施例では,例えば一つのプロセスが
メッセージを送出し始めてから,送出し終わるまでの間
に,他のアクティブ(実行可能)なプロセスがメッセー
ジの送出を行えないようにするために,次のように制御
する。
トreset)のイベントにより,プロセススイッチ制
御装置13はfree状態になる。free状態におい
て,現在実行中のプロセスが入出力またはメッセージ送
信/受信を開始するというイベントを示す信号Star
tが入ると,許可信号ackを出力し,used状態に
遷移する。used状態においては,他のアクティブ
(実行可能)なプロセスが入出力の起動またはメッセー
ジ通信の開始を指示し,入出力またはメッセージ送信/
受信を開始するというイベントを示す信号Startを
出力しても,不許可信号nackが返される。そして,
現在実行中のプロセスが入出力またはメッセージ送信/
受信を終了するというイベントを示す信号Endが入っ
たときに,許可信号ackを出力するとともに,プロセ
ススイッチを起こすことを指示するスイッチ信号Swi
tchを処理装置10に対して出力し,free状態に
遷移する。
動作例を示している。タスクA,タスクB,タスクCが
走行可能状態であったとする。本実施例は,例えばタス
クAが入出力(I/O)処理を開始した状態で,タスク
BやタスクCにCPU実行権が切り替わった場合には,
タスクBやタスクCに対してI/Oにアクセスする権利
を与えないようにするものである。図6(B)に示す動
作例では,タスクAが入出力処理を終えた後に,タスク
Bが入出力処理を開始している。
例では,例えば図8(A)に示すように,タスクA,タ
スクB,タスクCが走行可能状態にある場合に,入出力
(I/O)を起動できるアドレス空間(User accessibl
e I/O)を,タスクAのみに解放して,他のタスクB,C
からはこのアドレス空間にアクセスできないようにアク
セス権を制限する。アクセス権の制限は,例えば主記憶
保護などの周知の技術を用いて実現することができる。
セス権が制限されているタスクB,CがI/Oをアクセ
スしようとすると,例えば割り込みを発生させてOSに
制御を移し,OSは割り込みを起こしたタスクBまたは
タスクCの状態を変化させ(I/O待ちなど),タスク
AのI/Oが終了するまで,I/O待ちなどの状態にあ
るタスクB,CにCPU時間を与えないようにする。図
4(B)はその例における状態遷移を示している。タス
クAのI/Oの開始により,free状態からused
状態に遷移する。このused状態において,他のタス
クB,CがI/Oを起動しようとしても,タスクスイッ
チによってI/O待ちになる。タスクAのI/Oが終了
するとfree状態に戻り,他のタスクB,CのI/O
の起動が可能になる。
るためのシステム構成の例を示している。図中,50は
CPU,51はメモリ制御装置(MMU),52はメモ
リを表す。メモリ制御装置51は,CPU50が出すア
ドレスをチェックする機構を持つ。OSは,どのタスク
がI/O領域にアクセスできるかをメモリ制御装置51
のモジュールに設定しておく。これにより,アクセス権
のないタスクが発行したアドレスが不適切である場合に
は,割り込み(Interrupt)を発生させ,タス
クスイッチを起こす。メモリ制御装置51によるアクセ
ス保護機能の利用はマルチタスクの環境では一般的であ
り,本実施例を実現するための装置の変更はほとんど必
要がない。もちろん,これと同等な機能を持つアクセス
チェック機構によって本実施例を実現することも可能で
ある。
セススイッチ制御装置の構成例を示す図であり,図9
(B)はプロセススイッチ制御装置におけるカウンタの
出力説明図である。また,図10および図11は,プロ
セススイッチ制御装置におけるステートマシンの実現方
法説明図である。
であるプロセス制御装置の構成例について説明する。図
9(A)において,90はステートマシン(FSM)で
あって,有限な状態を管理し入力信号によって状態を遷
移させるとともに,そのときの状態と入力信号とに応じ
て各種の制御信号を出力する装置である。91はCPU
が出すアドレスをデコードするデコーダ(DEC),9
2はCPUのクロックclkをカウントし,所定の値に
なったときに予告タイマー信号timer0を出力する
第1のカウンタ(counter0),93はクロック
clkをカウントし,所定の値になったときにプロセス
スイッチのトリガとするタイマー信号timerを出力
する第2のカウンタ(counter)を表す。
命令は,この例では,CPUが出すアドレスによって検
出される。デコーダ91は,そのようなアドレスをデコ
ードすることによって,CPUのクリティカルな操作の
開始時(I/Oの開始,メッセージ送出の開始等)に信
号Startを生成し,クリティカルな操作の終了時に
信号Endを生成する。同様に,リセット信号rese
tもCPUが出す特定のアドレスによって生成する。
ウンタ93は,CPUのクロックclkを分周し設定さ
れた時間に,それぞれ予告タイマー信号timer0お
よびタイマー信号timerをアクティブにする。この
カウンタ出力信号のタイミングは,例えば図9(B)に
示すようになっており,タイマー信号timerがアク
ティブになる所定の時間前に,予告タイマー信号tim
er0がアクティブになるように設定されている。タイ
マー信号timerがアクティブになる時間間隔は,通
常の場合におけるプロセススイッチの時間間隔に一致
し,この時間はCPUのクロックclkに対して十分に
長い時間である。
され,ステートマシン90によって,例えば図2(C)
に示すような状態遷移に応じてack(nack),S
witchの信号が生成される。CPUは許可信号ac
kを受け取ると正常にバストランザクションが終了(成
功)したことを認識する。許可信号ackが出力されな
かった(または不許可信号nackが出力された)場
合,CPUはアクセスが正常に終了していないことを認
識して,リトライを行うか停止する。また,スイッチ信
号Switchによって,他のプロセスを実行するため
のプロセススイッチを起こす。
0および図11に示すようなハードウェア記述言語をコ
ンパイルすることによって,容易に実現することができ
る。図10および図11は,ハードウェア記述言語の一
つとして周知のVerilogを用いて第4の実施例に
おける状態遷移を実現するものを示している。Veri
logはよく知られた言語であるので詳しい説明を省略
し,ここでは図10および図11による表現の概要だけ
を簡単に説明する。
の定義文である。第3行目は,入力信号を示す。ここで
intは,図2においてinitialとして示されて
いる初期化信号である。第4行目は,出力信号を示す。
の状態nstateを管理するレジスタを定義してい
る。第8行目は,2ビットでfree状態(FREE=
“00”), used状態(USED=“01”),
switch0状態(SWITCH0=“10”),s
witch状態(SWITCH=“11”)の状態を表
すことを定義している。これらの状態管理は2個のフリ
ップフロップで実現される。
e,end,start,reset,timer,t
imer0またはintにより,次の状態がどのように
遷移するかを示している。
kおよびswitchの信号を出力する条件を示してい
る。ここでは,第4の実施例を代表させて,図9(A)
に示すステートマシン90を実現するVerilog記
述の例を示したが,他の実施例におけるステートマシン
の状態遷移についても,以上説明した例から推測して当
業者であれば容易に実現可能であるので,個々の実現例
のこれ以上の詳しい説明は省略する。図10および図1
1に示すVerilog記述をコンパイルすることによ
って,図9(A)に示すステートマシン90を実現する
論理回路を自動設計する技術は確立されている。
ユーザレベルでのメッセージの送出や,I/Oの実現に
おけるプロセススイッチに関する問題を解決することに
よって,マルチプロセッシング環境下でも,ユーザレベ
ルで直接メッセージの送出やI/Oを制御することがで
き,低いオーバーヘッドでこれらを実現することが可能
になる。したがって,計算機の性能を効率よく引き出す
ことが可能となる。特に,プロセッサ間のメッセージ通
信が頻繁に現れるような並列計算機システム等において
は性能向上の効果が大きい。
る。
る。
る。
イミング説明図である。
イミング説明図である。
明図である。
図である。
置の構成例を示す図である。
装置におけるステートマシンの実現方法説明図である。
装置におけるステートマシンの実現方法説明図である。
Claims (7)
- 【請求項1】 複数のプロセスが時分割的に動作するマ
ルチプロセッシング・システムにおいて用いられるプロ
セススイッチ制御装置であって,少なくとも,プロセス
スイッチを起こすことのできるフリー状態と,現在実行
中のプロセスが入出力中またはメッセージ通信中である
ためにプロセススイッチを起こすことを抑止するスイッ
チ抑止状態とを含む状態を管理する状態管理手段(14)
と,前記状態に応じてプロセススイッチを起こすタイミ
ングに幅を持たせ,前記スイッチ抑止状態にあるときに
はプロセススイッチが起きないようにプロセスのスイッ
チ信号を制御するスイッチ制御手段(15)とを備えたこと
を特徴とするプロセススイッチ制御装置。 - 【請求項2】 複数のプロセスが時分割的に動作するマ
ルチプロセッシング・システムにおいて用いられるプロ
セススイッチ制御装置であって,少なくとも,プロセス
スイッチを起こすことのできるフリー状態と,現在実行
中のプロセスが入出力中またはメッセージ通信中である
ためにプロセススイッチを起こすことを抑止するスイッ
チ抑止状態と,プロセススイッチのトリガとなるタイマ
ー・イベントが所定の時間内に発生する状態になったこ
とを示すスイッチ予告促進状態とを含む状態を管理する
状態管理手段(14)と,前記状態に応じてプロセススイッ
チを起こすタイミングに幅を持たせ,前記スイッチ抑止
状態にあるときにはプロセススイッチが起きないように
プロセスのスイッチ信号を制御するとともに,前記スイ
ッチ予告促進状態において現在実行中のプロセスが入出
力中またはメッセージ通信中に入ることを示すイベント
が発生したときには,そのプロセスが入出力中またはメ
ッセージ通信中に入る前にプロセスのスイッチ信号を出
力するスイッチ制御手段(15)とを備えたことを特徴とす
るプロセススイッチ制御装置。 - 【請求項3】 請求項1または請求項2記載のプロセス
スイッチ制御装置において,前記スイッチ制御手段(15)
は,前記スイッチ抑止状態においてはプロセススイッチ
を遅延させ,現在実行中のプロセスの入出力終了または
メッセージ通信終了のイベントによりプロセスのスイッ
チ信号を出力し,プロセススイッチを起こす手段を備え
たことを特徴とするプロセススイッチ制御装置。 - 【請求項4】 請求項3記載のプロセススイッチ制御装
置において,前記スイッチ制御手段(15)は,前記スイッ
チ抑止状態におけるプロセススイッチの遅延が所定の時
間を越えた場合には割り込みを起こし,一つのプロセス
が実行権を占有しないように制御する手段を備えたこと
を特徴とするプロセススイッチ制御装置。 - 【請求項5】 請求項3記載のプロセススイッチ制御装
置において,前記スイッチ制御手段(15)は,前記スイッ
チ抑止状態において非同期な外部割り込みがあった場合
に,その割り込みの発生を遅延させ,現在実行中のプロ
セスの入出力終了またはメッセージ通信終了のイベント
が発生してから保留した割り込みを発生させる手段を備
えたことを特徴とするプロセススイッチ制御装置。 - 【請求項6】 複数のプロセスが時分割的に動作するマ
ルチプロセッシング・システムにおけるプロセス制御方
法において,入出力を実行するプロセス,またはメッセ
ージを送信もしくは受信するプロセスを一つに制限する
ために,一つのプロセスが入出力を開始またはメッセー
ジの送信もしくは受信を開始してからそれが終了するま
でのクリティカルな状態を管理し,そのクリティカルな
状態においては他の実行可能なプロセスが入出力を開始
またはメッセージの送信もしくは受信を開始することを
抑止し,入出力またはメッセージの送信もしくは受信
を,マルチプロセッシング環境において複数のプロセス
からユーザプログラムのレベルで起動可能とすることを
特徴とするプロセス制御方法。 - 【請求項7】 複数のプロセスが時分割的に動作するマ
ルチプロセッシング・システムにおけるプロセス制御方
法において,入出力を実行するプロセスまたはメッセー
ジを送信もしくは受信するプロセスを一つに制限するた
めに,所定のアドレス空間のアクセス権を,入出力を開
始したプロセスまたはメッセージの送信もしくは受信を
開始したプロセスに与え,他の実行可能なプロセスの前
記アドレス空間へのアクセスを禁止し,前記アクセス権
を持つプロセスの入出力が終了またはメッセージの送信
もしくは受信が終了したときに前記アクセス権を変更
し,入出力またはメッセージの送信もしくは受信を,複
数のプロセスからユーザプログラムのレベルで起動可能
とすることを特徴とするプロセス制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03553594A JP3655648B2 (ja) | 1994-03-07 | 1994-03-07 | プロセススイッチ制御装置およびプロセス制御方法 |
US08/710,552 US6055559A (en) | 1994-03-07 | 1996-09-19 | Process switch control apparatus and a process control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03553594A JP3655648B2 (ja) | 1994-03-07 | 1994-03-07 | プロセススイッチ制御装置およびプロセス制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07244595A true JPH07244595A (ja) | 1995-09-19 |
JP3655648B2 JP3655648B2 (ja) | 2005-06-02 |
Family
ID=12444436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP03553594A Expired - Lifetime JP3655648B2 (ja) | 1994-03-07 | 1994-03-07 | プロセススイッチ制御装置およびプロセス制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3655648B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002132517A (ja) * | 2000-10-18 | 2002-05-10 | Canon Inc | 電子機器、カメラおよび視線入力装置 |
US7234142B1 (en) | 1999-06-09 | 2007-06-19 | Nec Corporation | Task processing system |
JP2007249519A (ja) * | 2006-03-15 | 2007-09-27 | Hitachi Software Eng Co Ltd | 任意アプリケーションによる外部記憶装置への情報持ち出し制御方法 |
JP2015097106A (ja) * | 2005-04-13 | 2015-05-21 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | マルチスレッドシステムの中でイベントを設定するための技術 |
-
1994
- 1994-03-07 JP JP03553594A patent/JP3655648B2/ja not_active Expired - Lifetime
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7234142B1 (en) | 1999-06-09 | 2007-06-19 | Nec Corporation | Task processing system |
JP2002132517A (ja) * | 2000-10-18 | 2002-05-10 | Canon Inc | 電子機器、カメラおよび視線入力装置 |
JP2015097106A (ja) * | 2005-04-13 | 2015-05-21 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | マルチスレッドシステムの中でイベントを設定するための技術 |
JP2007249519A (ja) * | 2006-03-15 | 2007-09-27 | Hitachi Software Eng Co Ltd | 任意アプリケーションによる外部記憶装置への情報持ち出し制御方法 |
Also Published As
Publication number | Publication date |
---|---|
JP3655648B2 (ja) | 2005-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4685312B2 (ja) | データ処理システムおよび電力節約方法 | |
JP2867717B2 (ja) | マイクロコンピュータ | |
JP3860209B2 (ja) | 直列割込みバス・プロトコル | |
US4218739A (en) | Data processing interrupt apparatus having selective suppression control | |
JPH077379B2 (ja) | 多重処理システムの割込み選択方式 | |
WO1999027434A1 (en) | Using firmware to enhance the functionality of a controller | |
US7451454B2 (en) | Event handling mechanism | |
US5974479A (en) | System for executing, canceling, or suspending a DMA transfer based upon internal priority comparison between a DMA transfer and an interrupt request | |
US6055559A (en) | Process switch control apparatus and a process control method | |
JPH07244595A (ja) | プロセススイッチ制御装置およびプロセス制御方法 | |
JPH11282815A (ja) | マルチスレッド計算機システム及びマルチスレッド実行制御方法 | |
US6990669B1 (en) | Real-time scheduler | |
JPH10283304A (ja) | 割り込み要求を処理する方法及びシステム | |
US20210240528A1 (en) | Apparatus and method for deferral scheduling of tasks for operating system on multi-core processor | |
JP3240863B2 (ja) | 調停回路 | |
JPH05289987A (ja) | バス権調停回路 | |
JP4079653B2 (ja) | クロック制御方法及びクロック制御回路 | |
JPH1139266A (ja) | マルチプロセッサ装置 | |
JPH0876876A (ja) | マイクロプロセッサのクロック供給制御回路 | |
JP2716055B2 (ja) | ベクトル処理装置の制御方式 | |
JP2825889B2 (ja) | マルチプロセッサシステムにおけるデッドロック回避回路 | |
JPH0744487A (ja) | マルチプロセッサシステム | |
JPH07219784A (ja) | 割り込み制御方式 | |
JPH03252886A (ja) | シングルチップマイクロコンピュータ | |
JPH10326266A (ja) | マイクロコンピュータ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040610 |
|
A131 | Notification of reasons for refusal |
Effective date: 20040629 Free format text: JAPANESE INTERMEDIATE CODE: A131 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040830 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Effective date: 20050301 Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Effective date: 20050304 Free format text: JAPANESE INTERMEDIATE CODE: A61 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 3 Free format text: PAYMENT UNTIL: 20080311 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090311 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100311 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 5 Free format text: PAYMENT UNTIL: 20100311 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110311 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 6 Free format text: PAYMENT UNTIL: 20110311 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 7 Free format text: PAYMENT UNTIL: 20120311 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130311 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 8 Free format text: PAYMENT UNTIL: 20130311 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140311 Year of fee payment: 9 |
|
EXPY | Cancellation because of completion of term |