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
Application number
JP7047337A
Other languages
English (en)
Other versions
JP2965884B2 (ja
Inventor
Peter C Hayden
シー ハイデン ピーター
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of JPH07287659A publication Critical patent/JPH07287659A/ja
Application granted granted Critical
Publication of JP2965884B2 publication Critical patent/JP2965884B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F9/45554Instruction set architectures of guest OS and hypervisor or native processor differ, e.g. Bochs or VirtualPC on PowerPC MacOS
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • G06F9/4486Formation 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

(57)【要約】 (修正有) 【目的】 クロスドメイン通話を検出し実行する。 【構成】 分岐ターゲットアドレスが第1ドメイン内の
基準アドレス範囲内に入るかを決定して、第1ドメイン
におけるターゲットアドレスに対応する第2ドメインの
被呼アドレスを決定し、例えば、ターゲットアドレスを
数学的に操作することにより、通話を実行する。次い
で、被呼アドレスをアクセスし、そこに記憶されたコー
ドを実行する。第1アーキテクチャー(例えば、CIS
C)をもつエミュレートされたコンピュータシステムに
おいて解読により実行されるアプリケーションプログラ
ムからのクロスドメイン通話を検出及び実行するのに用
いられ、これら通話は、第2の異なるアーキテクチャー
(例えば、RISC)をもつコンピュータシステムにお
いて直接実行できる指定のシステムサービスファンクシ
ョンの実行を求める。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は一般にコンピュータシス
テムに係り、より詳細には、クロスドメイン通話を検出
及び実行するための技術に係る。本発明は、プログラム
が書かれたもの以外のアーキテクチャーを有するコンピ
ュータシステムにおいてプログラムを実行するようにエ
ミュレーションシステムを動作するのに特に使用でき
る。又、本発明は、アーキテクチャーの異なるプロセッ
サを備えたマルチプロセッサコンピュータシステムに特
に使用できる。
【0002】
【従来の技術】コンピュータアーキテクチャーは、例え
ば、アプリケーションプログラムによるような高いソフ
トウェアレベルで操作するのに使用できるものとは対照
的に、ハードウェア及びマシン言語レベルで確立された
コンピュータのアトリビュートとして定義することがで
きる。一般に述べると、アーキテクチャーのアトリビュ
ートは、例えば、命令セット、命令フォーマット、オペ
レーションコード、アドレスモード、レジスタ位置、及
びメモリ位置を含み、マシン状態を定義するものを含ん
でいる。
【0003】CISC及びRISCは、今日普及してい
るアーキテクチャーの2つの形式である。「CISC」
は、例えば、インテル社の80X86プロセッサを組み
込んだIBM(登録商標)対応のパーソナルコンピュー
タにおいて実施される複雑な命令セット計算を意味して
いる。CISCマシンは、可変長さの命令フォーマット
で、非常に多数のアドレスモードがあり、小サイズから
中間サイズのレジスタファイルがあり、レジスタからメ
モリ(又はメモリからメモリ)への命令がありそして命
令をマイクロコード式に実行することを特徴とする。
「RISC」は、例えば、デジタル・イクイップメント
社のALPHA AXP(登録商標)プロセッサを組み
込んだコンピュータにおいて実施される縮小命令セット
計算を意味する。RISCアーキテクチャーは、一般
に、簡単な固定長さ命令フォーマットで、少数のアドレ
スモードをもち、大きなレジスタファイルがあり、ロー
ド記憶命令セットモデルがありそして命令を直接ハード
ウェア実行することを特徴とする。
【0004】プログラムをある形式のアーキテクチャー
に合致するコンピュータで実行することが所望される
が、プログラムが別の異なる形式のアーキテクチャーに
合致するマシンで実行するように設計されていることが
しばしばある。例えば、CISCコンピュータで実行す
るように設計されたプログラムをRISCマシンにおい
て実行する必要がある。これを行うためには、2つのア
ーキテクチャー間にある形式の「ソフトウェア」ブリッ
ジを設けなければならない。
【0005】このようなソフトウェアブリッジを設ける
場合に、多くのCISC(例えば、80X86)プログ
ラムではプログラムの実行をサポートするためのシステ
ムサービスファンクション(SSF)が必要とされるこ
とから複雑さが生じる。SSFは、通常、(i)ビデ
オ、ディスクアクセス、システムクロック等を制御する
ための基本的な入力/出力システム(BIOS)ファン
クションと、(ii)プログラムのロード及びアンロー
ド、ネットワーク制御オペレーション、ファイルサービ
ス等を与えるためのオペレーティングシステムファンク
ションとを備えている。
【0006】実行中に、アプリケーションプログラム
は、しばしばSSFを「呼び出し」、即ち、例えばCI
SCシステムソフトウェアにより通常与えられるSSF
ルーチンへと分岐する。各分岐(即ち、呼び出しを表す
逐次プログラム流からの変更)は、制御を通すべきター
ゲットアドレスを直接的又は間接的に指定する。
【0007】例えば、アプリケーションプログラムは、
割り込みの形態の分岐を含むことができる。これらの割
り込みは、SSFルーチンのターゲットアドレスを識別
する割り込みベクトルテーブル(IVT)に対するイン
デックスとして使用するための割り込み番号を指定す
る。この割り込み番号により指定されたSSFルーチン
へ制御が通される。IBM(登録商標)対応のパーソナ
ルコンピュータに対する適応規格は、特定の割り込み番
号によってアクセスできるSSFルーチンを指定する。
他の形式の分岐は、通常ターゲットアドレスを直接指定
する分岐命令及びジャンプ命令を含む。
【0008】アプリケーションプログラムのクロスアー
キテクチャー実行を行えるようにするソフトウェアブリ
ッジは、多数の異なる方法で形成することができる。先
ず、アプリケーションプログラムは、例えば、RISC
コンピュータにおいて実行できる新たなプログラムに変
換することができる。これは、時間とコストのかかる手
順であり、プログラムの知的特性権利の所有者の許可を
必要とする。第2に、別の形態において、RISCコン
ピュータは、CISCアーキテクチャーを好ましくは透
過的にエミュレートするのに使用でき、これにより、C
ISCアプリケーションプログラムを実行することがで
きる。
【0009】エミュレーション中に、RISCコンピュ
ータは、プログラム実行の目的でCISCマシンの幻想
を作り出す。このような幻想を作るには、プロセッサ、
システムソフトウェア、周辺ハードウェア及びメモリを
含むCISCマシンのオペレーティング環境をエミュレ
ートする必要があり、簡単に言えば、実行中にアプリケ
ーションプログラムが使用すると「予想」される全ての
要素及びリソースをエミュレートする必要がある。
【0010】このような幻想を作り出した後、RISC
コンピュータは、プロセッサが呼び出した「解釈」を用
いてアプリケーションプログラムを実行する。換言すれ
ば、RISCコンピュータは、アプリケーションプログ
ラムをデコードしそして構文解析して、CISCマシン
でプログラムを実行することによって生じるであろう状
態情報を得ると共に、同等のオペレーションを実行する
RISCシステムにおける対応コードを識別しそして実
行する。
【0011】
【発明が解決しようとする課題】従来のエミュレーショ
ンシステムは、それらの意図された目的に一般に適して
いるが、幾つかの制限及び欠点に遭遇する。例えば、従
来のエミュレーションシステムは、アプリケーションプ
ログラムによって呼び出されたSSFを効率的に実行す
ることが困難である。
【0012】呼び出されたSSFルーチンは、変換又は
解釈により実行するためのCISC命令セットか、又は
直接実行するためのRISCアーキテクチャーの命令セ
ットかのいずれかにおいてプログラム実行中に与えるこ
とができる。RISCコンピュータにおけるSSFルー
チンの直接的な実行は、他の技術に勝る性能及びその他
の利益を実現することができる。というのは、解釈する
より速く且つ変換するより経済的だからである。
【0013】呼び出されたSSFルーチンの直接的な実
行により解釈を介してアプリケーションプログラムを実
行する場合には、アプリケーションプログラムがSSF
ルーチンの実行のための制御をいつ移行したかを検出す
るメカニズムが必要である。この検出メカニズムは、制
御をSSFルーチンへ通そうとする通話(即ち、CIS
CエミュレーションとネーティブRISCマシンとの間
の)を、制御を同じアプリケーションプログラム内の他
のルーチンへ単に通そうとするものから区別することが
できねばならない。前者を「クロスドメイン通話」と称
し、CISCエミュレーションは一方のドメインを表し
そしてRISCマシンは他方のドメインを表す。
【0014】クロスドメイン通話の検出は、エミュレー
ションシステム以外のコンテクストにおいて顕著なもの
である。例えば、多数のコンピュータシステムは、単一
のエンクロージャ内に多数のプロセッサを有するか、或
いは遠隔配置されて通信リンクによって接続された多数
のコンピュータを有する。システム内のプロセッサは次
第に異なるアーキテクチャーになりつつあり、従って、
システムは2つ以上の(即ち、多数の)ドメインを実施
すると言える。このような雑多な環境の利点を得るため
に、プロセッサは、システム内の他のプロセッサにより
ルーチンを実行するためにクロスドメイン通話を時々行
う。このようなクロスドメイン通話を効率的に且つ確実
に検出及び実行するメカニズムを提供することが望まれ
る。
【0015】
【課題を解決するための手段】本発明は、第1ドメイン
内にクロスドメイン通話を表す基準アドレス範囲を設け
ることにより第1ドメインから第2ドメインへの通話を
検出するための改良された技術を提供する。本発明は、
その広い形態において、第1プログラムからの通話を検
出及び実行して第2プログラムを実行するための請求項
1に記載のコンピュータ実施方法と、請求項8に記載の
それに対応する装置とに係る。分岐のターゲットアドレ
スが基準アドレス範囲内に入る場合には、本発明はその
通話をクロスドメイン通話として実行する。
【0016】クロスドメイン通話を実行するために、本
発明は、第1ドメインのターゲットアドレスに対応する
第2ドメインの被呼アドレスを、ターゲットアドレスの
数学的な操作によって決定する。次いで、本発明は、第
2ドメインにおいてその被呼アドレスをアクセスしそし
てそこに記憶されたコードを実行する。次いで、本発明
は、そのコードを実行した結果を、返送クロスドメイン
通話により、その通話を呼び出した第1ドメインで実行
しているプログラムへ返送する。
【0017】ターゲットアドレスの数学的な操作は、種
々の異なる形態のいずれをとることもできる。例えば、
ターゲットアドレスと所定範囲の境界の1つとの間の演
算上の相違を計算し、これをオフセットとして第2ドメ
インにおける第2の所定のアドレス範囲に対して使用
し、被呼アドレスを形成することができる。
【0018】或いは、ターゲットアドレス(これらの目
的に対する整数として処理される)を定数で加算、減
算、又は乗算するような演算操作をターゲットアドレス
に対して実行することができる。別の実施例は、ターゲ
ットアドレスに対して変換多項式を用いて、被呼アドレ
スを形成する。
【0019】本発明の別の実施例は、「クロスドメイン
基準スペース」即ち「CRS」と称する「仮想」テーブ
ルを用いて基準アドレス範囲を確立する。CRSは、複
数の独立してアドレスできるメモリ位置、例えば、アー
キテクチャーにより許された最小の位置(例えば、単一
バイト)をもつことができ、その各々は第2ドメインに
おける通話可能なアドレスに対応する。CRSの内容
は、好ましくは本発明において使用されず、そのテーブ
ルは「仮想」として指定される。
【0020】この実施例において特定の通話がクロスド
メイン通話であるかどうかを判断するために、通話の分
岐ターゲットアドレスは、直接的に又は割り込みベクト
ルテーブルを介してCRSのエントリーの対応アドレス
を指定するためのポインタとして使用される。CRSの
アドレススペースの対応エントリーがターゲットアドレ
スに対して存在する場合は、通話がクロスドメイン通話
として処理される。
【0021】次いで、指定されたCRSアドレスと、C
RSの例えば最下位アドレスとの差に等しいオフセット
が計算される。次いで、このオフセットを用いて、第2
ドメインアドレステーブルをアクセスする。
【0022】第2ドメインアドレステーブルは、好まし
くは、CRSと同じ数のエントリーを有し、その各々
は、実行されるべきコードの第2ドメインのアドレスス
ペース内のアドレスの表示を含む。CRSの計算された
オフセットは、例えば、これを第2ドメインアドレステ
ーブル内の最下位アドレスに加算しそしてそれにより得
た和をアクセスされるべきエントリーのアドレスとして
使用することにより、第2ドメインアドレステーブルを
アクセスするように使用することができる。
【0023】この実施例において、第2ドメインのアド
レステーブルがファンクションアドレステーブル(FA
T)であり、アクセスされるエントリーは、システムサ
ービスファンクションスペース(SSFS)に記憶され
た被呼システムサービスルーチンのアドレスを含む。
【0024】この実施例により、通話を呼び出したプロ
グラムは、そのプログラムが書かれたものとは異なるア
ーキテクチャーを有する第1コンピュータシステムにお
いて実行することができる(例えば、エミュレートされ
た環境において解読によって実行できる)。更に、この
プログラムにより要求されるシステムサービスファンク
ションは、例えば、そのエミュレーションのホストであ
るコンピュータシステムにおいて、たとえそれが異なる
アーキテクチャーを有していても、直接実行することが
できる。
【0025】本発明のこの実施例は、多数の付加的な効
果を得ることができる。例えば、CRSを用いたクロス
ドメイン検出は、各システムファンクション当たりエミ
ュレートされたCISCドメイン内で1バイトのアドレ
ススペースしか消費せず、しかも、CRSは、本発明の
目的としてそのアドレススペースにデータ又はコードを
記憶する必要がない。従来のメモリとして悪評の高い制
限されたアドレススペースをもつ80X86マシンのエ
ミュレーションである場合には、本発明のこの特徴が特
に有効となる。別の重要な効果は、この実施例では、実
行されるアプリケーションプログラムの変更も、プログ
ラムの進歩した解釈も必要としないことである。更に別
の効果は、例えば、グラフィックボードや他のデバイス
のようなパーソナルコンピュータハードウェア製品を、
拡張バスを介して、非適合アーキテクチャーのコンピュ
ータシステムへ接続できるよう容易にサポートする能力
がこの実施例により与えられることである。
【0026】
【実施例】本発明は、添付図面を参照した好ましい実施
例の以下の詳細な説明より完全に理解されよう。図1
は、本発明によるホストコンピュータシステム10を示
している。このコンピュータシステム10は、第1のア
ーキテクチャーを実施するもので、従来のCPU12
と、システム10の動作を制御するためのシステムソフ
トウェア14(例えば、オペレーティングシステムを含
む)と、メモリ16とを有している。
【0027】又、ホストコンピュータシステム10は、
従来のユーザインターフェイス24と、CPU12に接
続された周辺ハードウェア26とを備えている。ユーザ
インターフェイス24は、例えば、ディスプレイ又はモ
ニタ24Aと、表示出力を形成すると共にユーザが各々
コマンド及びデータを入力できるようにするキーボード
24Bとを備えている。周辺ハードウェア26は、例え
ば、従来のディスクコントローラ、キーボードコントロ
ーラ、及び入力/出力(I/O)ポート(個別に図示せ
ず)を備えている。
【0028】ホストコンピュータ10は、更に、CPU
12で実行できるソフトウェアで好ましくは実施される
エミュレータ30であって、第2の異なるアーキテクチ
ャーを実施するコンピュータシステム32をエミュレー
トするためのエミュレータ30を備えている。従来のエ
ミュレーションシステムは、当業者に良く明らかであろ
う。
【0029】コンピュータシステム10と32とを区別
するための便宜上、ホストコンピュータシステム10及
びその要素と、第1のアーキテクチャーについて書かれ
たコードを「ネーティブ(固有)」と称する。同様に、
エミュレートされるシステム32及びその要素と、第2
のアーキテクチャーについて書かれたコードを「フォー
リン(外部)」と称する。
【0030】第2のシステム32は、本質的に、フォー
リンコード、例えば少なくとも1つのフォーリンアプリ
ケーションプログラム35を実行するフォーリンCPU
34についてエミュレータ34により作られた「幻想(i
llusion)」である。又、エミュレータ30は、コンピュ
ータシステム32のオペレーションを制御するフォーリ
ンシステムソフトウェア36のエミュレーションと、フ
ォーリン周辺ハードウェア38のエミュレーションを発
生する。アプリケーションプログラム35は、第2のア
ーキテクチャーにより指令される命令セットに合致する
一連の命令(即ち、コードのライン)を備え、これらは
フォーリンCPU34において実行される。アプリケー
ションプログラム35は、以下に述べるように、制御を
1つ以上のSSFルーチンへ通すための分岐(即ち、順
次のプログラム流れからの変更)を含む。
【0031】本発明のここに示す用途においては、ホス
トコンピュータシステム10は、例えば、上記のALP
HA−AXPベースのコンピュータのようなRISCマ
シンであり、そしてフォーリンコンピュータシステム3
2は、例えば、上記の80X86ベースのマシン(しば
しば「IBMコンパチブルコンピュータ」と称し、IB
Mは登録商標である)のようなCISCマシンである。
【0032】図2は、ネーティブドメインアドレススペ
ース52及びフォーリンドメインアドレススペース54
を含むメモリ16を示している。ネーティブドメインア
ドレススペース52は、ネーティブドメインのコンピュ
ータシステム10からの特権アクセスを有する。フォー
リンドメインメモリスペース54は、エミュレータ30
により形成されるコンピュータシステム32からの特権
アクセスを有する。ネーティブドメインアドレススペー
ス52は、システムサービスファンクションスペース
(SSFS)56及びファンクションアドレステーブル
(FAT)58を備えている。フォーリンドメインアド
レススペース54は、クロスドメイン基準スペース又は
テーブル(CRS)62と、割り込みベクトルテーブル
(IVT)64とを備えている。
【0033】先ず第1に、ネーティブドメインアドレス
スペース52について以下に詳細に述べる。SSFS5
6は、SSFをSSF 0、SSF 1、・・・SSF
Nと示されたエントリーとして記憶し、各エントリー
は、ネーティブドメインアドレススペース52内におい
て対応アドレスSSF AD N 0、SSF AD
N 1、・・・SSF AD N Kによって独特に識別さ
れ、ここで「K」は正の整数である。
【0034】FAT58は、0ないしMと示された多数
のエントリーを有し、ここで「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
ないしFAT AD N Mを占有する。
【0035】ここで、フォーリンドメインアドレススペ
ース54を参照すれば、CRS62は、各アドレスCR
AD r 0ないしCRS AD r Mに配置された
エントリー0ないしエントリー「M」と示された多数の
エントリーを有する。好ましくは、各エントリー0ない
しMは、フォーリンドメイン54における位置の最小の
独立してアクセスできるブロック、例えば、単一バイト
を占有する。
【0036】更に、CRS62におけるエントリー0な
いしMの数は、FAT58におけるエントリー0ないし
Mの数、即ち「M」に等しい。換言すれば、FAT58
及びCRS62におけるアドレス可能な位置は、一致対
において割り当てられ、各対は、システム10において
実施するのに使用できるSSFの1つに対応する。
【0037】CRS62は基準テーブルのみとして使用
され、それ故、本発明によれば、そのテーブルのエント
リー0ないしMに記憶されるべきコードは必要とされな
い。本質的に、CRS62は、ネーティブドメインのF
AT58のフォーリンドメイン対応部分であり、そして
FAT58に対するポインタを導出するのにのみ使用さ
れる。実際に、CRS62に対して指定されたエミュレ
ートされたドメインアドレススペース54の部分は、他
のアプリケーションに必要とされるデータ又はコードを
記憶するために本発明とは独立して使用できる。
【0038】IVT64は、CRS AD 0、CRS
AD 1、・・・CRS AD Mと示された多数のエ
ントリーを含み、その各々は各割り込み番号INT
ないしINT Mに対応する。各IVTエントリーCR
AD 0、CRS AD 1、・・・CRS AD
Mは、対応する割り込み番号をIVT64に対するポ
インタとして使用してアクセスすることができる。各エ
ントリーCRS AD 0、CRS AD 1、・・・
CRS AD Mは、CRS62の対応するエントリー
のアドレスを表す。
【0039】又、IVT64は、分岐ターゲットアドレ
スMEM AD 0、MEM AD 2、・・・MEM
AD Pを含むエントリー位置であって、CRS62内
のアドレス範囲CRS AD 0ないしCRS AD
M内に入らず、従って、クロスドメイン通話を必要とし
ないエントリー位置を含むことができる。例えば、アド
レスMEM AD 0、MEM AD 2、・・・ME
AD Pは、アプリケーションプログラム35(図
1)自体の中のルーチンに対する通話のターゲットアド
レスである。
【0040】A.テーブルの初期化及び設定 図3は、コンピュータシステム10(図1)を初期化し
て、テーブル56、58、62、64(図2)を設定す
る方法100を示している。
【0041】ブロック102は、多数のサブステップを
実行することによりCRS62を発生する。サブブロッ
ク104は、CRSに対しフォーリンドメインアドレス
スペース54のアドレス範囲CRS AD r 0ないし
CRS AD r M(即ち、セクション)を指定しそし
てアドレス範囲に必要とされるバイトの数、例えば、1
バイト/アドレスを決定することによりCRS62を位
置設定しそしてサイズ決めする。サブブロック106
は、CRS62の位置をFATエントリーに割り当て
る。例えば、CRS62の各単一バイト位置は、コンピ
ュータシステム10のアーキテクチャーに合致するネー
ティブアドレススペースにアドレス(例えば32ビット
アドレス)が記憶されたFATエントリーに対応する。
記憶されたアドレスは、SSFルーチンのエントリーポ
イント(例えば、コードの第1ライン又は第1命令)で
ある。
【0042】以上の構成は多数の効果を奏する。例え
ば、CRS62は、各SSFごとに例えば32ビットと
いった全ネーティブドメインアドレスを保持するに充分
なバイトではなくて、単一バイト/SSFのみを有する
最小サイズに構成することができる。
【0043】ブロック108は、メモリ16(図1)の
例えばバッファ16C(図1)に後で使用するためにC
RS62のアドレス範囲を記憶する。ブロック110
は、FAT58及びIVT64を発生する。サブブロッ
ク112は、FATエントリーを個々のSSFに割り当
てる。サブブロック114は、SSFエントリーアドレ
スを対応するFATエントリーに記憶する。サブブロッ
ク116は、個々のCRS62エントリーに対応する基
準アドレスを、対応する割り込み番号によりアクセスさ
れたIVT64の対応エントリーにロードする。
【0044】B.クロスドメイン通話の検出及び実行 図4は、FAT58、CRS62及びIVT64が上記
のように設定された後にプログラム35を実行するため
のランタイム方法200を示している。ブロック202
は、好ましくはCPU12(図1)によって実施される
従来のインタープリター12A(図1)を用いて、解読
によりフォーリンプログラムコードを実行する。
【0045】ブロック204は、順次プログラム流から
の変更(「分岐」と称する)を検出し、そして検出され
た分岐に対するターゲットアドレス(即ち、分岐に続い
て実行されるべき次の命令のアドレス)を識別する。換
言すれば、方法200は、非順次命令に対して試みた制
御の転送をトラップする。分岐が検出されない場合に
は、ブロック202は、プログラムの実行完了までプロ
グラムを実行し続ける。
【0046】分岐を検出すると、ブロック206におい
て、好ましくは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は、クロ
スドメイン通話を検出する際に単一範囲アドレス比較を
使用するのであって、例えば、分岐ターゲットアドレス
を多数の異なるアドレス範囲と比較するのではない。
【0047】ターゲットアドレスがCRS範囲内にない
場合には、ブロック212は、CPU12のプログラム
カウンタファンクションを増加し、そして次の命令がブ
ロック202において実行される。
【0048】一方、ブロック210において分岐ターゲ
ットアドレスが範囲CRS AD r 0ないしCRS
r M内にある場合には、好ましくはCPU12によ
り実施される実行モジュール12C(図1)がクロスド
メイン通話を実行する制御権を得る。実行モジュール1
2Cは、解読によりプログラム実行を停止させ、クロス
ドメイン通話をジャケット処理して、被呼ドメインの規
定に合致するパラメータ(例えば、レジスタ識別等)を
通し、そして一般に被呼システムのサービスルーチンを
直接実行できるようにする。
【0049】ブロック216内で、方法200は多数の
サブブロックを含む。サブブロック222は、CRS6
2に対するオフセットであって、CRS範囲の境界アド
レスの1つ(即ち、最初のアドレスCRS AD r
及び最後のアドレスCRS AD r Mの1つ)と、CR
S62内の分岐ターゲットアドレスとの間の差に等しい
オフセットを計算する。
【0050】サブブロック224は、計算されたオフセ
ットをFAT58に対するインデックスとして使用し、
対応するFATエントリー0ないしMをアクセスする。
これを説明するために、ターゲットアドレスと境界アド
レスCRS AD r 0との間の差としてオフセットを
計算することができる。次いで、このオフセットは、F
AT58に対するインデックスとして使用することがで
きる。例えば、CRS62からのオフセットは、必要に
応じて大きさ決めすることができ、例えば、FATにお
けるエントリーのサイズ(バイト数)とCRSにおける
エントリーのサイズとの比を乗算することができる。こ
れにより生じる大きさ決めされたオフセットは、FAT
58の第1アドレスFAT AD N 0に追加して、対
応するFATエントリーのFATアドレスを生じること
ができる。
【0051】次いで、サブブロック226は、インデッ
クスにより識別されたFATエントリーをSSFS56
のエントリーSSF 0ないしSSF Kのネーティブ
ドメインアドレススペース52におけるアドレスとして
使用する。このように識別されたSSFSエントリー
は、被呼SSFルーチンのSSFエントリーポイントで
ある。
【0052】ブロック228は、識別されたSSFエン
トリーポイントで始めて被呼SSFルーチンをフェッチ
し実行する。SSFルーチンの実行による結果は、CP
U12(図1)により適当なジャケット処理が行われて
返送クロスドメイン通話を介してアプリケーションプロ
グラム35へ返送することができる。返送通話が必要と
されるかどうかに関わりなく、方法200は、次いで、
解読によりアプリケーションプログラム35のフォーリ
ンコードを実行し続けるためにブロック212へ制御を
通す。
【0053】C.説明のための実施例 図1ないし4を参照し、本発明の説明のための実施例に
ついて以下に述べる。特定の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内の分岐ターゲットアドレスの相対的な位置から導出
されたオフセットを用いて識別できる。
【0054】この例において、アドレスCRS AD r
1を保持するCRSエントリー1は、ディスプレイサ
ービスSSFに対応することができる。アプリケーショ
ンプログラムに含まれた分岐は、ディスプレイサービス
SSFを呼び出すことができる。このために、分岐は、
分岐又はジャンプ命令において直接与えられるターゲッ
トアドレスを指定するか、又はIVT64を経て間接的
に与えられるターゲットアドレスを指定する。分岐ター
ゲットアドレスはCRS AD r 1である。オフセッ
トは、CRS62の最下位アドレス、即ちCRS AD
r 0を分岐ターゲットアドレスから減算して1のオフ
セットを生じることにより計算することができる。
【0055】ディスプレイサービスSSFの通話は、そ
のSSFを直接実行するためにドメイン交差を必要と
し、即ち通話は、フォーリンドメインアドレススペース
54とネーティブドメインアドレススペース52との間
のドメイン境界65を横切る。
【0056】オフセットは、上記したように、例えば、
FAT58に対するインデックスとしてこれを用いるこ
とにより、FAT58における対応エントリーを識別す
るのに使用することができる。大きさ決めされたオフセ
ットが1に等しく、この値がFAT58の最下位アドレ
スに加えられる場合は、この解決策により、FAT58
におけるエントリーのアドレスFAT AD N 1であ
って、その内容が例えばディスプレイサービスSSFの
エントリーポイントのアドレスSSF AD N 1である
ようなアドレスが与えられる。次いで、ディスプレイサ
ービスSSFを実行することができる。
【0057】この実施は、図5を参照して良く理解する
ことができよう。図5は、ネーティブアドレススペース
302と、図2と同様のエミュレートされたアドレスス
ペース304との間のマッピングをもつメモリアドレス
スペース300の実施を示している。ネーティブアドレ
ススペース302は、コンピュータシステム10(図
1)により直接実行するのに使用されるネーティブドメ
インの全てのメモリ位置に割り当てられた独特に指定さ
れたアドレスを有する。エミュレートされたアドレスス
ペース304はエミュレータ30によって発生され、そ
してエミュレートされたコンピュータシステム32(図
1)によりアクセス可能な全ての位置に割り当てられた
独特に指定されたアドレスを有する。
【0058】ネーティブなアドレススペース302及び
エミュレートされたアドレススペース304内でのアド
レス動作は、これらのスペースをアクセスするコンピュ
ータ10、32の各アーキテクチャーに合致するのが好
ましい。ネーティブなアドレススペース302は、フォ
ーリンプログラム、例えば、ディスプレイ24A(図
1)を制御するためのコード及びそれに関連したデータ
を記憶するためのスペース312と、ディスプレイバッ
ファ及びレジスタ314とを備えている。アドレススペ
ース312、314は、例えば、拡張バス318により
ネーティブCPU12に接続されたグラフィックカード
346(図1)に配置されたネーティブアドレススペー
ス302の部分に指定することができる。
【0059】又、ネーティブアドレススペース302
は、FAT322、SSFS324、メモリバッファ3
26、及びネーティブなオペレーティングシステムを含
むシステムソフトウェアのためのアドレススペース32
8を備えている。アドレススペース322ないし328
は、コンピュータシステム、例えば、図1のシステム1
0のランダムアクセスメモリ(RAM)16Aに指定す
ることができる。
【0060】エミュレートされたアドレススペース30
4は、CRS332と、ターゲットプログラムのための
アドレススペース334と、グラフィックコード及びデ
ータのためのディスプレイバッファ及びレジスタスペー
ス336と、IVTを含み下位メモリに指定されたアド
レススペース338とを備えている。ターゲットプログ
ラムのためのアドレススペース334は、解読により実
行するためのターゲットとして、即ちフォーリンプログ
ラムのマップされたバージョンとしてフォーリンプログ
ラムを含むリードオンリメモリ16B(図1)に指定さ
れる。同様に、スペース336は、エミュレータ30に
よりアクセスできるようにディスプレイバッファ及びレ
ジスタ314の内容を含む。
【0061】通話は、INT10と称するディスプレイ
サービスのための標準割り込みの形態をとることができ
る。アドレススペース338内のIVTは、矢印「a」
で示すようにINT10に対応する基準アドレスをCR
Sアドレススペース332に含むことができる。
【0062】基準アドレスは、オフセットを得るのに使
用でき、矢印「b」で示すようにFATアドレススペー
ス322において対応するエントリーをアクセスし、ネ
ーティブアドレススペース302におけるアドレスを得
ることができる。
【0063】FATアドレススペース322からフェッ
チされたアドレスは、矢印「C」で示すようにSSFS
324をアクセスするのに使用でき、そこから、ディス
プレイサービスに対するエントリーポイント、例えば、
第1命令即ちコードのラインをフェッチすることができ
る。次いで、ディスプレイサービスが直接実行され、そ
してエミュレートされたアドレススペース304へ制御
が復帰されて、解読によりターゲットプログラムが再び
実行される。
【0064】D.別の実施例 図1ないし5は、クロスドメイン通話に対するターゲッ
トアドレスを決定するためにオフセットを用いてIVT
により指定されたSSFに分岐するための割り込み処理
に関して本発明を実施して示した。
【0065】本発明は、分岐又はジャンプ命令或いは分
岐を生じる他の事象又は条件から生じるクロスドメイン
通話を検出し、クロスドメインにおいてルーチンを実行
することにより、更に一般的に実施することができる。
【0066】又、本発明は、あるドメインにおける分岐
ターゲットアドレスを別のドメインにおけるターゲット
アドレスに変換するのにオフセットを使用する必要はな
い。実際に、CRSの分岐ターゲットアドレスは、他の
アドレスを生じるように数学的に操作することができ
る。分岐ターゲットアドレスの数学的な操作は、種々の
異なる形態をとることができる。例えば、分岐ターゲッ
トアドレス(これらの目的のために整数として処理され
る)を定数により加算、減算又は乗算してネーティブド
メインの対応アドレスを生じるような演算操作を分岐タ
ーゲットアドレスにおいて実行することができる。別の
実施例は、ターゲットアドレスに対して変換多項式を使
用し、他のアドレスを生じることができる。
【0067】上記のエミュレーション用途に加えて、本
発明は、プロセッサが異なるアーキテクチャーのもので
あるマルチプロセッサコンピュータシステムに特に使用
できる。本発明のこのような用途では、第1のプロセッ
サは、図1のネーティブCPU12と考えることがで
き、そして第2のプロセッサは、フォーリンプロセッサ
34と考えることができ、直接実行・対・解読による実
行に関わりなく且つエミュレーションに関わりなく、図
示して上記したように本発明を実施することができる。
【0068】以上、解説のための実施例について本発明
を図示して説明した。使用した用語及び表現は、説明の
ためのものであって、これに限定するものではない。解
説のための実施例によって例示された上記及び他の種々
の変更、追加並びに置き換えは、本発明の範囲から逸脱
せずに行い得ることが当業者に理解されよう。
【図面の簡単な説明】
【図1】本発明の実施例によりアプリケーションプログ
ラムを実行するエミュレータを含むコンピュータシステ
ムのブロック図である。
【図2】図1のメモリのアドレススペースの構造及びマ
ッピングを示す図で、クロスドメイン通話の検出及び実
行に関する特徴を示す図である。
【図3】図2のテーブルを設定することによりクロスド
メイン通話を検出及び実行するための図1のコンピュー
タシステムを初期化する方法のブロック図である。
【図4】図1のコンピュータシステムにおいてクロスド
メイン通話を検出及び実行するためのランタイム方法を
示すブロック図である。
【図5】本発明の実施例による図2のアドレススペース
を詳細に示す図である。
【符号の説明】
10 ホストコンピュータシステム 12 CPU 14 システムソフトウェア 16 メモリ 24 ユーザインターフェイス 24A ディスプレイ又はモニタ 24B キーボード 26 周辺ハードウェア 30 エミュレータ 32 コンピュータシステム 34 フォーリンCPU 35 フォーリンアプリケーションプログラム 36 フォーリンシステムソフトウェア 38 フォーリン周辺ハードウェア 52 ネーティブドメインアドレススペース 54 フォーリンドメインアドレススペース 56 システムサービスファンクションスペース 58 ファンクションアドレステーブル 62 クロスドメイン基準スペース又はテーブル 64 割り込みベクトルテーブル

Claims (10)

    【特許請求の範囲】
  1. 【請求項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. 【請求項2】 上記所定のアドレス範囲は、該範囲を定
    める第1及び第2の境界アドレスを含み、上記被呼アド
    レス決定段階は、 A)上記ターゲットアドレスと、上記第1及び第2の境
    界アドレスの1つとの間のオフセットを決定し、そして B)上記オフセットを上記第2アーキテクチャードメイ
    ンにおける第2の所定アドレス範囲内で使用して、上記
    第2プログラムコードが記憶される上記被呼アドレスを
    識別する、という段階を実行することにより上記ターゲ
    ットアドレスを数学的に操作する段階を備えた請求項1
    に記載のコンピュータ実施方法。
  3. 【請求項3】 上記数学的操作段階は、上記ターゲット
    アドレスに対して演算操作を行って上記被呼アドレスを
    生じる段階を含む請求項1に記載のコンピュータ実施方
    法。
  4. 【請求項4】 第1コンピュータアーキテクチャーの第
    1命令セット特徴の複数の命令を含むアプリケーション
    プログラムにおいてクロスドメイン通話を検出して実行
    するためのコンピュータで実施される方法であって、各
    々の上記クロスドメイン通話は分岐を含み、各分岐は、
    上記アプリケーションプログラムの命令の所定の実行流
    における非順次変更であり、上記方法は、 A)上記アプリケーションプログラムに含まれた複数の
    通話各々の分岐により指定されたターゲットアドレスが
    第1ドメイン内の基準アドレス範囲に入るかどうか、ひ
    いては、クロスドメイン通話を表すかどうかを決定し、 B)上記ターゲットアドレスが上記基準アドレス範囲内
    に入る場合には、上記第1ドメインにおける上記ターゲ
    ットアドレスに対応する第2ドメインの被呼アドレスを
    上記ターゲットアドレスの数学的な操作によって決定す
    ることにより、上記ターゲットアドレスを指定する上記
    クロスドメイン通話を実行し、そして C)上記被呼アドレスをアクセスし、そこに記憶された
    命令であって、第2コンピュータアーキテクチャーの第
    2命令セット特徴の命令を実行する、という段階を備え
    たことを特徴とするコンピュータ実施方法。
  5. 【請求項5】 第1コンピュータアーキテクチャーの第
    1命令セット特徴の命令を含むアプリケーションプログ
    ラムを実行する方法であって、 A)第2コンピュータアーキテクチャーを有するコンピ
    ュータシステムにおいて解読により上記アプリケーショ
    ンプログラムの少なくとも一部分を実行し、このアプリ
    ケーションプログラムは、上記第2アーキテクチャーの
    第2命令セット特徴から選択された命令を含むシステム
    サービスファンクションルーチンを実行するための少な
    くとも1つの通話を有し、 B)実行されるべき次の命令のターゲットアドレスが第
    1ドメイン内の基準アドレス範囲内に入るかどうか決定
    し、上記ターゲットアドレスは上記通話によって指定さ
    れ、 C)上記ターゲットアドレスが上記基準アドレス範囲内
    に入る場合には、上記ターゲットアドレスを番号として
    処理しそして上記ターゲットアドレスを数学的に操作す
    ることにより、上記第1ドメインにおける上記ターゲッ
    トアドレスに対応する第2ドメインの被呼アドレスを決
    定することによって上記通話を実行し、そして D)上記被呼アドレスに対応するメモリ位置をアクセス
    し、そこに記憶されたコードで始めて上記システムサー
    ビスルーチンを実行する、という段階を備えたことを特
    徴とする方法。
  6. 【請求項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. 【請求項7】 上記決定段階(B)は、 A)複数の独立してアドレスできるメモリ位置を有する
    クロスドメイン基準スペースを確立し、その各々は、上
    記第2アーキテクチャードメインにおける通話可能なア
    ドレスに対応すると共に、上記基準アドレス範囲におけ
    る上記アドレスの1つに対応し、 B)上記ターゲットアドレスが上記クロスドメイン基準
    テーブルにおける上記位置の1つを指定するかどうか決
    定する、という段階を含む請求項6に記載の方法。
  8. 【請求項8】 第1アーキテクチャーのドメインで実行
    されている第1プログラムからの通話を検出及び実行し
    て第2アーキテクチャーのドメインで第2のプログラム
    を実行するための装置であって、上記第1プログラムは
    第1命令セットの命令を含みそして上記第2プログラム
    は第2命令セットの命令を含み、上記装置は、 A)上記第1プログラムの実行中に動作して、上記通話
    が上記第1アーキテクチャードメインにおいてフォーリ
    ンアドレススペースの所定アドレス範囲内のターゲット
    アドレスを指定するかどうか検出するための手段と、 B)上記検出手段に接続され、上記ターゲットアドレス
    が上記所定範囲内にあることに応答して、上記ターゲッ
    トアドレスの数学的な操作により上記第1アーキテクチ
    ャードメインにおける上記ターゲットアドレスに対応す
    る上記第2アーキテクチャードメインの被呼アドレスを
    決定し、 C)上記第2アーキテクチャードメインにおける上記被
    呼アドレスに配置されたコードにより指定された上記第
    2プログラム命令をフェッチして実行する手段とを備え
    たことを特徴とする装置。
  9. 【請求項9】 上記所定アドレス範囲は、該範囲を定め
    る第1及び第2の境界アドレスを含み、上記被呼アドレ
    ス決定手段は、上記ターゲットアドレスを数学的に操作
    する手段を備え、これは、 A)上記ターゲットアドレスと、上記第1及び第2境界
    アドレスの1つとの間のオフセットを決定する手段と、 B)上記第2アーキテクチャードメインにおいて第2の
    所定アドレス範囲内で上記オフセットを用いて、上記第
    2プログラムコードが記憶された上記被呼アドレスを識
    別するための手段とを備えた請求項8に記載の装置。
  10. 【請求項10】 上記数学操作段階は、上記ターゲット
    アドレスに対して演算操作を行って上記被呼アドレスを
    生じる段階を含む請求項8に記載の装置。
JP7047337A 1994-03-08 1995-03-07 コンピュータシステムにおいてクロスドメイン通話を検出及び実行するための方法及び装置 Expired - Fee Related JP2965884B2 (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002536712A (ja) * 1999-01-28 2002-10-29 エーティーアイ インターナショナル エスアールエル 第2のアーキテクチャのコンピュータにおける第1のコンピュータアーキテクチャ用プログラムの実行

Families Citing this family (46)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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