美文网首页
编译原理——代码优化(数据依赖)

编译原理——代码优化(数据依赖)

作者: 牛程程 | 来源:发表于2017-11-01 22:49 被阅读0次

    •结构问题:优化的代码调度利用了现代化计算机体系结构的特征。这样的机器一般允许管道执行,其中几个指令同时处于不同的执行阶段。一些机器还允许多个指令同时开始执行。
    •数据依赖:调度指令时,必须保证每个存储器位置和寄存器上的指令是有效的。必须一条指令在一个位置写入之后,另一条指令才能读取这个位置时,才会发生真实的数据依赖。在读取之后执行写入时,发生反依赖性。并且当对同一位置进行两次写入时,会发生输出依赖性。
    •消除依赖性:通过使用附加位置来存储数据,可以消除反依赖性和输出依赖性。只有真正的依赖不能被消除,代码的调度是要遵守的。
    •基本块的数据依赖图:这些图表示基本块的语句之间的时序约束。节点对应于语句。从n到m的边缘标记为d表示指令m必须在指令n开始后至少开始D个时钟周期。

    相关文章

      网友评论

          本文标题:编译原理——代码优化(数据依赖)

          本文链接:https://www.haomeiwen.com/subject/ppjnpxtx.html