作者mosquito520 ( )
看板ASM
標題Re: [問題] 如何用DSP的組合語言實做有小數點的除法
時間Sat Jul 26 15:34:21 2014
我沒寫過DSP,所以那部份我沒辦法給建議
不過,用C寫的效率如果不好,用組合語言寫不見得就會比較好
除非你有把握你可以最佳化做得比compiler還要好XD
將除法改成"先求出除數的倒數,再和被除數相乘來達成"
首先就會碰到的問題是,你除數的倒數,精確度夠高嗎?
如果轉換成倒數的過程就損失了部分的精確度,相乘之後自然誤差會更大
建議你可以往兩個部分想看看
第一個是去網路上找找除法的演算法,簡單說,別人怎麼實現除法的?
第二個是你的除法的改善,因為你沒有提供數字,
所以我也不知道你是整數除法?還是浮點數除法?
一般來說整數除法會比浮點數除法的速度要快,
那你的資料有沒有可能先調整成整數去運算?最後再調整回原先的數值?
真想不出來,就把你的演算法瓶頸的部分貼上來
或許會有人給你一點建議:)
※ 引述《asdrtyjkl925 (阿斯拉)》之銘言:
: 大家好
: 小弟之前寫DSP,都是用C來寫
: 但目前的CASE,用C的話執行速度不夠快,所以開始學用組合語言
: 最近在除法上遇到了瓶頸
: 我想到的除法的做法是:
: 用RCPSP或RCPDP指令先求出除數的倒數,再和被除數相乘來達成
: 但後來發現這兩個指令求出的倒數值,不是那麼精確
: (和計算機按出來的答案有落差)
: 所以想請教大大們 正確的除法該怎麼執行,謝謝:)
: (ps.使用的DSP為C6748)
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.34.187.83
※ 文章網址: http://webptt.com/m.aspx?n=bbs/ASM/M.1406360064.A.330.html