書名: Arm Helium技術指南:Cortex-M系列處理器的矢量運算擴展作者名: (英)喬恩·馬什本章字數: 1033字更新時間: 2024-04-25 19:59:12
1.1 Helium簡介
Arm是業界領先的微處理器供應商,給客戶提供范圍廣泛的微處理器內核,以滿足幾乎所有應用市場的性能、功耗和成本要求。該公司不生產硅片。相反,Arm設計微處理器,并將其授權給半導體公司和原始設備制造商(Original Equipment Manufacturer,OEM),然后由它們將已授權的微處理器設計集成到片上系統(System on Chip,SoC)設備中去。由此,一個由1000多家公司組成的生態系統設計和制造硅片,并編寫開發工具和軟件。
在介紹Helium之前,理解Arm的架構與具體實現之間的區別會很有用。為了保證不同處理器之間的兼容性,Arm定義了一系列架構規范。這些規范提供了關于中央處理單元(Central Processing Unit,CPU)之間為了保持兼容性必須滿足的行為的相關定義。每一款實現Arm架構的處理器都必須遵從特定版本的Arm架構。
Arm處理器廣泛用于不同的應用,具有不同的應用性能和價位——從物聯網傳感器節點到超級計算機。這意味著客戶有相當廣泛的處理器可供選擇。這些處理器都是按照不同配置文件分類的,并遵從不同版本的Arm架構。
? Cortex-A——應用處理器。它們被用于非常復雜或超高性能的場景中,這些場景一般需要支持操作系統,如Linux、Windows或Android。
? Cortex-R——這些處理器針對實時系統,例如硬盤驅動控制器和移動手機基帶等系統。
? Cortex-M——微控制器類的處理器。這些處理器常用于要求低成本或低功耗的系統,或更具確定性、中斷響應更快速的系統中。據Arm統計,截至2019年,全球已經制造了超過450億個基于Cortex-M的芯片。
另外,Arm采用品牌名稱Neoverse來命名其在基礎設施市場領域的產品。
Cortex-M處理器非常小,可以很容易地集成到SoC設計中。這些處理器實現了被稱為M系列的Arm架構的某一個版本。幾個不同的版本如下所示。
? Armv6-M——這是由Cortex-M0、Cortex-M0+和Cortex-M1處理器實現的。這些非常流行的CPU具有高能效和小型化的特點。(Arm聲稱在40納米工藝制程下Cortex-M0+的面積僅為0.0066平方毫米,這也就意味著每平方毫米的硅片上可以容納150個這樣的CPU。)
? Armv7-M——該版本的架構由Cortex-M3、Cortex-M4和Cortex-M7處理器實現,這些處理器具有更高的性能。Armv7-M的指令集架構提供了對增量尋址模式、條件執行、位域處理以及乘加硬件的支持。Cortex-M4和Cortex-M7支持32位SIMD操作和可選的浮點單元(Floating-Point Unit,FPU)。該浮點單元可能是Cortex-M4或Cortex-M7支持的單精度浮點單元,也可能是Cortex-M7上面可選的雙精度浮點單元。Cortex-M7是超標量的架構,可以支持高速緩存和緊耦合內存(Tightly-Coupled Memory,TCM)。
? Armv8-M——此版本的架構添加了一些新功能,例如對TrustZone安全擴展的支持,并由最新的Cortex-M處理器(例如Cortex-M23和Cortex-M33)實現。
Arm公司還提供了Ethos系列的神經元處理單元(Neural Processing Unit,NPU)。這款Ethos-U55微神經元處理單元旨在加速面積受限的嵌入式和物聯網設備中機器學習推理算法的性能。