第3-2讲-第2章TMS320C55x的硬件结构-状态寄存器249-12_第1页
第3-2讲-第2章TMS320C55x的硬件结构-状态寄存器249-12_第2页
第3-2讲-第2章TMS320C55x的硬件结构-状态寄存器249-12_第3页
第3-2讲-第2章TMS320C55x的硬件结构-状态寄存器249-12_第4页
第3-2讲-第2章TMS320C55x的硬件结构-状态寄存器249-12_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章TMS320C55x的硬件结构

(第3_2讲)状态寄存器2.4.9ST0_552.4.10ST1_552.4.11ST2_552.4.12ST3_55StatusRegisters1状态寄存器概述4个16位的状态寄存器(ST0_55~ST3_55)控制位影响C55xDSP的工作状态位反映C55xDSP当前工作状态或运行结果ST0_55、ST1_55和ST3_55有两个访问地址非保护地址,所有位都可以访问保护地址,图2-27中的加黑部分不能修改保护地址是为了支持把C54x的代码写入ST0、ST1和PMST22.4.9ST0_5532.4.9ST0_551.累加器溢出标志ACOV0,ACOV1,ACOV2,ACOV32.进位位CARRY3.DP位域4.测试/控制位TC1,TC24被置1:

AC0、AC1、AC2或AC3有溢出时相应的ACOV0、ACOV1、ACOV2或ACOV3被清0:(1)复位;(2)执行条件跳转、调用、返回,或执行一条测试ACOVx状态的指令;(3)被指令清01.累加器溢出标志overflowflag当M40=0时,溢出检测在第31位,与C54x兼容。当M40=1时,溢出检测在第39位。52.进位位(1)进位/借位的检测取决于M40位M40=0时,由第31位检测进位/借位M40=1时,由第39位检测进位/借位carrybit62.进位位(2)D单元ALU运算改变CARRY做加法时产生进位,置位;不产生进位,清0例外:有进位时CARRY置位,无进位时CARRY不变

ADDSmem<<#16,[ACx,]ACy做减法时产生借位,清0;不产生借位,置位。例外:有借位时CARRY清0,无借位时CARRY不变

SUB Smem<<#16,[ACx,]ACy7修改CARRY位的其他方法逻辑移位指令带符号移位指令和循环移位指令目的寄存器是累加器时,用以下指令修改CARRY位,以指示计算结果

MIN [src,]dst MAX [src,]dst ABS [src,]dst NEG [src,]dst两条指令对CARRY清零和置位

BCLR CARRY ;清零

BSET CARRY ;置位83.DP位域提供与C54x兼容的数据页指针C55x有一个独立的数据页指针DPDP(15-7)的任何变化都会反映在ST0_55的DP位域上基于DP的直接寻址方式,C55x使用完整的数据页指针DP,因此不需要使用ST0_55的DP位域装入ST0_55,但不改DP位域的值,可用OR或AND指令94.测试/控制位保存一些特殊令的测试结果所有能影响一个测试/控制位的指令,都可以选择影响TC1还是TC2TCx或关于TCx的布尔表达式,都可以在任何条件指令里用作触发器TCx的置位和清零

BCLRTC1; TC1清零 BSET TC2; TC2置位test/controlbit102.4.10ST1_55112.4.10ST1_55ASM位域BRAF位C16位C54CM位CPL位FRCT位HM位INTM位M40位SATD位SXMD位XF位121.ASM位域C54CM=0,C55x忽略ASMC55x移位指令在暂存寄存(T0~T3)里指定累加器的移位值,或者直接在指令里用常数指定移位值。C54CM=1,C55x以兼容方式运行C54x代码ASM用于给出某些C54x移位指令的移位值,移位范围-16~15。132.BRAF位C54CM=0C55x不使用BRAFC54CM=1C55x以兼容方式运行C54x代码,BRAF用于指定或控制一个块循环操作的状态143.C16位C54CM=0C55x忽略C16,指令本身决定是用单32位操作还是双16位操作C54CM=1C55x以兼容方式运行C54x代码,C16会影响某些指令的执行154.C54CM位C54CM=0C55xCPU不支持C54x代码C54CM=1C55x的CPU支持C54x编写的代码16可用以下指令或伪指令来改变模式:BCLRC54CM ;清零C54CM(运行时).C54CM_off ;告知汇编器C54CM=0BSETC54CM ;置位C54CM(运行时).C54CM_on ;告知汇编器C54CM=1175.CPL位决定对数据空间访问的直接寻址模式CPL=0,DP直接寻址模式与数据页寄存器DP相关。CPL=1,SP直接寻址模式与数据堆栈指针SP相关。DSP称为运行在编译模式。18注意对I/O空间的直接寻址,总是与外设数据页寄存器(PDP)相关。可用以下指令和伪指令来改变寻址模式:BCLRCPL ;清零CPL(运行时).CPL_off ;告知汇编器CPL=0BSETCPL ;置位CPL(运行时).CPL_on ;告知汇编器CPL=1196.FRCT位如果FRCT=0,C55x打开小数模式。乘法运算的结果左移一位进行小数点调整。如果FRCT=1,C55x关闭小数模式。乘法运算的结果不移位。207.HM位根据HM的值,DSP可以停止内部程序执行。HM=0C55x继续执行内部程序存储器的指令。HM=1C55x停止执行内部程序存储器的指令。218.INTM位INTM=0,C55x使能所有可屏蔽中断INTM=1,C55x禁止所有可屏蔽中断22INTM位使用要点INTM位能够全局使能或禁止可屏蔽中断,但是它对不可屏蔽中断无效。要使用状态位清零和置位指令来修改INTM位。其它能影响INTM位的,只有软件中断指令和软件置位指令。CPU响应中断请求时,自动保存INTM位。特别地,CPU把ST1_55保存到数据堆栈时,INTM位也被保存起来。23执行中断服务子程序(ISR)之前,CPU自动置位INTM位,禁止所有的可屏蔽中断。ISR可以通过清零INTM位,来重新开放可屏蔽中断。中断返回指令,从数据堆栈恢复INTM位的值。在调试器实时仿真模式下,CPU暂停时,忽略INTM位,CPU只处理临界时间中断。249.M40位D单元的计算模式选择位M40=0,D单元的计算模式选择32位模式M40=1,D单元的计算模式选择40位的带符号移位模式25M40=0,D单元的计算模式选择32位模式第31位是符号位计算过程中的进位取决于第31位由第31位判断是否溢出饱和过程,饱和值是007FFFFFFFh(正溢出)或FF80000000h(负溢出)累加器和0的比较,用第31~0位来进行可对整个32位进行移位和循环操作累加器左移或循环移位时,从第31位移出累加器右移或循环移位时,移入的位插入到第31位上对于累加器带符号位的移位如果SXMD=0,则累加器的保护位值要设为0如果SXMD=1,累加器的保护位要设为第31位的值对于累加器的任何循环移位或逻辑移位,都要清零目的累加器的保护位26M40=1,D单元的计算模式选择40位的带符号移位模式第39位是符号位计算过程中的进位取决于第39位由第39位判断是否溢出饱和过程,饱和值是7FFFFFFFFFh(正溢出)或8000000000h(负溢出)累加器和0的比较,用第39~0位来进行可对整个40位进行移位和循环操作累加器左移或循环移位时,从第39位移出累加器右移或循环移位时,移入的位插入到第39位上2710.SATD位SATD=0,关闭D单元的饱和模式,不执行饱和模式SATD=1,打开D单元的饱和模式如果D单元内的运算产生溢出,则结果值饱和,饱和值取决于M40位Saturation:饱和2811.SXMD位SXMD=0,关闭D单元的符号扩展模式SXMD=1,打开符号扩展模式2912.XF位XF是通用的输出位,能用软件处理且可输出至DSP引脚指令清零和置位XFBCLRXF ;清零XFBSETXF ;置位XF302.4.11ST2_55311.AR0LC~AR7LC位域2.ARMS位3.CDPLC位4.DBGM位5.EALLOW位6.RDM位321.AR0LC~AR7LC位域决定ARn用作线性寻址还是循环寻址ARnLC=0,线性寻址ARnLC=1,循环寻址332.ARMS位决定辅助寄存器(AR)间接寻址的CPU模式ARMS=0,采用DSP模式操作数有效执行DSP专用程序ARMS=1,采用控制模式操作数为控制系统的应用优化代码的大小34用下面的指令和伪指令来改变模式BCLRARMS ;清零ARMS(运行时).ARMS_off ;告知编译器ARMS=0BSETARMS ;置位ARMS(运行时).ARMS_on ;编译器ARMS=1353.CDPLC位决定系数数据指针(CDP)是用线性寻址(CDPLC=0),还是循环寻址(CDPLC位=1)364.DBGM位用于调试程序里有严格时间要求的部分DBGM=0,调试事件使能DBGM=1,调试事件禁止仿真器不能访问存储器和寄存器。软件断点仍然可以使CPU暂停,但不会影响硬件断点或暂停请求375.EALLOW位EALLOW使能(EALLOW=0)或禁止(EALLOW=1)对非CPU仿真寄存器的写访问386.RDM位确定取整模式在D单元执行的一些指令里,CPU将rnd()括号里的操作数取整。取整操作的类型取决于RDM的值。392.4.12ST3_55401.CACLR位2.CAEN位3.CAFRZ位4.CBERR位5.CLKOFF位6.HINT位7.MPNMC位8.SATA位9.SMUL位10.SST位411.CACLR位检查是否已完成程序cache清零CACLR=0:已经完成。清零过程完成时,cache硬件清零CACLR位CACLR=1:未完成。所有的cache块无效。422.CAEN位使能或禁止程序cacheCAEN=0,禁止CAEN=1,使能433.CAFRZ位CAFRZ能锁定程序cacheCAFRZ=0,cache工作在默认操作模式CAFRZ=1,cache被冻结(其内容被锁定)444.CBERR位检测到一个内部总线错误时,置位CBERR。该错误使CPU在中断标志寄存器1(IFR1)里置位总线错误中断标志BERRINTF455.CLKOFF位当CLKOFF=1,CLKOUT引脚的输出被禁止,且保持高电平466.HINT位通过主机接口,发送一个中断请求给主机处理器。477.MPNMC位MPNMC位使能或禁止片上ROM0:微计算机模式使能片上ROM,可以在程序空间寻址。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论