[STC单片机] 【讨论】51 PK M0 , 红旗还能抗多久?

[复制链接]
7953|63
XIVN1987 发表于 2023-11-23 13:45 | 显示全部楼层

以后的趋势可能是8位和32位共存,,4位和16位逐渐没落。。
William1994 发表于 2023-11-23 14:15 | 显示全部楼层
laoxu 发表于 2023-11-22 14:36
这方面的详细资料能上传吗? 我对这很感兴趣, 网上资料都是讲怎样应用, 底层的资料少之又少. ...

1 打开 www.arm.com 的官网,浏览到
https://www.arm.com/products/silicon-ip-cpu/cortex-m/cortex-m0
2 ctrl+F 搜索 Cortex-M0 Technical Reference Manual
3 下载  Arm_Cortex-M0_Processor_Datasheet.pdf 第一页
4 下载  DDI0432C_cortex_m0_r0p0_trm.pdf 第36页

xdqfc 发表于 2023-11-23 15:16 | 显示全部楼层
跟价格有关系,另外就是现在的8位机有不少增加了32位运算外设,用起来也不错。
Dick Hou 发表于 2023-11-23 15:22 | 显示全部楼层
楼主是真牛B,arm 的流水线被你吃了?

人家M0是2级流水线,你来个4分频?还有,你计算指令效率,只计算第一条?因为第一条指令要几个周期,所以执行效率就低?难道你的程序永 远 不会顺序执行?一直跳转?
那51即使单周期的,也有2 、3、4周期的指令,你怎么不说51都是4周期?
 楼主| laoxu 发表于 2023-11-24 07:20 | 显示全部楼层
很早之前 查的, 可能是 ARM 其他型号, **有误
 楼主| laoxu 发表于 2023-11-24 07:21 | 显示全部楼层
William1994 发表于 2023-11-23 14:15
1 打开 www.arm.com 的官网,浏览到
https://www.arm.com/products/silicon-ip-cpu/cortex-m/cortex-m0
2 ...

谢谢
uboot 发表于 2023-11-25 12:23 来自手机 | 显示全部楼层
rgjinxuan 发表于 2023-11-22 16:16
有的场合会取代  用RAM  ROM 多的

话说,m0是32位机,但是数据手册都是以字节来说ram rom的空间的,16k ram空间是不是相当于51单片机的4k ram?rom是不是rom也类似?如果是这样的话实际空间和8位机相比也多不了多少啊。
XIVN1987 发表于 2023-11-25 20:31 | 显示全部楼层
uboot 发表于 2023-11-25 12:23
话说,m0是32位机,但是数据手册都是以字节来说ram rom的空间的,16k ram空间是不是相当于51单片机的4k r ...


M0的指令大多数都是16位的,,只有6条是32位的,,51的指令一多半是16位、24位的,,8位的不到一半。。而且有些操作M0一条指令就能完成,而51需要好多条(比如16位数据相加),,所以同样的C程序编译生成的M0和51指令大小差别并不大。。

RAM的话M0确实占用的多些,,因为M0的栈是以字为单位入栈、出栈的,,但RAM的消耗大头是各种数组,它们在M0和51中占用RAM大小没有差别,,所以相同的程序在M0和51中消耗的RAM差别不会超过50%
英雄本色2022 发表于 2023-11-28 16:56 | 显示全部楼层
XIVN1987 发表于 2023-11-25 20:31
M0的指令大多数都是16位的,,只有6条是32位的,,51的指令一多半是16位、24位的,,8位的不到一半。。 ...

M0消耗内存大主要是因为内存要对齐访问
zwsam 发表于 2023-12-2 20:30 | 显示全部楼层
zwsam 发表于 2023-12-26 11:10 | 显示全部楼层
24kdewhite 发表于 2024-1-4 09:19 | 显示全部楼层
有stc最新8位机的可以coremark跑个分看看,没stc的,就简单的把atmel8051速度*12倍 = 1.32 每mhz

m0最低的有2.2 每mhz,所以什么51比m0快是不存在的

本帖子中包含更多资源

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

×
24kdewhite 发表于 2024-1-4 09:20 | 显示全部楼层
https://www.eembc.org/coremark/scores.php
这里看各种单片机的coremark跑分
24kdewhite 发表于 2024-1-4 09:24 | 显示全部楼层

本帖子中包含更多资源

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

×
24kdewhite 发表于 2024-1-4 09:25 | 显示全部楼层

本帖子中包含更多资源

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

×
24kdewhite 发表于 2024-1-4 09:27 | 显示全部楼层

本帖子中包含更多资源

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

×
24kdewhite 发表于 2024-1-4 09:27 | 显示全部楼层
这里可以看,有兴趣的自己搜搜看www.eembc.org/coremark/scores.php
24kdewhite 发表于 2024-1-4 09:34 | 显示全部楼层
arm内核速度对比

本帖子中包含更多资源

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

×
24kdewhite 发表于 2024-1-4 09:37 | 显示全部楼层
m0的指令周期不是固定的,不过也很多单周期指令

本帖子中包含更多资源

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

×
24kdewhite 发表于 2024-1-4 09:41 | 显示全部楼层
最直观的还是看跑分,只看指令周期很受程序影响,程序来回跳流水线没有任何优势

评论

@XIVN1987 :这个和编码习惯和应用有关,至少我写的程序是保证不了跳转都只占一小部分  发表于 2024-1-19 13:16
程序里大多数都是顺序执行的指令,,跳转只是一小部分。。看下反汇编文件里的指令就知道了。。  发表于 2024-1-17 17:47
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部