2024年10月6日发(作者:析孤萍)
Cortex系列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
,能
够满足高性能消费产品设计的需要。
高容量的产品带来了台式机级别的性能。当前最新的
IPHONECortex-A8
第一次为低费用、
手机和
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-R4
系统框图
四.
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
系列则面向微控制器领域,为那些对
开发费用非常敏感同时对性能要求不断增加的嵌入式应用所设计的。可见随着在各种不同领
域应用需求的增加,微处理器市场也在趋于多样化。
2024年10月6日发(作者:析孤萍)
Cortex系列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
,能
够满足高性能消费产品设计的需要。
高容量的产品带来了台式机级别的性能。当前最新的
IPHONECortex-A8
第一次为低费用、
手机和
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-R4
系统框图
四.
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
系列则面向微控制器领域,为那些对
开发费用非常敏感同时对性能要求不断增加的嵌入式应用所设计的。可见随着在各种不同领
域应用需求的增加,微处理器市场也在趋于多样化。