日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[core]-ARMV7-A、ARMV8-A、ARMV9-A 架构简介

發布時間:2025/3/21 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [core]-ARMV7-A、ARMV8-A、ARMV9-A 架构简介 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

引流關鍵詞: optee、ATF、TF-A、Trustzone、optee3.14、MMU、VMSA、cache、TLB、arm、armv8、armv9、TEE、安全、內存管理、頁表…

快速鏈接:
.
👉👉👉 個人博客筆記導讀目錄(全部) 👈👈👈

Armv9-A architecture

Armv9-A 架構建立在 Armv8-A 架構的基礎上并向前兼容。 Armv9-A 架構構成了 Arm 基礎系統架構的基礎——該規范概述了一種標準,可確保硬件和固件在系統級的廣泛應用中具有兼容性。

Armv9-A 架構引入了一些主要的新特性:

  • SVE2: extending the benefit of scalable vectors to many more use cases
  • Realm Management Extension (RME): extending Confidential Compute on Arm platforms to all developers. Read more about Confidential Compute and Arm architecture security features
  • BRBE: providing profiling information, such as Auto FDO
  • Embedded Trace Extension (ETE) and Trace Buffer Extension (TRBE): enhanced trace capabilities for Armv9
  • TME: hardware transactional memory support for the Arm architecture

Armv8-A architecture

Armv8-A 架構引入了使用 64 位和 32 位執行狀態的能力,分別稱為 AArch64 和 AArch32。 AArch64 執行狀態支持 A64 指令集。 它在 64 位寄存器中保存地址,并允許基本指令集中的指令使用 64 位寄存器進行處理。 AArch32 執行狀態是一個 32 位執行狀態,它保留了與 Armv7-A 架構的向前兼容性,增強了該配置文件,使其可以支持 AArch64 狀態中包含的某些功能。 它支持 T32 和 A32 指令集。

Armv8-A 架構允許不同級別的 AArch64 和 AArch32 支持,例如:

  • AArch64 only designs
  • AArch64 designs that also support AArch32 operating systems and virtual machines
  • AArch64 support with AArch32 at (unprivileged) application level only

Armv7-A architecture

Armv7-A 架構引入了架構配置文件的概念,這個概念在 Armv8-A 和 Armv9-A 中得到延續。 Armv7-A架構:

  • 以多種模式實現傳統的Arm架構
  • 支持基于內存管理單元 (MMU) 的虛擬內存系統架構 (VMSA)
  • 支持 Arm (A32) 和 Thumb (T32) 指令集

該架構還支持多種擴展:

  • Security Extensions
  • Multiprocessing Extensions
  • Large Physical Address Extension
  • Virtualization Extensions
  • Generic Timer Extension
  • Performance Monitors Extension

所有這些擴展都是可選的,它們提供的大部分功能都包含在 Armv8-A 架構中。


Armv9-A特性總結

Arm Application-profile (A-profile) 架構面向高性能市場,例如 PC、移動、游戲和企業。 A-profile 架構的最新版本是 Armv9-A 和 Armv8-A。 Armv9-A和Armv8-A的特性對比請看下表:

FeatureArchitecture
versions
Description
AArch64Armv8.0-A
Armv9.0-A
AArch64 是 Arm 架構的 64 位執行環境。包括:
(1)、 大物理和虛擬地址空間
(2)、 64 位寄存器
(3)、 高性能的自旋鎖
(4)、 高效的緩存管理
(5)、 為 C++11、C11、Java 內存模型設計的 Load-Acquire、Store-Release 指令。
(6)、 Arm 架構的 64 位執行環境。
AArch32Armv8.0-A
Armv9.0-A(EL0 only)
Arm 架構的 32 位執行環境。 提供與 Armv7-A 及更早版本的兼容性。
VirtualizationArmv8.0-A
Armv9.0-A
支持hypervisors 和virtualization
TrustZoneArmv8.0-A
Armv9.0-A
TrustZone 通過內置于 CPU 中的硬件強制隔離提供了一種高效的、系統范圍的安全方法。
Realm Management Extension (RME)Armv9.0-ARealm Management Extension (RME) 建立在 TrustZone 之上,具有以下功能:
(1)、兩個額外的安全狀態
(2)、兩個額外的物理地址空間
(3)、在安全狀態之間動態移動資源的能力
這些功能支持 Arm 機密計算架構 (Arm CCA) 和動態 TrustZone。
Hardware-accelerated cryptographyArmv8.0-A
Armv9.0-A
ARM cryptography extension
NeonArmv8.0-A
Armv9.0-A
Neon 技術是一種打包的 SIMD 架構。 Neon 寄存器被視為相同數據類型元素的向量,Neon 指令同時對多個元素進行操作。 該技術支持多種數據類型,包括浮點和整數運算。
Virtualization Host Extension (VHE)Armv8.1-A
Armv9.0-A
這些增強功能通過減少在host os和guest os之間轉換時相關的軟件開銷來提高 Type 2 hypervisors的性能。 這些擴展允許host os在 EL2 上執行,而不是在 EL1 上執行,而無需進行大量修改。
Privilege Access Never (PAN)Armv8.1-A
Armv9.0-A
PAN 允許內核阻止訪問非特權位置,從而提供更高的健壯性。
Statistical Profiling Extension (SPE)Armv8.2-A
Armv9.0-A
在指令或微操作的基礎上設置采樣標準,然后定期采樣。 然后,每個樣本將與該樣本關聯的上下文收集到一個分析記錄中,在任何給定時間只編譯一個記錄。 當在長時間運行大型工作負載的系統上連續采樣時,分析大型工作樣本集可以提供對軟件執行及其相關性能的深入了解。
Scalable Vector Extensions (SVE)Armv8.2-ASVE 為具有可變矢量長度的 SIMD 提供支持。 SVE 支持向量長度不可知的編碼風格,其中代碼不需要重新編寫或重新編譯,因為它動態地適應實現的向量長度。 SVE 架構允許實現向量長度高達 2048 位,其中向量長度必須是 128 位的倍數。 SVE 還支持為固定向量長度編寫的代碼。
Pointer authenticationArmv8.3-A
Armv9.0-A
計算機攻擊正變得越來越復雜。 這方面的示例是利用機制,例如在Return-Orientated Programming(ROP) 和Jump-Orientated Programming(JOP) 中使用gadgets 。 為了緩解此類漏洞,Armv8.3-A 引入了一項功能,可在將寄存器的內容用作間接分支或數據引用的地址之前對其進行身份驗證。 對于地址驗證,該功能使用 64 位地址值中的高位,通常與地址空間的簽名擴展相關聯。 這允許在值的高位中引入Pointer Authentication Code (PAC) 作為新字段。
Nested VirtualizationArmv8.3-A
Armv9.0-A
人們對云計算越來越感興趣,尤其是對日益普遍的用例感興趣,即用戶從基礎設施即服務 (IaaS) 提供商處租用虛擬機。 嵌套虛擬化是一個有吸引力的提議,其中打算在此虛擬機上運行的工作負載包括使用管理程序。
Memory Tagging Extension (MTE)Armv8.5-A
Armv9.0-A
Memory tagging extension(MTE)使開發人員能夠識別他們程序中的內存安全違規。
Branch Target Identification (BTI)Armv8.5-A
Armv9.0-A
BTI 允許軟件識別跳轉分支的有效目標。 BTI 補充了對指針身份驗證的支持,提供了針對 JOP 技術的防御。
GEneral Matrix Multiply (GEMM)Armv8.6-A
Armv9.0-A
添加新的高級 SIMD (Neon) 和 SVE 指令以加速矩陣運算,大大減少所需的內存訪問次數。
BFloat16Armv8.6-A
Armv9.0-A
支持 BFloat16 數據類型的高級 SIMD (Neon) 和 SVE。 BF16 最近成為一種專門為神經網絡的高性能處理量身定制的格式。
High precision timersArmv8.6-A
Armv9.0-A
通用定時器頻率增加到 1GHz 的新標準。
64-byte load and storesArmv8.7-A
Armv9.0-A
企業系統的一個增長趨勢是引入可以使用 64 字節原子加載或存儲訪問的加速器。 這些用于向隊列添加項目,并且在某些情況下可以表示入隊操作的成功或失敗。
Scalable Vector Extension v2 (SVE2)Armv9.0-ASVE2 是 Armv8-A SVE 的超集,具有擴展的功能。 SVE2 指令集增加了全面的定點算術支持。
Transactional Memory Extension (TME)Armv9.0-A事務內存擴展為 Arm 架構帶來了硬件事務內存 (HTM) 支持。 事務內存用于解決編寫高并發、多線程程序的困難,通過減少由于鎖爭用導致的序列化,粗粒度、線程級并行的數量可以隨著 CPU 的數量更好地擴展。
Branch Record Buffer Extensions (BRBE)Armv9.2-A

總結

以上是生活随笔為你收集整理的[core]-ARMV7-A、ARMV8-A、ARMV9-A 架构简介的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。