摘要: 本文主要介紹了ARM64(Armv8)體系結構的基本概念。
關鍵字:ARM64、Armv8、體系結構、ARM架構、指令集、數據寬度
1. ARM體系結構是什么?
ARM體系結構,又稱ARM架構,是一種硬件規范。主要用來約定指令集、芯片內部體系結構(如內存管理、高速緩存管理)等。
ARM指令集在結構體系中并沒有約定每一條指令在硬件描述語言(VHDL或Verilog HDL)中如何實現,而只約定了每條指令的格式、行為規范、參數等。
ARM體系結構從v1版本發展到v9版本,每個版本的體系結構,指令集都有相應的變化。
2. Armv8-A體系結構的基本概念
2.1處理機(Processing Element ,PE):處理事務的過程抽象為處理機。
2.2執行狀態(Execution State):處理器運行時的環境,包括寄存器的位寬、支持的指令集、異常模型、內存管理以及編程模型等。
Armv8體系結構定義了AArch64和AArch32兩個執行狀態。
2.2.1 ?AArch64為64位執行狀態
- 提供31個64位的通用寄存器
- 提供64位的程序計數指針寄存器(PC)、棧指針寄存器(SP)、異常鏈接寄存器(ELR).
- 提供A64指令集
- 提供64位的內存模型
- 定義Armv8異常模型,支持EL0-EL3共4個異常等級。
- 定義一組處理器狀態(PSTATE)用來保存處理機(PE)的狀態。
2.2.2 ?AArch32為32位執行狀態
- 提供13個32位的通用寄存器
- 提供32位的程序計數指針寄存器(PC)、棧指針寄存器(SP)、鏈接寄存器(LR).
- 提供A32指令集和T32(Thumb)指令集。
- 提供32位的虛擬內存訪問機制。
- 定義Armv8異常模型,支持EL0-EL3共4個異常等級。
- 定義一組處理器狀態(PSTATE)用來保存處理機(PE)的狀態。
2.3 Armv8指令集
- Arm 體系結構根據不同的執行狀態會有三種指令集。
- A64指令集,運行在AArch64狀態下,提供64位指令集支持。
- A32指令集,運行在AArch32狀態下,提供32位指令集支持。
- T32指令集,運行在AArch32狀態下,提供Thumb 16位和32位指令集支持。
2.4 系統寄存器命令
在AArch64狀態下,一些系統寄存器會根據不同的異常等級提供不同的變種寄存器。例如:SP_EL0表示在EL0下的SP寄存器,SP_EL1表示在EL1下的SP寄存器。
3. AArch64異常等級
ARMv8-A架構定義了一組異常級別(Exception Level,EL),從EL0到EL3,其中: 如果ELn為異常級別,n的值越大表示軟件執行權限越高。

如上圖所示,
- EL0提供用于普通用戶的應用。
- EL1提供操作系統相關的支持。
- EL2提供對非安全操作的虛擬化支持。
- EL3提供了兩個安全狀態之間切換的支持,安全狀態和非安全狀態。
- 一個程序可能不包括所有的異常級別,但必須包括EL0和EL1,至于EL2、EL3可選。
4. ARMv8支持的數據寬度
ARMv8支持如下幾種數據寬度:
- 字節:8位
- 半字:16位
- 字 :32位
- 雙字:64位
- 四字:128位
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
關于億道電子
億道電子技術有限公司(英文名稱:Emdoor Electronics Technology Co.,Ltd)是國內資深的研發工具軟件提供商,公司成立于 2002 年,面向中國廣大的制造業客戶提供研發、設計、管理過程中使用的各種軟件開發工具,致力于幫助客戶提高研發管理效率、縮短產品設計周期,提升產品可靠性。
20 年來,先后與 Altium、ARM、Ansys、QT、Adobe、Visu-IT、Minitab、Testplant、EPLAN、HighTec、GreenHills、PLS、Ashling、MSC Software 、Autodesk、Source Insight、TeamEDA、MicroFocus等多家全球知名公司建立戰略合作伙伴關系,并作為他們在中國區的主要分銷合作伙伴服務了數千家中國本土客戶,為客戶提供從芯片級開發工具、EDA 設計工具、軟件編譯以及測試工具、結構設計工具、仿真工具、電氣設計工具、以及嵌入式 GUI 工具等等。億道電子憑借多年的經驗積累,真正的幫助客戶實現了讓研發更簡單、更可靠、更高效的目標。

歡迎關注“億道電子”公眾號
了解更多研發工具軟件知識

首頁 > 新聞資訊
