网站大量收购闲置独家精品文档,联系QQ:2885784924

CPU与编译器概论.pdfVIP

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CPU与编译器概论

第 1章 CPU与编译器概论 序 001 1.1 高速路与人行道 近年来,台式机的CPU 主频已达到2~3GHz ,就连iPhone 等智能手机 和便携式终端的CPU 主频率亦可达到0�5~ 1GHz 。 这些CPU ,有如在高速路上奔驰的跑车一样。试想一下,如果高速路 上遍布着红绿灯和人行道,那跑车的性能就不能完全发挥出来。 图1-1 高速路与人行道 无论在高速路上跑得多快,一旦遇上红绿灯和人行道那该怎么办?想 必就算是高性能跑车,在这个时候减速也会影响它的性能发挥。即使等到 了绿灯,再次加速行驶,但遇到下一个红绿灯时也不得不再次减速。实际 生活中的高速路上是没有人行道的,但计算机中的程序却是在 “有红绿灯 的高速路”上工作着。 读者在用C 或C++ 编写程序时,常常会在程序里设置很多 “红绿灯和 人行道”。虽然需要减速的原因有很多,但只要去掉其中几个主要的障碍, 程序的运行速度就会提高几十倍。 那么,哪些程序在扮演着 “高速路上的人行道”呢?我们该如何规避 它?要想解答这些问题,我们就必须了解CPU 的构造和工作原理,以及编 译器运行的相关知识。 在这一章中,我们会在探讨性能优化的具体方法之前,先对CPU 的构 造与编译器的运行原理进行简单的讲解。 002 第1章  CPU与编译器概论 1.2 编译器是如何运作的 大多数程序员在日常编程中很少会直接用到CPU 中的指令 (即机器语 言)。这主要是因为直接使用机器语言比较繁琐,所以我们选择人类更容易 理解的语言来编程,然后再通过编译器将其翻译成机器语言。但是,编译 器能否准确地将人类的逻辑思维转换为相应的机器语言呢?在这里,我们 先来研究一下编译器到底是如何运作的。 比如,使用GCC 按以下步骤将程序编译为目标代码(即汇编语言程序)。 1 读取源程序并进行解析。将字符分离出来整理成较容易统计的形式,收 � 集参数与函数名等标识符。 2� 对收集到的参数与标识符进行内存地址分配(即后文将提到的寄存器), 将内存地址与参数或函数对应起来。 3� 根据逻辑程序生成汇编语言程序。 接下来,汇编编译器将已生成的汇编语言转换成机器语言的目标程序, 链接器将目标程序和外部模块连接起来 (图1-2 )。 gcc as ld *.c *.a *.o *.out 图1-2 从源程序到执行代码的实现过程 近代的编译器实现了在编译过程中,让所生成的程序在更短的时间内 得到相同的结果,达到更高的效率。其实现的方法多种多样,比如说,编 译器扫描程序后,将多余的操作忽略,修改指令的运行顺序以使CPU 处理 得更快等。 优化与程序的调优有着密不可分的关联,在后面的章节中将会提到。 1�2 编译器是如何运作的 003 编译后的汇编语言程序 我们来看看由GCC 生成的汇编语言程序。程序 1-1 是为检验而编写的 小程序。 程序1-1 10次加1运算的程序 #include stdio.h int a, b; main() { a = 0; do { b += a + 1; a++; } while (a 11); } 如果在编译此程序时加上-S 选项,

文档评论(0)

wnqwwy20 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档