内容简介
本书讲解计算机底层的物理原理。一方面,晶体管正在逐渐缩小到纳米尺度;另一方面,大规模计算机及其数据中心的耗能在大幅增长。这使得实现计算机的性能、功耗和可靠性变得越来越困难。本书描述的物理原理涵盖了计算机的所有抽象层次,使读者从一个崭新的视角来理解计算机系统以及软件和硬件的设计。
目录
目 录
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
2.3.3 半导体材料 19
2.4 固态器件 24
2.4.1 半导体二极管 24
2.4.2 MOS电容器 27
2.4.3 MOSFET的基本操作 30
2.4.4 MOSFET的高级特征 37
2.5 集成电路 40
2.5.1 摩尔定律 41
2.5.2 制造工艺 42
2.5.3 光刻技术 45
2.5.4 良品率 47
2.5.5 特征分离 48
2.6 小结 49
第3章 逻辑门 52
3.1 引言 52
3.2 CMOS反相器 53
3.3 门电路的静态特性 55
3.4 延迟 60
3.4.1 晶体管模型 60
3.4.2 RC模型的延迟 63
3.4.3 驱动与负载 69
3.5 功耗与能量 70
3.6 缩放原理 74
3.7 可靠性 78
3.8 小结 80
第4章 时序机 83
4.1 引言 83
4.2 组合逻辑 83
4.2.1 事件模型 83
4.2.2 网络模型 84
4.2.3 增益与可靠性 86
4.2.4 增益与延迟 88
4.2.5 延迟与功耗 91
4.2.6 逻辑与互连中的噪声和可靠性 91
4.2.7 电源与可靠性 92
4.2.8 噪声与输入/输出耦合 97
4.3 互连 98
4.3.1 寄生阻抗 98
4.3.2 传输线 99
4.3.3 串扰 104
4.3.4 布线复杂度与兰特规则 105
4.4 时序机 107
4.4.1 时序模型 107
4.4.2 寄存器 109
4.4.3 时钟 112
4.4.4 亚稳态 117
4.5 小结 120
第5章 处理器与系统 124
5.1 引言 124
5.2 系统可靠性 125
5.3 处理器 127
5.3.1 微处理器的特性 128
5.3.2 总线和互连 129
5.3.3 全局通信 133
5.3.4 时钟 135
5.4 存储器 139
5.4.1 存储器结构 140
5.4.2 存储器系统的性能 143
5.4.3 DRAM系统 145
5.4.4 DRAM的可靠性 146
5.5 大容量存储器 147
5.5.1 磁盘驱动器 147
5.5.2 闪存 148
5.5.3 存储和性能 151
5.6 系统功耗 151
5.6.1 服务器系统 152
5.6.2 便携系统与电池 154
5.6.3 功耗管理 157
5.7 热传递 157
5.7.1 热传递的特性 158
5.7.2 热传递的模型 160
5.7.3 热与可靠性 165
5.7.4 热管理 166
5.8 小结 167
第6章 输入和输出 169
6.1 引言 169
6.2 显示器 169
6.3 图像传感器 174
6.4 触摸传感器 178
6.5 传声器 179
6.6 加速度计和惯性传感器 180
6.7 小结 181
第7章 新兴技术 183
7.1 引言 183
7.2 碳纳米管 183
7.3 量子计算机 185
7.4 小结 189
附录A 常量与公式 190
附录B 电路 193
附录C 概率 201
附录D 高级主题 203
参考文献 213
前言/序言
前 言The Physics of Computing本书试图从更广泛、更基础的角度来描述计算机工程。一直以来,计算机系统设计采用的都是示例驱动的方法,大量软件都遵循从理论到实现的设计过程——比如排序算法。以前,我们并不能十分确定计算机系统设计中的一些关键问题,因此需要针对特定的系统需求进行分析研究,但是现在,我们已经能够对其中的许多问题进行普适描述。本书中计算机工程设计方法的核心则是那些更基础的理论。
数字系统的基本原理是我们学习的重中之重,因为现在我们已经很难再触摸到或看到逻辑电路层面的操作。当我还是学生的时候,大多数系统由电路板搭建而成,而电路板则由小规模集成(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)亚特兰大
计算机工程的物理基础 epub pdf mobi txt 电子书 下载 2024
计算机工程的物理基础 下载 epub mobi pdf txt 电子书 2024