多核 CPU 和多個 CPU 有何區別?

時間 2021-05-05 14:41:54

1樓:Mikewe

可以將現有共享記憶體多處理器分為兩類,第一類是對稱(共享記憶體)多處理器(SMP:Symmetrical Muti-processing)或者叫做集中式共享記憶體多處理器或者統一記憶體訪問(UMA),特點是核心數目少,通常不超過8個,對稱的意思是所有處理器都能夠平等地共享乙個集中式記憶體。另外一種架構採用物理分布式記憶體,稱為分布式共享記憶體(DSM:

Distributed shared memory)或者叫做NUMA(非統一記憶體訪問)

下圖展示了SMP(UMA)架構和DSM(NUMA)架構的區別圖1 基於多核晶元的集中式共享記憶體多處理器的基本結構圖2 NUMA的架構

2樓:明辰君

多核CPU是核心數量多,多個CPU是一主機板可以同時放兩到四個CPU,打比如你主機板只能用乙個CPU,核心數是十核二十執行緒,而另外乙個主機板支援兩個CPU同時使用,每個CPU是十核二十執行緒,兩個就是二十核心四十執行緒。

3樓:chengfangYe

首先CPU之間通訊就不一樣.

多CPU比較典型的SMP 。

其次對製造要求不一樣。

多核CPU同樣大小晶元面積封裝了更多電路結構比多處理器使用多個晶元封裝處理製造難度大。

4樓:

其實除了成本更高外,多cpu系統比多核cpu速度更快。因為i/o(記憶體)比cpu至少慢1000倍,多CPU有多個I/O通道,但多核cpu只有1到2個I/O通道。當多個cpu/核需要同時進行i/o操作時(比如讀寫記憶體),多cpu系統可以不需要等待,直接讀寫。

而多核系統則需要排隊等候唯一/二的i/o通道。如果是分布式的多cpu系統,還可以避免所謂的cache的false sharing(這是smp系統難以避免的問題)。這就是為什麼採購HPC系統時,希望節點多一些,核少一些的原因。

但是節點多可比核多要貴多了。

5樓:貪貪

相同的處理效能(理論)相同的情況下存在鏈結裝置產生的不同步以及能耗問題,導致效應速度慢,導致實際處理效能不同,詳見3ds的2023年作品如何把3ds拉下神壇。

6樓:博浩天

簡單來說,多核CPU相當於乙個人既會A技能又會B技能,對於同時要AB兩個技能的工作,可以自己1個人就搞定;多CPU就相當於甲會A技能,乙會B技能,要同時運用AB技能處理工作的時候,甲和乙得商量著,溝通著做,對於單一工作的處理效率要低一些,但對於大量複雜或者重複的工作來說,總的工作能力是遠超過乙個人的

7樓:你是微光i

我是微電子專業的,核心太小了,不封起來不方便加裝操作,而且容易弄丟(手動狗頭),你是不知道cpu真正幹活的那部分有多小,根本用不著分開弄多個cpu

8樓:烏合之眾

多個單核CPU:成本更高,因為每個CPU都需要一定的線路電路支援,這樣對主機板上布局佈線極為不便。並且當執行多執行緒任務時,多執行緒間通訊協同合作也是乙個問題。

依賴匯流排的傳輸,速度較慢,且每乙個執行緒因為執行在不同的CPU上。導致不同執行緒間各開乙個Cache,會造成資源的浪費,同時如果執行緒間協作就會有冗餘資料的產生,更加大了記憶體的開銷。

單個多核CPU:可以很好地規避基本上多個單核CPU提到的所有缺點。他不需要考慮硬體上的開銷以及複雜性問題,同時也可以很好地解決多執行緒間協同工作的問題,減少記憶體的開銷,因為多執行緒程式在多核CPU中執行是共用一塊記憶體區的,資料的傳輸速度比匯流排來的要快同時不會有冗餘資料的產生。

單個多核CPU的問題也是顯而易見的,當多個較大程式共同執行時,記憶體就顯得極為匱乏了,不光是Cache占用的的問題,同時還有程式的指令以及資料的替換問題

9樓:鄭成達

乙個CPU核心就是乙個諸葛亮,赫茲就是這個諸葛亮一天要吃多少碗飯。

例如,乙個電腦裡只有乙個諸葛亮在進行計算,但這個諸葛亮一天能算十道題,要吃五碗飯。這就是少核大赫茲。或者乙個電腦裡有四個諸葛亮在計算,但每個諸葛亮只能算兩道題,但每個只吃一碗飯。

多核小赫茲。

當然,有些電腦裡面有很多很多組諸葛亮,他們遇到問題一起進行計算,但飯量也很驚人。這便是多個CPU

10樓:Godbird

我個人認為,多核CPU之間的通訊成本應該低於多CPU的情況,而且某些多核CPU可以共享Cache等等,但是對於作業系統和上層的開發人員來說,其實沒有太大差別,就算是Hyper-Threading技術這樣虛擬出來的邏輯CPU來說,對開發人員來說也沒有什麼差別。

11樓:蕭邦的辣椒

多核cpu就是多個cpu的最佳替代方案。

1:多核CPU功耗低,多個CPU功耗大

2:多核CPU體積小,多個CPU體積大

3:多核CPU所有核心封裝在同乙個dia裡,每個核心之間交換資料的速度極快。多個CPU之間交換資料需要經過以下步驟:

1CPU-1記憶體-主機板晶元-2記憶體-2CPU,交換資料的速度被慢速記憶體和低速頻寬拖累。

4:多核cpu共用一組記憶體,資料共享。多個CPU每個CPU必須配備專屬記憶體,否則無法工作。

12樓:王寧

不太了解底層細節,但我估計多核的重要優點之一是cache coherence實現起來效率更高,成本也比增加專用針腳和匯流排更低。

13樓:

首先簡單的增加CPU個數的方式沒有考慮到CPU與CPU之間如何高速通訊,其次如果採用了這種架構程式設計就應該要重新來過才可以高效的利用多個CPU,最後採用單晶元同構多核心的方式,你可以通過作業系統的設計讓你感覺不到程式是在多個核心上執行的,但是速度就是比單核快很多。

當然如果核心數多了很多,作業系統設計的思路也得改變,如果排程管理這些核心就是另外乙個複雜的話題了。

14樓:Ivony

這就像為什麼你要去公司上班而不是在家裡上班一樣。去公司上班(多核CPU)的話,資源共享(共享快取),溝通方便(CPU內資料傳輸速度遠大於匯流排速度)。

除非資訊科技(模擬匯流排)上有突破性進展,否則我們還是每天要擠公車去公司上班(多CPU方案無法取代多核)。

15樓:

通常講的多核指cpu的負責運算的核心, 但乙個cpu不僅僅包含計算核心部分, 還有其他裝置比如用於快速資料交換的cache以及與其他外設互動的控制器。在多核單cpu上存在著共享的部件, 那就必然涉及到衝突和協作的問題, 排隊等待的問題。無論是單cpu多核, 還是多cpu多核, 最終的計算效率取決於我們對於硬體資源的利用率如何, 無論是什麼結構, 效能的瓶頸總會是木桶論中最短的的那個木條

16樓:

多個CPU之間的協同一直是問題,至今沒有十分成熟可大規模商用解決方案,協同問題處理不好,反而會拉低總體效能,目前不採用額外方案可以接受的也就4P。而多核,可以通過共享cache等手段,在乙個封裝裡實現多個核心之間的高效協同。更詳細的,可以參考已經破產的3leaf公司的專利

17樓:grenade

CPU的效能不是簡簡單單的線性相加關係~ 多個CPU協同合作,必然要耗費更多的時間和通過更複雜的設計來協同各個核心,難度不小。

關於多執行緒程式設計和CPU多核多執行緒的關係?

佐佐浪 具體到你的例子,修改優先順序和修改時間片是無法達到這個效果的。你需要做的是把你的計算部分做成並行的。單獨乙個執行緒是達不到你要的效果的。 棒子先生 首相我們了解下為什麼需要用到4核,這是由於不能盲目的提高CPU的主頻和頻寬,這樣會產生各種實際很難處理的問題,比如溫度飆公升等。舉例來說我們需要...

CPU帶K和不帶K區別大嗎?

Nico 大致看了問題描述,其實題主只需要去了解一下些 睿頻 就能解決疑惑了。你的問題就是錯把睿頻的概念當做是超頻。單說近兩代intel平台,想要超頻,K Z缺一不可。 章程 首先其他的人的回答都是正確的,在其他人回答的基礎上我繼續補充。關於睿頻和超頻到底是什麼關係。其實二者完全相同。只是我們人為地...

10代CPU和8代CPU有什麼特別大的區別嗎?

8代CPU和10代CPU還是有較大區別的,相同頻率,相同核心數,10代U比8代U跑分高10 左右,還是比較可觀的。這是基於實際使用,兩種CPU的筆記本我都有,技術細節我不懂,也不關心。 Wei Li 架構上差別不大。intel現在面臨製程和架構雙尷尬場景,當然這個更多的是在桌面級產品上,伺服器級只有...