众所周知,英国的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系列则面向微操控器范畴,为那些对开发费用十分灵敏一起对功用要求不断添加的嵌入式运用所规划的。可见跟着在各种不同范畴运用需求的添加,微处理器商场也在趋于多样化。