作者 | 不可說
出品 | 汽車電子與軟件
#01 ARM處理器
當前,在眾多負責車輛核心控制功能的控制器中,其內部所采用的處理器有很大一部分均基于ARM架構。這一架構憑借其出色的能效比、廣泛的生態系統支持以及高度的靈活性,在汽車電子領域占據了舉足輕重的地位。鑒于此,本文旨在簡要介紹ARM架構處理器的特點,供大家探討交流。
ARM是英國的一家公司,設計了低功耗成本的第一款RISC微處理器,即ARM處理器(Advanced RISC Machines)。在經典處理器ARM11以后,ARM公司的產品開始改用Cortex命名,并分成A、R和M三類,旨在為各種不同的市場提供服務。Cortex系列屬于ARMv7架構,這是ARM公司在當時最新的指令集架構。因此,可以說Cortex是ARM公司推出的一個系列處理器的名稱,其起源可以追溯到ARM公司的處理器設計和發展歷程。
#02 ARM指令集
先大概解釋一個概念,什么是芯片處理器的指令集?指令集主要是指CPU硬件和軟件之間的接口描述,它本質上是一段二進制機器碼。CPU只能識別并執行這些機器碼指令,而機器碼本身是一串無意義的字符串,對于程序員來說很難理解和使用。因此,人們發明了匯編語言等高級編程語言,這些語言與機器碼有一一對應的關系,使得程序員能夠更方便地編寫和調試程序。
指令集可以分為多種類型,其中比較有名的是復雜指令集(CISC)和精簡指令集(RISC)。
- 復雜指令集(CISC):這類指令集包含大量的指令,且每條指令的功能較為復雜。X86指令集就是一種典型的CISC指令集。
- 精簡指令集(RISC):與CISC相對,RISC指令集包含的指令數量較少,且每條指令的功能相對簡單。ARM指令集是RISC指令集的一個代表,它廣泛應用于移動設備、嵌入式系統等領域。
我們還經常聽見“ARM架構的芯片”之類的詞匯,其實這個架構指的就是某一個處理器所使用的具體指令集。目前市場上主流的芯片架構有 X86、ARM、RISC-V和MIPS四種。
在大部分場合,架構等于指令集。例如,如果一個處理器是基于ARMv7架構的,那么它就使用ARMv7指令集。指令集架構是計算機體系架構的一部分,它規定了處理器能夠識別并執行的指令集合。ARM架構還有v8、v9版本,v7是較早的版本,也是目前廣泛應用的ARM架構版本之一,從ARMv7架構被分為A系列(Application Processors,用于高性能產品)、R系列(Real-time Processors,用于實時系統)和M系列(Microcontroller Processors,用于微控制器);ARMv9是ARM架構的最新版本,這三個版本指令集的對比大致如下:
ARMv7:
- 它引入了新的指令集,如Thumb-2,這是一種混合了32位和16位指令的新指令集,既能提供高性能,又能節省存儲空間。
- ARMv7還支持硬件浮點運算(VFPv3),提高了處理器處理浮點數的能力。
ARMv8:
- 這是ARM首次引入的64位架構版本。
- 它同時支持64位和32位應用,提供了更大的地址空間、更多寄存器和增強的安全特性。
- ARMv8引入了新的指令集AArch64,用于執行64位操作。
- 該架構還改進了浮點和SIMD(單指令多數據)的支持,包括新的浮點運算指令和為多媒體和數據處理優化的新SIMD指令。
- ARMv8還引入了硬件虛擬化支持,提高了在虛擬環境中運行應用的性能。
ARMv9:
- ARMv9對之前的版本進行了一系列優化和改進,以提高處理器的性能和效率。
- 它引入了新的SVE2(Scalable Vector Extension 2)技術,這是一種向量運算技術,可以顯著提高處理器處理機器學習和人工智能任務的能力。
- ARMv9還增強了安全功能,引入了新的Realm管理架構,以更有效地防止各種網絡攻擊和數據泄露。
- 該架構對虛擬化支持進行了改進,使得在云計算和其他高性能計算應用中的虛擬化更加高效。
直白的來講,指令集是CPU與軟件之間的橋梁,使得軟件能夠正確地控制CPU執行各種操作。同時,指令集也決定了CPU的性能和功耗等關鍵指標。不同的指令集具有不同的特點和優勢,適用于不同的應用場景。
車載控制器中常用的ARM Cortex系列芯片基本屬于ARMv7、v8架構。
ARM Cortex系列芯分為A、R、M系列,這也是我們經常聽到別人講的芯片A核、M核的來源。

Cortex-A是面向移動計算、智能手機和服務器等市場的高端處理器,運行頻率高(>1GHz),支持Linux、Android、Windows等操作系統所需的內存管理單元。在車載領域可以用于座艙芯片、智駕芯片、中央計算平臺芯片等。
Cortex-R用于實時應用,如車身控制器、汽車地盤系統和動力系統控制等,不支持內存管理單元但具備其他存儲器功能,運行頻率較高(200MHz到>1GHz),響應延遲低,支持實時操作系統而非完整Linux和Windows。
Cortex-M設計小巧且能效高,時鐘頻率較低但部分可達200Mhz以上,新的Cortex-M系列易于使用,在單片機和深度嵌入式系統中廣受歡迎,也可以用于車身控制等,只是性能較Cortex-R差一點。

不過芯弛推出的主要用于車控、域控的芯片E3系列,沒有采用Cortex-A,而是Cortex-R5及Cortex-R52+的形式,這是因為E3 MCU是針對汽車安全相關應用設計的新一代高性能微控制器產品,根據此需求并未選擇Cortex-A,而是實時性好、安全性高的Cortex-R系列處理器。



瑞薩的R-Car H3e(-2G) 是一款用于高端計算的汽車SOC,核心處理器包含了四個Cortex-A57、四個Cortex-A53、雙核鎖步的Cortex-R7,計算性能非常強大,可準確實時地處理來自汽車傳感器的大量信息。它的應用非常廣泛,例如車載娛樂信息系統和集成駕駛艙。它符合 ISO 26262(ASIL-B) 汽車功能安全標準和信息安全要求。2GHz 運行速度的 (H3e-2G) 在提高處理能力的同時保持硬件和軟件兼容性。
總的來說,ARM架構以其低功耗、高性能和可定制化的特點,在汽車電子領域發揮著重要作用。隨著技術的不斷發展和創新,ARM架構仍然有著巨大的發展空間。通過選擇合適的核心、優化代碼、使用硬件加速和優化存儲器訪問等策略,可以進一步提高系統的性能和功耗效率,滿足各種應用場景的需求。