...
首页> 外文期刊>Microprocessors and microsystems >Timing Optimization Via Nest-loop Pipelining Considering Code Size
【24h】

Timing Optimization Via Nest-loop Pipelining Considering Code Size

机译:考虑代码大小的嵌套循环流水线优化时序

获取原文
获取原文并翻译 | 示例
           

摘要

Embedded systems have strict timing and code size requirements. Software pipelining is one of the most important optimization techniques to improve the execution time of loops by increasing the parallelism among successive loop iterations. However, there is no effective techniques exist for solving the software pipelining problem on nested loops. The existing software pipelining techniques for single loops can only explore the parallelism of the innermost loop, so the final timing performance is inferior. While multidimensional (MD) retiming can explore the outer loop parallelism, it introduces large overheads in loop index generation and code size due to loop transformation. In this paper, we show how the computation time and code size of a pipelined nested loop is affected by execution sequence and retiming, assuming there is no loop unfolding. We present the theory of Software Pipelining for NEsted loops (SPINE) to reveal the relationship among the computation time of an iteration, the execution sequence, and the software pipelining degree of a nested loop using retiming concepts. Two algorithms of Software Pipelining for NEsted loops (SPINE) are proposed based on the fundamental understanding of the properties of software pipelining for nested loops: the SPINE-FULL algorithm generates fully parallelized loops with the minimal overheads. The SPINE-ROW-WISE algorithm achieves the maximal parallelism in an iteration with a fixed row-wise execution sequence. Therefore, the overheads due to loop transformation are minimal. Our technique can be directly applied to imperfect nested loops. The experimental results show that the average improvement on the execution time of the pipelined loop generated by SPINE is 71.7% compared with that generated by the standard software pipelining technique. The average code size is reduced by 69.5% compared with that generated by the MD retiming technique.
机译:嵌入式系统具有严格的时序和代码大小要求。软件流水线化是最重要的优化技术之一,它通过增加连续循环迭代之间的并行性来缩短循环的执行时间。但是,不存在有效的技术来解决嵌套循环上的软件流水线问题。现有的单循环软件流水线技术只能探索最内层循环的并行性,因此最终定时性能较差。尽管多维(MD)重定时可以探索外部循环并行性,但是由于循环转换,它在循环索引生成和代码大小方面引入了较大的开销。在本文中,我们说明了假设没有循环展开的情况,流水线嵌套循环的计算时间和代码大小如何受到执行序列和重新定时的影响。我们介绍了NEsted循环的软件流水线理论(SPINE),以揭示使用重定时概念的迭代计算时间,执行序列和嵌套循环的软件流水度之间的关系。基于对嵌套循环的软件流水特性的基本了解,提出了两种用于嵌套循环的软件流水线算法(SPINE):SPINE-FULL算法以最小的开销生成完全并行化的循环。 SPINE-ROW-WISE算法在具有固定的逐行执行序列的迭代中实现了最大并行度。因此,归因于循环变换的开销是最小的。我们的技术可以直接应用于不完善的嵌套循环。实验结果表明,与标准软件流水线技术相比,SPINE生成的流水线循环的执行时间平均缩短了71.7%。与MD重定时技术产生的平均代码大小相比,平均代码大小减少了69.5%。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号