打印
[STC单片机]

【讨论】51 PK M0 , 红旗还能抗多久?

[复制链接]
楼主: laoxu
手机看帖
扫描二维码
随时随地手机跟帖
21

以后的趋势可能是8位和32位共存,,4位和16位逐渐没落。。

使用特权

评论回复
22
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页

使用特权

评论回复
23
xdqfc| | 2023-11-23 15:16 | 只看该作者
跟价格有关系,另外就是现在的8位机有不少增加了32位运算外设,用起来也不错。

使用特权

评论回复
24
Dick Hou| | 2023-11-23 15:22 | 只看该作者
楼主是真牛B,arm 的流水线被你吃了?

人家M0是2级流水线,你来个4分频?还有,你计算指令效率,只计算第一条?因为第一条指令要几个周期,所以执行效率就低?难道你的程序永 远 不会顺序执行?一直跳转?
那51即使单周期的,也有2 、3、4周期的指令,你怎么不说51都是4周期?

使用特权

评论回复
25
laoxu|  楼主 | 2023-11-24 07:20 | 只看该作者
很早之前 查的, 可能是 ARM 其他型号, **有误

使用特权

评论回复
26
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 ...

谢谢

使用特权

评论回复
27
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位机相比也多不了多少啊。

使用特权

评论回复
28
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%

使用特权

评论回复
29
英雄本色2022| | 2023-11-28 16:56 | 只看该作者
XIVN1987 发表于 2023-11-25 20:31
M0的指令大多数都是16位的,,只有6条是32位的,,51的指令一多半是16位、24位的,,8位的不到一半。。 ...

M0消耗内存大主要是因为内存要对齐访问

使用特权

评论回复
30
zwsam| | 2023-12-2 20:30 | 只看该作者

使用特权

评论回复
31
zwsam| | 2023-12-26 11:10 | 只看该作者

使用特权

评论回复
32
24kdewhite| | 2024-1-4 09:19 | 只看该作者
有stc最新8位机的可以coremark跑个分看看,没stc的,就简单的把atmel8051速度*12倍 = 1.32 每mhz

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

使用特权

评论回复
33
24kdewhite| | 2024-1-4 09:20 | 只看该作者
https://www.eembc.org/coremark/scores.php
这里看各种单片机的coremark跑分

使用特权

评论回复
34
24kdewhite| | 2024-1-4 09:24 | 只看该作者

使用特权

评论回复
35
24kdewhite| | 2024-1-4 09:25 | 只看该作者

使用特权

评论回复
36
24kdewhite| | 2024-1-4 09:27 | 只看该作者

使用特权

评论回复
37
24kdewhite| | 2024-1-4 09:27 | 只看该作者
这里可以看,有兴趣的自己搜搜看www.eembc.org/coremark/scores.php

使用特权

评论回复
38
24kdewhite| | 2024-1-4 09:34 | 只看该作者
arm内核速度对比

使用特权

评论回复
39
24kdewhite| | 2024-1-4 09:37 | 只看该作者
m0的指令周期不是固定的,不过也很多单周期指令

使用特权

评论回复
40
24kdewhite| | 2024-1-4 09:41 | 只看该作者
最直观的还是看跑分,只看指令周期很受程序影响,程序来回跳流水线没有任何优势

使用特权

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

本版积分规则