arm相關學習

海_纳百川發表於2024-10-27

‌ARM架構並不是ARM公司,而是ARM公司設計的一種處理器架構。‌

ARM公司是一家總部位於英國的半導體和軟體設計公司,主要設計和授權ARM架構處理器。ARM架構是一種基於精簡指令集(RISC)的處理器架構,廣泛應用於移動裝置、嵌入式系統和物聯網等領域‌

ARM架構的特點包括低功耗、高效能、高整合度等,這使得它在嵌入式系統、移動裝置和物聯網等領域得到廣泛應用‌1。此外,ARM架構還具有可擴充套件性強的特點,支援多種處理器型別,如Cortex-A(高效能)、Cortex-R(實時嵌入式)和Cortex-M(低功耗嵌入式)‌

ARM 架構根據不同的用途和效能需求,有多種不同的系列和種類。主要分為三大系列:Cortex-ACortex-RCortex-M,此外還有一些高效能的 ARM Neoverse 系列和 舊版架構(如 ARM7、ARM9)。下面是對這些架構及其特性的詳細介紹:

1. Cortex-A 系列(Application Processors)

  • 用途:主要用於智慧手機、平板電腦、膝上型電腦和其他高效能嵌入式裝置。專注於高效能、複雜作業系統(如 Android 和 Linux)以及多媒體應用。
  • 特性
    • 支援 多核處理,如雙核、四核和八核。
    • 支援 32 位和 64 位 操作(從 ARMv8 開始支援 64 位)。
    • 包含 NEON SIMD 指令集,用於多媒體和影像處理。
    • 支援複雜的作業系統,如 Android、Windows 和 Linux。
  • 典型處理器
    • Cortex-A53:低功耗,64 位入門級處理器。
    • Cortex-A55:功耗最佳化的 64 位中檔處理器,具備更好的能效。
    • Cortex-A75 / A76 / A77:高效能 64 位處理器,適用於旗艦級手機。
    • Cortex-A78 / X1:最新的高效能處理器核心,專為高階市場設計。

2. Cortex-R 系列(Real-time Processors)

  • 用途:用於需要實時響應的嵌入式系統,如汽車電子、工業控制、醫療裝置和儲存控制器。
  • 特性
    • 實時性:非常低的中斷延遲,適合嚴格的時間限制任務。
    • 容錯性:支援 ECC(Error-Correcting Code)記憶體,增強資料完整性。
    • 強調 確定性和高可靠性,用於高安全性應用。
  • 典型處理器
    • Cortex-R5 / R7:用於汽車和工業應用。
    • Cortex-R8:用於高頻寬和低延遲的儲存控制。

3. Cortex-M 系列(Microcontrollers)

  • 用途:主要用於微控制器領域,低功耗裝置,如物聯網 (IoT) 裝置、智慧家居、感測器、穿戴裝置等。
  • 特性
    • 非常低的功耗,適合電池供電裝置。
    • 簡單和低成本,適合大批次生產的嵌入式應用。
    • 內建 NVIC(Nested Vectored Interrupt Controller),提供快速中斷處理。
    • 支援 Thumb 指令集,提高程式碼密度,減少記憶體佔用。
  • 典型處理器
    • Cortex-M0 / M0+:超低功耗,適用於極簡設計。
    • Cortex-M3:效能較高,適用於通用嵌入式應用。
    • Cortex-M4:整合浮點運算單元(FPU),適用於需要基本訊號處理的應用。
    • Cortex-M7:高效能 MCU,用於複雜的控制和 DSP 任務。

4. ARM Neoverse 系列(Data Center & Infrastructure)

  • 用途:專為雲端計算、資料中心、邊緣計算和基礎設施而設計。
  • 特性
    • 高效能和高能效,適用於伺服器和資料中心。
    • 支援 64 位 ARMv8.2-A 或更高版本。
    • 強調 大規模多核 和高頻寬儲存訪問。
  • 典型處理器
    • Neoverse N1:專為雲端計算最佳化。
    • Neoverse V1:提供更高效能的計算能力,支援向量指令(SVE,Scalable Vector Extension)。

5. 舊版 ARM 架構(ARM7、ARM9、ARM11)

  • 用途:主要用於較早的嵌入式裝置,如簡單的行動電話、音訊裝置、基礎控制系統。
  • 特性
    • 較舊版本的 ARM 架構,通常不支援複雜的現代特性。
    • ARM7:不支援分支預測,主要用於非常簡單的應用。
    • ARM9:引入了哈佛架構,改善了處理速度。
    • ARM11:增加了對 SIMD 的支援,改進了多媒體效能。

6. ARMv8-A、ARMv8-R、ARMv8-M 架構

  • ARMv8-A
    • 支援 64 位和 32 位指令集。
    • 主要用於高效能應用,如手機、伺服器和桌面計算。
    • 引入了 AArch64 模式,提供 64 位暫存器和 64 位定址。
  • ARMv8-R
    • 主要用於實時系統(Real-time)。
    • 增加了對更復雜系統的支援,同時保持實時響應。
  • ARMv8-M
    • 專為微控制器設計,支援 TrustZone(安全區域),提升 IoT 裝置的安全性。

7. Apple Silicon (M1, M2)(基於 ARM 架構的定製晶片)

  • 用途:專門用於蘋果裝置,包括 Mac 和 iPad。
  • 特性
    • 採用定製的 ARM 架構,整合 CPU、GPU、神經引擎等多個單元。
    • 高效能和高能效,最佳化了多媒體處理和 AI 計算。
    • 支援 64 位指令集,最佳化了 macOS 的執行效率。

總結

ARM 架構根據應用場景和效能需求分為多個系列,每個系列都有其專長:

  • Cortex-A:適用於高效能運算。
  • Cortex-R:適用於實時性和安全性要求高的嵌入式系統。
  • Cortex-M:適用於低功耗和成本敏感的微控制器應用。
  • Neoverse:專為資料中心和雲端計算設計。

RM 並不直接製造晶片,而是將其架構授權給其他廠商(如 Qualcomm、Samsung、NVIDIA、Apple 等)製造自己的晶片。這種商業模式使得 ARM 生態系統非常多樣化。

Intel 主要設計和製造自己的晶片,提供高度整合的解決方案。這意味著 Intel 擁有對其產品的完全控制,但靈活性和多樣性上不如 ARM 的授權模式。

相關文章