2.C55x的溢出处理机制 c55x有以下几种硬件特性可以处理溢出: ●保护位 c55x的每个累加器都有8个保护位(39~32位) 允许连续256次乘加操作而累加器不溢出;M40=1 ●溢出标志位 c55x的每个累加器都有相关的溢出标志位当累 加器操作结果出现溢出时这个标志位就会置位
C55x有以下几种硬件特性可以处理溢出: ⚫ 保护位 C55x的每个累加器都有8个保护位(39~32位), 允许连续256次乘加操作而累加器不溢出; ⚫ 溢出标志位 C55x的每个累加器都有相关的溢出标志位, 当累 加器操作结果出现溢出时,这个标志位就会置位。 2. C55x的溢出处理机制 15 M40=1
●饱和方式位SATD和SATA ◆SATD控制D单元的操作,SATA控制A单元的操作。 ◆若SATD=1,当D单元发生溢出时,对D单元结果进 行饱和处理。不管饱和方式位值是什么当累加器发 生溢出时,相应溢出标志位( ACOVX)都会被置位 ◆A单元没有溢出标志位,但如果SATA=1,发生溢出 时,结果也会进行饱和处理。 ※饱和处理是用最近的边界值代替溢出结果。 例,16位寄存器范围是8000h(最小负数)~7FFh最大正数) 饱和处理就是:用7FFh代替比7FF大的结果 用8000h代替比8000h小的结果
⚫饱和方式位SATD和SATA ◆ SATD控制D单元的操作, SATA控制A单元的操作。 ◆ 若SATD=1, 当D单元发生溢出时, 对D单元结果进 行饱和处理。不管饱和方式位值是什么, 当累加器发 生溢出时, 相应溢出标志位(ACOVx)都会被置位; ◆ A单元没有溢出标志位, 但如果SATA=1, 发生溢出 时, 结果也会进行饱和处理。 ☼ 饱和处理是用最近的边界值代替溢出结果。 例, 16位寄存器范围是8000h(最小负数)~7FFFh(最大正数), 饱和处理就是: 用7FFFh代替比7FFFh大的结果; 用8000h代替比8000h小的结果。 16
3.溢出的处理方法 饱和。饱和是一种处理溢出的方法,但是饱和会剪掉 部分输出信号,可能会引起信号失真和引起系统非线 性 ●输入定标sc司ling。分析所要使用的系统,假定最坏 的情况,然后对输入信号定标,以防止溢出。但是这 种方法会极大地降低输出信号的精确度。 固定定标 scaling。假定最坏情况对中间结果定标。 这种方法可防止溢出同时增加了系统的信噪比。 动态定标 scaling可以监测中间结果的范围,只在 需要的时候对中间结果定标。这种方法可以防止溢出 但会增加计算量(计算时间)
⚫饱和。饱和是一种处理溢出的方法,但是饱和会剪掉 部分输出信号,可能会引起信号失真和引起系统非线 性。 ⚫输入定标scaling。分析所要使用的系统,假定最坏 的情况,然后对输入信号定标,以防止溢出。但是这 种方法会极大地降低输出信号的精确度。 ⚫固定定标scaling。假定最坏情况,对中间结果定标。 这种方法可防止溢出, 同时增加了系统的信噪比。 ⚫动态定标scaling。可以监测中间结果的范围,只在 需要的时候对中间结果定标。这种方法可以防止溢出 但会增加计算量(计算时间)。 3. 溢出的处理方法 17
7.1定标与溢出处理 ■711数的定标 712溢出的处理方法 713常用信号处理算法中的定标方法 TMS320C55X DSP Programmer's Guide Preliminary Draft(SPRU376A, 2001) 5.5 Methods of Handling overflows
7.1 定标与溢出处理 ◼ 7.1.1 数的定标 ◼ 7.1.2 溢出的处理方法 ◼ 7.1.3 常用信号处理算法中的定标方法 18 5.5 Methods of Handling Overflows TMS320C55x DSP Programmer’s Guide Preliminary Draft (SPRU376A, 2001年)
713常用信号处理算法中的定标方法 FIR滤波器的定标 scaling方法 ◆在FIR滤波器中处理溢出的最好方法是设计时使滤 波器的增益小于1(设计滤波器系数全为小数),这 样就不需要对输入信号定标。这种方法和累加器的 保护位结合起来,可以有效地防止溢出。 ◆在FIR滤波器中一般不用固定定标和输入定标因 其影响信号分辨率(基本是乘累加1次对应1位) 在FIR滤波器中可使用动态定标前提是由此导致 的计算时间增加可以承受。饱和处理也是某些音频 信号一种常用的方法
7.1.3 常用信号处理算法中的定标方法 ⚫ FIR滤波器的定标scaling方法 ◆ 在FIR滤波器中处理溢出的最好方法是设计时使滤 波器的增益小于1(设计滤波器系数全为小数),这 样就不需要对输入信号定标。这种方法和累加器的 保护位结合起来,可以有效地防止溢出。 ◆ 在FIR滤波器中一般不用固定定标和输入定标,因 其影响信号分辨率(基本是乘累加1次对应1位)。 在FIR滤波器中可使用动态定标, 前提是由此导致 的计算时间增加可以承受。饱和处理也是某些音频 信号一种常用的方法。 19