JPH03269640A - 仮想計算機システム - Google Patents

仮想計算機システム

Info

Publication number
JPH03269640A
JPH03269640A JP7015890A JP7015890A JPH03269640A JP H03269640 A JPH03269640 A JP H03269640A JP 7015890 A JP7015890 A JP 7015890A JP 7015890 A JP7015890 A JP 7015890A JP H03269640 A JPH03269640 A JP H03269640A
Authority
JP
Japan
Prior art keywords
virtual
instruction
virtual machine
register
computer
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
JP7015890A
Other languages
English (en)
Inventor
Tetsuyoshi Senda
千田 哲秀
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
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 filed Critical NEC Corp
Priority to JP7015890A priority Critical patent/JPH03269640A/ja
Publication of JPH03269640A publication Critical patent/JPH03269640A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明の仮想計算機システムに関する。
〔従来の技術〕
1台の実計算機の上で時分割により複数のオペレーティ
ングシステムを同時に実現する仮想計算機システムは、
次のような目的で用いられる。
・異なる種類のオペレーティングシステムを複数同時に
動かす。
・オペレーティングシステムのデバッグと正規の運用を
並行して行う。
・オペレーティングシステムのバージョンアップを行う
際の過渡的な状態として新旧側オペレーティングシステ
ムを同時に動かす。
仮想計算機システムは、例えば第2図に示すように、実
計算機のオペレーティングシステムと、その上で動くア
プリケーションプログラムのひとつである仮想計算機モ
ニタとして実計算機上は認識される。そして仮想計算機
モニタの上で複数の仮想計算機のオペレーティングシス
テムを実行し、その上で各仮想計算機のアプリケーショ
ンを実行する。
このような仮想計算機システムでは、実計算機をitす
るプロセッサが複数の仮想計算機を時分割で処理するこ
とにより多重オペレーティングシステム環境を実現する
ものである。つまりプロセッサは実計電機と複数の仮想
計算機を順番に実行するが、従来の仮想計算機システム
は、特定仮想計算機によるプロセッサの占有を回避する
ため、仮想計算機毎に割り当てられた処理時間が経過す
るとその仮想計算機の処理を中断し、次の順番の仮想計
算機に処理か移る。それまで実行中だった仮想計算機は
実行待ち状態になるとともに、実行が中断した時点での
プロセッサ内の情報が、仮想計算機制御プロセッサと呼
ばれる仮想計算機毎に設けられた主記憶上の領域に退避
される。
プロセッサがこのように実計算機と仮想計算機を次々実
行していき、−巡した後、中断された仮想計算機の番が
再び回ってくると先はど仮想計算機制御ブロックに退避
した情報をプロセッサ内に復帰して、中断された処理の
続きを実行することになる。
ところで、情報処理装置の性能を評価する指標として、
単位時間当りの実行命令数か広く用いられている。単位
時間当りの実行命令数は、各命令の実行に要する時間に
その命令の出現頻度をか汁た値の和(すなわち平均命令
実行時間〉の逆数として理論的に求められるが、実際は
各命令の出現頻度の見積りが困難であり、また命令やオ
ペランドがキャッシュメモリ中に存在する確率などのパ
ラメータの見積りも必要である。
そこでこのように理論的に平均命令実行時間を計算する
代わりに、単位時間当りの実行命令数を実測により求め
る方法が用いられる。この方法では実行命令ステップ数
を測定する手段、例えば、ソフトウェア命令を1ステッ
プ実行する度に1ずつ加算または減算するステップカウ
ンタと呼ばれるカウンタなどを設け、タイマにより計測
した実時間で、このステップカウンタの値を割り算する
ことにより単位時間当りの実行命令数を求める。
〔発明が解決しようとする課題〕
上述した従来の仮想計算機システムにおけるように、単
にステップカウンタを追加したたけでは、実計算機及び
全ての仮想計算機を通じての実行命令ステップ数の合計
を測定することはできるが、実計算機、仮想計算機内で
閉じて実行命令ステ・ツブ数を測定できない。あるいは
測定するとしてもソフトウェアを1ステップ実行する度
に割り込みを発生し、ソフトウェアまたはファームウェ
アにより仮想計算機制御ブロック内のカウンタを更新す
るため、性能の大幅な低下をともなう。
〔課題を解決するための手段〕
本発明のシステムは、それぞれが独立のオペレーティン
グシステムを実行する複数の仮想計算機を1台の実計算
機の上で実現する仮想計算機システムにおいて、 ソフトウェア命令を1ステップ実行する度に1ずつ加算
または減算する命令計数手段と、主記憶上に設けた実計
算機用の第1の退避領域および仮想計算機対応の第2の
退避領域中に命令計数手段の内容を退避する手段と、第
1の退避領域および仮想計算機対応の第2の退避領域中
の退避値を命令計数手段に復帰する手段とを設けている
〔実施例〕
次に本発明について図面を参照して説明する。
本発明の一実施例を第1図に示す。第1図を参照すると
本実施例はステップレジスタ1.インクリメンタ2およ
び主記憶3から成り、主記憶3は、ステップレジスタ退
避領域311が設けられたハードウェア領域31と、n
個の仮想計算機制御プログラム321〜32nから成る
ソフトウェア領域321〜32nとに分たれる。
ハードウェア領域31はソフトウェアからは保護されて
おり、ハードウェアからのみアクセス可能である。ソフ
トウェア領域32はハードウェアからもソフトウェアか
らもアクセス可能である。
本実施例ではステップレジスタ退避領域311をハード
ウェア領域3工内に設けたがソフトウェア領域32内に
設けることも可能である。
ステップレジスタlの出力はインクリメンタ2に接続さ
れ、インクリメンタ2の出力はステップレジスタ1の入
力に接続される。また、図面の繁雑化を回避するために
、ステップレジスタ1の内容をステップレジスタ退避領
域311に格納する経路と、第1の仮想計算機の仮想計
算機制御ブロック321の内容をステップレジスタ]−
に格納する経路としか図示していないが、この他にステ
ップレジスタ1の内容をn個の仮想計算機制御ブロック
321〜32nそれぞれに、仮想計算機制御ブロック3
21〜B2nの内容とステップレジスタ退避領域311
をステップレジスタ1に、それぞれ格納する経路が存在
する。
ステップレジスタ1の内容は、ソフトウェア命令を1ス
テップ実行する度にインクリメンタ2により1ずつ加算
される。ステップレジスタ1の内容は、これによりソフ
トウェア命令の実行と同期して更新され、実行したソフ
トウェア命令の数を常に示す。
次に、本発明による仮想計算機内で閉じた実行命令ステ
ップ数の測定について説明する。
プロセッサが実計算機の実行を中断して、第1の仮想計
算機に処理を移す場合には、実行が中断した時点でのス
テップレジスタ1の内容を、主記憶3の中のハードウェ
ア領域31中に設けられた実計算機のステップレジスタ
1の退避領域311に退避する。
次に実行待ち状態となっていた第1の仮想計算機に処理
を移すために、第1の仮想計算機の仮想計算機制御プロ
グラム321中の情報がプロセッサに移される。すなわ
ち、仮想計算機が実行していたプロセスの番号や命令カ
ウンタ、タイマなどの退避値がそれぞれ仮想計算機制御
ブロック321中からロールインされ、同様に仮想計算
機制御ブロック321中のステップレジスタ1の退避値
がステップレジスタ1に格納される。
次に第1の仮想計算機に割り当てられた時間が経過して
、プロセッサが第1の仮想計算機の実行を中断して、別
の仮想計算機、例えば第nの仮想計算機に処理を移す場
合には、実行が中断した時点でのステップレジスタ1の
内容を、主記憶3の中の仮想計算機制御ブロック321
に退避する。
次に実行待ち状態となっていた第nの仮想計算機に処理
を移すために先はどと同様に第nの仮想計算機の仮想計
算機制御フロック32n中の情報かプロセッサに移され
る。仮想計算機制御ブロック32n中のステップレジス
タ1の退避値かステップレジスタ1に格納されるのも先
はどの説明と同様である。
プロセッサがこのように仮想計算機を次々実行していき
、割り込みなどの理由により、はじめに中断された実計
算機を実行する場合にはハードウェア領域31中に設け
られたステップレジスタ退避領域311に退避したステ
ップレジスタ1の退避値をステップレジスタ1に復帰し
て、中断された実計算機の処理の続きを実行することに
なる。
これによりステップレジスタ1は中断前の実計算機の実
行命令ステップ数の続きからカウントを継続することに
なり、仮想計算機実行中を除く実計算機で閉じた実行命
令ステップ数の測定が可能である。
また、プロセッサが中断されていた第1の仮想計算機か
ら第nの仮、忠計算機を再び実行する場合には仮想計算
機制御ブロック321〜32n中のステップレジスタ1
の退避値をステップレジスタ1に復帰して、中断された
処理の続きを実行することになる。、これによりステッ
プレジスタ1は中断前の第1から第nまでの仮想計算機
の実行命令ステップ数の続きからカウントを継続するこ
とになり、第1から第nまての仮想計算機それぞれの中
で閉じた実行命令ステップ数の測定が可能である。
本実施例による実計算機内で閉じた実行命令ステップ数
の測定は、ステップ数のカウント開始時にソフトウェア
命令によりステップレジスタ1の内容をOにリセットし
、カウント終了時にソフトウェア命令によりステップレ
ジスタ1の内容を読み出すことにより行う。
本実施例による仮想計算機内で閉じた実行命令ステップ
数の測定は次のように行う。まず、ステップ数のカウン
ト開始前にあらがしめステップ数の測定を行う仮想計算
機の仮想計算機制御プロツり中のステップレジスタ1の
退避領域の内容をOに書き換えておく。そして、測定す
る対象の仮想計算機を起動する。最後に、カウント終了
時に再びその仮想計算機の仮想計算機制御ブロック中の
ステップレジスタ■の退避値を読み出すことによりその
間に実行した命令ステップ数を知ることができる。
また、仮想計算機実行中もステップレジスタ■の内容を
ソフトウェアによりリセットしたり、読みだしたりでき
るように構成することも可能である。その場合はステッ
プ数のカウント開始時にステップレジスタ1の内容をO
にリセットし、カウント終了時にステップレジスタ1の
内容を読み出すことによりその間に実行した命令ステッ
プ数を知ることができる。
なお、本実施例に示す情報処理装置で、単位時間当りの
実行命令数の測定を行う場合には、各仮想計算機毎にタ
イマにより計測した実際の実行時間の合計で、各仮想計
算機毎にステップレジスタ1により計測した実行命令ス
テップ数の合計を割算することにより求める。
〔発明の効果〕
以上説明した通り、本発明によれば性能の低下をまった
くともなわずに、実計算機、仮想計算機内で閉じた実行
命令ステップ数の測定ができるため、ソフトウェアの性
能解析、デバッグなどに有効である。
【図面の簡単な説明】
第1図に本発明の一実施例、第2図に仮想計算機システ
ムの模式図を示す。 1・・・ステップレジスタ、2・・・インクリメンタ、
3・・・主記憶、31・・・ハードウェアの領域、31
1・・・ステップレジスタ退避領域、32・・・ソフト
ウェアの領域、321〜n・・・仮想計算機制御ブロッ
ク。

Claims (1)

  1. 【特許請求の範囲】 それぞれが独立のオペレーティングシステムを実行する
    複数の仮想計算機を1台の実計算機の上で実現する仮想
    計算機システムにおいて、 ソフトウェア命令を1ステップ実行する度に1ずつ加算
    または減算する命令計数手段と、 主記憶上に設けた実計算機用の第1の退避領域および仮
    想計算機対応の第2の退避領域中に前記命令計数手段の
    内容を退避する手段と、 前記第1の退避領域および前記第2の退避領域中の退避
    値を前記命令計数手段に復帰する手段とを持つことを特
    徴とする仮想計算機システム。
JP7015890A 1990-03-19 1990-03-19 仮想計算機システム Pending JPH03269640A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7015890A JPH03269640A (ja) 1990-03-19 1990-03-19 仮想計算機システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7015890A JPH03269640A (ja) 1990-03-19 1990-03-19 仮想計算機システム

Publications (1)

Publication Number Publication Date
JPH03269640A true JPH03269640A (ja) 1991-12-02

Family

ID=13423478

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7015890A Pending JPH03269640A (ja) 1990-03-19 1990-03-19 仮想計算機システム

Country Status (1)

Country Link
JP (1) JPH03269640A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010500664A (ja) * 2006-08-08 2010-01-07 インテル・コーポレーション パフォーマンスカウンタの仮想化

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010500664A (ja) * 2006-08-08 2010-01-07 インテル・コーポレーション パフォーマンスカウンタの仮想化
US8607228B2 (en) 2006-08-08 2013-12-10 Intel Corporation Virtualizing performance counters
US9244712B2 (en) 2006-08-08 2016-01-26 Intel Corporation Virtualizing performance counters

Similar Documents

Publication Publication Date Title
US8104036B2 (en) Measuring processor use in a hardware multithreading processor environment
US5884080A (en) System and method for instruction burst performance profiling for single-processor and multi-processor systems
JP3113855B2 (ja) データ処理システムにおけるパフォーマンス監視
EP1766518B1 (en) Adaptive algorithm for selecting a virtualization algorithm in virtual machine environments
US5758168A (en) Interrupt vectoring for optionally architected facilities in computer systems
JP6058012B2 (ja) ランタイム・インスツルメンテーションを使用してプロセッサのプロセッサ特性情報をモニターするためのコンピュータ・プログラム・プロダクト、方法、およびシステム(プロセッサ特性のランタイム・インスツルメンテーション・モニタリング)
JPH0823837B2 (ja) サンプリング性能分析方法及び装置
JP5353227B2 (ja) 性能測定プログラム及び性能測定方法並びに性能測定機能を有する情報処理装置。
US7735067B1 (en) Avoiding signals when tracing user processes
JP2001318807A (ja) タスク切り替え制御方法及び装置
US20120198453A1 (en) Virtualization of storage buffers used by asynchronous processes
JPH03269640A (ja) 仮想計算機システム
JPH02139643A (ja) 情報処理装置
JP2001166954A (ja) 仮想計算機装置および仮想計算機装置の制御方法
JPS6049352B2 (ja) デ−タ処理装置
JP2715904B2 (ja) 計算機システム性能評価装置
JPH02235152A (ja) 情報処理装置
JP3133730B2 (ja) 割り込み方法及び回路
JPH11212830A (ja) プロセッサ性能測定装置
JP3129027B2 (ja) 並列処理計算機
JPH0744405A (ja) 仮想計算機システムの仮想計算機動作時間計測制御方式
JPH05313924A (ja) 仮想計算機計測機構
JP2020160483A (ja) 評価装置、システムlsi及びシステムlsiのための評価プログラム
JPH01211048A (ja) プログラムの実行命令数測定方式
JPS6358552A (ja) マイクロプロセサ