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 执行速度提高了 8 倍,并且减少了 80% 的功耗。许多基于 ARM 处理器的便携式设备中已使用此架构,目的是在游戏和多媒体应用程序的性能方面提供显著改进的用户体验。
示例处理器 - ARM926EJ-S™ 和 ARM968E-S™
• ARMv6 架构
引进了包括单指令多数据 (SIMD) 运算在内的一系列新功能。SIMD 扩展已针对多种软件应用程序(包括视频编解码和音频编解码)进行优化,对于这些软件应用程序,SIMD 扩展最多可将性能提升四倍。此外,还引进了作为 ARMv6 体系结构的变体的 Thumb-2 和 TrustZone 技术。
示例处理器 - ARM1176JZ 和 ARM1136EJ
• ARMv6M 架构
为低成本、高性能设备而设计,向以前由 8 位设备占主导地位的市场提供 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 架构旨在横跨各种应用领域(从成本少于 1 美元的微控制器到功能强大,运行速度超过 2GHz 的多核设计)。此架构分为 3 种配置文件:
• 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 指令集一致。
- ARM体系结构的优点
- ARM体系结构的发展
- ARM体系结构的发展
- ARM体系结构的理解
- ARM体系结构的基本概念
- ARM体系结构的基本概念
- ARM处理器的体系结构
- **arm的中断体系结构
- ARM微处理器的体系结构
- arm的v7体系结构
- arm的中断体系结构
- ARM的体系结构
- ARM的体系结构
- ARM的体系结构变种
- ARM体系结构的命名规则
- 学习ARM体系结构的意义
- 学习ARM体系结构的意义
- ARM体系结构的命名规则
- 字典树的建立,插入,查找
- (转)Windows下Nginx的启动、停止等命令
- OS进程调度实验
- 分治法
- WPF应用
- ARM的体系结构
- ajax配合spring实现文件上传
- ubuntu16.04+cuda8.0+cudnn5.1 安装
- 【机器学习】【数据预处理】数据的规范化,归一化,标准化,正则化
- 在网页中嵌入百度地图和使用百度地图api自定义地图
- mammary cancer关联规则挖掘详解
- FZU11685 之 跑跑卡丁车
- [linux]wait详解
- bochs调试