PCIe bifurcation によるレーン分割方式を詳しく見る

PCIe bifurcation は、一組の PCIe Lane を x16、x8、x4 などのリンク幅へどう分割するかを決める仕組みです。代表的な方式には Hard Strap、Soft Strap、Wait For BIOS があります。

PCIe bifurcation は、PCIe レーン分割のことです。解決する問題は単純で、CPU やチップセットから出ている一組の PCIe Lane を、1 本の太いリンクとして使うのか、それとも複数の細いリンクに分けて別々のデバイスへ割り当てるのかを決めます。

たとえば 16 本の PCIe Lane は、x16 として構成することも、x8+x8 に分けることも、x8+x4+x4 に分けることもできます。これが「1 本のグラフィックススロットを x16 で動かす」「2 本のグラフィックススロットをそれぞれ x8 で動かす」「グラフィックススロット 1 本と CPU 直結 M.2 を 2 本使う」といった構成の土台です。

PCIe Lane とは

PCIe はシリアルバスです。各 Lane は差動信号ペアで構成され、独立した高速データ通路として考えられます。複数の Lane を束ねることで、より広いリンク幅になります。

PCIe Lane とリンク幅の模式図

リンク幅 主な用途
x1 ネットワークカード、サウンドカード、キャプチャカード、USB 拡張カード
x4 NVMe SSD、一部の高速拡張カード
x8 2 本目のグラフィックススロット、RAID カード、ネットワークカード
x16 メインのグラフィックススロット

PCIe のリンク幅は通常 2 の累乗で増えるため、よく見るのは x1、x2、x4、x8、x16 です。コンシューマ向けマザーボードでは、x1、x4、x8、x16 が特に一般的です。

注意したいのは、物理スロットの長さと実際のリンク幅は同じではないことです。見た目が x16 の長いスロットでも、実際には x4 や x8 しか配線されていないことがあります。M.2 スロットは通常 x4 ですが、CPU 直結なのかチップセット経由なのかも重要です。

bifurcation はいつ行われるのか

PCIe デバイスの初期化は、おおまかに次の段階に分けられます。

  1. PCIe bifurcation を決める。つまりレーンをどう分割するかを決める。
  2. Root Port Training を行い、リンク速度と幅を訓練する。
  3. PCI の列挙を行い、システムが各デバイスを認識する。
  4. 電源管理、エラー報告、タイムアウト制御など PCIe 関連機能を設定する。

bifurcation はかなり早い段階で行われます。システムはまず、一組の Lane が 1 本の x16 なのか、2 本の x8 なのか、複数の x4 なのかを知る必要があります。その後の Training やデバイス列挙は、いくつの Root Port として扱うかに依存するからです。

bifurcation の設定が合っていないと、よくある症状は次のようになります。

  1. 拡張カードで SSD が 1 枚しか認識されない。
  2. 変換カードを挿すとデバイスがまったく出てこない。
  3. グラフィックスカードのリンク幅が x16 から x8 になる。
  4. BIOS に必要な分割オプションが表示されない。
  5. マザーボードのマニュアルには分割対応と書かれているが、特定のスロットや特定の CPU でしか有効にならない。

方式一:Hard Strap

Hard Strap はハードウェア方式です。マザーボード上の固定ピン、プルアップまたはプルダウン抵抗、配線によって、PCIe の分割方式をハードウェアレベルで決めます。

この方式は、コンシューマ向けデスクトップ平台の CPU 直結 PCIe レーンでよく見られます。たとえば CPU が一組の x16 Lane を提供する場合、マザーボードメーカーは製品設計に応じて次のように構成できます。

構成 典型的な用途
x16 メインのグラフィックススロット 1 本
x8+x8 グラフィックススロット 2 本
x8+x4+x4 グラフィックススロット 1 本と CPU 直結 M.2 2 本

Hard Strap の特徴は、安定していて、単純で、低コストなことです。マザーボードメーカーは PCB 設計時点でレーンの行き先を決めるため、ユーザーが後から BIOS で自由に変更できることは通常ありません。

弱点は柔軟性の低さです。マザーボードの配線が決まってしまうと、PCB を再設計しない限り、x16 専用として作られたスロットを x4+x4+x4+x4 に変えることはできません。そのため、多くのコンシューマ向けマザーボードでは、CPU が理論上分割に対応していても、BIOS に関連オプションが用意されていないことがあります。

一般ユーザーにとって重要なのは、PCIe 分割に対応するかどうかは、CPU の仕様だけではなく、まずマザーボード設計を見る必要があるという点です。

第12世代CPUの bifurcation

方式二:Soft Strap

Soft Strap はソフトウェア設定方式ですが、必ずしも BIOS メニューに表示されるユーザー向けオプションという意味ではありません。多くの場合、この種の設定は BIOS イメージやプラットフォーム記述領域に保存され、マザーボードメーカーが出荷前に設定します。

チップセット配下の PCIe Root Port では、似た方式がよく使われます。メーカーは実際の配線に合わせて、一部の Root Port を独立した x1 として構成したり、x2 や x4 にまとめたりできます。これらの設定は通常 BIOS イメージ内に固定され、書き込まれた後、プラットフォーム初期化時に有効になります。

Soft Strap には次の特徴があります。

  1. PCB を変更せずに一部の設定を調整できる。
  2. 設定は通常、初期化の早い段階で有効になる。
  3. 変更後は BIOS の再書き込み、または少なくとも再起動が必要になる。
  4. ユーザーインターフェースに関連項目が表示されないこともある。

このため、ハードウェアの見た目が似ているマザーボードでも、BIOS バージョンやメーカー設定によって、PCIe スロット、M.2 スロット、オンボードデバイスの割り当てが異なることがあります。

ただし Soft Strap も万能ではありません。既存のハードウェア配線が許す範囲でしか調整できず、物理的につながっていないスロットへ Lane を割り当てることはできません。

方式三:Wait For BIOS

Wait For BIOS は、より柔軟な方式です。プラットフォームは PCIe Training の前に BIOS が関連レジスタを書き込むのを待ち、BIOS が各 Lane グループをどの幅に分けるかを決定します。

この方式は、拡張性の高いプラットフォームでよく使われます。たとえばワークステーション、サーバー、一部の Xeon プラットフォームです。これらは Lane 数が多く、スロット構成も複雑なため、すべてをハードウェア固定にするとマザーボードの適応性が大きく下がります。

Wait For BIOS の利点は柔軟性です。

  1. BIOS が x16、x8+x8、x8+x4+x4、x4+x4+x4+x4 などの選択肢を提供できる。
  2. 同じマザーボードで異なる拡張カードに対応しやすい。
  3. 複数 NVMe 変換カード、PCIe バックプレーン、サーバー用 Riser カードに向いている。
  4. デバイス数や帯域要件に合わせてユーザーが調整できる。

代わりに、プラットフォームと BIOS の連携が必要です。CPU またはチップセットが該当する分割方式をサポートし、マザーボード配線がそれに合っており、BIOS も設定を行える必要があります。どれか一つが欠けると、利用可能な bifurcation 設定が見えないことがあります。

よくある分割構成

対応する組み合わせはプラットフォームによって異なりますが、代表的な分割方式は次のようになります。

PCIe bifurcation の代表的な分割方式

元のリンク よくある分割 典型的な用途
x16 x16 単体グラフィックスカード
x16 x8+x8 2 枚のグラフィックスカード、または GPU と高速拡張カード
x16 x8+x4+x4 GPU と 2 枚の NVMe SSD
x16 x4+x4+x4+x4 4 枚用 NVMe 変換カード
x8 x4+x4 2 枚の NVMe、または 2 ポート高速拡張
x4 x2+x2 または複数の x1 やや少ない。プラットフォーム対応次第

自作PCでは、1 本の x16 スロットを x4+x4+x4+x4 に分け、4 枚用 M.2 変換カードを使いたい、という需要がよくあります。ここで重要なのは、安価なチップなし変換カードは、スロットを物理的に複数の M.2 へ配線しているだけで、カード自体が PCIe レーンを分割しているわけではないことです。

マザーボードが x4+x4+x4+x4 に対応していない場合、この種の変換カードでは通常 1 枚目の SSD しか認識されません。bifurcation 非対応のマザーボードで複数ドライブを使いたい場合は、PCIe Switch チップ搭載の拡張カードが必要になりますが、コストはかなり高くなります。

bifurcation と PCIe Switch の違い

bifurcation は、上流にある既存の Lane を複数の下流ポートへ分ける仕組みです。Lane 数を増やすものではなく、割り当て方を変えるだけです。

PCIe Switch は PCIe 交換チップのようなものです。1 本の上流リンクを複数の下流デバイスへ接続し、システムから複数デバイスとして見えるようにします。こちらも上流帯域を無から増やすわけではありませんが、マザーボードが通道分割に対応していない場合でも複数デバイスを接続できることがあります。

PCIe bifurcation と PCIe Switch の比較

違いは次のように整理できます。

方式 マザーボードの bifurcation 対応 コスト 向いている場面
チップなし M.2 変換カード 必要 低い マザーボードが x4+x4+x4+x4 に対応している
PCIe Switch 搭載拡張カード 必ずしも必要ではない 高い マザーボードは分割非対応だが複数デバイスが必要

複数 M.2 拡張カードを買う前に、まずマザーボード BIOS が必要な分割方式に対応しているか確認するべきです。仕様に「PCIe x16 スロット対応」とだけ書かれていても、4 枚の SSD を同時認識できるとは限りません。

購入とトラブルシュートのポイント

PCIe bifurcation を使いたい場合は、次の順番で確認すると分かりやすいです。

  1. CPU またはプラットフォームが目的の分割方式に対応しているか確認する。
  2. マザーボードマニュアルで、対象スロットが x8+x8、x8+x4+x4、x4+x4+x4+x4 に対応しているか確認する。
  3. BIOS に入り、PCIe bifurcation、PCIe lane configuration、slot configuration などの項目があるか確認する。
  4. 拡張カードがチップなし変換カードなのか、PCIe Switch 搭載カードなのか確認する。
  5. デバイスをすべて挿したとき、M.2、SATA、オンボードLANなどとレーンを共有しないか確認する。
  6. OS 起動後、ツールで実際のリンク幅とデバイス列挙状態を確認する。

拡張カードで 1 枚のドライブしか認識されない場合は、まず BIOS の分割設定を確認します。BIOS に関連設定がない場合、ドライバー問題ではなく、マザーボードがその Lane を複数デバイス向けに分けていない可能性が高いです。

デバイスはすべて認識されるが速度がおかしい場合は、次にリンク Training を確認します。ケーブル、変換カード品質、スロット配線、PCIe 世代、デバイス相性によって、リンクが Gen4 から Gen3、あるいはさらに低い世代へ落ちることがあります。

まとめ

PCIe bifurcation の本質は、PCIe 初期化の早い段階で Lane の構成を決めることです。Hard Strap はハードウェアで固定し、Soft Strap はプラットフォーム設定を使い、Wait For BIOS はリンク訓練前に BIOS が動的に設定します。

普通の自作ユーザーにとって重要な結論は 3 つです。

  1. 物理的な x16 スロットが、必ず複数の x4 に分割できるとは限らない。
  2. チップなし複数 M.2 変換カードは、マザーボードの bifurcation に依存する。
  3. 分割対応は CPU、マザーボード配線、BIOS オプションを合わせて見る必要がある。

これを理解しておくと、マザーボード仕様表の x16、x8+x8、x4+x4+x4+x4 を、単なるスロット長ではなく、実際の拡張要件を満たせるかどうかの判断材料として読めるようになります。