JPS59140567A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPS59140567A
JPS59140567A JP1420883A JP1420883A JPS59140567A JP S59140567 A JPS59140567 A JP S59140567A JP 1420883 A JP1420883 A JP 1420883A JP 1420883 A JP1420883 A JP 1420883A JP S59140567 A JPS59140567 A JP S59140567A
Authority
JP
Japan
Prior art keywords
address
virtual machine
semaphore
message
address space
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
JP1420883A
Other languages
English (en)
Other versions
JPH0354369B2 (ja
Inventor
Shinji Nanba
難波 信治
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.)
NEC Corp
Original Assignee
NEC Corp
Nippon Electric 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 NEC Corp, Nippon Electric Co Ltd filed Critical NEC Corp
Priority to JP1420883A priority Critical patent/JPS59140567A/ja
Publication of JPS59140567A publication Critical patent/JPS59140567A/ja
Publication of JPH0354369B2 publication Critical patent/JPH0354369B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)

Abstract

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

Description

【発明の詳細な説明】 本発明は情報処理装置に関し、%ζこ仮想計算機の割り
込みのシミーレーシーン方式に関する◇仮想計算機とは
実計算機上に仮想的に作りだされる複数個の計算機であ
って各々が独立に異るオペ叶ティングシステムを同時に
実行させ得る。
いいかえると1台の実計算機上に複数台の仮想側算機が
実現できる@ この仮想計算機は次のような目的lこ有効に利用される
1)オペレーティングシステム開発の効率化2)システ
ム移行のサポート 3)システム運用管理の容易化 仮想計算機を実現するには実ハードウェアの仮想化を行
なう制御ブロク゛ラム(以下VMCと記すうの組み込み
と、実計算機の方式によってはハードウーアの一部改造
が必要とされる。以下に本発明に関する部分についての
み仮i1 !t X機シスデムの動作について説明する
。仮想計算機上のプログラムが入出力命令等VMCによ
って仮想化されている章源に対するアクセスを必要とす
る命令を実行すると制御がVMCにわたる。VMCけ仮
想計算機が実行しようとした命令を調べてその命令をシ
ミーレーシーンする。
入出力命令のシミーレージ・ンによって起動された10
が終了すると仮想計J4.mに対して入出力割り込みの
シミーレージ画ンか必要となる。
割り込みが発生するとファームウェアにより割り込み原
因を解析して、その原因を示すメツセージを作成してセ
マフォに対する仮想化オペレーシーンによりそのメツセ
ージをソフトウェアに通知するアーキテクチャをもつ!
ti’算機を仮想計算機として実現する場合は従来以下
のようにして割り込みのシミーレーシ田ンを行なってい
た。
ます、VMCは割り込み原因を示すメ・ノセージを作成
する。次に通知先のセマフTの仮想Iil算機上での論
理アドレスを求める。
入出力割り込みの場合にはあらかじめ入出力装置ごとに
仮想計算機上のソフトウェアによってセットされている
この論理アドレスでセマフrt[り出してセマフォカウ
ントを調べる。セマフォカウントが負ならばメツセージ
待ちのプロセスが存在する。堆り出したセマフォからメ
ツセージ待ちのプロセスの待ち行列の先頭の論理アドレ
スを求める。この論理アドレスでメツセージ待ちのプロ
セスの待ち行列から先頭のプロセス名を取り出し、その
プロセス名によって仮想計算機上の制御構造体をたどっ
てそのプロセスのプロセス制何ブロックを取り出し、通
知メツセージをプロセス制御ブロック(7)汎用レジス
タ領域に書き込みプロセスの状態をメツセージ待ち状態
から実行可能状態にする。次いでセマフォカウントを1
増加させてメツセージ待ちのプロセス名の待ち行列から
そのプロセス名を保持している領域(以下プロセスリン
クと記す。)をはずして実行可能なプロセスの待ち行列
に加える。
セマフォカウントがゼロまたは正の場合はメツセージを
待っているプロセスがないのでセマフォカウントを1増
加させてこのメツセージ待■MCのあらかじめ定められ
た領域にセマフォのアドレス、・と共に保S存した後仮
想計算機に制p1をわたす。
仮想計算機上のプロクラムがセマフォからメッセ 5− 一部を取り出す命令を実行して、セマフォカウントが正
になっていると制御がVMCにイ)たる。
VMCはセマフォのアドレスを得て以前に保存してイタ
メツセージをセマフXアドレスの組をさがしセマフォの
アドレスが一致するメツセージを仮想計算機上御ブロッ
クの汎用レジスタ領域にセットし、次の扁令を指すよう
に命令カウンタの値を斐新し、セマフォカウントを1減
算して仮想計算機上こ制御をわたす。
以上のようにして人出力割り込みのメツセージは、仮M
 !H−3!機上のプログラムにわたされる。その他の
非同期割り込みの場合セマフォの論理アドレスは仮想計
算機の主記憶上のあらかじめ定められた領域に割り込み
原因別にセットされている点が異なるだけで同様のシミ
ーレージVンによって仮想計算機上のプログラムに通知
することができる。
この方法の欠点は、上で述べたセマフォ、プロセスリン
クメツセージ待ちのプロセスの待ち行列、実行司能なプ
ロセスの待ち行列等の論理アドレス 6 − 及びプロセス制御ブロックをたどる際の構造体、プロセ
ス制御ブロック、入出力割り込み以外の非同期割り込み
の場合のセマフォの論理アドレスを保持している領域等
の実アドレスはすべて仮想計算機からみた論理アドレス
または実アドレスである点に注意することによって明ら
かになる。すなわち、これらの論理アドレス、実アドレ
スはそのままVMCの命令のオペランドアドレスとして
使えないのでvMCからみた論理アドレスに変換してや
る必要がある。このため1ここの方法では大きなオーバ
ーヘッドとなり仮想計算機システムの性能を低下させる
。特に入出力割り込みは少なくとも入出力命令のシミー
レージ誠ンの回数と同じだけ発生することを考えると性
能低下はいちじるしいものとなる。
本発明の目的は非同期割り込みの原因を示すメツセージ
をVMCのシミーレージ、ンにより仮想計算機上のプロ
グラムに通知する際の上記オーバーヘッドを低減し、も
って仮想計算機システムの性能を向上させることにある
。この目的のために本発明においては割り込みメツセー
ジを仮想計算機上のセマフtに通知する命令を設け、こ
の命令がデコードされるとオペランドで示されるメツセ
ージと必要ならばセマフォのアドレストラハードウェア
のレジスタに取り込んだ後、アドレス空間を一時的にオ
ペランドの仮想計算機鐵別子で示されるアドレス空間に
切り替えセマフォの取り出し等の操作を仮想計算機のア
ドレス空間上で行ない必要な処理が終了した時点でアド
レス空間をVMCのものにもどして命令を終了する。こ
うすることによって仮想計算機上のアドレスはスヘて実
プロセツサのアドレス変換手段によって実主記憶装置の
絶対アドレスに変換されるので高速に実行されることに
なりVMCによるアドレス変換にくらべはるかに高速に
割り込みメツセージを仮想計算機上のプログラムに通知
することが可能となり仮想計算機システムの性能を向上
させることができる◎以下に図面を参照しながら本発明
の一実施例について説明する。
第1図(alは仮想計算機の主記憶上の制御構造体を示
すブロック図、第1図(brは仮想計算機上にあるセマ
フォとそのセマフォでメツセージ待ちになっているプロ
セスとを示すブロック図、第2図は本発明における情報
処理装置による仮想計算機及び実計算機の論理アドレス
、絶対アドレスを実主記憶装置の物理アドレス、(ただ
し実計算機の絶対アドレスと実主記憶装置の物理アドレ
スは同じである)に変換するアドレス変換機構の一実施
例を示すブロック図、第3図は本実施例番こおける割り
込み通知命令の命令語とオペランドとを示す構成図、第
4図Ua知するメツセージの形式を示す図である。
本実施例においてに仮想計算機は仮想計算機番号VMN
Oで識別され各仮想計算機の主記憶は実主記憶装置上に
連続したアドレスで常駐しているものとし、その先頭は
実生記憶装置のあらかじめ定められたアドレス単位(以
下ブロックという。)たとえば256に、B境界ζこそ
ろっているものとする。
仮想計算機の主記憶上のあらかじめ定められたアドレス
たとえば0番地にその仮想計算機上のプ 9− ログラムを制御するために基本となる情報が構造体とし
て設定してあり、この構造体が第1図(a)に示すシス
テムベースS’Bである。システムベースSBの先頭フ
ィールドにあるプロセス表ポインタFTPは、システム
に存在するプロセスを管理するためのプロセス表へのポ
インタである。
アドレス変換表ポインタATTPは、図には示していな
いがそのシステム全体のアドレス変換のためのアドレス
変換表へのポインタである。これら2つのポインタは共
iこ仮想引算機の主記憶のアドレスすなわち仮想引算機
の絶対アドレスを保持している。
タイマセマフrポインタ’I’MSA4Pはタイマ割り
込みが発生した場合lc餉り込みメツセージを通知する
セマフォへのポインタ、リスタートセマフγポインタ)
LSTSMPはりスタート割り込みが発生した場合に割
り込みメツセージを通知するセマフTへのポインタをそ
れぞれ保持している。このアドレスは仮想計算機上の論
理アドレスである。レディキューポインタI(DYQP
は図1こけ示していない実−1〇− 行可能なプロセスの待ち行列FLDYQの先頭へのポイ
ンタであり図には示していないプロセスリンク番号りに
対応するプロセスを制御するためのプロセス制御ブロッ
クPCBの先頭のアドレス(仮想計算機の絶対アドレス
)を保持している。各プロセス制御ブロックはそのプロ
セスの状態を保持するS TATEフィールド、汎用レ
ジスタの値を待避するためのG。、〜016のフィール
ド等からなっている。
セマフrsMは第1図(b)に示すような構造になって
いる。SC’I’?′i(のセマフIのセマフォカウン
トで正の場合はそのセマフォに通知されるメツセージの
数を表わし、負の場合はその絶対値でもってそのセマフ
ォでメツセージ待ちになっているプロセスの数を示して
いる。零の場合はプロセスもメツセージもないことを示
す。セマフォカウントSCTが負の場合にはそのセマフ
ォでメツセージを待っているプロセスの待ち行列BJP
RQが存在しその先頭のアドレスがメツセージ待ちプロ
セス待ち行列ポインタへ4PH,QPに保持されている
。この値はレディキューポインタRDYQPと同様にプ
ロセスリンクセグメントの先頭からの相対アドレスであ
る。
プロセスリンクセグメントはすべての要素が7’。
セスリンクPRLからなるセグメントでそのセグメント
番号は固定でたとえば0である。プロセスリンクPRL
はプロセス番号を保持するだめのものでPNOフィール
ドにプロセス番号を保持する。
まりNLフィールドはPNOフィールドで示されるプロ
セスが待ち行列を作る場合に次のプロセスリンクへのポ
インタを保持している。
この値はプロセスリンクセグメントの先頭からの相対ア
ドレスであり零の場合は待ち行列の最後であることを示
す。第1図(b)は2つのプロセスがセマフTSMでメ
ツセージを待っている様子を示している。この場合セマ
フォカウントSCTは−2である。
次に本実施例におけるアドレス変換機構の概略について
述べる。
本実施例においては実計算機も仮想計算機も同一のアー
キテクチャと考える。第2図に示す1M4NORは実計
算機を識別する実計算機番号肪INOを保持するレジス
タでありVMNORは仮想計算機番号を保持するレジス
タ、MDFはアドレス空間のモードMDを保持するモー
ドフラグでありMPXはモードフラグMl)Fの出力M
Dによって実計算機番号厖州otたは仮想計算機番号V
MNOを選択して計η機番号MNOとして出力するマル
チプレクサである。LA)tは論理アドレスを保持する
論理アドレスレジスタである。
論理アドレスはセグメント番号、ページ番号、ページ内
アドレスからなっており論理アドレスレジスタLARの
出力80PGはセグメント番号、ページ番号でありもう
】つの出力PRAiページ内アドレアドレス。
TLBはアドレス変換ノイッフ7であり計貞機番号MN
Oと論理アドレスレジスタLARのセグメント番号、ペ
ージ番号5GPGを入力して計算機番号Vので細別され
る計算機(仮想計算機首たけ実引算機)上での論理アド
レスのセグメント番号、ページ番号5GPG13− で示されるページPGAの当該計算機の主記憶上でのペ
ージ番号PGNOを出力する。
このPGNOとページ内アドレスPRAは図に示される
ように組みあわせられ絶対アドレスとなり絶対アドレス
レジスタAARにセットされる。
絶対アドレスレジスタAARはまたアドレス変換バッフ
y TLBマネージャ等によって直接セットされること
もある。
この絶対アドレスは計算機番号MNOで識別される計算
機の絶対アドレスであり、256KB単位のブロック番
号を示す上位ビットBNOムとブロック内アドレスを示
すBRAに分けられる。アドレス変換メモ!J ATM
は各計算機のブロック番号BNO^を実主記憶装置のブ
ロック番号13NOpに変換するためのメモリでそのア
ドレス変換メモは上位が計算機番−1!MNへ下位がブ
ロック番号BNOAとなっており各アドレスには#算機
番号MNOによって識別される計算機のブロック番号B
NOムで示されるブロックが割り付けである実主記憶装
置のブロック番号BNOpが保持されている。
−14= 実計算機のための変換情報は実計算機の初期化時点で、
仮想計算機のための変換情報はその仮想計算機の主記憶
を実主記憶上にわりっけた後で仮想計算機をハードウェ
ア、ファームウェアに登録スる時点°で設定される。た
だし実計算機の情報は変換元のブロック番号と変換され
たブロック番号は同一になるよう設定される。
絶対アドレスレジスタAARにセットされた絶対アドレ
スが実主記憶装置の物理アドレスに変換される際の動作
は次のとおりである。まずモードフラグMDFの保持す
るモード′MDが0の時を実計算機モードとするとマル
チプロフサMPxは実計算機番号レジスタRA4NOR
の保持する実計算機番号RA(Noを計算機番号MNO
に出力する。 アドレス変換メモIJ ATMのアドレ
スATMAは実計算機番号RJvlNOと絶対アドレス
レジスタAARの上位であるブロック番号BNOAから
作られる。アドレス変換メモリはアドレスATMAに対
応するブロックの実主記憶上のブロック番号を保持して
いるので実計算機のブロック番号BNOAのブロックに
対応する実主記憶装置のブロック番号を13NOpとし
て出力するのでブロック間アドレスBRAと組みあわさ
れて実主記憶の物理アドレスをPAに得ることができる
モードフラグMl)Fの保持するモードMDが 1の時
は仮想計算機モードである。マルチプレクサMPXは仮
想計算機番号レジスタの保持する仮想計算機番号VMN
Oを計算機番号MNOに出力する。アドレス変換メモI
J ATMのアドレスA’l”MAは仮想計算機番号レ
ジスタVMNO几の保持する仮想計算機番号VMNOと
絶対アドレスレジスタAARの上位であるブロック番号
HNOAから作られるので、アドレス変換メモリATM
の出力BNOPは当該仮想計算機のブロック番号BNO
ムに対応する実主記憶装置のブロック番号となる。よっ
て物理アドレスPA−想計算機番号レジスタVMNOR
の保持する仮想計算機番号VMNOで識別される仮想計
算機の絶対アドレスであり絶対アドレスレジスタAAR
に保持されている絶対アドレスに対応する実主記憶装置
上の物理アドレスとなっている。まとめるとモードフラ
グMDFの保持するモードMDが0の時は絶対アドレス
レジスタAARの保持する実計算機上の絶対アドレスを
、モードMDが1の時は 絶対・ア ドレスレジスタA
A、Rの保持する(仮想計算機番号レジスタVMNOR
の保持する仮想計算機番号VMNOによって識別される
)仮想計算機の絶対アドレスを実主記憶装置上の対応す
る物理アドレスに変換する。
以上述べたことからモードフラグMDFをOにセットし
絶対アドレスレジスタAARに実計算機の絶対アドレス
をセットすると実計算機の絶対アドレスに対応する実主
記憶装置の物理アドレスをPAに得ることができモード
フラグMDFを1にセットし仮想計算機の絶対アドレス
を絶対アドレスレジスタM、几にセットし当該仮想計算
機の仮想計算機番号を仮想計算機番号レジスタVMNO
Rにセットすることにより当該仮想計算機の絶対アドレ
スに対応する実主記憶装置の物理アドレスをPAに得る
ことができることがわかる。このことから実計算機また
は仮想側算機の論理アドレスを実主記憶装置の物理アド
レスに変換する動作の説明は論理アドレスをその計算機
における絶対アドレスに変=17− 換する動作の説明で充分であることがわかる。以下にそ
の説明を行なう。
実計算機の論理アドレスはモードフラグMDFが0にセ
ットされている場合4こ変換される。実計31機の論理
アドレスを論理アドレスレジスタLARにセットすると
アドレス変換バッフyTLBに与えられるキーは論理ア
ドレスのセグメント番号ページ番号SG)’Gと実計算
機番号凡MNOである。アドレス変換バッフy TLB
にキーと一致するエントリーがあればそのエントリーか
ら実計算機上Q主記憶上でのページ番号が出力PGNO
に得られページ内アドレスP几Aと組み合わされて絶対
アドレスとなり絶対アドレスレジスタAARにセットさ
れる。
キーと一致するエントリーがない場合には図には示して
いない゛rLBマネージャが動作を開始して絶対アドレ
スレジスタAARにシステムベースSB内のアドレス変
換表ポインタA’FTPの絶対アドレス(たとえば4番
地)をセットしてアドレス変換表ポインタを読み出す。
この値とセグメント番号とを使って変換すべき論理アド
レスに対応するセ18− グメント記述子(図には示していない)のアドレスを計
算して絶対アドレスレジスタAARにセットしてセグメ
ント記述子を取り出す。セグメント記述子は図には示し
ていないページ表の先頭アドレスを含んでいるのでTL
Bマネージャはこの値とページ番号とからページ記述子
のアドレスを計算する。このアドレスを絶対アドレスレ
ジスタにセットしてページ記述子を読み出すと実計算機
の主記憶上のページ番号が得られる。次いでキーである
実計算機番号RMN O及びセグメント番号ページ番号
5GPGと得られたページ番号とをアドレス変換バッフ
ァTLBにセットする。その後中断されていたアドレス
変換を再起動すると論理アドレスレジスタLARに保持
されている実計算機の論理アドレスに対応する実計算機
上の絶対アドレスが絶対アドレスレジスタAARに得ら
れる。
仮想計算機の論理アドレスは仮想計算機番号レジスタV
MNORiこ尚該仮想計算機の仮想計算機番号VMNO
が保持されモードフラグMDFの保持するモードMDが
1の場合に変換される。当該仮想計算機の論理アドレス
を論理アドレスレジスタLARにセットするとアドレス
変換バッファTLBに与えられるキーは論理アドレスの
セグメント番号ページ番号5GPGと当該仮想計算機の
仮想計算機番号VMN Oである。アドレス変換バッフ
y i、’LBにキーと一致するエントリーがあればそ
のエントリーから当該仮想計算機の主記憶上でのページ
番号が出力PGNOlこ得られページ内アドレスPRA
と組み合わされて当該仮想計算機の絶対アドレスとなり
絶対アドレスレジスタAARにセットされる。
キーと一致するエン) IJ−がない場合にはTLBマ
ネージャが起動される。この時モードフラグMDFの保
持するモードは仮想計算機のモードであり仮想計算機番
号レジスタの保持する仮想計算機番号VMNOは当該仮
想計算機の仮想計算機番号なのでTLHマネージャは当
該仮想計算機上の対応するセグメン)if13述子、ペ
ージ記述子を読み出してくる。そして当該仮想計算機の
仮想計算機番号と論理アドレスレジスタLARの保持す
る論理アドレスのセグメント番号ページ番号5GPGと
ページ記述子から得られる当該仮想計算機の主記憶上の
ページ番号とをアドレス変換バッンア’l’LBに登録
した後中断されたアドレス変換を再起動すると論理アド
レスレジスタLARに保持されている当該仮想計算機の
論理アドレスに対応する当該仮想計算機上の絶対アドレ
スが絶対アドレスレジスタAARに得られる。
以上の説明から本実施例のアドレス変換機構はモードフ
ラグMDFにOをセットした場合には論理アドレスレジ
スタLARにセットされた実計算機の論理アドレスを、
絶対アドレスレジスタAARにセットされた実■算機の
絶対アドレスをそれぞれ対応する実主記憶装置の物理ア
ドレスに変換することがわかる。また仮想計算機番号レ
ジスタVMNORに仮想計算機番号VMNOをセットし
モードフラグMDFを1にセットした場合には、論理ア
ドレスレジスタLARにセットされた当該仮想計算機の
論理アドレスを、絶対アドレスレジスタAARにセット
された尚該仮想口1算機の絶対アドレスをそれぞれ対応
する実主記憶装置の物理アドレスに変換することがわか
る。
21− すなわち実計算機上の命令を実行中に仮想計算機番号レ
ジスタVMNORに目的とする仮想計算機の仮想計算機
番号をセットしモードフラグMDFを1にし必要な動作
を行なった後モードフラグMDFを0にセットすること
により一時的1こアドレス空間を仮想計算機のアドレス
空間に切り替えることが可能となる。
続いて割り込みを仮想flJ機に通知する命令について
説明する。第3図に命令語とオペランドを示している。
OPCは命令コードのフィールドで割り込み通知命令で
あることを示す値たとえば16組で’B2’  となっ
ている。(JR,フィールドは第一オペランドとなる汎
用レジスタの番号を、GRtフィールドは第二オペラン
ドとなる汎用レジスタの番号を保持する。第一オペラン
ドとなる汎用レジスタGRsには通知先の仮想計算機の
仮想計算機番号VMN Oが保持されている汎用レジス
タG R,1の次の番号をもつ汎用レジスタG R1→
−1には通知先セマフォの当該仮想計算機上の論理アド
レス8MADが保持されている。
22− 第二オペランドとなる汎用レジスタOR8には通知する
メツセージの実計算機上の妬理アドレスが保持されてい
る。通知するメツセージの形式は第4図に示してありそ
の長さは4曲であり第1@目の5ORTフイールドは割
り込み原因を示す。たとえば0ならば入出力割り込み、
1ならばタイマ割り込み2ならはりスタート割り込みと
する。パラ7−タ領域はson;’rフィールドの値に
より異なっているが本発明の主要部分とは関係がないの
で貌明しない。
次1こ割り込み通知能令の動作について詣、明する。
命令かテフードされ、割り込み通知命令だとわかると命
令の(IRx 、 G Rtフィールドからオペランド
の汎用レジスタ番号を取り出す。汎用レジスタGRmか
らメツセージのアドレスMFf8ADを取り出しこのア
ドレスでメツセージを読み出す。絞み出したメツセージ
は図には示していない作業用レジスタに格納される。次
いでメ・ンセージの80RTフイールドをチニツクする
。0ならば入出力割り込みなので汎用レジスタGR1+
Jから通知先セマフォの仮想岨算磯上の論理アドレスS
MADを取り出して図には示していない作業用レジスタ
に格納した後汎用レジスタGRxから仮想計算機番号V
MNOを取り出して仮想側算機番号レジスタVMNOR
にセットしモードフラグMDF’を1にセットすること
により仮想計算機モードにする。こうすることによって
アドレス空間は一時的に汎用レジスタGRmの保持する
仮想計算機番号で識別される仮想計算機のアドレス空間
すなわちメツセージの通知先の仮想計算機のアドレス空
間に切り替わる。
5ORTフイールドが1または2の時はまず上述のよう
にしてアドレス空間をメツセージの通知先の仮想計算機
のアドレス空間に切り替える。次いで通知先のセマフォ
の論理アドレスをシステムベース8Bから取り出し上記
セマフォの論理アドレスSMADを格納した作業用レジ
スタと同じレジスタに格納する。
この時点でアドレス空間は通知先の仮想計算機のアドレ
ス空間に切り替っておりメツセージと通知先セマフォの
論理アドレスはそれぞれ作業用レジスタに格納されてい
る。次に作業用レジスタの保持するセマフォの論理アド
レスで通知先セマフォSMを取り出しセマフォカウント
sc’rをチェックする。零才たけ正の場合はメツセー
ジ待ち7゛ロセスはないので通知先セマフr8Mのセマ
フtカウン)8CTを1増加させてモードフラグMDF
に0をセットする。こうすることによってアドレス空間
が実計算機のアドレス空間に切り替わる。次にコンディ
シーンコードを1にセットして命令を終rする。
一方負の場合にはメ・yセージ待ちのプロセスがあるの
で通知先セマフォ8Mのメツセージ待ちグしてメツセー
ジ待ちプロセス待ち行列MPRQの筆頭のプロセスリン
クPRLHを取り出す。プロセスリンクPRLHのNL
フィールドの値を通知先セマ7rSM(Dメツセージ待
ちプロセス待ち行列ポインタMPRQPに書き込んでプ
ロセスリンクPRLaヲ待ち行列MPrLQからはずし
セマフォカウント8CT2b− を]増加させる。P IIL 1にのPNOフィールド
からプロセス番号PNOを取り出す。このプロセス番号
PNOで表わされるプロセスのプロセス制御ブロックP
CBの先頭アドレスを求めるためにシステムベース8H
のFTPフィールドからプロセス表ポインタP’l”P
を取り出しその値とプロセス番号PNOとでプロセス表
PTの当該プロセスのエントリーアドレスを計算する。
このアドレスで当該エントリーを取り出すと当該プロセ
スのプロセス制御ブロックPCBの先頭アドレスが得ら
れる。次Cζ作業用レジスタに保持されているメツセー
ジを上記プロ七   ′ス制御ブロックの汎用レジスタ
領域GII、GX。
Gs、Gs に格納する。
この時点でメツセージが目的のプロセスにわたったこと
になる。その後プロセスリンクPRLuを図には示して
いないレディキューRDYQの最後尾につなぐためにシ
ステムベースSBのRDYQPフィールドからレティキ
畠−ポインタRDYQPを取り出す0このポインタの値
が0ならばレディキューRDYQは空なのでシステムベ
ース8Hのl’LDYQPフィ26− −ルドに上記プロセスリンクPRLHのプロセスリンク
セグメントの先頭からの相対アドレスを書き込みプロセ
スリンクPRL、、のNLフィールドに0を書き込む。
またレディキューポインタRDYQPの価がOでなけれ
ばプロセスリンクセグメントの先頭アドレスとレディキ
ー−ポインタRDYQP (7)値からレディキー−R
DYQの先頭のプロセスリンクをとり出しNLフィール
ドを調べOでなければ次のプロセスリンクを取り出す。
このようにしてNLフィールドがOになるまで続けて最
後尾のプロセスリンクをさがす。最後尾のプロセスリン
クがみつかるとそのプロセスリンクのNLフィールドに
つなぐべきプロセスリンクP)LLHのプロセスリンク
セグメントの先頭からの相対アドレスを書き込みつなぐ
べきプロセスリンクPRLHのNLフィールドに0を誉
き込む。このようにしてレディキューRDYQに当該プ
ロセスリンクPRLHをつないだあとで上記プロセス制
御ブロックPCBの8TA、TEフィールドをメツセー
ジ待ち状態から実行可能状態に書きなおす。
これで領域計算機上の操作はすべて終ったのでモードフ
ラグMDFにOをセットすることによってアドレス空間
を集計算機のアドレス空間にもどしコンディジ禦ンコー
ドCCにOをセットして命令を終了する・ 以上のような割り込み通知命令を設けることにより仮想
計算機上の対象のアドレスを実主記1.l!装置の物理
アドレスに変換する動作がハードウェア/ファームウェ
アによって行なわれるので従来のソフトウェアで行なっ
ていたことにくらべると格段に高速化される。よって本
発明によれば仮想計算機システムの性能が向上される。
【図面の簡単な説明】
第1図(alは本発明の一実施例における仮想計算機の
主記憶上にある制御構造体を示すブロック図、第1図(
b)は本実施例における仮想計算機上のセマフォとメツ
セージ待ちのプロセスの待ち行列を示すブロック図、第
2図は本実施例におけるアドレス変換機構を示すブロッ
ク図、第3図は本実施例における割り込み通知命令の命
令語とオペランドを示す構成図、第4図は通知するメツ
セージの形式を示す図である。 8Bはシステムベース、1)Tはプロセス表、PCBは
プロセス制御ブロック、8Mはセマフォ、PRLH。 PRLTはプロセスリンク、MDFはモードフラグ、M
Dはモード、RMNORは実計算機番号レジスタ、RM
NOは実計算機番号、VMNORFi仮想組算機番号レ
ジスタ、VMNOは仮想計算機番号、MPXはマルチプ
レクサ、MNOは計算機番号、LARは論理アドレスレ
ジスタ、5GPGはセグメント番号ページ番号、PRA
はページ内アドレス、TCBはアドレス変換バッファ、
PGNOはページ番号、AARは絶対アドレスレジスタ
、BH3人、  BNOPはブロック番号、Bl’LA
はブロック内アドレス、ATMはアドレス変換メモリ、
ATVAはアドレス変換メモリのエントリーに対するア
ドレスPAは実主記憶装置の物理アドレス、OPCは命
令コードGR重、GR禽は汎用レジスタ番号、f9MA
DuセマフTの論理アドレス、MESADはメツセージ
のアドレス、SORT第2図 −407−

Claims (1)

    【特許請求の範囲】
  1. ファームウーアまたはハードウーアがプログラムの実行
    とは非同期に起きた割り込みの原因を解析し、その原因
    を示すメツセージを作成してセマフォに対する仮想化オ
    ペレージ訝ンによりソフトウェアに通知するアーキテク
    チャをもつ1つ以上の計算機を仮想計算機とし°C実現
    する情報処理装置ニオいて、実プロセツサがアクセスで
    きるアドレス空間を一時的に仮想計算機の操作できるア
    ドレス空間に切り替える手段を有し、操作対象としてす
    くなくとも通知すべきメツセージと通知先の仮想計算機
    を識別する仮想目1算機識別子とを指定して、通知すべ
    きメツセージの中に通知先セマフォを特定するに要する
    情報かない場合にはさらに通知先セマフォを特定するに
    要する情報を操作対象として指定し、通知すべきメツセ
    ージの中に通知先セマフォを特定する情報がある場合は
    この情報を使って、上記操作対象となるメツセージ、仮
    想計算機識別子、通知先セマフォを特定する情報のうち
    主記憶上にあるものを作業用レジスタに取り出した後上
    記アドレス空間切り替え手段でもって実プロセツサのア
    クセスできるアドレス空間を一時的に上記仮想計算機識
    別子で識別される仮想計算機の7ドレス空間に切り替え
    当該メツセージの中に通知先セマフォを特定するに要す
    る情報がある場合はこの情報と、ない場合には操作対象
    として指定された上記情報と仮想計算機のアドレス空間
    内Iこ設定されている情報とを使い通知先セマフォを特
    定し、当該メツセージと通知先セマフォ1こ通知した後
    アドレス空間を上記アドレス空間切り替え手段によって
    実計算機のアドレス空間にもどして終了する命令とを有
    することを特徴とする情報処理装置。
JP1420883A 1983-01-31 1983-01-31 情報処理装置 Granted JPS59140567A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1420883A JPS59140567A (ja) 1983-01-31 1983-01-31 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1420883A JPS59140567A (ja) 1983-01-31 1983-01-31 情報処理装置

Publications (2)

Publication Number Publication Date
JPS59140567A true JPS59140567A (ja) 1984-08-11
JPH0354369B2 JPH0354369B2 (ja) 1991-08-20

Family

ID=11854682

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1420883A Granted JPS59140567A (ja) 1983-01-31 1983-01-31 情報処理装置

Country Status (1)

Country Link
JP (1) JPS59140567A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61292753A (ja) * 1985-06-20 1986-12-23 Fujitsu Ltd 仮想計算機のデ−タ処理方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61292753A (ja) * 1985-06-20 1986-12-23 Fujitsu Ltd 仮想計算機のデ−タ処理方式

Also Published As

Publication number Publication date
JPH0354369B2 (ja) 1991-08-20

Similar Documents

Publication Publication Date Title
US8131901B2 (en) Interrupt control for virtual processing apparatus
US4435752A (en) Allocation of rotating memory device storage locations
JPS61206043A (ja) 仮想計算機システムにおける割込制御方法
CN102981808B (zh) 用于持续性用户级线程的设备、系统和方法
JPS58151655A (ja) 情報処理装置
JPS62165250A (ja) 仮想記憶方法
WO2020238245A1 (zh) 实现函数跳转的方法、装置及计算机存储介质
JP2023545818A (ja) チップ・システム、仮想割り込み処理方法および対応する装置
US11126575B1 (en) Interrupt recovery management
JPS59167761A (ja) 計算機システム
US20070156386A1 (en) Linearization of page based memory for increased performance in a software emulated central processing unit
JPS59140567A (ja) 情報処理装置
CN115292000A (zh) 一种虚拟机动态迁移的方法、装置及电子设备
JPH1040103A (ja) レジスタ・リマップ構造を有する情報処理システム及び方法
JPH0668725B2 (ja) データ処理システムにおける割込条件に応答する装置及び非同期割込条件に応答する方法
JPH0754467B2 (ja) データ処理装置
JPS6349945A (ja) デ−タ処理装置のプロセス・ロ−ルイン方式
JPS603229B2 (ja) 情報処理方式
JPS61184643A (ja) 仮想計算機の起動制御方式
JPS6097440A (ja) 仮想多重プロセツサ装置
JPS5958553A (ja) 統合型仮想計算機のディスパッチ制御方式
TW202340938A (zh) 用於處理排序受限制存取操作之技術
JPS62295147A (ja) 仮想計算機システム
JPS62120542A (ja) 情報処理装置
JP3022398B2 (ja) 仮想計算機方式