关于ARM的内核架构

发布者:DelightfulGaze最新更新时间:2019-12-03 来源: eefocus关键字:ARM  内核架构  CPU 手机看文章 扫描二维码
随时随地手机看文章

很多时候我们都会对M0,M0+,M3,M4,M7,arm7,arm9,CORTEX-A系列,或者说AVR,51,PIC等,一头雾水,只知道是架构,不知道具体是什么,有哪些不同?今天查了些资料,来解解惑,不是很详细,但对此有个大体了解。咱先来当下最火的ARM吧

1.ARM

ARM即以英国ARM(Advanced RISC Machines)公司的内核芯片作为CPU,同时附加其他外围功能的嵌入式开发板,用以评估内核芯片的功能和研发各科技类企业的产品.


ARM 微处理器目前包括下面几个系列,以及其它厂商基于 ARM 体系结构的处理器,除了具有ARM 体系结构的共同特点以外,每一个系列的 ARM 微处理器都有各自的特点和应用领域。 


- ARM9 系列 
- ARM9E 系列 
- ARM10E 系列 
- ARM11系列 
- Cortex 系列 
- SecurCore 系列 
- OptimoDE Data Engines 
- Intel的Xscale 
- Intel的StrongARM ARM11系列

2. Cortex 系列

32位RISCCPU开发领域中不断取得突破,其设计的微处理器结构已经从v3发展到现在的v7。Cortex系列处理器是基于ARMv7架构的分为Cortex-M、Cortex-R和Cortex-A三类。由于应用领域的不同,基于v7架构的Cortex处理器系列所采用的技术也不相同。基于v7A的称为“Cortex-A系列。


高性能的Cortex-A15、可伸缩的Cortex-A9、经过市场验证的Cortex-A8处理器以及高效的Cortex-A7和Cortex-A5处理器均共享同一体系结构,因此具有完整的应用兼容性,支持传统的ARM、Thumb指令集和新增的高性能紧凑型Thumb-2指令集。


1Cortex-M系列


2Cortex-R系列


Cortex-R系列分为Cortex-R4、Cortex-R5、Cortex-R7;


3Cortex-A 系列


Cortex-A系列分为Cortex-A5、Cortex-A7、Cortex-A8、Cortex-A9、Cortex-A15、Cortex-A50等  ,同样也就有了对应内核的Cortex-M0开发板、Cortex-A5开发板、Cortex-A8开发板、Cortex-A9开发板、Cortex-R4开发板等等。


4半导体


由于ARM公司只对外提供ARM内核,各大厂商在授权付费使用ARM内核的基础上研发生产各自的芯片,形成了嵌入式ARM CPU的大家庭,提供这些内核芯片的厂商有Atmel、TI、飞思卡尔、NXP、ST、和三星等。


Cortex-M兼容特性

  为了能做到Cortex-M软件重用,ARM公司在设计Cortex-M处理器时为其赋予了处理器向下兼容、软件二进制向上兼容特性。

  首先看什么是二进制兼容,这个特性主要是针对软件而言,这里指的是当某软件(程序)依赖的头文件或库文件分别升级时,软件功能不受影响。要做到二进制兼容,被软件所依赖的头文件或库文件升级时必须是二进制兼容的。

  那么什么又是向上兼容,向上兼容又叫向前兼容,指的是在较低版本处理器上编译的软件可以在较高版本处理器上执行。

  跟向上兼容相对的另一个概念叫向下兼容,向下兼容又叫向后兼容,指的是较高版本处理器可以正确运行在较低版本处理器上编译的软件。

  所以其实既可以用向上兼容,也可以用向下兼容来形容Cortex-M特性,只不过描述的主语不一样,我们可以说Cortex-M程序是向上兼容的,也可以说Cortex-M处理器是向下兼容的。

  具体到Cortex-M处理器时,这个兼容特性表现为:

  • 从处理器角度看:CM0指令集和功能模块是最精简的,CM7指令集和功能模块是最丰富的。不存在低版本处理器上存在的特性是高版本处理器所没有的。

  • 从软件角度来看:CMSIS提供的头文件和功能函数是二进制向上兼容的,比如某CM0软件App使用的是core_cm0.h头文件,而这个App要在CM7上运行时,不需要使用core_cm7.h再重新编译一次(当然使用新头文件编译后的App也是正常的。)

从MCU内核到MCU实际应用是一个完整的产业链,这个产业链分为五个部分:

其实都是这样,前三个部分有芯片厂家和架构内核公司负责开芯片,后两个部分由研发公司根据芯片设计,开发。

就拿ST为例,ARM公司为最开始的部分,ST(意法半导体)为芯片设计与制造公司,以ARM内核为载体,通过进一步的设计开发,为ARM配备外围的支持,为将计算控制能力应用到电子产品中提供芯片服务

 

Cortex-M0 处理器简介

ARM公司的Cortex-M0应用于各种微控制器(MCU)中,并可让研发工程师以8位的价位创造32位的的效能,并将传统的8位和16位的处理器升级到更高效、更低功耗的32位处理器。

Cortex-M0是Cortex-M家族中的M0系列。最大特点是低功耗的设计。Cortex-M0为32位、3级流水线RISC处理器,其核心仍为冯.诺依曼结构,是指令和数据共享同一总线的架构。作为新一代的处理器,Cortex-M0的设计进行了许多的改革与创新,如系统存储器地址映像(system address map)、改善效率并增强确定性的嵌套向量中断系统(NVIC)与不可屏蔽中断(NMI)、全新的硬件除错单元等等,都带给了使用者全新的体验和更便利、 更有效率的操作。

技术架构

CortexM0其核心架构为ARMv6M,其运算能力可以达到0.9 DMIPS/MHz,而与其他的16位与8位处理器相比,由于CortexM0的运算性能大幅提高,所以在同样任务的执行上CortexM0只需较低的运行速度,而大幅降低了整体的动态功耗。

Cortex—M0属于ARMv6-M架构,包括1颗专为嵌入式应用而设计的ARM核、紧耦合的可嵌套中断微控制器NVIC、可选的唤醒中断控制器WIC,对外提供了基于AMBA结构(高级微控制器总线架构)的AHB-lite总线和基于CoreSight技术的SWD或JTAG调试接口,如图所示。Cortex-M0微控制器的硬件实现包含多个可配置选项:中断数量、WIC、睡眠模式和节能措施、存储系统大小端模式、系统滴答时钟等,半导体厂商可以根据应用需要选择合理的配置。

 

系统总线基于AHB_Lite高级高性能总线协议。外设总线基于APB高级外设总线协议,通过一个转换桥连接到AHB上,这只是Cortex-M0内核的大概模式.

特点

1)能耗效率

CortexM0的运行效率很高(0.9DMIPS/MHz),能在较少的周期里完成一项任务。这意味着CortexM0可以在大部分的时间里处于休眠状态,消耗很少的能量,具有良好的能耗效率。同样较小的逻辑门数也降低了待机电流。而高效的中断控制器(NVIC)需要很小的中断开销。

2)代码密度

Cortex-M0基于Thumb-2的指令集,比用8位或者16位架构实现的代码还要少,因此用户可以选择具有较小Flash空间的芯片。可以降低系统功耗。[1]算法——通用DSP运算中最耗费资源的工作,Cortex - M4也能提供了一个1.4倍的性能得改善 。另一个例子,MP3解码在Cortex-M3需要20-25Mhz,而在Cortex-M4只需要10-12MHz。

2.  32位乘法累加(MAC) 

32位乘法累加(MAC)包括新的指令集和针对Cortex - M4硬件执行单元的优化它是能够在单周期内完成一个 32 × 32 + 64 - > 64 的操作 或 两个16 × 16 的操作。如下表列出了这个单元的计算能力。

 

 

3 .SIMD 

(Single Instruction Multiple Data,单指令多数据流)能够复制多个操作数,并把它们打包在大型寄存器的一组指令集,例:3DNow!、SSE。以同步方式,在同一时间内执行同一条指令。

[1] [2] [3]
关键字:ARM  内核架构  CPU 引用地址:关于ARM的内核架构

上一篇:ARM-GCC-LD脚本
下一篇:ARM-汇编指令集(总结)

推荐阅读最新更新时间:2024-11-13 15:01

想变身钢铁侠?这里有三大机器人制作方案
每个男人都幻想自己有一个“贾维斯”,无所不能,所向睥睨,成为超级英雄。每个女人都幻想自己有个“大白”,可爱敦厚,乖巧听话,还特别暖。   这种未来科技虽然还属于科幻电影里,但早在1937年,英国工程师Griffith Taylor发明了5轴机器臂,类似于吊塔,可以抓取和旋转。这是全球第一个工业 机器人 。从此人类开启了使用机器工具的道路。     马克思曾说过:“人和动物最大区别是制造和使用工具。”我们暂且不用去怀疑这样的话是否有问题,毕竟工具的确给我们带来了极大的便利,比如“痒痒挠”。不过也有人说,人与动物的最大区别是动物不懂毛泽东思想。   那么问题来了,如果机器人真的懂毛泽东思想呢?   前不久,硅谷最大的两家科技巨头隔
[嵌入式]
ARM裸机开发222440中断原理
1CPU与外设之间的数据传送控制方式(I/O控制方式) 通常有以下三种方式 1.查询方式 2.中断方式 3.DMA方式(在独立开辟的一个空间不由CPU控制,有DMA自己进行管理。实现存储器与外设的高速的数据传输方式) 主要讲中断: 中断请求---- 中断仲裁---- 中断响应---- 中断处理---- 中断返回(要保存现场) 中断处理流程: 1.中断控制器捕获当前外设发出的中断信号,通知SOC(中央处理芯片:片上系统) 2.SOC保存当前程序的运行环境,调用中断服务程序(ISR:一小段代码)进行处理中断 3.在ISR中通过读取中断控制寄存器、外设的相关寄存器来识别那一个中断触发,获取硬件中断号IRQ,跳转到
[单片机]
<font color='red'>ARM</font>裸机开发222440中断原理
英特尔定制编译器优化 CPU 跑分最高 9%,SPEC 宣布近 2600 项成绩无效
2 月 19 日消息,SPEC 近日发布编译器通知,表示近期发现英特尔 oneAPI DPC++ 编译器存在特殊优化问题,宣布 2600 多项英特尔 SPEC CPU 2017 基准测试成绩无效。 用户在提交部分 SPEC CPU 文件时发现该组织更新其通知: SPEC 已经裁定,该结果所使用的编译器利用 SPEC 代码和数据集的先验知识(priori knowledge),执行一种适用范围较窄的转换,从而专门提高 523.xalancbmk_r/ 623.xalancbmk_s 基准性能的编译。 为了鼓励具有广泛适用性的优化,SPEC 将不再公布使用该优化的结果。 这一结果将保留在 SPEC 结果数据库中,供历史参考。
[嵌入式]
英特尔定制编译器优化 <font color='red'>CPU</font> 跑分最高 9%,SPEC 宣布近 2600 项成绩无效
ARM指令集协处理器指令
ARM 微处理器可支持多达 16 个协处理器,用于各种协处理操作,在程序执行的过程中,每个协处理器只执行针对自身的协处理指令,忽略 ARM 处理器和其他协处理器的指令。 ARM 的协处理器指令主要用于 ARM 处理器初始化 ARM 协处理器的数据处理操作,以及在ARM 处理器的寄存器和协处理器的寄存器之间传送数据,和在 ARM 协处理器的寄存器和存储器之间传送数据。 ARM 协处理器指令包括以下 5 条: CDP 协处理器数操作指令 LDC 协处理器数据加载指令 STC 协处理器数据存储指令 MCR ARM 处理器寄存器到协处理器寄存器的数据传送指令 MRC 协处理器寄存器到ARM 处理器寄存器的数据传送指令
[单片机]
智能温室环境测控系统专用CPU设计
温室环境测控系统的工作原理就是根据温室内外装设的各种传感设备采集或监测信息,然后传递给处理设备进行分析与处理后,控制其执行机构对温室的环境进行自动调节与控制,以达到为作物的生长发育创造最佳环境条件的目的。 1 目前智能温室环境测控系统控制器分析 由于处理器核心技术的不断进步,温室控制系统处理器的处理能力也在飞速发展,种类也在不断增多。资料显示,目前的温室控制系统结构中,在核心处理器的选择上,主要采用以下几种: (1)工业控制机 在这种温室控制系统中其核心处理器是以工业控制机为中心的。其余2个模块:一个主要由用于环境因子采集的各类传感器组成;另一个模块主要由各种执行机构组成。控制系统的主要特点是多输入和多输出闭环控制
[单片机]
智能温室环境测控系统专用<font color='red'>CPU</font>设计
ARM历程四-LCD
离上次真正写历程已经有10天的时间了。国庆嘛,自己给自己放了几天假——耍耍游戏下下棋什么的。 其实这次写触屏的驱动和对ARM中中断的过程的了解也花了不少时间和脑力。 我就简单分享一下CPU执行某个中断的条件吧,也是我自己的理解,如果有错还请大家指正(以IRQ中断为例吧):   在程序状态寄存器中(CPSR寄存器)i 位为IRQ中断禁止位,若这一位置1那么所有的IRQ中断都不会被CPU响应,如果这一位被清0,CPU也不一定会响应某一个或某些中断(就像是一个总开关)。所以,要想让CPU执行IRQ中断,CPRS中的i位必须要清0!   在2440的CPU中还有两个中断屏蔽寄存器:INTMSK(中断屏蔽寄存器)和IN
[单片机]
获得中移动万台采购大单,ARM服务器进入爆发前夜?
近日,中国移动发布集中网络云资源池三期工程计算型服务器采购招标公告,ARM平台的需求数量为14710台,采购规模与采购金额均超过总量的三分之一。 据悉,这也是中国移动在网络云集采中首次明确ARM平台的采购数量与比例。对于想进入服务器领域ARM架构来说,这是一个重大利好。 自上而下的突破 据IDC数据统计,2020年ARM架构的服务器销售额大幅增长430.5%。即便基数很小,这也是一个惊人的成绩。 稍微了解ARM历史的人都知道,从2008年开始,ARM就立志上攻服务器市场。但诸多条件的不顺,使得AMD、博通、Cavium、高通、英伟达、三星等一众芯片盟友都无功而返。 局面的打破最终来自于系统厂商。出于成本和可控性的考量,云计
[手机便携]
获得中移动万台采购大单,<font color='red'>ARM</font>服务器进入爆发前夜?
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved