JPH0242559A - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPH0242559A JPH0242559A JP19271388A JP19271388A JPH0242559A JP H0242559 A JPH0242559 A JP H0242559A JP 19271388 A JP19271388 A JP 19271388A JP 19271388 A JP19271388 A JP 19271388A JP H0242559 A JPH0242559 A JP H0242559A
- Authority
- JP
- Japan
- Prior art keywords
- program
- instruction
- call
- execution
- information processing
- 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
Links
- 230000010365 information processing Effects 0.000 claims description 9
- 230000006870 function Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000000034 method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、計算機システムに係わり、特に、機能分散指
向のマルチプロセッサ計算機システムに有効である。
向のマルチプロセッサ計算機システムに有効である。
(従来の技術〕
プログラムが共用データを参照する場合、または、ロー
ディングされたプログラムが再入可能でなく再使用可能
である場合には、そのプログラムを実行する際に、他の
タスクが該当プログラムを同時に使用することを防止す
るため、システム内のタスク間で排他制御が必要である
。この排他制御は、共用データまたは再使用可能プログ
ラムの使用権限を取得するための手続きであり、あるタ
スクがデータ又はプログラムの使用権限取得中は他のタ
スクは該当データ、プログラムにアクセスすることは禁
止される。
ディングされたプログラムが再入可能でなく再使用可能
である場合には、そのプログラムを実行する際に、他の
タスクが該当プログラムを同時に使用することを防止す
るため、システム内のタスク間で排他制御が必要である
。この排他制御は、共用データまたは再使用可能プログ
ラムの使用権限を取得するための手続きであり、あるタ
スクがデータ又はプログラムの使用権限取得中は他のタ
スクは該当データ、プログラムにアクセスすることは禁
止される。
タスク間の排他制御を実現するためには、排他制御用命
令を使用する方式が一般的である。その例としては1日
立製作所Mシリーズ処理装置のCS (Compare
and 5vap)命令、CD S (Compar
eDouble and 5vap)T S (Tes
t and 5at)命令が挙げられる。これらの排他
制御用命令は、−命令でオペランドを主記憶から読み込
み、指定されたデータと比較して、必要があれば更新し
た値をオペランドアドレスに格納する。この間、他プロ
セツサからの同一オペランドアドレスへのアクセスは禁
止される。これらの命令の詳細な動作は、Mシリーズ処
理装置マニュアルに記載されている。これにより、その
オペランドをロックワードとして排他制御を行なうこと
が出来る。
令を使用する方式が一般的である。その例としては1日
立製作所Mシリーズ処理装置のCS (Compare
and 5vap)命令、CD S (Compar
eDouble and 5vap)T S (Tes
t and 5at)命令が挙げられる。これらの排他
制御用命令は、−命令でオペランドを主記憶から読み込
み、指定されたデータと比較して、必要があれば更新し
た値をオペランドアドレスに格納する。この間、他プロ
セツサからの同一オペランドアドレスへのアクセスは禁
止される。これらの命令の詳細な動作は、Mシリーズ処
理装置マニュアルに記載されている。これにより、その
オペランドをロックワードとして排他制御を行なうこと
が出来る。
一方、特公昭57−6481で述べられている多重アド
レス空間を有するデータ処理システムでは、プログラム
呼び出し機能が開示されている。この機能は、プログラ
ム呼出し時に、呼出し元の権限チェックを行い、かつプ
ロセッサモードを変更しつつ他空間に存在するプログラ
ムを直接呼び出す機能を持つ、これにより、データとプ
ログラムを隔離された仮想空間に配置し、呼び出しの権
限チェックをハードウェアを用いて行うことが可能とな
り、高信頼な情報処理システムを構築することが可能で
ある。
レス空間を有するデータ処理システムでは、プログラム
呼び出し機能が開示されている。この機能は、プログラ
ム呼出し時に、呼出し元の権限チェックを行い、かつプ
ロセッサモードを変更しつつ他空間に存在するプログラ
ムを直接呼び出す機能を持つ、これにより、データとプ
ログラムを隔離された仮想空間に配置し、呼び出しの権
限チェックをハードウェアを用いて行うことが可能とな
り、高信頼な情報処理システムを構築することが可能で
ある。
上記のように、特公昭57−6481で開示されたシス
テムはシステムの信頼性向上には効果があるが、マルチ
プロセッサ環境では問題点が生ずる。それは、データ及
びプログラムの排他制御の問題である。すなわち、マル
チプロセッサ環境では共用データや共用プログラムを使
用する際には、使用に先立ち使用権限を取得する必要が
ある。そのため。
テムはシステムの信頼性向上には効果があるが、マルチ
プロセッサ環境では問題点が生ずる。それは、データ及
びプログラムの排他制御の問題である。すなわち、マル
チプロセッサ環境では共用データや共用プログラムを使
用する際には、使用に先立ち使用権限を取得する必要が
ある。そのため。
特公昭57−6481のプログラム呼び出し命令が発行
された場合にはそれに引き続いて必ず排他制御用命令(
前述のC8,CDS、TS命令)が発行される。
された場合にはそれに引き続いて必ず排他制御用命令(
前述のC8,CDS、TS命令)が発行される。
プログラム呼出し中にこのような命令が発行された場合
に、使用権が取得できない場合には多くのオーバヘッド
を必要とし、マルチプロセッサシステムの性能低下とな
る。
に、使用権が取得できない場合には多くのオーバヘッド
を必要とし、マルチプロセッサシステムの性能低下とな
る。
上記従来技術は、隔離されたデータを操作するためのプ
ログラムを呼び出し、ある機能を遂行しようとする際に
権限チェックをハードウェアで行うことにより、システ
ムのオーバヘッドを削減しようとするものである。従っ
て、プログラム呼び出しに引き続きデータ制御命令が発
行され、アクセス権が確保できない場合には多くのオー
バヘッドを必要とする。
ログラムを呼び出し、ある機能を遂行しようとする際に
権限チェックをハードウェアで行うことにより、システ
ムのオーバヘッドを削減しようとするものである。従っ
て、プログラム呼び出しに引き続きデータ制御命令が発
行され、アクセス権が確保できない場合には多くのオー
バヘッドを必要とする。
本発明では、プログラム呼び出しとプログラムと操作の
対象となるデータのアクセス権限を同時に取得し、シス
テムかも取得不可能な場合にはプログラム呼び出しを中
止、あるいは取得可能となるまで待つことにより、オー
バヘッドを抑え、マルチプロセッサシステムの性能向上
を図る情報処理装置を提供することを目的とする。
対象となるデータのアクセス権限を同時に取得し、シス
テムかも取得不可能な場合にはプログラム呼び出しを中
止、あるいは取得可能となるまで待つことにより、オー
バヘッドを抑え、マルチプロセッサシステムの性能向上
を図る情報処理装置を提供することを目的とする。
上記目的を達成するため1本発明ではプログラム識別子
とプログラム呼び出し権限、プログラムの開始アドレス
、プログラム実行時のプロセッサモードの対応表に、既
にプログラム呼び出しが行われているか否かを書込む手
段と、プロセッサ実行モードに割込みマスクの設定手段
とを新設する。
とプログラム呼び出し権限、プログラムの開始アドレス
、プログラム実行時のプロセッサモードの対応表に、既
にプログラム呼び出しが行われているか否かを書込む手
段と、プロセッサ実行モードに割込みマスクの設定手段
とを新設する。
プログラム呼び出し命令実行時にこの対応表を検索し、
既に該当するプログラムが呼び出されていた場合には、
該当プログラム呼び出し命令の実行は先に呼び出された
プログラムが終了するまで待たされる。あるいは、命令
実行完了コードにその旨が示されて実行が終了する。
既に該当するプログラムが呼び出されていた場合には、
該当プログラム呼び出し命令の実行は先に呼び出された
プログラムが終了するまで待たされる。あるいは、命令
実行完了コードにその旨が示されて実行が終了する。
プログラム実行の終了時に呼出し中の表示をリセットす
ることにより、次のユーザが該当プログラムを実行する
ことが可能となる。
ることにより、次のユーザが該当プログラムを実行する
ことが可能となる。
プログラム呼出し時の割込みマスク指定により、該当プ
ログラム実行時の割込みの発生を抑止し、割込み発生時
の退避領域設定のオーバヘッド削減と機能実行の高速化
、さらには排他走行部分の高性能化が可能となる。
ログラム実行時の割込みの発生を抑止し、割込み発生時
の退避領域設定のオーバヘッド削減と機能実行の高速化
、さらには排他走行部分の高性能化が可能となる。
上述したように、排他的プログラム呼び出し命令は、プ
ログラム呼び出しの際の権限チェック。
ログラム呼び出しの際の権限チェック。
仮想空間転換、プロセッサモード変更、データとプログ
ラムのアクセス権限の取得を一時に行うものである6以
上の動作を同時に行い、更に、もし権限が取得できない
場合にはO8等のソフトウェアのオーバヘッドを伴うこ
と無しに、待つことが可能となる。
ラムのアクセス権限の取得を一時に行うものである6以
上の動作を同時に行い、更に、もし権限が取得できない
場合にはO8等のソフトウェアのオーバヘッドを伴うこ
と無しに、待つことが可能となる。
本発明の実施例を図を用いて説明する。
第1図は、本発明のプログラム呼び出し命令の一実施例
を示したものである。命令レジスタ1゜には本発明の排
他的プログラム呼び出し命令が取す込まれている。命令
は32ビツトからなり、上位16ビツトが命令コード1
1、次の4ビツトがオペランドのペースレジスタ番号1
2、最下位の12ビツトが変位13をそれぞれ表す、ペ
ースレジスタ番号12は汎用レジスタ選択機構14に送
られ、汎用レジスタアレイ15から指定したレジスタの
内容が取り出されて、信号線16に送られる。この信号
線16は加算器17の一方の入力となる。変位13が他
方の入力となり、加算の結果求められた値がオペランド
アドレスとなる。
を示したものである。命令レジスタ1゜には本発明の排
他的プログラム呼び出し命令が取す込まれている。命令
は32ビツトからなり、上位16ビツトが命令コード1
1、次の4ビツトがオペランドのペースレジスタ番号1
2、最下位の12ビツトが変位13をそれぞれ表す、ペ
ースレジスタ番号12は汎用レジスタ選択機構14に送
られ、汎用レジスタアレイ15から指定したレジスタの
内容が取り出されて、信号線16に送られる。この信号
線16は加算器17の一方の入力となる。変位13が他
方の入力となり、加算の結果求められた値がオペランド
アドレスとなる。
オペランド領域20には、排他プログラム呼び出し命令
で呼び出される被呼び出しプログラムの識別子21が格
納されている。識別子21は上位のリンケージテーブル
インデックス22と下位のエントリテーブルインデック
ス23から成る。これらを用いてテーブルの2段引きに
より、目的とするプログラムが求まる。まず、リンケー
ジテーブルインデックス22がリンケージテーブルの検
索に用いられる。この値が左に2ビツトシフトされ、第
5番制御レジスタ24で示されたリンケージテーブル起
点アドレスと加算器25で加算され、リンケージテーブ
ル30の対応するエントリ31が求められる。エントリ
31中のエントリテーブル起点32とエントリテーブル
インデックス23を左に7ビツトシフトしたものが加算
器33で加算されエントリテーブル40の目的とするエ
ントリ41が求められる。
で呼び出される被呼び出しプログラムの識別子21が格
納されている。識別子21は上位のリンケージテーブル
インデックス22と下位のエントリテーブルインデック
ス23から成る。これらを用いてテーブルの2段引きに
より、目的とするプログラムが求まる。まず、リンケー
ジテーブルインデックス22がリンケージテーブルの検
索に用いられる。この値が左に2ビツトシフトされ、第
5番制御レジスタ24で示されたリンケージテーブル起
点アドレスと加算器25で加算され、リンケージテーブ
ル30の対応するエントリ31が求められる。エントリ
31中のエントリテーブル起点32とエントリテーブル
インデックス23を左に7ビツトシフトしたものが加算
器33で加算されエントリテーブル40の目的とするエ
ントリ41が求められる。
エントリテーブルエントリ41には、排他的プログラム
呼び出し命令で指定されたプログラムの呼び出し環境が
記述されている。プログラム開始アドレス42プログラ
ムの先頭アドレスが記述されている。プロセッサモード
43はプログラム呼び出し時のプロセッサモードを指定
している。割込み許可44は同様にプログラム呼出し時
の割込み制御マスクの値を指定している。プログラム実
行中フラグ45は対応するプログラムが既に呼び出され
ているか否かを示している。
呼び出し命令で指定されたプログラムの呼び出し環境が
記述されている。プログラム開始アドレス42プログラ
ムの先頭アドレスが記述されている。プロセッサモード
43はプログラム呼び出し時のプロセッサモードを指定
している。割込み許可44は同様にプログラム呼出し時
の割込み制御マスクの値を指定している。プログラム実
行中フラグ45は対応するプログラムが既に呼び出され
ているか否かを示している。
次にハードウェア機構の動作を同じ図を用いて説明する
。命令解読器50は命怜レジスタ10の命令コード部1
1を取り込み解読する。解読の結果、命令が排他的プロ
グラム呼び出し命令であった場合には信号線51がオン
となり、排他的プログラム呼び出し命令が実行中である
旨を示す。
。命令解読器50は命怜レジスタ10の命令コード部1
1を取り込み解読する。解読の結果、命令が排他的プロ
グラム呼び出し命令であった場合には信号線51がオン
となり、排他的プログラム呼び出し命令が実行中である
旨を示す。
信号線51がオンである場合には以下の手順にしたがっ
て命令が実行される。まずプログラム実行中フラグ45
が検索される。この値がインバータ52で反転され、さ
らにゲート53で信号線51と論理積がとられる。ゲー
ト53の出力54がオンであれば命令の実行は続けられ
る。オフである場合には、プログラム実行中フラグ45
がリセットされるまで命令の実行は抑止される。
て命令が実行される。まずプログラム実行中フラグ45
が検索される。この値がインバータ52で反転され、さ
らにゲート53で信号線51と論理積がとられる。ゲー
ト53の出力54がオンであれば命令の実行は続けられ
る。オフである場合には、プログラム実行中フラグ45
がリセットされるまで命令の実行は抑止される。
信号線54がオンである場合には、プログラム呼び出し
に伴うブムグラム状態語60の書換えが行われる。プロ
グラム開始アドレス42は命令アドレス部61に格納さ
れる。プロセッサモード43は問題プログラム状態62
にセットされる。
に伴うブムグラム状態語60の書換えが行われる。プロ
グラム開始アドレス42は命令アドレス部61に格納さ
れる。プロセッサモード43は問題プログラム状態62
にセットされる。
最後に1割込み許可44が割込みマスク63にセットさ
れ命令の実行が終了する。
れ命令の実行が終了する。
第2図は1本願第2の実行結果を完了コードで示す方式
の実施例である。命令の解読およびエントリテーブルエ
ントリを求める手順は第1図の説明と同様であるため省
略する。インバータ71は排他的プログラム呼び出し命
令実行中を示す信号線54を反転し、その出力は命令実
行不可を示す。
の実施例である。命令の解読およびエントリテーブルエ
ントリを求める手順は第1図の説明と同様であるため省
略する。インバータ71は排他的プログラム呼び出し命
令実行中を示す信号線54を反転し、その出力は命令実
行不可を示す。
その値は命令完了コード72にセットされ、さらに、命
令完了信号73として命令解読器50に送られ、命令が
終了する。
令完了信号73として命令解読器50に送られ、命令が
終了する。
プログラム実行中フラグのリセット命令の実現方式は第
1図とほぼ同様であり、単にエントリテーブルエントリ
のプログラム実行中フラグをリセットするのみであるの
で、実施例の開示は省略する。
1図とほぼ同様であり、単にエントリテーブルエントリ
のプログラム実行中フラグをリセットするのみであるの
で、実施例の開示は省略する。
本発明によれば、プログラム呼び出しの際に該当するプ
ログラムの排他使用権限、または該当プログラムが使用
するデータの排他使用権限を取得することが可能となる
。この際、排他使用の権限が直ちに取得できた場合には
、従来のプログラム呼出し後に権限を取得する方式に比
べて、多くの性能向上が見込める分けではない、単に、
プログラム呼び出しの権限チェックと排他チェックを同
時に行うことによる効果のみである。
ログラムの排他使用権限、または該当プログラムが使用
するデータの排他使用権限を取得することが可能となる
。この際、排他使用の権限が直ちに取得できた場合には
、従来のプログラム呼出し後に権限を取得する方式に比
べて、多くの性能向上が見込める分けではない、単に、
プログラム呼び出しの権限チェックと排他チェックを同
時に行うことによる効果のみである。
本発明の効果は排他使用の権限が直ちに取得できない場
合に大きい、権限が取得できない場合には、オーバヘッ
ド無しに、取得できるまで待つか、あるいはプログラム
呼び出し命令を終了することが可能となる。従来の方式
では、排他使用権限が取得できない場合には取得できる
まで待つという操作が必要であり、このためのOSオー
バヘッドが大きい。
合に大きい、権限が取得できない場合には、オーバヘッ
ド無しに、取得できるまで待つか、あるいはプログラム
呼び出し命令を終了することが可能となる。従来の方式
では、排他使用権限が取得できない場合には取得できる
まで待つという操作が必要であり、このためのOSオー
バヘッドが大きい。
本発明は、プログラムあるいはデータを比較的短い時間
排他的に使用する場合に効果的である。
排他的に使用する場合に効果的である。
そうでない場合には、プロセッサが命令実行中となって
待つ方式のオーバヘッドがO8による待ち処理オーバヘ
ッドに比べて大きくなる。その為、O8の管理テーブル
を排他的に書き換えることによって、ある機能を行うよ
うな場合に、最も適している。
待つ方式のオーバヘッドがO8による待ち処理オーバヘ
ッドに比べて大きくなる。その為、O8の管理テーブル
を排他的に書き換えることによって、ある機能を行うよ
うな場合に、最も適している。
第1図は本願発明による情報処理装置の第1の実施例を
示す図、第2図は本願発明による情報処理装置の第2の
実施例を示す図である。 10・・・命令レジスタ、11・・・命令コード、20
・・・オペランド領域、22・・・リンケージテーブル
インデックス、23・・・エントリテーブルインデック
ス、30・・・リンケージテーブル、40・・・エント
リテーブル、41・・・エントリテーブルエントリ、4
2・・・プログラム開始アドレス、43・・・プロセッ
サモード指定、44・・・割込み許可、45・・・プロ
グラム実行中命令フラグ、50・・・命令解読機、51
・・・排他的プログラム呼び出し命令信号、60・・・
プログラム状態語、61・・・命令アドレス、62・・
・問題プログラム状態、63・・・割込みマスク、72
・・・命令完図
示す図、第2図は本願発明による情報処理装置の第2の
実施例を示す図である。 10・・・命令レジスタ、11・・・命令コード、20
・・・オペランド領域、22・・・リンケージテーブル
インデックス、23・・・エントリテーブルインデック
ス、30・・・リンケージテーブル、40・・・エント
リテーブル、41・・・エントリテーブルエントリ、4
2・・・プログラム開始アドレス、43・・・プロセッ
サモード指定、44・・・割込み許可、45・・・プロ
グラム実行中命令フラグ、50・・・命令解読機、51
・・・排他的プログラム呼び出し命令信号、60・・・
プログラム状態語、61・・・命令アドレス、62・・
・問題プログラム状態、63・・・割込みマスク、72
・・・命令完図
Claims (1)
- 【特許請求の範囲】 1、プログラム識別子とプログラム開始アドレス、プロ
グラム呼び出し権限の対応関係を保持する対応表を持ち
、プログラム呼び出しは命令のオペランドでプログラム
識別子を指定し、前記の対応表を用いて呼出し権限のチ
ェックを行い、その後該当プログラムに制御を渡す命令
を実行する情報処理装置において、 前記対応表にプログラム呼び出し命令が実行されたこと
を書込む手段と、プログラム呼び出し命令が発行された
際に命令で指定されたプログラム識別子に対応する対応
表のエントリを検索し、該エントリが、プログラムが既
に実行されていることを示している場合には、該当プロ
グラム呼び出し命令の実行を抑止する手段を有すること
を特徴とする情報処理装置。 2、前記エントリが該当プログラムが実行中であること
を示す場合には、プログラム呼び出しを中止し、命令実
行完了コードをセットして命令を終了する手段を有する
ことを特徴とする特許請求の範囲第1項の情報処理装置
。 3、プログラム実行中に前記エントリをリセットする手
段を有することを特徴とする特許請求の範囲第1項又は
第2項の情報処理装置。 4、前記対応表にプログラム呼び出しの際のプロセッサ
状態を示すビットパタンを書込み、プログラム呼び出し
の際にプロセッサ状態語の対応するビットを変更する手
段を有することを特徴とする特許請求の範囲第1項の情
報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19271388A JPH0242559A (ja) | 1988-08-03 | 1988-08-03 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19271388A JPH0242559A (ja) | 1988-08-03 | 1988-08-03 | 情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0242559A true JPH0242559A (ja) | 1990-02-13 |
Family
ID=16295821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP19271388A Pending JPH0242559A (ja) | 1988-08-03 | 1988-08-03 | 情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0242559A (ja) |
-
1988
- 1988-08-03 JP JP19271388A patent/JPH0242559A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2650675B2 (ja) | マルチモードマイクロプロセッサにおいてプログラムを実行する方法及びオペレーティングシステム | |
US5701493A (en) | Exception handling method and apparatus in data processing systems | |
JPH0430053B2 (ja) | ||
JPS6055849B2 (ja) | 命令制御方式 | |
JPH0242559A (ja) | 情報処理装置 | |
JPS6290728A (ja) | 割込処理方法 | |
KR100506254B1 (ko) | 임베디드 시스템의 비특권 모드에서 인터럽트 처리를 위한장치 및 방법 | |
JPH0646380B2 (ja) | 情報処理装置 | |
JP2504191B2 (ja) | マイクロプロセッサ | |
JPH0377137A (ja) | 情報処理装置 | |
JPS6122818B2 (ja) | ||
JPH05216690A (ja) | コンピュータ装置およびコンピュータ装置を動作させる方法 | |
JPS59218569A (ja) | マイクロ・コンピユ−タ | |
JPH01195542A (ja) | マルチプログラミング処理装置 | |
JP2808558B2 (ja) | 情報処理装置 | |
JPS60105043A (ja) | 情報処理方式 | |
JPS62125437A (ja) | 付加プロセツサの制御方法 | |
JP2555912B2 (ja) | マイクロプロセッサ | |
JPH059815B2 (ja) | ||
JPH0391055A (ja) | ハードウエアロックのセット方法、ハードウエアロック制御装置、ハードウエアロックの検出方法と装置 | |
JPS62217326A (ja) | 複数os格納切替可能コンピユ−タ | |
JPH037973B2 (ja) | ||
JPS63298652A (ja) | 情報処理装置 | |
JPH02181231A (ja) | データ処理装置 | |
JPH06259383A (ja) | 割込み制御方法及び割込み制御装置 |