學習 Arm 架构 - A 系列

探索更多 Arm CPU 與系統架构的指南。

?

进一步瞭解?Arm A 系列 CPU 架构。

架构基礎

Arm 架构簡介

本指南提供非技術的 Arm 架构簡介。

AArch64 例外模型

本指南介紹 AArch64 中的例外和特權模型。當中涵蓋異常級別 - EL0、EL1、EL2、EL3 - 同步和異步異常,包括中斷 - Serror、IRQ、FIQ - 和虛擬異常。

AArch64 指令集架构 (ISA)

本學習 Arm 架构指南介紹 AArch64 內使用的 A64 指令集。

AArch64 虛擬化

本指南說明 Armv8-A 與 Armv9-A AArch64 中的虛擬化支援,包括基本虛擬化理論、階段 2 轉換、虛擬異常及陷阱。它涵蓋 Arm 巢狀虛擬化、Arm VHE、Secure EL2 和 Arm VMID。

AArch64 通用計時器

本指南介紹 Arm 通用計時器;A 系列 PE 的計時器框架。

Armv7-A Cortex-A 程式設計師指南

本書為使用符合 Armv7-A 架构的 Arm Cortex-A 系列處理器的程式設計師提供 Arm 技術簡介。

瞭解 Armv8.x 和 Armv9.x 擴充

本指南介紹 Arm 架构的擴充,提供閱讀與使用這些擴充的相關指南。它顯示 Armv9-A 與 Armv8-A 之"間的差異。

记忆体管理和记忆体模型

AArch64 記憶體管理

本學習 Arm 架构指南介紹用於控制虛擬到實體位址轉換的 Arm MMU。

AArch64 記憶體屬性及特性

本指南介紹 Armv8-A 及 Armv9-A 中的記憶體屬性及特性。

记忆体系统、排序与障碍

本指南介紹由 Armv8-A 和 Armv9-A 架构定義的記憶體排序模型。

使用记忆体模型工具

进一步瞭解 Arm 記憶體模型工具,探索工作範例,以及學習如何自動產生決定性試驗。

Arm 交易記憶體擴充 (Arm TME) 概述

本指南說明 Armv9-A 中導入的交易記憶體支援。

向量与矩阵处理

Neon 程式設計師指南

本系列指南介紹 Neon,示範如何使用內建函式最佳化 C 程式碼,以及如何使用编译器自動產生包含 Armv8-A Advanced SIMD 指令的程式碼。

SVE 與 SVE2 程式設計範例

本指南深入描述可擴展向量延伸指令集 (SVE) 與可擴展向量延伸指令集 V2 (SVE2),並附有大量程式碼範例。本指南向軟體开发人员示範如何在軟體中解釋 SVE 或 SVE2。

SME 程式設計師指南

本指南介紹的可擴充矩陣延伸指令集 (SME) 是 Arm 的架构解決方案,用於加速矩陣運算。本指南說明 SME 及 SME2。

Neon 簡介

本指南介紹 Arm Neon 技術,這是用於實行 Armv8-A、Armv9-A 和 Armv8-R 的 Advanced SIMD (單指令多資料) 架构擴充。

使用 Neon 內建函式最佳化 C 程式碼

本指南示範如何在 C 或 C++ 程式碼中使用 Arm Neon 內建函式,以利用 Armv8-A 和 Armv9-A 架构中的 Advanced SIMD 技術。

使用自動向量化編譯 Neon

本指南顯示如何使用 Arm 编译器 6 和 CLANG 中的自動向量化功能,以自動產生包含 Armv8-A 和 Armv9-A Advanced SIMD 指令的程式碼。

從 Neon 轉移到向量延伸指令集 (SVE)

本指南著眼於向量延伸指令集 (SVE) 與 Neon。當中說明 Armv8-A 和 Armv9-A 指令集的可擴展向量延伸指令集 (SVE) 與 Advanced SIMD 架构擴充 (Neon) 之"間的差異。另說明兩者在編寫程式碼方面的最佳實務。

SVE 與 SVE2

本指南介紹可擴展向量延伸指令集第 2 版 (SVE2),它是 Armv9-A 架构的一部分。指南說明擴充概念、主要功能、應用領域與如何為 SVE2 開發程式。

向量延伸指令集 (SVE) 最佳化指南

本指南示範如何在 C 和 C++ 程式碼中使用向量延伸指令集 (SVE),以及如何執行一些基本最佳化工作。

比較可擴展向量延伸指令集與 Neon 編碼

本指南總結可擴展向量延伸指令集 (SVE) 編碼與 Neon 編碼之"間的重要差異。本指南還針對已將應用程式移植到 Armv8-A Neon 硬體上的使用者,強調將應用程式移植到向量延伸指令集 (SVE) 時要考慮的主要差異。

GIC 及 SMMU

通用中斷控制器 v3 及 v4、概述

本指南提供通用中斷控制器 (GIC) 概述,說明符合 Arm GICv3 中斷控制器的運作方式,並且提供在裸機環境中使用的相關配置資訊。

通用中斷控制器 v3 及 v4、LPI

本指南介紹特定位置周邊中斷 (LPI),這是在 GICv3/v4 中導入的一種中斷。

通用中斷控制器 v3 和 v4、虛擬化

本指南說明對於 GICv3 和 GICv4 架构中虛擬化的支援。內容涵蓋可用於虛擬機管理器的控制項目,以產生及管理虛擬中斷。

SMMU 軟體指南

本指南說明 Arm 系統記憶體管理單元第 3 版 (SMMUv3) 的基本操作,以及 SMMUv3 的使用場景。

安全性

適用於 AArch64 的 TrustZone

本指南介紹將強制隔離硬體的方法內建在 CPU 中的 Arm TrustZone 架构,這是一種高效率、全系統的安全性方法。

為复杂软体提供保护

本指南介紹 Armv8-A 和 Armv9-A 中有助於緩解軟體攻擊 (例如 ROP 和 JOP 攻擊) 的功能。本指南涵蓋指標驗證、分支目標身分鑑定和記憶體標籤。

Android 作業系統的記憶體標籤擴充 (MTE) 使用指南

本指南介紹的是記憶體標籤擴充 (MTE),協助开发人员瞭解如何利用記憶體標籤擴充 (MTE) 提升軟體的強健度及安全性。

Arm 機密運算架构簡介

本指南解釋機密運算的原理,並說明 Arm 機密運算架构 (Arm CCA) 如何在 Arm 運算平台中執行機密運算作業。

机密领域管理扩充

本指南介紹 Armv9-A 中導入的 Arm 机密领域管理扩充 (RME),它是 Arm 機密運算架构的硬體組件。

Arm 機密運算架构軟體堆疊

本指南說明 Arm 機密運算架构導入或變更的關鍵軟體功能,以提供機密運算環境。

除错与追踪

AArch64 自託管除錯

本指南介紹納入應用程式類處理器的 Arm 架构的 Armv8-A 和 Armv9-A 除錯架构。

AArch64 外部除錯

本指南概述 Armv8-A 和 Armv9-A 外部除錯功能,以及說明該架构支援的外部除錯功能。

介紹 CoreSight:除错与追踪基礎設施

本指南介紹 Arm CoreSight 架构所提供的除错与追踪基礎設施支援。

在 Armv8-A 上進行除錯之"前

本指南說明在對 Armv8-A 處理器進行除錯前需要知道的概念,包括不同除錯類型、目標類型和目標狀態。

在 Armv8-A 上使用偵錯工具

本指南著重於介紹針對 Armv8-A 架构的裸機偵錯工具常見特點。另介紹使用偵錯工具時需要瞭解的內容,以及使用它們可能帶來的後果。

瞭解 Armv9-A 追蹤

本指南概要介紹 Armv9-A 系統中的追蹤功能,包括追蹤的運作方式與使用方式。

使用 Statistical Profiling Extension (SPE) 的 SoC 遙測及效能分析

本部落格針對軟體开发人员、效能分析師及晶片工程師,介紹使用 SPE 進行效能分析及根本原因分析的概念。

MPAM

記憶體系統资源分區與監測 (MPAM) 簡介

本指南介紹記憶體系統资源分區與監測 (MPAM),這是一項 Arm 架构的選擇性附加功能,用以支援記憶體系統分區。

記憶體系統资源分區與監測 (MPAM) 軟體指南

本指南說明記憶體系統资源分區與監測 (MPAM) 之"中的韌體及軟體。

記憶體系統资源分區與監測 (MPAM) 硬體指南

本指南說明 MPAM 系統的系統層級設計考量因素,並簡介 Arm MPAM IP 之"中的管理介面。

RAS

可靠性、可用性與可維護性 (RAS) 概述

本指南簡介可靠性、可用性與可維護性 (RAS):這是打造健全可靠電腦系統的三大關鍵屬性。

RAS 軟體指南

本指南提供適用於 A 系列架构 RAS 擴充的基礎軟體模型概述以及 RAS系統架构。

软体开发

建立您的第一个嵌入式影像

本指南说明如何建立嵌入式影像,包括编译程式、指定记忆体映像及使用模型执行影像。

开机:裸机

我們正在製作新的指南。待我們準備好後,您便能閱讀我們的應用說明:Armv8-A 處理器的裸機開機程式碼。

使用 DOT 指令加速執行數位訊號處理 (DSP) 功能

本部落格說明 Armv8.4-A 點積指令的三個使用場景,並示範如何使用這些指令來增進 VP9 實作 libvpx 的效能。

书籍

Arm 另提供與 Arm 架构及 CPU 有關主題的书籍。您可以利用以下連結進行註册,以下载這些书籍副本。

?