[M0] 几张图了解CM0与CM3,CM4的内核差别

[复制链接]
5026|24
 楼主 | 2017-1-19 18:03 | 显示全部楼层 |阅读模式
这里做简化说明, 差别很多, 这几张图只是为了给大家一个简单明了的初步认识,
先看架构方面的差别

再看指令集差别:

最后来个性能的简单对比,CoreMark与CRC函数为例

实际上差别还有很多,但这三张图大致说明了主要差别.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主 | 2017-1-19 18:04 | 显示全部楼层
图片从英飞凌的培训文档中找的. XMC1是CortexM0,XMC4是CortexM4
| 2017-1-19 20:01 | 显示全部楼层
M3是1.25DMIPS/MHZ,M0是0.85DMIPS/MHZ.

但是不知道现在的增强型8051性能有多少?这个一直没查到
 楼主 | 2017-1-19 20:56 | 显示全部楼层
Jonathon_Li 发表于 2017-1-19 20:01
M3是1.25DMIPS/MHZ,M0是0.85DMIPS/MHZ.

但是不知道现在的增强型8051性能有多少?这个一直没查到 ...

增强版本的8051有好几家厂商,你说的是SiliconLab的CIP51吗, 关于这个官方有实验数据的
| 2017-1-20 09:21 | 显示全部楼层
zhanzr21 发表于 2017-1-19 20:56
增强版本的8051有好几家厂商,你说的是SiliconLab的CIP51吗, 关于这个官方有实验数据的 ...

反正增强型的8051了,应该差不多吧?现在许多Soc都是基于8051的,比如ti的ble模块什么的。国产的更多这种用法。
 楼主 | 2017-1-20 15:41 | 显示全部楼层
Jonathon_Li 发表于 2017-1-20 09:21
反正增强型的8051了,应该差不多吧?现在许多Soc都是基于8051的,比如ti的ble模块什么的。国产的更多这种 ...

差很多的, 最老的8051是intel的模型,只要是内核上有增强的都叫增强型
比如intel的8051一个指令周期=12个时钟周期
有的8051是一个指令=6个
有的是1x3
有的1x2
Silabs的CIP51是1x1, 而且乘法除法指令都优化了
还有流水线
所以说性能上其实差别很大的
| 2017-1-20 17:41 | 显示全部楼层
Cool ! simple is best !
| 2017-1-20 20:00 | 显示全部楼层
zhanzr21 发表于 2017-1-20 15:41
差很多的, 最老的8051是intel的模型,只要是内核上有增强的都叫增强型
比如intel的8051一个指令周期=12个 ...

我碰到的几个都是1x1的,51核直接keil设备库里面就有。乘除法这种就不能算了。
不知道1x1的,性能有多高?
手上到是有个大算法代码,1x1的跑一遍大约8ms,有空移植到m0上看下,不知道需要几ms。
 楼主 | 2017-1-20 22:08 | 显示全部楼层
Jonathon_Li 发表于 2017-1-20 20:00
我碰到的几个都是1x1的,51核直接keil设备库里面就有。乘除法这种就不能算了。
不知道1x1的,性能有多高 ...

乘除法算的
比如8位的div mul这种指令都是硬件实现的 老51(intel版本的) 跟 CIP51所需的指令周期不是一样的, 这个软件无能为力的
16bit 32bit的乘除法 倒是软件实现的 但是底层的mul div所需周期不同 软件实现的性能肯定不一样的
| 2017-1-22 23:12 | 显示全部楼层
让M0算浮点数除法能比的过51么?
最近写M0的汇编,感觉指令真的很少写起来很别扭。现在用到个浮点数乘法,除了变成整数有没有什么先进的算法, 算了那些太高级的数学算法实在是看不懂啊
 楼主 | 2017-1-23 00:40 | 显示全部楼层
yjmwxwx 发表于 2017-1-22 23:12
让M0算浮点数除法能比的过51么?
最近写M0的汇编,感觉指令真的很少写起来很别扭。现在用到个浮点数乘法, ...

8051有很多种,没法比,但是相同指令频率相比, 没有见过有超过M0的数学性能的8bit 8051 Core,虽然不排除这种可能性
因为两者都是软件实现Float算术的, 单精度的浮点是32bit的, M0一个word的访问就能access, 8位的寄存器要倒腾几次?
| 2017-2-4 19:58 | 显示全部楼层
8051即使再有流水线也不行。 所谓的1*1只是口号,你看看真正的所有指令都是单周期么?
8051做数**算更完全没有办法比mips了。运算速度上被秒不是一条街,大量32位数学计算的时候,同样晶振下差个几十倍吧。

但是8051和arm等比逻辑运算的代码密度,还是有优势的。单纯的简单逻辑,单字节指令就可以,ARM有单字节指令么? 51一条指令 可以读内存,然后简单计算,然后再写到内存里面,ARM可以么? 平均起来讲,51做控制的场合代码密度略高,按以前的项目经验大约能省10~20%的flash。

| 2017-2-4 20:00 | 显示全部楼层
zhanzr21 发表于 2017-1-23 00:40
8051有很多种,没法比,但是相同指令频率相比, 没有见过有超过M0的数学性能的8bit 8051 Core,虽然不排除这 ...

8次乘法,结果均为16位; 然后这些结果再都加起来,还有就是大量的循环跳转代码。
| 2017-2-7 12:41 | 显示全部楼层
| 2017-2-8 13:02 | 显示全部楼层
zhanzr21 发表于 2017-1-19 18:04
图片从英飞凌的培训文档中找的. XMC1是CortexM0,XMC4是CortexM4

很好
| 2017-2-15 10:38 | 显示全部楼层
很好的资料,多谢楼主分享。
| 2017-2-15 14:32 | 显示全部楼层
学习了。。。。
| 2017-2-15 14:32 | 显示全部楼层
{:lol:
| 2017-2-18 10:53 | 显示全部楼层

| 2017-2-24 09:21 | 显示全部楼层
不错
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式
我要创建版块 申请成为版主

论坛热帖

关闭

热门推荐上一条 /1 下一条

快速回复 返回顶部 返回列表