



本书的一个目的,是描述计算机如何影响我们生活的世界。为了做到这一点,我将描述所涉及的技术和过去十年中出现的各种应用—主要集中于应用程序。
首先介绍计算机的基本体系结构;我将在第二章更详细地描述这个架构。如图1所示。图中的原理图既描述了最早的计算机,也描述了最新的计算机:计算机的基本体系结构在六十年里没有发生任何变化。
每台计算机的核心是一个或多个被称为处理器的硬件单元。处理器控制着计算机的工作。例如,它会处理你在电脑键盘上输入的内容,在屏幕上显示结果,从互联网上获取网页,并进行诸如将两个数字相加之类的计算。它通过“执行”一个计算机程序来实现这一点,该程序详细说明了计算机应该做什么,例如读取一个经过文字处理的文档,更改一些文本,并将其存储到一个文件中。
图1中还显示了存储。数据和程序存储在两个存储区。第一个被称为主存储器,它的特性是,无论存储在那里的是什么,都可以非常迅速地检索出来。主存储器用于存储瞬态数据—例如,一个计算的结果,它是一个更大计算的中间结果—也用于存储正在执行的计算机程序。主存储器中的数据是暂时的—当计算机关闭时,它就会消失。
硬盘存储器,也被称为文件存储或备份存储,包含了一段时间内所需要的数据。存储在这一存储器中的典型实体包括数字数据文件、字处理文档和电子表格。计算机程序在不执行时也存储在这里。
主存储器和硬盘存储器之间有许多不同之处。首先是检索时间。有了主存储器,处理器可以在几分之一微秒内检索到一项数据。在文件存储器中,检索时间要长得多;大约是毫秒量级。这样做的原因是,主存储器是硅基的,读取数据所需的一切都是通过电子电路发送的。正如你稍后将看到的,硬盘存储器通常是机械的,并且存储在磁盘的金属表面,其使用机械臂检索数据。
图1 计算机的体系结构
这两种存储器的另一个区别是,主存储器比文件存储器更昂贵;因此,电脑的主存储器通常比文件存储器少得多(我的笔记本电脑主存储器为3千兆字节,文件存储器为500千兆字节)。计算机的另一组组件是输入设备。它们将用户对计算机执行程序的要求传递给计算机。你最常遇到的两个设备是键盘和鼠标。然而,还有其他一些设备:苹果公司的iPod上的触摸屏与卫星导航系统和核电站的压力监测器是另外两个例子。
计算机的最后一个组成部分是用来显示结果的一个或多个硬件设备。这样的装置有很多种。你最熟悉的是电脑显示器和激光打印机;不过,它也可以包括足球比赛等活动中的广告显示器、飞机驾驶舱中显示飞行数据的控制台、用于生成超市收据的迷你打印机,以及卫星导航设备的屏幕。我在本书中使用的计算机的工作定义是:
计算机包含一个或多个处理数据的处理器。处理器连接到数据存储器。操作者的意图是通过若干输入设备传达给计算机。处理器执行的任何计算结果都将展示在若干显示设备上。
你可能认为这种说法既迂腐又不证自明;然而,我希望你能看到,随着本书的展开,对于计算机有许多激进的解释。
在离开本节之前,我们有必要看一看计算机性能增长的另一个指标。奥哈拉和沙德博尔特在其优秀著作《咖啡机里的间谍》中,描述了基于计算机的国际象棋所取得的进步。要想下好国际象棋,你需要预先考虑好一系列的走法,并评估你的对手对这些走法的每一步会如何应对,然后再决定你该如何走出每一步,依此类推。优秀的棋手在头脑中储存大量数据,能够进行快速评估。正因为如此,计算机一直被视为潜在的好棋手。
已经编写的国际象棋程序有效地存储了大量的走法和对弈,并能很快地对它们进行评估。奥哈拉和沙德博尔特描述道:在1951年,一台计算机只能提前考虑两步棋;在1956年,一台计算机可以在一个更小的棋盘上玩一盘非常有限的国际象棋,但走一步棋要花十二分钟以上。然而,在1997年,一台计算机打败了世界冠军加里·卡斯帕罗夫。这种进步,部分是由于游戏软件技术的改进;而主要原因是计算机的运行速度越来越快。