c语言程序提速,用C语言加速程序进而加速硬件速度

本文介绍了如何通过包含特定的扩展指令头文件和使用高效的循环展开技术来加速C语言实现的FIR滤波器程序,从而提高硬件运行速度。详细展示了FIR滤波器的优化过程,包括FIR_MUL和FIR_MAC等关键操作的循环展开,以减少计算延迟并提高执行效率。
摘要由CSDN通过智能技术生成

/*包含特定的扩展指令头文件*/

#include "fir8.h"

#define ST_DECR 1 /* 减量指示器 */

#define ST_INCR 0 /* 增量指示器 */

#define FIR(h1, h2, h3, h4, h5, h6, h7, h8, x1, x2, y1, X) \

{ \

WRGET0I( &(h1), 8 * sizeof(short) ); \

WRGET1I( &(x1), 16 ); \

X++ ; \

WRGET0I( &(h2), 16 ); \

WRGET1I( &(x2), 16 ); \

FIR_MUL( (x1), (h1), &(y1) ); \

\

WRGET0I( &(h3), 16 ); \

WRGET1I( &(x1), 16 ); \

FIR_MAC( (x2), (h2), &(y1) ); \

WRGET0I( &(h4), 16 ); \

WRGET1I( &(x2), 16 ); \

FIR_MAC( (x1), (h3), &(y1) ); \

WRGET0I( &(h5), 16 ); \

WRGET1I( &(x1), 16 ); \

FIR_MAC( (x2), (h4), &(y1) ); \

WRGET0I( &(h6), 16 ); \

WRGET1I( &(x2), 16 ); \

FIR_MAC( (x1), (h5), &(y1) ); \

WRGET0I( &(h7), 16

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值