JPS6136848A - データ処理システムのエミユレーシヨン - Google Patents

データ処理システムのエミユレーシヨン

Info

Publication number
JPS6136848A
JPS6136848A JP15117985A JP15117985A JPS6136848A JP S6136848 A JPS6136848 A JP S6136848A JP 15117985 A JP15117985 A JP 15117985A JP 15117985 A JP15117985 A JP 15117985A JP S6136848 A JPS6136848 A JP S6136848A
Authority
JP
Japan
Prior art keywords
input
output
emulation
interrupt
routine
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
JP15117985A
Other languages
English (en)
Other versions
JP2610812B2 (ja
Inventor
ローレン・オー・アルブライト
デービツド・ジエイ・アングル
パトリツク・クロス
ジエームズ・ピー・モスクン
キヤロル・ダブリユー・テイラー
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.)
Wang Laboratories Inc
Original Assignee
Wang Laboratories Inc
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 Wang Laboratories Inc filed Critical Wang Laboratories Inc
Publication of JPS6136848A publication Critical patent/JPS6136848A/ja
Application granted granted Critical
Publication of JP2610812B2 publication Critical patent/JP2610812B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/105Program control for peripheral devices where the programme performs an input/output emulation function

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Bus Control (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 本発明は、第1のコンピュータシステムとは実質的に異
なるような第2のシステムによるエミュレーションに関
’f6゜より詳細には、上記第1のシステムのために開
発されたソフトウェアプログラムを、修正なしに、上記
第2のシステムにおいて実行可能にするように行うエミ
ュレーションに関する。
コンピュータシステムにおいて繰返して問題とされるの
は、ソフトウェアの可用性の問題であり。
特に、応用ソフトウェア、即ち、ユーザに特定のタスク
?実行するためにシステムによって実行されろプログラ
ムの可用性の問題であ65斯かる応用プログラムの例と
しては、ワードプロセシング及びデータ処理、データベ
ース、グラフィック及び簡易言語が挙げらね、ユーザが
防かろシステムで達成したいと望むタスク及び機能の全
範囲Ya含している。
特定のシステムに対する応用の潜在的な範囲は。
1つのシステム製作業者では、そのシステムに対する応
用プログラムの基本的範囲よりも、開発するのが非常に
困難である。その残りの応用プログラムは、これらはし
ばしば、応用プログラムの大部分であるが、応用プログ
ラム開発専門の諸会社によって共通に開発され供給され
ろ。経済的な理由により、斯かる応用プログラムの開発
者は、彼らの使用可NQなりソースを、より共通のコン
ピュータシステムに集中するのが普通である。応用プロ
グラムの開発者はより共通的でなく、経済的に有意なシ
ステムに対するプログラム?供給したいと望むが、彼ら
の使用可能なリソースでは、異なるシステムの全範囲に
対してプログラム?開発することができない。従って、
この非常に少ない最も共通なシステム以外のシステムに
対する応用プログラムの範囲は限られてくる。
斯かる問題はしばしば、プログラムの「トランスポート
(輛送)可能性」、即ち、あるプログラム?するシステ
ムから第2の異なるシステムに。
そのプログラムの書き直しや、大幅な修正無しに。
1−トランスポート」できる機能の1つとして述べられ
てきている。コンピュータ業界、特に小型の1パーソナ
ル」110blプロフエツシヨナル」コンピュータに採
用されてきている斯かる問題に対する部分的な解決方法
とじ℃は、内部的に異なる広い範囲のコンピュータに用
いられる標準化されたオペレーティングシステムの開発
が挙げられる。
この場合、銘記すべきことは、オペレーティングシステ
ムは基本的には、このオペレーティングシステムが実行
されているコンピュータシステムの全体的なオペレーシ
ョンを監視し、指示し且つ制御するということである。
更に、オペレーティングシステムは、あるシステムにお
いて実行されている応用プログラムとこのシステム自体
の実際の内部構造との間にインターフェース?与えろ。
基本的には、応用プログラムはオペレーティングシステ
ム上で1実行コシ且つ、オペレーティングシステム?「
見てい」心が、実際の基本的なコンピュータシステム構
造についてはそのようにはしていない。幾つかの内部的
に異なるシステムで実行され心、斯かる共通的で標準的
なオペレーティングシステム、例えば、CP/M及びM
S−DO8を採用すると、これらのシステムで修正なし
に実行できるプログラムの開発も理論的には可能である
例として示すと5ワングラボラトリ社のプロフェッショ
ナルコンピュータ及びIBMPCは、両方共、MS−D
O3と呼ばれろ基本的には同一のオペレーティングシス
テム2用いている。従って。
IBMPCに対して開発された応用プログラムは理論的
には、修正なしにソングプロフェッショナルコンピュー
タでも実行でき、且つその逆も可能なはずである。
実際には、Igrかるオペレーティングシステムは。
応用プログラム開発者が所望−t−b全範囲の特徴及び
機能?供給しなかったり、あるいはこのオペレーティン
グシステム?介してのみあるシステムとインターフェー
スするプログラムに対して十分な性能?供給しないこと
が多い。この故に、殆どの応用プログラムということで
はないにしても多くの応用プログラムは実際には、そわ
らが実行されているシステムの内部構造に少なくとも一
部分。
直接的にインターフェースするように書かれる。
異なる製作業者によって与えられるコンピュータシステ
ムの内部構造がしばしば大きく異なるため。
標準的なオペレーティングシステムの1つ&ll。
て主に実行するようVcilFかれた応用プログラムで
さえも実際はあるシステムから別のシステムに「トラン
スポート可能」でないことがしばしばある。
更に、製作業者の多くは、それらの特定のシステムに対
する性能?向上するために[′標準」オペレーティング
システム馨修正してきている。例えば、上記のように、
ワングラポラトリ社とIBMの両社は、それらのパーソ
ナルコンピュータ及びプロフェッショナルコンピュータ
において同一の基本的な標準MS−DOSオペレーティ
ングシステムを用いている。しかしながら、それぞれの
場合。
MS−DO8はソング社及びIBM社によって設計され
た特定のシステムに対する性能馨向上するために修正さ
れており、もはや完全には「標準」ではない。斯かる修
正は、特定のシステムの特定の内部構造特徴に依存する
のが普通であり、従って。
これらの特定のシステムに対してかかねた応用プログラ
ムに反映される。その結果、ある特定のシステムに対し
て実行してい口「標準」オペレーティングシステムにの
みインターフェースする応用プログラムでさえもこの「
標準」オペレーティングシステムの更に別の修正された
バージョン馨用いている別のシステムにはトランスポー
ト可能でないことがしばしばある。
これらの問題に対する1つの可能な解決方法はある製作
業者の場合、エミュレートされるシステムの内部構造を
、必然的にはコピーすることなく。
基本的に複写することである。このためには、エミュレ
ートしているシステムのハードウェア構造)開発ト、エ
ミュレートされるシステムのオペレーティングシステム
の機能性乞基本的に複写しエミュレート′するシステム
のオペレーティングシステムの開発とが必要になる。し
かしながら、エミュレートされるシステムが旧型であっ
たり、欠陥があったり、あるいは性能が劣っていたり’
f6という点でこの方法は好ましくない。また、エミュ
レートするシステム及びそのオペレーティングシステム
は基本的には、より広いユテイリテイ馨有するためでは
なく、ただ1つの目的、即ち別のシステム馨エミュレー
トf6という目的だけに供されている。
上の諸問題に対する更に別の可能な方法には。
特定のシステム馨エミュレートするシステムで実行する
ソフトウェア、即ち、エミュレーションプログラムによ
ってその特定のシステム馨エミュレートすることが挙げ
られろ。しかしながら、この方法は、このエミュレーシ
ョン機能に関しては多量ノ「オーバーヘッド」、即ち、
メモリスペース及びプロセッサオペレーション時間が必
要トなるため好ましくないことが証明さり、b。
発明の概要 本発明によると、第2のシステムの機能の複写としては
設計されていない第1のシステムが、上記のハードウェ
ア、ソフトウェア及びオペレーティングの不利な点?有
1にとなくこの第2のシステム馨エミュレートすること
ができるようになツテいろ。本発明では、第2のシステ
ムの入力/−力槽構造第1のシステムにおいて、そこに
記憶されたルーチンであって、第2のシステムの入力/
出力構造と同じように既存の入力/出力構造が動作する
ように命令するルーチンによってエミュレートされる。
このエミュレーションルーチンは。
第1のシステムのマスク不可能割込み機構2介してこの
機構に対する修正により呼び出される。この機構は、「
外部」の入力/出力要求の発生、即ち、第2のシステム
に対してもともと書かれたプログラムで発生し、且つ第
1のシステムによって通常は認識されない入力/出力要
求の発生を検出する。
本発明に係る好ましい実施例では、第1のンステムノ入
力/出力構造は、システムアドレススペースの第1の範
囲?占めるボートY有する入力/出力デバイスを含み、
第2のシステムの入力/出力デバイスは、第2の異なる
範囲のアドレススペース内に配置されたポート2有する
。外部の入力/出力要求ケ検出するだめの手段は、入力
/出力要求ポートアドレス?システム入力/出力デバイ
スによって占有されたポートアドレスの範囲と比較し且
つポートアドレスがシステム入力/出力デバイスによっ
て占有されたアドレススペースの範囲内にある時馨指示
する手段?含む。この外部の要求の検出手段は次に、第
1のシステムによって指示されている入力/出力ポート
の範囲内に通常は入らない入力/出力要求の発生の際に
入力/出カエミュレーションルーチン?呼出すためにマ
スク不可能割込みを発生′する。
本発明に係るエミュレーション手段は更に、斯かる要求
が開始した時点において斯かる外部の入力/出力要求に
関する情報?「トラップ」、即ち。
記憶するための手段?含む。次に、このトラップされた
情報は、エミュレーション手段によって用いられ、エミ
ュレートされる特定の入力/出力オペレーション?決定
する。例えば、要求が薔込みオペレーションに対しての
場合、この要求に関連して現われる書込み情報は同様に
してトラップされ、この要求によって指示された第2の
システノ・のボートに対応する第1のシステムの入力/
出力ポートに書き込まれる。
本発明に係る更に別の実施例では、第1のシステムは更
に、第2のシステムのハードウェア割込み機構?エミュ
レートするための手段?會む。本発明に係るシステムの
ハードウェア割込みエミュレーション機構において、第
1のシステムのソフトウェア割込みサービスルーチンに
は、第2のシステムツバ−ドウエア割込み機構のオペレ
ーション?エミュレートする付加的な一群のハードウェ
ア割込みエミュレーションルーチンが配設さゎている。
第1のシステムの割込ミベクトルテーブルは同様に、エ
ミュレーションルーチンに対−、t /l) tj加的
なベクトル乞含み、第1のシステムのハードウェア割込
みサービスルーチンはこれらのベクトルに対する基準?
含むように変えられる。
既存の第1のシステムのハードウェア割込みルーチyl
c対j6エミユレーシヨンルーチン、ベクトル及び修正
は、このシステムが第2のシステム馨エミュレートして
いる時にイネーブルされ71.1これにより、第1のシ
ステムは、ソフトウェア割込みオペレーションと同じ方
法でもってハードウェア割込みエミュレーションオペレ
ーション?実行することにより第2のシステムのハード
ウェア割込み機構?エミュレートする。ここで銘記すべ
きことは、付加された割込み機構エミュレーションルー
チンはエミュレーションルーチンタケに限定されず、こ
のシステムに対する付加的な機能あるいは向上された性
能2与える他のルーチン2含むかあるいはこれら他のル
ーチンに置き換えられ得る。
以下の説明においては、「<−ソナル」又は「プロフェ
ッショナル」コンピュータのクラス。
例えば、ソングラボラトリ社のプロフェッショナルコン
ピュータの典型的なコンピュータシステムのハードウェ
ア及びンフトゥエアの一般的な構造及びオペレーション
に゛ついて先ず述べている。これらは、当業者によって
よく理解されよう。第1の斯かるシステムと第2のシス
テム、例えば。
IBMPCとの相違の基となる構造の特徴及び動作の特
徴、及び前に述べた1標準的」オペレーティングシステ
ム及び応用プログラムに関fb斯がろ相違の効果が次に
述べられている。最後に、もともと第2の斯かるシステ
ム用に書かねているプロクラム?修正なしに第1の斯か
るシステムで実行できろよう[する1本発明に従う方法
及び装置が述べられている。
二二と 第1因について説明する。この図には、「パーソナル」
又は「プロフェッショナルコクラスのコンピュータシス
テムのブロック図が図示されている。尚、ここに図示さ
れている例は、ワングラポラトリ社の[プロフェッショ
ナルコンピュータ」である。このシステムは典型的なシ
ステムであり且つこのクラスの斯かるシステム?代表し
ており。
例f、kL  rワンクフロフェッショナルコンピュー
タ技術′参照手引書」及びマサチューセッツ州ローウェ
ルのワングラポラトリ社から入手でき6(filの関連
の出版物に記載されている。これらは本明細書に参考と
して引用されている。第1図のシステムの次の記述は、
斯かるシステムの構造及びオペレーションが当業者によ
ってよく理解され且つここに与えられた例示用のシステ
ムの構造及びオペレーションが上記の参照され引用され
ろ出版物の中で十分に述べられているため何重に行なわ
れている。
第1図に示すように、このシステムの主なエレメントは
、中央処理装[CPU)10及び制御入力/出力ロジッ
ク(CIO)12’に含んでいる。これらは、システム
アドレス(SA)バス14.システムデータ(SD)バ
ス16及びシステム制H(5C)18馨含むバス構造?
介して相互接続されている。
それらの呼称によって示され心ように、SAババス4及
びSDババス6はそれぞれ、システムのエレメントの間
にわたってアドレスとデータをやりとりし、これに対し
てSCバス18は、基本的にシステム制御情Nvやりと
りするのに用いられも。
1、 中央処理装置(第1図) CPtJIDについて説明する。主な/ステム制御機能
留金む算術論理オペレーションは主プロセツサl’MP
)20によって実行される。この主プロセツサ20は算
術演算においてコプロセッサ(COP)22に補助され
ている。MP20及びC,0P22は1例えば、それぞ
れインテル8086マイクロプロセツサ及びインテル8
087であり得ろ。
MP20及びC0P22は、アドレス及びデータ?、そ
れぞれアドレスラッチ(AL)24及びデータトランス
シーバ(DT’)26Y介してそれぞれSAババス4及
びSDババス6にやりとりし且つメモリ及びバス制御情
報?バス制御装置(BC)2B?介してSCバス18v
c伝える。
BC2SVc&!、入力/出力復号ロジック(IODL
)29が関連しており、このロジック29は、SAババ
ス4に現われるアドレス及びSCバス18に現われる入
力/出力制御情報?監視する。l0DL29は、システ
ム入力/出力要求の発生?検出し。
SCバス18に対応する制御信号出力?与える。
l0DL29の制御出力は、以下に更に述べるように、
システムI10オペレーションの実行においてシステム
I/Jデバイスによって用いられる。
MP20及びC0P22にはクロック発生器(CG)5
0及びバス獲得ロジック(BAI、)32が関連してお
り、クロック発生器60は、このシステムに対するクロ
ック信号のソースであり、バス獲得ロジック62は、直
接メモリアクセス(DMA)オペレーション、即ち、以
下に説明するシステム主メモリへのデータの直妾転送及
びこのシステム主メモリからのデータの直接転送r制a
1−する。
MP20及びC0P22にはまた。待ち状態ロジック(
WSL)34が関連しており、WSL34は。
基本的には、システムオペレーションを監視し且’)C
PU10オペレーシヨンにおけるコンフリクト?防ぐべ
く各々に許された時間?調節する。マスク不可能割込み
ロジック(NMIL)36は、、:のシステムの割込み
機構のオペレーションの一部分を制御する。この部分に
ついては以下により詳細に述べる。
最後に、上記のCPU10の種々のエレメントは相互接
続さtでおり、CPU局所(CPUL)ノ(ス38¥介
して通信する。
Cl0I 2について説明する。第1図に示すように、
Cl012のエレメントは、主にバッファアドレス(B
A)バス40及びバッファデータ(BD)バス42及び
SCバス18乞介して相互陸続されている。図示のよう
に、BAIくス40は。
SAババス4からアドレスバッファ(AB)44?介し
て接続されており、BDババス2は、データトランスシ
ーパ(DT”)46’を介してBDノくス16に相互に
接続されている。
ClO12は、主メモリ(MM)4Bを含んでいろ。こ
のMM4EHLシステム及びこのシステムのオペレーシ
ョン?制御す6プログラムによって演算されるデータ?
記憶し且つ与える。システムとプログラムには1例えば
、オペレーティングシステムと応用プログラムがあ6.
MM48には。
主メモリ制御ロジック(MMCL)50及び主メモリア
ドレスマルチプレクサ(MMAM)52が関連しており
、MMCL50及びMMAM52は、それぞれSCバス
18及びSAババス4から接続されており、それぞれ制
御入力及びアドレス入力kMM48に与えろ。MM48
のデータ入力/出力は。
BDババス2に相互接続されている。
バッファアドレス(BA)バス40及びバッファデータ
(BD)バス42からはそれぞれ、 DMA低アドレス
ラッチ(DLAL’)54及びDMA高アドレスラッチ
(DHAL)56が法統されている。
DLAL54及びD)IAL56は、このシステムのD
MA機構の一部分であり、DMAオペレーションの期間
中に、それぞれSAババス4及びM M A M52v
介してDMAアドレスの低次部分及び高次部分YMM4
8に4先ろ。DLAL54及びDI−IAL561Cは
、DMAページレジスタ(DPR)58が関連している
。DPR58は、BAババス0から接続さねており、同
様にして、DMAオペレーションの期間中に、DMAア
ドレスの一部分YSAノ(ス14及びMMAM52を介
してMM48に与えろ。
、:のtti&、DMAオペレーションに係るメモリベ
ージ乞識別″tゐアドレスの部分であ^。D%iAオペ
レーションの主な制御は、DMA制御ロジックrDcL
)60及びDMAバス制−ロジック(DBCL)62に
よって行なわれゐ。尚、DCL60及びDBCL62は
、BAババス0から接続されており、データ出力をBD
ババス2に与え、制御出力?このシステムの他の部分に
与えろ。
Cl012に含まれるシステム制御ロジックは。
カウンタ及びタイマロジック(CTL)64及びプログ
ラマブル割込み制御装fit(PIC’)66’l含ん
でい/′)。尚、CTL64及びPIC66は、それぞ
れインテル8256及びインテル8259Ax含み得る
。CTL64は、基本的には、全ての主システムオペレ
ーションのタイミンクr制(財)し。
こねに対してPIC66は、NMIL56と結び付いて
、より詳細に後で述べられろ、システム割込み制御ロジ
ック留金む。MM48及びシステム割込側(2)ロジッ
クに関連するのは、パリティ誤りロジック(PEL)6
7である。PEL67は、MM484に書き込まねろデ
ータ及びMM48から読み出されろデータ?監視し、所
がゐ誤りが発生した時に割込み制御ロジックにパリティ
誤り信号即ちデータ誤り信号娶与える。
このシステムプログラム及び制御ロジックは更に、消去
可能プログラマブル読出し専用メモリ(EPROM)6
8 ’a−含ンテいル。、:のEPROM68は1例え
ば、外部ディスクドライブの中に取り付けられているデ
ィスクからシステムオペレーティングシステム及び応用
プログラムvMM48にロードするのに用いられるプロ
グラム?記憶し与える。EPROM68に記憶されてい
るプログラムは基本的には、このシステムのオペレーシ
ョンを初期設定するのに用いられる常駐プログラム2含
んでいる。このシステムプログラム及び制御ロジックは
更に、メモリ制御記憶復号器(MC8D)69馨含んで
いる。MC8D69は、EPROM68と結び付いて動
作し、現在のシステム制御がシステム初期設定時におけ
6EFROM68から与えられるのか、あるいは通常の
オペレーションの期間中[MM48に記憶されてい^プ
ログラムから与えられるのか?選択する。
ClO12は更に、システムと外nfバイス、例えば、
キーボード、ディスクドライブ及びプリンタとの間の通
信留付うための幾つかのエレメント留金んでいる。これ
らのエレメントの中には。
ユニバーサル非同期受信器l/送信器(UART)70
が含まハている。UA、RT70は、キーボード及びフ
ロッピィディスク制御装fl(FDC)72と直列イン
ターフェース2行なっている。FDC72は、ディスク
部製機構とインターフェース2行なっている。更に、拡
張プログラマブル通信インターフェース(EPCI〕7
4が含まれている。例工ば、これはインテル2661で
ある。インテル2661は、プログラマブルR8−25
2110ボートン与える。そして更に並列プリンタイン
ターフェース(PP工)76が含まれている。PPl7
6は例えば、他々のプリンタに並列インターフェース2
行うインテル8255Aである。他の入力/出力エレメ
ントは例えば、ウィンチェスタ−(Wincheste
r )ハードディスク駆動機構へのインターフェースエ
レメント及び種々の遠隔通信インターフェースw含み得
:a。
最後に、C1012は、I10制御記憶記憶器(IOC
8D)75ン含んでいろ。このl0C8D75は、基本
的には、命合のシーケンス?記憶し与えろ。即チ、この
システムのI10オペレーション。
特に、上記のI10デバイスのオペレーション?制御す
るためのルーチンテする。
このシステムは、2つの主なユーザインターフェース留
金んでい心。即ち、第1のインターフェースは上記のよ
うに、tJAI’tT70から縦続されたキーボードヶ
介して行なわれ、第2は、CRT表示馨介して行なわね
る。第2図について説明する。
このシステムとCRTの間にインターフェース乞行うビ
デオ制御装置(V(j78が図示されている。
本明細書に述べられたシステムは種々の表示に対する複
数の斯かるビデオ制御装置が得られろか。
vC78がCRTインターフェースエレメントのこのク
ラスの典型であり、文字組図形表示及びビットマツプ表
示の両方7行う。
先ず1文字組部VC78について説明する。■C78は
、CRTスクリーン上に表示される英数字文字及び図形
シンボル及び関連のテキストシンボル?識別す6ASC
II型コード?記憶し供給するための文字メモQ(CM
)80v含んでいる。これらのコードは、ディスプレイ
上に現われろ位置に対応す6cM80の記憶位置に記憶
される。
0M807関連するのは、属性メモIJ(AM)82で
ある。AM82は、0M80に記憶されている各文字コ
ードに対して、対応する文字又はシンボルが1例えば、
ハイライトされ小か、アンダーライン?引かれろか、そ
の他の処理?されるか?識別する対応属性コード?記憶
し与える。
0M80及びAM82にはsDババス6から情報が、S
Cバス18から与えられた制御入力の制御の下で、SA
ババス4から与えられたアドレスに書き込まれろ。これ
らの目的のために、 VC78は、SAババス4から接
続さね且っC/Aメモリ入力アドレスマルチブレクサ(
CMIAM)86に対応するアドレス入力V−/=える
VCアドレスバッファ(VCAB)84足含んでいろ。
CMIAM86は、アドレス入力vcM80及びAM8
2に与え心。第2図に示さねるように、VCAB84は
また。アドレス入力vC/Aメモリ出力マルチプレクサ
(CMOM)88に与えろ。CMOM88は、以下にお
いて更に詳細に述べるように、CRTディスプレイ乞駆
動駆動ロジックへの文字及び属性コードのCM80及び
AM82がらの読出し?制御する。
■078は更に、VCデータトランスシーバ(VCD’
r)90馨含んでいる。VCDT90は。
SDババス6と相互接続されており、一部分1文字及び
属性コード7CM80及びAM82に薔き込むのに用い
られる。第2図に示されるように。
VCDT90に+’[た、CRT%11装置(CRTC
)92への出力が配設されている。CRTC92は。
CR,T駆動回路に制御信号ン与えゐ。またCRTC9
2は以下に詳細に述べられろ字体メモIJ(FM)94
からの入力が設けら名ろ。FM94は、FM94の内容
?SDバス16に読み出させろ。
FM94は、CRTディスプレイ上に表わされ得す種々
の文字及びシンボルコードに対応するビットパターン?
記憶−fゐのに用いられろ。CM80に記憶され且つC
RT上に表示さねる文字及びシンボル?表わすコードは
、CRTC92からCMIA、M86馨介して与えられ
ろアドレスの制御の下にCM80から読み出され、FM
94にアドレス入力として与えられろ。FM94は、対
応−16ビツトパターン?出力としてビットパターンシ
フトレジスタ(BPSR)96&C与えろことによりこ
れらの入力に応答する。BPSR96は、並列直列変換
2行い、その結果得らhb直直列ビットパターン域属性
ロジックAL)98に与える。
第2図に示すように、AL98は、AM82の出力から
の別の入力?含む。CM80に記憶されている文字/シ
ンボルコードに対応する属性コードは、CM80から読
み出さねた対応するコードと並列にAM82から読み出
さね、AL98によって用いらf″lることにより、こ
の対応する文字/7ンボルがそれらの対応する属性馨有
するように。
BPSR96から与えられたビットパターン?適当に修
正す65AL98の出力はテキストビデオ出力としてC
RTドライバ回路に与えられ、この結果、CRTスクリ
ーン上に対応する表示2行う。
最後に、VC78は、タイミング発生器ロジック(TG
L )100w含む。TGLlooは、SCバス18か
ら接続されており、タイミング及び制御信号7VC78
のロジック及び回路に与える。
ここで、VC78のビットマツプ部について説明する。
ビットマツプメモリ(BM)102は、ビットマツプの
形でもってCRTスクリーン上に表示されるべきイメー
ジ?記憶し与えろ。表示される情報はビットマツプメモ
リアドレスマルチプレクサ(BMAM’)104の出力
から接続されたアドレスバス?介して与えられたアドレ
スのmlJ [の下で、VCDT90の出力から接続さ
れたデータバス?介してビットマツプの形でBM102
に書き込まれる。BMAMl、04は、VCAB84の
出力から接続されたアドレスバスから書込みアドレス入
力?受ける。
BMAM104はまた%XX子アドレス発生器XAAI
)106及びY軸アドレス発生器(YAAG)108の
出力がら読出しアドレス入カ乞受けろ。
B、M2O3に記憶されたビットマツプイメージ清報は
、ビットマツプシフトレジスタ(BMSIt)1102
介してXAAG106及びYAAG1o8がら与えられ
た読出しアドレスの制御の下でBM102から読み出さ
れる。BMSRlloは並列直列変換?実行し、上記ビ
ットマツプイメージ情報はA、L98からのあり得るイ
メージ情報出力とビデオORゲート(■0RG)におい
て結合され心。V’0I(G112の出力は次に、ビデ
オ出力としてCRTドライバ回路に与えられ、この結果
、CRTスクリーン上に対応する表示が行なわれる。
RM102の詳細な制御は、BM制御ロジック(BMC
L)1141C,J:”)”’(行ナワf′10゜BM
CL114には、TGLlooがらの側倒信号が配設さ
れている。
第6図について説明する。上記の型式のコンピュータシ
ステムの例示のソフトウェア及び制御構造の線図が図示
されている。
(第6図) 第6図に示すように、典型的なシステムのソフトウェア
/制御構造は多くのレベルに分がねでいる。現在の応用
プログラム(AP)116は最も高く最も見え得ろレベ
ルにある。CPU10及びCl012及び関連の外部装
置(ED)120.例えば、CRT、キーボード、ディ
スク駆動機構。
プリンタ及び通信製ff1ii乞含むシステムハードウ
ェア構造(H8)118は、最も低いレベルにある。
AP116及びH311Rの間には、オペレーティング
システム(O8’)120及び基本入力/出力システム
(BIO8)122が介在している。前に述へたように
、08120は基本的に、コンピュータシステムの全体
のオペレーション?監視し、命会し、制御する。更に、
08120は、システムで実行されているAP116と
、H8118を含むシステム自体の実際の内部構造との
間のインターフェース載荷う。基本的には、AP116
は、実際の基本的なシステム構造ではなく08120の
もとで「実行」され且っ08120Y +見る」もので
ある。多りのシステムにおいて、08120はしばしば
、ディスクオペレーティングシステムCD08)と呼ば
れるが、MM48の中に置かれ且つ1例えば、ディスク
からその中にロードされろ。
これも前に述べたように、コンピュータシステムの基本
的な構造は、設計者の設計上の選択、意図された特徴及
び機能及び利用可能な装置の技術によって5 しばしば
大きく異なる。標準化されるためには、オペレーティン
グシステムはシステムハードウェアと直接には交信でき
ないが、各ハードウェア製造業者によって与えられるル
ーチン?制御するハードウェアへのインターフェース?
規定しなければならない。その結果、08120等のI
I準Jオペレーティングシステムは一般的にシステム構
造において直接実行されることができない。
この理由により、このシステム制御構造は更に。
このシステムの内部構造の一部分として、基本入力/出
力システム、即ち、(BIO3)122と呼ばわる別の
レベル2含む。BIO8122は基本的には、ルーチン
のンーケンス、即ち、システム構造の機能及びオペレー
ティング最も低く且つ最も詳細なレベルでもって命令し
且つ制御′するプログラムからなり、このBIO812
2は、08120とシステムの内部構造との間にインタ
ーフェース?形成する。BIO8122はまた。システ
ムエレメント、例えば、l−18118’に含むエレメ
ントが。
それら自身の間や、制御のより高いレベルと交信f6時
に用いられ心、以下に更に詳細に述べられろ主な手段?
与えている。更に、多くのBIO8が、標準オペレーテ
ィングシステムの−1ではなく付加的な機能性?システ
ムに二えろ、あるいはシステムの性能馨向上する。付加
的なサービスルーチン即ち特徴?与えろ。
BIO8122は、EPROM68の中に存在するシス
テム初期設定ルーチンと同じ方法でもって。
例えば、ディスクからその中にロードさねているMM4
Bの中かあるいは続出し専用メモ’J (ROM)の中
に置かれ得ろ。多くのシステムでは、 BIO8122
は1部分的にROMの中に、そして部分的にロード可能
ルーチンとしてMM48の中に箪かれろ。
このシステム構造は1割込み機構(IM)124と呼ば
れろ別の制御及び通信ニレメン)Y含んでいる。IM1
24は、プログラムの実行中に発生する事象であってこ
のプログラムの実行中は直接のステップとして通常は実
行されない事象?取り扱うための機構である。斯かる事
象が発生した場合、プログラムの実行は1−割り込まれ
」、プログラムの実行状態は退避され、この事象は処理
され。
プログラムの実行はそれが割り込まれた時点から再開さ
れる。
割込みの2つの主なりラスはAP116又は03120
ルーチンによつ℃開始されろソフトウェア割込み及びH
8118v含むエレメントのオペレーションによって開
始されるハードウェア割込みである。即ち、ソフトウェ
ア割込みは、あるプログラムがオペレーティングシステ
ムあるいはシステムハードウェアによって実行されるオ
ペレーション馨有すること?希望した時にこのプログラ
ムによって呼び出されるのに対し、ハードウェア割込み
は、システムハードウェアのあるエレメントがサービス
?要求する時に発生する。
この割込みルーチンは、B108122ルーチント同一
レベルのディテールに対して基本的に機能し1通常は、
第1図及び第2図の例示システムにおいては、BIO8
122に存在するルーチンの一部分として見なされろ、
しかしながら、BIO8122及びIMl 24内の機
能の特定の割当てに応じて、この割込みルーチンは、別
々の組のルーチン2含むと見なされ得る。また、この割
込みルーチンは、ロード可能ルーチンとしてMM48の
中に存在するか、ROMの中に存在し、あるいはそれら
の結合の中に置かれろ。
ソフトウェア割込みの処理、即ち、適当なソフトウェア
割込み処理ルーチンの呼出し即ち開始は。
BIO8122ルーチンの呼出し即ち開始と同じ方法で
もって実行される。即ち、API 1(S又は0812
0ルーチンは、MM48あるいはROMの中に記憶され
た適当女割込み処理ルーチン?アドレスする要求即ち命
令2発′f石。
H8118によって発生されるハードウェア割込みは、
この目的のために与えらねた特定のロジック馨介して開
始され、 HS 118エレメントのオペレーションの
結果から生じろ。第1図及び第2図の例示システムの場
合、この機構は、PIC66及びNMIL56によって
与えられる。基本的には、PIC66及びNMIL36
には、H8118の種々のエレメントからのこの目的の
ための特定の制御信号入力が設けられる。H3118エ
レメントの中におけろ割込み状態の発生が斯かる割込み
入力?介してPIC66又はNMIL56に指示される
と、PIC66又はNMI L 56は、メモリ中に存
在する割込みベクトルテーブル中の対応する位置をアド
レスする対応した要求即ち命令?与えろ。この割込みベ
クトルテーブルは、メモリ中の対応する割込み処理ルー
チンの位置?識別するベクトル、あるいはアドレス2含
んでいろ。このテーブルから読み出されたベクトルは次
に、対応する割込み処理ルーチン2選択し開始するのに
用いられる。
、PIC66及びNMIL56は、2つの型の割込み状
態に対して割込入オペレーション?開始する。
これらは、それぞれ、マスク不可能割込み及びマスク不
可能割込みであ7)、この場合、マスク不可能割込みは
、基本的に、即座に処理されなければならない状態であ
り、これに対し、マスク 可能割込みは、必要ならば、
その処理?遅延させてもよい割込み状態である。例えば
、マスク不可能割込みは、MM48中に発生するパリテ
ィ誤り即ちデータ誤り?含み、以下に説明′するように
、このシステムが別のシステムのエミュレータトシて動
作している時のI10オペレーションの処理?読み出す
。割込み状態の大きな群であるマスク可能割込みは、マ
スク不可能割込みに対して二次的に処理され、そのクラ
スの中では、優先付けさねる。
尚、マスク可能割込みの相対的優先度は、以下において
詳細に述べるようにPIC66のプログラミングによっ
て決定される。々スフ可能側込みは。
例えば、キーストローク入力、ディスク170完了、プ
リンタ■10.及び直列I10オペレーションを含んで
いる。
第1図乃至第6図に示す例示システムのアドレススペー
スは、基本的には、2つのアドレスで構成される。即ち
、第1のアドレススペースは、一般的なプログラム、ル
ーチン及びデータスペース(プログラム/データ)であ
り、第2のアドレス空間は、入力/出力及びシステム制
御(110−flll[)スペースである。両方のアド
レススペースは、BAババス0及びBDパス42?介し
てアクセスされ、アドレスされるスペースは実行されて
いるオペレーションによって決定される。
プログラム/データスペースは、一般的に、MM48及
びプログラムROM、例えば、E’PROM68からな
る。このアドレススペースは−a的に。
プログラム及びルーチン、例えば、AP116゜O81
20,及びBIO8122(割込みルーチン2含む)及
び斯かるプログラム及びルーチンのオペレーションに実
行さfするあるいはこのオペレーションから生ずるデー
タ馨記憶するのに用いられる。
以下に示すように、このスペースに含まれるのは。
ビデオ表示110機能のためのVC78の中に存在する
メモリスペースである。
l10−制御アドレススペースは、システム制御及び入
力/出力エレメント中のレジスタ及びメモリからなる。
このアドレススペースは1例工ば特定のシステム制御i
[11機能?プログラムす^ためのシステム制@VC用
いられろ情報馨記憶し与えるために且つこのシステムと
外部エレメント、例えば。
ディスクドライブあるいはキーボードとの間に情報を転
送f6ために用いられ心。しかしながら。
直ぐ前に述べたように1%定の170機能は、プログラ
ム/データスペースに存在し得る。
システム制御について述べると、多くのシステムエレメ
ント、例えば、PIC66あるいはEPCI74は、シ
ステムオペレーション指示機能馨実行するために個別的
にプログラム可能であることが銘記されるべきである。
助かるエレメントのオペレーションは、ソれらの内部メ
モリスペースに適当な合金及び/又はデータ馨アドレス
し且つ書き込むことによってプログラムされるっこhら
のエレメントは、その中のメモリスペースが適当にアク
セスされた時にシステムオペレーションの制御に用いら
れる情報馨記憶し与える5例えば、PIC66は、シス
テム割込み状態の相対的優先順位?決定し且つ各所かる
状態を呼び出すべく適当な割込みルーチン?示すように
プログラムされ46゜そして1発生した割込&状態に関
する情報がその中のレジスタに記憶され且つ割込み処理
ルーチンによってアクセスされて暇らf1ルべき適当な
処置?決定する。他のシステム制御エレメントは、プロ
グラム可能ではないが、この目的のためにアクセスされ
用いられ得るシステムオペレーションに関する情報を記
憶し与える。
このシステム入力/出力機能の場合、FDC72EPC
I74及びPPl76等の多くのエレメントは同様にし
て)煽グラム可能であり、更に、情報がこのシステムと
外部エレメントとの間にわたって転送されろ時に用いら
れる径路?含むレジスタ及びメモリスペース2含む。例
えば、FDC72は。
このシステムとディスクとの間?転送されているtll
iv記憶しバッファ′するのに用いられろレジスタ2含
んでいる。これらのレジスタは、BAババス0’に介し
てアドレスされ、ディスクにあるいはディスクから転送
される情報がBDババス2馨介してこれらのレジスタに
あるいはこれらのレジスタから賽き込まれ読み出される
。別の例では。
UART70は、このシステムによって絖人出される迄
キーストローク情報?バッファし記憶するのに用いられ
る同様のレジスタ2含んでいる。
第4図について説明する。このシステムのアドレススペ
ースの線図が図示されている。ここに書かれたアドレス
スペース内の種々の範囲は図面の左に示された16進表
記法でもってアドレスによって描写されている。アドレ
ススペースの各セグメントの機能は1図面の右の方に示
されている。
先ず最初にプログラム/データスペースにおいて5例え
ば、アドレススペース00000Hから9FFFFH(
H=16進)はCPU10にアクセス可能であり且つ通
常はMM48の中に存在していb−a的な了ドレススペ
ースである。このスヘース内では、アドレス0OOOH
から005FFが予約され且つ1例えば、IM124に
よって用いらねる前に説明されたテーブルに対して割り
当てられている。アドレススペースEOOOOHからF
5FFFHは、ビデオ表示メモリ、例えば、■078内
に存在する表示メモリに割り当てらねている。この場合
、アドレススペースF0000HからFOFFFHは、
CM80及びAM82に対応し。
F2000HからF3FFFHはFM94に対応し。
EOOOOHからE7FFFHはBMl 02に対応す
る。最後に、アドレススペースFC000HからFFF
FFHは例えば、そこに記憶さねているEPROM68
及びルーチンに対して予約されて割り当てられろ。
第2に、入力/出力−制御スペースにおいて。
アドレス10001(からIFFFHは、入力/出力及
び制御機能に用いられろ。このアドレス範囲の内。
第1図に示されろエレメントはアドレス1000Hから
1OFF)lla’占有し、こねに対して、アドレス1
XOOHからIXFFH(Xは1に等しいか1よりも大
きい)は付加的且つ選択的なエレメント、例えば、ウィ
ンチェスタ(Wincbester ”)  駆動機構
に対して予約される。
「ハーソナル」又は[フロフェッショナル」コンピュー
タのクラスの典型的なシステムの構造及ヒオペレーショ
ンについて述べてきたので、別ノシステムによる1つの
斯かるシステムのエミュレーションに対する影響の要因
2次に述べろことにする。
ステムの相違 前に述べたよう(C1「ソフトウェアボータビリティ」
におけろ主な問題5即ち、第1のシステムのために書か
れたプログラム馨修正−tbこと無しに第2の異なるシ
ステムで実行−する能力におけろ主な問題は、応用プロ
グラム開発者がオペレーティングシステム?バイパスf
6という実務的慣行かう生シタ。即ち、オペレーティン
グシステムへのみ或いはオペレーティングシステム?介
してのみ進むのではなく、あるシステムのBIO8,割
込み機構あるいは〕・−ドウエア構造に直接進む分合や
コマンドン応用プログラムに含ませるという実務的慣行
からこの問題が生(′ル。その結果、2つの斯かるシス
テムの間の内部構造の相違のために、第1のシステムの
ために書かれた応用プログラムであってこの第1システ
ムの内部構造に直接分砕及びコマンド?与えろ応用プロ
グラムは、第2のシステムで実行される時に期待された
結果?与えることができないことがある。
第2のシステムは1例えば、そのBIO8の構造及びオ
ペレーションにおいて、そのプログラム/データアドレ
ススペースにおけろプログラム及びルーチンのマツピン
グ即ち位置決めにおいて。
その割込み機構において、そのl10−制御アドレスス
ペースにおいて、あるいはソノハードウェアデバイスに
おいて異fL6゜この2つのシステムは、同一の目的に
対して異なるデバイス馨使用しあるいは異なる目的に対
して同一のデバイス馨用いることがある。例えば、PP
l76は、ワンプPCにおいて並列プリンタ?駆動する
のに用いられろが、同一のデバイスはIBMPCにおい
てキーボードインターフェースデバイスとして用いられ
ろ。別の例においては、あるシステムは直列I10オペ
レーションのためにシグネテイクス(Signe−ti
cs ) 2661 UART乞用いろのに対し、別の
システムはナショナルセミコンダクタ8250 UA、
RT馨用いろ。これらの各々が、異なった命砕に応答し
且つ異なったI10アドレス?用いる。更に別の例の場
合、2つのシステムは、与えられたキーにおいて且つこ
の種々のキーに対応′fゐハードウェアコードにおいて
異なるキーボード2有している。前に述べたように、あ
るシステムのBIO8は基本的に、このシステムのオペ
レーティングシステムとこのシステムのハードウェア構
造との間のaで4;b。それ故、2つのシステムのBI
O8は、それに応じて異なり、第1システムのBIO8
に関して有効である分合あるいはコマンドは第2システ
ムのBIO8に対しては有効ではないことがある。
別の例の場合、2つのシステムのプログラム/データア
ドレススペースの構成は、以下のように異なることがあ
る。即ち、第1システムに対して誉かれた応用プログラ
ムはデータあるいはルーチン?、他の機能に予約された
即ち割り当てられた第2システムのプログラム/データ
スペースの一部分に曹き込むかこれぞ修正′fゐように
試みる。
例で示すと、ビデオ表示情報?記憶−′tゐのに割り当
てられたソングPCプログラム/データスペース、即ち
、VC78のメモリスペースは、IBMI) Cにおい
てこの機能に割り当てられたメモリスペースとは異なる
。それ故、IBM  PCに対して書かれ且つVC78
に対して直接豊き込むビデオ表示出力を8えろ如何なろ
プログラムもソングシステムにおいて正しく実行−tに
とができ社い。
また逆も同じである。
更に別の例の場合、ソング PC及びIBMPCの割込
み機構は2つの点において異なる。先ず、上に述べたよ
うに、この2つのシステムの割込み処理ルーチン及びテ
ーブルは、2つのシステムアドレススペースの異なる部
分に存在しているが、これは割込みルーチンに対して直
接呼び出しン行うIBM  PC応用プログラムが、再
び、正しく実行できないようにするためである。別の差
の場合、ソング PCでは、特定の71−ドウエア割込
みルーチンは多重デバイスからの割込み馨処理し、この
割込み機構は5どの特定のデバイスがサービス?要求し
ているか?識別f7)。IBMPCにおいて、各デバイ
スには個別の割込みベクトルが設けられている。即ち、
各デバイスには独立の割込みサービスルーチンが効果的
に設けられている。更に、この2つのシステムのソフト
ウェア割込みサービスルーチンは、完全に異なる仕様馨
有する。即ち、完全に異なる状態に応答することが要求
さねろ。
最終的な例において、2つのシステムの入力/出力デバ
イスのアドレス即ち「ポート」は、ツレらのl1O−4
tl[アドレススペースの異なる領域にマツプさね、そ
れらのそれぞれのスペース内に別々に組織さね、あるい
は異なるI10デバイス?処理″する。
6図) 第1システムに対して書かれたプログラム?修正するこ
となしに第2システムに対して実行できるような方法で
もって第1システム馨第2システムによってエミュレー
トすることは第1システム馨4つの観点からエミュレー
トすることが要求される。これらはBiO3、プログラ
ム/データアドレススペースのマツピング、割込み機構
、及びl1O−fltl[lアドレススペースのマツピ
ング、構造及び機能性である。特定のオペレーティング
システムを与えられたシステムのハードウェア及び内部
構造に結合していbBIO8の機能、オペレーション及
び設計は、当業者には公知であり1本明細誉にはこれ以
上詳細には述べない。ここで銘記すべきことは1%定の
BiO2が別のBIO8馨エミュレートするという要求
は、エミュレートしているBiO2の特性の基本的変化
ではなく。
エミュレートしてい心BIO8の設計上)束縛として作
用することである。
同様にして、あるシステム、のプログラム/データアド
レススペースの別のシステムのプログラム/データアド
レススペース?エミュレート−tろための再マツピング
は、当技術においては公知であり1通常はこの目的のた
めに簀かれたプログラムの制御の下で、多くのシステム
において容易に達成サレ得る。例えば、ソングプロフェ
ッショナルコンピュータに対してIBM  PCvエミ
ュレートすイ際、ソングシステムのプログラム/データ
スペースの主な再マツピングは、IBMビデオ表示メモ
リに対するアドレススペースと特定の予約7ドレススペ
ースの割当て及びソング割込みテーブル及びルーチンの
再配置2含む。
例として述べろと、そうでない場合自由であるソングシ
ステムアドレススペースBOOOOI−1からBOFF
FH及びB1000HからBIFFFl−1は。
VC78のCM80及びAM82に類似ノフレームバツ
ファ、及びIBM  PCシステムvcLけ%)かかる
スペースに対応する予約アドレススペース2含むために
それぞね割り当てられろ。VC78は、これにより、l
BMPCシステムに対して書かれたプログラムによって
期待されたアドレスに表示データ馨受は且つ与えろ。
前に述べたように、ソングシステム割込みテーブル及び
ルーチンは、ソングプログラム/データスペースの位置
00000Hから003FF’Hに存在する、しかしな
がら、これらの領域の特定の領域は、IBMPCシステ
ムにおいて保護あるいは予約されず、IBMPCに対し
て書かれたプログラムは、ソングシステムアドレススペ
ースのこの領域に書き込むかあるいは他の方法で修正す
る。
従って、特定のソング割込みベクトル即ち、ソング P
Cハードウェア機能に対する割込み処理ルーチンの位置
?指示するアドレスは、ベクトル数00080H乃至0
0087H(アドレス2oOH乃至21FH)から、I
BM Pcシステムに予約され6 yl/ ベクトル数
00050)1乃至00057H(アドレス140H乃
至15FH)に再配置されろ。これらの割込みベクトル
の再配置は、PIC66が対応する割込み状態に応答し
て再配置ベクトルの適当な新しいアドレス?与えるよう
VcPIC66の再プログラミング?必要と16゜前ニ
述べたように、PIC66は、プログラマブルデバイス
であり、エミュレーションBIO8又ヲ工この目的のた
めに与えられた他のソフトウェアによってこの目的のた
めに適当に再プログラムさ!#!得る。
システムエミュレーションの残りの2つの領域、l10
−制御アドレススペースのマツピング、構造及び機能性
、及び割込み機構は、より詳細に次に述べられろ。
前に述へたように、システムl1b ードウエアエレメント並びに、情報がこのシステムと外
部デバイス、例えば、ディスク駆動機構。
ビデオ表示装置、キーボード、直列入出力デバイス及び
並列入出力デバイスとの間に通信されろ時の制御ルーチ
ンからな姑これも前に述べたように、エミュレートシて
いるシステムとエミュレートさねているシステムは、し
ばしば、同様の110機能を実行するのに異なるハード
ウェアデバイス?用い、これらのデバイスが同じ場合で
も、プログラム可能なこれらのI10デバイスは異なっ
た方法でプログラムされる。更に、I10デバイスポー
トは、この2つのシステムにおいて、そゎらのそれぞれ
のl10−制御アドレススペースにおいて異なった位置
2占有する。例えば、IBMPC1411’)I10ホ
ードは、アドレススペース000H乃至5FFHに置か
れ、これに対して、ソングプロフェッショナルフンピユ
ータ中のI10ホードは、上記のように、アドレス10
00I(7にいしIFFFI−1に位置する。
その結果、第1のシステムのために誉かれたプログラム
によって発生するI10要求は、これらのプログラムが
第2のシステムにおいて実行された時には無効となる可
能性が高い。この第2のシステムは、これにより、プロ
グラム発生I10要求に関して第1のシステムのI10
構造?エミュレートしなけhばならず、そのI10構造
に対して広範なあるいは基本的な修正?要求することな
くこれ?行うことが好ましい。
第5A図及び第5B図について説明’する。現在のシス
テムが別のシステムのI10構造及び機能性?エミュレ
ートす心待に用いる機構が示されている。ここに示すよ
うに、この機構は、110マスク不可能割込み機構(I
ONMIM)128及びI10エミュレーション機構(
IOEM’)150乞含んでいる。尚、IONMIM1
28は、このシステムの前に存在したIM124Y含む
。以下に述べろように、IONMIM128は、「外部
の」I10要求、即ち、もともと別のシステムに対して
養かれたプログラムによって発生されたI 10iQ求
の発生?検出する。以下に更に詳しく述べるように。
10001−1乃至IFFFHのアドレス範囲の外のI
10要求は、外部のI10要求と見なされろ。IOEM
1′50は、他のシステムのl1b −1jるように現在のシステムの1/(J構造に指示す
る制御ルーチン?与える。
先ず外部のI10要求の検出?考慮すると、前に述べた
ように、CPUl0は、入力/出力復号ロジック(IO
DL)29乞含む。l0DL29は。
基本的には、システム入力/出力要求?監視し。
第1に、I10!求が発生したか否か?示す対応した制
御信号出力?与え、第2に、この110要求が有効なI
10ボートアドレス位置に対しであるか否か馨示す対応
した制御信号出力をSCバス18に与える。
ここでIONMIM128について説明す心。
IONMIM128は、110検出ロジツク(l0DE
T)152馨含む。l0DET152は、SCバス18
から、特に、上記(7’)IODL29制御出力から接
続された入力2有している。l0DET152  は、
これらの制御信号に応答して、現在のシステムにおけろ
有効な110ポートアドレスに対してではないI10要
求の発生の際に、即ち、外部のI10要求(7’l生の
際に、このシステムのIMl 24にマスク不可能割込
み(NMI)’a’与える。IM124は、前に述べた
ように、対応する割込み処理ルーチン(IHR)156
0位fltw識別するベクトル即ちアドレス留金む割込
みベクトルテーブル164において対応す心位置?アド
レスする割込みベクトルアドレスcIVA)出力?与え
る。
現在のシステムカ他のシステム?エミュレートしている
時、IMl 24のIVT134及びIHR166には
、下に述べられ6IOEM130のオペレーション?制
御するための適当なベクトル及びルーチンが付加的に設
けられている。IMl 24のプログラミング及びIO
EM150の後続のオペレーション?制御するための適
当なルーチンの作成は、IOEM150のオペレーショ
ンの次の説明?行うと当業者にとっては明らかとなろう
I10エミュレーションルーチンは、上記のよ51C,
I OEM130によるシステムの中に存在し且つこの
システムに与えられ、実行されろオペレーションの型に
よって2つの群に構成される。
最初の群は、書込みオペレーション・エミュレーション
・ルーチンからなり且つ読出し110エミユレーシヨン
・ルーチy(RIOER)158&C存在し、これに対
し、第2の群は、誉込みオペレーションOエミュレーシ
ョン・ルーチンからなり、書込みI10エミュレーショ
ン−ルーチンl/l0ER)140の中に存在する。I
HR136に関して前に説明したように、RIOERl
l及びWIOER140は、システムのプログラム/デ
ータスペースの一部分、即ちロードされたコードとして
のメモリあるいはROMの中に一般的に存在−′する。
ここで銘記すべきことは、第5A図において示されろよ
うに、RIOER15B及びWIOER140に存在ス
るI10エミュレーション嚇ルーチハエ。
それぞれ絖出しディフォル)−ルーチン(RDEF)1
42及び書込みディフォルト・ルーチン(Wl)EF)
144v含むことである。これらのルーチンは、RIO
ER158及びWIOER140に与えられたエミュレ
ーション−ルーチンによって指示され得すい特定の外部
のI10オペレーションの発生に対して与えられる。斯
かる要求は1通常は殆ど見えないが、特定の応用プログ
ラムにおいては発生する。斯かる場合、RDEF142
及びWDEF144は基本的には、更にアクション2起
すことなく且つシステムオペレーションが不4i1ic
中断されることがないように指示されていない要求?終
了させる。
エミュレートされる各型のオペレーション、即ち%読出
しあるいは書込みにおいて、実行されるオペレーション
は、オペレーションの1クラス」。
例えば、同様の特徴を有するクラスに編制され。
RIOER15B及びW10ER14C1に存在−する
ルーチンは通常は、このようにして組織さねろ。これに
より、特定の外部のI10オペレーションtエミュレー
トするための特定のRIOERli 又1WIOER1
40の選択は、オペレー・/ヨンの型の識別、この型内
のオペレーションのクラス、及びこのクラス内の特定の
対応するルーチンの識別t     ′要求する。
外部のI10要求に応答−するRIO1158及びWI
OER140からのI10エミュレーションルーチンの
選択は、上記のように、IHR156に存在′するルー
チンによって制御されろ。ルーチンの実際の選択は、I
HR156によって与えらね。
るルーチンの制御の下で5g出し指名テーブル(RDT
)146及び書込み指名テーブル(WDT)148及び
対応する続出しクラステーブル(RCT)150及び誉
込みクラステープ/l/(WCT)152からなろ機構
?介して行なわれ心。RDT 146及びRCT150
は、RIOERliに存在するルーチンかう読出しオペ
レーションルーチント選択するのに用いらf15これに
対して、WDT148及びWCT152は、WIOER
140に存在′するオペレーションから1込みオペレー
ション乞選択するのに用いろわろ。
以下に述べろように、RCTl 50及びWCT152
はそれぞね、R10ER138及びWI OER140
vc存在する個へのエミュレーション・ルーチンの位置
?識別し、これ?選択する抗出しI10エミュレーショ
ン・ルーチン−ホインタ及ヒ書込みI10エミュレーシ
ョンeルーチン―ポインタ(RIOERP及びWIOE
RP)即ちアドレスを含んでいる。RCT156及びW
CT158の内部槽−造の線図である第5B図に示すよ
うに、RCT156及びWCT 158&C存在−r’
lsホイ7タ+!。
R10ER138及びWIOER140のエミュレーシ
ョンルーチンのクラス分けに対応するクラス154に構
成さねでいろ。各クラス154は。
RIOER138及びWIOERl 40における個々
の対応するエミュレーションルーチンの位置w識別する
ポインタl0ER156馨含んでいろ。
RCTl 50及びWCT152におけろポインタは、
一部分RDT152及びWDT154から与えられるア
ドレス入力によって選択され、一部分、外部のI10オ
ペレーション装求に関−f6情報?ラッチし且つ記憶す
る特定のIOEM130レジスタから与えられろアドレ
ス入力によって選択されろ。以下に述べられるように、
RDT146及びWDT 148に記憶され且つRDT
146及びWDT 148によってそれぞれRCTl 
50及びWCT152に与えらf1bアドレスは、イン
デックスアドレスとして用いられ、RCT150又はW
CT152内において、RIOERl 38及びWIO
ERl 40における適当なエミュレーション・ルーチ
ン馨指示−するl0ERvきむ特定のクラス154を選
択するっこの外部I10要求に属けるラッチされた情報
は、一部分、RCTI 50又はWCT152に与えら
れろそこに記憶された適当なインデックス馨選択−f6
ためにRDT146及びWDT148Yアドレスするの
に用いられ。
一部分、RDT146又はWDT148によって与えら
れたインデックスアドレスによって選択された対応する
クラス154内において個々のI OER?選択’する
ためにRCT150及びWCT152へのアドレスオフ
セット入力として用いられろ。
外部のI10要求に関する情報馨ラッチし且つ記憶−す
るためのIOEM130レジスタについて述べる。IO
EM150は、SAババス4から相互接続されたI10
アドレスレジスタ(IOA’)158、SDババス6か
ら相互接続された1/Uデータレジスタ(IOD)16
0.及びSCバス18から相互接続されたI10ステー
タスレジスタ(IO8)162馨含んでいろ。外部のI
10要求の開始の際、l0DET132のNMI出力は
、上記ノヨウに、lOEMl 50のオペレーション?
分合するためのll−lR136110エミエレーシヨ
ン・ルーチン2選択し開始し、同時に、この要求に関す
る特定の情報乞10A158.l0D16D及びl08
162にラッチ′する。即ち、要求された外部のI10
アドレスはl0A158にラッチされ、この要求が11
0畳込みオペレーションのための場合、書き込まれるデ
ータは1.0D160にラッチされる。IO3162&
cラツチさJまたステータス情報は、この要求の発生の
事実、即ち。
この要求が読出しあるいは書込入か、これが1ノ(イト
かあるいはワードI10アクセスか、ワードである場合
、このアドレスが奇数のアドレスにあるか馨含んでいる
外部の■10オペレーション割込みに応答して。
このシステムはシステムIM124に関して前に述べた
ように割込み状態退避オペレーション乞実行?6つIH
Rl 36から与えらねた110エミユレーシヨン制御
ルーチンは1次にl0A15BからI/(1’求アドレ
ス情報?挽み出し且つ1O8162からステータス情報
ン読出す。この要求されたオペレーションが続出しかあ
るいは書込みであるか?識別−1−6ステータス情報及
びl0A158から読み出されたアドレス情報の第10
)部分は。
RIOER138又はWIOER140に存在f心適当
す対応したエミュレーション・ルーチンに対するl0E
RPv含むクラス154の識別用インデクラスYRCT
 150又G!WCT 152[オイ(得6ベく、RD
Tl 46及びWDTl 48へのアドレス入力として
用いられる。この場合、RDT146及びWDT148
へのアドレスの読出し/書込&スデータス情報の部分は
、この対応するインデックスがアドレスのRDT146
又はWDT148範囲に存在するか否か?選択f6゜R
DT146又はWDT148から挽み出されたインデッ
クスは1次に、実行されルエミュV −ジョン・ルーチ
ンに対するl0ERPY含むクラス54馨選択するため
にそれぞれRCT150又はWCT152へのアドレス
の第1の部分として用いられる。RCT150又+zW
CT152へのアドレスの第2の部分は、上記のように
、l0A158から読み出されるアドレス情報の第2の
部分からab。RCTl 50/WCT1527ドL/
ス入力のこの部分シ耘エミュレーションールーチアC対
−するl0ERPの位置?アドレスのインデックス部分
によって選択されたクラス154内で選択するためIC
,インデックス入力に対して相対的な効果的オフセット
roffset)として用いられ6゜この選択されたl
0ERPは次vc、IT−IR136から与えられたI
10エミュレーション制御ルーチンによって用いられ、
RIOBR138又はWIOER140中に存在するル
ーチンから適当なエミュレーション・ルーチン2選択し
開始する。
このエミュレーションルーチンは次に、要求さねた外部
のI10オペレーション?適当にエミュレートするため
に、必要に応じて108162に存在するステータス情
報?アクセスする。この要求さh たオペレーションが
データ1込みに対シてであった場合、この選択されたエ
ミュレーションルーチンは、ラッチされたデータ乞読出
り、l0D160に適当に転送する。
以上1本発明のシステムが別のシステムのI10構造?
エミュレートする時に用いる手段について述べてきたの
で1本発明のシステムがこの他のシステムの割込み、構
造?エミュレートi;b時に用いる手段について以下に
述べろことにする。
2、  割込ミ機構エミュレーション(第6図)前に述
べたように5本明細書に述べた型式のシステムには2つ
のクラスの割込みオペレーションが存在する。即ち、ソ
フトウェア割込み及びハードウェア割込みである。ソフ
トウェア割込みは。
AP116又はO8120ルーチンによって開始され、
ハードウェア割込みは、H8118Y含むハードウェア
エレメントのオペレーションによって開始されろっハー
ドウェア割込みの例は、以下のもの?含む。即ち、キー
ボードから開始されろキーボード入力、直列ポートI1
0オペレーション及び並列ポート110オペレーシヨン
、ティスフオペレーション及び時制シーケンスである。
割込みオペレーション?処理f/)ためのルーチンIH
R136は、BrO8122ルーチンと基本的に同一の
レベルのディティルでもって機能し、通常は5第5A図
に表わされろ第1図及び第2図の例示システムのように
、BIO8I 22に存在するルーチンの一部として見
lさtする。
ソフトウェア割込みの処理、即ち、適当なソフトウェア
割込み処理ルーチンの呼出し即ち開始は。
BIO3122ルーチンの呼出し即ち開始と同じ方法で
もって行なわれろ。即ち、AP116又は08120ル
ーチンは、MM48又はROMに記憶される適当な割込
み処理ルーチン?アドレスすb要求*aち分合2発する
。これにより、別のシステムのソフトウェア割込みオペ
レーションのエミュレーションは、前に述べたように、
他のシステム?エミュレートするBrO3に適当な割込
み処理ルーチン?付加するという問題になゐ。
H8118によって呼び出されるハードウェア割込みは
、この目的のために与えらねた特定のロジックヶ介して
開始され、l−18118エレメントのオペレーション
から生じる。第1図及び第2図及び第5A図の例示シス
テムにおいて、この機構はPIC66及びNMIL36
によって与えられる。基本的には、PIC66及びNM
iL56には、H8I 1 sの種々のエレメントから
のこの目的のための特定の制御信号入力が設けられてい
る。
l−l5118エレメントにおけ金側込み状態の発生が
斯かる割込み入力2通してPIC66又はNMIL36
に指示されると、P工C66又はNMIL36は、割込
みベクトルテーブル(IVT164)における対応する
位置?アドレス−f′る対応したアドレス(IVl’f
与える。IVT134は、IHR136における対応し
た割込み処理ルーチンの位置?識別するベクトル即ちア
ドレス2含み且つ与える。
曲に述べたように、2つのシステムの内部ハードウェア
構造及びオペレーションは大きく異なることがあり、そ
の結果、これらのシステムのハードウェア割込み機構の
オペレーションも異なることがある。従って、一方のシ
ステムに対して書かれた且つこのシステムの割込み機構
に直接交信する応用プログラムは、別のシステムに対し
て正しく実行できないことが多りある5例として示すと
特定の応用プログラムは、ユーザにキーボートン用いて
特定の情報?入力′すること?要求し、キーボード入力
割込みを処理するハードウェア割込みルーチンが特定の
方法でこの情報?示すこと馨期待する。
上記のように、第1のシステムによる第2のシステムの
ソフトウェア割込み機構のエミュレーションは、第2の
システム乞エミュレートすル第1システムのBIO8I
Cよって実行−′t′心ことかでき。
これは、当業者によく理解されているプロセスである。
しかしながら、第1のシステムによる第2のシステムの
ハードウェア割込み機構のエミュレーションは、第2の
システムのI10構造をエミュレートす心問題と同様の
問題である。
第6図について説明する。本発明に係るシステムが第2
のシステムのハードウェア割込ミ機構wエミュレートす
る時に用いろ手段の線図が図示されている。ここには1
本発明に係るシステムのハードウェア割込み機構が示さ
れており、このシステムは、PIC66及びNMIL5
6、IVT164及びIHR136’に含んでいろ。こ
れらのオペレーションについては前に述ベラネている。
本発明のシステムのハードウェア割込みエミュレーショ
ン機構において、IHR136は、ソのソフトウェア割
込みサービスルーチン(SISR164)において、第
2システムのノh−ドウエア割込み機構のオペレーショ
ンンエミュレートする付加的な一群のノー−ドウエア割
込みエミュレーション・ルーチン(HIER)166馨
含んで(九る。
IVT134は対応的に、付加的な)i I E Rベ
クトル(HIERV)16B乃至HIER166乞含ん
でおり、IHR136の71−ドウエア割込みサービス
ルーチン(HISR170’)は、 HIERV166
への基準ヶ含むように変えらねる。
HIER166、HIERVl 68及び変化したHI
SR170は、このシステムが第2システム?エミユレ
ートしている時にイネーブルされろ。これにより、この
システムにおけろノ・−ドウエア割込みの発生は、対応
−f′るHISR170が、対応するHIER■168
馨通して5ISR164に存在する対応したI−IIE
R1661’呼び出すという結果?生ずろ。HIER1
66は、HIERV168及び変化したll5R170
はこれにより、上記の、ソフトウェア割込みオペレーシ
ョンと同じ方法でもってハードウェア割込みオペレーシ
ョン?効果的に行なう。
ここで銘記すべきように、HIER164は純粋にエミ
ュレーション・ルーチンに限定されな(1カー。
付加的な機能性即ち向上された性能ン与えろ他のルーチ
ン2含みあるいはこのルーチンに置き換えられ得る。ま
た、)\−ドウエア割込みエミュレーション・ルーチン
の設計及びオペレーション(゛よ。
ソフトウェア割込みルーチンのそれと同様であり。
当業者にとっては公知であるため1本明細書にやまこれ
以上詳細には論じない。
【図面の簡単な説明】
第1図は、「ハーソナル」又は「プロフェッショナルコ
クラスのコンピュータシステムのフ゛ロック図。第2図
は、第1図のシステムに用℃・られ、ろビデオ制御装置
のブロック図。第6図は、第1図及び第2図に示されて
いるシステムのソフトウェア及び制御構造の線図。第4
図は、第1図乃至第6図のシステムのアドレススペース
の線図。第5A図及び第5B図は、I10構造エミュレ
ーション手段の線図。第6図は、ハードウェア割込みエ
ミュレーション機構(’) 線図。 10・・・中央処理装[(CPU’)、   12・・
・制御入力/−力論理(CIO)、  36・・・マス
ク不可能割込論理(NMIL)、  66・・・プログ
ラマブル割込制御装置(PIc)、  118・・・ハ
ードウェア構造(HS )、  120・・・外部デバ
イス(ED)、   122・・・基本入力/出力シス
テム(BIO8)、  124・・・割込機構(IM)
、   128・・・I10マスク不可能割込機構(I
ONMl、M)、160・・・I10エミュレーション
機構(IOEM)、152・・・I10検出ロジック(
IODET)。 164・・・割込ベクトルテーブル、  166・・・
割込処理ルーチン(II−IR)、   158・・・
読出し110エミユレーシヨンルーチン(RIOER’
)%140・・・書込みI10エミュレーションルーチ
ン(WIOER)、  146・・・読出し指名テーブ
ル(RDT)、   14B・・・誉込入指名テーブル
(WDT)、   150・・・読出しクラステーブル
(RCT)、  152・・・書込みクラステーブル(
WCT)。 154・・・クラス、  160・・・I10データレ
ジスタ(IOD)、  162・・・I10ステータス
レジスタ(IO8)。 (外5名) FIG、 1 FIG、3 FIG、 4 FIG、 5B

Claims (1)

  1. 【特許請求の範囲】 1)データ処理システムであつて、プログラムを記憶す
    るための手段と、上記プログラムに応答するCPU手段
    であつて上記データを処理するためのCPU手段と、上
    記プログラムに応答する入力/出力構造であつて上記シ
    ステムと外部デバイスの間に情報を通信するための入力
    /出力構造と、を含むデータ処理システムにおいて、 他のシステムの入力/出力構造のオペレーションをエミ
    ュレートするように上記システムの入力/出力構造のオ
    ペレーションを命令するためのルーチンを記憶するため
    の手段と、 上記プログラムに応答する割込み手段であつて、外部の
    入力/出力オペレーション要求の発生を検出し、対応す
    るマスク不可能割込みを発生するための割込み手段と、 上記マスク不可能割込みに応答し且つ上記の対応する外
    部の入力/出力要求に応答する手段であつて、対応する
    入力/出力エミュレーションルーチンを選択し実行する
    ための手段と、を含むことを特徴とする上記の他のシス
    テムの入力/出力構造のエミュレート手段。 2)上記割込み手段は、 上記プログラムに応答する入力/出力要求検出手段であ
    つて、入力/出力要求の発生及び型を指示するための入
    力/出力要求検出手段を含むことを特徴とし、且つ 上記の外部の入力/出力要求を検出するための割込み手
    段は、上記入力/出力要求検出手段に応答する手段であ
    つて、通常は上記システム入力/出力構造に認識されな
    い要求を検出し、対応するマスク不可能割込みを供給す
    るための手段を含むことを特徴とする特許請求の範囲第
    1項に記載のエミュレーション手段。 3)上記システムの上記入力/出力構造は、システムア
    ドレススペースの第1の範囲を占有するポートを有する
    入力/出力デバイスを含み、上記他のシステムの入力/
    出力デバイスは、第2の異なる範囲のアドレススペース
    内に配置されたポートを有し、 上記要求検出手段は、入力/出力要求ポートアドレスを
    上記システム入力/出力デバイスによつて占有されたポ
    ートアドレスの範囲と比較し且つ1つのポートアドレス
    が上記システム入力/出力デバイスによつて占有された
    アドレススペースの上記範囲内にある時を指示するため
    の手段を含み、且つ 外部の入力/出力要求を検出するための上記割込み手段
    は、 上記要求検出手段のオペレーションに応答する手段であ
    つて、上記システム入力/出力デバイスによつて占有さ
    れたアドレススペースの上記範囲内のポートアドレスの
    対応する指示を伴なわない入力/出力要求の発生を検出
    し、各斯かる入力/出力要求の発生の際に対応するマス
    ク不可能割込みを供給するための手段を含むことを特徴
    とする特許請求の範囲第2項に記載のエミュレーション
    手段。 4)上記マスク不可能割込みに応答する手段であつて、
    上記の外部の入力/出力要求に関する情報を記憶するた
    めの手段を更に含むことを特徴とし、エミュレーション
    ルーチンを選択し且つ開始するための上記手段が、上記
    の対応する入力/出力エミュレーションルーチンを選択
    する際上記の記憶された入力/出力要求情報に更に応答
    することを特徴とする特許請求の範囲第1項に記載のエ
    ミュレーション手段。 5)上記システムの上記入力/出力構造は、上記システ
    ムアドレススペースの第1の範囲を占有しているポート
    を有する入力/出力デバイスを含むことを特徴とし、上
    記他のシステムの上記入力/出力デバイスは、第2の異
    なる範囲のアドレススペース内に配置されたポートを有
    し、要求情報を記憶するための上記手段が、 外部の入力/出力要求のポートアドレスを記憶するため
    の第1のレジスタ手段と、 外部の入力/出力要求が読出しオペレーションかあるい
    は書込みオペレーションであるかの指示を含む、外部の
    入力/出力要求に関するステータス情報を記憶するため
    の第2のレジスタ手段と、を含むことを特徴とする特許
    請求の範囲第4項に記載のエミュレーション手段。 6)上記ステータス情報は更に、外部の入力/出力要求
    がバイトあるいはワードアクセスに対してであるかの指
    示を含むことを特徴とする特許請求の範囲第5項に記載
    のエミュレーション手段。 7)上記記憶手段は更に、入力/出力要求が書込みオペ
    レーションに対してである時に書き込まれるデータを記
    憶するための第3のレジスタ手段を更に含むことを特徴
    とする特許請求の範囲第5項に記載のエミュレーション
    手段。 8)上記選択及び開始手段は、 上記ルーチン記憶手段に記憶されたエミュレーション・
    ルーチンのアドレスを記憶するためのクラステーブル手
    段であつて、上記クラステーブル手段に記憶されたエミ
    ュレーション・ルーチン・アドレスは、それぞれのクラ
    スが外部の入力/出力オペレーションの対応する群のア
    ドレスを含んでいるクラスに構成されているクラステー
    ブル手段と、 それぞれが1つの群のエミュレーション・ルーチンに対
    応し且つエミュレーション・ルーチン・アドレスの対応
    するクラスのクラステーブル手段中の位置を識別するイ
    ンデックスアドレスを記憶するための指名テーブル手段
    であり、それぞれの外部の入力/出力要求の第1の部分
    に応答し、上記クラステーブル手段に記憶された対応す
    るクラスのアドレスの対応するインデックスアドレスを
    供給するための指名テーブル手段であつて、上記クラス
    テーブル手段が各々の外部の入力/出力要求の第2の部
    分に応答し且つ上記の対応するインデックスアドレスに
    応答し、上記の対応するエミュレーション・ルーチン・
    アドレスの実行を選択し且つ開始するために対応するエ
    ミュレーション・ルーチン・アドレスを供給するための
    指名テーブル手段と、 を含むことを特徴とする特許請求の範囲第1項に記載の
    エミュレーション手段。 9)各々の外部の入力/出力要求は、上記他のシステム
    のアドレススペース内の対応する入力/出力デバイスの
    位置を識別し且つ要求された入力/出力オペレーション
    の型に対応するポートアドレスを含み、且つ要求情報を
    記憶するための上記手段は、 外部の入力/出力要求のポートアドレスを記憶するため
    の第1のレジスタ手段を含むことを特徴とし、且つ外部
    の入力/出力要求の第1の部分が上記要求ポートアドレ
    スの第1の部分であり、外部の入力/出力要求の第2の
    部分が、上記の要求ポートアドレスの第2の部分である
    ことを特徴とする特許請求の範囲第8項に記載のエミュ
    レーション手段。 10)要求情報を記憶するための上記手段は更に、外部
    の入力/出力要求が読出しオペレーションか書込みオペ
    レーションに対してであるかの指示を含む、外部の入力
    /出力要求に関するステータス情報を記憶するための第
    2のレジスタ手段を含み、且つ上記インデックス手段は
    更に、要求が上記対応するインデックスアドレスを供給
    する上で読出しオペレーションかあるいは書込みオペレ
    ーションに対してであるかを識別するステータス情報に
    応答することを特徴とする特許請求の範囲第9項に記載
    のエミュレーション手段。 11)上記エミュレーションルーチンは、各組がそれぞ
    れ、外部の読出し入力/出力オペレーション及び外部の
    書込み入力/出力オペレーションをエミュレートするた
    めのルーチンの群を含む1組の読出しオペレーションル
    ーチン及び1組の書込みオペレーションルーチンに構成
    され、上記指名テーブル手段及びクラステーブル手段が
    、読出し指名テーブル及び対応する読出しクラステーブ
    ル並びに書込み指名テーブル及び対応する書込みクラス
    テーブルからなることを特徴とする特許請求の範囲第1
    0項に記載のエミュレーション手段。 12)上記エミュレーションルーチンは更に、対応する
    エミュレーションルーチンを有していない外部の入力/
    出力要求に対応するディフォルト・ルーチンであつて、
    各々が上記の対応する入力/出力要求オペレーションを
    終了するディフォルト・ルーチンを含み、上記の選択及
    び開始手段が、対応するエミュレーションルーチンを有
    していない要求に応答し、対応するディフォルト・ルー
    チンを選択し実行することを特徴とする特許請求の範囲
    第1項に記載のエミュレーション手段。 13)上記割込み手段は、 上記システムのオペレーションを命令するプログラムに
    よつて与えられる割込み要求に応答する第1の割込み手
    段であつて、上記手段の対応する第1の割込み処理オペ
    レーションを指示するための対応する第1の割込みルー
    チンを供給するための第1の割込みルーチン供給手段と
    、 上記システムのハードウェアエレメントによつて与えら
    れた割込み要求に応答する第2の割込み手段であつて、
    上記システムの対応する第2の割込み処理オペレーショ
    ンを指示するための対応する第2の割込みルーチンを供
    給するための第2の割込みルーチン供給手段と、 を含み、 上記割込み手段が更に、上記の他のシステムの上記の対
    応する第2の割込みルーチン供給手段をエミュレートす
    るための手段であつて、上記の他のシステムの上記の対
    応する第2の割込みルーチン供給手段のオペレーション
    をエミュレートするように上記システムのオペレーショ
    ンを命令するための割込みエミュレーションルーチンを
    記憶するための上記第1の割込みルーチン供給手段にお
    ける手段、及び上記第2の割込みルーチン供給手段のオ
    ペレーションに応答する手段であつて対応する割込みエ
    ミュレーション・ルーチンを選択し且つ実行するための
    手段を含む手段を有することを特徴とする特許請求の範
    囲第1項に記載のエミュレーション手段。 14)データ処理システムであつて、プログラムを記憶
    するための手段、上記プログラムに応答するCPU手段
    であつて上記データを処理するためのCPU手段、上記
    プログラムの直接的実行に対する外部オペレーションを
    実行するための割込み機構、及び上記システムと外部デ
    バイスとの間に情報を通信するための上記プログラムに
    応答する入力/出力構造を含むデータ処理システムにお
    いて、別のシステムの入力/出力構造をエミュレートす
    るための方法であつて、 上記他のシステムの入力/出力構造のオペレーションを
    エミュレートするように上記システム入力/出力構造の
    オペレーションを命令するための上記システムルーチン
    に記憶する工程と、 上記割込み手段において、外部の入力/出力オペレーシ
    ョン要求の発生を検出し且つ対応するマスク不可能割込
    みを発生する工程と、 上記マスク不可能割込み及び上記の対応する外部の入力
    /出力要求に応答して、対応する入力/出力エミュレー
    ションルーチンの実行を選択し且つ開始する工程と、 を含むことを特徴とするエミュレーション方法。 15)外部の入力/出力要求の検出の工程が更に、入力
    /出力要求の発生及び型を検出し且つ指示する工程と、 上記システム入力/出力構造によつて通常識別されない
    要求を検出し且つ対応するマスク不可能割込みを供給す
    る工程と、 を含むことを特徴とする特許請求の範囲第14項に記載
    のエミュレーション方法。 16)上記システムの入力/出力構造が、上記システム
    アドレススペースの第1の範囲を占有するポートを有す
    る入力/出力デバイスを含み、上記他のシステムの入力
    /出力デバイスが、第2の異なる範囲のアドレススペー
    ス内に配置されたポートを有し、上記要求の検出の工程
    が更に、 入力/出力要求ポートアドレスを上記システム入力/出
    力デバイスによつて占有されたポートアドレスの範囲と
    比較し且つポートアドレスが上記システム入力/出力デ
    バイスによつて占有されたアドレススペースの範囲内に
    ある時を指示する工程と、 上記システム入力/出力デバイスによつて占有されたア
    ドレススペースの範囲内のポートアドレスの対応する指
    示を伴なわない入力/出力要求の発生を検出し且つ各斯
    かる入力/出力要求の発生の際に対応するマスク不可能
    割込みを供給する工程と、 を含むことを特徴とする特許請求の範囲第15項に記載
    のエミュレーション方法。 17)上記マスク不可能割込みに応答して、上記外部の
    入力/出力要求に関する情報を記憶する工程と、 上記の記憶された入力/出力要求情報に応答して、上記
    の対応する入力/出力エミュレーションルーチンを選択
    する工程と、を更に含むことを特徴とする特許請求の範
    囲第14項に記載のエミュレーション方法。 18)上記システムの入力/出力構造が、上記システム
    アドレススペースの第1の範囲を占有するポートを有す
    る入力/出力デバイスを含み、上記の他のシステムの入
    力/出力デバイスが、第2の異なる範囲のアドレススペ
    ース内に配置されたポートを有し、 要求情報を記憶する工程が更に、 第1のレジスタ手段に外部の入力/出力要求のポートア
    ドレスを記憶する工程と、 第2のレジスタ手段に、外部の入力/出力要求が読出し
    オペレーションかあるいは書込みオペレーションに対し
    てであるかの指示を含む、外部の入力/出力要求に関す
    るステータス情報を記憶する工程と、 を含むことを特徴とする特許請求の範囲第17項に記載
    のエミュレーション方法。 19)要求情報を記憶する工程が更に、上記第2レジス
    タ手段に、外部の入力/出力要求がバイトかあるいはワ
    ードアクセスオペレーションに対してであるか否かを含
    むステータス情報を記憶する工程を含むことを特徴とす
    る特許請求の範囲第18項に記載のエミュレーション方
    法。 20)要求情報を記憶する上記工程は更に、入力/出力
    要求が書込みオペレーションに対してである時に、第3
    のレジスタ手段に書き込まれるデータを記憶する工程、
    を含むことを特徴とする特許請求の範囲第18項に記載
    のエミュレーション方法。 21)上記の選択し且つ開始する工程が更に、上記ルー
    チン記憶手段に記憶されたエミュレーション・ルーチン
    のアドレスをクラステーブル手段に記憶する工程であつ
    て、上記クラステーブル手段に記憶されたエミュレーシ
    ョン・ルーチンアドレスが、外部の入力/出力オペレ ーションの対応する群のアドレスをそれぞれ含むクラス
    に構成される記憶工程と、 各々が、1群のエミュレーション・ルーチンに対応し且
    つ対応するクラスのエミュレーション・ルーチン・アド
    レスのクラステーブル手段における配置を識別するイン
    デックス・アドレスを指名テーブル手段に記憶する工程
    と、 外部の入力/出力要求の各々の第1部分に応答して、上
    記指名テーブル手段から上記クラステーブル手段に記憶
    された対応するクラスのアドレスの対応するインデック
    ス・アドレスを供給する工程と、 外部の入力/出力要求の各々の第2の部分及び上記の対
    応するインデックス・アドレスに応答して、上記クラス
    テーブル手段から対応するエミュレーション・ルーチン
    ・アドレスを供給する工程と、 上記クラステーブル手段から供給されたアドレスに応答
    して、上記の対応するエミュレーション・ルーチン・ア
    ドレスの実行を選択し且つ開始する工程と、 を含むことを特徴とする特許請求の範囲第14項に記載
    のエミュレーション方法。 22)外部の入力/出力要求の各々が、上記の他のシス
    テムのアドレススペース内の対応する入力/出力デバイ
    スの位置を識別し且つ要求された入力/出力オペレーシ
    ョンの型に応答するポートアドレスを含み、且つ 要求情報を記憶するための上記手段が、 外部の入力/出力要求のポートアドレスを記憶するため
    の第1のレジスタ手段を含み、 外部の入力/出力要求の第1の部分が上記要求ポートア
    ドレスの第1の部分であり、 外部の入力/出力要求の第2の部分が上記要求ポートア
    ドレスの第2の部分であることを特徴とする特許請求の
    範囲第21項に記載のエミュレーション方法。 23)要求情報を記憶する上記手段は更に、外部の入力
    /出力要求が読出しオペレーション又は書込みオペレー
    ションであるかについての指示を含む、外部の入力/出
    力要求に関するステータス情報を記憶する第2のレジス
    タ手段を含み、且つ 上記インデックス手段は更に、要求が上記の対応するイ
    ンデックスアドレスを供給する上で読出しオペレーショ
    ン又は書込みオペレーションに対してであるかを指示す
    るステータス情報に応答することを特徴とする特許請求
    の範囲第22項に記載のエミュレーション方法。 24)要求情報を記憶するための上記手段は更に、外部
    の入力/出力要求がバイトオペレーション又はワードア
    クセスオペレーションに対してであるかの指示を含む、
    外部の入力/出力要求に関するステータス情報を記憶す
    るための第2のレジスタ手段を含み、且つ 上記選択手段は更に、要求が上記対応するエミュレーシ
    ョンルーチンを選択する上でバイトアクセスオペレーシ
    ョン又はワードアクセスオペレーションに対してである
    かを識別するステータス情報に応答することを特徴とす
    る特許請求の範囲第22項に記載のエミュレーション方
    法。 25)上記エミュレーションルーチンは、各々が、それ
    ぞれ、外部の読出し入力/出力オペレーション及び外部
    の書対み入力/出力オペレーションをエミュレートする
    ためのルーチンの群を含む1組の読出しオペレーション
    ルーチン及び1組の書込みオペレーションルーチンの2
    組に構成され、且つ 上記指名テーブル手段及びクラステーブル手段が、読出
    し指名テーブル及び対応する読出しクラステーブル並び
    に書込み指名テーブル及び対応する書込みクラステーブ
    ルからなることを特徴とする特許請求の範囲第23項に
    記載のエミュレーション方法。 26)上記エミュレーションルーチンは更に、対応する
    エミュレーションルーチンを有していない外部の入力/
    出力要求に対応するディフォルト・ルーチンであつて、
    各々が上記の対応する入力/出力要求オペレーションを
    終了するディフォルトルーチンを含み、対応する入力/
    出力エミュレーションルーチンの実行を選択し且つ開始
    する上記工程が更に、対応するエミュレーションルーチ
    ンを有していない外部の入力/出力要求の発生に応答し
    て、対応するディフォルトルーチンを選択し且つ実行す
    る工程を含むことを特徴とする特許請求の範囲第14項
    に記載のエミュレーション方法。 27)上記割込み手段は、 上記システムのオペレーションを命令するプログラムに
    よつて供給された割込み要求に応答する第1の割込み手
    段であつて、上記システムの対応する第1の割込み処理
    オペレーションを命令するための対応する第1の割込み
    ルーチンを供給する第1の割込みルーチン供給手段と、 上記システムのハードウェアエレメントによつて供給さ
    れた割込み要求に応答する第2の割込み手段であつて、
    上記システムの対応する第2の割込み処理オペレーショ
    ンを命令するための対応する第2の割込みルーチンを供
    給する第2の割込みルーチン供給手段と、 を含み、更に、上記他のシステムの対応する第2の割込
    みルーチン供給手段をエミュレートするための方法であ
    つて、 上記他のシステムの対応する第2の割込みルーチン供給
    手段のオペレーションをエミュレートするように上記シ
    ステムのオペレーションを命令するための割込みエミュ
    レーションルーチンを上記第1の割込みルーチン供給手
    段に記憶する工程と、上記第2の割込みルーチン供給手
    段のオペレーションに応答して、対応する割込みエミュ
    レーションルーチンを選択し且つ実行する工程と、を含
    むことを特徴とする特許請求の範囲第14項に記載のエ
    ミュレーション方法。
JP60151179A 1984-07-09 1985-07-09 データ処理システムのエミユレーシヨン Expired - Lifetime JP2610812B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/629,028 US4727480A (en) 1984-07-09 1984-07-09 Emulation of a data processing system
US629028 1984-07-09

Publications (2)

Publication Number Publication Date
JPS6136848A true JPS6136848A (ja) 1986-02-21
JP2610812B2 JP2610812B2 (ja) 1997-05-14

Family

ID=24521289

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60151179A Expired - Lifetime JP2610812B2 (ja) 1984-07-09 1985-07-09 データ処理システムのエミユレーシヨン

Country Status (6)

Country Link
US (1) US4727480A (ja)
EP (1) EP0168034B1 (ja)
JP (1) JP2610812B2 (ja)
AU (1) AU588815B2 (ja)
CA (1) CA1232690A (ja)
DE (1) DE3587622T2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62279431A (ja) * 1986-05-28 1987-12-04 Nec Corp 入出力エミユレ−タ−
CN1042440C (zh) * 1993-03-05 1999-03-10 旭化成工业株式会社 偏氯乙烯共聚物组合物

Families Citing this family (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6017539A (ja) * 1983-07-11 1985-01-29 Hitachi Ltd エミユレ−シヨン方式
US4799150A (en) * 1985-07-29 1989-01-17 Orchid Technology Interface system between a host computer and a peripheral processor with address detection circuitry
US5029077A (en) * 1986-01-17 1991-07-02 International Business Machines Corporation System and method for controlling physical resources allocated to a virtual terminal
US5113517A (en) * 1986-04-28 1992-05-12 Xerox Corporation Concurrent display of data from two different processors each having different display font and user interface for controlling transfer of converted font data therebetween
US5153577A (en) * 1986-04-28 1992-10-06 Xerox Corporation Mapping character color attributes into grey pixel patterns
US4939507A (en) * 1986-04-28 1990-07-03 Xerox Corporation Virtual and emulated objects for use in the user interface of a display screen of a display processor
US4937036A (en) * 1986-04-28 1990-06-26 Xerox Corporation Concurrent display of data from two different display processors and user interface therefore
US4899136A (en) * 1986-04-28 1990-02-06 Xerox Corporation Data processor having a user interface display with metaphoric objects
US5088033A (en) * 1986-04-28 1992-02-11 Xerox Corporation Data processing system emulation in a window with a coprocessor and I/O emulation
US4920481A (en) * 1986-04-28 1990-04-24 Xerox Corporation Emulation with display update trapping
US5146565A (en) * 1986-07-18 1992-09-08 Intel Corporation I/O Control system having a plurality of access enabling bits for controlling access to selective ports of an I/O device
US5045994A (en) * 1986-09-23 1991-09-03 Bell Communications Research, Inc. Emulation process having several displayed input formats and output formats and windows for creating and testing computer systems
US4972317A (en) * 1986-10-06 1990-11-20 International Business Machines Corp. Microprocessor implemented data processing system capable of emulating execution of special instructions not within the established microprocessor instruction set by switching access from a main store portion of a memory
US4992934A (en) * 1986-12-15 1991-02-12 United Technologies Corporation Reduced instruction set computing apparatus and methods
US4833594A (en) * 1986-12-22 1989-05-23 International Business Machines Method of tailoring an operating system
JPS63282528A (ja) * 1987-02-04 1988-11-18 Sharp Corp 中央処理装置実行命令の検出方式
JP2557366B2 (ja) * 1987-02-25 1996-11-27 株式会社東芝 入出力手順変換装置
US4928237A (en) * 1987-03-27 1990-05-22 International Business Machines Corp. Computer system having mode independent addressing
US4859995A (en) * 1987-06-30 1989-08-22 Xerox Corporation Mouse pointer with switchable emulation mode
US5175855A (en) * 1987-07-27 1992-12-29 Laboratory Technologies Corporation Method for communicating information between independently loaded, concurrently executing processes
US4926322A (en) * 1987-08-03 1990-05-15 Compag Computer Corporation Software emulation of bank-switched memory using a virtual DOS monitor and paged memory management
CA1304514C (en) * 1987-08-06 1992-06-30 International Business Machines Corporation Fast emulator using slow processor
US6006277A (en) * 1987-11-06 1999-12-21 Bea Systems, Inc. Virtual software machine for enabling CICS application software to run on UNIX based computer systems
US5280626A (en) * 1987-12-02 1994-01-18 Hitachi, Ltd. Multi-process emulator suitable for testing software under multi-process environments
JPH0628036B2 (ja) * 1988-02-01 1994-04-13 インターナショナル・ビジネス・マシーンズ・コーポレーシヨン シミュレーシヨン方法
JPH0677236B2 (ja) * 1988-02-01 1994-09-28 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン I/o割込みをシミュレートする装置及び方法
US4951195A (en) * 1988-02-01 1990-08-21 International Business Machines Corporation Condition code graph analysis for simulating a CPU processor
US5129064A (en) * 1988-02-01 1992-07-07 International Business Machines Corporation System and method for simulating the I/O of a processing system
JPH01248256A (ja) * 1988-03-30 1989-10-03 Toshiba Corp 入出力制御方式
JPH01273136A (ja) * 1988-04-26 1989-11-01 Oki Electric Ind Co Ltd オペレーティングシステムのファームウェア化方式
CA2002201C (en) * 1988-12-06 1999-04-27 John Charles Goettelmann Translation technique
US5283868A (en) * 1989-05-17 1994-02-01 International Business Machines Corp. Providing additional system characteristics to a data processing system through operations of an application program, transparently to the operating system
US5144692A (en) * 1989-05-17 1992-09-01 International Business Machines Corporation System for controlling access by first system to portion of main memory dedicated exclusively to second system to facilitate input/output processing via first system
US5113522A (en) * 1989-05-17 1992-05-12 International Business Machines Corporation Data processing system with system resource management for itself and for an associated alien processor
US5155809A (en) * 1989-05-17 1992-10-13 International Business Machines Corp. Uncoupling a central processing unit from its associated hardware for interaction with data handling apparatus alien to the operating system controlling said unit and hardware
US5325517A (en) * 1989-05-17 1994-06-28 International Business Machines Corporation Fault tolerant data processing system
US5369767A (en) * 1989-05-17 1994-11-29 International Business Machines Corp. Servicing interrupt requests in a data processing system without using the services of an operating system
US5369749A (en) * 1989-05-17 1994-11-29 Ibm Corporation Method and apparatus for the direct transfer of information between application programs running on distinct processors without utilizing the services of one or both operating systems
US5210854A (en) * 1989-06-14 1993-05-11 Digital Equipment Corporation System for updating program stored in eeprom by storing new version into new location and updating second transfer vector to contain starting address of new version
US5093776A (en) * 1989-06-15 1992-03-03 Wang Laboratories, Inc. Information processing system emulation apparatus and method
JP2590267B2 (ja) * 1989-06-30 1997-03-12 株式会社日立製作所 仮想計算機における表示制御方式
US5283889A (en) * 1989-12-29 1994-02-01 Zenith Data Systems Corporation Hardware based interface for mode switching to access memory above one megabyte
GB2240861A (en) * 1990-02-09 1991-08-14 Hewlett Packard Co Apparatus and method for adapting computer program from one operating environment to another
US5305436A (en) * 1990-04-02 1994-04-19 Hewlett-Packard Company Hose bus video interface in personal computers
US5038279A (en) * 1990-05-22 1991-08-06 Lexmark International, Inc. Direct hot-keying with reset of printer parameters for a secondary application including a typewriter emulator
US5251314A (en) * 1990-06-07 1993-10-05 International Business Machines Corporation System for converting from one document type to a plurality of document types allowing accurate reversal therefrom using tables containing indications regarding non-transformable elements
IL100370A (en) * 1990-12-24 1994-11-11 Ball Corp Method for analyzing integrated computer systems
AU1196192A (en) * 1991-01-09 1992-08-17 Verifone, Inc. Transaction system emulator
US5652869A (en) * 1991-03-07 1997-07-29 Digital Equipment Corporation System for executing and debugging multiple codes in a multi-architecture environment using jacketing means for jacketing the cross-domain calls
WO1992015947A1 (en) * 1991-03-07 1992-09-17 Digital Equipment Corporation Improved software debugging system and method especially adapted for code debugging 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
JPH0561821A (ja) * 1991-07-30 1993-03-12 Canon Inc データ転送方法
US5365606A (en) * 1991-11-27 1994-11-15 Visystems, Inc. Virtual software machine running multiple program modules in a single address space of a target computer
JPH0773046A (ja) * 1992-12-07 1995-03-17 Intel Corp コンピュータシステムで回路をエミュレートする 方法及び装置
WO1994027214A1 (en) * 1993-05-07 1994-11-24 Apple Computer, Inc. Method for decoding sequences of guest instructions for a host computer
WO1994027215A1 (en) * 1993-05-07 1994-11-24 Apple Computer, Inc. Method for decoding guest instructions for a host computer
US5381541A (en) * 1993-05-26 1995-01-10 International Business Machines Corp. Computer system having planar board with single interrupt controller and processor card with plural processors and interrupt director
US5768598A (en) * 1993-09-13 1998-06-16 Intel Corporation Method and apparatus for sharing hardward resources in a computer system
US5515525A (en) * 1993-09-28 1996-05-07 Bull Hn Information Systems Inc. Emulating the memory functions of a first system on a second system
US5983012A (en) * 1993-09-28 1999-11-09 Bull Hn Information Systems Inc. Executing programs of a first system on a second system
US5619682A (en) * 1993-09-28 1997-04-08 Bull Hn Information Systems Inc. Executing network layered communications of a first system on a second system using a communication bridge transparent to the different communication layers
JPH07334372A (ja) * 1993-12-24 1995-12-22 Seiko Epson Corp エミュレートシステム及びエミュレート方法
US5678059A (en) * 1994-02-18 1997-10-14 Lucent Technologies Inc. Technique for time-sharing a microprocessor between a computer and a modem
US6763454B2 (en) * 1994-05-27 2004-07-13 Microsoft Corp. System for allocating resources in a computer system
US5787246A (en) * 1994-05-27 1998-07-28 Microsoft Corporation System for configuring devices for a computer system
US5970237A (en) * 1994-06-14 1999-10-19 Intel Corporation Device to assist software emulation of hardware functions
JP2734992B2 (ja) * 1994-07-25 1998-04-02 日本電気株式会社 情報処理装置
US5673418A (en) * 1994-10-07 1997-09-30 Bull Hn Information Systems Inc. Method and apparatus for emulating the operations of an emulated system terminal driver on a host system
US5732279A (en) * 1994-11-10 1998-03-24 Brooktree Corporation System and method for command processing or emulation in a computer system using interrupts, such as emulation of DMA commands using burst mode data transfer for sound or the like
US5680592A (en) * 1995-04-14 1997-10-21 Nvidia Corporation System using a plurality of state machines for translating commands intended for legacy bus devices to commands for local bus devices
JP2625402B2 (ja) * 1995-05-24 1997-07-02 日本電気株式会社 マイクロプロセッサ
JP3451595B2 (ja) * 1995-06-07 2003-09-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 二つの別個の命令セット・アーキテクチャへの拡張をサポートすることができるアーキテクチャ・モード制御を備えたマイクロプロセッサ
US5909582A (en) * 1996-04-26 1999-06-01 Nec Corporation Microcomputer having user mode interrupt function and supervisor mode interrupt function
US6564241B1 (en) * 1996-05-14 2003-05-13 L-3 Communications Corporation Avionic computer software interpreter
US6061047A (en) * 1996-09-17 2000-05-09 Chips & Technologies, Inc. Method and apparatus for clipping text
US5968139A (en) * 1996-11-25 1999-10-19 Micron Electronics, Inc. Method of redirecting I/O operations to memory
US5930495A (en) * 1997-01-13 1999-07-27 International Business Machines Corporation Method and system for processing a first instruction in a first processing environment in response to intiating processing of a second instruction in a emulation environment
US6687858B1 (en) 2000-05-16 2004-02-03 Phillip M. Adams Software-hardware welding system
US7149878B1 (en) 2000-10-30 2006-12-12 Mips Technologies, Inc. Changing instruction set architecture mode by comparison of current instruction execution address with boundary address register values
US7113904B2 (en) * 2001-03-30 2006-09-26 Park City Group System and method for providing dynamic multiple language support for application programs
US7107439B2 (en) * 2001-08-10 2006-09-12 Mips Technologies, Inc. System and method of controlling software decompression through exceptions
US7472207B2 (en) * 2001-10-09 2008-12-30 Aftg-Tg, L.L.C. Optimized-incrementing, time-gap defect detection apparatus and method
US6691181B2 (en) * 2001-10-09 2004-02-10 Phillip M. Adams Programmatic time-gap defect detection apparatus and method
US6842802B2 (en) 2001-11-30 2005-01-11 Aftg-Tg, L.L.C. Programmatic time-gap defect correction apparatus and method
US7694025B1 (en) * 2006-03-31 2010-04-06 Integrated Device Technology, Inc. Method and device for base address sorting and entry into base address registers
US7779197B1 (en) 2006-05-09 2010-08-17 Integrated Device Technology, Inc. Device and method for address matching with post matching limit check and nullification
US7647438B1 (en) 2006-05-09 2010-01-12 Integrated Device Technology, Inc. Binary base address sorting method and device with shift vector
US8166244B2 (en) * 2010-03-12 2012-04-24 Sandisk Il Ltd. Emulating a computer system on a removable storage device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56145416A (en) * 1980-04-15 1981-11-12 Toshiba Corp Channel control system
JPS5740789A (en) * 1980-08-22 1982-03-06 Mitsubishi Electric Corp Virtual processing system of auxiliary storage device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3938101A (en) * 1973-12-26 1976-02-10 International Business Machines Corporation Computer system with post execution I/O emulation
US3955180A (en) * 1974-01-02 1976-05-04 Honeywell Information Systems Inc. Table driven emulation system
US4377852A (en) * 1980-03-31 1983-03-22 Texas Instruments Incorporated Terminal emulator
US4370709A (en) * 1980-08-01 1983-01-25 Tracor, Inc. Computer emulator with three segment microcode memory and two separate microcontrollers for operand derivation and execution phases

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56145416A (en) * 1980-04-15 1981-11-12 Toshiba Corp Channel control system
JPS5740789A (en) * 1980-08-22 1982-03-06 Mitsubishi Electric Corp Virtual processing system of auxiliary storage device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62279431A (ja) * 1986-05-28 1987-12-04 Nec Corp 入出力エミユレ−タ−
CN1042440C (zh) * 1993-03-05 1999-03-10 旭化成工业株式会社 偏氯乙烯共聚物组合物

Also Published As

Publication number Publication date
EP0168034B1 (en) 1993-10-13
US4727480A (en) 1988-02-23
JP2610812B2 (ja) 1997-05-14
CA1232690A (en) 1988-02-09
EP0168034A2 (en) 1986-01-15
AU588815B2 (en) 1989-09-28
AU4457185A (en) 1986-01-16
DE3587622D1 (de) 1993-11-18
DE3587622T2 (de) 1994-05-11
EP0168034A3 (en) 1989-07-12

Similar Documents

Publication Publication Date Title
JPS6136848A (ja) データ処理システムのエミユレーシヨン
US4939644A (en) Input/output controller for controlling the sequencing of the execution of input/output commands in a data processing system
US4901232A (en) I/O controller for controlling the sequencing of execution of I/O commands and for permitting modification of I/O controller operation by a host processor
EP0136666B1 (en) Partitioned multiprocessor programming system
US4885681A (en) I/O Execution method for a virtual machine system and system therefor
US4347565A (en) Address control system for software simulation
EP0192944B1 (en) Data processing system with a main processor and a co-processor sharing the same resources
US3573855A (en) Computer memory protection
US5333273A (en) Protected hot key function for microprocessor-based computer system
CA2004485C (en) Computer with improved keyboard password functions
US4086627A (en) Interrupt system for microprocessor system
EP0308805B1 (en) Full-screen input/output application program interface
US5577230A (en) Apparatus and method for computer processing using an enhanced Harvard architecture utilizing dual memory buses and the arbitration for data/instruction fetch
JPH09244987A (ja) コンピュータシステム、pcカードコントローラ、及び複数のpcカードコントローラを有するコンピュータシステム内のデータ入出力転送をコントロールする方法
JPH0430053B2 (ja)
JPH0773046A (ja) コンピュータシステムで回路をエミュレートする 方法及び装置
US4509115A (en) Two-port memory controller
US5291581A (en) Apparatus and method for synchronization of access to main memory signal groups in a multiprocessor data processing system
US5392409A (en) I/O execution method for a virtual machine system and system therefor
US4621319A (en) Personal development system
US4489380A (en) Write protected memory
JPH03660B2 (ja)
US5649162A (en) Local bus interface
EP0338317B1 (en) Information processor operative both in direct mapping and in bank mapping and the method of switching the mapping schemes
EP0139254A2 (en) Apparatus and method for direct memory to peripheral and peripheral to memory data transfer

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term