人类文明因为那些我们不假思索即可完成的要务数量的增加而进步。Alfred North Whitehead,数学导论,1911
1.1计算机未来
计算机行业在发生何种激动人心的变革?如果运输行业能够和计算机行业保持同样的发展速度,那么如今我们花一分钱就可以在一秒内从纽约赶到伦敦。稍微思考一下这样的进步会如何改变社会——居住在南太平洋的塔希提岛,而工作在旧金山,晚上去莫斯科参加波修瓦芭蕾舞团的演出——你就能理解这种变革的意义了。
事实上,我们正处在继农业革命,工业革命后的第三次人类革命——信息革命。
每当计算成本降低为原来的1/10时,计算机的发展机遇就会成倍增长。原本出于经济因素而不可行的应用突然变得切实可行。
在不久之前,下述各项应用还曾经只是“计算机科学幻想”:
- 车载计算机
- 手机:
- 人类基因组项目
- 万维网
- 搜索引擎
正在到来的:
- 虚拟现实眼镜
无现金社会
- 自动驾驶汽车
- 人工智能
1.2计算机应用场景
从智能家电到手机再到最大的超级计算机,虽然在计算机中使用了一套通用的硬件技术,但不同的应用具有不同的设计要求,并以不同的方式使用。宽泛地说,计算机主要用于如下三种不同的应用场景中。
- 个人计算机(Personal Computer, PC)。个人计算机强调以低成本向单个用户交付良好的性能,通常运行第三方软件。这类计算方式推动了许多计算技术的发展,尽管它仅有40年的历史!
- 服务器。通常只能通过网络访问,服务器适用于执行巨大的工作负载,通常是科学或工程应用程序,也可以执行许多小型作业,如在大型Web服务器时发生的任务。最高端的服务器则是超级计算机(supercomputer),当前的超级计算机一般由几十万个处理器和数太字节(terabyte)的内存组成,且成本高达几千万甚至数亿美元。超级计算机通常用于高端科学和工程计算,例如天气预报、石油勘探、蛋白质结构测定和其他大规模问题。它们只占据了服务器中相对较小的一部分。
- 嵌入式计算机。应用场景和性能范围也最为广泛。包括汽车、电视机中的微处理器或计算机,以及控制飞机或货船的处理器网络。当今的一个流行术语是物联网(IoT),它暗示着所有小型设备都可以通过互联网进行无线通信。嵌入式应用常常具有特定的应用程序要求,这需要将最低性能与严格的成本及功耗限制结合在一起考虑。以音乐播放器为例,处理器只需要尽快执行有限的功能,除此之外,成本和功耗最小化是最重要的目标。
1.3你能从本书中学到什么
- 高级语言程序C,JAVA等如何编译为机器语言并最终执行?
- 什么因数决定程序性能,如何改进?
- 硬件设计正在用什么技术改进效能?(串行技术...)