Tho*_*s O 21 algorithm optimization division
我的处理器是一个没有FPU和整数数学的小型16位微控制器,只有16/16分频和32/16分频,都需要18个周期.目前我正在使用一个非常慢的软件程序(约7,500个周期)进行64/32分割.有没有办法使用这些分区引擎来计算64/32分区?类似于我已经使用16x16乘法器和加法器来计算32x32乘法?我正在使用C但可以使用任何关于如何完成的一般性解释......我希望能够达到<200个周期(如果可能的话).
pay*_*yne 11
请参阅"Hacker's Delight",多字部门(第140-145页).
基本概念(回到Knuth)是以base-65536术语来思考你的问题.然后你有一个4位乘2位数的除法问题,2/1数字除法作为基元.
C代码在这里:http: //www.hackersdelight.org/hdcodetxt/divmnu.c.txt