《MSP体系结构》PPT课件

上传人:夏** 文档编号:571913650 上传时间:2024-08-12 格式:PPT 页数:57 大小:1.42MB
返回 下载 相关 举报
《MSP体系结构》PPT课件_第1页
第1页 / 共57页
《MSP体系结构》PPT课件_第2页
第2页 / 共57页
《MSP体系结构》PPT课件_第3页
第3页 / 共57页
《MSP体系结构》PPT课件_第4页
第4页 / 共57页
《MSP体系结构》PPT课件_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《《MSP体系结构》PPT课件》由会员分享,可在线阅读,更多相关《《MSP体系结构》PPT课件(57页珍藏版)》请在金锄头文库上搜索。

1、第二部分MSP430体系结构2 Copyright 2009 Texas Instruments All Rights Reserved以下是MSP430体系结构的综合描述,包括:主要特点;设备体系结构;地址空间;中断向量表;中央处理器(MSP430 CPU and MSP430X CPU);七种寻址模式和指令集组成:27种基本操作码;24种仿真指令。3 Copyright 2009 Texas Instruments All Rights Reserved结构2.1 控制器简介 2.2 地址空间2.3 中央处理器(MSP430 CPU)2.4 中央处理器(MSP430X CPU)寻址模式指令

2、集2.1微控制器简介5 Copyright 2009 Texas Instruments All Rights Reserved微控制器性能指标成本:通常微控制器是大容量、低成本的设备;时钟频率:和其他设备(如微处理器和DSP)比起来,微控制器采用更低的时钟频率。目前,微控制器通常可以跑到100MHz/100MIPS(每秒百万条指令数);功耗:比DSP和MPU低几个数量级;位数:4位(老式设备)到32位设备;内存:有限的内存,通常小于1M字节;输入/输出(I/O):8到150个输出引脚。6 Copyright 2009 Texas Instruments All Rights Reserved

3、MSP430微控制器的主要特点(1/3)低功耗RAM数据保存只需0.1 A实时时钟模式下操作只需0.8 A在活动模式下操作只需250 A/MIPS低操作电压(从1.8V到3.6V)1s的时钟启动时间50nA的端口漏电流零功耗的掉电复位(BOR)7 Copyright 2009 Texas Instruments All Rights ReservedMSP430主要特点(2/3)片上模拟设备:10/12/16位模数转换器(ADC);12位双通道数模转换器(DAC);比较器门控定时器(gated timers);运算放大器 (Op Amps);电源电压监控器 (SVS).16位RISCCPU:紧

4、凑的内核设计,降低功耗和成本;16位数据总线;27种内核指令;7种寻址模式;丰富的中断向量资源。8 Copyright 2009 Texas Instruments All Rights ReservedMSP430主要特点(3/3)灵活性:高达256kByte的Flash;高达100个引脚;USART, I2C, Timers;LCD驱动;嵌入式仿真;多种外设模块微控制器性能:位、字节和字的指令处理;精简指令集;编译效率;广泛的外设;灵活的时钟系统。9 Copyright 2009 Texas Instruments All Rights ReservedMSP430模块框图2.2地址空间1

5、1 Copyright 2009 Texas Instruments All Rights Reserved内存映射映射到单个、连续的地址空间:所有存储器,包括RAM,Flash/ROM, 信息内存,特殊功能寄存器(SFRs), 和外设寄存器。12 Copyright 2009 Texas Instruments All Rights Reserved中断向量表映射到存储器空间的最后一段区域(Flash/ROM中最后16个字): 0FFE0h - 0FFFEh (4xx系列);中断向量表优先级随着字地址的增加而递增. 2.3中央控制器(MSP430CPU)14 Copyright 2009 T

6、exas Instruments All Rights ReservedMSP430CPU特点(1/3)RISC(精简指令集)架构:只包括最基本的指令(短集):27种物理指令-内核指令24种仿真指令这样可以使指令解码更简单快速7种寻址方式寄存器寻址变址寻址符号寻址绝对寻址间接寻址 和间接增量寻址立即数寻址MSP430CPU特点(2/3)使用通用内存地址总线 (MAB)和内存数据总线(MDB)进行互连 冯诺依曼架构:v数据和指令集共用一个存储结构v存储器处理单元隐式分离v把指令当成数据(可编程的)一样处理采用三级指令流水线,包括:v指令译码v16位ALUv4个专用寄存器v12个通用寄存器16 C

7、opyright 2009 Texas Instruments All Rights ReservedMSP430CPU特点(3/3)地址总线有16位,所以可以寻址范围为64kB(包括RAM+Flash+寄存器);算术逻辑单元(ALU):加,减,逻辑操作 (与,或,异或);操作数会影响溢出标志,零标志,负标志等SR(状态寄存器)的标志位.17 Copyright 2009 Texas Instruments All Rights ReservedMSP430CPU寄存器(1/5)包括16个16位寄存器:4个专用寄存器(R0, R1, R2 and R3);12个通用寄存器(R4R15).R0:

8、程序计数器(PC):存放着下一条将要从程序存储器中取出的指令的地址。R1:堆栈指针(SP):第一,用户可以使用堆栈存储数据,以便未来使用。(指令: 用PUSH指令来存数据,POP指令来取数据);第二,用户和编译器均可以使用堆栈为子函数传递参数 (PUSH、POP用于调用函数,被调用的函数使用SP来计算偏移); 18 Copyright 2009 Texas Instruments All Rights ReservedR1: 堆栈指针(SP) (续):第三,系统进入子函数之前,把PC的值存储到堆栈中,从子函数返回时,再取出堆栈中的值,重新赋值给PC;第四,系统堆栈在系统进入中断服务程序时,首先

9、保护程序计数器(PC),然后将中断矢量地址送入程序计数器,再执行中断服务程序。中断服务程序执行完毕,遇到返回指令时,将堆栈的内容送到程序计数器中,程序又回到原来的地方,继续执行。在函数调用之前保存的寄存器变量、局部变量和参数都不会变。MSP430CPU寄存器(2/5)19 Copyright 2009 Texas Instruments All Rights ReservedR2:状态寄存器(SR):存储状态位和控制位;CPU自动改变系统标志位;保留位用来支持常量发生器.1514131211109876543210Reserved for CG1VSCG1SCG0OSCOFFCPUOFFGIE

10、NZCBitDescription8V溢出位. V = 1 运算结果超出有符号范围7SCG1系统时钟发生器0. SCG1 = 1 当DCO未被用作MCLK或SMCLK时,关闭DCO发生器 6SCG0系统时钟发生器1. SCG0 = 1 关闭FLL和循环控制5OSCOFF关闭振荡器. OSCOFF = 1 当LFXT1未被用作 MCLK or SMCLK时,关闭LFXT1 4CPUOFF关闭CPU. CPUOFF = 1 禁止CPU核3GIE使能通用中断. GIE = 1 使能中断屏蔽2N负标志. N = 1 运算结果为负1Z零标志. Z = 1 运算结果为零0C进位标志. C = 1 运算结果

11、产生进位MSP430CPU寄存器(3/5)20 Copyright 2009 Texas Instruments All Rights Reserved20 Copyright 2008 Texas Instruments All Rights ReservedR2/R3: 常量发生器 (CG1/CG2):根据源寄存器寻址模式(AS)的值,常量发生寄存器可以不需要通过代码字或代码内存访问即可生成六个常用的常量。利用这个功能就可以实现仿真指令,例如:可以使用常量发生器而不是使用一个核心指令来实现数值增一。 RegisterAsConstantRemarksR200-Register modeR2

12、01(0)Absolute modeR21000004h+4, bit processingR21100008h+8, bit processingR30000000h0, word processingR30100001h+1R31000002h+2, bit processingR3110FFFFh-1, word processingMSP430CPU寄存器(4/5)21 Copyright 2009 Texas Instruments All Rights Reserved21 Copyright 2008 Texas Instruments All Rights ReservedR4

13、 - R15: 通用寄存器:通用寄存器可以用来保存数据值、地址指针或者索引值,可以通过字节或字指令访问它们。MSP430CPU寄存器(5/5)2.4中央控制器(MSP430XCPU)23 Copyright 2009 Texas Instruments All Rights ReservedMSP430XCPU架构特征MSP430XCPU架构的主要特征:MSP430X CPU把MSP430系列的寻址范围从64kB扩展了到1MB;为了实现上述功能,寻址模式做了一些改变,并添加了两种新类型的指令;其中一种类型的指令可以访问整个地址空间,另一种指令用于地址计算;MSP430X CPU地址总线有20位

14、,但数据总线仍只有16位,内存访问支持8位、16位和20位;不过,MSP430X CPU仍然与MSP430 CPU兼容,且拥有相同数量的寄存器。24 Copyright 2009 Texas Instruments All Rights ReservedMSP430XCPU的组织结构:虽然MSP430X CPU结构和MSP430相似,但它们仍然有一些区别,见下图;除了状态寄存器SR,所有MSP430X寄存器均是20位;CPU可以处理20位或16位数据.MSP430XCPU组织结构25 Copyright 2009 Texas Instruments All Rights ReservedMSP

15、430CPU和MSP430XCPU比较26 Copyright 2009 Texas Instruments All Rights ReservedMSP430X CPU有16个寄存器,其中有一些有特殊用途:R0 (PC) 程序计数器:和MSP430CPU有相同的功能,是20位。R1 (SP) 堆栈指针:和MSP430CPU有相同的功能,是20位。R2 (SR)状态寄存器:和MSP430CPU有相同的功能,是16位。MSP430XCPU寄存器(1/7)27 Copyright 2009 Texas Instruments All Rights ReservedR2 (SR) 状态寄存器:SR位

16、的描述:MSP430XCPU寄存器(2/7)28 Copyright 2009 Texas Instruments All Rights ReservedR2 (SR/CG1)和R3 (CG2)常量发生器:寄存器R2和R3可以用来生成6个不同的常用的常量;常量是固定的,且由指令的As位来选择。As位用来选择寻址模式。生成的常量值如下:MSP430XCPU寄存器(3/7)29 Copyright 2009 Texas Instruments All Rights ReservedR2 (SR/CG1)和R3 (CG2)常量发生器:如果操作数是6个常量之一,则寄存器是自动选择的;所以,在常量模式下

17、,寄存器R2和R3不能作为源寄存器.R4-R15 通用寄存器:和MSP430 CPU的功能一样,这些寄存器都是20位;这些寄存器可以处理8位,16位或者20位数据;向这些寄存器写一个字节将清除819位。向这些寄存器写一个字将清除1619位。MSP430XCPU寄存器(4/7)30 Copyright 2009 Texas Instruments All Rights ReservedR4-R15 通用寄存器:用指令suffix .B处理字节数据(8位):MSP430XCPU寄存器(5/7)31 Copyright 2009 Texas Instruments All Rights Reserv

18、edR4-R15 通用寄存器:用指令suffix .W处理字数据(16位):MSP430XCPU寄存器(6/7)32 Copyright 2009 Texas Instruments All Rights ReservedR4-R15 通用寄存器:用指令suffix .A操作20位地址:MSP430XCPU寄存器(7/7)2.5寻址方式34 Copyright 2009 Texas Instruments All Rights Reserved寻址方式源操作数的7种寻址方式:地址操作数的4种寻址方式:寄存器寻址;变址寻址;符号寻址;绝对寻址.对于目的操作数,可以使用额外的两种地址模式。35 C

19、opyright 2009 Texas Instruments All Rights Reserved寄存器寻址(1/2)描述:寄存器内容是操作数源模式位:As = 00(操作码定义源寄存器)语法:Rn长度:一个或两个字注释:源或目的均有效例:移动(复制)源寄存器(R4 寄存器)的内容到 目的寄存器(R5 寄存器)。寄存器R4不受影响。解答: 操作前:R4=A002hR5=F50Ah PC = PCpos 操作: MOV R4, R5 操作后:R4=A002hR5=A002h PC = PCpos + 236 Copyright 2009 Texas Instruments All Right

20、s Reserved寄存器寻址(2/2) 下表描述了根据第二个操作数寻址模式完成一条指令需要的时钟周期数37 Copyright 2009 Texas Instruments All Rights Reserved变址寻址描述:(Rn + X)指出操作数地址。X存储在紧邻的字中源模式位:As = 01 (操作码后紧邻的字定义了存储单元地址)目的模式位:Ad=1 (操作码后紧邻的字定义了存储单元地址)语法:X(Rn)长度:两个或三个字注释:源或目的均有效例:移动(复制)源地址 (F000h + R5)内容到目的寄存器(R4)。解答: 操作前:R4=A002hR5=050Ah Loc:0xF50A

21、=0123h 操作: MOV F000h(R5), R4 操作后:R4=0123h R5=050Ah Loc:0xF50A=0123h38 Copyright 2009 Texas Instruments All Rights Reserved符号寻址描述:指令后的字中包含立即数常量 N。使用自增间接寻址表示是PC+源模式位:As = 11 语法:#N长度:两个或三个字。如果常量CG1或CG2可用就少一个字注释:仅适用于源操作数例:移动立即数常量E2h到目的地址(寄存器 R5)。解答:操作前:R4=A002hR5=050Ah操作:MOV #E2h, R5操作后:R4= A002hR5=00E2

22、h39 Copyright 2009 Texas Instruments All Rights Reserved绝对寻址描述:指令后字中包含绝对地址。X存储在下一个字中。 使用变址寻址表示是X(SR)源模式位:As = 01(操作码后紧邻的字定义了存储单元地址)目的模式位:Ad=1 (操作码后紧邻的字定义了存储单元地址)语法:&ADDR长度:两个或三个字注释:源或目的均有效例:移动源地址XPT内容到目的地址YPT。解答: 操作前:Location XPT=A002h Location YPT=050Ah 操作: MOV &XPT, &YPT 操作后:Location XPT= A002h Lo

23、cation YPT=A002h40 Copyright 2009 Texas Instruments All Rights Reserved寄存器间接寻址描述:Rn用来指出操作数源模式位:As = 10语法:Rn长度:一个或两个字注释:仅适用于源操作数。目的操作数替代是0(Rn)例:移动源地址(R4的内容)内容到目的地址(R5)。寄存器R4不能改变。解答: 操作前:R4=A002hR5=050Ah Loc:0xA002=0123h 操作: MOV (R4), R5 操作后:R4= A002hR5=0123hLoc:0xA002=0123h41 Copyright 2009 Texas Ins

24、truments All Rights Reserved间接自动增量寻址描述:Rn用于指出操作数。字节指令中Rn自增1而字指令中Rn自增2.源模式位:As = 11语法:Rn+长度:一个或两个字注释:仅适用于源操作数。目的操作数替代是0(Rn) 加上第二条指令INCD Rn例:移动源地址内容到目的地址,然后自增寄存器R4的值来指向下一个字。解答: 操作前:R4=A002hR5=050Ah Loc:0xA002=0123h 操作: MOV R4+, R5 操作后:R4= A004hR5=0123hLoc:0xA002=0123h42 Copyright 2009 Texas Instrument

25、s All Rights Reserved立即数寻址描述:指令后的字中包含立即数常量 N。使用自增间接寻址表示是PC+源模式位:As = 11语法:#N长度:两个或三个字。如果常量CG1或CG2可用就少一个字注释:仅适用于源操作数。例:移动立即数常量E2h到目的地址(寄存器 R5)。解答: 操作前:R4=A002hR5=050Ah 操作: MOV #E2h, R5 操作后:R4= A002hR5=00E2h2.6指令集44 Copyright 2009 Texas Instruments All Rights Reserved指令集27条内核指令24条仿真指令指令集正交CPU将内核指令解码成唯

26、一的操作码,汇编器和编译器用来生成仿真指令的助记符有三种内核指令格式:双操作数单操作数程序流控制-跳转45 Copyright 2009 Texas Instruments All Rights Reserved双操作数指令集(1/3)双操作数指令格式如下:46 Copyright 2009 Texas Instruments All Rights Reserved下列出了不是仿真指令的双操作数指令双操作数指令集(2/3)47 Copyright 2009 Texas Instruments All Rights Reserved下表列出了状态位置位和清除的条件双操作数指令集(3/3)48 C

27、opyright 2009 Texas Instruments All Rights Reserved单操作数指令集(1/3)双操作数指令格式如下:49 Copyright 2009 Texas Instruments All Rights Reserved单操作数指令集(2/3)不是仿真指令的单操作数指令50 Copyright 2009 Texas Instruments All Rights Reserved单操作数指令集(3/3)状态位条件取决于单操作数指令运行结果51 Copyright 2009 Texas Instruments All Rights Reserved程序流控制跳

28、转(1/3)跳转指令格式如下:52 Copyright 2009 Texas Instruments All Rights Reserved程序流控制跳转(2/3)跳转指令格式如下:53 Copyright 2009 Texas Instruments All Rights Reserved程序流控制跳转(3/3)列出了不是仿真指令的程序流控制指令(跳转)54 Copyright 2009 Texas Instruments All Rights Reserved仿真指令(1/4)列出了不是仿真指令的程序流控制指令(跳转)55 Copyright 2009 Texas Instruments All Rights Reserved仿真指令(2/4)(续)56 Copyright 2009 Texas Instruments All Rights Reserved仿真指令(3/4)(续)57 Copyright 2009 Texas Instruments All Rights Reserved仿真指令(4/4)(续)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号