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

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

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

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

相关文章

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

    •结构问题:优化的代码调度利用了现代化计算机体系结构的特征。这样的机器一般允许管道执行,其中几个指令同时处于不同的...

  • 编译原理概述

    编译器原理 词法分析器 语法分析器 语义分析器 中间代码生成 符号表 独立机器的代码优化器 代码生成器 依赖于机器...

  • 编译原理四——代码优化

    代码优化 代码优化的含义是:对代码进行等价变换,使得变换后的代码具有更高的时间效率和空间效率。代码优化的目的是提高...

  • Unity学习—脚本优化Tips

    本文原地址:Unity学习—脚本优化Tips 官方文档参考 代码编译原理 Unity 首先将脚本编译为中间语言 C...

  • iOS的性能优化

    1、ipa包体积优化 1.1 编译配置优化:编译器代码层面优化Optimize Level;Bitcode(较难...

  • 编译原理一

    编译原理 正规式或NFA到DFA最小化 四元式DAG图的优化,根据要求写出优化结果翻译到目标代码 给你文法,给你句...

  • 编译原理——代码优化(调度和循环)

    •优先拓扑顺序:基本块的数据依赖图通常是非循环的,并且有许多拓扑顺序与图一致。多种启发式方法来用来把给定的图选择优...

  • 编译原理系列之十 代码优化

    代码优化 代码优化可分为与机器有关的优化和与机器无关的优化。与机器有关的优化一般在目标代码上进行。与机器无关的优化...

  • 使用 Dagger 库 基础篇

    使用 Dagger 库 基础篇Dagger 注入对象的原理 Dagger 是一个依赖注入的库,采用编译时生成代码的...

  • JavaScript常见面试题:Vite 跟 Webpack的区

    原理对比 Webpack启动的时候,要根据entry找到所有的依赖模块,然后对代码进行编译、打包、压缩的。所以We...

网友评论

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

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