關於除法優化

除法器設計與面積優化
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.
    不執行除算法:在餘數爲負時,不保存減法的結果,平均減少了三分之一的算術操作。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章