JPH03217949A - 計算機システム - Google Patents
計算機システムInfo
- Publication number
- JPH03217949A JPH03217949A JP2013206A JP1320690A JPH03217949A JP H03217949 A JPH03217949 A JP H03217949A JP 2013206 A JP2013206 A JP 2013206A JP 1320690 A JP1320690 A JP 1320690A JP H03217949 A JPH03217949 A JP H03217949A
- Authority
- JP
- Japan
- Prior art keywords
- address
- trace
- trace area
- debug
- running
- 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
- 238000012545 processing Methods 0.000 claims description 33
- 238000012544 monitoring process Methods 0.000 claims description 31
- 230000004044 response Effects 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 101100183412 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SIN4 gene Proteins 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000000034 method Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、デバッグアシスト装置が走行中のOSに対し
てトレースを行なう計算機システムに関する。
てトレースを行なう計算機システムに関する。
仮想計算機システムは、特開昭57−212680号公
報に記載されているように、1台の計算機上で複数の論
理的な計算機である仮想計算機(VM : Virtu
al Machine)を実現し、仮想計算機制御プ
ログラム(VMCP:Virtual Machin
e C ontrol, P rogram)の制
御の下で各VM上のオペレーティング・システム(○S
: Operateing S ystem)の走
行を可能とするシステムである。このため、VMCPは
各VMに、実計算機の資源を分割して与えたり、VMC
Pが論理的に生成した資源を与えている。例えば、主記
憶に関しては、物理主記憶装置の記憶領域を分割してそ
の1つの連続した領域をVMの主記憶として与えること
も可能であるし、VMCPがページング領域を用いて生
成した仮想空間をVMの主記憶として与えることも可能
である。いづれにしても物理主記憶の0番地からの連続
領域を有するVMを除いて、VM上のOSがVMの主記
憶の絶対アドレスとして指定したアドレスと,これに対
応する物理主記憶上の絶対アドレスとは一般的に異なる
6従来より、プログラムのデバッグを支援するために,
OSが予め指定した特定のプログラム事象が命令処理装
置で発生した直後に,割込みを発生させるプログラムイ
ベントレコーディング(PER:Progam Ev
ent Recording)が、命令処理装置毎に
1つづつ備えられている。この特定のプログラム事象と
は、次の4つの事象を言う。
報に記載されているように、1台の計算機上で複数の論
理的な計算機である仮想計算機(VM : Virtu
al Machine)を実現し、仮想計算機制御プ
ログラム(VMCP:Virtual Machin
e C ontrol, P rogram)の制
御の下で各VM上のオペレーティング・システム(○S
: Operateing S ystem)の走
行を可能とするシステムである。このため、VMCPは
各VMに、実計算機の資源を分割して与えたり、VMC
Pが論理的に生成した資源を与えている。例えば、主記
憶に関しては、物理主記憶装置の記憶領域を分割してそ
の1つの連続した領域をVMの主記憶として与えること
も可能であるし、VMCPがページング領域を用いて生
成した仮想空間をVMの主記憶として与えることも可能
である。いづれにしても物理主記憶の0番地からの連続
領域を有するVMを除いて、VM上のOSがVMの主記
憶の絶対アドレスとして指定したアドレスと,これに対
応する物理主記憶上の絶対アドレスとは一般的に異なる
6従来より、プログラムのデバッグを支援するために,
OSが予め指定した特定のプログラム事象が命令処理装
置で発生した直後に,割込みを発生させるプログラムイ
ベントレコーディング(PER:Progam Ev
ent Recording)が、命令処理装置毎に
1つづつ備えられている。この特定のプログラム事象と
は、次の4つの事象を言う。
(i)OSが予め指定した領域の内にある分岐命令にお
いて分岐が成功した。
いて分岐が成功した。
(…)OSが予め指定した領域の中にある命令を実行し
た。
た。
(iii) OSが予め指定した領域の中にデータを格
納した。
納した。
(IV)OSが予め指定した領域の中の命令においてO
Sが予め指定した汎用レジスタを更新した。
Sが予め指定した汎用レジスタを更新した。
このプログラムイベントレコーディングPERを用いる
ことにより、開発中のプログラムのデバッグを次に述べ
るように効率良く行なうことができる。
ことにより、開発中のプログラムのデバッグを次に述べ
るように効率良く行なうことができる。
プログラム開発者が、開発中のプログラムの特定の番地
に格納されている命令を実行した直後にプログラムの実
行を中断する要求をOSに出したとする。これに対して
、OSは該当命令実行時に割込みが発生するようにプロ
グラムイベントレコディングPERに指示する。(これ
は、上記(i)に対応している。)その後プログラムイ
ベントレコーディングPERによる割込みを契機として
、OSは前記プログラムの実行を中断し、メッセージ等
により実行中断をプログラム開発者に通知する。この通
知を契機として、プログラム開発者は、プログラム中断
時のレジスタの値やテーブルのフィールト値等を確認す
る。この結果、レジスタの値やテーブルのフィールド値
等が正常な場合、プログラムの実行を再開して、中断後
のプロダラムの動作確認を継続して行なう。
に格納されている命令を実行した直後にプログラムの実
行を中断する要求をOSに出したとする。これに対して
、OSは該当命令実行時に割込みが発生するようにプロ
グラムイベントレコディングPERに指示する。(これ
は、上記(i)に対応している。)その後プログラムイ
ベントレコーディングPERによる割込みを契機として
、OSは前記プログラムの実行を中断し、メッセージ等
により実行中断をプログラム開発者に通知する。この通
知を契機として、プログラム開発者は、プログラム中断
時のレジスタの値やテーブルのフィールト値等を確認す
る。この結果、レジスタの値やテーブルのフィールド値
等が正常な場合、プログラムの実行を再開して、中断後
のプロダラムの動作確認を継続して行なう。
また、プログラムの実行中断時に、開発中のプログラム
のテーブルに異常な値が格納されている場合、上記(i
n)の指定を行ってプログラムを再実行することにより
、プログラムの不良箇所の範囲を限定することができる
。また、プログラムの実行中断時に、汎用レジスタに異
常な値が格納されている場合、上記(tv)の指定を行
ってプログラムを再実行することにより、プログラムの
不良箇所の範囲を限定することができる。さらに、プロ
グラム開発者は、上記(i)の指定を行ってプログラム
を再実行することにより、プログラム内のどのようなパ
スを実行した結果、プログラムの不良を検出したかが分
かり、プログラムの不良摘出の参考にすることができる
。
のテーブルに異常な値が格納されている場合、上記(i
n)の指定を行ってプログラムを再実行することにより
、プログラムの不良箇所の範囲を限定することができる
。また、プログラムの実行中断時に、汎用レジスタに異
常な値が格納されている場合、上記(tv)の指定を行
ってプログラムを再実行することにより、プログラムの
不良箇所の範囲を限定することができる。さらに、プロ
グラム開発者は、上記(i)の指定を行ってプログラム
を再実行することにより、プログラム内のどのようなパ
スを実行した結果、プログラムの不良を検出したかが分
かり、プログラムの不良摘出の参考にすることができる
。
特願昭63−170071は、このプログラムイベント
レコーディングPERを仮想計算機システムにおいても
効率良く使用可能とするための装置を開示している。V
M上で動作するOS自身のデバッグを行なう場合には、
VMCPがプログラムイベントレコーディングPERを
制御する必要が有り、また、OS下で開発中のプログラ
ムのデバッグを行なう場合には,OSがプログラムイベ
ントレコーディングPERを制御する必要が有る。
レコーディングPERを仮想計算機システムにおいても
効率良く使用可能とするための装置を開示している。V
M上で動作するOS自身のデバッグを行なう場合には、
VMCPがプログラムイベントレコーディングPERを
制御する必要が有り、また、OS下で開発中のプログラ
ムのデバッグを行なう場合には,OSがプログラムイベ
ントレコーディングPERを制御する必要が有る。
このため、前記特願昭63−170071に開示された
装置は、VMCPと走行中OSのうち一方に対して、選
択的にプログラムイベントレコーディングPERによる
デバッグアシスト機能を提供している。
装置は、VMCPと走行中OSのうち一方に対して、選
択的にプログラムイベントレコーディングPERによる
デバッグアシスト機能を提供している。
また特開昭59−153246号公報は、特定のプログ
ラム事象が発生した直後に、予め指定された物理主記憶
上のトレース領域へトレース情報を格納するデバッグア
シスト装置を開示している。
ラム事象が発生した直後に、予め指定された物理主記憶
上のトレース領域へトレース情報を格納するデバッグア
シスト装置を開示している。
このデバッグアシスト装置によれば、割込みを起こすこ
となく複数の事象の発生を1回にまとめてOSは認識で
きるので、オーバヘッドの少ないデバッグアシスト機能
を実現することができる。
となく複数の事象の発生を1回にまとめてOSは認識で
きるので、オーバヘッドの少ないデバッグアシスト機能
を実現することができる。
上記特開昭59−153246号公報による従来技術は
、走行中のOSに割り込まないで開発中のプログラムの
デバッグを可能にする点でよい。
、走行中のOSに割り込まないで開発中のプログラムの
デバッグを可能にする点でよい。
しかし、これは実計算機に適用されるものしか開示して
いない。仮想計算機システムは、VMC Pの制御下で
、複数のOSが走行するものであり、上記技術をそのま
ま適用することはできない。これは、次の理由による。
いない。仮想計算機システムは、VMC Pの制御下で
、複数のOSが走行するものであり、上記技術をそのま
ま適用することはできない。これは、次の理由による。
(1)実計算機の場合には、OSが絶対アドレス(物理
アドレス)を指定したトレース領域に直接トレース情報
が格納される。しかし、VM上のOSの場合,OSがト
レース領域に指定するVMの主記憶の絶対アドレスは実
計算機からみれば仮想アドレスである。このため、VM
上のOSがアドレスを指定した領域にデバッグアシスト
装置が直接トレース情報を格納することはできない。
アドレス)を指定したトレース領域に直接トレース情報
が格納される。しかし、VM上のOSの場合,OSがト
レース領域に指定するVMの主記憶の絶対アドレスは実
計算機からみれば仮想アドレスである。このため、VM
上のOSがアドレスを指定した領域にデバッグアシスト
装置が直接トレース情報を格納することはできない。
(2)実計算機の場合には、前述のようにOSが維対ア
ドレスを指定したトレース領域にトレース情報は格納さ
れる。従って、実計算機の場合には、トレース領域がペ
ージアウト状態ということは起こりえない。しかしなが
ら、仮想計算機システムのときには、VM上のOSのト
レース領域をVMCPがディスク等の2次記憶装置にペ
ージアウトしている場合の考慮も必要となる。OSの命
令をVMCPがページアウトしている場合、この命令を
命令処理装置が実行しようとしたときに、ページフォル
トが検出され、命令の実行は抑止されてVMCPに命令
が割り出される。このため、VMCPは、OSの命令が
あるページをページインしたのち命令を再実行すれば良
い。しかしながら、OSの命令がページイン状態で,O
Sのトレース領域をVMCPがペードアウトしている場
合、監視対象のこの命令の実行は完了し,トレースは未
実行の状態となる。このため、VMCPが,OSのトレ
ース領域をページインした後VMを再開しても,前記監
視対象の命令の次の命令から再開されるためトレース情
報が1回分ほど失われてしまう。
ドレスを指定したトレース領域にトレース情報は格納さ
れる。従って、実計算機の場合には、トレース領域がペ
ージアウト状態ということは起こりえない。しかしなが
ら、仮想計算機システムのときには、VM上のOSのト
レース領域をVMCPがディスク等の2次記憶装置にペ
ージアウトしている場合の考慮も必要となる。OSの命
令をVMCPがページアウトしている場合、この命令を
命令処理装置が実行しようとしたときに、ページフォル
トが検出され、命令の実行は抑止されてVMCPに命令
が割り出される。このため、VMCPは、OSの命令が
あるページをページインしたのち命令を再実行すれば良
い。しかしながら、OSの命令がページイン状態で,O
Sのトレース領域をVMCPがペードアウトしている場
合、監視対象のこの命令の実行は完了し,トレースは未
実行の状態となる。このため、VMCPが,OSのトレ
ース領域をページインした後VMを再開しても,前記監
視対象の命令の次の命令から再開されるためトレース情
報が1回分ほど失われてしまう。
このため仮想計算機システムにおいて、デバッグアシス
ト装置を用いてトレースを行なう場合、次の機能を有す
ることが望ましい。
ト装置を用いてトレースを行なう場合、次の機能を有す
ることが望ましい。
(1)VM上のOSがデバッグアシスト装置によるトレ
ースを利用可能であること。
ースを利用可能であること。
(2)トレース情報を格納すべきVMのページをVMC
Pがページアウトしていてもトレースが続けられること
。
Pがページアウトしていてもトレースが続けられること
。
本発明の目的は,VM上のOSがデバッグアシスト装置
によるトレースを利用可能な計算機システムを提供する
ことにある。
によるトレースを利用可能な計算機システムを提供する
ことにある。
本発明の別の目的は、トレース情報を格納すべきOSの
トレース領域をVMCPがページアウトしていることが
生じてもトレースが続けられる計算機システムを提供す
ることにある。
トレース領域をVMCPがページアウトしていることが
生じてもトレースが続けられる計算機システムを提供す
ることにある。
前記目的を達成するために、命令処理装置と、主記憶装
置とを有し、複数のオペレーティング・システムが走行
する計算機システムにおいて、走行中のオペレーテイン
グ・システムに割当られた仮想主記憶上の第1のトレー
ス領域のアドレスを、前記主記憶装置上の第2のトレー
ス領域のアドレスに変換し,出力する出力手段を前記命
令処理装置に設け、前記走行中のオペレーティング・シ
ステムによって指定されたプログラム事象の発生を監視
し、該事象が前記命令処理装置で発生したとき、監視結
果を前記出力手段によって指定される前記第2のトレー
ス領域に格納するデバッグアシスト装置を備えた。
置とを有し、複数のオペレーティング・システムが走行
する計算機システムにおいて、走行中のオペレーテイン
グ・システムに割当られた仮想主記憶上の第1のトレー
ス領域のアドレスを、前記主記憶装置上の第2のトレー
ス領域のアドレスに変換し,出力する出力手段を前記命
令処理装置に設け、前記走行中のオペレーティング・シ
ステムによって指定されたプログラム事象の発生を監視
し、該事象が前記命令処理装置で発生したとき、監視結
果を前記出力手段によって指定される前記第2のトレー
ス領域に格納するデバッグアシスト装置を備えた。
また,前記第1のトレース領域がページアウトしている
とき、前記デバッグアシスト装置は前記複数のオペレー
ティング・システムの走行を制御する制御プログラムに
割り当てられた第3のトレース領域に前記監視結果を格
納し、該格納後、前記オペレーティング・システムの走
行を中断し、前記制御プログラムに割り出す手段を設け
、前記制御プログラムは該割り呂しに応答して、前記第
3のトレース領域に格納された監視結果を前記第1のト
レース領域に複写する。
とき、前記デバッグアシスト装置は前記複数のオペレー
ティング・システムの走行を制御する制御プログラムに
割り当てられた第3のトレース領域に前記監視結果を格
納し、該格納後、前記オペレーティング・システムの走
行を中断し、前記制御プログラムに割り出す手段を設け
、前記制御プログラムは該割り呂しに応答して、前記第
3のトレース領域に格納された監視結果を前記第1のト
レース領域に複写する。
走行中のOSがデバッグアシスト装置に予め指定したプ
ログラム事象が命令処理装置で発生したとき、走行中の
OSのトレース領域がページイン状態の場合にはこのO
Sが指定したトレース領域のアドレス(VMの実アドレ
ス)を物理アドレスに変換してデバッグアシスト装置に
供給する。この結果、走行中のOSが予め指定したトレ
ース領域にトレース情報が格納される。
ログラム事象が命令処理装置で発生したとき、走行中の
OSのトレース領域がページイン状態の場合にはこのO
Sが指定したトレース領域のアドレス(VMの実アドレ
ス)を物理アドレスに変換してデバッグアシスト装置に
供給する。この結果、走行中のOSが予め指定したトレ
ース領域にトレース情報が格納される。
また、走行中のOSのトレース領域をVMC Pがペー
ジアウトしている場合、VMCPのドレス領域の物理ア
ドレスをトレース格納アドレスとしてデバッグアシスト
装置に供給する。この結果、VMCPのトレース領域に
トレース情報が格納される。さらに、VMCPのトレー
ス領域にトレース情報を格納したことに応じて、割り出
し起動手段は、OSの走行を中断してvMcpに制御を
渡す割り出し回路に起動信号を送る。この後,割り出し
回路はOSの走行を中断してVMCPに制御を渡す。制
御を渡されたVMCPは、VMCPのトレース領域に格
納されたトレース情報を、走行していたOSのトレース
領域が存在する2次記憶装置(ディスク装置等)の対応
するページにコピーする。この結果、走行中のOSが予
め指定したトレース領域にトレース情報が格納される。
ジアウトしている場合、VMCPのドレス領域の物理ア
ドレスをトレース格納アドレスとしてデバッグアシスト
装置に供給する。この結果、VMCPのトレース領域に
トレース情報が格納される。さらに、VMCPのトレー
ス領域にトレース情報を格納したことに応じて、割り出
し起動手段は、OSの走行を中断してvMcpに制御を
渡す割り出し回路に起動信号を送る。この後,割り出し
回路はOSの走行を中断してVMCPに制御を渡す。制
御を渡されたVMCPは、VMCPのトレース領域に格
納されたトレース情報を、走行していたOSのトレース
領域が存在する2次記憶装置(ディスク装置等)の対応
するページにコピーする。この結果、走行中のOSが予
め指定したトレース領域にトレース情報が格納される。
以下、本発明の一実施例を図面を用いて具体的に説明す
る。
る。
第1図は、本発明を適用した仮想計算機システムの構成
図である。第1図において、100は主記憶装置、20
0はデバッグアシスト装置、300は命令処理装置、4
00はディスク装置である。
図である。第1図において、100は主記憶装置、20
0はデバッグアシスト装置、300は命令処理装置、4
00はディスク装置である。
主記憶装置100には、計算機全体の資源を管理すると
ともに、各仮想計算機VMi(1≦j≦m)の走行を制
御する仮想計算機プログラム(VMCP : Virt
ual Machine Control Pr
ogram)110がある。またVMCPIIOには、
デバッグアシスト装置200によるトレース情報を格納
するためのホストトレース領域120がある。命令処理
装置300内のホスト第12制御レジスタ386は、こ
のホストトレース領域120の先頭物理アドレスを保持
する。ざらにVMCPIIOには、前記特開昭57−2
12680号公報に記載された状態記述子(S D :
State Description) 130
− i ( 1≦j≦m)がある。状態記述子SDI3
0−iは、VMを起動するための解釈実行開始命令(S
I E :S tart I nterpreti
ve E xecution)のオペランドであり、
各仮想計算機VMi(1≦i≦m)を起動するときのレ
ジスタの初期値等を保持する。
ともに、各仮想計算機VMi(1≦j≦m)の走行を制
御する仮想計算機プログラム(VMCP : Virt
ual Machine Control Pr
ogram)110がある。またVMCPIIOには、
デバッグアシスト装置200によるトレース情報を格納
するためのホストトレース領域120がある。命令処理
装置300内のホスト第12制御レジスタ386は、こ
のホストトレース領域120の先頭物理アドレスを保持
する。ざらにVMCPIIOには、前記特開昭57−2
12680号公報に記載された状態記述子(S D :
State Description) 130
− i ( 1≦j≦m)がある。状態記述子SDI3
0−iは、VMを起動するための解釈実行開始命令(S
I E :S tart I nterpreti
ve E xecution)のオペランドであり、
各仮想計算機VMi(1≦i≦m)を起動するときのレ
ジスタの初期値等を保持する。
また、仮想主記憶110−i(1≦i≦m)は、各仮想
計算機VMiにとっての主記憶であり、その1部あるい
は全ては、主記憶装置100上の領域140−iにマッ
ピングされている。また、各仮想主記憶11G−i(1
≦i≦m)には、デバッグアシスト装置200によるト
レース情報を格納するためのゲストトレース領域111
− i ( 1≦i≦m)がある。このゲストトレース
領域111−i(1≦i≦m)も、VMCPIIOが主
記憶装置100にマッピング(ページイン)しているこ
ともあるし、また、ディスク装置400等の外部記憶に
マッピング(ぺ−ジアウト)していることもある。命令
処理装置300内のゲスト第12制御レジスタ385は
、このゲストトレース領域111− iの先頭のVM実
アドレスを保持する。このVM実アドレスは、VM上の
OSからみた実アドレスである。ゲストトレース領域1
11−iの先頭のVM実アドレスは、本発明による後述
のアドレス変換回路360により物理アドレスに変換さ
れる。また,各仮想計算機V M i上のオペレーティ
ングシステムO S iは,命令列およびデータを保持
する仮想空間112−iを作成している。
計算機VMiにとっての主記憶であり、その1部あるい
は全ては、主記憶装置100上の領域140−iにマッ
ピングされている。また、各仮想主記憶11G−i(1
≦i≦m)には、デバッグアシスト装置200によるト
レース情報を格納するためのゲストトレース領域111
− i ( 1≦i≦m)がある。このゲストトレース
領域111−i(1≦i≦m)も、VMCPIIOが主
記憶装置100にマッピング(ページイン)しているこ
ともあるし、また、ディスク装置400等の外部記憶に
マッピング(ぺ−ジアウト)していることもある。命令
処理装置300内のゲスト第12制御レジスタ385は
、このゲストトレース領域111− iの先頭のVM実
アドレスを保持する。このVM実アドレスは、VM上の
OSからみた実アドレスである。ゲストトレース領域1
11−iの先頭のVM実アドレスは、本発明による後述
のアドレス変換回路360により物理アドレスに変換さ
れる。また,各仮想計算機V M i上のオペレーティ
ングシステムO S iは,命令列およびデータを保持
する仮想空間112−iを作成している。
本発明の実施例の概要は、次のとおりである。
VMCP1jOが解釈実行開始命令(SIE)4:より
仮想計算機VMiをディスパッチすると、命令処理装置
300およびデバッグアシスト装置2ooは、仮想計算
機V M i上のオペレーティングシステムOSiが使
用中の状態となる。またこの発明により拡張さ九たSI
E命令によりデバッグアシスト装置200に命令処理装
置3ooの監視条件が、設定される(ステップ1)。そ
の後、デバッグアシスト装置200は、上記監視条件に
従って,命令処理装@300のプログラム事象を監視す
る(ステップ2)。デバッグアシスト装置200が命令
トレース実行モードで監視条件のプログラム事象を検呂
したとき、ゲストトレース領域111− iがページイ
ン状態か否かによって、命令処理装置300は、次の動
作をとる。
仮想計算機VMiをディスパッチすると、命令処理装置
300およびデバッグアシスト装置2ooは、仮想計算
機V M i上のオペレーティングシステムOSiが使
用中の状態となる。またこの発明により拡張さ九たSI
E命令によりデバッグアシスト装置200に命令処理装
置3ooの監視条件が、設定される(ステップ1)。そ
の後、デバッグアシスト装置200は、上記監視条件に
従って,命令処理装@300のプログラム事象を監視す
る(ステップ2)。デバッグアシスト装置200が命令
トレース実行モードで監視条件のプログラム事象を検呂
したとき、ゲストトレース領域111− iがページイ
ン状態か否かによって、命令処理装置300は、次の動
作をとる。
(a)ゲストトレース領域がページイン状態の場合
命令処理装置300は、ゲスト第12制御レジスタ38
5が保持するゲストトレース領域111− iのVM実
アドレスをアドレス変換回路360により物理アドレス
に変換して、デバッグアシスト装置200に通知する(
ステップ3)。デバッグアシスト装置200は、この物
理アドレスが示すゲストトレース領域111− iにト
レース情報を格納する(ステップ4)。
5が保持するゲストトレース領域111− iのVM実
アドレスをアドレス変換回路360により物理アドレス
に変換して、デバッグアシスト装置200に通知する(
ステップ3)。デバッグアシスト装置200は、この物
理アドレスが示すゲストトレース領域111− iにト
レース情報を格納する(ステップ4)。
(b)ゲストトレース領域がページアウト状態の場合
命令処理装置300は、ホスト第12制御レジスタ38
6が保持するホストトレース領域120の物理アドレス
を、デバッグアシスト装置20Gに通知する(ステップ
3)。デバッグアシスト装置200は、この物理アドレ
スが示すホストトレース領域120にトレース情報を格
納する(ステップ4)。トレ−ス情報を格納後、命令処
理装置300は、仮想計算機VMiの走行を中断してV
MCPIIOに制御を渡す。この後、VMCPIIOが
ホストトレース領域120内のトレース情報をディスク
装置400内のゲストトレース領域11G−iに対応す
るページにコピーする(ステップ5)。本実施例では、
ゲストトレース領域110−iはディスク装置400に
ぺ一ジアウトされているものとしたが、他の2次記憶装
置(拡張記憶装置等)にページアウトされてもよい。
6が保持するホストトレース領域120の物理アドレス
を、デバッグアシスト装置20Gに通知する(ステップ
3)。デバッグアシスト装置200は、この物理アドレ
スが示すホストトレース領域120にトレース情報を格
納する(ステップ4)。トレ−ス情報を格納後、命令処
理装置300は、仮想計算機VMiの走行を中断してV
MCPIIOに制御を渡す。この後、VMCPIIOが
ホストトレース領域120内のトレース情報をディスク
装置400内のゲストトレース領域11G−iに対応す
るページにコピーする(ステップ5)。本実施例では、
ゲストトレース領域110−iはディスク装置400に
ぺ一ジアウトされているものとしたが、他の2次記憶装
置(拡張記憶装置等)にページアウトされてもよい。
以上のようにして、VM上のoSがデバッグアシスト装
置200によるトレースを利用可能となる。
置200によるトレースを利用可能となる。
さらに、トレース情報を格納すべきOSのページをV
M C P 110がページアウトしていることが生じ
てもトレースを続けることができる。
M C P 110がページアウトしていることが生じ
てもトレースを続けることができる。
次に、命令処理装置300およびデバッグアシスト装置
200の構成を図を用いて説明する。
200の構成を図を用いて説明する。
(a)命令処理装置300の構成
命令処理装置300の構成を第2図により説明する。命
令処理装置300には、デバッグアシスト装W200に
よる監視を制御するプログラム事象記録マスク(Rビッ
ト)3l5および次に実行する命令のアドレス(N r
A : Next I nstruction
Address)等を保持するプログラム状態語psw
(Program Status Word) 3
11、プログラム状態語P S W311が示す次に実
行する命令を主記憶装置100から取り込む命令フェッ
チ回路310、実行中の命令を保持する命令レジスタ3
2o、命令レジスタ32G中の命令コードをデコードす
る命令デコーダ330、命令デコーダ330によりデコ
ードされた命令を実行する命令実行装置340がある。
令処理装置300には、デバッグアシスト装W200に
よる監視を制御するプログラム事象記録マスク(Rビッ
ト)3l5および次に実行する命令のアドレス(N r
A : Next I nstruction
Address)等を保持するプログラム状態語psw
(Program Status Word) 3
11、プログラム状態語P S W311が示す次に実
行する命令を主記憶装置100から取り込む命令フェッ
チ回路310、実行中の命令を保持する命令レジスタ3
2o、命令レジスタ32G中の命令コードをデコードす
る命令デコーダ330、命令デコーダ330によりデコ
ードされた命令を実行する命令実行装置340がある。
また、命令処理装置300には汎用レジスタ(GR :
General Register) 350.
VM走行中が否かを表示する解釈実行モードレジスタ(
IE:Interpretive Executio
n) 381、デバッグアシスト装置200の制御パラ
メータを保持する命令処理装置内デバッグ制御語レジス
タ(IP−DCW:I nstruction P
rocessor D ebug C ontro
lWord) 382、IP−DCWレジスタ382の
値が有効か否か識別するためのパラメータロード状態レ
ジスタ(PL)384.走行中VM(7)第12制御レ
ジスタの値を保持するゲスト第12制御レジスタ385
、VMCPIIOが指定する第12制御レジスタの値を
保持するホスト第12制御レジスタ386、走行中VM
のゲストトレース領域111−jがページイン状態か否
かを判定すると共に対応する物理アドレスを求めるため
に本発明により設けたアドレス変換回路360、IP−
DCWレジスタ382の値をデバッグアシスト装置40
0に転送するためのロード回路370、VM走行状態か
らVMCP11k制御を切り替えるための割り出し実行
部380、インバータ3θ9、AND回路397、本発
明により追加されたトレース領域選択回路393,本発
明により追加された加算領域選択回路396、加算器3
94,395、等から構成される。以上の各々の装置の
動作については、後で詳しく述べる。
General Register) 350.
VM走行中が否かを表示する解釈実行モードレジスタ(
IE:Interpretive Executio
n) 381、デバッグアシスト装置200の制御パラ
メータを保持する命令処理装置内デバッグ制御語レジス
タ(IP−DCW:I nstruction P
rocessor D ebug C ontro
lWord) 382、IP−DCWレジスタ382の
値が有効か否か識別するためのパラメータロード状態レ
ジスタ(PL)384.走行中VM(7)第12制御レ
ジスタの値を保持するゲスト第12制御レジスタ385
、VMCPIIOが指定する第12制御レジスタの値を
保持するホスト第12制御レジスタ386、走行中VM
のゲストトレース領域111−jがページイン状態か否
かを判定すると共に対応する物理アドレスを求めるため
に本発明により設けたアドレス変換回路360、IP−
DCWレジスタ382の値をデバッグアシスト装置40
0に転送するためのロード回路370、VM走行状態か
らVMCP11k制御を切り替えるための割り出し実行
部380、インバータ3θ9、AND回路397、本発
明により追加されたトレース領域選択回路393,本発
明により追加された加算領域選択回路396、加算器3
94,395、等から構成される。以上の各々の装置の
動作については、後で詳しく述べる。
(b)デバッグアシスト装置の構成
デバッグアシスト装置200は、前記特開昭59−15
3246号公報に記載されているように、第4図に示す
命令処理装置300とのインタフエースとなり命令処理
装i!300内のレジスタの値を保持するインタフェー
スレジスタ群210と、プログラム事象の監視情報を保
持するデバッグ制御語レジスタ220と,デバッグ制御
語レジ′スタ220に示された制御情報に従って命令処
理装置300で発生するプログラム事象を監視する監視
部230と、デバッグ制御語レジスタ220に保持され
た制御情報が規定するプログラム事象を監視部230が
検呂したことに応答して、割込みの実行を命令処理装置
300に指示したり、トレース領域へのトレース情報の
格納を行なう制御部240から構成される。このデバッ
グアシスト装置200は、第2図に示したプログラム状
態語P S W311のプログラム事象記録マスク(R
ビット)3l5が1のとき、有効となり監視は開始され
る。
3246号公報に記載されているように、第4図に示す
命令処理装置300とのインタフエースとなり命令処理
装i!300内のレジスタの値を保持するインタフェー
スレジスタ群210と、プログラム事象の監視情報を保
持するデバッグ制御語レジスタ220と,デバッグ制御
語レジ′スタ220に示された制御情報に従って命令処
理装置300で発生するプログラム事象を監視する監視
部230と、デバッグ制御語レジスタ220に保持され
た制御情報が規定するプログラム事象を監視部230が
検呂したことに応答して、割込みの実行を命令処理装置
300に指示したり、トレース領域へのトレース情報の
格納を行なう制御部240から構成される。このデバッ
グアシスト装置200は、第2図に示したプログラム状
態語P S W311のプログラム事象記録マスク(R
ビット)3l5が1のとき、有効となり監視は開始され
る。
以下、本発明の実施例を、
(1)OS走行開始時の動作、
(2)監視の開始動作、
(3)トレース実行動作、
(4)走行中のOSが発行した命令の実行動作、(5)
OS走行中断時の動作、 に分けて詳細に説明する。
OS走行中断時の動作、 に分けて詳細に説明する。
1 0Sの
本実施例では,走行中のOSがトレース結果を利用可能
とするために、OS走行開始時にデバッグアシスト装N
200の制御情報を初期設定することに特徴がある。
とするために、OS走行開始時にデバッグアシスト装N
200の制御情報を初期設定することに特徴がある。
第10図に示すように、SIE命令のオペランドである
状態記述子SD130は次のフィールドから構成される
。
状態記述子SD130は次のフィールドから構成される
。
(a) レジスタフィールド131
VM起動時に初期値となるレジスタ(プログラム状態語
PSW、汎用レジスタ、制御レジスタ、等)の値を保持
する。このフィールド中の第12制御レジスタは、ゲス
トトレース領域111−iの先頭のVM実アドレスを保
持する。
PSW、汎用レジスタ、制御レジスタ、等)の値を保持
する。このフィールド中の第12制御レジスタは、ゲス
トトレース領域111−iの先頭のVM実アドレスを保
持する。
(b)PLビット132
本発明により追加されたパラメータロード状態ビット(
PLビット)132は,状態記述子SDI30が状態を
記述する仮想計算機V M iにおけるデバッグ制御語
レジスタ220への後述のデバッグ制御語133の設定
状態を表している。パラメータロード状態ビット(PL
ビット)132が1のとき、仮想計算機V M iがデ
バッグアシスト装置200のデバッグ制御語レジスタ2
20に制御パラメータを設定した状態であることを表わ
す。
PLビット)132は,状態記述子SDI30が状態を
記述する仮想計算機V M iにおけるデバッグ制御語
レジスタ220への後述のデバッグ制御語133の設定
状態を表している。パラメータロード状態ビット(PL
ビット)132が1のとき、仮想計算機V M iがデ
バッグアシスト装置200のデバッグ制御語レジスタ2
20に制御パラメータを設定した状態であることを表わ
す。
(c)デバッグ制御語133
デバッグアシスト装置200の監視条件等を規定する制
御パラメータである。デバッグ制御語133は,以下の
フィールドから構成される。
御パラメータである。デバッグ制御語133は,以下の
フィールドから構成される。
(i)デバッグタイプ
デバッグアシスト装置200の動作タイプを指定する8
ビットのフィールドである。デバッグタイプのビットO
は命令トレースタイプを指定し、ビット2は割込みタイ
プを指定する。
ビットのフィールドである。デバッグタイプのビットO
は命令トレースタイプを指定し、ビット2は割込みタイ
プを指定する。
(ii)事象指定
デバッグアシスト装置200の監視事象を指定する8ビ
ットのフィールドである。
ットのフィールドである。
事象指定のビットO〜3の各ビットの値が1のとき,そ
れぞれ、分岐成功、命令読み出し、主記憶更新、汎用レ
ジスタ更新が監視対象のプログラム事象であることを示
す。
れぞれ、分岐成功、命令読み出し、主記憶更新、汎用レ
ジスタ更新が監視対象のプログラム事象であることを示
す。
(iii)レジスタ更新リスト
汎用レジスタ更新が監視対象のプログラム事象であると
き、レジスタ更新リストのビット0〜15はそれぞれ、
汎用レジスタ0〜15に対応し、対応するビットの値が
1のとき監視対象の汎用レジスタであることを示す。例
えば、事象指定のビット3(汎用レジスタ更新)とレジ
スタ更新リストのビットOがともに1のとき、汎用レジ
スタGROの更新は監視対象のプログラム事象となる。
き、レジスタ更新リストのビット0〜15はそれぞれ、
汎用レジスタ0〜15に対応し、対応するビットの値が
1のとき監視対象の汎用レジスタであることを示す。例
えば、事象指定のビット3(汎用レジスタ更新)とレジ
スタ更新リストのビットOがともに1のとき、汎用レジ
スタGROの更新は監視対象のプログラム事象となる。
( iv )監視領域の開始/終了アドレス監視する命
令語の範囲の開始アドレスおよび終了アドレスである。
令語の範囲の開始アドレスおよび終了アドレスである。
事象指定で監視対象に指定された分岐成功、命令読み出
し、汎用レジスタ更新がこのフィールドで規定される領
域の命令を実行した結果発生したとき、デバッグアシス
ト装it200は、デバッグタイプの指定に従って、命
令トレースの実行あるいは割込みの実行により事象の発
生をプログラムに通知する。
し、汎用レジスタ更新がこのフィールドで規定される領
域の命令を実行した結果発生したとき、デバッグアシス
ト装it200は、デバッグタイプの指定に従って、命
令トレースの実行あるいは割込みの実行により事象の発
生をプログラムに通知する。
(V)更新領域の開始/終了アドレス
主記憶更新事象が対象とする領域の開始アドレスおよび
終了アドレスである。事象指定で監視対象に指定された
主記憶更新がこのフィールドで規定される領域で発生し
たとき、デバッグアシスト装置200は、デバッグタイ
プの指定に従って、命令トレースの実行あるいは割込み
の実行により事象の発生をプログラムに通知する。
終了アドレスである。事象指定で監視対象に指定された
主記憶更新がこのフィールドで規定される領域で発生し
たとき、デバッグアシスト装置200は、デバッグタイ
プの指定に従って、命令トレースの実行あるいは割込み
の実行により事象の発生をプログラムに通知する。
VMCPIIOは、オペレーティングシステムOSi走
行前にホスト第12制御レジスタ386に、VMCPI
IOはのホストトレース領域120の物理アドレスを設
定する。
行前にホスト第12制御レジスタ386に、VMCPI
IOはのホストトレース領域120の物理アドレスを設
定する。
さらに、VMCPIIOは、オペレーティングシステム
OSi走行前に状態記述子SDI30−iを以下のよう
に設定する。
OSi走行前に状態記述子SDI30−iを以下のよう
に設定する。
(a) レジスタフィールド131
仮想計算機VMi起動時に初期値となるレジスタの値を
指定する。
指定する。
(b)PLビット132
オペレーティングシステムOSiがデバッグ制御語レジ
スタ220に制御パラメータを設定した状態ならば1を
、また、未設定の状態ならばOを指定する。これは、「
(4)走行中のOSが発行した命令の実行動作ノおよび
r (5)OS走行中断時の動作Jで後述するように前
回オペレーティングシステムOSiが走行を中断した時
のPLビット132の値に等しい。
スタ220に制御パラメータを設定した状態ならば1を
、また、未設定の状態ならばOを指定する。これは、「
(4)走行中のOSが発行した命令の実行動作ノおよび
r (5)OS走行中断時の動作Jで後述するように前
回オペレーティングシステムOSiが走行を中断した時
のPLビット132の値に等しい。
(c)デバッグ制御語133
オペレーティングシステムOSiが指定したデバッグ制
御語レジスタ220の値、即ち,前回オペレーティング
システム○Siが走行を中断した時のデバッグ制御語1
33の値を指定する。
御語レジスタ220の値、即ち,前回オペレーティング
システム○Siが走行を中断した時のデバッグ制御語1
33の値を指定する。
VMCPIIOが状態記述子S D130 − i (
7)7ドレスをオペランドとしてSIE命令を発行する
と、命令レジスタ320にSIE命令が格納される。そ
の結果、命令レコーダ330は命令実行回路340にS
IE命令の実行を指示する。その後、命令実行回Ilt
340が実行する処理を第5図のフローチャートに従っ
て、第2図を参照しながら説明する。
7)7ドレスをオペランドとしてSIE命令を発行する
と、命令レジスタ320にSIE命令が格納される。そ
の結果、命令レコーダ330は命令実行回路340にS
IE命令の実行を指示する。その後、命令実行回Ilt
340が実行する処理を第5図のフローチャートに従っ
て、第2図を参照しながら説明する。
(イ)まず、IEモードレジスタ381ニ1 (VM走
行中)を設定する(ステップ500).(口)状態記述
子SDI30−iのレジスタフィールド131中のプロ
グラム状態語Psw、汎用レジスタ、第12制御レジス
タを各々P S W310.汎用レジスタ350,ゲス
ト制御レジスタ385に設定し,PLビット132をP
Lピットレジスタ384に設定する(ステップ501)
。他の制御レジスタも初期設定されるが,ここでは,説
明を省略する。
行中)を設定する(ステップ500).(口)状態記述
子SDI30−iのレジスタフィールド131中のプロ
グラム状態語Psw、汎用レジスタ、第12制御レジス
タを各々P S W310.汎用レジスタ350,ゲス
ト制御レジスタ385に設定し,PLビット132をP
Lピットレジスタ384に設定する(ステップ501)
。他の制御レジスタも初期設定されるが,ここでは,説
明を省略する。
(ハ)PLビット132の値を判定し.1(パラメータ
ロード状態)ならば(二)へ、0ならば(へ)へ(ステ
ップ502)。
ロード状態)ならば(二)へ、0ならば(へ)へ(ステ
ップ502)。
(二)状態記述子S DI30− iのデバッグ制御語
133をIP−DCWレジスタ382に設定する(ステ
ップ503), (ホ)PLピットレジスタ384が1(パラメータロー
ド状態)の場合,ロード回路370は,データ1110
00によりデバッグ制御語をデバッグアシスト装置20
0内のデバッグ制御語レジスタ220に設定する(ステ
ップ504)。このように、デバッグ制御語133が有
効である場合に限り、デバッグ制御1133をデバッグ
制御語レジスタ220に設定する。
133をIP−DCWレジスタ382に設定する(ステ
ップ503), (ホ)PLピットレジスタ384が1(パラメータロー
ド状態)の場合,ロード回路370は,データ1110
00によりデバッグ制御語をデバッグアシスト装置20
0内のデバッグ制御語レジスタ220に設定する(ステ
ップ504)。このように、デバッグ制御語133が有
効である場合に限り、デバッグ制御1133をデバッグ
制御語レジスタ220に設定する。
(へ)SIE命令を終了し、オペレーティングシステム
OSiの走行を開始する(ステップ505)。
OSiの走行を開始する(ステップ505)。
S工E命令を実行した結果、監視対象のプログラム事象
を規定するデバッグアシスト装W 2GG内のデバッグ
制御語レジスタ220には、オペレーティングシステム
OSiが指定した監視条件が設定される。また、ホスト
第12制御レジスタ386にはホストトレース領域12
0の物理アドレスが、ゲスト第12制御レジスタ386
にはゲストトレース領域111− iのVM実アドレス
が各々設定される。
を規定するデバッグアシスト装W 2GG内のデバッグ
制御語レジスタ220には、オペレーティングシステム
OSiが指定した監視条件が設定される。また、ホスト
第12制御レジスタ386にはホストトレース領域12
0の物理アドレスが、ゲスト第12制御レジスタ386
にはゲストトレース領域111− iのVM実アドレス
が各々設定される。
以上のようにして、OS走行中のトレース結果を、走行
中のOSが利用可能とするための初期設定が行なわれる
。
中のOSが利用可能とするための初期設定が行なわれる
。
2監の
本実施例の監視の開始動作では、次の点に特徴がある。
(.)あるOSの下で開発中のプログラムの実行に関す
るトレース結果をOSが利用可能とするために、OSが
指定した監視条件に従って、制御部240がプログラム
監視を行なう。
るトレース結果をOSが利用可能とするために、OSが
指定した監視条件に従って、制御部240がプログラム
監視を行なう。
第4図に示したデバッグアシスト装置200の監視部2
40による監視は、第2図に示した信号線1010に監
視指示信号が送出されているときのみに行なわれる。信
号線l010に監視指示信号が送出されるのは、プログ
ラム状態語PSW311内のプログラム事象記録マスク
(Rビット)315が1の場合である。従って、オペレ
ーティングシステムOSiがプログラム状態語P S
W311のプログラム事象記録マスク(Rビット)31
5に1を設定しているときのみ、監視は行なわれる。
40による監視は、第2図に示した信号線1010に監
視指示信号が送出されているときのみに行なわれる。信
号線l010に監視指示信号が送出されるのは、プログ
ラム状態語PSW311内のプログラム事象記録マスク
(Rビット)315が1の場合である。従って、オペレ
ーティングシステムOSiがプログラム状態語P S
W311のプログラム事象記録マスク(Rビット)31
5に1を設定しているときのみ、監視は行なわれる。
オペレーティングシステムOSi走行開始後、信号線1
01Gに監視指示信号が送出されたとき、デバッグアシ
スト装置200の監視部230は、データ線1000に
より受け取ったデバッグ制御語133を保持するデバッ
グ制御語レジスタ220が規定するプログラム事象の発
生を監視する。この結果、オペレーティングシステムO
Siが指定したデバッグ制御語133に従って、デバッ
グアシスト装置20Gは、プログラム事象を監視する。
01Gに監視指示信号が送出されたとき、デバッグアシ
スト装置200の監視部230は、データ線1000に
より受け取ったデバッグ制御語133を保持するデバッ
グ制御語レジスタ220が規定するプログラム事象の発
生を監視する。この結果、オペレーティングシステムO
Siが指定したデバッグ制御語133に従って、デバッ
グアシスト装置20Gは、プログラム事象を監視する。
3 トレース ′一
本実施例のトレース実行動作は、次の2点に特徴がある
。
。
(a)走行中OSがトレース結果を利用可能とするため
に、ゲストトレース領域111− iがページイン状態
の場合には、デバッグアシスト装置200は、ゲストト
レース領域111− iにトレース情報を格納する。
に、ゲストトレース領域111− iがページイン状態
の場合には、デバッグアシスト装置200は、ゲストト
レース領域111− iにトレース情報を格納する。
(b)走行中のオペレーティングシステム○Siのゲス
トトレース領域111−iがページアウトされているこ
とが生じても、トレースが続けられるように、ゲストト
レース領域111− iがページアウト状態の場合には
,デバッグアシスト装置200は、ホストトレース領域
120にトレース情報を格納後、V M C P 11
0ニ制御を渡し、VMCPIIOがこのトレース情報を
ゲストトレース領域111−iが存在するディスク装置
400内のページに格納する。
トトレース領域111−iがページアウトされているこ
とが生じても、トレースが続けられるように、ゲストト
レース領域111− iがページアウト状態の場合には
,デバッグアシスト装置200は、ホストトレース領域
120にトレース情報を格納後、V M C P 11
0ニ制御を渡し、VMCPIIOがこのトレース情報を
ゲストトレース領域111−iが存在するディスク装置
400内のページに格納する。
オペレーティングシステムOSi走行中にデバッグアシ
スト装N200内のデバッグ制御語レジスタ220によ
り規定されるプログラム事象を監視部230が検出する
と、監視部230は制御部240に起動信号を送る。
スト装N200内のデバッグ制御語レジスタ220によ
り規定されるプログラム事象を監視部230が検出する
と、監視部230は制御部240に起動信号を送る。
起動信号を受け取った制御部240の動作を、第7図の
フローチャートに従って説明する。
フローチャートに従って説明する。
(イ)制御部240は、デバッグ制御語レジスタ220
の中のデバッグタイプのビットO(命令トレースタイプ
)が1か否かを判定し(ステップ700)、1(トレー
スを指示する)ならば、(口)へ進む。
の中のデバッグタイプのビットO(命令トレースタイプ
)が1か否かを判定し(ステップ700)、1(トレー
スを指示する)ならば、(口)へ進む。
一方、デバッグ制御語レジスタ220の中のデバッグタ
イプのビット2(割込みタイプ)が1ならば、走行中O
Sに割込みを実行して(ステップ705)、次の命令を
実行(ステップ704)する。これにより、オペレーテ
ィングシステムOSiには、規定のプログラム事象の発
生が割込みとして報告される。
イプのビット2(割込みタイプ)が1ならば、走行中O
Sに割込みを実行して(ステップ705)、次の命令を
実行(ステップ704)する。これにより、オペレーテ
ィングシステムOSiには、規定のプログラム事象の発
生が割込みとして報告される。
(口)制御部240は、以下に述べるようにして選択し
たトレース領域にトレース情報を格納する(ステップ7
01)。
たトレース領域にトレース情報を格納する(ステップ7
01)。
まず、第2図と第3図により、制御部240がトレース
情報を格納するトレース領域(第1図のホストトレース
領域120、あるいは、ゲストトレース領域111−
i )がどのように選択されるかを説明する。
情報を格納するトレース領域(第1図のホストトレース
領域120、あるいは、ゲストトレース領域111−
i )がどのように選択されるかを説明する。
第3図は、第2図中のアドレス変換回路360の詳細構
成を示している。第3図において,ホストセグメントテ
ーブル(ST)113およびホストページテーブル(P
T)114は、走行中のオペレーティングシステムOS
iの仮想主記憶アドレスを物理アドレスに変換するため
にVMCPIIOが作成したアドレス変換テーブルであ
る。また,ホスト第1制御レジスタ361は、ホストS
T113の起点物理アドレスを保持している。さらに、
ゲスト第12制御レジスタ362は、ゲストトレース領
域1】1一iのカレントな起点アドレスを保持している
。
成を示している。第3図において,ホストセグメントテ
ーブル(ST)113およびホストページテーブル(P
T)114は、走行中のオペレーティングシステムOS
iの仮想主記憶アドレスを物理アドレスに変換するため
にVMCPIIOが作成したアドレス変換テーブルであ
る。また,ホスト第1制御レジスタ361は、ホストS
T113の起点物理アドレスを保持している。さらに、
ゲスト第12制御レジスタ362は、ゲストトレース領
域1】1一iのカレントな起点アドレスを保持している
。
ただし、このアドレスは、OSの実アドレスであって、
実際に、アクセスする場合には、物理アドレスへの変換
が必要である。アドレス変換回路360は、加算器36
3、365、選択したホストST113のエントリを保
持するSTエントリ保持レジスタ364、選択したホス
トPT114のエントリを保持するPTエントリ保持レ
ジスタ366、AND回路367、ゲストトレース領域
111−iの物理アドレスを保持するアドレスレジスタ
368、および、インバータ369− 1、369−
2から構成される。
実際に、アクセスする場合には、物理アドレスへの変換
が必要である。アドレス変換回路360は、加算器36
3、365、選択したホストST113のエントリを保
持するSTエントリ保持レジスタ364、選択したホス
トPT114のエントリを保持するPTエントリ保持レ
ジスタ366、AND回路367、ゲストトレース領域
111−iの物理アドレスを保持するアドレスレジスタ
368、および、インバータ369− 1、369−
2から構成される。
アドレス変換回路360の動作は、以下のとおりである
。
。
まず、ゲスト第12制御レジスタ362のセグメントフ
ィールド(S)とホスト第1制御レジスタ361の値を
加算器363により加算し、対応するホストST113
のエントリアドレスを求め、このエントリをSTエント
リ保持レジスタ364に格納する。
ィールド(S)とホスト第1制御レジスタ361の値を
加算器363により加算し、対応するホストST113
のエントリアドレスを求め、このエントリをSTエント
リ保持レジスタ364に格納する。
このSTエントリは,0のとき有効エントリであること
を示す有効ビットv1と、ゲストトレース領域111−
iのアドレスに対応するホストPT114の起点物理ア
ドレスを保持するページテーブルアドレス部から構成さ
れる。
を示す有効ビットv1と、ゲストトレース領域111−
iのアドレスに対応するホストPT114の起点物理ア
ドレスを保持するページテーブルアドレス部から構成さ
れる。
次に、ゲスト第12制御レジスタ362のページフィー
ルド(P)とSTエントリ保持レジスタ364内のペー
ジテーブルアドレス部とを加算器365により加算し、
対応するホストPT114のエントリアドレスを求め、
このエントリをPTエントリ保持レジスタ366に格納
する。このPTエントリも、同様に、0のとき有効エン
トリであることを示す有効ビットv2と、ゲストトレー
ス領域111−iのアドレスに対応するページアドレス
部から構成される。このPTエントリ保持レジスタ36
6内のページアドレス部とゲスト第12制御レジスタ3
62の変位部(D)を結合し、アドレスレジスタ368
に格納する。一方、有効ビット■1および■2は、各々
、インバータ3fi9− 1および369− 2に入力
される。従って+ AND回路367の出力は、選択し
たホストST113およびホストPT114が共に有効
であるときに限って、1となる。従って、AND回路3
67の出力である信号glO60の出力が1のとき,ゲ
ストトレース領域111−iはページイン状態であり、
その物理アドレスはアドレスレジスタ368に格納され
、データ線1070に出力される。また,信号3I10
60の出力が0のとき、ゲストトレース領域111−i
はページアウト状態である。
ルド(P)とSTエントリ保持レジスタ364内のペー
ジテーブルアドレス部とを加算器365により加算し、
対応するホストPT114のエントリアドレスを求め、
このエントリをPTエントリ保持レジスタ366に格納
する。このPTエントリも、同様に、0のとき有効エン
トリであることを示す有効ビットv2と、ゲストトレー
ス領域111−iのアドレスに対応するページアドレス
部から構成される。このPTエントリ保持レジスタ36
6内のページアドレス部とゲスト第12制御レジスタ3
62の変位部(D)を結合し、アドレスレジスタ368
に格納する。一方、有効ビット■1および■2は、各々
、インバータ3fi9− 1および369− 2に入力
される。従って+ AND回路367の出力は、選択し
たホストST113およびホストPT114が共に有効
であるときに限って、1となる。従って、AND回路3
67の出力である信号glO60の出力が1のとき,ゲ
ストトレース領域111−iはページイン状態であり、
その物理アドレスはアドレスレジスタ368に格納され
、データ線1070に出力される。また,信号3I10
60の出力が0のとき、ゲストトレース領域111−i
はページアウト状態である。
第2図のトレース領域選択回路393は、データ線10
70の出力と、ホストトレース領域111の物理アドレ
スを保持するホスト第12制御レジスタ386の値を入
力として、次の値を出力する。まず、AND回路391
の出力である信号線l080の出力が0(即ち、ゲスト
トレース領域111−iがページアウト状態)ならばホ
スト第12制御レジスタ386の値をデータ線1090
に出力する。また、信号ill080の出力が1(ゲス
トトレース領域111−iがページイン状態)ならばデ
ータ線1070からの入力であるゲストトレース領域1
11−iの物理アドレスをデータ線l090に呂力する
。
70の出力と、ホストトレース領域111の物理アドレ
スを保持するホスト第12制御レジスタ386の値を入
力として、次の値を出力する。まず、AND回路391
の出力である信号線l080の出力が0(即ち、ゲスト
トレース領域111−iがページアウト状態)ならばホ
スト第12制御レジスタ386の値をデータ線1090
に出力する。また、信号ill080の出力が1(ゲス
トトレース領域111−iがページイン状態)ならばデ
ータ線1070からの入力であるゲストトレース領域1
11−iの物理アドレスをデータ線l090に呂力する
。
その後、トレース領域選択回路393が出力する領域に
制御部240が、トレース情報を格納する。
制御部240が、トレース情報を格納する。
このトレース情報は、第9図に示すようなものであり、
例えば、16バイトからなる。先頭2ビットの(01)
はトレース情報の先頭を示す固定値、CCはトレースさ
れた命令実行前の現プログラム状態語(psw)の条件
コードである。SMは、トレースされた命令実行前の現
プログラム状II(PSW)のシステムマスクである。
例えば、16バイトからなる。先頭2ビットの(01)
はトレース情報の先頭を示す固定値、CCはトレースさ
れた命令実行前の現プログラム状態語(psw)の条件
コードである。SMは、トレースされた命令実行前の現
プログラム状II(PSW)のシステムマスクである。
さらに詳細には、システムマスクSMのビットOはプロ
グラム事象記録マスク(Rビット)、ビット1は変換制
御ビット、ビット2はIOマスク、ビット3は外部マス
クであり,これらは全てプログラム状態語PSW311
中に対応するビットが存在する。
グラム事象記録マスク(Rビット)、ビット1は変換制
御ビット、ビット2はIOマスク、ビット3は外部マス
クであり,これらは全てプログラム状態語PSW311
中に対応するビットが存在する。
KEYは,トレースされた命令実行前の現プログラム状
態語PSW311の保護キーである。EMPWは、トレ
ースされた命令実行前の現プログラム状態語PSW31
1のそれぞれ拡張制御モードピット、マシンチェックビ
ット、待ち状態ビット及び問題プログラム状態ビットで
ある。命令コードは、トレースされた命令の命令コード
前半8ビットである。命令アドレスは、トレースされた
命令の命令アドレスである。また、主記憶更新事象によ
る命令トレースの場合には、オペランド長とオペランド
アドレスをトレース情報140内のオペランド長とオペ
ランドアドレスのフィールドに格納する。
態語PSW311の保護キーである。EMPWは、トレ
ースされた命令実行前の現プログラム状態語PSW31
1のそれぞれ拡張制御モードピット、マシンチェックビ
ット、待ち状態ビット及び問題プログラム状態ビットで
ある。命令コードは、トレースされた命令の命令コード
前半8ビットである。命令アドレスは、トレースされた
命令の命令アドレスである。また、主記憶更新事象によ
る命令トレースの場合には、オペランド長とオペランド
アドレスをトレース情報140内のオペランド長とオペ
ランドアドレスのフィールドに格納する。
以上のようにして、選択したトレース領域へのトレース
情報の格納が行なわれる。
情報の格納が行なわれる。
(ハ)次に、以下に述べるようにして、選択した第12
制御レジスタの更新を行なう(ステップ702)。
制御レジスタの更新を行なう(ステップ702)。
制御部240はトレース情報を格納後、加算器394お
よび395に信号線11lOによりトレース終了信号を
送る。この結果、加算器394はゲスト第12制御レジ
スタ385の値とトレース情報のサイズ(例えば、16
バイト)を加算し,また、加算器395はホスト第12
制御レジスタ386の値とトレース情報のサイズ(例え
ば、16バイト)を加算する。
よび395に信号線11lOによりトレース終了信号を
送る。この結果、加算器394はゲスト第12制御レジ
スタ385の値とトレース情報のサイズ(例えば、16
バイト)を加算し,また、加算器395はホスト第12
制御レジスタ386の値とトレース情報のサイズ(例え
ば、16バイト)を加算する。
トレースサイズレジスタ390は,このようにトレース
情報のサイズを保持するレジスタである。このあと,ア
ドレス加算領域選択回路396は、トレース領域選択回
路393の場合と同様に、トレース情報を格納した方の
第12$J御レジスタの加算値を選択し、さらに、トレ
ース情報を格納した方の制御レジスタ(ゲスト第12制
御レジスタ385、あるいは、ホスト第12制御レジス
タ386)の値を上記加算値に更新する。この第12制
御レジスタの更新により前回書き込んだ領域の後に、次
のトレース情報を書き込むことが,可能となる。
情報のサイズを保持するレジスタである。このあと,ア
ドレス加算領域選択回路396は、トレース領域選択回
路393の場合と同様に、トレース情報を格納した方の
第12$J御レジスタの加算値を選択し、さらに、トレ
ース情報を格納した方の制御レジスタ(ゲスト第12制
御レジスタ385、あるいは、ホスト第12制御レジス
タ386)の値を上記加算値に更新する。この第12制
御レジスタの更新により前回書き込んだ領域の後に、次
のトレース情報を書き込むことが,可能となる。
(二)走行中のオペレーティングシステムOSiがデバ
ッグアシスト装Wt2.00を使用中にも係らずホスト
トレース領域120にトレースしたかを以下のようにし
て判定する。
ッグアシスト装Wt2.00を使用中にも係らずホスト
トレース領域120にトレースしたかを以下のようにし
て判定する。
走行中のオペレーティングシステムOSiがデバッグア
シスト装1200を使用中にも係らずホストトレース領
域120にトレースしたということは、ゲストトレース
領域111− iが、ページアウト状態、即ち、インパ
ータ399の出力が1であり、かつ、トレース終了信号
110が送出されているときに限る。従って、走行中の
オペレーティングシステムOSiがデバッグアシスト装
置200を使用中にも係らずホストトレース領域120
にトレースしたか否かは.AND回路397の出力が1
か否かにより判定(ステップ703)できる。
シスト装1200を使用中にも係らずホストトレース領
域120にトレースしたということは、ゲストトレース
領域111− iが、ページアウト状態、即ち、インパ
ータ399の出力が1であり、かつ、トレース終了信号
110が送出されているときに限る。従って、走行中の
オペレーティングシステムOSiがデバッグアシスト装
置200を使用中にも係らずホストトレース領域120
にトレースしたか否かは.AND回路397の出力が1
か否かにより判定(ステップ703)できる。
(i)AND回路397の出力が1のとき、割り出し実
行部380は、仮想計算機VMiの走行を中断して、制
御をVMCPIIOに渡す。仮想計算機VMiの走行の
中断の詳細は、後述のr (5) OS走行中断時の動
作」において説明する。
行部380は、仮想計算機VMiの走行を中断して、制
御をVMCPIIOに渡す。仮想計算機VMiの走行の
中断の詳細は、後述のr (5) OS走行中断時の動
作」において説明する。
仮想計算機VMiの走行を中断する理由は、オペレーテ
ィングシステムOSiのゲストトレース領域111−
iがページアウト状態の場合、VMCPIIOのホスト
トレース領域120が選択されたためである。中断後、
VMCPIIOが、ホストトレース領域111に格納さ
れたトレース情報を、走行していたオペレーティングシ
ステムOSiのゲストトレース領域111− iが存在
するディスク装置400内のページにコピーする。これ
によりオペレーティングシステムOSiのゲストトレー
ス領域111−iには正しいトレース情報が格納される
。
ィングシステムOSiのゲストトレース領域111−
iがページアウト状態の場合、VMCPIIOのホスト
トレース領域120が選択されたためである。中断後、
VMCPIIOが、ホストトレース領域111に格納さ
れたトレース情報を、走行していたオペレーティングシ
ステムOSiのゲストトレース領域111− iが存在
するディスク装置400内のページにコピーする。これ
によりオペレーティングシステムOSiのゲストトレー
ス領域111−iには正しいトレース情報が格納される
。
(ii)AND回路397の出力がOのとき、トレス終
了信号1110は命令フェッチ回路310を有効化し次
の命令を発生させる(ステップ704)。この場合、オ
ペレーティングシステムOSiの走行は、継続される。
了信号1110は命令フェッチ回路310を有効化し次
の命令を発生させる(ステップ704)。この場合、オ
ペレーティングシステムOSiの走行は、継続される。
以上のようにして、走行中OSがデバッグ制御語レジス
タ220のデバッグタイプとして命令トレースタイプを
指定しているとき、トレース領域選択回路393はトレ
ース領域アドレスとしてゲストトレース領域111−i
の物理アドレスを出力するこの結果デバッグアシスト装
置200は、ゲストトレース領域111−iにトレース
情報を格納する。
タ220のデバッグタイプとして命令トレースタイプを
指定しているとき、トレース領域選択回路393はトレ
ース領域アドレスとしてゲストトレース領域111−i
の物理アドレスを出力するこの結果デバッグアシスト装
置200は、ゲストトレース領域111−iにトレース
情報を格納する。
ただし、ゲストトレース領域111− iがページアウ
ト状態の場合には、トレース領域選択回路383はトレ
ース領域アドレスとしてホストトレース領域120の物
理アトレスを出力する。この結果走行中のOSのトレー
ス領域がページアウトされていることが生じてもトレー
スが続けられるように、デバッグアシスト装置200が
、ホストトレース領域120にトレー゛ス情報を格納後
、割り出し実行部380は,VMCPに制御を渡し、V
MCPがコノトレース情報をゲストトレース領域111
が存在するディスク装置400内のページに格納する。
ト状態の場合には、トレース領域選択回路383はトレ
ース領域アドレスとしてホストトレース領域120の物
理アトレスを出力する。この結果走行中のOSのトレー
ス領域がページアウトされていることが生じてもトレー
スが続けられるように、デバッグアシスト装置200が
、ホストトレース領域120にトレー゛ス情報を格納後
、割り出し実行部380は,VMCPに制御を渡し、V
MCPがコノトレース情報をゲストトレース領域111
が存在するディスク装置400内のページに格納する。
4 のOSが した 八の
走行中のオペレーティングシステムOSiが発行した、
前記特開昭59−153246号公報記載のデバッグ制
御語ロード命令を,命令実行回路340は、第6図に従
って以下のように実行する。
前記特開昭59−153246号公報記載のデバッグ制
御語ロード命令を,命令実行回路340は、第6図に従
って以下のように実行する。
(イ)第2図に示すパラメータロード状態(PLビット
)レジスタ384に制御パラメータがロード状態である
ことを示す1を設定する(ステップ600)。
)レジスタ384に制御パラメータがロード状態である
ことを示す1を設定する(ステップ600)。
C口)デバッグ制御語ロード命令で仮想主記憶110−
i上に指定されたデバッグ制御語133をIP−DCW
レジスタ382に設定する(ステップ601).(ハ)
その後、r (1)OS走行開始時の動作』で述べたの
と同じ動作により、ロード回路370がIP−DCWレ
ジスタ382の値を、デバッグアシスト装置20Gのデ
バッグ制御語レジスタ220に転送する(ステップ60
2)。
i上に指定されたデバッグ制御語133をIP−DCW
レジスタ382に設定する(ステップ601).(ハ)
その後、r (1)OS走行開始時の動作』で述べたの
と同じ動作により、ロード回路370がIP−DCWレ
ジスタ382の値を、デバッグアシスト装置20Gのデ
バッグ制御語レジスタ220に転送する(ステップ60
2)。
5 0Sの
本実施例では、特定のOSだけでなく、複数のOSにつ
いて、OS走行中のトレース結果を走行中のOSが利用
可能とするために、OS走行中断時に、デバッグアシス
ト装置20Gの制御情報であるデバッグ制御語レジスタ
220の値を主記憶上に退避することに特徴がある。
いて、OS走行中のトレース結果を走行中のOSが利用
可能とするために、OS走行中断時に、デバッグアシス
ト装置20Gの制御情報であるデバッグ制御語レジスタ
220の値を主記憶上に退避することに特徴がある。
オペレーティングシステムOSiの走行中断時、第2図
の割り出し実行部38Gはゲスト第12制御レジスタ3
85とIP−DCWレジスタ382とそのロード状態を
、第8図に従って,状態記述子SD130−iに以下の
ようにして退避する。
の割り出し実行部38Gはゲスト第12制御レジスタ3
85とIP−DCWレジスタ382とそのロード状態を
、第8図に従って,状態記述子SD130−iに以下の
ようにして退避する。
(イ)IEモードレジスタ381に0を設定する(ステ
ップ800)。
ップ800)。
(口)プログラム状態語pswato、汎用レジスタ3
50,ゲスト第12$IJ御レジスタ385を含むゲス
ト制御レジスタの値を状態記述子SD130−iのレジ
スタフィールド131に退避する(ステップ801). (ハ)パラメータロード状態(PLビット)レジスタ3
84が1(デバッグ制御語レジスタ220の値が有効)
かを判定する。1ならば(二)、oならば(ホ)へ進む
(ステップ802)。
50,ゲスト第12$IJ御レジスタ385を含むゲス
ト制御レジスタの値を状態記述子SD130−iのレジ
スタフィールド131に退避する(ステップ801). (ハ)パラメータロード状態(PLビット)レジスタ3
84が1(デバッグ制御語レジスタ220の値が有効)
かを判定する。1ならば(二)、oならば(ホ)へ進む
(ステップ802)。
(二)パラメータロード状態(PLビット)レジスタ3
84とI P−DCWレジスタ382を状態記述子SD
130−iのPLビット132、デバッグ制御語133
に退避する(ステップ8o3)。
84とI P−DCWレジスタ382を状態記述子SD
130−iのPLビット132、デバッグ制御語133
に退避する(ステップ8o3)。
(ホ)VMCPIIOの実行を開始する(ステップ80
4)。
4)。
このようにして、OSがデバッグ制御語133をロード
中のみデバッグ制御語レジスタ222の値を退避するこ
とができる。従って、高速な退避処理が可能となるとと
もに、次に、このオペレーティングシステムOSiが走
行するときの初期状態を状態記述子SDI30−iに保
持することができる。
中のみデバッグ制御語レジスタ222の値を退避するこ
とができる。従って、高速な退避処理が可能となるとと
もに、次に、このオペレーティングシステムOSiが走
行するときの初期状態を状態記述子SDI30−iに保
持することができる。
以上述べたように、本発明の実施例によれば,デバッグ
アシスト装置によるOS走行中のトレース結果をOSが
利用可能となる。また、デバッグアシスト装置がトレー
ス情報を格納すべきOSのページをVMCPがページア
ウトしていることが生じてもトレースを続けることが可
能となる。
アシスト装置によるOS走行中のトレース結果をOSが
利用可能となる。また、デバッグアシスト装置がトレー
ス情報を格納すべきOSのページをVMCPがページア
ウトしていることが生じてもトレースを続けることが可
能となる。
なお、以上はOSに割り当てられた実トレース領域がペ
ージアウトされる場合について述べたが、各OSを主記
憶の一部に常駐させる場合についても適用できることは
いうまでもない。
ージアウトされる場合について述べたが、各OSを主記
憶の一部に常駐させる場合についても適用できることは
いうまでもない。
また、以上は、VMCPという制御プログラムの制御下
で複数のOSが走行される仮想計算機システムについて
述べたが、本発明は、これに限らず、複数のosが同時
に走行されるシステムに適用できる。
で複数のOSが走行される仮想計算機システムについて
述べたが、本発明は、これに限らず、複数のosが同時
に走行されるシステムに適用できる。
[発明の効果〕
以上、説明したように、本発明によれば. VM上のO
Sがデバッグアシスト装置によるトレースを利用するこ
とができ、また、トレース情報を格納すべきOSのトレ
ース領域がページアウトしていてもトレースを続けるこ
とができる。
Sがデバッグアシスト装置によるトレースを利用するこ
とができ、また、トレース情報を格納すべきOSのトレ
ース領域がページアウトしていてもトレースを続けるこ
とができる。
第1図は、本発明を適用した仮想計算機システムの構成
図、 第2@は、本発明を適用した命令処理装置の構成図, 第3図は、本発明のアドレス変換回路の説明図,第4図
は、本発明が適用される実計算機の構成図、 第5図は、解釈実行開始命令(SIE)の本発明による
動作を示すフローチャート、 第6図は、OSが走行中に発行したデバッグ制御語ロー
ド命令の本発明による動作を示すフローチャート、 第7図は,OSが走行中のデバッグアシスト装置の動作
を説明するフローチャート、 第8図は,OSの走行中断時の動作を説明するフローチ
ャート、 第9図は、トレース情報の説明図、 第10図は、状態記述子(SD)の説明図である。 図中、100・・・主記憶装置、111・・・ゲストト
レース領域,120・・・ホストトレース領域、200
・・・デバッグアシスト装置、300・・・命令処理装
置、400・・・ディスク装置。
図、 第2@は、本発明を適用した命令処理装置の構成図, 第3図は、本発明のアドレス変換回路の説明図,第4図
は、本発明が適用される実計算機の構成図、 第5図は、解釈実行開始命令(SIE)の本発明による
動作を示すフローチャート、 第6図は、OSが走行中に発行したデバッグ制御語ロー
ド命令の本発明による動作を示すフローチャート、 第7図は,OSが走行中のデバッグアシスト装置の動作
を説明するフローチャート、 第8図は,OSの走行中断時の動作を説明するフローチ
ャート、 第9図は、トレース情報の説明図、 第10図は、状態記述子(SD)の説明図である。 図中、100・・・主記憶装置、111・・・ゲストト
レース領域,120・・・ホストトレース領域、200
・・・デバッグアシスト装置、300・・・命令処理装
置、400・・・ディスク装置。
Claims (1)
- 【特許請求の範囲】 1、命令処理装置と、主記憶装置とを有し、複数のオペ
レーティング・システムが走行する計算機システムにお
いて、走行中のオペレーティング・システムが使用する
仮想主記憶上の、第1のトレース領域のアドレスを、前
記主記憶装置上の、該第1のトレース領域に割り当てら
れた第2のトレース領域のアドレスに変換し、出力する
出力手段を前記命令処理装置に設け、前記走行中のオペ
レーティング・システムによって指定されたプログラム
事象の発生を監視し、該事象が前記命令処理装置で発生
したとき、監視結果を前記出力手段によって指定される
前記第2のトレース領域に格納するデバッグアシスト装
置を備えたことを特徴とする計算機システム。 2、該デバッグアシスト装置は、プログラム事象の発生
を検出したとき該出力手段にトレース領域の通知を要求
する手段を有し、該出力手段は該要求に応答して該第1
のトレース領域のアドレスを実アドレスに変換し、該実
アドレスを出力する手段を有することを特徴とする請求
項1記載の計算機システム。 3、前記第1のトレース領域がページアウトしていると
き、前記デバッグアシスト装置は前記複数のオペレーテ
ィング・システムの走行を制御する制御プログラムに割
り当てられた第3のトレース領域に前記監視結果を格納
することを特徴とする請求項1記載の計算機システム。 4、前記デバッグアシスト装置が前記制御プログラムの
前記第3のトレース領域に監視結果を格納後、前記オペ
レーティング・システムの走行を中断し、前記制御プロ
グラムに割り出す手段を設け、前記制御プログラムは該
割り出しに応答して、前記第3のトレース領域に格納さ
れた監視結果を前記第1のトレース領域に複写すること
を特徴とする請求項2記載の計算機システム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013206A JPH03217949A (ja) | 1990-01-23 | 1990-01-23 | 計算機システム |
US07/640,089 US5386565A (en) | 1990-01-23 | 1991-01-11 | Method and system for controlling/monitoring computer system having plural operating systems to run thereon |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013206A JPH03217949A (ja) | 1990-01-23 | 1990-01-23 | 計算機システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH03217949A true JPH03217949A (ja) | 1991-09-25 |
Family
ID=11826684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013206A Pending JPH03217949A (ja) | 1990-01-23 | 1990-01-23 | 計算機システム |
Country Status (2)
Country | Link |
---|---|
US (1) | US5386565A (ja) |
JP (1) | JPH03217949A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005339561A (ja) * | 2004-05-28 | 2005-12-08 | Internatl Business Mach Corp <Ibm> | 関連アプリケーションに対するトラック・データ・クロスリファレンスを保存する方法及び装置 |
JP2009176297A (ja) * | 2008-01-24 | 2009-08-06 | Arm Ltd | 診断コンテキストの構成および比較 |
JP2010170210A (ja) * | 2009-01-20 | 2010-08-05 | Toshiba Corp | 仮想計算機管理機構、同管理機構を有する仮想計算機システム及び同システムにおけるページング処理方法 |
Families Citing this family (90)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5539907A (en) * | 1994-03-01 | 1996-07-23 | Digital Equipment Corporation | System for monitoring computer system performance |
US5621912A (en) * | 1994-12-29 | 1997-04-15 | International Business Machines Corporation | Method and apparatus for enabling monitoring of guests and native operating systems |
US6327653B1 (en) | 1995-11-07 | 2001-12-04 | Samsung Electronics Co., Ltd. | Technique for easily changing operating systems of a digital computer system using at least two pushbuttons |
US5771385A (en) * | 1996-03-29 | 1998-06-23 | Sun Microsystems, Inc. | Setting and getting system debug flags by name at runtime |
US5724505A (en) * | 1996-05-15 | 1998-03-03 | Lucent Technologies Inc. | Apparatus and method for real-time program monitoring via a serial interface |
JPH1078889A (ja) * | 1996-09-04 | 1998-03-24 | Mitsubishi Electric Corp | マイクロコンピュータ |
US5983017A (en) * | 1996-11-12 | 1999-11-09 | Lsi Logic Corporation | Virtual monitor debugging method and apparatus |
US6202199B1 (en) | 1997-07-31 | 2001-03-13 | Mutek Solutions, Ltd. | System and method for remotely analyzing the execution of computer programs |
US6282701B1 (en) | 1997-07-31 | 2001-08-28 | Mutek Solutions, Ltd. | System and method for monitoring and analyzing the execution of computer programs |
US6513155B1 (en) * | 1997-12-12 | 2003-01-28 | International Business Machines Corporation | Method and system for merging event-based data and sampled data into postprocessed trace output |
US6457144B1 (en) | 1998-12-08 | 2002-09-24 | International Business Machines Corporation | System and method for collecting trace data in main storage |
US6502210B1 (en) | 1999-10-01 | 2002-12-31 | Stmicroelectronics, Ltd. | Microcomputer debug architecture and method |
US6598128B1 (en) | 1999-10-01 | 2003-07-22 | Hitachi, Ltd. | Microprocessor having improved memory management unit and cache memory |
US6557119B1 (en) | 1999-10-01 | 2003-04-29 | Stmicroelectronics Limited | Microcomputer debug architecture and method |
US6463553B1 (en) | 1999-10-01 | 2002-10-08 | Stmicroelectronics, Ltd. | Microcomputer debug architecture and method |
US6779145B1 (en) | 1999-10-01 | 2004-08-17 | Stmicroelectronics Limited | System and method for communicating with an integrated circuit |
US7793261B1 (en) | 1999-10-01 | 2010-09-07 | Stmicroelectronics Limited | Interface for transferring debug information |
US7000078B1 (en) | 1999-10-01 | 2006-02-14 | Stmicroelectronics Ltd. | System and method for maintaining cache coherency in a shared memory system |
US6629115B1 (en) | 1999-10-01 | 2003-09-30 | Hitachi, Ltd. | Method and apparatus for manipulating vectored data |
US6665816B1 (en) | 1999-10-01 | 2003-12-16 | Stmicroelectronics Limited | Data shift register |
JP2001142692A (ja) * | 1999-10-01 | 2001-05-25 | Hitachi Ltd | 2つの異なる固定長命令セットを実行するマイクロプロセッサ、マイクロコンピュータおよび命令実行方法 |
US6615370B1 (en) | 1999-10-01 | 2003-09-02 | Hitachi, Ltd. | Circuit for storing trace information |
US6826191B1 (en) | 1999-10-01 | 2004-11-30 | Stmicroelectronics Ltd. | Packets containing transaction attributes |
US6530047B1 (en) | 1999-10-01 | 2003-03-04 | Stmicroelectronics Limited | System and method for communicating with an integrated circuit |
US6928073B2 (en) * | 1999-10-01 | 2005-08-09 | Stmicroelectronics Ltd. | Integrated circuit implementing packet transmission |
US6591369B1 (en) | 1999-10-01 | 2003-07-08 | Stmicroelectronics, Ltd. | System and method for communicating with an integrated circuit |
US6542983B1 (en) | 1999-10-01 | 2003-04-01 | Hitachi, Ltd. | Microcomputer/floating point processor interface and method |
US6772325B1 (en) * | 1999-10-01 | 2004-08-03 | Hitachi, Ltd. | Processor architecture and operation for exploiting improved branch control instruction |
US7260745B1 (en) | 1999-10-01 | 2007-08-21 | Stmicroelectronics Ltd. | Detection of information on an interconnect |
US6408381B1 (en) | 1999-10-01 | 2002-06-18 | Hitachi, Ltd. | Mechanism for fast access to control space in a pipeline processor |
US6351803B2 (en) | 1999-10-01 | 2002-02-26 | Hitachi Ltd. | Mechanism for power efficient processing in a pipeline processor |
US6457118B1 (en) | 1999-10-01 | 2002-09-24 | Hitachi Ltd | Method and system for selecting and using source operands in computer system instructions |
US6567932B2 (en) | 1999-10-01 | 2003-05-20 | Stmicroelectronics Limited | System and method for communicating with an integrated circuit |
US6918065B1 (en) | 1999-10-01 | 2005-07-12 | Hitachi, Ltd. | Method for compressing and decompressing trace information |
US6590907B1 (en) | 1999-10-01 | 2003-07-08 | Stmicroelectronics Ltd. | Integrated circuit with additional ports |
US6820195B1 (en) | 1999-10-01 | 2004-11-16 | Hitachi, Ltd. | Aligning load/store data with big/little endian determined rotation distance control |
US6693914B1 (en) | 1999-10-01 | 2004-02-17 | Stmicroelectronics, Inc. | Arbitration mechanism for packet transmission |
US6434665B1 (en) | 1999-10-01 | 2002-08-13 | Stmicroelectronics, Inc. | Cache memory store buffer |
US6701405B1 (en) | 1999-10-01 | 2004-03-02 | Hitachi, Ltd. | DMA handshake protocol |
US6598177B1 (en) | 1999-10-01 | 2003-07-22 | Stmicroelectronics Ltd. | Monitoring error conditions in an integrated circuit |
US6487683B1 (en) | 1999-10-01 | 2002-11-26 | Stmicroelectronics Limited | Microcomputer debug architecture and method |
US6859891B2 (en) | 1999-10-01 | 2005-02-22 | Stmicroelectronics Limited | Apparatus and method for shadowing processor information |
US6732307B1 (en) | 1999-10-01 | 2004-05-04 | Hitachi, Ltd. | Apparatus and method for storing trace information |
US6629207B1 (en) | 1999-10-01 | 2003-09-30 | Hitachi, Ltd. | Method for loading instructions or data into a locked way of a cache memory |
US6449712B1 (en) | 1999-10-01 | 2002-09-10 | Hitachi, Ltd. | Emulating execution of smaller fixed-length branch/delay slot instructions with a sequence of larger fixed-length instructions |
US6633971B2 (en) | 1999-10-01 | 2003-10-14 | Hitachi, Ltd. | Mechanism for forward data in a processor pipeline using a single pipefile connected to the pipeline |
US6412047B2 (en) | 1999-10-01 | 2002-06-25 | Stmicroelectronics, Inc. | Coherency protocol |
US6349371B1 (en) | 1999-10-01 | 2002-02-19 | Stmicroelectronics Ltd. | Circuit for storing information |
US6601189B1 (en) | 1999-10-01 | 2003-07-29 | Stmicroelectronics Limited | System and method for communicating with an integrated circuit |
US6684348B1 (en) | 1999-10-01 | 2004-01-27 | Hitachi, Ltd. | Circuit for processing trace information |
US6298394B1 (en) | 1999-10-01 | 2001-10-02 | Stmicroelectronics, Ltd. | System and method for capturing information on an interconnect in an integrated circuit |
US6412043B1 (en) | 1999-10-01 | 2002-06-25 | Hitachi, Ltd. | Microprocessor having improved memory management unit and cache memory |
US7266728B1 (en) | 1999-10-01 | 2007-09-04 | Stmicroelectronics Ltd. | Circuit for monitoring information on an interconnect |
US6546480B1 (en) | 1999-10-01 | 2003-04-08 | Hitachi, Ltd. | Instructions for arithmetic operations on vectored data |
US7072817B1 (en) * | 1999-10-01 | 2006-07-04 | Stmicroelectronics Ltd. | Method of designing an initiator in an integrated circuit |
US6460174B1 (en) | 1999-10-01 | 2002-10-01 | Stmicroelectronics, Ltd. | Methods and models for use in designing an integrated circuit |
US6553460B1 (en) | 1999-10-01 | 2003-04-22 | Hitachi, Ltd. | Microprocessor having improved memory management unit and cache memory |
US6574651B1 (en) | 1999-10-01 | 2003-06-03 | Hitachi, Ltd. | Method and apparatus for arithmetic operation on vectored data |
US7058928B2 (en) | 1999-12-23 | 2006-06-06 | Identify Software Ltd. | System and method for conditional tracing of computer programs |
US20020087949A1 (en) * | 2000-03-03 | 2002-07-04 | Valery Golender | System and method for software diagnostics using a combination of visual and dynamic tracing |
US8312435B2 (en) * | 2000-12-26 | 2012-11-13 | Identify Software Ltd. (IL) | System and method for conditional tracing of computer programs |
US20030088853A1 (en) * | 2001-11-07 | 2003-05-08 | Hiromi Iida | Trace information searching device and method therefor |
US20030145255A1 (en) * | 2002-01-15 | 2003-07-31 | Harty Anthony Walter | Hierarchical multi-component trace facility using multiple buffers per component |
US7386839B1 (en) | 2002-11-06 | 2008-06-10 | Valery Golender | System and method for troubleshooting software configuration problems using application tracing |
US8032866B1 (en) | 2003-03-27 | 2011-10-04 | Identify Software Ltd. | System and method for troubleshooting runtime software problems using application learning |
FR2864411B1 (fr) * | 2003-12-23 | 2006-03-03 | Cit Alcatel | Terminal avec des moyens de protection contre le dysfonctionnement de certaines applications java |
US7827539B1 (en) | 2004-06-25 | 2010-11-02 | Identify Software Ltd. | System and method for automated tuning of program execution tracing |
US8015552B1 (en) * | 2004-07-23 | 2011-09-06 | Green Hills Software, Inc. | Post-execution software debugger with coverage display |
US8271955B1 (en) | 2004-07-23 | 2012-09-18 | Green Hille Software, Inc. | Forward post-execution software debugger |
US8132159B1 (en) | 2004-07-23 | 2012-03-06 | Green Hills Software, Inc. | Post-execution software debugger with event display |
US8136096B1 (en) | 2004-07-23 | 2012-03-13 | Green Hills Software, Inc. | Backward post-execution software debugger |
DE102006062555B4 (de) * | 2006-12-29 | 2018-08-16 | Dspace Digital Signal Processing And Control Engineering Gmbh | Verfahren zur Beobachtung eines Steuergeräts |
US20080162900A1 (en) * | 2006-12-29 | 2008-07-03 | Andre Rolfsmeier | System, Method and Apparatus for Observing a Control Device |
US8209684B2 (en) * | 2007-07-20 | 2012-06-26 | Eg Innovations Pte. Ltd. | Monitoring system for virtual application environments |
US20090222646A1 (en) * | 2008-02-28 | 2009-09-03 | International Business Machines Corporation | Method and apparatus for detecting processor behavior using instruction trace data |
US8381040B2 (en) * | 2009-10-26 | 2013-02-19 | International Business Machines Corporation | Relocatable interrupt handler for test generation and execution |
US9250902B2 (en) | 2012-03-16 | 2016-02-02 | International Business Machines Corporation | Determining the status of run-time-instrumentation controls |
US9430238B2 (en) | 2012-03-16 | 2016-08-30 | International Business Machines Corporation | Run-time-instrumentation controls emit instruction |
US9280447B2 (en) | 2012-03-16 | 2016-03-08 | International Business Machines Corporation | Modifying run-time-instrumentation controls from a lesser-privileged state |
US9465716B2 (en) | 2012-03-16 | 2016-10-11 | International Business Machines Corporation | Run-time instrumentation directed sampling |
US9158660B2 (en) | 2012-03-16 | 2015-10-13 | International Business Machines Corporation | Controlling operation of a run-time instrumentation facility |
US9405541B2 (en) | 2012-03-16 | 2016-08-02 | International Business Machines Corporation | Run-time instrumentation indirect sampling by address |
US9411591B2 (en) | 2012-03-16 | 2016-08-09 | International Business Machines Corporation | Run-time instrumentation sampling in transactional-execution mode |
US9483268B2 (en) | 2012-03-16 | 2016-11-01 | International Business Machines Corporation | Hardware based run-time instrumentation facility for managed run-times |
US9367316B2 (en) | 2012-03-16 | 2016-06-14 | International Business Machines Corporation | Run-time instrumentation indirect sampling by instruction operation code |
US9471315B2 (en) | 2012-03-16 | 2016-10-18 | International Business Machines Corporation | Run-time instrumentation reporting |
US9454462B2 (en) | 2012-03-16 | 2016-09-27 | International Business Machines Corporation | Run-time instrumentation monitoring for processor characteristic changes |
US9442824B2 (en) * | 2012-03-16 | 2016-09-13 | International Business Machines Corporation | Transformation of a program-event-recording event into a run-time instrumentation event |
JP6099458B2 (ja) * | 2013-03-29 | 2017-03-22 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 特定の仮想マシンに関連するトレース・データを得るためのコンピュータ実装方法、プログラム、トレーサ・ノード |
US9104814B1 (en) * | 2013-05-03 | 2015-08-11 | Kabam, Inc. | System and method for integrated testing of a virtual space |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3707725A (en) * | 1970-06-19 | 1972-12-26 | Ibm | Program execution tracing system improvements |
JPS55112651A (en) * | 1979-02-21 | 1980-08-30 | Fujitsu Ltd | Virtual computer system |
US4456954A (en) * | 1981-06-15 | 1984-06-26 | International Business Machines Corporation | Virtual machine system with guest architecture emulation using hardware TLB's for plural level address translations |
JPS59153246A (ja) * | 1983-02-18 | 1984-09-01 | Hitachi Ltd | デバツグアシスト装置 |
US4598364A (en) * | 1983-06-29 | 1986-07-01 | International Business Machines Corporation | Efficient trace method adaptable to multiprocessors |
JP2705121B2 (ja) * | 1988-07-08 | 1998-01-26 | 株式会社日立製作所 | 電子計算機システム |
-
1990
- 1990-01-23 JP JP2013206A patent/JPH03217949A/ja active Pending
-
1991
- 1991-01-11 US US07/640,089 patent/US5386565A/en not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005339561A (ja) * | 2004-05-28 | 2005-12-08 | Internatl Business Mach Corp <Ibm> | 関連アプリケーションに対するトラック・データ・クロスリファレンスを保存する方法及び装置 |
JP2009176297A (ja) * | 2008-01-24 | 2009-08-06 | Arm Ltd | 診断コンテキストの構成および比較 |
JP2010170210A (ja) * | 2009-01-20 | 2010-08-05 | Toshiba Corp | 仮想計算機管理機構、同管理機構を有する仮想計算機システム及び同システムにおけるページング処理方法 |
Also Published As
Publication number | Publication date |
---|---|
US5386565A (en) | 1995-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH03217949A (ja) | 計算機システム | |
US4347565A (en) | Address control system for software simulation | |
US9304794B2 (en) | Virtual machine control method and virtual machine system using prefetch information | |
US5218712A (en) | Providing a data processor with a user-mode accessible mode of operations in which the processor performs processing operations without interruption | |
US20150169346A1 (en) | Method for controlling a virtual machine and a virtual machine system | |
JPH0212553A (ja) | 仮想計算機システム | |
JPH0697436B2 (ja) | プログラム追跡方法 | |
JPS58191046A (ja) | Cpu制御方法 | |
JPS6258341A (ja) | 入出力割込処理方式 | |
JPH0458056B2 (ja) | ||
US4991083A (en) | Method and system for extending address space for vector processing | |
JPH0232659B2 (ja) | ||
US5003468A (en) | Guest machine execution control system for virutal machine system | |
JPH0192856A (ja) | アクセス及び欠陥論理信号を用いて主メモリユニットを保護する装置及び方法 | |
EP0301707B1 (en) | Apparatus and method for providing an extended processing environment on nonmicrocoded data processing system | |
JPH0668725B2 (ja) | データ処理システムにおける割込条件に応答する装置及び非同期割込条件に応答する方法 | |
JPS61184643A (ja) | 仮想計算機の起動制御方式 | |
WO2023169289A1 (zh) | 一种进程的执行状态切换方法及装置 | |
JPH0567973B2 (ja) | ||
JPH06324861A (ja) | Cpu制御システム及び制御方法 | |
JPS59172044A (ja) | 命令制御方式 | |
JP2654105B2 (ja) | マイクロプロセッサ | |
JPS6139135A (ja) | 仮想計算機システムにおけるインタバル・タイマ割り込み制御装置 | |
JPS61204743A (ja) | マイクロ・プロセツサの割込み制御方式 | |
JPH04227554A (ja) | ホットスタンバイ方法および計算機システム |