一文教你如何区别ARM Cortex系列处理器
- 格式:doc
- 大小:16.50 KB
- 文档页数:3
1.1ARM核心ARM核心是主控S OC中的重要部分,系统的日常应用都由AR M核心来完成,因此A RM核心的效能很大程度上跟用户体验有关。
ARM公司一般用DM IPS/M Hz来标称ARM核心的性能。
D MIPS是Dhrys toneMilli on In struc tions exec utedPer S econd的缩写,反映核心的整数计算能力。
但Dhr yston e算法代码本身比较叫,可以完全放到Cac he中执行,因此反映的只是核心能力,并不能反映缓存、内存I/O性能。
S oC定义为将微处理器、模拟IP核、数字I P核和存储器(或片外存储控制接口)集成在单一芯片上。
能支持智能系统的ARM核心有以下几类:A RM9:指令集ARM v5,5级流水线,1.1DMI PS/MH zARM10E:指令集ARM v5,in tel获得授权后发展的,如PX A270,PXA210系列,6/7级流水线,1.35DMIP S/MHzARM11:指令集ARMv6,8级流水线,1.25DMIP S/MHzCor tex-A8:指令集ARMv7-A,13级整数流水线,超标量双发射,2.0DMI PS/MH z,标配N eon,不支持多核Scorp ion:指令集ARM v7-A,高通获得指令集授权后在A8的基础上设计的。
13级整数流水线,超标量双发射,部分乱序执行,2.1DMI PS/MH z,标配N eon,支持多核C ortex-A9:指令集ARM v7-A,8级整数流水线,超标量双发射,乱序执行,2.5DM IPS/M Hz,可选配Neon/VFPv3,支持多核Cor tex-A5:指令集ARMv7-A,8级整数流水线,1.57DMIPS/MHz,可选配Ne on/VF Pv3,支持多核Corte x-A15:指令集A RMv7-A,超标量,乱序执行,可选配N eon/V FPv4,支持多核×目前只有指令集ARMv7-A的核心才能在An droid2.2上支持Adob e Fla sh。
浅谈ARM架构应用处理器与X86架构处理器ARM架构应用处理器和x86架构处理器都是目前市场上主流的处理器架构,它们在不同领域有着广泛的应用。
本文将对这两种架构进行浅谈比较。
首先,ARM架构应用处理器广泛应用于移动设备领域,如智能手机、平板电脑、可穿戴设备等。
这是因为ARM架构处理器具有低功耗、低热量和高度集成的特点,非常适合于移动设备的需求。
ARM处理器在性能方面逐渐迎头赶上了传统的x86架构处理器,而且ARM处理器的制造成本也较低,因此可以更容易地实现定制化和成本优势。
而x86架构处理器主要应用于台式机、服务器和高性能计算领域。
x86架构处理器由英特尔和AMD等公司主导,它们具有高性能和广泛的软件支持。
x86架构处理器采用复杂指令集,执行指令的效率相对较高,适用于高性能计算和需要强大计算能力的应用。
此外,多年来积累的软件生态系统也使得x86架构处理器在各种应用领域有较好的兼容性和生态链。
ARM架构应用处理器和x86架构处理器在体系结构上也有一些不同。
ARM架构处理器采用精简指令集,指令集相对较小,指令的长度也较短。
这样可以在限制的芯片面积上集成更多的电路,提高功耗效率。
而x86架构处理器采用复杂指令集,指令集相对较大,指令的长度也较长。
这使得x86架构的处理器能够更快地执行指令,但相对需要更多的电路资源。
在操作系统上,由于ARM处理器主要应用于移动设备领域,因此Android等基于Linux的移动操作系统是主要支持ARM架构的,而x86架构的处理器更多地运行Windows操作系统和Linux桌面操作系统,也有一些Android设备支持x86架构。
此外,由于ARM架构处理器和x86架构处理器在技术上有较大差异,因此两者的指令不兼容。
这意味着在软件开发上需要针对不同的架构进行优化和适配。
但近年来随着虚拟化技术和仿真技术的发展,可以在一台ARM架构处理器上虚拟出x86架构的运行环境,从而实现x86软件的运行。
Cortex-M 系列针对成本和功耗敏感的 MCU 和终端应用(如智能测量、人机接口设备、汽车和工业控制系统、大型家用电器、消费性产品和医疗器械)的混合信号设备进行过优化。
.比较Cortex-M 处理器Cortex-M 系列是适用于具有不同的成本、功耗和性能的一系列易于使用的兼容嵌入式设备(如微控制器(MCU))的理想解决方案。
每个处理器都针对十分广泛的嵌入式应用围提供最佳权衡取舍。
关于Cortex-M4与Cortex-M3的区别,:M4不是用来取代M3的,它只是多了浮点运算功能。
如果你不需要浮点DSP,M3就足够了Cortex-M 系列处理器都是二进制向上兼容的,这使得软件重用以及从一个Cortex-M 处理器无缝发展到另一个成为可能。
M Cortex-M 技术CMSISARM Cortex 微控制器软件接口标准(CMSIS) 是 Cortex-M 处理器系列的与供应商无关的硬件抽象层。
使用CMSIS,可以为接口外设、实时操作系统和中间件实现一致且简单的软件接口,从而简化软件的重用、缩短新微控制器开发人员的学习过程,并缩短新产品的上市时间。
深入:嵌套矢量中断控制器(NVIC)NVIC 是Cortex-M 处理器不可或缺的部分,它为处理器提供了卓越的中断处理能力。
Cortex-M 处理器使用一个矢量表,其中包含要为特定中断处理程序执行的函数的地址。
接受中断时,处理器会从该矢量表中提取地址。
为了减少门数并增强系统灵活性,Cortex-M 处理器使用一个基于堆栈的异常模型。
出现异常时,系统会将关键通用寄存器推送到堆栈上。
完成入栈和指令提取后,将执行中断服务例程或故障处理程序,然后自动还原寄存器以使中断的程序恢复正常执行。
使用此方法,便无需编写汇编器包装器了(而这是对基于C 语言的传统中断服务例程执行堆栈操作所必需的),从而使得应用程序的开发变得非常容易。
NVIC 支持中断嵌套(入栈),从而允许通过运用较高的优先级来较早地为某个中断提供服务。
浅谈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.45DMIPS/MHz),配有8级流水线,具有双发送、预取和分支预测功能、以及低延迟中断系统,可以中断多周期操作而快速进入中断服务程序。
ARM Cortex-A系列处理器(A5、A7、A8、A9、A15)区别对比2012-12-07本文介绍了基于ARM v7-A架构的ARM Cortex-A系列处理器(Cortex-A5, Cortex-A7, Cortex-A8, Cortex-A9, Cortex-A15)的基本特性,基本上都可以支持ARM、Thumb-2、Thumb 指令集,支持Java加速扩展的Jazelle技术、 ThustZone的安全扩展以及针对浮点FPU的VFP硬件扩展和并行多数据的SIMD的NEON多媒体处理器扩展、支持主流的嵌入式 OS (Symbian、Linux、Android、Windows Mobile、Windows Phone)、支持分支预测branch prediction。
但各处理器在VFP/NEON的类型、半精度浮点(16-bit half precision floating-point)的支持、多核MPCore、流水线pipeline、单MHz处理性能、L1/L2 cache 控制器、乱序执行、指令dual-issue并发等方面有略有不同。
ARM Cortex系列处理器核包括Cortex-A系列(高性能,具备MMU,可以运行如Symbian、Linux、Android,Windows CE等操作系统)、Cortex-R系列(高端嵌入式满足高性能高可靠性的实时需求)、Cortex-M(嵌入式单片机,低功耗,低成本)。
表1.ARM Cortex 处理器和架构版本(应用处理器、实时处理器和微控制器)Cortex-A处理器共性•ARMv7-A 体系结构•对所有操作系统的支持o Linux 完整分配 - Android、Chrome、Ubuntu和Debiano Linux 第三方 - MontaVista、QNX、Wind Rivero Symbiano Windows CEo需要使用内存管理单元的其他操作系统支持•指令集支持 - ARM、Thumb-2(提供最佳代码密度和性能混用)、Thumb、Jazelle、DSP•TrustZone安全扩展•VFP 高级单精度和双精度浮点支持•NEON媒体处理引擎•支持分支预测branch predictionCortex-A5 ARM核处理器图1. ARM Cortex-A5处理器框架图Cortex-A5处理器支持ARMv7-A架构的特性,包括TrustZone安全扩展NEON多媒体处理引擎,芯片面积和功耗特性很好,但处理性能性对于其他Cortex-A略差,如只相当于Cortex-A8的80%性能,Cortex-A15的一半性能。
cortex_M0 CPU32位体系结构ARMv6-M NVIC(低延时,低抖动的中断响应,Ythumb/thumb-2(16/32位指令混合,小于8位设备3倍的代码大小)Y低功耗模式集成的 WFI 和 WFE 指令和“退出时睡眠”功能。
睡眠和深度睡眠信号。
pipeline3DMIPS/MHz0.9中断NMI+1 到 32 个物理中断位操作可以使用 Cortex-M 系统设计工具包实现位处理操作区增强的指令硬件单周期 (32x32) 乘法选项动态功耗(40G)3 µW/MHzarea(40G)0.01 mm**2; 12k gate优势最小 ARM 处理器功耗超低超级简单的指令集(56个指令)侧重低成本和简单性8/16位应用应用家电、汽车等低端应用替代8051等低端MCU备注M0的特点就是小、便宜、简单,应用于极低端cortex_M1cortex_M332位32位ARMv7-MY YY Y集成的 WFI 和 WFE 指令和“退出时睡眠”功能。
睡眠和深度睡眠信号。
330.8 1.25NMI+1 到 32 个物理中断NMI+1 到240 个物理中断集成的指令和位段硬件除法(2-12 个周期)和单周期 (32x32) 乘法、饱和数学支持7 µW/MHz0.03 mm**2; 33k gate标准处理器架构,可方便应用于各FPGA 厂商提供更高的性能和更丰富的功能高性能和低动态能耗全功能:可执行包括硬件除法、单周期乘法和位字段操作丰富的连接,内存保护fpga 性能和效率16/32位应用fpga上应用专门针对微控制器应用开发的主流 ARM 处理器TSMC90G,可以达到275M,不包括TCM等可选外设号称用于fpga,各方面资料较少performance貌似和M0一个水平,甚至还差一点兼顾成本和性能,应该是M系列当前最流行的。
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图形、游戏物理应用以及传统嵌入式控制应用的需求。
了解不同的处理器型号及其性能差异现如今,计算机已经成为我们日常生活中不可或缺的一部分。
而计算机的核心部件之一就是处理器。
处理器的性能直接影响到计算机的运行速度和处理能力。
然而,市场上有众多不同型号的处理器,每个型号都有其独特的特点和功能。
了解不同的处理器型号及其性能差异,对我们选购和使用计算机具有重要的指导意义。
一、处理器的基本知识处理器是计算机的核心组成部分,主要用于执行计算机程序中的指令。
处理器的性能取决于其架构、频率、核心数量、缓存等因素。
1. 处理器架构处理器的架构决定了其内部组成和运行方式。
主流的处理器架构有x86架构和ARM架构。
x86架构主要用于个人电脑和服务器领域,而ARM架构主要用于移动设备领域。
2. 处理器频率处理器频率指的是处理器每秒钟执行指令的次数,通常以赫兹(Hz)为单位。
频率越高,处理器执行指令的速度越快。
3. 处理器核心数量处理器的核心数量决定了处理器同时执行多个任务的能力。
多核处理器能够更好地支持多任务处理和并行计算。
4. 处理器缓存处理器缓存是处理器内部的高速存储器,用于临时存储数据和指令。
较大的缓存能提高数据读取和写入的效率。
二、不同的处理器型号及其性能差异不同的处理器型号在架构、制造工艺、频率、核心数量、缓存等方面存在差异,因此其性能也会有所不同。
下面以目前市场上常见的几个处理器品牌为例,介绍其不同型号及性能差异。
1. Intel处理器Intel是全球最大的处理器制造商之一,其处理器以高性能而闻名。
- Intel Core i3:入门级处理器,适用于日常办公和网页浏览,性能较低。
- Intel Core i5:中端处理器,适用于日常办公、多媒体和一般游戏,性能中等。
- Intel Core i7:高端处理器,适用于专业级应用、游戏和虚拟化技术,性能较高。
- Intel Core i9:旗舰级处理器,适用于专业工作站和高性能游戏,性能最高。
2. AMD处理器AMD是另一家著名的处理器制造商,其处理器在性价比方面具有竞争力。
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。
Cortex-M系列M0:Cortex-M0是目前最小的ARM处理器,该处理器的芯片面积非常小,能耗极低,且编程所需的代码占用量很少,这就使得开发人员可以直接跳过16位系统,以接近8 位系统的成本开销获取 32 位系统的性能。
Cortex-M0 处理器超低的门数开销,使得它可以用在仿真和数模混合设备中。
M0+:以Cortex-M0 处理器为基础,保留了全部指令集和数据兼容性,同时进一步降低了能耗,提高了性能。
2级流水线,性能效率可达1.08 DMIPS/MHz。
M1:第一个专为 FPGA 中的实现设计的 ARM 处理器。
Cortex-M1 处理器面向所有主要 FPGA 设备并包括对领先的 FPGA 综合工具的支持,允许设计者为每个项目选择最佳实现。
M3:适用于具有较高确定性的实时应用,它经过专门开发,可使合作伙伴针对广泛的设备(包括微控制器、汽车车身系统、工业控制系统以及无线网络和传感器)开发高性能低成本平台。
此处理器具有出色的计算性能以及对事件的优异系统响应能力,同时可应实际中对低动态和静态功率需求的挑战。
M4:由 ARM 专门开发的最新嵌入式处理器,用以满足需要有效且易于使用的控制和信号处理功能混合的数字信号控制市场。
M7:在 ARM Cortex-M 处理器系列中,Cortex-M7 的性能最为出色。
它拥有六级超标量流水线、灵活的系统和存接口(包括 AXI 和 AHB)、缓存(Cache)以及高度耦合存(TCM),为MCU 提供出色的整数、浮点和 DSP 性能。
互联:64位 AMBA4 AXI, AHB外设端口 (64MB 到 512MB)指令缓存:0 到 64kB,双路组相联,带有可选 ECC数据缓存:0 到 64kB,四路组相联,带有可选 ECC指令TCM:0 到 16MB,带有可选 ECC数据TCM:0 到 16MB,带有可选 ECCCortex-M系列规格对比Cortex-A系列:ARM Cortex-A 系列是一系列用于复杂操作系统和用户应用程序的应用程序处理器。
一文教你如何区别ARM Cortex系列处理器
众所周知,英国的ARM公司是嵌入式微处理器世界当中的佼佼者。
ARM一直以来都是自己研发微处理器内核架构,然后将这些架构的知识产权授权给各个芯片厂商,精简的CPU架构,高效的处理能力以及成功的商业模式让ARM公司获得了巨大的成功,使它迅速占据了32位嵌入式微处理器的大部分市场份额。
目前,随着对嵌入式系统的要求越来越高,作为其核心的嵌入式微处理器的综合性能也受到日益严峻的考验,现在一个高端智能手机的处理能力几乎可以和几年前的笔记本电脑相当。
为了迎合市场的需求,ARM公司也在加紧研发他们最新的ARM架构,Cortex系列就是这样的产品。
那么我们今天就不妨好好了解一下ARM Cortex系列处理器知识点汇总。
ARM公司在经典处理器ARM11以后的产品改用Cortex命名,并分成A、R和M三类,旨在为各种不同的市场提供服务。
1、Cortex-A:面向尖端的基于虚拟内存的操作系统和用户应用
2、Cortex-R:针对实时系统
3、Cortex-M:微控制器
ARM Cortex系列处理器——Cortex-A
ARM Cortex-A 系列是一系列用于复杂操作系统和用户应用程序的应用程序处理器。
Cortex-A 系列处理器支持ARM、Thumb 和Thumb-2 指令集。
RM公司的Cortex-A系列处理器适用于具有高计算要求、运行丰富操作系统以及提供交互媒体和图形体验的应用领域。
如图所示,绿色的部分都是v7-A的架构,蓝色的是v8-A架构,基本上绿色都是可以支持到32和64位的,除了A32,只支持到32位。
在右边的每个部分,比如说需要高效能的最上面的A15-A73这个部分是最高效的,接下来就是比较注重整个效率的部分了,中间那个部分是比较高效率的,最下面那栏的是效率最好的,在电池的效能方面达到了最好的标准。
如果非要给他们一个排序的话,从高到低大体上可排序为:Cortex-A73处理器、Cortex-A72。