[Computer Architecture读书笔记] 3.2 Basic Compiler Techniques for Exposing ILP
垃圾内容,读书笔记,勿看
本书重在Computer Architecture,所以对compiler optimization没有做重点介绍,本章节算是对一些compiler optimization进行了科普。理解本章节,可以按照“计算机体系结构就是trade-off”这个主旨进行。囿于现实因素,存在很多限制,而编译优化就是在夹缝中就生存,在诸多条条框框中求得一个近优解。
3.2 Basic Compiler Techniques for Exposing ILP
类似于图灵机,由于现实的束缚,不可能存在无限长“纸带”的机器,就连地址无限长都做不到。现实附加了很多约束,例如资源有限的DRAM和磁盘。约束分为两类,理论约束与实现约束。
for (i = 999; i >= 0; i = i -1) x[i] = x[i] + s;
上述代码的理论约束有二:
- 必须在
x[999]
->x[0]
每个元素上面加上s
。
这意味着,
- 你按照什么样的形式遍历
x
无所谓,例如无论你是一次迭代4个元素,还是一次迭代999个元素; - 你按照什么样的形式加
s
也无所谓,例如你是+ (s + 1) - 1
还是+ (s - 1) + 1
都无所谓。
这是理论上的upper bound,我们在实现的时候不可能改变语义,法无禁止皆自由(只要“能力”够强,随便你玩儿
H.1 Introduction: Exploiting Instruction-Level Parallelism Statically 附录H对C3.2进行了的扩展,首先提出了探索ILP的四个技术 ... 声明 该文章是阅读<编码:隐匿在计算机软硬件背后的语言>一书之后整理出的读书笔记.若有错误,还需继续修正与增删. Preface 作者Charles Petzold是Windows编程界的 ... 本文内容为读书笔记,摘自<深入浅出DPDK>. 47.NUMA系统 之前的章节已经简要介绍过NUMA系统,它是一种多处理器环境下设计的计算机内存结构.NUMA系统是从SMP(Symmetr ... laravel 这是clean architecture的第十篇,也是具体案例的第二篇,本篇会通过使用laravel框架,来开发我们的应用. 本文为系列文章的第十篇,完成的目录请查看Clean Arc ... 这里是<Computer Graphics with OpenGL>英文原版第四版的读书笔记,预计每一章写一篇读书笔记.本篇为第二章,简要介绍计算机图形学的相关软件.图形学相关软件可分为两 ... GoF的Observer有没有什么变体存在,他的别名可以叫什么?在本笔记中,Publisher-Subscriber(出版-订阅)模式为这些问题做了完美解答.在笔记的最后还描述了Pattern Sys ... 这三个月正拜读<量化研究方法>.并且读了一些相关的论文.这篇论文是个人翻译的.这篇论文代表了工业界对D.A. Patterson的<n The Case for the Reduce ... 大家好,我是烤鸭: 关于<代码整洁之道>,记录一下读书笔记. 代码整洁之道 第一章 整洁代码 整洁代码的艺术 第二章 有意义的命名 避免误导 有意义的区分 使用读得出来和可搜索的名字 避免 ... 大名鼎鼎knuth的编程艺术,要读一读,特此写下读书笔记,引用网络红人留几手的话,我觉得我是一个艺术家,哈哈. 书的开头是讲读此书步骤,感觉Knuth萌萌哒: 1,请按以下步骤阅读,除非你已经开始读了 ...[Computer Architecture读书笔记] 3.2 Basic Compiler Techniques for Exposing ILP相关推荐
最新文章
热门文章