出版时间:2004-1 出版社:机械工业出版社 作者:[美] Randy Allen,( 页数:573
Tag标签:无
内容概要
本书介绍对现代体系结构的编译器进行优化的方法,理论基础是基于循环依赖的。分析基于依赖的变换的正确性论述和依赖测试的详细过程。剖析怎样扩展依赖去处理循环嵌套中的控制流以及跨越整个程序的过程。本书还讨论怎样能用依赖来回答现代计算机系统编译中的众多重要问题,包括支持不同类型体系结构(例如,向量、多处理器、超标量)的并行化,存储层次结构的编译器管理,带指令级并行性的机器的指令调度。最后,介绍一些不大为人熟知的应用,如硬件设计、数组语言实现以及消息传递系统的编译。
作者简介
Randy Allen以优异盛开获得Harvard大学化学专业学士学位,在Rice(赖斯)大学获得数学科学硕士和博士学位。成为Rice大学研究员之后,Allen博士参加了业界编译器构造的实践活动。他经历了在Ardent Computers、Sun Microsystems、Chronologic Simulation、Synopsys和CynApps等
书籍目录
第1章 高性能体系结构对编译器的挑战 1.1 概述和目标 1.2 流水线 1.2.1 流水线指令部件 1.2.2 流水线执行部件 1.2.3 并行功能部件 1.2.4 标量流水线编译 1.3 向量指令 1.3.1 向量硬件概述 1.3.2 向量流水线编译 1.4 超标量处理器和VLIW处理器 1.4.1 多发射指令部件 1.4.2 多发射处理器的编译 1.5 处理器并行性 1.5.1 处理器并行性概述 1.5.2 异步并行性的编译 1.6 存储层次结构 1.6.1 存储系统概述 1.6.2 存储层次结构的编译 1.7 实例研究:矩阵乘法 1.8 先进编译技术 1.8.1 依赖 1.8.2 变换 1.9 小结 1.10 实例研究 1.11 历史评述与参考文献 习题第2章 依赖:理论与实践 2.1 引言 2.2 依赖及其性质 2.2.1 存-取分类 2.2.2 循环内的依赖 2.2.3 依赖和变换 2.2.4 距离向量和方向向量 2.2.5 循环携带依赖和循环无关依赖 2.3 简单的依赖测试 2.4 并行化和向量化 2.4.1 并行化 2.4.2 向量化 2.4.3 一个先进的向量化算法 2.5 小结 2.6 实例研究 2. 历史评述与参考文献 习题 第3章 依赖测试 3.1 引言 3.2 依赖测试概述 3.2.1 下标划分 3.2.2 合并方向向量 3.3 单下标依赖测试 3.3.1 ZIV测试 3.3.2 SIV测试 3.3.3 多归纳变量测试 3.4 耦合组中的测试 3.4.1 Delta测试 3.4.2 更强有力的多下标测试 3.5 实验研究 3.6 各种测试的集成 3.7 小结 3.8 实例研究 3.9 历史评述与参考文献 习题 第4章 初等变换 4.1 引言 4.2 信息需求 4.3 循环正规化 4.4 数据流分析 4.4.1 定义-使用链 4.4.2 死代码消除 4.4.3 常数传播 4.4.4 静态单赋值形式 4.5 归纳变量暴露 4.5.1 前向表达式替换 4.5.2 归纳变量替换 4.5.3 驱动替换过程 4.6 小结 4.7 实例研究 4.8 历史评述与参考文献 习题第5章 提高细粒度并行性 第6章 开发粗粒度并行性第7章 处理控制流第8章 改进寄存器的使用第9章 管理高速缓存第10章 调度第11章 过程间分析和优化第12章 C语言和硬件设计中的依赖第13章 编译数组赋值第14章 编译高性能Fortran附录 Fortran 90基础参考文献索引
图书封面
图书标签Tags
无
评论、评分、阅读与下载