我的处理器是一个没有FPU和整数数学的小型16位微控制器,只有16/16分频和32/16分频,都需要18个周期.目前我正在使用一个非常慢的软件程序(约7,500个周期)进行64/32分割.有没有办法使用这些分区引擎来计算64/32分区?类似于我已经使用16x16乘法器和加法器来计算32x32乘法?我正在使用C但可以使用任何关于如何完成的一般性解释......我希望能够达到<200个周期(如果可能的话).
我正在研究一种没有硬件乘法和除法的微控制器.我需要为这些基本操作制作软件算法,这是紧凑尺寸和效率之间的良好平衡.我的C编译器端口将使用这些算法,而不是C开发人员自己.
我的google-fu到目前为止主要是关于这个主题的噪音.
谁能指点我的信息?我可以使用add/sub和shift指令.基于表查找的算法也可能对我有用,但我有点担心编译器的后端这么多......嗯,可以这么说.
我有一个128位数字存储为2个64位数字("Hi"和"Lo").我只需要将它除以32位数.我怎么能这样做,使用CPU的本机64位操作?
(请注意,我不需要任意精度库.只需要知道如何使用本机操作进行这种简单的划分.谢谢).