【发布时间】:2016-03-07 10:32:38
【问题描述】:
使用 Beaglebone 的 PRU, 如何进行除法和乘法运算?
【问题讨论】:
-
如果你使用 C 编译器,那么它应该会为你解决这个问题。
标签: beagleboneblack beagleboard
使用 Beaglebone 的 PRU, 如何进行除法和乘法运算?
【问题讨论】:
标签: beagleboneblack beagleboard
乘法将重复将第一个数字与自身相加,而第二个数字用作计数器。
除法将重复减去第一个数字,直到被除数小于余数。您还将有一个计数器,每次减法后都会增加一个计数器,从而得出您的商数。
【讨论】:
Beaglebone 上的每个 PRU 都有一个用于乘法运算的加速器(一种小型协处理器)。
C/C++ 编译器有一些标志可以为 TI 编译器自动使用 MAC http://www.ti.com/lit/ug/spruhv7a/spruhv7a.pdf:
使用汇编器并手工完成:
请参阅 TI 335x(Beaglebone 上的处理器)的技术参考手册第 4.4.1.3 章: http://www.ti.com/lit/ug/spruh73q/spruh73q.pdf
使用 Xin/Xout 指令并使用预期的寄存器,可以快速执行 32bitx32bit=64bit 乘法。参照。第 4.4.1.3.2.1 章的分步指南。
以下是如何在没有加速器的情况下进行乘法和除法运算,但比仅使用加法/减法更快:
你可以做到,就像你在纸上做的那样
F0 x F1 的乘法:
Q/D师:
【讨论】: