序言

Hennessy和Patterson合著的《计算机体系结构:量化研究方法》第1版是在我刚上研究生时出版的,因此,我属于第一批在本书指导下学习体系结构的人。要写一篇有用的序言,少不了要有作序者自己的独特观点,而我发现自己在这方面有点欠缺,因为我已深受本书前4个版本的影响。还有另外一个不利因素,就是我从学生时代就对这两位计算机科学巨匠心存敬畏,尽管后来我有机会与他们合作,近距离了解他们,但也可能正因如此,所以这种敬畏心现在仍未消失。不过,由于我从第一版开始就一直从事这一领域的研究,有机会看到它不断完善,欣赏它持久不变的实用性,这从一定程度上抵消了上述不利因素。

几年前,英特尔取消其4GHz单核CPU开发项目,转向多核CPU研发,标志着业内对更高CPU时钟频率的激烈竞争正式结束,两年之后,本书第4版出版。经过两年的充分观察,John和Dave在书中将这一变化明确表述为计算技术在过去10年中的一个转折点,而不是一次非常随意的生产线升级。第4版对指令级并行(ILP)的强调有所降低,增加了线程级并行的相关内容;第5版则更进一步,用整整两章的篇幅来讨论线程级和数据级并行,而将ILP的讨论压缩为一章。新增加的第4章会让刚刚接触新型图形处理引擎的读者受益匪浅,这一章的重点是数据级并行,解释了一些虽有不同但正在趋于一致的解决方案,这些方案是由通用处理器中的多媒体扩展以及可编程性日益增强的图形处理器提供的。这一章还有一些非常实用的内容:如果你一直被CUDA术语搞得晕头转向,可以参考表4-10。(难题:“共享存储器”实际上是本地存储器,而“全局存储器”更接近于大众认知的共享存储器。)

多核技术仍处在不断变化之中,但第5版还介绍了下一代重大技术:云计算。因特网的无处不在和Web服务的发展将人们的注意力引向两个极端:一端是超小型设备(智能手机、平板电脑),一端是超大型设备(仓库级计算系统)。第3章的“融会贯通”一节(3.13节)介绍了ARM Cortex A8,它是智能手机中的一种常用CPU,而新增加的整个第6章则专门结合仓库级计算系统讨论了请求级并行和数据级并行。在这一章中,John和Dave将这些新出现的大型集群看作一类特殊的新型计算机——欢迎广大计算机架构师一同来推动这一新兴领域的发展。将第3版中的Google集群体系结构与这一版第6章中更现代化的具体实现进行对比,读者就可以欣赏到这一领域在过去10年的发展过程。

本书的老读者将会再一次领略两位杰出计算机科学家的贡献,他们在整个职业生涯中,将严谨的学术研究和对前沿产品与技术的深刻理解非常完美地结合在一起,形成了一门艺术。如果你见过Dave如何实施他一年两度的项目调整,如何精心筹办研讨会,从校企合作之中萃取最多的精华,如果你能回想起John在创办MIPS时获得的巨大成功,或者曾经在Google公司的走廊里碰到他(我偶尔就会在那里遇到他),那你就不会再为两位作者与业界交流何以如鱼得水而感到惊讶了。

新老读者购买本书绝对物超所值,这可能是最重要的一点了。这本书之所以会成为不朽的经典,是因为它的每个版本都不只是更新,而是一次全面修订,力求向读者展示最新信息,以及作者对这个快速变化的迷人领域最独到的见解。对我来说,在从事这个行业20多年之后,它让我又一次有机会体验学生时代对这两位杰出师长的敬仰之情。

——Luiz André Barroso,Google公司

目录

  • 作者简介
  • 序言
  • 前言
  • 第1章  量化设计与分析基础
  • 第2章  存储器层次结构设计
  • 第3章  指令级并行及其开发 
  • 第4章  向量、SIMD和GPU体系结构中的数据级并行
  • 第5章  线程级并行 
  • 第6章  以仓库级计算机开发请求级、数据级并行
  • 附录A  指令集基本原理 
  • 附录B  存储器层次结构回顾
  • 附录C  流水线:基础与中级概念 
  • 参考文献 
  • 索引