JPH07287659A - コンピュータシステムにおいてクロスドメイン通話を検出及び実行するための方法及び装置 - Google Patents
コンピュータシステムにおいてクロスドメイン通話を検出及び実行するための方法及び装置Info
- Publication number
- JPH07287659A JPH07287659A JP7047337A JP4733795A JPH07287659A JP H07287659 A JPH07287659 A JP H07287659A JP 7047337 A JP7047337 A JP 7047337A JP 4733795 A JP4733795 A JP 4733795A JP H07287659 A JPH07287659 A JP H07287659A
- Authority
- JP
- Japan
- Prior art keywords
- domain
- address
- architecture
- program
- target address
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F9/45554—Instruction set architectures of guest OS and hypervisor or native processor differ, e.g. Bochs or VirtualPC on PowerPC MacOS
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
- G06F9/4486—Formation of subprogram jump address
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
- Debugging And Monitoring (AREA)
- Multi Processors (AREA)
Abstract
基準アドレス範囲内に入るかを決定して、第1ドメイン
におけるターゲットアドレスに対応する第2ドメインの
被呼アドレスを決定し、例えば、ターゲットアドレスを
数学的に操作することにより、通話を実行する。次い
で、被呼アドレスをアクセスし、そこに記憶されたコー
ドを実行する。第1アーキテクチャー(例えば、CIS
C)をもつエミュレートされたコンピュータシステムに
おいて解読により実行されるアプリケーションプログラ
ムからのクロスドメイン通話を検出及び実行するのに用
いられ、これら通話は、第2の異なるアーキテクチャー
(例えば、RISC)をもつコンピュータシステムにお
いて直接実行できる指定のシステムサービスファンクシ
ョンの実行を求める。
Description
テムに係り、より詳細には、クロスドメイン通話を検出
及び実行するための技術に係る。本発明は、プログラム
が書かれたもの以外のアーキテクチャーを有するコンピ
ュータシステムにおいてプログラムを実行するようにエ
ミュレーションシステムを動作するのに特に使用でき
る。又、本発明は、アーキテクチャーの異なるプロセッ
サを備えたマルチプロセッサコンピュータシステムに特
に使用できる。
ば、アプリケーションプログラムによるような高いソフ
トウェアレベルで操作するのに使用できるものとは対照
的に、ハードウェア及びマシン言語レベルで確立された
コンピュータのアトリビュートとして定義することがで
きる。一般に述べると、アーキテクチャーのアトリビュ
ートは、例えば、命令セット、命令フォーマット、オペ
レーションコード、アドレスモード、レジスタ位置、及
びメモリ位置を含み、マシン状態を定義するものを含ん
でいる。
るアーキテクチャーの2つの形式である。「CISC」
は、例えば、インテル社の80X86プロセッサを組み
込んだIBM(登録商標)対応のパーソナルコンピュー
タにおいて実施される複雑な命令セット計算を意味して
いる。CISCマシンは、可変長さの命令フォーマット
で、非常に多数のアドレスモードがあり、小サイズから
中間サイズのレジスタファイルがあり、レジスタからメ
モリ(又はメモリからメモリ)への命令がありそして命
令をマイクロコード式に実行することを特徴とする。
「RISC」は、例えば、デジタル・イクイップメント
社のALPHA AXP(登録商標)プロセッサを組み
込んだコンピュータにおいて実施される縮小命令セット
計算を意味する。RISCアーキテクチャーは、一般
に、簡単な固定長さ命令フォーマットで、少数のアドレ
スモードをもち、大きなレジスタファイルがあり、ロー
ド記憶命令セットモデルがありそして命令を直接ハード
ウェア実行することを特徴とする。
に合致するコンピュータで実行することが所望される
が、プログラムが別の異なる形式のアーキテクチャーに
合致するマシンで実行するように設計されていることが
しばしばある。例えば、CISCコンピュータで実行す
るように設計されたプログラムをRISCマシンにおい
て実行する必要がある。これを行うためには、2つのア
ーキテクチャー間にある形式の「ソフトウェア」ブリッ
ジを設けなければならない。
場合に、多くのCISC(例えば、80X86)プログ
ラムではプログラムの実行をサポートするためのシステ
ムサービスファンクション(SSF)が必要とされるこ
とから複雑さが生じる。SSFは、通常、(i)ビデ
オ、ディスクアクセス、システムクロック等を制御する
ための基本的な入力/出力システム(BIOS)ファン
クションと、(ii)プログラムのロード及びアンロー
ド、ネットワーク制御オペレーション、ファイルサービ
ス等を与えるためのオペレーティングシステムファンク
ションとを備えている。
は、しばしばSSFを「呼び出し」、即ち、例えばCI
SCシステムソフトウェアにより通常与えられるSSF
ルーチンへと分岐する。各分岐(即ち、呼び出しを表す
逐次プログラム流からの変更)は、制御を通すべきター
ゲットアドレスを直接的又は間接的に指定する。
割り込みの形態の分岐を含むことができる。これらの割
り込みは、SSFルーチンのターゲットアドレスを識別
する割り込みベクトルテーブル(IVT)に対するイン
デックスとして使用するための割り込み番号を指定す
る。この割り込み番号により指定されたSSFルーチン
へ制御が通される。IBM(登録商標)対応のパーソナ
ルコンピュータに対する適応規格は、特定の割り込み番
号によってアクセスできるSSFルーチンを指定する。
他の形式の分岐は、通常ターゲットアドレスを直接指定
する分岐命令及びジャンプ命令を含む。
キテクチャー実行を行えるようにするソフトウェアブリ
ッジは、多数の異なる方法で形成することができる。先
ず、アプリケーションプログラムは、例えば、RISC
コンピュータにおいて実行できる新たなプログラムに変
換することができる。これは、時間とコストのかかる手
順であり、プログラムの知的特性権利の所有者の許可を
必要とする。第2に、別の形態において、RISCコン
ピュータは、CISCアーキテクチャーを好ましくは透
過的にエミュレートするのに使用でき、これにより、C
ISCアプリケーションプログラムを実行することがで
きる。
ータは、プログラム実行の目的でCISCマシンの幻想
を作り出す。このような幻想を作るには、プロセッサ、
システムソフトウェア、周辺ハードウェア及びメモリを
含むCISCマシンのオペレーティング環境をエミュレ
ートする必要があり、簡単に言えば、実行中にアプリケ
ーションプログラムが使用すると「予想」される全ての
要素及びリソースをエミュレートする必要がある。
コンピュータは、プロセッサが呼び出した「解釈」を用
いてアプリケーションプログラムを実行する。換言すれ
ば、RISCコンピュータは、アプリケーションプログ
ラムをデコードしそして構文解析して、CISCマシン
でプログラムを実行することによって生じるであろう状
態情報を得ると共に、同等のオペレーションを実行する
RISCシステムにおける対応コードを識別しそして実
行する。
ンシステムは、それらの意図された目的に一般に適して
いるが、幾つかの制限及び欠点に遭遇する。例えば、従
来のエミュレーションシステムは、アプリケーションプ
ログラムによって呼び出されたSSFを効率的に実行す
ることが困難である。
解釈により実行するためのCISC命令セットか、又は
直接実行するためのRISCアーキテクチャーの命令セ
ットかのいずれかにおいてプログラム実行中に与えるこ
とができる。RISCコンピュータにおけるSSFルー
チンの直接的な実行は、他の技術に勝る性能及びその他
の利益を実現することができる。というのは、解釈する
より速く且つ変換するより経済的だからである。
行により解釈を介してアプリケーションプログラムを実
行する場合には、アプリケーションプログラムがSSF
ルーチンの実行のための制御をいつ移行したかを検出す
るメカニズムが必要である。この検出メカニズムは、制
御をSSFルーチンへ通そうとする通話(即ち、CIS
CエミュレーションとネーティブRISCマシンとの間
の)を、制御を同じアプリケーションプログラム内の他
のルーチンへ単に通そうとするものから区別することが
できねばならない。前者を「クロスドメイン通話」と称
し、CISCエミュレーションは一方のドメインを表し
そしてRISCマシンは他方のドメインを表す。
ションシステム以外のコンテクストにおいて顕著なもの
である。例えば、多数のコンピュータシステムは、単一
のエンクロージャ内に多数のプロセッサを有するか、或
いは遠隔配置されて通信リンクによって接続された多数
のコンピュータを有する。システム内のプロセッサは次
第に異なるアーキテクチャーになりつつあり、従って、
システムは2つ以上の(即ち、多数の)ドメインを実施
すると言える。このような雑多な環境の利点を得るため
に、プロセッサは、システム内の他のプロセッサにより
ルーチンを実行するためにクロスドメイン通話を時々行
う。このようなクロスドメイン通話を効率的に且つ確実
に検出及び実行するメカニズムを提供することが望まれ
る。
内にクロスドメイン通話を表す基準アドレス範囲を設け
ることにより第1ドメインから第2ドメインへの通話を
検出するための改良された技術を提供する。本発明は、
その広い形態において、第1プログラムからの通話を検
出及び実行して第2プログラムを実行するための請求項
1に記載のコンピュータ実施方法と、請求項8に記載の
それに対応する装置とに係る。分岐のターゲットアドレ
スが基準アドレス範囲内に入る場合には、本発明はその
通話をクロスドメイン通話として実行する。
発明は、第1ドメインのターゲットアドレスに対応する
第2ドメインの被呼アドレスを、ターゲットアドレスの
数学的な操作によって決定する。次いで、本発明は、第
2ドメインにおいてその被呼アドレスをアクセスしそし
てそこに記憶されたコードを実行する。次いで、本発明
は、そのコードを実行した結果を、返送クロスドメイン
通話により、その通話を呼び出した第1ドメインで実行
しているプログラムへ返送する。
々の異なる形態のいずれをとることもできる。例えば、
ターゲットアドレスと所定範囲の境界の1つとの間の演
算上の相違を計算し、これをオフセットとして第2ドメ
インにおける第2の所定のアドレス範囲に対して使用
し、被呼アドレスを形成することができる。
的に対する整数として処理される)を定数で加算、減
算、又は乗算するような演算操作をターゲットアドレス
に対して実行することができる。別の実施例は、ターゲ
ットアドレスに対して変換多項式を用いて、被呼アドレ
スを形成する。
基準スペース」即ち「CRS」と称する「仮想」テーブ
ルを用いて基準アドレス範囲を確立する。CRSは、複
数の独立してアドレスできるメモリ位置、例えば、アー
キテクチャーにより許された最小の位置(例えば、単一
バイト)をもつことができ、その各々は第2ドメインに
おける通話可能なアドレスに対応する。CRSの内容
は、好ましくは本発明において使用されず、そのテーブ
ルは「仮想」として指定される。
メイン通話であるかどうかを判断するために、通話の分
岐ターゲットアドレスは、直接的に又は割り込みベクト
ルテーブルを介してCRSのエントリーの対応アドレス
を指定するためのポインタとして使用される。CRSの
アドレススペースの対応エントリーがターゲットアドレ
スに対して存在する場合は、通話がクロスドメイン通話
として処理される。
RSの例えば最下位アドレスとの差に等しいオフセット
が計算される。次いで、このオフセットを用いて、第2
ドメインアドレステーブルをアクセスする。
くは、CRSと同じ数のエントリーを有し、その各々
は、実行されるべきコードの第2ドメインのアドレスス
ペース内のアドレスの表示を含む。CRSの計算された
オフセットは、例えば、これを第2ドメインアドレステ
ーブル内の最下位アドレスに加算しそしてそれにより得
た和をアクセスされるべきエントリーのアドレスとして
使用することにより、第2ドメインアドレステーブルを
アクセスするように使用することができる。
レステーブルがファンクションアドレステーブル(FA
T)であり、アクセスされるエントリーは、システムサ
ービスファンクションスペース(SSFS)に記憶され
た被呼システムサービスルーチンのアドレスを含む。
グラムは、そのプログラムが書かれたものとは異なるア
ーキテクチャーを有する第1コンピュータシステムにお
いて実行することができる(例えば、エミュレートされ
た環境において解読によって実行できる)。更に、この
プログラムにより要求されるシステムサービスファンク
ションは、例えば、そのエミュレーションのホストであ
るコンピュータシステムにおいて、たとえそれが異なる
アーキテクチャーを有していても、直接実行することが
できる。
果を得ることができる。例えば、CRSを用いたクロス
ドメイン検出は、各システムファンクション当たりエミ
ュレートされたCISCドメイン内で1バイトのアドレ
ススペースしか消費せず、しかも、CRSは、本発明の
目的としてそのアドレススペースにデータ又はコードを
記憶する必要がない。従来のメモリとして悪評の高い制
限されたアドレススペースをもつ80X86マシンのエ
ミュレーションである場合には、本発明のこの特徴が特
に有効となる。別の重要な効果は、この実施例では、実
行されるアプリケーションプログラムの変更も、プログ
ラムの進歩した解釈も必要としないことである。更に別
の効果は、例えば、グラフィックボードや他のデバイス
のようなパーソナルコンピュータハードウェア製品を、
拡張バスを介して、非適合アーキテクチャーのコンピュ
ータシステムへ接続できるよう容易にサポートする能力
がこの実施例により与えられることである。
例の以下の詳細な説明より完全に理解されよう。図1
は、本発明によるホストコンピュータシステム10を示
している。このコンピュータシステム10は、第1のア
ーキテクチャーを実施するもので、従来のCPU12
と、システム10の動作を制御するためのシステムソフ
トウェア14(例えば、オペレーティングシステムを含
む)と、メモリ16とを有している。
従来のユーザインターフェイス24と、CPU12に接
続された周辺ハードウェア26とを備えている。ユーザ
インターフェイス24は、例えば、ディスプレイ又はモ
ニタ24Aと、表示出力を形成すると共にユーザが各々
コマンド及びデータを入力できるようにするキーボード
24Bとを備えている。周辺ハードウェア26は、例え
ば、従来のディスクコントローラ、キーボードコントロ
ーラ、及び入力/出力(I/O)ポート(個別に図示せ
ず)を備えている。
12で実行できるソフトウェアで好ましくは実施される
エミュレータ30であって、第2の異なるアーキテクチ
ャーを実施するコンピュータシステム32をエミュレー
トするためのエミュレータ30を備えている。従来のエ
ミュレーションシステムは、当業者に良く明らかであろ
う。
するための便宜上、ホストコンピュータシステム10及
びその要素と、第1のアーキテクチャーについて書かれ
たコードを「ネーティブ(固有)」と称する。同様に、
エミュレートされるシステム32及びその要素と、第2
のアーキテクチャーについて書かれたコードを「フォー
リン(外部)」と称する。
リンコード、例えば少なくとも1つのフォーリンアプリ
ケーションプログラム35を実行するフォーリンCPU
34についてエミュレータ34により作られた「幻想(i
llusion)」である。又、エミュレータ30は、コンピュ
ータシステム32のオペレーションを制御するフォーリ
ンシステムソフトウェア36のエミュレーションと、フ
ォーリン周辺ハードウェア38のエミュレーションを発
生する。アプリケーションプログラム35は、第2のア
ーキテクチャーにより指令される命令セットに合致する
一連の命令(即ち、コードのライン)を備え、これらは
フォーリンCPU34において実行される。アプリケー
ションプログラム35は、以下に述べるように、制御を
1つ以上のSSFルーチンへ通すための分岐(即ち、順
次のプログラム流れからの変更)を含む。
トコンピュータシステム10は、例えば、上記のALP
HA−AXPベースのコンピュータのようなRISCマ
シンであり、そしてフォーリンコンピュータシステム3
2は、例えば、上記の80X86ベースのマシン(しば
しば「IBMコンパチブルコンピュータ」と称し、IB
Mは登録商標である)のようなCISCマシンである。
ース52及びフォーリンドメインアドレススペース54
を含むメモリ16を示している。ネーティブドメインア
ドレススペース52は、ネーティブドメインのコンピュ
ータシステム10からの特権アクセスを有する。フォー
リンドメインメモリスペース54は、エミュレータ30
により形成されるコンピュータシステム32からの特権
アクセスを有する。ネーティブドメインアドレススペー
ス52は、システムサービスファンクションスペース
(SSFS)56及びファンクションアドレステーブル
(FAT)58を備えている。フォーリンドメインアド
レススペース54は、クロスドメイン基準スペース又は
テーブル(CRS)62と、割り込みベクトルテーブル
(IVT)64とを備えている。
スペース52について以下に詳細に述べる。SSFS5
6は、SSFをSSF 0、SSF 1、・・・SSF
Nと示されたエントリーとして記憶し、各エントリー
は、ネーティブドメインアドレススペース52内におい
て対応アドレスSSF AD N 0、SSF AD
N 1、・・・SSF AD N Kによって独特に識別さ
れ、ここで「K」は正の整数である。
のエントリーを有し、ここで「M」は正の整数であり、
各エントリーは、SSFS56の対応エントリーSSF
0、SSF 1、・・・又はSSF KのSSFSア
ドレスSSF AD N 0、SSF AD N 1、・・
・又はSSF AD N Kの1つの表示を記憶する。好
ましくは、「M」は、SSFS56のエントリーにより
表されたシステムサービスファンクションの数である
「K」に等しいか又はそれ未満である。(「M」は、特
定のプログラムの実行に対しSSFのサブセットを使用
できるようにすべき場合には「K」より小さくすること
ができる。)FAT58は、ネーティブなドメインアド
レススペース52内にアドレス範囲FAT AD N 0
ないしFAT AD N Mを占有する。
ース54を参照すれば、CRS62は、各アドレスCR
S AD r 0ないしCRS AD r Mに配置された
エントリー0ないしエントリー「M」と示された多数の
エントリーを有する。好ましくは、各エントリー0ない
しMは、フォーリンドメイン54における位置の最小の
独立してアクセスできるブロック、例えば、単一バイト
を占有する。
いしMの数は、FAT58におけるエントリー0ないし
Mの数、即ち「M」に等しい。換言すれば、FAT58
及びCRS62におけるアドレス可能な位置は、一致対
において割り当てられ、各対は、システム10において
実施するのに使用できるSSFの1つに対応する。
され、それ故、本発明によれば、そのテーブルのエント
リー0ないしMに記憶されるべきコードは必要とされな
い。本質的に、CRS62は、ネーティブドメインのF
AT58のフォーリンドメイン対応部分であり、そして
FAT58に対するポインタを導出するのにのみ使用さ
れる。実際に、CRS62に対して指定されたエミュレ
ートされたドメインアドレススペース54の部分は、他
のアプリケーションに必要とされるデータ又はコードを
記憶するために本発明とは独立して使用できる。
AD 1、・・・CRS AD Mと示された多数のエ
ントリーを含み、その各々は各割り込み番号INT 0
ないしINT Mに対応する。各IVTエントリーCR
S AD 0、CRS AD 1、・・・CRS AD
Mは、対応する割り込み番号をIVT64に対するポ
インタとして使用してアクセスすることができる。各エ
ントリーCRS AD 0、CRS AD 1、・・・
CRS AD Mは、CRS62の対応するエントリー
のアドレスを表す。
スMEM AD 0、MEM AD 2、・・・MEM
AD Pを含むエントリー位置であって、CRS62内
のアドレス範囲CRS AD 0ないしCRS AD
M内に入らず、従って、クロスドメイン通話を必要とし
ないエントリー位置を含むことができる。例えば、アド
レスMEM AD 0、MEM AD 2、・・・ME
M AD Pは、アプリケーションプログラム35(図
1)自体の中のルーチンに対する通話のターゲットアド
レスである。
て、テーブル56、58、62、64(図2)を設定す
る方法100を示している。
実行することによりCRS62を発生する。サブブロッ
ク104は、CRSに対しフォーリンドメインアドレス
スペース54のアドレス範囲CRS AD r 0ないし
CRS AD r M(即ち、セクション)を指定しそし
てアドレス範囲に必要とされるバイトの数、例えば、1
バイト/アドレスを決定することによりCRS62を位
置設定しそしてサイズ決めする。サブブロック106
は、CRS62の位置をFATエントリーに割り当て
る。例えば、CRS62の各単一バイト位置は、コンピ
ュータシステム10のアーキテクチャーに合致するネー
ティブアドレススペースにアドレス(例えば32ビット
アドレス)が記憶されたFATエントリーに対応する。
記憶されたアドレスは、SSFルーチンのエントリーポ
イント(例えば、コードの第1ライン又は第1命令)で
ある。
ば、CRS62は、各SSFごとに例えば32ビットと
いった全ネーティブドメインアドレスを保持するに充分
なバイトではなくて、単一バイト/SSFのみを有する
最小サイズに構成することができる。
例えばバッファ16C(図1)に後で使用するためにC
RS62のアドレス範囲を記憶する。ブロック110
は、FAT58及びIVT64を発生する。サブブロッ
ク112は、FATエントリーを個々のSSFに割り当
てる。サブブロック114は、SSFエントリーアドレ
スを対応するFATエントリーに記憶する。サブブロッ
ク116は、個々のCRS62エントリーに対応する基
準アドレスを、対応する割り込み番号によりアクセスさ
れたIVT64の対応エントリーにロードする。
のように設定された後にプログラム35を実行するため
のランタイム方法200を示している。ブロック202
は、好ましくはCPU12(図1)によって実施される
従来のインタープリター12A(図1)を用いて、解読
によりフォーリンプログラムコードを実行する。
の変更(「分岐」と称する)を検出し、そして検出され
た分岐に対するターゲットアドレス(即ち、分岐に続い
て実行されるべき次の命令のアドレス)を識別する。換
言すれば、方法200は、非順次命令に対して試みた制
御の転送をトラップする。分岐が検出されない場合に
は、ブロック202は、プログラムの実行完了までプロ
グラムを実行し続ける。
て、好ましくはCPU12(図1)により実施される検
出器12Bは、その分岐のターゲットアドレスがCRS
のアドレス範囲CRS AD r 0ないしCRS AD
r M内にあるかどうか判断する。検出器12Bは、サ
ブブロックにより表された多数のオペレーションを実行
する。サブブロック208は、メモリ16のバッファ1
6CからCRSアドレス範囲CRS AD r 0ないし
CRS AD r Mをフェッチし、そしてサブブロック
210は、分岐ターゲットアドレスがその範囲内にある
かどうかテストする。好ましくは、方法200は、クロ
スドメイン通話を検出する際に単一範囲アドレス比較を
使用するのであって、例えば、分岐ターゲットアドレス
を多数の異なるアドレス範囲と比較するのではない。
場合には、ブロック212は、CPU12のプログラム
カウンタファンクションを増加し、そして次の命令がブ
ロック202において実行される。
ットアドレスが範囲CRS AD r 0ないしCRS A
D r M内にある場合には、好ましくはCPU12によ
り実施される実行モジュール12C(図1)がクロスド
メイン通話を実行する制御権を得る。実行モジュール1
2Cは、解読によりプログラム実行を停止させ、クロス
ドメイン通話をジャケット処理して、被呼ドメインの規
定に合致するパラメータ(例えば、レジスタ識別等)を
通し、そして一般に被呼システムのサービスルーチンを
直接実行できるようにする。
サブブロックを含む。サブブロック222は、CRS6
2に対するオフセットであって、CRS範囲の境界アド
レスの1つ(即ち、最初のアドレスCRS AD r 0
及び最後のアドレスCRS AD r Mの1つ)と、CR
S62内の分岐ターゲットアドレスとの間の差に等しい
オフセットを計算する。
ットをFAT58に対するインデックスとして使用し、
対応するFATエントリー0ないしMをアクセスする。
これを説明するために、ターゲットアドレスと境界アド
レスCRS AD r 0との間の差としてオフセットを
計算することができる。次いで、このオフセットは、F
AT58に対するインデックスとして使用することがで
きる。例えば、CRS62からのオフセットは、必要に
応じて大きさ決めすることができ、例えば、FATにお
けるエントリーのサイズ(バイト数)とCRSにおける
エントリーのサイズとの比を乗算することができる。こ
れにより生じる大きさ決めされたオフセットは、FAT
58の第1アドレスFAT AD N 0に追加して、対
応するFATエントリーのFATアドレスを生じること
ができる。
クスにより識別されたFATエントリーをSSFS56
のエントリーSSF 0ないしSSF Kのネーティブ
ドメインアドレススペース52におけるアドレスとして
使用する。このように識別されたSSFSエントリー
は、被呼SSFルーチンのSSFエントリーポイントで
ある。
トリーポイントで始めて被呼SSFルーチンをフェッチ
し実行する。SSFルーチンの実行による結果は、CP
U12(図1)により適当なジャケット処理が行われて
返送クロスドメイン通話を介してアプリケーションプロ
グラム35へ返送することができる。返送通話が必要と
されるかどうかに関わりなく、方法200は、次いで、
解読によりアプリケーションプログラム35のフォーリ
ンコードを実行し続けるためにブロック212へ制御を
通す。
ついて以下に述べる。特定のSSFは、ディスプレイサ
ービスを行うことができ、SSFS56に、例えば、ア
ドレスSSF AD N 1を有するエントリーSSF
1に記憶することができる。FAT58のエントリー
(例えば、エントリー1)は、SSF 1に割り当てら
れ、そしてそのアドレスにSSF AD N 1を含む。
このエントリーのアドレスは、例えば、CRS62のア
ドレス範囲CRS AD r 0ないしCRS AD r
M内の分岐ターゲットアドレスの相対的な位置から導出
されたオフセットを用いて識別できる。
1を保持するCRSエントリー1は、ディスプレイサ
ービスSSFに対応することができる。アプリケーショ
ンプログラムに含まれた分岐は、ディスプレイサービス
SSFを呼び出すことができる。このために、分岐は、
分岐又はジャンプ命令において直接与えられるターゲッ
トアドレスを指定するか、又はIVT64を経て間接的
に与えられるターゲットアドレスを指定する。分岐ター
ゲットアドレスはCRS AD r 1である。オフセッ
トは、CRS62の最下位アドレス、即ちCRS AD
r 0を分岐ターゲットアドレスから減算して1のオフ
セットを生じることにより計算することができる。
のSSFを直接実行するためにドメイン交差を必要と
し、即ち通話は、フォーリンドメインアドレススペース
54とネーティブドメインアドレススペース52との間
のドメイン境界65を横切る。
FAT58に対するインデックスとしてこれを用いるこ
とにより、FAT58における対応エントリーを識別す
るのに使用することができる。大きさ決めされたオフセ
ットが1に等しく、この値がFAT58の最下位アドレ
スに加えられる場合は、この解決策により、FAT58
におけるエントリーのアドレスFAT AD N 1であ
って、その内容が例えばディスプレイサービスSSFの
エントリーポイントのアドレスSSF AD N 1である
ようなアドレスが与えられる。次いで、ディスプレイサ
ービスSSFを実行することができる。
ことができよう。図5は、ネーティブアドレススペース
302と、図2と同様のエミュレートされたアドレスス
ペース304との間のマッピングをもつメモリアドレス
スペース300の実施を示している。ネーティブアドレ
ススペース302は、コンピュータシステム10(図
1)により直接実行するのに使用されるネーティブドメ
インの全てのメモリ位置に割り当てられた独特に指定さ
れたアドレスを有する。エミュレートされたアドレスス
ペース304はエミュレータ30によって発生され、そ
してエミュレートされたコンピュータシステム32(図
1)によりアクセス可能な全ての位置に割り当てられた
独特に指定されたアドレスを有する。
エミュレートされたアドレススペース304内でのアド
レス動作は、これらのスペースをアクセスするコンピュ
ータ10、32の各アーキテクチャーに合致するのが好
ましい。ネーティブなアドレススペース302は、フォ
ーリンプログラム、例えば、ディスプレイ24A(図
1)を制御するためのコード及びそれに関連したデータ
を記憶するためのスペース312と、ディスプレイバッ
ファ及びレジスタ314とを備えている。アドレススペ
ース312、314は、例えば、拡張バス318により
ネーティブCPU12に接続されたグラフィックカード
346(図1)に配置されたネーティブアドレススペー
ス302の部分に指定することができる。
は、FAT322、SSFS324、メモリバッファ3
26、及びネーティブなオペレーティングシステムを含
むシステムソフトウェアのためのアドレススペース32
8を備えている。アドレススペース322ないし328
は、コンピュータシステム、例えば、図1のシステム1
0のランダムアクセスメモリ(RAM)16Aに指定す
ることができる。
4は、CRS332と、ターゲットプログラムのための
アドレススペース334と、グラフィックコード及びデ
ータのためのディスプレイバッファ及びレジスタスペー
ス336と、IVTを含み下位メモリに指定されたアド
レススペース338とを備えている。ターゲットプログ
ラムのためのアドレススペース334は、解読により実
行するためのターゲットとして、即ちフォーリンプログ
ラムのマップされたバージョンとしてフォーリンプログ
ラムを含むリードオンリメモリ16B(図1)に指定さ
れる。同様に、スペース336は、エミュレータ30に
よりアクセスできるようにディスプレイバッファ及びレ
ジスタ314の内容を含む。
サービスのための標準割り込みの形態をとることができ
る。アドレススペース338内のIVTは、矢印「a」
で示すようにINT10に対応する基準アドレスをCR
Sアドレススペース332に含むことができる。
用でき、矢印「b」で示すようにFATアドレススペー
ス322において対応するエントリーをアクセスし、ネ
ーティブアドレススペース302におけるアドレスを得
ることができる。
チされたアドレスは、矢印「C」で示すようにSSFS
324をアクセスするのに使用でき、そこから、ディス
プレイサービスに対するエントリーポイント、例えば、
第1命令即ちコードのラインをフェッチすることができ
る。次いで、ディスプレイサービスが直接実行され、そ
してエミュレートされたアドレススペース304へ制御
が復帰されて、解読によりターゲットプログラムが再び
実行される。
トアドレスを決定するためにオフセットを用いてIVT
により指定されたSSFに分岐するための割り込み処理
に関して本発明を実施して示した。
岐を生じる他の事象又は条件から生じるクロスドメイン
通話を検出し、クロスドメインにおいてルーチンを実行
することにより、更に一般的に実施することができる。
ターゲットアドレスを別のドメインにおけるターゲット
アドレスに変換するのにオフセットを使用する必要はな
い。実際に、CRSの分岐ターゲットアドレスは、他の
アドレスを生じるように数学的に操作することができ
る。分岐ターゲットアドレスの数学的な操作は、種々の
異なる形態をとることができる。例えば、分岐ターゲッ
トアドレス(これらの目的のために整数として処理され
る)を定数により加算、減算又は乗算してネーティブド
メインの対応アドレスを生じるような演算操作を分岐タ
ーゲットアドレスにおいて実行することができる。別の
実施例は、ターゲットアドレスに対して変換多項式を使
用し、他のアドレスを生じることができる。
発明は、プロセッサが異なるアーキテクチャーのもので
あるマルチプロセッサコンピュータシステムに特に使用
できる。本発明のこのような用途では、第1のプロセッ
サは、図1のネーティブCPU12と考えることがで
き、そして第2のプロセッサは、フォーリンプロセッサ
34と考えることができ、直接実行・対・解読による実
行に関わりなく且つエミュレーションに関わりなく、図
示して上記したように本発明を実施することができる。
を図示して説明した。使用した用語及び表現は、説明の
ためのものであって、これに限定するものではない。解
説のための実施例によって例示された上記及び他の種々
の変更、追加並びに置き換えは、本発明の範囲から逸脱
せずに行い得ることが当業者に理解されよう。
ラムを実行するエミュレータを含むコンピュータシステ
ムのブロック図である。
ッピングを示す図で、クロスドメイン通話の検出及び実
行に関する特徴を示す図である。
メイン通話を検出及び実行するための図1のコンピュー
タシステムを初期化する方法のブロック図である。
メイン通話を検出及び実行するためのランタイム方法を
示すブロック図である。
を詳細に示す図である。
Claims (10)
- 【請求項1】 第1アーキテクチャーのドメインで実行
されている第1プログラムからの通話を検出及び実行し
て第2アーキテクチャーのドメインで第2のプログラム
を実行するためのコンピュータにより実施される方法で
あって、上記第1アーキテクチャーのドメインは、第1
命令セットを含む第1アーキテクチャーを特徴とするも
のであり、上記第2アーキテクチャーのドメインは、第
2命令セットを含む第2の異なるアーキテクチャーを特
徴とするものであり、上記第1プログラムは、上記第1
アーキテクチャーのドメインにおいて実行されるもので
あって、上記第1命令セットからの命令を含み、上記第
2プログラムは、上記第2アーキテクチャーのドメイン
において実行されるものであって、上記第2命令セット
からの命令を含んでおり、上記方法は、 A)上記通話が上記第1アーキテクチャードメインにお
いてフォーリンアドレススペースの所定アドレス範囲内
のターゲットアドレスを指定するかどうか検出し、 B)ターゲットアドレスが上記所定範囲内にあるのに応
答して、上記第1ドメインの上記ターゲットアドレスに
対応する上記第2アーキテクチャードメインの被呼アド
レスを、上記ターゲットアドレスの数学的操作によって
決定し、そして C)上記第2アーキテクチャードメインにおいて上記被
呼アドレスにより指定された上記第2プログラムの命令
をフェッチ及び実行し、これにより、上記コンピュータ
システムは、上記第1アーキテクチャードメイン内で上
記第1プログラムを実行できると共に、上記第1プログ
ラムにおいてクロスドメイン通話を検出及び実行して、
上記第2アーキテクチャードメイン内で上記第2プログ
ラムの命令を実行できることを特徴とするコンピュータ
実施方法。 - 【請求項2】 上記所定のアドレス範囲は、該範囲を定
める第1及び第2の境界アドレスを含み、上記被呼アド
レス決定段階は、 A)上記ターゲットアドレスと、上記第1及び第2の境
界アドレスの1つとの間のオフセットを決定し、そして B)上記オフセットを上記第2アーキテクチャードメイ
ンにおける第2の所定アドレス範囲内で使用して、上記
第2プログラムコードが記憶される上記被呼アドレスを
識別する、という段階を実行することにより上記ターゲ
ットアドレスを数学的に操作する段階を備えた請求項1
に記載のコンピュータ実施方法。 - 【請求項3】 上記数学的操作段階は、上記ターゲット
アドレスに対して演算操作を行って上記被呼アドレスを
生じる段階を含む請求項1に記載のコンピュータ実施方
法。 - 【請求項4】 第1コンピュータアーキテクチャーの第
1命令セット特徴の複数の命令を含むアプリケーション
プログラムにおいてクロスドメイン通話を検出して実行
するためのコンピュータで実施される方法であって、各
々の上記クロスドメイン通話は分岐を含み、各分岐は、
上記アプリケーションプログラムの命令の所定の実行流
における非順次変更であり、上記方法は、 A)上記アプリケーションプログラムに含まれた複数の
通話各々の分岐により指定されたターゲットアドレスが
第1ドメイン内の基準アドレス範囲に入るかどうか、ひ
いては、クロスドメイン通話を表すかどうかを決定し、 B)上記ターゲットアドレスが上記基準アドレス範囲内
に入る場合には、上記第1ドメインにおける上記ターゲ
ットアドレスに対応する第2ドメインの被呼アドレスを
上記ターゲットアドレスの数学的な操作によって決定す
ることにより、上記ターゲットアドレスを指定する上記
クロスドメイン通話を実行し、そして C)上記被呼アドレスをアクセスし、そこに記憶された
命令であって、第2コンピュータアーキテクチャーの第
2命令セット特徴の命令を実行する、という段階を備え
たことを特徴とするコンピュータ実施方法。 - 【請求項5】 第1コンピュータアーキテクチャーの第
1命令セット特徴の命令を含むアプリケーションプログ
ラムを実行する方法であって、 A)第2コンピュータアーキテクチャーを有するコンピ
ュータシステムにおいて解読により上記アプリケーショ
ンプログラムの少なくとも一部分を実行し、このアプリ
ケーションプログラムは、上記第2アーキテクチャーの
第2命令セット特徴から選択された命令を含むシステム
サービスファンクションルーチンを実行するための少な
くとも1つの通話を有し、 B)実行されるべき次の命令のターゲットアドレスが第
1ドメイン内の基準アドレス範囲内に入るかどうか決定
し、上記ターゲットアドレスは上記通話によって指定さ
れ、 C)上記ターゲットアドレスが上記基準アドレス範囲内
に入る場合には、上記ターゲットアドレスを番号として
処理しそして上記ターゲットアドレスを数学的に操作す
ることにより、上記第1ドメインにおける上記ターゲッ
トアドレスに対応する第2ドメインの被呼アドレスを決
定することによって上記通話を実行し、そして D)上記被呼アドレスに対応するメモリ位置をアクセス
し、そこに記憶されたコードで始めて上記システムサー
ビスルーチンを実行する、という段階を備えたことを特
徴とする方法。 - 【請求項6】 第1ドメインを定める第1アーキテクチ
ャーを有する第1プロセッサにおいて第1プログラムを
実行すると共に、第2ドメインを定める第2アーキテク
チャーを有する第2プロセッサにおいて第2プログラム
を実行する方法であって、上記第1プログラムは、上記
第2プログラムを実行するためのクロスドメイン通話を
含む複数の通話を含むものであり、上記方法は、 A)上記第1プロセッサにおいて上記第1プログラムの
複数の命令を実行し、上記命令は、上記第1アーキテク
チャーの第1命令セット特徴であり、 B)上記命令に含まれた各々の上記通話により指定され
たターゲットアドレスが上記第1ドメイン内の基準アド
レス範囲内に入るかどうかを決定し、 C)上記ターゲットアドレスが上記基準アドレス範囲内
に入る場合には、上記通話を上記クロスドメイン通話と
して実行し、上記通話実行段階は、上記ターゲットアド
レスの数学的操作により上記第1ドメインにおける上記
ターゲットアドレスに対応する上記第2ドメインの被呼
アドレスを決定する段階を備え、そして D)上記被呼アドレスをアクセスし、上記被呼アドレス
に記憶されたコードで始めて上記第2プログラムを実行
し、上記コードは、上記第2アーキテクチャーの第2命
令セット特徴の命令を指定する、という段階を備えたこ
とを特徴とする方法。 - 【請求項7】 上記決定段階(B)は、 A)複数の独立してアドレスできるメモリ位置を有する
クロスドメイン基準スペースを確立し、その各々は、上
記第2アーキテクチャードメインにおける通話可能なア
ドレスに対応すると共に、上記基準アドレス範囲におけ
る上記アドレスの1つに対応し、 B)上記ターゲットアドレスが上記クロスドメイン基準
テーブルにおける上記位置の1つを指定するかどうか決
定する、という段階を含む請求項6に記載の方法。 - 【請求項8】 第1アーキテクチャーのドメインで実行
されている第1プログラムからの通話を検出及び実行し
て第2アーキテクチャーのドメインで第2のプログラム
を実行するための装置であって、上記第1プログラムは
第1命令セットの命令を含みそして上記第2プログラム
は第2命令セットの命令を含み、上記装置は、 A)上記第1プログラムの実行中に動作して、上記通話
が上記第1アーキテクチャードメインにおいてフォーリ
ンアドレススペースの所定アドレス範囲内のターゲット
アドレスを指定するかどうか検出するための手段と、 B)上記検出手段に接続され、上記ターゲットアドレス
が上記所定範囲内にあることに応答して、上記ターゲッ
トアドレスの数学的な操作により上記第1アーキテクチ
ャードメインにおける上記ターゲットアドレスに対応す
る上記第2アーキテクチャードメインの被呼アドレスを
決定し、 C)上記第2アーキテクチャードメインにおける上記被
呼アドレスに配置されたコードにより指定された上記第
2プログラム命令をフェッチして実行する手段とを備え
たことを特徴とする装置。 - 【請求項9】 上記所定アドレス範囲は、該範囲を定め
る第1及び第2の境界アドレスを含み、上記被呼アドレ
ス決定手段は、上記ターゲットアドレスを数学的に操作
する手段を備え、これは、 A)上記ターゲットアドレスと、上記第1及び第2境界
アドレスの1つとの間のオフセットを決定する手段と、 B)上記第2アーキテクチャードメインにおいて第2の
所定アドレス範囲内で上記オフセットを用いて、上記第
2プログラムコードが記憶された上記被呼アドレスを識
別するための手段とを備えた請求項8に記載の装置。 - 【請求項10】 上記数学操作段階は、上記ターゲット
アドレスに対して演算操作を行って上記被呼アドレスを
生じる段階を含む請求項8に記載の装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US20745394A | 1994-03-08 | 1994-03-08 | |
| US08/207453 | 1994-03-08 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH07287659A true JPH07287659A (ja) | 1995-10-31 |
| JP2965884B2 JP2965884B2 (ja) | 1999-10-18 |
Family
ID=22770608
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7047337A Expired - Fee Related JP2965884B2 (ja) | 1994-03-08 | 1995-03-07 | コンピュータシステムにおいてクロスドメイン通話を検出及び実行するための方法及び装置 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US5666519A (ja) |
| EP (1) | EP0671685B1 (ja) |
| JP (1) | JP2965884B2 (ja) |
| KR (1) | KR950033823A (ja) |
| DE (1) | DE69505717T2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002536712A (ja) * | 1999-01-28 | 2002-10-29 | エーティーアイ インターナショナル エスアールエル | 第2のアーキテクチャのコンピュータにおける第1のコンピュータアーキテクチャ用プログラムの実行 |
Families Citing this family (46)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6289390B1 (en) | 1993-08-18 | 2001-09-11 | Microsoft Corporation | System and method for performing remote requests with an on-line service network |
| US5956489A (en) * | 1995-06-07 | 1999-09-21 | Microsoft Corporation | Transaction replication system and method for supporting replicated transaction-based services |
| US6901433B2 (en) * | 1995-06-07 | 2005-05-31 | Microsoft Corporation | System for providing users with a filtered view of interactive network directory obtains from remote properties cache that provided by an on-line service |
| US5774668A (en) * | 1995-06-07 | 1998-06-30 | Microsoft Corporation | System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing |
| US5933599A (en) * | 1995-07-17 | 1999-08-03 | Microsoft Corporation | Apparatus for presenting the content of an interactive on-line network |
| US5941947A (en) * | 1995-08-18 | 1999-08-24 | Microsoft Corporation | System and method for controlling access to data entities in a computer network |
| US5956509A (en) | 1995-08-18 | 1999-09-21 | Microsoft Corporation | System and method for performing remote requests with an on-line service network |
| US5892934A (en) * | 1996-04-02 | 1999-04-06 | Advanced Micro Devices, Inc. | Microprocessor configured to detect a branch to a DSP routine and to direct a DSP to execute said routine |
| US5721945A (en) * | 1996-05-06 | 1998-02-24 | Advanced Micro Devices | Microprocessor configured to detect a DSP call instruction and to direct a DSP to execute a routine corresponding to the DSP call instruction |
| US6513057B1 (en) * | 1996-10-28 | 2003-01-28 | Unisys Corporation | Heterogeneous symmetric multi-processing system |
| US6360244B1 (en) * | 1997-04-11 | 2002-03-19 | Fujitsu Limited | System and method for multi-level memory domain protection |
| US6128679A (en) * | 1998-02-26 | 2000-10-03 | Unisys Corporation | Computer for executing I/O instructions, by emulation, in a foreign application program wherein the emulator result thread is blocked from running between processes |
| JPH11296381A (ja) * | 1998-04-08 | 1999-10-29 | Matsushita Electric Ind Co Ltd | 仮想マシン及びコンパイラ |
| US6480952B2 (en) | 1998-05-26 | 2002-11-12 | Advanced Micro Devices, Inc. | Emulation coprocessor |
| US6308255B1 (en) | 1998-05-26 | 2001-10-23 | Advanced Micro Devices, Inc. | Symmetrical multiprocessing bus and chipset used for coprocessor support allowing non-native code to run in a system |
| US7305451B2 (en) * | 1998-08-24 | 2007-12-04 | Microsoft Corporation | System for providing users an integrated directory service containing content nodes located in different groups of application servers in computer network |
| US6882968B1 (en) * | 1999-10-25 | 2005-04-19 | Sony Computer Entertainment Inc. | Method of measuring performance of an emulator and for adjusting emulator operation in response thereto |
| WO2002039272A1 (en) * | 2000-11-10 | 2002-05-16 | Chipwrights Design, Inc. | Method and apparatus for reducing branch latency |
| US6732253B1 (en) | 2000-11-13 | 2004-05-04 | Chipwrights Design, Inc. | Loop handling for single instruction multiple datapath processor architectures |
| US6931518B1 (en) | 2000-11-28 | 2005-08-16 | Chipwrights Design, Inc. | Branching around conditional processing if states of all single instruction multiple datapaths are disabled and the computer program is non-deterministic |
| JP4783527B2 (ja) | 2001-01-31 | 2011-09-28 | 株式会社ガイア・システム・ソリューション | データ処理システム、データ処理装置およびその制御方法 |
| JP4865960B2 (ja) | 2001-06-25 | 2012-02-01 | 株式会社ガイア・システム・ソリューション | データ処理装置およびその制御方法 |
| US6993674B2 (en) | 2001-12-27 | 2006-01-31 | Pacific Design, Inc. | System LSI architecture and method for controlling the clock of a data processing system through the use of instructions |
| US7493607B2 (en) | 2002-07-09 | 2009-02-17 | Bluerisc Inc. | Statically speculative compilation and execution |
| US20050114850A1 (en) | 2003-10-29 | 2005-05-26 | Saurabh Chheda | Energy-focused re-compilation of executables and hardware mechanisms based on compiler-architecture interaction and compiler-inserted control |
| US7996671B2 (en) | 2003-11-17 | 2011-08-09 | Bluerisc Inc. | Security of program executables and microprocessors based on compiler-architecture interaction |
| US8607209B2 (en) | 2004-02-04 | 2013-12-10 | Bluerisc Inc. | Energy-focused compiler-assisted branch prediction |
| US8020141B2 (en) * | 2004-12-06 | 2011-09-13 | Microsoft Corporation | Operating-system process construction |
| US7716642B1 (en) | 2005-05-03 | 2010-05-11 | Emc Corporation | Techniques for detecting coding incompatibilities |
| US8078740B2 (en) | 2005-06-03 | 2011-12-13 | Microsoft Corporation | Running internet applications with low rights |
| US8849968B2 (en) | 2005-06-20 | 2014-09-30 | Microsoft Corporation | Secure and stable hosting of third-party extensions to web services |
| US20070094495A1 (en) * | 2005-10-26 | 2007-04-26 | Microsoft Corporation | Statically Verifiable Inter-Process-Communicative Isolated Processes |
| US8074231B2 (en) * | 2005-10-26 | 2011-12-06 | Microsoft Corporation | Configuration of isolated extensions and device drivers |
| US8250082B2 (en) | 2006-06-23 | 2012-08-21 | Microsoft Corporation | Cross domain communication |
| US8185737B2 (en) | 2006-06-23 | 2012-05-22 | Microsoft Corporation | Communication across domains |
| US8032898B2 (en) * | 2006-06-30 | 2011-10-04 | Microsoft Corporation | Kernel interface with categorized kernel objects |
| US20080126766A1 (en) | 2006-11-03 | 2008-05-29 | Saurabh Chheda | Securing microprocessors against information leakage and physical tampering |
| US8789063B2 (en) * | 2007-03-30 | 2014-07-22 | Microsoft Corporation | Master and subordinate operating system kernels for heterogeneous multiprocessor systems |
| US20080244507A1 (en) * | 2007-03-30 | 2008-10-02 | Microsoft Corporation | Homogeneous Programming For Heterogeneous Multiprocessor Systems |
| US10019570B2 (en) * | 2007-06-14 | 2018-07-10 | Microsoft Technology Licensing, Llc | Protection and communication abstractions for web browsers |
| US8832389B2 (en) * | 2011-01-14 | 2014-09-09 | International Business Machines Corporation | Domain based access control of physical memory space |
| US8631123B2 (en) | 2011-01-14 | 2014-01-14 | International Business Machines Corporation | Domain based isolation of network ports |
| US8595821B2 (en) | 2011-01-14 | 2013-11-26 | International Business Machines Corporation | Domains based security for clusters |
| US9830176B2 (en) | 2013-04-19 | 2017-11-28 | The Trustees Of Columbia University In The City Of New York | Methods, systems, and media for binary compatible graphics support in mobile operating systems |
| US20160077850A1 (en) * | 2013-04-19 | 2016-03-17 | The Trustees Of Columbia University In The City Of New York | Methods, systems, and media for binary compatibility |
| US10423537B2 (en) * | 2018-01-31 | 2019-09-24 | Arm Limited | Address space resizing table for simulation of processing of target program code on a target data processing apparatus |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05346871A (ja) * | 1992-06-15 | 1993-12-27 | Toshiba Corp | 異種計算機命令の疑似実行方法および装置 |
| JPH05346872A (ja) * | 1992-06-15 | 1993-12-27 | Toshiba Corp | 異種計算機命令の疑似実行方法および装置 |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4503492A (en) * | 1981-09-11 | 1985-03-05 | Data General Corp. | Apparatus and methods for deriving addresses of data using painters whose values remain unchanged during an execution of a procedure |
| US5210832A (en) * | 1986-10-14 | 1993-05-11 | Amdahl Corporation | Multiple domain emulation system with separate domain facilities which tests for emulated instruction exceptions before completion of operand fetch cycle |
| US5210874A (en) * | 1988-03-22 | 1993-05-11 | Digital Equipment Corporation | Cross-domain call system in a capability based digital data processing system |
| US5287490A (en) * | 1991-03-07 | 1994-02-15 | Digital Equipment Corporation | Identifying plausible variable length machine code of selecting address in numerical sequence, decoding code strings, and following execution transfer paths |
| US5339422A (en) * | 1991-03-07 | 1994-08-16 | Digital Equipment Corporation | System and method for jacketing cross-domain calls in a multi-code execution and debugging system within a multi-architecture environment |
| MX9200935A (es) * | 1991-03-07 | 1993-03-01 | Digital Equipment Corp | Sistema y metodo para detectar llamadas de instruccion de dominio cruzado en un sistema de computadora |
| US5307504A (en) * | 1991-03-07 | 1994-04-26 | Digital Equipment Corporation | System and method for preserving instruction granularity when translating program code from a computer having a first architecture to a computer having a second reduced architecture during the occurrence of interrupts due to asynchronous events |
| JPH05233570A (ja) * | 1991-12-26 | 1993-09-10 | Internatl Business Mach Corp <Ibm> | 異オペレーティング・システム間分散データ処理システム |
| US5497463A (en) * | 1992-09-25 | 1996-03-05 | Bull Hn Information Systems Inc. | Ally mechanism for interconnecting non-distributed computing environment (DCE) and DCE systems to operate in a network system |
-
1995
- 1995-02-21 DE DE69505717T patent/DE69505717T2/de not_active Expired - Fee Related
- 1995-02-21 EP EP95301096A patent/EP0671685B1/en not_active Expired - Lifetime
- 1995-03-07 JP JP7047337A patent/JP2965884B2/ja not_active Expired - Fee Related
- 1995-03-08 KR KR1019950004685A patent/KR950033823A/ko not_active Ceased
-
1996
- 1996-09-30 US US08/721,842 patent/US5666519A/en not_active Expired - Lifetime
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05346871A (ja) * | 1992-06-15 | 1993-12-27 | Toshiba Corp | 異種計算機命令の疑似実行方法および装置 |
| JPH05346872A (ja) * | 1992-06-15 | 1993-12-27 | Toshiba Corp | 異種計算機命令の疑似実行方法および装置 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002536712A (ja) * | 1999-01-28 | 2002-10-29 | エーティーアイ インターナショナル エスアールエル | 第2のアーキテクチャのコンピュータにおける第1のコンピュータアーキテクチャ用プログラムの実行 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0671685A3 (en) | 1996-05-15 |
| DE69505717T2 (de) | 1999-06-24 |
| KR950033823A (ko) | 1995-12-26 |
| US5666519A (en) | 1997-09-09 |
| DE69505717D1 (de) | 1998-12-10 |
| EP0671685B1 (en) | 1998-11-04 |
| JP2965884B2 (ja) | 1999-10-18 |
| EP0671685A2 (en) | 1995-09-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2965884B2 (ja) | コンピュータシステムにおいてクロスドメイン通話を検出及び実行するための方法及び装置 | |
| RU2686552C2 (ru) | Системы и способы предоставления результата текущей команды процессора при выходе из виртуальной машины | |
| KR100737666B1 (ko) | 가상 기계 동작에서 기계 상태를 관리하는 방법 및 시스템 | |
| US11256534B2 (en) | System and method for trapping system calls for remote execution | |
| JP3572016B2 (ja) | 信頼されないプログラムを実行するための方法 | |
| US7818808B1 (en) | Processor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor | |
| US8196120B2 (en) | Computer emulator employing direct execution of compiled functions | |
| JP2007505402A (ja) | 特権イベントを処理するための複数のバーチャルマシーンモニタの利用 | |
| JP2004054948A (ja) | 非同期のエミュレートされた割込みの同期化 | |
| US9075625B1 (en) | Predicated control flow and store instructions for native code module security | |
| US20160048458A1 (en) | Computer Security Systems and Methods Using Hardware-Accelerated Access To Guest Memory From Below The Operating System | |
| NL2030804B1 (en) | Flexible return and event delivery | |
| US7181745B1 (en) | Method and system for accessing objects defined within an external object-oriented environment | |
| US7613903B2 (en) | Data processing device with instruction translator and memory interface device to translate non-native instructions into native instructions for processor | |
| US11216280B2 (en) | Exception interception | |
| US20030093258A1 (en) | Method and apparatus for efficient simulation of memory mapped device access | |
| US7293184B2 (en) | Programmatic binding for power management events involving execution of instructions in a first programming system with a first interface and a second programming system with a second interface | |
| Molyakov | Token scanning as a new scientific approach in the creation of protected systems: A new generation OS MICROTEK | |
| JPS6273333A (ja) | エミュレーション制御装置 | |
| JP2715967B2 (ja) | マイクロコンピュータ | |
| Narayan et al. | Preliminary RISC-V HFI Spec (v0) | |
| JP2637770B2 (ja) | マイクロコンピュータ | |
| Zhirkov | Interrupts and System Calls | |
| Bermange | GEC 4090—a computer is born | |
| HK1231981A1 (en) | Systems and methods for exposing a result of a current processor instruction upon exiting a virtual machine |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080813 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090813 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090813 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100813 Year of fee payment: 11 |
|
| LAPS | Cancellation because of no payment of annual fees |