ARMv8-A架构:
Cortex-A57处理器、Cortex-A53处理器

ARMv7-A架构:
Cortex-A17处理器、Cortex-A15处理器、Cortex-A9处理器、Cortex-A8处理器、Cortex-A7处理器、Cortex-A5处理器

ARMv6架构:
ARM11处理器

ARMv5架构:
ARM9处理器、ARM7处理

处理器向后兼容,所以64位的armV8 也支持 32位的armV7, 指令集也兼容*,ARMv8 可以工作在32位和64位两种状态.GNU 和Linux中有时会将其称为ARM64*
ARMv8 两种执行状态AArch64和AArch32,当执行v7的32位指令集时会在AArch32执行态。

32bitARMv7到64bitARMv8的好处:
1、寄存器变多了,在ARMv7函数调用中多过4个参数传递时需要栈,但是在v8中的AArch64中可以多达8个参数都可以用寄存器传递
2、ARMv7中处理64位的数据需要多次操作,但AArch64更宽的寄存器宽度可以在同时钟频率下更高效率处理数据
3、应用程序更大的虚拟地址空间。Armv7 支持大物理地址扩展(LPAE), 地址总线位宽支持40bits, 最大寻址范围是2^40 (1TB), 即支持4G以上的物理内存;可是它仍然是32bits处理器,虚拟地址(VA)仍然是32bits的(因为给操作系统预留了空间),一个进程能看到的最大地址范围是0~2^32(4G), 但有LPAE的话linux kernel可将32bits VA转换成40bits PA,AArch64更宽的64位操作可以使虚拟地址空间更大。
4、32位有时需要将一些数据映射进或是映射出内存,64位可以避免这个问题。
但是64位也有多余的开销,同一段代码可能需要更多的内存空间,因为每个指针需要8字节而不是4字节,当使用cache时,会降低性能。更大的虚拟空间也需要更大的内存映射文件,而整个物理RAM没这么大

ARM架构发展:
在这里插入图片描述

支持ARMv8架构的处理器:Cortex-A53处理器、Cortex-A57处理器:
cortex-A53特点是功耗低,Cortex-A57性能高,均支持1到4个核。两者配合可以组成ARM big.LITTLE处理器架构,以结合高性能和高功耗效率特性。
在这里插入图片描述cortex-A53处理器架构如下,如图,支持1~4个核,每个核都有L1 cache子系统。可选择GIC v3 或是v4, 可选择L2 cache 控制器:
在这里插入图片描述
cortex-A57处理器架构如下
在这里插入图片描述

本系列是ARMv8-A的学习笔记,ARMv8的许多概率和ARMv7通用,所以最好有v7基础。

软硬件平台:

OS: vxWorks uboot

Target Alias : Xilinx_ZCU102_Rev1.1-9
BSP : xlnx_zynqmp
Architecture : ARMv8
CPU : AMR-Cortex-A53
CPU Speed : 1100
CPU L1 I-Cache : 32
CPU L1 D-Cache : 32
CPU L2 Cache : 1024
CPU Bitsize : 64
Memory Size : 8192
Flash Size : 0
Endianness : little-endian
Bootrom Version :
Bootrom Built : u-boot
Boot Device :gei0
Serial Port : null
MAC Address : 00:0A:35:05:23:BB
IP Address : 128.224.103.207
IP Alias : null
IP Mask : 255.255.254.0
Gateway : 128.224.102.1
Reserved By : wxu3
Reserved Date : Fri Dec 11 01:43:29 PST 2020
Reserve Note : WASSP:lltp_fdt_c_14:108.162.219.93:24493
Zone : ChengduCertPlat
Room : Panda_B3a_U17/U20
Street Address : 14th Floor of No.7 Building D area,Tianfu Software Park
City : ChengDu
State : -
Country : CHINA
Terminal Server : 128.224.102.131
Terminal Server Port: 62

Logo

更多推荐