课程列表

基本问题

开源资源

好好学习天天向上

联大大纲—通信电子 ;教师介绍; 单片机课程学习经验- 学习路线图; 1.概述 -应用 -定义 -特点 -构成; 2.嵌入式处理器 —DIY CPU处理器ARM处理器Cortex-A8S5PV210讨论; 3.汇编语言 -作业 4.Bootloader -作业 5.Linux内核移植 6.嵌入式Linux程序设计 7.图形用户接口QT 8.其他框架介绍; 9.嵌入式物联网应用系统设计

ARMv8 架构

Fromhttp://www.arm.com/zh/products/processors/instruction-set-architectures/armv8-architecture.php

 

ARMv8-A 64 位架构支持引入 ARM 架构中,其中包括:

  • 64 位通用寄存器、SP(堆栈指针)和 PC(程序计数器)
  • 64 位数据处理和扩展的虚拟寻址
  • 两种主要执行状态:
    • AArch64 - 64 位执行状态,包括该状态的异常模型、内存模型、程序员模型和指令集支持
    • AArch32 — 32 位执行状态,包括该状态的异常模型、内存模型、程序员模型和指令集支持

这些执行状态支持三个主要指令集:

  • A32(或 ARM):32 位固定长度指令集,通过不同架构变体增强部分 32 位架构执行环境现在称为 AArch32
  • T32 (Thumb) 是以 16 位固定长度指令集的形式引入的,随后在引入 Thumb-2 技术时增强为 16 位和 32 位混合长度指令集。部分 32 位架构执行环境现在称为 AArch32
  • A64:提供与 ARM Thumb 指令集类似功能的 32 位固定长度指令集。随 ARMv8-A 一起引入,它是一种 AArch64 指令集。 

ARM ISA 不断改进,以满足前沿应用程序开发人员日益增长的要求,同时保留了必要的向后兼容性,以保护软件开发投资。在 ARMv8-A 中,对 A32 T32 进行了一些增补,以保持与 A64 指令集一致。

A64

A64 是一种支持 AArch64 执行状态的全新 32 位固定长度指令集。下面摘要说明了 A64 ISA 的特性。

  • 基于 5 位寄存器说明符的简洁解码表
  • 指令语义与 AArch32 中大致相同
  • 31 随时可供访问的通用 64 位寄存器
  • 无模式 GP 寄存器组 - 改进的性能和能耗
  • 程序计数器 (PC) 和堆栈指针 (SP) 非通用寄存器
  • 可用于大多数指令的专用零寄存器

A32 的主要差异有:

  • 支持 64 位操作数的新指令  大多数指令可具有 32 位或 64 位参数
  • 地址假定为 64 位大小  P64 LLP64 是主要目标数据模型
  • 条件指令远少于 AArch32  条件 {跳转、比较、选择}
  • 无任意长度的加载/存储多重指令  增加了用于处理寄存器对的 LD/ST 'P'

A64 高级 SIMD 和标量浮点支持在语义上类似于 A32 支持;它们共享浮点/向量寄存器文件(V0 V31)。A64 提供了 3 项主要功能增强:

  • 更多 128 位寄存器:32 x 128 位宽寄存器;可视为 64 位宽寄存器
  • 高级 SIMD 支持 DP 浮点执行
  • 高级 SIMD 支持完全 IEEE 754 执行;舍入模式、非规范化数字、NaN 处理

有一些针对 IEEE754-2008 的附加浮点指令:

  • MaxNum/MinNum 指令
  • 使用 RoundTiesAway 的浮点到整数转换

A64 中的寄存器封装模型也不同于 A32

所有向量寄存器均为 128 位宽,Vx[127:0]

  • 双精度标量浮点使用 Vx[63:0]
  • 单精度标量浮点使用 Vx[31:0]

ARM tools

The ARM software development tools are used extensively throughout the processor design cycle and set the standard for the ecosystem, providing comprehensive code generation and debug support for all ARM processors.

The latest generation of tools, developed alongside the ARMv8 architecture, consists of virtual platforms, code generation tools, debug solutions and performance analysis tools.

More information on ARM tools support for ARMv8 covering ARM DS-5 Ultimate Edition, ARM Fast Models for ARMv8 and the ARM Foundation Model can be found on the DS-5 website.

Open source tools

Open source components are key to many of today's innovative products and Linaro is dedicated to the timely availability of robust and well optimized open source components for the next generation of innovative products and beyond.

To begin the process for ARMv8, early versions of the tools and kernel components are available for download at http://www.linaro.org/engineering/ARMv8 along with instructions on how to use the ARMv8 Foundation Model to execute and debug code prior to the widespread availability of silicon based development platforms.