高通的非同步多核和標準 ARM 的同步多核有什麼具體的區別?
如題。只是同步多核工作時核心一起工作而非同步多核工作時是一個滿載了再啟用第二個第三個嗎?有什麼利弊?
老問題了。asmp和smp之爭,不過現在基本不在乎這點性能損失。以下就當神論看吧,各自立場不同,也懶得在這個point上繼續爭辯下去。部分參考移動CPU非同步多核和大小核的那些事arm標準架構(內核),是Symmetric multiprocessing,縮寫smp,對稱多處理。
高通的非同步多核,自稱asmp,Asynchronous smp,非同步對稱多處理。
非同步頻率架構(Asynchronous Clock Architecture)。在這樣設計的多核處理器中,每個核心都可以工作在不同的電壓和頻率下。這樣,可以將計算繁重的任務交給一個工作在高頻的核心,而壓力較小的任務則可以讓一個工作在低頻的,較慢的核心去負擔。而在同步多核中,所有的核心都只能工作在相同的電壓和頻率下。
如下圖所示,當有兩個任務,一個計算負荷較重,而另一個計算負荷較輕時(圖中紫色部分表示任務的計算負荷),非同步多核可以讓負荷較重的核心CPU0工作在較高的頻率(圖中藍色部分代表頻率),而負荷較輕的核心CPU1工作在較低的頻率和電壓下,由此來減小功耗。而同步多核的CPU1雖然負荷較輕,但由於架構限制,只能和CPU0保持同樣的高頻率和高電壓,由此浪費了更多的能量。
note2的情況,exynos4412的4核,一核工作,一核待命,其他關閉休眠。
而m2,asmp的apq8064,每核的頻率存在不一樣的時候。核心一1728mhz,核心二1134mhz,第三核待命,第四核休眠。總體看來4412這款晶元的核心調用方式與英偉達的可變式對稱多處理方式基本一致,動態地啟用或禁用一個或四個cpu內核,以達到降低功耗的作用。任務平均分配到所有未關閉的cpu內核,未關閉的內核都以同一頻率運行。
插一段,以下可能與正文無關,純屬插曲,可以跳過
——————————————————————————————下面這段話提及marvell的pj4,和高通krait的asmp也是「非同步頻率多處理器」。Also noteworthy is that the MSM8672 (for tablets/smartbooks) supports heterogeneous multiprocessing somewhat like Marvell: the two CPU cores each have their own voltage regulators (which adds some engineering complexity and a tiny bit of cost to the power management chip) so that they can simultaneously run at different clocks/voltages unlike current Cortex-A9 designs (it"s unclear what exactly Marvell does on that front). And there have been some indications that the two cores might have been synthesised separately (one using higher leakage transistors to reach 1.5GHz and the other limited to a slightly lower frequency and used by default for lower performance tasks) although the difference isn"t as extreme as in Marvell"s case.
渣谷歌翻譯是,關鍵在於對heterogeneous的理解,究竟是不是Asynchronous?
另外值得注意的是,MSM8672(片劑/智能本)支持異構多處理有點像Marvell的:兩個CPU每個核心都有自己的穩壓器(它增加了一些工程的複雜性和成本的電源管理晶元的一點點),讓他們可以同時在不同的時鐘/電壓運行不同於當前的Cortex-A9的設計(目前還不清楚究竟是什麼做的Marvell在這一方面)。並且已經有一些跡象表明兩個芯可能已分別合成(1使用較高的漏晶體管來達到1.5GHz與其它限於稍低頻率和較低性能的任務所使用的默認值),儘管該差異並不如極端如Marvell的情況。
其中由於msm8672是高通的廢案,根本沒量產過,而且開發代號也不是msm8672,而是「榮耀性稱號」qsd「。如果沒猜錯,qsd8672其實就是1.5ghz的msm8260的開發代號。
在無奈之時,居然發現armanda 1000下面居然還有一個armanda 1500,google tv的處理器,然後打開pdf——
由於1500pro和1500plus都是cortex a9。也就是說唯一能證明sheeva pj4與「高通krait的asmp非同步頻率多處理器」沒有親戚關係的就是armanda 1500。sheeva pj4不是heterogeneous multiprocessor,而是和cortex a9,cortex a15等一樣是smp,稱其Heterogeneous,或者SMP/AMP/Mixed都是錯的。——很正常,認為其非同步頻率的時候,sheeva pj4還沒有雙核成品,只能臆測。
《便攜處理器的過去,現在,和將來》該文出現謬誤,同時引用其謬誤作為論據的部分也不成立。離題到此為止——————————————————————————————————————高通的asmp的cpu核心工作模式可以參考以下一些文章。http://mobile.zol.com.cn/398/3985785_all.html#p3985785長時間內,降頻現象更加明顯;核心1在以1.7GHz的高頻運行6分鐘左右之後,降至1GHz或800MHz水平。核心2也偶有降頻,最終同樣降至800MHz,核心3、4偶爾運行,基本閑置。
短時間內,驍龍600用到最多的為前兩核,而且核心2和3都有不同程度降頻現象,核心4則不常啟動或運行在較低的1GHz頻率。
經過10分鐘的長時間使用,原本四核1.7GHz的驍龍600 CPU僅有1顆核心使用率較高,其他2、3核心僅平均為1.3GHz左右,核心4大部分時間並不工作,因此平均頻率只有0.6GHz左右。
長效工作方面,核心1、2仍然為主力核心,不過大約5分鐘過後也不得不從2.2GHz左右的高頻降至1.2GHz左右的頻率;核心3在後期比較密集的啟動來支持整體工作,核心4幾乎不參與工作。
由於驍龍800 CPU核心的性能更強,該遊戲對於CPU的挑戰進一步降低,因此驍龍800的主要1、2核心從一開始就沒有持續運行在最高主頻上,而是在2.15GHz到1.2GHz之間浮動。核心3、4更是啟動次數和時間非常少,基本不需要他們加入工作。
從平均值來看,10分鐘內驍龍800的兩顆主力CPU核心的頻率平均在1.3GHz左右,核心3僅需要0.5GHz左右的頻率參與輔助即可,核心4幾乎用不到。
日經
以一個外行的視角來說:
asmp各核心之間電壓控制相互獨立,從而能在不同頻率下運行。
smp及類smp各核心電壓相關聯,在線核心頻率相同,部分cpu能關閉空載核心(如4412),部分cpu會強制所有核心在線(如Tegra2)。
另外「asmp不共享L2」、「asmp只能單核在線」來源於多年前某篇軟文里的胡謅。
高通非同步多核能分別控制各核心頻率和電壓(還有二級緩存也是單獨控制的),在一個核心負載高的時候不會讓其他核心保持相同頻率白白耗電。
缺點是兩個核心之間的通訊帶寬會較低,因為兩個核心通訊的帶寬會受制於較低頻率的核心。
非同步多核在性能上介於單核與同步多核之間,會比同步多核會更省電一些。
四核處理器為例,非同步(ASMP)四核處理器就是可以讓四個核心可以自由的調節頻率進行工作。比如一個簡單的程序,只需要一個核心處理便足夠了,那麼非同步四核便能將剩餘的三個核心關閉,只讓一個核心來完成這個程序。而同步四核(英文為Synchronous Multi-Processors,縮寫為SMP)則四個核心同時開啟,運行在同一頻率下,然後讓一個核心來完成任務,而其他核心卻沒有做任何事情,卻還是在耗電,就像一台開啟但沒有信號的電視機。所以,我之前得出的結論是,相比同步架構,非同步架構會在處理同一任務時更加省電,更加智能。
高通對非同步四核處理器的宣傳讓我以為其優勢在於四個核心可以智能的調節不同的頻率
非同步雙核架構的性能介於單核與同步雙核之間:
非同步雙核(ASMP)在處理任務時不可同時進行,所以,在第一個時鐘頻率時,當一個核心接到第一個任務時,第二個核心並不能馬上工作;到了第二個時鐘頻率後,第二個核心才可以開始接受任務。(我想,這才是非同步的原本意思吧)而同步雙核(SMP)則是兩個核心可以同時接受任務,並處理,所以在完成工作的效率上,要比非同步雙核更快一些,也就是性能更強一些。而這就是二者的主要區別。原理請看下圖:
上圖可以看出非同步雙核(ASMP)與同步雙核(SMP)共吞吐了4個數據,但非同步多核用了8個時鐘頻率完成,而同步雙核只用了6個時鐘頻率。所以同步架構的性能相對會更高一些。單核接到任務時需要獨自完成數據的吞吐過程;而同步雙核(SMP)在處理這個任務時,可以兩個核心同時完成吞吐過程,所以效率是單核的近2倍;但非同步雙核卻是一個核心在完成了「吞」的過程之後,第二個核心才可以開始「吞」,所以速度要比同步雙核略慢,以至於整個過程接近於單核的運行機制。這也是為什麼人們老稱呼非同步雙核為膠水雙核的原因。推薦閱讀:
※對於CPU來說一個A72核心比A53核心貴多少?
※如何評價ARM的Cortex A72構架?
※怎麼解讀NS吧趙陽電玩拆解Nintendo Switch?
※驍龍810的20納米工藝和14~16納米只差了5納米,發熱相差很多嗎?
※展訊未來3年內到底能幹過MTK嗎?