JPH06230979A - 改良されたシステム管理方法および装置 - Google Patents
改良されたシステム管理方法および装置Info
- Publication number
- JPH06230979A JPH06230979A JP14379793A JP14379793A JPH06230979A JP H06230979 A JPH06230979 A JP H06230979A JP 14379793 A JP14379793 A JP 14379793A JP 14379793 A JP14379793 A JP 14379793A JP H06230979 A JPH06230979 A JP H06230979A
- Authority
- JP
- Japan
- Prior art keywords
- smm
- microprocessor
- routine
- circuit
- smi
- 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 OR CALCULATING; 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/24—Resetting means
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Microcomputers (AREA)
Abstract
(57)【要約】 (修正有)
【目的】 システム管理機能を改善する。
【構成】 システム管理ルーチンのためのアドレス範囲
をプログラム時に定義する。システム管理割り込みを受
けると、マイクロプロセッサ12は、システム管理ルー
チンの開始に際して常に影響を受けるそのプロセッサの
状態情報を格納し、その他の情報は、システム管理ルー
チンに付随する時間的オーバヘッドが最小となるように
格納される。また、付加的機能として次の機構を有す
る。(a)システム管理モード(SMM)動作中におけ
るマスク不可機割込み(NMI)の処理を可能にするN
MI ENABLE機構;(b)ハッカーやビールス等
によるSMM空間またはSMMルーチンへの不正なアク
セスを防ぐSMI LOCK機構;(c)周辺装置のパ
ワーアップのため等、SMIルーチンへのトラップに帰
結するI/O動作のトランスペアレントなリトライをI
/O情報(オペランド、サイズ、及びポートアドレス)
で容易にすることを可能にするI/Oバッファリング機
構;
をプログラム時に定義する。システム管理割り込みを受
けると、マイクロプロセッサ12は、システム管理ルー
チンの開始に際して常に影響を受けるそのプロセッサの
状態情報を格納し、その他の情報は、システム管理ルー
チンに付随する時間的オーバヘッドが最小となるように
格納される。また、付加的機能として次の機構を有す
る。(a)システム管理モード(SMM)動作中におけ
るマスク不可機割込み(NMI)の処理を可能にするN
MI ENABLE機構;(b)ハッカーやビールス等
によるSMM空間またはSMMルーチンへの不正なアク
セスを防ぐSMI LOCK機構;(c)周辺装置のパ
ワーアップのため等、SMIルーチンへのトラップに帰
結するI/O動作のトランスペアレントなリトライをI
/O情報(オペランド、サイズ、及びポートアドレス)
で容易にすることを可能にするI/Oバッファリング機
構;
Description
【0001】
【産業上の利用分野】この発明は、一般に電子回路に関
し、特に、システム管理モード(SMM)中におけるN
MIの認識、I/Oトラップに応答してのSMM空間I
/Oポート情報におけるバッファリング、ソフトウェア
命令によるSMMの起動、およびSMMコンフィギュレ
ーション制御のロッキングのための付加機能を含むシス
テム管理機能を備えたマイクロプロセッサに関する。
し、特に、システム管理モード(SMM)中におけるN
MIの認識、I/Oトラップに応答してのSMM空間I
/Oポート情報におけるバッファリング、ソフトウェア
命令によるSMMの起動、およびSMMコンフィギュレ
ーション制御のロッキングのための付加機能を含むシス
テム管理機能を備えたマイクロプロセッサに関する。
【0002】
【従来の技術】コンピュータシステムにおけるアプリケ
ーションプログラムの実行中に、そのアプリケーション
プログラムとは無関係に特定のファンクションを行うこ
とが望ましい場合がある。例えば、ラップトップシステ
ムにおいては、あるアプリケーションプログラムの実行
中に、そのアプリケーションプログラムの動作にまった
く影響せずに行われることを必要とする電源管理ファン
クションがある場合がある。
ーションプログラムの実行中に、そのアプリケーション
プログラムとは無関係に特定のファンクションを行うこ
とが望ましい場合がある。例えば、ラップトップシステ
ムにおいては、あるアプリケーションプログラムの実行
中に、そのアプリケーションプログラムの動作にまった
く影響せずに行われることを必要とする電源管理ファン
クションがある場合がある。
【0003】これに関して、(例えば Austin, Texasの
Advanced Micro Devices 社製 Am3865 SXLV や、 Sant
a Clara, Californiaのインテル社製 Intel 386SLマイ
クロプロセッサ・スーパーセットのように)、システム
管理割込み(System Management Interrupt:SMI)を
備えたマイクロプロセッサがある。このSMIは、マス
クできないものであり、一般にマスク不可割込み(non-
maskable interrupt:NMI)よりも高いプライオリテ
ィを有している。 Intelのマイクロプロセッサ・スーパ
ーセットは、SMIを受けると、システム管理RAM
(SM−RAM)アドレス空間を030000H−03
FFFFHのメモリ空間にマップする。マイクロプロセ
ッサの現在の状態に関するすべての情報は、アドレス3
FFFFHに始まりスタック状に続くSM−RAM領域
に退避される。そして、 Intelマイクロプロセッサ・ス
ーパーセットは、アドレス030000Hにおいて実モ
ードでの実行を開始する。再開(RSM)命令が実行さ
れると、プロセッサの以前の状態が復元され、プログラ
ムの実行が継続する。
Advanced Micro Devices 社製 Am3865 SXLV や、 Sant
a Clara, Californiaのインテル社製 Intel 386SLマイ
クロプロセッサ・スーパーセットのように)、システム
管理割込み(System Management Interrupt:SMI)を
備えたマイクロプロセッサがある。このSMIは、マス
クできないものであり、一般にマスク不可割込み(non-
maskable interrupt:NMI)よりも高いプライオリテ
ィを有している。 Intelのマイクロプロセッサ・スーパ
ーセットは、SMIを受けると、システム管理RAM
(SM−RAM)アドレス空間を030000H−03
FFFFHのメモリ空間にマップする。マイクロプロセ
ッサの現在の状態に関するすべての情報は、アドレス3
FFFFHに始まりスタック状に続くSM−RAM領域
に退避される。そして、 Intelマイクロプロセッサ・ス
ーパーセットは、アドレス030000Hにおいて実モ
ードでの実行を開始する。再開(RSM)命令が実行さ
れると、プロセッサの以前の状態が復元され、プログラ
ムの実行が継続する。
【0004】SM−RAMは、専用のRAMであって
も、主記憶装置の一部であってもよい。しかしながら、
Intelマイクロプロセッサ・スーパーセットにおいて
は、SM−RAMは、30000Hと3FFFFHとの
間のアドレス空間を占めなければならない。このアドレ
ス空間は、SMI割込みが生じたとき、または、ビット
(OMDCRレジスタのビット3)が所定の値に設定さ
れた場合にのみ、アクセス可能である。専用のアドレス
空間を設けるのは、アプリケーションプログラム、BI
OS、オペレーティングシステム、または他の並行して
実行されているプログラムによる不注意な重ね書きから
SMIプログラムを保護するためである。SMIハンド
ラが実行を終了すると、 Intel SL マイクロプロセッサ
・スーパーセットは、システム管理メモリからCPUの
状態を復元し、通常のメモリをアクセス可能にし、SM
−RAMをアクセス不可能にする。
も、主記憶装置の一部であってもよい。しかしながら、
Intelマイクロプロセッサ・スーパーセットにおいて
は、SM−RAMは、30000Hと3FFFFHとの
間のアドレス空間を占めなければならない。このアドレ
ス空間は、SMI割込みが生じたとき、または、ビット
(OMDCRレジスタのビット3)が所定の値に設定さ
れた場合にのみ、アクセス可能である。専用のアドレス
空間を設けるのは、アプリケーションプログラム、BI
OS、オペレーティングシステム、または他の並行して
実行されているプログラムによる不注意な重ね書きから
SMIプログラムを保護するためである。SMIハンド
ラが実行を終了すると、 Intel SL マイクロプロセッサ
・スーパーセットは、システム管理メモリからCPUの
状態を復元し、通常のメモリをアクセス可能にし、SM
−RAMをアクセス不可能にする。
【0005】
【発明が解決しようとする課題】従来技術のSMIシス
テムには、幾つかの本質的な問題点がある。まず、SM
Iアドレス空間の管理に対する柔軟性が、開始ロケーシ
ョンについてもまたSM−RAMの大きさについても備
わっていない。結果として、SMIに割り当てられたア
ドレス空間が大きすぎてRAMの記憶場所を無駄にした
り、または、小さすぎてSMIハンドラの有用性を限ら
れたものにしてしまう場合がある。また、従来技術の解
決策においては、SMI割込みを受けると、自動的にC
PUの全状態を格納する。結果として、そのSMIルー
チンがマイクロプロセッサの全状態を退避することを必
要とするかどうかに関わらず、各SMIが、情報を退避
するための大きな時間的オーバヘッドを要することにな
る。
テムには、幾つかの本質的な問題点がある。まず、SM
Iアドレス空間の管理に対する柔軟性が、開始ロケーシ
ョンについてもまたSM−RAMの大きさについても備
わっていない。結果として、SMIに割り当てられたア
ドレス空間が大きすぎてRAMの記憶場所を無駄にした
り、または、小さすぎてSMIハンドラの有用性を限ら
れたものにしてしまう場合がある。また、従来技術の解
決策においては、SMI割込みを受けると、自動的にC
PUの全状態を格納する。結果として、そのSMIルー
チンがマイクロプロセッサの全状態を退避することを必
要とするかどうかに関わらず、各SMIが、情報を退避
するための大きな時間的オーバヘッドを要することにな
る。
【0006】従来技術のSMIシステムには、他にもい
くつかの問題点がある。まず、SMIルーチンがアクテ
ィブな間、NMIは認識されず、マイクロプロセッサ
は、通常、RSMをもちいてSMIルーチンを出た後に
処理される1つ以上のNMI事象を格納することにな
る。しかし、状況によっては、パリティエラー等の破局
的障害をもたらすNMIを認識することが望ましい場合
がある。第2に、周辺装置のパワーダウン/アップを実
現するためにSMIを用いる際に、パワーダウンされた
周辺装置へのI/O命令が、その周辺装置をパワーアッ
プするSMIハンドラへのトラップとなる。ストリング
命令等の場合に、トラップされたI/O命令のリトライ
は、プログラマにとって問題となりうる。第3に、SM
Iコンフィギュレーションは、例えば、SMIを可能に
し、記憶装置および/またはSMI空間の読みだし/書
込みを可能にする制御レジスタ値によって制御される。
SMI動作は通常の動作システム保護機構の対象とはな
らないことから、ハッカーやビールス等のSMIコンフ
ィギュレーション制御レジスタへの不正なアクセスが、
重大な保護欠陥をもたらす。そして第4に、従来技術の
システムにおいては、SMIは、ハードウェアSMI割
り込みによってのみ呼び出すことができる。
くつかの問題点がある。まず、SMIルーチンがアクテ
ィブな間、NMIは認識されず、マイクロプロセッサ
は、通常、RSMをもちいてSMIルーチンを出た後に
処理される1つ以上のNMI事象を格納することにな
る。しかし、状況によっては、パリティエラー等の破局
的障害をもたらすNMIを認識することが望ましい場合
がある。第2に、周辺装置のパワーダウン/アップを実
現するためにSMIを用いる際に、パワーダウンされた
周辺装置へのI/O命令が、その周辺装置をパワーアッ
プするSMIハンドラへのトラップとなる。ストリング
命令等の場合に、トラップされたI/O命令のリトライ
は、プログラマにとって問題となりうる。第3に、SM
Iコンフィギュレーションは、例えば、SMIを可能に
し、記憶装置および/またはSMI空間の読みだし/書
込みを可能にする制御レジスタ値によって制御される。
SMI動作は通常の動作システム保護機構の対象とはな
らないことから、ハッカーやビールス等のSMIコンフ
ィギュレーション制御レジスタへの不正なアクセスが、
重大な保護欠陥をもたらす。そして第4に、従来技術の
システムにおいては、SMIは、ハードウェアSMI割
り込みによってのみ呼び出すことができる。
【0007】したがって、高速で柔軟性があり、かつ便
利なSMIの動作を実現したシステムの必要性が、当業
界において高まってきている。
利なSMIの動作を実現したシステムの必要性が、当業
界において高まってきている。
【0008】
【課題を解決するための手段】本発明による改良された
システム管理回路を有するマイクロプロセッサは従来の
マイクロプロセッサに関連した本質的な欠点を解消す
る。本発明において、マイクロプロセッサは公知のアド
レス空間内の外部メモリにアクセスする回路を有する。
アドレス空間内のアドレス範囲はシステム管理メモリを
特定するためにプログラム的に定義される。
システム管理回路を有するマイクロプロセッサは従来の
マイクロプロセッサに関連した本質的な欠点を解消す
る。本発明において、マイクロプロセッサは公知のアド
レス空間内の外部メモリにアクセスする回路を有する。
アドレス空間内のアドレス範囲はシステム管理メモリを
特定するためにプログラム的に定義される。
【0009】システム管理メモリ(SMM)のためのア
ドレス範囲をプログラム的に定義することによって、S
MMはSMIルーチンに合わせて作られているので、過
剰なメモリ空間はSMMによって浪費されないし、また
SMMは他のシステムやアプリケーション・プログラム
に影響しないマイクロプロセッサのアドレス空間の領域
において与えられることができる。
ドレス範囲をプログラム的に定義することによって、S
MMはSMIルーチンに合わせて作られているので、過
剰なメモリ空間はSMMによって浪費されないし、また
SMMは他のシステムやアプリケーション・プログラム
に影響しないマイクロプロセッサのアドレス空間の領域
において与えられることができる。
【0010】本発明の第2の特徴において、プロセッサ
状態情報はSMIリクエストをを受けるとプログラム的
に格納されるので、プログラマはどんなプロセッサ状態
情報がセーブされたかを制御することができる。好まし
い実施例においては、SMIサービスルーチンの開始に
常に影響されるあるプロセッサ状態情報は自動的に格納
される。本発明のこの特徴はSMIサービスに関して係
わっている最小時間オーバヘッドを意味あるように減少
する。
状態情報はSMIリクエストをを受けるとプログラム的
に格納されるので、プログラマはどんなプロセッサ状態
情報がセーブされたかを制御することができる。好まし
い実施例においては、SMIサービスルーチンの開始に
常に影響されるあるプロセッサ状態情報は自動的に格納
される。本発明のこの特徴はSMIサービスに関して係
わっている最小時間オーバヘッドを意味あるように減少
する。
【0011】本発明は、マイクロプロセッサと記憶装置
とを含むコンピュータシステムであり、マイクロプロセ
ッサは通常モードまたはシステム管理モード(SMM)
のいずれにおいても動作可能である。SMMモード動作
は、(a)SMM動作中におけるNMIの処理、(b)
SMM制御情報へのアクセスのロッキング、(c)I/
Oトラップ情報の退避、および/または(d)ソフトウ
ェア命令によるSMM動作の起動の特徴のうちの1つ以
上を選択的に含むものである。
とを含むコンピュータシステムであり、マイクロプロセ
ッサは通常モードまたはシステム管理モード(SMM)
のいずれにおいても動作可能である。SMMモード動作
は、(a)SMM動作中におけるNMIの処理、(b)
SMM制御情報へのアクセスのロッキング、(c)I/
Oトラップ情報の退避、および/または(d)ソフトウ
ェア命令によるSMM動作の起動の特徴のうちの1つ以
上を選択的に含むものである。
【0012】このマイクロプロセッサは、SMM動作を
行うため、SMMルーチンを実行する際にもちいる記憶
装置の選択されたアドレス空間内にSMMアドレス空間
を定義する回路と、SMI信号に応答して、選択された
SMM動作を行い、そしてマイクロプロセッサを通常動
作モードに戻すSMMルーチンを呼び出すマイクロプロ
セッサ内の回路とを含んでいる。
行うため、SMMルーチンを実行する際にもちいる記憶
装置の選択されたアドレス空間内にSMMアドレス空間
を定義する回路と、SMI信号に応答して、選択された
SMM動作を行い、そしてマイクロプロセッサを通常動
作モードに戻すSMMルーチンを呼び出すマイクロプロ
セッサ内の回路とを含んでいる。
【0013】本発明の態様において、マイクロプロセッ
サは、SMM動作中にNMIの認識を選択的に可能にす
る回路を含んでおり、NMIが可能にされると、SMM
ルーチンは対応するNMIハンドラルーチンを実行する
が、NMIが可能にされないと、SMMルーチンはNM
Iに応答せず、したがって、NMI割り込みは、通常動
作への復帰後にのみ処理され得る。
サは、SMM動作中にNMIの認識を選択的に可能にす
る回路を含んでおり、NMIが可能にされると、SMM
ルーチンは対応するNMIハンドラルーチンを実行する
が、NMIが可能にされないと、SMMルーチンはNM
Iに応答せず、したがって、NMI割り込みは、通常動
作への復帰後にのみ処理され得る。
【0014】本発明の別の態様において、マイクロプロ
セッサは、SMM動作を行うため、SMMルーチンを実
行する際にもちいる、記憶装置の選択されたアドレス空
間内のSMMアドレス空間を含むSMM動作のためのS
MMコンフィギュレーション情報を定義する回路と、S
MMロック状態が可能にされた場合に、SMMルーチン
以外のアクティビティーSMMコンフィギュレーション
情報を変えることを防ぐ回路とを含んでいる。
セッサは、SMM動作を行うため、SMMルーチンを実
行する際にもちいる、記憶装置の選択されたアドレス空
間内のSMMアドレス空間を含むSMM動作のためのS
MMコンフィギュレーション情報を定義する回路と、S
MMロック状態が可能にされた場合に、SMMルーチン
以外のアクティビティーSMMコンフィギュレーション
情報を変えることを防ぐ回路とを含んでいる。
【0015】本発明の別の態様において、マイクロプロ
セッサは、通常モード動作中に、一時レジスタに現在の
I/O動作についてのI/O情報を格納する回路と、S
MI信号に応答して、前記一時レジスタからのI/O情
報を含むSMMアドレス空間内の選択されたマイクロプ
ロセッサ状態情報の格納を含む選択されたSMM動作を
行うSMMルーチンを呼び出す回路とを含んでいる。こ
のI/O情報は、付随するオペランド、オペランドサイ
ズ、およびI/O動作のためのポートアドレスを含むこ
とが好ましい。
セッサは、通常モード動作中に、一時レジスタに現在の
I/O動作についてのI/O情報を格納する回路と、S
MI信号に応答して、前記一時レジスタからのI/O情
報を含むSMMアドレス空間内の選択されたマイクロプ
ロセッサ状態情報の格納を含む選択されたSMM動作を
行うSMMルーチンを呼び出す回路とを含んでいる。こ
のI/O情報は、付随するオペランド、オペランドサイ
ズ、およびI/O動作のためのポートアドレスを含むこ
とが好ましい。
【0016】本発明の別の態様において、マイクロプロ
セッサは、(i)マイクロプロセッサ外部のSMI信
号、または(ii)通常モード動作中にマイクロプロセッ
サによって実行されているソフトウェアによって設定さ
れたSMI信号に応答して、選択されたプロセッサ状態
情報をプログラム可能に格納することを含む選択された
SMM動作を行い、そしてマイクロプロセッサを通常モ
ード動作に復帰させるSMMルーチンを呼び出す回路を
含んでいる。SMMルーチン中に退避されるマイクロプ
ロセッサ状態情報は、そのSMM動作がソフトウェアに
よって開始されたかどうかを示す情報を含むことが好ま
しい。
セッサは、(i)マイクロプロセッサ外部のSMI信
号、または(ii)通常モード動作中にマイクロプロセッ
サによって実行されているソフトウェアによって設定さ
れたSMI信号に応答して、選択されたプロセッサ状態
情報をプログラム可能に格納することを含む選択された
SMM動作を行い、そしてマイクロプロセッサを通常モ
ード動作に復帰させるSMMルーチンを呼び出す回路を
含んでいる。SMMルーチン中に退避されるマイクロプ
ロセッサ状態情報は、そのSMM動作がソフトウェアに
よって開始されたかどうかを示す情報を含むことが好ま
しい。
【0017】本発明の技術的効果には、以下のことが含
まれる。NMIを処理する特徴が、破局的障害につなが
るかもしれないNMIをSMM動作中に処理する柔軟性
をもたらしている。SMMをロッキングする特徴は、ハ
ッカーまたはビールス等によるSMM空間またはSMM
ルーチンへの不正なアクセスを防ぐ。I/Oバッファリ
ングの特徴が、周辺装置のパワーアップのため等のSM
M動作後のI/O動作のトランスペアレントなりトライ
を容易にする。そして、ソフトウェアSMM命令が、S
MM動作の利用における付加的柔軟性をもたらしてい
る。
まれる。NMIを処理する特徴が、破局的障害につなが
るかもしれないNMIをSMM動作中に処理する柔軟性
をもたらしている。SMMをロッキングする特徴は、ハ
ッカーまたはビールス等によるSMM空間またはSMM
ルーチンへの不正なアクセスを防ぐ。I/Oバッファリ
ングの特徴が、周辺装置のパワーアップのため等のSM
M動作後のI/O動作のトランスペアレントなりトライ
を容易にする。そして、ソフトウェアSMM命令が、S
MM動作の利用における付加的柔軟性をもたらしてい
る。
【0018】本発明のより完全な理解のため、またさら
なる特徴および効果について、本発明の1つの実施例を
添付の図面と照らし合わせて詳細に説明する。なお、本
発明は、その請求の範囲内にあるすべての変更または変
化例を包含するものである。
なる特徴および効果について、本発明の1つの実施例を
添付の図面と照らし合わせて詳細に説明する。なお、本
発明は、その請求の範囲内にあるすべての変更または変
化例を包含するものである。
【0019】
【実施例】本発明の好ましい実施例およびその効果は、
図1−図7を参照することによって最もよく理解される
ものであり、各図において、同様または対応する部分は
同様の数字を用いて示す。図1は、コンピュータシステ
ムのブロック図である。コンピュータシステム10は、
主記憶装置14と、システム管理メモリ(SMM)15
(上述したSM−RAMに類似したもの)と、BJOS
ROM16と、論理素子18(一般に“チップセッ
ト”と呼ばれるもの)とに電気的に接続するマイクロプ
ロセッサ12を備えている。マイクロプロセッサ12
は、バス20に接続している。バス20は、図1におい
てキーボードコントローラ22、ビデオコントローラ2
4、I/O回路機構26およびディスクコントローラ2
8として示される幾つかの装置と通信するために用いら
れる。キーボードコントローラ22は、キーボード29
に接続している。ディスクコントローラ28は、ハード
ディスク30およびフロッピーディスク32に接続して
いる。ビデオコントローラ24は、表示装置34に接続
している。任意の双対プロセッサ35が、マイクロプロ
セッサ12およびBIOS16に接続している。
図1−図7を参照することによって最もよく理解される
ものであり、各図において、同様または対応する部分は
同様の数字を用いて示す。図1は、コンピュータシステ
ムのブロック図である。コンピュータシステム10は、
主記憶装置14と、システム管理メモリ(SMM)15
(上述したSM−RAMに類似したもの)と、BJOS
ROM16と、論理素子18(一般に“チップセッ
ト”と呼ばれるもの)とに電気的に接続するマイクロプ
ロセッサ12を備えている。マイクロプロセッサ12
は、バス20に接続している。バス20は、図1におい
てキーボードコントローラ22、ビデオコントローラ2
4、I/O回路機構26およびディスクコントローラ2
8として示される幾つかの装置と通信するために用いら
れる。キーボードコントローラ22は、キーボード29
に接続している。ディスクコントローラ28は、ハード
ディスク30およびフロッピーディスク32に接続して
いる。ビデオコントローラ24は、表示装置34に接続
している。任意の双対プロセッサ35が、マイクロプロ
セッサ12およびBIOS16に接続している。
【0020】図1に示したコンピュータシステム10
は、IBMパーソナルコンピュータおよびその互換機等
のパーソナルコンピュータに共通な汎用構造のものであ
る。BIOS16(basic input/output system)は、
一般に、コンピュータシステム10の基本的制御および
監視動作を行うための一連のプログラムを含む読みだし
専用メモリである。BIOS16は、コンピュータ回路
機構と、CPU12によって実行されているアプリケー
ションソフトウェアとのインタフェースとして動作す
る。重要なことは、電力消費の観点から、電力消費削減
手続きを呼び出すかどうかを決定するために、BIOS
16および論理機構18が回路機構を監視することであ
る。例えば、BIOS16および/または論理素子18
は、素子装置34を監視して、所定の時間にわたってそ
の出力に変化があったかどうかを監視することができ
る。無かった場合、(コンピュータシステム10がポー
タブルコンピュータであるなら)、BIOS16は、エ
ネルギーを節約するために、表示装置34への電力を不
能にするための手続きを呼び出すことができる。また、
BIOS16は、コンピュータシステム10の動作に影
響を与えずにマイクロプロセッサをアイドル状態に置く
ことができるかどうかを判断するために、マイクロプロ
セッサ12を監視する。例えば、マイクロプロセッサ1
2は、キーボードからの文字を待つためのルーチンを実
行している場合がある。この場合、マイクロプロセッサ
12の動作を、キーが押されるまで中断することができ
る。
は、IBMパーソナルコンピュータおよびその互換機等
のパーソナルコンピュータに共通な汎用構造のものであ
る。BIOS16(basic input/output system)は、
一般に、コンピュータシステム10の基本的制御および
監視動作を行うための一連のプログラムを含む読みだし
専用メモリである。BIOS16は、コンピュータ回路
機構と、CPU12によって実行されているアプリケー
ションソフトウェアとのインタフェースとして動作す
る。重要なことは、電力消費の観点から、電力消費削減
手続きを呼び出すかどうかを決定するために、BIOS
16および論理機構18が回路機構を監視することであ
る。例えば、BIOS16および/または論理素子18
は、素子装置34を監視して、所定の時間にわたってそ
の出力に変化があったかどうかを監視することができ
る。無かった場合、(コンピュータシステム10がポー
タブルコンピュータであるなら)、BIOS16は、エ
ネルギーを節約するために、表示装置34への電力を不
能にするための手続きを呼び出すことができる。また、
BIOS16は、コンピュータシステム10の動作に影
響を与えずにマイクロプロセッサをアイドル状態に置く
ことができるかどうかを判断するために、マイクロプロ
セッサ12を監視する。例えば、マイクロプロセッサ1
2は、キーボードからの文字を待つためのルーチンを実
行している場合がある。この場合、マイクロプロセッサ
12の動作を、キーが押されるまで中断することができ
る。
【0021】SMM15は、主記憶装置の一部であって
もよいし、あるいは、図1に示すような別個の記憶装置
であってもよい。SMM15が別個の記憶装置である場
合、主記憶装置の対応するアドレス空間を、SMI以外
の目的に使用することができる。図2は、マイクロプロ
セッサ12の好ましい実施例における各サブ回路の詳細
なブロック図である。理解を容易にするために、マイク
ロプロセッサ12を、 Intel社の80X86ファミリー
のプロセッサに対してピンコンパチブルかつインストラ
クションコンパチブルなマイクロプロセッサに関連させ
て説明する。しかし、本発明は、他のプロセッサにおい
ても、同様に用いることができる。
もよいし、あるいは、図1に示すような別個の記憶装置
であってもよい。SMM15が別個の記憶装置である場
合、主記憶装置の対応するアドレス空間を、SMI以外
の目的に使用することができる。図2は、マイクロプロ
セッサ12の好ましい実施例における各サブ回路の詳細
なブロック図である。理解を容易にするために、マイク
ロプロセッサ12を、 Intel社の80X86ファミリー
のプロセッサに対してピンコンパチブルかつインストラ
クションコンパチブルなマイクロプロセッサに関連させ
て説明する。しかし、本発明は、他のプロセッサにおい
ても、同様に用いることができる。
【0022】マイクロプロセッサ12は、コア回路機構
36と、メモリ回路機構38と、バスコントローラ40
とからなる3個の主要な機能群を備えている。コア回路
機構36は、内部データバス44に接続する命令キュー
42を含んでいる。命令キュー42の出力端は、デコー
ド/シーケンス回路47のデコーダ46に接続してい
る。デコード/シーケンス回路47は、シーケンサ50
およびエクセプション・プロセッサ86も含んでいる。
デコーダ46は、マイクロコードROM48、エクセプ
ション・プロセッサ86およびシーケンサ50に接続し
ている。シーケンサ50は、また、マイクロコードRO
M48と実行ユニット52とに接続している。この実行
ユニットは、制限ユニット54、乗算器ユニット56、
加算器ユニット58、シフトユニット60、およびレジ
スタファイル62を含んでいる。実行ユニット52は、
マイクロコードROM48と、マルチプレクサ兼I/O
レジスタ回路機構64とに接続している。メモリ回路機
構38は、やはり実行ユニット52に接続する線形アド
レスバス68に結合するメモリ管理ユニット66と、命
令/データキャッシュメモリ70とを備えている。メモ
リ管理ユニット66は、さらに内部データバス44に接
続している。メモリ管理ユニット66とキャッシュ70
との間には、先取りユニット72が接続している。バス
コントローラ40は、データバッファ74と、アドレス
バッファ76と、制御回路機構78とを含んでいる。デ
ータバッファ74はデータI/OピンD31−D0に接
続しており、アドレスバッファ76はアドレスピンA3
1−A2およびBE3#−BE0#に接続している(こ
れは図示した386DXバス構造に対してであり、38
6SXバス構造ではアドレスピンA24−A1およびB
E〔1:0〕を含むことになる)。データアドレスバス
80は、メモリ管理ユニット66と、キャッシュ70
と、アドレスバッファ76とを接続している。命令アド
レスバス82は、先取りユニット72と、キャッシュ7
0と、アドレスバッファ76とを接続している。データ
バッファ74は、内部データバス44に接続している。
SMI(システム管理割込み)およびSMADS(シス
テム管理アドレス)ピンは、バス制御回路機構78に接
続している。
36と、メモリ回路機構38と、バスコントローラ40
とからなる3個の主要な機能群を備えている。コア回路
機構36は、内部データバス44に接続する命令キュー
42を含んでいる。命令キュー42の出力端は、デコー
ド/シーケンス回路47のデコーダ46に接続してい
る。デコード/シーケンス回路47は、シーケンサ50
およびエクセプション・プロセッサ86も含んでいる。
デコーダ46は、マイクロコードROM48、エクセプ
ション・プロセッサ86およびシーケンサ50に接続し
ている。シーケンサ50は、また、マイクロコードRO
M48と実行ユニット52とに接続している。この実行
ユニットは、制限ユニット54、乗算器ユニット56、
加算器ユニット58、シフトユニット60、およびレジ
スタファイル62を含んでいる。実行ユニット52は、
マイクロコードROM48と、マルチプレクサ兼I/O
レジスタ回路機構64とに接続している。メモリ回路機
構38は、やはり実行ユニット52に接続する線形アド
レスバス68に結合するメモリ管理ユニット66と、命
令/データキャッシュメモリ70とを備えている。メモ
リ管理ユニット66は、さらに内部データバス44に接
続している。メモリ管理ユニット66とキャッシュ70
との間には、先取りユニット72が接続している。バス
コントローラ40は、データバッファ74と、アドレス
バッファ76と、制御回路機構78とを含んでいる。デ
ータバッファ74はデータI/OピンD31−D0に接
続しており、アドレスバッファ76はアドレスピンA3
1−A2およびBE3#−BE0#に接続している(こ
れは図示した386DXバス構造に対してであり、38
6SXバス構造ではアドレスピンA24−A1およびB
E〔1:0〕を含むことになる)。データアドレスバス
80は、メモリ管理ユニット66と、キャッシュ70
と、アドレスバッファ76とを接続している。命令アド
レスバス82は、先取りユニット72と、キャッシュ7
0と、アドレスバッファ76とを接続している。データ
バッファ74は、内部データバス44に接続している。
SMI(システム管理割込み)およびSMADS(シス
テム管理アドレス)ピンは、バス制御回路機構78に接
続している。
【0023】好ましい実施例においては、クロックモデ
ュール84は、外部クロック信号(CLK2)を受けと
り、CLKA(バスコントローラ40に接続)と、CL
KB(メモリ回路機構38およびコア回路機構36に結
合)とを生成する。CLKAおよびCLKBはともに、
CLK2の2分の1の周波数のクロック信号である。ク
ロックモデュール84は、バスコントローラ40から制
御信号を受ける。この構造は、任意のプロセッサ動作の
中断に備えるためのものであり、1992年3月27日
出願の Robert Maher 他による米国特許出願 Ser- No.
07/858,579“Microprocessor with Hardware C
ontrolled Power Management" に関連してより詳細に記
述されており、これをここにおいて本願に一体のものと
する。
ュール84は、外部クロック信号(CLK2)を受けと
り、CLKA(バスコントローラ40に接続)と、CL
KB(メモリ回路機構38およびコア回路機構36に結
合)とを生成する。CLKAおよびCLKBはともに、
CLK2の2分の1の周波数のクロック信号である。ク
ロックモデュール84は、バスコントローラ40から制
御信号を受ける。この構造は、任意のプロセッサ動作の
中断に備えるためのものであり、1992年3月27日
出願の Robert Maher 他による米国特許出願 Ser- No.
07/858,579“Microprocessor with Hardware C
ontrolled Power Management" に関連してより詳細に記
述されており、これをここにおいて本願に一体のものと
する。
【0024】動作においては、命令は、メモリ管理ユニ
ット66の制御のもとに、外部記憶装置から、マイクロ
プロセッサ12によって受けとられる。よりよいパフォ
ーマンスのためには、命令/データ・キャッシュ70
が、バスコントローラ40を介して受けとった命令およ
びデータを保存する。各命令は、命令キューに格納さ
れ、それからデコード回路46によってマイクロコード
に変換される。シーケンサは、デコーダ46および実行
ユニット52の制御のもとに、マイクロコードROM4
8の次のアドレスをポイントする。実行ユニット52
は、マイクロコードROM48の制御のもとに、情報を
処理する。
ット66の制御のもとに、外部記憶装置から、マイクロ
プロセッサ12によって受けとられる。よりよいパフォ
ーマンスのためには、命令/データ・キャッシュ70
が、バスコントローラ40を介して受けとった命令およ
びデータを保存する。各命令は、命令キューに格納さ
れ、それからデコード回路46によってマイクロコード
に変換される。シーケンサは、デコーダ46および実行
ユニット52の制御のもとに、マイクロコードROM4
8の次のアドレスをポイントする。実行ユニット52
は、マイクロコードROM48の制御のもとに、情報を
処理する。
【0025】図2のマイクロプロセッサ12の、SMI
リクエストに関連する動作を、図3のフローチャートに
基づいて説明する。ブロック86において、SMIピン
がアクティブであることをサンプリングし、SMIサー
ビスルーチンに対するリクエストが示される。好ましい
実施例において、SMIピンにおける信号は、マイクロ
プロセッサ12によって有効なリクエストとして認識さ
れるためには、少なくとも4CLK2周期の間アクティ
ブでならなければならない。マイクロプロセッサ12
は、以下の場合にのみ、SMI割込み入力を認識する。
(1)AMI入力ピンがアクティブであるとサンプリン
グされる。(2)後に説明するSMMアクセスビットが
不能にされる。(3)プロセッサが、現在、SMIサー
ビスルーチンを実行していない。(4)SM4ビット
(表1)が、アドレス領域4をSMMメモリ空間として
定義するように設定される。(5)アドレス領域4の大
きさが定義される(不能にされない)。SMIサービス
ルーチンの実行中においては、SMIピンは、RSM命
令の実行まで、マイクロプロセッサ12によって“L”
にされる。したがって、現在のSMIサービスルーチン
が完了するまでは、外部ソースは、第2のSMIを生成
することができない。
リクエストに関連する動作を、図3のフローチャートに
基づいて説明する。ブロック86において、SMIピン
がアクティブであることをサンプリングし、SMIサー
ビスルーチンに対するリクエストが示される。好ましい
実施例において、SMIピンにおける信号は、マイクロ
プロセッサ12によって有効なリクエストとして認識さ
れるためには、少なくとも4CLK2周期の間アクティ
ブでならなければならない。マイクロプロセッサ12
は、以下の場合にのみ、SMI割込み入力を認識する。
(1)AMI入力ピンがアクティブであるとサンプリン
グされる。(2)後に説明するSMMアクセスビットが
不能にされる。(3)プロセッサが、現在、SMIサー
ビスルーチンを実行していない。(4)SM4ビット
(表1)が、アドレス領域4をSMMメモリ空間として
定義するように設定される。(5)アドレス領域4の大
きさが定義される(不能にされない)。SMIサービス
ルーチンの実行中においては、SMIピンは、RSM命
令の実行まで、マイクロプロセッサ12によって“L”
にされる。したがって、現在のSMIサービスルーチン
が完了するまでは、外部ソースは、第2のSMIを生成
することができない。
【0026】SMIハンドシェークのタイミングを図4
に示す。このハンドシェークに際して、5つの有意な事
象が起こる。“a”において、SMI#入力ピンがアク
ティブ(L)になる。“b”において、マイクロプロセ
ッサは、CLCKフェーズ1の上昇端においてSMI#
のアクティブをサンプリングする。“c”において、S
MI#アクティブをサンプリングした2CLK2後に、
マイクロプロセッサは、SMI#ピンを出力端に切り換
え、それを“L”にする。“d”において、マイクロプ
ロセッサは、RSM命令が実行されてSMIサービスル
ーチンの完了が示された後に、SMI#ピンを“H”に
する。“e”において、マイクロプロセッサは、SMI
#ピンを“L”に駆動するのをやめ、次のSMI割込み
にそなえるために、SMI#ピンを入力端に切り換え
る。このシステムは、このピンが出力に換わった後にお
いて、SMI#ピンを非活動レベルに維持するようにさ
れている。
に示す。このハンドシェークに際して、5つの有意な事
象が起こる。“a”において、SMI#入力ピンがアク
ティブ(L)になる。“b”において、マイクロプロセ
ッサは、CLCKフェーズ1の上昇端においてSMI#
のアクティブをサンプリングする。“c”において、S
MI#アクティブをサンプリングした2CLK2後に、
マイクロプロセッサは、SMI#ピンを出力端に切り換
え、それを“L”にする。“d”において、マイクロプ
ロセッサは、RSM命令が実行されてSMIサービスル
ーチンの完了が示された後に、SMI#ピンを“H”に
する。“e”において、マイクロプロセッサは、SMI
#ピンを“L”に駆動するのをやめ、次のSMI割込み
にそなえるために、SMI#ピンを入力端に切り換え
る。このシステムは、このピンが出力に換わった後にお
いて、SMI#ピンを非活動レベルに維持するようにさ
れている。
【0027】このマイクロプロセッサは、図5のタイミ
ング図に関連して説明されるI/O周辺装置の電源管理
を容易にするために用いることのできるSMI I/O
トラップ機構を備えている。I/Oバスサイクルが発せ
られると、I/Oアドレスがアドレスバス上にもたらさ
れる。このアドレスは、外部論理素子によって復号する
ことができる。SMIハンドラに対するトラップが必要
な場合は、このI/OサイクルのREADY#入力に戻
るすくなくとも3CLK2エッジ以前に、SMI#入力
をアクティブにしなければならない。マイクロプロセッ
サは、I/O命令の実行に続いてSMI割込みハンドラ
に直ちにトラップし、I/O命令の完了と、SMIサー
ビスルーチンの入るのとの間においては、他の命令が実
行されることはない。I/Oトラップ機構は、双対プロ
セッサのアクセス中はアクティブではない。SMADS
#ファンクショナル・タイミング、出力遅延時間および
フロート遅延時間は、主メモリ・アドレスストローブ
(ADS#)タイミングと同一である。SMI#入力セ
ットアップおよびホールド時間は、NMIおよびINT
R入力のタイミングと同一である。SMI#出力フロー
ト遅延時間は、アドレスバス出力のタイミングと同一で
ある。
ング図に関連して説明されるI/O周辺装置の電源管理
を容易にするために用いることのできるSMI I/O
トラップ機構を備えている。I/Oバスサイクルが発せ
られると、I/Oアドレスがアドレスバス上にもたらさ
れる。このアドレスは、外部論理素子によって復号する
ことができる。SMIハンドラに対するトラップが必要
な場合は、このI/OサイクルのREADY#入力に戻
るすくなくとも3CLK2エッジ以前に、SMI#入力
をアクティブにしなければならない。マイクロプロセッ
サは、I/O命令の実行に続いてSMI割込みハンドラ
に直ちにトラップし、I/O命令の完了と、SMIサー
ビスルーチンの入るのとの間においては、他の命令が実
行されることはない。I/Oトラップ機構は、双対プロ
セッサのアクセス中はアクティブではない。SMADS
#ファンクショナル・タイミング、出力遅延時間および
フロート遅延時間は、主メモリ・アドレスストローブ
(ADS#)タイミングと同一である。SMI#入力セ
ットアップおよびホールド時間は、NMIおよびINT
R入力のタイミングと同一である。SMI#出力フロー
ト遅延時間は、アドレスバス出力のタイミングと同一で
ある。
【0028】再び図3において、マイクロプロセッサ1
2は、有効なSMIリクエストを受けとると、ブロック
88において、SMIピンを“L”に駆動する。このサ
ービスルーチン中には、マイクロプロセッサ12からの
SMADS出力がアクティベート(“L”に保持)され
て、現在のバスサイクルがSMMアクセスであること
と、SMMアドレスがCPUアドレスバス上にあること
(386DXバス構造についてはA31−A2およびB
E〔3:0〕、または386SXバス構造についてはA
23−A1およびBE〔1:0〕)とを示す。
2は、有効なSMIリクエストを受けとると、ブロック
88において、SMIピンを“L”に駆動する。このサ
ービスルーチン中には、マイクロプロセッサ12からの
SMADS出力がアクティベート(“L”に保持)され
て、現在のバスサイクルがSMMアクセスであること
と、SMMアドレスがCPUアドレスバス上にあること
(386DXバス構造についてはA31−A2およびB
E〔3:0〕、または386SXバス構造についてはA
23−A1およびBE〔1:0〕)とを示す。
【0029】SMI入力の下降端を検出すると、マイク
ロプロセッサ12は、ブロック90においてプログラム
されたアドレス空間(以下において表1に関連して説明
される)にSMMをマップし、現在および以前の命令ポ
インタ(EIP)、CR0レジスタ、EFLAGレジス
タ、DR7、コードセグメント(CS)およびCS記述
子キャッシュ値現在命令REP接頭標識(P)、読みだ
し/書き込みストリング命令標識(I)、およびESI
(ソースメモリ)またはEDI(先行メモリ)を、ブロ
ック92において、自動的に退避させる。上述の各値
は、図6に示すプログラムされたSMMアドレス空間の
トップに格納される。これらのレジスタ値は、SMIサ
ービスルーチンへのエントリに際してマイクロプロセッ
サ12がこれらの値を常に変更することから、SMIサ
ービスルーチンが開始されると、自動的に退避される。
CR0、EFLAGSおよびDR7は、それらのリセッ
ト値に設定され、CSレジスタは、ベースアドレスおよ
び以下で説明するSMMコンフィギュレーションレジス
タによって定義される範囲でロードされる。
ロプロセッサ12は、ブロック90においてプログラム
されたアドレス空間(以下において表1に関連して説明
される)にSMMをマップし、現在および以前の命令ポ
インタ(EIP)、CR0レジスタ、EFLAGレジス
タ、DR7、コードセグメント(CS)およびCS記述
子キャッシュ値現在命令REP接頭標識(P)、読みだ
し/書き込みストリング命令標識(I)、およびESI
(ソースメモリ)またはEDI(先行メモリ)を、ブロ
ック92において、自動的に退避させる。上述の各値
は、図6に示すプログラムされたSMMアドレス空間の
トップに格納される。これらのレジスタ値は、SMIサ
ービスルーチンへのエントリに際してマイクロプロセッ
サ12がこれらの値を常に変更することから、SMIサ
ービスルーチンが開始されると、自動的に退避される。
CR0、EFLAGSおよびDR7は、それらのリセッ
ト値に設定され、CSレジスタは、ベースアドレスおよ
び以下で説明するSMMコンフィギュレーションレジス
タによって定義される範囲でロードされる。
【0030】プロセッサ状態情報の一部はブロック92
においてSMMアドレス域のトップに格納されるが、マ
イクロプロセッサ12の完全な内部状態は、通常のMO
V命令および386および486命令セットへの改良で
あるところのSVDC、SVLDTおよびSVTS命令
の実行を介して、SMMに退避させることができる。S
VDC、SVLDTおよびSVTS命令は、セグメント
レジスタ、局部記述語テーブル、およびタスク状態をそ
れぞれ格納するため、また、MOVコマンドを用いるプ
ログラマにはアクセス可能でない80ビット記憶場所に
おけるこれらに関連する記述語キャッシュの内容を格納
するために用いられる。退避命令のフォーマットは、以
下の通りである。
においてSMMアドレス域のトップに格納されるが、マ
イクロプロセッサ12の完全な内部状態は、通常のMO
V命令および386および486命令セットへの改良で
あるところのSVDC、SVLDTおよびSVTS命令
の実行を介して、SMMに退避させることができる。S
VDC、SVLDTおよびSVTS命令は、セグメント
レジスタ、局部記述語テーブル、およびタスク状態をそ
れぞれ格納するため、また、MOVコマンドを用いるプ
ログラマにはアクセス可能でない80ビット記憶場所に
おけるこれらに関連する記述語キャッシュの内容を格納
するために用いられる。退避命令のフォーマットは、以
下の通りである。
【0031】SVDC mem 80, Reg SVLDT mem 80 SVTS mem 80 ここで、“mem 80" は、レジスタ値が退避されることろ
の80ビット記憶場所を指す。“Reg"は、どのレジスタ
を退避させるか(DS,ES,FS,GS,SSまたは
CS)を特定する。
の80ビット記憶場所を指す。“Reg"は、どのレジスタ
を退避させるか(DS,ES,FS,GS,SSまたは
CS)を特定する。
【0032】SVDC,SVLDTおよびSVTS命令
は、SMI割り込みの開始とSMIサービスルーチンの
実行の始まりとの間における遅延に対するプログラマの
より広範な制御を可能にしている。好ましい実施例にお
いては、マイクロプロセッサ12はスタティックデバイ
スであるため、クロック入力が停止してもマイクロプロ
セッサの状態が内部的に保持されることから、マイクロ
プロセッサの全状態を退避することは多くの場合は必要
ない、しかし、システムデザイナが、CPU電源を完全
にとめることを意図する場合、実行し残したところから
動作を再開するためには、全CPU状態が必要とされ
る。
は、SMI割り込みの開始とSMIサービスルーチンの
実行の始まりとの間における遅延に対するプログラマの
より広範な制御を可能にしている。好ましい実施例にお
いては、マイクロプロセッサ12はスタティックデバイ
スであるため、クロック入力が停止してもマイクロプロ
セッサの状態が内部的に保持されることから、マイクロ
プロセッサの全状態を退避することは多くの場合は必要
ない、しかし、システムデザイナが、CPU電源を完全
にとめることを意図する場合、実行し残したところから
動作を再開するためには、全CPU状態が必要とされ
る。
【0033】ブロック94において、マイクロプロセッ
サは、SMIサービスルーチンを実モードで開始する。
プログラマは、このサービスルーチンに用いられるすべ
てのレジスタの値を退避しなければならない。SMIエ
ントリ直後のデータアクセスのために、プログラマは、
CSをセグメントオーバライドとして用いなければなら
ない。ルーチンの開始においてはI/Oポートアクセス
が可能であるが、プログラマは、I/O命令によって変
更されたレジスタ退避するようにしなければならない。
セグメントレジスタをもちいるために、そのレジスタお
よびそのレジスタの記述子キャッシュ内容を、SVDC
命令をもちいて退避させることができる。サービスルー
チンの実行が一旦始まると、メモリおよびI/Oアクセ
スが起こり得る。定義されたSMMメモリ空間外の記憶
場所へのデータアクセスは、SMMDS#ではなくAD
S#をアクティブにすることで発せられる。SMMメモ
リへのアクセスは、自動的に保存されないようになって
いる。プロセッサは、必要に応じて実モードから保護モ
ードに変わることができ、実または保護モードデバイス
ドライバを呼び出すことができる。
サは、SMIサービスルーチンを実モードで開始する。
プログラマは、このサービスルーチンに用いられるすべ
てのレジスタの値を退避しなければならない。SMIエ
ントリ直後のデータアクセスのために、プログラマは、
CSをセグメントオーバライドとして用いなければなら
ない。ルーチンの開始においてはI/Oポートアクセス
が可能であるが、プログラマは、I/O命令によって変
更されたレジスタ退避するようにしなければならない。
セグメントレジスタをもちいるために、そのレジスタお
よびそのレジスタの記述子キャッシュ内容を、SVDC
命令をもちいて退避させることができる。サービスルー
チンの実行が一旦始まると、メモリおよびI/Oアクセ
スが起こり得る。定義されたSMMメモリ空間外の記憶
場所へのデータアクセスは、SMMDS#ではなくAD
S#をアクティブにすることで発せられる。SMMメモ
リへのアクセスは、自動的に保存されないようになって
いる。プロセッサは、必要に応じて実モードから保護モ
ードに変わることができ、実または保護モードデバイス
ドライバを呼び出すことができる。
【0034】ブロック94におけるSMIサービスルー
チンの実行の後、MOV、SVDC、SVLDC、SV
LDTおよびSVTS命令をもちいて退避された(ブロ
ック92)各レジスタ値は、MOV、RSDC、RSL
DTおよびRSTS命令をもちいてそれぞれ復元され
る。RSDC、RSLDTおよびRSTS命令は、セグ
メントレジスタ、LDT(局部記述子テーブル)および
TS(タスク状態)をそれぞれ再ローディングし、ま
た、SVDC、SVLDTおよびSVTS命令をもちい
て退避された関連する記述子キャッシュ値を再ローディ
ングすることを可能にするために設けられている。復元
命令のフォーマットは、以下の通りである。
チンの実行の後、MOV、SVDC、SVLDC、SV
LDTおよびSVTS命令をもちいて退避された(ブロ
ック92)各レジスタ値は、MOV、RSDC、RSL
DTおよびRSTS命令をもちいてそれぞれ復元され
る。RSDC、RSLDTおよびRSTS命令は、セグ
メントレジスタ、LDT(局部記述子テーブル)および
TS(タスク状態)をそれぞれ再ローディングし、ま
た、SVDC、SVLDTおよびSVTS命令をもちい
て退避された関連する記述子キャッシュ値を再ローディ
ングすることを可能にするために設けられている。復元
命令のフォーマットは、以下の通りである。
【0035】RSDC Reg, mem 80 RSLDT, mem 80 RSTS, mem 80 ここで、Reg および mem 80 は、SVDC,SVLDT
およびSVTS命令に関連して上述した選択されたレジ
スタおよび80ビット記憶場所である。ブロック98に
おいて、SMIサービスルーチンは、RSM命令によっ
て終了する。RSM命令を受けとると、SMI入力に応
答して自動的に退避された各値、すなわち、EIP,C
ROレジスタ、EFLAGSレジスタ、DR7,CS,
CS記述子キャッシュ値現在命令REP接頭標識
(P)、読出し/書込みストリング命令標識(J)、お
よびESIまたはEDIレジスタが復元され、ブロック
100において通常の実行処理が再開される。
およびSVTS命令に関連して上述した選択されたレジ
スタおよび80ビット記憶場所である。ブロック98に
おいて、SMIサービスルーチンは、RSM命令によっ
て終了する。RSM命令を受けとると、SMI入力に応
答して自動的に退避された各値、すなわち、EIP,C
ROレジスタ、EFLAGSレジスタ、DR7,CS,
CS記述子キャッシュ値現在命令REP接頭標識
(P)、読出し/書込みストリング命令標識(J)、お
よびESIまたはEDIレジスタが復元され、ブロック
100において通常の実行処理が再開される。
【0036】マイクロプロセッサ12の重要な特徴の1
つは、SMMのベースアドレスおよびSMMブロックサ
イズをプログラム可能に選択する機能にある。マイクロ
プロセッサ12は、マイクロプロセッサ12のコンフィ
ギュレーションデータを格納するために、複数のコンフ
ィギュレーションレジスタを備えている。コンフィギュ
レーションレジスタは、システム管理機能について、以
下のものを備えている。(1)システム管理メモリアド
レス空間を定義するためにもちいられるシステム管理メ
モリベースアドレスおよびSMMブロックサイズセレク
ション。(2)一般に初期化およびテストの目的でSM
Iを実行することなしにSMMへのアクセスを可能にす
るためにもちいられるシステム管理メモリアクセスビッ
ト。(3)SMIおよびSMADSピンを使用可能にす
るためにもちいられるSMIイネーブルビット。(4)
SMIサービスルーチンがアクティブな間またはSMM
アドレス空間がSMACC制御ビットを介して使用可能
にされている場合に、SMMと同じアドレスを使用する
主記憶装置へのそしてそこからのデータの転送を可能に
するためにもちいられる主記憶装置アクセスビット。
つは、SMMのベースアドレスおよびSMMブロックサ
イズをプログラム可能に選択する機能にある。マイクロ
プロセッサ12は、マイクロプロセッサ12のコンフィ
ギュレーションデータを格納するために、複数のコンフ
ィギュレーションレジスタを備えている。コンフィギュ
レーションレジスタは、システム管理機能について、以
下のものを備えている。(1)システム管理メモリアド
レス空間を定義するためにもちいられるシステム管理メ
モリベースアドレスおよびSMMブロックサイズセレク
ション。(2)一般に初期化およびテストの目的でSM
Iを実行することなしにSMMへのアクセスを可能にす
るためにもちいられるシステム管理メモリアクセスビッ
ト。(3)SMIおよびSMADSピンを使用可能にす
るためにもちいられるSMIイネーブルビット。(4)
SMIサービスルーチンがアクティブな間またはSMM
アドレス空間がSMACC制御ビットを介して使用可能
にされている場合に、SMMと同じアドレスを使用する
主記憶装置へのそしてそこからのデータの転送を可能に
するためにもちいられる主記憶装置アクセスビット。
【0037】表1は、SMI動作の制御に関連するレジ
スタに格納されるコンフィギュレーションデータを、記
述するものである。ここで、レジスタ標識とは、図7に
ついて以下で説明するレジスタファイルにおけるレジス
タのアドレスを指す。
スタに格納されるコンフィギュレーションデータを、記
述するものである。ここで、レジスタ標識とは、図7に
ついて以下で説明するレジスタファイルにおけるレジス
タのアドレスを指す。
【0038】
【表1】 レジスタレジスタ名 指標 ビット 記 述 コンフィギュ C1h 7 SM4 :If=0, アドレス領域4は保存不 レーション 可能領域を定義する。If=1、アドレス 制御レジスタ1 領域4はシステム管理メモリアドレス (CCR1) 領域を定義する。リセット状態=0。 6 WP3 :If=0, アドレス領域3は保存不 可能領域を定義する。If=1、アドレス 領域3は保存可能なしかし書き込み禁 止されたアドレス領域を定義する。リ セット状態=0。 5 WP2 :If=0, アドレス領域2は保存不 可能領域を定義する。If=1、アドレス 領域2は保存可能なしかし書き込み禁 止されたアドレス領域を定義する。リ セット状態=0。 4 WP1 :If=0, アドレス領域1は保存不 可能領域を定義する。If=1、アドレス 領域1は保存可能なしかし書き込み禁 止されたアドレス領域を定義する。リ セット状態=0。 3 MMACC :If=1, SMI サービスルーチン 内またはSMACC ビットが設定されてい る間に生じたすべてのデータアクセス はSMメモリではなく主メモリにアクセ スする。リセット状態=0。 2 SMACC :If=1, システム管理メモリ領 域が使用可能にされ、定義されたシス テム管理メモリ領域内へのすべてのア クセスがSMADS#出力をアクティブにし て外部パスサイクルを発行させる。リ セット状態=0。 1 SMIEN :If=1, SMI#およびSMADS#ピン を使用可能にする。使用可能で無い場 合、SMI#は認識されず、SMADS#はフロ ートする。リセット状態=0。 0 RPL :If=1, 出力ピンRPLSETおよびRP LVAL# を使用可能にする。リセット状 状態=0。 アドレス領域4 CDh 7-0 領域4開始アドレスのアドレスビット A31-A24 。リセット状態=OOh 。 CEh 7-0 領域4開始アドレスのアドレスビット A23-A16 。リセット状態=OOh 。 CFh 7-4 領域4開始アドレスのアドレスビット A15-A12 。リセット状態=Oh。 3-0 領域4ブロックサイズ: 0000=使用禁止 0001=4 KBytes 0010=6 KBytes 0011=16 KBytes 0100=32 KBytes 0101=64 KBytes 0110=128 KBytes 0111=256 KBytes 1000=512 KBytes 1001=1 MByte 1010=2 MBytes 1011=4 MBytes 1100=8 MBytes 1101=16 MBytes 1110=32 MBytes 1111=予備 リセット状態=0h
【0039】コンフィギュレーション制御レジスタ1の
ビット7は、“アドレス領域4”がシステム管理メモリ
アドレス領域を定義するかどうかを指定する。このビッ
トが“1”に設定されると、アドレス領域4がSMMア
ドレス領域を定義する。アドレス領域のアドレス空間の
各境界は、指標CDH−CFHを有するアドレス領域4
の各レジスタに関連してさらに定義されている。レジス
タSDHは領域4のアドレスビットA31−A24を指
定し、レジスタCEHは領域4開始アドレスのアドレス
ビットA23−A16を指定し、レジスタCFHのビッ
ト7−4はアドレス領域4の開始アドレスのアドレスビ
ットA15−A12を指定する。レジスタ指標CFHの
ビット3−0は、表1で指定されるようにブロックサイ
ズを指定する。
ビット7は、“アドレス領域4”がシステム管理メモリ
アドレス領域を定義するかどうかを指定する。このビッ
トが“1”に設定されると、アドレス領域4がSMMア
ドレス領域を定義する。アドレス領域のアドレス空間の
各境界は、指標CDH−CFHを有するアドレス領域4
の各レジスタに関連してさらに定義されている。レジス
タSDHは領域4のアドレスビットA31−A24を指
定し、レジスタCEHは領域4開始アドレスのアドレス
ビットA23−A16を指定し、レジスタCFHのビッ
ト7−4はアドレス領域4の開始アドレスのアドレスビ
ットA15−A12を指定する。レジスタ指標CFHの
ビット3−0は、表1で指定されるようにブロックサイ
ズを指定する。
【0040】例えば、アドレス100000Hにおいて
開始される128 kbyte SMMを定義することをシス
テムデザイナが欲した場合、レジスタCDHは2進値
“00000000”を格納し、レジスタCEHは値
“00010000”を格納し、レジスタCFHはビッ
ト7−4に値“0000”およびビット3−0に値“0
110”を格納することになる。レジスタC1Hのビッ
ト7は、“1”に設定されることになる。
開始される128 kbyte SMMを定義することをシス
テムデザイナが欲した場合、レジスタCDHは2進値
“00000000”を格納し、レジスタCEHは値
“00010000”を格納し、レジスタCFHはビッ
ト7−4に値“0000”およびビット3−0に値“0
110”を格納することになる。レジスタC1Hのビッ
ト7は、“1”に設定されることになる。
【0041】本発明のこの一面は、必要に応じてSMM
を望ましい開始場所およびブロックサイズに構成する柔
軟性を、システムデザイナに与えている。コンフィギュ
レーション制御レジスタ1(C1H)は、SMIサービ
スルーチンの動作に影響をあたえる3つの付加ビットを
備えている。コンフィギュレーション制御レジスタ1の
ビット3は、MMACC(主メモリアクセス)ビットで
ある。MMACCビットが1に設定されている間、SM
Iサービスルーチン内で生じるかまたはSMACCビッ
ト設定されている間のすべてのデータアクセスは、SM
Mではなく主記憶装置にアクセスする(コードフェッチ
はSMMにアクセスし続ける)。SMACC(システム
メモリアクセス)ビット(コンフィギュレーション制御
レジスタ1のビット2)は、“1”に設定された場合
に、SMMアドレス空間を使用可能にする。これが使用
可能の間、定義されたSMMアドレス空間内のアドレス
へのすべてのアクセス(データまたはコードフェッチ)
は、SMADS出力をアクティブにして外部バスサイク
ルを発行させる。コンフィギュレーション制御レジスタ
1のビット1は、SMIEN(SMIイネーブル)ビッ
トである。SMIENビットが“1”に設定されている
場合、SMIおよびSMADSピンが使用可能となる。
SMIENが“0”に設定されている場合、SMIおよ
びSMADSピンはプロセッサ回路機構から切断され、
すなわち、SMI入力は認識されず、SMADS出力は
フロートする。本発明のこの一面を以下においてより詳
細に説明する。
を望ましい開始場所およびブロックサイズに構成する柔
軟性を、システムデザイナに与えている。コンフィギュ
レーション制御レジスタ1(C1H)は、SMIサービ
スルーチンの動作に影響をあたえる3つの付加ビットを
備えている。コンフィギュレーション制御レジスタ1の
ビット3は、MMACC(主メモリアクセス)ビットで
ある。MMACCビットが1に設定されている間、SM
Iサービスルーチン内で生じるかまたはSMACCビッ
ト設定されている間のすべてのデータアクセスは、SM
Mではなく主記憶装置にアクセスする(コードフェッチ
はSMMにアクセスし続ける)。SMACC(システム
メモリアクセス)ビット(コンフィギュレーション制御
レジスタ1のビット2)は、“1”に設定された場合
に、SMMアドレス空間を使用可能にする。これが使用
可能の間、定義されたSMMアドレス空間内のアドレス
へのすべてのアクセス(データまたはコードフェッチ)
は、SMADS出力をアクティブにして外部バスサイク
ルを発行させる。コンフィギュレーション制御レジスタ
1のビット1は、SMIEN(SMIイネーブル)ビッ
トである。SMIENビットが“1”に設定されている
場合、SMIおよびSMADSピンが使用可能となる。
SMIENが“0”に設定されている場合、SMIおよ
びSMADSピンはプロセッサ回路機構から切断され、
すなわち、SMI入力は認識されず、SMADS出力は
フロートする。本発明のこの一面を以下においてより詳
細に説明する。
【0042】図7は、表1において説明したコンフィギ
ュレーションデータを格納するためのレジスタファイル
を、そのレジスタファイルの読みだしおよび書き込みの
ための回路機構と合わせて示す図である。レジスタファ
イル102は、指標レジスタ104およびデータレジス
タ106に接続している。指標およびデータレジスタ
は、内部データバス44にも接続している。内部データ
バス44は、内部アドレスバス80および82とともに
バスコントローラ40に接続している。レジスタファイ
ル102からの出力、すなわち、SMIEN信号は、ト
ライステートデバイス108および110の制御入力に
接続している。トライステートデバイス108は、バス
コントローラとSMADSピンとの間に接続されてい
る。双方向トライステートデバイス110は、バスコン
トローラとSMIピンとの間に接続されている。
ュレーションデータを格納するためのレジスタファイル
を、そのレジスタファイルの読みだしおよび書き込みの
ための回路機構と合わせて示す図である。レジスタファ
イル102は、指標レジスタ104およびデータレジス
タ106に接続している。指標およびデータレジスタ
は、内部データバス44にも接続している。内部データ
バス44は、内部アドレスバス80および82とともに
バスコントローラ40に接続している。レジスタファイ
ル102からの出力、すなわち、SMIEN信号は、ト
ライステートデバイス108および110の制御入力に
接続している。トライステートデバイス108は、バス
コントローラとSMADSピンとの間に接続されてい
る。双方向トライステートデバイス110は、バスコン
トローラとSMIピンとの間に接続されている。
【0043】動作において、SMIEN信号は、SMI
ENビット、すなわち、レジスタファイル102のレジ
スタC1のビット1に対応する。SMIENビットが
“1”に等しい場合、トライステートデバイス108−
110は使用可能となり、そうでない場合は、SMIお
よびSMADSピンが使用不能となる。80386DX
および80386SXピンアウトを含む多くのプロセッ
サピンアウトがチップパッケージ上の利用可能なピンの
すべてを利用するのではないことから、チップパッケー
ジのピンアウトを変更することなしにマイクロプロセッ
サチップ上にSMIおよびSMADSピンを設けて、既
存の技術との互換性を維持することができる。しかし、
好ましい実施例においては、これらのピンをSMIEN
ビットによって使用不能にして、既存のシステムデザイ
ンとの互換性を確保することができる。好ましい実施例
においては、SMIおよびSMADSピンは、マイクロ
プロセッサの起動に際して最初は不能とされ、望ましい
場合には、BIOS16をそのスタートアップルーチン
においてこれらのピンを使用可能にするように構成しな
ければならない。
ENビット、すなわち、レジスタファイル102のレジ
スタC1のビット1に対応する。SMIENビットが
“1”に等しい場合、トライステートデバイス108−
110は使用可能となり、そうでない場合は、SMIお
よびSMADSピンが使用不能となる。80386DX
および80386SXピンアウトを含む多くのプロセッ
サピンアウトがチップパッケージ上の利用可能なピンの
すべてを利用するのではないことから、チップパッケー
ジのピンアウトを変更することなしにマイクロプロセッ
サチップ上にSMIおよびSMADSピンを設けて、既
存の技術との互換性を維持することができる。しかし、
好ましい実施例においては、これらのピンをSMIEN
ビットによって使用不能にして、既存のシステムデザイ
ンとの互換性を確保することができる。好ましい実施例
においては、SMIおよびSMADSピンは、マイクロ
プロセッサの起動に際して最初は不能とされ、望ましい
場合には、BIOS16をそのスタートアップルーチン
においてこれらのピンを使用可能にするように構成しな
ければならない。
【0044】レジスタファイル102のレジスタへのア
クセスは、レジスタのアドレス(指標という)をI/O
ポート22Hに書き込むことによって達成される。I/
Oポート23Hは、このレジスタからデータを読みだ
し、または、そこにデータを書き込むために用いられ
る。I/Oポート23Hの各動作には、I/Oポート2
2Hの動作が先行することが必要であり、そうでない場
合は、第2および後のI/Oポート23の動作は、チッ
プの外に向けられる。
クセスは、レジスタのアドレス(指標という)をI/O
ポート22Hに書き込むことによって達成される。I/
Oポート23Hは、このレジスタからデータを読みだ
し、または、そこにデータを書き込むために用いられ
る。I/Oポート23Hの各動作には、I/Oポート2
2Hの動作が先行することが必要であり、そうでない場
合は、第2および後のI/Oポート23の動作は、チッ
プの外に向けられる。
【0045】例えば、値“00000110”をレジス
タCFHに書き込むためには、16進値“CF”がI/
Oポート22Hに書き込まれることになる。この動作に
続いて、2進値“00000110”がI/Oポート2
3Hに書き込まれる。本発明は、従来のシステム管理技
術よりも著しく優れたものである。SMMの開始アドレ
スおよびブロックサイズをプログラム可能に構成するこ
とができることから、メモリリソースを無駄にせず、ま
た、他のシステムファンクションまたはアプリケーショ
ンプログラムを妨害しないようにマイクロプロセッサの
アドレス空間に設けることのできる任意のSMMアドレ
ス空間を定義することができる。
タCFHに書き込むためには、16進値“CF”がI/
Oポート22Hに書き込まれることになる。この動作に
続いて、2進値“00000110”がI/Oポート2
3Hに書き込まれる。本発明は、従来のシステム管理技
術よりも著しく優れたものである。SMMの開始アドレ
スおよびブロックサイズをプログラム可能に構成するこ
とができることから、メモリリソースを無駄にせず、ま
た、他のシステムファンクションまたはアプリケーショ
ンプログラムを妨害しないようにマイクロプロセッサの
アドレス空間に設けることのできる任意のSMMアドレ
ス空間を定義することができる。
【0046】また、SMIサービスルーチンリクエスト
の開始に際して、本発明においては、SMIサービスル
ーチンの開始にしたがって常に影響を受けるプロセッサ
状態情報のみを自動的に格納する。このSMIサービス
ルーチン中に影響を受けないかもしれない他のプロセッ
サ状態情報は、改良された命令をもちいてプログラマに
よって選択的に退避される。したがって、SMIサービ
スルーチン中に影響を受けない情報は、格納されるとは
限らず、これによって、SMIサービスルーチンを行う
際の時間的オーバヘッドが削減される。
の開始に際して、本発明においては、SMIサービスル
ーチンの開始にしたがって常に影響を受けるプロセッサ
状態情報のみを自動的に格納する。このSMIサービス
ルーチン中に影響を受けないかもしれない他のプロセッ
サ状態情報は、改良された命令をもちいてプログラマに
よって選択的に退避される。したがって、SMIサービ
スルーチン中に影響を受けない情報は、格納されるとは
限らず、これによって、SMIサービスルーチンを行う
際の時間的オーバヘッドが削減される。
【0047】従来のシステム管理技法にない付加的なS
MI機能をもたらすために、本発明の他の態様にしたが
って、マイクロプロセッサ12(図1)は、NMI E
NABLE,SMI LOCK,I/O Trap Buffer
およびSMINTを設定するための付加的な機構を実装
している。SMI機能を向上する付加的な制御機構を設
定するために、マイクロプロセッサ12は、付加のコン
フィギュレーション制御レジスタCCR3を含んでい
る。CCR3は、(a)NMI ENABLEおよび
(a)SMI LOCKをプログラム可能に選択するた
めに用いることができる。CCR3のビット割り当てを
表2に示す。
MI機能をもたらすために、本発明の他の態様にしたが
って、マイクロプロセッサ12(図1)は、NMI E
NABLE,SMI LOCK,I/O Trap Buffer
およびSMINTを設定するための付加的な機構を実装
している。SMI機能を向上する付加的な制御機構を設
定するために、マイクロプロセッサ12は、付加のコン
フィギュレーション制御レジスタCCR3を含んでい
る。CCR3は、(a)NMI ENABLEおよび
(a)SMI LOCKをプログラム可能に選択するた
めに用いることができる。CCR3のビット割り当てを
表2に示す。
【0048】
【表2】ビット キャッシュコンフィギュレーションレジスタCCR3:記述 7:2 予備 1 NMI ENABLE:If=1,NMIは認識されシステム管理 モード動作中において処理される。If=0,NMIはSMM中に おいてマスクされる。パワーオンリセット状態=0。 0 SMI LOCK:If=1,SMM制御ビットはロックされる。 制御レジスタCCR1のビット1:3,7の値、またはレジスタC CR13,CCR14およびCCR15の値、またはコンフィギュ レーションレジスタCCR3のビット0および1を変更することは 不可能ではない。デバイスがSMI割り込みルーチンを実行してい て、したがってSMIハンドラのみがSMM制御情報を変更できる ようにされた場合に、このロックは不能にされる。このロックは、 RSM命令が実行されると何時でも再び可能にされる。このロック はデバイスがパワーオフされるまで設定されたままであり、一旦設 定されるとロックをリセットすることはできない。パワーオンリセ ット状態=0。
【0049】NMI ENABLE このプログラム可
能なNMI可能機構は、SMMにおいて(すなわち、S
MMルーチンがアクティブな間に)、NMI事象を処理
することを可能にしている。すなわち、NMIを、この
実施例においてはコンフィギュレーション制御レジスタ
CCR3のビット1であるNMI ENABLEビット
の利用を通じて可能とすることができる。このビット
は、SMMルーチンがアクティブな間のみ、NMIに影
響し、そうでない場合は、この制御ビットの状態は、N
MI事象の処理にいかなる影響も与えない。パワーオン
リセットにおいて、NMI ENABLEビットは
“0”(不能)に設定される。
能なNMI可能機構は、SMMにおいて(すなわち、S
MMルーチンがアクティブな間に)、NMI事象を処理
することを可能にしている。すなわち、NMIを、この
実施例においてはコンフィギュレーション制御レジスタ
CCR3のビット1であるNMI ENABLEビット
の利用を通じて可能とすることができる。このビット
は、SMMルーチンがアクティブな間のみ、NMIに影
響し、そうでない場合は、この制御ビットの状態は、N
MI事象の処理にいかなる影響も与えない。パワーオン
リセットにおいて、NMI ENABLEビットは
“0”(不能)に設定される。
【0050】SMMに入る以前にNMI ENABLE
が設定された場合、NMI事象は、どのようなSMMア
クティビティーとも無関係に直ちに処理される。NMI
ENABLEが設定されていない場合、マイクロプロ
セッサがSMMルーチンのマイクロコードを実行し始め
ると、NMIは処理されることが不可能になる。この例
のマイクロプロセッサは、SMIルーチンの実行中にお
いて1つのNMI事象を格納することができるが、この
事象は、RSM命令が実行されるかまたはNMI EN
ABLE制御ビットが設定されるまでは処理されない。
が設定された場合、NMI事象は、どのようなSMMア
クティビティーとも無関係に直ちに処理される。NMI
ENABLEが設定されていない場合、マイクロプロ
セッサがSMMルーチンのマイクロコードを実行し始め
ると、NMIは処理されることが不可能になる。この例
のマイクロプロセッサは、SMIルーチンの実行中にお
いて1つのNMI事象を格納することができるが、この
事象は、RSM命令が実行されるかまたはNMI EN
ABLE制御ビットが設定されるまでは処理されない。
【0051】SMI LOCK プログラム可能なSM
I LOCK機構は、プログラマがSMM制御情報への
アクセスをロックすることを可能にしている。CCR3
のSMI LOCKビットが設定されると、SMM制御
情報は非SMM動作による後の変更からロックされる。
すなわち、SMI LOCKは、以下のSMMコンフィ
ギュレーション制御値への変更を防ぐ。(a)CRR1
ビット1:3,7,すなわち、SMIイネーブル(SM
IEN),SMMメモリアクセス(SMACC)、主メ
モリアクセス(MMACC)およびSMMアドレス領域
(SM4);(b)SMMアドレス空間を定義するレジ
スタ;(c)CCR3ビット1,すなわち、SMI L
OCK。したがって、SMI LOCKが設定されてい
ると、非SMMアクティビティーは、SMM空間にアク
セスすることも、SMI LOCKビットを変更するこ
ともできない。
I LOCK機構は、プログラマがSMM制御情報への
アクセスをロックすることを可能にしている。CCR3
のSMI LOCKビットが設定されると、SMM制御
情報は非SMM動作による後の変更からロックされる。
すなわち、SMI LOCKは、以下のSMMコンフィ
ギュレーション制御値への変更を防ぐ。(a)CRR1
ビット1:3,7,すなわち、SMIイネーブル(SM
IEN),SMMメモリアクセス(SMACC)、主メ
モリアクセス(MMACC)およびSMMアドレス領域
(SM4);(b)SMMアドレス空間を定義するレジ
スタ;(c)CCR3ビット1,すなわち、SMI L
OCK。したがって、SMI LOCKが設定されてい
ると、非SMMアクティビティーは、SMM空間にアク
セスすることも、SMI LOCKビットを変更するこ
ともできない。
【0052】一旦設定されると、SMI LOCKは、
マイクロプロセッサがパワーダウンされるまでアクティ
ブなままであり、一旦設定されたロックがCCR3への
書き込みアクセスによってリセット可能とならないよう
になっている。一旦設定されると、SMI LOCKは
SMMハンドラの実行中に不能となり、そして、RSM
命令の完了によって再び使用可能にされる。
マイクロプロセッサがパワーダウンされるまでアクティ
ブなままであり、一旦設定されたロックがCCR3への
書き込みアクセスによってリセット可能とならないよう
になっている。一旦設定されると、SMI LOCKは
SMMハンドラの実行中に不能となり、そして、RSM
命令の完了によって再び使用可能にされる。
【0053】I/Oトラップバッファ パワーダウンさ
れた装置へのトラップされたI/O動作に応答しての、
その装置のトランスペアレントなパワーアップを容易に
するため、マイクロプロセッサは、最新のI/O動作に
ついての選択された情報を、SMM空間に自動的に退避
する。すなわち、SMI割り込みに応答して、マイクロ
プロセッサは、CPU状態情報の一部として、データ
(オペランド)、サイズおよびポートアドレスを自動的
に退避する。データサイズは、 opsize =01Hがパイ
トサイズデータを示し、 opsize =0BHがワードサイ
ズデータを示し、opsize =0FHが dwordサイズデー
タを示すように符号化される。
れた装置へのトラップされたI/O動作に応答しての、
その装置のトランスペアレントなパワーアップを容易に
するため、マイクロプロセッサは、最新のI/O動作に
ついての選択された情報を、SMM空間に自動的に退避
する。すなわち、SMI割り込みに応答して、マイクロ
プロセッサは、CPU状態情報の一部として、データ
(オペランド)、サイズおよびポートアドレスを自動的
に退避する。データサイズは、 opsize =01Hがパイ
トサイズデータを示し、 opsize =0BHがワードサイ
ズデータを示し、opsize =0FHが dwordサイズデー
タを示すように符号化される。
【0054】この機構を支持するため、各I/O動作に
ついて、マイクロプロセッサは、このI/O情報を一時
レジスタにバッファリングする。したがって、あるI/
O動作がコンピュータシステムをSMI割り込みに戻す
場合、マイクロプロセッサは、その周辺装置をパワーア
ップするためのSMMルーチンにトラップする。SMM
空間に自動的に退避される状態情報の一部として、SM
Mルーチンは、一時レジスタに保持されるポートアドレ
スおよびデータサイズに関わるデータのI/O情報も退
避する。
ついて、マイクロプロセッサは、このI/O情報を一時
レジスタにバッファリングする。したがって、あるI/
O動作がコンピュータシステムをSMI割り込みに戻す
場合、マイクロプロセッサは、その周辺装置をパワーア
ップするためのSMMルーチンにトラップする。SMM
空間に自動的に退避される状態情報の一部として、SM
Mルーチンは、一時レジスタに保持されるポートアドレ
スおよびデータサイズに関わるデータのI/O情報も退
避する。
【0055】これにより、プログラマは、RSM命令の
実行の前にこのI/O情報を問い合わせることができ、
この実施例においては、退避されたI/O情報は、RS
Mに応答して復元される状態情報の一部ではない。この
機構が、SMM電源管理動作をトランスペアレントに実
施することをより容易にしている。状態情報として退避
されるI/O情報は、I/O書き込みアクセスについて
のみ有効である(すなわち、読みだしアクセスについて
は、読みだしデータが知られることはない)。しかし、
例えば、(その周辺装置がパワーダウンされているかど
うかに関わらず)すべてのI/O動作についてSMMハ
ンドラを呼び出し、つぎに電源管理パワーダウン後のデ
バイスのパワーアップを容易にするためにもちいられる
退避されたI/O状態情報を収集することによって、こ
のI/Oトラップバッファ機構を、総合的なSMM電源
管理動作を容易にするためにもちいることができる。
実行の前にこのI/O情報を問い合わせることができ、
この実施例においては、退避されたI/O情報は、RS
Mに応答して復元される状態情報の一部ではない。この
機構が、SMM電源管理動作をトランスペアレントに実
施することをより容易にしている。状態情報として退避
されるI/O情報は、I/O書き込みアクセスについて
のみ有効である(すなわち、読みだしアクセスについて
は、読みだしデータが知られることはない)。しかし、
例えば、(その周辺装置がパワーダウンされているかど
うかに関わらず)すべてのI/O動作についてSMMハ
ンドラを呼び出し、つぎに電源管理パワーダウン後のデ
バイスのパワーアップを容易にするためにもちいられる
退避されたI/O状態情報を収集することによって、こ
のI/Oトラップバッファ機構を、総合的なSMM電源
管理動作を容易にするためにもちいることができる。
【0056】I/O状態情報をふくむ、SMI割り込み
に応答してSMMメモリのトップに退避される状態情報
のマップを、表3に示す。
に応答してSMMメモリのトップに退避される状態情報
のマップを、表3に示す。
【0057】
【表3】 DR7 −4h EFLAGS −3h CR0 −Ch COREIP(Current IP) −10h ROMIP(Next IP) −4h 予備(31:16)::CSセレクタ −18h CS記述子(63:32) −1Ch CS記述子(31:0) −20h 予備(31:4)::S::P::I::C −24h OPサイズ::ポートアドレス −28h ポートデータ −2Ch ESIまたはEDI −30hSMINT SMMの利用における付加的な柔軟性をも
たらすために、本発明は、SMMを呼び出すためにもち
いることのできるソフトウェアSMI命令SMINTを
実現している。この命令は、0F7Eに符号化されて、
2バイトのオプコードマップにマッピングされる。
たらすために、本発明は、SMMを呼び出すためにもち
いることのできるソフトウェアSMI命令SMINTを
実現している。この命令は、0F7Eに符号化されて、
2バイトのオプコードマップにマッピングされる。
【0058】SMINTは、現在特権レベル(CPL)
=0(最高特権)で、SMIENが使用可能かつSMA
CCが設定されている場合にのみ実行可能である。な
お、SMIを使用可能にするための判定基準には、アド
レス領域4をSMI空間に指定し、またこのSMM領域
サイズがDより大きくなるようにSM4ビット(CCR
1のビット7)を設定させることが含まれる。
=0(最高特権)で、SMIENが使用可能かつSMA
CCが設定されている場合にのみ実行可能である。な
お、SMIを使用可能にするための判定基準には、アド
レス領域4をSMI空間に指定し、またこのSMM領域
サイズがDより大きくなるようにSM4ビット(CCR
1のビット7)を設定させることが含まれる。
【0059】SMINT命令は、SMI割り込みと同様
にSMMを呼び出し、マイクロプロセッサは、チップの
状態をSMMメモリ空間のトップに自動的に退避し、S
MM空間のボトムから先取りを開始する。RSM命令が
実行されると、チップは、ソフトウェアSMI命令が実
行された地点に戻り、そこから動作を継続する。SMI
NTをもちいてSMM事象が開始された場合、現在のS
MMハンドラがソフトウェアによって起動された割り込
みに応答して実行されていることを示すために、SMM
メモリマップの状態ビットが設定される。すなわち、図
6に示したSMMメモリマップのPICフィールドがS
PICフィールドに拡張され(上述のメモリマップ参
照)、ここで、Sビットは、SMM事象がソフトウェア
によって起動されたか、ハードウェアによって起動され
たかを識別するためにもちいられる。
にSMMを呼び出し、マイクロプロセッサは、チップの
状態をSMMメモリ空間のトップに自動的に退避し、S
MM空間のボトムから先取りを開始する。RSM命令が
実行されると、チップは、ソフトウェアSMI命令が実
行された地点に戻り、そこから動作を継続する。SMI
NTをもちいてSMM事象が開始された場合、現在のS
MMハンドラがソフトウェアによって起動された割り込
みに応答して実行されていることを示すために、SMM
メモリマップの状態ビットが設定される。すなわち、図
6に示したSMMメモリマップのPICフィールドがS
PICフィールドに拡張され(上述のメモリマップ参
照)、ここで、Sビットは、SMM事象がソフトウェア
によって起動されたか、ハードウェアによって起動され
たかを識別するためにもちいられる。
【0060】ソフトウェアによって起動されたSMM事
象中において、外部ハードウェアSMI割り込みの受信
はラッチされ、そのソフトウェアによって起動されたS
MMルーチンがRSMを実行した後に、ハードウェアに
よって起動されたSMM動作をトリガする。通常のSM
I動作にしたがって、SMIハンドシェークが認めら
れ、ハードウェアによって起動されたSMIハンドラが
完了し、RSM命令を実行するまで、SMIピンは
“L”に駆動される。
象中において、外部ハードウェアSMI割り込みの受信
はラッチされ、そのソフトウェアによって起動されたS
MMルーチンがRSMを実行した後に、ハードウェアに
よって起動されたSMM動作をトリガする。通常のSM
I動作にしたがって、SMIハンドシェークが認めら
れ、ハードウェアによって起動されたSMIハンドラが
完了し、RSM命令を実行するまで、SMIピンは
“L”に駆動される。
【0061】下記の表4において、SMINTを含む本
発明にしたがった各SMM命令の概要を示す。なお、こ
れらのオプコードのいずれかを実行するためには、SM
Iが使用可能となり、(a)マイクロプロセッサがSM
I割り込みルーチンを実行しているか、または(b)S
MMメモリ空間を起動するのにもちいることのできるS
MACCが設定されることが必要である。
発明にしたがった各SMM命令の概要を示す。なお、こ
れらのオプコードのいずれかを実行するためには、SM
Iが使用可能となり、(a)マイクロプロセッサがSM
I割り込みルーチンを実行しているか、または(b)S
MMメモリ空間を起動するのにもちいることのできるS
MACCが設定されることが必要である。
【0062】
【表4】命令 オプコード フォーマット 記 述 "reg" 内容および付随する記述子キャッ SVDC 0F78 SVDC mem 80. シュを"mem 80"に退避する。"mem 80"は reg 80ビット記憶場所であり、 "reg"=DS, ES, PS, GS, SSまたはCS。 "reg" 内容および付随する記述子キャッ RSDC 0F79 RSDC reg. シュを"mem 80"から復元する。"mem 80" mem 80 は80ビット記憶場所であり、"reg"=DS, ES, PS, GS, またはSS。なお、CSはRSDC では可能ではなく、SVDCで可能である。 LDTR、局部記述子テーブルレジスタを80 SVLDT 0F7A SVLDT mem 80 ビット記憶場所である"mem 80"に退避す る。 LDTR、局部記述子テーブルレジスタを80 RSLDT 0F7B RSLDT mem 80 ビット記憶場所である"mem 80"から復元 する。 TSR 、タスク状態レジスタを80ビット記SVTS 0F7C SVTS mem 80 憶場所である"mem 80"に退避する。 TSR 、タスク状態レジスタを80ビット記RSTS 0F7D RSTS mem 80 憶場所である"mem 80"から復元する。 SMI サービスルーチンをでる。CPU 状態 RSM 0FAA RSM がSMM 空間のトップから復元され、割り 込まれた地点において実行を再開する。 SMI サービスルーチンを呼び出す。CPU SMINT 0F7E SMINT 状態がSMM 空間のトップに退避し、SMM 空間のベースから実行を開始する。 本発明およびその効果を詳細に説明してきたが、添付の
請求の範囲によって定義される本発明の本旨および範囲
を逸脱することなしに、多様な変更、置き換え、変化を
なし得ることを理解すべきである。
請求の範囲によって定義される本発明の本旨および範囲
を逸脱することなしに、多様な変更、置き換え、変化を
なし得ることを理解すべきである。
【図1】コンピュータシステムのブロック図である。
【図2】図1のコンピュータシステムにおいてもちいら
れるマイクロプロセッサの好ましい実施例のブロック図
である。
れるマイクロプロセッサの好ましい実施例のブロック図
である。
【図3】SMIサービスルーチンの全体動作を説明する
フローチャートである。
フローチャートである。
【図4】SMIハンドシェークプロトコルのタイミング
図である。
図である。
【図5】SMM I/Oトラップ機構のタイミング図で
ある。
ある。
【図6】SMIリクエストに応答してマイクロプロセッ
サ値を格納するための、SMMメモリ空間の利用を示す
図である。
サ値を格納するための、SMMメモリ空間の利用を示す
図である。
【図7】SMIコンフィギュレーションデータを格納す
るためのレジスタファイルおよびそれと通信するための
回路機構のブロック図である。
るためのレジスタファイルおよびそれと通信するための
回路機構のブロック図である。
10 コンピュータシステム 12 マイクロプロセッサ 14 主記憶装置 15 システム管理メモリ(SMM) 16 BIOS ROM 18 論理素子 20 バス 22 キーボード・コントローラ 24 ビデオ・コントローラ 26 I/O回路 28 ディスク・コントローラ 29 キーボード 30 ハードディスク 32 フロッピーディスク 34 表示装置 35 双対プロセッサ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 マーガレット アール ヘルビン アメリカ合衆国 テキサス州 75019 コ ッペル エディンバラ レーン 540 (72)発明者 マーク ダブリュー ハーヴィン アメリカ合衆国 テキサス州 75252 ダ ラスプレストン ロード 17601 アパー トメント 156
Claims (21)
- 【請求項1】 記憶装置に接続するマイクロプロセッサ
を含む電子回路において、前記マイクロプロセッサは、
システム管理ルーチンを格納するための前記記憶装置の
選択されたアドレス空間内のアドレスの範囲をプログラ
ム可能に定義する回路と、システム管理ルーチンをリク
エストする信号に応答して前記選択されたアドレス空間
内の前記記憶装置にアクセスする回路とを有することを
特徴とする前記電子回路。 - 【請求項2】 前記マイクロプロセッサおよび記憶装置
は、相互に接続する別個の装置を有することを特徴とす
る請求項1に記載の電子回路。 - 【請求項3】 前記定義する回路は、複数のレジスタを
備えることを特徴とする請求項1記載のマイクロプロセ
ッサ。 - 【請求項4】 前記複数のレジスタは、前記アドレスの
範囲の開始アドレスを格納するための1個以上のレジス
タを含むことを特徴とする請求項2に記載のマイクロプ
ロセッサ。 - 【請求項5】 前記複数のレジスタは、前記アドレスの
範囲の大きさを格納するための1個以上のレジスタをさ
らに含むことを特徴とする請求項2または3に記載のマ
イクロプロセッサ。 - 【請求項6】 システム管理ルーチンのリクエストに応
じて選択されたプロセッサ状態情報をプログラム可能に
格納する回路をさらに備えることを特徴とする請求項1
ないし5のいずれかに記載のマイクロプロセッサ。 - 【請求項7】 記憶装置に接続するマイクロプロセッサ
を含む電子回路において、前記マイクロプロセッサは、
システム管理ルーチンを格納するための前記記憶装置の
選択されたアドレス空間内においてアドレスの範囲をプ
ログラム可能に定義する回路と、システム管理ルーチン
をリクエストする信号に応答して前記選択されたアドレ
ス空間にアクセスする回路と、システム管理ルーチンを
リクエストする前記信号に応答して選択されたプロセッ
サ状態情報をプログラム可能に格納する回路とを有する
ことを特徴とする前記電子回路。 - 【請求項8】 システム管理ルーチンに対する前記リク
エストに応じて所定のプロセッサ状態情報を自動的に格
納する回路をさらに備えることを特徴とする請求項6ま
たは7に記載のマイクロプロセッサ。 - 【請求項9】 前記プログラム可能に格納する回路は、
プログラム可能に選択されたアドレスに選択されたプロ
セッサ情報をプログラム可能に格納する回路を含むこと
を特徴とする請求項8に記載のマイクロプロセッサ。 - 【請求項10】 前記プログラム可能に格納する回路
は、選択されたレジスタに関連する情報をプログラム可
能に格納する回路を含むことを特徴とする請求項7に記
載のマイクロプロセッサ。 - 【請求項11】 前記受けとる回路を選択的に使用不能
にする回路をさらに備えることを特徴とする請求項1な
いし10のいずれかに記載のマイクロプロセッサ。 - 【請求項12】 マイクロプロセッサと記憶装置とを含
み、前記マイクロプロセッサは通常モードまたはシステ
ム管理モード(SMM)のいずれにおいても動作可能で
あり、通常モードで動作中の前記マイクロプロセッサが
マスク不可能割り込み(NMI)に対して対応するNM
Iハンドラルーチンを実行することによって応答するコ
ンピュータシステムにおいて、 SMM動作を行うためのSMMルーチンを実行する際に
もちいられる前記記憶装置の選択されたアドレス空間内
にSMMアドレス空間を定義する前記マイクロプロセッ
サの回路と、 SMM割り込みに応答して、選択されたSMM動作を行
ってからマイクロプロセッサを通常モード動作に戻すS
MMルーチンを呼び出す前記マイクロプロセッサの回路
と、 NMIが可能にされるとSMMルーチンが対応するNM
Iハンドラルーチンを実行するが、NMIが可能にされ
ないとSMMルーチンがNMI割り込みに応答せず、し
たがってNMI割り込みが通常モード動作への復帰の後
にのみ処理されるように、SMM動作中においてNMI
の認識を選択的に可能にする前記マイクロプロセッサの
回路とを備えることを特徴とする前記コンピュータシス
テム。 - 【請求項13】 SMMルーチンは、システム管理ルー
チンに対するリクエストに応答して所定のマイクロプロ
セッサ状態情報を自動的に格納することを特徴とする請
求項12に記載のシステム。 - 【請求項14】 SMMアドレス空間を定義する回路
は、SMMコンフィギュレーション情報をプログラム可
能に格納するレジスタを含むことを特徴とする請求項1
2に記載のシステム。 - 【請求項15】 マイクロプロセッサと記憶装置とを含
み、前記マイクロプロセッサは通常モードまたはシステ
ム管理モード(SMM)で動作することができるコンピ
ュータシステムにおいて、 SMM動作を行うためのSMMルーチンを実行する際に
もちいられる前記記憶装置の選択されたアドレス空間内
のSMMアドレス空間を含むSMM動作のSMMコンフ
ィギュレーション情報を定義する前記マイクロプロセッ
サの回路と、 SMM信号に応答して、選択されたSMM動作を行って
からマイクロプロセッサを通常モード動作に戻すSMM
ルーチンを呼び出す前記マイクロプロセッサの回路と、 SMMロック状態が可能にされた場合に、SMMルーチ
ン以外のアクティビティーがSMMコンフィギュレーシ
ョン情報を変更することを防ぐ前記マイクロプロセッサ
の回路とを備えることを特徴とする前記コンピュータシ
ステム。 - 【請求項16】 SMMロックは、一旦可能にされる
と、SMMルーチンによってSMMロックが不能にされ
た場合を除いて、マイクロプロセッサのパワーダウンま
で可能にされたままであることを特徴とする請求項15
に記載のシステム。 - 【請求項17】 マイクロプロセッサと記憶装置とを含
み、前記マイクロプロセッサは通常モードまたはシステ
ム管理モード(SMM)で動作することができるコンピ
ュータシステムにおいて、 通常モード動作中において、現在のI/O動作について
のI/O情報を一時レジスタに格納する前記マイクロプ
ロセッサの回路と、 SMM動作を行うためのSMMルーチンを実行する際に
もちいられる前記記憶装置の選択されたアドレス空間内
にSMMアドレス空間を定義する前記マイクロプロセッ
サの回路と、 SMM信号に応答して、選択されたマイクロプロセッサ
状態情報をSMMアドレス空間内に格納することを含む
選択されたSMM動作を行ってからマイクロプロセッサ
を通常モード動作に戻すSMMルーチンを呼び出す前記
マイクロプロセッサの回路とを備え、 マイクロプロセッサ状態情報は一時レジスタからのI/
O情報を含むことを特徴とするコンピュータシステム。 - 【請求項18】 I/O情報は、付随するオペランド、
オペランドサイズおよびI/O動作に対するポートアド
レスを含むことを特徴とする請求項17に記載のシステ
ム。 - 【請求項19】 通常モードで動作しているマイクロプ
ロセッサがデータの書き込みをしようとした周辺装置の
パワーダウン状態のために起動されたSMM動作中にお
いて、SMM空間に格納された付随する現在のI/O情
報が問い合わせされてから、その周辺装置がパワーアッ
プされた後の通常動作中にI/O動作をリトライするた
めにもちいられることを特徴とする請求項17に記載の
システム。 - 【請求項20】 マイクロプロセッサと記憶装置とを含
み、前記マイクロプロセッサは通常モードまたはシステ
ム管理モード(SMM)で動作することができるコンピ
ュータシステムにおいて、 SMM動作を行うためのSMMルーチンを実行する際に
もちいられる前記記憶装置の選択されたアドレス空間内
にアドレスのSMM範囲を定義する前記マイクロプロセ
ッサの回路と、 (i)マイクロプロセッサの外部のSMM信号または
(ii)通常モード動作中にマイクロプロセッサによって
実行されているソフトウェアによって設定されたSMM
信号に応答して、選択されたプロセッサ状態情報をプロ
グラム可能に格納することを含む選択されたSMM動作
を行ってからマイクロプロセッサを通常モード動作に戻
すSMMルーチンを呼び出す前記マイクロプロセッサの
回路とを備えることを特徴とするコンピュータシステ
ム。 - 【請求項21】 SMMルーチンは、SMM動作がソフ
トウェアによって起動されたかどうかの指標を含むマイ
クロプロセッサ状態情報をSMMアドレス空間内に選択
的に格納することを特徴とする請求項20に記載のシス
テム。
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US90005292A | 1992-06-17 | 1992-06-17 | |
| US6201493A | 1993-05-14 | 1993-05-14 | |
| US08/062014 | 1993-05-14 | ||
| US07/900052 | 1993-05-14 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH06230979A true JPH06230979A (ja) | 1994-08-19 |
Family
ID=26741765
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP14379793A Pending JPH06230979A (ja) | 1992-06-17 | 1993-06-15 | 改良されたシステム管理方法および装置 |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP0575171B1 (ja) |
| JP (1) | JPH06230979A (ja) |
| DE (1) | DE69326718T2 (ja) |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE9301336U1 (de) * | 1993-02-01 | 1993-03-18 | Siemens Ag, 8000 Muenchen | Einrichtung zur Interruptsteuerung |
| US5509139A (en) * | 1993-03-22 | 1996-04-16 | Compaq Computer Corp. | Circuit for disabling an address masking control signal using OR gate when a microprocessor is in a system management mode |
| US5623673A (en) * | 1994-07-25 | 1997-04-22 | Advanced Micro Devices, Inc. | System management mode and in-circuit emulation memory mapping and locking method |
| US6093213A (en) * | 1995-10-06 | 2000-07-25 | Advanced Micro Devices, Inc. | Flexible implementation of a system management mode (SMM) in a processor |
| US5764999A (en) * | 1995-10-10 | 1998-06-09 | Cyrix Corporation | Enhanced system management mode with nesting |
| US5909696A (en) * | 1996-06-04 | 1999-06-01 | Intel Corporation | Method and apparatus for caching system management mode information with other information |
| US5987559A (en) * | 1998-02-02 | 1999-11-16 | Texas Instruments Incorporated | Data processor with protected non-maskable interrupt |
| US6711673B1 (en) * | 2000-01-03 | 2004-03-23 | Advanced Micro Devices, Inc. | Using a model specific register as a base I/O address register for embedded I/O registers in a processor |
| US9483426B2 (en) | 2012-01-31 | 2016-11-01 | Hewlett-Packard Development Company, L.P. | Locking a system management interrupt (SMI) enable register of a chipset |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4250546A (en) * | 1978-07-31 | 1981-02-10 | Motorola, Inc. | Fast interrupt method |
| US5228039A (en) * | 1990-05-09 | 1993-07-13 | Applied Microsystems Corporation | Source-level in-circuit software code debugging instrument |
| US5274791A (en) * | 1991-07-05 | 1993-12-28 | Chips And Technologies, Inc. | Microprocessor with OEM mode for power management with input/output intiated selection of special address space |
| US5274834A (en) * | 1991-08-30 | 1993-12-28 | Intel Corporation | Transparent system interrupts with integrated extended memory addressing |
| GB2259166B (en) * | 1991-08-30 | 1995-05-03 | Intel Corp | Transparent system interrupts with automated input/output trap restart |
-
1993
- 1993-06-15 JP JP14379793A patent/JPH06230979A/ja active Pending
- 1993-06-17 DE DE1993626718 patent/DE69326718T2/de not_active Expired - Fee Related
- 1993-06-17 EP EP93304730A patent/EP0575171B1/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| EP0575171A2 (en) | 1993-12-22 |
| DE69326718T2 (de) | 2000-11-16 |
| EP0575171A3 (en) | 1995-06-28 |
| DE69326718D1 (de) | 1999-11-18 |
| EP0575171B1 (en) | 1999-10-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4434482B2 (ja) | 仮想モードでのシステム管理モードサービスを実行する方法及び装置 | |
| US6314515B1 (en) | Resetting multiple processors in a computer system | |
| CA2044522C (en) | Apparatus and method for loading a system reference diskette image from a system partition in a personal computer system | |
| KR100403405B1 (ko) | 분산형버스액세스및제어조정에따라다수개의내부신호버스를공유하는다수개의회로기능요소를갖는집적회로 | |
| US5819087A (en) | Flash ROM sharing between processor and microcontroller during booting and handling warm-booting events | |
| KR100924497B1 (ko) | 비-휘발성 어플리케이션 및 화일 저장 디바이스로부터부팅시키기 위한 시스템 및 방법 | |
| JP3869049B2 (ja) | コンピュータシステムにおけるスタンバイ中のデバイス構成のロス防止方法およびデバイス構成の捕捉のためのコントローラ回路 | |
| JPH0677246B2 (ja) | マルチューザ処理提供回路 | |
| JPH11149385A (ja) | マルチos構成方法 | |
| JPS6055467A (ja) | マルチ・マイクロプロセツサによつて実現されたメインフレ−ム・エミユレ−シヨン用デ−タ処理システム | |
| US6775734B2 (en) | Memory access using system management interrupt and associated computer system | |
| TWI390410B (zh) | 不須執行電力開啟自我測試之操作系統傳送及啟動 | |
| US5963738A (en) | Computer system for reading/writing system configuration using I/O instruction | |
| US20200073832A1 (en) | Systems And Methods For Hiding Operating System Kernel Data In System Management Mode Memory To Thwart User Mode Side-Channel Attacks | |
| JPH06242987A (ja) | コンピュータ装置においてマイクロプロセッサの正常な処理の引継ぎをホストプロセッサが実行する方法および装置 | |
| CN118312226A (zh) | 一种基于riscv服务器cpu的uefi固件启动方法及系统 | |
| EP0575171B1 (en) | Enhanced system management method and apparatus | |
| US6282645B1 (en) | Computer system for reading/writing system configuration using I/O instruction | |
| JP2001216172A (ja) | マルチos構成方法 | |
| US7484083B1 (en) | Method, apparatus, and computer-readable medium for utilizing BIOS boot specification compliant devices within an extensible firmware interface environment | |
| US5970237A (en) | Device to assist software emulation of hardware functions | |
| Wang | General Purpose Embedded Operating Systems | |
| Ellis | The Intel System Management Mode | |
| Zlatanov | Booting an Intel System Architecture | |
| Thorson | System Management Mode Explained |