前不久ARM正式宣布推出新款ARMv8架构的Cortex-A50处理器系列产品,以此来扩大ARM在高性能与低功耗领域的领先地位,进一步抢占移动终端市场份额。Cortex-A50是继Cortex-A15之后的又一重量级产品,将会直接影响到主流PC市场的占有率。围绕该话题,我们今天不妨总结一下近几年来手机端较为主流的ARM处理器。
NDK 开发时会涉及到 CPU 架构的适配,不同的机器上可能会有不同的 CPU 架构,也就是说,翻译到机器上使用的规则不一样,Android 上有7种 CPU 架构。
1.armeabi
2.armeabi-v7a
3.arm64-v8a
4.x86
5.x86_64
6.MIPS
7.MIPS64
从厂家上来分是有三种,arm,x86,MIPS,arm 系列是绝大多数手机上使用的,x86 主要是运用在平板上,而 MIPS 基本上就没见过。
从类型来分,有32位和64位,名字中没有64的就是32位的了。
正常来说只使用 armeabi-v7a 就可以适配基本所有手机了,因为现在手机基本上都支持这种CPU架构,但是对于同时也能支持 arm64-v8a 的手机来说,性能上就不如使用对应 CPU 架构的快了,毕竟是32位和64位的区别,值得一提的是,arm 系列本身是没有64位,而是 intel 的x86_64先出现的,之后 arm 收购了 MIPS64,基于 MIPS64 改良出 arm64-v8a,所以也能理解为什么 MIPS 几乎没有,而另外,arm64-v8a 的 CPU 架构上也能运行 armeabi-v7a,为什么呢?不是64位上运行32位,而是 arm64-v8a 上本身搭载了 armeabi-v7a,所以在 arm64-v8a 上运行 armeabi-v7a 是使用32位处理的,没毛病。
如果应用中有不止一个 so,那就要注意了,如果这时你一个 so 同时支持了 armeabi-v7a 和arm64-v8a,而另一个 so 只支持了一种,那可能会运行有问题,这时要么另一个 so 也支持两种,要么把第一个 so 删掉对应目录,只支持相同的一种。
在提供支持多个 CPU 架构的 SDK 时,可以同时提供多个目录的 so,虽然此时 SDK 相对较大,但是被编译的 so 还是以你在 gradle 里设置的支持的 ndk 为准:
ndk {
abiFilters ‘armeabi-v7a’ // , ‘arm64-v8a’, ‘x86’, ‘x86_64’
}
以由高到低的方式来看,ARM处理器大体上可以排序为:Cortex-A57处理器、Cortex-A53处理器、Cortex-A15处理器、Cortex-A12处理器、Cortex-A9处理器、Cortex-A8处理器、Cortex-A7处理器、Cortex-A5处理器、ARM11处理器、ARM9处理器、ARM7处理器,再往低的部分手机产品中基本已经不再使用,这里就不再介绍。
ARM 处理器架构发展
● Cortex-A57、A53处理器
Cortex-A53、Cortex-A57两款处理器属于Cortex-A50系列,首次采用64位ARMv8架构,意义重大,这也是ARM最近刚刚发布的两款产品。
Cortex-A57是ARM最先进、性能最高的应用处理器,号称可在同样的功耗水平下达到当今顶级智能手机性能的三倍;而Cortex-A53是世界上能效最高、面积最小的64位处理器,同等性能下能效是当今高端智能手机的三倍。这两款处理器还可整合为ARM big.LITTLE(大小核心伴侣)处理器架构,根据运算需求在两者间进行切换,以结合高性能与高功耗效率的特点,两个处理器是独立运作的。
应用案例:预计于2014年推出。
● Cortex-A15处理器架构解析
ARM Cortex-A15处理器隶属于Cortex-A系列,基于ARMv7-A架构,是业界迄今为止性能最高且可授予许可的处理器。
Cortex-A15 MPCore处理器具有无序超标量管道,带有紧密耦合的低延迟2级高速缓存,该高速缓存的大小最高可达4MB。浮点和NEON媒体性能方面的其他改进使设备能够为消费者提供下一代用户体验,并为 Web 基础结构应用提供高性能计算。Cortex-A15处理器可以应用在智能手机、平板电脑、移动计算、高端数字家电、服务器和无线基础结构等设备上。
理论上,Cortex-A15 MPCore处理器的移动配置所能提供的性能是当前的高级智能手机性能的五倍还多。在高级基础结构应用中,Cortex-A15 的运行速度最高可达2.5GHz,这将支持在不断降低功耗、散热和成本预算方面实现高度可伸缩的解决方案。
应用案例:三星Exynos 5250。三星Exynos 5250芯片是首款A15芯片,应用在了最近发布的Chromebook和Nexus 10平板电脑上面。Exynos 5250的频率是1.7GHz,采用32纳米的HKMG工艺,配备了Mali-604 GPU,性能强大。另外据传三星下一代Galaxy S4将会搭载四核版的Exynos 5450芯片组,同样应用Cortex-A15内核。另外NVIDIA Tegra 4会采用A15内核。
● Cortex-A12处理器架构解析
2013中旬,ARM 发布了全新的Cortex-A12处理器,在相同功耗下,Cortex-A12的性能上比Cortex-A9提升了40%,同时尺寸上也同样减小了30%。Cortex-A12也同样能够支持big.LITTLE技术,可以搭配Cortex-A7处理器进一步提升处理器的效能。
Cortex-A12架构图
ARM表示Cortex-A12处理器未来将应用于大量的智能手机以及平板产品,但更加侧重于中端产品。同时ARM也预计在2015年,这些中端产品在数量上将远超过旗舰级别的智能手机及与平板。
搭载Cortex-A12处理器的中端机在未来也将是非常有特点的产品,因为Cortex-A12能够支持虚拟化、AMD TrustZone技术,以及最大1TB的机身存储。这也就意味着未来搭载这一处理器的智能手机完全可以作为所谓的BYOD(Bring Your Own Device)设备使用,换句话说就是在作为自用手机的同时,还可以用作商务手机存储商务内容。
Mali-V500架构图
同时Cortex-A12也搭载了全新的Mali-T622绘图芯片与Mali-V500视频编解码IP解决方案,同样也是以节能为目标。这样看来,定位中端市场,低功耗小尺寸,Cortex-A12最终必然会取代Cortex-A9。据悉,Cortex-A12将于2014年投放市场,到时候我们也许会迎来中端市场的一次改变。
应用案例:2014年发布。
● Cortex-A9处理器架构解析
ARM Cortex-A9处理器隶属于Cortex-A系列,基于ARMv7-A架构,目前我们能见到的四核处理器大多都是属于Cortex-A9系列。
Cortex-A9 处理器的设计旨在打造最先进的、高效率的、长度动态可变的、多指令执行超标量体系结构,提供采用乱序猜测方式执行的 8 阶段管道处理器,凭借范围广泛的消费类、网络、企业和移动应用中的前沿产品所需的功能,它可以提供史无前例的高性能和高能效。
Cortex-A9 微体系结构既可用于可伸缩的多核处理器(Cortex-A9 MPCore多核处理器),也可用于更传统的处理器(Cortex-A9单核处理器)。可伸缩的多核处理器和单核处理器支持 16、32 或 64KB 4 路关联的 L1 高速缓存配置,对于可选的 L2 高速缓存控制器,最多支持 8MB 的 L2 高速缓存配置,它们具有极高的灵活性,均适用于特定应用领域和市场。
应用案例:德州仪器OMAP 4430/4460、Tegra 2、Tegra 3、新岸线NS115、瑞芯微RK3066、联发科MT6577、三星 Exynos 4210、4412、华为K3V2等。另外高通APQ8064、MSM8960、苹果A6、A6X等都可以看做是在A9架构基础上的改良版本。
● Cortex-A8处理器架构解析
ARM Cortex-A8处理器隶属于Cortex-A系列,基于ARMv7-A架构,是我们目前使用的单核手机中最为常见的产品。
ARM Cortex-A8处理器是首款基于ARMv7体系结构的产品,能够将速度从600MHz提高到1GHz以上。Cortex-A8处理器可以满足需要在300mW以下运行的移动设备的功率优化要求;以及需要2000 Dhrystone MIPS的消费类应用领域的性能优化要求。
Cortex-A8 高性能处理器目前已经非常成熟,从高端特色手机到上网本、DTV、打印机和汽车信息娱乐,Cortex-A8处理器都提供了可靠的高性能解决方案。
应用案例:MYS-S5PV210开发板、TI OMAP3系列、苹果A4处理器(iPhone 4)、三星S5PC110(三星I9000)、瑞芯微RK2918、联发科MT6575等。另外,高通的MSM8255、MSM7230等也可看做是A8的衍生版本。
● Cortex-A7处理器架构解析
ARM Cortex-A7处理器隶属于Cortex-A系列,基于ARMv7-A架构,它的特点是在保证性能的基础上提供了出色的低功耗表现。
Cortex-A7处理器的体系结构和功能集与Cortex-A15 处理器完全相同,不同这处在于,Cortex-A7 处理器的微体系结构侧重于提供最佳能效,因此这两种处理器可在big.LITTLE(大小核大小核心伴侣结构)配置中协同工作,从而提供高性能与超低功耗的终极组合。单个Cortex-A7处理器的能源效率是ARM Cortex-A8处理器的5倍,性能提升50%,而尺寸仅为后者的五分之一。
作为独立处理器,Cortex-A7可以使2013-2014年期间低于100美元价格点的入门级智能手机与2010 年500美元的高端智能手机相媲美。这些入门级智能手机在发展中世界将重新定义连接和Internet使用。
应用案例:全志Cortex-A7四核平板芯片,联发科刚刚发布的MT6589。
● Cortex-A5处理器架构解析
ARM Cortex-A5处理器隶属于Cortex-A系列,基于ARMv7-A架构,它是能效最高、成本最低的处理器。
Cortex-A5处理器可为现有ARM9和ARM11处理器设计提供很有价值的迁移途径,它可以获得比ARM1176JZ-S更好的性能,比ARM926EJ-S更好的功效和能效。另外,Cortex-A5处理器不仅在指令以及功能方面与更高性能的Cortex-A8、Cortex-A9和Cortex-A15处理器完全兼容,同时还保持与经典ARM处理器(包括ARM926EJ-S、ARM1176JZ-S和 ARM7TDMI)的向后应用程序兼容性。
应用案例:高通MSM7227A/7627A(新渴望V、摩托罗拉XT615、诺基亚610、中兴V889D、摩托罗拉DEFY XT等)、高通MSM8225/8625(小辣椒双核版、华为U8825D、天语 W806+、innos D9、酷派7266等)、米尔 MYD-SAMA5D3X系列开发板(MYD-SAMA5D31、MYD-SAMA5D33、MYD-SAMA5D34、MYD-SAMA5D35)。
● ARM11系列处理器架构解析
ARM11系列包括了ARM11MPCore处理器、ARM1176处理器、ARM1156处理器、ARM1136处理器,它们是基于ARMv6架构,分别针对不同应用领域。ARM1156处理器主要应用在高可靠性和实时嵌入式应用领域,与手机关联不大,此处略去介绍。
ARM11 MPCore使用多核处理器结构,可实现从1个内核到4个内核的多核可扩展性,从而使具有单个宏的简单系统设计可以集成高达单个内核的4倍的性能。Cortex-A5处理器是ARM11MPCore的相关后续产品。
ARM1176处理器主要应用在智能手机、数字电视和电子阅读器中,在这些领域得到广泛部署,它可提供媒体和浏览器功能、安全计算环境,在低成本设计的情况下性能高达1GHz。
ARM1136处理器包含带媒体扩展的ARMv6 指令集、Thumb代码压缩技术以及可选的浮点协处理器。ARM1136是一个成熟的内核,作为一种应用处理器广泛部署在手机和消费类应用场合中。在采用 90G工艺时性能可达到600MHz以上,在面积为2平方毫米且采用65纳米工艺时可达到1GHz。
应用案例:高通MSM7225(HTC G8)、MSM7227(HTC G6、三星S5830、索尼爱立信X8等)、Tegra APX 2500、博通BCM2727(诺基亚N8)、博通BCM2763(诺基亚PureView 808)、 Telechip 8902(平板电脑)。
● ARM9系列和ARM7系列处理器架构解析
ARM9系列处理器系列包括ARM926EJ-S、ARM946E-S和 ARM968E-S处理器。其中前两者主要针对嵌入式实时应用,我们这里就主要针对ARM926EJ-S进行介绍。
ARM926EJ-S基于ARMv5TE架构,作为入门级处理器,它支持各种操作系统,如Linux、Windows CE和Symbian。ARM926EJ-S 处理器已授权于全球100多家硅片供应商,并不断在众多产品和应用中得到成功部署,应用广泛。
应用案例:TI OMAP 1710。诺基亚N73、诺基亚E65、三星SGH-i600等手机采用的都是该处理器,以及包括米尔科技的 MYS-SAM9X5 系列工控开发板。
● ARM7系列处理器
ARM7系列处理器系列包括ARM7TDMI-S(ARMv4T架构)和ARM7EJ-S(ARMv5TEJ架构),最早在1994推出,相对上面产品来说已经显旧。虽然现在ARM7处理器系列仍用于某些简单的32位设备,但是更新的嵌入式设计正在越来越多地使用最新的ARM处理器,这些处理器在技术上比ARM 7系列有了显著改进。
作为目前较旧的一个系列,ARM7处理器已经不建议继续在新品中使用。它究竟有多老呢?上面的Apple eMate 300使用的就是一款25MHz的ARM7处理器,够古老了吧?
转载请注明:学时网 » 了解手机cpu架构啊ARM内核全解析