新技術研習社 | DynamIQ能挽救big.LITTLE架構麼?
在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年了。