Re: [問題] 如何用DSP的組合語言實做有小數點的除法

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