关于除法优化

除法器设计与面积优化
https://max.book118.com/html/2018/0120/149709859.shtm

代码优化之优化除法(牛顿迭代法)
https://www.cnblogs.com/BinB-W/p/5706725.html

https://blog.csdn.net/csshuke/article/details/48093959

https://www.cnblogs.com/ye-ming/articles/7942411.html

https://blog.csdn.net/zzhongcy/article/details/77185573


20190705
除法优化算法之化除为乘
H.264里的整数DCT变换算法将一些变换系数提取出来,与后面的量化过程相结合。为了避免非移位的除法运算,引入了乘数因子。
因此,可以通过引入一个较大的乘数因子,在精度允许的范围内,可将非移位除法变成移位除法,从而提高硬件运算效率和减小ASIC的面积(除法器硬件实现的逻辑复杂,所需面积较大)。
举例:
除数为7的整数除法,例如100 / 7 = 100 × (256 / 7) / 256 ≈ (100 * 36) >> 8


20190709
注:在《小波编码与网络视频传输》一书中找到了类似的表述,见第16章视频编码的DSP实现 P425。对于有硬件乘、加功能单元的运算芯片,如果将除法运算转化为整数乘法和移位运算,则可以大大地提高运算效率。以量化为例,量化运算可表示为
Level = |coeff| / (2QP) = |coeff|·(C / (2QP) ) / C,
如果C = 2^m,则量化运算式可表达为Level = (coeff · QP’) >> m,其中QP‘ = floor(C / (2QP) ).


20191206
以下内容摘自《计算机组成与设计 硬件/软件接口》(【美】David A. Patterson John L. Hennessy,王党辉 康继昌 安建峰等译)
除法算法及其硬件结构

快速除法算法:

  1. SRT除法算法:通过查找表的方法来尝试猜测每步几个商位,其中查找表基于被除数和余数的高位部分来进行,依赖后面的步骤来修正错误的猜测。
  2. 图3-9所示为恢复除算法,在余数为负时,需要立即将除数加回去。针对该步骤提出了改进算法,不恢复除算法和不执行除算法,具体如下:
    不恢复除算法:不需要立即将除数加回去,而是在下一步将被除数加到移位后的余数上,因为(r+d)x 2 - d = r x 2 + d x 2 - d = r x 2 + d.
    不执行除算法:在余数为负时,不保存减法的结果,平均减少了三分之一的算术操作。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章