UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 3543

LogiCORE PCI - x86 プロセッサで I/O ベース アドレス レジスタを 256 バイトより大きい値に設定できるか

説明

キーワード : I/O, Base Address Register, LogiCORE, 256, ベース アドレス レジスタ

重要度 : 標準

概要 :
x86 プロセッサで I/O ベース アドレス レジスタを 256 バイトより大きい値に設定できますか。

ソリューション

Intel x86 システムで I/O ベース アドレス レジスタを 256 バイトより大きい値に設定することはできません。

初期の Intel x86 マイクロプロセッサでは、64K の I/O アドレス空間しかサポートされていませんが、 初期の IBM PC では最初の 10 ビット (SA<0-9>) を使用しており、I/O アドレスの最大範囲が 1K に制限されます。 上位 6 ライン (SA<10-15>) はデコードされず、ドントケア ビットとして処理されます。 このため 1K 空間が 64 回エイリアスされ (繰り返され) ます。

この 1K の最初の 256 バイトは PC により使用され、残りの 768 バイトは 10 ビットのみをデコードする ISA カードにより使用されます。 XT などのその後のマシンでは 16 ビットすべてがデコードされますが、10 ビット カードが 64 空間すべてで設定されるため、16 ビット PC カードでは初期の 768 バイトまたはほかの 63 のエイリアスは使用できません。 唯一の解決策は、63 の 256 バイト エイリアスの 1 つを使用することです。 そのため、I/O 空間の競合を回避するため、I/O 空間の各 1K のうち最初の 256 バイトのみが使用可能です。
AR# 3543
作成日 08/21/2007
最終更新日 12/15/2012
ステータス アクティブ
タイプ 一般