This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

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



最近将MSP430和51单片机对比学习,发现MSP430的CPU与16个寄存器集成在一起,其中的4 个寄存器(R0 至R3)分别专门用作程序计数器、栈指针、状态寄存器和常数发生器。其余的寄存器为通用型寄存器。
有以下几个问题一直没有想明白:
1)MSP430的程序计数器是多少位的呢?我看到网上有人说是16位的,那这样的话寻址范围就只有64kB了,但是有些系列的数据手册却说它的寻址范围是128kB,这怎么解释呢?还有这16个寄存器其他的呢?
2)51单片机有累加器A,MSP430没有提到,那么它直接就通过这16个寄存器来进行所有的运算吗?
3)51单片机除了程序计数器之外,其他的寄存器都是发在了存储器中,没有集成到CPU中,是不是这样的话它的处理速度就小于MSP430了?
小弟也是初来乍到,还请各位多多指教。

  • PC是20bit的,具体是怎么进行操作的你找任意一个430的users guide看CPUX章节。

    不过我们在学校里老师会把寄存器怎么工作的讲的很详细,实际上用起来的时候一般也是遇到问题才会去查。

  • 1、msp430的数据总线是16位,较老的cpu地址总线是16位,配置较高的msp430的cpux地址总线是20位的

    2、msp430是没有累加器的,它是通过寄存器来进行运算的

    3、51单片机的结构,使它每12个时钟周期才是一个机器周期
    msp430的一个机器周期 = 一个时钟周期