(特价书)计算机工程的物理基础
基本信息
- 原书名:The Physics of Computing

内容简介
目录
译者序
前言
第1章 电子计算机 1
1.1 引言 1
1.2 计算机发展史 1
1.2.1 机械式计算设备 1
1.2.2 计算理论 3
1.2.3 电子计算机 5
1.3 计算机系统指标 7
1.4 本书一览 8
1.5 小结 9
第2章 晶体管与集成电路 10
2.1 引言 10
2.2 电子器件和电子电路 10
2.2.1 早期的真空管器件 10
2.2.2 真空三极管 11
2.3 材料物理 15
2.3.1 金属材料 15
2.3.2 玻耳兹曼常数与温度 18
译者序
本书从计算的起源需求开始,介绍了机械式计算设备以及现代电子计算机。不仅系统地介绍了制造电子计算机的电子管、晶体管、集成电路等基本器件,还讨论了制造器件的金属材料、半导体材料,以及制造半导体器件的工艺技术和良品率等指标。
其他相关书籍对逻辑门的讨论几乎都关注逻辑器件的功能实现,而本书详细讨论了门电路的静态特性和动态特性,在晶体管级讨论了门电路的延迟模型、驱动特性、功耗原理、带负载能力和可靠性等,还详细讨论了缩放原理,给出了不同尺寸器件的物理原理。
时序机是计算机组成和实现的基础和核心,也是数字电路的核心内容。关于时序机的设计分析,在众多书籍中都有详细的讨论。而本书则从另一个视角讨论时序机的内容,涵盖逻辑电路的事件驱动模型、电路网络模型、延迟原理、噪声与可靠性、电源与功耗等。还讨论了集成电路芯片中元器件互连的寄生参数、传输线效应及其等效分析、信号串扰和布线的复杂性。在介绍时序电路的基础上,重点讨论了时钟漂移对时序电路的影响,以及电路进入亚稳态的原因及其后果。
本书从工程角度阐述了计算机系统的组成结构,具体内容包括:详细论述了影响计算机系统可靠性的因素;给出了处理器的结构与布局,详细分析了总线等效模型,进而分析了芯片内的缓冲与延迟模型以及芯片内的时钟树,给出了计算机执行速度的制约因素;分析了计算机系统核心部件之一的存储器架构、性能及其可靠性,以及大容量存储器系统;详细论述了计算机系统的功耗和热传递等重要工程指标;分析了计算机的显示输出设备,以及图像传感器、触摸传感器、传声器、惯性传感器等多种用于信息采集的输入设备的原理;最后介绍了碳纳米管、量子计算机等与计算机相关的最新技术。
本书涉及的知识面非常宽,从玻耳兹曼常数到热传递效率及计算机系统的散热管理,从晶体管制造工艺到集成电路芯片设计再到计算机系统的组成,从RC延迟模型到计算机执行速度,等等。本书对于理解计算机系统的工程原理具有非常重要的参考价值,不仅可作为高年级本科生和研究生的教学参考书,对相关工程技术人员也具有一定的参考价值。
本书由电子科技大学林水生、阎波、覃昊洁、冯健翻译,并由林水生完成校稿和统稿。研究生凤菲菲、魏路、彭海、宋晓雪、罗悦、黎杨、鲁瑶、钟小勇等也参加了本书部分初稿的翻译工作,在此表示感谢!
在翻译过程中,译者力求准确表达原文含义,尽可能使文字流畅易懂。但由于水平和时间所限,难免有疏漏和错误之处,敬请广大读者指正。
译者
2017年12月
前言
数字系统的基本原理是我们学习的重中之重,因为现在我们已经很难再触摸到或看到逻辑电路层面的操作。当我还是学生的时候,大多数系统由电路板搭建而成,而电路板则由小规模集成(SSI)逻辑电路和中规模集成(MSI)逻辑电路组成。我们当时别无选择,必须通过分析电路和信号波形来解决问题。而现在,所有东西都隐藏在一块芯片里面,即使对于电路板来说,连线也更细并且更难以分析。今天,许多学生只知道芯片中处理的是“0”和“1”,而对计算机系统中的电压与电流毫无概念。
本书并不要求学生设计任何东西,而是将带领学生研究决定计算机系统设计空间的基本原理。我认为这些基本原理相对于计算机系统就像控制面板上的旋钮相对于仪表一样:改变旋钮的设置会导致仪表数值发生变化,并且一个旋钮可能会影响几个仪表数值。想想看,这就像是降低MOS电介质厚度之后的连锁效应:晶体管跨导发生变化,进而缩短门电路的延迟,却增大了泄漏电流。
工程师不能只在理想情况下进行系统设计,而应该关注一系列的指标或需求。计算机架构设计的经典指标是性能,或者更准确地说是吞吐量。但实际设计时还必须兼顾一些其他指标,其中最重要的就是能耗以及可靠性。性能、功耗和可靠性都是底层物理现象的基础,并与物理实现有着千丝万缕的联系:改善其中一个指标可能会导致其他指标恶化。就像一句老话,天下没有免费的午餐,这也同样适用于计算机系统设计领域。
计算机工程是一个相对较新的研究领域,刚开始时往往专注于如何设计与归类——如实现某个系统,或者通过不同方式实现某个系统。随着该领域的逐渐成熟,现在可以开始研究其基本原理了。生物学家E. O. Wilson曾说过,“一个领域最初由提出的问题定义,但最终则由这个问题的答案确定。”计算机工程设计领域经过70年的发展,是时候开始思考这个答案了。
我关注计算机系统设计领域很长时间了。多年来,性能一直是计算机系统设计最重要的指标,当然,在ASIC设计领域则更关注面积(也就是成本)。在Perry Cook教授和我开设的关于普适信息系统的课程中,我开始更加认真地考虑其他限制因素,特别是功耗。佐治亚理工学院的这门新课程推动我把这一思路完善成合乎逻辑的结论。
这门课程涵盖了计算机系统的工程设计与物理实现。一些在计算机架构甚至软件设计中最基本的现象,比如内存墙、电源墙、快速暗场(race to dark)等问题,都与其物理基础有关。要想理解这些专业的计算问题,仅有肖克利半导体理论是远远不够的,我们还需要了解热力学、静电学以及大量的电路理论知识。
当我思考本书内容时,我意识到玻耳兹曼常数k是一个关键概念。k随处可见:二极管方程、阿伦尼乌斯方程、温度等,数不胜数。玻耳兹曼常数将温度和能耗联系在一起,因此它理所应当地与本书主题紧密相关。
本书中的某些内容仅针对现代CMOS技术,比如漏电机制,而其他内容则可能适用于大量电路与元器件技术。对于计算机工程师而言,即使CMOS被其他技术所取代,逻辑线网延迟、亚稳态以及可靠性基础也仍然属于应掌握的基础知识。
一些读者可能会觉得本书中的部分内容过于简单和精练,但我希望这些读者能够在本书的其他部分找到浓缩和高深的感觉。理解计算机工作原理的唯一途径就是了解所有相关主题之间的关联,即使在刚开始时关联性表现得并不明显。我们知道设计过程中的一些关键点是相互联系的,因为当调节其中一个参数来优化设计时,却往往发现其副作用会抵消其他优势。本书将用尽可能简单的方式来描述概念,希望读者能够对它们有基本的了解。感兴趣的读者可以自行深入学习,不过本书的主要目的是为计算机物理实现提供统一的描述。
本书同时适用于计算机工程师和电子工程师。但这两类读者具有的知识背景差异很大:计算机工程师往往缺乏电路设计经验,即便他们知道基尔霍夫定律,但仍不擅长电路分析;而电子工程师则往往对计算机体系结构所知甚少。本书写作过程中的一个挑战就是为每一类读者都提供足够多的知识背景。
本书涵盖了大量的发现史和发明史。首先,回顾那些影响当下技术的设计方案,能够使我们认识到一个问题总有多种解决方案,并且能够令我们关注那些经过历史沉淀下来的方案的真正优势。其次,20世纪一些最重要的发明都来自于半导体物理和计算机工程领域。这些发明在未来的几个世纪里仍然有用,但我们不能因为习惯了而忘记对这些发明以及发明家致以深深的敬意。
本书的最初灵感来源于Richard Feynman所著的《Lectures on Computing》一书,但那本书主要讲述量子计算,并没有考虑太多传统计算领域的问题。比如,Feynman并没有提及的亚稳态其实是计算机系统设计中的一个基本物理现象。我们对Feynman在计算机物理本质方面的早期认知致以崇高的敬意,并感谢他所著的《Lectures on Physics》一书,这本书为我们认识计算机底层的基本物理现象提供了一个清晰且简洁的思路。
本书在写作过程中得到了许多人的帮助,他们是:我的朋友及同事Saibal Mukhopodhyay开设了“Physical Foundations of Computer Engineering”课程,他提供了许多具体建议,尤其在可靠性及漏电机制方面,在此对他的耐心及洞察力表示衷心的感谢;Dave Coelho慷慨地提供了有关配电系统的相关信息;Kees Vissers提出了弧焊机电流比较法;Alec Ishii在时钟分配方面提供了建议;Kevin Cao给出了如何最有效地利用预测技术模型(Predictive Technology Model)的建议;Bruce Jacob对DRAM提供了见解;Srini Devadas为附录D提供了建议;Tom Conte提供了关于内核存储、Pentium Pro的内容,并针对当今及未来计算展开了讨论。感谢审稿人的宝贵意见,感谢编辑Nate McFadden为本书的开发及出版提供的指导意见。若你发现本书中的任何错误,可以直接联系我。
玛里琳·沃尔夫(Marilyn Wolf)
亚特兰大