JP2002526860A - マルチプロセッサ環境において正しいプロセッサのための入出力命令をエミュレートし、ソフトウェアsmiをサービスするための装置及び方法 - Google Patents
マルチプロセッサ環境において正しいプロセッサのための入出力命令をエミュレートし、ソフトウェアsmiをサービスするための装置及び方法Info
- Publication number
- JP2002526860A JP2002526860A JP2000575034A JP2000575034A JP2002526860A JP 2002526860 A JP2002526860 A JP 2002526860A JP 2000575034 A JP2000575034 A JP 2000575034A JP 2000575034 A JP2000575034 A JP 2000575034A JP 2002526860 A JP2002526860 A JP 2002526860A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- instruction
- input
- smi
- output
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45537—Provision of facilities of other operating environments, e.g. WINE
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
一部継続出願である。)
、より詳細には、マルチプロセッサ・コンピュータ・システム環境における入力
または出力のデータのエミュレーション及び指定された入出力デバイスに向けら
れた入出力命令を実行するプロセッサへの、またはそれからの通信及び/または
コマンドに関する。
システムの分野、詳細には、ソフトウェアSMIをサービスすることの分野に関
する。
称される一組のハードウェアを含む。このレガシー・ハードウェアとは、全ての
アプリケーション、オペレーティング・システム及びBIOS(アーキテクチャ
をブートして試験し、ならびにランタイム・サービスを提供するために用いられ
る基本入出力システム・ファームウェア)がコンピュータ・システムに存在する
ことが期待され、かつコンピュータ・システムにおいて所定の方法で挙動するこ
とを期待されるハードウェアである。与えられたアーキテクチャにおける多様な
ハードウェアと通信するために、指定されたアドレス及びデータ値を伴う一連の
入力及び出力命令が標準化されてきている。コンピュータ・システムの新規なハ
ードウェアを取り除くかまたは加えるときに、全ての既存のアプリケーション及
びオペレーティング・システム・ソフトウェアが修正なしに新規なハードウェア
を使用することができるようにするためには、新規なハードウェア及び古いシス
テム・ハードウェア間の入出力命令は一般的にエミュレーションを必要とし、そ
れはソフトウェア・エミュレーション・サブルーチンに入力/出力命令をディス
パッチすることによって達成される。これは、またトラッピングとも称される。
エミュレーション操作を要求するハードウェアの具体例は、ユニバーサル・シリ
アル・バス(USB)・レガシー・サポート・システムである。この支援システ
ムのUSBハードウェアは、コンピュータ・システム全体に、USBホスト・コ
ントローラ、ルート・ハブ、コネクタ、割込み生成機構、USBキーボードを含
むUSB装置を付加する。既存のアプリケーション及びオペレーティング・シス
テムのすべてはUSBキーボードの利点を活用するためには、このキーボードは
、入力/出力命令レベルで、例えばPS/2キーボードのようなレガシー・ハー
ドウェアで使用されていた元々のキーボードとして見えるようになされなければ
ならない。PS/2キーボードをエミュレートするために、システム管理割込み
(SMI)がPS/2キーボード・コントローラ入力/出力命令上のトラッピン
グによって生成される。SMIサービス・ルーチンの範囲内で、次いで特殊ルー
チンは、レガシー・ハードウェア・フォーマットからのコマンド/データをUS
Bキーボード・コマンド/データに変換する。
題が生じる。割込みが利用される場合、この問題はマルチプロセッサ環境で、ど
のプロセッサによって、命令トラップが生じたかを判定することである。例えば
、IN命令のエミュレーションによって、そのコマンドまたはデータが入力命令
を開始して、実行したプロセッサの正しいレジスタへロードされない場合、重大
な問題が生じることがある。同様に、データがOUT命令を実行したプロセッサ
から受け取られない場合、それによってプロセッサのレジスタの破壊は生じない
ものの、OUT命令のエミュレーションは、不正確なデータを出力デバイスに提
供することになる。
ンに変更がなされない場合、ブート・ストラップ・プロセッサ(BSP)は、マ
ルチプロセッサ・アーキテクチャのアプリケーション・プロセッサのうちの1つ
がエミュレーションを要求する入力命令を実行するときに、そのレジスタのうち
の1つを変更する。これによって、2つの問題が生じる。(1)入力命令データ
は、入力命令を実行したアプリケーション・プロセッサによって決して受領され
ない、(2)ブート・ストラップ・プロセッサのレジスタの1つが、不注意に変
更され、これが破滅的な効果をもたらしうる。
ション・プロセッサのうちの1つが出力命令を実行した場合であっても、エミュ
レーション・コードは、ブート・ストラップ・プロセッサから出力データを得る
だけである。これによって、2つの問題が生じる。(1)アプリケーション・プ
ロセッサ出力命令データは、出力命令エミュレーション・コードによって決して
受領されない。(2)ブート・ストラップ・プロセッサのレジスタのうちの1つ
は、エミュレートされたデバイスを望ましくない状態にする可能性のある出力命
令データとして使われる。本発明は、これらの問題の双方を解決するために考案
されている。
ステム管理割込み(SMI)信号に対する準備がなされている。割込みは、コン
ピュータ・システムのチップセット・ロジックから出力されたピンへ接続されて
いる。チップセット・ロジックのプログラマブル・タイマのタイミング・アウト
、パリティ・エラーのようなエラー条件、外部ハードウェアからのロー・バッテ
リ指示、特定のバス入出力サイクル実行のような、あるシステム・ハードウェア
・イベントがシステムのCPUの外で起こると、チップセット・ロジックは、ソ
フトウェア管理割込み(SMI)信号を生成する。この割込みは、CPUでの実
行をさらなる処理のためにBIOSSMI割込みハンドラへ転送する。それは通
常ソフトウェア・モジュールによって実行される。
MIプロシージャの使用によるソフトウェアによって故意に呼び出されることも
ある。一般に、ソフトウェアSMIプロシージャはチップセット・ロジックが、
モニタするようにプログラムされた1つ以上の入出力命令を実行する。入出力サ
イクルが起こったことを検出すると、チップセット・ロジックは、CPUのSM
IピンにSMI信号を生成する。この状況ではチップセット・ロジックは、入出
力バス・サイクルを(それらをハードウェア・イベントとみなして取り扱い)単
にモニタしているだけであって、したがってどのCPUが実際にその命令を生成
したかを知ることはない。
のさまざまなCPUのレジスタの状態は、たいていの場合は割込みハンドリング
とは無関係な状態である。ハードウェア・イベントはCPUより独立していて、
BIOSのSMIハンドラは、単にハードウェア・イベントを取り扱う制御を与
えられているだけである、そうすると処理に続いて、システムが通常処理を再開
することを認める。CPUはそれ自身一般に情報を入力せず、そこへ送り返され
る情報を要求しない。
場合、一般にSMIハンドラに情報を渡すこと及び、結果を取り戻すことが必要
である。例えば、電力管理機能を行うために用いられるソフトウェアSMIの場
合、その結果は、特定のCPUの1つ以上のレジスタに、そのCPUに接続され
ている装置の、与えられた部品の電力上昇、または電力低下を行うために伝えら
れる制御情報である。他の例としては、ソフトウェアSMIはMODEMを起動
するために生成されることができ、特定のCPUのレジスタに対して返信される
その結果は、MODEMが起動されたかそうでなかったかという例がある。さら
に他の実施例として、ソフトウェアSMIはパスワードを点検するために、生成
されることができ、特定のCPUのレジスタを変更することによって返信される
結果は、入力されたパスワードが、受け入れられたパスワードの保存されている
組と一致するかどうかであるという例がある。
より結果が渡され、出力は、再開時にCPUのこれらのレジスタを変更すること
によって検索される。しかし、多重CPUの場合は、ソフトウェアSMIを生成
した個々のCPUがこれまでたやすく判定できず、そのため、入力として読み、
データを書き込むCPUレジスタが知られることができなかったため、新規な問
題が起こる。
サ(BCP)は、アプリケーション・プロセッサ(AP)のうちの1つがソフト
ウェアSMIを実行するときに、どのような入出力変更に対しても使用されるレ
ジスタを備えている。これによって、2つの問題が生じる。1)入力命令のデー
タは、APによって決して受領されない。2)BCPのレジスタが不注意に変更
されれば、破滅的な効果をもたらしうる。多重CPUのサポートは、これまで達
成されたことはなかった。
たはコマンドを転送するための入出力命令を実行することができる少なくとも第
1及び第2のプロセッサと、プロセッサのうちの1つからの選択された入出力命
令を受けると、複数のプロセッサ上で割込みを実行し、かつ入出力デバイスとプ
ロセッサのうちの1つとの間でデータまたはコマンドを転送する入出力及びトラ
ップ・ハードウェアと、入出力命令を実行しているプロセッサを判定する第1の
デバイスと、ただ1つのプロセッサが入出力命令を実行しているときに、入出力
命令を実行しているプロセッサとしてその1つのプロセッサを指定している最終
プロセッサ・インジケータを設定するように動作する第2のデバイスと、最終プ
ロセッサ・インジケータに示されているプロセッサ及び選択された入出力命令に
応答する入出力デバイス間でデータまたはコマンドを転送する第3のデバイスを
含むマルチプロセッサ・システムからなる。
データまたはコマンドを、入力デバイスまたはプロセッサの一方から、入力デバ
イスまたはプロセッサの他方に適合する異なるフォーマットに変換するためのエ
ミュレーション・ブロックを含む。
る第1のデバイスは、複数のプロセッサの各々について、回路そのプロセッサに
よって最後に実行された入出力命令の命令アドレスとそのプロセッサの現在の命
令アドレスとの間の命令アドレス・カウント差が所定の数以下であるかどうかを
指定する第1の回路を含み、この指定を、入出力命令を実行しているプロセッサ
を判定する際に使用する。
ドレス・カウント差が、1に等しくなるときを判定するための、及び、特定のプ
ロセッサに対する最後の入出力命令が直接的または間接的に特定の入出力デバイ
スのためのポートを示さない限り、入出力命令を実行しているプロセッサとして
のその特定のプロセッサの指定を削除するためのロジックを含む。
それが入出力命令を実行するかの第1のインジケータを設定する第1のロジック
を含み、第1のデバイスは第1のインジケータが設定されているプロセッサを判
定する第2のロジックを含む。
する方法であって、割込み要求する入出力命令が、プロセッサと入出力デバイス
の間でデータまたはコマンドを転送するために、マルチプロセッサ環境のプロセ
ッサのうちの1つによって実行されているかどうか判定するステップと、そのよ
うな入出力命令が検出された場合、割込みを実行するステップと、マルチプロセ
ッサ環境のプロセッサのどちらが入出力命令を実行しているかを判定するステッ
プと、プロセッサのうちの1つでも入出力命令を実行していれば、入出力命令を
実行しているプロセッサとしてその1つのプロセッサを示している最終プロセッ
サ・インジケータをセットするステップと、最終プロセッサ・インジケータで示
されるプロセッサと入出力デバイスの間で、入出力命令に応答して、データまた
はコマンドを転送するステップを含む方法が提供される。
出力トラップの間にマルチプロセッサ環境の適当なプロセッサと入出力デバイス
の間の入出力機能を果たすコンピュータ可読プログラム・コード手段が組み込ま
れているコンピュータ使用可能媒体を備え、そのコンピュータ・プログラム・プ
ロダクツのコンピュータ可読プログラム・コード手段は、マルチプロセッサ環境
のどのプロセッサが入出力命令を実行しているかをハードウェアに判定させる第
1のコンピュータ可読プログラム・コード手段、マルチプロセッサ環境のただ1
つのプロセッサが入出力命令を実行しているかどうかをハードウェアに判定させ
、かつその場合には、入出力命令を実行しているプロセッサとして1つのプロセ
ッサを示す最終プロセッサ・インジケータを設定する第2のコンピュータ可読プ
ログラム・コード手段、及び、ハードウェアに最終プロセッサ・インジケータに
よって示されるプロセッサと入出力デバイスの間で、データまたはコマンドを転
送させる第3のコンピュータ可読プログラム・コード手段を含むコンピュータ・
プログラム・プロダクツ。
で、データまたはコマンドを転送するための入出力命令を実行することができる
少なくとも第1及び第2のプロセッサ、プロセッサのうちの1つからの選択され
た入出力命令を受けると複数のプロセッサ上で割込みを実行し、かつ、入出力装
置及びプロセッサの1つの間で、データまたはコマンド転送する入出力及びトラ
ップ・ハードウェア、そのプロセッサによって最後に実行された入出力命令の命
令アドレスと、そのプロセッサの現在の命令アドレス間の命令アドレス・カウン
ト差が、所定の数以下であるかどうかという指定を、複数のプロセッサのそれぞ
れに与え、その情報を用いて、入出力命令に応答して、入出力デバイスとそのプ
ロセッサの間でデータまたはコマンドを転送するために、入出力デバイスをプロ
セッサのどちらに接続するかを判定し、その接続を実行する第1のデバイスを含
むマルチプロセッサ・システムが提供される。
めの方法が提供される。その方法は、、マルチプロセッサ環境において、プロセ
ッサと入出力デバイスの間で、データまたはコマンドを転送するために、プロセ
ッサのうちの1つによって割込み要求をする入出力命令が実行されているかどう
か判定するステップと、そのような入出力命令が検出された場合、割込みを実行
するステップと、マルチプロセッサ環境のプロセッサのどのプロセッサが、最後
に実行された入出力命令の命令アドレスとそのプロセッサの現在の命令アドレス
と間の命令アドレス・カウント差が所定の数より少ないか等しいかを指定するス
テップと、その情報を使用して、選択された入出力命令に応答して、入出力デバ
イスとプロセッサと間でデータまたはコマンドを転送するために、どちらのプロ
セッサを入出力デバイスに接続するべきかを判定し、かつその接続を実行するス
テップを含んでいる。
れたソフトウェア・システム管理割込み(SMI)をサービスする方法であって
、ソフトウェアSMIの発生を検出するステップと、プロセッサがソフトウェア
SMIを開始した旨を示す状態情報を、マルチプロセッサ環境のどちらのプロセ
ッサが保存したかを判定するステップと、SMIハンドラとソフトウェアSMI
を開始したと判定されたプロセッサとの間で情報を転送するステップを含む。
ウェアSMIコール・ルーチンのソフトウェアSMIを開始する入出力コール命
令に直ちに続く命令が存在するオフセット位置に等しい割込み保存エリアに、マ
ルチプロセッサ環境のプロセッサがEIP’値を持つかを判定するステップを含
む。
力状態保存エリアのEIP値が、ソフトウェアSMIをBIOSソフトウェアの
SMIコール・ルーチンにおいて開始する入出力コール命令が存在するオフセッ
ト位置に等しいかを判定するステップを含む。
え、その各々は、BIOSソフトウェアSMIコール・ルーチン内で、特定の入
出力コール命令を生成することによってソフトウェア生成システム管理割込み(
SMI)を開始することができ、さらに、処理システム管理のためのSMIハン
ドラ、ソフトウェアSMIの発生を検出する第1のロジック、第1のロジックが
ソフトウェアSMIの発生を検出した後に、マルチプロセッサ環境のどちらのプ
ロセッサが、そのプロセッサがソフトウェアSMIを開始したことを示す状態保
存情報を有しているかを判定する第2のロジック、SMIハンドラ及びソフトウ
ェアSMIを開始したと判定されたプロセッサ間で情報を転送する第3のロジッ
クを含むマルチプロセッサ・システムが提供される。
フトウェア・システム管理割込み(SMI)を開始したかを判定するためのコン
ピュータ可読プログラム・コード手段が組み込まれており、SMIハンドラ及び
そのプロセッサ間の通信を提供するコンピュータが使用可能な媒体を含み、コン
ピュータ・プログラム・プロダクツのコンピュータ可読プログラム・コード手段
は、ソフトウェアSMIの発生を検出する第1のコンピュータ可読プログラム・
コード手段、第1のコンピュータ可読プログラム・コード手段が、ソフトウェア
SMIの発生を検出した後、マルチプロセッサ環境のどのプロセッサが、そのプ
ロセッサがソフトウェアSMIを開始したとして示す状態保存情報を有している
のかを判定するための、第2のコンピュータ可読プログラム・コード手段、及び
、SMIハンドラ、及び、ソフトウェアSMIを開始したと判定されたプロセッ
サ間で、情報を転送する第3のコンピュータ可読プログラム・コード手段を含む
コンピュータ・プログラム・プロダクツが提供される。
のプロダクツは、マルチプロセッサ環境のどのプロセッサがソフトウェア・シス
テム管理割込み(SMI)を開始したかを判定し、かつSMIハンドラとそのプ
ロセッサ間で通信を行うコンピュータ可読プログラム・コード手段が書き込まれ
たコンピュータの使用可能な媒体を含む。コンピュータ・プログラム・プロダク
ツのコンピュータ可読プログラム・コード手段は、ソフトウェアSMIの発生を
検出する第1のコンピュータ可読プログラム・コード手段と第2のコンピュータ
可読プログラム・コード手段とを有する。その第2のコンピュータ可読プログラ
ム・コード手段は、第1のコンピュータ可読プログラム・コード手段がソフトウ
ェアSMIの発生を検出した後、 1)マルチプロセッサ環境のプロセッサが、BIOSソフトウェアSMIコー
ル・ルーチンのソフトウェアSMIを開始する入出力コール命令に直ちに続く命
令が存在するオフセット位置に等しい割込み状態保存エリアにElP’値を有し
、 2)プロセッサの入出力状態保存エリアのElP値が、BIOSソフトウェア
SMIコール・ルーチンのソフトウェアSMIを開始する入出力コール命令が存
在するオフセット位置に等しい、 という試験の双方ともが順序に関係なく真である場合に、マルチプロセッサ環境
のあるプロセッサをソフトウェアSMIを開始したと指定し、 SMIハンドラと指定されたプロセッサ間で情報を転送する。
れに制限されることを目的としない。本発明が特にエミュレーションを容易にす
る割込みにとって有用であるにもかかわらず、例えば、データを保存すること、
データを迂回させること、プログラムのフローを迂回させることのような、いか
なる種類の割込みに対しても幅広く応用できる。
数のプロセッサが同時に入力/出力命令を実行しているケースはまれなイベント
であるということが本発明で認識された。加えて、ハードウェア制御は、その時
々の方法で1つのプロセッサからもう一方まで頻繁に移動させることはできない
ということが認識されている。さらに、ハードウェアが同時に動いている2つの
入力/出力命令を有することができないことが本発明で認識された。マルチプロ
セッサ・システムのための入力/出力バスは、1度に1つのプロセッサによって
アクセスされることができるだけである。他のプロセッサは、第1の入力/出力
命令の完了まで受け付けられない。本発明はまた、その割込みを要求している入
力命令がすでに実行さているという知見を利用する。本発明の一実施形態におい
て、本発明はこのプロセッサが入力/出力命令を出していたかどうか判定するた
めに、各々のプロセッサの状態保存エリアを使用する。最後に、本発明は保留中
の入力/出力命令を有する多重プロセッサを区別するために与えられたプロセッ
サの履歴を使用する。
と、 (2)割込みを実行するステップと、 (3)マルチプロセッサ環境の、入出力命令を実行しているプロセッサを判定
するステップと、 (4)ただ1つのプロセッサが入出力命令を実行している場合、その1つのプ
ロセッサを入出力命令を実行しているプロセッサとして指定する最終プロセッサ
・インジケータを設定するステップと、 (5)最終プロセッサ・インジケータの示すプロセッサと入出力デバイス間で
、入出力命令に応答して、データまたはコマンドを転送するステップ。
は、そのモニタするトラップ・イベントが発生したことを示すため、及び割込み
を開始するために典型的トラッピング・ハードウェアの使用を単純に要求する。
上記したように、割込みは、様々な異なる目的を達成するために使用できる。例
えば、USBレガシー・サポート・システムの場合、ハードウェアはRead
of Port 60Hが発生したことを示す。Read of Port 6
0Hは、レガシー・キーボードのための入力ポートがアクセスされていることを
示す。このイベントが検出されたことは、入出力命令(この場合は入力命令)が
マルチプロセッサ環境のプロセッサのうちの1つによって実行されていることを
示す。
はイベントは、命令Write of Port 64HまたはPort 60
Hである。Port 60Hが出力または書込みコマンドのためのレガシー・キ
ーボード・コントローラのためのデータ・ポートである一方で、Port 64
Hは、レガシー・キーボード・コントローラのためのコマンド・ポートである点
に注意されたい。モニタする特定のイベントが検出されると、例えば、Read
of Port 60HまたはWrite of Port 64HまたはP
ort 60H命令の実行の検出が行われると、割込みがシステム内で開始され
る。この割込みによって、プログラム・フローがこの特定のイベントの検出に基
づいて迂回されることがありえる。あるいは、その割込みはエミュレーション・
プログラム・サブルーチンが実行されるようにする。前述されたように、新規な
装置をレガシー・システムに取り入れるときには、入力と出力データのエミュレ
ーション、及び/または正しい通信を容易にするために、新規な入出力デバイス
とレガシー・システムとの間で転送されるコマンドを与えることが重要である。
このエミュレーション・サブルーチンは、一般的に単に2つの異なるフォーマッ
ト間のコマンドとデータを変換するための翻訳サブルーチンを含むものである。
どのプロセッサが入出力命令を実行したかを判定すること、及び、入力コマンド
またはデータを受け取るかまたは、その出力データまたはコマンドを入出力デバ
イスに送り出すかのいずれかを実行すべきかを判定することである。マルチプロ
セッサ環境の正しいプロセッサのこの判定を達成するために、本発明の一実施形
態において、例えばプロセッサに対して内部であれ外部であれ、RAMのような
状態保存エリアにおいて、トラップの間に状態操作保存が利用される。詳細には
、標準プロセッサは、そのプロセッサの最後の入出力命令の実行の間に存在して
いたECX、ESI、EDI、及びElPレジスタの状態を保存する。最後の入
出力レジスタ状態は、最終I/O保存エリアにおいて保存されると考えられる。
最後の入出力にレジスタ状態を取っておくための元々の理論的根拠は、必要に応
じて最後の入出力命令での再開を許すことにあった。
SI、EDI、及びElPの状態は、それが、割込みレジスタ保存エリアである
と考えられる領域において保存される。
ジスタECX、ESI、EDI、及びElPの状態は入出力命令を受けると、入
出力保存エリアに保存されるということがわかる。例えばIN AL,Port
64Hは2バイト命令であり、このような典型的入力命令は、プロセッサ・レ
ジスタALにPort 64Hの入出力デバイスの内容を移動するようにプロセ
ッサに指示する。典型的な他の入力命令は、IN AL,DXの1バイトの命令
の形式を有する。DXはポート・アドレスを含む。関係する入出力命令のタイプ
に従い、Port 64Hのための命令リンクは多数バイト長である。2バイト
の入力命令の実例では、マルチプロセッサ・システムのための入出力管理ロジッ
クがこれがモニタされる入出力命令であるということを検出する前に、プロセッ
サは命令の両方のバイトを読み込む。したがって、プログラムはプロセッサが入
出力命令を読み込むようにし、入出力管理システムがこれが割込みを要求し、割
込みを開始し、レジスタECX、ESI、EDI、及びElPの状態を割込み状
態保存エリアに保存する入出力命令であることを検出するようにするために2バ
イトで進む。入出力命令を実行するプロセッサのために、最終I/O状態保存エ
リア内に保持されている、最後の入出力実行の間に実行される命令のための、命
令ポインタまたはアドレスが、割込み状態保存エリア内に保持されている次の命
令ポインタまたはアドレスと、所定の数以下の値だけ異なることが分かる。この
例では、この所定の数は、入出力デバイスが有することができるアドレス・バイ
トの最大数である。2バイトの入出力ポート命令の現在の実例では、この所定の
数は2に等しい。したがって、特定のプロセッサによって実行される最後の入出
力命令のためのアドレスを保有している最終I/O状態保存エリアと、割込み状
態保存エリアに保持されている次の命令ポインタ間のアドレス差が、2に等しい
とき、その特定のプロセッサが入出力命令を実行していることは明白であること
がわかる。1つの例示的実施形態では、入出力命令を受け取る時点でレジスタE
lPに保持されているアドレスは、最終I/O状態保存エリアに保存され、割込
みの時点で、そのアドレスが割込み状態保存エリアに保持されているElPレジ
スタに保持されているアドレスで減算され、またそれと比較されることに注意さ
れたい。これらの2アドレス間の差は、所定の数、この例では2と比較される。
すなわち、EIP’=EIP+2であり、ここでEIP’は次の命令ポインタま
たはアドレスを保持しているレジスタである。
に配置されることができる。その命令は、この例では1バイト命令であって、以
下の形式IN AL,DXをとる。この状況では、実行される最後の入出力命令
のための最終I/O状態保存エリアに保持されている命令アドレスと、そのプロ
セッサのための割込み状態保存エリアに保持されている次の命令ポインタ間の命
令カウント差は、1に等しく、すなわちEIP’=EIP+1である。ここにE
lP’は割込み状態保存エリアの次の命令ポインタ位置に保持されている次の命
令ポインタである。
込みを要求したことは、すなわちレジスタDXに保持されているポート・アドレ
スが、モニタされている入出力デバイスのための指示子またはアドレスを実際に
保持しているかどうかを判定することが好ましい。このように、特定のプロセッ
サの命令アドレス・カウント差が1に等しいときに、特定のプロセッサに対する
最後の入出力命令が、モニタする入出力デバイスのためのポートを直接的または
間接的に示さなければ、入出力命令を実行するプロセッサとしての特定のプロセ
ッサの指定を削除する付加ステップが実行される。
数のバイトをステップしないというプロセッサ設計があり得るということは注意
されるべきである。その場合、そのプロセッサによって実行される最終I/O命
令のための最終I/O状態保存エリアに保持されているアドレスと、そのプロセ
ッサのための割込み状態保存エリア保持されている現在の命令ポインタ間の命令
カウント差はゼロである。
る入出力命令があるときに、所定の数に等しいかまたは所定の数未満でもよいこ
とは、上記から理解できる。議論中の実例では、命令ポインタ・カウント差は、
2、1または0であってもよい。次のステップにおいて、1つのプロセッサだけ
が入出力命令の中にある場合、そのときはこのプロセッサは、入出力命令を出し
たものでなければならず、指定された入出力デバイス間で通信し、データ及びコ
マンドを転送するために接続されていなければならない。したがって、最終プロ
セッサ・インジケータは、この特定のプロセッサを示すために、読み込み命令の
場合は、レジスタALのためのこのプロセッサの状態保存エリアの中に保持され
ている情報を更新するように設定される。あるいは、書き込み命令の場合、この
特定のプロセッサのためのレジスタALのための割込み保存エリアに保持されて
いるデータまたはコマンドは、入出力デバイスの適当なポートに送出される。状
況の2つ以上のプロセッサが入出力命令の中にある場合、すなわち、2つ以上の
プロセッサに対して、最終I/O状態保存エリアに保持されている命令ポインタ
とそのプロセッサのための割込み状態保存エリアに保持されている現在の命令ポ
インタのとの間のアドレス差が所定の数以下である場合は、最終プロセッサ・イ
ンジケータは更新されず、最終プロセッサ・インジケータに現在表示されている
プロセッサがデータまたはコマンドの移動のための入出力デバイスに接続される
。本質において、入出力命令を実行している2つのプロセッサに直面すれば、最
終プロセッサ・インジケータにおいて示されるプロセッサは、通信のための正し
いプロセッサであると仮定される、これがデフォルト状況である。現実の世界に
おいて、そのようなプロセッサ競合はまれな状態である点に留意する必要がある
。実際、マルチプロセッサ・オペレーティング・システムは通常特定のハードウ
ェアを特定のプロセッサに割り当てる。割込み要求するまさに第1の入力命令の
実行中に、2つ以上のプロセッサが入出力命令中であるならば、その場合は最終
プロセッサ・インジケータは、ゼロに等しい。したがって、どちらのプロセッサ
の状態保存エリアも、入出力デバイスに接続されていない。この状態は、パワー
・オン・セルフ・テスト(Power On Self Test、Post)
の間に1つのプロセッサを実行するだけであるBIOSの中では、決して存在し
ない。これは、最終プロセッサ・インジケータは実行している唯一のプロセッサ
にセットされなければならないからである。
を示しているレジスタ・ポインタを備えているかまたは、各々のプロセッサに設
定されるフラグを伴って、複数のフラグを備えることができる点に注意すべきで
ある。最終プロセッサ・インジケータは、入出力管理システムまたはプロセッサ
・チップセットに配置されていることができ、またはプロセッサ・チップセット
に対して外部部品であることもできる。
ーチャートを記載する。エントリ・ポイント10から、システムは菱形12をモ
ニタし、割込みを要求する入出力命令を探す。割込みを要求している入出力命令
が検出されない場合、システム・フローは直接終了点100へ行く。割込みを要
求している入出力命令が検出されたとき、そのときはレジスタEIPを含む適当
なレジスタの値が、各々のプロセッサのための割込み保存エリアに保存される。
この時点で、命令ポインタ・カウントの差はマルチプロセッサ・システムの各々
のプロセッサに対して判定される。したがって、ブロック14において、チェッ
クされる第1のプロセッサに対してポインタが状態保存エリアにおいて初期化さ
れる。プログラム・フローは、次いでその特定のプロセッサが入出力命令を実行
しているかどうか判定される菱形16へ移動する。以前に強調されたように、本
発明の好適な実施形態では、その菱形判定ブロック機能16は、最終I/O入出
力状態保存エリア内に保持されている命令ポインタと、そのプロセッサのための
割込み保存エリアの現在の命令アドレス・ポインタ内に保持されている現在の命
令アドレスとの間のアドレス・カウント差が所定の数以下であることを判定する
ことによって達成されてもよい。現在の例では、この所定の数は2に等しい、し
かし、その他の例では使用されているプロセッサの特定のタイプに依存する。こ
の実施形態のさらなる態様において、特定のプロセッサのためのアドレス・カウ
ント差が1に等しいときに、特定のプロセッサに対する最後の入出力命令のため
の命令ポインタがモニタする入出力デバイスのための指示子を保持している位置
をポイントしない限り、このプロセッサは入出力命令を実行している特定のプロ
セッサに指定されない。
プロセッサのための入出力インジケータがセットされる。このインジケータは、
例えばフラグまたはポインタとすることができる。プログラム・フローは、それ
からチェックする次のプロセッサの状態保存エリアにポインタを増分するために
ブロック20へ行く。次いで、プログラム・フローは、これ以上のプロセッサが
チェックされる必要があるかどうか判定される菱形22へ行く。さらなるプロセ
ッサがチェックされる必要がある場合、プログラム・フローはこのさらなるプロ
セッサが上述したような入出力命令を実行しているかどうかを判定する菱形ブロ
ック16への入力まで戻る。さらなるプロセッサが、それらが入出力命令を実行
しているかどうか判定するためにチェックされる必要はない場合、プログラム・
フローは、複数のプロセッサが入出力命令を実行している最中であるかを意味す
る、複数のプロセッサがセットされている入出力インジケータを有するかどうか
を判定するために菱形ブロック24へ行く。入出力命令を実行している複数のプ
ロセッサがない場合、最終プロセッサ・インジケータはそのプロセッサを示すた
めに更新される。それから、プログラム・フローは「最終プロセッサ」の状態保
存エリアを選択された入出力デバイスに接続するためにブロック28へ行く。I
N命令の場合、「最終プロセッサ」のためのALレジスタのための値を保持して
いる状態保存エリアは、特定の入出力デバイスからのデータまたはコマンドによ
って更新される。あるいは、OUT命令の場合、「最終プロセッサ」のレジスタ
ALのための状態保存中に保持されているデータまたはコマンドは、特定の入出
力デバイスに送られる。
るとき、その場合は「最終プロセッサ」インジケータは更新されず、むしろプロ
グラム・フローは直接ブロック28へ行き、通信を許可する更新されていない「
最終プロセッサ」インジケータ中で示されているプロセッサの状態保存エリアを
特定の入出力デバイスへ接続する。これは、デフォルト状況である。ブロック2
8から出る出力は、次いでプログラム・フローから終了点100まで行く。
リアを使用したが、本発明はそれに制限されない点に注意されたい。例えば、状
態保存情報は、標準のシステム・メモリに保存されてもよい。
めに設計された本発明のさらなる態様では、本発明は、(1)BIOSがS/W
SMIを生成する唯一のエージェントでなければならないという事実、(2)
各々のプロセッサのSave State(保存状態)エリア内に保存されてい
るCPU状態情報、特に状態保存のElP’入出力EIPスロットに含まれてい
る情報を使用する。本発明はまた、完全に現在のオペレーション・システムで機
能する既存のソフトウェアSMIサービスに適合する。新規なインターフェース
は、定義される必要はない。
ステップに従う。 1)このSMIがソフトウェアSMIであったと判定するステップ。 2)どのプロセッサの状態保存が、それがS/W SMIを生成したと結論を下
すための期待される情報を有しているか判定するステップ。
特定のSMIの出所は、ソフトウェアであったと判定するためにチップセット・
ロジック・レジスタを使用する。例えば、ロジックはモニタするソフトウェア・
イベントがいつ起こったかを示すために設定され、その発生を示すために次いで
特定のレジスタに「1」を配置することができる。
一のエージェントであるという事実を利用する。これは明白でなければならない
。なぜならSMIを処理するSMIハンドラがBIOSによって生成されている
からである。このために、ソフトウェアSMIを開始するためのいかなるコール
・ルーチンも、BIOSによって判定されるフォーマットに従わなければならな
い。第2に、ソフトウェアSMIを開始するためのコール・ルーチンはマシン特
有のものである。そのことはソフトウェアSMIを使用するいかなる一般的なア
プリケーション・ソフトウェアにとっても、そのソフトウェアは、そのときBI
OS内に存在しなければならない、マシン・レベル・プロシージャにアクセスし
なければならないことを意味する。
チンの外で実行していたならば、どのルーチンがソフトウェアSMIを生成する
入出力命令を含むかを判定するために各々のCPU状態保存エリアを見ることに
よってその判定機能を達成する。状態保存は、プロセッサが、SMIに先だって
その位置にあり、したがってソフトウェアSMIを生成したかどうかを判定する
ことができる情報のキー部分を含む。試験をするために2つのデータが用いられ
る。そのCPUがソフトウェアSMIを実行しているかどうか判定するために、
いずれの試験も、あるレベルの正確度で使われる。両方の試験が真の場合、正確
度のレベルは実質的に100%である。
すBIOSソフトウェアSMIコール・ルーチン内の入出力コール命令に直ちに
続く命令のオフセット位置に等しいかどうか判定する。以前に強調されたように
、割込みが起こるとき、割込み状態保存エリアのElP’レジスタは実行される
次の命令の位置を保つ。この状況では、オフセットとは相対位置を意味する。
なければならず、それはSMIを実行するために、SMIハンドラ・ルーチンに
実行を送り出し直ちに命令に続くための入出力コール命令を備えるということに
注意されたい。限定とはならない例証として挙げると、直ちに続く命令はソフト
ウェアSMIの発生の前にCPUで実行していたアプリケーション・プログラム
へ実行を送り返すこともできる。
状態保存エリアと異なる状態保存エリア内の位置のECX、ESI、EDI、及
びElPレジスタの状態保存、すなわち入出力状態保存エリアの状態を保存する
という事実を利用する。以前に注目したように、これは入力/出力命令が、必要
に応じて、再開できるように実行される。この入出力状態保存情報は、プロセッ
サの最後に実行された入出力命令が、ソフトウェアSMIを生成するために使用
された入力/出力命令からのものであるかどうかを判定するために用いられる。
EIPのための入出力状態保存値が、BIOSソフトウェアSMIコール・ルー
チンの入出力コール命令が存在するオフセット位置に等しい場合、その命令はS
MIハンドラに実行を送る。
Iを生成したことは確実であるということに注目されたい。ソフトウェアSMI
の時点で1つ以上のCPUが、ランダムにこれらの試験の双方ともに合格する確
率は2^32より大きい。(システムが連続的に稼働するに任され、ソフトウェ
アSMIが2秒ごとに生成される場合に、エラー条件が起こるには、平均して1
00年以上かかる。)このことは、多くの他のシステム故障イベントが確実と見
なされるよりもより確率が低い。両方の試験が正であれば、割込み状態保存レジ
スタECX、ESI、EDIはまた、そのCPUのための入出力状態保存の、そ
れらの入出力状態保存等価物に等しくなければならない、ということに注目され
たい。
サ環境のソフトウェアSMIの後の判定の経過を示しているブロック図フローチ
ャートが示されている。この図が本発明の好適な実施形態を例示し、そこにおい
て、双方の試験は、どのプロセッサが、ソフトウェアSMIを開始したかに関す
る判定に利用されるということに注目されたい。以前に明示されたように、本発
明はプロセッサの判定をするためにこれらの試験のうちの1つだけを使用して実
行されてもよい。次に図2に関連して考察する。実行はブロック110で示され
るエントリ・ポイントから始まる。ブロック110は、SMIが発行された実行
の位置を示す。この過程(ブロック112によって例示される)における次のス
テップは、SMIがソフトウェアSMIであるかどうかを判定することである。
これがソフトウェアSMIでないと判定された場合、実行はブロック114へ進
み、SMIは通常のハードウェアSMIのように処理される。これがソフトウェ
アSMIであることが判定された場合、実行はブロック116へ進み、第1のC
PUの状態保存エリアをポイントする。実行はそれからブロック118へ進み、
そこにおいて割込み状態保存EIP’値が、直ちに入出力コール命令に続くBI
OSソフトウェアSMIコール・ルーチン内の命令のオフセット位置に等しいか
どうか判定される。答えがNOである場合、実行はブロック120へ進み、そこ
でこれが試験される最後のCPUであるかどうか判定する。答えがYESである
場合、実行はこのプロシージャが停止させられるブロック122へ進む。これが
最後のCPUでないと判定された場合、実行はブロック124へ進み、次のCP
Uに対して増分する。次いで、実行はその次のCPUのための割込み状態保存E
LP’値が、入出力コール命令に直ぐ続く、BIOSソフトウェアSMIコール
・ルーチンの命令のオフセット位置に等しいかどうかを判定するために再びブロ
ック118まで進む。
力コール命令に直ちに続く、BIOSソフトウェアSMIコール・ルーチンの命
令のオフセット位置にまさに等しい場合、実行はブロック126へ進む。ブロッ
ク126は、入出力状態保存EIPがSMIハンドラを呼んだBIOSソフトウ
ェアSMIコール・ルーチンの入出力コール命令のオフセット位置に等しいかど
うかを判定することによって第2の試験を実行する。この判定に対する答えがY
ESである場合、実行はブロック128へ進み、このCPUをソフトウェアSM
Iを生成したCPUに指定する。情報は、次いでSMIハンドラとそのCPUの
状態保存の間で通信される。実行は、それからルーチンを出るブロック130へ
進む。
BIOSソフトウェアSMIコール・ルーチンの入出力コール命令のオフセット
位置に等しくない場合、実行はブロック120へ進む。ブロック120は、これ
が問い合わせをする最後のCPUであるかどうか判定する。実行は、次いで以前
に議論されたように進む。
おり、すなわち、割込み状態保存EIP’が、入出力コール命令に直ちに続く、
BIOSソフトウェアSMIコール・ルーチンの命令のオフセット位置に等しく
、続いて、ブロック126の試験が行われ、すなわち、入出力状態保存EIPは
BIOSソフトウェアSMIコール・ルーチンの入出力コール命令のオフセット
位置に等しい、とされているように記載されているが、本発明はそのように限定
されないことに注意されたい。詳細には、これらの試験は交換されてもよい。そ
の結果、ブロック126の試験はブロック118に記載される試験の前に起こっ
てもよい。
のを許すものである。マルチプロセッサ環境は、個々のシステム及びサーバーの
ために、より多くのCPUスループットを達成するために重要である。ソフトウ
ェアSMIの機能を有する必要性は、このクラスのシステムにとって重要であり
、特に、ソフトウェアSMIを要求する特別な付加価値機能を取り入れるシステ
ム設計者にとってオペレーティング・システム主導の電力管理を使用するマルチ
プロセッサ・システムにとって重要である。
た。網羅的であるかまたは本発明を、開示されている正確な形式に制限すること
を目的とせず、修正及び変形は、上記の教示を考慮して可能であるか、または本
発明の実行から得られることができる。実施形態は、本発明の原則を説明するた
めに、またさまざまな実施形態で、予測される特定の使用に適しているようなさ
まざまな修正を伴って、当業者が本発明を利用することを可能とするための現実
的応用を説明するために選択され記載された。本発明の範囲が本願明細書に追加
される請求項、及び、それらの等価物によって定義されることを意図するもので
ある。
ック・フローチャートである。
るブロック・フローチャートである。
Claims (34)
- 【請求項1】 各々がプロセッサと入出力デバイスの間でデータまたはコマ
ンドを転送するための入出力命令を実行することができる少なくとも第1及び第
2のプロセッサと、 プロセッサのうちの1つからの選択された入出力命令を受けると、複数のプロ
セッサへ割込みを実行し、かつ入出力デバイスとプロセッサのうちの1つとの間
でデータまたはコマンドを転送するための入出力ハードウエア及びトラップ・ハ
ードウェアと、 入出力命令を実行しているプロセッサを判定する第1のデバイスと、 ただ1つのプロセッサが入出力命令を実行しているときに、入出力命令を実行
しているプロセッサとしてその1つのプロセッサを指定するように最終プロセッ
サ・インジケータを設定する第2のデバイスと、 選択された入出力命令に応答して、最終プロセッサ・インジケータに示されて
いるプロセッサと入出力デバイスの間でデータまたはコマンドを転送する第3の
デバイス を含むマルチプロセッサ・システム。 - 【請求項2】 入出力及びトラップ・ハードウェアが、そのデータまたはコ
マンドを、入力デバイスまたはプロセッサの一方から、入力デバイスまたはプロ
セッサの他方に適合する異なるフォーマットに変換するエミュレーション・ブロ
ックを含む請求項1に記載のマルチプロセッサ・システム。 - 【請求項3】 入出力命令を実行しているプロセッサを判定する第1のデバ
イスが、複数のプロセッサの各々に対して、そのプロセッサによって最後に実行
された入出力命令の命令アドレスとそのプロセッサの現在の命令アドレスとの間
の命令アドレス・カウント差が所定の数以下であるかどうかを指定する第1の回
路を含み、この指定を、入出力命令を実行しているプロセッサを判定する際に使
用する請求項1に記載のマルチプロセッサ・システム。 - 【請求項4】 第1の回路は、特定のプロセッサに対する最後の入出力命令
を除いて、入出力命令を実行している特定のプロセッサの命令アドレス・カウン
ト差がいつ1に等しくなるかを判定し、その特定のプロセッサの直接または間接
に入出力デバイスのためのポートを示すプロセッサとしての指定を削除するロジ
ックを含む請求項3に記載のマルチプロセッサ・システム。 - 【請求項5】 所定の数が2である請求項3に記載のマルチプロセッサ・シ
ステム。 - 【請求項6】 第1及び第2のプロセッサの各々が、いつそれが入出力命令
を実行するかの第1のインジケータを設定する第1のロジックを含み、 第1のデバイスは、第1のインジケータが設定されているプロセッサを判定す
る第2のロジックを含む請求項3に記載のマルチプロセッサ・システム。 - 【請求項7】 マルチプロセッサ環境において入出力を制御する方法であっ
て、 プロセッサと入出力デバイスの間でデータまたはコマンドを転送するために、
割込み要求する入出力命令がマルチプロセッサ環境のプロセッサのうちの1つに
よって実行されているかどうか判定するステップと、 そのような入出力命令が検出された場合、割込みを実行するステップと、 前記マルチプロセッサ環境のプロセッサのどちらが、入出力命令を実行してい
るかを判定するステップと、 プロセッサのうちの1つでも入出力命令を実行していれば、その1つのプロセ
ッサを入出力命令を実行しているプロセッサと指示するように最終プロセッサ・
インジケータをセットするステップと、 最終プロセッサ・インジケータ内で示されているプロセッサと入出力デバイス
の間で、入出力命令に応答して、データまたはコマンドを転送するステップ とを含む方法。 - 【請求項8】 割込み実行ステップが、データまたはコマンドを受け取るデ
バイスに適合する異なるフォーマットに変換されるべきデータまたはコマンドを
変換するステップを含む請求項7に記載の方法。 - 【請求項9】 プロセッサのどれが入出力命令実行しているかを判定するス
テップが、複数のプロセッサの各々に対して、そのプロセッサによって最後に実
行された入出力命令の命令アドレスとそのプロセッサの現在の命令アドレス間の
命令アドレス・カウント差が、所定の数以下であるどうかを指定するステップを
含み、プロセッサのどれが入出力命令を実行しているかを判定するためにこの情
報を使用する請求項7に記載の方法。 - 【請求項10】 さらに、特定のプロセッサの命令アドレス・カウント差が
1に等しいときに、特定のプロセッサに対する最後の入出力命令が、直接的また
は間接的に、入出力デバイスのためのポートを示さない限り、入出力命令を実行
しているプロセッサとしてのその特定のプロセッサの指定を削除するステップを
含む請求項9に記載の方法。 - 【請求項11】 入出力割込み中に、マルチプロセッサ環境の適当なプロセ
ッサと入出力デバイスの間の入出力機能を与えるコンピュータ可読プログラム・
コード手段が書き込まれているコンピュータ使用可能媒体を有し、そのコンピュ
ータ・プログラム・プロダクツにおけるコンピュータ可読プログラム・コード手
段が、 ハードウェアに、マルチプロセッサ環境のどのプロセッサが、入出力命令を実
行しているかを判定するようにさせるための第1のコンピュータ可読プログラム
・コード手段と、 マルチプロセッサ環境のただ1つのプロセッサが入出力命令を実行しているか
どうかをハードウェアに判定させ、その場合に、入出力命令を実行しているプロ
セッサとして、その1つのプロセッサを示す最終プロセッサ・インジケータを設
定する第2のコンピュータ可読プログラム・コード手段と、 ハードウェアに、最終プロセッサ・インジケータによって示されるプロセッサ
と入出力デバイス間で、データまたはコマンドを転送させるための第3のコンピ
ュータ可読プログラム・コード手段 とを含むコンピュータ・プログラム・プロダクツ。 - 【請求項12】 第1のコンピュータ可読プログラム・コード手段が、複数
のプロセッサの各々に対して、そのプロセッサによって最後に実行された入出力
命令の命令アドレスとそのプロセッサの現在の命令アドレスとの間の命令アドレ
ス・カウント差が所定の数以下であるかどうかを判定する第4のコンピュータ可
読プログラム・コード手段を含み、入出力命令を実行しているプロセッサを判定
するためにその情報を使用する請求項11に記載のコンピュータ・プログラム・
プロダクツ。 - 【請求項13】 第1のコンピュータ可読プログラム・コード手段が、特定
のプロセッサの命令アドレス・カウント差がいつ1に等くなるかを判定し、特定
のプロセッサに対する最後の入出力命令が、直接的または間接的に、入出力デバ
イスのためのポートを示さない限り、入出力命令を実行しているプロセッサとし
てのその特定のプロセッサの指定を削除する第5のコンピュータ可読プログラム
・コード手段を含む請求項12に記載のコンピュータ・プログラム・プロダクツ
。 - 【請求項14】 所定の数が2である請求項11に記載のコンピュータ・プ
ログラム・プロダクツ。 - 【請求項15】 各々がプロセッサと入出力デバイスの間でデータまたはコ
マンドを転送するための入出力命令を実行することができる少なくとも第1及び
第2のプロセッサ、 プロセッサのうちの1つからの選択された入出力命令を受けると、複数のプロ
セッサへ割込みを実行し、かつ入出力デバイスとプロセッサのうちの1つとの間
で、データまたはコマンドを転送する入出力ハードウェア及びトラップ・ハード
ウェア、及び、 複数のプロセッサの各々に対して、そのプロセッサによって最後に実行された
入出力命令の命令アドレスとそのプロセッサの現在の命令アドレスとの間の命令
アドレス・カウント差が、所定の数以下であるかどうかの指定を行う第1のデバ
イス、及び、選択された入出力命令に応答して、入出力デバイスとその1つのプ
ロセッサの間でデータまたはコマンドを転送するために、どのプロセッサを入出
力デバイスに接続するかを判定するためにその情報を使用し、その接続を行う第
1のデバイス を含むマルチプロセッサ・システム。 - 【請求項16】 さらに、特定のプロセッサに対する最後の入出力命令が入
出力デバイスのためのポートを直接的または間接的に指定しない限り、特定のプ
ロセッサの命令アドレス・カウント差が1に等しいとき、所定の数以下の命令カ
ウント差を有するプロセッサの指定を削除するためのロジックを含む請求項15
に記載のマルチプロセッサ・システム。 - 【請求項17】 マルチプロセッサ環境において入出力を制御する方法であ
って、 割込み要求する入出力命令が、プロセッサと入出力デバイスの間でデータまた
はコマンドを転送するために、マルチプロセッサ環境のプロセッサのうちの1つ
によって実行されているかどうか判定するステップと、 そのような入出力命令が検出された場合、割込みを実行するステップと、 マルチプロセッサ環境において複数のプロセッサの各々に対して、そのプロセ
ッサによって最後に実行された入出力命令の命令アドレスとそのプロセッサの現
在の命令アドレス間の命令アドレス・カウント差が、所定の数以下であるかどう
かの指定を行うステップと、 選択された入出力命令に応答して、入出力デバイスとそのプロセッサの間でデ
ータまたはコマンドを転送するために、どのプロセッサを入出力デバイスに接続
するかを判定するためにその情報を使用し、その接続を行うステップ を含む方法。 - 【請求項18】 指定を行うステップが、特定のプロセッサの命令アドレス
・カウント差が1に等しいとき、特定のプロセッサに対する最後の入出力命令が
、直接的または間接的に、入出力デバイスのためのポートを示さない限り、所定
の数以下の命令カウント差を有するというプロセッサの指定を削除するステップ
を含む請求項17に記載の方法。 - 【請求項19】 マルチプロセッサ環境の適当なプロセッサと入出力デバイ
スの間の入出力機能を、入出力割込みの間に行うコンピュータ可読プログラム・
コード手段が書き込まれているコンピュータ使用可能媒体を含み、コンピュータ
・プログラム・プロダクツのコンピュータ可読プログラム・コード手段は、 マルチプロセッサ環境の複数のプロセッサの各々に対して、ハードウェアに、
そのプロセッサによって最後に実行された入出力命令の命令アドレスとそのプロ
セッサの現在の命令アドレス間の命令アドレス・カウント差が、所定の数以下で
あるかどうか指定させるための第1のコンピュータ可読プログラム・コード手段
、及び ハードウェアに、入出力デバイスとそのプロセッサの間でデータまたはコマン
ドを転送するために、どのプロセッサを入出力デバイスに接続するかを判定する
ためにこの指定を使用させ、その接続を行う第2のコンピュータ可読プログラム
・コード手段 を含むコンピュータ・プログラム・プロダクツ。 - 【請求項20】 第1のコンピュータ可読プログラム・コード手段は、特定
のプロセッサの命令アドレス・カウント差が1に等しくなるときを判定し、かつ
特定のプロセッサに対する最後の入出力命令が、直接的または間接的に、入出力
デバイスのためのポートを示さない限り、その特定のプロセッサの入出力命令を
実行しているプロセッサとしての指定を削除する第3のコンピュータ可読プログ
ラム・コード手段を含む請求項19に記載のコンピュータ・プログラム・プロダ
クツ。 - 【請求項21】 マルチプロセッサ環境における入出力命令によって開始さ
れたソフトウェア・システム管理割込み(SMI)をサービスする方法であって
、 ソフトウェアSMIの発生を検出するステップと、 前記マルチプロセッサ環境のどのプロセッサがそのプロセッサがソフトウェア
SMIを開始した旨を示す状態保存情報を有しているかを判定するステップと、 SMIハンドラとソフトウェアSMIを開始したと判定された前記プロセッサ
との間で情報を転送するステップと を含む方法。 - 【請求項22】 前記プロセッサ判定ステップが、前記マルチプロセッサ環
境のプロセッサがBIOSソフトウェアSMIコール・ルーチン内でソフトウェ
アSMIを開始する入出力コール命令に直ちに続く命令が存在するオフセット位
置に等しい割込み状態保存エリアにEIP’値を有するかを判定するステップを
含む請求項21に記載の方法。 - 【請求項23】 前記プロセッサ判定ステップが、プロセッサ入出力状態保
存エリア内のEIP値がBIOSソフトウェアSMIコール・ルーチン内でソフ
トウェアSMIを開始する入出力コール命令が存在するオフセット位置に等しい
かを判定するステップを含む請求項21に記載の方法。 - 【請求項24】 前記プロセッサ判定ステップが、前記プロセッサ入出力状
態保存内のECX、ESI、EDI値が割込み状態保存エリア内のECX、ES
I、EDI値に等しいかを判定するステップを含む請求項23に記載の方法。 - 【請求項25】 前記プロセッサ判定ステップが、プロセッサ入出力状態保
存エリア内のEIP値がBIOSソフトウェアSMIコール・ルーチン内でソフ
トウェアSMIを開始する入出力コール命令が存在するオフセット位置に等しい
かを判定するステップを含む請求項22に記載の方法。 - 【請求項26】 マルチプロセッサ環境における入出力命令によって開始さ
れるソフトウェア・システム管理割込み(SMI)をサービスする方法であって
、 ソフトウェアSMIの発生を検出するステップと、 前記マルチプロセッサ環境におけるプロセッサを、以下の試験の双方が順序を
問わず真である場合に、ソフトウェアSMIを開始したと指定するステップであ
って、1)前記マルチプロセッサ環境のプロセッサは、BIOSソフトウェアS
MIコール・ルーチン内でソフトウェアSMIを開始する入出力コール命令に直
ちに続く命令が存在するオフセット位置に等しい割込み状態保存エリアにElP
’値を有し、2)プロセッサの入出力状態保存エリアのElP値が、前記BIO
SソフトウェアSMIコール・ルーチン内でソフトウェアSMIを開始する入出
力コール命令が存在するオフセット位置に等しい、指定するステップと、 前記SMIハンドラと前記指定されたプロセッサ間で情報を転送するステップ
と を含む方法。 - 【請求項27】 各々がBIOSソフトウェアSMIコール・ルーチン内で
特定の入出力コール命令を生成することによって、ソフトウェアによって生成さ
れたシステム管理割込み(SMI)を開始することができる少なくとも第1及び
第2のプロセッサ、 システム管理割込みを処理するSMIハンドラ、 ソフトウェアSMIの発生を検出する第1のロジック、 前記第1のロジックがソフトウェアSMIの発生を検出した後に、前記マルチ
プロセッサ環境のどのプロセッサが、そのプロセッサがソフトウェアSMIを開
始したことを示す状態保存情報を有しているかを判定する第2のロジック、及び
、 前記SMIハンドラ及びソフトウェアSMIを開始したと判定された前記プロ
セッサ間で情報を転送するための、第3のロジック を備えるマルチプロセッサ・システム。 - 【請求項28】 前記第2のロジックが、前記マルチプロセッサ環境におけ
るプロセッサが、BIOSソフトウェアSMIコール・ルーチン内でソフトウェ
アSMIを開始する入出力コール命令に直ちに続く命令が存在するオフセット位
置に等しい割込み保存エリア内に、EIP’値を有するかを判定する第3のロジ
ックを含む請求項27に記載のマルチプロセッサ・システム。 - 【請求項29】 前記第2のロジックが、プロセッサ入出力状態保存エリア
内のELP値が、前記BIOSソフトウェアSMIコール・ルーチン内でソフト
ウェアSMIを開始する入出力コール命令が存在するオフセット位置に等しいか
を判定する第4のロジックを含む請求項27に記載のマルチプロセッサ・システ
ム。 - 【請求項30】 前記第2のロジックが、プロセッサ入出力状態保存エリア
内のEIP値が、前記BIOSソフトウェアSMIコール・ルーチン内でソフト
ウェアSMIを開始する入出力コール命令が存在するオフセット位置に等しいか
を判定する第4のロジックを含む請求項28に記載のマルチプロセッサ・システ
ム。 - 【請求項31】 マルチプロセッサ環境におけるどのプロセッサがソフトウ
ェア・システム管理割込み(SMI)を開始したかを判定するコンピュータ可読
プログラム・コード手段が書き込まれており、SMIハンドラとそのプロセッサ
の間で通信させるコンピュータ使用可能媒体を含み、そのコンピュータ・プログ
ラム・プロダクツ内のコンピュータ可読プログラム・コード手段は、 ソフトウェアSMIの発生を検出する第1のコンピュータ可読プログラム・コ
ード手段、 前記第1のコンピュータ可読プログラム・コード手段がソフトウェアSMIの
発生を検出した後に、前記マルチプロセッサ環境におけるどのプロセッサが、そ
のプロセッサをソフトウェアSMIを開始したと指定する状態保存情報を有して
いるかの指定をする第2のコンピュータ可読プログラム・コード手段、 前記SMIハンドラとソフトウェアSMIを開始したと判定された前記プロセ
ッサの間で、情報を転送する第3のコンピュータ可読プログラム・コード手段を
含むコンピュータ・プログラム・プロダクツ。 - 【請求項32】 前記第2のコンピュータ可読プログラム・コード手段が、
BIOSソフトウェアSMIコール・ルーチン内でソフトウェアSMIを開始す
る入出力コール命令に直ちに続く命令が存在するオフセット位置に等しい割込み
状態保存エリア内に、前記マルチプロセッサ環境におけるプロセッサがEIP’
値を有しているかを判定するためのコードを含む請求項31に記載のコンピュー
タ・プログラム・プロダクツ。 - 【請求項33】 前記第2のコンピュータ可読プログラム・コード手段が、
プロセッサ入出力状態保存エリア内のEIP値が、BIOSソフトウェアSMI
コール・ルーチン内でソフトウェアSMIを開始する入出力コール命令が存在す
るオフセット位置に等しいかを判定するためのコードを含む請求項31に記載の
コンピュータ・プログラム・プロダクツ。 - 【請求項34】 マルチプロセッサ環境におけるどのプロセッサがソフトウ
ェア・システム管理割込み(SMI)を開始したかを判定するコンピュータ可読
プログラム・コード手段が書き込まれており、SMIハンドラとそのプロセッサ
の間で通信させるコンピュータ使用可能媒体を含み、そのコンピュータ・プログ
ラム・プロダクツ内のコンピュータ可読プログラム・コード手段は、 ソフトウェアSMIの発生を検出する第1のコンピュータ可読プログラム・コ
ード手段、 前記第1のコンピュータ可読プログラム・コード手段がソフトウェアSMIの
発生を検出した後に、前記マルチプロセッサ環境におけるプロセッサを、以下の
試験の双方が順序を問わず真である場合に、ソフトウェアSMIを開始したとし
て指定し、かつ 1)前記マルチプロセッサ環境のプロセッサは、BIOSソフトウェアSMI
コール・ルーチン内でソフトウェアSMIを開始する入出力コール命令を直ちに
続く命令が存在するオフセット位置に等しい割込み状態保存エリアにElP’値
を有すること、及び、 2)プロセッサの入出力状態保存エリアのそのElP値が、BIOSソフトウ
ェアSMIコール・ルーチンのソフトウェアSMIを開始する入出力コール命令
が存在するオフセット位置に等しいこと、 SMIハンドラと前記指定されたプロセッサ間で情報を転送する 第2のコンピュータ可読プログラム・コード手段 を有するコンピュータ・プログラム・プロダクツ。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/164,347 US6571206B1 (en) | 1998-01-15 | 1998-10-01 | Apparatus and method for emulating an I/O instruction for the correct processor and for servicing software SMI's in a multi-processor environment |
US09/164,347 | 1998-10-01 | ||
PCT/US1999/020899 WO2000020977A1 (en) | 1998-10-01 | 1999-10-01 | Apparatus and method for emulating an i/o instruction for the correct processor and for servicing software smi's in a multi-processor environment |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2002526860A true JP2002526860A (ja) | 2002-08-20 |
Family
ID=22594084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000575034A Pending JP2002526860A (ja) | 1998-10-01 | 1999-10-01 | マルチプロセッサ環境において正しいプロセッサのための入出力命令をエミュレートし、ソフトウェアsmiをサービスするための装置及び方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6571206B1 (ja) |
JP (1) | JP2002526860A (ja) |
AU (1) | AU6386999A (ja) |
TW (1) | TW470885B (ja) |
WO (1) | WO2000020977A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005013799A (ja) * | 2003-06-24 | 2005-01-20 | Ishigaki Co Ltd | 懸濁物質の凝集処理方法 |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6715074B1 (en) * | 1999-07-27 | 2004-03-30 | Hewlett-Packard Development Company, L.P. | Virus resistant and hardware independent method of flashing system bios |
US6978233B1 (en) * | 2000-03-03 | 2005-12-20 | Unisys Corporation | Method for emulating multi-processor environment |
US6697901B1 (en) * | 2000-10-24 | 2004-02-24 | Oracle International Corporation | Using secondary resource masters in conjunction with a primary resource master for managing resources that are accessible to a plurality of entities |
US20020099893A1 (en) * | 2001-01-24 | 2002-07-25 | Nguyen Tuyet-Huong Thi | System and method for the handling of system management interrupts in a multiprocessor computer system |
US6968410B2 (en) * | 2001-02-28 | 2005-11-22 | Intel Corporation | Multi-threaded processing of system management interrupts |
TW498213B (en) * | 2001-04-18 | 2002-08-11 | Via Tech Inc | Method and chipset for supporting interrupts of system management mode in multiple-CPU system |
JP4005026B2 (ja) | 2001-12-13 | 2007-11-07 | 株式会社ソニー・コンピュータエンタテインメント | プログラムのセキュアな配布方法及び装置 |
WO2003055132A1 (en) | 2001-12-21 | 2003-07-03 | Sony Computer Entertainment Inc. | Methods and apparatus for secure distribution of program content |
US7243353B2 (en) * | 2002-06-28 | 2007-07-10 | Intel Corporation | Method and apparatus for making and using a flexible hardware interface |
US7698689B2 (en) | 2002-08-13 | 2010-04-13 | Phoenix Technologies Ltd. | Method for meeting SMI duration limits by time slicing SMI handlers |
US20050066097A1 (en) * | 2003-09-04 | 2005-03-24 | Matsushita Electric Industrial Co., Ltd. | Resource management apparatus |
TW200401188A (en) * | 2003-09-16 | 2004-01-16 | Via Tech Inc | Debug device and method thereof |
US7340547B1 (en) * | 2003-12-02 | 2008-03-04 | Nvidia Corporation | Servicing of multiple interrupts using a deferred procedure call in a multiprocessor system |
US20050154573A1 (en) * | 2004-01-08 | 2005-07-14 | Maly John W. | Systems and methods for initializing a lockstep mode test case simulation of a multi-core processor design |
US7197433B2 (en) * | 2004-04-09 | 2007-03-27 | Hewlett-Packard Development Company, L.P. | Workload placement among data centers based on thermal efficiency |
CN1906576B (zh) | 2004-09-20 | 2010-05-12 | 索尼计算机娱乐公司 | 分布软件应用的方法与设备 |
US20060282589A1 (en) * | 2005-06-08 | 2006-12-14 | Dell Products L.P. | System and method of processing system management interrupts (SMI) in a multi-processor environment |
US7464211B2 (en) * | 2006-09-14 | 2008-12-09 | International Business Machines Corporation | Method of detecting and recovering a lost system management interrupt (SMI) in a multiprocessor (MP) environment |
US7721034B2 (en) * | 2006-09-29 | 2010-05-18 | Dell Products L.P. | System and method for managing system management interrupts in a multiprocessor computer system |
TW201025015A (en) * | 2008-12-30 | 2010-07-01 | Wistron Corp | Method for safely removing an external image processing device for a computer system and related computer system |
US8578138B2 (en) | 2009-08-31 | 2013-11-05 | Intel Corporation | Enabling storage of active state in internal storage of processor rather than in SMRAM upon entry to system management mode |
DE102010011583B4 (de) * | 2010-03-16 | 2011-12-22 | Fujitsu Technology Solutions Intellectual Property Gmbh | Verfahren zum Umsetzen von Befehlen mit Basisregister-relativer Adressierung bei einer Emulation |
CN108717387B (zh) * | 2012-11-09 | 2021-09-07 | 相干逻辑公司 | 对于多处理器系统的实时分析和控制 |
TW201533576A (zh) * | 2013-11-20 | 2015-09-01 | Insyde Software Corp | 在多核心系統上運用系統管理中斷(smi)之系統效能增強 |
US11188640B1 (en) * | 2018-08-23 | 2021-11-30 | Advanced Micro Devices, Inc. | Platform firmware isolation |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62160561A (ja) * | 1986-01-10 | 1987-07-16 | Hitachi Ltd | プロセツサ間通信方式 |
JPH03171250A (ja) * | 1989-05-17 | 1991-07-24 | Internatl Business Mach Corp <Ibm> | コンピュータ・システム |
JPH0628321A (ja) * | 1992-04-22 | 1994-02-04 | Toshiba Corp | マルチプロセッサシステム |
JPH07175665A (ja) * | 1993-12-17 | 1995-07-14 | Fujitsu Ltd | 入出力割込制御回路 |
JPH07200496A (ja) * | 1993-12-28 | 1995-08-04 | Fujitsu Ltd | プロセッサ割当て方式 |
WO1997013202A1 (en) * | 1995-10-06 | 1997-04-10 | Advanced Micro Devices, Inc. | Flexible implementation of a system management mode (smm) in a processor |
JPH10143387A (ja) * | 1996-10-29 | 1998-05-29 | Compaq Computer Corp | 障害診断機能付きのコンピュータ・システム |
JPH10187589A (ja) * | 1996-10-18 | 1998-07-21 | Compaq Computer Corp | キーボード用ホットプラグ |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR950008837B1 (ko) | 1990-03-09 | 1995-08-08 | 후지쓰 가부시끼가이샤 | 멀티 프로세서 시스템용 제어시스템 |
JPH05216712A (ja) | 1991-10-23 | 1993-08-27 | Internatl Business Mach Corp <Ibm> | コンピュータシステムおよびこのコンピュータシステム上で内観的タスクを遂行する方法並びにi/oプロセッサアセンブリ |
US5721931A (en) * | 1995-03-21 | 1998-02-24 | Advanced Micro Devices | Multiprocessing system employing an adaptive interrupt mapping mechanism and method |
US5796984A (en) | 1996-01-26 | 1998-08-18 | Dell Usa, L.P. | Operating system independent apparatus and method for eliminating peripheral device functions |
US6003129A (en) * | 1996-08-19 | 1999-12-14 | Samsung Electronics Company, Ltd. | System and method for handling interrupt and exception events in an asymmetric multiprocessor architecture |
US5889978A (en) * | 1997-04-18 | 1999-03-30 | Intel Corporation | Emulation of interrupt control mechanism in a multiprocessor system |
US6321279B1 (en) * | 1998-09-14 | 2001-11-20 | Compaq Computer Corporation | System for implementing intelligent I/O processing in a multi-processor system by redirecting I/O messages to a target central processor selected from the multi-processor system |
US6272618B1 (en) * | 1999-03-25 | 2001-08-07 | Dell Usa, L.P. | System and method for handling interrupts in a multi-processor computer |
-
1998
- 1998-10-01 US US09/164,347 patent/US6571206B1/en not_active Expired - Lifetime
-
1999
- 1999-10-01 WO PCT/US1999/020899 patent/WO2000020977A1/en active Application Filing
- 1999-10-01 JP JP2000575034A patent/JP2002526860A/ja active Pending
- 1999-10-01 AU AU63869/99A patent/AU6386999A/en not_active Abandoned
-
2000
- 2000-04-08 TW TW088116939A patent/TW470885B/zh not_active IP Right Cessation
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62160561A (ja) * | 1986-01-10 | 1987-07-16 | Hitachi Ltd | プロセツサ間通信方式 |
JPH03171250A (ja) * | 1989-05-17 | 1991-07-24 | Internatl Business Mach Corp <Ibm> | コンピュータ・システム |
JPH0628321A (ja) * | 1992-04-22 | 1994-02-04 | Toshiba Corp | マルチプロセッサシステム |
JPH07175665A (ja) * | 1993-12-17 | 1995-07-14 | Fujitsu Ltd | 入出力割込制御回路 |
JPH07200496A (ja) * | 1993-12-28 | 1995-08-04 | Fujitsu Ltd | プロセッサ割当て方式 |
WO1997013202A1 (en) * | 1995-10-06 | 1997-04-10 | Advanced Micro Devices, Inc. | Flexible implementation of a system management mode (smm) in a processor |
JP2000506636A (ja) * | 1995-10-06 | 2000-05-30 | アドバンスト・マイクロ・デバイシズ・インコーポレイテッド | プロセッサにおけるシステム管理モード(smm)のフレキシブルな実現 |
JPH10187589A (ja) * | 1996-10-18 | 1998-07-21 | Compaq Computer Corp | キーボード用ホットプラグ |
JPH10143387A (ja) * | 1996-10-29 | 1998-05-29 | Compaq Computer Corp | 障害診断機能付きのコンピュータ・システム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005013799A (ja) * | 2003-06-24 | 2005-01-20 | Ishigaki Co Ltd | 懸濁物質の凝集処理方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2000020977A9 (en) | 2000-08-24 |
AU6386999A (en) | 2000-04-26 |
TW470885B (en) | 2002-01-01 |
US6571206B1 (en) | 2003-05-27 |
WO2000020977A1 (en) | 2000-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2002526860A (ja) | マルチプロセッサ環境において正しいプロセッサのための入出力命令をエミュレートし、ソフトウェアsmiをサービスするための装置及び方法 | |
US5761458A (en) | Intelligent bus bridge for input/output subsystems in a computer system | |
US9052916B2 (en) | System ROM with an embedded disk image | |
US6446153B2 (en) | Shared embedded microcontroller interface | |
US6629157B1 (en) | System and method for virtualizing the configuration space of PCI devices in a processing system | |
US6496945B2 (en) | Computer system implementing fault detection and isolation using unique identification codes stored in non-volatile memory | |
US6601166B1 (en) | Mechanism for booting a computer through a network | |
US8255678B2 (en) | Method of booting a processing device | |
US6711642B2 (en) | Method and chipset for system management mode interrupt of multi-processor supporting system | |
EP0464615A2 (en) | Microcomputer equipped with DMA controller | |
US6601165B2 (en) | Apparatus and method for implementing fault resilient booting in a multi-processor system by using a flush command to control resetting of the processors and isolating failed processors | |
US7103743B2 (en) | System and method of accessing vital product data | |
US20050246478A1 (en) | Information processing apparatus and a method and a program of loading a device driver | |
US6304984B1 (en) | Method and system for injecting errors to a device within a computer system | |
EP0437550B1 (en) | Information processing system emulation apparatus and method | |
US7231512B2 (en) | Technique for reconstituting a pre-boot firmware environment after launch of an operating system | |
US6963970B2 (en) | System and method for executing a fast reset of a computer system | |
US7484083B1 (en) | Method, apparatus, and computer-readable medium for utilizing BIOS boot specification compliant devices within an extensible firmware interface environment | |
JPH06242987A (ja) | コンピュータ装置においてマイクロプロセッサの正常な処理の引継ぎをホストプロセッサが実行する方法および装置 | |
US5003468A (en) | Guest machine execution control system for virutal machine system | |
US6907521B2 (en) | Enabling video BIOS and display drivers to leverage system BIOS platform abstract | |
US6757770B1 (en) | Computer system supporting a universal serial bus (USB) interface and method for controlling a USB corresponding I/O device | |
US5898859A (en) | Address shadow feature and methods of using the same | |
JPH11502341A (ja) | プロセッサ間のデータ伝送用のリンクプロトコル | |
CN116627472A (zh) | 高速外围组件设备的固件程序升级方法及服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060922 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090825 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20091125 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20091202 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100413 |