ARM Cortex-A32 – 復雜嵌入式設備的必然選擇
前言
本文引用地址:http://www.ex-cimer.com/article/201608/295852.htmARM處理器在嵌入式設備領域的應用非常廣泛。其中,ARM Cortex-A處理器通常用于需要操作系統(tǒng)或高性能支持的應用程序;Cortex-R處理器用于實時性能要求較高的應用程序;而Cortex-M處理器則更適用于類似小型微控制器的應用程序。
就Cortex-M處理器核心來講,ARM已經(jīng)擁有非常豐富的產(chǎn)品類型。Cortex-M0是同系列的首款處理器,設計初衷是利用其小體積、低功耗的優(yōu)勢,滿足深度嵌入、成本敏感的應用程序的要求,例如智能傳感器節(jié)點。Cortex-M3處理器和Cortex-M4處理器則主要針對大眾市場的微控制器。Cortex-M7處理器則是整個系列的最高端產(chǎn)品,性能更高,可以處理計算強度極高的工作負載,也包括信號處理。
基于ARMv6-M和ARMv7-M架構(gòu)的Cortex-M處理器,以簡單易用的編程模型,通過搭載高度可配置核心,滿足多種不同設備的應用。
對多數(shù)嵌入式應用而言,盡管Cortex-M核心擁有簡單易操作的強大優(yōu)勢,但仍有很多用例需要更豐富、更強大的環(huán)境。一方面,這些應用對效率和功耗依然十分敏感;但另一方面,諸如Linux或Android的操作平臺依舊不可或缺。遷移至類似操作系統(tǒng),應用程序即可利用規(guī)模更大、內(nèi)容更豐富、設計更精致的軟件生態(tài)系統(tǒng)。
Cortex-M處理器關(guān)注的重點不是運行更高層次的操作系統(tǒng),因此也不需要考慮運行負責操作系統(tǒng)的必備功能。例如,Cortex-M沒有內(nèi)存管理單元(MMU),不支持虛擬存儲環(huán)境,因此也就不支持這類操作系統(tǒng)。如果應用程序需要更豐富的操作環(huán)境,通常第一個選擇是“超高效率”的Cortex-A核心。這些核心可以為平臺操作系統(tǒng)提供更高級的功能支持,同時保持對很高的功耗效率。上述內(nèi)容代表了更先進、更靈活的編程模式
得益于此,ARM Cortex-A處理器在深度嵌入式應用程序中得到廣泛部署;尤其是在需要Linux或其他復雜操作系統(tǒng)的市場中,其采納更為普遍。
圖1- Cortex-A處理器和架構(gòu)
圖1介紹了目前的Cortex-A處理器家族,綠色高亮的是“超高能效”核。本白皮書將重點介紹其中的最新產(chǎn)品Cortex-A32。
對希望利用復雜操作系統(tǒng)環(huán)境或Cortex-A系列處理器強大性能和功能的應用來講,Cortex-A32是一款理想的入門產(chǎn)品。它是ARMv8-A 架構(gòu)中能效最高的CPU,是可穿戴設備、物聯(lián)網(wǎng)及富嵌入式應用的理想選擇;而且尤其適合需要使用Linux等平臺操作系統(tǒng)的應用。
Cortex-A32 產(chǎn)品介紹
Cortex-A32是ARM架構(gòu)中獨一無二的產(chǎn)品,擁有重要地位。Cortex-A32基于ARMv8-A架構(gòu),卻是針對32位設計的處理器。圖2介紹了Cortex-A32與ARMv8-A架構(gòu)的匹配程度,并與Cortex-A35進行了對比。
圖2 - Cortex-A32和ARMv8-A
基于上述,Cortex-A35可以實現(xiàn)兩種執(zhí)行態(tài),分別為32位AArch32及64位AArch64,從而充分發(fā)揮ARMv8-A架構(gòu)的64位操作能力;相對比,Cortex-A32僅支持32位AArch32執(zhí)行態(tài),這一決定不僅進一步壓縮產(chǎn)品面積,對于不需要64位操作能力的用例,還可以帶來顯著的功耗優(yōu)化。無可否認,部分嵌入式應用可以從64位獲益;但許多其他應用都是32位的,將來很長一段時間市場也會依舊如此。Cortex-A32則專為這些應用程序量身打造。
AArch32執(zhí)行態(tài)是早期Cortex-A處理器所用ARMv7-A架構(gòu)的升級版。盡管不具備64位功能,但在其它某些功能卻得到顯著增強,使Cortex-A32與Cortex-A7和Cortex-A5相比更加高效;對基于更早ARM處理器的設計演變,或聚焦嵌入式市場的全新設計來說,都是理想的選擇。
對比ARMv7-A,AArch32在如下方面得到強化:
• 添加多項新指令,密碼函數(shù)性能提高
• 全新的負載獲取及存儲釋放(Load Acquire and Store Release)指令,讓訪存排序更高效,與全新C++11訪存排序語義匹配
• 額外的標量和單指令多數(shù)據(jù)結(jié)構(gòu)(SIMD)浮點指令
• 更豐富的系統(tǒng)控制指令
對比早期的32位ARMv7-A處理器,Arrch32這些額外特性使其具備更佳的性能。
Cortex-A32總線接口上的高級一致性擴展(Advanced Coherency Extensions,ACE)使其可以利用Cortex-A32構(gòu)建支持完全一致的多處理器系統(tǒng),按需升級,以實現(xiàn)更高的性能。不過,如果產(chǎn)品面積與功耗是最主要的限制因素,Cortex-A32也提供專門針對單處理器應用優(yōu)化的版本, 移除一致性邏輯,實現(xiàn)更高功效。
經(jīng)過大物理地址擴展(Large Physical Address Extension,LPAE),Cortex-A32的可尋址內(nèi)存空間得到擴展,超過Cortex-A5的32位(4GB),達到40位物理地址空間。
核心本身配置了額外的高級功能,進一步提高效率。其中包括更靈活的功耗管理、更優(yōu)化的電源域和保留電源門控(retention power gating)的延伸使用。
評論