03.08 cpu為什麼要堆那麼多的核?做成一個性能超強的單核不行嗎?

愛吃香蕉的小仙女


這麼說吧,一個加工中心,有個分開的原料倉庫,用一輛10噸大卡車運材料,運一次可以滿足一天生產。後來產能提升,品種有多了,又在不同地點造了幾個倉庫,這時要滿足生產要麼原來的車加快速度不停的運(加快頻率),要麼買個50噸的車,每個原料還是每天運一次,運一次管幾天(加強單核運算能力),還要麼換幾臺5噸的,分開運不同倉庫(多核)。

那麼問題來了,在同時生產多個產品,且產量都不高,而且生產倉庫分散的情況下是用一個50噸的車來運,還是用幾個5噸的車來運合算?

所以單核強勁固然好,但往往運用時更多時候要同時處理幾個任務,這樣多核更適用。

蘋果單核強勁,那是因為蘋果都是單線程處理的,不像安卓後臺會掛一大堆進程


羊羊66515000


CPU的的單核性能有多重要,這個不用再重複了,但是CPU的單核性能可以無限增加下去嗎?回答這個問題之前,先說一個小故事吧。很多年前VIA威盛還可以跟英特爾硬剛,那時候是Pentium 4時代,英特爾在CPU頻率不斷突破1GHz、2GHz、3GHz之後要做更高頻率的CPU,放言稱奔4頻率上4GHz,後來就有了英特爾前任CEO巴瑞特下跪的一幕,因為英特爾在奔4時代並沒有如承諾的那樣推出4GHz高頻的產品。

但是很多人不知道的是,4GHz並不是英特爾當時的最終目標,2001年的IDF會議上英特爾曾經表示奔4處理器可以上10GHz頻率。如今18年過去了,這個目標一直都沒實現,(硅基時代)可能永遠都無法實現了。

這件事就能說明CPU頻率不是想提升就提升的,奔4時代過去這麼多年了,其實CPU的主流頻率依然在4GHz左右,英特爾雖然在酷睿i7-8086K上首次實現官方5GHz頻率,但絕大多數處理器日常使用的頻率都沒這麼高,高負載下頻率在4GHz出頭就不錯了。

制約單核性能超強的CPU出現的第一個問題就是頻率無法大幅提升,而這個因素也跟現在的製程工藝有關,實質上是摩爾定律已經失效了,這個影響了半導體行業50年的金科玉律隨著硅基芯片物理極限的到來已經失效了,從28nm節點之後其實就沒有帶來很大的性能改進了,而且功耗問題也越來越嚴重。

大家都知道理論上製程工藝越先進(製程數字越小),CPU性能會更高,功耗、發熱會更低,但是實際上這個問題很複雜,CPU的功耗可以分為靜態功耗(Static Power)及動態功耗(Dynamic Power),前者主要是漏電流引起的,製程越先進,漏電流又有增加的趨勢,而動態功耗可以用1/2*CV2F這個公式來計算,F頻率越高,動態功耗就越高。

為了上更高的頻率,電壓增加不可避免,但電壓高了功耗也高了,總之靜態功耗、動態功耗的存在就決定了CPU頻率越高,功耗就會極速增加,將會嚴重影響處理器的性能表現,因為要降頻。

說到這一點,英特爾的14nm工藝雖然被人調侃擠牙膏,但從技術上來說真的很牛了,從Skylake架構的第一代14nm到現在Coffee Lake的14nm++工藝,性能提升26%,或者功耗降低52%,在不改變基本結構的情況下這個成績很難得。

製程工藝的放緩導致CPU頻率不可能大幅提升,有很多人會想到那麼有沒有非常牛的CPU架構讓IPC性能大幅提升呢?理論上這種思路是可以的,但是現實很殘酷,CPU架構還是要服從半導體工藝物理定律的,沒有先進的工藝,再好的CPU架構也不可能實現。

此外,即便不考慮工藝對CPU架構的影響,單純說CPU架構的話,不論是X86還是ARM架構,在64位時代CPU單元不外乎就是ALU單元、緩存、I/O等子單元, 但是不論提升那部分單元,歸根到底還是要算到晶體管數量上來,還要考慮提升導致的成本——這個成本不只是錢的問題,比如提升L1/L2/L3緩存可以提高性能,但是緩存佔用的核心面積很大,而且還有命中率及命中懲罰的問題,不是隨便加加單元就行的。

此外,CPU的內部還可以分為整數部分、浮點部分,前者對日常使用很重要,浮點性能對計算更重要,但CPU的浮點性能並不是日常所需的,所以大家普遍感覺不到這部分的提升。

支持AVX512的酷睿i9-7900X浮點性能提升很大

公平地說,近年來CPU浮點單元的進步是符合題目所說的單核超強的要求的,因為從SSE到AVX到AVX2再到最新的AVX-512,CPU浮點性能是有大幅提升的。如英特爾所說:“藉助多達兩個512位融合乘加 (FMA) 單元,應用程序在512位矢量內的每個時鐘週期每秒可打包32次雙精度和64次單精度浮點運算,以及八個64位和十六個32位整數。因此,與英特爾高級矢量擴展 2.0(英特爾 AVX2)相比,數據寄存器的寬度、數量以及FMA單元的寬度都增加了一倍。”

但是前面也說了,CPU的浮點性能不是日常所需的,整數性能更加重要一些,但是整數單元性能提升就沒這麼明顯了,導致很多人以為CPU架構多年來擠牙膏。


超能網


我並不是專家,我大概一下,我個人的看法

理論上是可以,可以設計一個非常大的單核架構,把單核心的面積放大,頻率可能可以很高。

但是我們看幾乎所有做處理器的廠商,無論手機還是電腦,都沒有人願意這樣做。

雖然說蘋果手機的處理器單核心是放大了,但是由於ARM指令集的限制,實際上蘋果手機的單核心與電腦的單核,跑分上蘋果可以超越英特爾,但是實際用起來的時候,英特爾的速度絕對會比蘋果的處理器快上很多倍,只是跑分上看就可以超越罷了,因為英特爾是X86指令集

即便是英特爾,都沒有一味的把單核心放大,它還是採取多核心,我個人認為可能是受到工藝和發熱功耗的影響。而且如果只是單核心的話,在多任務處理方面,可能效率並不高。

就像你請了一個員工,非常厲害,可以同時做很多份工作,一心多用,但是呢,相比之下,你請五個人,每個人一心一用這樣每個人都可以專心做一件事情,而不是一個人同時做5,6樣事情

如果只是一個非常強大的單核心處理器,在多任務方面,他就是一心多用,可能會出現錯誤,效率降低,我想大概就是這個意思,所以幾乎沒有一個處理器廠商願意無限的放大核心面積。

即便是蘋果手機的處理器,他雖然單核面積非常大,但是他到最後還是採取多核心。

以上是我個人的觀點,畢竟我不是處理器專家,我只能大概解釋一下


48中的天使


我給你解釋一下...你使勁理解一下...

...

計算機處理器有個參數叫頻率...什麼2.4G 4.5G啊...這個是指一秒鐘有多少個時鐘週期...不是指令週期...指令週期一般為1-12個時鐘週期甚至更多...一般只有內部寄存器讀寫指令.加減乘指令能做到1時鐘週期...而內存存取指令的週期數很高...所有數據都在內存...根本無法有效減少內存讀寫指令...需要注意的是內存讀寫速度基本是恆定的...也就是CPU快沒用...比如假如在2.4G的處理器中讀內存中的數據為6個時鐘週期.那麼在4.8G的處理器就需要12個時鐘週期.也就是說在0.4G的處理器裡是一週期...所以單純提高頻率提高性能微乎其微...

...

最先想到的就是利用CPU在等待讀內存數據的週期中提前讀下一個內存中的數據...這一系列技術最早叫預讀.但代碼有條件跳轉.能判斷條件跳轉的預讀叫分支預測.預讀的層深叫流水線...

...

流水線並不完美...在多任務操作系統中..操作系統的時間片是通過保存和恢復整個寄存器實現的.術語叫保存恢復現場...這樣切換會嚴重破壞預讀的成功率...影響預讀命中率...導致CPU仍然需要等待讀取數據...解決這個問題的辦法...就是兩個處理器核心分別處理兩個進程...當進程為3-4個的時候...在單核處理器上程序一定會正常運行...但破壞預讀性能...運行效率很低...也就是說1個4G的核跑4線速度不如4個1G的核跑4線....

...

所以提高頻率完全不會顯著提高處理器性能...而提高核數會提高性能很明顯...


ACME63610374577






cpu做成一個強勁單核心是可行,只要頻率夠高,製作工藝夠先進,高速緩存l1 l2 l3參數不低於 l1不低於8way 64k,不過單核心效率就算夠高,都只能處理一件任務事情,而且達不到節能效果,發熱方面高頻u會比低頻多核心cpu高,這是其一,其二因為單核心物理核心很容易使用達到百分之99,那麼你要是多開個qq很容易造成系統未響應卡頓,相反你使用2個核心或者以上,因為其核心數量多,在處理器佔用方面隨之減少,那麼這個時候你就可以做更多的下載之類任務,或者網遊多開更多窗口,同時登陸多個帳號,這是為何處理器不向單核心高頻率發展,而走向更多核心路線發展的原因,現在不管是amd 還是英特爾公司都往核心數量不斷增多 就是有用戶覺得以前處理器處理數據效率太低,不如現在多核心,所以2家公司都把核心數量推上8核心或者以上,處理器分為民用,商業用,國家監測國防部用,微軟雲端服務器,為了節能環保,達到低碳,2家公司都往多核心發展,而不是一直走高頻路線就可以,線程數量也在不斷增加。超線程效率比單線程效率高,何必只做1核心1處理器線程,給你研發個6ghz單核,它能使用範圍也是很窄,要來什麼用,所以不是單核心技術達不到超強效率,也不是技術做不到,而是無那個必要去實現浪費時間得益不明顯。




後面我們來說說關於多核心存在的意義,存在即合理,那麼為何要做那麼多核心,而不是4核心呢,這個要從網遊時代遊戲多開說起,就我自己玩的網遊劍靈,雙開把amd fx8320 關閉核心到4個核心4個線程,此時處理器佔用使用為89%,其次像一些使用格式化工廠轉碼類軟件hd 1920x1080高分辨率轉換下都會佔滿100% cpu及線程,日常4k視頻轉碼



不在話下,雖然說當年snb處理器雙核心4線程i3就能幹翻fx 4300跟6300差不多持平這樣的處境,問題是2160p硬解一個已經爆佔滿了佔用100開始卡頓,fx 6300則沒有,處理器多核心戰未來,雖然路漫長但是已經是 如今的趨勢, 不然英特爾不會把堆核心到10核心出現了i7 6950x,i9 9900k ,頻率再高單核心再強,cpu資源搶奪厲害核心數小不足的地方,不利於大數據流處理,最終導致結果必然為以卡頓告終或處理器造成程序無響應,所以多核心發展出來意義非常之重大,尤其是服務器它的核心數量一般是民用2倍或者8倍多的核心,電腦真的不是隻是用來玩遊戲這一用途,你要明白,計算機它的用途很廣,計算機主要工作還是以計算速度快慢為主要,32多核心處理器不但是跑分高那麼簡單,它的渲染速度都不是8核心能比較的因為它的核心數量多,速度是比8核心快4倍,再舉個列子fx8跟翼龍x6 跑分差不多,核心數量只差2個,線程也是2個,但是跑r15浮點運算軟件速度比較慢,x6可以花費1分鐘才跑完,而fx8只需要45秒,這個時候就體現出多核心的價值了,現在銳龍8核心16線程比8核心8線程推土機渲染快2倍那麼多,道理也是一樣。


































玲奈愛柏木2


這個不行的,或者說,也可以,但是基本不具備實用性且毫無意義。為什麼呢?這就要說到很久以前了,當年,第一代i7 CPU大放異彩的時候,Intel有個高管在一個會議還是什麼高端場合上各種嘚瑟,他在嘚瑟i7變態的性能的時候就說到了工藝和架構方面的東西,說為什麼要追求架構和工藝地位革新,他拿i7 920還是哪個型號忘了舉例,如果按照以前的工藝和架構也可以做到i7 920的性能,但是芯片面積將會有16開的一張紙那麼大,且發熱可以用恐怖來形容,基本上基本上沒有任何使用價值了(腦補那畫面,散熱器可能要重十幾二十斤,主板的面積應該是以平方米的單位來計算了)。之所以會這樣,其實就是說,在考慮正常的,實用的,健康發展的前提下,任何架構和工藝都有相應的物理極限,這使得單純提升單核心的性能變得不可能,它總會達到上限的。而極具性價比和可持續發展且可以大幅節約成本的方案,那就是多核。多核雖然需要軟件適配,但是不管從哪個方面來看,這明顯比超級單核方案靠譜多了。


城市風雲兒


不是不行,intel和amd一直都在這樣做。任何一個公司都想提高單核性能。

但是現實的情況是,在一定製程內,保證單核核心面積情況下,要保證晶體管數目最大化,要保證發熱與功耗情況,要保證單核性能最大化。

為什麼要有前提?因為但核心做的太大要佔用昂貴的晶體管成本也就是晶圓成本,如今的程序都向多線程發展。那麼要求cpu也是多核心的。這一點短期內不會改變,因為軟件公司要比cpu公司多幾萬倍甚至幾百萬倍,當cpu恢復單核心結構,軟件公司也要放棄多線程優化回到從前的單線程優化。顯然這是不可能的。在可以遇見的未來,cpu還是會朝向更多核心發展。

因此在寸土寸金的晶圓上要儘量提高一定面積的單核心性能,這樣湊出來的預算多核心才不會面積超標,發熱超標,功耗超標。


負石


先問為什麼

cpu可以看做一家工廠,這家工廠不斷處理各處來的原料,再把成品輸送到顯示器。

如果一家工廠只有一個超級熟練工,那麼他同一時間只能處理一件產品。如果這家工廠有兩個四個甚至更多的普通熟練工,那麼同一時間可以處理多件商品,也就是cpu的多任務能力。

再問能不能

不是說cpu的單核能力不重要,有些軟件只支持單核,比如cad這種。多核強並不能替代單核的作用,根據阿姆達爾定律理論上任何多核程序的加速比都存在一個上限,即使你有無限多的核心。

一個核心強大與否的關鍵因素是他的頻率,目前為止cpu的頻率已經很難提升的,即使9900k超頻到5ghz發熱量也十分巨大。

以目前人類的生產工藝來說做一個超級強的單核難度大成本高,也不適合普通的消費者。

讀者老爺們喜歡就點點關注,小弟給大家磕頭了“咚咚咚”。


鍵攝局


多核CPU就是因為如今的單核CPU已經難以大幅度提升性能才誕生的,像X86和ARM這類通用處理器架構,一旦進入成熟期想通過修改架構來提升性能難度非常大,相比為了單核性能而消耗的時間和人力成本是相當不划算的,可以參考下奔騰4當年為了提升單核性能而造成的失敗後果。

單核性能的提升除了架構以外很重要的一點是取決於頻率和緩存,而頻率限於CPU溫度和功耗不可能增長太快,緩存限於CPU面積和成本同樣不能快速增長,這樣頻率和緩存只能依靠半導體工藝的進步來逐步提升。

最無奈的是,如今半導體工藝進步的越來越緩慢,單單是英特爾從14nm到10nm就用了好幾年的時間,工藝進步慢,CPU的單核性能和效率就難以大幅度提高,英特爾又不可能把X86架構大幅改動,即使ARM處理器工藝進化更快,但是受限於手機對續航和芯片面積的要求,CPU的單核性能仍然無法大幅提高。

相比之下,CPU通過增加核心數的方式來提升性能是效率最高的,因為CPU每個核心幾乎都是相同的,只要整體架構定型,設計製造起來相對容易得多,而應用程序通過多線程優化可以有效利用到多核CPU,最高甚至能達到翻倍的提升,這可不是單核簡單提升一下頻率和架構就可以達到的幅度,比純粹做單核的性價比高多了。

就這樣隨著多核CPU普及,支持多核的應用程序也越來越多,多核CPU也就越來越吃香,當然如果拿多核CPU的晶體管來做一顆超強單核也未必不可,但是這對製造商的良品率要求太高了,因為是單核CPU,一旦晶圓和芯片上有一點瑕疵就可能使CPU報廢,而多核CPU可以通過屏蔽核心來降級銷售,成本和利潤自然無法相比。

英特爾、高通、聯發科都是企業,必須要權衡成本和利潤,綜合來看,做多核CPU的好處自然更符合它們的利益,即使是蘋果,也是在不斷增加A芯片的核心數,所以多核CPU是大勢所趨。


嘟嘟聊數碼


您好!

單獨用CPU來敘述可能會有一堆專業術語,那我們就用舉例的方式來表述吧!

CPU當成工人來看的話,有體力強的工人,有術業專攻的人,那單獨一個人該如何撐起一家公司呢?

顯然一個再強的人,就算他一個能抵2個、3個,但還是會出現他在忙的時候其他工作就必須放下來,這時候就有所謂的人多好辦事,事實是這樣嗎??

當人多的時候,我們還需要去細分,財務部、人事部、車間、總經理…等,來實現所謂的分工合作,也就是所謂的CPU多核心化。

再來有描述到,雙核心處理能力贏過四核心,我們可以理解為,公司的領導才高八斗,能善用員工並分配好大家的工作,那麼兩個人肯定必四個人有效率,這就是CPU內部機制的分配問題。還有就是員工都很健康,每個都非常的淵博,那肯定能比過招工只要是個人就行,來的更有用處。

希望能幫助您!!


分享到:


相關文章: