南橋芯片,這個統管外部IO的芯片組,正在逐步變得面目可憎起來。經曆了ICH到PCH的轉變,越來越多的人都在質疑它的存在。為什麼不把PCH集成進CPU中?DMI 4個lane的小水管下面帶那麼多PCIe root port加各種USB 3.0/3.1和SATA port,會不會腸梗阻?今天我們一起來分析一下這麼做背後深層次的原因。
南橋的江湖地位問題熟悉計算機系統演變曆史的小夥伴們都知道。很久很久以前(也沒有多久了),計算機主闆上有CPU、北橋(MCH)和南橋(ICH)這三個主要的芯片:
由于FSB變成了系統效能的瓶頸和對多CPU的制約,在台式機和筆記本電腦中,MCH被請進CPU中,服務器市場雖然短暫的出現了IOH,但也慢慢的被CPU吞噬。
前後簡單的對比
CPU中MCH原來的部分,在桌面CPU中叫做System Agent(SA),在服務器CPU中叫做uncore(和内核core對應)。它基本還負責原來的功能,那就是内存管理和提供至少16個Lane的PCIe Root port來驅動顯卡(服務器uncore還包括QPI)。這絕不是表面看起來“換個馬甲”這麼簡單。脫離了FSB這條小細管道,内存控制器、PICe Root Port的root complex和内核之間的通信變成了ring bus乃至目前的Mesh網絡這種片内總線,羊腸小路變成了高速公路。如此改變讓原來的瓶頸消失了,計算機效能才在酷睿後有了質的飛躍。
作為統管大部分IO設備的江湖大佬,ICH到PCH的轉變卻十分的小,時至今日,除了DMI随着PCIe 3.0升級到DMI 3.0,和增加了更多的功能外,變化相對較小。很多人看他不順眼,欲除之而後快,讓江湖最後一個大佬CPU一統主闆。如果也把PCH整合進CPU,單芯片解決方案,也就是SOC,會帶來很多好處:
- 主闆可以更便宜。少一塊芯片的錢,主闆設計簡單一些,線路少些,這些都會幫助主闆成本下降。
- 南橋的設備可以擺脫DMI 3.0 8Gbps * 4的帶寬限制。如果我們把PCH中高速的USB 3.0/3.1, SATA ports和PCIe root ports提供的帶寬都加在一起,我們就會發現這個數字會遠遠高于DMI 3.0能夠提供的帶寬。如果将南橋整合進CPU,這些設備也就可以和原北橋的PCIe root port一樣接入IOSF骨幹bus,擺脫DMI小水管。
現實中我們除了看到ATOM系列全部是SOC、部分低端入門系列服務器是SOC(它原因比較有趣,我們今後再說)外,絕大部分主流系統PCH還是傲嬌地繼續戰鬥在第一線。這是為什麼呢?
有兩個原因十分明顯:
- 集成進PCH會造成CPU Die增大不少,從而造成CPU良率下降很多,成本增加明顯。
- PCH和CPU松耦合,從而CPU和PCH可以單獨生産,采用不同的工藝。實際上,CPU往往采用最新的制程,而PCH往往使用前期的制程。
還有一個十分重要的原因,也許是最重要的原因,往往不被人所知,那就是CPU的引腳pin不夠用了!
如果我們看現在的CPU引腳,因為内存channel的不斷增加和一些新的功能,LGA封裝的引腳不斷增加,一千多個引腳密密麻麻蔚為壯觀。随便增加引腳會帶來CPU兼容性的問題,Intel花了很大力氣才能基本保證2年的引腳不變,而AMD則為了保證4年引腳兼容性更付出了巨大的代價,個中原因我們今後再講。
如果我們再看PCH的引腳,就會發現它比CPU還要糟糕。幾乎所有低速的引腳都被複用了,某些引腳甚至有三到四個功能!需要BIOS來選擇(通過MUX)。高速引腳通過HSIO也被複用。如果PCH被整合到CPU中,會給引腳問題帶來災難性的後果,而主闆因為引腳的急劇增加,也對工藝和穩定性帶來負面影響。
什麼是HSIO?PCH的引腳就那麼多,而人們對高速設備,尤其是USB host和PCIe root port的需求卻越來越大。在所有低速引腳已經被充分挖潛,而低速引腳和高速引腳不能複用(想想看為什麼)的前提下,如何提供更多的高速設備,同時盡可能不很快增加引腳數量的問題被提上日程。
在引入Flex IO後,逐漸在所有PCH甚至ATOM SOC上,HSIO被作為一種高速設備複用技術被集成進入芯片中:
Denverton microserver SOC
每一路HSIO Lane提供8 Gbps的帶寬。内部的PCIe/USB/SATA設備控制器通過一層HSIO映射關系表對應到外部引腳上:
譬如我們可以将HSIO #10選擇連接到USB 3.0 #10上,或者是PCIe #4上,甚至是GBe(PCH集成網卡)。如此這般,給了主闆廠商很大的自由度,讓主闆廠商根據主闆的實際情況,自由選擇要多少PCIe,多少USB或者SATA。
另外需要澄清的是DMI并不在HSIO中。
DMI的帶寬問題DMI 3.0 4 × 8Gbps怎麼帶動這麼多的高速IO?我們上圖中有30個HSIO,每個支持8Gbps,如果他們都接上設備,會不會在DMI上造成擁堵?
當然會,不過在普通的台式機上這個問題不是很嚴重,而在高端台式機和服務器上是通過高端PCH提供的uplink直連CPU來解決的。你看的沒錯,PCH也有很多種,高端PCH甚至HSIO都會多一些。借用一句《動物莊園》裡的話:
所有PCH生來平等,但貴的PCH更平等一些。
結論引腳的稀缺性很多人都沒有意識到。于此同理,HSIO資源也是稀缺的,每升級一代,PCH就會提供更多的HSIO,來提供更多的USB port,因為現在越來越多的人選擇M.2 NvME SSD,PCIe root port也捉襟見肘起來。更多的HSIO,可以讓主闆廠商有更多的騰挪和發揮空間。
最後給大家兩個思考題,Coffeelake CPU引腳圖如下:
Kabylake CPU:
- 說引腳不夠用,為什麼電源和地占據了幾乎一半引腳?
- 同樣1151 socket,從Kabylake到Coffeelake什麼變了,為什麼?