當有人問你,為什么電腦的CPU不設計成大小核,你會想到什么?當小編聽到這個問題時,第一想到的是功耗,畢竟即使是筆記本電腦,也沒有手機那樣長的續航要求。但只有這一個原因嗎?
眾所周知,現在手機里用的Arm SoC采用的是big.LITTLE大小核架構,也就是在一個SoC里面包含了幾個高性能核心和幾個高能效核心。但英特爾也有凌動(Atom)和酷睿(Core)兩種CPU(AMD也有類似產品線),為什么就遲遲沒把它們做在一起呢?這個問題其實早就有網友討論過,EDN小編現在在這里做個整理,看看有哪些說法靠譜。
四點想法以及指正
先看看下面某網友的幾個想法以及另一名網友的指正:
Intel不做大小核是因為這一點?
下面我們看看知乎網友北極談的幾點想法。他表示,首先有幾個事實必須要明確:
1. Intel也有低功耗的需求場景,Intel也做物聯網和低功耗設備。
2. Intel有足夠的技術能力設計出大小核的CPU。
3. Intel產品強調的是兼容性和產品的延續性——這是重點。
所以,所有在講不需要關注功耗、睿頻能解決功耗、ATOM架構功耗低的回答都是片面的。
首先,前兩條一起來說:不管是需求方面,還是設計能力,Intel都有對應的市場和相應的技術能力。Intel有做物聯網方面的需求,也有極低功耗的設備的需求,至于對應的技術能力,Intel更是沒問題,大小核又不是多復雜的東西,異構多核都能做出來,況且Intel還收購了Altera——本身就是沖著異構多核去發展的,做不出來是不可能的,況且在小核上真就搞不出SIMD指令?真要做,Intel會沒這個實力?
那么,Intel不做大小核的原因,無非就是一點:跟現有的產品特性不一致,在兼容性和延續性上達不到Intel的要求——不管是產品特性還是企業發展本身。
其實很多人在討論功耗的時候,多數情況下只關注到了頻率這一項。確實,根據公式,主頻確實是影響功耗的一個關鍵因素,但僅僅只有主頻嗎?有人會提到Intel是CISC,Arm是RISC,架構不一樣,但同為RISC的MIPS和PPC功耗并不低,況且Arm也嘗試進軍服務器市場,Arm的服務器級別的CPU功耗一樣很高。況且Intel的睿頻也并不能像Arm那樣降低多少功耗,Arm的大核是小核的性能的一倍多,功耗只有10%多一些,但Intel的睿頻差距能達到4倍甚至更多,功耗差距卻沒Arm那么大。真要考慮算力功耗比,顯卡可比CPU省電多了。所以主頻只是影響功耗的一方面,還有別的因素影響了功耗。
在Intel和Arm的架構上,對于編寫操作系統的人來說,最明顯的區別是對于cache的處理,看CPU的結構圖,cache占的地方基本上是最大的,功耗方面,cache也是的大頭,并且多數情況下,除了L1 cache以外,cache多數都是共享的,那么即使某個核心關掉了,cache也不能關。
cache對功耗的影響是很大的。在Arm上寫驅動和操作系統,需要很小心的維護cache的一致性,否則就容易出錯,而在x86上寫操作系統就相對簡單的多。
除了cache的問題,還有像memory ordering這類的區別。
在現代的CPU里,這些區別其實是功耗的大頭,而Intel和Arm的最大不同也就是這些。主頻降下來很容易,架構改變很難。
如果Intel的cache需要像Arm一樣不友好,那么Intel的CPU也許會很省電,但寫操作系統的人肯定會罵娘——難用、兼容性差,老代碼跑起來會有問題。
大小核看上去很美好,但核間遷移的效率極低,過去甚至需要以毫秒計算,要知道CPU的指令都是納秒級的。
所以,假設Intel做了大小核,如果仍然沿用現有的cache設計和內存模型,那么功耗并不會降低多少,因為Intel CPU即使降低主頻也不會多省電——這就是睿頻的思路。
況且核間遷移是一個很考驗cache設計的問題,Intel的cache設計已經是很復雜了,比Arm復雜的多。
所以,是這些兼容性和產品特性的問題,導致了Intel不會選擇做大小核——不是做不出來,也不是不值得做,真要做出來,也肯定不叫x86,而是別的名字。
Intel不做大小核,
是因為操作系統不支持
下面,我們再來看下這個說法,EDN小編認為這個可能最靠譜。
Intel要做大小核,實際受制于操作系統。Windows一直支持同構多處理器架構(SMP),直到Windows 10才開始支持異構多處理器架構(HMP),并且針對的主要還是使用Arm big.LITTLE的移動系統。對于桌面系統來說,功耗并不是個大問題。而且,大多數應用希望每個核心具有相似的性能特性,并且HMP系統的調度過程比傳統的SMP系統要復雜得多。
此外,目前大多數臺式機和筆記本電腦的處理器在某些核心需要快速運行,甚至是有短時突發的情況下,也不用擔心會出現散熱或者電氣問題。真正遇到的瓶頸是如何提高單個核心性能,而大小核設計并不能讓大核跑得更快。
雖然x86處理器也可以通過采用大小核設計來優化重載應用,但這會使處理器的設計復雜性攀升,并有可能遇到應用不支持或指令不兼容的情況。
大多數Windows下的多線程應用都假設每個內核的性能水平相同或幾乎相同,并且可以執行相同的指令。因此,這種不對稱性可能會導致性能不佳,甚至如果它使用了小核不支持的指令,還有可能崩潰。雖然英特爾可以通過修改小核,添加高級指令支持,但這不能解決異構處理器的軟件支持問題。
桌面CPU不是
不采用大小核設計,
而是即將采用大小核設計
知乎網友長生天尊的觀點是,桌面CPU并不是不采用大小核心設計,而是即將采用大小核心設計,因為任何歷史發展都是有慣性的,即使是CPU設計,也是有架構的慣性。總要有人先試水,后面跟上。
大小核心的優點在于低成本、功耗管理、單個die片面積小。缺點在于核心間通信延遲。
電腦CPU的架構不是一天就進化出來的。從1978到2018足足40年時間里面,x86不僅要進行架構上的演變,還要保持對軟件硬件的前向兼容問題。x86/X64的成功往往不是因為架構設計的先進,反而是架構設計的落后但兼容所帶來的成功。而那些架構優于Intel的RISC、MIPS但不能保證兼容的新架構都死在了沙灘上。
1. 從1978-1986年是CPU架構草創時代,這個時代CPU的性能主要由架構決定,在這時代的CPU架構百花齊放,x86才是眾多CPU設計中的一位小老弟,這時候的Digitial VAX-11/780才5MHz速度,而Intel的20286 80386并未形成技術上的護城河,Intel多虧了IBM的提攜才迅速的在家用機市場上普及,這時候的服務器市場依舊是IBM的PowerPC時代。
2. 從1986-2002年是主頻加速時代,即MIPS M2000 Intel 80486到Digital Alpha 21064、Dighital Alpha、Intel Pentium III 1000MHz,這個時代的CPU致力于以單核心、長流水線、超標量、亂序執行、主頻加速的方式來提升性能,比如Intel Pentium的2路超標量64位總線、Pentium Pro的亂序3路超標量、Pentium4的亂序流水線、片上L2緩存。直到Intel的奔騰系列達到4.0GHz之后撞上了功耗墻大家才發現,單核心的限制無法避免。最終業界普遍認為,單個核心的設計頻率最好不要達到5GHz以上。
3. 從2002至今是多核心加速性能時代,從AMD的K6雙核心開始,CPU進入了多核心加速時代,開始了L3緩存和Turbo睿頻,與其說電腦CPU不采用大小核心設計,不如說說Arm這家企業。
Arm以前是做低功耗處理器的,而手機的A7x系列設計則是在千禧年之后的事情,這意味著Arm SoC在設計之初就可以吸收多核心發展的思想,結合著自己獨特的電源管理能力,這意味著Arm開始時就是沖著省電多核心設計去的。
再加上Apple和Google兩家公司對Arm架構的情有獨鐘,唯一指定,使得Arm最終在手機芯片領域的崛起,但實際上這種崛起不是必然的,比如智能手機的發明者喬布斯,最開始找到的是Intel,Google最開始也是找到的Intel,但是Intel看不起手機市場,使得凌動系列錯失了手機智能化浪潮的發展機會,而AMD則由于資金問題不得不將移動CPU賣給了高通。
但這是個多核的時代,大小核心設計的確擁有潛力。
只要能夠解決通信延遲,單pcb版上多核心必然會重見天日。
英特爾大小核SoC
即將投產,會否應
用到電腦上面?
最后,再來看看英特爾最近這條新聞。
英特爾在本屆CES展會上所展出的產品主要跟移動相關。首先,英特爾再次確認使用大小核架構以及3D封裝的Lakefield處理器今年內投產,大核是1個Sunny Cove高性能核心,小核是4個Atom內核。同時會使用英特爾創新的3D封裝Foreros技術整合在一起。此外,英特爾推出了“雅典娜”筆記本計劃……
具體哪些產品會使用這款處理器還不得而知,最可能的還是移動設備,比如二合一筆記本等對續航要求較高的產品。
所以,最終電腦CPU是否也會采用大小核架構,讓我們拭目以待。
-
智能手機
+關注
關注
66文章
18543瀏覽量
180880 -
英特爾
+關注
關注
61文章
10007瀏覽量
172225 -
soc
+關注
關注
38文章
4199瀏覽量
218894
原文標題:為什么電腦CPU不像手機那樣做成大小核?
文章出處:【微信號:WW_CGQJS,微信公眾號:傳感器技術】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論