ARMV8 datasheet學習筆記1:預備知識


1. 前言

ARMv8的架構繼承以往ARMv7與之前處理器技術的基礎;

除了支持現有的16/32bit的Thumb2指令外,也向前兼容現有的A32(ARM 32bit)指令集。

基於64bit的AArch64架構,除了新增A64(ARM 64bit)指令集外,也擴充了現有的A32(ARM 32bit)和T32(Thumb2 32bit)指令集,另外還新增加了CRYPTO(加密)模塊支持。

2. 相關術語

Items

Notes

PE

Processing element,處理器單元可以理解成一個cpu core

Execution state

運行狀態,包括AArch32和AArch64兩種運行狀態

AArch32

描述32bit Execution State,地址存在32bit寄存器;指令集使用32位寄存器;支持A32和T32指令集

AArch64

描述64bit Execution State,地址存在64bit寄存器;指令集使用64位寄存器;支持A64指令集

A32、T32

AArch32 ISA (Instruction Architecture)

A64

AArch64 ISA (Instruction Architecture)

Interprocessing

AArch32和AArch64兩種執行狀態之間的切換

SIMD

Single-Instruction, Multiple-Data (單指令多數據)

translation table walks

指頁表的查找過程

Volatile

標有Volatile的字段編譯器認為是多線程代碼, 從而不會執行優化; 這保證內存中字段的值總是最新的。比如連續兩次讀一個變量,不加volatile則編譯器會優化,只會讀一次,加上volatile,則編譯器不會優化,會讀兩次,對寄存器的訪問一般會加此關鍵字

 

3. 主要內容

主要內容

說明

Execution state

包括AArch32與AArch64

Instruction sets

包括AArch32下A32和T32指令集  與  AArch64下的A64指令集

state

包括當前的Exception level和Secure state,這決定了PE的行為

異常模型

異常的類型、路由及處理

Interprocessing

AArch64與AArch32的切換規則

存儲模型

描述內存訪問的規則和內存管理

編程模型

通過訪問系統寄存器來控制PE和存儲系統的大部分特性,並提供狀態信息

SIMD和浮點指令

提供了高性能

Security模型

提供了兩種安全狀態,支持安全特性的應用開發

虛擬化模型

支持non-security的虛擬化操作

Debug

提供了軟件訪問debug的一些特性

表 ARMV8描述的主要內容

4. 內容編排

章節

說明

A

簡介和體系結構概述

B

C

D

AArch64應用級體系結構

A64指令集

AArch64系統級體系結構

E

F

G

AArch32應用級體系結構

AArch32指令集

AArch32系統級體系結構

H

外部debug

I

Armv8體系結構的內存映射組件

J

體系結構偽代碼

表 本數據手冊的內容編排

 

 

5. 參考文檔

[1] ARMv8-A Architecture reference manual-DDI0487A_g_armv8_arm.pdf

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM