DSP完整课件第3章

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(3)当未检测到累加器溢出时,其值为0;当溢出发生时, OV位被置1。
(4)根据被测试位的结果,测试控制标志位(TC)位被置1或0。
2010
退出
3.1.4 累加器(ACC)
存放CALU中的运算结果,其存放的数据可以执行单一的移位 或循环操作。其中的高位或低位字可以进入输出定标移位器进行 移位后再存放进数据存储器。与ACC有关的状态位有: 1)进位标志位C ① 当累加器中的数据相加时,结果有进位或减法无借位时C=1; 相减时,结果有借位或或加法无进位时,C=0 。 ② 当累加器中的数据被移动1位时,累加器中的最低位或最高位 进入C。
TC:测试/控制标志位。在下列情况下TC位被置1:由BIT或
BITT测试的某位为1时;用NORM指令对累加器最高的两位进
行异或结果为真时;用CMPR指令对当前ARn与AR0比较条件
成立时。编程时,根据TC位的状态可进行程序的条件跳转、调
用和返回。
2010
退出
3.1.6 状态寄存器ST0和ST1
2) 状态寄存器ST1 C:进位位。加法结果产生进位时置1,减法结果产生借位时 被清0。执行带16位移位的ADD指令时,若产生进位时置1, 否则不影响该位;在执行16位移位的SUB指令,若产生借位 时置0,否则不影响该位。
2)溢出方式控制位OVM
OVM决定ACC运算结果发生溢出时,是否进行溢出处理。
① 若OVM=1,当运算结果发生溢出时,ACC结果被设定为确定
值:
若正向溢出,ACC=7FFF FFFFH(最大正数);
若负向溢出,ACC=8000 0000H(最小负数)。
② 若OVM=0,ACC溢出为0.
2010
退出
3.1.4 累加器(ACC)
8LSBs
主要功能:
在CALU操作的同 时执行8个辅助寄存 器(AR0~AR7)中的 算术运算。
提供了灵活而有 效的间接寻址功能,
使用任何一个辅助寄
存器提供的16位地
址,就可以访问64K
数据写总线
字的数据空间。
数据读地址总线
数据写地址总线
退出
3.1.7 辅助寄存器算术单元(ARAU)
辅助寄存器ARx通常用作地址间接指针,其中存放的数据即为 数据存储器地址。
注意:累加器中的数据不变
2010
退出
3.1.6 状态寄存器ST0和ST1
状态寄存器ST0和ST1,含有各种状态和控制位。状态寄存器 的内容可以被保存到数据寄存器,也可从数据寄存器中进行加 载。
1) 状态寄存器ST0
ARP:辅助寄存器指针。利用MAR、LST指令可以修改状态 寄存器ST0中的辅助寄存器指针(ARP)。在间接寻址时用于选 择当前辅助寄存器。在ARP被装载时,原先的ARP值被复制 到ARB中。
CNF:片内DARAM配置位。当CNF=0时,可配置的
DARAM映射到数据存储空间;当CNF=1时,可配置的
DARAM映射到程序存储空间。可通过SETC、CLRC指令对其
进行修改。
2010
退出
2) 状态寄存器ST1
3.1.6 状态寄存器ST0和ST1
SXM:符号扩展方式位。SXM决定是否进行符号扩展。当 SXM=0时,禁止符号扩展;当SXM=1时,数据被CALU使用 之前进行符号扩展。执行ADDS和SUBS指令时禁止符号扩展。 通过SETC、CLRC指令可对其置位或复位。
退出
退出
退出
退出
3.1.3 中央算术逻辑单元
由32位的中央算术逻辑单元(CALU)、32位的累加器(ACC) 以及32位的输出移位器组成。
2010
退出
注意几个问题:
3.1.3 中央算术逻辑单元
(1)当加到累加器或从累加器减或将累加器数值移1位或循环 移1位时将影响进位标志位C。
(2)溢出方式位(OVM)决定累加器如何处理算术运算的溢出, 当OVM=1且有溢出发生时,累加器自动填充最大值或最小 值;当OVM=0时,累加器中的结果正常溢出。
2010
退出
3.1.6 状态寄存器ST0和ST1
1) 状态寄存器ST0
OV:溢出标志位。当中央算术逻辑单元发生溢出时,OV=1, 直到发生复位、执行以OV(溢出)或NOV(不溢出)为条件的转 移指令、或执行LST指令时被清0。
OVM:溢出方式位。OVM决定CALU发生溢出时的处理方式。 当OVM=0时,累加器中结果正常溢出;当OVM=1时,根据 溢出的情况,累加器被设置成它的最大正值(7FFFFFFFh)或负 值(80000000h)。SETC、CLRC、LST指令均可修改OVM。
3)溢出标志位OV 当累加器发生溢出时,OV=1,反之为0。
4)测试/控制标志位TC 根据被测试位的值置1,或清0。 与累加器有关的转移指令主要取决于以上标志位状态,及累加
器的值。
3.1.5 输出数据定标移位器
根据相应的存储指令中指定的位数,将累加器输出的内容左移 0~7位,然后将移位器的高16位或低16位存储到数据RAM中。
2010
退出
2) 状态寄存器ST1
3.1.6 状态寄存器ST0和ST1
ARB:辅助寄存器的缓冲器指针。当ARP被装载时,ARP原 来的值就被复制到ARB中;当用LST指令装载ARB时,同样的 值也被复制到ARP中。
XF:XF引脚状态位。该位决定XF引脚的状态。SETC指令可对 该位进行置位,CLRC指令可对其进行清0。
2010
退出
1) 状态寄存器ST0
3.1.6 状态寄存器ST0和ST1
INTM:全局中断屏蔽控制位。全局屏蔽或使能所有的可屏蔽 中断。INTM=0时,使能所有可屏蔽的中断;INTM=1时, 禁止所有的可屏蔽中断。复位或可屏蔽中断发生时(TRAP指 令除外),INTM置1,禁止中断。
DP:数据存储器页指针。9位的DP指针和指令字中的低7位 连接在一起,形成直接寻址中的16位数据存储单元地址。可 通过LST、LDP指令对其修改。
8个辅助寄存器中,由状态寄存器ST0中的辅助寄存器指针 (ARP)指定的ARn为当前ARn。
PM:乘积移位方式位。SPM、LST指令可以修改1.7 辅助寄存器算术单元(ARAU)
16 AR7
16 AR6 16 AR5
16 AR4 16 AR3
16 AR2 16 AR1
16 AR0
16
MUX
ARUX
16
16
16
2010
ARB
数据读总线
3 ARP
3 MUX
3
3LSBs 指令寄存器
相关文档
最新文档