abo_ 发表于 2024-7-21 09:56:25

STC32F12K54计算性能 | 肯定是 STC8051U 快, TFPU <= 108MHz, CPU <= 42MHz

近期在研究CCD图像算法,打算使用STC32F12K54作为处理芯片。
一次算法预计会有384次浮点乘法、768次整形加法,
实际使用中,发现程序跑得很慢,由于是在中断中运行算法,
这就会导致中断时间被拉长,影响了其它实时性要求高的程序运行。

经查技术手册,发现如果使用了硬件乘除单元以及硬件浮点单元,
在52M系统时钟下,一次算法总共会耗费约200~300us,
由于是5ms进行一次算法,因此程序运行10s理论上只会慢0.5s左右,
但是实测会慢3~4s,这对于实时性要求高的程序是无法接受的。





为了减轻计算压力,我把浮点数乘以64转成整形数,
再通过右移6位来实现较低精度的浮点乘法,但程序实测还是很慢,
并且与之前直接用浮点数乘法几乎没有区别。
请问各位大佬,如果在不更换芯片的前提下,
如何能提高算法的执行效率呢?

神农鼎 发表于 2024-7-21 10:50:37

肯定是 STC8051U 快, CPU <= 42MHz, TFPU <= 108MHz
深圳国芯人工智能有限公司-产品_STC8051U系列 (stcai.com)







神农鼎 发表于 2024-7-21 10:50:48


神农鼎 发表于 2024-7-21 10:51:51







soma 发表于 2024-7-21 11:26:56

理论上硬件运算比软件快,估计只能算法上提升了。

DebugLab 发表于 2024-7-21 13:23:59

先用8051u,等96k256

bkeuqoaq 发表于 2024-12-20 14:40:23

理论推荐与实际情况是否相符

baigezy 发表于 2025-1-20 09:47:11

AI8051和STM32F3F4等高端芯片相差还是甚远,加油啊STC,尽快赶超STM!
页: [1]
查看完整版本: STC32F12K54计算性能 | 肯定是 STC8051U 快, TFPU <= 108MHz, CPU <= 42MHz