在2011年時ARM為Cortex處理器帶來一項革新——big.LITTLE(以下簡稱bL)架構,它允許Cortex處理器擁有兩種不同的核心,核心不同性能有高低,相同核心組成一個簇,輕負載下運行性能差但省電的核心,高負載下運行高性能,兼顧節能與性能。
然而bL療效沒有想象中的好,今年3月份ARM為bL拿出終極補丁DynamIQ,隨著Cortex-A75/55發布,關于DynamIQ更多細節披露出來了,它真的能挽救bL么?
早于ARM處理器借智能手機崛起前,x86處理器就實現了雙核心,更早面對如何平衡多核心下性能與功耗的問題,Intel、AMD最終實現方式都是獨立開關每一個核心、控制每個核心頻率/電壓。
因此在bL出現之時受到質疑,實際效果也沒想象中理想,首先是智能手機不像PC有大量文本操作, 純粹輕負載任務不多,LITTLE難以發揮所長,其次是手機對多核心支持很差,同簇下各個核心不能單獨休眠、調整,因此自主研發能力的強的高通、蘋果都沒有完全緊跟bL架構。
DynamIQ出現算是給bL打補丁,而且是一個超級補丁。DynamIQ先是提高了bL架構的靈活性與擴展性,它允許最多8個CPU核心構成一個簇(Cluster),單個處理器最多可實現32個簇,這樣一個處理最多可以擁有256個核心,并可通過CCIX總線擴展到1000處理器。
而且簇內每一個核心可以單獨開關、調整頻率/電壓,能效表現更加,甚至制造商是可以將不同核心(目前僅支持Cortex–A75與Cortex-A55)以不對等的數量放到一個簇內,可以Cortex-A75×3+ Cortex-A55×5,也可以Cortex-A75×1+ Cortex-A55×7,兼顧成本與性能。
假若8個Cortex-A53核心的處理器面積、單線程性能多線程均為1X(LITTLE下),采用今天流行的Cortex-A73×4+ Cortex-A53×4的bL架構后,能以1.55X面積換取1.95X單線程性能以及1.43X的多線程性能,用DynamIQ技術實現的Cortex-A75×1+ Cortex-A55×7架構,只需1.13X面積就能換來2.41X單線程性能與1.42X多線程性能。ARM這組數據雖然把新核心性能提升加入其中,但考慮到巨大提升,新結構性價比還是非常高的。
不過如此復雜的架構會帶來一個問題,如何調度這些核心呢,ARM在8個核心間加入了DynamIQ Shared Unit (DSU)控制單元 。
DSU能夠使用CCI、CCN或是CMN不同總線技術,把CPU與SoC里其它單元(GPU、Modem、內存)高速連接起來;它擁有4MB三級緩存,能以動態方式分配緩存給每個核心,比如說Cortex-A75×1+ Cortex-A55×7下,可以將3MB緩存分配給A75核心,剩下7個A55核心共享1MB緩存,甚至可將三級緩存交給GPU等單元使用,靈活性非常高;最重要的是它還負責控制簇內每個CPU核心開關,頻率高低,電壓大小,是控制CPU性能與功耗的關鍵。
在設計DynamIQ之時ARM還考慮到冗余需求,比如說汽車,相比智能手機汽車對可靠性、冗余度要求高出不少,DynamIQ允許多個簇通過CCIX連接在一起,這樣處理器就可以分布在汽車不同位置,當發生交通意外一個簇受損時DynamIQ技術可以調用出備用處理器,保證汽車正常運轉。
有了DynamIQ加持的big.LITTLE架構猶如CCI500相對CCI400的進步,相似名字下是質的不同,不過Cortex-A75、Cortex-A55剛剛要發布,ARM處理器要迎來這一飛躍最快也得2018年了。
評論