DynamIQ掃盲文


綜述:

  ARM CPU的架構都基於big.LITTLE大小核技術。而再big.LITTLE的基礎上,又添加了DynamIQ。單一Cluster中可以又8個core,且支持不同架構的core,以及支持不同的clk。從而提升了工作效率和配置彈性。

以下利用網上的圖片來說明DynamIQ的工作原理:

(上圖解釋為:DynamIQ支持多顆不同架構的處理器,也能讓處理器各自在不同的clk下工作)

 1、DynamIQ是ARM一個新的底層solution,用於連接在一個芯片上的不同core。

有了DynamIQ,我們可以將不同類型的core放到一個cluster中。比如,將性能高的core,和功耗低的core放進一個cluster。如果沒有DynamIQ,我們是將其放在2個不同cluster中的。

最常見 4個Cortex-A72 核與4個Cortex-A53核,或者4個Cortex-A53與另外的4個Cortex-A53核配對。

 

把核心放在同一個cluster中能保證核與核之間更好的通信。

2、DynamIQ的cluster也可以與其他不同的DynamIQ cluster配對。DynamIQ cluster還可以應用了ARMv8.2架構和DynamIQ Share Unit hardware,目前支持的平台有:Cortex-A76, Cortex-A75, Cortex-A55

比如:QCOM Krait385 Gold配合三星M3核集成至SDM845中;而三星Exynos9810則使用Cortex-A75作為base結構。海思麒麟98和SDM855使用Cortex-A76作為base結構。

 

DynamIQ 的Key Feature

1、Single cluster Design

就是大小核可以放在同一個簇里。每個核可以按照各自需求工作在不同的頻率,也可以單獨的控制每個核開關。

雖然可以有8個不同頻率的核,但是實現起來,會帶來更多的cost。

2、Power Saving Featues

把所有核到放到同一個簇里,可以降低memory latency,並且簡化了核與核之間的tasks sharing。LITTLE核是對memory latency非常敏感的。換句話說,就是在不增加功耗的前提下,提升性能。ARM也讓核能更快的下電,進一步省電了。

3、Advance compute capablities

基於DynamIQ技術的Cortex A系列CPU能帶來在AI和機器學習上更強大的計算能力。基於DynamIQ的系統能在AI的性能上提供50倍boost。

Meet the DynamIQ Shared Unit

所有彈性的設計架構都仰仗着DynamIQ Shared Unit(DSU)。它構建了CPU、L3 cache、Snoop Filter、外圍設備總線buses、power management features之間Asynchronous (異步)通信的橋梁。DSU的設計同時也起到了節省功耗和時間的作用。

1、DynamIQ中首次允許設計帶有L3 cache的ARM SOC。這塊memeory pool被簇中的所有核共享,它最大的好處是在於能簡化big核與LITTLE核之間的task sharing,同時減少memory latency。

2、 L3 cache是16路相聯的緩存,可以配置0KB~4MB大小。memory setup是高度專用的,僅有一小部分被L1、L2、L3共享。L3 cache最多可以分成4塊partition,這樣可以避免cache chrashing、不同進程使用同一塊內存等。並且partition可以通過軟件進行動態分配。

ARM也實現了對不用的partition進行下電,以此來省電。當一個boot up 單個CPU時,也不會需要所有內存系統為了短暫的過程,都上電起來。L3 cache的power control是Energy Aware Scheduling。

L3 cache的引入也促進了L2 cache的速度。這是考慮到使用高latency的異步bridges的使用,ARM也優化了L2的memory latency。

為了提高performance和充分利用新的memory子系統,ARM也在DSU中使用了cache stashing。它允許相近的coupled accelerators和I/O agents 對部分CPU memory進行direct access(direct讀寫每一個核的shared L3/L2 caches)。

思路是這樣的:peripherals和accelerator的需要CPU進行快速處理的信息,可以以最小的latency,直接inject到CPU的memory中;而不是通過高latency的RAM讀寫或者prefetch。包括network系統的包處理,與DSP、虛擬加速器的通信,或者是VR應用所使用的視覺捕捉芯片的數據。這鍾就是基於特定應用的new feature,但能給SOC和designers更靈活、更強大的潛在性能提升。

 

回到功耗部分,不同CPU集成到一個cluster,這需要重新考慮一套通過DynamIQ來管理功耗和頻率的方法。可選的異步bridges的使用,就可以在單個core的基礎上配置的CPU clk domains;而之前只能基於單個cluster控制。Designer也可以選擇core的頻率與DSU的速度同步。

換句話說,通過DynamIQ,每個CPU理論上都可以跑在自己所需的頻率上。而事實上,相同類型的core更多地是綁定到同一個domain group組,同步控制頻率和電壓,因此功耗是是按group組控制的,而非以單個core。ARM表示:big.LITTLE需要big cores和LITTLE cores分別動態的進行分頻和分壓。

這會對thermal limited的use case非常有幫助,比如手機,因為它能保證big和LITTILE cores能根據work loading持續地進行power scaled,即使仍然占用了同一個cluster。理論上,SOC designer能針對不同的CPU power points使用多個domains,類似MTK那樣使用3個cluster的設計,當然這回增加設計復雜度和成本。

有了DynamIQ,ARM就可以在使用硬件控制時簡化下電流程,意思是不在使用的cores可以更快地關閉。通過memory的進步及整合coherency management到硬件中,ARM已經移除通過了對下電的方式來disable和flush memory caches的耗時步驟。

最后

DynamIQ體現了對移動端多核處理技術的一個重要的進步。對移動設備,它不僅對多核系統提供了一些潛在的性能提升,而且也使SOC developer能實現新的big.LITTLE的設計,以及多樣的計算方案。

 

翻譯自:https://www.androidauthority.com/arm-dynamiq-need-to-know-770349/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM