ARM的体系结构

来源:互联网 发布:图标制作软件手机版 编辑:程序博客网 时间:2024/05/19 06:36

1.ARM简介

 

1)ARM是"Advanced RISC Machine"的缩写,最早的ARM处理器诞生于80年代的英国,目前总部在英国剑桥

2)ARM公司自己并不生产或者销售芯片,它采用技术授权模式,通过出售芯片技术授权,收取授权费和技术转让费

3)基于ARM内核的处理器是目前消费类电子市场中占有量第一的处理器,尤其是手机和平板电脑行业

4)ARM是一个cpu内核,是一家cpu设计公司,是一种处理器架构的代表

5)ARM的特点

低功耗,低成本,高性能,可靠性好(强大的开发工具,便于开发者进行开发工作)

6)ARM采用的指令集精简指令集RISC(arm)

 

  复杂指令集CISC(x86)

 

1) RSIC:着眼于如何使计算机的结构更加简单和如何使计算机的处理速度更加快速高效。RISC选取了使用频率最高的简单指令,抛弃复杂指令,固定指令长度,减少指令格式和寻址方式。这些特点使得RISC非常适合嵌入式处理器。

2) CISC:传统的复杂指令集计算机,更侧重于硬件执行的功能性,使CISC指令以及处理器的硬件结构变得复杂。这些会导致成本,芯片体积增加影响其在嵌入式产品中的应用


ARM架构:

ARM v4

  ARM v5

  ARM v6

  ARM v6T

ARM v7

  ARM v8

 • ARMv4T架构

    引进了 16  Thumb® 指令集和 32  ARM 指令集,目的是在同一个架构中同时提供高性能和领先的代码密度。16  Thumb 指令集相对于 32 ARM 指令集可缩减高达 35% 的代码大小,同时保持 32 位架构的优点。

    示例处理器- ARM7TDMI®

 

• ARMv5TEJ 架构

 

    引进了数字信号处理 (DSP) 算法(如饱和运算)的算术支持和 Jazelle® Java 字节码引擎来启用 Java 字节码的硬件执行,从而改善用 Java编写的应用程序的性能。与非 Java 加速内核比较,Jazelle  Java 执行速度提高了倍,并且减少了 80% 的功耗。许多基于 ARM 处理器的便携式设备中已使用此架构,目的是在游戏和多媒体应用程序的性能方面提供显著改进的用户体验。

    示例处理器 - ARM926EJ-S™ 和 ARM968E-S™

 

• ARMv6 架构


    引进了包括单指令多数据 (SIMD) 运算在内的一系列新功能。SIMD 扩展已针对多种软件应用程序(包括视频编解码和音频编解码)进行优化,对于这些软件应用程序,SIMD 扩展最多可将性能提升四倍。此外,还引进了作为 ARMv6 体系结构的变体的 Thumb-2  TrustZone 技术。 

    示例处理器 - ARM1176JZ  ARM1136EJ

 

• ARMv6M 架构

 

    为低成本、高性能设备而设计,向以前由位设备占主导地位的市场提供 32 位功能强大的解决方案。其 16  Thumb 指令集架构允许设计者设计门数最少却十分经济实惠的设备。始终如一的中断处理结构和编程器模式为所有 Cortex-M 系列处理器(从 Cortex-M0 处理器到 Cortex-M3 处理器)提供了完全向上兼容的途径。

    示例处理器 - Cortex™-M0  Cortex-M1

 

• ARMv7 架构

 

    向目标应用提供一组自定义配置文件。所有 Cortex 处理器都实现了 ARMv7 架构(实现 ARMv6M  Cortex-M 系列处理器除外)。所有 ARMv7架构配置文件都实现了 Thumb-2 技术(一个经过优化的 16/32 位混合指令集),在保持与现有 ARM 解决方案的代码完全兼容的同时,既具有 32  ARM ISA 的性能优势,又具有 16 位 Thumb ISA 的代码大小优势。ARMv7 架构还包括 NEON™ 技术扩展,可将 DSP 和媒体处理吞吐量提升高达 400%,并提供改进的浮点支持以满足下一代 3D 图形和游戏以及传统嵌入式控制应用的需要。Cortex 架构旨在横跨各种应用领域(从成本少于美元的微控制器到功能强大,运行速度超过 2GHz 的多核设计)。此架构分为种配置文件:

 

• Cortex-A -应用配置文件,它拥有MMU(内存管理单元)、用于多媒体应用的可选 NEON 处理单元以及支持半精度、单精度和双精度运算的高级硬件浮点单元的基础上实现了虚拟内存系统架构。 它适用于高端消费电子设备、网络设备、移动互联网设备和企业市场。示例处理器 - Cortex-A9, Cortex-A8 和 Cortex-A5

 

• Cortex-R - 实时配置文件,它在 MPU(内存保护单元)的基础上实现了受保护内存系统架构。它适用于高性能实时控制系统(包括汽车和大容量存储设备)。示例处理器 - Cortex-R4(F)

 

• Cortex-M - 微控制器配置文件,可进行快速中断处理,适用于需要高度确定的行为和最少门数的成本敏感型设备。示例处理器 - Cortex-M3

 

• ARMv8 架构

 

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 指令集一致。





0 0
原创粉丝点击