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

愛吃香蕉的小仙女






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


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中的天使


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

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

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

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


負石


當然可以,而且會越做越好。但是根據摩爾定律,那麼單核產品的價格會不斷的降低那樣廠商就沒法賺錢了,其實多核也沒有提高多少性能和成本,反而讓商家有了更多的利潤,這是一種商業行為而不是科技行為,商家不會把生意做得越來越便宜那樣不符合商人的特質。


彭潔林


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

...

計算機處理器有個參數叫頻率...什麼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就是因為如今的單核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跳出正在處理的任務來優先處理有中斷請求的任務,任務完成後再反回到中斷點繼續運行剛未完成的任務。

時間中斷多任務分時處理是指那些有時間週期要求精準的任務,有周期性規率任務。

普通任務,普通的任務CPU會以先到先處理的列表任務模式運算。

CPU的時鐘頻率做不到無休止提升,總會有一個瓶徑,越大越複雜越強大的CPU相對時鐘頻率越難做高。

二,電子延遲。

當CPU的核心面積越大,電子傳送延時越大。CPU是由非常多的門電路並行運行的,所以電子延時的相位角度如果超過45度,那麼門電路的工作可能就處於失步了,一但失步數據就會出錯,所以主板上各總線都必須使用等長線來減少相位角畸變而造成時鐘失步。

舉個例,時鐘頻率為1G,那麼時鐘波長為接近300mm左右,對於只有10幾毫米*10幾毫米的核心尺寸影響不大。但當時鍾頻率為5G時,波長為60mm左右,45度相位角差不多是1/8波長,為7.5mm波長,這個尺寸對於核心尺寸來說,已經是致命的錯誤了。

三,多核心任務處理

CPU多核心任務處理可以將不同的獨立任務分配給不同的CPU核心處理,這樣一來就可以大大減少任務中斷和任務排隊的問題。這樣可以大量處理異步運算任務。

再舉個例,高速路的進出口如果是一個的話,所有車輛就必須排隊,然後特別車輛優先通行,你沒有特別通行證你就得在後面等。多核心CPU就是多進出通道,免費通道,ETC通道,綠色通道,貨車通道小客車通道等~~這樣通行效率就會非常高。

所以CPU還是多個小核芯高頻率時鐘為主流。

當然這需要系統的支持,系統的任務分配得好,運行效率就高。

四,CPU功耗與工藝。

CPU功耗基本可以理解為時鐘頻率*芯片面積。因為芯片所有的晶體管都有結間寄生電容效應。所以把芯片看成一個電容器,時鐘頻率越高,電容充放電越頻繁,所以功耗就越高。

CPU要提高工作頻率最直接的方法是提升加工工藝,減少晶體管的面積,讓CPU處理核芯尺寸儘可以的小,核芯越小距離越短,距離正短支持的頻率就越高。時鐘頻率能上去處理速度也成正比增加。

非專業解釋,就這樣吧。


亞熱帶老企鵝


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


城市風雲兒


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

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

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

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


分享到:


相關文章: