JP2753781B2 - マイクロプロセッサ装置及び割込みと自動化入出力トラップ再始動を行う方法 - Google Patents

マイクロプロセッサ装置及び割込みと自動化入出力トラップ再始動を行う方法

Info

Publication number
JP2753781B2
JP2753781B2 JP4253662A JP25366292A JP2753781B2 JP 2753781 B2 JP2753781 B2 JP 2753781B2 JP 4253662 A JP4253662 A JP 4253662A JP 25366292 A JP25366292 A JP 25366292A JP 2753781 B2 JP2753781 B2 JP 2753781B2
Authority
JP
Japan
Prior art keywords
instruction
cpu
interrupt
program
execution
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.)
Expired - Lifetime
Application number
JP4253662A
Other languages
English (en)
Other versions
JPH05233325A (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.)
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 JPH05233325A publication Critical patent/JPH05233325A/ja
Application granted granted Critical
Publication of JP2753781B2 publication Critical patent/JP2753781B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • G06F9/3863Recovery, e.g. branch miss-prediction, exception handling using multiple copies of the architectural state, e.g. shadow registers
    • 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/461Saving or restoring of program or task context
    • G06F9/463Program control block organisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はマイクロプロセッサアー
キテクチャの分野に関し、特に、自動化入出力トラップ
再始動を伴なう透過形システム割込みを実行する方法及
び装置に関する。
【0002】
【従来の技術】関連同時係属米国特許出願第59427
8号には、特にマイクロプロセッサアーキテクチャに適
用され、透過形システム割込みを実行する方法及び装置
が開示されている。その関連同時係属米国特許出願に記
載されている方法と装置は、従来のマイクロプロセッ
サ、特に、保護動作モードと、実動作モードとを有する
マイクロプロセッサにおいて、システムインテグレータ
又はOEMメーカーが透過形システム割込みを提供でき
ないというこのマイクロプロセッサに固有の問題を解決
する。
【0003】透過形システム割込み(オペレーティング
システム及びアプリケーションプログラムからは見えな
い状熊で行われるシステム割込み)は、オペレーティン
グシステム又はアプリケーションによる置換え又は重ね
書きができないために、そのマイクロプロセッサを使用
するシステムインテグレータがどのような動作環境にお
いても信頼性をもって動作するシステムレベル割込みを
実行することを可能にするシステムレベル割込みであ
る。関連同時係属米国特許出願に開示されている好まし
い実施例によれば、マイクロプロセッサ利用チップセッ
トの中央処理装置(CPU)チップの外部ピンに電気信
号を印加することにより、透過形システム割込みを呼出
す。
【0004】CPUチップの外部ピンに電気信号が印加
されると、CPUは、透過形システム割込みサービスル
ーチンを主メモリスペースの所定の一領域として記憶し
ている、通常はマッピングされていない専用ランダムア
クセスメモリ(RAM)領域をマッピングし、現在CP
U状態を専用RAMスペースに保管し、透過形システム
割込みルーチンの実行を開始する。通常、透過形システ
ム割込みルーチンは、CPUチップが設置されているシ
ステムに透過形システム割込みを適用する特定の状況に
独特のものである命令から構成されている。透過形シス
テム割込みからの回復は「再開」命令の実行時に行わ
れ、そこで、CPUは透過形システム割込みに先立って
存在していたのと同一の状態に厳密に復元されるのであ
る。
【0005】透過形システム割込みの特定の適用目標は
パワー管理機能であり、その場合、プロセッサ及び/又
は他のシステム装置は未使用期間中に有効に遮断され、
その後、パワーアップルーチンを経過する必要なく再開
されることになるであろう。この機能は、パワーの保存
が第1の関心事であるバッテリー動作コンピュータに関
連して特に有用である。従って、たとえば、コンピュー
タのオペレータがアプリケーションプログラムについて
作業している間に中断が起こった場合、バッテリーの寿
命を維持するためにシステムはパワーダウンされる。オ
ペレータがシステムの使用に戻るときには、システムは
介在期間を通してランしていたかのようにアプリケーシ
ョンプログラムの同じ箇所に復元される。オペレータは
割込みの前のアプリケーションプログラム結果を保管す
るために何のアクションも起こす必要はなく、コンピュ
ータの使用に戻るときにアプリケーションプログラムを
再ロードする必要もない。
【0006】関連同時係属米国特許出願によれば、透過
形システム割込みは入出力命令の実行中にCPUで割込
みを起こすための特定の支援を全く与えない。従って、
アプリケーション特有の命令を伴なう透過形システムサ
ービスルーチンは、入出力命令の実行中にCPUで割込
みが起こったか否かを判定するために検査を実行しなけ
ればならない。入出力命令の実行中にCPUで割込みが
起こった場合には、透過形システムサービスルーチン
は、さらにどの入出力命令が中断されたかを判定し、専
用メモリスペースに保管されているCPU状態の適切な
レジスタを編成しなければならないので、CPU状態を
復元するために再開命令を実行するときには、CPUは
必要に応じて割込みの起こった入出力命令を再実行する
ことになる。
【0007】透過形システム割込みサービスルーチンが
入出力命令の実行中にCPUで割込みが起こったか否か
を判定する方式はマイクロプロセッサによって異なり、
通常はかなり難しい。関連同時係属米国特許出願で論じ
ている「i386(商標)SX」CPUを利用するマイ
クロプロセッサを例にとると、透過形システム割込みサ
ービスルーチンは、まず、入出力トラップが起こったか
否かを判定するためにユーザーのメモリスペースを探索
することにより、入出力命令の実行中にCPUで割込み
が起こったか否かを判定する。
【0008】入出力トラップが起こったと判定した後、
透過形システム割込みサービスルーチンは、どの入出力
命令が実行されたかをその命令がどこに位置しているか
を確定することにより確定する。これを実行するため
に、透過形システム割込みサービスルーチンはCPUの
実行モードを確定し、論理アドレスを獲得し、その論理
アドレスを物理アドレスに変換する必要がある。次に、
透過形システム割込みサービスルーチンは割込みの起こ
った入出力命令の命令型と、命令長さと、アドレス長さ
と、オぺランド長さとを確定する。これを実行するため
に、透過形システム割込みサービスルーチンはメモリセ
グメントのサイズ、何らかのアドレス接頭部オーバライ
ド及び演算コード接頭部オーバライドを含むいくつかの
パラメータを確定しなければならない。
【0009】割込みの起こった入出力命令からCPUを
再始動させる必要がある透過形システム割込みサービス
ルーチン方式は少なくとも2つの次のような利点を有す
る。 1)割込みの起こった入出力命令の実行を継続するため
にCPUを再始動させるという重い負担を透過形システ
ム割込みサービスルーチンが負うことになる。 2)入出力命令から割込みが起こった後にCPUを再始
動させる方式はマイクロプロセッサごとに異なる。
【0010】
【発明が解決しようとする課題】従って、本発明の目的
は、自動化入出力トラップ再始動を伴なう改良された透
過形システム割込みを提供することである。
【0011】
【課題を解決するための手段】本発明によれば、入出力
書込み命令は通知されない。中央処理装置(CPU)
は、次の命令を実行する前に、バス装置が書込みを終了
するまで待つ。透過形システム割込みは、マイクロプロ
セッサ利用チップセットの中央処理装置(CPU)の外
部ピンに電気信号を印加することにより呼出される。C
PUチップの外部ピンに電気信号が印加されると、CP
Uは透過形システム割込みサービスルーチンを記憶す
る、通常はマッピングされていない専用ランダムアクセ
スメモリ(RAM)領域を主メモリスペースの所定の1
領域としてマッピングし、現在CPU状態を専用RAM
スペースに保管し、透過形システム割込みサービスルー
チンの実行を開始する。
【0012】保管されるCPU状態は命令ポインタと、
先行命令ポインタと、複数の入出力パラメータレジスタ
とから構成されている。入出力命令の実行中にCPUに
割込みが起こっており、実行が再開するときに割込みサ
ービスルーチンが割込みの起こった入出力命令を再始動
することを望む場合には、透過形システム割込みサービ
スルーチンは専用RAMスペースの入出力トラップイン
ジケータをセットする。通常、透過形システム割込みサ
ービスルーチンは、CPUチップが設置されているシス
テムに透過形システム割込みを適用する特定の状況につ
いて独特のものである命令から構成される。
【0013】透過形システム割込みからの回復は、割込
みの起こった入出力命令の自動再実行を含めて、CPU
を透過形システム割込みの前に存在していたのと厳密に
同じ状態に復元させる「再開」命令を呼出す外部事象を
認識したときに行われる。詳細にいえば、CPU状態の
復元中、「再開」命令は命令ポインタ及び先行命令ポイ
ンタを復元し、入出力トラップインジケータを検査し、
入出力トラップインジケータがセットされていれば命令
ポインタを先行命令ポインタに条件付きで減分する。さ
らに、入出力トラップインジケータがセットされている
場合には、入出力パラメータレジスタを適切な汎用レジ
スタに復元する。その結果、「次の」命令を実行するた
めに「再開」命令がCPUを再始動するときに、割込み
の起こった入出力命令は自動的に再実行される。本発明
の目的,特徴及び利点は以下の本発明の好ましい実施例
の詳細な説明を図面と関連させながら参照することによ
り明白になるであろう。
【0014】
【実施例】システムの概要 そこで図1を参照すると、本発明を具現化したマイクロ
プロセッサシステムの例を表すブロック線図が示されて
いる。以下にこのマイクロプロセッサシステムの例を簡
単に説明するが、本発明がこの特定のマイクロプロセッ
サ構成には限定されず、実質的にはどのようなプロセッ
サ構成に組込まれても良いことを理解すべきである。例
示したマイクロプロセッサシステム10はGENCP
U,GENIO及びGENVGAとして指示されている
3つの主要構成要素を含む。GENCPUは拡張中央処
理装置であり、GENIOはシングルチップ入出力装置
であり、GENVGAはシングルチップグラフィックス
インタフェースである。これら3つの構成要素は互いに
通信すると共に、ISAバス42を介して他のシステム
構成要素(拡張スロット,キーボード制御装置,ディス
ク制御装置など)と通信する。
【0015】GENCPUはCPU12と、メモリ制御
装置14と、キャッシュ制御装置16と、ISAバス制
御論理18と、ラインバッファ20とを含む。CPU1
2は、実モード及び保護モードという少なくとも2つの
オペレーションのモードを有する。CPU12は、本質
的には、本発明の法人譲受人であるIntel Cor
porationが製造している「i386(商標)S
X」CPUである。この説明を通して、「i386(商
標)SX」CPUに関連するレジスタ名,信号名などの
いくつかの用語は、本発明を説明するために採用される
ものである。そのような用語はマイクロプロセッサ設計
の分野に携わる人には明白であるので、ここでは詳細に
は説明せず、直接に関連性をもつ用語のみを簡単に説明
する。
【0016】詳細にいえば、CPU12は複数の汎用レ
ジスタ(図示せず)と、命令ポインタを記憶する命令ポ
インタレジスタ(図示せず)と、先行命令ポインタを記
憶する先行命ポインタレジスタ(図示せず)とを具備す
る。命令ポインタは命令の取出しを制御する。CPU1
2は、次に実行すべき命令と、実行したばかりの命令と
を指示すために、1つの命令が実行されるたびに、命令
ポインタと先行命令ポインタを自動的に増分する。CP
U12は、複数の命令を実行する論理(図示せず)をさ
らに含む。命令は複数の読取り入出力命令と、複数の書
込み入出力命令とから構成されている。書込み入出力命
令は通知されず、バス装置が書込みを終了するまで次の
命令の実行はCPU12によって遅延される。読取り/
書込み入出力命令は、それぞれ、複数の入出力パラメー
タを含む。入出力パラメータは汎用レジスタに記憶され
ている。読取り/書込み入出力命令を含めた命令は零
個、1つ又は2つのオペランドについて演算する。オペ
ランドは命令の中に入っているか、あるいはレジスタ又
は記憶場所にある。CPU12は実モード,保護モード
という2つの動作モードを有する。実モードと保護モー
ドとの主な相違点は、論理アドレスをリニアアドレスに
変換する方式、アドレススペースの大きさ及びページン
グ能力である。
【0017】さらにCPU12は複数のハードウェア割
込みを実行する論理(図示せず)をさらに含む。ハード
ウェア割込みは外部事象の結果として起こり、マスク可
能,マスク不可能という2つの型に分類される。現在命
令の実行後に割込みをサービスする。割込みをサービス
することによって割込みサービスルーチンが終了した
後、割込みが起こった命令のすぐ後の命令から実行が再
開され、進行してゆく。マスク可能割込みは、通常、非
同期外部ハードウェア事象に応答するために使用され
る。マスク不可能割込みは、通常、優先順位が非常に高
い事象をサービスするために使用される。CPU12の
関連するレジスタ及び内部構造の詳細についは、Int
el Corporationが出版番号240187
として出版しているi386(商標)Micropro
cessor及びそれに関連する出版物を参照。
【0018】GENIOは並列ポート(PIO)22
と、デュアル直列ポート(SIO)24a、24bと、
実時間クロック装置(RTC)26と、デュアルプログ
ラマブル割込み制御装置(PIC)28a、28bと、
デュアルプログラマブルタイマー(PIT)30a、3
0bと、デュアル直接メモリアクセス制御装置(DM
A)32a,32bとを含む。GENVGAはVGA図
形制御装置36と、ビデオメモリ制御装置38と、フラ
ットパネル表示装置用インタフェース40とを含む。そ
の上、3つの主要構成要素の外に、システムメモリ44
と、キャッシュメモリ46と、ビデオメモリ48と、従
来のVGAモニター用インタフェース(PAL/DA
C)50がある。システムメモリ44と、キャッシュメ
モリ46と、ビデオメモリ48は、それぞれ、メモリ制
御装置14と、キャッシュメモリ制御装置16と、ビデ
オメモリ制御装置38とによりアクセスされる。ビデオ
メモリ48はISAバス42と、2つのインタフェース
40,50とを介してアクセスされても良い。「i38
6(商標)SX Microprocessor」に関
連するさらに詳細な説明については、Intel Co
rporationが出版番号240332として出版
したi386(商標)SX Microprocess
orHardware Reference Manu
al及びそれに関連する出版物を参照。
【0019】自動化入出力トラップ再始動を伴なう透過
形システム割込み 本発明は従来のマイクロプロセッサアーキテクチャ、た
とえば、譲受人の「i386(商標)」アーキテクチャ
に対する次の3点の改良によって実現される。 1.CPUが入出力命令を実行している間に保護メカニ
ズムに取って代わる特定の支援によって、マイクロプロ
セッサ全体の保護メカニズムに代わるシステムスーパー
バイザ割込み(SSI)と呼ばれる新たな割込み。SS
I割込みはマスク不可能であり、他のマスク不可能割込
みを含めた他のあらゆる割込みより高い優先順位を有す
る。SSI割込みはSSI割込みサービスルーチンによ
りサービスされる。 2.SSI割込みサービスルーチンと、割込みが起こっ
た時点のCPUの状態と、入出力トラップインジケータ
とを記憶するシステム管理RAM、すなわち、SMRA
Mと呼ばれる特殊システム透過形メモリ領域。入出力ト
ラップインジケータは、入出力命令の実行中にCPUに
割込みが起こったか否かを指示する。 3.マイクロプロセッサシステムをSSI割込みにより
割込みが起こる直前の状態に戻し、次の命令で実行を再
開するか又は割込みが起こった入出力命令を自動的に再
実行するRESUMEと呼ばれる新たな命令。
【0020】次に図2を参照すると、本発明のSSI割
込みのマイクロコードを表すフローチャートが示されて
いる。SSI割込みは、CPUチップの外部ピンに電気
信号を印加することにより呼出される。CPUチップの
外部ピンで電気信号(SSI事象)を検出すると、CP
Uはブロック102でSMRAMを主メモリスペースの
所定の1領域としてマッピングする。SMRAMは通常
は主メモリスペースの一部としてマッピングされないの
で、オペレーティングシステム及びアプリケーションに
対してアクセス不可能になっている。さらに、CPUは
ブロック104でCPU状態をSMRAMスペースに保
管し、ブロック106でCPUを実モードに切換え、ブ
ロック108ではCPUのプログラム制御レジスタを再
初期設定し、ブロック110でSSI割込みサービスル
ーチンの実行を開始する。
【0021】保管されるCPU状態は命令ポインタと、
先行命令ポインタと、入出力パラメータレジスタとから
構成されている。SSI割込みサービスルーチンは、入
出力命令の実行中にCPUに割込みが起こっている場合
には、専用RAMスペースにおける入出力トラップイン
ジケータをセットし、実行が再開するとき、割込みサー
ビスルーチンは割込みが起こった入出力命令の再始動を
要求する。通常、SSI割込みサービスルーチンは、C
PUチップが設置されているシステムにSSI割込みを
適用する特定の状況について独特のものである命令から
構成されている。
【0022】SSI割込みからの回復は、「再開」命令
を呼出す外部事象(RMS事象)を認識したときに行わ
れる。外部事象を検出すると、CPUはブロック112
でSMRAM領域に記憶されているCPU状態を復元
し、ブロック113では、入出力トラップインジケータ
がセットされているか否かを判定するために検査する。
入出力トラップインジケータがセットされていれば、分
岐経路113aをたどって、CPUはブロック114で
命令ポインタを逆方向命令ポインタに減分する。その上
に、入出力パラメータレジスタを割込みが起こる前の値
に復元する。
【0023】分岐経路113bに示すように入出力トラ
ップインジケータがセットされていない場合、又はブロ
ック11で命令ポインタを行命令ポインタに減分し
たときには、CPUはブロック116でSMRAM領域
をスイッチアウトすると共にそれを主メモリスペースの
一部としてアンマッピングし、ブロック11では割込
みの起こったオペレーティングシステム又はアプリケー
ションプログラムの実行を継続する。従って、システム
割込みサービスルーチンから戻るときに入出力トラップ
インジケータがセットされていれば、割込みが起こった
入出力命令を再実行することになる。ところが、システ
ム割込みサービスルーチンから戻るときに入出力トラッ
プインジケータがセットされていない場合には、次の命
令を再実行する。
【0024】命令ポインタ及び逆方向命令ポインタを保
管することと、入出力パラメータレジスタを保管するこ
とと、入出力パラメータレジスタを条件付きで復元する
ことを除いて、SSI割込みの特定の適用状況であるパ
ワー管理割込み(PMI)を含めたこれらの改良は関連
同時係属米国特許出願に詳細に説明されている。本発明
の方法を現時点で好ましい形態に関して説明したが、本
発明の方法が上述の現時点で好ましい形態に限定されな
いことは当業者には認められるであろう。本発明の方法
は特許請求の範囲の趣旨の中と変形及び変更を伴なって
実施されて良い。従って、明細書及び図面は限定的な意
味ではなく、単なる実例としてみなされるべきである。
【図面の簡単な説明】
【図1】本発明を具現化したマイクロプロセッサシステ
ムの1例を示す機能ブロック線図。
【図2】本発明の自動化入出力トラップ再始動を伴なう
透過形システム割込みに関わるマイクロコードの機能流
れ図。
【符号の説明】
10 マイクロプロセッサシステム 12 CPU 14 メモリ制御装置 16 キャッシュ制御装置 18 ISAバス制御論理 20 ラインバッファ 22 並列ポート 24a,24b デュアル直列ポート 26 実時間クロック装置 28a,28b デュアルプログラマブル割込み制御装
置 30a,30b デュアルプログラマブルタイマー 32a,32b デュアル直接メモリアクセス制御装置 36 VGA図形制御装置 38 ビデオメモリ制御装置 40 フラットパネル表示装置用インタフェース 42 ISAバス 44 システムメモリ 46 キャッシュメモリ 48 ビデオメモリ 50 VGAモニター用インタフェース 64 セグメントレジスタ 66 セグメンテーション装置 68 ページング装置 70 物理メモリ 72 セグメント記述子レジスタ 74 比較器
フロントページの続き (72)発明者 カメスワラン・シヴァマニ アメリカ合衆国 94086 カリフォルニ ア州・サニーヴェイル・リリイ アヴェ ニュ・1055 (56)参考文献 特開 昭56−124952(JP,A) 特開 平1−68838(JP,A) 特開 昭53−84540(JP,A) 特開 昭51−114839(JP,A) 特開 昭64−29939(JP,A) 特公 昭48−26169(JP,B1)

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 少なくとも1つのメモリ装置および少な
    くとも1つのバス装置に結合され、複数のCPU命令か
    ら構成されている少なくとも1つのアプリケーションプ
    ログラムおよびオペレーティングシステムを実行する中
    央処理装置(CPU)を具備し、前記CPUは実モード
    及び保護モードという少なくとも2つのプログラム実行
    モードと、プログラムの実行を中断する少なくとも1つ
    の割込みとを有するマイクロプロセッサシステムであっ
    て、 (a) 前記命令には、少なくとも書込み入出力(I/
    O)命令を含む少なくとも1つの入出力(I/O)命令
    が含まれていて、前記CPUは、少なくとも1つのバス
    装置による書込み(I/O)命令の完了を待ってから次
    の命令を実行するものであり; (b) 前記メモリ装置には、割込み処理プログラム
    と、前記CPUのプロセッサ状態データと、入出力トラ
    ップインジケータとを記憶する専用メモリ領域が設けら
    れ、前記専用メモリ領域は、主メモリスペースの一部と
    してマッピングされておらず前記オペレーティングシス
    テム及びアプリケーションプログラムに対してアクセス
    不可能に維持されており; (c) 前記割込み処理プログラムに応じて、前記入出
    力命令のどれかで前記CPUに割込みが起こっているか
    否かを判定し、そして、もし起こっていれば、前記入出
    力トラップインジケータをセットし、もって前記入出力
    命令のどれかで前記CPUに割込みが生じており且つ前
    記CPUによる実行の再開時に前記割込みを受けた入出
    力命令を再始動すべきであることを示す、判定してセッ
    トする手段を備え; (d) 命令ポインタと、先行命令ポインタと、少なく
    とも1つのI/Oパラメータとを含むレジスタ手段を備
    え、前記命令ポインタおよび先行命令ポインタは、前記
    オペレーティングシステムおよび前記アプリケーション
    プログラム中の命令であって、CPUにより次に実行さ
    れる命令である第1の命令およびCPUにより実行中で
    あった命令である第2の命令をそれぞれ示し、前記少な
    くとも1つのI/Oパラメータは最も新しく実行された
    入出力命令と関連するものであり、前記入出力トラップ
    インジケータにより、前記入出力命令のどれかで前記C
    Uに割込みが起こっているか否かが示され; (e) オペレーティングシステムおよびアプリケーシ
    ョンプログラムの実行に割込みを行い、専用メモリ領域
    をスイッチインして前記主メモリ空間の所定部分にマッ
    ピングを行い、前記CPUのプロセッサ状態データを前
    記車用メモリ領域に保管し、前記CPUを実モードに切
    り換え、前記割込み処理プログラムの実行を始める、シ
    ステムスーパーバイザ(SSI)手段であって、オペレ
    ーティングシステムおよびアプリケーションプログラム
    からはマスクできず、他の割込みよりも高い優先順位を
    有している、システムスーパーバイザ手段を備え; (f) 前記専用メモリ領域から前記CPUへと前記保
    管したプロセッサ状態データを復元し、前記入出力トラ
    ップインジケータを検査してそれがセットされているか
    否かを判定し、前記入出力トラップインジケータがセッ
    トされていれば前記復元した命令ポインタを前記先行命
    令ポインタ減分し、前記少なくとも1つのI/Oパラメ
    ータを前記CPUの少なくとも1つの汎用レジスタにロ
    ードし、前記専用メモリ領域をスイッチアウトして前記
    主メモリスペースからアンマッピングし、前記オペレー
    ティングシステム及び前記アプリケーションプログラム
    の実行を再開する再開手段を備え、前記CPUに信頼性
    をもって割込み可能であり、オペレーティングシステム
    およびアプリケーションプログラムの変更を要すること
    なく、I/Oトラップの自動化した再始動を割込み処理
    プログラムで行える、ことを特徴とするマイクロプロセ
    ッサシステム。
  2. 【請求項2】 少なくとも1つのメモリ装置および少な
    くとも1つのバス装置に結合され、複数のCPU命令か
    ら構成されている少なくとも1つのアプリケーションプ
    ログラムおよびオペレーティングシステムを実行する中
    央処理装置(CPU)を具備し、前記CPUは実モード
    及び保護モードという少なくとも2つのプログラム実行
    モードと、プログラムの実行を中断する少なくとも1つ
    の割込みとを有するマイクロプロセッサシステムにおい
    て、オペレーティングシステムおよびアプリケーション
    プログラムの変更を要することなく、前記CPUに信頼
    性をもって割込み可能で、I/Oトラップの自動化した
    再始動を可能とする方法であって、 (a) 前記メモリ装置の専用メモリ領域にして、主メ
    モリスペースの一部と してマッピングされておらず、従
    って前記オペレーティングシステム及びアプリケーショ
    ンプログラムに対しアクセス不可能に維持されている、
    専用メモリ領域に、割込みサービスプログラムを記憶す
    る過程と; (b) 前記命令には少なくとも書込み入出力(I/
    O)命令を含む少なくとも1つの入出力(I/O)命令
    が含まれており、次の命令を実行するまでに、少なくと
    も1つのバス装置による書込み(I/O)命令の完了を
    待つ過程と; (c) 所定の入力を受信したとき、前記オペレーティ
    ングシステム及び前記アプリケーションプログラムによ
    りマスク不可能であると共に他の割込みより高い優先順
    位を有する割込みをもって、前記オペレーティングシス
    テム及び前記アプリケーションプログラムの実行を中断
    する過程と; (d) 前記専用メモリ領域を前記主メモリスペースの
    所定の1セグメントにスイッチインし且つマッピングす
    る過程と; (e) 命令ポインタと、先行命令ポインタと、少なく
    とも1つのI/Oパラメータとを含むプロセッサ状態デ
    ータを、前記専用メモリ領域に記憶する過程にして、前
    記命令ポインタおよび先行命令ポインタは、前記オペレ
    ーティングシステムおよび前記アプリケーションプログ
    ラム中の命令であって、CPUにより次に実行される命
    令である第1の命令およびCPUにより実行中であった
    命令である第2の命令をそれぞれ示し、前記少なくとも
    1つのI/Oパラメータは最も新しく実行された入出力
    命令と関連するものである、前記専用メモリ領域に記憶
    する過程と; (f) 前記CPUを前記実モードに切換える過程と; (g) 前記入出力命令のどれかの実行中に前記CPU
    に割込みが起こっているか否かを判定し、そして、もし
    起こっていて、割込みを受けている入出力命令の再実行
    をCPUの実行再開時になすべきであるなら、入出力ト
    ラップインジケータを前記専用メモリ領域に記憶する過
    程と; (h) 前記割込みサービスプログラムの実行を開始す
    る過程と; (i) 前記割込みサービスプログラムの制御の下に、
    前記保管したプロセッサ状態データを復元する過程と; (j) 前記入出力トラップインジケータがセットされ
    ているか否かを判定し 、もしセットされていれば、前記
    復元された命令ポインタを前記の先行命令ポインタに減
    分する過程と; (k) 前記専用メモリ領域を前記主メモリスペースか
    らスイッチアウトし且つアンマッピングする過程と; (l) 前記オペレーティングシステム及び前記アプリ
    ケーションプログラムの実行を再開する過程とを有す
    る、ことを特徴とする方法。
JP4253662A 1991-08-30 1992-08-31 マイクロプロセッサ装置及び割込みと自動化入出力トラップ再始動を行う方法 Expired - Lifetime JP2753781B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US75310791A 1991-08-30 1991-08-30
US753,107 1991-08-30

Publications (2)

Publication Number Publication Date
JPH05233325A JPH05233325A (ja) 1993-09-10
JP2753781B2 true JP2753781B2 (ja) 1998-05-20

Family

ID=25029188

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4253662A Expired - Lifetime JP2753781B2 (ja) 1991-08-30 1992-08-31 マイクロプロセッサ装置及び割込みと自動化入出力トラップ再始動を行う方法

Country Status (5)

Country Link
JP (1) JP2753781B2 (ja)
DE (1) DE4228754C2 (ja)
FR (1) FR2681963B1 (ja)
GB (1) GB2259166B (ja)
HK (1) HK170895A (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06230979A (ja) * 1992-06-17 1994-08-19 Cyrix Corp 改良されたシステム管理方法および装置
US5475829A (en) * 1993-03-22 1995-12-12 Compaq Computer Corp. Computer system which overrides write protection status during execution in system management mode
US6093213A (en) * 1995-10-06 2000-07-25 Advanced Micro Devices, Inc. Flexible implementation of a system management mode (SMM) in a processor
US6557104B2 (en) 1997-05-02 2003-04-29 Phoenix Technologies Ltd. Method and apparatus for secure processing of cryptographic keys
US7925815B1 (en) * 2006-06-29 2011-04-12 David Dunn Modifications to increase computer system security
US8661265B1 (en) 2006-06-29 2014-02-25 David Dunn Processor modifications to increase computer system security

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4826169A (ja) * 1971-08-09 1973-04-05
JPS51114839A (en) * 1975-04-02 1976-10-08 Hitachi Ltd Data processor
JPS5384540A (en) * 1976-12-29 1978-07-26 Fujitsu Ltd Data processing unit
JPS599937B2 (ja) * 1980-02-20 1984-03-06 富士通株式会社 情報処理装置
US4374415A (en) * 1980-07-14 1983-02-15 International Business Machines Corp. Host control of suspension and resumption of channel program execution
US4719565A (en) * 1984-11-01 1988-01-12 Advanced Micro Devices, Inc. Interrupt and trap handling in microprogram sequencer
US5027273A (en) * 1985-04-10 1991-06-25 Microsoft Corporation Method and operating system for executing programs in a multi-mode microprocessor
US4907150A (en) * 1986-01-17 1990-03-06 International Business Machines Corporation Apparatus and method for suspending and resuming software applications on a computer
JPS6468838A (en) * 1987-09-10 1989-03-14 Hitachi Ltd Level processing information processor

Also Published As

Publication number Publication date
FR2681963A1 (fr) 1993-04-02
GB2259166A (en) 1993-03-03
DE4228754A1 (de) 1993-03-04
GB9217580D0 (en) 1992-09-30
HK170895A (en) 1995-11-17
DE4228754C2 (de) 1997-01-09
FR2681963B1 (fr) 1995-01-13
GB2259166B (en) 1995-05-03
JPH05233325A (ja) 1993-09-10

Similar Documents

Publication Publication Date Title
JP2743233B2 (ja) マイクロプロセッサ装置及び自動化停止状態再始動を実行させる方法
US5357628A (en) Computer system having integrated source level debugging functions that provide hardware information using transparent system interrupt
US5339437A (en) Method and apparatus for saving a system image onto permanent storage that is operating system independently
US5175853A (en) Transparent system interrupt
US5437039A (en) Servicing transparent system interrupts and reducing interrupt latency
US5923892A (en) Host processor and coprocessor arrangement for processing platform-independent code
US6708326B1 (en) Method, system and program product comprising breakpoint handling mechanism for debugging and/or monitoring a computer instruction sequence
EP1766518B1 (en) Adaptive algorithm for selecting a virtualization algorithm in virtual machine environments
JPH05250183A (ja) マイクロプロセッサ装置及びcpu割込方法
US6442635B1 (en) Processor architecture for virtualizing selective external bus transactions
US5274826A (en) Transparent system interrupts with automated input/output trap restart
JPH0816870B2 (ja) 命令パイプラインをドレーンさせるためのシステム
US5537656A (en) Method and apparatus for a microprocessor to enter and exit a reduced power consumption state
US5680599A (en) Program counter save on reset system and method
JP2000029737A (ja) デバッグ機能のためのリアルタイム外部命令挿入を有するプロセッサ
GB2392998A (en) Handling interrupts during multiple access program instructions
US5671422A (en) Method and apparatus for switching between the modes of a processor
US20050015672A1 (en) Identifying affected program threads and enabling error containment and recovery
US6154846A (en) System for controlling a power saving mode in a computer system
JP2753781B2 (ja) マイクロプロセッサ装置及び割込みと自動化入出力トラップ再始動を行う方法
US5948093A (en) Microprocessor including an interrupt polling unit configured to poll external devices for interrupts when said microprocessor is in a task switch state
WO2003083656A2 (en) Method and apparatus for context switching in computer operating systems
JPH1049373A (ja) パイプライン・デジタル・プロセッサにおいて多重で高精度の事象を操作する方法と装置
JPH11102238A (ja) コンピュータシステムおよびそのシステムにおけるサスペンド制御方法
US5778207A (en) Assisting operating-system interrupts using application-based processing