意外发现,Cortex-M7的性能和诸多关键参数碾压A7和R7

news/2025/3/4 12:01:07/

origin: https://www.amobbs.com/thread-5676525-1-1.html
之前一直以为ARM, A-R-M, M排在最后也最便宜,肯定性能最低,但最近意外发现并非如此,M7居然完全碾压R7和A7!
如下表所示,我从ARM网站,eembc.org网站查到的结果,竟然发现M7的性能比A7和R7都强

从表中可以看出,M核性能、实时性、成本和能效最高, R核的总线带宽更高还支持多核, A核带MMU可以跑Linux, Android。另一个没有列出的是M核响应中断最快捷。
看来NXP, ST, Atmel积极发展M7产品还是对的。NXP最狠,做了600MHz M7的i.MX RT,还屌丝价 <3$/片 @ 10k量。
分析了一下,感觉有以下原因。               
1: Cortex-A系列CoreMark反而最低,估计主要是没有TCM, 而Dcache命中率很难高上去(相比之下,Icache的命中率却往往很高,对于大多核心算法甚至高达100%)。另一方面, A和R的跑分不如预期,可能也受其过长的流水线影响,分支预测失败时重装填流水线付出了较大代价。当然了,流水线级数多才能飙主频。
2: R7,A9的CoreMark不如M7, 但DMIPS比M7好,说明测试基准影响还是明显的。显然CoreMark对基于TCM的实时性能更有亲和性,对基于Cache的平均性能更有破坏性
3:带TCM的核(R#,M7)均有一个总线slave接口供DMA存取TCM. 当然了,DMA这头会有等待周期,并且只有在CPU不访问TCM时才理会DMA。
4: ECC和双核锁步都是与safety(也称为安全,但注意和security是不同的意思)有关的。ECC通过在RAM中加入额外的bit检查和纠正RAM中的数据错误;双核锁步(lockstep)则是两个完全相同的核给予完全相同的激励,期待完全相同的响应,以确信CPU在正常工作。这类土豪的用法只出现在使命关键(safety critical)类系统中,比如草上飞的,云里走的,浪里破的,救人命的… M7也支持这两项,这是要革R系列中低端产品的命啊

这都是我个人在对CPU理解层次上的猜测,不太有信心,希望有高人指正
-------------------------------------------------------
看了上面的表,有几个问题,感觉以前看了假的宣传:

1、IAR CoreMark比armcc低10%,然而,大家都说IAR优化更好
2、R系列:R5比A5占用的面积还大,R7比A7占用的面积还大;R系列明显CoreMark和主频比同代A系列主频高
3、同代R系列的流水线比A系列要长
通篇对比下来,除了没有MMU和SIMD以外,R系列分分钟干死同代A系列的节奏。然而,我基本上都没听说过R系列的消息……
-----------------------------------------------------------------------------
IAR在Cortex-M上确实是跑分神器。但是Cortex-A上的表现被追上,或许和IAR深耕MCU和ARM在A系列上编译器开发更专注有关。
R系列其实是低调的小霸主,在硬盘,modem, 和一些safety-critical的应用中还是很受欢迎的。但现在看起来确实被A和M两面夹击。
其实R系列和A的架构是兼容的,就是A系列上的分支出来的,M则自成一派。
从上面数据看,我倒是觉得要是M带了MMU和SIMD,才是要革所有中低端R和A的命
---------------------------------------------------------------------------
不是这么对比的,首先A9已经是好多年前的内核了,现在的都是A73了。

差别很大的,A系列针对的是复杂的应用环境,不是M7这样单片机的简单逻辑的计算,乱序和顺序的差别也非常大,
其他不说,A8 A9的性能差别就非常大,实际测试过AM335和IMX6S,同样的运行于800Mhz,针对同一个USB摄像头图像处理的软件性能表现相差一倍多,这其中内存带宽,处理器自带的NEON,浮点处理器,L1,L2缓存等都影响很大,不能从单个coremark来说处理器性能。
---------------------------------------------------------------------------
 


http://www.ppmy.cn/news/774486.html

相关文章

短链访问服务之openresty

一、openresty 安装&#xff08;docker&#xff09; 1.下载镜像 docker pull openresty/openresty 2.运行容器 docker run -it -d -p 8080:80 \ -v D:/openresty/conf/:/etc/nginx/conf.d/ \ --name openresty openresty/openrest 二、短链服务lua脚本编写如下 D:/openresty/…

vuex中的四个map方法的使用

vuex中的四个map方法的使用 vuex里面有四个map方法&#xff0c;他们分别可以针对不同的元素进行不同的代码生成 这四个map方法都是异曲同工&#xff0c;明白了一个基本上都明白了 1 编写案例 现在想要展示一段文本&#xff0c;其中里面两个参数要存在store的state里面&…

手机摄影-参数(曝光补偿)

引言 什么是曝光补偿&#xff1f;这是摄影领域的一个专业术语 最简单的理解就是&#xff0c;在相机自动曝光控制之外&#xff0c;我们自己来对曝光值进行上下微调&#xff0c;也就是把画面稍稍调亮或者稍稍调暗。 曝光补偿&#xff08;EV&#xff09; 手机的曝光补偿功能在…

关于Android Camera的曝光补偿(Exposure Compensation)

什么事曝光补偿&#xff1f;曝光补偿是指&#xff0c;通过增加或者减少光线的摄入量&#xff0c;来提高或降低照片的亮度。 曝光补偿存在一定范围&#xff0c;比如-2至2&#xff0c;或者-3至3&#xff0c;单位为EV&#xff0c;可以理解为exposure value。 每增加或者降低1EV&…

摄影_曝光补偿

测光错误 自动曝光的时候才有 手动曝光不会有 相机在测光的时候(相机默认将照片处理为18%灰) 有些情况不是这样的(出现错误)曝光补偿(EV) 改变曝光补偿会改变快门的速度 但是影响改其他的参数(光圈) 特别是自动曝光模式下的话可以使用 口诀:亮的场景加 暗的场景减过曝和欠曝 …

相机帧率和曝光时间的关系

文章转载自&#xff1a;http://blog.163.com/pluto_918/blog/static/203853902012111255634175/ 工业相机参数之帧率相关知识详解&#xff1a; 工业相机是机器视觉系统的重要组成部分之一&#xff0c;在机器视觉系统中有着非常重要的作用。工业相机已经被广泛应用于工业生产线…

摄影中的曝光补偿、白加黑减

中灰指的是黑白各半的50%灰度。那为什么又叫“18灰”呢&#xff1f;原来中灰的定义来自光线反射率。光线的反射率范围在0%~100%。人眼能识别的最暗的反射率是煤碳&#xff0c;反射率约在3.6%左右&#xff1b;人眼能识别的最亮的反射率是白卡纸&#xff0c;反射率约在90%左右。因…

什么模式下不可使用曝光补偿_曝光补偿在手动模式下不起作用、在自动模式下无法设定,为什么?...

相机的曝光补偿是为半自动的光圈优先、快门优先和程序自动而设计的。在这些半自动模式下&#xff0c;曝光三要素中的快门速度、光圈、ISO至少有一个可以由相机自由确定。例如你选择光圈优先模式&#xff0c;相机根据测光判断&#xff0c;需要什么样的快门速度配合来达到正确曝光…