簡介
ARM Cortex-A 移動應用處理器產品線橫跨了幾代產品和三個主要產品類別。有些開發人員和 SoC 設計人員經歷了一款或多款新型 ARM 處理器的推出過程,他們知道該產品線如何從單個高性能通用 CPU 設計演進成為三個不同產品線,分別面向高端、中端、入門級的移動設備 SoC 市場,這讓他們受益匪淺。
Cortex-A8
ARM 在 2005 年向市場推出 Cortex-A8 處理器,是第一款支持 armv7-a 架構的處理器。ARMv7 包括 3 個關鍵要素:NEON 單指令多數據 (SIMD) 單元、ARM trustZone 安全擴展、以及thumb2 指令集,通過 16 位和 32 位混合長度指令以減小代碼長度。Cortex-A8 是 ARM 實現的第一個基于新ISA的超標量處理器:它實現了完全雙發射流水線,這意味著 cortex-a8 能夠同時發出在指令流中先后出現的任何兩個沒有數據依賴的指令。但是,它不能亂序來發射或撤銷指令 –該功能在之后的設計中才被實現。
當我們推出 Cortex-A8 時,很多合作伙伴認為這款處理器放在移動電話上是大材小用,他們很自然地質疑道,“客戶會在手機上瀏覽互聯網?不太可能吧。”但是,我們和業界一些主要思想領袖合作,向客戶將會需要的產品邁進,尤其是因為當 Cortex-A8 在 2008 年投入批量生產時,高帶寬無線連接 (3G ) 已經問世,大屏幕也用于移動設備。創新的移動行業充分利用了該產品:Cortex-A8 芯片的推出正好趕上了智能手機出貨量猛增的大好時機。
Cortex-A9
推出 Cortex-A8 之后不久,ARM 又推出了首款多核 ARMv7 CPU:cortex-a9。Cortex-A9 利用硬件模塊來管理 CPU 集群中一至四個核心之間的高速緩存一致性,加入了一個外部二級高速緩存。理論上,客戶可以設計不包括二級緩存的小型版本 Cortex-A9,這種設計允許剔除管理高速緩存一致性的邏輯模塊,以實現尺寸更小的單核設計。但實際上,大多數設計都采用雙核個或更多核心并附帶二級高速緩存。此外,在2011 年底和 2012 年初,當移動 SoC 設計人員可以采用多個核心之后,提高性能的突破點從提高單核性能轉移到提高核的數量。旗艦級高端移動 CPU迅速從最初的雙核拓撲結構移至四核 Cortex-A9。
除了開啟了多核性能大門之外,與 Cortex-A8 相比,每個 Cortex-A9 處理器的單時鐘周期指令吞吐量提高了大約 25%。這個性能的提升是在保持相似功耗和芯片面積的前提下, 通過縮短流水線并亂序執行以及在流水線早期階段集成neon SIMD 和浮點功能而實現的。
Cortex-A15
隨著智能手機市場開始加速發展,ARM 再次預見到了不斷發展的移動系統對芯片性能提出的更高要求。為此ARM開發了一款性能上大幅提升的處理器,用以專門針對新的高端移動市場。在已經非常強大的 Cortex-A9 的基礎上,ARM 憑借 cortex-a15 又將性能提高了 50% 以上。此外,Cortex-A15 引入了一系列架構擴展,從而實現了更大物理地址空間、硬件虛擬化支持和擴展一致性。在 32 位系統中內存被劃分為 2GB 設備內存和 2GB 普通內存,當設備的 RAM 超出2GB的時候,擁有更大的物理地址空間就變得異常重要。ARM和其他合作伙伴也一直在探索虛擬化技術在商務移動系統和自帶設備中的用戶操作系統以及類似應用情景進行探索。。擴展一致性在 big.LITTLE 處理器技術中被應用的淋漓盡致,它提供了一種降低平均功耗并在功耗受限的條件下優化達到最大性能的方法。
Cortex-A15 集群集成了監聽控制單元 (SCU) 以實現硬件一致性,每個集群包含一至四個 CPU 核心,并集成二級高速緩存控制器 – Cortex-A15 之后的所有 ARM Cortex-A 系列 CPU 都沿用了這種拓撲結構。
在移動設備中不斷突破性能極限
比較 Cortex-A 系列高端處理器的性能,可以看到自從 Cortex-A8 1GH 處理器在 2008 年上市以來,性能有了大幅提升。
一致性擴展機制,實現為 AMBA ACE, 使下圖所示的big.little SoC成為可能。在 big.LITTLE 系統中,通常實現一個“大”CPU 集群,并對其進行調節以滿足高性能的要求,同時對“小”的 CPU 集群進行調節,滿足對高能效。在典型工作負載中,LITTLE 處理器可以處理絕大部分工作,而“big”CPU 集群的激活時間不足 10%,在很多情況下還達不到總 CPU 運行時間的 1%。通過 CoreLink CCI-400 高速緩存一致性互連組件,CPU 集群能夠監聽其他集群的高速緩存,從而實現軟件線程從一個集群到另一集群的快速轉移。
Cortex-A12
隨著智能手機市場的爆炸式增長,SoC 供應商和 OEM 將該市場劃分為旗艦高端級別、中端級別、低成本入門級別。隨著這些細分市場的出現,ARM 一直在定義專門針對上述三個級別市場的不同處理器。cortex-a12 是采用全新微架構的一個全新處理器,專門面向快速發展的中端移動市場。下圖顯示了這些細分市場的規模,以及面向這些細分市場的 ARM Cortex-A 產品:
Cortex-A12 的設計面向中端移動 SoC,以滿足這一細分市場對于芯片面積和功耗的要求。它使用無序雙執行流水線,其性能比當前在許多中端移動 SoC 中使用的 Cortex-A9 高出 40%。Cortex-A12 在 2013 年中推向市場,有望在 2014 投入量產。它是一款 32 位處理器,具有與 Cortex-A15 相同的物理地址擴展和相關的架構特性。
Cortex-A12 能夠在很多(但并非全部)用例中提供接近 Cortex-A15 的性能。Cortex-A12 還針對中端移動設計進行了優化,取消了一些企業功能,使用略微簡單的流水線,因此在橫跨多個市場的高端設備上都可以找到Cortex-A15的身影,而 Cortex-A12 則專門面向中端移動設計。
Cortex-A57
cortex-a57 是 ARM 針對 2013 年、2014 年和 2015 年設計起點的 CPU 產品系列的旗艦級 CPU,它采用 armv8-a 架構,提供 64 位功能,而且通過 Aarch32 執行狀態,保持與 ARMv7 架構的完全后向兼容性。在高于 4GB 的內存廣泛使用之前,64 位并不是移動系統真正必需的,即便到那時也可以使用擴展物理尋址技術來解決,但盡早推出 64 位,可以實現更長、更順暢的軟件遷移,讓高性能應用程序能夠充分利用更大虛擬地址范圍來運行內容創建應用程序,例如視頻編輯、照片編輯和增強現實。新架構可以運行 64 位操作系統,并在操作系統上無縫混合運行 32 位和 64 位應用程序。ARMv8 架構可以實現狀態之間的輕松轉換。
除了 ARMv8 的架構優勢之外,Cortex-A57 還提高了單個時鐘周期性能,比高性能 的Cortex-A15 CPU 高出了 20% 至 40%。它還改進了二級高速緩存的的設計以及內存系統的其他組件,極大的提高了能效。Cortex-A57 將為移動系統提供前所未有的高能效性能水平,而借助 big.LITTLE,SoC 能以很低的平均功耗做到這一點。
高效率產品線:Cortex-A5、Cortex-A7、Cortex-A53
隨著智能手機市場的崛起,最先出現的市場是入門級市場。在新興市場,移動設備沒有獲得無線運營商的補貼,因此用戶必須支付全價來購買移動設備,并且按月支付合約的服務費用。新興市場的價格范圍在 150 美元以下,并將很快降至 75 美元以下 – 我們需要一種不同類型的 SoC 設計來滿足這些市場的需求。在 Cortex-A9 發布之后不久,ARM 試圖開發一款處理器來滿足這一市場需求:這款產品的尺寸和功耗與舊款 ARM926 等功能性手機處理器大致相同,但性能高于在第一代智能手機中使用的 arm11 系列。2009 年,我們發布了 Cortex-A5,該設計通過有序單執行 8 級流水線實現了上述目標。利用這種簡單流水線設計,我們可將功耗保持在非常低的水平。而簡化的功能集,造就了ARM 有史以來最高效的(每 mW 性能)應用處理器。
在 cortex-a5 取得成功的基礎上ARM又設計了目前已在入門級智能手機中得到大量應用cortex-a7 處理器,形成了一個充滿活力的智能手機處理器細分市場。隨著 Cortex-A5 取得成功,下一個目標是開發能夠匹配 Cortex-A15 的架構功能集的類似處理器,從而在 big.LITTLE 配對中將其與 Cortex-A15 結合使用。同時,該款處理器還應該在 Cortex-A5 的基礎上提升性能,并具有與之相同的功效、和相似的功耗以及芯片大小。Cortex-A7 通過添加部分雙執行,增加TLB 和內存結構,同時集成二級高速緩存,將單時鐘周期性能提高了 20%。
高能效 CPU 產品線的最新成員利用了相同的 8 級有序流水線,但通過多種方式顯著提升了性能,包括完全雙執行流水線、更寬的內部總線、增強浮點和 SIMD 吞吐容量、更大的TLB,以及其他對存儲器系統的改進。cortex-a53 包括可選 內部RAM ECC 保護,還提供外部總線選項,使得該處理器在移動和企業應用中都可以部署。
除了微架構性能改進之外,Cortex-A53 還增加了對 ARMv8 架構的支持,為獨立入門級移動芯片設計,和包含多個 Cortex-A53 集群的可擴展企業應用引入 64 位功能,同時在高端移動系統中,將Cortex-A53和性能更強的Cortex-A57在big.LITTLE系統設計中配對使用。
下圖顯示了連續幾代高能效Cortex-A CPU 的性能對比。因為采用最新的設計 Cortex-A53 能夠提供比僅僅幾年前的旗艦級 CPU (Cortex-A9)出色的多性能。下圖顯示的性能比較測試是在相同頻率下進行的。在物理實現中,Cortex-A53、Cortex-A7 和 Cortex-A5 的 8 級流水線達到的頻率和采用更長流水線的“big” Cortex-A CPU能達到的頻率差距在15%之內。實際量產 SoC 頻率存在很大差異,取決于流程選項和后端設計,我們已經看到 Cortex-A7 在采用 28nm制程下可以達到 1.2GHz、1.5GHz 甚至更高的頻率。
有關 ARM 的高效率產品線的更多信息,請參閱 Kinjal Dave 的博客 – 高效率、中端或高性能 Cortex-A – 差異何在?
有關 Cortex-A53 的更多信息,請參閱我早期的關于最新高效率 Cortex-A CPU 的博客 – 有關 Cortex-A53 的 5 大必備知識
移動應用處理器全面路線圖
本路線圖將上述所有處理器都集中在單個圖表中,展示了 ARM所提供的高性能級別、中端級別、入門級別的移動應用程序處理器,以及所支持的高速緩存一致性互聯組件。
以上路線圖展示了ARM 三個級別的移動應用處理器產品路線圖,我們未來產品的開發也將繼續遵循這一路線。我們專門針對高端、中端和高效率這三個細分市場的處理器設計,使我們能夠提供針對這三級智能手機和平板電腦市場的定制產品。
為適當任務尋找適當處理器不再是難以決斷的選擇
ARM 的 big.LITTLE 技術旨在為消費者提供最佳整體用戶體驗 – 包括按需動態性能、更高的能效、“不發熱”的耐用器件。市場上最早利用該技術的產品包括三星 GS4(國際版)和三星 Note 3(國際版)
下圖顯示了將在 2013 年和 2014 年推出的采用未來設計的高端移動 CPU 子系統,將在 2014 年和 2015 年的設備中使用。它采用 big.LITTLE 電源管理技術,利用 Cortex-A57 的強大性能,并且提供高速緩存一致性互聯 (cci) 功能,能夠為GPU 計算提供的 IO 一致性的支持。
有關 big.LITTLE 的更多詳細信息,請參見我近期在 ARM TechCon 2013上進行的有關 big.LITTLE 平臺測量結果的演示(旨在展示性能改進和節能):big.LITTLE 技術向完全異構全局任務調度邁進 - Techcon 演示文稿
另外,您可能希望閱讀我早期論述該技術要點的博客 – 有關 big.LITTLE 的十大必備知識
以上系統示意圖展示了最先進的移動 CPU 設計,它采用 Cortex-A57 和 Cortex-A53 處理器,并且結合最新的 mali_t760 GPU。請注意,它具有 2 個 big 核心。從我們已經進行的性能測試來看,2 個 big 核心似乎已經能滿足當前工作負載。采用由Cortex-A15和Cortex-A7構成的當前最高端的移動 SoC的拓撲結構示意圖和下圖也是非常類似。Cortex-A50 系列處理器代表了將在 2014 年間問世的移動 SoC 的未來拓撲結構發展趨勢 … 但 ARM 不會就此止步。我們將繼續在低功耗 CPU、GPU 和系統設計領域開發新的創新技術,以此推動智能手機、平板電腦和新興設備類型的創新,實現高效移動計算,提升全球數十億用戶的生活質量。
評論
查看更多