MSP430 系列器件包含 CPU 、程序存储器 (ROM 、 ROM 和 Flash ROM) 、数据存储器 (RAM) 、运行控制、外围模块和振荡器和倍频器等主要功能模块。CPU 由一个 16 位的 ALU 、 16 个寄存器和一套指令控制逻辑组成。在 16 个寄存器中,程序计数器 PC 、堆栈指针 SP 、状态寄存器 SR 和常数发生器 CGl 、 CG2 这 4 个寄存器有特殊用途。除了 R3 / CG2 和 R2 / CGl 外,所有寄存器都可作为通用寄存器来用于所有指令操作。常数发生器是为指令执行时提供常数的,而不是用于存储数据的。对 CGl 、 CG2 访问的寻址模式可以区分常数的数据。 在 CPU 内部有一组 16 位数据总线和 16 位的地址总线; CPU 运行正交设计、对模块高度透明的精简指令集; PC 、 SR 和 SP 配合精简指令组所实现的控制,使应用开发可实现复杂的寻址模式和软件算法。
存储器 MSP430 系列采用 “冯—纽曼结构”。支持外部扩展存储器是将来性能增强的目标。特殊功能寄存器及外围模块安排在 000H ~ 1FFH 区域; RAM 和 ROM 共享 0200H ~ FFFFH 区域,数据存储器( RAM )的起始地址是 0200H
( 1 )程序存储器 MSP430 系列程序存储器的类型有 ROM 、 OTP 和 Flash ROM 三种 . ROM 的容量在 1KB ~ 60KB 之间;对于 Flash 型的芯片,内部还集成有两段 128B (共 256B )的信息存储器以及 1KB 存放自举程序的自举存储器( BOOT ROM );对代码存储器的访问总是以字形式取得代码,而对数据可以用字或字节方式访问。每次访问需要 16 条数据总线( MDB )和访问当前存储器模块所需的地址总线( MAB );存储器模块由模块允许信号自动选中。最低的 64KB 空间的顶部 16 个字,即 0FFFFH ~ 0FFE0H ,保留存放复位和中断的向量;在程序存储器中还可以存放表格数据,以实现查表处理等应用;程序对程序存储器可以任意读取,但不能写入。
( 2 ) 数据存储器 数据存储器 (RAM) 经两条总线与 CPU 相连,即存储器地址总线 MAB 和存储器数据总线 MDB .数据存储器可以以字或字节宽度集成在片内,其容量在 128B ~ 10KB 之间;所有指令可以对字节或字进行操作。但是对堆栈和 PC 的操作是按字宽度进行的,寻址时必须对准偶地址。 |