MSP430CPU介绍

总结

1. CPU介绍

MSP430的CPU具有诸如计算分支、表格处理、支持高级语言(C)等现代处理器特征,其特点包括:
1.RISC精简指令集
2.正交体系结构
3.包括程序计数器PC、堆栈寄存器SP、状态寄存器SR在内的全部寄存器可访问
3.单周期寄存器操作
4.更大的寄存器容量以减少内存访问
5.20位地址总线允许直接访问,在整个内存范围内进行分支,而不进行分页。
6.16位数据总线允许长字访问
7.提供常数发生器产生6个常用常数以减少代码大小
8.直接内存到内存传送不需要中间寄存器
9.字节、字、20位地址直接访问在这里插入图片描述

2. 中断

中断向量为16位地址,可指向低64KB内存,这也意味着中断服务程序必须位于低64KB的内存空间中。
发生中断时,首先将PC和SR压入堆栈,因为PC长度为20bit,所以PC的0:15位先被压入,再把PC的16:19和SR一并压入堆栈。在这里插入图片描述

3.CPU寄存器

MSP430含有16个寄存器(R0:R15),R0、R1、R2、R3有特殊用途,其余为通用寄存器。
3.1 程序计数器PC
20位PC(也就是R0)指向下一条将要执行的指令地址,每条指令为偶数个字节,意味着PC只能为偶数,每执行一条指令后PC自动递增。
3.2 堆栈指针SP
CPU使用20位SP(也就是R1)储存子程序返回地址,此外,所有的软件也能使用SP来储存数据。SP被用户初始化进入RAM,总是指向偶数地址。
3.3 状态寄存器SR
被作为源或者目的16位状态寄存器(也就是R2)只能够在寄存器模式下用字命令使用,其余的寻址模式组合用于支持常量生成器。不要给SR写16位数,否则结果将不可预料。在这里插入图片描述
在这里插入图片描述
** 3.4常数发生器CG1和CG2**
6个常用常数可被CG1(R2)和CG2(R3)产生而不需要额外的代码,6个常数如下:
在这里插入图片描述
其优点包括:不需要特殊指令、不需要额外代码、检索常量不需要代码内存访问。
如果需要,编译器会优先使用常数发生器,若R2、R3设置为常规模式,则其被当做普通寄存器使用。
** 3.5普通寄存器**
12个普通寄存器(R4:R15)可储存8bit、16bit、20bit数据,若向内写入字节数据,则8:19位会被清除,若写入系数据,则16:19位会被清除

4.寻址模式

MSP430包含7个源寻址模式和4个目的寻址模式,最大能够寻址1MB内存空间。
在这里插入图片描述
寻址模式具体内容较为复杂,详情参考

猜你喜欢

转载自blog.csdn.net/qq_43710693/article/details/112992536