JPH0333937A - 仮想計算機における表示制御方式 - Google Patents

仮想計算機における表示制御方式

Info

Publication number
JPH0333937A
JPH0333937A JP1166631A JP16663189A JPH0333937A JP H0333937 A JPH0333937 A JP H0333937A JP 1166631 A JP1166631 A JP 1166631A JP 16663189 A JP16663189 A JP 16663189A JP H0333937 A JPH0333937 A JP H0333937A
Authority
JP
Japan
Prior art keywords
display control
address
exception
virtual machine
display
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP1166631A
Other languages
English (en)
Other versions
JP2590267B2 (ja
Inventor
Yukihiro Seki
関 行宏
Hiromichi Ito
浩道 伊藤
Shigeo Tsujioka
辻岡 重夫
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 JP1166631A priority Critical patent/JP2590267B2/ja
Publication of JPH0333937A publication Critical patent/JPH0333937A/ja
Priority to US08/300,863 priority patent/US5504922A/en
Application granted granted Critical
Publication of JP2590267B2 publication Critical patent/JP2590267B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Digital Computer Display Output (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、パーソナルコンピュータやワークステーショ
ンなどにおいて、複数の異なるアーキテクチャを持つ異
機種間でのプログラムの互換性を保つ仮想計算機のハー
ドウェアとその制御ソフトウェアである仮想計算機モニ
タプログラムに関する。
〔従来の技術〕
パーソナルコンピュータ(以下パソコンと略す)などの
情報処理装置においては、各メーカが独白性を表した結
果、数多くのアーキテクチャが存在している。ここでア
ーキテクチャとは、メモリマツプ、I10マツプ、使用
しているLSI、OSファンジョン、BIOSファンク
ション、キーボードの使い勝手などをいう。これらのハ
ードウェアやソフトウェアの構成が機種間で異なるため
、それぞれの機種用に開発されたアプリケーションソフ
ト間での互換性はない。そのため使用者は、自分の使用
したいアプリケージシコンソフトが動作する装置を新た
に購入したり、あるいは既に所有している装置の上で動
作するようにアプリケーションソフトを改造、移植しな
ければならない。
このような問題に対し、ある特定の機種(以後、ベース
マシンと呼ぶ)上で、異なるアーキテクチャを持つ他の
機種(以後、ターゲットマシンと呼ぶ)との互換性を保
とうとする試みは、いわゆる仮想計算機として古くから
大型コンピュータで行われてきた。さらに、LSI技術
の進歩等によって、近年ではパソコンのレベルにまで応
用されるようになってきている。
パソコン上で仮想計算機を実現するためには、少なくと
もOSとBIOSファンクションコールのエミュレーシ
ョンを行う必要がある。これについては特開昭61−1
84643号公報に特権命令を用いたシステムコールを
エミュレーションする方法が開示されている。
また、パソコンでは、その処理を高速に行うために表示
制御部をアプリケーションソフトが直接アクセスする場
合が一般的である。従って表示制御部に関しては、ター
ゲットマシンのハードウェアをなんらかの方法でエミュ
レーションする必要がある。これについては、ベースマ
シンの表示制御部を用いてターゲットマシンの表示制御
部をエミュレーションする方法が、例えば日経BP社発
行の日経バイト111987年10月号第140頁から
第150頁に論じられている。また、Iloをソフトウ
ェアによってエミュレーションする方法は、特開昭62
−279431号公報に開示されている。
〔発明が解決しようとする課題〕
ベースマシンの表示制御部でターゲットマシンの表示制
御部をエミュレーションする方法では、実現できる機能
はベースマシンの表示機能に限定されてしまうという問
題があった。例えば、表示色数2画面のドツト数、ある
いは一般にアトリビュートと言われているアンダーライ
ンや反転などの文字属性などである。
また、表示系Iloをソフトウェアでエミュレーション
する方法では、I10アクセスごとに例外を発生させエ
ミユレーシヨンを行うため性能低下という問題があった
本発明の目的は、仮想計算機において、ベースマシン上
でのターゲットマシンの互換性を高めると共に、性能低
下の少なり表示制御方式を提供することである。
また、このような仮想計算機を実現するには、通常OS
についても新規に作成する必要があった。
本発明の目的は、ベースマシン用のOSを作り直すこと
なく、ターゲットマシン用のアプリケーションソフトを
動作させるための仮想計算機モニタを提供することにあ
る。
また、本発明の他の目的は、ベースマシンのキーボード
にてターゲットマシンのキーボード操作をエミュレート
する仮想計算機モニタを提供することにある。
〔課題を解決するための手段〕
上記目的は、ベースマシン上でターゲットマシン用アプ
リケーションソフトを動作させる仮想計算機を実現する
に当って、使用者から見て最も性能的に問題となり、し
かもアプリケーションソフトの多くが性能向上のために
直接アクセスする表示制御部については、ベースマシン
用表示制御部だけでなくターゲットマシン用表示制御部
の両者をハードウェアとして持たせ、仮想計算機の動作
モードに応じて切り換えることで達成される。このよう
にすれば、ターゲットマシンの表示機能をすべて実現で
きると共に、ソフトウェアによるエミュレーションを行
わないため性能低下が生じない。
また、上記目的は、BIOSコールやI10アを求め、
OS領域かアプリケーションソフト領域かを判定し、仮
想計算機モニタはその結果によってエミュレーション処
理を行うかどうかを切り換えることにより達成される。
さらに上記目的は、ターゲットマシンキーボードにあっ
てベースマシンキーボードにはないキー操作については
、ベースマシン用のキーボードの複数キー押下の組合せ
によって達成される。
〔作用〕
仮想計算機を制御するソフトウェアである仮想計算機モ
ニタに、ベースマシンモードとターゲットマシンモード
の動作モードを持たせる。ベースマシンモードで動作し
ているときは、エミュレーションの必要はなく、仮想計
算機モニタは何もしない、さらにいえば、仮想計算機モ
ニタはなくともよい。
一方、タ−ゲツトマシン用−ドで動作しているときは、
仮想計算機モニタは、ターゲットマシン用に開発された
アプリケーションソフトから発せミュレーション、およ
びアプリケーションソフトが直接アクセスするI/Oに
ついてエミュレーション処理を行う。例えばBIOSコ
ールが発行されると、その命令アドレスがスタック上に
積まれるので、例外処理部にてそのアドレスを求め、タ
ーゲットマシン用のアプリケーションソフトがあるユー
ザ領域であれば、エミュレーション処理を行えばよい。
そうすれば、OSについてはベースマシン用のOSをそ
のまま使用することができる。
次に表示制御について説明する。
本発明においては、ベースマシン用表示制御部と、ター
ゲットマシン用表示制御部の2組をハードウェアとして
設けておく、仮想計算機モニタはその時の動作モードに
応じてどちらかの表示制御部を排他的に選択する。ここ
で選択とは、それぞれの表示制御部から出力される表示
信号を切り換えて表示素子に送出することと、表示メモ
リや表示Iloなどのアドレスマツプを切り換えること
をいう、なお、モードの選択は、−殻内に用いら仮想計
算機モニタがこのように表示制御部を切り換えると、ア
プリケーションソフトからあたかもターゲットマシンと
同一の表示ハードウェアか接続されているように見える
ため、ターゲットマシン用アプリケーションソフトをそ
のまま実行させることができる。
次に、ターゲットマシンの表示制御部の占有するメモリ
領域、I/O領域がベースマシンのそれと重なることが
考えられる。このような場合は、ターゲットマシン用表
示制御部をベースマシンとは重ならない領域に配置する
と共に、そのままではアプリケーションソフトから見て
ターゲットマシンと非互換になるので、アドレス変換す
ることであたかも互換になるようにすればよい。このア
ドレス変換を行うかどうかも1表示制御部の切り換えと
同様に、仮想計算機モニタの動作モードで選択すれば良
い。アドレス変換手段としては、ハードウェアにてアド
レス信号を切り換える方法か、例外を発生させソフトウ
ェア的にエミュレーショまた、キーボードについては、
ベースマシン用キーボードの複数キーの押下でターゲッ
トマシン用キーボードにしかないキーと同様のキーコー
トを発生するようにすることにより、キー操作をエミュ
レーションすることができる。キーコードエミュレーシ
ョンは、キーボードに内蔵されているマイクロコンピュ
ータによるか、キーボードBIOSにて行えばよい。
〔実施例〕
以下、図面を用いて本発明の詳細な説明する。
第1図は本発明の一実施例を示したものである。
1はCPU、2はアドレスバス、3はデータバスである
。4はベースマシンとしての第1の表示制御部、5はタ
ーゲットマシンとしての第2の表示制御部、7は仮想計
算機モニタが動作モードを設定するモードレジスタ、6
はその設定値に応じて表示信号を選択してCRT8に送
るセレクタ、9はアドレス変換をハードウェアで行うア
ドレス変換器、10はモードレジスタフの設定値である
モリケーションソフト14はメモリ12におかれている
アプリケーションソフト14がベースマシン用のときは
、仮想計算機モニタ13の設定したモードレジスタフの
設定値によってセレクタ6が第1の表示制御部4からの
表示信号を選択すると共に、アドレス変換器9はアドレ
ス変換を行わスアトレスをスルー状態でアドレスバス2
に出力する。ソフトウェア的には、仮想計算機モニタ1
3はBIOSファンクションなどのエミュレーションは
行t)f、ベースマシンの持つ機能をそのまま使用すれ
ばよい。
アプリケーションソフト14がターゲットマシン用のと
きは、仮想計算機モニタ13はモードレジスタフにモー
ドを設定し、セレクタ6は第2の表示制御部5からの表
示信号を選択する。また、アドレス変換器9はアドレス
変換を行ってI10マツプを変換する。
第2図はI/Oマツプの一実施例である。(a)は物理
マツ′i″メでありアドレス0OCOH〜fI 00DFH(末尾のHは16進数を表す)には第1図に
示すDMAコントローラ11がマツピングされている。
また、アドレス03BOH−03DFHには、第1の表
示制御部4の表示I/Oがマツピングされている。ベー
スマシン用のアプリケーションソフト14はこのI/O
マツプに依存して作成されている。一方、ターゲットマ
シンの表示Iloは、本来は0OCOH−00DFH4
,:vッピングされているものとすると、これを本例の
ベースマシンに接続するとDMAコントローラ11とI
10アドレスが重なってしまう。そこで、ベースマシン
上のあき領域である0ICOH−OIDFHに配置して
おく。
第3図はアドレス変換器9の一実施例である。
アドレス0OCOH−00DFHをアクセスすると、ア
ドレスデコーダ20がCPUIの出力するアドレス信号
22をデコードしデコード信号21をアクティブにする
。もし、仮想計算機モニタ13の動作モードがターゲッ
トモードであれば、ANDゲート23によって反転信号
24がアクティブとなりEORゲート24によってCP
UIの出力するCPUアドレス22のうち、第9ビツト
目であるA2”を反転する。他のアドレスビットについ
ては、CPUアドレス22をそのままアドレスバス2と
する。この操作によって、アドレス00COH〜0OD
FHとOLCOH−01DFHは互いに入れ替わる。こ
のときのアプリケーションソフト14から見た論理I1
0マツプは第2図(b)のようになり、第2の表示制御
部5の本来のアドレスと互換性をとることができる。な
お。
ターゲットマシン用のアプリケーションソフト14は、
DMAコントローラ11は使用しないためそのI10ア
ドレスを変更しても何ら問題はない。
以上はハードウェアにてアドレス変換を行った例を示し
た。次にこれをソフトウェアで行う例を第4図を用いて
説明する。第4図においては15はI10アクセス検出
器であり、I10アドレス1に例外信号16が入力され
ると仮想計算機モニタ13に含まれる例外処理ルーチン
が起動される。
なお、本図において、他の構成要素は第1図と同じであ
るので説明は省略する。
第5図はその例外処理ルーチンの一処理例である。まず
、例外信号16が入力されると、CPU1は仮想計算機
モニタ13の例外処理へ移行する(30)、まず1例外
が発生したアプリケーションの命令からアクセスしよう
としたI10アドレスを求める(31)、これはあとで
述べるように、例外発生アドレスがスタック領域に積ま
れているのでそれを読み出せば分かる6次にそのアドレ
スを本例では+100Hして変換しく32)、続いて入
出力に応じて(33)I10アクセスを行う(34,3
5)、最後にCPUIのインストラクションポインタを
I10命令の次の命令を指すように進め(36)、アプ
リケーションソフト14に戻る(37)。このようなソ
フトウェアによる変換は、第1図のハードウェアによる
場合よりもな処理のため、先の従来例に開示されている
ようないわゆるエミュレーションと比べて性能低下の度
合は少ない。
以上、第2図の表示制御部5の表示IloとDMAコン
トローラ11が重なる場合について説明したが、ベース
マシンとターゲットマシンの組合せによってうまく重な
らないで済むときは、アドレス変換は必要なく、アドレ
ス変換器9やI10アクセス検出器15.および例外処
理ルーチンは不要・となる。
また、I10マツプに限らずメモリマツプを変換する場
合でも本発明を同様に適応できる。このとき、アドレス
変換器9としては、第1図のようなハードウェアでもよ
いし、M M U (M e+*oryManagem
ent  Unit)でもよい。
また、I10アクセス検出器15は単なるアドレスデコ
ーダ20のようなハードウェアでもよいし、あるいは米
国I nte1社製CPUである386DX/386S
X、; 1486の仮想86モードを用いてもよい。
また、アクセス頻度が少ないなどの理由で、ソフトによ
ってエミュレーションしても互換性や性能的に問題ない
部分については、第2の表示制御部5から省くことによ
ってハードウェア規模をエミュレーションに必要な最小
限としてもよい。
次にベースマシン用のOSでターゲットマシン用のアプ
リケーシヨンソフト14を動作させる方法について説明
する。
第6図はメモリ12のメモリマツプの詳細を示した一例
である。40は割込みベクタテーブル、41はOSであ
りベースマシン用とする。42はユーザの入力情報を解
析し0841に制御を渡すコマンド解析部、13は仮想
計算機モニタ、14はアプリケーションソフトでターゲ
ットマシン用、43は第2の表示制御部5に含まれる表
示メモリ、44はBIOSである。また、仮想計算機モ
ニタ13は、さらにBIOSIミュレータ45.I10
エミュレータ469例外処理部47から構成さ0エミユ
レータ46に含まれる。
まず、BIOS44の動作について説明する。
BrO3とは基本人出カシステムの略称であり、1文字
出力や1文字入力などの基本的な機能を提供する。ここ
では、キーボードからの1文字入力を例にとる。なお、
CPU1は米国I nte1社の8086互換であると
し、レジスタ、命令コードはそれに準するものとして説
明する。
今、仮りにターゲットマシンにおけるキーボードからの
t文字入力が。
BIOSIァンクション(ソフトウェア割込み) INT  16H(命令コード CD16H)入力パラ
メータ AHレジスターOOH 出力パラメータ ALレジスタ=文字コード(ASCII)AHレジスタ
=ターゲットマシン用キーボードのスキャンコード 14からは、このファンクションが発行される。
また、ベースマシンにおけるキーボードにおけるキーボ
ードからの1文字入力は。
BIOSIァンクション(ソフトウェア割込み) INT  16H(命令コード CD16H)入力パラ
メータ AHレジスター 10 H 出力パラメータ ALレジスタ=文字コード(ASCII)AHレジスタ
=ベースマシン用キーボードのスキャンコード であるとする、第6図における0841からは、このフ
ァンクションが発行される。
通常は、割込みベクタテーブル40にBIOS44の先
頭アドレスを登録し、lNT16H命令が発行されると
16H番目のテーブルを参照することでB l0844
にジャンプする。そして、BIOS44では入力パラメ
ータによって処理をつのシステム内で同じ機能を上記の
ように異なるファンクション(入力パラメータ)で処理
する必要がある。第7図はその処理を行うための仮想針
n機モニタ13の処理の流れの一例である。
まず、割込みベクタテーブル110には、あらかじめ仮
想計算機工3の例外処理部47のアドレスを<: IJ
 シておく、OS41またはアプリケージ1ンソフト1
4が、1310SコールのためIN’116H(命令コ
ード CD上611)をアドレス100011番地から
′A行(100)したとすると。
例外処理部47に制御が移る。このとき、CPU1はメ
モリ2のスタック領域50に命令アドレス(103)と
CPUIの内部状態を示すフラグレジスタ102の内容
をセーブする。
例外処理部47では、まずスタック領域50からスタッ
クアドレスを示すSPレジスタの内容を元に、命令アド
レス103を得る(104)。この値が第6図に示すシ
ステム領域48かユーザ領テム領域48とユーザ領域4
9を分けているので、容易に行える。次に、アドレス判
定の結果がシステム領域48ならOSから発行されたB
IOSI−ルであるから通常通りBIOS44へ(lo
6)、ユーザ領域49であればターゲットマシン用のア
プリケーションソフト14から発行されたBIOSI−
ルであるからBIOSIミュレータ45へそれぞれジャ
ンプする(107)。
BIOSIミュレータ45は、例えば1文字入力の場合
アプリケーションソフト上4からのBIOSI−ルはA
HレジスターOOHであるので、これをベースマシンの
BIOSI−ルに変換するため、入力パラメータ変換(
109)によってA HレジスタをIOHにする。続い
てベースマシンのBrO3をコールしく110)、キー
コードの相違を吸収するために出力パラメータ変換(1
11)によってAL、AHレジスタの値を変換する。
このように1例外処理部47でBIOSI−ルの発行ア
ドレスを判定することで、異なるファンることかできる
次にキーボードの操作の一例について説明する。
第1図において、データバス3にはキーボードコントロ
ーラ26が接続されている。さらにキーボードコントロ
ーラ26にはベースマシン用キーボード27が接続され
ている。第8図はキーボード27の詳細であり、また2
8はターゲットマシン用のキーボードであるとする。フ
ァンクションキーを例にとると、ターゲットマシン用キ
ーボード28には上段にF1〜F16までがあるが、ベ
ースマシン用キーボード27にはF1〜F12までしか
ない。そこでターゲットマシン用キーボード28のF1
3キー62をベースマシン用キーボード27で操作をエ
ミュレーションする場合には、複数のキーの組合せで実
現する必要がある。その例として、シフトキー60を押
しなからF9キー61を押すとF1aと同じ動作をする
ように割り当てるとする。
文字コード  =OOH スギャンコード=8CH であるとし、ベースマシン用のキーボード27における
シフトキー60+F9キー61のキーコードが。
文字コード  =OOH スキャンコード=5CH であるとする、先に説明したBIOSエミュレータ45
の出力パラメータ変換111では、このコード(5CH
)をターゲットマシン用のキーコード8CHに置き換え
てターゲットマシン用のアプリケーションソフト14に
値を返すことによって、キー入力の互換性を保つことが
できる。
以上はBIOSエミュレータ45と、キーボード27の
操作について説明したが、I10エミュレータ46の処
理においても同様な考え方を適用することができる。す
なわち、例えば第5図に示したI10エミュレーション
において、例外発生アドレスがユーザ領域のときのみな
らアドレス変るようにしてもよい。
キーボードの操作に関していえば、第8図のようにシフ
トキー62をもちいるのではなく、他のキーの組合せで
あってもよい。
また、CPUIは8086互換として説明したが、他の
アーキテクチャを持つCPUであってもよい。
〔発明の効果〕
本発明においては、ターゲットマシンの表示制御ハード
ウェアをそのまま用いて仮想計算機を実現するので、表
示機能に関して、互換性を高めることができる。また、
アドレスがベースマシンと重なったときでもアドレス変
換することで重なりを防ぐことができ、その変換方法に
ハードウェアを用いれば性能低下は全くないという効果
がある。
その場合でもアプリケーションソフトから見るとアドレ
スは互換に見えるため、互換性の面でも問題はない。
また、本発明においては、OSを作り変えなくュレーシ
ョンをそのアドレスを判定するだけで容易に実現できる
という効果がある。さらに、キーボード操作においても
、複数のキーの組合せによってターゲットマシン用キー
ボードのエミュレーションが可能であり、またキーコー
ドを変換することでターゲットマシン用アプリケーショ
ンソフトとの互換性も維持できるという効果がある。
【図面の簡単な説明】
第1図および第4図は本発明の実施例を示すハードウェ
アブロック図、第2図はI10マツプの一例を示す図、
第3図はアドレス変換器9の一構成例を示す図、第5図
は例外処理ルーチンの処理手順例を示す図、第6図はメ
モリ2のアドレスマツプの一実施例を示す図、第7図は
BIOSエミュレーションの処理手順例を示す図、第8
図はキーボードの操作例を示す図である。 1・・・CPU、       2・・・アドレスバス
、3・・・データバス、   4・・・第1の表示制御
部。 10・・・モード信号、    11・・・DMAコン
トローラ、12・・・メモリ、      13・・・
仮想計算機モニタ、14・・・アプリケーションソフト
、 15・・・I/Oアクセス検出器、 16・・・例外信号、 27・・・ベースマシン用キーボード、28・・・ター
ゲットマシン用キーボード、41・・・OS,44・・
・BIOS,45・・・BIOSエミュレータ、 46・・I10エミュレータ、 47・・例外処理部、   48・・・システム領域、
49・・・ユーザ領域、   50・・・スタック領域
。 塙 閏 (α) (b) 塙 圀 筋 5 第 瞥 躬

Claims (11)

    【特許請求の範囲】
  1. (1)CPUと、本来の表示部である第1の表示制御ハ
    ードウェアと、これらを制御する仮想計算機モニタプロ
    グラムとを備えた仮想計算機において、 前記仮想計算機モニタプログラムでエミューレートする
    ターゲットマシンの表示部を第2の表示制御ハードウェ
    アとして設け、前記仮想計算機モニタプログラムの動作
    モードに応じて前記第1または第2の表示制御ハードウ
    ェアを選択する手段を備えることを特徴とする仮想計算
    機における表示制御方式。
  2. (2)請求項1の仮想計算機において、アドレス変換手
    段を設け、前記CPUの出力アドレスを前記アドレス変
    換手段によって変換し前記第2の表示制御ハードウェア
    にアクセスすることを特徴とする仮想計算機における表
    示制御方式。
  3. (3)アドレス変換は、前記CPUのメモリ空間に置か
    れる前記第2の表示制御ハードウェア内のメモリ領域を
    対象とすることを特徴とする、請求項2記載の仮想計算
    機における表示制御方式。
  4. (4)アドレス変換は、前記CPUのI/O空間に置か
    れる前記第2の表示制御ハードウェア内のI/O領域を
    対象とすることを特徴とする、請求項2記載の仮想計算
    機における表示制御方式。
  5. (5)アドレス変換は、前記CPUの出力するアドレス
    信号を直接操作して行うことを特徴とする、請求項2記
    載の仮想計算機における表示制御方式。
  6. (6)請求項1における前記第2の表示ハードウェアの
    アクセスを検知する手段を設け、前記アクセス検知手段
    によって起動される前記仮想計算機モニタプログラム内
    の例外処理ルーチンによってアドレス変換のエミュレー
    ト処理を行うことを特徴とする請求項2記載の仮想計算
    機における表示制御方式。
  7. (7)請求項1における前記第2の表示制御部のアクセ
    スを検知する手段を設け、前記アクセス検知手段によっ
    て起動されアドレス変換のエミュレート処理を行う例外
    処理ルーチンを有することを特徴とするモニタプログラ
    ムを用いた仮想計算機。
  8. (8)I/Oアクセスを検知しCPUに例外を発生させ
    る手段と、例外発生アドレス情報を記憶する手段と、前
    記例外によって起動される例外処理において前記例外発
    生アドレス情報を取得し、その内容によってI/Oエミ
    ュレート処理内容を切り換えることを特徴とするモニタ
    プログラムを用いた仮想計算機。
  9. (9)ソフトウェア割込み命令によってCPUに例外を
    発生させる手段と、例外発生アドレス情報を記憶する手
    段と、前記例外によって起動される例外処理において前
    記例外発生アドレス情報を取得し、その内容によってソ
    フトウェア割込み処理内容を切り換えることを特徴とす
    るモニタプログラムを用いた仮想計算機。
  10. (10)処理内容の切り換えは、例外発生アドレスがO
    Sなどを含むシステム領域アドレスかアプリケーション
    ソフトなどを含むユーザ領域アドレスかを判定して行う
    ことを特徴とする請求項8または9記載の仮想計算機。
  11. (11)仮想計算機モニタプログラムの動作モードに応
    じて、キーボードからのキー入力コードを変換する手段
    を設けたことを特徴とする仮想計算機におけるキーボー
    ド入力方式。
JP1166631A 1989-06-30 1989-06-30 仮想計算機における表示制御方式 Expired - Fee Related JP2590267B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP1166631A JP2590267B2 (ja) 1989-06-30 1989-06-30 仮想計算機における表示制御方式
US08/300,863 US5504922A (en) 1989-06-30 1994-09-06 Virtual machine with hardware display controllers for base and target machines

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1166631A JP2590267B2 (ja) 1989-06-30 1989-06-30 仮想計算機における表示制御方式

Publications (2)

Publication Number Publication Date
JPH0333937A true JPH0333937A (ja) 1991-02-14
JP2590267B2 JP2590267B2 (ja) 1997-03-12

Family

ID=15834866

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1166631A Expired - Fee Related JP2590267B2 (ja) 1989-06-30 1989-06-30 仮想計算機における表示制御方式

Country Status (2)

Country Link
US (1) US5504922A (ja)
JP (1) JP2590267B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08328883A (ja) * 1995-05-30 1996-12-13 Nec Corp システムプログラム呼び出し方法
US6785886B1 (en) 1998-05-15 2004-08-31 Vmware, Inc. Deferred shadowing of segment descriptors in a virtual machine monitor for a segmented computer architecture
US7516453B1 (en) 1998-10-26 2009-04-07 Vmware, Inc. Binary translator with precise exception synchronization mechanism
JP2010128943A (ja) * 2008-11-28 2010-06-10 Toshiba Corp 情報処理装置および情報処理装置の制御方法
JP2013508869A (ja) * 2009-10-28 2013-03-07 中国移▲動▼通信集▲団▼公司 アプリケーション画像の表示方法及び装置
US8631066B2 (en) 1998-09-10 2014-01-14 Vmware, Inc. Mechanism for providing virtual machines for use by multiple users

Families Citing this family (105)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08147173A (ja) * 1994-11-18 1996-06-07 Seiko Epson Corp エミュレーション装置
US6204847B1 (en) * 1995-07-17 2001-03-20 Daniel W. Wright Shared virtual desktop collaborative application system
JPH11167493A (ja) * 1997-12-02 1999-06-22 Nec Corp 情報処理装置およびその拡張装置の立ち上げ方法
US6145030A (en) * 1998-03-27 2000-11-07 Intel Corporation System for managing input/output address accesses at a bridge/memory controller
US6990579B1 (en) 2000-03-31 2006-01-24 Intel Corporation Platform and method for remote attestation of a platform
US7111176B1 (en) 2000-03-31 2006-09-19 Intel Corporation Generating isolated bus cycles for isolated execution
US7073071B1 (en) 2000-03-31 2006-07-04 Intel Corporation Platform and method for generating and utilizing a protected audit log
US7356817B1 (en) 2000-03-31 2008-04-08 Intel Corporation Real-time scheduling of virtual machines
US7089418B1 (en) 2000-03-31 2006-08-08 Intel Corporation Managing accesses in a processor for isolated execution
US6754815B1 (en) 2000-03-31 2004-06-22 Intel Corporation Method and system for scrubbing an isolated area of memory after reset of a processor operating in isolated execution mode if a cleanup flag is set
US6996710B1 (en) 2000-03-31 2006-02-07 Intel Corporation Platform and method for issuing and certifying a hardware-protected attestation key
US7013484B1 (en) 2000-03-31 2006-03-14 Intel Corporation Managing a secure environment using a chipset in isolated execution mode
US6934817B2 (en) * 2000-03-31 2005-08-23 Intel Corporation Controlling access to multiple memory zones in an isolated execution environment
US6957332B1 (en) * 2000-03-31 2005-10-18 Intel Corporation Managing a secure platform using a hierarchical executive architecture in isolated execution mode
US7194634B2 (en) * 2000-03-31 2007-03-20 Intel Corporation Attestation key memory device and bus
US6769058B1 (en) 2000-03-31 2004-07-27 Intel Corporation Resetting a processor in an isolated execution environment
US7013481B1 (en) 2000-03-31 2006-03-14 Intel Corporation Attestation key memory device and bus
US6760441B1 (en) 2000-03-31 2004-07-06 Intel Corporation Generating a key hieararchy for use in an isolated execution environment
US7082615B1 (en) 2000-03-31 2006-07-25 Intel Corporation Protecting software environment in isolated execution
US6976162B1 (en) * 2000-06-28 2005-12-13 Intel Corporation Platform and method for establishing provable identities while maintaining privacy
US7793111B1 (en) * 2000-09-28 2010-09-07 Intel Corporation Mechanism to handle events in a machine with isolated execution
US7389427B1 (en) 2000-09-28 2008-06-17 Intel Corporation Mechanism to secure computer output from software attack using isolated execution
US7215781B2 (en) * 2000-12-22 2007-05-08 Intel Corporation Creation and distribution of a secret value between two devices
US7818808B1 (en) 2000-12-27 2010-10-19 Intel Corporation Processor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor
US7035963B2 (en) * 2000-12-27 2006-04-25 Intel Corporation Method for resolving address space conflicts between a virtual machine monitor and a guest operating system
US7225441B2 (en) 2000-12-27 2007-05-29 Intel Corporation Mechanism for providing power management through virtualization
US6907600B2 (en) 2000-12-27 2005-06-14 Intel Corporation Virtual translation lookaside buffer
US7117376B2 (en) * 2000-12-28 2006-10-03 Intel Corporation Platform and method of creating a secure boot that enforces proper user authentication and enforces hardware configurations
US20020144121A1 (en) * 2001-03-30 2002-10-03 Ellison Carl M. Checking file integrity using signature generated in isolated execution
US7096497B2 (en) * 2001-03-30 2006-08-22 Intel Corporation File checking using remote signing authority via a network
US7191440B2 (en) 2001-08-15 2007-03-13 Intel Corporation Tracking operating system process and thread execution and virtual machine execution in hardware or in a virtual machine monitor
US6952702B2 (en) * 2001-10-15 2005-10-04 American Megatrends, Inc. Apparatus and methods for managing the display of SMBIOS data relating to the configuration and components of a computing system
US7024555B2 (en) * 2001-11-01 2006-04-04 Intel Corporation Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment
US7103771B2 (en) * 2001-12-17 2006-09-05 Intel Corporation Connecting a virtual token to a physical token
US20030126454A1 (en) * 2001-12-28 2003-07-03 Glew Andrew F. Authenticated code method and apparatus
US20030126453A1 (en) * 2001-12-31 2003-07-03 Glew Andrew F. Processor supporting execution of an authenticated code instruction
US7308576B2 (en) * 2001-12-31 2007-12-11 Intel Corporation Authenticated code module
US7480806B2 (en) * 2002-02-22 2009-01-20 Intel Corporation Multi-token seal and unseal
US7631196B2 (en) * 2002-02-25 2009-12-08 Intel Corporation Method and apparatus for loading a trustable operating system
US7124273B2 (en) * 2002-02-25 2006-10-17 Intel Corporation Method and apparatus for translating guest physical addresses in a virtual machine environment
US7028149B2 (en) * 2002-03-29 2006-04-11 Intel Corporation System and method for resetting a platform configuration register
US7069442B2 (en) * 2002-03-29 2006-06-27 Intel Corporation System and method for execution of a secured environment initialization instruction
US20030191943A1 (en) * 2002-04-05 2003-10-09 Poisner David I. Methods and arrangements to register code
US20030196096A1 (en) * 2002-04-12 2003-10-16 Sutton James A. Microcode patch authentication
US7076669B2 (en) * 2002-04-15 2006-07-11 Intel Corporation Method and apparatus for communicating securely with a token
US7058807B2 (en) * 2002-04-15 2006-06-06 Intel Corporation Validation of inclusion of a platform within a data center
US20030196100A1 (en) * 2002-04-15 2003-10-16 Grawrock David W. Protection against memory attacks following reset
US7127548B2 (en) 2002-04-16 2006-10-24 Intel Corporation Control register access virtualization performance improvement in the virtual-machine architecture
US7139890B2 (en) * 2002-04-30 2006-11-21 Intel Corporation Methods and arrangements to interface memory
US20030229794A1 (en) * 2002-06-07 2003-12-11 Sutton James A. System and method for protection against untrusted system management code by redirecting a system management interrupt and creating a virtual machine container
US6820177B2 (en) 2002-06-12 2004-11-16 Intel Corporation Protected configuration space in a protected environment
US7142674B2 (en) * 2002-06-18 2006-11-28 Intel Corporation Method of confirming a secure key exchange
US7392415B2 (en) * 2002-06-26 2008-06-24 Intel Corporation Sleep protection
US20040003321A1 (en) * 2002-06-27 2004-01-01 Glew Andrew F. Initialization of protected system
US6996748B2 (en) 2002-06-29 2006-02-07 Intel Corporation Handling faults associated with operation of guest software in the virtual-machine architecture
US7124327B2 (en) 2002-06-29 2006-10-17 Intel Corporation Control over faults occurring during the operation of guest software in the virtual-machine architecture
US7296267B2 (en) * 2002-07-12 2007-11-13 Intel Corporation System and method for binding virtual machines to hardware contexts
US7165181B2 (en) 2002-11-27 2007-01-16 Intel Corporation System and method for establishing trust without revealing identity
US7073042B2 (en) * 2002-12-12 2006-07-04 Intel Corporation Reclaiming existing fields in address translation data structures to extend control over memory accesses
US20040117318A1 (en) * 2002-12-16 2004-06-17 Grawrock David W. Portable token controlling trusted environment launch
US7318235B2 (en) 2002-12-16 2008-01-08 Intel Corporation Attestation using both fixed token and portable token
US20040128345A1 (en) * 2002-12-27 2004-07-01 Robinson Scott H. Dynamic service registry
US7900017B2 (en) * 2002-12-27 2011-03-01 Intel Corporation Mechanism for remapping post virtual machine memory pages
US20040128465A1 (en) * 2002-12-30 2004-07-01 Lee Micheil J. Configurable memory bus width
US7076802B2 (en) * 2002-12-31 2006-07-11 Intel Corporation Trusted system clock
US7415708B2 (en) * 2003-06-26 2008-08-19 Intel Corporation Virtual machine management using processor state information
US20050044292A1 (en) * 2003-08-19 2005-02-24 Mckeen Francis X. Method and apparatus to retain system control when a buffer overflow attack occurs
US7424709B2 (en) 2003-09-15 2008-09-09 Intel Corporation Use of multiple virtual machine monitors to handle privileged events
US7287197B2 (en) * 2003-09-15 2007-10-23 Intel Corporation Vectoring an interrupt or exception upon resuming operation of a virtual machine
US7739521B2 (en) * 2003-09-18 2010-06-15 Intel Corporation Method of obscuring cryptographic computations
US7610611B2 (en) 2003-09-19 2009-10-27 Moran Douglas R Prioritized address decoder
US7366305B2 (en) * 2003-09-30 2008-04-29 Intel Corporation Platform and method for establishing trust without revealing identity
US7177967B2 (en) * 2003-09-30 2007-02-13 Intel Corporation Chipset support for managing hardware interrupts in a virtual machine system
US7237051B2 (en) 2003-09-30 2007-06-26 Intel Corporation Mechanism to control hardware interrupt acknowledgement in a virtual machine system
US20050080934A1 (en) 2003-09-30 2005-04-14 Cota-Robles Erik C. Invalidating translation lookaside buffer entries in a virtual machine (VM) system
US7636844B2 (en) * 2003-11-17 2009-12-22 Intel Corporation Method and system to provide a trusted channel within a computer system for a SIM device
US20050108534A1 (en) * 2003-11-19 2005-05-19 Bajikar Sundeep M. Providing services to an open platform implementing subscriber identity module (SIM) capabilities
US20050108171A1 (en) * 2003-11-19 2005-05-19 Bajikar Sundeep M. Method and apparatus for implementing subscriber identity module (SIM) capabilities in an open platform
US8156343B2 (en) 2003-11-26 2012-04-10 Intel Corporation Accessing private data about the state of a data processing machine from storage that is publicly accessible
US8037314B2 (en) * 2003-12-22 2011-10-11 Intel Corporation Replacing blinded authentication authority
US20050152539A1 (en) * 2004-01-12 2005-07-14 Brickell Ernie F. Method of protecting cryptographic operations from side channel attacks
US7802085B2 (en) 2004-02-18 2010-09-21 Intel Corporation Apparatus and method for distributing private keys to an entity with minimal secret, unique information
US20050216920A1 (en) * 2004-03-24 2005-09-29 Vijay Tewari Use of a virtual machine to emulate a hardware device
US7356735B2 (en) 2004-03-30 2008-04-08 Intel Corporation Providing support for single stepping a virtual machine in a virtual machine environment
US7620949B2 (en) * 2004-03-31 2009-11-17 Intel Corporation Method and apparatus for facilitating recognition of an open event window during operation of guest software in a virtual machine environment
US7490070B2 (en) 2004-06-10 2009-02-10 Intel Corporation Apparatus and method for proving the denial of a direct proof signature
US20050288056A1 (en) * 2004-06-29 2005-12-29 Bajikar Sundeep M System including a wireless wide area network (WWAN) module with an external identity module reader and approach for certifying the WWAN module
US8972977B2 (en) * 2004-06-30 2015-03-03 Microsoft Technology Licensing, Llc Systems and methods for providing seamless software compatibility using virtual machines
US7305592B2 (en) * 2004-06-30 2007-12-04 Intel Corporation Support for nested fault in a virtual machine environment
DE102004035808A1 (de) * 2004-07-21 2006-03-16 Kasch, Helmut, Dr. Ammoniumsalze und Ammoniumsalz-Mineralsalzchlatrate als Transport- und Wirkform für pharmazeutische-medizinische und als Phasentransfermittel für chemische Anwendungen
US7840962B2 (en) * 2004-09-30 2010-11-23 Intel Corporation System and method for controlling switching between VMM and VM using enabling value of VMM timer indicator and VMM timer value having a specified time
US8146078B2 (en) 2004-10-29 2012-03-27 Intel Corporation Timer offsetting mechanism in a virtual machine environment
US8924728B2 (en) * 2004-11-30 2014-12-30 Intel Corporation Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information
US8533777B2 (en) * 2004-12-29 2013-09-10 Intel Corporation Mechanism to determine trust of out-of-band management agents
US7395405B2 (en) 2005-01-28 2008-07-01 Intel Corporation Method and apparatus for supporting address translation in a virtual machine environment
US7647589B1 (en) 2005-02-07 2010-01-12 Parallels Software International, Inc. Methods and systems for safe execution of guest code in virtual machine context
US8379538B2 (en) * 2005-06-22 2013-02-19 Hewlett-Packard Development Company, L.P. Model-driven monitoring architecture
US7251588B2 (en) * 2005-06-22 2007-07-31 Hewlett-Packard Development Company, L.P. System for metric introspection in monitoring sources
US20070003023A1 (en) * 2005-06-22 2007-01-04 Jerome Rolia System and method for autonomously configuring a reporting network
US7831820B2 (en) * 2005-06-23 2010-11-09 Microsoft Corporation System and method for converting a target computing device to a virtual machine in response to a detected event
US20070006225A1 (en) * 2005-06-23 2007-01-04 Microsoft Corporation System and method for converting a target computing device to a virtual machine
US7809957B2 (en) 2005-09-29 2010-10-05 Intel Corporation Trusted platform module for generating sealed data
US8014530B2 (en) 2006-03-22 2011-09-06 Intel Corporation Method and apparatus for authenticated, recoverable key distribution with no database secrets
US9600310B2 (en) * 2013-12-31 2017-03-21 Open Invention Network, Llc Compatibility-based configuration of hardware with virtualization software
DE102016124623A1 (de) * 2016-12-16 2018-06-21 Dspace Digital Signal Processing And Control Engineering Gmbh Verfahren zum Erstellen eines mit einem Simulationsgerät kompatiblen Modells

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61184643A (ja) * 1985-02-12 1986-08-18 Hitachi Ltd 仮想計算機の起動制御方式
JPS62121549A (ja) * 1985-11-22 1987-06-02 Hitachi Ltd Osシミユレ−タの高速化方式
JPS63127341A (ja) * 1986-11-17 1988-05-31 Matsushita Electric Ind Co Ltd マルチオペレ−テイングシステム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4727480A (en) * 1984-07-09 1988-02-23 Wang Laboratories, Inc. Emulation of a data processing system
US5088033A (en) * 1986-04-28 1992-02-11 Xerox Corporation Data processing system emulation in a window with a coprocessor and I/O emulation
US5226168A (en) * 1989-04-25 1993-07-06 Seiko Epson Corporation Semiconductor memory configured to emulate floppy and hard disk magnetic storage based upon a determined storage capacity of the semiconductor memory
US5131089A (en) * 1989-06-12 1992-07-14 Grid Systems Corporation Solid state disk drive emulation
US5093776A (en) * 1989-06-15 1992-03-03 Wang Laboratories, Inc. Information processing system emulation apparatus and method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61184643A (ja) * 1985-02-12 1986-08-18 Hitachi Ltd 仮想計算機の起動制御方式
JPS62121549A (ja) * 1985-11-22 1987-06-02 Hitachi Ltd Osシミユレ−タの高速化方式
JPS63127341A (ja) * 1986-11-17 1988-05-31 Matsushita Electric Ind Co Ltd マルチオペレ−テイングシステム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08328883A (ja) * 1995-05-30 1996-12-13 Nec Corp システムプログラム呼び出し方法
US6785886B1 (en) 1998-05-15 2004-08-31 Vmware, Inc. Deferred shadowing of segment descriptors in a virtual machine monitor for a segmented computer architecture
US8631066B2 (en) 1998-09-10 2014-01-14 Vmware, Inc. Mechanism for providing virtual machines for use by multiple users
US7516453B1 (en) 1998-10-26 2009-04-07 Vmware, Inc. Binary translator with precise exception synchronization mechanism
US8296551B2 (en) 1998-10-26 2012-10-23 Vmware, Inc. Binary translator with precise exception synchronization mechanism
JP2010128943A (ja) * 2008-11-28 2010-06-10 Toshiba Corp 情報処理装置および情報処理装置の制御方法
JP2013508869A (ja) * 2009-10-28 2013-03-07 中国移▲動▼通信集▲団▼公司 アプリケーション画像の表示方法及び装置

Also Published As

Publication number Publication date
US5504922A (en) 1996-04-02
JP2590267B2 (ja) 1997-03-12

Similar Documents

Publication Publication Date Title
JPH0333937A (ja) 仮想計算機における表示制御方式
US4347565A (en) Address control system for software simulation
RU2137184C1 (ru) Отображение с помощью мультинаборов команд
US5077657A (en) Emulator Assist unit which forms addresses of user instruction operands in response to emulator assist unit commands from host processor
US5812864A (en) Personal computer/host emulation system for handling host data with personal computer application programs at personal computers
US5036484A (en) Personal computer/host emulation system for handling host data with personal computer application programs at personal computers
US4084235A (en) Emulation apparatus
JPH0326414B2 (ja)
JPH0193837A (ja) デバッグ用マイクロプロセッサ
US3938101A (en) Computer system with post execution I/O emulation
JPS593642A (ja) 制御レジスタ処理方式
JPH0668724B2 (ja) シミユレーシヨン方法
JPH0564375B2 (ja)
JP2826309B2 (ja) 情報処理装置
US6877062B2 (en) Method and apparatus for increasing the memory read/write speed by using internal registers
JPH09179749A (ja) エミュレーション装置
JPH1069393A (ja) 仮想計算機エミュレータ、仮想計算機エミュレート方法 および仮想計算機エミュレートプログラムを記録した記録 媒体
JP2798275B2 (ja) 仮想記憶アドレス空間アクセス制御方式
JP2581080B2 (ja) デバック用マイクロプロセッサ
JPH02186448A (ja) デバッグ環境を備えた集積回路
KR20010047483A (ko) 컴퓨터에서의 터치 패드 기능 제어 방법
JP2899009B2 (ja) 情報処理装置
JPH04205151A (ja) 仮想計算機におけるキーボード制御方式
JP2731618B2 (ja) エミュレータ
JP3125790B2 (ja) アドレス変換装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees