关于ARM内核的一些理解

ARM中的比较有代表性的M系列的内核和A系列的内核,那么这些不同的内核有什么区别先来看看下面一段非常通俗易懂的解释。来自网络https://blog.csdn.net/qlexcel/article/details/79299970

. 好比你盖房子,刚开始因为水平低流行盖平房,这就是一种架构(V5T),然后这种平房架构你可以设计出一款独立卫生间的款式, 这叫ARM7内核。 然后其他人(芯片设计公司)想盖房子的就买你这个图纸去盖,接着过一段时间,有人觉得光独立卫生间还不够啊, 我还想有个小院子! 好吧,那ARM就满足你们的要求,出个带小院子的款式(ARM9)。

又过了很久, 这种平房的架构就随着大伙的需求一直改啊改啊,后来经过ARM研究发现: 现在大伙盖房子的能力duang duang直升啊(包括工艺、设计能力、时钟主频),只盖这种平房施展不开啊! 好吧,ARM为了不让这帮设计的人闲着,就推出一种二三层楼房的样式, 这因为跟平房设计结构完全不一样嘛, 那就叫一种新的架构(ARMv6),同样这种楼房样式ARM也为大家准备了带游泳池的和带车库的款式(ARM11),好吧继续改啊改啊, 改到后来大家已经开始有能力盖十层以上的大楼了。 ARM一如既往地出了新的款式(ARMv7架构), 这时ARM觉得以前名字都太土鳖了, 什么ARM5、 ARM6、 ARM7—又难听又难记, 我要取个看起来牛逼的名字, 咱至少也算个能设计摩天大楼的主儿了, 于是后面的内核都叫Cortex。

改名只是一部分, 随着这个架构出来后, ARM发现以前用咱们图纸盖出的楼也就做个民宅, 民宅图个啥? 实惠嘛(功耗低)。 现在不一样了,现在咱的图纸盖得楼不仅可以做民宅,还可以做军事基地、 还可以做高档写字楼, 以前这些高级功能的楼房可是只有小英(英特尔)才能设计出来的啊!为了满足这些不同的需求, ARM把这个架构设计出来的款式分成3个系列(M系列、R系列、A系列)。

M系列是为民宅设计的, 因为老百姓图实惠嘛, 这种设计就设计个十层左右(功耗低); R系列是为军事基地设计的, 这种楼设计的也不高— 十层左右吧, 但是关键是要对特殊情况要有快速反应的能力(中断快); 最后A系列是给商业大佬用的, 那当然是要高端大气上档次, 就是要性能高,各种LED灯灯光秀啊都给我上。


以下是一些比较专业的说明。 

Cortex-M0 

 

  系统特性

  • thumb指令集,具有高效和高代码密度
  • 高性能,最高达到0.9DMIPS/MHz
  • 内置的嵌套向量中断控制器(NVIC),中断配置和异常处理容易
  • 确定的中断响应事件,中断等待事件可以被设定为固定值或最短事件(最小16个时钟周期)
  • 不可屏蔽中断(NMI),对高可靠性系统非常重要
  • 内置的系统节拍定时器(systick)。24位定时器,可被操作系统使用,或者用作通用定时器,架构中已经包含专用的异常类型
  • 请求管理调用,具有SVC异常和PendSV异常(可挂起的管理服务),支持嵌入式os的多种操作
  • 架构定义的休眠模式和进入休眠的指令,休眠特性能大大降低能量的消耗。由于进入休眠状态需要使用特定的指令,而不是使用寄存器,架构定义的休眠模式也提高了软件的可移植性。
  • 异常处理可以捕获到系统中的多种错误。

应用特性

  • 中断数量可配置
  • 支持大端或小端存储器
  • 可选择的唤醒中断控制器(WIC),处理器可以在休眠状态下掉电以降低功耗,而WIC可以在中断发生时唤醒系统

Cortex-M3

Cortex-M3是一个32位的核,在传统的单片机领域中,有一些不同于通用32位CPU应用的要求。在工控领域,用户要求具有更快的中断速度,Cortex-M3采用了Tail-Chaining中断技术,完全基于硬件进行中断处理,最多可减少12个时钟周期数,在实际应用中可减少70%中断。

Cortex-M3是一个32位处理器内核。内部的数据路径是32位的,寄存器是32位的,存储器接口也是32位的。CM3采用了哈佛结构,拥有独立的指令总线和数据总线,可以让取指与数据访问并行不悖。这样一来数据访问不再占用指令总线,从而提升了性能。为实现这个特性,CM3内部含有好几条总线接口,每条都为自己的应用场合优化过,并且它们可以并行工作。但是另一方面,指令总线和数据总线共享同一个存储器空间(一个统一的存储器系统)。换句话说,不是因为有两条总线,可寻址空间就变成8GB了。

比较复杂的应用可能需要更多的存储系统功能,为此CM3提供一个可选的MPU,而且在需要的情况下也可以使用外部的cache。另外在CM3中,Both小端模式和大端模式都是支持的。

CM3内部还附赠了好多调试组件,用于在硬件水平上支持调试操作,如指令断点,数据观察点等。另外,为支持更高级的调试,还有其它可选组件,包括指令跟踪和多种类型的调试接口。

Cortex-A 系列处理器

Cortex-A 系列处理器是一系列处理器,支持ARM32或64位指令集,向后完全兼容早期的ARM处理器,包括从1995年发布的ARM7TDMI处理器到2002年发布的ARMll处理器系列。

简介

32位RISCCPU开发领域中不断取得突破,其设计的微处理器结构已经从v3发展到现在的v7。Cortex系列处理器是基于ARMv7架构的,分为Cortex-M、Cortex-R和Cortex-A三类。由于应用领域的不同,基于v7架构的Cortex处理器系列所采用的技术也不相同。基于v7A的称为“Cortex-A系列。高性能的Cortex-A15、可伸缩的Cortex-A9、经过市场验证的Cortex-A8处理器以及高效的Cortex-A7Cortex-A5处理器均共享同一体系结构,因此具有完整的应用兼容性,支持传统的ARM、Thumb指令集和新增的高性能紧凑型Thumb-2指令集。

Cortex-A15和Cortex-A7都支持ARMv7A体系结构的扩展,从而为大型物理地址访问和硬件虚拟化以及启用big.LITTLE处理的AMBA4ACE一致性提供支持。

技术特点

ARMv7包括3个关键要素:NEON单指令多数据(SIMD)单元、ARMtrustZone安全扩展、以及thumb2指令集,通过16位和32位混合长度指令以减小代码长度。

高性能

Cortex-A 设备可为其目标应用领域提供各种可伸缩的能效性能点。一些说明示例如下:

Cortex-A15 ,可为新一代移动基础结构应用和要求苛刻的无线基础结构应用提供性能最高的解决方案 Cortex-A7,可采用独立、多核配置实现,提供 800 MHz - 1.2 GHz 的典型频率,也可以与 Cortex-A15 结合用于 big.LITTLE 处理 Cortex-A9 实现,可提供 800 MHz - 2 GHz 的标准频率,每个内核可提供 5000 DMIPS 的性能 Cortex-A8 单核解决方案,可提供经济有效的高性能,在 600 MHz - 1 GHz 的频率下,提供的性能超过 2000 DMIPS Cortex-A5 低成本实现,在 400- 800 MHz 的频率下,提供的性能超过 1200 DMIPS。

多核技术

Cortex-A5、[1] Cortex-A7、Cortex-A9 和 Cortex-A15 处理器都支持 ARM 的第二代多核技术

单核到四核实现,支持面向性能的应用领域 支持对称和非对称的操作系统实现 通过加速器一致性端口 (ACP) 在导出到系统的整个处理器中保持一致性 Cortex-A7 和 Cortex-A15 将多核一致性扩展至 AMBA4 ACE 的 1~4 核群集以上(AMBA 一致性扩展)

高级扩展

除了具有与上一代经典 ARM 和 Thumb® 体系结构的二进制兼容性外,Cortex-A 类处理器还通过以下技术扩展提供了更多优势

Thumb-2,提供最佳代码大小和性能 TrustZone 安全扩展,提供可信计算 Jazelle 技术,提高执行环境(如 Java、.Net、MSIL、Python 和 Perl)速度。

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值