JPH09146777A - 仮想サブシステムアーキテクチャ - Google Patents

仮想サブシステムアーキテクチャ

Info

Publication number
JPH09146777A
JPH09146777A JP8264015A JP26401596A JPH09146777A JP H09146777 A JPH09146777 A JP H09146777A JP 8264015 A JP8264015 A JP 8264015A JP 26401596 A JP26401596 A JP 26401596A JP H09146777 A JPH09146777 A JP H09146777A
Authority
JP
Japan
Prior art keywords
subsystem
source
processor
memory
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.)
Pending
Application number
JP8264015A
Other languages
English (en)
Inventor
Thomas B Brightman
ビー ブライトマン トーマス
Frederick S Dunlap
エス ダンラップ フレデリック
Andrew D Funk
ディー ファンク アンドリュー
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.)
SAIRITSUKUSU CORP
Cyrix Corp
Original Assignee
SAIRITSUKUSU CORP
Cyrix 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 SAIRITSUKUSU CORP, Cyrix Corp filed Critical SAIRITSUKUSU CORP
Publication of JPH09146777A publication Critical patent/JPH09146777A/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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/542Intercept

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Advance Control (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)

Abstract

(57)【要約】 【課題】多重にパイプライン化されたCPUコアを有す
るサブシステムを仮想化するシステムである。 【解決手段】仮想サブシステムアーキテクチャを有する
処理システムは、処理システム上で実行するアプリケー
ションプログラムに全て透過である、物理的サブシステ
ムをシュミレートするために、再マップ可能なハードウ
ェア資源(58)と共に、再入可能システム管理モード
メカニズムおよび装置のハンドラーを用いる。

Description

【発明の詳細な説明】
【0001】
【発明の属する分野】本発明は、コンピュータシステ
ム、特に、等時性、即ち“リアルタイムラン”の周辺サ
ブシステムを実在するソフトウェアプログラムに明らか
にシミュレートする仮想サブシステムアーキテクチャに
関する。
【0002】
【従来の技術】コンピュータシステムは、代表的には、
アッド−オン・カード(add-on card)を介して、周辺サ
ブシステムの取付けのための設備を一般に有している。
これらのサブシステムは、中央処理装置(CPU)によ
って認識されるメモリおよびI/Oアドレス空間によっ
て識別、即ち“マップ”される。PC環境において、事
実上のプロトコルは、商業的に成功した製品によってポ
ピュラーになった幾つかの任意のメモリおよびI/Oマ
ッピングから生じたが、音声カード、モデムおよびグラ
フィックディスプレイのアダプターに限定されない。こ
れらの事実上のプロトコルを暗示的に内蔵する、アプリ
ケーションソフトウェア−−不必要な逆両立性からはず
れるハードウェアを向上する、が存在する。
【0003】逆両立性を周辺の増強に負わせることは、
代表的には、通常性能を制限し、コストを増大し、且つ
追加的な集積回路あるはダイスペースの形で、更にスペ
ースを必要とする。逆両立性を維持するための代替物
は、多大の受け継いだソフトウェアが捨てられなければ
ならない点で、全く興味がないし、商業的にも受入れ難
い。他の背景として、CPUのパイビング技術は、実行
する複雑な命令に関連しした待ち時間を軽減するために
知られている。特に、一連の命令において1より多い命
令が、異なるフェーズであっても与えれた時間に実行さ
れるように、命令実行はマルチ“フェーズ”(multiple
"phases")に分類される。本発明に関連した、しかし完
全には適合してない技術は、San Jose, CaliforniaのCh
ips and Technologiesによる1991年10月に"Produt Brie
f for the CHIPSystemO^" に掲載された動作のSuperS
tateO^modeである。この所謂 "SuperStateO^ mode"
において、ソフトウェアとハードウェアの非両立性は、
外部のバスレベルで互換できないソフトウェア命令或い
は割り込みをインターセプト、即ち“トラッピング”す
ることにより、およびそれらを両立できるフォーマット
に変換することによって、満足される。“命令サービス
(demand service)" 周辺装置に向けられる、この "Supe
rStateO^ mode"は、きわどいタイミングの抑圧を有す
る等時性の“リアルタイムラン”の周辺装置を除くこと
の教示あるいは示唆を完全に欠いているが、しかし音声
カード及びモデムに限定されない。更に、 "SuperState
O^ mode"は仮想環境におけるメモリマップされたI/
Oを扱い、多くのパイプライン化されたCPUコアを有
する仮想サブシステム、或いはハードウェア資源を用い
ることの全ての教示或いは示唆を完全に欠いているが、
しかし仮想サブシステムを支援し、そして重複を避ける
ために仮想サブシステム間で再マップ可能であるカウン
ター、タイマー、コンパレータ及びCODECSに限定されな
い。
【0004】上述から、等時性リアルタイムランの周辺
サブシステムを仮想化するために、仮想環境におけるメ
モリマップされたI/Oを扱い、多重にパイプライン化
されたCPUコアを有する仮想サブシステムを扱い、そ
して再マップ可能な仮想ハードウェア資源を備える仮想
サブシステムアーキテクチャが必要であることが理解さ
れたであろう。
【0005】
【本発明の概要】上述の従来技術の制限を克服するた
め、及び本願明細書を読み、理解するに従って明らかに
なるであろう他の制限を克服するために、本発明は、近
似のリアルタイムにおける物理的サブシステムからの応
答を引き起こそうとするイベントをトラップし、サービ
スするために、多重スレッド(multiple threads: プロ
グラムの中でプロセスによって実行される命令文や命令
の多重列) の実行を有する再入可能なシステム管理モー
ド機構と共に、本来の中央処理装置を用いる仮想サブシ
ステムを開示する。外部および内部のトラップ機構は所
定の外部および内部のイベントの発生にそれぞれ応答す
るシステム管理割り込み(System ManagementInterrup
t: SMI) を発生する。SMIに応答して、本来の中央処
理装置は、割り込みを起こしたイベントを決定し、物理
サブシステムから予期される応答をシュミレートするた
めに一連の命令を実行する。
【0006】本発明の特徴は、多重にパイプライン化さ
れたCPUコアを有するサブシステムを仮想化する能力
である。本発明の他の特徴は、メモリマップされた物理
的サブシステムを仮想化する能力である。本発明の他の
特徴は、再入可能なシステム管理モード機構の使用によ
って多重リアルタイムラン周辺装置を仮想化する能力で
ある。本発明の他の特徴は、再マップ可能な仮想ハード
ウェア資源である。本発明の他の特徴は、アプリケーシ
ョンソフトウェアをランし、物理的サブシステムを仮想
化するために、本来の中央処理装置のバンド幅の高度の
集積化と償却化である。
【0007】本発明の他の特徴は、本来の中央処理装置
のスピードに、仮想化されたサブシステムの直接的な効
率依存性である。本発明の他の特徴は、仮想サブシステ
ムがオペレティングシステム(OS)と無関係であるこ
とである。本発明の他の特徴は、仮想サブシステムがあ
らゆる特別なメモリ管理ハンドラーを必要としないこと
である。本発明の他の特徴は、仮想化されたサブシステ
ムに対する新しいプログラムを更新することの容易性で
ある。本発明の他の特徴は、コンピュータシステムの製
造コストの削減である。本発明を特徴づける新規性のこ
れらの、いろいろな他の目的、特徴および利点は特許請
求の範囲の請求項にとくに指摘されている。しかし、本
発明、その利点、およびその使用によって得られる目的
をより良く理解するために、その一部を形成する図面お
よび記述事項が参照されるべきである。そこには、本発
明の原理に従って実現された仮想サブシステムアーキテ
クチャの特別な例が示され、記載されている。
【0008】
【実施の形態】本発明の好適な実施の態様の詳細な記載
は、以下のような項目に従って記述される。 1.仮想サブシステムアーキテクチャを用いる典型的な
システム 2.典型的再入可能なシステムの管理モードメカニズム 3.パイプライン化されたコアにいてトラッピングする
イベント 4.多重スレッドされた仮想システム 5.再マップ可能なハードウェア資源 6.結論 この項目テーブル、およびこの詳細な説明で用いられる
対応の見出しは、説明の便宜のためだけに用意されたも
のであり、本発明の範囲を限定するものではない。
【0009】好適な実施の形態は、x86コンピュータ
アーキテクチャに関して以下に記載されるが、あらゆる
アーキテクチャに普遍的に応用できることが理解される
べきである。マイクロプロセッサ設計の分野における実
務者に公知であるx86コンピュータアーキテクチャ
(レジスタ名、信号ノーメンクレーチャ等のような)に
関する幾つかの用語は、開示を不明瞭にしないために詳
細に議論されない。更に、ここで記述の利益を有する、
当業者に容易に明らかである構造上の詳細は、本発明に
適した詳細を示し、且つ記述する、容易に理解できるブ
ロック図、状態図およびフロー図による図面に示されて
いる。従って、図解は典型的なシステムの物理的配置を
必ずしも表すものではないが、便利な機能的グループに
主たる構造の要素を主として示しており、本発明がより
容易に理解さるであろう。本発明の範囲から逸脱するこ
となく、他の実施の形態を利用することもで、構造上の
変更を行うこともできることを理解すべきである。
【0010】明細書全体をとおして、用語“ハンドラー
(handler) ”は、中央処理装置によって実行される便利
な機能的プログラムモジュールを示すために用いられる
ことを理解すべきである。また、“アプリケーションプ
ログラムに透明的(transparent) ”である機能の実現化
の条件、イベント或いは方法は、アプリケーションプロ
グラムが正しく実行するために機能の実現化の条件、イ
ベント或いは方法について知らないか知る必要がないこ
とを記述する。用語“制御レジスタ(control register
s)"は、プログラム可能な値を制御、プログラムおよび
データフローに保持するためのメカニズムを記述するた
めに明細書全体をとおして用いられる。本発明の開示の
助けによって、この分野の通常の知識を有するものは、
本発明の範囲から逸脱することなく制御レジスタのため
の多くの形状および位置を理解するであろう。用語“仮
想化する(virtualize)" は、アプリケーションプログラ
ムに透明な装置或いはサブシステムの実在がなく、アプ
リケーションプログラムに応答する装置或いはサブシス
テムの予期される特性のシミュレーションを意味するも
のである。用語“等時性(isochronous)"或いは" リアル
タイムラン(real-timerun)"は、正しい動作のために装
置やサブシステムに関連した一時的な臨界性を有する装
置やサブシステムを記述するものである。 1.仮想サブシステムアーキテクチャを用いる典型的な
システム 本発明の原理に従って、実施される仮想サブシステムア
ーキテクチャを用いる典型的なシステム(しかし、これ
に限るものではない)が図1に示される。システム回路
ボード11(a.k.a.マザーボード(motherboard))
は、好ましくはCPU10、システムメモリ36、RA
MDAC/薄膜トランジスタ・ディスプレイ・パネル・
インターフェース40、L2キャッシュ44及びチップ
セットの論理回路49を有する。マイクロソフト(O
`)のウインドウズ(O^)のようなマルチタスクのオ
ペレーティングシステムのプログラムは管理の一次動作
に対してCPUで実行する。
【0011】CPU10は、好ましくは以下の機能ユニ
ットを有する:内部バス制御装置12、CPUコア1
4、L1(レベル1)キャッシュ18--その一部は、ス
クラッチパッドメモリ、メモリ制御装置28、浮動小数
点装置(FPU)16、ディスプレイ制御装置20、内
部SMI発生器21、グラフィックス・パイプライン
(a.k.a.グラフィックス・アクセレレータ(graph
ics accelerator)) 22、L2(レベル2)キャッシュ
制御装置24、及びPCI−バス制御装置26として区
分することができる。バス制御装置12、CPUコア1
4、FPU16、L1キャッシュ18、及びグラフィッ
クス・パイプライン22は、内部の(CPUに関して)
C−バス30を介して共に結合されるが、その正確な構
成は本発明を理解するためには必要でない。バス制御装
置12、ディスプレイ制御装置20、グラフィックス・
パイプライン22、L2キャッシュ制御装置24、PC
I−バス制御装置26、及びメモリ制御装置28は、内
部の(CPU10に関して)X−バス32を介して共に
結合される。C−バス30及びX−バス32の詳細は本
発明の理解のためには必要でない。例えば、CPUコア
14、FPU16、及びL1キャッシュ18がCPUの
リマインダーから実質的に自律して動作することがで
き、且つ他のアクティビティ(例えば、PCI−バスト
ランスファ、L2キャッシュトランスファ、及びグラフ
ッィクスの更新)が独立して行われるように、独立した
C−バス及びX−バスは、CPU10内のこれらの機能
的な装置と結合しないことを理解するれば充分である。
更に、C−バスは充分なバンド幅を有しており、CPU
コア14が関係のない動作を行っている間、グラフィッ
クス・パイプライン22はスクラッチパッドメモリ(作
業用メモリ)にアクセスすることを可能にする。
【0012】好適な実施の形態におけるCPUコア14
は、6ステージのパイプラインである。しかし、CPU
コア14のパイプステージの正確な詳細は本発明の理解
のためには重要でない。命令フェッチ(第1)ステージ
中に、複数のバイトがバッファにフェッチされ、命令デ
コード(第2)ステージ中に、デコード及びスコアボー
ドチェックが行われ、プリアドレス計算(第3)ステー
ジ中に、リニアなメモリアドレス計算が行われ、アドレ
ストランスレーション(第4)ステージ中に、物理的な
アドレス計算が行われ、実行(第5)ステージ中に、命
令が実行され、且つライトバック (writeback)(第6)
ステージ中に、命令実行の結果が書き込みバッファに書
き込まれることを理解すれば充分である。この分野の通
常の知識を有する者は、本発明の開示の助けで、本発明
の範囲から逸脱することなく、パイプラインのためのス
テージの他の数及びCPUコア14のための他の構成を
認識するであろう。
【0013】L1キャッシュ18は、排他的ではない
が、ライトスルー・モード(write-through mode)かライ
トバック・モード(write-back mode) の何れかにおいて
動作する16kバイトの統一されたデータ/命令キャッ
シュであるのが好ましい。L1キャッシュ18の領域
は、CPUコア14の構成制御レジスタ(configuratio
ncontrol registers)(図示せず)を介してスクラッチ
パッドメモリとしてプログラム可能に分割することがで
きる。L1キャッシュ18のスクラッチパッド制御回路
は、スクラッチパッドメモリのデータにアクセスするた
めに、CPUコア14かグラフィックスパイプライン2
2のいづれかによって用いられるデータポインタを含
む。スクラッチパッドメモリのための典型的な使用(し
かし、これに限るものでない)はグラフィックスパイプ
ライン22による使用のためのブリットバッファ(blit
buffer) としてである。データがディスプレイ上42上
で移動されるときは、データのラスターライン(走査ラ
イン)或いはその一部は、直接マップされたフレームバ
ッファ35(好ましくは、システムメモリ36内の)か
ら読み取られ、L1キャッシュ18から分割されたブリ
ットバッファへ書き込まれ、それから読み出し、且つ直
接マップされたフレームバッファ35の他の領域へ書き
込まれる。CPUコア14によって実行されるプログラ
ムは、データをブリットバッファへ直接入力することも
できるし、直接マップされたフレームバッファ35にお
いて、グラフィックスパイプライン22にそれを自律的
に読み取ったり、入力したりさせる。
【0014】好適なL1キャッシュ18は、スクラッチ
パッドメモリ用の他の応用例と共に、本発明の出願人に
譲渡された" 分割することができるキャッシュ" として
1995年6月5日に出願された米国特許出願08/464,921に
記載されている。しかし、L1キャッシュ18は、本発
明の範囲から逸脱することなく、サイズを大きくも、小
さくもできるし、ハーバード“スプリット(split)"アー
キテクチャを有することもできることを理解すべきであ
る。また、スクラッチパットメモリも本発明の範囲から
逸脱することなく、L1キャッシュ18から分離したメ
モリでもよりことを理解すべきである。グラフックスパ
イプライン22は、スクラッチパッド・メモリ(ブリッ
トバッファ)からVGAフレームバッファ33へ、およ
び本発明の好適な実施の形態において、システムメモリ
36の一部として存する直接マップされたフレーム・バ
ッファメモリ35へデータのブロック移動を促進する専
用バス34を介してメモリ制御装置28に結合される。
直接マップされたフレーム・バッファメモリ35はベー
スアドレスを生成するメモリ制御装置28およびオフセ
ットを生成し、保護を避けるグラフィックスパイプライ
ン22、及びアドレス発生に通常関連する特別扱いのチ
ェックを介してアドレスされる。
【0015】グラフィックスパイプライン22のBitBlt
動作はCPUコア14の制御レジスタ(図示せず)に書
き込まれることによって開始される。そしてCPUコア
14は、i)要求されるソースデータの形式、もしあるな
ら、フレームバッファ、或いはブリットバッファ;ii)
要求される目的データの形式、もしあるなら、フレーム
バッファ、或いはブリットバッファ;iii)グラフィック
スパイプライン22がデータを書き込む場合は、直接マ
ップされたフレームバッファ35、或いはシステムメモ
リ36;及びiv) ソース拡張フラッグを特定する。ソー
スがシステムメモリ36内のイメージであると、BitBlt
動作を開始する前に、データはシステムメモリ36から
ブリットバッファへロードされる。グラフィックスパイ
プライン22がシステムメモリ36に明け渡すと、目的
データもブリットバッファにロードされる。
【0016】内部のバス制御装置12はC−バス30お
よびX−バス32間の転送をそれぞれ調整し、優先順位
を決める。メモリ制御装置28は主システムメモリ36
を制御し、内部のバス制御装置12と協同してキャッシ
ュ能力を決定し、全てのDMAサイクルがL1キャッシ
ュ18とL2キャッシュ44を自動的に調べ回る。FP
U16は浮動小数点動作を行う。速いリンク38を介し
てメモリ制御装置28に結合されたディスプレイ制御装
置20は、直接マップされたフレームバッファメモリ3
5からイメージデータを取り出し、カラールックアップ
を行い、もし必要ならカーソルとアイコンオーバレイを
ピクセルデータストリームに挿入し、タイミングを発生
し、且つディスプイ42を順次駆動するRAMDAC/
薄膜トランジスタ(TFT)インターフェース40に出
力のためのピクセルデータをホーマットに従って並べ
る。
【0017】中でも、L2キャッシュ制御装置24及び
PCI制御装置26は、一まとめにして“オフチップ(o
ff-chip)" L2キャッシュ44(CPU10に関して)
のための高速インターフェースを備える。好適な、しか
しこれに限らない、L2キャッシュインターフェースは
本発明の出願人に譲渡された“L2キャッシュインター
フェース”として1995年8月31日に出願された米
国特許出願08/522,219に記載されている。しかし、L2
キャッシュインターフェース用のたの形状は本発明の範
囲を逸脱することなく実施することができることを理解
すべきである。また、L2キャッシュ44は、PCI−
バス48上の同じ物理的データ、アドレス、および制御
ラインを共有するけれども、性能上の理由のために、ク
ロック速度及び通信プロトコルはPCIプロトコルに必
ずしも関係ないことを理解すべきである。L2キャッシ
ュ44へのデータアクセスは、他の“PCIのような”
PCI−バス48のアクセスと相互に排他的であるが、
しかし、PCI−バスへの書き込みは、キャッシュタグ
と制御論理回路46にアクセスし、ヒットに関して無効
にする。
【0018】好適な実施の形態において、ヒット/ミス
が発生したがどうか決定するキャッシュタグと制御論理
回路46は外部のチップセット論理回路49においてデ
ータキャッシュ44から分離して与えられる。通常の知
識を有する者は、本発明の範囲を逸脱することなく、C
PU10への集積回路に限定されることなく、キャッシ
ュタグと制御論理回路46に対する形状及び配列を認識
するであろう。好適な実施の形態において、典型的なS
MI発生器21はCPUコア14からの第1の入力、内
部のバス制御装置12からの第2の入力、外部のソース
から好ましくはチップセット論理回路49におけるCP
U10への第3の入力(XSMI)を受取る。チップセ
ット論理回路49はPCI−バス46に結合され、好ま
しくは、入ってくるデータと出ていくデータを受け取る
ためのFIFOバッファ、及び与えられたバッファを満
たしていることを示すインジケータを含む(しかしこれ
に限らない)インターフェース論理装置を有している。
チップセット論理回路49は、好ましくは、CPU10
外部の所定のイベントの発生を検出し、指示するため
に、比較器、タイマー及び他のトラップのような回路も
含む。通常の知識を有する者は、本発明の範囲を逸脱す
ることなく、SMI発生器21に対する他の形状、及び
SMI発生器21への他の入力を認識するであろう。 2.典型的な再入可能なシステムの管理モード機構 本発明の好適な実施の形態は、高い優先システム管理割
り込み(SMI)に応答して入り込む、多重スレッドの
実行(multiple threads of execution) を伴う監視動作
モード(supervisory operating mode)である再入可能な
システム管理モード(system management mode: SM
M)のメカニズムをサポートする。SMI21は、以下
により詳細に述べられる幾つかのイベントの発生に応答
してSMIを発生する。典型的な、(しかし、これに限
らない)再入可能なSMMは、本発明の出願人に譲渡さ
れ、出願された"Enhanced System Management Mode wit
h Nesting:ネスティングを伴う拡張システム管理モー
ド)" (米国特許出願番号08/541,359)に記載されてい
る。この分野の通常の知識を有する者は本発明の範囲を
逸脱することなく再入可能なSMMの他の形状を認識す
るであろう。本発明の目的のために、再入可能なSMM
メカニズムは、階層ベースで実行するためのCPUコア
14への、仮想サブシステムアーキテクチャの時分割多
重アクセス(time-division-multiple-access:TDM
A)および/または要求駆動アクセス(demand driven a
ccess)の下でのプログラムを許容することを理解するだ
けで充分である。 3.パイプライン化されたコアにおいてトラップするイ
ベント 本発明の原理に従って、仮想サブシステムアーキテクチ
ャのためのデータパス、再入可能なSMMメカニズムを
トラップするための入力条件、及びパイプライン化され
たCPUコア14のより詳細なブロック図が図2に示さ
れている。マルチプレックサ50は、実行のためにCP
Uコア14へアプリケーションプログラム52からの命
令を通過させる。上述したように。CPUコア14の好
適な実施の形態は6つのステージパイプラインである。
アドレス・トランスレーション(第4の)ステージ中に
行われた物理的アドレス計算は、メモリマップされ、お
よびI/Oマップされた周辺機器に対して、比較回路5
3によってプログラム可能なアドレス範囲と比較され
る。比較回路53のためのアドレス範囲はCPUコア1
4に好適に配置された制御レジスタ(図示せず)でプロ
グラム可能である。
【0019】命令(t)が、比較回路53においてプロ
グラムされた範囲のアドレスにマッチするアドレスを参
照するならば、SMIは、他のことの間に、アドレス計
算2ステージに存する命令(t+1)で開始し、命令フ
ェッチステージ(instructionfetch stage) をとおして
戻り続けるパイプライン上の命令をフラッシュするSM
I発生器21によって発生される。実行ステージにある
命令(t)及びライトバック(Writeback) ステージにあ
る命令(t−1)及びその次は、C−バスを通して続
く。命令(t)は好ましくはバス制御装置12によって
無効にされる。CPUコア14の比較回路53の出力
は、SMI発生器21への第1の入力である。SMI発
生器21への第2の入力は、例えば、上述されたよう
に、入力バッファが満たされていることを示すためにチ
ップセット論理回路49によって、表明され得る、外部
のSMI入力(XSMI)に結合される。SMI発生器
21への第3の入力は、C−バス30のレベルでI/O
アクセスを検出できる(内部のバス制御装置12に配置
された)オプショナルバスI/O比較回路54に結合さ
れる。バスI/O比較回路54に対するアドレス範囲も
内部のバス制御装置12に好ましくは配置された制御レ
ジスタ(図示せず)を介してプログラム可能である。
【0020】SMI発生器21への3つの入力の1つの
表明で、SMI発生器21は、i)SMIのソースを決定
する、ii) 仮想サブシステムプログラム56の適切なエ
ントリアドレスを指す、iii)CPUコア14の1から5
つまでのパイプステージのアプリケーションプログラム
命令をフラッシュする、及び iv)実行のためにCPUコ
ア14に選択された仮想サブシステムプログラムを通す
ためにマルチプレックサ50をスイッチするために、ハ
ンドラーを呼び出す。従って、ハンドラーは、付加的な
仮想システムが容易に加えられて、ソフトウェアのデコ
ードメカニズムを備える。 4.多重スレッドされた仮想システム 本発明の仮想サブシステムアーキテクチャの典型的な、
(しかし、これに限定されない)再入可能性(reentranc
y)の状態図が図3に示されている。本発明における再入
可能性および等時性“リアルタイムラン”の仮想(virtu
alization)の原理によって、モデムを仮想化しているプ
ログラムは、それ自身を再入し、音声発生器あるいはグ
ラフィックスディスプレイを仮想化しているプログラム
を中断し、またはアプリケーションプログラムを再開す
ることができる。同様に、音の発生を仮想化しているプ
ログラムはそれ自身を再入し、グラフィックスディスプ
レイを仮想化しているプログラムを中断し、あるいはア
プリケーションプログラムを再開することができる。最
後に、グラフィックスディスプレイを仮想化しているプ
ログラムはそれ自身を再入するか、あるいはアプリケー
ションプログラムを再開することができる。いま述べら
れた典型的な再入可能性は、本発明が実施される多くの
例示の一つに過ぎないことを理解すべきである。通常の
知識を有する者は、本発明の範囲を逸脱することなく、
他の多くのサブシステム及び体系を認識するであろう。 5.再マップ可能なハードウェア資源 本発明の他の特徴において、仮想サブシステムプログラ
ム56は再マップ可能な仮想ハードウェア資源58と関
連されることができる。特に、図4を参照すると、例え
ば、しかしこれに限られない、CODEC 、タイマー、比較
器、およびカウンターのような再マップ可能なハードウ
ェア資源58は、仮想サブシステムプログラム間のTD
MAベースで共有されるのが好ましい。すなわち、各個
々の仮想サブシステムに対するハードウェア資源を重複
する代わりに、資源は現在実行されている仮想サブシス
テムを助けるために、(制御レジスタあるいはソフトウ
ェアプログラムの開始された制御を介して)マップ化す
ることができる。 6.結論 本発明の詳細な説明は、ある典型的な実施の形態に対し
て行われたが、この実施の形態のいろいろな変更ばかり
でなく、代替の実施の形態もこの分野の通常の知識を有
するものに示唆を与えるであろう。本発明は、特許請求
の範囲の範囲に入るあらゆる変更あるいは代替の実施の
形態を包含する。関連出願 本出願は、共通に譲渡されたU.S.Patent Application S
er. No. 08/458,326,entitled "Virtualized Audio Gen
eration And Capture In A Computer", filedJune 2, 1
995 and Ser. No. 08/498,965, entitled "Virtualized
Within A Microprocessor", filed July 6, 1995 と関
連がある。
【図面の簡単な説明】
【図1】本発明の原理に従って実施された仮想サブシス
テムアーキテクチャを用いるシステムの一般的なブロッ
ク図である。
【図2】仮想サブシステムアーキテクチャの更に詳細な
ブロック図である。
【図3】本発明の仮想サブシステムアーキテクチャにお
ける典型的な再入可能を示す状態図である。
【図4】本発明の原理に従って実施された典型的な再マ
ップ可能なハードウェア資源のブロック図である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 アンドリュー ディー ファンク アメリカ合衆国 コロラド州 80501 ロ ングモント グラント ストリート 809

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】仮想サブシステムアーキテクチャを用いる
    処理システムであって、 (a) 一連のプログラム命令を実行するプロセッサと、 (b) 少なくとも1つの所定のイベントを検出するトラッ
    プ回路と、 (c) 前記少なくとも1つの所定のイベントを識別し、且
    つ前記少なくとも1つの所定のイベントに応答して、物
    理的なサブシステムによって通常行われる同等な機能を
    達成するために、実行するための前記プロセッサに命令
    を与えるために、前記トラップ回路に応答するシステム
    管理モードメカニズム、を有する装置。
  2. 【請求項2】前記トラップ回路は、プロセッサの外部に
    あることを特徴とする請求項1に記載のシステム。
  3. 【請求項3】前記トラップ回路は、プロセッサの内部に
    あり、且つ前記少なくとも1つの所定のイベントは、プ
    ロセッサ外のサブシステムと通信を行う命令であること
    を特徴とする請求項1に記載のシステム。
  4. 【請求項4】仮想サブシステムアーキテクチャを有する
    コンピュータシステムであって、 (a) 母板と、 (b) 前記母板上に配置された中央プロセッサと、 (c) 前記母板上に配置され、且つ前記中央プロセッサに
    結合されたメモリと、 (d) 少なくとも1つの所定のイベントを識別するため
    の、およびこの識別に応答して、物理的なサブシステム
    によって通常行われる機能を達成するために、前記中央
    処理装置に実行できる命令を通過するためのシステム管
    理モードメカニズム、を有する装置。
  5. 【請求項5】前記少なくとも1つの所定のイベントをシ
    ステム管理モードメカニズムへ信号するために母板上に
    配置されたトラップ回路を、更に有することを特徴とす
    る請求項4に記載のシステム。
  6. 【請求項6】前記中央プロセッサ外のサブシステムと通
    信しようとする少なくとも1つの命令を検出するため
    に、中央プロセッサ内にトラップ回路を、更に有するこ
    とを特徴とする請求項4に記載のシステム。
  7. 【請求項7】前記中央プロセッサはアドレス計算ステー
    ジを含んで、パイプライン化され、且つ前記トラップ回
    路はアドレス計算ステージのメモリアドレスを検出する
    ことを特徴とする請求項1乃至6に記載のシステム。
  8. 【請求項8】前記中央プロセッサはアドレス計算ステー
    ジを含んで、パイプライン化され、且つ前記トラップ回
    路はアドレス計算ステージのI/Oアドレスを検出する
    ことを特徴とする請求項1乃至6に記載のシステム。
  9. 【請求項9】前記システム管理モードメカニズムは再入
    可能であることを特徴とする請求項1乃至8に記載のシ
    ステム。
  10. 【請求項10】前記中央プロセッサは、更に構成を変更
    することができる仮想ハードウェア資源を有することを
    特徴とする請求項1乃至9に記載のシステム。
  11. 【請求項11】マイクロプロセッサ内のサブシステムを
    仮想化する方法であって、 (a) ソースによって発生されたオペレーティングシステ
    ムの独立割り込みを受信するステップと、 (b) 前記割り込みに応答して、アイデンティティーのた
    めにステップ(a) のソースに質問するステップと、 (c) ステップ(b) において識別されたソースに応答し
    て、通常行われるマイクロプロセッサの外部の物理的な
    サブシステムの同等な機能を達成するステップ、を有す
    る方法。
  12. 【請求項12】前記ソースは外部ピンの表明であること
    を特徴とする請求項11に記載の方法。
  13. 【請求項13】前記ソースは所定のメモリアドレスであ
    ることを特徴とする請求項11に記載の方法。
  14. 【請求項14】前記ソースは所定のI/Oアドレスであ
    ることを特徴とする請求項11に記載の方法。
  15. 【請求項15】ステップ(c) は、更にシステム管理割り
    込みハンドラーにおいて一連のステップを行うことによ
    って定義されることを特徴とする請求項11乃至15に
    記載の方法。
  16. 【請求項16】中央処理装置外部の母板、中央プロセッ
    サ、およびメモリを有するコンピュータにおいて、サブ
    システムを仮想化する方法であって、 (a) オペレーティング・システムの下で前記中央処理装
    置の外部メモリからの命令を実行するステップと、 (b) ソースによって発生されたオペレーティング・シス
    テムの独立割り込みを受信するステップと、 (c) アイデンティティのためにステップ(b) におけるソ
    ースに質問するステップと、 (d) ステップ(c) におけるソースの識別に応答して、中
    央処理装置外の周辺装置の同等な機能を達成するステッ
    プ、を有する方法。
JP8264015A 1995-10-06 1996-10-04 仮想サブシステムアーキテクチャ Pending JPH09146777A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/540351 1995-10-06
US08/540,351 US5838987A (en) 1995-10-06 1995-10-06 Processor for eliminating external isochronous subsystems

Publications (1)

Publication Number Publication Date
JPH09146777A true JPH09146777A (ja) 1997-06-06

Family

ID=24155077

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8264015A Pending JPH09146777A (ja) 1995-10-06 1996-10-04 仮想サブシステムアーキテクチャ

Country Status (5)

Country Link
US (3) US5838987A (ja)
EP (1) EP0767429B1 (ja)
JP (1) JPH09146777A (ja)
DE (1) DE69634624T2 (ja)
ES (1) ES2240988T3 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6799316B1 (en) * 2000-03-23 2004-09-28 International Business Machines Corporation Virtualizing hardware with system management interrupts
US7216345B1 (en) * 2000-04-07 2007-05-08 Hall Aluminum Llc Method and apparatus for protectively operating a data/information processing device
US6701272B2 (en) 2001-03-30 2004-03-02 Intel Corporation Method and apparatus for optimizing thermal solutions
US20030005261A1 (en) * 2001-06-29 2003-01-02 Gad Sheaffer Method and apparatus for attaching accelerator hardware containing internal state to a processing core
US7162620B2 (en) * 2002-03-13 2007-01-09 Sony Computer Entertainment Inc. Methods and apparatus for multi-processing execution of computer instructions
US7421431B2 (en) * 2002-12-20 2008-09-02 Intel Corporation Providing access to system management information
US7234037B2 (en) * 2003-11-25 2007-06-19 International Business Machines Corporation Memory mapped Input/Output operations
US7552436B2 (en) 2003-11-25 2009-06-23 International Business Machines Memory mapped input/output virtualization
US7146482B2 (en) 2003-11-25 2006-12-05 International Business Machines Corporation Memory mapped input/output emulation
EP2013809B1 (en) * 2006-05-01 2018-11-21 MediaTek Inc. Method and apparatus for secure context switching in a system including a processor and cached virtual memory
US8181175B1 (en) 2008-01-28 2012-05-15 Hewlett-Packard Development Company, L.P. Accounting for resource usage time by a virtual machine
US8363458B2 (en) * 2008-06-06 2013-01-29 Ovonyx, Inc. Memory controller
US20090323799A1 (en) * 2008-06-25 2009-12-31 Stmicroelectronics, Inc. System and method for rendering a high-performance virtual desktop using compression technology
DE102010023167B4 (de) * 2010-06-07 2014-06-26 Dräger Safety AG & Co. KGaA Wärmebildkamera mit einer schnellen elektromechanischen Verschlussvorrichtung
US9417801B2 (en) * 2014-03-27 2016-08-16 Intel Corporation Virtual general-purpose I/O controller
US11803387B2 (en) 2020-12-29 2023-10-31 Shanghai Zhaoxin Semiconductor Co., Ltd. System for executing new instructions and method for executing new instructions
US11803383B2 (en) 2020-12-29 2023-10-31 Shanghai Zhaoxin Semiconductor Co., Ltd. Method and system for executing new instructions
US11914997B2 (en) 2020-12-29 2024-02-27 Shanghai Zhaoxin Semiconductor Co., Ltd. Method and system for executing new instructions
US11789736B2 (en) 2020-12-29 2023-10-17 Shanghai Zhaoxin Semiconductor Co., Ltd. Method and system for executing new instructions
US11816487B2 (en) 2020-12-29 2023-11-14 Shanghai Zhaoxin Semiconductor Co., Ltd. Method of converting extended instructions based on an emulation flag and retirement of corresponding microinstructions, device and system using the same
US11625247B2 (en) * 2020-12-29 2023-04-11 Shanghai Zhaoxin Semiconductor Co., Ltd. System for executing new instructions and method for executing new instructions
US11604643B2 (en) 2020-12-29 2023-03-14 Shanghai Zhaoxin Semiconductor Co., Ltd. System for executing new instructions and method for executing new instructions
US11669328B2 (en) 2020-12-29 2023-06-06 Shanghai Zhaoxin Semiconductor Co., Ltd. Method and system for converting instructions

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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割込処理方法およびそれらを用いた計算機システム
US4689766A (en) * 1984-11-16 1987-08-25 Zenith Electronics Corporation System for resetting the operation of a signal processing device upon the failure of accessng a predetermined memory location within a predetermined time interval
US5280626A (en) * 1987-12-02 1994-01-18 Hitachi, Ltd. Multi-process emulator suitable for testing software under multi-process environments
US5155838A (en) * 1988-04-28 1992-10-13 Kabushiki Kaisha Toshiba Computer system with emulation mechanism
US5218693A (en) * 1988-07-29 1993-06-08 Hitachi, Ltd. Timer unit and data processing apparatus including the same
US5327567A (en) * 1989-11-16 1994-07-05 Texas Instruments Incorporated Method and system for returning emulated results from a trap handler
US5175853A (en) * 1990-10-09 1992-12-29 Intel Corporation Transparent system interrupt
JP3003968B2 (ja) * 1991-05-01 2000-01-31 インターナショナル・ビジネス・マシーンズ・コーポレイション 割込み処理プログラム選択装置及び処理方法
US5455909A (en) * 1991-07-05 1995-10-03 Chips And Technologies Inc. Microprocessor with operation capture facility
US5657253A (en) * 1992-05-15 1997-08-12 Intel Corporation Apparatus for monitoring the performance of a microprocessor
US5423008A (en) * 1992-08-03 1995-06-06 Silicon Graphics, Inc. Apparatus and method for detecting the activities of a plurality of processors on a shared bus
US5473767A (en) * 1992-11-03 1995-12-05 Intel Corporation Method and apparatus for asynchronously stopping the clock in a processor
JPH0773046A (ja) * 1992-12-07 1995-03-17 Intel Corp コンピュータシステムで回路をエミュレートする 方法及び装置
US5628017A (en) * 1993-03-15 1997-05-06 Microsoft Corporation Method and system for providing event-response capabilities to pseudocode
US5473763A (en) * 1993-08-02 1995-12-05 Advanced Micro Devices, Inc. Interrupt vector method and apparatus
US5590342A (en) * 1994-11-29 1996-12-31 Intel Corporation Method and apparatus for reducing power consumption in a computer system using virtual device drivers
US5845133A (en) * 1995-07-06 1998-12-01 Cyrix Corporation Virtualized functions within a microprocessor
US6212592B1 (en) * 1998-09-17 2001-04-03 Micron Technology, Inc. Computer system for processing system management interrupt requests

Also Published As

Publication number Publication date
EP0767429A3 (en) 2002-02-06
DE69634624D1 (de) 2005-05-25
US5838987A (en) 1998-11-17
US6442635B1 (en) 2002-08-27
EP0767429B1 (en) 2005-04-20
US5864705A (en) 1999-01-26
EP0767429A2 (en) 1997-04-09
DE69634624T2 (de) 2006-03-02
ES2240988T3 (es) 2005-10-16

Similar Documents

Publication Publication Date Title
JPH09146777A (ja) 仮想サブシステムアーキテクチャ
JP3854668B2 (ja) プロセッサが拡張したシステム管理モードを実現するコンピュータシステム
JP3537448B2 (ja) 先進のマイクロプロセッサのためのゲート格納バッファ
US5826084A (en) Microprocessor with circuits, systems, and methods for selectively bypassing external interrupts past the monitor program during virtual program operation
US6205560B1 (en) Debug system allowing programmable selection of alternate debug mechanisms such as debug handler, SMI, or JTAG
US5974440A (en) Microprocessor with circuits, systems, and methods for interrupt handling during virtual task operation
US7689867B2 (en) Multiprocessor breakpoint
US5838897A (en) Debugging a processor using data output during idle bus cycles
US7992147B2 (en) Processor control register virtualization to minimize virtual machine exits
US6282601B1 (en) Multiprocessor data processing system and method of interrupt handling that facilitate identification of a processor requesting a system management interrupt
US6219720B1 (en) Core logic unit with internal register for peripheral status
US8458726B2 (en) Bios routine avoidance
US8612975B2 (en) World switch between virtual machines with selective storage of state information
US6584573B1 (en) Placing a computer system into a sleeping state
US6189049B1 (en) Method for operating processor with internal register for peripheral status
US20040193394A1 (en) Method for CPU simulation using virtual machine extensions
JP4490585B2 (ja) 周辺ステータスについての内部レジスタを有するプロセッサまたはコア論理演算装置
US5819114A (en) Interrupption recovery and resynchronization of events in a computer
JPH1049373A (ja) パイプライン・デジタル・プロセッサにおいて多重で高精度の事象を操作する方法と装置
US20060282589A1 (en) System and method of processing system management interrupts (SMI) in a multi-processor environment
US6233627B1 (en) Processor with internal register for peripheral status
JP3715057B2 (ja) パニック・トラップ・システム
JP2901573B2 (ja) スーパースカラー方式の情報処理装置
JP2636074B2 (ja) マイクロプロセッサ
JPH10301845A (ja) オペレーション処理方法、制御装置及び層化方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060123

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060424

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060427

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060720

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060904