題 為何選擇多核處理器?


為什麼芯片包含越來越多的內核?為什麼不製造更大的單核處理器?製造更容易嗎?是否允許程序使用單獨的內核進行多線程?


14
2018-06-12 14:29


起源


原因主要是營銷。大多數用戶不會從多核心中受益,但它被大肆宣傳得更好。它主要用於服務器或高級用戶。 - harrymc
當然有炒作,但也有好處。如今大多數用戶都可以從多核(即通常是雙核)中受益,因為大多數用戶都使用具有多個執行線程的操作系統。但對於那些仍在使用Windows 95或更早版本的用戶,我同意多核可能完全是浪費時間。 - irrational John
在harrymc:“原因主要是營銷。大多數用戶不會受益於多核,但它被大肆宣傳更好。它對服務器或高級用戶來說很有意義。” ---那些貪吃的蛇油推銷員...... - Daniel


答案:


多核的趨勢是一種工程方法,可幫助CPU設計人員避免頻率縮放不斷增加帶來的功耗問題。隨著CPU速度上升到3-4 Ghz範圍,更快的電量開始變得令人望而卻步。造成這種情況的技術原因很複雜,但熱量損失和洩漏電流(僅通過電路而沒有做任何有用的功率)等因素隨著頻率的增加而增加得更快。雖然構建一個6 GHz通用x86 CPU當然是可能的,但這樣做效率並不經濟。這就是為什麼轉向多核的原因,這就是為什麼我們會看到這種趨勢至少持續到並行化問題變得無法克服的原因。目前,虛擬化趨勢在服務器領域有所幫助,因為這使我們能夠無論如何有效地並行化聚合工作負載。

作為一個實際例子,E5640 Xeon(4核@ 2.66 GHz)的功率包絡為95瓦,而L5630(4核@ 2.13 GHz)僅需40瓦。對於大部分功能兼容的CPU來說,CPU的CPU功率增加了24%。 X5677具有更多功能,可將速度提升至3.46 GHz,但處理能力僅提高60%,電功率提高225%。

現在將X5560(2.8 GHz,4核,95瓦)與較新的X5660(2.8 GHz,6核,95瓦)進行比較,並在插槽中提供50%的額外計算能力(可能,假設 阿姆達爾定律 現在對我們很友好),不需要任何額外的電力。 AMD的6100系列CPU在總體性能方面比2400 \ 8400系列有類似的增長,同時保持電力消耗不變。

對於單線程任務,這是一個問題,但如果您的要求是向分佈式處理集群或虛擬化集群提供大量聚合CPU電源,那麼這是一種合理的方法。這意味著對於目前大多數服務器環境而言,擴展每個CPU中的內核數量比嘗試構建更快\更好的單核CPU更好。

這種趨勢將持續一段時間,但存在挑戰並且不斷擴大內核數量並不容易(保持內存帶寬足夠高,並且隨著內核數量的增長管理緩存變得更加困難)。這意味著目前每個插槽核心數量的爆炸式增長必須在幾代內減速,我們將看到其他一些方法。


23
2018-06-12 20:47



我不能告訴你有多少次我試圖向那些仍然認為5年前的3.6GHz CPU比採用最新技術的2.8GHz CPU更快的人解釋這一點。真氣。我討厭兆赫的神話。 - churnd
由於電信號的光速,是否也存在物理限制? - mouche
@churnd - 但請注意他們在某種程度上是正確的。因為我們不能將速度與功率混合(3,6 Ghz無疑比2,8 Ghz更快;它不是更強大的功能)。對於那些需要速度更快但尚未熟練使用線程/並行編程技術的程序員來說,它可以產生重大影響。 - Rook
@ldigas那些程序員關心的是單核指令執行速率,而不是核心時鐘速度。即使時鐘速度較低,現代CPU的單核指令執行率也要高得多。 - David Schwartz


幾年前單處理器的計算能力和時鐘頻率達到了頂峰,創建比現有處理器更強大和/或更快的處理器並不容易;因此主要的CPU製造商(英特爾,AMD)改變了戰略並走向了多核。當然,這需要應用程序開發人員進行大量工作才能充分利用多任務處理能力:在單個任務上運行的程序無法從多核CPU中獲得任何好處(儘管系統獲得了總體獎金,因為如果單個進程佔用單個CPU達到100%的使用率,它就不會鎖定。

關於物理架構(多核處理器而不是多核單核處理器)......你應該問英特爾。但我很確定這與主板相比有一個CPU插座比具有多個CPU的主板更容易設計和製造。


4
2018-06-12 14:40



我希望,我們會越來越多地聽到 阿姆達爾定律 比摩爾定律。 - Evan Anderson


讓它們變得更快有點太難了。

問題是,你需要立即處理一堆指令,當前的x86 cpu有80個或更多指令同時處理,似乎是限制,因為它被P4擊中,哎呀,Pentium Pro在1995年做了40次。典型的指令流是不可預測的(你必須猜測分支,內存訪問等),以便一次執行多個指令(486做5,Pentium做10,勉強) 。

因此,雖然您可以使它們更寬(更多功能單元來執行每條指令),但是更長(更深的管道來隱藏延遲),它似乎沒有多大好處。而且我們似乎也以時鐘速度撞牆。而且我們仍然記憶猶新。分裂成許多cpu似乎是一場胜利。此外,他們可以共享緩存。

還有更多內容,但它歸結為傳統程序無法在我們可以想像如何設計和構建的任何硬件上快得多地運行。

現在,如果可預測性不是問題,例如,許多科學問題和圖形(它們通常歸結為將這組數字乘以這組數字),情況並非如此,因此英特爾IA64的普及( Itanium)和GPU,只是越來越快,但它們不會幫助你更好地運行Word。


4
2018-06-13 02:04





為了提高時鐘速度,芯片上的矽晶體管需要能夠更快地切換。這些更高的速度需要更高的輸入電壓和半導體製造工藝 洩漏,這兩者都會增加功耗和熱量輸出。您最終無法在不需要過多電量或使用外來冷卻解決方案的情況下進一步提高時鐘頻率。

為了說明這個問題,我將比較兩個現代AMD處理器。 AMD FX-9590開箱即可達到高達5 GHz的時鐘速度,但核心電壓高達1.912 V,這對於32nm芯片來說非常高,並且消除了瘋狂 220瓦 熱量。 FX-8350基於相同的裸片,最高工作頻率為4.2 GHz,最高工作電壓為1.4 V,功耗為125瓦。

因此,工程師不是試圖進一步增加時鐘,而是試圖讓芯片以其他方式更快地工作,包括設計它們以同時運行多個進程 - 因此多核處理器。


1
2018-01-28 02:32





摩爾定律。基本上處理器不能更快(5年前頻率達到3 GHz並且從未超過這個頻率),因此通過獲得更多內核它們變得更加強大。


0
2018-06-12 14:40



恕我直言摩爾定律更多的是描述而不是預測......確定它仍然存在,而且它仍然存在,但沒有任何保證它明天不會破裂。你不能去找一個工程師告訴他“你應該能做到這一點,因為摩爾定律說它可以做到”當物理學不再允許它時。 - vlad-ardelean