从算法到架构:设计与评估指南
1. 架构设计的转换方法
架构设计的转换方法在任何粒度级别都能产生有用的解决方案,有些架构的设计结果令人惊喜。当将算术/逻辑运算分解为位级操作,再应用各种等价变换时,位串行架构和分布式算术就会自然出现。在硬件资源有限且性能要求适中的情况下,进行固定且与数据无关的计算时,这两种技术值得考虑。在被遗忘多年后,它们在基于查找表(LUT)的现场可编程门阵列(FPGA)的滤波和其他数字信号处理(DSP)应用中重新得到应用。
所有适用于实数域计算的通用和代数变换,当然也适用于伽罗瓦域的计算。循环展开适用于实数域中的任何线性计算,但这并非必要条件。如果递归在追求更高性能时成为瓶颈,可检查是否能重新表述或修改反馈循环内的计算,使其在半环上呈线性。
2. 指令集处理器与专用架构对比
通用计算需要高度的灵活性,这只有程序控制的处理器才能提供。然而,在未知数据类型范围上执行任意指令序列会带来诸多效率低下的问题,并且在很大程度上阻碍了架构优化。对于定义明确的计算任务,定制资源以满足目标应用特定计算需求的硬连线架构能够实现更好的性能和能源效率。隔离、弱可编程卫星、专用指令集处理器(ASIP)和可配置计算是不错的折衷方案。
3. 数据路径硬件组织选项
通过重新表述给定的数据处理算法,在可能的情况下保留其输入 - 输出关系(除了延迟),同时提高性能、减小电路尺寸、提升能源效率等。关于如何最佳重新排列组合、非递归和递归计算的研究结果分别在相关部分给出。该方法随后在粒度和代数结构方面进行了推广,结果总结如下表所示:
超级会员免费看
订阅专栏 解锁全文

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



