PCIデバイスには2つのメモリアドレスがありますか?

PCIデバイスには2つのメモリアドレスがありますか?

私がするとき

lspci -v

可能なオーディオデバイスのメモリを見つけるには

00:1f.3マルチメディアオーディオコントローラ:Intel Corporationデバイスds35サブシステム:Intel Corporationデバイス754フラグ:バスマスター、Fast Devsel、レイテンシ64、IRQ 126
メモリat d1114000(64ビット、プリフェッチ不可能)[サイズ=16K]
メモリ at d1000000 (64 ビット、プリパッチ不可) [size=1M] 機能: カーネル...

ご覧のとおり、「メモリーが位置しています」が2回出てきますか?

  1. なぜそんなことですか?

  2. これら2つの住所の違いは何ですか?

  3. なぜこの特定のオーディオデバイスでのみこれが起こるのですか?

助けてくれてありがとう。

ベストアンサー1

1.)チップセットは、オーディオコントローラのメモリマップされたI / O割り当てを複数のブロックに分割するように設計されており、各ブロックのベースアドレスは独立して割り当てることができます。これにより、チップセットの設計がより柔軟になり、さまざまなハードウェア構成に対応するように構成できます。

2.) 2 つのブロックは互いのコピーではありませんが、異なる用途に使用されます。詳細については、IntelからチップセットのデータシートPDF(おそらくHDオーディオ規格に関するいくつかの文書)をダウンロードしてから、非常に堅牢な技術文書を読む必要があります。

3.)オーディオコントローラがMMIO機能のために合計1040Kのアドレス空間を必要とし、それが2つのサイズの2倍の2つの別々のブロックに割り当てられている場合、ファームウェアは各MMIOを各ハードウェアコンポーネントの領域が不快なメモリ「穴」や使用できないアドレス空間をあまり残さず、1つまたは複数の連続アドレスブロックに分割します。これにより、メモリタイプレンジレジスタ(MTRR)がMMIOおよび既存のメモリブロックに最適なアクセスポリシーを割り当てることができ、プロセッサのハードウェアメモリ管理デバイスをより効率的に動作させることができます。利用可能なMTRRの数が制限されているため、MMIOブロックの緊密なパッケージングを実装するのに役立ちます。

おすすめ記事