ARM Cortex各系列处理器分类比较之欧阳法创编.docx
《ARM Cortex各系列处理器分类比较之欧阳法创编.docx》由会员分享,可在线阅读,更多相关《ARM Cortex各系列处理器分类比较之欧阳法创编.docx(17页珍藏版)》请在冰豆网上搜索。
ARMCortex各系列处理器分类比较之欧阳法创编
Cortex-M系列
时间:
2021.03.09
创作:
欧阳法
M0:
Cortex-M0是目前最小的ARM处理器,该处理器的芯片面积非常小,能耗极低,且编程所需的代码占用量很少,这就使得开发人员可以直接跳过16位系统,以接近8位系统的成本开销获取32位系统的性能。
Cortex-M0处理器超低的门数开销,使得它可以用在仿真和数模混合设备中。
M0+:
以Cortex-M0处理器为基础,保留了全部指令集和数据兼容性,同时进一步降低了能耗,提高了性能。
2级流水线,性能效率可达1.08DMIPS/MHz。
M1:
第一个专为FPGA中的实现设计的ARM处理器。
Cortex-M1处理器面向所有主要FPGA设备并包括对领先的FPGA综合工具的支持,允许设计者为每个项目选择最佳实现。
M3:
适用于具有较高确定性的实时应用,它经过专门开发,可使合作伙伴针对广泛的设备(包括微控制器、汽车车身系统、工业控制系统以及无线网络和传感器)开发高性能低成本平台。
此处理器具有出色的计算性能以及对事件的优异系统响应能力,同时可应实际中对低动态和静态功率需求的挑战。
M4:
由ARM专门开发的最新嵌入式处理器,用以满足需要有效且易于使用的控制和信号处理功能混合的数字信号控制市场。
M7:
在ARMCortex-M处理器系列中,Cortex-M7的性能最为出色。
它拥有六级超标量流水线、灵活的系统和内存接口(包括AXI和AHB)、缓存(Cache)以及高度耦合内存(TCM),为MCU提供出色的整数、浮点和DSP性能。
互联:
64位AMBA4AXI,AHB外设端口(64MB到512MB)
指令缓存:
0到64kB,双路组相联,带有可选ECC
数据缓存:
0到64kB,四路组相联,带有可选ECC
指令TCM:
0到16MB,带有可选ECC
数据TCM:
0到16MB,带有可选ECC
Cortex-M系列规格对比
类别
M0
M3
M4
M7
体系结构
ARMv6M(冯诺依曼)
ARMv6M(哈佛)
ARMv6M(哈佛)
ARMv7-M(哈佛)
ISA支持
Thumb,Thumb-2
Thumb,Thumb-2
Thumb,Thumb-2
Thumb,Thumb-2
DSP扩展
单周期16/32位MAC
单周期双16位MAC
8/16位SIMD运算
硬件除法(2-12周期)
单周期16/32位MAC
单周期双16位MAC
8/16位SIMD运算
硬件除法(2-12周期)
浮点单元
单精度浮点单元
符合IEEE754
单和双精度浮点单元
与IEEE754兼容
流水线
3级
3级
3级+分支预测
6级超标量+分支预测
DMISP/MHz
0.9~0.99
1.25~1.50
1.25~1.52
2.14/2.55/3.23
中断
NMI+1-32物理中断
NMI+1-240物理中断
NMI+1~240物理中断
NMI+1~240物理中断
中断优先级
8~256
8~256
8~256
唤醒中断控制器
最多240个
最多240个
最多240个
内存保护
带有子区域和后台区域的可选8区域MPU
带有子区域和后台区域的可选8区域MPU
可选的8/16区域MPU,带有子区域和背景区域
睡眠模式
集成的WFI和WFE指令和“退出时睡眠”功能。
睡眠和深度睡眠信号随ARM电源管理工具包提供的可选的Retention模式
集成的WFI和WFE指令和“退出时睡眠”功能。
睡眠和深度睡眠信号。
随ARM电源管理工具包提供的可选保留模式
集成WFI和WFE指令和“退出时睡眠”功能。
睡眠和深度睡眠信号。
随ARM电源管理工具包提供的可选Retention模式
集成WFI和WFE指令以及SleepOnExit功能。
休眠和深度休眠信号。
ARM电源管理工具包及可选Retention模式
增强的指令
硬件单周期(32x32)乘法选项
硬件除法(2-12个周期)和单周期(32x32)乘法、饱和数学支持。
调试
可选JTAG和Serial-Wire调试端口。
最多4个断点和2个观察点
可选JTAG和串行线调试端口。
最多8个断点和4个检测点。
可选JTAG和Serial-Wire调试端口。
最多8个断点和4个检测点。
可选的JTAG和串行线调试端口。
最多8个断点和4个观察点。
跟踪
可选指令跟踪(ETM)、数据跟踪(DWT)和测量跟踪(ITM)
可选指令跟踪(ETM)、数据跟踪(DWT)和测量跟踪(ITM)
可选指令跟踪(ETM)、数据跟踪(DWT)和测量跟踪(ITM)
Cortex-A系列:
ARMCortex-A系列是一系列用于复杂操作系统和用户应用程序的应用程序处理器。
Cortex-A系列处理器支持ARM、Thumb和Thumb-2指令集。
A5:
一个高性能、低功耗的ARM宏单元,带有L1高速缓存子系统,能提供完全的虚拟内存功能。
Cortex-A5处理器实现了ARMv7体系结构并运行32位ARM指令、16位和32位Thumb指令,还可在Jazelle状态下运行8位Java字节码。
CortexA-5是最小以及最低功耗的Cortex-A处理器,但处理性能比其他A系列差。
A7:
Cortex-A7处理器的功耗和面积与超高效Cortex-A5相似,但性能提升15~20%,Cortex-A7是ARM的大小核设计中的小核部分,并且与高端Cortex-A15CPU体系结构完全兼容。
Cortex-A7处理器包括了高性能处理器Cortex-A15的一切特性,包括虚拟化(virtualization)、大容量物理内存地址扩展(LargePhysicalAddressExtensions(LPAE),可以寻址到1TB的存储空间)、NEON、VFP以及AMBA4ACEcoherency(AMBA4CacheCoherentInterconnect(CCI))。
Cortex-A7支持多核MPCore的设计以及Big+Little的大小核设计。
小型高能效的Cortex-A7是最新低成本智能手机和平板电脑中独立CPU的理想之选,并可在big.LITTLE处理配置中与Cortex-A15结合。
A8:
第一个使用ARMv7-A架构的处理器,很多应用处理器以Cortex-A8为核心。
Cortex-A8 处理器是一个双指令执行的有序超标量处理器,针对高度优化的能效实现可提供 2.0 Dhrystone MIPS(每 MHz),这些实现可提供基于传统单核处理器的设备所需的高级别的性能。
Cortex-A8 在市场中构建了 ARMv7 体 系结构,可用于不同应用,包括智能手机、智能本、便携式媒体播放器以及其他消费类和企业平台。
分开的L1指令和数据cache大小可以为16KB或者 32KB,指令和数据共享L2 cache,容量可以到1MB。
L1和L2 cache的cache数据宽度为128比特,L1 cache是虚拟索引,物理上连续,而L2完全使用物理地址。
Cortex-A8的L1 cache行宽度为64byte,L2 cache在片内集成。
另外和Cortex-A9相比,由于Cortex-A8支持的浮点VFP运算非常有限,其VFP的速度非常慢,往往相同的浮点运 算,其速度是Cortex-A9的1/10。
Cortex-A8能并发某些NEON指令(如NEON的load/store和其他的NEON指令),而 Cortex-A9因为NEON位宽限制不能并发。
Cortex-A8的NEON和ARM是分开的,即ARM核和NEON核的执行流水线分开,NEON访 问ARM寄存器很快,但是ARM端需要NEON寄存器的数据会非常慢。
A9:
Cortex-A9 MPCore或者单核处理器单MHz性能比Cortex-A5 或者 Cortex-A8高,支持ARM, Thumb, Thumb-2, TrustZone, Jazelle RCT,Jazelle DBX技术。
L1的cache控制器提供了硬件的cache一致性维护支持多核的cache一致性。
核外的L2 cache控制器(L2C-310, or PL310) 支持最多8MB的cache。
Cortex-A9的L1 cache行宽度为32byte,L2 cache因为多核的原因在核外集成,即通过SCU来访问多核共享的L2 cache。
常见的Cortex-A9处理器包括nVidia's 双核Tegra-2, 以及TI's OMAP4平台。
使用Cortex-A9处理器的设备包括Apple的ipad2(apple A5处理器),LG Optimus 2X (nVidia Tegra-2),Samsung Galaxy S II 等
A15:
Cortex-A15 MPCore处理器是目前Cortex-A系列中性能最高的处理器,一个突出的特性是其硬件的虚拟化技术(Hardware virtualization)以及大物理内存的扩展(Large Physical Address Extension (LPAE), 能寻址到1TB的内存)。
目前集成Cortex-A15的处理器量产的只有Samsung的Exynos 5系列处理器,但TI的OMAP5系列处理器也采用Cortex-A15的核。
具体的设备有Arndale Board 。
A17:
A12的提升版,也就将A12合并到A17中,最新的高性能ARMv7-A核处理器,以更小和更节能的优势,提供与A15相仿的性能。
相比A9有60%的性能提升。
仍为32位ARMv7
Cortex-A17处理器提供了优质的性能和高端的特性使它理想的适合每一个屏幕,从智能手机到智能电视。
Cortex-A17处理器架构上与广泛使用Cortex-A7处理器一致,促使下一代中档设备基于big.LITTLE技术。
A53:
最低功耗的ARMv8处理器,能够无缝支持32和64位代码。
是世界上能效最高,面积最小的64位处理器。
使用高效的8-stage顺序管道和提升的获取数据技术性能平衡。
Cortex-A53提供比Cortex-A7更高的性能,并能作为一个独立的应用处理器或在big.LITTLE配置下,搭配Cortex-A57处理器,达到最优性能、可伸缩性和能效。
A57:
最高效的64位处理器,用于扩展移动和企业计算应用程序功能,包括计算密集型64位应用,比如高端电脑、平板电脑和服务器产品。
性能比A15提升一倍。
A72:
Cortex-A72是ARM性能最出色、最先进的处理器。
于2015年年初正式发布的Cortex-A72是基于ARMv8-A架构、并构建于Cortex-A57处理器在移动和企业设备领域成功的基础之上。
在相同的移动设备电池寿命限制下,Cortex-A72能相较基于Cortex-A15处理器,28纳米工艺节点的设备,提供3.5倍的性能表现,展现优异的整体功耗效率。
Cortex-A72的强化性能和功耗水平重新定义了2016年高端设备为消费者带来的丰富连接和情境感知(context-aware)的体验。
Cortex-A72可在芯片上单独实现,也可以搭配Cortex-A53处理器与ARMCoreLinkTMCCI高速缓存一致性互连(CacheCoherentInterconnect)构成ARMbig.LITTLETM配置,进一步提升能效。
Cortex-A列规格对比
类别
Cortex-A5
Cortex-A7
Cortex-A8
Cortex-A9
Cortex-A15
发布时间
2009年12月
2011年10月
2006年7月
2008年3月
2011年4月
时钟频率
~1GHz
~1GHzon28nm
~1GHzon65nm
~2GHzon40nm
~2.5GHzon28nm
执行顺序
顺序执行
顺序执行
顺序执行
乱序执行
乱序执行
多核支持
1to4
1to4
1
1to4
1to4
MIPS/MHz
1.6
1.9
2
2.5
3.5
VFP/NEON支持
VFPv4/NEON
VFPv4/NEON
VFPv3/NEON
VFPv3/NEON
VFPv4/NEON
半精度扩展(16-bitfloating-point)
是
是
否,只有32-bit单精度和64-bit双精度浮点
是
是
FP/NEON寄存器重命名
否
否
否
否
是
GP寄存器重命名
否
否
否
是
是
硬件的除法器
否
是
否
否
是
LPAE(40-bitphysicaladdress)
否
否
否
否
是
硬件虚拟化
否
是
否
否
是
big.LITTLE
No
LITTLE
No
No
Big
融合的MAC乘累加
是
是
否
否
是
流水线级数pipelinestages
8
8
13
9to12
15+
指令译码decodes
1
Partialdualissue
2(dual-issue)
2(dual-issue)
3
返回堆栈stack条目
4
8
8
8
48
浮点运算单元FPU
Optional
Optional
Yes
Optional
Optional
AMBA总线宽度
64-bitI/F
AMBA3
128-bitI/F
AMBA4
64or128-bitI/F
AMBA3
2×64-bitI/F
AMBA3
128-bit
L1DataCacheSize
4Kto64K
8KBto64KB
16/32KB
16KB/32KB/64KB
32KB
L1InstructionCacheSize
4Kto64K
8KBto64KB
16/32KB
16KB/32KB/64KB
32KB
L1CacheStructure
2-wayset
associative(Inst)
4-wayset
associative(Data)
2-wayset
associative(Inst)
4-wayset
associative(Data)
4-wayset
associative
4-wayset
associative(Inst)
4-wayset
associative(Data)
2-wayset
associative(Inst)
4-wayset
associative(Data)
L2Cachetype
External
Integrated
Integrated
External
Integrated
L2Cachesize
-
128KBto1MB
128KBto1MB
-
512KBto1MB
L2CacheStructure
-
8-wayset
associative
8-wayset
associative
-
8-wayset
associative
Cacheline(bytes)
32
32
64
32
64
Classic处理器:
ARM7:
1994年推出,使用范围最广的32位嵌入式处理器系列。
0.9MIPS/MHz的三级流水线和冯诺依曼结构
ARM9:
ARM9系列技术特点
∙基于ARMv5TE架构
∙高效的5级流水线,更快的吞吐量和系统性能,哈佛结构
o提取/解码/执行/内存/写回
∙同时支持 ARM和 Thumb指令集
o高效ARM-Thumb交互工作允许最佳组合性能和代码密度
∙哈佛架构-独立的指令和数据内存接口
o可用内存带宽增加
o同时访问I&D内存
o更高性能
∙31x32位寄存器
∙32位ALU和桶行移位器
∙32位MAC块增强
CoreSight™ETM9接口用于增强调试和trace
∙标准 AMBA® AHB™接口
∙协处理器接口
内存控制器
∙内存操作受MMU或MPU控制
∙MMU提供
o虚拟内存支持
o快速上下文切换扩展(FCSE)
∙MPU支持
o内存保护和边界
o应用沙坑效应
∙写缓冲
o从外部内存解耦内部处理器
o可在4个独立地址中存储16个字
o清除缓冲脏行
灵活的缓存设计
∙硬件缓存架构
∙大小可从4KB到128KB(以2的方幂形式增长)
∙I&D缓存可具有独立大小
∙行长度固定为8个字
∙固定4向集关联
∙零等待状态存取
∙关键词首先缓存行填充
∙无阻塞
∙虚拟寻址
灵活的TCM设计
∙哈佛机构
∙大小可为0KB或4KB到1MB(以二次方形式增长)
∙可具有独立大小
∙可为RAM或ROM
∙允许等待状态
∙ARM968上的双存储TCM
∙物理寻址
o将非顺序存取停止一个周期以允许地址转换
DSP增强
∙单周期32x16乘法器实现
o加快所有乘法指令
o流水线设计允许一个16x16或32x16开始每个周期
∙新的32x16和16x16乘法指令
o允许独立存取16位半寄存器
o允许压缩的16位操作数高效使用32位带宽
oARMISA提供32x32乘法指令
∙有效微小数字饱和算法
oQADD、QSUB、QDADD、QDSUB
∙前导零计数指令
oCLZ加快标准化和除法
ARM11:
ARM11处理器系列所提供的引擎可用于当前生产领域中的很多智能手机,还广泛用于消费类、家庭和嵌入式应用程序。
该处理器的功耗非常低,提供的性能范围为小面积设计中的350MHz到速度优化设计中的1GHz(45纳米和65纳米)。
ARM11处理器软件可以与以前所有ARM处理器兼容,并引入了用于媒体处理的32位SIMD、用于提高操作系统上下文切换性能的物理标记cache、强制实施硬件安全性的TrustZone以及针对实时应用的紧密耦合内存。
ARM11处理器系列功能:
∙强大的ARMv6指令集架构
∙ARM Thumb® 指令集可以减少高达35%的内存带宽和大小需求
∙用于执行高效嵌入式Java的ARM Jazelle® 技术
∙ARM DSP扩展
∙SIMD(单指令多数据)媒体处理扩展可提供高达2倍的视频处理性能
∙作为片上安全基础的ARM TrustZone® 技术(ARM1176JZ-S 和ARM1176JZF-S处理器)
∙Thumb-2技术(仅 ARM1156(F)-S),可提高性能、能效和代码密度
∙低功耗:
o0.21mW/MHz(65G),包括cache控制器
o节能关闭模式能够处理高级工艺中的静态漏电情况
∙高性能整数处理器
o8级整数流水线可提供高时钟频率(对于ARM1156T2(F)-S为9级)
o单独的加载-存储和算术流水线
o分支预测和返回栈
∙高性能内存系统设计
o支持4-64kcache大小
o针对多媒体应用领域的、带DMA的可选紧密耦合内存
o对于媒体处理和网络应用领域,高性能64位内存系统加快了数据存取速度
oARMv6内存系统架构加快了操作系统上下文切换速度
∙矢量中断接口和低中断延迟模式提高了中断响应速度和实时性能
∙用于汽车/工业控制和三维图形加速的可选矢量浮点协处理器(ARM1136JF-S、ARM1176JZF-S和ARM1156T2F-S处理器)
∙所有ARM11系列处理器都作为符合 ARM-Synopsys参考方法的可交付项来提供,从而显著缩短了生成内核的特定技术实现的时间,以及生成一组完整的行业标准视图和模型的时间。
Classic处理器比较
类别
ARM7
ARM9
ARM11
体系结构
冯·诺依曼
ARMv5TE(哈佛)
ARMv6M(哈佛)
指令集
ARM、Thumb
ARM、Thumb
ARM、Thumb、Thumb-2
流水线
3级
5级
8级
DMIPS/MHz
0.9
1.1
1.2
NMU
无
有
有
DSP扩展
否
是
是
单指令多数据扩展
否
否
是
浮点支持
否
是(VFP9)
是(VFP11)
Cache支持
否
是
是
密集耦合内存
否
是
是
TrustZone安全扩展
否
否
是(仅ARM1176JZ(F)-S)
Cortex-R系列:
R4:
第一个基于ARMv7-R体系的嵌入式实时处理器。
专用于大容量深层嵌入式片上系统应用,如硬盘驱动控制器、无限基带处理器、消费产品手机MTK平台和汽车系统的电子控制单元。
R5:
2010年推出,基于ARMv7-R体系,扩展了Cortex-R4处理器的功能集,支持在可靠的实时系统中获得更高级别的系统性能、提高效率和可靠性并加强错误管理。
这些系统级功能包括高优先级的低延迟外设端口(LLPP)和加速器一致性端口(ACP),前者用于快速外设读写,后来用于提高效率并与外部数据源达成更可靠的高速缓存一致性。
基于40nmG工艺,Cortex-R5处理器可以实现以将近1GHz的频率运行,此时它可提供1,500DhrystoneMIPS的性能。
该处理器提供高度灵活且有效的双周期本地内存接口,使SoC设计者可以最大限度地降低系统成本和功耗。
R7:
Cortex-R7处理器是性能最高的Cortex-R系列处理器。
它是高性能实时SoC的标准。
Cortex-R7处理器是为基于65nm至28nm的高级芯片工艺的实现而设计的,此外其设计重点在于提升能效、实时响应性、高级功能和简化系统设计。
基于40nmG工艺,Cortex-R7处理器可以实现以超过1GHz的频率运行,此时它可提供2,700DhrystoneMIPS的性能。
该处理器提供支持紧密耦合内存(TCM)本地共享内存和外设端口的灵活的本地内存系统,使SoC设计人员可在受限制的芯片资源内达到高标准的硬实时要求。
Cortex-R系列处理器比较
ARMCortex-R4
ARMCortex-R5
ARMCortex-R7
1.68/2.02/2.45DMIPS/MHz*
3.47CoreMark/M