1. SMS 在 GCC 中的实现 1.1. 一些基本概念 (1)软流水(Software pipelining )是一种通过重叠不同迭代的指令,使其并行执行,从而改进循环中指令调度的技术.关键思想是找到一种操作模式(称为内核代码),当反复迭代时,它会产生这样一种效果,即在前一个迭代完成之前启动下一个迭代.下图为包含4条指令的循环经过软流水调度后的结果 (2)模调度(Modulo scheduling)是一种实现软流水的方法,聚焦于最小化循环的平均周期计数,从而优化性能. (3)在本文中,我们描…