出数据定标移位器。与累加器相关联的状态位有溢出方式位、溢出标志位、进位位和测试控制标志位。 进位标志位C当加到累加器或从累加器减或将累加器数值移1位或循环移1位时将影响进位标志位 溢出方式位(OⅤM)。OⅤM决定累加器如何处理算术运算的溢出,当OVM=1且有溢出发生时,累 加器自动填充最大值(7 FFF FFFF)或最小值(80000000):当OVM=0时,累加器中的结果正常输出 溢出标志位(ov)。当未检测到累加器溢出时,oⅴ未被锁存,其值为0:当溢出发生时,O位被置 为1,而且被锁存 测试控制标志位(TC)。根据被测试位的结果,该位置为0或1 3、输入定标移位器 输入定标移位器的功能是将来自程序存储器或数据存储器的16位数据调整为32位数据送到CALU 因此16位输入与数据总线相连,32位输出与CALU单元相连。输入定标移位器作为从程序/数据存 储空间到CALU间数据传输路径一部分,并不会占用额外的时钟开销。 移位方法是:均使用左移,左移后,没有使用的低位LSB填0,没有使用的高位MSB填0或用符号 扩展,这取决于状态寄存器ST1的符号扩展模式位SXM。当SXM=1时,则高位进行符号扩展:当 SXM=0时,则高位填0。该移位器在算术定标以及逻辑操作时非常有用 4、乘法器 DSP采用一个16乘16位的硬件乘法器,可以在单个机器周期内产生一个32位的有符号或无符号乘 积结果。乘法器将来自16位数据存储器(程序存储器)的值与16位TREG寄存器的值乘积,结果送 到32位乘积寄存器中。乘积移位器将PREG中的乘积移位后,将全部32位送到CALU,或将结果的 16位存到数据存储器。移位模式取决于状态寄存器ST1中的乘积移位模式PM位, PM移位作用 00没有移位乘积送到CALU或者数据写总线,不移位 01左移1位移去二进制补码乘法产生的额外符号位,产生Q31格式的乘积 10左移4位移去16位乘13位二进制补码乘法产生额外4位符号位,产生Q31格式的乘积 11右移6位将乘积右移6位,使最多做128次乘累加而不使累加器溢出。无论ST1中的SXM为何 值,右移总是进行符号扩展 5、DsP状态和控制寄存器 芯片有两个状态寄存器:状态寄存器ST0和ST1。ST0和ST1包含各种条件和模式的状态。 (1)ST0 sT0寄存器的定义如表 比持域15-1312111098-0 名称 ARP OV OVM1 INTM DP 复位值Ⅹ0X11X ARP域:辅助寄存器指针。在间接寻址模式中用于选择当前辅助寄存器,当ARP被装载时,原先的 ARP被复制到ARB中 O∨位:溢出标志位,当中央算术逻辑单元发生溢出时,O∨=1。一旦发生溢出,O保持1状态,直 到发生复位、或执行以O√或NO为条件的条件跳转指令、或执行LST指令时被清0。 oVM位:溢出模式位。OVM决定当CALU发生溢出时的处理方式。OVM=0,累加器结果正常溢出 OVM=1,当上溢时,将最大的正数7 FFFFFFFH加载到累加器,当下溢时将最大的负数80000000H 加载到累加器。SETC、CLRC、LST等指令可修改OVM。 INTM位:中断模式位。INTM可全局屏蔽中断。INTM=0时,使能所有可屏蔽中断:INTM=1时 禁止所有的可屏蔽中断。复位或可屏蔽中断发生时,INTM置1,禁止中断。INTM不影响不可屏蔽中 断RS、NMI及软中断。LST指令不影响INTM。LST#0,DMA DP:数据存储器页指针。DP的9位和指令字中的低7位连接在一起,形成直接寻址中的16位数据 存储单元地址出 数 据 定 标 移 位 器 。与 累 加 器 相 关 联 的 状 态 位 有 溢 出 方 式 位 、溢 出 标 志 位 、进 位 位 和 测 试 控 制 标 志 位 。 进位标志位 C。当 加 到 累 加 器 或 从 累 加 器 减 或 将 累 加 器 数 值 移 1 位 或 循 环 移 1 位时将影响进位标志位; 溢出方式位( OVM) 。 OVM 决定累加器如何处理算术运算的溢出,当 OVM=1 且有溢出发生时,累 加器自动填充最大值(7FFF FFFF)或最小值(8000 0000);当 OVM=0 时 ,累 加 器 中 的 结 果 正 常 输 出 。 溢 出 标 志 位( OV)。当 未 检 测 到 累 加 器 溢 出 时 ,OV 未 被 锁 存 ,其 值 为 0;当 溢 出 发 生 时 ,OV 位被置 为 1,而且被锁存。 测试控制标志位(TC)。根据被测试位的结果,该位置为 0 或 1 . 3、输入定标移位器 输入定标移位器的功能 是将来自程序存储器或数据存储器的 16 位数据调整为 32 位数据送到 CALU, 因 此 16 位输入与数据总线相连,32 位输出与 CALU 单元相连。输入定标移位器作为从程序/数据存 储空间到 CALU 间数据传输路径一部分,并不会占用额外的时钟开销。 移位方法是:均使用左移,左移后,没有使用的低位 LSB 填 0,没有使用的高位 MSB 填 0 或 用 符号 扩展,这取决于状态寄存器 ST1 的符号扩展模式位 SXM。 当 SXM=1 时,则高位进行符号扩展; 当 SXM=0 时,则高位填 0。该移位器在算术定标以及逻辑操作时非常有用。 4、乘法器 DSP 采用一个 16 乘 16 位 的 硬 件 乘 法 器 ,可 以 在 单 个 机 器 周 期 内 产 生 一 个 32 位的有符号或无符号乘 积 结 果 。乘 法 器 将 来 自 16 位 数 据 存 储 器( 程 序 存 储 器 )的 值 与 16 位 TREG 寄 存 器 的 值 乘 积 ,结 果 送 到 32 位乘积寄存器中。乘积移位器将 PREG 中的乘积移位后,将全部 32 位送到 CALU,或 将 结 果 的 16 位存到数据存储器。移位模式取决于状态寄存器 ST1 中的乘积移位模式 PM 位 , PM 移 位 作 用 00 没有移位 乘积送到 CALU 或者数据写总线,不移位 01 左 移 1 位 移去二进制补码乘法产生的额外符号位,产生 Q31 格式的乘积 10 左 移 4 位 移 去 16 位 乘 13 位二进制补码乘法产生额外 4 位符号位,产生 Q31 格式的乘积 11 右 移 6 位 将乘积右移 6 位 ,使 最 多做 128 次 乘 累 加 而 不 使 累 加 器 溢 出 。无论 ST1 中 的 SXM 为 何 值,右移总是进行符号扩展 5、DSP 状态和控制寄存器 芯片有两个状态寄存器:状态寄存器 ST0 和 ST1。 ST0 和 ST1 包含各种条件和模式的状态。 (1) ST0 ST0 寄存器的定义如表 比持域 15-13 12 11 10 9 8-0 名 称 ARP OV OVM 1 INTM DP 复位值 X 0 X 1 1 X ARP 域:辅助寄存器指针。在间接寻址模式中用于选择当前辅助寄存器,当 ARP 被装载时,原先的 ARP 被复制到 ARB 中 。 OV 位:溢出标志位,当中央算术逻辑单元发生溢出时,OV=1。一旦发生溢出,OV 保 持 1 状态,直 到发生复位、或执行以 OV 或 NOV 为条件的条件跳转指令、或执行 LST 指令时被清 0。 OVM 位:溢出模式位。OVM 决定当 CALU 发生溢出时的处理方式。OVM=0,累加器结果正常溢出; OVM=1,当 上 溢 时 ,将 最 大 的 正 数 7FFFFFFFH 加载 到 累 加 器 ,当 下 溢 时 将 最 大 的 负 数 80000000H 加载到累加器。SETC、CLRC、 LST 等指令可修改 OVM。 INTM 位:中断模式位。INTM 可全局屏蔽中断。INTM=0 时,使能所有可屏蔽中断;INTM=1 时 , 禁止所有的可屏蔽中断。复位或可屏蔽中断发生时,INTM 置 1,禁 止 中 断 。INTM 不影响不可屏蔽中 断 RS、NMI 及软中断。LST 指令不影响 INTM。LST #0, DMA DP:数据存储器页指针。DP 的 9 位和指令字中的低 7 位连接在一起,形成直接寻址中的 16 位数据 存储单元地址