位置:首页 > IC型号导航 > 首字符D型号页 > 首字符D的型号第0页 > DSPIC30F0011AT-20I/P > DSPIC30F0011AT-20I/P PDF资料 > DSPIC30F0011AT-20I/P PDF资料3第25页

dsPIC30F2011/2012/3012/3013
2.4.1
倍增器
2.4.2.1
17 ×17位乘法器能够签署或
无符号的操作,并且可以使用一个多路输出
定标器可支持1.31小数( Q31 )或32位
整数结果。无符号操作数经过零扩展
到乘法器输入值的第17位。签名
操作数符号扩展到了第17位
乘法器输入值。 17 x 17位的输出
乘法器/定标器是一个33位值,它是
符号扩展为40位。整型数据的固有
表示为有符号的二进制补码值,
其中MSB定义为符号位。通常
地说,一个N位二进制补码的范围
整数-2
N-1
到2
N-1
- 1.对于一个16位的整数,则数据
范围为-32768 ( 0x8000)时为32767 ( 0x7FFF的),包括
'0'。对于一个32位整数,数据范围是
2,147,483,648 (等于0x8000 0000 )到2147483645
( 0x7FFF的FFFF ) 。
当乘法器配置为小数
乘法时,数据被表示为2的
补充部分,其中最高位定义为
符号位,小数点暗含后刚刚躺下
符号位( QX格式) 。 N位2的范围
补码小数隐含小数点为-1.0
到(1 - 2
1-N
) 。对于一个16位的分数,则Q15数据范围
为-1.0 ( 0x8000)时为0.999969482 ( 0x7FFF的),包括“0”
并且具有3.01518x10精密
-5
。在分数
模式下, 16x16乘法运算将产生1.31
产物,其具有4.65661 ×10精密
-10
.
同一个乘法器还用来支持MCU
乘法指令,包括整数的16位
符号,无符号和混合符号乘法。
该
MUL
指令可以使用字节或
字长度的操作数。字节操作数将产生16位
结果。字操作数将产生32位结果的
在W阵列中的指定寄存器( S) 。
加法/减法器,溢出和
饱和
加法/减法器是一个40位加法器,一个可选的
零投入到一边,无论是真实的还是互补
数据到另一输入端。此外,该情况下
位/借位输入为高电平有效,另一个输入端
真正的数据(没有求补的) ,而在的情况下,
减法,进位/借位输入为低电平有效和
其他输入补充。加法器/减法器
产生溢出状态位SA / SB和OA / OB ,
它们被锁存,并反映在状态寄存器:
从bit 39溢出:这是灾难性的
溢出,其中累加器的符号是
销毁。
溢出到警戒位32到39 :这是一个
可恢复的溢出。该位被置位时所有
警戒位不彼此相同。
加法器有一个额外的饱和块,
控制累加器的数据饱和,如果选中。它使用
加法器的结果,溢出状态位
如上所述,以及SATA / B( CORCON<7 : 6> )
和ACCSAT ( CORCON<4> )模式控制位
确定何时以及在何值达到饱和。
六个状态寄存器中有提供
支持饱和和溢出。他们是:
1.
2.
3.
OA :
ACCA溢出到警戒位
OB :
ACCB溢出到警戒位
SA :
ACCA已饱和( bit 31溢出并饱和)
or
ACCA溢出到警戒位并饱和
( bit 39溢出并饱和)
SB :
ACCB已饱和( bit 31溢出并饱和)
or
ACCB溢出到警戒位并饱和
( bit 39溢出并饱和)
OAB :
OA和OB的逻辑或
SAB :
SA和SB的逻辑或
4.
2.4.2
数据累加器和加
加法/减法器
5.
6.
数据累加器包含一个40位的
加法/减法器,具有自动符号扩展逻辑。它
可以选择两个累加器(A或B)之一作为其
前期积累的源和累加后的
目的地。对于
添加
和
LAC
指令,数据
要累加或装入可以任选缩放
通过之前积累的桶形移位器。
OA和OB位每次修改数据
通过加法器/减法器传递。如果置位,
表明最近的操作已溢出
到累加器警戒位(位32到39 ) 。
OA和OB位还可以选择生成
算术警告陷阱设置时和
相应的溢出陷阱允许位( OVATE ,
OVBTE ) INTCON1寄存器(请参考
第8.0节
“中断”)
被设置。这使用户可以采取
立即采取措施,例如,校正系统增益。
2008 Microchip的技术公司
DS70139F第25页