CNVi 技術會是雷電 3 ( Thunderbolt 3 ) 介面的小小救星嗎?

CNVi 技術會是雷電 3 ( Thunderbolt 3 ) 介面的小小救星嗎?

這是個腦洞挺大的標題。我之所以想寫該主題,是因為晚上看到篇關於 ThinkPad X1 Tablet Evo 的評測,閱畢,對其中 PCI-E 通道的分配方式產生了一些曲解 ( 見該評測的評論 ) 。有陌生知識點就該學習,於是去查了一些資料,就有了這篇筆(che)記(dan)。


① 適用於射頻模塊 ( RF Module ) 的 M.2 連接器 ( M.2 Connector ) 的定義

目前超極本和平板所普遍採用的 WiFi + 藍牙(BT) 二合一模塊,統稱為射頻模塊。常見的射頻模塊有兩種形式:M.2 2230 和 M.2 1216 ,其中,前者尺寸為 22mm*30mm ,後者尺寸為 12mm*16mm ;除了尺寸上的區別,前者是插卡的版本 ( 即金手指與插槽連接 ) ,後者直接錫焊在主板上 ( PCI-SIG 協會將這種連接方式定義為 Socket 1 ,而前者為 Socket 2 或 3 ) 。


② 射頻模塊與晶元組 ( PCH or SoC ) 的經典連接方式及其不足

多年來,射頻模塊一直使用 PCI-E + USB 通道與晶元組連接 ( 見下圖左半邊 ) 。其中,PCI-E 通道連接 WiFi 部分,USB 通道連接 BT 部分,M.2 2230 和 1216 均可支持兩種通道同時連接。

這種連接方式是存在不足的。由於射頻模塊採用 PCI-E 和 USB 通道,對於操作系統而言,WiFi 部分會被識別為 PCI-E 設備,BT 部分則會被認為是 USB 設備。CPU 和晶元組與射頻模塊的通信,是以與 PCI-E / USB 設備通信的方式進行的,相當於在控制獨立的硬體設備。按照 Intel 官方的說法,在功耗 ( power ) 、成本 ( cost ) 和體積 ( size ) 上都存在浪費。


③ CNVi ( Connectivity Integration Architecture ) 的含義及其優勢

CNVi 正是為解決以上不足而提出的。Intel 官方也將 CNVi 稱作 Integrated Intel Wireless-AC Solution ,顧名思義,這是集成化的無線解決方案,對此,Intel 卻解釋的很含糊:

The integrated Intel? Wireless-AC moves key elements of Wi-Fi and Bluetooth? Technology into Intel? processors.

那麼,這個「 key elements 」指的究竟是什麼呢?其實從上圖右半邊可以看出,有了 CNVi 之後,射頻模塊的 WiFi 和 BT 部分均有不同程度的精簡,名稱也降格為了伴射頻模塊 ( Companion RF Module , CRF Module ) ,具體而言:

  • 對於 WiFi 部分,CNVi 集成了 MAC
  • 對於 BT 部分,CNVi 除了集成 MAC 層,還包括 BB ( Base Band ) Modem

如此一來,BT 部分就不再需要 USB 連接,可以直接使用 GPIO ,原因是通信的雙方從「 晶元組 」與「 BT 設備 」變成了「 BB Modem 」與「 BB Filters 」,即 BT 設備內部的通信。

而對於 WiFi 部分而言,由於 CNVi 仍然未集成 WiFi 模塊的 BB Modem,並不能使用 GPIO 。顯然,PCI-E 也不適用,因為此時是 MAC 與 Modem 的通信,可以看成是「 數據鏈路層 」與「 物理層 」的事情。對此,CNVi 特別設計了一種介面,稱作 CNVio ( 毫無創意的名字 ) ,CNVio 就是通信的通道。

可以看出,CNVi 的思路,部分參考了當年晶元組南橋部分集成乙太網 MAC ( Ethernet Link Layer ) 的做法。有了 CNVi ,除了圖片里提到的三點優勢,諸如 PXE OpROM on WLAN 、Power on WLAN ( 腦洞大開 ) 或許也是可期待的。


④ 能夠支持 CNVi 的平台 ( 三部分需要同時滿足 )

  • CPU 部分:

8th Gen Intel? Core? processors *

Intel? Pentium? Silver processors based on Gemini Lake

Celeron? processors based on Gemini Lake

* 以上是 Intel 給出的列表 —— 事實上,按照前面那張圖片所透露的信息,8th Gen Core 應當只包括 Coffee Lake ,i5-8250U / 8350U 、i7-8550U / 8650U 這些 Kaby Lake R ( Refresh ) 型號是不包括在內的。

  • 晶元組部分:

Intel? 300 Series Chipsets for Coffee Lake

H310 / B360 / H370 / Q370 / HM370 / QM370 / CM246 ,不包括 Z370

  • 射頻模塊部分:

Intel? Jefferson Peak CRF Module Series

Wireless-AC 9461 / 9462 / 9560 M.2 CNVio CRF Modules


⑤ CNVi 技術會是雷電 3 ( Thunderbolt 3 ) 介面的救星嗎?

回到標題所提出的問題。引入 CNVi ,省下了一條 PCI-E 通道 ( 和 USB ) ,這似乎是微不足道的 —— 但又是至關重要的。

原因是,像 ThinkPad X1 Tablet Evo 這樣的產品,滿足以下條件:

  • 輕薄設計 ( 平板、超極本、二合一產品、NUC ,等等 )
  • 搭載 15W 的 -U 系列 CPU ( 或 28W ,總之是 SoC )
  • 帶有兩個 ( 或更多的 ) 雷電 3 介面 ( Intel 已經取消了雷電 3 的授權費 )

不可避免地會遇到一個問題:PCI-E 通道數不夠用。以 i7-8550U 為例,它集成有 16 條 HSIO ( High Speed IO ) ,其中有 12 條 HSIO 可以被配置為 PCI-E 通道 ( 見 I/O Data Sheet PDF 的第 24 頁 ):

HSIO Multiplexing on PCH-U

然而,將這 12 條 HSIO 全部配置為 PCI-E ,是有前提的:

  • 不使用 GbE ( 圖中藍色部分 ) ,即千兆乙太網的 MAC
  • 不使用 USB3 #5~6 ,即 5~6 號 USB3.0 介面
  • 獨立*使用 SATA 介面 ( 圖中綠色部分 )

* 在這裡,"獨立" 是指將 SATA 介面做成 7pin ( 獨立 SATA 介面 ) 、7+15pin ( 2.5 寸硬碟所用的介面 ) 或 7+9pin ( 2.5 寸光碟機所用的介面 ) 的形式,由於以上介面都僅能用於 SATA 設備,會導致同一 HSIO 下的 PCI-E 通道在事實上無法被利用 ( 即「物理上的插槽」與「邏輯上的定義」產生了衝突 ) 。這個現象,對於"惜資源如金"的工控主板電路工程師來說,感觸會尤其深刻 ( 甚至有時候在 PCB 打板時才會發現不對勁,白花花的銀子呀 ) 。

相對應地,"非獨立" 是將 SATA 介面做成可切換的形式。例如早期的 mSATA / mPCIe 二合一插槽,現在演變為 M.2 Key B+M ,這種插槽同時支持 SATA 和 PCI-E 的設備,由 UEFI BIOS 切換其功能:當切換為 M.2 Storage 模式時,支持 SATA 或 PCI-E 2X 的 SSD ,載入 Intel Rapid Storage Techonology ;當切換為 M.2 PCI-E 設備時,不載入 Intel RST ,主要用於 WWAN 模塊 ( 即 4G 網卡 ) 。

現在,假設滿足以上前提,那麼每增加一根供 NVMe SSD 使用的 M.2 Key M 插槽 ( 即圖中粉紅色的 Intel PCIe* Storage Device ) ,需要多佔用 4 條 PCI-E 通道 —— 也就是說,最多還剩下 8 條。而全速 ( 40Gbps ) 的雷電 3 介面,是需要使用 4 條 PCI-E 通道的,一旦給兩個雷電 3 介面以獨享的 PCI-E 通道,所剩的 8 條將全部分配完畢。結果是,沒有留給射頻模塊 ( 無線網卡 ) 的 PCI-E 通道了。所以,目前的通行做法 ( 包括 MacBook Pro 在內 ) 是,每兩個雷電 3 介面只使用一個雷電 3 控制器,讓這兩個介面共享 4 條 PCI-E 通道。

但是,這種通行做法並不是最優的。還是以 i7-8550U 為例,其 Spec 頁面指出了所支持的 PCI-E 組織形式:1x4, 2x2, 1x2+2x1 and 4x1 ,以此可以猜測 ThinkPad X1 Tablet Evo 的 PCI-E 配置:由於 RF Module 需要同時使用 PCI-E 和 USB ,其 M.2 Key E 插槽必然在 HSIO #5~6 的位置上;雷電 3 控制器和 NVMe SSD 各使用 4 條 PCI-E ( 實際順序也許和圖裡是反的,這個不重要 ) ,總的來看,是類似於下圖這樣:

也就是說,12 條 PCI-E 被配置為 4x1 + 4x1 + 2x2 或 4x1 + 4x1 + (1x2+2x1) —— 無論實際是哪一種,圖中紅色問號所指出的 PCI-E 資源都是閑置的 ( 或者說被浪費 ) ,閑置的原因正是射頻模塊佔用了寶貴的資源。要解決這個問題,CNVi 是很合適的。一旦引入 CNVi ,就可以空出完整的 3 組 4x1 PCI-E 資源,除了 NVMe SSD 使用其中 1 組,還可以讓每個雷電 3 介面都有對應的雷電 3 控制器,以及獨享的 PCI-E 4X 帶寬。

順帶一提,除了 CNVi 的利好,Intel 似乎還打算直接解決 PCI-E 通道數不足的問題。雖然現在還不知道 Whiskey Lake 是個什麼鬼,但從 Coffee Lake 起,Intel 已經把 -U 系列 CPU 所集成的 PCI-E 通道數,從 Haswell / Broadwell / Skylake / Kaby Lake 的 12 條,增加到了 16 條,比如 i5-8259U ( 雖然 i5-8259U 是 28W 的 eDRAM 版本,但是 Kaby Lake 的 28W eDRAM 版也是 12 條 PCI-E ) 。有理由認為 i5-9250U / i7-9550U ( 如果這就是 Whiskey Lake 的話 ) 同樣是 16 條 PCI-E 。

設想一下美好的應用場景:有了兩條獨享帶寬的全速雷電 3 介面,一個外接獨立顯卡,另一個外接拓展塢,只需幾秒鐘,就可以讓輕薄本 ( 平板 ) 在性能和功能上同時進化~


推薦閱讀:

網易雲音樂有哪些扎心的熱評?
科技足夠發達之後,還會有迷信嗎?
科技領域有沒有(過)難以傳世的事物?
無厘頭問題:為什麼小米的生態鏈都叫「X米」?
去掉這個基因就能長生不老?新研究或可逆轉人腦衰退!

TAG:科技 | 中央處理器CPU | 英特爾Intel |