作者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/cn.aspx?n=bbs/ASM/M.1406360064.A.330.html