---
schema_version: "library-reader-v1"
source_type: "original_book"
title: "编码 隐匿在计算机软硬件背后的语言"
author: null
edition: null
publisher: null
year: null
isbn: "9787121181184"
library_document_id: "38270854-596f-4a26-8183-db8c968c6020"
source_sha256: "249786274d83909f0bddc34d77f81ed8f0b14d1eac8843c772a37a3ecbfe2cfc"
pdf_physical_page_count: 438
pdf_physical_page_index_base: 0
range_start: 270
range_count: 10
html_url: "https://workshop.closeclaw.top/api/ai/read/38270854-596f-4a26-8183-db8c968c6020?start=270&limit=10"
markdown_url: "https://workshop.closeclaw.top/api/ai/read/38270854-596f-4a26-8183-db8c968c6020.md?start=270&limit=10"
previous_url: "https://workshop.closeclaw.top/api/ai/read/38270854-596f-4a26-8183-db8c968c6020.md?start=260&limit=10"
next_url: "https://workshop.closeclaw.top/api/ai/read/38270854-596f-4a26-8183-db8c968c6020.md?start=280&limit=10"
---

# 编码 隐匿在计算机软硬件背后的语言

> 页码规则：PDF_PHYSICAL_PAGE_INDEX 是从 0 开始的权威文件物理页索引；PRINTED_PAGE 是页面中识别出的印刷页码，可能为空，二者不得混用。

## PDF_PHYSICAL_PAGE_INDEX=270 | PRINTED_PAGE=254

成的自画像。

在18世纪（直到20世纪40年代），计算机就好比一个以计算维持生计的人，而计算能力就好比计算机的生命线。在这个用天上星辰进行航海导航的时期，经常要用到对数表，而三角函数表对航海导航也非常重要。此外，如果你想要发表新数学表，就需要使用许多台计算机，让它们一起工作，最后将所有的结果汇总成一张表。当然，从初始计算到设置打印最终结果，每一个阶段都可能会出现意想不到的错误。

为了消除数学表中错误，英国数学家和经济学家查尔斯·巴贝芝（Charles Babbage，1791-1871，见右图）勤奋工作，他和塞缪尔·莫尔斯（Samuel Morse）差不多是同时代的人。

在那个时期，数学表（例如对数表）并没有计算表中每一一项的确切对数值，因为那样做将耗费太多时间。取而代之的方法是选择性的对数计算，即选取一些数字进行对数计算，而对于介于

这些数字之间的数的对数则采用插补法进行填充，即差分法(differences)，通过相对简单的计算求得结果。

大约在1820年，巴贝芝认为他可以设计制造一台可以自动建表，甚至可以自动设置打印类型的机器，这种机器可以完全消除上述错误。因此他设想出了差分机（DifferenceEngine)，从本质上讲差分机是一个大型机械加法器。在差分机中，多位的十进制数通过可以啮合在10个不同位置的轮子表示，而负数用10的补数来表示。尽管早期一些模型表明巴贝芝的设计是完全可行的，而且他也获得了英国政府的一些资金支持（当然不是很多)，但差分机却从来没有完成过，在1833年，巴贝芝放弃了这项工作。

可正在那个时候，巴贝芝有了一个更好的想法，那就是解析机（AnalyticalEngine)，他的后半生一直都在不断重复地设计与修改（其间还制作过几个小模型以及部分构件）这个机器，直到其生命的尽头。解析机是19世纪最接近于计算机的器件，在巴贝芝的设计中，解析机包含一个存储部件（类似于现在存储器的概念）和一个运算部件（类似于算术逻辑单元)。乘法可以通过重复的加法运算求解，同样的，除法可以通过重复的减法求解。

解析机最令人着迷的地方在于，可以使用改造的杰奎德织布机中的卡片来编程。正如奥古斯塔·艾达·拜伦(Augusta AdaByron，1815-1852)，即拉弗雷斯女伯爵对解析机的评价(这句话出于她翻译的一篇由意大利数学家撰写的关于巴贝芝解析机的文章)：“我们可以肯定地说，正如杰奎德提花织布机织出了花瓣和树叶，解析机编织出了代数的结构模型。”

编码—隐匿在计算机软硬件背后的语言

254

## PDF_PHYSICAL_PAGE_INDEX=271 | PRINTED_PAGE=NOT_DETECTED

巴贝芝大概是第一个意识到条件跳转在计算机中重要性的人，关于这个问题，奥古斯塔·艾达曾写下这样一段话“操作循环（cycle)，应该这样去理解：

它意味着某个操作集（set of operations）重复执行的次数不止一次。它的次数可以是仅仅两次或者是无限次，但它们实际上都是组成操作集的操作被重复执行了。在很多实例的分析中，我们经常会看到由一个或多个循环构成的重复组群(recurringgroup)，也就是循环中包含的一个循环或者多个循环。”

尽管在1853年差分机最终由一对父子——乔治(George)和爱德华·舒尔茨(EdvardScheutz)制造出来，但已经被人们遗忘了好多年的巴贝芝设计的差分机，直到20世纪30年代才因为人们开始探索20世纪计算机的起源时而重新被提起。那时，巴贝芝所做的一些工作已经都被后来的技术超越，除了超前的自动化观念，他所做的工作对20世纪计算机工程来说几乎没有可以利用的。

计算史上另一个转折点源于美利坚合众国宪法第一条第二款。这一款其中要求每10年进行一次人口普查。1880年的人口普查要求登记居民的年龄、性别以及国籍信息，每一次人口普查的数据采集工作都要花费大约7年的时间。

人口普查局的官员们担心1890年的人口普查的数据采集和处理可能会花费10年以上的时间，因此他们研究了在工作中使用自动系统的可能性，

霍尔瑞斯的设计需要使用大小为 $6 { \frac { 5 } { 8 } } \times 3 { \frac { 1 } { 4 } }$ 寸马尼拉（manila）穿孔卡片（尽管霍尔瑞斯不了解巴贝芝是怎样在解析机中利用卡片编制程序的，但他对杰奎德织布机中如何使用卡片却非常熟悉)。卡片上的孔按24列每列12个位置排列，共计288个位置。这些点代表了在人口普查中需要记录的一个人的特征，人口普查工作人员通过在卡片适当的位置上打1/4英寸的方孔来标记上述的特征。

18 从算盘到芯片

255

## PDF_PHYSICAL_PAGE_INDEX=272 | PRINTED_PAGE=256

在读本书时你可能会习惯性地想到二进制编码，而且你或许立刻会猜想，可以利用卡片上的288个穿孔来存储288位的信息，但是卡片的使用方式并非如此。

举例来说，在纯二进制系统中使用的人口普查卡片上应该有一个位置代表性别，在该位置穿孔则代表男性，不穿孔则代表女性（或与此相反）。但是在霍尔瑞斯设计的卡片中使用了两个位置代表性别，其中第一位置穿孔代表男性，另外一个位置穿孔代表女性。同样的，人口普查工作者通过两个穿孔来标识普查对象的年龄，第一个穿孔指定一个以5年为间隔的范围：如0\~4，5\~9，10\~14，等等。第二个穿孔则表示对象处于该年龄段(5年)中的哪一年，即可推算出对象的准确年龄。对年龄进行编码共计需要28个打孔位置，而在纯二进制系统中只需要7个位置就可以对0\~127的所有年龄进行编码。

霍尔瑞斯在记录人口普查信息时没有中使用二进制系统是可以理解的：对于1890年人口普查工作者来说，将年龄转换为二进制数字，这个要求太高了。穿孔卡片系统不能是完全的二进制系统，这里还有一个实际的原因，真正的二进制系统可以产生（几乎）所有孔都被打穿的情况，这将使得卡片极易碎裂，而且看上去也不美观。

可以对人口普查的数据做统计分析或将其制作成表格（tabulated)。比如，你希望了解每一个人口普查行政区中居住着多少人，当然，人口的年龄段的分布也是一个比较令人感兴趣的信息。为了达到这些目的，霍尔瑞斯制造了制表机，它是组合了人工操作以及自动功能的半自动化工具。操作人员把一个有288个弹簧针的板子压到每一个卡片上，每一根弹簧针对应于卡片上的一个穿孔位置，当弹簧针与水银池中的水银接触时，形成通路，这个电路触发电磁体即可进行十进制计数。

霍尔瑞斯在卡片分类机上也使用了电磁体。例如，如果需要收集所统记的每一种职业中人员的年龄分布信息，首先需要将卡片按照职业进行分类，然后分别对每种职业中人员的年龄信息进行统计。分类机使用和制表机中一样的手压方式，不同之处在于分类机使用的电磁体可以将26个间隔区域中任意一个的舱口打开。操作者把对应的卡片通过舱口放入间隔区域，之后再手动关闭舱口。

在1890年人口普查中使用这种自动化技术的实验取得了令人瞩目的成就，在这个实验中总共加工处理了超过6200万张卡片，数据量是1880年人口普查的两倍，但时间却只用了后者的三分之一，自此，霍尔瑞斯和他的发明闻名四海。1895年，他还到访了莫斯科，俄国人欣喜地购买了他的设备，并于1897年将其首次应用在俄国人口普查中。

编码—隐匿在计算机软硬件背后的语言

256

## PDF_PHYSICAL_PAGE_INDEX=273 | PRINTED_PAGE=257

赫尔曼·霍尔瑞斯此后一发不可收拾。1896年，他创办制表机公司（TabulatingMachine Company)，租借并出售其穿孔卡片设备。到1911年，由于公司的合并，制表机公司更名为计算制表记录公司（Computing-Tabulating-Recording Company)，或者叫做C-T-R 公司。再到1915年，托马斯J·华盛顿（Thomas J.Watson，1874-1956)成为 C-T-R公司的总裁，他在1924年将公司的名字更改为国际商业机器公司（International BusinessMachines Corporation)，即 IBM。

到1928年，在1890年人口普查中最初使用的卡片逐渐演变为著名的IBM卡片，“donot spindle, fold, or mutilate”，这种卡片有80列12行，使用了将近 50年，甚至在其后期，还有人把它们叫做霍尔瑞斯卡片。关于这些卡片的遗留问题将在第20、21和24章中进一步的讲述。

进入到20世纪之前，让我们重新审视一下19世纪这一百年。因为主题所限，本书更多的关注的是数字性质的发明，其中包括电报、盲人用点字法、巴贝芝机器，以及霍尔瑞斯卡片。而在与数字概念以及相关设备打交道时，你会发现整个世界皆为数字。但是，19世纪的发现和发明确切的来讲不是数字的。实际上，通过感官所认识的大自然中只有很少一部分是数字的，更多的时候表现为不可分割的整体。

尽管霍尔瑞斯在他的制表机以及分类机中使用了继电器（relays)，但是人们直到20世纪30年代中期才开始用继电器来构建计算机—它们最终被叫做机电化(electromechanical）计算机。在这些机器中使用的继电器不同于一般的电报继电器，后者的主要作用是为了完善电话系统的路由控制。

早期的继电式计算机与上一章中的继电式计算机不是同一个概念（我们随后会学到，从20世纪70年代开始，这种继电式计算机依靠微处理器进行计算)。需要特别说明的一点，尽管现代计算机内部使用二进制数，但早期的继电式计算机并非如此。

我们的继电式计算机与早期的继电式计算机存在另外一个不同点，那就是在20世纪30年代，没有人能够疯狂到用继电器制造出524,288位的存储器！资金的花费、空间的占用和能源的耗费使得制造如此大的存储器变得不大可能。可得到的极少存储器也只用来存储中间结果，而程序本身则存储在一些物理媒介上面，例如带穿孔的纸带。实际上，将代码和程序放入到存储器进行处理是后来发明的做法。

18 从算盘到芯片

257

## PDF_PHYSICAL_PAGE_INDEX=274 | PRINTED_PAGE=258

下面按时间顺序进行介绍，第一台继电式计算机由康拉德·楚泽（Conrad Zuse，1910-1995）制造，1935年还是工科学生的他在其父母位于柏林的家中制造了这台机器。这台机器中使用了二进制数，但其早期的版本中使用的是机械存储器而非继电器。楚泽使用老式35毫米电影胶片进行穿孔，然后在上面编制程序。

1937年，贝尔电话实验室（Bell Telephone Laboratories）的乔治·史提必兹（GeorgeStibitz，1904-1995）将一对电话继电器带回了家中，并在他厨房的桌子上连接了一个1位加法器，后来他妻子将其称之为K机器（K是厨房“kitchen”的头一个字母)，这个实验促使1939年贝尔实验室中复数计算机的诞生。

同一时期，哈佛大学研究生霍华德·艾肯（Howard Aiken，1900-1973）要寻找做大量的重复计算的方法，而正是他的这一需求促使哈佛大学与IBM合作，并最终在1943年创造出一台自动连续可控计算机（Automated Sequence Controlled Calculator，ASCC)，也就是闻名于世的HarvardMarkI。这是第一台可以打印表格的数字计算机，它最终将查尔斯·巴贝芝的梦想付诸于现实。MarkⅡ是最大的继电式计算机，使用了13,000个继电器。哈佛大学计算机实验室当时的主任是艾肯，也正是他讲授了计算机科学的第一次课。

对于构造计算机来说，继电器不是最完美的设备，因为它们是机械性的，利用金属片的弯曲和伸直状态进行工作，而频繁的工作可能导致其断裂，另外如果接触点之间有污垢或者卡住纸屑，也会导致继电器失效。1947年发生了一件著名的事故，人们从MarkⅡ计算机的一个继电器中发现了一只飞蛾。格蕾丝·莫瑞·赫柏（Grace Murray Hopper，1906-1992）于1944加入了艾肯的团队，日后成为了计算机编程语言领域非常著名的人物。他将上面提到的那只飞蛾用带子绑在计算机日志（logbook）上，并在其边上注明“第一个被发现的有生命的bug”。

真空管（vacuum tube）是一种可以替代继电器的元件，它是由约翰·安布罗斯·弗莱明(John Ambrose Fleming，1849-1945)和李·德·福雷斯特(Lee de Forest，1873-1961)在进行无线电通信连接研究时开发出来的。到20世纪40年代，真空管已经被广泛应用于放大电话信号，实际上，那时几乎每一个家庭都拥有一台带有发光二极管可控收音机，它们能放大无线信号，并且把它们变成还原为人们能听见的声音。真空管同样可以通过连接成与门、或门、与非门，以及与或门这一点很像继电器。

编码隐匿在计算机软硬件背后的语言

258

## PDF_PHYSICAL_PAGE_INDEX=275 | PRINTED_PAGE=259

究竟是由继电器还是由真空管组成这些逻辑门并不重要，重要的是这些逻辑门可以被装配组合成加法器、选择器、解码器、触发器，以及计数器。不论真空管何时取代继电器，前面章节中讲述的关于基于继电器部件的一切同样是有效的。

真空管同样存在自身的问题，比如，价格昂贵、耗电量大，以及产生的热量太多。可是，其最大的问题是真空管最终会被烧坏，如同人活一世一样，是无法改变的事实。那时，拥有真空管收音机的人们习惯于定期更换真空管，而电话系统设计时有很多冗余的真空管，所以一个真空管的报废有时并不是什么大事（不管怎样，人们不会期待电话系统是完美无瑕的)。可是在计算机中，当一个真空管烧坏时并不可能立刻被检测到，此外，一台计算机拥有数量巨大的真空管，按统计学来分析，每隔几分钟就会烧坏一个。

用真空管取代继电器的最大好处在于真空管的状态可以在百万分之一秒(μs)内发生转变。真空管状态转变（开关的打开与关闭）的速度比继电器要快1000倍，继电器在其最好状态下状态的转变也需要1ms，即于分之一秒。十分有趣的是在计算机的早期发展中，计算速度并不是主要考虑的问题，而这个时期的计算速度与从纸张或者电影胶片中读取程序的速度有关。由于当时的计算机都按照这种方式构建，因此采用真空管比继电器到底计算速度提升了多少，并不重要。

但是在20世纪40年代初期，新设计的计算机中真空管开始取代继电器。到1945年，真空管已经完全取代了继电器。虽然继电器计算机被称为电动机械计算机，但真空管是第一台电子计算机的基础。

在英国，巨像(Colossus)计算机(1943年首次投入使用)用来破译德国名为“Enigma”代码生成器产生的代码，艾伦·M·图灵（AlanM.Turing，1912-1954）为这个项目（以及英国后来几个的计算机项目）做出了巨大贡献，图灵撰写了两篇非常有影响的论文，这使他如今成为计算机领域的鼎鼎大名的人物。第一篇论文发表于1937年，首次提出了“可计算性”（computability)这个概念，用来分析哪些事情计算机可以做到，哪些做不到。他为计算机构想了一个抽象模型，这就是现在为人所熟知的图灵机(TuringMachine)。图灵第二篇非常有名的论文是关于人工智能的，在这篇论文中他介绍了一种测试机器智能的方法，即现在为人熟知的图灵测试法（TuringTest)。

18 从算盘到芯片

259

## PDF_PHYSICAL_PAGE_INDEX=276 | PRINTED_PAGE=260

在摩尔电子工程学院（宾夕法尼亚大学)，J·普利斯普·埃克特（J. Presper Eckert，1919-1995）和约翰·莫克利（John Mauchly，1907-1980）设计了ENIAC（ElectronicNumerical Integrator and Computer，电子数字积分计算机)，使用了18,000 个真空管并最终在1945年底完成。按全部吨位算（大约30吨），ENIAC是曾经（或许以后也是）制造出来的最大的计算机。到1977年，人们可以在Radio Shack买到速度更快的计算机。埃克特和莫克利想为计算机申请专利，可是却被竞争者约翰·V·安塔纳索夫（JohnV.Atanasoff，1903-1995）阻扰了，他更早一步设计了一台电子计算机，但它运行得并不顺畅。

ENIAC吸引了数学家约翰·冯·诺依曼（John vonNeumann，1903-1957）的眼球。从1930年开始，出生在匈牙利的冯·诺依曼就定居美国。作为一名令公众瞩目的人物，因其仅凭自己的大脑就能进行复杂的数学计算而闻名，冯·诺依曼当时是普林斯顿高级研究院的一名数学教授，研究范围很广，从量子力学到游戏应用，甚至到经济理论。

约翰·冯·诺依曼协助设计的ENIAC的后续产品EDVAC(Electronic Discrete Variable Automatic Computer)。特别是在1946年与亚瑟·W·伯克斯（Arthur W.Burks）和荷曼·哥斯廷（Herman H. Goldstine)共同执笔的题为“电子计算器件逻辑设计的初步分析及讨论（Preliminary Discussion of theLogical Design of an Electronic Computing Instrument )”的论文中，他描述了几个EDVAC 比 ENIAC更加先进的特点。EDVAC的设计者们感觉到计算机内部中应当使用二进制数，而ENIAC使用的是十进制数。同时他们认为计算机中应当拥有

尽可能大容量的存储器，这些存储器应该用来存储程序代码和程序执行中产生的数据(再说明一下，这些在ENIAC中都是不能实现的，对于ENIAC来说，编程不过是扳动开关和插拔电线的事情)。这些指令在存储器中是顺序存放的，而且可以由程序计数器进行寻址，但允许条件跳转。这就是著名的“存储程序概念”（stored-program concept)。

这些设计上的决策是计算机历史中非常重要的一个进化阶段，现在我们称之为“冯·诺依曼结构”。上一章中设计的计算机就是一个经典冯·诺依曼计算机。但是伴随着冯·诺依曼结构，又出现冯·诺依曼瓶颈（vonNeumannbottleneck)。在冯·诺依曼计算机中，为了执行指令通常需要花费大量的时间先将这些指令从存储器中取出来。我们仔细回忆一下，第17章中最后设计的计算机需要花费3/4的时间用来取指令。

编码—隐匿在计算机软硬件背后的语言

260

## PDF_PHYSICAL_PAGE_INDEX=277 | PRINTED_PAGE=261

在EDVAC的那个时期，考虑到成本效益，用真空管制造大容量存储器是不可行的，因此那时提出了一些临时的替代方案。其中一个成功的方案是“水银延迟线路存储器”(mercury delay line memory)，它使用 5 英尺水银真空管，在管子的一端每隔 1μs 向水银发送一个短脉冲，这些短脉冲大约需要1ms到达管子的另一端（可以如同检测声波一样检测到这些短脉冲，并折回开始端)，因此一个水银管可以存储大约1024位的信息。

直到20 世纪 50年代中期人们才开发出了“磁芯存储器”（magnetic core memory)。众多的被磁化的小金属环由电线串起来组成了磁芯存储器。每一个小金属环可以存储1位信息。磁芯存储器沿用了很长一段时间才被别的技术取代，所以常常会听见老一辈程序员们把存储器的访问过程叫做“访问磁芯”。

20世纪40年代，对计算机本质进行概念化设想的并非只有约翰·冯·诺依曼一人。

克劳德·香农（Claude Shannon，生于1916年）是另外一个非常有影响力的思想家。在第11章中讨论了他1938年的硕士论文，正是这篇文章确定了开关、继电器以及布尔代数之间的关系。在1948年为贝尔电话实验室工作期间，香农在Bell System Technical Journal上发表了一片题为“通信过程中的代数理论”(A Mathematical Theory of Communication)的文章，在这篇文章中他不仅将“位”的概念介绍给了世界，更开创了一个新的研究领域，即著名的“信息论”（information theory）。信息论研究的是数字信息在有噪声（这些噪声通常阻止信息的通过）的情况下传输，以及如何弥补因噪声产生的损失。1949年，他撰写了第一篇关于如何编程可以让计算机下棋的文章，1952年他设计了一个通过继电器控制的机械鼠，它可以在一个迷宫中记住路径。骑单车、变戏法这些耍宝也使得香农在贝尔实验室声名鹊起。

诺博尔特·韦纳（Norbert Wiener，1894-1964）从哈佛大学获得数学博士学位时只有18 岁,其撰写的 Cybernetics, or Control and Communication in the Animal and Machine( 1948年）一书使他闻名于世。他使用新创词汇“控制论”（cybernetics：源于希腊语舵手）表示人类和动物的生物过程同计算机和机器人的机械原理之间的关系。大众文化中，人们普遍使用cyber作为前缀表示与计算机相关的一切，最著名的一个词，数百万台计算机通过因特网相连被称做“cyberspace”(网络空间)，这个词源于计算机科幻小说作家威廉·吉布森（William Gibson）在1984年发表的小说 Neuromancer中“cyberpunk”一词。

18 从算盘到芯片

261

## PDF_PHYSICAL_PAGE_INDEX=278 | PRINTED_PAGE=262

1948年，埃克特与莫奇利（Eckert-Mauchly）计算机公司（后来成为雷明顿兰德公司一部分）开始开发第一台商用计算机通用自动计算机，或者称为UNIVAC。这台机器于1951年完成，此后就被送到了人口普查局。UNIVAC在网络应用方面的首次亮相在哥伦比亚广播公司，它被用来预测1952年的总统选举结果。沃尔特·克朗凯特（WalterCronkite）将 UNIVAC称做“electronic brain”（电脑)。同样是在1952年，IBM发布了其第一个商用计算机系统，代号701。

自此开始了漫长的公司和政府的计算历史。尽管这段历史很有趣，但我们要追踪另一段历史——如何缩减计算机成本和体积以及让其走入寻常百姓家，这开始于1947年一个鲜为人知的电子技术突破。

许多年以来，贝尔电话实验室是一个让天才们对他们感兴趣的一切事物进行研究的地方。非常幸运的是，他们其中的一些人对计算机有浓厚的兴趣。上面提到的乔治和香农就是在贝尔实验室工作时对早期的计算机发展做出了重大贡献。后来，在20世纪70年代，贝尔实验室成为很有影响的计算机操作系统UNIX和编程语言C的诞生地，我们将在下面章节中介绍。

当AT&T（美国电话电报公司）正式将科学与技术的研究同其他的业务分割时，贝尔实验室内部结构发生了改变，在1925年1月1日成立了子公司。贝尔公司的最初目的是发展改良电话系统的相关技术，幸运的是在这种非常模糊的目标下可以做很多技术研究但是对于电话系统而言，一个显而易见的长期目标是通过电线不失真的传播语音信号。

从1912年开始，贝尔系统致力于真空管放大器的研究，为了能让电话系统使用真空管，对其进行了相当数量的研究和设计方面的改进。尽管做了大量的工作，真空管仍然有许多必须改进的地方。真空管体积太大、耗能大，并且最终会烧毁，但是，它们在当时是唯一的选择。

1947年12 月16日，当贝尔实验室的两个物理学家约翰·巴丁（John Bardeen，1908-1991）和沃尔特·布兰坦（WalterBrattain，1902-1987）制作出另一种放大器时，所有的一切都发生了改变。这种新型的放大器用一块锗（一种半导体元素）平板和一条黄金薄片制成。一周之后，他们将这个东西演示给他们的老板威廉·肖克利（William

编码隐匿在计算机软硬件背后的语言

262

## PDF_PHYSICAL_PAGE_INDEX=279 | PRINTED_PAGE=263

Shockley，1910-1989)。这就是第一个“晶体管”(transistor)，它被一些人称为20世纪最重要的发明之一。

晶体管并不是凭空产生的。因为早在8年前，即1939年12月29日，肖克利在他的笔记本上写道“今天我突然想到，使用半导体来制作放大器从原理上讲比使用真空管更为可能。”在晶体管诞生后的几十年里，人们不断地完善它。1956年肖克利、巴丁和布兰坦“因为他们在半导体上的研究以及晶体管效应的发现”获得了当年的诺贝尔物理学奖。

在本书的开始部分探讨了导体和绝缘体。导体因为它们可以有利于电流的通过而得名。铜、银以及金都是很好的导体，元素周期表中这三种元素同属一列并非巧合。

前面谈到过，原子中的电子分布在原子核外，并围绕原子核运动。这三种导体的共同特征是在原子核最外层都有一个单独的电子，而这个电子可以很容易地与原子中的其他电子剥离，因此可以自由移动形成电流。与导体对应的是绝缘体比如橡胶和塑料一几乎不能导电。

锗元素和硅元素（以及一些化合物）被称为“半导体”（semiconductor)，之所以称为“半导体”并不是因为它们的导电性能是导体的一半，而是因为它们的导电系数可以通过多种方式操控。半导体的原子核在最外层有4个电子，是外层所能拥有的最大电子数目的一半。纯半导体中，原子之间形成稳定的化学键以及类似金刚石的结构。这种半导体不是良好的导体。

但是，半导体可以掺入一些杂质，即与某些杂质组合。一种类型的杂质称做N型（N表示negative）半导体，它们为原子之间的结合提供额外的电子。另外一种类型的杂质被称做P型半导体。

把一个P型半导体夹在两个N型半导体之间可以使之成为一个放大器。这就是著名的NPN晶体管，其三部分分别为集电极(collector)、基极(base)，以及发射极(emitter)。

下面是NPN晶体管原理示意图。

18 从算盘到芯片

263

下一段：[继续读取](https://workshop.closeclaw.top/api/ai/read/38270854-596f-4a26-8183-db8c968c6020.md?start=280&limit=10)
