第 5 章 各信号の機能解説
5.32 LOCK# (バス・ロック)
出力 Summary
プロセッサはバス・サイクル・シーケンスの間
LOCK#
をアサートし、他のバス・マスタの介入を許さずにそのサイクルが完了したことを保証する。ロックト命 令は
2
〜5
バス・サイクルで構成される。LOCK#
は下記の命令の間、アサートさ れる。■ 割り込みアクノリッジ・シーケンス
■ ディスクリプタ・テーブル・アクセス
■ ページ・ディレクトリおよびページ・テーブル・アクセス
■
XCHG
命令■ 可能な
LOCK#
プリフィックス付き命令ロックト命令がバス上に現れ、システム全体から見えることを保証するため、プ ロセッサのキャッシュに駐在するロックト・サイクルの間にアドレッシングされる データ・オペランドは、ロックト命令の実行以前にフラッシュされ、キャッシュから 無効化(
Invalidate
)される。キャッシュ・ラインがモディファイ・ステートの場合、デ ー タ・オ ペ ランド は ロックト 命 令 開 始 前 にライト バックさ れ 、無 効 化
(
Invalidate
)される。同様に、ロックト命令の間は、データ・リードのキャッシュ は行われない。プロセッサは
LOCK#
がグリッチされないことを保証する。Driven and Floated
ロックト・サイクル中、
LOCK#
はADS#
がアサートされたクロック・エッジと同じ クロック・エッジからアサートされ、最後のバス・サイクルの最後のBRDY#
がア サートされてサンプリングされるまで、アサートされたままとなる。プロセッサ は、ロックト命令の連続するシーケンスの間の少なくとも1
クロックの間LOCK#
をネゲートし、システム・ロジックにバスの調停を行わせる。
LOCK#
は、BOFF#
がアサートされてサンプリングされたクロック・エッジから、またプロセッサが
HOLD
に応答してHLDA
をアサートしたクロック・エッジから5.33 M/IO# (メモリまたは I/O ) 出力
Summary
プロセッサはバス・サイクル中、
M/IO#
をドライブし、それがメモリまたはI/O
ス ペースのいずれをアドレッシングしているかを表示する。M/IO#=1
の場合、プ ロセッサは、命令フェッチの結果、またはデータをロードもしくはストアする命令 実行の結果として、メモリまたはメモリフェッチされたI/O
ポートをアドレッシン グしていることになる。M/IO#=0
の場合、プロセッサは1
つのI/O
命令実行の間、I/O
ポートをアドレッシングしている。さらに、M/IO#
は割り込みアクノリッジやス ペシャル・サイクルを含む、その他のバス・サイクルの定義にも使用できる。(詳 細は表19
を参照。)Driven and Floated
M/IO#
はADS#
と同じクロック・エッジからドライブされ、NA#
またはそのサイク ルで予期された最後のBRDY#
がアサートされてサンプリングされるクロック・エッジまで同じステートのままとなる。
M/IO#
は、メモリ・サイクル、I/O
サイクル、スペシャル・バス・サイクルおよび割り込みアクノリッジ・サイクル中にドライブさ れる。
M/IO#
はBOFF#
がアサートされてサンプリングされるクロック・エッジから、ま たプロセッサがHOLD
に応答してHLDA
をアサートしたクロック・エッジからフ ロートされる。5.34 NA# (次のアドレス)
入力 Summary
システム・ロジックは
NA#
をアサートして、前のバス・サイクル内にパイプライン された別のバス・サイクルを受け入れる準備ができていることをプロセッサに 表示する。プロセッサが新サイクル処理の準備ができている場合、アドレスおよ びステータス信号と共に、ADS#
は、NA#
がアサートされてサンプリングされた クロック・エッジの次のクロック・エッジでアサートできる。プロセッサは最高2
サ イクルまで同時実行を許容するので、2
サイクルが進行している間NA#
のア サートがサンプリングされるが、ADS#
は最初のサイクルが完了するまではア サートされない。Sampled
バス・サイクル中、
NA#
はクロック毎にサンプリングされる。サンプリングはADS#
をネゲートするクロック・エッジ後の1
クロック・エッジ後開始され、最後に 実行されたサイクルの予期された最後のBRDY#
がアサートされてサンプリン グされるまで(2
番目のペンディング・サイクルでADS#
をネゲートするクロック・エッジ後のクロック・エッジは除外)継続する。サンプリングされた場合、プロ セッサは
NA#
をラッチするので、システム・ロジック側は1
クロックだけNA#
をア サートするだけでよい。5.35 NMI (ノンマスカブル割り込み)
入力 Summary
NMI
がアサートされてサンプリングした場合、プロセッサは割り込み番号02h
で 定義された割り込みサービス・ルーチンへジャンプする。INTR
信号の場合とは 異なり、プロセッサがNMI
をアサートされた状態でサンプリングした場合、ソフ トウェアはNMI
の効果をマスクできない。しかし、NMI
はシステム管理モード(
SMM
)に移行後は一時的にマスクできる。さらに、割り込み番号が定義済みで あるため、割り込みアクノリッジ・サイクルは実行されない。プロセッサが直前の
NMI
の割り込みサービス・ルーチンを実行しているときにSampled
NMI
は立ち上がりエッジ・センシティブな信号としてサンプリングされ、ラッチさ れる。通常動作時、NMI
はクロック・サイクル毎にサンプリングされるが、次の命 令バウンダリまでは認識されない。同期でアサートされた場合、NMI
は最小1
ク ロックの間アサートできる。また非同期でアサートされた場合、NMI
は、最小2
クロックの間ネゲートされていなければならず、これに最小2
クロックのアサー トが後続しなければならない。5.36 PCD (ページ・キャッシュ・ディセーブル)
出力 Summary
プロセッサは
PCD
をドライブして、アドレッシングされているページに対しOS
の スペックがキャッシャブルであることを表示する。システム・ロジックはPCD
を 使用して、外部キャッシングの制御を行うことができる。PCD
がアサートされた 場合、そのアドレス・ページはキャッシュされない。PCD
がネゲートされている 場合、そのアドレスのキャッシャビリティはCACHE#
およびKEN#
のステートに 依存する。PCD
のステートはプロセッサの動作モード、ならびに制御レジスタおよびTLB
内 のビット状態に依存するが、その様態を下記に示す。■ リアル・モード、またはプロテクト・モードおよび仮想
8086
モードで、ページ ングがディセーブルされている場合(CR0
のPG
ビットが0
にセットされてい る):PCD
出力=CR0
のCD
ビット■ プロテクト・モードおよび仮想
8086
モードで、キャッシングがイネーブルさ れ(CR0
のCD
ビットが0
にセットされている)、ページングがイネーブルさDriven and Floated
PCD
はADS#
と同じクロック・エッジでドライブされ、NA#
またはそのサイクルの 最後のBRDY#
がアサートされてサンプリングされたクロック・エッジまでその ままのステートを維持する。PCD
はBOFF#
がアサートされてサンプリングされるクロック・エッジから、また プロセッサがHOLD
に応答してHLDA
をアサートしたクロック・エッジからフ ロートされる。5.37 PCHK# (パリティ・チェック)
出力 Summary
リード・サイクル中に
D[63:0]
有効(Valid
)バイト1
つ以上で偶数パリティ・エラー を検出した場合、プロセッサはPCHK#
をアサートする。(偶数パリティとは、各 データ・バイトの1
のビットの合計個数、および対応するデータ・パリティ・ビット が共に偶数であることを意味する。)プロセッサは、BE[7:0]#
で定義される、有 効(Valid
)なデータ・バイトについて、バイトがイネーブルされた状態でデータ・パリティ・チェックを実行する。
PCHK#
は常にドライブされるが、メモリ・リードおよびI/O
リード・バス・サイクル に対して、また割り込みアクノリッジ・シーケンスの2
番目のサイクルに対しての みアサートされる。PCHK#
はライト・サイクルまたはスペシャル・バス・サイクル 中はドライブされない。また、データ・パリティ・エラー検出の結果としてプロ セッサが内部例外をとることはなく、システム・ロジックはこの信号のアサート に適切に応答しなければならない。プロセッサは
PCHK#
がグリッチしないことを保証し、システム・ロジックに当該 信号をクロッキング・ソースとして使用させる。Driven
トライステート・テスト・モード時以外、
PCHK#
は常にドライブされる。リード・サ イクル中、データ・バス上にパリティ・エラー検出をともないプロセッサにそれぞ れのBRDY#
が戻される場合、PCHK#
はBRDY#
がアサートされてサンプリング されたクロック・エッジの1
クロック・エッジ後に、1
クロックの間アサートされる。5.38 PWT (ページ・ライトスルー)
出力 Summary
プロセッサは
PWT
をドライブして、アドレッシングされているページに対しOS
の スペックがライトバック・ステートであるのか、ライトスルー・ステートであるの かを表示する。WB/WT#
と共に、PWT
はキャッシャブル・リード・ミス、および共 有(Shared
)キャッシュ・ラインへのライト・ヒットが行われている間のデータ・キャッシュ・ライン・ステートを指定する。(詳細は「
WB/WT#
(ライトバックまた はライトスルー)」の項を参照。)PWT
のステートはプロセッサの動作モード、ならびに制御レジスタおよびTLB
内のビット状態に依存するが、その様態を下記に示す。■ リアル・モード、またはプロテクト・モードおよび仮想
8086
モードで、ページ ングがディセーブルされている場合(CR0
のPG
ビットが0
にセットされてい る):PWT
出力=0
(ライトバック・ステート時)■ プロテクト・モードおよび仮想
8086
モードで、ページングがイネーブルされ ている場合(CR0
のPG
ビットが1
にセットされている):• I/O
スペースへのアクセス、ページ・ディレクトリ・エントリ、およびその他 の非ページング・アクセスの場合:PCD
出力=CR3
のPWT
ビット• 4K
バイトページ・テーブル・エントリまたは4M
バイトページの場合:PCD
出力=
ページ・ディレクトリ・エントリのPWT
ビット• 4K
バイト・ページへのアクセスの場合:PCD
出力=
ページ・テーブル・エントリのPWT
ビット
ドキュメント内
000
(ページ 122-128)