Cortex系列ARM核心及体系结构简介.
- 格式:doc
- 大小:608.50 KB
- 文档页数:6
ARM Cortex主流架构体系深度普及A5、A7、A9、A9 Family/A9 二代Family架构以及其延伸出的大量方案,例如全志A20、炬力ATM 7021、瑞芯微3168、盈方微X15……让许多消费者感到“不明觉厉”。
本文将为“小白”用户作基础知识普及,为大家梳理不同架构的异同,以及其代表的平板方案特性。
为大家购买或学习提供参考。
1、认清ARM的命名ARM公司在经典处理器ARM11以后的产品改用Cortex命名,Cortex系列属于ARMV7架构,这是ARM公司最新的指令集架构。
ARM V7架构定义了三大分工明确的系列:“A”系列面向尖端的基于虚拟内存的操作系统和用户应用;“R”系列针对实时系统;“M”系列对微控制器。
由于应用领域不同,基于V7架构的Cortex处理器系列所采用的技术也不相同,基于V7A的称为Cortex A系列,基于V7R的称为Cortex R系列,基于V7M的称为Cortex M系列。
2、Cortex A5:最低端利器Cortex A5是Cortex A家族中最低端的。
Cortex A5与Cortex A7、Cortex A8、Cortex A9以及Cortex A15同属于Cortex A系列处理器。
Cortex A5多核处理器利用ARM MPCore技术,Cortex A5处理器包括了TrustZone安全技术,以及在Cortex A8处理器上率先引入的NEON多媒体处理引擎。
NEON技术是用于Cortex A 系列处理器的128 位SIMD(单指令、多数据)架构扩展集,为密集型多媒体应用提供了加速功能。
Cortex A5内部核心数目1-4核可选,采用四核配置时,SOC芯片内部还可搭配Mail GPU或由用户按需求配用PowerVR MBX/SGXGPU。
默认工作电压1.1V,单核核心频率480MHz,四核核心频率可达1GHz,含缓存的核心面积最小仅1平方毫米,一级缓存容量最大64KB,功耗/频率比参数为0.12mW/MHz。
张凌001关于ARM的内核架构很多时候我们都会对M0,M0+,M3,M4,M7,arm7,arm9,CORTEX-A系列,或者说AVR,51,PIC等,一头雾水,只知道是架构,不知道具体是什么,有哪些不同?今天查了些资料,来解解惑,不是很详细,但对此有个大体了解。
咱先来当下最火的ARM吧1.ARMARM即以英国ARM(Advanced RISC Machines)公司的内核芯片作为CPU,同时附加其他外围功能的嵌入式开发板,用以评估内核芯片的功能和研发各科技类企业的产品.ARM 微处理器目前包括下面几个系列,以及其它厂商基于 ARM 体系结构的处理器,除了具有ARM 体系结构的共同特点以外,每一个系列的 ARM 微处理器都有各自的特点和应用领域。
- ARM7 系列- 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系列Cortex-M系列又可分为Cortex-M0、Cortex-M0+、Cortex-M3、Cortex-M4;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开发板等等。
arm架构分类ARM架构是一种广泛使用的计算机处理器架构,常用于移动设备、嵌入式系统、服务器等领域。
根据不同的应用场景和需求,ARM架构可以分为以下几类:1. Cortex-A系列Cortex-A系列是ARM架构中最强大的处理器系列,主要用于高性能计算领域。
它们具有多核心、高频率和大缓存等特点,能够支持复杂的操作系统和应用程序。
常见的Cortex-A系列处理器包括Cortex-A7、Cortex-A9、Cortex-A15、Cortex-A53和Cortex-A72等。
2. Cortex-R系列Cortex-R系列是ARM架构中专门设计用于实时计算领域的处理器系列。
它们具有高度可靠性、低延迟和快速响应等特点,适合于控制系统、汽车电子和医疗设备等领域。
常见的Cortex-R系列处理器包括Cortex-R4、Cortex-R5和Cortex-R8等。
3. Cortex-M系列Cortex-M系列是ARM架构中专门设计用于微控制器领域的处理器系列。
它们具有低功耗、低成本和小尺寸等特点,适合于嵌入式系统、传感器和智能家居等领域。
常见的Cortex-M系列处理器包括Cortex-M0、Cortex-M3、Cortex-M4和Cortex-M7等。
4. Neoverse系列Neoverse系列是ARM架构中专门设计用于数据中心和云计算领域的处理器系列。
它们具有高度可扩展性、高效能和低功耗等特点,适合于大规模数据处理和分布式计算等场景。
常见的Neoverse系列处理器包括Neoverse N1和Neoverse V1等。
总之,ARM架构根据不同的应用场景和需求,设计了多个不同系列的处理器,以满足各种计算需求。
arm cortex-m3全可编程soc原理如下:
1.架构:Cortex-M3 核心是基于ARMv7-M 架构,这是一个针对
嵌入式应用程序优化的架构。
它包含一个ARM 指令集、一个
ARM 连接至程序的接口以及一些特定于嵌入式应用的扩展。
2.核心功能:Cortex-M3 核心具有高性能、低功耗和低成本的特
点。
它包含一个32 位RISC 处理器,具有一个三级流水线。
核心还包含一个嵌套向量中断控制器,允许高效的异常和中断
处理。
3.可编程性:Cortex-M3 是完全可编程的。
这意味着硬件和软件
都可以通过编程来定制。
ARM 的微控制器工具链(如Keil 或
IAR)可用于编译和调试代码,以适应特定的应用需求。
4.系统集成:SoC 是一种将多个硬件组件集成到一个单一芯片上
的技术。
在Cortex-M3 中,这些组件可能包括内存、通信接口、
ADC、DAC 等。
通过将所有这些组件集成到单个芯片上,可以
降低系统成本、减小体积并提高可靠性。
5.低功耗:Cortex-M3 被设计为低功耗微控制器,适用于电池供
电的应用。
它具有多种低功耗模式,可以在不使用时降低功耗。
6.安全性:Cortex-M3 提供了多种安全特性,如内存保护单元
(MPU)和安全区域(Secure Zone),以保护敏感数据和代码。
浅谈ARM Cortex系列处理器之区别市面上ARM Cortex系列包括3个系列,包括ARM Cortex-A,ARM Cortex—R,ARM Cortex —M,Z这三种系列,并且每个系列又分多种子版本,每个子版本都有各自的特点。
很好的为设计人员提供非常广泛的具有可扩展性的性能选项,从而有机会在多种选项中选择最适合自身应用的内核,而非千篇一律的采用同一方案.其中,1,Cortex-A-面向性能密集型系统的应用处理器内核2, Cortex-R-面向实时应用的高性能内核3, Cortex-M-面向各类嵌入式应用的微控制器内核Cortex-A处理器为利用操作系统(例如Linux或者Android ,IOS)的设备提供了一系列解决方案,这些设备被用于各类应用,从低成本手持设备到智能手机、平板电脑、机顶盒以及企业网络设备等。
早期的Cortex-A系列处理器(A5、A7、A8、A9、A12、A15和A17)基于ARMv7-A架构。
每种内核都共享相同的功能集,例如NEON媒体处理引擎、Trustzone安全扩展、单精度和双精度浮点支持、以及对多种指令集(ARM、Thumb—2、Thumb、Jazelle 和DSP)的支持。
与此同时,这些处理器也具有极高的设计灵活性,能够提供所需的最佳性能和预期的功效.介绍过Cortex-A,下面介绍Cortex—R系列——衍生产品中体积最小的ARM处理器,这一点也最不为人所知。
Cortex—R处理器针对高性能实时应用,例如硬盘控制器(或固态驱动控制器)、企业中的网络设备和打印机、消费电子设备(例如蓝光播放器和媒体播放器)、以及汽车应用(例如安全气囊、制动系统和发动机管理)。
Cortex—R系列在某些方面与高端微控制器(MCU)类似,但是,针对的是比通常使用标准MCU的系统还要大型的系统。
例如,Cortex-R4就非常适合汽车应用.Cortex—R4主频可以高达600MHz(具有2。
到底什么是Cortex、ARMv8、arm架构、ARM指令集、soc?⼀⽂帮你梳理基础概念【科普】前⾔有粉丝问我到底什么是ARM,搞不清楚Cortex、arm内核、arm架构、ARM指令集、soc这些概念都是什么关系,下⾯⼀⼝君给⼤家整理⼀下关于ARM相关的⼀些概念。
1、ARM既可以认为是⼀个公司的名字,也可以认为是对⼀类微处理器的通称,还可以认为是⼀种技术的名字。
2、ARM公司是专门从事基于RISC技术芯⽚设计开发的公司,作为知识产权供应商,本⾝不直接从事芯⽚⽣产,⽽是转让设计许可,由合作公司⽣产各具特⾊的芯⽚。
3、ARM处理器的内核是统⼀的,由ARM公司提供,⽽⽚内部件则是多样的,由各⼤半导体公司设计,这使得ARM设计嵌⼊式系统的时候,可以基于同样的核⼼,使⽤不同的⽚内外设,从⽽具有很⼤的优势。
下⾯我们针对这些概念,给⼤家逐⼀介绍。
ARM公司ARM⾸先是⼀个公司,即Advanced RISC Machines的缩写。
但是他本来并不叫这个名字,来看看ARM公司的成长历史。
1978年,⼀个名叫Hermann Hauser的奥地利籍物理学博⼠,还有他的朋友,⼀个名叫Chris Curry的英国⼯程师成⽴了⼀家名字叫“CPU”的公司。
这家CPU公司的全称,是Cambridge Processor Unit,字⾯意思是“剑桥处理器单元”。
CPU公司成⽴之后,主要从事电⼦设备设计和制造的业务。
他们接到的第⼀份订单,是制造赌博机的微控制器系统。
这个微控制器系统被开发出来后,称之为Acorn System 1。
之所以叫Acorn,就是因为他们想在电话黄页⾥排在Apple(苹果)公司的前⾯。
在Acorn System 1之后,他们⼜陆续开发了System 2、3、4,还有⾯向消费者的盒式计算机——Acorn Atom。
到了1981年,公司迎来了⼀个难得的机遇——英国⼴播公司BBC打算在整个英国播放⼀套提⾼电脑普及⽔平的节⽬,他们希望Acorn能⽣产⼀款与之配套的电脑。
ARM体系结构版本与相应的内核名称
体系结构内核名称ARM V7Cortex 系列:
Cortex-M3 / Cortex-R / Cortex A8/Cortex A9/Cortex A15
Scorpion : 高通获得ARM 授权后,在Cortex A8 基础上设计的.
ARM V4TARM7 TDMIARM V5TEARM10 TDMI / ARM 10E / XScale / ARM 9 ARM9 系列包含:ARM920T/ARM922T/ARM940T
ARM10E 系列包含:ARM 1020E / ARM 1022E / ARM 1026EJ-S
ARM V6ARM 111. 基本知识
(1) NV 的4 核Tegra 3 --> 内核名称仍为Cortex A9 核心,架构仍然是ARM V7
Exynos 4412 也是如此
(2) Scropion 是高通根据Cortex-A8 修改的。
关键的特点是同频下比A8 节能30%,或者同功耗的频率高25%。
Scorpion 具有部分A9 的特性,如乱序执行,管线化的VFP,支持多核。
此外,Scorpion 的Neon SIMD 引擎(高通称之为VeNum)宽度为128bit,是A8 和A9 的两倍,能提供更强劲的浮点运算支持,并且在不需要的时候可以关闭
一半变成64bit 以节省能源。
总体上,Scorpion 是具有部分A9 特性的A8,高
频率节能浮点加强版。
(3) VIA WM8650
采用超低功耗ARM 9 核心,主频为600MHz,集成多媒体指令和硬件加速性能,支持视频/音频解码加速.
说明它对应ARM V5TE 体系结构
(4) VIA WM8750。
CPU架构讲解X86、ARM、RISC、MIPS一、当前CPU的主流架构:1.X86架构采用CISC指令集(复杂指令集计算机),程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。
2.ARM架构是一个32位的精简指令集(RISC)架构。
3.RISC-V架构是基于精简指令集计算(RISC)原理建立的开放指令集架构。
4.MIPS架构是一种采取精简指令集(RISC)的处理器架构,可支持高级语言的优化执行。
CPU架构是CPU厂商给属于同一系列的CPU产品定的一个规范,是区分不同类型CPU的重要标示。
二、目前市面上的CPU分类主要分有两大阵营:1.intel、AMD为首的复杂指令集CPU;2.IBM、ARM为首的精简指令集CPU。
两个不同品牌的CPU,其产品的架构也不相同,例如,Intel、AMD的CPU是X86架构的,而IBM的CPU是PowerPC架构,ARM是ARM架构。
三、四大主流CPU架构详解(X86、ARM、RISC、MIPS)1.X86架构X86是微处理器执行的计算机语言指令集,指一个Intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合。
1978年6月8日,Intel 发布了新款16位微处理器8086,也同时开创了一个新时代:X86架构诞生了。
X86指令集是Intel为其第一块16位CPU(i8086)专门开发的,IBM 1981年推出的世界第一台PC机中的CPU–i8088(i8086简化版)使用的也是X86指令。
采用CISC(Complex Instruction Set Computer,复杂指令集计算机)架构。
与采用RISC不同的是,在CISC处理器中,程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。
顺序执行的优点是控制简单,但计算机各部分的利用率不高,执行速度慢。
随着CPU技术的不断发展,Intel陆续研制出更新型的i80386、i80486直到今天的Pentium 4系列,但为了保证电脑能继续运行以往开发的各类应用程序以保护和继承丰富的软件资源,所以Intel所生产的所有CPU仍然继续使用X86指令集。
关于ARM的内核架构介绍ARM(Advanced RISC Machines)是一种基于精简指令集(RISC)架构的处理器,广泛应用于嵌入式系统和移动设备。
ARM处理器具有低功耗、高性能和灵活性等特点,因此成为了电子设备领域中最受欢迎的处理器架构之一、本文将重点介绍ARM内核架构及其特点。
ARM内核架构在ARM处理器中起决定性作用,它包含了处理器的主要功能和组件,决定了处理器的性能、能耗和功能。
ARM内核架构包括多种不同的系列,每个系列针对不同应用采用不同的设计方式。
常见的ARM内核包括ARM7、ARM9、ARM Cortex-A系列和Cortex-M系列。
ARM7系列内核是较早期的ARM内核,主要用于低端和中端嵌入式系统。
ARM7内核采用了三级流水线架构,能实现更高的频率,提供了较低的延迟。
此外,ARM7系列采用了Thumb指令集,通过指令长度缩短可以减少存储和传输开销,提高系统性能。
ARM9系列内核相比于ARM7系列,提供了更高的性能和功能。
ARM9内核增加了补充指令集(Jazelle),可以在处理器上执行由Java虚拟机编译的Java字节码,提供了更好的Java应用支持。
ARM9内核还引入了专用的访问控制单元(MMU),使得处理器可以支持虚拟内存管理和操作系统。
Cortex-A系列内核是ARM处理器中最强大的内核,用于高端嵌入式系统和移动设备。
Cortex-A系列采用了超标量乱序执行架构,具有多发射、乱序执行和预测执行等特性,能够充分利用处理器资源,提供出色的性能和能效。
Cortex-A系列还支持大容量的高速缓存和先进的分支预测技术,提高了命中率和指令执行效率。
Cortex-M系列内核是专门为微控制器(MCU)设计的内核,采用了精简的微控制器架构。
Cortex-M系列具有低功耗和低成本的特点,适用于要求较低功耗和实时性能的应用。
Cortex-M系列将处理器核、内存管理单元和外设控制器集成在一个芯片上,具有较小的面积和较低的成本。
ARM内核全解析,从ARM7,ARM9到Cortex-A7,A8,A9,A12,A15到Cortex-A53,A57到Cortex-A72ARM全新旗舰架构!Cortex-A72正式发布64位的ARMv8 Cortex-A57/A53刚刚开始普及,ARM已经将目光瞄向了更遥远的未来,2015-02-04宣布了下一代顶级核心,命名为“Cortex-A72”。
A72将会直接取代A57,定位高端市场。
具体的架构设计尚未公开,应该是第二代64位架构,而且作为一个大核心,依然支持big.LITTLE双架构组合,而搭配的小核心依然是A53。
看起来,ARM暂时不打算升级A53,因为此前已经宣称,A53将顺序执行架构做到了极致。
ARM还给出了一些关于A72模糊的性能、功耗指标,因为这显然更吸引人。
ARM宣称,A72最快会在2016年实现商用,初期采用台积电16nm FinFET制造工艺(三星肯定用自家的14nm FinFET),对比20nm工艺的A57核心,它的性能最多可以达到其大约1.8倍,而功耗会有着明显的下降。
再对比28nm工艺的A15,A72更是可以做到大约3.5倍的性能,同等负载下的功耗则降低75%。
而在大小核心双架构组合中,整体功耗还能继续降低40-60%。
目前,海思、联发科、瑞芯微等都已经购买了Cortex-A72的授权,但奇怪的是没有提及正焦头烂额的高通。
中国内地和台湾厂商越来越牛气了!ARM内核全解析,从ARM7,ARM9到Cortex-A7,A8,A9,A12,A15到Cortex-A53,A57前不久ARM正式宣布推出新款ARMv8架构的Cortex-A50处理器系列产品,以此来扩大ARM在高性能与低功耗领域的领先地位,进一步抢占移动终端市场份额。
Cortex-A50是继Cortex-A15之后的又一重量级产品,将会直接影响到主流PC市场的占有率。
围绕该话题,我们今天不妨总结一下近几年来手机端较为主流的ARM处理器。
在我看来,Cotex-M3内核的主要包括:嵌套向量中断控制器(NVIC),取值单元,指令译码器,算数逻辑单元(ALU),寄存器组,存储器映射(4GB统一编址各区域功能的划分与界定),对于开发者而言,其实主要关注的主要分为三大块:1、寄存器组2、地址功能划分映射3、中断机制(NVIC)。
1)寄存器组Cortex-M3内核共有19组32位寄存器:R0——R12(通用寄存器);低寄存器组R0——R732位Thumb-2指令与16位Thumb指令均可访问高寄存器组R8——R1232位Thumb-2指令与极少数16位Thumb指令可访问R13(堆栈指针寄存器);主堆栈寄存器MSP(main-SP)/进程堆栈寄存器PSP(Process-SP)同一时间只能使用其中一个。
MSP供操作系统内核及中断(异常)处理子程序使用,PSP只供用户的应用程序代码使用(详细使用详见3、嵌套向量中断控制器(NVIC)的总结)。
堆栈指针是4字节对齐的,故最低两位永远是00;R14(连接寄存器)用于存储程序返回的地址及PC的返回地址;R15(程序寄存器)指向当前程序执行的地址;2)特殊功能寄存器组xPSR(程序状态字寄存器组),32位,可分为三个寄存器分别进行访问,也可以PSR或xPSR 的名字直接组合访问。
应用程序PSR(APSR)中断号PSR(IPSR)执行PSR(EPSR)中断屏蔽寄存器PRIMASK 单一比特位,置位后,除NMI与硬fault外,其他中断都不响应;FAULTMASK 单一比特位,置位后,除NMI外,其他中断都不响应;BASEPRI 共有9位,中断号小于等于该寄存器设置值的中断都不响应;控制寄存器controlControl[0] 0决定特权级线程模式;1用户级线程模式;Control[1] 0主堆栈;1进程堆栈;控制寄存器只能在特权级模式下改写,handler模式永远是特权级,且只允许使用主堆栈MSP 复位后,处理器进入特权级+线程模式下;2、地址功能划分映射Cortex-m3是一个32位处理器,其地址总线、数据总线都是32位的,故可在4G的地址范围上资源寻址。
ARMv7架构是在ARMv6架构的基础上诞生的。
该架构采用了Thumb-2技术,它是在ARM的Thumb代码压缩技术的基础上发展起来的,并且保持了对现存ARM解决方案的完整的代码兼容性。
Thumb-2技术比纯32位代码少使用31%的内存,减小了系统开销,同时能够提供比已有的基于Thumb技术的解决方案高出38%的性能。
ARMv7架构还采用丁NEON技术,将DSP和媒体处理能力提高了近4倍。
并支持改良的浮点运算,满足下一代3D图形、游戏物理应用以及传统嵌入式控制应用的需求。
此外,ARMv7还支持改良的运行环境,以迎合不断增加的JIT(Just In Time)和DAC(DynamicAdaptlve Compilation)技术的使用。
在与早期的ARM处理器软件兼容性方而,ARMv7架构在设计时充分考虑到了。
ARM Cortex-M系列支持Thumb-2指令集(Thumb指令集的扩展集),可以执行所有已存的为早期处理器编写的代码。
通过一个前向的转换方式,为ARM Cortex-M系列处理器所写的用户代码可以与ARM Cortex-R系列微处理器完全兼容。
ARMCortex-M系列系统代码(如实时操作系统)可以很容易地移植到基于ARMCortex-R系列的系统上。
ARMCortex-A和Cortex-R 系列处理器还支持ARM 32位指令集,向后完全兼容早期的ARM处理器,包括从1995年发布的ARM7TDMI处理器到2002年发布的ARMll处理器系列。
图1为v5~v7架构的处理器技术比较。
由于应用领域的不同,基于v7架构的Cortex处理器系列所采用的技术也不相同。
这些新的ARM Conex处理器系列都是基于ARMv7架构的产品,从尺寸和性能方面来看,既有少于33 000个门电路的ARM Cortex-M系列,也有高性能的ARMCortex-A系列。
其中,ARM Cortex-A系列是针对日益增长的,运行包括Linux、Windows CE和Symhian操作系统在内的消费者娱乐和无线产品设计的;ARM Cortex-R系列针对的是需要运行实时操作系统来进行控制应用的系统,包括汽车电子、网络和影像系统;ARM Cortex-M系列则是为那些对开发费用非常敏感同时对性能要求不断增加的嵌入式应用(如微控制器、汽车车身控制系统和各种大型家电)所设计的。
arm内核全解析_arm内核体系结构分类介绍ARM处理器是英国Acor n有限公司设计的低功耗成本的第一款RISC微处理器。
全称为Ad vanced RISC Machine。
ARM处理器本身是32位设计,但也配备16位指令集,一般来讲比等价32位代码节省达35%,却能保留32位系统的所有优势。
ARM内核特点ARM处理器为RISC芯片,其简单的结构使ARM内核非常小,这使得器件的功耗也非常低。
它具有经典RISC的特点:* 大的、统一的寄存器文件;* 简单的寻址模式;* 统一和固定长度的指令域,3地址指令格式,简化了指令的译码。
编译开销大,尽可能优化,采用三地址指令格式、较多寄存器和对称的指令格式便于生成优化代码;* 单周期操作,ARM指令系统中的指令只需要执行简单的和基本的操作,因此其执行过程在一个机器周期内完成;* 固定的32位长度指令,指令格式固定为32位长度,这样使指令译码结构简单,效率提高;* 采用指令流水线技术。
ARM内核体系结构ARM架构自诞生至今,已经发生了很大的演变,至今已定义了7种不同的版本:V1版架构:该架构只在原型机ARM1出现过,其基本性能包括基本的数据处理指令(无乘法)、字节、半字和字的Load/Store指令、转移指令,包括子程序调用及链接指令、软件中断指令、寻址空间64MB。
V2版架构:该版架构对V1版进行了扩展,如ARM2与ARM3(V2a版)架构,增加的功能包括乘法和乘加指令、支持协处理器操作指令、快速中断模式、SWP/SWPB的最基本存储器与寄存器交换指令、寻址空间64MB。
V3版架构:该版对ARM体系结构作了较大的改动,把寻址空间增至32位(4G B),增加了当前程序状态寄存器CPSR和程序状态保存寄存器 SPSR以便于异常处理。
增加了中止和未定义2种处理器模式。
ARM6就采用该版结构。
指令集变化包括增加了M RS/MSR指令,以访问新增的CPSR /SPSR寄存器、增加了从异常处理返回的指令功能。
arm的架构cortex-m处理器内核及功能介绍,嵌入
式编程
ARM的Cortex-M处理器内核是专为嵌入式系统设计的,该处理器具有低功耗、高效率、低成本的特点。
Cortex-M内核的主要功能包括以下几个方面:
1. 性能:
Cortex-M处理器内核可提供32位处理能力,并且采用了基于RISC的处理器架构,因此可以提供高性能和响应速度。
2. 低功耗:
Cortex-M内核具有优秀的功率管理功能,能够调整处理器的运行状态以降低功耗。
3. 实时性:
Cortex-M内核能够提供最佳的响应速度和实时性,使其非常适合实时控制、数据采集、检测等应用。
4. 低成本:
Cortex-M内核设计简单、成本低廉,因此比其它内核更适合量产及低成本的应用。
在嵌入式编程中,Cortex-M处理器内核的使用可以让设计者更方便地实现嵌入式系统的功能,提高代码的效率和可靠性。
同时,内核还支持多种标准接口和协议,如I2C、SPI等,方便开发者进行外设的控制和数据交换。
简述Cortex尽人皆知,公司在经典处理器ARM11以后的产品改用命名,并分成A、R和M三类,旨在为各种不同的市场提供服务,正巧是ARM公司英文简写的三个字母。
Cortex系列属于ARMv7架构,这是到2010年为止ARM 公司最新的命令集架构。
(2011年,ARMv8 架构在TechCon 上推出)ARMv7架构定义了三大分工明确的系列:“A”系列面对尖端的基于虚拟内存的操作系统和用户应用;“R”系列针对实时系统;“M”系列对微控制器。
OK,我们下面要介绍的“猪脚”是Cortex系列下的Cortex-M 家族处理器,看官且听我娓娓道来。
一 Cortex-M家族进展经过多年的进展,Cortex-M家族下已从最初的考究最低成本的和追求最高能效的Cortex-M0+型号处理器,到目前考究灵便性的Cortex-M33以及有着最高性能Cortex-M7型号处理器,已繁衍出7种型号的处理器产品,且性能参数各不相同,如性能比较下图所示。
固然,看一个处理器的优缺点,不单单只是从性能上来评价其好坏,而重要是合不合适,比如,性能好的往往功耗很大,散热就是个问题,而功耗低的,能效高,性能却又不给力。
所以,在选取处理器时要看的是自己的产品倾向什么功能,在哪方面应用,等等,这样按照自己的实际需要选取合适的处理器。
Cortex-M家族人数如此众多,且性能各异,满足了不同客户的需求,使得ATMEL公司拥有 40 个以上的 ARM 合作伙伴,包括Semiconductors、STMicroelectronics、Texas Instruments 和Toshiba 等率先供给商。
用法标准处理器使 ARM 合作伙伴可以创建具有全都体系结构的设备,同时使它们可以专注于创建优秀的设备实现,也就是说大家的设备核心是一样的。
用法同一家公司的处理器可以使各自的设备能够很好的兼容,使供给商不必因设备之间的兼容而担忧,使他们专注制造出更优秀的设备。
众所周知,英国的ARM公司是嵌入式微处理器世界当中的佼佼者。
ARM一直以来都是自己研发微处理器内核架构,然后将这些架构的知识产权授权给各个芯片厂商,精简的CPU架构,高效的处理能力以及成功的商业模式让ARM公司获得了巨大的成功,使他迅速占据了32位嵌入式微处理器的大部分市场份额,甚至现在,ARM芯片在上网本市场的也大有与INTEL的ATOM处理器一较高低的实力。
目前,随着对嵌入式系统的要求越来越高,作为其核心的嵌入式微处理器的综合性能也受到日益严峻的考验,最典型的例子就是伴随3G网络的推广,对手机的本地处理能力要求很高,现在一个高端的智能手机的处理能力几乎可以和几年前的笔记本电脑相当。
为了迎合市场的需求,ARM公司也在加紧研发他们最新的ARM架构,Cortex系列就是这样的产品。
在Cortex之前,ARM核都是以ARM 为前缀命名的,从ARM1一直到ARM11,之后就是 Cortex系列了。
Cortex在英语中有大脑皮层的意思,而大脑皮层正是人脑最核心的部分,估计ARM公司如此命名正有此含义吧。
一.ARMv7架构特点
下表列出了ARM微处理器核心以及体系结构的发展历史:
表一: ARM微处理器核心以及体系结构的发展历史
我们可以看到,Cortex系列属于ARMv7架构,这是ARM公司最新的指令集架构,而我们比较熟悉的三星的S3C2410芯片是ARMv4架构,ATMEL公司的
AT91SAM9261芯片则是ARMv5架构。
ARMv7架构是在ARMv6架构的基础上诞生的。
该架构采用了Thumb-2技术,Thumb-2技术是在ARM的Thumb代码压缩技术的基础上发展起来的,并且保持了对现存ARM解决方案的完整的代码兼容性。
Thumb-2技术比纯32位代码少使用 31%的内存,减小了系统开销。
同时能够提供比已有的基于Thumb技术的解决方案高出38%的性能。
ARMv7架构还采用了NEON技术,将DSP和媒体处理能力提高了近4倍,并支持改良的浮点运算,满足下一代3D图形、游戏物理应用以及传统嵌入式控制应用的需求。
此外,ARMv7还支持改良的运行环境,以迎合不断增加的JIT(Just In Time)和DAC(DynamicAdaptive Compilation)技术的使用。
另外,ARMv7架构对于早期的ARM处理器软件也提供很好的兼容性。
ARMv7架构定义了三大分工明确的系列:“A”系列面向尖端的基于虚拟内存的操作系统和用户应用;“R”系列针对实时系统;“M”系列对微控制器和低成本应用提供优化。
下图为v5至v7架构比较:
图一:v5至v7架构比较
由于应用领域不同,基于v7架构的Cortex处理器系列所采用的技术也不相同,基于v7A的称为Cortex-A系列,基于v7R的称为Cortex-R系列,基于v7M的称为Cortex-M系列。
下面一一介绍。
二.Cortex-A8
Cortex-A8第一款基于ARMv7构架的应用处理器。
Cortex-A8是ARM公司有史以来性能最强劲的一款处理器,主频为600MHz到1GHz。
A8可以满足各种移动设备的需求,其功耗低于300毫瓦,而性能却高达2000MIPS。
Cortex-A8也是ARM公司第一款超级标量处理器。
在该处理器的设计当中,采用了新的技术以提高代码效率和性能,采用了专门针对多媒体和信号处理的NEON
技术。
同时,还采用了Jazelle RCT技术,可以支持JAVA程序的预编译与实时编译。
针对Cortex-A8,ARM公司专门提供了新的函数库(Artisan Advantage-CE)。
新的库函数可以有效的提高异常处理的速度并降低功耗。
同时,新的库函数还提供了高级内存泄漏控制机制。
Cortex-A8处理器使用了先进的分支预测技术,并且具有专用的NEON整型和浮点型流水线进行媒体和信号处理。
在使用小于4 mm2的硅片及低功耗的65 nm工艺的情况下,Cortex-A8处理器的运行频率将高于600MHz(不包括NEON追踪技术和二级高速缓冲存储器)。
在高性能
的90 nm和65 nm工艺下,Cortex-A8处理器运行频率最高可达1 GHz,能够满足高性能消费产品设计的需要。
Cortex-A8第一次为低费用、高容量的产品带来了台式机级别的性能。
当前最新的IPHONE手机和ANDROID手机里的处理器就是基于Cortex-A8内核的芯片。
Cortex-A8的系统框图如下:
图二:Cortex-A8的系统框图
更详细的框图如下:
图三:Cortex-A8的详细系统框图
三.Cortex-R4
Cortex-R4是ARM开发的超标量结构的ARM内核,主要面向实时控制领域,如汽车刹车控制等,这一领域要求处理器响应中断的实时性高,并且要尽可能的节约成本,而很多客户要求不需过多提高工作频率,就能提高运算性能,因此在Cortex-R4的设计过程中,工作频率的最佳点位是 300MHz。
再高的话,不仅需要高速内存,而且时钟树的设计也更为复杂。
结果,判断合理的做法就是采用超标量结构,增加单位周期所执行的指令平均数。
Cortex-R4单位工作频率的运算性能为 1.62MIPS(按Dhrystone换算)/MHz,比ARM9的约1.2MIPS/MHz大幅提高。
Cortex-R4电路规模只是比ARM9略有增加,但是可以实现更接近于Cortex-A8的运算性能。
Cortex-R4系统框图如下所示:
图四:Cortex-R3系统框图
四.Cortex-M3
ARM Cortex-M系列则是为那些对开发费用非常敏感同时对性能要求小断增加的嵌入式应用(如微控制器、汽车车身控制系统和各种大型家电)所设计的,主要面向单片机领域,可以说是51单品机的完美替代品。
Cortex-M3系统框图如下所示:
图五:Cortex-M3系统框图
Cortex-M3的速度比ARM7快三分之一,功耗低四分之三,并且能实现更小芯片面积,利于将更多功能整合在更小的芯片尺寸中。
Cortex- M3处理器结合了执行Thumb-2指令的32位哈佛微体系结构和系统外设,包括Nested Vec-tored Interrupt Controller和Arbiter总线。
该技术方案在测试和实例应用中表现出较高的性能:在台机电180 nm工艺下,芯片性能达1.2 DMIPS/MHz,时钟频率高达100 MHz。
在工控领域,用户要求具有更快的中断速度,Cortex-M3采用了Tail-Chaining中断技术,完全基于硬件进行中断处理,最多可减少12个时钟周期数,在实际应用中可减少 70%中断。
五.总结
ARM Cortex处理器系列都是基于ARMv7架构的产品,从尺寸和性能方而来看,既有少于33000个门电路的Cortex-M系列,也有高性能的 Cortex-A系列。
其中,Cortex-A系列是针对日益增长的,运行包括Linux、Windows,CE和Symbian操作系统在内的消费娱乐和无线产品设计的;ARM Cortex-R系列针对的是需要运行实时操作系统来进行控制应用的系统,包括汽车电子、网络和影像系统;ARM Cortex-M系列则面向微控制器领域,为那些对开发费用非常敏感同时对性能要求不断增加的嵌入式应用所设计的。
可见随着在各种不同领域应用需求的增加,微处理器市场也在趋于多样化。
资料出处:
/cute/archive/2011/02/28/1966788.html。