JPH09265407A - 仮想プロセッサシステムのプログラム走行制御方法 - Google Patents

仮想プロセッサシステムのプログラム走行制御方法

Info

Publication number
JPH09265407A
JPH09265407A JP8075953A JP7595396A JPH09265407A JP H09265407 A JPH09265407 A JP H09265407A JP 8075953 A JP8075953 A JP 8075953A JP 7595396 A JP7595396 A JP 7595396A JP H09265407 A JPH09265407 A JP H09265407A
Authority
JP
Japan
Prior art keywords
program
task
per
guest
lip
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
JP8075953A
Other languages
English (en)
Inventor
Osamu Onodera
修 小野寺
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP8075953A priority Critical patent/JPH09265407A/ja
Publication of JPH09265407A publication Critical patent/JPH09265407A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 論理プロセッサ(LIP)上で走行するプロ
グラムのディバッグやプログラムの走行状態のモニタリ
ングを行う際、オペレータコマンドの指定とゲストOS
が発行するプログラム事象記録(PER)の指定を同時
にできるようにする。 【解決手段】 ハイパバイザ上のLIP上で動作するゲ
ストプログラムの走行状態を制御するオペレータコマン
ド指定とLIP上で動作するゲストプログラムが発行す
るPER指示とをPERパラメータ生成手段510に入
力して、両者の条件を満足する1組のカレントなPER
パラメータを生成する。PER条件設定処理520に
て、該生成したPERパラメータを1組のカレントなP
ER機構に設定してアクティブにする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、仮想プロセッサシ
ステムの情報処理装置に係り、特に仮想プロセッサシス
テムのプログラム走行制御方法に関する。
【0002】
【従来の技術】情報処理システムを構成するプロセッサ
の使用形態としては、実プロセッサ上で単一のオペレー
ティングシステム(OS)を動作させる方法と、単一の
実プロセッサ上で複数のOSを動作させる複合論理プロ
セッサシステムまたは仮想プロセッサシステム(以下、
仮想プロセッサシステムという)と呼ばれる2つの方法
がある。
【0003】実プロセッサ上で単一のOSを動作させる
モードをベーシックモードと言い、この方法における実
プロセッサのハードウェア資源は、1台又はそれ以上の
中央処理装置(以下、IPという)、1台の共用主記憶
装置(以下、MSという)、1台又はそれ以上のチャネ
ルパス(以下、CHPという)とから構成される。そし
て、これらの実プロセッサのハードウェア資源は、単一
の資源として扱われる。
【0004】一方、単一の実プロセッサ上に複数の仮想
プロセッサシステム(以下、LPARという)を構築
し、複数のOSを動作させるモードをLPARモードと
言う。汎用情報処理システムでは、近年、この使用形態
が一般化されつつある。
【0005】一般に、複数のLPARを単一の実プロセ
ッサ上で実現する為に、ハイパバイザ(VMCPともい
う)と呼ばれる仮想プロセッサ制御プログラムを実プロ
セッサ上で動作させ、このハイパバイザの制御の下で複
数のLPARを生成し、更に、この各々のLPARの上
で独立したOSを動作させている。従って、ハイパバイ
ザには、単一の実プロセッサのハ−ドウェア資源を各々
のLPARに共用させて使用させる機能が付加されてい
る。
【0006】単一の実プロセッサのハ−ドウェア資源を
各々のLPARに共用させる方法としては、ハイパバイ
ザの制御の下に時分割でハ−ドウェア資源を割り当てる
方法、または、ハ−ドウェア資源を論理的に分割して各
々のLPARに占有的に割り当てる方法、または、前述
の二つの方法を併用して割り当てる方法等が知られてい
る。一般的には、実IPは時分割で各々のLPARに割
り当てる方法を使用し、実CHP及び実MSは論理的に
分割して各々のLPARに占有的に割り当てる方法を使
用している。
【0007】図1は、仮想プロセッサシステムの構成概
念の一例を示した図である。図1に於いて、実IP(以
下、PIPという)はPIP(0)102及びPIP(1)
103の2台のPIPから成るマルチプロセッサ構成
(以下、MP構成という)をとっている。PIP(0)1
02及びPIP(1)103はそれぞれMS101に接続
されており、更に、PIP(0)102及びPIP(1)1
03も相互に接続され、MP構成をとっている。PIP
(0)102及びPIP(1)103上では、MP構成を
制御可能なハイパバイザ111が作動している。なお、
ハイパイザ111の実体はMS101上におかれてい
る。
【0008】図1では、このハイパバイザ111の制御
の下で、LPARA112とLPARB113の2つの
LPARが生成されている。LPARA112及びLP
ARB113はそれぞれ、2台の論理IPまたは仮想I
P(以下、LIPという)から構成されている。即ち、
LPARA112はLIPA(0)121及びLIPA
(1)122からなるMP構成をとっており、LPARB
113はLIPB(0)131及びLIPB(1)132か
らなるMP構成をとっている。従って、LPARA11
2上で動作するOSはLIPA(0)121及びLIPA
(1)122を制御し、LPARB113上で動作するO
SはLIPB(0)131及びLIPB(1)132を制御
し、動作する。又、LIPA(0)121及びLIPB
(0)131はPIP(0)102上でのみ動作し、LIP
A(1)122及びLIPB(1)132はPIP(1)10
3上でのみ動作する。
【0009】更に、図1では、オペレータコマンド指定
を入力する手段として実コンソール装置(以下、PCD
という)104が、PIP(0)102とPIP(1)10
3に接続されている。このPCD104は、ハイパバイ
ザ111によって2つの論理コンソール装置(以下、L
CDという)であるLCDA142とLCDB143に
分割されている。このハイパバイザ111によって生成
・分割されたLCDA142とLCDB143は、それ
ぞれLPARA112とLPARB113に対するオペ
レータコマンド指定を入力する手段としてハイパバイザ
111の制御のもとで使用される。
【0010】図2は、ハイパバイザ111を構成してい
る各タスクの相互の関連を示した構成図である。図2を
用いて、ハイパバイザを構成している各タスクの役割と
その相互の関係について説明する。
【0011】図2において、モニタタスク210は、P
IPの制御及び該モニタタスク210を除く各タスクを
ディスパッチするためのスケジューリング、さらには割
込み処理等を行なうタスクであり、ハイパバイザの核と
なる機能を提供する。このモニタタスク210は、LP
ARタスク220とゲストOS260との通信インタフ
ェースを持つ。LPARタスク220は、LIPタスク
230及びLIPタスク231の生成及び消去と、該L
IPタスク230及びLIPタスク231に共通する機
能の制御を行なうタスクでありLPARの核となる機能
を提供する。このLPARタスク220は、モニタタス
ク210、LIPタスク230及びLIPタスク231
とフレームタスク240との通信インタフェースを持
つ。LIPタスク230とLIPタスク231は、LI
P自身の制御及びゲストOS260の起動、停止及びイ
ンターセプションの処理等の制御を司る。このLIPタ
スク230とLIPタスク231は、モニタタスク21
0、LPARタスク220とゲストOS260との通信
インタフェースを持つ。フレームタスク240は、LC
D250から入力されるオペレータコマンドの受信及び
LCD250に出力するオペレータメッセージの送信等
オペレータインタフェースの制御を行なうタスクであ
り、フレーム機能を提供する。このフレームタスク24
0は、LPARタスク220とLCD250との通信イ
ンタフェースを持つ。LCD250は論理コンソール装
置であり、ハイパバイザの制御の下でオペレータコマン
ドの入力及びオペレータメッセージの出力を司るコンソ
ール装置で、それぞれのLPARに対応にして生成され
る。このLCD250は、フレームタスク240との通
信インタフェースを持つ。
【0012】モニタタスク210はタスクとして動作
し、タスク制御ブロック(以下、TCBという)210
Tと対応付けられている。以下同様に、LPARタスク
220、LIPタスク230、LIPタスク231及び
フレームタスク240はいずれもタスクとして動作し、
それぞれTCB220T、TCB230T、TCB23
1T及びTCB240Tと対応付けられている。各TC
BはMS101上におかれる。
【0013】図2に於いて、ゲストOS260を起動し
動作させる手順は以下の如くに行われる。ハイパバイザ
の立ち上げに伴い、モニタタスク210が最初に起動さ
れる。モニタタスク210は、LPARタスク220を
起動すべく、通信インタフェースを介してLPARタス
ク220をディスパッチし、制御をLPARタスク22
0に渡す。動作を開始したLPARタスク220は、L
PAR上で動作するLIPタスク230とLIPタスク
231を起動すべく、通信インタフェースを介してLI
Pタスク230とLIPタスク231を生成する。タス
クとして生成され動作を開始したLIPタスク230と
LIPタスク231は、LPAR上で動作するゲストO
S260を起動すべく通信インタフェースを介してゲス
トOS260をロードする。以降、ゲストOS260の
制御の下でアプリケーションソフトウェアが走行する。
【0014】LIPタスク230とLIPタスク231
が、通信インタフェースを介してゲストOS260を起
動する際、SIE命令(翻訳実行開始命令)が使用され
る。このSIE命令は、翻訳実行機能(以下、IE機能
という)の一部であり、該SIE命令の実行により、実
プロセッサの状態がホストからゲストに切り替えられ
る。なお、SIE命令の一般的仕様としては、例えばI
BM社発行の刊行物”IBM System/370 E
xtended ArchitectureInter
pretive Execution”(SA22−7
095)にその詳細が記述されている。
【0015】ゲストOS260が走行している間に、何
らかのインターセプション条件が検出されると、制御は
通信インタフェースを介してLIPタスク230または
LIPタスク231に渡される。LIPタスク230ま
たはLIPタスク231は、インターセプション要因を
解析し、該当するインターセプション処理を実行する。
この場合のインターセプション処理では、例えば待ち状
態インターセプションであれば、LIPタスク230ま
たはLIPタスク231は、通信インタフェースを介し
て制御をLIPタスクからモニタタスク210に渡し、
例えば命令インターセプションであれば、LIPタスク
230またはLIPタスク231は、インターセプトさ
れた命令のシミュレーション処理を行い、通信インタフ
ェースを介して再度ゲストOS260を起動する。
【0016】また、ゲストOS260が走行している間
に、何らかのホストに対する割込み条件が検出される
と、制御はハードウェアインタフェースを介してモニタ
タスク210に渡される。モニタタスク210は、割込
みの要因を解析し、該当する割込み処理の実行を起動す
る。この場合の割込み処理では、例えば、当該LIPタ
スクへの割当て時間切れを示す外部割込みであれば、モ
ニタタスク210は通信インタフェースを介して制御を
他のタスクに渡し、例えばプログラム割込みであれば、
モニタタスク210は、プログラム割込みのシミュレー
ション処理を行い、通信インタフェースを介して再度ゲ
ストOS260を起動する。
【0017】以上の如くの手順で、ゲストOS260の
制御の下でユーザのアプリケーションソフトウェアの実
行が継続される。
【0018】ところで、情報処理システムには、一般に
プログラムのデバッグが容易に行えるようにプログラム
事象記録機構(以下、PER機構という)が用意されて
いる。PERの具体的な機能と仕様については、例え
ば、日立製作所発行の刊行物である「Mシリーズ処理装
置(M/ASAモード)」(8080−2−146)の
第3章に”プログラム事象記録(PER)”として詳述
されているが、以下に簡単に説明する。
【0019】PER機構は、(1)分岐命令の分岐成
功、(2)指定されたMS領域からの命令読出し、
(3)指定されたMS領域の内容変更、(4)指定され
た汎用レジスタの更新、の各事象に対して、その発生を
プログラム割込みで報告し、PERに関する情報をMS
の特定領域に格納するものである。
【0020】PERの制御は、プログラム状態語(以
下、PSWという)、特定の制御レジスタ(ここでは、
制御レジスタ9,10,11とする)により行われる。
図3に、PSW及び制御レジスタ9,10,11の形式
例を示す。
【0021】図3において、PSWのビット1がPER
指定ビットで、これが“1”の時、PERが有効とな
る。なお、通常、PERは拡張制御モード(ECモー
ド)のときに行われる。制御レジスタ9のビット0〜3
はPERマスクビットで、それぞれ、ビット0が分岐成
功、ビット1が命令読出し、ビット2がMS更新、ビッ
ト3が汎用レジスタ更新を示し、該当ビットが“1”の
時、対応する事象が監視される。制御レジスタ9のビッ
ト16〜31はPER汎用レジスタマスクビットで、そ
れぞれ16個の汎用レジスタに対応し、該当ビットが
“1”の時、対応する汎用レジスタの更新が監視され
る。制御レジスタ10,11は、命令読出しとMS更新
の事象に対してMSの監視領域を指定するもので、それ
ぞれ、ビット8〜31によって、MSのPER開始アド
レスとPER終了アドレスが指定される。ここで、PS
Wのビット1及び制御レジスタ9,10,11をPER
パラメータと呼ぶことにする。
【0022】LPARモードでの仮想プロセッサシステ
ムでは、PERパラメータ設定は、ホストのLCDから
のオペレータコマンド指定による場合と、ゲストOSか
らのRER動作指示による場合が存在し、その場合によ
って設定条件も異なる。
【0023】以下に、図4を用いて、LIP上で動作す
るゲストプログラムの走行状態を指定する1つまたはそ
れ以上の異なるオペレータコマンドの指定をLCDから
入力し、且つ、LIP上で動作するゲストプログラムが
発行するPER機構をアクティブにした場合の、従来技
術におけるハイパバイザを構成している各タスク内のオ
ペレータコマンド指定の流れとPERパラメータの設定
方法について説明する。
【0024】図4は、オペレータコマンド指定を、LC
Dから入力した場合の各タスク内及び各タスク間のコマ
ンド指定の流れを説明した図である。図4において、ホ
ストのLCDから入力されたオペレータコマンド指定
は、なんらの修飾も受けずにフレームタスクに渡され
る。ここで、該オペレータコマンド指定の種類は、命令
ステップの指定とアドレスコンペアストップの指定の2
種類である。命令ステップの指定は、LIP上で走行し
ている命令列の実行を1ステップづつ実行しては停止す
るよう指示するもので、アドレスコンペアストップの指
定は、LIP上で走行している命令列の実行を、オペレ
ータが指定する命令アドレスと一致した時点で停止する
よう指示するもので、主にLIP上で走行している命令
列で構成されるプログラムのディバッグに使用される。
【0025】前記LCDから入力された命令ステップの
オペレータコマンド指定は、LIPの番号を示すLIP
アドレスを付随したパラメータとしてフレームタスクに
送られ、同様に、アドレスコンペアストップのオペレー
タコマンド指定は、LIPの番号を示すLIPアドレス
とストップアドレスを付随したパラメータとしてフレー
ムタスクに送られる。フレームタスクは、LCDから送
られて来た命令ステップ指示及びアドレスコンペアスト
ップ指示を付随するパラメータと共にLPARタスクに
送出する。
【0026】LPARタスクは、フレームタスクから送
られて来たオペレータコマンドについて、命令ステップ
指示とアドレスコンペアストップ指示の双方が指示され
ているか否かを調べ、もし、命令ステップ指示とアドレ
スコンペアストップ指示の双方が指示されていれば、L
PARタスク内のセレクションロジック410を用いて
命令ステップ指示のみを選択して、該命令ステップ指示
に付随するパラメータであるLIPアドレスをLIPタ
スクに送出する。また、命令ステップ指示とアドレスコ
ンペアストップ指示の片方のみが指示されていれば、L
PARタスク内のセレクションロジック410は、フレ
ームタスクから送られて来た当該指示と該指示に付随す
るパラメータをLIPタスクに送出する。
【0027】LIPタスクは、LPARタスクから送ら
れて来た指示と該指示に付随するパラメータを受取り
る。該LIPタスクには、更に、ゲストOSからPER
指示と該指示に付随するパラメータが送られてくる。L
IPタスクは、LPARタスクから送られて来たオペレ
ータコマンド指示と、ゲストOSか送られて来たPER
指示の双方が同時に指示されているか否かを調べ、も
し、LPARタスクから送られて来たオペレータコマン
ド指示とゲストOSか送られて来たPER指示の双方が
同時に指示されていれば、LIPタスク内のセレクショ
ンロジック420を用いてLPARタスクから送られて
来たオペレータコマンド指示のみを選択し、該LPAR
タスクから送られて来た指示と該指示に付随するパラメ
ータを用いて、LIPタスクによるPER条件設定処理
430を行なう。つまり、ホストLPARタスクから送
られて来たオペレータコマンド指示と、ゲストOSから
送られて来たPER指示の双方が存在すると、ゲストO
Sから送られて来たPER指示を無視する。LPARタ
スクから送られて来たオペレータコマンド指示とゲスト
OSから送られて来たPER指示の片方のみが存在して
いると、該LPARタスクから送られて来たオペレータ
コマンド指示と該指示に付随するパラメータまたはゲス
トOSから送られて来たPER指示と該指示に付随する
パラメータを用いて、LIPタスクによるPER条件設
定処理430を行なう。
【0028】ここで、LIPタスクによるPER条件設
定処理において、制御レジスタ10,制御レジスタ1
1,制御レジスタ9及びPSWのPERマスク(ビット
1)の設定が行われる。以下に、従来技術におけるPE
R条件設定処理について説明する。
【0029】まず、LPARタスク27からアドレスコ
ンペアストップのオペランドコマンド設定が送られてき
た場合について説明する。アドレスコンペアストップの
オペレータコマンド指定は、付随するパラメータとして
LIPアドレスとコンペアアドレスを伴ってLIPタス
クで受け付けられる。該パラメータとしてのコンペアア
ドレスは、LIPアドレスで指定されたLIPの制御レ
ジスタ10と制御レジスタ11に設定され、且つ、命令
読み出しに伴うアドレスコンペアストップかまたはMS
更新に伴うアドレスコンペアストップかによって、該L
IPの制御レジスタ9の命令読みだし事象マスク(ビッ
ト1)もしくはMS更新事象マスク(ビット2)が
“1”に設定される。その後、該LIPのPSWのPE
Rマスク(ビット1)を“1”に設定して、該LIPタ
スクはSIE命令を発行し、ゲストOSを起動する。
【0030】次に、LPARタスクから命令ステップの
オペレータコマンド指定がなされた場合について説明す
る。命令ステップのオペレータコマンド指定は、付随す
るパラメータとしてLIPアドレスを伴ってLIPタス
クで受け付けられる。オペレータコマンド指定が命令ス
テップの場合、該パラメータとしてのLIPアドレスで
指定されたLIPの制御レジスタ10には、該LPAR
に割り当てられているMSの開始アドレスが設定され、
制御レジスタ11には、該LPARに割り当てられてい
るMSの終了アドレスが設定される。次いで、該LIP
の制御レジスタ9の命令読みだし事象マスク(ビット
1)が“1”に設定され、且つ、該LIPのPSWのP
ERマスクを(ビット1)“1”に設定した後で、該L
IPタスクはSIE命令を発行してゲストOSを起動す
る。
【0031】次に、ゲストOSからPER指示が送られ
て来た場合について説明する。LIPタスクは、ゲスト
OSから送られて来たPER指示と該指示に付随するパ
ラメータを受取る。該ゲストOSから送られて来たPE
R指示に付随するパラメータは、ゲストOSの指定した
PERパラメータとLIPアドレスである。該ゲストO
Sの指定したPERパラメータは、LIPアドレスで指
定されたLIPの制御レジスタ10,制御レジスタ11
及び制御レジスタ9とPSWのPERマスク(ビット
1)に設定される。その後で、該LIPタスクはSIE
命令を発行して、ゲストOSを起動する。
【0032】以上、LIPタスクによるPER条件設定
処理である、制御レジスタ10、制御レジスタ11、制
御レジスタ9及びPSWのPERマスクの設定の、従来
技術について説明した。
【0033】以上述べた如く、従来技術によるLIP上
で動作するゲストプログラムの走行状態の制御を一つ又
はそれ以上の異なるオペレータコマンド指定で指定する
方法は、LIPタスクのPER条件設定処理で、LIP
上に搭載されている1組のPERをアクティブにするこ
とで実現されていた。
【0034】
【発明が解決しようとする課題】以上述べた従来技術に
おいては、LPARモードでの仮想プロセッサシステム
の構成で動作するゲストOSと該ゲストOS上で作動す
るプログラムの走行の制御を行なうに当たり、以下に示
す問題点を有している。
【0035】即ち、オペレータがそれぞれのLPARに
対応付けられた論理コンソール装置から投入する複数の
オペレータコマンドによって、仮想プロセッサシステム
の構成で動作するゲストOSと該ゲストOS上で作動す
るプログラムの走行の制御を行おうとした時、LIP上
で動作するゲストプログラムの走行状態を指定する1つ
またはそれ以上の異なるオペレータコマンドの指定と該
LIP上で動作するゲストOSが発行するPERのアク
ティベーションの指示を排反に指定するか、または一部
の指定を無視する必要がある。
【0036】これは、前記ゲストOS上で作動するプロ
グラムの走行を制御する際、ハイパバイザのLIPタス
クによるPER条件設定処理が、より簡素になるという
長所を有する反面、LPARモードでの仮想プロセッサ
システムのゲストOSと該ゲストOS上で作動するプロ
グラムの走行の制御の指定に制限があるという短所を有
している。
【0037】このLPARモードでの仮想プロセッサシ
ステムのゲストOSと該ゲストOS上で作動するプログ
ラムの走行制御の制限は、ベーシックモードのプロセッ
サシステムには存在しない制限事項であり、LIP上で
走行しているプログラムのディバッグやプログラムの走
行状態のモニタリングを行なう上での阻害要因となり、
この阻害要因は、LPARモードで仮想プロセッサシス
テムの動作を制御し繰作する上で、無視し得ない大きな
問題である。
【0038】本発明の目的は、前記従来技術のLPAR
モードでの仮想プロセッサシステムにおいて、LIP上
で動作するゲストプログラムの走行状態を制御する1つ
またはそれ以上の異なるオペレータコマンドの指定と該
LIP上で動作するゲストプログラムが発行するPER
のアクティベーションの排反指定あるいは一部の指定を
無視する制限をなくすことにより、LIP上で走行して
いるプログラムのディバッグやプログラムの走行状態の
モニタリングを行なう上での阻害要因を除去して、操作
性の良い複合論理プロセッサシステムのプログラム走行
制御方法を提供することにある。
【0039】
【課題を解決するための手段】本発明では、少なくとも
1台のプロセッサと、主記憶装置とコンソール装置から
構成される情報処理システム上に、仮想プロセッサ制御
プログラムにより、少なくとも1台の論理プロセッサと
論理主記憶装置と少なくとも1台の論理コンソール装置
が構築される仮想プロセッサシステムにおいて、前記仮
想プロセッサ制御プログラムにより生成される論理プロ
セッサ上で動作するゲストプログラムの走行状態を制御
そして監視するために、前記論理コンソール装置から入
力される論理プロセッサ上で動作するゲストプログラム
の走行状態を指定する1つまたはそれ以上の異なるオペ
レータコマンド指定の入力パラメータと、前記論理プロ
セッサ上で動作するゲストプログラムが発行するプログ
ラム事象記録機構をアクティブにするための指示パラメ
ータとにより、プロセッサに具備されている1組のプロ
グラム事象記録機構をアクティブにするためのカレント
な1組のパラメータを生成するプログラム事象記録パラ
メータ生成手段を備える。そして、該プログラム事象記
録パラメータ生成手段から出力される1組のカレントな
プログラム事象記録パラメータを、プロセッサに具備さ
れている1組のプログラム事象記録機構に設定し、この
設定された1組のプログラム事象記録パラメータを用い
て該プロセッサのプログラム事象記録機構をアクティブ
にする。
【0040】その結果、論理コンソール装置から入力さ
れる一つ又は複数の異なるオペレータコマンドによるパ
ラメータ指定と、論理プロセッサ上で動作するゲストプ
ログラムが発行するプログラム事象記録機構をアクティ
ブにする一つ又は複数のパラメータ指定とを、同時にそ
して独立に機能させることが可能となり、論理プロセッ
サ上で走行しているプログラムのディバッグやプログラ
ムの走行状態のモニタリングを行なう上で、オペレータ
の操作性を向上させる事ができる。
【0041】
【発明の実施の形態】以下、本発明による仮想プロセッ
サシステムのプログラム走行制御方法の一実施例につい
て、図面を用いて詳細に説明する。
【0042】本発明が適用される仮想プロセッサシステ
ムは、図1により説明したものと同一の構成を有してお
り、また、そのハイパバイザのタスクの構成は、図2に
より説明したものと同一である。ただし、LIPタスク
のTCBには、PSW、制御レジスタ9、制御レジスタ
10及び制御レジスタ11の内容を保存する4つのエン
トリが、それぞれハイパイザ用(ホスト用)、ゲストO
S用及びカレント用の3種類用意される。
【0043】まず、図5を用いて、本発明によるLIP
上で動作するゲストプログラムの走行状態を制御する1
つまたはそれ以上の異なるオペレータコマンドの指定を
LCDから入力し、且つ、LIP上で動作するゲストプ
ログラムがPERをアクティブにした場合の、ハイパバ
イザを構成している各タスク内のオペレータコマンドの
指定の流れとPERパラメータの設定方法について詳細
に説明する。
【0044】図5は、本発明による複合論理プロセッサ
システムのプログラム走行制御方法を実現する上での、
オペレータコマンドの指定をLCDから入力した場合の
各タスク内及び各タスク間のコマンドの指定の流れを説
明した図である。図5において、ホストLCDから入力
されたオペレータコマンドの指定は、何等の修飾も受け
ずにフレームタスクに渡される。ここで、該オペレータ
コマンド指定の種類は、命令ステップの指定とアドレス
コンペアストップの指定の2種類である。命令ステップ
の指定及びアドレスコンペアストップの指定の目的は、
図4での説明と同一であり、主にLIP上で走行してい
る命令列で構成されるプログラムのディバッグに使用さ
れる。
【0045】前記LCDから入力された命令ステップの
オペレータコマンドの指定では、LIPの番号を示すL
IPアドレスを付随するパラメータとしてフレームタス
クに送り、同様に前記LCDから入力されたアドレスコ
ンペアストップのオペレータコマンドの指定では、付随
するパラメータとしてLIPの番号を示すLIPアドレ
スとコンペアアドレスをフレームタスクに送出する。
【0046】前記LCDから送られて来た命令ステップ
指示及びアドレスコンペアストップ指示を、付随するパ
ラメータと共に受け取った該フレームタスクは、該指示
と該指示に付随するパラメータをそのままLPARタス
クに送出する。
【0047】LPARタスクは、フレームタスクから送
られて来た命令ステップ指示またはアドレスコンペアス
トップ指示を、該指示に付随するパラメータと共に受け
取り、命令ステップ指示とアドレスコンペアストップ指
示の双方が指示されているか否かに係わらず、該受け取
った指示と該指示に付随するパラメータの全てをLIP
タスクに送出する。
【0048】LIPタスクは、LPARタスクから送ら
れて来た指示と該指示に付随するパラメータを受取り、
更に、ゲストOSか送られて来たPER指示と該指示に
付随するパラメータを受取る。そして、該LPARタス
クからの1つまたはそれ以上の指示と、ゲストOSから
のPER指示の双方が指示されているか否かにかかわら
ず、当該指示と付随するパラメータの全てを、LIPタ
スク内のPERパラメータ生成ロジック510に入力す
る。PERパラメータ生成ロジック510では、LPA
Rタスクから送られてきた1つまたはそれ以上の指示と
該指示に付随するパラメータ及びゲストOSか送られて
来たPER指示と該指示に付随するパラメータの双方か
ら、該双方の条件を満足する1組のPER指示と該指示
に付随するパラメータを生成し、LIPタスク内のPE
R条件設定処理520に送出する。PER条件設定処理
520では、PERパラメータ生成ロジック510から
送られてきた1組のPER指示と該指示に付随するパラ
メータを用いて、カレントの制御レジスタ10,制御レ
ジスタ11,制御レジスタ9及びPSWのPERマスク
(ビット1)を設定する。制御レジスタ10,制御レジ
スタ11,制御レジスタ9及びPSWのPERマスクの
機能と仕様は、図3の説明と同じである。
【0049】以上、本発明における、LIP上で動作す
るゲストプログラムの走行状態を制御する1つまたはそ
れ以上の異なるオペレータコマンドの指定をLCDから
入力し、且つLIP上で動作するゲストプログラムがP
ERをアクティブにした場合の、ハイパバイザを構成し
ている各タスク内のオペレータコマンドの指定の流れと
PERパラメータの設定について、その概略を説明し
た。
【0050】次に、図6を用いて、本発明におけるハイ
パバイザを構成しているLIPタスクのPERパラメー
タ生成ロジックの出力値である、カレントな1組の制御
レジスタ10,制御レジスタ11,制御レジスタ9及び
PSWのPERマスクに設定する値の生成について、詳
細に説明する。
【0051】図6は、図5のPERパラメータ生成ロジ
ックを510において、カレントな1組の制御レジスタ
10,制御レジスタ11,制御レジスタ9及びPSWの
PERマスク(ビット1)に設定するために生成される
PERパラメータ生成値を説明した図である。なお、本
実施例では、PERパラメータの指定は、オペレータコ
マンド指定の命令ステップの指定とアドレスコンペアス
トップの指定及びゲストOSからのPER指定の3種類
であるとする。
【0052】図6において、前記命令ステップの指定と
アドレスコンペアストップの指定及びゲストOSからの
PER指定の3種類の組合せから、1組のカレントな制
御レジスタ10,制御レジスタ11,制御レジスタ9及
びPSWのPERマスク(ビット1)に対してセットす
べきPERパラメータの出力値は、ケース601からケ
ース608の8通りのケースが存在する。以下、各々の
ケース毎に説明する。
【0053】〈ケース601〉このケースは、命令ステ
ップとアドレスコンペアストップの指定がいずれも無
く、さらにゲストOSからのPER指定も無いケースで
ある。この場合は、カレントなPER機構を使用しない
ケースであり、PERパラメータ生成ロジック510か
らは、1組のカレントな制御レジスタ10,制御レジス
タ11,制御レジスタ9及びPSWのPERマスクに対
してセットすべきPERパラメータの値は、ゲストOS
の設定したゲストの制御レジスタ10,ゲストの制御レ
ジスタ11,ゲストの制御レジスタ9及びゲストのPS
WのPERマスクと同一の値が出力される。
【0054】〈ケース602〉このケースは、命令ステ
ップとアドレスコンペアストップの指定が無く、ゲスト
OSからのPER指定があるケースである。この場合
は、カレントなPER機構を使用するケースであり、P
ERパラメータ生成ロジック510からは、1組のカレ
ントな制御レジスタ10,制御レジスタ11,制御レジ
スタ9及びPSWのPERマスクに対してセットすべき
PERパラメータの値として、ゲストのPER機構に設
定されている値、即ち、ケース601と同様の、ゲスト
OSの設定したゲストの制御レジスタ10,ゲストの制
御レジスタ11,ゲストの制御レジスタ9及びゲストの
PSWのPERマスクと同一の値が出力される。
【0055】〈ケース603〉このケースは、命令ステ
ップの指定が無く、アドレスコンペアストップの指定が
あり、そして、ゲストOSからのPER指定が無いケー
スである。この場合は、カレントなPER機構を使用す
るケースであり、PERパラメータ生成ロジック510
からは、カレントな制御レジスタ10と制御レジスタ1
1にセットするべきPERパラメータの値は両方共、L
CDから送られたコンペアアドレスの値が出力される。
ここで、PERパラメータ生成ロジック510から、カ
レントな制御レジスタ9のビット1にセットすべきPE
Rパラメータは、LCDから指定された指示が命令アド
レスコンペアストップの指示であれば、“1”の値が出
力され、カレントな制御レジスタ9のビット2にセット
すべきPERパラメータは、LCDから指定された指示
がストアアドレスコンペアストップの指示であれば、
“1”の値がそれぞれ出力され、カレントな制御レジス
タ9のその他のビットにセットすべきPERパラメータ
は、“0”の値が出力される。また、PERパラメータ
生成ロジック510から、カレントなPSWのPERマ
スク(ビット1)に対してセットすべきPERパラメー
タは、“1”の値が出力される。その結果、PERパラ
メータ生成ロジック510から出力されるPERパラメ
ータの値は、カレントなPER機構の命令読み出し事象
と主記憶更新事象をアクティベートする値となる。
【0056】〈ケース504〉このケースは、命令ステ
ップの指定が無く、アドレスコンペアストップの指定が
あり、そして、ゲストOSからのPER指定があるケー
スである。この場合は、カレントなPER機構を使用す
るケースであり、PERパラメータ生成ロジック510
から、カレントな制御レジスタ10にセットすべきPE
Rパラメータとして、LCDから送られたコンペアアド
レスの値とゲストの制御レジスタ10にセットされてい
る値のうち小さい方の値が出力され、カレントな制御レ
ジスタ11にセットするべきPERパラメータとして、
LCDから送られたコンペアアドレスの値とゲストの制
御レジスタ11にセットされている値のうち大きい方の
値が出力される。また、PERパラメータ生成ロジック
510からは、カレントな制御レジスタ9のビット1に
セットすべきPERパラメータとして、LCDから指定
された指示が命令アドレスコンペアストップの指示であ
れば、“1”の値が出力され、LCDから指定された指
示が命令アドレスコンペアストップの指示で無ければ、
ゲストの制御レジスタ9のビット1と同一の値が出力さ
れる。カレントな制御レジスタ9のビット2にセットす
るべきPERパラメータとして、LCDから指定された
指示がストアアドレスコンペアストップの指示であれ
ば、“1”の値が出力され、LCDから指定された指示
がストアアドレスコンペアストップの指示で無ければ、
ゲストの制御レジスタ9のビット2と同一の値が出力さ
れる。カレントな制御レジスタ9のその他のビットにセ
ットするべきPERパラメータは、ゲストの制御レジス
タ9のその他のビットと同一の値が出力される。さら
に、PERパラメータ生成ロジック510から、カレン
トなPSWのPERマスクに対してセットすべきPER
パラメータとして、“1”の値が出力される。その結
果、PERパラメータ生成ロジック510から出力され
るPERパラメータは、カレントなPER機構の命令読
み出し事象と主記憶更新事象をアクティベートする値及
びゲストのPER機構でアクティベートされている値と
なる。
【0057】〈ケース605〉このケースは、命令ステ
ップの指定があり、アドレスコンペアストップの指定が
無く、そしてゲストOSからのPER指定が無いケース
である。この場合は、カレントなPER機構を使用する
ケースであり、PERパラメータ生成ロジック510か
ら、カレントな制御レジスタ10にセットすべきPER
パラメータとして、対応するLPARに割り当てられて
いるMSの最小アドレス、即ち、“0”の値が出力さ
れ、カレントな制御レジスタ11にセットすべきPER
パラメータとして、対応するLPARに割り当てられて
いるMSの最大アドレスの値が出力される。また、PE
Rパラメータ生成ロジック510から、カレントな制御
レジスタ9のビット1にセットすべきPERパラメータ
として、LCDから指定された指示が命令ステップの指
示であるので、“1”の値が出力され、カレントな制御
レジスタ9のその他のビットにセットするべきPERパ
ラメータとして、“0”の値が出力される。さらに、P
ERパラメータ生成ロジック510から、カレントなP
SWのPERマスクに対してセットすべきPERパラメ
ータとして、“1”の値が出力される。その結果、PE
Rパラメータ生成ロジック510から出力されるPER
パラメータの値は、カレントなPER機構の命令読み出
し事象をアクティベートする値となる。
【0058】〈ケース606〉このケースは、命令ステ
ップの指定があり、アドレスコンペアストップの指定が
無く、そして、ゲストOSからのPER指定があるケー
スである。この場合は、カレントなPER機構を使用す
るケースであり、PERパラメータ生成ロジック510
から、カレントな制御レジスタ10にセットすべきPE
Rパラメータとして、対応するLPARに割り当てられ
ているMSの最小アドレス、即ち、“0”の値が出力さ
れ、カレントな制御レジスタ11にセットするべきPE
Rパラメータとして、対応するLPARに割り当てられ
ているMSの最大アドレスの値が出力される。また、P
ERパラメータ生成ロジック510から、カレントな制
御レジスタ9のビット1にセットすべきPERパラメー
タは、LCDから指定された指示が命令ステップの指示
であるので、“1”の値が出力され、カレントな制御レ
ジスタ9のその他のビットにセットすべきPERパラメ
ータは、ゲストの制御レジスタ9のその他のビットと同
一の値が出力される。さらに、PERパラメータ生成ロ
ジック510から、カレントなPSWのPERマスクに
対してセットすべきPERパラメータは、“1”の値が
出力される。その結果、PERパラメータ生成ロジック
510から出力されるPERパラメータは、カレントな
PER機構の命令読み出し事象をアクティベートする値
及びゲストのPER機構でアクティベートされている値
となる。
【0059】〈ケース607〉このケースは、命令ステ
ップの指定があり、アドレスコンペアストップの指定が
あり、そして、ゲストOSからのPER指定が無いケー
スである。この場合は、カレントなPER機構を使用す
るケースであり、PERパラメータ生成ロジック510
から、カレントな制御レジスタ10にセットすべきPE
Rパラメータとして、対応するLPARに割り当てられ
ているMSの最小アドレス、即ち、“0”の値が出力さ
れ、カレントな制御レジスタ11にセットすべきPER
パラメータは、対応するLPARに割り当てられている
MSの最大アドレスの値が出力される。また、PERパ
ラメータ生成ロジック510から、カレントな制御レジ
スタ9のビット1にセットすべきPERパラメータは、
LCDから指定された指示が命令アドレスコンペアスト
ップの指示であれば、“1”の値が出力され、カレント
な制御レジスタ9のビット2にセットすべきPERパラ
メータは、LCDから指定された指示がストアアドレス
コンペアストップの指示であれば、“1”の値がそれぞ
れ出力され、カレントな制御レジスタ9のその他のビッ
トにセットすべきPERパラメータは、“0”の値が出
力される。さらに、PERパラメータ生成ロジック51
0から、カレントなPSWのPERマスクに対してセッ
トすべきPERパラメータは、“1”の値が出力され
る。その結果、前記PERパラメータ生成ロジック51
0から出力されるPERパラメータは、カレントなPE
R機構の命令読み出し事象と主記憶更新事象をアクティ
ベートする値となる。
【0060】〈ケース608〉このケースは、命令ステ
ップとアドレスコンペアストップの指定があり、そして
ゲストOSからのPER指定もあるケースである。この
場合は、カレントなPER機構を使用するケースであ
り、PERパラメータ生成ロジック510から、カレン
トな制御レジスタ10にセットすべきPERパラメータ
は、対応するLPARに割り当てられているMSの最小
アドレス、即ち、“0”の値が出力され、カレントな制
御レジスタ11にセットすべきPERパラメータは、対
応するLPARに割り当てられているMSの最大アドレ
スの値が出力される。また、PERパラメータ生成ロジ
ック510から、カレントな制御レジスタ9のビット1
にセットすべきPERパラメータは、LCDから指定さ
れた指示が命令アドレスコンペアストップの指示であれ
ば、“1”の値が出力され、LCDから指定された指示
が命令アドレスコンペアストップの指示で無ければ、ゲ
ストの制御レジスタ9のビット1と同一の値が出力され
る。カレントな制御レジスタ9のビット2にセットすべ
きPERパラメータは、LCDから指定された指示がス
トアアドレスコンペアストップの指示であれば、“1”
の値が出力され、LCDから指定された指示がストアア
ドレスコンペアストップの指示で無ければ、ゲストの制
御レジスタ9のビット2と同一の値が出力される。カレ
ントな制御レジスタ9のその他のビットにセットすべき
PERパラメータは、ゲストの制御レジスタ9のその他
のビットと同一の値が出力される。さらに、PERパラ
メータ生成ロジック510からは、カレントなPSWの
PERマスクに対してセットするべきPERパラメータ
として、“1”の値が出力される。その結果、PERパ
ラメータ生成ロジック510から出力されるPERパラ
メータは、カレントなPER機構の命令読み出し事象と
主記憶更新事象をアクティベートする値及びゲストのP
ER機構でアクティベートされている値となる。
【0061】以上、本発明のハイパバイザを構成してい
るLIPタスクによるPERパラメータ生成ロジックを
用いて、カレントな1組の制御レジスタ10,制御レジ
スタ11,制御レジスタ9及びPSWのPERマスクに
設定する値の生成について詳細に説明した。
【0062】図7は、本発明による仮想プロセッサシス
テムのプログラム走行制御方法を実現する上での、前記
PERパラメータ生成ロジックの出力を得るために用い
られる複数組のPERパラメータを格納しておくLIP
タスクのTCBのパラメータエントリを示した図であ
る。
【0063】図7に示すように、LIPタスクのTCB
には、PSW,制御レジスタ9,制御レジスタ10及び
制御レジスタ11の内容を保存する4つのエントリが、
それぞれハイパバイザ用(ホスト用),ゲストOS用及
びカレント用の3種類用意される。更に、LIPタスク
のTCBには、本発明のプログラム走行制御方法を実現
する上で必要なフラグエントリが用意される。
【0064】図7において、LIPタスクのTCBのパ
ラメータエントリ700は、ハイパバイザ用のホストパ
ラメータエントリ710,ゲストOS用のゲストパラメ
ータエントリ720及び実プロセッサに実際にセットす
るカレントパラメータエントリ730の3種類のパラメ
ータエントリが、ハイパバイザの制御の下にLIPタス
クのTCB内で読み出しや格納及び変更の操作を受け
る。
【0065】ハイパバイザ用のホストパラメータエント
リ710は、ホスト制御レジスタ10,ホスト制御レジ
スタ11,ホスト制御レジスタ9及びホストPSWの各
エントリを有し、ゲストOSを起動する時、SIE命令
を発行する直前で、実プロセッサの制御レジスタ10,
制御レジスタ11,制御レジスタ9及びPSWの内容が
格納される。該ホストパラメータエントリ710の内容
は、SIE命令で起動されたゲストOSが割込み又はイ
ンターセプションによって、制御がゲストOSからハイ
パバイザに渡される場合に、実プロセッサの前記パラメ
ータに対応した制御レジスタ群及びPSWの回復、更
に、PERパラメータ生成ロジック510の入力パラメ
ータとして使用される。
【0066】ゲストOS用のゲストパラメータエントリ
720は、ゲスト制御レジスタ10,ゲスト制御レジス
タ11,ゲスト制御レジスタ9及びゲストPSWの各エ
ントリを有し、SIE命令の実行時に、実プロセッサの
制御レジスタ10,制御レジスタ11,制御レジスタ9
及びPSWにロードされる。該ゲストパラメータエント
リ720への格納は、SIE命令で起動されたゲストO
Sが割込み又はインターセプションによって、制御がゲ
ストOSからハイパバイザに渡される場合に、実プロセ
ッサの制御レジスタ10,制御レジスタ11,制御レジ
スタ9及びPSWの内容を格納することで行なわれる。
更に、該ゲストパラメータエントリ720の内容は、P
ERパラメータ生成ロジック510の入力パラメータと
しても使用される。
【0067】カレントパラメータエントリ730は、実
プロセッサに実際にセットされるパラメータエントリ
で、カレント制御レジスタ10,カレント制御レジスタ
11,カレント制御レジスタ9及びカレントPSWの各
エントリを有し、SIE命令の実行時に、ゲストパラメ
ータエントリ720の内容を実プロセッサの制御レジス
タ群に対し、そのままの内容ではロード出来ない場合
に、該カレントパラメータエントリ730から実プロセ
ッサの制御レジスタ10,制御レジスタ11,制御レジ
スタ9もしくはPSWにロードされる。更に、該カレン
トパラメータエントリ730へは、SIE命令を発行す
る直前で、本発明のハイパバイザを構成しているLIP
タスクによるPERパラメータ生成ロジック510の出
力の内容が格納される。
【0068】次に、LIPタスク内のTCBのフラグエ
ントリ740について説明する。該LIPタスク内のT
CBのフラグエントリ740には、ハイパバイザが、本
発明による仮想プロセッサシステムのプログラム走行制
御方法を実現する上で必要なLIPタスクを制御するた
めに使用される複数の制御用フラグが格納される。
【0069】LIPタスク内のTCBのフラグエントリ
740内の複数の制御用フラグは、命令ステップ指示フ
ラグ,アドレスコンペアストップ指示フラグ,ゲストP
ER指示フラグ,LIP停止フラグ及び該LIPタスク
が存在している状態キューを示すキューIDから構成さ
れる。以下、それぞれのフラグの機能について説明す
る。
【0070】(1) 命令ステップ指示フラグ : 命
令ステップ指示フラグは、LCDから命令ステップ動作
が指示されたときに“1”にセットされ、命令ステップ
動作が解除されたときに“0”にリセットされる。該命
令ステップ指示フラグは、LIPタスクのPERパラメ
ータ生成ロジック510の入力パラメータとして使用さ
れると共に、モニタタスクのタスクスケジューラがLI
Pタスクをディスパッチするか否かを判断するタスクス
ケジューリングの入力パラメータとしても使用される。
【0071】(2) アドレスコンペアストップ指示フ
ラグ : アドレスコンペアストップ指示フラグは、L
CDからアドレスコンペアストップ動作が指示されたと
きに“1”にセットされ、アドレスコンペアストップ動
作が解除されたときに“0”にリセットされる。該アド
レスコンペアストップ指示フラグは、LIPタスクのP
ERパラメータ生成ロジック510の入力パラメータと
して使用される。
【0072】(3) ゲストPER指示フラグ : ゲ
ストPER指示フラグは、ゲストOSからゲストPER
のアクティベーションが指示されたときに“1”にセッ
トされ、ゲストPERのディアクティベーションが指示
されたときに“0”にリセットされる。該ゲストPER
指示フラグは、LIPタスクのPERパラメータ生成ロ
ジック510の入力パラメータとして使用されると共
に、LIPタスクのシミュレータがゲストPER割込み
の割込みシミュレーションを行なうか否かを判断する割
込みシミュレータの入力パラメータとしても使用され
る。
【0073】(4) LIP停止フラグ:LIP停止フ
ラグは、前記命令ステップ動作が指示されたとき及び前
記アドレスコンペアストップの条件が成立したときにL
PARタスクにより“1”にセットされ、前記命令ステ
ップ動作が解除されたとき及びアドレスコンペアストッ
プの条件が消滅したときに“0”にリセットされる。該
LIP停止フラグは、モニタタスクのタスクスケジュー
ラがLIPタスクをディスパッチするか否かを判断する
タスクスケジューリングの入力パラメータとして使用さ
れる。
【0074】(5) キューID:キューIDは、LI
Pタスクが現在所属しているキューを識別するIDを保
持する。ここでいうキューとは、タスクが所属している
状態キューを云い、例えば、該LIPタスクがモニタタ
スクのタスクスケジューラによってディスパッチ可能状
態にあれば、タスクレディキューに所属し、LIPタス
クがモニタタスクのタスクスケジューラによってディス
パッチ不能状態にあれば、タスクサスペンドキューに所
属し、前記LIPタスクがウェイト状態にあれば、タス
クウェイトキューに所属し、タスクの状態の遷移に伴い
ダイナミックに変更される。該キューIDは、モニタタ
スクのタスクスケジューラがLIPタスクをディスパッ
チするか否かを判断するタスクスケジューリングの入力
パラメータとして使用される。
【0075】次に、図8を用いて、オペレータがLCD
から命令ステップ動作もしくはアドレスコンペアストッ
プ動作を指示したとき、及び、ゲストOSからゲストP
ER機構のアクティベーションが指示されたときの、L
IPタスク内のカレントなPER機構の設定手順を説明
する。
【0076】ステップ801 : LCDから命令ステ
ップ動作もしくはアドレスコンペアストップ動作を指示
されたとき、または、ゲストOSからゲストPER機構
のアクティベーションが指示されると、モニタタスク
は、指定されたLIPタスクをアンディスパッチして、
該LIPタスクの動作を停止させる。ここで、アンディ
スパッチとは、指定されたタスクがディスパッチ中であ
れば該タスクのデイスパッチ終了を待ち、指定されたタ
スクがディスパッチ中で無ければその時点で一時的に該
タスクのデイスパッチを停止することを云う。
【0077】ステップ802 : LIPタスクのアン
ディスパッチ操作の後で、モニタタスクは、指定された
LIPタスクが現在所属しているレディキューから、該
LIPタスクのTCB内のキューIDを変更することに
よって、サスペンドキューに所属を移動する。該LIP
タスクは、所属がレディキューからサスペンドキューに
移動されたことでサスペンド状態となり、該タスクはデ
ィスパッチされなくなる。
【0078】ステップ803 : モニタタスクは、指
定されたLIPタスクのTCBのフラグエントリを以下
のように設定する。即ち、命令ステップ動作が指定され
ていれば、命令ステップ指示フラグを“1”にセット
し、アドレスコンペアストップ動作が指定されていれ
ば、アドレスコンペアストップ指示フラグを“1”にセ
ットし、ゲストOSからのゲストPERのアクティベー
ションが指定されていれば、ゲストPER指示フラグを
“1”にセットする。
【0079】ステップ804 : 指定されたLIPタ
スクは、PERパラメータ生成ロジック510をアクテ
ィベーションし、該PERパラメータ生成ロジック51
0により、各ケースに応じて図6に示す出力(PERパ
ラメータ)を得、この出力をPER条件設定処理520
に渡す。
【0080】ステップ805 : 指定されたLIPタ
スクは、PERパラメータ生成ロジックから渡されたP
ERパラメータを用いてPER条件設定処理520を実
行し、カレントPER機構をアクティベーションする。
【0081】ステップ806 : LIPタスクでPE
R条件設定処理の実行後、モニタタスクは、指定された
LIPタスクが現在所属しているサスペンドキューか
ら、該LIPタスクのTCB内のキューIDを変更する
ことによって、レディキューに所属を移動する。該LI
Pタスクは、所属がサスペンドキューからレディキュー
に移動されたことでサスペンド状態となり、LIP該タ
スクはディスパッチ可能状態になる。
【0082】ステップ807 : モニタタスクは、指
定されたLIPタスクをアンディスパッチ状態から解除
して、該LIPタスクの動作の起動をリリーズする。
【0083】次に、図9を用いて、カレントなPER機
構が、PERの条件を検出したときのマスタタスクの処
理及びLIPタスクの扱いの手順を説明する。
【0084】ステップ901 : 図8で説明した如
く、オペレータがLCDから命令ステップ動作もしくは
アドレスコンペアストップ動作を指示したとき及びゲス
トOSからゲストPER機構のアクティベーションが指
示されたとき、LIPタスク内のカレントなPER機構
がアクティベーションされる。該カレントなPER機構
は、命令ステップ/アドレスコンペアストップ/ゲスト
PER3つの条件のうち1つ又はそれ以上が成立する
と、マスタタスクに対し、カレントなPER割込みを介
して条件成立を報告する。前記カレントなPER割込み
が発生すると、モニタタスクは、指定されたLIPタス
クのTCB内のフラグエントリのゲストPER指示フラ
グ“1”にセットされているか否かを調べ、“1”であ
れば、ステップ902に行き、“0”であれば、ステッ
プ907に行く。
【0085】ステップ902 : モニタタスクは、指
定されたLIPタスクに制御を渡す。該LIPタスク
は、自TCB内のゲストPERパラメータを取り出し、
ステップ903に行く。
【0086】ステップ903 : LIPタスクは、自
分のTCB内から取り出したゲストPERパラメータを
用いて、ゲストPER条件が成立しているか否かを調
べ、成立していればステップ904に行き、成立してい
なければステップ907に行く。
【0087】ステップ904 : このステップは、当
該LIPタスクで制御されているゲストOSのゲストP
ER条件が成立している場合に実行され、ステップ90
2で自分のTCB内から取り出したゲストPERパラメ
ータを用いて、ゲストPER割込みのシミュレーション
処理を行なう。このゲストPER割込みシミュレーショ
ン処理では、ゲスト主記憶のプリフィクスエリアへのP
ER割込みパラメータの格納及び該割込みに対応するゲ
ストPSWのスワップ処理が行なわれる。その後、ステ
ップ905に行く。
【0088】ステップ905 : 指定されたLIPタ
スクは、該LIPタスクのTCB内の命令ステップ指示
フラグまたはアドレスコンペアストップ指示フラグが
“1”にセットされているか否かをテストする。該当フ
ラグの何れかが“1”にセットされていればステップ9
07に行き、“1”にセットされていなければステップ
906に行く。
【0089】ステップ906 : このステップは、指
定されたLIPタスクのTCB内の命令ステップ指示フ
ラグ及びアドレスコンペアストップ指示フラグが何れも
“1”にセットされていない場合に実行され、ステップ
904で行なわれたゲストPSWのスワップ処理の結果
である新PSWを用い、SIE命令によりゲストOSの
PER割込み処理を起動する。以降、ゲストOSの動作
が再開され、カレントなPER機構が、PERの条件を
検出したときのマスタタスクの処理及びLIPタスクの
処理手順を終了する。
【0090】ステップ907 : このステップは、指
定されたLIPタスクのTCB内の命令ステップ指示フ
ラグまたはアドレスコンペアストップ指示フラグが
“1”にセットされている場合に実行され、該LIPタ
スクのTCB内のアドレスコンペアストップ指示フラグ
が“1”にセットされている否かをテストする。該フラ
グが“1”にセットされていればステップ908に行
き、“1”にセットされていなければステップ909に
行く。
【0091】ステップ908 : このステップでは、
指定されたLIPタスクは、自分のTCB内から取り出
したコンペアアドレスパラメータを用いて、アドレスコ
ンペアストップ条件が成立しているか否かを調べ、成立
していればステップ910に行き、成立していなければ
ステップ909に行く。
【0092】ステップ909 : このステップでは、
指定されたLIPタスクのTCB内の命令ステップ指示
フラグが“1”にセットされている否かをテストする。
該フラグが“1”にセットされていればステップ910
に行き、“1”にセットされていなければステップ91
1に行く。
【0093】ステップ910 : このステップは、指
定されたLIPタスクを停止状態に置く処理を行なう。
即ち、指定されたLIPタスクが属するLPARタスク
が、該LIPタスクのTCB内のLIP停止フラグを
“1”にセットし、LPARタスクが発行するタスク停
止マクロ命令によってモニタタスクが、該LIPタスク
が現在所属しているレディキューから、該LIPタスク
のTCB内のキューIDを変更することによって、サス
ペンドキューに所属を移動する。LIPタスクは、所属
がレディキューからサスペンドキューに移動されたこと
でサスペンド状態となり、該タスクはディスパッチされ
なくなり、タスクの停止状態が実現される。ここで、カ
レントなPER機構が、PERの条件を検出したときの
マスタタスクの処理及びLIPタスクの処理手順を終了
する。
【0094】ステップ911 : 指定されたLIPタ
スクは、自分のTCB内から取り出したゲストPERパ
ラメータを用いて、ゲストPER条件が成立しているか
否かを調べ、成立していればステップ906に行き、成
立していなければ、カレントなPER機構が、PERの
条件を検出したときのマスタタスクの処理及びLIPタ
スクの処理手順を終了する。
【0095】以上、本発明の一実施例について詳述し
た。前述した本発明の一実施例は、PERパラメータ生
成ロジックをタスクの機能としたが、この機能は、プロ
グラム的手段で実現されても良く、該機能をマイクロコ
ードによってインプリメントした命令語を発行すること
で実現しても良く、更には該機能の大部分をハードウェ
ア論理で実現した論理回路で実現しても良いことは云う
までもない。
【0096】
【発明の効果】以上説明した如く、従来技術において
は、LPARモードでの仮想プロセッサシステムで動作
するゲストOSと該ゲストOS上で作動するプログラム
の走行の制御を行なうに当たり、該プログラムの走行の
制御をオペレータがそれぞれのLPARに対応付けられ
た論理コンソール装置から投入する複数のオペレータコ
マンドによって行おうとした時、LIP上で動作するゲ
ストプログラムの走行状態を指定する1つまたはそれ以
上の異なるオペレータコマンドの指定とLIP上で動作
するゲストOSが発行するPERのアクティベーション
を排反に指定するか、または一部の指定を無視する必要
があったが、本発明では、かかる問題を除去することが
出来、LPARモードでの仮想プロセッサシステムのゲ
ストOSと該ゲストOS上で作動するプログラムの走行
の制御にベーシックモードのプロセッサシステムには存
在しない制限事項を除去することが可能となり、LIP
上で走行しているプログラムのディバッグやプログラム
の走行状態のモニタリングを行なう上での阻害要因を除
去出来、この阻害要因に依って生じていた複合論理プロ
セッサシステムの動作を制御し繰作する上で存在してい
た大きな問題を解決できる。
【0097】このように、本発明によれば、論理コンソ
ール装置から入力される複数の異なるオペレータコマン
ドによる複数の指定と、論理プロセッサ上で動作するゲ
ストプログラムが発行するプログラム事象記録機構をア
クティブにする複数の指定を、同時にそして独立に機能
させることが出来、LIP上で走行しているプログラム
のディバッグやプログラムの走行状態のモニタリングを
行なう上での操作性を各段に向上させる事ができる。
【図面の簡単な説明】
【図1】本発明で対象とする仮想プロセッサシステムの
構成概念を示す図である。
【図2】図1の仮想プロセッサシステムを実現する上で
使用されるハイパバイザの構成概念を示す図である。
【図3】プロセッサに具備されるプログラム事象記録機
構のPERパラメータ値に用いられるPSW、制御レジ
スタ9,10,11の形式例を示す図である。
【図4】従来技術のLCDからオペレータコマンドを入
力したときの各タスク内及び各タスク間のコマンド指定
の流れを説明した図である。
【図5】本発明を適用した場合の、LCDからオペレー
タコマンドを入力したときの各タスク内及び各タスク間
のコマンド指定の流れを説明した図である。
【図6】本発明を適用した場合の、PERパラメータ生
成ロジックを用いて生成されるPERパラメータ値を説
明した図である。
【図7】本発明を適用した場合の、PERパラメータ生
成ロジックの出力を得るために用いられる複数のパラメ
ータを格納しておくLIPタスクのTCBのパラメータ
エントリを説明した図である。
【図8】本発明であるを適用した場合の、LCDから複
数のオペレータコマンドを入力し、ゲストOSからゲス
トPER機構のアクティベーションが指示したときのL
IPタスク内のカレントなPER機構の設定手順を示す
フローチャートである。
【図9】本発明を適用した場合の、カレントなPER機
構がPERの条件を検出したときのマスタタスクの処理
及びLIPタスクの扱いの処理手順を示すフローチャー
トである。
【符号の説明】
101 主記憶装置 102、103 実中央処理装置 111 ハイパバイザ 112,113 仮想プロセッサシステム 121,122,131,132 論理中央処理装置 140 実コンソール装置 142,143,250 論理コンソール装置 210 モニタタスク 220 LPARタスク 230,231 LIPタスク 240 フレームタスク 260 ゲストOS 510 PERパラメータ生成ロジック 520 PER条件設定処理 710 ホストパラメータエントリ 720 ゲストパラメータエントリ 730 カレントパラメータエントリ 740 フラグエントリ

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 仮想プロセッサ制御プログラムにより制
    御される仮想プロセッサシステムにおいて、前記仮想プ
    ロセッサ制御プログラムにより生成される論理プロセッ
    サ上で動作するゲストプログラムの走行状態を制御する
    プログラム走行制御方法であって、 論理コンソール装置から入力される前記論理プロセッサ
    上で動作するゲストプログラムの走行状態を指定する一
    つ又はそれ以上の異なるオペレータコマンド指定の入力
    パラメータと、前記論理プロセッサ上で動作するゲスト
    プログラムが発行するプログラム事象記録機構をアクテ
    ィブするための指示パラメータとから、プロセッサに具
    備されているプログラム事象記録機構の1組のカレント
    なプログラム事象記録パラメータを生成し、 前記生成したカレントなプログラム事象記録パラメータ
    を前記プログラム事象記録機構に設定して、該プログラ
    ム事象記録機構をアクティブにすることを特徴とする仮
    想プロセッサシステムのプログラム走行制御方法。
  2. 【請求項2】 請求項1記載の仮想プロセッサシステム
    のプログラム走行制御方法において、 仮想プロセッサ制御プログラムによってプロセッサのプ
    ログラム事象記録機構に設定されるプログラム事象記録
    パラメータであるホストプログラム事象記録パラメータ
    の記憶手段と、 論理プロセッサ上で動作するゲストプログラムが発行す
    るプログラム事象記録機構をアクティブにする指定によ
    り、前記ゲストプログラムによって前記論理プロセッサ
    のプログラム事象記録機構に設定されているプログラム
    事象記録パラメータであるゲストプログラム事象記録パ
    ラメータの記憶手段と、 前記仮想プロセッサ制御プログラムによって前記プロセ
    ッサのプログラム事象記録機構に設定される1組のカレ
    ントなプログラム事象記録パラメータであるカレントプ
    ログラム事象記録パラメータの記憶手段とを備え、 前記各記憶手段に記憶されている、ホストプログラム事
    象記録パラメータとゲストプログラム事象記録パラメー
    タ及び新たに生成する以前のカレントプログラム事象記
    録パラメータを入力として用いて、プロセッサに具備さ
    れているプログラム事象記録機構に設定するカレントな
    プログラム事象記録パラメータを新たに生成することを
    特徴とする仮想プロセッサシステムのプログラム走行制
    御方法。
  3. 【請求項3】 請求項1もしくは2記載の仮想プロセッ
    サシステムのプログラム走行制御方法において、 仮想プロセッサ制御プログラムは、物理プロセッサを直
    接制御するモニタ部と論理コンソール装置から入力され
    るオペレータコマンド指定を受け取るフレーム部と前記
    フレーム部からの前記オペレータコマンド指定を論理プ
    ロセッサに転送する仮想プロセッサシステム制御部と論
    理プロセッサを制御する論理プロセッサ制御部から構成
    され、カレントなプログラム事象記録パラメータを生成
    する機能は前記論理プロセッサ制御部に組み込まれてい
    ることを特徴とする仮想プロセッサシステムのプログラ
    ム走行制御方法。
JP8075953A 1996-03-29 1996-03-29 仮想プロセッサシステムのプログラム走行制御方法 Pending JPH09265407A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8075953A JPH09265407A (ja) 1996-03-29 1996-03-29 仮想プロセッサシステムのプログラム走行制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8075953A JPH09265407A (ja) 1996-03-29 1996-03-29 仮想プロセッサシステムのプログラム走行制御方法

Publications (1)

Publication Number Publication Date
JPH09265407A true JPH09265407A (ja) 1997-10-07

Family

ID=13591106

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8075953A Pending JPH09265407A (ja) 1996-03-29 1996-03-29 仮想プロセッサシステムのプログラム走行制御方法

Country Status (1)

Country Link
JP (1) JPH09265407A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013136726A1 (en) * 2012-03-16 2013-09-19 International Business Machines Corporation Transformation of a program-event-recording event into a run-time instrumentation event

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013136726A1 (en) * 2012-03-16 2013-09-19 International Business Machines Corporation Transformation of a program-event-recording event into a run-time instrumentation event
JP2015515654A (ja) * 2012-03-16 2015-05-28 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation プログラム・イベント記録イベントのランタイム計装イベントへの変換

Similar Documents

Publication Publication Date Title
US5511217A (en) Computer system of virtual machines sharing a vector processor
JP3659062B2 (ja) 計算機システム
US5499379A (en) Input/output execution apparatus for a plural-OS run system
US9396013B2 (en) Method for controlling a virtual machine and a virtual machine system
US6802062B1 (en) System with virtual machine movable between virtual machine systems and control method
JPH0784883A (ja) 仮想計算機システムのアドレス変換バッファパージ方法
JPH0792761B2 (ja) 仮想計算機システムの入出力制御方法
JPH02208740A (ja) 仮想計算機制御方式
JPH0664538B2 (ja) 仮想計算機データ処理システムにおけるバッチ・タスク処理の中断方法
JPS61206043A (ja) 仮想計算機システムにおける割込制御方法
US20010034751A1 (en) Real-time OS simulator
JPH06187178A (ja) 仮想計算機システムの入出力割込み制御方法
JPH0754471B2 (ja) デ−タ処理装置
JP6508382B1 (ja) 情報処理装置、情報処理方法、プログラム
US5003468A (en) Guest machine execution control system for virutal machine system
JPH09282196A (ja) 複合論理プロセッサシステムのプログラム走行制御方式
JPH09265407A (ja) 仮想プロセッサシステムのプログラム走行制御方法
JPH02210542A (ja) 仮想計算機システムにおける実行制御方式
JPS61184643A (ja) 仮想計算機の起動制御方式
JPH04227547A (ja) 情報処理装置
JP2864255B2 (ja) 仮想計算機方式の計算機システム
JP3022398B2 (ja) 仮想計算機方式
JPH0444131A (ja) 複数os走行システムにおけるプロセッサ間通信の実行装置および方法
JP2556018B2 (ja) チヤネルパスグル−プ管理方式
JPH06242975A (ja) 多重情報処理システムの仮想計算機ディスパッチ方式