本文转载自:瘾科技
作者:討喜小姐
行動處理器除了追求效能的提升外,增加運算效率也是重要的關鍵。先前ARM較廣為人知的是big.LITTLE大小核技術,不過隨著技術的演進,今年ARM在big.LITTLE基礎上,推出了新的DynamIQ。單一Cluster內可有8個核心,且可由不同架構、時脈的核心組成,提升了運作效率與配置的彈性,現在我們利用簡單的圖片來說明DynamIQ的運作原理吧!
▲DynamIQ支援多顆不同架構的處理器,也能讓處理器在不同時脈下運作,繼big.LITTLE之後的新運算架構。
如果用龍舟來比喻ARM的DynamIQ與先前的big.LITTLE技術,我們把龍舟當成Cluster、船員當成核心,先前的big.LITTLE龍舟上最多只能有4位船員,而且每個船員都必須一樣的身材(核心架構),划船時若多位船員一起划船時,每個人都要出力均等(時脈同步),不能有人慢慢划有人快快划。
但到了新的DynamIQ技術時,每艘龍舟(Cluster)上可以有8位高矮胖瘦(架構)不同的船員(核心),而且當划船前進的時候,每個船員可以依照指令出不同的力(時脈不須同步),且船員可依照指令睡覺(關閉)、休息(休眠)或划船(運作),配置的彈性比起big.LITTLE高很多。不過龍舟終究只是個比喻,是用比較輕鬆的方式解說DynamIQ的原理,實際運作會考慮的細節更多。
舉實例來說,當你正在捷運上玩手機遊戲,此時需提供一定的效能讓前端正在玩的遊戲順順跑,因此會將大核心皆開啟運作,如果在家用VR或是很吃系統效能的App時就可能同時開啟大小核心,以輸出最高效能為優先事項。另一方面,當你手機閒置的時候,系統就會自動將較耗電的大核心關閉或休眠,轉讓小核心進行背景運作,此時重視的則是節省電力消耗,讓手機續航力提升。
▲DynamIQ支援單一Cluster內8個不同架構的核心,並能以不同的時脈運作。
如果要用簡單的詞來描述DynamIQ,那麼應該就是混搭與彈性。過往為了運作上的協同作業與效率,Cluster搭配上大多會盡量簡單化,big.LITTLE技術運作時也有時脈同步、架構統一等框架限制。因此後續改進的DynamIQ在big.LITTLE技術上延伸,提升了單一Cluster的核心數量,核心架構不需相同,運作時脈也能有更細微的調配。
省電與高效能聽起來是很衝突的需求,然而透過DynamIQ技術,單一Cluster內可以允許高效能核心與省電核心混搭,不需要像過往開啟複數Cluster才能達到類似的作用,讓運作彈性、硬體配置更具彈性。此外,過往受限於核心同步時脈,實作上增加不少的門檻。DynamIQ允許單一Cluster內核心以不同時脈運作,以1.0GHz到1.7GHz間以100MHz的頻率差運作。
▲DynamIQ big.LITTLE透過共享記憶體等機制,減少切換延遲並增加運作效率。
如先前所述,雖然big.LITTLE提供了設計與運作上的彈性,但對於現在重視高效能與超長續航力的行動裝置來說,big.LITTLE的限制讓處理器無法榨出完全的效能,可能會碰到無法合理分配效能的狀況。因此DynamIQ在設計上修改了過往的限制,放寬核心、時脈等限制,有助於設計出更具效能與功耗的產品。
除了運作彈性增加之外,在狀態切換的延遲也得以大幅下降。DynamIQ使用了硬體控制式功率狀態自動切換機制,可讓核心在關閉、休眠、運作3種狀態間快速切換,並減少切換時的延遲。這不僅使得運作效率提升,也因為切換延遲降低,能源效率得以提升,提供了裝置更好的節能性。