0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Cortex-A15架构解析:它为什么这么强

电子工程师 2018-04-06 08:36 次阅读

Cortex-A15架构解析:它为什么这么强,今年的新手机趋势无异是全面向四核靠拢,不过同样是四核,在实际的性能上其实是千差万别。例如针对入门级主流市场的四核手机普遍采用的都是Cortex-A7以及Cortex-A9级别的CPU内核,这类内核性能、成本以及发热都会

今年的新手机趋势无异是全面向四核靠拢,不过同样是四核,在实际的性能上其实是千差万别。例如针对入门级主流市场的四核手机普遍采用的都是Cortex-A7以及 Cortex-A9 级别的CPU内核,这类内核性能、成本以及发热都会较低,因此在入门市场上大行其道。

而在高端智能手机中则出现了一些新的变化,除了去年就已经崭露头角的高通Krait系列架构四核外,ARM正统的Cortex-A15也开始走上了四核手机的舞台,例如三星的Exynos 5 Octa、NVIDIA 的Tegra 4。

Cortex-A15是ARM Cortex-A家族中目前最强劲的CPU内核架构,发布时间为2010年,德州仪器是最早(2011年)投产基于该架构处理器(型号为OMAP 5)的授权厂商

和ARM的Cortex-A7、Cortex-A9等微架构相比,Cortex-A15有很大的不同。

A15和A9同样具备乱序执行,但是Cortex-A15具备(两倍)的指令发射端口和执行资源,指令解码能力也要高出50%,动态分支预测能力更强(采用了多层级分支表缓存),指令拾取带宽更强(128 bit vs 64 bit),这些都能让A15的流水线执行具备更高的效率。除此以外,A15采用了VFPv4浮点单元设计,能执行FMA指令以及硬件除法指令,相较而言A9的峰值向量浮点性能基本上只有A15的一半。

不过在现实中,A15 的对手应该是高通自行设计的 ARMv7A 兼容处理器架构 Krait。高通对 Krait 的架构细节透露并不是很多,大致上就是 3 个指令解码端口(和 A15 一样)、7个指令发射端口(A15 是8个)、4个发射端口(A15 是8个),具备4KB+4KB的单周期时延L0 Cache设计。

如果采用老掉牙的Dhrystone DMIPS/MHz作为性能衡量指标,Krait 是3.3,A9 是2.5,而A15则是3.5,从纸面上看Krait的确非常适合作为A15的对手。

不过Dhrystone的缺点是显而易见,它是完全可以塞进CPU的L1 cache里执行,这就意味着无法以此对L2 cache(A15是一体化设计,Krait是分离式设计,一体化设计可以减少内存交换导致的大量时延)、乱序执行的硬件效率/复杂性、内存子系统单元(A15的内存单元可以实现在一定条件下预执行一条加载指令,而Krait能否具备这样的能力尚不清楚)等诸多体系架构区别对实际性能的影响作出有价值评估。

当然,ARM采用的DMIPS指标实际上并非28年前的那个Dhrystone,而是来自EEBMC Coremark(其实 Coremark 就是前者的改善版本,主要是为了减少预优化、对测试有比较严格的规则),但是CoreMark同样可以塞进现今大多数处理器的L1 cache里,Dhrystone不能反映现今移动设备真实应用的问题在这里依然存在。

由于应用环境日趋复杂,要正确评估一个移动设备处理器的性能变得越来越复杂,因为现在的移动设备跑的网页浏览、三维游戏、音视频、人工智能等都不可能可以完全塞进L1 Cache里,因为这些应用牵涉到大量的数据处理。

这时候,人们在台式机性能评估上学到的经验和测试办法就可以在移动设备上采用了。对CPU测试来说,最合理的测试方式是采用多种计算规模的真实应用源代码以本机代码进行编译再进行测试,在这样的情况下移动设备的计算单元、内存单元都得以充分考验,测试结果最具参考价值。

能够获得业界(计算机工业、学术科研)官方认可的CPU测试当属SPEC.org的SPEC CPU,它就是采用源代码方式,让测试人员可以编译为本机代码来测试,许多处理器在研发伊始就采用SPEC CPU作为最重要的性能评估指标。

SPEC CPU的最新版本为CPU2006,但是CPU2006针对的是当前的台式机、工作站、服务器处理器应用环境,内存容量(CPU2006 支持多线程测试,因此要求的内存容量相当高,8线程处理器用16 GB内存也是有点勉强)和自身存储空间(未编译时就要数GB空间,编译后就要占用1xGB了)要求都较高,因此采用CPU2006对目前的移动设备来说是不太现实的。

SPEC CPU是每隔几年就更新一次,在CPU2006之前的旧版本为CPU2000,它的speed整数性能测试完全可以在1GB级别的移动设备上运行,在以前甚至有一些 CPU2000的测试被移植到GPU上做加速性能测试。

ARM阵营极少公布SPEC CPU测试结果,这当然也是有原因的,因为在过去的不少时间里,ARM针对的设备大都只有几百兆内存空间,塞进操作系统后,留给程序运行的空间就更少,此外由于省电先决的考量ARM处理器的性能其实真的不怎么样。

不过有意思的是,今年ARM阵营里的NVIDIA在发布Tegra 4的时候公布了CPU2000INT的测试结果:在1.9GHz 频率设定的NVIDIA参考平台里,Tegra 4的SPEC PU2000int_base 为1168。这个测试结果相当于2003年第四季度 SPEC.org 上公布的AMD K8 Sledgehammer 2GHz测试结果。

NVIDIA还进行了在小米手机2(采用高通 Snapdragon S4 Pro 即 APQ8064 1.7GHz)上的CPU2000测试,并且根据高通公布的S800相对S600在IPC(每周期指令)和频率上的变化幅度而估算出来的S800的CPU2000测试结果:

从图表来看,S600的CPUINT2000_base测试结果相当于Tegra 4的一半不到,这在很大程度上反映了Cortex-A15相对Krait系处理器的真实应用差别。

需要指出的是,双方的测试平台本身也是有一些影响的,例如小米手机2执行这个测试的时候,CPU频率是否存在降频现象,NVIDIA对此没有说明。

一般来说,像APQ8064在四核全速运行的时候,会在一段时间内由于过热而导致频率从最高的1.7GHz开始下降。当然,NVIDIA在这里公布的是speed模式下的CPU2000INT测试结果,这个模式下是单线程的测试,只有一个CPU内核会被使用。

比较遗憾的是高通对这个测试结果尚未提出异议(据说高通对于处理器性能的孰高孰低并不十分看重,他们戏称是卖基带送CPU),而CPU2000的配置对一般人来说是相当复杂的事情,所以这个测试暂时没有第三方使用同样的平台测试佐证。

威盛电子在发布Nano X2处理器的时候曾经公布过一份文件,里面也有采用CPU2000对Nano X2 1.2+GHz和Atom D525进行测试,其中gcc编译器出来的CPU2000 INT成绩分别为799和582,采用Intel编译器出来的成绩分别是955和725。

NVIDIA的Tegra 4的CPU属于ARMv7A指令集,因此编译器很可能是armcc或者gcc,NVIDIA新近收购的PGI是一家老牌编译器厂商,也许它能提供内部测试版给 NVIDIA,只是PGI过往从未发布过ARM系编译器。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Cortex-A15
    +关注

    关注

    1

    文章

    13

    浏览量

    13153
收藏 人收藏

    评论

    相关推荐

    iTOP-3562开发板/核心板采用RK3562,集成四核A53+Mali G52架构

    A53+Mali G52架构,主频2GHZ,内置1TOPSNPU算力,RK809动态调频。支持OpenGLES1.1/2.0/3.2、0penCL2.0、Vulkan 1.1内嵌高性能2D加速硬件
    发表于 09-05 11:30

    X86架构处理器有哪些优点和缺点

    X86架构处理器作为计算机领域的重要组成部分,具有多个显著的优点和一定的缺点。以下是对X86架构处理器优缺点的详细分析。
    的头像 发表于 08-22 11:25 542次阅读

    X86架构和ARM架构有什么区别

    X86架构和ARM架构是两种主流的CPU架构,它们在多个方面存在显著的差异。以下是对这两种架构的详细比较,涵盖了追求目标、应用领域、技术特点、性能功耗比、软件生态以及未来趋势等方面。
    的头像 发表于 08-22 11:21 4312次阅读

    探索RISC-V二进制翻译,openKylin成功在SG2042平台运行X86架构软件!

    众所周知,在新的指令集架构发展初期,往往采用兼容其他架构软件的方法来拓展自身生态体系,如苹果公司的Rosetta2和微软的Arm64EC,都是将X86架构软件运行在ARM架构的系统之上
    的头像 发表于 07-24 08:34 316次阅读
    探索RISC-V二进制翻译,openKylin成功在SG2042平台运行X86<b class='flag-5'>架构</b>软件!

    ElfBoard技术贴|如何将libwebsockets库编译为x86架构

    在之前的文章中,我们已经详细介绍了如何交叉编译libwebsockets并将其部署到ELF1开发板上。然而在调试阶段,发现将libwebsockets在Ubuntu环境下编译为x86架构可能更为方便
    的头像 发表于 07-10 09:38 1042次阅读
    ElfBoard技术贴|如何将libwebsockets库编译为x86<b class='flag-5'>架构</b>

    迅为RK3562核心板四核A53+MaliG52架构,应用于商业平板电脑,视频会议,智能家居,教育电子,医疗设备,边缘计算,工业应用

    迅为RK3562核心板四核A53+MaliG52架构,应用于商业平板电脑,视频会议,智能家居,教育电子,医疗设备,边缘计算,工业应用
    发表于 07-09 10:57

    I.MX6ULL-飞凌 ElfBoard ELF1板卡 - 如何在Ubuntu中编译OpenCV库(X86架构

    使用X86架构的OpenCV库,利用主机的强大计算性能和丰富的调试工具,可以加速开发进程并简化调试环节。下面就跟小伙伴详细讲述如何在Ubuntu环境下将 OpenCV 编译为 X86 架构。 开发环境
    发表于 06-07 09:32

    移动端芯片性能提升,Armv9架构新升级引发关注

    “数码博主”5月17日的最新爆料指出,联发科积极推进Armv9新一代IP BLACKHAWK“黑鹰”的架构设计,预计天玑9400芯片将采用这一架构,有望以“全大核”设计再度领跑移动SoC CPU性能榜单。
    的头像 发表于 05-17 16:51 824次阅读

    鸿湖万联成功举办基于x86架构的OpenHarmony应用生态挑战赛

    近日,由开放原子开源基金会、央视网、江苏省工业和信息化厅、无锡市人民政府、江苏软件产业人才发展基金会、苏州工业园区、无锡高新区等共同承办,鸿湖万联参与共建的“基于x86架构的OpenHarmony应用生态挑战赛”决赛路演在无锡圆满落幕。
    的头像 发表于 04-23 09:26 261次阅读
    鸿湖万联成功举办基于x86<b class='flag-5'>架构</b>的OpenHarmony应用生态挑战赛

    arm架构和x86架构区别 linux是x86还是arm

    ARM架构和x86架构是两种不同的计算机处理器架构,它们在体系结构、指令集、应用领域等方面有着明显的区别。Linux操作系统则具有广泛的适配性,可以运行在各种架构上,包括x86和ARM
    的头像 发表于 01-30 13:46 1.5w次阅读

    Arm Cortex-M52的主要特性和规格

    Arm Cortex-M52是一款采Arm Helium 技术的新型微控制器内核,旨在将AI功能引入更小、成本更低的物联网设备,而不是基于Arm Cortex-M55内核的SoC,Arm Cortex-M52
    的头像 发表于 01-02 11:12 1162次阅读
    Arm <b class='flag-5'>Cortex</b>-M52的主要特性和规格

    Debian宣布停止i386架构支持

    近日,在英国剑桥市举行的小规模DebConf活动中,Debian GNU/Linux的发布团队召开春季会议,探讨了未来发展方向,其中包括停止对i386架构的支持。
    的头像 发表于 12-19 10:16 678次阅读

    Arm微架构学习—开启Armv9时代

    在上一篇文章“从A76到A78——在变化中学习Arm微架构”中,我们了解了Arm处理器微架构的基本组成,介绍了Armv8架构最后几代经典处理
    的头像 发表于 11-27 16:46 979次阅读
    Arm微<b class='flag-5'>架构</b>学习—开启Armv9时代

    如何在X86架构的嵌入式系统上部署掌纹识别算法

    安全性而备受关注。在这一背景下,越来越多的应用领域开始采用掌纹识别技术,包括金融、安全、物流和智能门禁等。本文将介绍如何在X86架构的嵌入式系统上部署一个开源的掌纹识别算法。
    的头像 发表于 11-10 16:53 1346次阅读
    如何在X86<b class='flag-5'>架构</b>的嵌入式系统上部署掌纹识别算法

    NXP的Kinetis和LPC有什么区别?

    想问问NXP的Kinetis和LPC中同样是Cortex-M4架构的单片机,用起来有什么区别,特别是在寄存器方面
    发表于 11-10 08:15