web-dev-qa-db-ja.com

PCIeデバイスがレーンを共有できないのはなぜですか?

古いチップセットでは、PEGスロットに専用のグラフィックカードを配置し、同時に統合グラフィックデバイス(IGD)を有効にすることはできませんでした。

オンラインで調べたところ、これは「同じバスレーンを共有している」ためであることがわかりました。これはどちらか一方であり、BIOSがPEGスロットでカードを検出するとIGDを無効にします。

PCIeデバイスが同じレーンを共有できないのはなぜだろうと思っていました。古いPCI規格では、すべてのデバイスが同じレーンを共有していると理解していますが、PCIeではこれが不可能なのはなぜですか。

PCIeがシリアルであり、スイッチと「エンドデバイス」の間にポイントツーポイント接続を作成することは知っていますが、IGDと専用カードが同じレーンを共有している場合にそれらが連携できない理由がわかりません。

PCIe設計のどの部分がこれを防ぎますか?

ありがとう。

6
RJSmith92

PCIeデバイスが同じレーンを共有できないのはなぜだろうと思っていました。

PCIeはポイントツーポイントトポロジを使用するため、各レーンは各エンドに1つのデバイスを想定しています。そうでない場合は、元のPCIのようなものになります。プレーンPCIの問題の1つは、1つのデバイスがバス上で通信しているときに、他のデバイスが待機する必要があることです。

8
LawrenceC

これは電気的な理由によるものです。 PCIの速度は、バスワイヤの電圧がクロックサイクルごとに安定するのに必要な時間によって制限されます。問題は、バスワイヤがハイまたはローに駆動されるたびに、その遷移がバス上の他のすべてのデバイスに伝播する必要があることです。これは、すべてのインピーダンスを反映して、遷移が文字通りかなりの時間バウンスするため、かなりの時間がかかります。トレースに沿った任意の場所での不連続性。これには、バスワイヤをVccまたはGNDに駆動する低インピーダンスピン、他のすべての接続デバイスの高インピーダンスピン、未実装のPCIコネクタのピンなどが含まれます。これには、落ち着くまでにかなりの数ナノ秒かかり、その結果、インターフェイスの実行速度の厳しい上限。

PCI Expressははるかに高速に動作するように設計されており、その一部は、共有パラレルバスから、適切な高周波設計を念頭に置いて構築された専用のポイントツーポイントリンクに移行する必要がありました。つまり、反射を最小限に抑えるために適切に設計された制御インピーダンスコネクタとともに、一方の端に単一のインピーダンス整合送信機、もう一方の端に単一のインピーダンス整合受信機を備えた制御インピーダンス伝送ラインを意味します。組み込みクロッキングと組み合わせて、異なる「レーン」間の時間遅延の違いに関する問題を排除し、結果として得られるインターフェイスは、桁違いに広い帯域幅を提供できます。たとえば、66MHzで動作する32ビットPCIは2.128Gbpsを提供します。これは、PCIe gen1のシングルレーンが提供する2Gbpsとほぼ同じです。最近では、PCIe gen4の16レーンが256Gbpsを提供しますが、これは可能な数値です。最新の非常に高性能なシリアルリンクによるものです。

0
alex.forencich