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
Links
- 238000006243 chemical reaction Methods 0.000 claims abstract description 18
- 238000000034 method Methods 0.000 claims description 19
- 238000001514 detection method Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 6
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 125000002084 dioxo-lambda(5)-bromanyloxy group Chemical group *OBr(=O)=O 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 102220517071 Transcriptional regulator PINT87aa_I10A_mutation Human genes 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; 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ファンク
ション、キーボードの使い勝手などをいう。これらのハ
ードウェアやソフトウェアの構成が機種間で異なるため
、それぞれの機種用に開発されたアプリケーションソフ
ト間での互換性はない。そのため使用者は、自分の使用
したいアプリケージシコンソフトが動作する装置を新た
に購入したり、あるいは既に所有している装置の上で動
作するようにアプリケーションソフトを改造、移植しな
ければならない。
情報処理装置においては、各メーカが独白性を表した結
果、数多くのアーキテクチャが存在している。ここでア
ーキテクチャとは、メモリマツプ、I10マツプ、使用
しているLSI、OSファンジョン、BIOSファンク
ション、キーボードの使い勝手などをいう。これらのハ
ードウェアやソフトウェアの構成が機種間で異なるため
、それぞれの機種用に開発されたアプリケーションソフ
ト間での互換性はない。そのため使用者は、自分の使用
したいアプリケージシコンソフトが動作する装置を新た
に購入したり、あるいは既に所有している装置の上で動
作するようにアプリケーションソフトを改造、移植しな
ければならない。
このような問題に対し、ある特定の機種(以後、ベース
マシンと呼ぶ)上で、異なるアーキテクチャを持つ他の
機種(以後、ターゲットマシンと呼ぶ)との互換性を保
とうとする試みは、いわゆる仮想計算機として古くから
大型コンピュータで行われてきた。さらに、LSI技術
の進歩等によって、近年ではパソコンのレベルにまで応
用されるようになってきている。
マシンと呼ぶ)上で、異なるアーキテクチャを持つ他の
機種(以後、ターゲットマシンと呼ぶ)との互換性を保
とうとする試みは、いわゆる仮想計算機として古くから
大型コンピュータで行われてきた。さらに、LSI技術
の進歩等によって、近年ではパソコンのレベルにまで応
用されるようになってきている。
パソコン上で仮想計算機を実現するためには、少なくと
もOSとBIOSファンクションコールのエミュレーシ
ョンを行う必要がある。これについては特開昭61−1
84643号公報に特権命令を用いたシステムコールを
エミュレーションする方法が開示されている。
もOSとBIOSファンクションコールのエミュレーシ
ョンを行う必要がある。これについては特開昭61−1
84643号公報に特権命令を用いたシステムコールを
エミュレーションする方法が開示されている。
また、パソコンでは、その処理を高速に行うために表示
制御部をアプリケーションソフトが直接アクセスする場
合が一般的である。従って表示制御部に関しては、ター
ゲットマシンのハードウェアをなんらかの方法でエミュ
レーションする必要がある。これについては、ベースマ
シンの表示制御部を用いてターゲットマシンの表示制御
部をエミュレーションする方法が、例えば日経BP社発
行の日経バイト111987年10月号第140頁から
第150頁に論じられている。また、Iloをソフトウ
ェアによってエミュレーションする方法は、特開昭62
−279431号公報に開示されている。
制御部をアプリケーションソフトが直接アクセスする場
合が一般的である。従って表示制御部に関しては、ター
ゲットマシンのハードウェアをなんらかの方法でエミュ
レーションする必要がある。これについては、ベースマ
シンの表示制御部を用いてターゲットマシンの表示制御
部をエミュレーションする方法が、例えば日経BP社発
行の日経バイト111987年10月号第140頁から
第150頁に論じられている。また、Iloをソフトウ
ェアによってエミュレーションする方法は、特開昭62
−279431号公報に開示されている。
ベースマシンの表示制御部でターゲットマシンの表示制
御部をエミュレーションする方法では、実現できる機能
はベースマシンの表示機能に限定されてしまうという問
題があった。例えば、表示色数2画面のドツト数、ある
いは一般にアトリビュートと言われているアンダーライ
ンや反転などの文字属性などである。
御部をエミュレーションする方法では、実現できる機能
はベースマシンの表示機能に限定されてしまうという問
題があった。例えば、表示色数2画面のドツト数、ある
いは一般にアトリビュートと言われているアンダーライ
ンや反転などの文字属性などである。
また、表示系Iloをソフトウェアでエミュレーション
する方法では、I10アクセスごとに例外を発生させエ
ミユレーシヨンを行うため性能低下という問題があった
。
する方法では、I10アクセスごとに例外を発生させエ
ミユレーシヨンを行うため性能低下という問題があった
。
本発明の目的は、仮想計算機において、ベースマシン上
でのターゲットマシンの互換性を高めると共に、性能低
下の少なり表示制御方式を提供することである。
でのターゲットマシンの互換性を高めると共に、性能低
下の少なり表示制御方式を提供することである。
また、このような仮想計算機を実現するには、通常OS
についても新規に作成する必要があった。
についても新規に作成する必要があった。
本発明の目的は、ベースマシン用のOSを作り直すこと
なく、ターゲットマシン用のアプリケーションソフトを
動作させるための仮想計算機モニタを提供することにあ
る。
なく、ターゲットマシン用のアプリケーションソフトを
動作させるための仮想計算機モニタを提供することにあ
る。
また、本発明の他の目的は、ベースマシンのキーボード
にてターゲットマシンのキーボード操作をエミュレート
する仮想計算機モニタを提供することにある。
にてターゲットマシンのキーボード操作をエミュレート
する仮想計算機モニタを提供することにある。
上記目的は、ベースマシン上でターゲットマシン用アプ
リケーションソフトを動作させる仮想計算機を実現する
に当って、使用者から見て最も性能的に問題となり、し
かもアプリケーションソフトの多くが性能向上のために
直接アクセスする表示制御部については、ベースマシン
用表示制御部だけでなくターゲットマシン用表示制御部
の両者をハードウェアとして持たせ、仮想計算機の動作
モードに応じて切り換えることで達成される。このよう
にすれば、ターゲットマシンの表示機能をすべて実現で
きると共に、ソフトウェアによるエミュレーションを行
わないため性能低下が生じない。
リケーションソフトを動作させる仮想計算機を実現する
に当って、使用者から見て最も性能的に問題となり、し
かもアプリケーションソフトの多くが性能向上のために
直接アクセスする表示制御部については、ベースマシン
用表示制御部だけでなくターゲットマシン用表示制御部
の両者をハードウェアとして持たせ、仮想計算機の動作
モードに応じて切り換えることで達成される。このよう
にすれば、ターゲットマシンの表示機能をすべて実現で
きると共に、ソフトウェアによるエミュレーションを行
わないため性能低下が生じない。
また、上記目的は、BIOSコールやI10アを求め、
OS領域かアプリケーションソフト領域かを判定し、仮
想計算機モニタはその結果によってエミュレーション処
理を行うかどうかを切り換えることにより達成される。
OS領域かアプリケーションソフト領域かを判定し、仮
想計算機モニタはその結果によってエミュレーション処
理を行うかどうかを切り換えることにより達成される。
さらに上記目的は、ターゲットマシンキーボードにあっ
てベースマシンキーボードにはないキー操作については
、ベースマシン用のキーボードの複数キー押下の組合せ
によって達成される。
てベースマシンキーボードにはないキー操作については
、ベースマシン用のキーボードの複数キー押下の組合せ
によって達成される。
仮想計算機を制御するソフトウェアである仮想計算機モ
ニタに、ベースマシンモードとターゲットマシンモード
の動作モードを持たせる。ベースマシンモードで動作し
ているときは、エミュレーションの必要はなく、仮想計
算機モニタは何もしない、さらにいえば、仮想計算機モ
ニタはなくともよい。
ニタに、ベースマシンモードとターゲットマシンモード
の動作モードを持たせる。ベースマシンモードで動作し
ているときは、エミュレーションの必要はなく、仮想計
算機モニタは何もしない、さらにいえば、仮想計算機モ
ニタはなくともよい。
一方、タ−ゲツトマシン用−ドで動作しているときは、
仮想計算機モニタは、ターゲットマシン用に開発された
アプリケーションソフトから発せミュレーション、およ
びアプリケーションソフトが直接アクセスするI/Oに
ついてエミュレーション処理を行う。例えばBIOSコ
ールが発行されると、その命令アドレスがスタック上に
積まれるので、例外処理部にてそのアドレスを求め、タ
ーゲットマシン用のアプリケーションソフトがあるユー
ザ領域であれば、エミュレーション処理を行えばよい。
仮想計算機モニタは、ターゲットマシン用に開発された
アプリケーションソフトから発せミュレーション、およ
びアプリケーションソフトが直接アクセスするI/Oに
ついてエミュレーション処理を行う。例えばBIOSコ
ールが発行されると、その命令アドレスがスタック上に
積まれるので、例外処理部にてそのアドレスを求め、タ
ーゲットマシン用のアプリケーションソフトがあるユー
ザ領域であれば、エミュレーション処理を行えばよい。
そうすれば、OSについてはベースマシン用のOSをそ
のまま使用することができる。
のまま使用することができる。
次に表示制御について説明する。
本発明においては、ベースマシン用表示制御部と、ター
ゲットマシン用表示制御部の2組をハードウェアとして
設けておく、仮想計算機モニタはその時の動作モードに
応じてどちらかの表示制御部を排他的に選択する。ここ
で選択とは、それぞれの表示制御部から出力される表示
信号を切り換えて表示素子に送出することと、表示メモ
リや表示Iloなどのアドレスマツプを切り換えること
をいう、なお、モードの選択は、−殻内に用いら仮想計
算機モニタがこのように表示制御部を切り換えると、ア
プリケーションソフトからあたかもターゲットマシンと
同一の表示ハードウェアか接続されているように見える
ため、ターゲットマシン用アプリケーションソフトをそ
のまま実行させることができる。
ゲットマシン用表示制御部の2組をハードウェアとして
設けておく、仮想計算機モニタはその時の動作モードに
応じてどちらかの表示制御部を排他的に選択する。ここ
で選択とは、それぞれの表示制御部から出力される表示
信号を切り換えて表示素子に送出することと、表示メモ
リや表示Iloなどのアドレスマツプを切り換えること
をいう、なお、モードの選択は、−殻内に用いら仮想計
算機モニタがこのように表示制御部を切り換えると、ア
プリケーションソフトからあたかもターゲットマシンと
同一の表示ハードウェアか接続されているように見える
ため、ターゲットマシン用アプリケーションソフトをそ
のまま実行させることができる。
次に、ターゲットマシンの表示制御部の占有するメモリ
領域、I/O領域がベースマシンのそれと重なることが
考えられる。このような場合は、ターゲットマシン用表
示制御部をベースマシンとは重ならない領域に配置する
と共に、そのままではアプリケーションソフトから見て
ターゲットマシンと非互換になるので、アドレス変換す
ることであたかも互換になるようにすればよい。このア
ドレス変換を行うかどうかも1表示制御部の切り換えと
同様に、仮想計算機モニタの動作モードで選択すれば良
い。アドレス変換手段としては、ハードウェアにてアド
レス信号を切り換える方法か、例外を発生させソフトウ
ェア的にエミュレーショまた、キーボードについては、
ベースマシン用キーボードの複数キーの押下でターゲッ
トマシン用キーボードにしかないキーと同様のキーコー
トを発生するようにすることにより、キー操作をエミュ
レーションすることができる。キーコードエミュレーシ
ョンは、キーボードに内蔵されているマイクロコンピュ
ータによるか、キーボードBIOSにて行えばよい。
領域、I/O領域がベースマシンのそれと重なることが
考えられる。このような場合は、ターゲットマシン用表
示制御部をベースマシンとは重ならない領域に配置する
と共に、そのままではアプリケーションソフトから見て
ターゲットマシンと非互換になるので、アドレス変換す
ることであたかも互換になるようにすればよい。このア
ドレス変換を行うかどうかも1表示制御部の切り換えと
同様に、仮想計算機モニタの動作モードで選択すれば良
い。アドレス変換手段としては、ハードウェアにてアド
レス信号を切り換える方法か、例外を発生させソフトウ
ェア的にエミュレーショまた、キーボードについては、
ベースマシン用キーボードの複数キーの押下でターゲッ
トマシン用キーボードにしかないキーと同様のキーコー
トを発生するようにすることにより、キー操作をエミュ
レーションすることができる。キーコードエミュレーシ
ョンは、キーボードに内蔵されているマイクロコンピュ
ータによるか、キーボードBIOSにて行えばよい。
以下、図面を用いて本発明の詳細な説明する。
第1図は本発明の一実施例を示したものである。
1はCPU、2はアドレスバス、3はデータバスである
。4はベースマシンとしての第1の表示制御部、5はタ
ーゲットマシンとしての第2の表示制御部、7は仮想計
算機モニタが動作モードを設定するモードレジスタ、6
はその設定値に応じて表示信号を選択してCRT8に送
るセレクタ、9はアドレス変換をハードウェアで行うア
ドレス変換器、10はモードレジスタフの設定値である
モリケーションソフト14はメモリ12におかれている
。
。4はベースマシンとしての第1の表示制御部、5はタ
ーゲットマシンとしての第2の表示制御部、7は仮想計
算機モニタが動作モードを設定するモードレジスタ、6
はその設定値に応じて表示信号を選択してCRT8に送
るセレクタ、9はアドレス変換をハードウェアで行うア
ドレス変換器、10はモードレジスタフの設定値である
モリケーションソフト14はメモリ12におかれている
。
アプリケーションソフト14がベースマシン用のときは
、仮想計算機モニタ13の設定したモードレジスタフの
設定値によってセレクタ6が第1の表示制御部4からの
表示信号を選択すると共に、アドレス変換器9はアドレ
ス変換を行わスアトレスをスルー状態でアドレスバス2
に出力する。ソフトウェア的には、仮想計算機モニタ1
3はBIOSファンクションなどのエミュレーションは
行t)f、ベースマシンの持つ機能をそのまま使用すれ
ばよい。
、仮想計算機モニタ13の設定したモードレジスタフの
設定値によってセレクタ6が第1の表示制御部4からの
表示信号を選択すると共に、アドレス変換器9はアドレ
ス変換を行わスアトレスをスルー状態でアドレスバス2
に出力する。ソフトウェア的には、仮想計算機モニタ1
3はBIOSファンクションなどのエミュレーションは
行t)f、ベースマシンの持つ機能をそのまま使用すれ
ばよい。
アプリケーションソフト14がターゲットマシン用のと
きは、仮想計算機モニタ13はモードレジスタフにモー
ドを設定し、セレクタ6は第2の表示制御部5からの表
示信号を選択する。また、アドレス変換器9はアドレス
変換を行ってI10マツプを変換する。
きは、仮想計算機モニタ13はモードレジスタフにモー
ドを設定し、セレクタ6は第2の表示制御部5からの表
示信号を選択する。また、アドレス変換器9はアドレス
変換を行ってI10マツプを変換する。
第2図はI/Oマツプの一実施例である。(a)は物理
マツ′i″メでありアドレス0OCOH〜fI 00DFH(末尾のHは16進数を表す)には第1図に
示すDMAコントローラ11がマツピングされている。
マツ′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に配置して
おく。
示制御部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の本来のアドレスと互換性をとることができる。な
お。
ドレスデコーダ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ア
ドレスを変更しても何ら問題はない。
DMAコントローラ11は使用しないためそのI10ア
ドレスを変更しても何ら問題はない。
以上はハードウェアにてアドレス変換を行った例を示し
た。次にこれをソフトウェアで行う例を第4図を用いて
説明する。第4図においては15はI10アクセス検出
器であり、I10アドレス1に例外信号16が入力され
ると仮想計算機モニタ13に含まれる例外処理ルーチン
が起動される。
た。次にこれをソフトウェアで行う例を第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図のハードウェアによる
場合よりもな処理のため、先の従来例に開示されている
ようないわゆるエミュレーションと比べて性能低下の度
合は少ない。
、例外信号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.および例外処
理ルーチンは不要・となる。
トローラ11が重なる場合について説明したが、ベース
マシンとターゲットマシンの組合せによってうまく重な
らないで済むときは、アドレス変換は必要なく、アドレ
ス変換器9やI10アクセス検出器15.および例外処
理ルーチンは不要・となる。
また、I10マツプに限らずメモリマツプを変換する場
合でも本発明を同様に適応できる。このとき、アドレス
変換器9としては、第1図のようなハードウェアでもよ
いし、M M U (M e+*oryManagem
ent Unit)でもよい。
合でも本発明を同様に適応できる。このとき、アドレス
変換器9としては、第1図のようなハードウェアでもよ
いし、M M U (M e+*oryManagem
ent Unit)でもよい。
また、I10アクセス検出器15は単なるアドレスデコ
ーダ20のようなハードウェアでもよいし、あるいは米
国I nte1社製CPUである386DX/386S
X、; 1486の仮想86モードを用いてもよい。
ーダ20のようなハードウェアでもよいし、あるいは米
国I nte1社製CPUである386DX/386S
X、; 1486の仮想86モードを用いてもよい。
また、アクセス頻度が少ないなどの理由で、ソフトによ
ってエミュレーションしても互換性や性能的に問題ない
部分については、第2の表示制御部5から省くことによ
ってハードウェア規模をエミュレーションに必要な最小
限としてもよい。
ってエミュレーションしても互換性や性能的に問題ない
部分については、第2の表示制御部5から省くことによ
ってハードウェア規模をエミュレーションに必要な最小
限としてもよい。
次にベースマシン用のOSでターゲットマシン用のアプ
リケーシヨンソフト14を動作させる方法について説明
する。
リケーシヨンソフト14を動作させる方法について説明
する。
第6図はメモリ12のメモリマツプの詳細を示した一例
である。40は割込みベクタテーブル、41はOSであ
りベースマシン用とする。42はユーザの入力情報を解
析し0841に制御を渡すコマンド解析部、13は仮想
計算機モニタ、14はアプリケーションソフトでターゲ
ットマシン用、43は第2の表示制御部5に含まれる表
示メモリ、44はBIOSである。また、仮想計算機モ
ニタ13は、さらにBIOSIミュレータ45.I10
エミュレータ469例外処理部47から構成さ0エミユ
レータ46に含まれる。
である。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互換であると
し、レジスタ、命令コードはそれに準するものとして説
明する。
出力や1文字入力などの基本的な機能を提供する。ここ
では、キーボードからの1文字入力を例にとる。なお、
CPU1は米国I nte1社の8086互換であると
し、レジスタ、命令コードはそれに準するものとして説
明する。
今、仮りにターゲットマシンにおけるキーボードからの
t文字入力が。
t文字入力が。
BIOSIァンクション(ソフトウェア割込み)
INT 16H(命令コード CD16H)入力パラ
メータ AHレジスターOOH 出力パラメータ ALレジスタ=文字コード(ASCII)AHレジスタ
=ターゲットマシン用キーボードのスキャンコード 14からは、このファンクションが発行される。
メータ AHレジスターOOH 出力パラメータ ALレジスタ=文字コード(ASCII)AHレジスタ
=ターゲットマシン用キーボードのスキャンコード 14からは、このファンクションが発行される。
また、ベースマシンにおけるキーボードにおけるキーボ
ードからの1文字入力は。
ードからの1文字入力は。
BIOSIァンクション(ソフトウェア割込み)
INT 16H(命令コード CD16H)入力パラ
メータ AHレジスター 10 H 出力パラメータ ALレジスタ=文字コード(ASCII)AHレジスタ
=ベースマシン用キーボードのスキャンコード であるとする、第6図における0841からは、このフ
ァンクションが発行される。
メータ AHレジスター 10 H 出力パラメータ ALレジスタ=文字コード(ASCII)AHレジスタ
=ベースマシン用キーボードのスキャンコード であるとする、第6図における0841からは、このフ
ァンクションが発行される。
通常は、割込みベクタテーブル40にBIOS44の先
頭アドレスを登録し、lNT16H命令が発行されると
16H番目のテーブルを参照することでB l0844
にジャンプする。そして、BIOS44では入力パラメ
ータによって処理をつのシステム内で同じ機能を上記の
ように異なるファンクション(入力パラメータ)で処理
する必要がある。第7図はその処理を行うための仮想針
n機モニタ13の処理の流れの一例である。
頭アドレスを登録し、lNT16H命令が発行されると
16H番目のテーブルを参照することでB l0844
にジャンプする。そして、BIOS44では入力パラメ
ータによって処理をつのシステム内で同じ機能を上記の
ように異なるファンクション(入力パラメータ)で処理
する必要がある。第7図はその処理を行うための仮想針
n機モニタ13の処理の流れの一例である。
まず、割込みベクタテーブル110には、あらかじめ仮
想計算機工3の例外処理部47のアドレスを<: IJ
シておく、OS41またはアプリケージ1ンソフト1
4が、1310SコールのためIN’116H(命令コ
ード CD上611)をアドレス100011番地から
′A行(100)したとすると。
想計算機工3の例外処理部47のアドレスを<: IJ
シておく、OS41またはアプリケージ1ンソフト1
4が、1310SコールのためIN’116H(命令コ
ード CD上611)をアドレス100011番地から
′A行(100)したとすると。
例外処理部47に制御が移る。このとき、CPU1はメ
モリ2のスタック領域50に命令アドレス(103)と
CPUIの内部状態を示すフラグレジスタ102の内容
をセーブする。
モリ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)。
クアドレスを示す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レジスタの値を変換する。
アプリケーションソフト上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と同じ動作をする
ように割り当てるとする。
ーラ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のキーコードが。
シフトキー60+F9キー61のキーコードが。
文字コード =OOH
スキャンコード=5CH
であるとする、先に説明したBIOSエミュレータ45
の出力パラメータ変換111では、このコード(5CH
)をターゲットマシン用のキーコード8CHに置き換え
てターゲットマシン用のアプリケーションソフト14に
値を返すことによって、キー入力の互換性を保つことが
できる。
の出力パラメータ変換111では、このコード(5CH
)をターゲットマシン用のキーコード8CHに置き換え
てターゲットマシン用のアプリケーションソフト14に
値を返すことによって、キー入力の互換性を保つことが
できる。
以上はBIOSエミュレータ45と、キーボード27の
操作について説明したが、I10エミュレータ46の処
理においても同様な考え方を適用することができる。す
なわち、例えば第5図に示したI10エミュレーション
において、例外発生アドレスがユーザ領域のときのみな
らアドレス変るようにしてもよい。
操作について説明したが、I10エミュレータ46の処
理においても同様な考え方を適用することができる。す
なわち、例えば第5図に示したI10エミュレーション
において、例外発生アドレスがユーザ領域のときのみな
らアドレス変るようにしてもよい。
キーボードの操作に関していえば、第8図のようにシフ
トキー62をもちいるのではなく、他のキーの組合せで
あってもよい。
トキー62をもちいるのではなく、他のキーの組合せで
あってもよい。
また、CPUIは8086互換として説明したが、他の
アーキテクチャを持つCPUであってもよい。
アーキテクチャを持つ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 第 瞥 躬
アブロック図、第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)CPUと、本来の表示部である第1の表示制御ハ
ードウェアと、これらを制御する仮想計算機モニタプロ
グラムとを備えた仮想計算機において、 前記仮想計算機モニタプログラムでエミューレートする
ターゲットマシンの表示部を第2の表示制御ハードウェ
アとして設け、前記仮想計算機モニタプログラムの動作
モードに応じて前記第1または第2の表示制御ハードウ
ェアを選択する手段を備えることを特徴とする仮想計算
機における表示制御方式。 - (2)請求項1の仮想計算機において、アドレス変換手
段を設け、前記CPUの出力アドレスを前記アドレス変
換手段によって変換し前記第2の表示制御ハードウェア
にアクセスすることを特徴とする仮想計算機における表
示制御方式。 - (3)アドレス変換は、前記CPUのメモリ空間に置か
れる前記第2の表示制御ハードウェア内のメモリ領域を
対象とすることを特徴とする、請求項2記載の仮想計算
機における表示制御方式。 - (4)アドレス変換は、前記CPUのI/O空間に置か
れる前記第2の表示制御ハードウェア内のI/O領域を
対象とすることを特徴とする、請求項2記載の仮想計算
機における表示制御方式。 - (5)アドレス変換は、前記CPUの出力するアドレス
信号を直接操作して行うことを特徴とする、請求項2記
載の仮想計算機における表示制御方式。 - (6)請求項1における前記第2の表示ハードウェアの
アクセスを検知する手段を設け、前記アクセス検知手段
によって起動される前記仮想計算機モニタプログラム内
の例外処理ルーチンによってアドレス変換のエミュレー
ト処理を行うことを特徴とする請求項2記載の仮想計算
機における表示制御方式。 - (7)請求項1における前記第2の表示制御部のアクセ
スを検知する手段を設け、前記アクセス検知手段によっ
て起動されアドレス変換のエミュレート処理を行う例外
処理ルーチンを有することを特徴とするモニタプログラ
ムを用いた仮想計算機。 - (8)I/Oアクセスを検知しCPUに例外を発生させ
る手段と、例外発生アドレス情報を記憶する手段と、前
記例外によって起動される例外処理において前記例外発
生アドレス情報を取得し、その内容によってI/Oエミ
ュレート処理内容を切り換えることを特徴とするモニタ
プログラムを用いた仮想計算機。 - (9)ソフトウェア割込み命令によってCPUに例外を
発生させる手段と、例外発生アドレス情報を記憶する手
段と、前記例外によって起動される例外処理において前
記例外発生アドレス情報を取得し、その内容によってソ
フトウェア割込み処理内容を切り換えることを特徴とす
るモニタプログラムを用いた仮想計算機。 - (10)処理内容の切り換えは、例外発生アドレスがO
Sなどを含むシステム領域アドレスかアプリケーション
ソフトなどを含むユーザ領域アドレスかを判定して行う
ことを特徴とする請求項8または9記載の仮想計算機。 - (11)仮想計算機モニタプログラムの動作モードに応
じて、キーボードからのキー入力コードを変換する手段
を設けたことを特徴とする仮想計算機におけるキーボー
ド入力方式。
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)
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)
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)
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)
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 |
-
1989
- 1989-06-30 JP JP1166631A patent/JP2590267B2/ja not_active Expired - Fee Related
-
1994
- 1994-09-06 US US08/300,863 patent/US5504922A/en not_active Expired - Fee Related
Patent Citations (3)
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)
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 |