1.4 小结
计算机硬件,确切地说是所有类型的数字硬件,从集成电路的发明开始,都在过去60年间经历了呈几何级数的改进。“几何级数”这种说法经常被误解或误用,但是用在这里很精确。每隔一定的时间,电路都在以固定的百分比变得更小、更便宜或性能更强大。最简单的版本是摩尔定律是:每隔18个月左右,固定大小的集成电路中可以安装的设备数目会翻倍。这种能力的巨大增长是数字革命的核心,它极大地改变了我们的生活。
这种能力和容量的增长也改变了计算和计算机的概念。第一台计算机被视为数字处理器,适用于弹道学、武器设计,以及其他科学和工程计算。下一个用途是业务数据处理,诸如计算工资单、生成发票等,然后随着存储成本的降低,又用于管理工资单和账单数据库。随着个人电脑的出现,计算机便宜到任何人都买得起,它们开始被用于个人数据处理、跟踪家庭财务状况和文字处理任务。之后不久,它们也开始用于娱乐,如播放音乐CD,尤其是玩游戏。当互联网出现时,我们的电脑也成为通信设备,提供邮件、网络和社交媒体等功能。
自20世纪40年代以来,计算机的基本结构——有哪些部件,它们的作用如何,以及它们如何相互连接——基本没有改变过。如果冯·诺依曼回来检视今天的计算机,我猜想他会为现代硬件的能力和应用所震惊,但他也会发现自己对其架构毫不陌生。
计算机曾经体积庞大,占据大型空调房间,但它们已经逐步变小。今天的笔记本电脑在保持可用的同时做得尽可能小。我们手机中的计算机同样功能强大,而手机也做得尽可能小。我们的电子产品里面的计算机也很小,大多数情况下,电子产品本身就很小。另一方面,我们经常要处理位于数据中心(再次回到空调房间)某处的计算机。我们用这些计算机购物、搜索、和朋友聊天,甚至没有把它们当成计算机,更不用操心它们可能在哪里——它们就在云里的某个地方。
20世纪计算机科学的伟大见解之一是,无论是如今的数字计算机,还是最初的PC,以及物理上更大但功能较弱的早期计算机,无处不在的手机、可作为计算机使用的设备以及提供云计算的服务器,它们的逻辑或功能特性都是一样的。如果我们忽略速度和存储容量等实际情况,它们都可以计算完全相同的东西。因此,硬件的改进对我们能做什么计算有很大的实际影响,但令人惊讶的是,硬件本身并没有对理论上哪些可以被计算产生根本性的改变。我们将在第3章详细讨论这个问题。