<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>擴充卡 on KnightLi的博客</title>
        <link>https://www.knightli.com/zh-tw/tags/%E6%93%B4%E5%85%85%E5%8D%A1/</link>
        <description>Recent content in 擴充卡 on KnightLi的博客</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-tw</language>
        <lastBuildDate>Sat, 02 May 2026 10:15:49 +0800</lastBuildDate><atom:link href="https://www.knightli.com/zh-tw/tags/%E6%93%B4%E5%85%85%E5%8D%A1/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>詳解 PCIe 通道拆分 bifurcation 的各種方式</title>
        <link>https://www.knightli.com/zh-tw/2026/05/02/pcie-bifurcation-modes/</link>
        <pubDate>Sat, 02 May 2026 10:15:49 +0800</pubDate>
        
        <guid>https://www.knightli.com/zh-tw/2026/05/02/pcie-bifurcation-modes/</guid>
        <description>&lt;p&gt;PCIe bifurcation 通常被翻譯為 PCIe 通道拆分或分叉。它解決的問題很直接：一組來自 CPU 或晶片組的 PCIe Lane，到底應該作為一個寬鏈路使用，還是拆成多個較窄鏈路分給不同裝置。&lt;/p&gt;
&lt;p&gt;例如，一組 16 條 PCIe Lane 可以配置成 &lt;code&gt;x16&lt;/code&gt;，也可以拆成 &lt;code&gt;x8+x8&lt;/code&gt;，或者拆成 &lt;code&gt;x8+x4+x4&lt;/code&gt;。這就是主機板上「一個顯示卡插槽跑滿 x16」「兩個顯示卡插槽各跑 x8」「一條顯示卡加兩個 CPU 直連 M.2」的底層基礎。&lt;/p&gt;
&lt;h2 id=&#34;pcie-lane-是什麼&#34;&gt;PCIe Lane 是什麼
&lt;/h2&gt;&lt;p&gt;PCIe 是串列匯流排。每個 Lane 由一組差分訊號組成，可以理解為一條獨立的高速資料通道。多個 Lane 綁定在一起後，就形成了更寬的鏈路：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.knightli.com/2026/05/02/pcie-bifurcation-modes/pcie-lane-link.svg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;PCIe Lane 與鏈路寬度示意圖&#34;
	
	
&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;鏈路寬度&lt;/th&gt;
          &lt;th&gt;常見用途&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;x1&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;網卡、音效卡、擷取卡、USB 擴充卡&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;x4&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;NVMe SSD、部分高速擴充卡&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;x8&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;第二條顯示卡插槽、RAID 卡、網卡&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;x16&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;主顯示卡插槽&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;PCIe 鏈路寬度通常按 2 的冪增長，所以常見的是 &lt;code&gt;x1&lt;/code&gt;、&lt;code&gt;x2&lt;/code&gt;、&lt;code&gt;x4&lt;/code&gt;、&lt;code&gt;x8&lt;/code&gt;、&lt;code&gt;x16&lt;/code&gt;。消費級主機板上最常見的是 &lt;code&gt;x1&lt;/code&gt;、&lt;code&gt;x4&lt;/code&gt;、&lt;code&gt;x8&lt;/code&gt; 和 &lt;code&gt;x16&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;需要注意的是，實體插槽長度不等於實際鏈路寬度。一個看起來是 &lt;code&gt;x16&lt;/code&gt; 的長插槽，實際可能只接了 &lt;code&gt;x4&lt;/code&gt; 或 &lt;code&gt;x8&lt;/code&gt;；一個 M.2 插槽通常是 &lt;code&gt;x4&lt;/code&gt;，但它也要看是接 CPU 還是接晶片組。&lt;/p&gt;
&lt;h2 id=&#34;bifurcation-在什麼時候發生&#34;&gt;bifurcation 在什麼時候發生
&lt;/h2&gt;&lt;p&gt;PCIe 裝置初始化大致可以分成幾個階段：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;確定 PCIe bifurcation，也就是決定通道如何拆分。&lt;/li&gt;
&lt;li&gt;Root Port Training，訓練鏈路速度和寬度。&lt;/li&gt;
&lt;li&gt;PCI 枚舉，讓系統發現各個裝置。&lt;/li&gt;
&lt;li&gt;設定 PCIe 相關特性，例如電源管理、錯誤回報和逾時控制。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;bifurcation 發生得很早。因為系統必須先知道一組 Lane 是一個 &lt;code&gt;x16&lt;/code&gt;，還是兩個 &lt;code&gt;x8&lt;/code&gt;，或者幾個 &lt;code&gt;x4&lt;/code&gt;，後續 Training 和裝置枚舉才知道該按幾個 Root Port 去處理。&lt;/p&gt;
&lt;p&gt;如果 bifurcation 設定不對，常見現象包括：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;擴充卡只識別一塊 SSD。&lt;/li&gt;
&lt;li&gt;插了轉接卡後裝置完全不出現。&lt;/li&gt;
&lt;li&gt;顯示卡鏈路寬度從 &lt;code&gt;x16&lt;/code&gt; 變成 &lt;code&gt;x8&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;BIOS 裡看不到想要的拆分選項。&lt;/li&gt;
&lt;li&gt;主機板說明書寫著支援某種拆分，但只在特定插槽或特定 CPU 下生效。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;方式一hard-strap&#34;&gt;方式一：Hard Strap
&lt;/h2&gt;&lt;p&gt;Hard Strap 是硬體方式。主機板透過固定腳位、電阻上拉下拉或線路連接，把 PCIe 拆分方式在硬體層面確定下來。&lt;/p&gt;
&lt;p&gt;這種方式常見於消費級桌面平台的 CPU 直連 PCIe 通道。例如 CPU 提供一組 &lt;code&gt;x16&lt;/code&gt; Lane，主機板廠商可以按產品定位設計成：&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;配置&lt;/th&gt;
          &lt;th&gt;典型用途&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;x16&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;一條主顯示卡插槽&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;x8+x8&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;兩條顯示卡插槽&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;x8+x4+x4&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;一條顯示卡插槽加兩個 CPU 直連 M.2&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Hard Strap 的特點是穩定、簡單、成本低。主機板廠商在設計 PCB 時就確定了通道走向，使用者後期通常不能在 BIOS 裡自由改。&lt;/p&gt;
&lt;p&gt;它的缺點也很明顯：彈性差。一旦主機板佈線定下來，除非重新設計 PCB，否則不能把一個只做 &lt;code&gt;x16&lt;/code&gt; 的插槽變成 &lt;code&gt;x4+x4+x4+x4&lt;/code&gt;。所以很多消費級主機板即使 CPU 理論上支援拆分，BIOS 裡也未必給出相關選項。&lt;/p&gt;
&lt;p&gt;對普通使用者來說，Hard Strap 最直觀的影響是：主機板能不能支援 PCIe 拆分，首先看主機板設計，不是只看 CPU 參數。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.knightli.com/2026/05/02/pcie-bifurcation-modes/image.png&#34;
	width=&#34;1008&#34;
	height=&#34;506&#34;
	srcset=&#34;https://www.knightli.com/2026/05/02/pcie-bifurcation-modes/image_hu_9da109a68bf2083b.png 480w, https://www.knightli.com/2026/05/02/pcie-bifurcation-modes/image_hu_ca9e4232e5981219.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;12 代 CPU 的 bifurcation&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;199&#34;
		data-flex-basis=&#34;478px&#34;
	
&gt;&lt;/p&gt;
&lt;h2 id=&#34;方式二soft-strap&#34;&gt;方式二：Soft Strap
&lt;/h2&gt;&lt;p&gt;Soft Strap 是軟體配置方式，但它並不一定等於 BIOS 選單裡的使用者選項。很多時候，這類配置寫在 BIOS 映像或平台描述區域中，由主機板廠商在出廠前設定好。&lt;/p&gt;
&lt;p&gt;晶片組下面的 PCIe Root Port 經常採用類似方式。主機板廠商根據實際佈線，把某些 Root Port 配成獨立 &lt;code&gt;x1&lt;/code&gt;，或者組合成 &lt;code&gt;x2&lt;/code&gt;、&lt;code&gt;x4&lt;/code&gt;。這些設定通常在 BIOS 映像中固定，寫入後隨平台初始化生效。&lt;/p&gt;
&lt;p&gt;Soft Strap 的特點是：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;不需要改 PCB 就能調整部分配置。&lt;/li&gt;
&lt;li&gt;配置通常在早期初始化階段生效。&lt;/li&gt;
&lt;li&gt;修改後一般需要重新刷寫 BIOS 或至少重啟。&lt;/li&gt;
&lt;li&gt;使用者介面裡不一定暴露相關選項。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;這也是為什麼有些主機板的硬體看起來接線類似，但不同 BIOS 版本或不同廠商設定下，PCIe 插槽、M.2 插槽和板載裝置的分配方式會有差異。&lt;/p&gt;
&lt;p&gt;不過，Soft Strap 仍然不是萬能的。它只能在硬體佈線允許的範圍內調整，不能憑空把沒有連接到某個插槽的 Lane 分給它。&lt;/p&gt;
&lt;h2 id=&#34;方式三wait-for-bios&#34;&gt;方式三：Wait For BIOS
&lt;/h2&gt;&lt;p&gt;Wait For BIOS 是更靈活的方式。平台在 PCIe Training 之前等待 BIOS 寫入相關暫存器，由 BIOS 決定某組 Lane 最終拆成什麼寬度。&lt;/p&gt;
&lt;p&gt;這種方式常見於可擴充性更強的平台，例如工作站、伺服器或部分 Xeon 平台。因為這些平台提供的 Lane 數量更多，插槽組合也更複雜，如果全部靠硬體固定，會大幅降低主機板適配能力。&lt;/p&gt;
&lt;p&gt;Wait For BIOS 的優勢是靈活：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;BIOS 可以提供 &lt;code&gt;x16&lt;/code&gt;、&lt;code&gt;x8+x8&lt;/code&gt;、&lt;code&gt;x8+x4+x4&lt;/code&gt;、&lt;code&gt;x4+x4+x4+x4&lt;/code&gt; 等選項。&lt;/li&gt;
&lt;li&gt;同一張主機板可以適配不同擴充卡。&lt;/li&gt;
&lt;li&gt;更適合多 NVMe 轉接卡、PCIe 背板、伺服器 Riser 卡等場景。&lt;/li&gt;
&lt;li&gt;使用者可以根據裝置數量和頻寬需求調整。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;它的代價是平台和 BIOS 必須配合。CPU 或晶片組要支援對應拆分，主機板佈線要符合拆分方式，BIOS 也要把選項做出來。缺少其中任何一環，使用者都可能看不到可用的 bifurcation 設定。&lt;/p&gt;
&lt;h2 id=&#34;常見拆分組合&#34;&gt;常見拆分組合
&lt;/h2&gt;&lt;p&gt;不同平台支援的組合不一樣，但常見拆分方式大致如下：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.knightli.com/2026/05/02/pcie-bifurcation-modes/pcie-bifurcation-modes.svg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;PCIe bifurcation 常見拆分方式&#34;
	
	
&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;原始鏈路&lt;/th&gt;
          &lt;th&gt;常見拆分&lt;/th&gt;
          &lt;th&gt;典型用途&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;x16&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;x16&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;單顯示卡&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;x16&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;x8+x8&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;雙顯示卡、顯示卡加高速擴充卡&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;x16&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;x8+x4+x4&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;顯示卡加兩塊 NVMe SSD&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;x16&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;x4+x4+x4+x4&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;四盤 NVMe 轉接卡&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;x8&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;x4+x4&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;雙盤 NVMe、雙埠高速擴充&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;x4&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;x2+x2&lt;/code&gt; 或多個 &lt;code&gt;x1&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;較少見，取決於平台支援&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;在 DIY 場景裡，最常見的需求是把一個 &lt;code&gt;x16&lt;/code&gt; 插槽拆成 &lt;code&gt;x4+x4+x4+x4&lt;/code&gt;，配合四盤 M.2 轉接卡使用。這裡要特別注意：便宜的無晶片轉接卡只是把插槽實體轉接成多個 M.2，它本身不會負責拆分 PCIe 通道。&lt;/p&gt;
&lt;p&gt;如果主機板不支援 &lt;code&gt;x4+x4+x4+x4&lt;/code&gt;，這種轉接卡通常只能識別第一塊 SSD。想在不支援 bifurcation 的主機板上使用多盤卡，需要帶 PCIe Switch 晶片的擴充卡，但這類卡成本高得多。&lt;/p&gt;
&lt;h2 id=&#34;bifurcation-和-pcie-switch-的區別&#34;&gt;bifurcation 和 PCIe Switch 的區別
&lt;/h2&gt;&lt;p&gt;bifurcation 是把上游已有的 Lane 拆給多個下游埠。它不增加 Lane 數，只改變分配方式。&lt;/p&gt;
&lt;p&gt;PCIe Switch 則像一個 PCIe 交換晶片。它可以把一個上游鏈路連接到多個下游裝置，讓系統看到更多裝置。它也不憑空增加上游頻寬，但可以解決「主機板不支援通道拆分仍要接多裝置」的問題。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.knightli.com/2026/05/02/pcie-bifurcation-modes/pcie-switch-vs-bifurcation.svg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;PCIe bifurcation 與 PCIe Switch 對比&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;兩者差異可以這樣理解：&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;方案&lt;/th&gt;
          &lt;th&gt;是否需要主機板支援 bifurcation&lt;/th&gt;
          &lt;th&gt;成本&lt;/th&gt;
          &lt;th&gt;適合場景&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;無晶片 M.2 轉接卡&lt;/td&gt;
          &lt;td&gt;需要&lt;/td&gt;
          &lt;td&gt;低&lt;/td&gt;
          &lt;td&gt;主機板支援 &lt;code&gt;x4+x4+x4+x4&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;帶 PCIe Switch 的擴充卡&lt;/td&gt;
          &lt;td&gt;不一定需要&lt;/td&gt;
          &lt;td&gt;高&lt;/td&gt;
          &lt;td&gt;主機板不支援拆分但需要多裝置&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;所以買多 M.2 擴充卡前，要先看主機板 BIOS 是否支援對應拆分。如果只寫「支援 PCIe x16 插槽」，並不代表它支援四盤同時識別。&lt;/p&gt;
&lt;h2 id=&#34;選購和排查建議&#34;&gt;選購和排查建議
&lt;/h2&gt;&lt;p&gt;如果你想使用 PCIe bifurcation，可以按這個順序確認：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;查 CPU 或平台是否支援目標拆分方式。&lt;/li&gt;
&lt;li&gt;查主機板說明書，看目標插槽是否支援 &lt;code&gt;x8+x8&lt;/code&gt;、&lt;code&gt;x8+x4+x4&lt;/code&gt; 或 &lt;code&gt;x4+x4+x4+x4&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;進入 BIOS，確認是否有 PCIe bifurcation、PCIe lane configuration、slot configuration 之類選項。&lt;/li&gt;
&lt;li&gt;確認擴充卡是無晶片轉接卡，還是帶 PCIe Switch 的卡。&lt;/li&gt;
&lt;li&gt;確認裝置插滿後是否會和 M.2、SATA、板載網卡等共享通道。&lt;/li&gt;
&lt;li&gt;進系統後用工具查看實際鏈路寬度和裝置枚舉情況。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;如果擴充卡只能識別一塊盤，優先檢查 BIOS 拆分選項。如果 BIOS 沒有相關設定，大概率不是驅動問題，而是主機板沒有把這組 Lane 拆給多個裝置。&lt;/p&gt;
&lt;p&gt;如果裝置都能識別，但速度不對，再檢查鏈路 Training。線材、轉接卡品質、插槽佈線、PCIe 版本和裝置相容性，都可能導致鏈路從 Gen4 降到 Gen3，甚至降到更低。&lt;/p&gt;
&lt;h2 id=&#34;小結&#34;&gt;小結
&lt;/h2&gt;&lt;p&gt;PCIe bifurcation 的本質，是在 PCIe 初始化早期決定 Lane 的組織方式。Hard Strap 靠硬體固定，Soft Strap 靠平台配置，Wait For BIOS 則由 BIOS 在訓練鏈路前動態設定。&lt;/p&gt;
&lt;p&gt;對普通裝機使用者來說，最重要的結論有三點：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;x16&lt;/code&gt; 實體插槽不等於一定能拆成多個 &lt;code&gt;x4&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;無晶片多 M.2 轉接卡必須依賴主機板 bifurcation。&lt;/li&gt;
&lt;li&gt;是否支援拆分，要同時看 CPU、主機板佈線和 BIOS 選項。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;理解這些之後，再看主機板規格表裡的 &lt;code&gt;x16&lt;/code&gt;、&lt;code&gt;x8+x8&lt;/code&gt;、&lt;code&gt;x4+x4+x4+x4&lt;/code&gt;，就不會只停留在插槽長度上，而能判斷它到底能不能滿足實際擴充需求。&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
