arm developer’s guide

图:嵌入式arm的基本架构

图:应用软件运行在arm硬件上的抽象图

图:arm memory remap

图: arm内容数据流模型

图:arm在用户模式下可用的寄存器

图:图解状态寄存器

图:完整的arm寄存器集合

图: arm指令序列

图: arm指令执行的例子

图: arm向量表

arm中的高速缓冲存储器cache












ARM架构演进

以由高到低的方式来看,ARM处理器大体上可以排序为:Cortex-A57处理器、Cortex-A53处理器、Cortex-A15处理器、Cortex-A12处理器、Cortex-A9处理器、Cortex-A8处理器、Cortex-A7处理器、Cortex-A5处理器、ARM11处理器、ARM9处理器、ARM7处理器,再往低的部分手机产品中基本已经不再使用

  Cortex-A53、Cortex-A57两款处理器属于Cortex-A50系列,首次采用64位ARMv8架构,意义重大,这也是ARM最近发布的两款产品。

  Cortex-A57是ARM最先进、性能最高的应用处理器,号称可在同样的功耗水平下达到当今顶级智能手机性能的三倍;而Cortex-A53是世界上能效最高、面积最小的64位处理器,同等性能下能效是当今高端智能手机的三倍。这两款处理器还可整合为ARM big.LITTLE(大小核心伴侣)处理器架构,根据运算需求在两者间进行切换,以结合高性能与高功耗效率的特点,两个处理器是独立运作的。

ARM Cortex-A15处理器隶属于Cortex-A系列,基于ARMv7-A架构,是业界迄今为止性能最高且可授予许可的处理器。

Cortex-A15 MPCore处理器具有无序超标量管道,带有紧密耦合的低延迟2级高速缓存,该高速缓存的大小最高可达4MB。浮点和NEON媒体性能方面的其他改进使设备能够为消费者提供下一代用户体验,并为 Web 基础结构应用提供高性能计算。Cortex-A15处理器可以应用在智能手机、平板电脑、移动计算、高端数字家电、服务器和无线基础结构等设备上。

   理论上,Cortex-A15 MPCore处理器的移动配置所能提供的性能是当前的高级智能手机性能的五倍还多。在高级基础结构应用中,Cortex-A15 的运行速度最高可达2.5GHz,这将支持在不断降低功耗、散热和成本预算方面实现高度可伸缩的解决方案。


2013中旬,ARM 发布了全新的Cortex-A12处理器,在相同功耗下,Cortex-A12的性能上比Cortex-A9提升了40%,同时尺寸上也同样减小了30%。Cortex-A12也同样能够支持big.LITTLE技术,可以搭配Cortex-A7处理器进一步提升处理器的效能。

ARM表示Cortex-A12处理器未来将应用于大量的智能手机以及平板产品,但更加侧重于中端产品。同时ARM也预计在2015年,这些中端产品在数量上将远超过旗舰级别的智能手机及与平板。

搭载Cortex-A12处理器的中端机在未来也将是非常有特点的产品,因为Cortex-A12能够支持虚拟化、AMD TrustZone技术,以及最大1TB的机身存储。这也就意味着未来搭载这一处理器的智能手机完全可以作为所谓的BYOD(Bring Your Own Device)设备使用,换句话说就是在作为自用手机的同时,还可以用作商务手机存储商务内容


  ARM Cortex-A9处理器隶属于Cortex-A系列,基于ARMv7-A架构,目前我们能见到的四核处理器大多都是属于Cortex-A9系列。

Cortex-A9 处理器的设计旨在打造最先进的、高效率的、长度动态可变的、多指令执行超标量体系结构,提供采用乱序猜测方式执行的 8 阶段管道处理器,凭借范围广泛的消费类、网络、企业和移动应用中的前沿产品所需的功能,它可以提供史无前例的高性能和高能效。

  Cortex-A9 微体系结构既可用于可伸缩的多核处理器(Cortex-A9 MPCore多核处理器),也可用于更传统的处理器(Cortex-A9单核处理器)。可伸缩的多核处理器和单核处理器支持 16、32 或 64KB 4 路关联的 L1 高速缓存配置,对于可选的 L2 高速缓存控制器,最多支持 8MB 的 L2 高速缓存配置,它们具有极高的灵活性,均适用于特定应用领域和市场。

  应用案例:德州仪器OMAP 4430/4460、Tegra 2、Tegra 3、新岸线NS115、瑞芯微RK3066、联发科MT6577、三星 Exynos 4210、4412、华为K3V2等。另外高通APQ8064、MSM8960、苹果A6、A6X等都可以看做是在A9架构基础上的改良版本。


ARM Cortex-A8处理器隶属于Cortex-A系列,基于ARMv7-A架构

ARM Cortex-A8处理器是首款基于ARMv7体系结构的产品,能够将速度从600MHz提高到1GHz以上。Cortex-A8处理器可以满足需要在300mW以下运行的移动设备的功率优化要求;以及需要2000 Dhrystone MIPS的消费类应用领域的性能优化要求。


Cortex-A8 高性能处理器目前已经非常成熟,从高端特色手机到上网本、DTV、打印机和汽车信息娱乐,Cortex-A8处理器都提供了可靠的高性能解决方案。

   应用案例:MYS-S5PV210开发板、TI OMAP3系列、苹果A4处理器(iPhone 4)、三星S5PC110(三星I9000)、瑞芯微RK2918、联发科MT6575等。另外,高通的MSM8255、MSM7230等也可看做是A8的衍生版本。


ARM Cortex-A7处理器隶属于Cortex-A系列,基于ARMv7-A架构,它的特点是在保证性能的基础上提供了出色的低功耗表现。

Cortex-A7处理器的体系结构和功能集与Cortex-A15 处理器完全相同,不同这处在于,Cortex-A7 处理器的微体系结构侧重于提供最佳能效,因此这两种处理器可在big.LITTLE(大小核大小核心伴侣结构)配置中协同工作,从而提供高性能与超低功耗的终极组合。单个Cortex-A7处理器的能源效率是ARM Cortex-A8处理器的5倍,性能提升50%,而尺寸仅为后者的五分之一。

  作为独立处理器,Cortex-A7可以使2013-2014年期间低于100美元价格点的入门级智能手机与2010 年500美元的高端智能手机相媲美。这些入门级智能手机在发展中世界将重新定义连接和Internet使用。

应用案例:全志Cortex-A7四核平板芯片,联发科的MT6589。


ARM Cortex-A5处理器隶属于Cortex-A系列,基于ARMv7-A架构,它是能效最高、成本最低的处理器。


Cortex-A5处理器可为现有ARM9和ARM11处理器设计提供很有价值的迁移途径,它可以获得比ARM1176JZ-S更好的性能,比ARM926EJ-S更好的功效和能效。另外,Cortex-A5处理器不仅在指令以及功能方面与更高性能的Cortex-A8、Cortex-A9和Cortex-A15处理器完全兼容,同时还保持与经典ARM处理器(包括ARM926EJ-S、ARM1176JZ-S和 ARM7TDMI)的向后应用程序兼容性。

应用案例:高通MSM7227A/7627A(摩托罗拉XT615、诺基亚610、中兴V889D、摩托罗拉DEFY XT等)、高通MSM8225/8625(华为U8825D、酷派7266等)、米尔 MYD-SAMA5D3X系列开发板(MYD-SAMA5D31、MYD-SAMA5D33、MYD-SAMA5D34、MYD-SAMA5D35)。


  ARM11系列包括了ARM11MPCore处理器、ARM1176处理器、ARM1156处理器、ARM1136处理器,它们是基于ARMv6架构,分别针对不同应用领域。ARM1156处理器主要应用在高可靠性和实时嵌入式应用领域,与手机关联不大

ARM11 MPCore使用多核处理器结构,可实现从1个内核到4个内核的多核可扩展性,从而使具有单个宏的简单系统设计可以集成高达单个内核的4倍的性能。Cortex-A5处理器是ARM11MPCore的相关后续产品。

   ARM1176处理器主要应用在智能手机、数字电视和电子阅读器中,在这些领域得到广泛部署,它可提供媒体和浏览器功能、安全计算环境,在低成本设计的情况下性能高达1GHz。

ARM1136处理器包含带媒体扩展的ARMv6 指令集、Thumb代码压缩技术以及可选的浮点协处理器。ARM1136是一个成熟的内核,作为一种应用处理器广泛部署在手机和消费类应用场合中。在采用 90G工艺时性能可达到600MHz以上,在面积为2平方毫米且采用65纳米工艺时可达到1GHz。


ARM9系列处理器系列包括ARM926EJ-S、ARM946E-S和 ARM968E-S处理器。其中前两者主要针对嵌入式实时应用,我们这里就主要针对ARM926EJ-S进行介绍。


ARM926EJ-S基于ARMv5TE架构,作为入门级处理器,它支持各种操作系统,如Linux、Windows CE和Symbian。ARM926EJ-S 处理器已授权于全球100多家硅片供应商,并不断在众多产品和应用中得到成功部署,应用广泛。

   应用案例:TI OMAP 1710。诺基亚N73、诺基亚E65、三星SGH-i600等手机采用的都是该处理器,以及包括米尔科技的 MYS-SAM9X5 系列工控开发板。

ARM学习之图解ARM相关推荐

  1. 【ARM学习笔记】ARM Cortex -A7 EPIT定时器

    简述 ARM Cortex-A7的一个定时器,用来完成周期性中断定时 特点: 时钟源可选的32位向下计数器 12位的分频值 当计数值和比较值相等的时候产生中断 可以即使编程的计数器值 在低功耗和调试模 ...

  2. 【ARM学习笔记】ARM汇编指令:B、BL、BX、BLX的区别

    文章目录 1 ARM的跳转指令介绍 2 ARM的4个跳转指令 2.1 B 指令 2.2 BL 指令 2.3 BLX 指令 2.4 BX 指令 3 更多分享 1 ARM的跳转指令介绍 跳转指令用于实现程 ...

  3. ARM学习(12)基于arm架构的嵌入式操作系统理解

    ARM学习(12)基于arm架构的嵌入式操作系统理解 笔者来聊聊指令集的理解 这里写自定义目录标题 ARM学习(12)基于arm架构的嵌入式操作系统理解 symbol 符号表认识 symbol符号表的 ...

  4. 【归纳】S3C2440A之ARM学习的所有的问题:

    目录: 问题1:关于Nor/Nand启动判断的问题: 问题2:程序烧写到什么位置啦(即程序的存储位置)?Norflash/Nandflash? 问题3:Nor启动,SRAM除了存储寄存器sp之类,还有 ...

  5. ARM学习视频观後感:ARM那些你得知道的事儿 1-5

    前言 偶然间给我看到csdn学院内的一个免费教学视频.视频作者是朱有鹏.从视频里听得出,他是个实事求事,很实际的人,不喜欢做些无谓事.他的讲解很有系统,且对国内社会.民生.教育都有颇为"独特 ...

  6. arm嵌入式培训学校哪里好?看看有哪些arm学习建议

    arm嵌入式培训学校哪里好?想通过arm培训的初学者,究竟该怎么学习呢?除了要找到合适的arm嵌入式培训学校,还要针对arm进行相对应的学习. ARM到底指的是什么?ARM的处理器芯片应该如何来分类? ...

  7. ARM学习day1-->ARM体系结构

    目录 预备知识 计算机的组成部分 常见原理图 ARM体系结构 ARM的三层含义 ARM公司的商业模式 ARM的型号 ARM数据和指令类型 ARM(cortex-A9)处理器的工作模式 cortex-A ...

  8. ARM学习(9) arm 编译器了解学习(armcc/armclang)

    笔者来聊聊编译器的用法 arm编译器了解学习 arm编译器学习 armcc 编译器 1.armcc 2.armasm 3. armlink 4. armar 5.fromelf armclang 编译 ...

  9. ARM学习系列 ---- ARM NEON

    ARM学习系列 ---- ARM NEON 1 NEON概述 1.1 简介 NEON是指适用于Arm Cortex-A系列处理器的一种高级SIMD(单指令多数据)扩展指令集,可执行并行数据处理. 1. ...

最新文章

  1. 支付宝支付 第九集:产品数据和支付二维码对接
  2. SqlServer 批量备份
  3. matlab矩阵处理实验报告,matlab实验报告一二三
  4. 从WINDOWS日志判断哪块硬盘好坏!!
  5. Ubuntu 17安装Virtual Box
  6. 司创电梯发卡软件_防复制电梯IC卡软件系统安装操作步骤
  7. 消费贷之京东白条、蚂蚁花呗和银行信用卡的那些分期“低费率”套路
  8. 九个实用的Word转PDF的方法,为你解决格式转换的问题
  9. GBT 39323-2020 乘用车车道保持辅助(LKA)系统性能要求及试验方法
  10. 基于51单片机MAX31865的PT100铂电阻测温设计
  11. 深度强化学习中的对抗攻击和防御
  12. ESP8266-01s MQTT固件烧录
  13. 阿拉伯字母及阿拉伯文排版规则
  14. 2020Android大厂高频面试题(字节跳动+阿里+华为+小米等20家大厂面试真题)附面经!
  15. gateway的官方文档解读
  16. 简单句、并列句、复合句、got his wish、 owe you
  17. [UE4] 常用控制台命令
  18. 微软服务器操作系统软件价格,供应微软服务器操作系统软件
  19. HTML 标签列表(字母排序)
  20. 分布式session解决——Spring-data-redis

热门文章

  1. JsonServer使用详解
  2. 开源:一款基于.Net开发提升开发效率的强大多功能工具箱
  3. 解决在微信 H5 页面 background 背景图显示不出来
  4. 暑期项目实训:中期答辩结果-7月9日
  5. FXAA 蓝图抗锯齿
  6. sts java配置tomcat_Java Web入门学习(一) STS与Tomcat配置
  7. 亡羊补牢,为时不晚?
  8. 七夕,程序员教你5个表白代码,2分钟学会,牢牢主抓她的心
  9. 模糊c均值聚类算法的c++实现
  10. STM32F103 矩阵键盘4*4 16*16等任意矩阵 按键扫描程序