JPH0773046A - コンピュータシステムで回路をエミュレートする 方法及び装置 - Google Patents

コンピュータシステムで回路をエミュレートする 方法及び装置

Info

Publication number
JPH0773046A
JPH0773046A JP5339906A JP33990693A JPH0773046A JP H0773046 A JPH0773046 A JP H0773046A JP 5339906 A JP5339906 A JP 5339906A JP 33990693 A JP33990693 A JP 33990693A JP H0773046 A JPH0773046 A JP H0773046A
Authority
JP
Japan
Prior art keywords
access
vga
hardware
circuit
application
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.)
Pending
Application number
JP5339906A
Other languages
English (en)
Inventor
Suresh K Marisetty
シュリシュ・ケイ・マリセッティ
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of JPH0773046A publication Critical patent/JPH0773046A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

Abstract

(57)【要約】 【目的】 コンピュータシステムにおいて回路をエミュ
レートする新規な方法及び装置を提供する。 【構成】 その方法及び装置は、回路をアクセスすべき
時点を確定する方法及び装置を含む。さらに、現時点で
好ましい実施例では、本発明はアクセスのアドレスとデ
ータをトラップする方法及び装置を含む。本発明は、回
路がアクセスされていることをコンピュータシステムに
透過的に指示する割込みを生成する方法及び装置をさら
に含む。本発明は、その割込みを処理し且つ回路の機能
をエミュレートする方法及び装置をも含む。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はコンピュータシステムに
関し、特に、コンピュータシステムにおける回路のエミ
ュレーションに関する。
【0002】
【従来の技術】従来の技術においては、Intel C
orporation製造の一連のマイクロプロセッサ
に基づくコンピュータシステムと共に利用されているビ
デオ表示用端末装置を含めたビデオ表示用端末装置(以
下、「表示装置」という)で情報を提示するための出力
表示システムがいくつか考案されていた。このようなマ
イクロプロセッサを利用するコンピュータを通常はパー
ソナルコンピュータ(PC)と呼ぶ。Internat
ional Business Machines(I
BM)が初めてPCを導入したとき、そのPCは中程度
の分解能をもつ白黒ビデオモニタに出力表示を提示して
いた。PCに属するシステムのマイクロプロセッサが改
良されて、より高速になり、さらに多くの量のメモリを
処理できるようになるにつれて、当初、表示システムは
相対的に低い分解能で色を含むように更新され、次い
で、技術の進歩に伴ってより高い分解能でさらに多くの
色の陰影を追加してゆくように改良されてきた。そのよ
うな表示システムのいくつかはHercules,CG
A及びEGAとしてさらに良く知られている。これらの
表示システムは各々異なる1組の表示システムインタフ
ェース規格を確立させている。さらに最近になって、業
界全体でビデオグラフィックスアダプタ(VGA)シス
テムと呼ばれる表示システムを使用するようになってき
ている。
【0003】PC市場においては出力表示システムの種
類がますます多くなってきているため、1つの特定の出
力表示システムに合わせて設計されているアプリケーシ
ョンプログラムを動作させたいときには、コンピュータ
システムが利用しているその特定の表示システムはその
アプリケーションプログラムについて出力を提供できる
ということを確認する必要がある。たとえば、プログラ
ムがCGA出力表示システムで表示されるべく書込まれ
ていたならば、コンピュータシステムはCGA表示シス
テムに合わせて書込まれたプログラムを表示できる出力
表示システムを含んでいなければならない。これに対し
て、プログラムがEGA出力表示システムでの表示のた
めに書込まれていたならば、コンピュータシステムはE
GA出力表示に適合する出力回路を含んでいることが必
要である。出力表示システムの間の互換性の欠如は発生
される出力信号の相違から起こるのであるが、それらは
異なる同期周波数で動作し、出力表示装置に異なる画素
のパターンを提供する。
【0004】今日では大型の高分解能カラー表示モニタ
を利用できる機会が多くなっているので、パーソナルコ
ンピュータのユーザーの多くは自身のパーソナルコンピ
ュータシステムと共にそれらのモニタを使用し始めてい
る。そのようなモニタはいくつかの限定されたアプリケ
ーションプログラムについてのみ使用されるのである
が、他のアプリケーションプログラムはシステムが別の
出力表示システム(たとえば、VGA表示装置)を含む
ことを要求するという場合は普通に起こりうる。従っ
て、異なる表示インタフェースを要求する複数のアプリ
ケーションプログラムとの間に互換性をもつ表示システ
ムを有するコンピュータシステムを提供することが望ま
しい。
【0005】VGAには性能や分解能などの固有の問題
があるため、今日では、グラフィックスアプリケーショ
ンのユーザーが要求される性能と分解能の全てを得られ
るようにする新しいグラフィックスハードウェアインタ
フェースと表示システムがある。ところが、ユーザーが
VGAインタフェースしか理解しない旧来のアプリケー
ション(たとえば、ワードプロセッサ又はスプレッドシ
ートなど)の使用を望んだ場合、旧来のアプリケーショ
ンは新しいグラフィックスインタフェースでは適正に機
能しない。ソフトウェアの開発には大量の費用が費やさ
れるため、VGAのような1つのグラフィックスインタ
フェースに合わせて設計されているアプリケーション
と、より高い分解能とより高い性能をもつグラフィック
スインタフェースを含めた別のグラフィックスインタフ
ェースに合わせて設計されているアプリケーションとを
ランすることができるコンピュータシステムを提供する
ことが望ましい。
【0006】PC市場で入手しうる多数のグラフィック
スインタフェースの間の互換性の問題に対応する従来の
方法の1つはデュアルフレームバッファシステムであ
り、この場合、コンピュータシステムはVGA利用アプ
リケーションに対する1つのハードウェアグラフィック
スインタフェースと、第2の型のグラフィックスシステ
ムに対する別のハードウェアグラフィックスインタフェ
ースとを有する。すなわち、グラフィックスインタフェ
ースの型ごとに1つのフレームバッファが存在している
のである。VGAアプリケーションがランするときはイ
ンタフェースのVGAハードウェアを使用し、一方、別
のアプリケーションを実行する場合には、他方のグラフ
ィックスサブシステムに対するグラフィックスインタフ
ェースを使用する。そのような方式に関わる問題はコス
トである。ハードウェアを複製することにより、コスト
はほぼ2倍になる。さらに、2組のハードウェアを使用
するので、スペースが非常に重要な場所である集積回路
とプリント回路板でより広いスペースが必要になる。同
様に、コンピュータシステムで利用できるスロットの数
もPC環境においては非常に重要である。従って、VG
A利用アプリケーションと、他のアプリケーションのた
めの新たな、より高い分解能をもつグラフィックスイン
タフェースとを支援できるグラフィックスシステムを提
供することが望ましい。
【0007】コンピュータシステムと関連して使用され
る回路やその他のプログラムが実行する機能は、従来、
コンピュータシステムによってエミュレートされてい
た。さらに、VGAのソフトウェアエミュレーションは
PC業界では新しいことではない。多くのテキスト利用
アプリケーションは、エミュレーションに際して、基本
入出力システム(BIOS)により支援される。Window
sTM は、現在、VGAエミュレーションをソフトウェア
で実行しており、あらゆるテキスト利用VGAアプリケ
ーションをランする。ところが、Microsoft WindowsTM
はグラフィックスVGAアプリケーションをエミュレー
トすることができない。これは、それらのアプリケーシ
ョンの多くがVGAハードウェア(たとえば、レジス
タ)に直接に書込むからである。
【0008】
【発明が解決しようとする課題】以下に示す通り、本発
明はVGAのグラフィックスインタフェース以外のグラ
フィックスインタフェースでテキストモードと、グラフ
ィックスモードの双方でソフトウェアVGAエミュレー
ションを実行する。利用できないハードウェアのエミュ
レーションを実行することにより、本発明はデュアルフ
レームバッファシステムを不要にする。従って、本発明
によれば、VGA利用アプリケーションで、他の高分解
能グラフィックスシステムに表示しうる出力を発生させ
ることができる。
【0009】
【課題を解決するための手段】コンピュータシステムに
おいて回路をエミュレートする方法及び装置を説明す
る。この方法及び装置は、回路をアクセスすべき時点を
確定する方法及び装置を含む。さらに、現時点で好まし
い実施例では、本発明は、アクセスのアドレスとデータ
をトラップする方法及び装置を含む。本発明は、回路が
アクセスされていることをコンピュータシステムに指示
するようにアプリケーションと、パーソナルコンピュー
タのオペレーティングシステムとに透過的な割込みを生
成する方法及び装置をさらに含む。本発明は、割込みを
処理し且つ回路の機能をエミュレートする方法及び装置
をさらに含む。現時点で好ましい実施例では、エミュレ
ートする方法及び装置はソフトウェアルーチンから構成
されている。
【0010】現時点で好ましい実施例においては、本発
明は、VGAグラフィックスをソフトウェアでラン中の
グラフィックスアプリケーションに透過的にエミュレー
トする方法及び装置である。本発明は以下の詳細な説明
と、本の好ましい実施例についての添付の図面とからさ
らに十分に理解されるであろうが、以下の説明と図面を
本発明を特定の実施例に限定するものとしてみなすべき
では、単にそれらは説明と理解のみを目的としている。
【0011】
【実施例】コンピュータシステムにおいて回路をエミュ
レートする方法及び装置を説明する。以下の説明中、本
発明を完全に理解させるために特定のグラフィックスイ
ンタフェース、特定のレジスタの種類、特定のメモリ範
囲などの特定の詳細な事項を数多く挙げるが、それらの
特定の詳細な事項がなくとも本発明を実施しうることは
当業者には明白であろう。また、本発明を無用にわかり
にくくするのを避けるために、周知の構造や装置を詳細
にではなく、ブロック線図の形で示す場合もある。
【0012】発明の概要 コンパクトなサイズをもつアプリケーションに合わせて
最適化したコンピュータシステムで本発明を採用すると
有利だる。そのようなアプリケーションは、特定すれ
ば、一般にはラップトップ型及びノートブック型と呼ば
れる型の小型バッテリ給電式パーソナルコンピュータを
含む。そのようなコンピュータシステムの好ましい一実
施例については以下に簡単に説明するが、本発明がこの
特定のデザインのコンピュータシステムに限定されず、
実質的にはプロセッサを利用するシステムのデザインに
組込まれても良いことは理解される。
【0013】本発明は、アプリケーション又はオペレー
ティングシステムがコンピュータシステムの中にない特
定の回路、インタフェース又は演算論理を要求する場合
に、コンピュータシステムを非標準(すなわち、理解さ
れない)ハードウェアに適応させる方法及び装置を提供
する。本発明では、特定の回路、インタフェース又は演
算論理をエミュレートできるので、ある特定の機能を実
行するためにその特定の回路、インタフェース又は演算
論理を利用又はアクセスしようとするアプリケーション
は、コンピュータシステムの中にその回路が存在してい
なくてもその機能を実行させることができるのである。
たとえば、現時点で好ましい実施例においては、本発明
は特定の1つのインタフェース又は回路構成と共に動作
するように設計又は構成されているアプリケーションが
同一の結果を得るために代替回路又は代替構成を利用す
ることを可能にする。1例を挙げると、VGAなどの特
定のグラフィックスインタフェースを理解するグラフィ
ックアプリケーションの場合、本発明によれば、そのア
プリケーションはVGA以外のグラフィックスインタフ
ェースに関わる図形情報を供給できるようになる。従っ
て、本発明では、アプリケーションが適合するような構
成となっていない又はアプリケーションが理解しない回
路又はインタフェースを、理解される回路やインタフェ
ースをエミュレートすることにより、アプリケーション
により使用できるようにするのである。
【0014】本発明の動作は図1のフローチャートに記
載されている。図1を参照すると、アプリケーション1
01は特定の回路又はインタフェースに対するアクセス
を生成するものとして示されている。たとえば、VGA
インタフェースを理解するアプリケーションの場合、ア
プリケーション101はVGAアクセスを発生するであ
ろう(たとえば、VGA表示回路に対する読取り又は書
込み)。アクセスは、何らかの事象の発生又は何らかの
機能の実行を呼び出すための回路への読取り又は書込
み、あるいは回路に対する指示を表わすと考えて良いで
あろう。
【0015】アプリケーション101により生成された
アクセスに応答して、本発明のコンピュータシステムは
割込み102を生成する。生成される割込みはアプリケ
ーション101に透過的なシステム管理割込み(SM
I)である。現時点で好ましい実施例では、SMI割込
み102は全てのアプリケーションに透過的である。透
過的なシステム管理割込みは、1991年11月6日に
出願され、本発明の譲受人に譲渡されている名称「Tran
sparent System Interrupt」による同時係属出願第78
7,762号の中に記載されている。従って、アプリケ
ーション101がコンピュータシステム内に存在してい
ない(エミュレートすべき)回路をアクセスしようとし
たとき、アプリケーション101に透過的にSMI割込
み102が生成される。
【0016】SMI割込み102が生成されると、コン
ピュータシステム中のSMIハンドラ103はその割込
みをアドレス指定する。現時点で好ましい実施例では、
SMIハンドラ103はSMI割込み102のソースを
確定し、割込みに応答する適切なルーチンを供給する。
現時点で好ましい実施例では、SMIハンドラ103
は、そのアクセスをコンピュータシステム内に現在ある
ハードウェア及び/又はソフトウェアにより適合させる
又は実行することができるアクセスにエミュレート、あ
るいは、変換するルーチンを利用する。言いかえれば、
存在していない回路へのアクセスを現在システムにより
実行できるアクセスへ変換するということになる。現時
点で好ましい実施例においては、元のアクセスを満足さ
せることができるように、SMIハンドラ103は、シ
ステム中に存在していない回路を変換、あるいは、エミ
ュレートするためのソフトウェアルーチンを呼び出す。
【0017】SMIハンドラ103がアクセスを回路の
ハードウェア及びソフトウェアで理解しうるものに変換
することにより、特定のアクセスについてのエミュレー
ションを実行するとき、そのルーチンをメモリから取り
出さなければならない。変換に際してアクセスを維持す
るために、アクセスをハードウェアにラッチ、すなわ
ち、トラップしても良い。アクセスがデータと、アドレ
スとを含んでいるならば、エミュレーションルーチンが
使用可能となったときにアクセスを変換できるように、
データとアドレスの双方がラッチされる。現時点で好ま
しい実施例では、アクセスのトラップはSMI割込み1
02が生成されているのに応答して起こる。
【0018】現時点で好ましい実施例においては、変換
エミュレーション104は、アクセスを現在システムの
論理及びハードウェアにより認識できるものに変換する
ことが可能であるソフトウェアルーチンである。1例を
挙げると、VGAインタフェースを理解するアプリケー
ションの場合、ソフトウェア変換/エミュレーション1
04ルーチンはVGAアクセスを、現在システムのグラ
フィックスインタフェースが理解できるであろうアクセ
スに変換することになるであろう。このように、VGA
利用表示システムに対して図形を発生するように設計さ
れているグラフィックスアプリケーションは、どのよう
なグラフィックスハードウェアに対しても図形を発生す
ることができるのである。
【0019】変換/エミュレーション104を完了した
とき、変換したアクセスを現在ハードウェア105へ送
信する。すなわち、アプリケーション101に関する限
り、元のアクセスは完了したのである。ところが、元の
アクセスは実際には実際のシステムハードウェアが理解
しうるアクセスにエミュレート又は変換されており、従
って、アクセスは実際のシステムハードウェアに対して
完了したことになる。
【0020】本発明によって他のハードウェアもエミュ
レートできるであろう。言いかえれば、本発明はグラフ
ィックスインタフェースのソフトウェアVGAエミュレ
ーションという現時点で好ましい実施例には限定されな
いのである。本発明は多種多様なアプリケーションに適
用可能である。たとえば、アプリケーションから入出力
(I/O)装置へのアクセスをそのインタフェースをエ
ミュレートすることにより可能にするために、本発明を
利用することができる。1例を挙げると、あるアプリケ
ーションが小型コンピュータシステムインタフェース
(SCSI)を介してハードウェアディスクをアクセス
するように設計されているが、そのハードディスクをア
クセスするために並列ポートしか存在していない場合、
本発明はSCSIに対するアクセスを受信し、それを並
列ポートが理解できるアクセスに変換することが可能で
ある。詳細にいえば、本発明は、SCSIポートに対す
るアクセスを試みたアプリケーションに透過的な割込み
を生成して、そのアクセスをトラップさせるであろう。
次に、そのアクセスを変換することになるであろう。ア
プリケーションに関する限り、アクセスはSCSIハー
ドディスクに対して起こっている。ところが、実際に
は、アクセスはハードディスクに対して並列ポートを介
して完了したのである。このように、本発明はアクセス
を試みたアプリケーションに見える回路、インタフェー
ス及び演算論理をエミュレートする能力を与える。
【0021】本発明の現時点で好ましい実施例 本発明の1つの用途は、VGAインタフェースを使用す
る(すなわち、標準VGAインタフェースに従ってVG
Aハードウェアをアクセスする)ように構成されている
アプリケーション(たとえば、DOS利用アプリケーシ
ョン)をVGAに基づかないグラフィックスインタフェ
ースを採用するコンピュータシステムにより利用できる
ように、VGAソフトウェアエミュレーションを実行す
ることである。
【0022】図2は、本発明のコンピュータシステムの
ブロック線図である。図2を参照すると、本発明のコン
ピュータシステム10の好ましい一実例が示されてい
る。好ましい実施例では、コンピュータシステム10
は、本発明の譲受人であるカリフォルニア州サンタクラ
ラのIntel Corporation が製造している486SLTM
イクロプロセッサを含む。そのようなコンピュータシス
テムはIBM PCATTMパーソナルコンピュータとの
間に互換性をもつ。
【0023】システム10は、インタフェースバス11
にそれぞれ結合している中央処理装置(CPU)20、
入出力(I/O)制御装置30及びグラフィックス回路
40として示した3つの主要プロセッサ構成要素を含
み、インタフェースバス11はそれらの構成要素の間で
情報を通信する。ここで開示する改良を含まないCPU
20と、I/O制御装置30との組合わせは、Intel Co
rporation から486SLTM Microprocessor SuperSet
の製品名で入手可能である。
【0024】CPU20はCPUと、メモリ制御装置
と、キャッシュ制御装置と、バス制御論理と、行バッフ
ァとを含む拡張中央処理装置である。CPUは透過的な
システム割込みであるSMI割込み101を受信するよ
うに結合されている。現時点で好ましい実施例では、S
MI割込み101はCPU20により特別に指定された
ハードウェアピンで受信される。CPU20は、SMI
割込み101を受信したときに、システム管理モード
(SMM)に入る。SMMにおいては、本発明に従った
割込みサービスルーチンを使用してSMI割込み101
を処理する。システムメモリ80もCPU20に結合し
ている。システムメモリ80は実質的にはダイナミック
ランダムアクセスメモリ(DRAM)装置から構成され
ている。
【0025】入出力制御装置30は複数の並列ポート
と、複数の二重直列ポートと、実時間クロック装置と、
二重プログラム可能割込み制御装置と、電力管理モジュ
ールと、複数の二重プログラム可能タイマと、複数の二
重DMA制御装置と、メモリマッパと、複数の入出力バ
ッファとから成るシングルチップ入出力(I/O)装置
である。I/O制御装置30は、コンピュータシステム
の動作中にSMI割込み101のソースに従ってセット
されるレジスタ31をさらに含む。レジスタ31をアク
セスすることにより、SMI割込み101のソースを得
ることができる。
【0026】SMI割込み101はハードウェア事象の
発生によって起動される。そのようなハードウェア事象
はバッテリの低電力状態、時間切れタイマの時間切れ、
あるいはコンピュータにあるボタンの操作などであろ
う。本発明では、SMI割込み101はVGA回路(エ
ミュレートされようとしている回路)に対するアクセ
ス、すなわち、VGAアクセスに応答して生成される。
従って、そのような事象に応答して、I/O制御装置3
0はSMI信号101を発生する。
【0027】CPU20のシステム管理モード(SM
M)割込みハンドラはSMI信号101を処理する。S
MMハンドラは、SMI割込み101のソースを確定す
るために、I/O制御装置30を検査する(たとえば、
記憶装置及び他の周知の回路を検査する)。現時点で好
ましい実施例では、SMMハンドラは、レジスタ31を
検査する。SMI割込み101のソースがVGAアクセ
スであれば、そのアクセスを既存のグラフィックスイン
タフェース回路と共に使用できるように、VGAインタ
フェースをエミュレートさせるためにSMMハンドラは
必要なアクションを実行する(すなわち、適切なルーチ
ンをランする)。
【0028】グラフィックスインタフェース40はグラ
フィックス制御装置と、ビデオメモリ制御装置とから成
るシングルチップグラフィックスインタフェースであ
る。フラットハンドル表示装置60もグラフィックスイ
ンタフェース40に結合している。ビデオフレームバッ
ファ(すなわち、ビデオメモリ)をリフレッシュする発
振器(図示せず)が設けられている。フレームバッファ
50もグラフィックスインタフェース40に結合してい
る。現時点で好ましい実施例では、フレームバッファ5
0は実質的には複数のDRAMデバイスから構成されて
いる。また、現時点で好ましい実施例においては、フレ
ームバッファ50はリニアフレームバッファである。
【0029】全てのサブシステムはインタフェースバス
11を介して互いに結合し、互いに通信し合うと共に、
他のシステム構成要素(拡張用スロット、キーボード用
スロット、キーボード制御装置、ディスク制御装置な
ど)と通信する。一実施例では、バス11はATコンパ
チブルバスである。本発明の現時点で好ましい実施例の
コンピュータシステムにおいては、ハードディスク、フ
ロッピーディスクドライブ、キーボード、基本入出力シ
ステム(BIOS)制御装置及び集積回路(IC)カー
ドも結合しているが、本発明をわかりにくくするのを避
けるために、それらの構成要素は全て図示されていな
い。
【0030】コンピュータシステム10は、コンピュー
タシステム10に給電するためにバッテリ86と結合し
ているポータブル電源85を収納することも可能であ
る。電源85はコンピュータシステム10の様々な構成
要素に電力を供給するように結合される。
【0031】図3A及び図3Bは、本発明によるVGA
ソフトウェアエミュレーションのフローチャートであ
る。図3Aを参照して説明すると、従来の技術において
は、DOSアプリケーション301はオペレーティング
システム(O/S)302と、ドライバ303と、BI
OS304とを介してキーボード、プリンタ及びドライ
ブを制御する。しかしながら、アプリケーションがVG
Aアクセスを生成したときには、そのアクセスはVGA
ハードウェア305へ直接出力される。VGAハードウ
ェア305は、図形出力表示を発生するために、グラフ
ィックスインタフェース及びモニタを制御する。
【0032】図3Bは、DOS環境における本発明の動
作を示す。従来の技術におけるのと同様に、アプリケー
ション310はオペレーティングシステムO/S311
と、ドライバ312と、BIOS313とを介してキー
ボード、プリンタ及びドライブを制御する。ところが、
VGAアクセスが発生すると、コンピュータシステムの
ハードウェアはVGAアクセス314をトラップする。
現時点で好ましい実施例では、VGAアクセスのアドレ
スとデータの双方をトラップする。VGAハードウェア
のトラップは、アクセスのアドレスがシステムメモリの
VGAアドレス範囲として定義されたメモリ範囲の中に
入っているときに起こる。現時点で好ましい実施例にお
いては、本発明のコンピュータシステムはアクセスと関
連するアドレスに従ってVGAアクセスを識別する。
【0033】アクセスが起こると、本発明はアクセスの
アドレスとデータのトラップを発生させるSMI割込み
を生成する。SMI VGAハンドラ314はSMI割
込みのソースを確定する。SMI割込みのソースがVG
Aアクセスであったことを確定すると、SMI VGA
ハンドラ314はエミュレーションルーチンを実行させ
る。現時点で好ましい実施例では、エミュレーションル
ーチンは、システム管理の使用に備えて予約されたシス
テムメモリスペースに記憶されている。エミュレーショ
ンルーチンはVGAアクセスを、コンピュータシステム
で使用している現在グラフィックスインタフェース及び
現在ハードウェアにより認識可能であるグラフィックス
アクセスに変換する。
【0034】VGAアクセスをシステム中の現在グラフ
ィックスハードウェアにより理解されるアクセスに変換
した後、変換したアクセスを表示用ハードウェアへ送信
する(317)。このように、本発明においては、VG
Aアクセスが何れかのVGAハードウェアに到達する前
に、VGAアクセスを半ばで中断するのである。VGA
アクセスは、そのVGAアクセスを生成したアプリケー
ションに透過的に、現在グラフィックスハードウェアと
共に動作すべきエミュレートされる。
【0035】図4は、本発明のソフトウェアVGAエミ
ュレーションに関わるメモリ及びI/Oトラッピングメ
カニズムを示す。図4を参照すると、マイクロプロセッ
サ400はCPU論理401と、メモリアドレストラッ
プハードウェア402と、システム管理先入れ後出し
(SMFILO)レジスタスペース403とを有するも
のとして示されている。図示するように、I/O制御装
置チップ404はSMI割込み405を介してマイクロ
プロセッサ400に結合している。I/O制御装置40
4はI/Oトラップハードウェア409を含む。また、
マイクロプロセッサ400は外部SMI(EXT_SM
I)割込み406を介してI/O制御装置チップ404
に結合している。図4には、オンボードメモリ408及
びシステムI/Oスペース407も示されている。現時
点で好ましい実施例では、オンボードメモリ408の範
囲は0から1M(0FFFFFH)までである。現時点
で好ましい実施例においては、システムI/Oスペース
407は64Kのメモリから構成されている。
【0036】現時点で好ましい実施例では、VGAアク
セスに対してメモリアドレス範囲をオンボードメモリ4
08で設定し、I/O VGAアクセスに対してはI/
Oメモリ範囲をシステムI/Oスペース407で設定す
る。現時点で好ましい実施例においては、VGAと関連
するメモリアドレス範囲は典型的にはA0000〜BF
FFF hexであり、また、VGAと関連するI/O
アドレス範囲は03B0〜03C9hexである。いず
れかの時点で、本発明においてVGAハードウェアのた
めに予約されているメモリアドレス範囲又はI/Oアド
レス範囲のいずれかに入っているアドレスをもってバス
サイクルが起こると、SMI割込みが生成される。
【0037】CPU論理401がVGAインタフェース
と共に動作するように設計されているアプリケーション
を実行しているとき、メモリ又はI/Oに対するアクセ
スが起こることもある。現時点で好ましい実施例では、
それらのアクセスは読取りまたは書込みであると考えて
良いであろう。現時点で好ましい実施例においては、グ
ラフィックスアプリケーションをランさせている間に、
そのグラフィックスアプリケーションが640K(0A
0000H)と784K(0A0000H)と784K
(0BFFFFH)との間でオンボードメモリ408を
アクセスしようと試みた場合、CPU論理401からI
/O制御装置404へ外部SMI信号のEXT_SMI
406が発生される。EXT_SMI406に応答し
て、I/O制御装置404はCPU論理401へSMI
割込み405を生成する。SMI割込み405に応答し
て、メモリアドレストラップハードウェア402はメモ
リアクセスのアドレスとデータをラッチさせる。CPU
論理401のSMMハンドラは、アクセスを現在グラフ
ィックスハードウェアが認識し且つ理解することができ
るアクセスに変換するソフトウェアエミュレーション
(すなわち、変換)ルーチンをランさせる。言いかえれ
ば、SMMハンドラは、VGAメモリインタフェースを
エミュレートするルーチンをランさせる。
【0038】VGAアクセスの変換が起こった後、エミ
ュレーションがそのアクセスを生成したアプリケーショ
ンに透過的に起こったように、SMMハンドラはアプリ
ケーションに戻る。
【0039】アプリケーションをランさせているとき、
CPU論理401により実行されているアプリケーショ
ンがシステムI/Oスペース407の03B0〜03C
9HexからのVGA I/Oスペースをアクセスしよ
うと試みると、I/O制御装置404はCPU論理40
1へSMI割込み405を生成する。SMI割込み40
5の生成は、I/Oトラップ論理408にI/O VG
Aアクセスに対応するアドレスとデータをトラップさせ
る。CPU論理401のSMMハンドラは、SMI割込
み405を受信すると、SMI割込み405のソースを
確定するためにI/O制御装置404に問合わせる。S
MI割込み405のソースがVGAI/Oメモリスペー
スに対するアクセスであった(すなわち、VGA I/
Oアクセスであった)ことを確定したならば、SMMハ
ンドラはI/Oアクセスをエミュレートする。
【0040】現時点で好ましい実施例では、VGAアプ
リケーションはI/Oアクセスを使用して、VGAハー
ドウェアをいくつかのモードに置く。言いかえれば、I
/OアクセスをVGAインタフェース制御装置により利
用して、VGAハードウェアを特定の1つの動作モード
に初期設定するということになる。SMI割込み405
が起こると、I/OアクセスのアドレスとデータをI/
Oトラップ範囲409の中にトラップする。その後、特
定のVGAアクセスを実行しているとき、先行するI/
Oアクセスがラッチされていれば、所望のグラフィック
スモードをエミュレートする。本発明においては、ルー
チンによってその動作を実行し、その結果として得られ
た図形をコンピュータシステムの現在グラフィックスイ
ンタフェース及び現在ハードウェアにより認識されるア
ドレス場所に戻して書込む。
【0041】従って、本発明では、アプリケーションは
VGAメモリに対してアクセスを発生する。メモリ及び
I/Oトラップハードウェアは、特定のメモリ範囲が指
示された任意の時点で、アクセスと関連するアドレスと
データをラッチする。トラップはSMI割込み405の
生成に応答して起こる。SMI割込み405の検出は、
CPU論理401のSMMハンドラが適正な変換を実行
し且つアクセスをシステムの現在グラフィックスハード
ウェアへ送信するという結果ももたらす。
【0042】メモリアドレストラップハードウェア40
2はCPU論理401の中に配置されているが、コンピ
ュータシステムの中のどの場所にこのハードウェアを配
置しても良いことに注意すべきである。同様に、現時点
で好ましい実施例においてはI/Oトラップ範囲ハード
ウェア409はI/O制御装置404の中に配置されて
いるが、I/Oトラップ範囲ハードウェア409はコン
ピュータシステムの中のどの場所に配置されることも可
能である。さらに、メモリトラップハードウェア402
とI/Oトラップハードウェア409の双方をCPU論
理401又はI/O制御装置404に配置することもで
きるであろう。双方のトラップハードウェアをI/O制
御装置405に配置した場合、EXT_SMI信号40
6は不要になるであろう。双方のハードウェアをマイク
ロプロセッサ400に配置した場合には、2つのハード
ウェアはSMI割込み405を生成すべきであることを
I/O制御装置404に指示することを要求されるであ
ろう。
【0043】メモリトラップアドレスハードウェア40
2と、I/Oトラップハードウェア409の双方で利用
されるトラップハードウェアは当該技術では良く知られ
ており、CPU論理401がSMI割込み405を受信
したときに直ちにアドレスとデータの双方をラッチする
ことを要求される。一実施例においては、最前の6回の
IOアクセス(すなわち、必要アドレス、データ及び制
御信号)をSMFILO403をトラップする。一実施
例では、最前の6回のメモリアクセス(すなわち、必要
アドレス、データ及び制御信号)はCPU401のシス
テム管理先入れ後出し(SMFIFO)(本発明をわか
りにくくするのを避けるために図示せず)にトラップさ
れる。所定数の過去の命令をトラップすることにより、
本発明はパイプライン処理の影響を補正するのである
が、その場合、SMI割込み405が生成、認識される
時点までに、生成すべきSMI割込み405を発生させ
た命令に続く他の命令は既に現れている。従って、SM
I割込み405の原因となったVGAアクセスのアドレ
スとデータが失われないように、本発明のラッチングハ
ードウェアはSMI割込み405を生成させるときの遅
延を補正することができなければならない。
【0044】また、VGAアクセスを実行するためにオ
ンボードシステムメモリ408を利用することにも注意
する。オンボードシステムメモリ408の中には有効な
VGAグラフィックスデータは存在していないのである
が、VGAアクセスのためにオンボードメモリ408が
存在することは重要である。VGAアクセスを実行しよ
うと試みているアプリケーションはそのメモリスペース
に対するアクセスが試みられたときに透過的なシステム
割込みが生成することを知る必要はなく、従って、読取
り及び書込みのアクセスが起こったものと仮定する。現
時点で好ましい実施例では、VGAフレームバッファに
おいて読取り−変更−書込み動作を実行するいくつかの
アプリケーションに対してオンボードメモリが必要であ
る。
【0045】本発明においては、256色を支援するこ
とができるVGAシステム全体が望まれる場合、256
Kのオンボードシステムメモリが必要になるであろう。
言いかえれば、256Kのメモリを使用することによ
り、合わせて256の色を表示できる。256Kのオン
ボードシステムメモリ(実際のデータを記憶するために
は使用されないのであるが)を犠牲するのを回避するた
めに、本発明によれば、ソフトウェアVGAエミュレー
ションは64K分のメモリを使用するだけである。64
Kしか使用しないと、表示できる色は2つだけである。
オンボードの64Kバイトのメモリを使用することによ
り、別個のVGAメモリは不要になる。さらに、VGA
エミュレーションモードがターンオフされると、オンボ
ードメモリをより上位のメモリ領域までロールオーバし
て、システムメモリの一部として使用することができ
る。本発明はVGAに対して64Kバイトのメモリを使
用する構成には限定されない。
【0046】本発明におけるソフトウェアエミュレーシ
ョン 本発明に従ってVGAをエミュレートするために使用さ
れるルーチンの1例を図5に示す。図5を参照すると、
フローチャートは、非VGAリニアフレームバッファへ
のVGA書込みをエミュレートするためにSMMハンド
ラにより実行される手続きの一実施例を示す。VGA書
込みアクセスが発生すると、VGAアクセスはコンピュ
ータシステムの現在グラフィックスハードウェアが理解
するVGA書込みアクセスに変換される。まず最初に、
メモリアクセスをトラップさせるSMI割込みが生成さ
れた後、VGA書込みアクセスのアドレスをトラップレ
ジスタ(すなわち、ハードウェア)から読取る(処理ブ
ロック501)。次に、書込むべきデータをトラップレ
ジスタから読取る(処理ブロック502)。次に、非V
GAフレームバッファの開始アドレスを確認する(処理
ブロック503)。開始アドレスを確定したならば、V
GA IOレジスタ中のVGAアドレスのページを確定
する(処理ブロック504)。VGAアドレスを非VG
A等価アドレスに変換する(処理ブロック505)。続
いて、データを非VGA等価アドレスに書込み(処理ブ
ロック506)、それにより、変換を終結する。
【0047】図5に示したSMMハンドラのエミュレー
ションルーチンを表わす擬似コードの一部を以下に挙げ
る。
【0048】 SMMハンドラ: Main { - 20 - - IF VGA WRITE Then 25 {Begin: VGA to nVGA Write Conversion Read VGA Write Address from Trap Register = A; Read VGA Write DATA from Trap Register = D; Read non-VGA FB Start Memory Address = nA; 30 Check the VGA Page in VGA IO Register = Px(x=1,2,3,4...); Convert VGA Address to non-VGA equivalent Address; {nA = (Px*64K + nA)}; Write to non-VGA Frame Buffer {Write nA = D}; 35 End: VGA to nVGA Write Conversion } Else {Begin: 5 - - - End: } 10 - - - End Main 注:現時点で好ましい実施例では、VGA IOレジス
タはスタック又は特殊バッファに記憶される。
【0049】SMMハンドラのソフトウェアルーチンは
メインプログラムと呼ばれるルーチンの主要部と共に示
されている。このルーチンの一部は、VGA書込みアク
セスが起こったか否かを試験する。VGA書込みが起こ
っていたならば、エミュレーションルーチンのVGA書
込みから非VGAフレームバッファ書込みへの変換の部
分が始まる。まず、トラップレジスタからVGAメモリ
アドレスを読取り、それをAとラベル付けされた変数に
記憶する。トラップレジスタからはデータも読取って、
Dとラベル付けされた変数に記憶する。非VGAフレー
ムバッファの開始アドレスを読取り、変数nA(=新ア
ドレス)に記憶する。VGA書込みアクセスのVGA
IOレジスタ中のVGAページを検査して、変数Pxに
記憶する。Pxの値は1から始まる整数である。次に、
VGAアドレスをリニアフレームバッファの非VGA等
価アドレスに式: nA = (Px*64K+nA) に従って変換する。式中、64Kは各ページのサイズに
相当する。次に、新たに変換されたアドレスに対応する
非VGAフレームバッファ中の記憶場所にデータを書込
み、そこで、VGA書込みアクセスがエミュレートされ
るのである。
【0050】図5は、上記の擬似コードと関連して、本
発明に従って採用することが可能である多数のエミュレ
ーションルーチンの中の1つを表わしているにすぎな
い。たとえば、コードの別の部分をVGA読取りアクセ
スの変換の専用とすることができる。各々のエミュレー
ションルーチンを厳密にどう実現するかは、システムで
使用すべきハードウェアと、アプリケーション及び/又
はオペレーティングシステムの必要条件、すなわち、ア
プリケーション及び/又はオペレーティングシステムが
どの型のハードウェア、インタフェース等を理解するか
ということによって決まる。このように、本発明によれ
ば、コンピュータシステムは標準のハードウェア、イン
タフェース又は演算論理に従ってアクセスを実行するア
プリケーションと共に非標準ハードウェア、又は理解さ
れないハードウェアを利用することができるのである。
【0051】ソフトウェアVGAエミュレーションと併
せて単一のフレームバッファという解決手段を使用する
ことにより、2つのフレームバッファを設ける必要はな
くなる。さらに、本発明によれば、メモリ制御装置にお
いてVGAとの互換性を得るために、余分のシリコンや
パーソナルコンピュータ基板スペースを利用する必要も
なくなる。また、システム管理割込み(SMI)の使用
によって、ソフトウェアVGAエミュレーションはVG
Aアプリケーションに対して透過的になるので、旧VG
Aアプリケーションと、新たなグラフィックスサブシス
テムアプリケーションとの間に互換性を成立させること
ができる。
【0052】以上の説明を読んだならば、本発明の数多
くの変更及び変形が当業者に明白になることは無論であ
ろうが、例示として図示し且つ説明した特定の実施例が
限定的な意味をもつものと考えてはならないことを理解
すべきである。従って、好ましい実施例の詳細を参照す
ることは、本発明に不可欠であるとみなされる特徴のみ
を挙げている特許請求の範囲を限定しようとするもので
はない。以上、コンピュータシステムにおいて回路エミ
ュレーションを実行する方法及び装置を説明した。
【図面の簡単な説明】
【図1】本発明の動作を示す図。
【図2】本発明の現時点で好ましい実施例のコンピュー
タシステムのブロック線図。
【図3】本発明に従ってVGAのソフトウェアエミュレ
ーションを実行する方法を示す図。
【図4】本発明のソフトウェアVGAエミュレーション
のためのメモリ及びI/Oトラッピングメカニズムを示
す図。
【図5】本発明により実行されるソフトウェアエミュレ
ーションの1例のフローチャート。
【符号の説明】
10 コンピュータシステム 11 インタフェースバス 20 中央処理装置 30 入出力制御装置 40 グラフィックスインタフェース 50 フレームバッファ 60 フラットハンドル表示装置 80 システムメモリ 85 ポータブル電源 86 バッテリ 101 SMI割込み

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータシステムの一部ではない第
    1の回路に対するアクセスを実行するように設計されて
    いる少なくとも1つのアプリケーションを実行するコン
    ピュータシステムで前記第1の回路をエミュレートする
    方法において、 前記第1の回路に対するアクセスを実行する過程と;前
    記アクセスに応答して、そのアクセスを発生している前
    記少なくとも1つのアプリケーションに透過的なシステ
    ム割込みを生成する過程と;前記アクセスが変換される
    ように、前記第1の回路をエミュレートする過程を含め
    て前記透過的なシステム割込みを処理する過程とから成
    る方法。
  2. 【請求項2】 コンピュータシステムで回路ハードウェ
    アをエミュレートする方法において、 前記ハードウェアに対するアクセスに応答して透過的な
    システム割込みを生成する過程と;アクセスのアドレス
    とデータをトラップする過程と;前記アクセスの前記デ
    ータとアドレスが現在ハードウェアに合わせて変換され
    るように、前記回路をエミュレートするためのソフトウ
    ェアルーチンを実行することを含めて、割込みを処理す
    る過程と;アクセスが現在ハードウェアで完了するよう
    に、変換後のアドレスを現在ハードウェアに提供する過
    程とから成る方法。
  3. 【請求項3】 第2の回路と共に動作するように設計さ
    れた少なくとも1つのアプリケーションをランするコン
    ピュータシステムに第1の回路をエミュレートさせる装
    置において、 前記第2の回路に対するアクセスを実行する手段と;前
    記アクセスを実行する手段に結合し、前記アクセスに応
    答して、そのアクセスを企図している前記アプリケーシ
    ョンに透過的なシステム割込みを生成する手段と;前記
    アクセスをエミュレートする手段を含み、前記システム
    割込みを生成する手段に結合して、前記第1の回路に対
    して前記アクセスを実行できるように、前記透過的なシ
    ステム割込みを処理する手段とを具備する装置。
  4. 【請求項4】 VGAアプリケーションを使用するコン
    ピュータシステムでそのコンピュータシステムの一部で
    はないVGA回路をエミュレートする方法において、 前記VGA回路に対するVGAアクセスを実行する過程
    と;前記VGAアクセスに応答して、そのVGAアクセ
    スを企図している前記VGAアプリケーションに透過的
    なシステム割込みを生成する過程と;前記VGA回路を
    エミュレートする過程を含めて、前記VGAアクセスが
    変換されるように前記透過的なシステム割込みを処理す
    る過程とから成る方法。
  5. 【請求項5】 コンピュータシステムでVGA回路ハー
    ドウェアをエミュレートする方法において、 前記VGAハードウェアに対するVGAアクセスに応答
    して透過的なシステム割込みを生成する過程と;VGA
    アクセスのアドレスとデータをトラップする過程と;前
    記VGA回路をエミュレートするためのソフトウェアル
    ーチンを実行することを含めて、前記VGAアクセスの
    前記データとアドレスが非VGAハードウェアに合わせ
    て変換されるように割込みを処理する過程と;非VGA
    ハードウェアでVGAアクセスが完了するように、変換
    後のアクセスを非VGAハードウェアに提供する過程と
    から成る方法。
JP5339906A 1992-12-07 1993-12-07 コンピュータシステムで回路をエミュレートする 方法及び装置 Pending JPH0773046A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US98719992A 1992-12-07 1992-12-07
US987199 1992-12-07

Publications (1)

Publication Number Publication Date
JPH0773046A true JPH0773046A (ja) 1995-03-17

Family

ID=25533097

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5339906A Pending JPH0773046A (ja) 1992-12-07 1993-12-07 コンピュータシステムで回路をエミュレートする 方法及び装置

Country Status (2)

Country Link
US (1) US5590312A (ja)
JP (1) JPH0773046A (ja)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6282645B1 (en) 1994-02-28 2001-08-28 Kabushiki Kaisha Toshiba Computer system for reading/writing system configuration using I/O instruction
JP2734992B2 (ja) * 1994-07-25 1998-04-02 日本電気株式会社 情報処理装置
US5956680A (en) * 1995-06-02 1999-09-21 National Semiconductor Corporation Virtual audio generation and capture in a computer
US5845133A (en) * 1995-07-06 1998-12-01 Cyrix Corporation Virtualized functions within a microprocessor
US5838987A (en) * 1995-10-06 1998-11-17 National Semiconductor Corporation Processor for eliminating external isochronous subsystems
US5786825A (en) * 1995-12-13 1998-07-28 National Semiconductor Virtual display subsystem in a computer
US5727217A (en) * 1995-12-20 1998-03-10 Intel Corporation Circuit and method for emulating the functionality of an advanced programmable interrupt controller
US5857090A (en) * 1995-12-29 1999-01-05 Intel Corporation Input/output subsystem having an integrated advanced programmable interrupt controller for use in a personal computer
US5802350A (en) * 1996-01-18 1998-09-01 International Business Machines Corporation System and method for selecting an interrupt system based upon the operating system of a multiprocessor system
US5694582A (en) * 1996-01-26 1997-12-02 Dell Usa, Lp Operation system independent polled interface for extension BIOS (XBIOS) operations
US5675814A (en) * 1996-01-26 1997-10-07 Dell Usa, L.P. Apparatus and method for managing power consumption by I/O ports in a computer system
US5896534A (en) * 1996-01-26 1999-04-20 Dell Usa, L.P. Operating system independent apparatus and method for supporting input/output devices unsupported by executing programs
US5796984A (en) * 1996-01-26 1998-08-18 Dell Usa, L.P. Operating system independent apparatus and method for eliminating peripheral device functions
US5943506A (en) * 1996-03-25 1999-08-24 Intel Corporation System for facilitating data I/O between serial bus input device and non-serial bus cognition application by generating alternate interrupt and shutting off interrupt triggering activities
US5835791A (en) * 1996-03-26 1998-11-10 Vlsi Technology, Inc. Versatile connection of a first keyboard/mouse interface and a second keyboard/mouse interface to a host computer
US5898859A (en) * 1996-10-01 1999-04-27 Intel Corporation Address shadow feature and methods of using the same
US5754762A (en) * 1997-01-13 1998-05-19 Kuo; Chih-Cheng Secure multiple application IC card using interrupt instruction issued by operating system or application program to control operation flag that determines the operational mode of bi-modal CPU
JPH10293641A (ja) * 1997-04-17 1998-11-04 Toshiba Corp コンピュータシステムおよびusbデバイス制御方法
US6873948B1 (en) 1998-05-21 2005-03-29 Lsi Logic Corporation Method and apparatus for emulating a device within a data processing system
US6212592B1 (en) 1998-09-17 2001-04-03 Micron Technology, Inc. Computer system for processing system management interrupt requests
US6145048A (en) * 1998-09-17 2000-11-07 Micron Technology, Inc. Method of processing system management interrupt requests
US6240468B1 (en) * 1998-12-18 2001-05-29 International Business Machines Corporation Interposed graphics device driver module processing function requests within module in standard mode, and passing function requests to specialized mode device driver in specialized mode
US6564276B1 (en) 2000-01-25 2003-05-13 Dell Usa L.P. Access restriction of environmental circuits
US6658515B1 (en) * 2000-01-25 2003-12-02 Dell Usa, L.P. Background execution of universal serial bus transactions
US6606677B1 (en) * 2000-03-07 2003-08-12 International Business Machines Corporation High speed interrupt controller
US7689724B1 (en) 2002-08-16 2010-03-30 Cypress Semiconductor Corporation Apparatus, system and method for sharing data from a device between multiple computers
US7293118B1 (en) 2002-09-27 2007-11-06 Cypress Semiconductor Corporation Apparatus and method for dynamically providing hub or host operations
US20050198421A1 (en) * 2004-03-08 2005-09-08 Nalawadi Rajeev K. Method to execute ACPI ASL code after trapping on an I/O or memory access
KR100586523B1 (ko) * 2004-05-12 2006-06-07 삼성전자주식회사 정보처리시스템 및 그 제어방법
US7653123B1 (en) 2004-09-24 2010-01-26 Cypress Semiconductor Corporation Dynamic data rate using multiplicative PN-codes
US8145470B2 (en) * 2007-06-27 2012-03-27 Microsoft Corporation Accelerated access device emulator access scheme in a hypervisor environment with child and root partitions
US9967632B2 (en) * 2010-03-08 2018-05-08 Rovi Technologies Corporation Emulated television tuner via execution of software by a computing device
US8428929B2 (en) * 2010-09-30 2013-04-23 Intel Corporation Demand based USB proxy for data stores in service processor complex

Family Cites Families (19)

* 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
US4084235A (en) * 1975-04-14 1978-04-11 Honeywell Information Systems Inc. Emulation apparatus
US4450519A (en) * 1980-11-24 1984-05-22 Texas Instruments Incorporated Psuedo-microprogramming in microprocessor in single-chip microprocessor with alternate IR loading from internal or external program memories
US4514805A (en) * 1982-02-22 1985-04-30 Texas Instruments Incorporated Interrupt operation in systems emulator mode for microcomputer
JPS6017539A (ja) * 1983-07-11 1985-01-29 Hitachi Ltd エミユレ−シヨン方式
JPH0619747B2 (ja) * 1984-01-18 1994-03-16 株式会社日立製作所 I/o命令実行方法、i/o割込処理方法およびそれらを用いた計算機システム
US4727480A (en) * 1984-07-09 1988-02-23 Wang Laboratories, Inc. Emulation of a data processing system
US4907150A (en) * 1986-01-17 1990-03-06 International Business Machines Corporation Apparatus and method for suspending and resuming software applications on a computer
US4875186A (en) * 1986-02-28 1989-10-17 Prime Computer, Inc. Peripheral emulation apparatus
US4841476A (en) * 1986-10-06 1989-06-20 International Business Machines Corporation Extended floating point operations supporting emulation of source instruction execution
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
US5155838A (en) * 1988-04-28 1992-10-13 Kabushiki Kaisha Toshiba Computer system with emulation mechanism
US5031119A (en) * 1989-06-12 1991-07-09 Tandy Corporation Split screen keyboard emulator
US5245321A (en) * 1989-09-26 1993-09-14 Home Row, Inc. Integrated keyboard system with typing and pointing modes of operation
US5255379A (en) * 1990-12-28 1993-10-19 Sun Microsystems, Inc. Method for automatically transitioning from V86 mode to protected mode in a computer system using an Intel 80386 or 80486 processor
US5303378A (en) * 1991-05-21 1994-04-12 Compaq Computer Corporation Reentrant protected mode kernel using virtual 8086 mode interrupt service routines
US5297282A (en) * 1991-05-29 1994-03-22 Toshiba America Information Systems, Inc. Resume processing function for the OS/2 operating system
US5237669A (en) * 1991-07-15 1993-08-17 Quarterdeck Office Systems, Inc. Memory management method
US5297124A (en) * 1992-04-24 1994-03-22 Miltope Corporation Tape drive emulation system for a disk drive

Also Published As

Publication number Publication date
US5590312A (en) 1996-12-31

Similar Documents

Publication Publication Date Title
JPH0773046A (ja) コンピュータシステムで回路をエミュレートする 方法及び装置
US6321287B1 (en) Console redirection for a computer system
JP2610812B2 (ja) データ処理システムのエミユレーシヨン
US5796984A (en) Operating system independent apparatus and method for eliminating peripheral device functions
CA2346991C (en) Power management method and device for display devices
US4920481A (en) Emulation with display update trapping
US5896534A (en) Operating system independent apparatus and method for supporting input/output devices unsupported by executing programs
US5768598A (en) Method and apparatus for sharing hardward resources in a computer system
US5577230A (en) Apparatus and method for computer processing using an enhanced Harvard architecture utilizing dual memory buses and the arbitration for data/instruction fetch
KR100764921B1 (ko) 장치 이뉴머레이션을 위한 가상 rom
US5734914A (en) Computer system capable of shifting voltage level of data signal between processor and system memory
JPH04229329A (ja) パーソナルコンピュータ装置
US5509139A (en) Circuit for disabling an address masking control signal using OR gate when a microprocessor is in a system management mode
Intel
Intel Technical Product Specification for Intel® Desktop Boards using the Intel® 845GL Chipset
US6009486A (en) Cardbus docking station
US5857116A (en) Circuit for disabling an address masking control signal when a microprocessor is in a system management mode
KR20070089399A (ko) 디지털 저장장치의 부팅 제어방법
US6560698B1 (en) Register change summary resource
US7694004B2 (en) Bit-granular writes of control registers
US5873129A (en) Method and apparatus for extending physical system addressable memory
CN114327627B (zh) 一种实模式下基于gpu传统io配置显示分辨率的方法
US5970237A (en) Device to assist software emulation of hardware functions
JPH09134326A (ja) コンピュータシステム
JPS6320545A (ja) エミユレ−タのレジスタ読出し装置