ARM处理器目前包括以下几个系列:
- ARM7系列
- ARM9系列
- ARM9E系列
- ARM10E系列
- SecurCore系列
- Inter的Xscale
- Inter的StrongARM
其中,ARM7、ARM9、ARM9E和ARM10为4个通用处理器系列,每一个系列提供一套相对独特的性能来满足不同应用领域的需求。SecurCore系列专门为安全要求较高的应用而设计。
ARM7微处理器系列
ARM7系列微处理器为低功耗的32位RISC处理器,最适合用于对价位和功耗要求较高的消费类应用。ARM7微处理器系列具有如下特点:
- 具有嵌入式ICE-RT逻辑,调试开发方便。
- 极低的功耗,适合对功耗要求较高的应用,如便携式产品。
- 能够提供0.9MIPS/MHz的三级流水线结构。
- 代码密度高并兼容16位的Thumb指令集。
- 对操作系统的支持广泛,包括Windows CE、Linux、Palm OS等。
- 指令系统与ARM9系列、ARM9E系列和ARM10E系列兼容**,便于用户的产品升级换代。**
- 主频最高可达130MIPS,高速的运算处理能力能胜任绝大多数的复杂应用。
ARM7系列微处理器的主要应用领域为:工业控制、Internet设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用。
ARM7系列微处理器包括如下几种类型的核:ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。其中,ARM7TMDI是目前使用最广泛的32位嵌入式RISC处理器,属低端ARM处理器核。
TDMI的基本含义为:
- T:支持16为压缩指令集Thumb;
- D:支持片上Debug;
- M:内嵌硬件乘法器(Multiplier)
- I:嵌入式ICE,支持片上断点和调试点;
ARM9微处理器系列
ARM9系列微处理器在高性能和低功耗特性方面提供最佳的性能。具有以下特点:
- 5级整数流水线,指令执行效率更高。
- 提供1.1MIPS/MHz的哈佛结构。
- 支持32位ARM指令集和16位Thumb指令集。
- 支持32位的高速AMBA总线接口。
- 全性能的MMU,支持Windows CE、Linux、Palm OS等多种主流嵌入式操作系统。
- MPU支持实时操作系统。
- 支持数据Cache和指令Cache,具有更高的指令和数据处理能力。
ARM9系列微处理器主要应用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等。
ARM9系列微处理器包含ARM920T、ARM922T和ARM940T三种类型,以适用于不同的应用场合。
ARM9E微处理器系列
ARM9E系列微处理器为可综合处理器,使用单一的处理器内核提供了微控制器、DSP、Java应用系统的解决方案,极大的减少了芯片的面积和系统的复杂程度。
ARM9E系列微处理器提供了增强的DSP处理能力,很适合于那些需要同时使用DSP和微控制器的应用场合。
ARM9系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、存储设备和网络设备等领域。
ARM9E系列微处理器包含ARM926EJ-S、ARM946E-S和ARM966E-S三种类型,以适用于不同的应用场合。
ARM9E系列微处理器的主要特点如下:
- 支持DSP指令集,适合于需要高速数字信号处理的场合。
- 5级流水线,指令执行效率更高。
- 支持32位ARM指令集和16位Thumb指令集。
- 支持32位的高速AMBA总线接口。
- 支持VFP9浮点处理协处理器。
- 全性能的MMU,支持Windows CE、Linux、Palm OS等多种主流嵌入式操作系统。
- MPU支持实时操作系统。
- 支持数据Cache和指令Cache,具有更高的指令和数据处理能力。
- 主频最高可达300MIPS。
ARM10E微处理器系列
ARM10E系列微处理器具有高性能、低功耗的特点,由于采用了新的体系结构,与同等的ARM9器件相比较,在同样的时钟频率下,性能提高了近50%,同时,ARM10E系列微处理器采用了两种先进的节能方式,使其功耗极低。
ARM10E系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、通信和信息系统等领域。
ARM10E系列微处理器包含ARM1020E、ARM1022E和ARM1026EJ-S三种类型,以适用于不同的应用场合。
ARM10E系列微处理器的主要特点如下:
- 支持DSP指令集,适合于需要高速数字信号处理的场合。
- 6级流水线,指令执行效率更高。
- 支持32位ARM指令集和16位Thumb指令集。
- 支持32位的高速AMBA总线接口。
- 支持VFP10浮点处理协处理器。
- 全性能的MMU,支持Windows CE、Linux、Palm OS等多种主流嵌入式操作系统。
- 支持数据Cache和指令Cache,具有更高的指令和数据处理能力
- 主频最高可达400MIPS。
- 内嵌并行读/写操作部件。
SecurCore微处理器系列
SecurCore系列微处理器专为安全需要而设计,提供了完善的32位RISC技术的安全解决方案,因此,SecurCore系列微处理器除了具有ARM体系结构的低功耗、高性能的特点外,还具有其独特的优势,即提供了对安全解决方案的支持。
SecurCore系列微处理器除了具有ARM体系结构各种主要特点外,还在系统安全方面具有如下的特点:
带有灵活的保护单元,以确保操作系统和应用数据的安全。
采用软内核技术,防止外部对其进行扫描探测。
可集成用户自己的安全特性和其他协处理器。
SecurCore系列微处理器主要应用于一些对安全性要求较高的应用产品及应用系统,如电子商务、电子政务、电子银行业务、网络和认证系统等领域。
SecurCore系列微处理器包含SecurCore SC100、SecurCore SC110、SecurCore SC200和SecurCore SC210四种类型,以适用于不同的应用场合。
StrongARM微处理器系列
Inter StrongARM SA-1100处理器是采用ARM体系结构高度集成的32位RISC微处理器。它融合了Intel公司的设计和处理技术以及ARM体系结构的电源效率,采用在软件上兼容ARMv4体系结构、同时采用具有Intel技术优点的体系结构。
Intel StrongARM处理器是便携式通讯产品和消费类电子产品的理想选择,已成功应用于多家公司的掌上电脑系列产品。
Xscale处理器
Xscale 处理器是基于ARMv5TE体系结构的解决方案,是一款全性能、高性价比、低功耗的处理器。它支持16位的Thumb指令和DSP指令集,已使用在数字移动电话、个人数字助理和网络产品等场合。 Xscale 处理器是Intel目前主要推广的一款ARM微处理器。
Cortex处理器
ARM公司在经典处理器ARM11以后的产品改用Cortex命名,并分成A、R和M三类,旨在为各种不同的市场提供服务。
- ARM Cortex-A系列是基于v7A的面向复杂应用的处理器核
- ARM Cortex-R系列是基于v7R的面向实时应用的处理器核。
- ARM Cortex-M系列是基于v7M的面向低成本的微控制核。
MMU vs MPU
内存是现代计算机最重要的组件之一。因此,它的内容不能被任何错误的应用所篡改。这个功能可以通过MMU(Memory Management Unit)或者MPU(Memory Protection Unit)来实现。尽管这个两个东西有同样的基本功能,但是它们之间还是存在一些不同。MMU被认为是比MPU更先进的设备。MMU能完成MPU的所有工作,并且它还具备MPU没有的一些高级特性。
MMU是负责memory的虚拟地址到物理地址的转换,以及memory的访问限制;而MPU不负责虚拟地址到物理地址的转换,所有MPU里面就不用TLB了。 对于一些高级的CPU的,因为要跑linux这种复杂类型的操作系统,都会在里面集成MMU。但是对于一些嵌入式系统的应用,只是跑实时操作系统,这些操作系统用的是物理地址,不需要虚实转化,所以用MPU就可以了。
MMU具备而MPU不具备的特性包括:缓存控制,总线仲裁,bank切换。这些特性是更复杂的计算机所需要的,以便信息处理流程更顺畅无误。通过使用MMU,你能优化你的计算机性能,因为它可以让微处理器不用关心上述:缓存控制,总线仲裁,bank切换任务,由独立的MMU单元来全权负责。
MMU vs MPU总结
MMU比MPU更先进
- MMU能覆盖MPU的所有功能
- MMU能实现缓存控制,总线仲裁,Bank切换,而MPU不能
- MPU比MMU更简单,使用开销也更少
ARM Cortex – M系列处理器
ARM Cortex™-M处理器系列是一系列可向上兼容的高能效、易于使用的处理器,这些处理器旨在帮助开发人员满足将来的嵌入式应用的需要。这些需要包括以更低的成本提供更多功能、不断增加连接、改善代码重用和提高能效。
Cortex-M 系列针对成本和功耗敏感的MCU和终端应用(如智能测量、人机接口设备、汽车和工业控制系统、大型家用电器、消费性产品和医疗器械)的混合信号设备进行过优化。
CPU性能测试三大标准
在嵌入式系统行业用于评价CPU性能指标的标准主要有三种:Dhrystone、MIPS、CoreMark。
MIPS(Million Instructions Per Second):单字长定点指令平均执行速度 Million Instructions Per Second的缩写,每秒处理的百万级的机器语言指令数。这是衡量CPU速度的一个指标。像是一个Intel80386 电脑可以每秒处理3百万到5百万机器语言指令,即我们可以说80386是3到5MIPS的CPU。MIPS只是衡量CPU性能的指标。
Dhrystone是测量处理器运算能力的最常见基准程序之一,常用于处理器的整型运算性能的测量。程序是用C语言编写的,因此C编译器的编译效率对测试结果也有很大影响。 Dhrystone的计量单位为每秒计算多少次Dhrystone,后来把在VAX-11/780机器上的测试结果1757 Dhrystones/s定义为1 Dhrystone MIPS(百万条指令每秒)。
CoreMark是由EEMBC(嵌入式微处理器基准评测协会)的Shay Gla-On于2009年提出的一项基准测试程序,其主要目标是测试处理器核心性能。 CoreMark包含以下算法:列表处理(增删改查和排序)、矩阵操作(公共矩阵操作)、状态机(确定输入流是否包含有效数字)和CRC。
CoreMark标准的测试方法很简单,就是在某配置参数组合下单位时间内跑了多少次CoreMark程序,其指标单位为CoreMark/MHz。CoreMark数字越高,意味着性能更高。 CoreMark是一种新兴流行的嵌入式系统处理器测试基准,被认为是比Dhrystone和MIPS更具有实际价值的测试基准。
ARM Cortex-R系列处理器
相对Cortex-A系列的内核来说,Cortex-R系列显的格外低调,因为A core主要应用在消费品,尤其是手机,大家拼的就是CPU的性能,所以对A core也了如指掌。但是在某些特殊的领域,比如工控,通信等对实时性要求高的场合,Acore就不适合了。所以ARM就搞了一个Rcore。
Cortex-R处理器针对高性能实时应用,例如硬盘控制器(或固态驱动控制器)、企业中的网络设备和打印机、消费电子设备(例如蓝光播放器和媒体播放器)、以及汽车应用(例如安全气囊、制动系统和发动机管理)。
Cortex-R7
Cortex-R7极大扩展了R系列内核的性能范围,时钟速度可超过1GHz,性能达到3.77DMIPS/MHz。Cortex-R7上的11级流水线现在增强了错误管理功能,以及改进的分支预测功能。多核配置也有多种不同选项:锁步、对称多重处理和不对称多重处理。
Cortex-R7还配有一个完全集成的通用中断控制器(GIC)来支持复杂的优先级中断处理。不过,值得注意的是,虽然Cortex-R7具有高性能,但是它并不适合运行那些特性丰富的操作系统(例如Linux和Android)的应用,Cortex-A系列才更适合这类应用。Linux和Android的延时是比较大的,所以做通信的朋友他们最常用的系统是VxWorks。
Cortex-R8
Cortex-R8在架构设计上基本延续了Cortex-R7的特点,仍然是11级乱序流水线,ARMv7-R指令集,向下兼容,不过Cortex-R8支持最多四个核心,比上代翻一番,而且各个核心可以非对称运行,有自己的电源管理,所以能单独关闭以省电。每个核心还可以搭配最多2MB低延迟的紧耦合缓存(TCM),包括1MB指令、1MB数据,整个处理器最多8MB。相比之下,Cortex-R7每个核心最多只有128KB指令/数据缓存。Cortex-R8可以采用28/16/14nm等不同工艺制造,其中在28nm HPM工艺下主频最高可达1.5GHz,性能最高15000 Dhrystone MIPS,是现在Cortex-R7的两倍,而核心面积最小可以做到仅仅0.33平方毫米。
Cortex-R52
作为Cortex-R系列最新款微处理器,Cortex-R52基于改进的ARMv8-R架构,算是之前Cortex-R5的升级版,但和Cortex-R7\R8在应用领域上有区别,前者设定在汽车、工业和医疗保健的自动化领域,后者在存储低延迟和Modem上做了强化,主力车联网、物联网、4\5G方案等。配置上,Cortex-R52最高支持4核心,相比R5,有着35%的性能提升,上下文切换(乱序)提高14倍,入口抢占提高2倍,支持硬件虚拟化技术。
按照ARM的说法,简单的中控系统可直接用Cortex-R52,但是像工业机器人和ADAS(先进辅助驾驶)系统则建议配合Cortex-A、Mali GPU等提升整体运算。
Mali是一款高端GPU,将图形IP视觉娱乐变为现实,在市场占安卓智能手机30%以上
ARM Cortex –A系列处理器
ARM Cortex™-A 系列应用型处理器可向托管丰富OS平台和用户应用程序的设备提供全方位的解决方案,从超低成本手机、智能手机、移动计算平台、数字电视和机顶盒到企业网络、打印机和服务器解决方案。
高性能的Cortex-A15、可伸缩的Cortex-A9、经过市场验证的Cortex-A8处理器和高效的Cortex-A7和Cortex-A5处理器均共享同一架构 ARM V7,因此具有完全的应用兼容性,支持传统的 ARM、Thumb指令集和新增的高性能紧凑型Thumb-2指令集。
ARM在Cortex-A系列处理器大体上可以排序为:Cortex-A57处理器、Cortex-A53处理器、Cortex-A15处理器、Cortex-A9处理器、Cortex-A8处理器、Cortex-A7处理器、Cortex-A5处理器。 其中A57和A53属于ARMv8架构。
对于Cortex-A76的性能,ARM官方资料提供了对比数据:Cortex-A76相比于“上代”的Cortex-A73,整数性能提升了90%,浮点性能提升了150%,而综合起来的性能增幅也有80%。如果是和上一代的Cortex-A75相比,那么综合性能提升幅度也高达35%。
由于指令集层面上的改进,Cortex-A76运行“机器学习应用”时的性能最高可以提升400%,而在能效比上,新架构也有着高达40%的改进……
ARM体系结构及处理器类型总结
当代最先进的三款嵌入式处理器芯片:
- 华为麒麟980
- 高通骁龙855
- 三星Exynos9820
GPU,NPU是什么?
GPU
图形处理器(英语:Graphics Processing Unit,缩写:GPU),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上做图像和图形相关运算工作的微处理器。
GPU采用多线程SIMD架构,为图形处理而生。
GPU使显卡减少了对CPU的依赖,并进行部分原本CPU的工作,尤其是在3D图形处理时GPU所采用的核心技术有硬件T&L(几何转换和光照处理)、立方环境材质贴图和顶点混合、纹理压缩和凹凸映射贴图、双重纹理四像素256位渲染引擎等,而硬件T&L技术可以说是GPU的标志。
GPU的生产商主要有NVIDIA和ATI。
GPU无法单独工作,必须由CPU进行控制调用才能工作。
NPU
嵌入式神经网络处理器(NPU)是基于神经网络算法与加速的新型处理器总称,如中科院计算所/寒武纪公司出品的diannao系列。 NPU采用“数据驱动并行计算”的架构,特别擅长处理视频、图像类的海量多媒体数据。
NPU处理器专门为物联网人工智能而设计,用于加速神经网络的运算,解决传统芯片在神经网络运算时效率低下的问题。
NPU处理器包括了乘加、激活函数、二维数据运算、解压缩等模块。
麒麟980的具体规格为4A76+4A55的八核心设计,而且使用了台积电7纳米工艺制造,最高主频可达2.6GHz。
麒麟980是世界上第二个采用台积电7nm工艺制造的商用手机SoC芯片组,集成69亿个晶体管以提高性能和能源效率。这是第一种基于ARM Cortex-A76 CPU、Mali-G76 GPU、Cat.21开发的同类产品。麒麟980支持频率高达2133 MHz的LPDDR4X内存,并搭载支持160 MHz带宽的移动端Wi-Fi芯片组,这种组合的理论峰值下载速率为1.7Gbit/s。
麒麟980使用台积电的第一代7nm工艺制程,相比上一代基于10nm的麒麟970,单从性能上来说,至少提高20%,而功耗可以降低40%。 搭载寒武纪1M的人工智能NPU,也就是该芯片将是华为第二代人工智能芯片,更加擅长处理视频、图像类的多媒体数据。
麒麟980处理器,是华为手机专属CPU。该芯片自2018年10月发布的华为mate20系列正式被使用在华为手机中。数月过去,现在已经有6款华为手机和荣耀手机(华为Nova5 Pro、荣耀20系列、华为p30系列、荣耀V20、荣耀magic2和华为mate20系列),若下分机型共有20种之多。
骁龙855、麒麟980、Exynos9820比较
高通骁龙855和华为麒麟980都采用的是台积电的7nm工艺,和苹果A12一样,而三星Exynos 9820用的是自家的8nm工艺。
在核心分割上
骁龙855是“1+3+4”,麒麟980和Exynos 9820则是“2+2+4”。而在构成和搭配方面: 骁龙855由2.84GHz单核+2.42GHz三核+1.78GHz四核Kryo 485构成;麒麟980由2.6GHz双核A76+1.92GHz双核A76+1.8GHz四核A55构成; Exynos 9820由2.7GHz双自研核心Exynos M4+双核A75+四核A55构成,其中三星只公布了最高频率。
Geekbench的跑分
从最底层开始打造的跨平台软件,Geekbench 给您比较不同设备,处理器体系系统, 与操作系统的能力。
骁龙855和麒麟980在CPU方面的差距并不算很大,二者基本处于统一水准。只不过由于骁龙855还是测试机,所以未来商用后或许成绩还有提升空间。至于Exynos 9820还未现身Geekbench,但应该偏移不会太大。
GPU方面
骁龙855整合了高通自研Adreno 640,并且加入了一系列特性的支持,例如Vulkan 1.1、HDR、硬件加速、杜比视觉和VR等。
Exynos 9820整合ARM Mali-G76 MP12,相比Exynos 9810的Mali-G72 MP18,提供40%的性能提升和降低35%功耗。
麒麟980整合ARM Mali-G76 MP10,性能相比麒麟970的Mali-G72 MP12,性能提升46%,能效提升178%。
安兔兔通过手机行业的标准化测试方法,检测CPU、GPU、内存、存储、界面交互等跑分项目,为您直观的展示手机性能。 安兔兔(ANTUTU)发布的实际跑分对比来看,在GPU方面骁龙855仍然最强,其次是Exynos 9820,再之后是麒麟980。
AI支持
华为麒麟980整合的是第二代NPU,其依然是来自寒武纪,采用双核设计,支持3倍图像识别,每分钟可识别图像4500张。同时,其还在目标物识别、实时图像处理和实时目标分解等方面有一定的升级。 三星Exynos 9820则是首次加入NPU,不过三星并没有特别详细的去介绍这款NPU的参数,只是表示该芯片将在AR等方面有更为优异的体验。
高通骁龙855则有所不同,其并没有加入NPU,而采用的是包括CPU、GPU、Hexagon 690( DSP和AI处理单元的超强组合)、Hexagon语音助手等组合而成的高通AI引擎,不过不要以为骁龙855的AI性能不怎么样,因为据高通介绍其相比骁龙845 AI性能提升了三倍。 根据曝光的AI性能排行榜来看,高通骁龙855工程机的AI成绩为22082分,超过了搭载麒麟980的华为Mate 20 Pro的14295分。
5G支持
骁龙855、Exynos 9820和麒麟980理论上都可以通过基带的形式支持5G,毕竟高通、三星和华为都有对应的5G基带。但高通的5G方案,即骁龙855+骁龙X50的组合,应该会是2019年最主流的5G方案,绝大部分的5G安卓手机都会采用这一方案组合。
而在各自本身的4G基带上,骁龙855整合的是骁龙X24基带,下行最高支持LTE Cat 20 2.0 Gbps,上行最高支持LTE Cat 13 318 Mbps。
Exynos 9820内置LTE-Advanced Pro,支持2.0Gbps峰值下行速度,支持8CA(载波聚合)和316Mbps的峰值上行速度。
麒麟980下行最高支持LTE Cat.21 1.4Gbps,上行最高支持200Mbps。
参考文献:
孟祥莲.嵌入式系统原理及应用教程(第2版)[M].北京:清华大学出版社,2017.