递归计算的等效变换技术解析
1. 线性时不变一阶反馈回路的循环展开
1.1 循环展开原理
线性时不变一阶反馈回路的循环展开是提高计算性能的一种重要方法。当循环展开因子 (p) 为 2 的整数幂时,在最优高效配置下,总电路大小的下限可以用公式 (A(p) ≥ (\log_2 p + 1)A_f + p(\log_2 p + 1)A_{reg}) 表示。例如,在一个具体例子中,我们需要三倍的原始算术逻辑以及 14 个额外(非功能性)寄存器,最终换来了近四倍的吞吐量,整体效果不错。
1.2 性能与成本分析
- 速度提升与延迟平衡 :随着展开因子 (p) 变得过大((p ≫ 1)),循环展开的加速效果会逐渐减弱,同时组合逻辑中平衡延迟的难度会增加。
- 有限精度算术的隐藏成本 :由于数据路径为了经济考虑采用最小可接受的字宽,循环展开会导致更多的舍入操作,从而产生更多的量化误差。为了抵消这些误差,需要使用更宽的数据字。
- 能量消耗 :循环展开会显著增加处理一个数据项所消耗的能量,因为增加了额外的前馈计算和许多延迟寄存器。不过,缩短的最长路径可能使许多递归计算能够采用相对较慢但节能的技术,或者允许使用更低的电源电压。
2. 高阶循环处理
2.1 高阶循环的处理方法
对于高阶循环,通常不直接展开任意阶的循环,而是采用数字滤波器设计中的常见技术,将高阶传递函数分解为二阶和一阶项的乘积。这样得到的数据流图(DDG)呈现为级联的
超级会员免费看
订阅专栏 解锁全文
91

被折叠的 条评论
为什么被折叠?



