关于MSP430的CPU集成的16个寄存器的问题

[复制链接]
 楼主| adam_zhang41 发表于 2015-5-22 22:31 | 显示全部楼层 |阅读模式
最近将MSP430和51单片机对比学习,发现MSP430的CPU与16个寄存器集成在一起,其中的4 个寄存器(R0 至R3)分别专门用作程序计数器、栈指针、状态寄存器和常数发生器。其余的寄存器为通用型寄存器。
有以下几个问题一直没有想明白:
1)MSP430的程序计数器是多少位的呢?我看到网上有人说是16位的,那这样的话寻址范围就只有64kB了,但是有些系列的数据手册却说它的寻址范围是128kB,这怎么解释呢?还有这16个寄存器其他的呢?
2)51单片机有累加器A,MSP430没有提到,那么它直接就通过这16个寄存器来进行所有的运算吗?
3)51单片机除了程序计数器之外,其他的寄存器都是发在了存储器中,没有集成到CPU中,是不是这样的话它的处理速度就小于MSP430了?
小弟也是初来乍到,还请各位多多指教。
dirtwillfly 发表于 2015-5-23 15:54 | 显示全部楼层
1、msp430的数据总线是16位,较老的cpu地址总线是16位,配置较高的msp430的cpux地址总线是20位的
dirtwillfly 发表于 2015-5-23 15:56 | 显示全部楼层
2、msp430是没有累加器的,它是通过寄存器来进行运算的
dirtwillfly 发表于 2015-5-23 16:02 | 显示全部楼层
3、51单片机的结构,使它每12个时钟周期才是一个机器周期
msp430的一个机器周期 = 一个时钟周期
玛尼玛尼哄 发表于 2015-5-23 20:25 | 显示全部楼层
MSP430的CPU与16个寄存器集成在一起,其中的4 个寄存器(R0 至R3)分别专门用作程序计数器、栈指针、状态寄存器和常数发生器。其余的寄存器为通用型寄存器。
玛尼玛尼哄 发表于 2015-5-23 20:25 | 显示全部楼层
楼主研究的好细致,我从来不问他们有多少,我只看够我用不够就行了
 楼主| adam_zhang41 发表于 2015-5-23 23:23 | 显示全部楼层
多谢版主,明白了,怎么结贴给分,我明明把分数都分完了,但总是弹出窗口说分配错误
dirtwillfly 发表于 2015-5-24 21:22 | 显示全部楼层
adam_zhang41 发表于 2015-5-23 23:23
多谢版主,明白了,怎么结贴给分,我明明把分数都分完了,但总是弹出窗口说分配错误 ...

关闭浏览器,然后重新打开。或者清清缓存
dirtwillfly 发表于 2015-5-24 21:23 | 显示全部楼层
 楼主| adam_zhang41 发表于 2015-5-24 22:03 | 显示全部楼层
dirtwillfly 发表于 2015-5-24 21:22
关闭浏览器,然后重新打开。或者清清缓存

还有就是有些给0分的页必须把0输进去,否则会出错
dirtwillfly 发表于 2015-5-25 11:05 | 显示全部楼层
adam_zhang41 发表于 2015-5-24 22:03
还有就是有些给0分的页必须把0输进去,否则会出错

有可能,但一般不用输0
598330983 发表于 2015-5-25 19:28 | 显示全部楼层
51单片机除了程序计数器之外,其他的寄存器都是发在了存储器中,没有集成到CPU中,是不是这样的话它的处理速度就小于MSP430了?
答:这是肯定的。
玛尼玛尼哄 发表于 2015-5-25 20:30 | 显示全部楼层
这几个问题,好多人都不会的,看来版主是很给力的。
643757107 发表于 2015-5-25 21:02 | 显示全部楼层
msp430的数据总线是16位,较老的cpu地址总线是16位,配置较高的msp430的cpux地址总线是20位的
总线宽可以访问更多的内存空间。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

38

帖子

0

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

12

主题

38

帖子

0

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