|
本帖最后由 bluelucky 于 2017-6-24 23:47 编辑
之前一直以为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理解层次上的猜测,不太有信心,希望有高人指正
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|