计算机的发展历程
- 导言
- 什么是计算机系统
- 计算机系统 = 硬件+软件
- 因此,计算机性能的好坏取决于“软”、“硬” 件功能的总和。
- 硬件的发展
- 计算机发展阶段
- 第一代:电子管时代
- 第二代:晶体管时代
- 第三代:中小规模集成电路时代
- 第四代:大规模、超大规模集成电路时代
- 人物时间线
- 摩尔定律
- 软件的发展
- 软件的分类
- 目前的发展趋势
- 两极分化
导言
计算机由硬件,操作系统和软件组成,不同的计算机之间通过计算机网络进行连接,从而形成了完整的信息化世界。我们要学习的计算机组成原理,简称计组,就是计算机中的底层硬件部分。
常见的硬件包括:
- CPU
CPU正反面图如下。
从图片我们可以看出,CPU背面全是金属针脚,这些针脚需要插入电脑主板。
2. 内存条
与CPU一样,内存条的下部也有很多金属针脚,它们也需要插入电脑主板。
无论是CPU还是内存条,它们的金属针脚都是用于发送/接收二进制数据(电信号)的通道。
二进制数据是计算机硬件唯一能识别的数据,0/1分别对应着低电平/高电平。
主板上的印刷电路是嵌在电路板上的电线,用于传电信号,如下图。
通过很多条电路,可以传递多个二进制数位,每个二进制数位称为1bit。
什么是计算机系统
计算机系统 = 硬件+软件
硬件指的是计算机实体,如主机、外设等;
软件则是由具有各类特殊功能的程序组成,如操作系统、APP等。
硬件是计算机系统的物理基础,决定着该计算机系统的天花板和瓶颈;
软件决定着能把硬件性能发挥到什么程度。
因此,计算机性能的好坏取决于“软”、“硬” 件功能的总和。
硬件的发展
那么,硬件的发展历程是什么样的呢?
计算机发展阶段
第一台电子数字计算机 ENIAC 1946年诞生。第二次世界大战后期投入军用。
这台计算机占地面积约 170 平方米
耗电量 150 千瓦
运算速度 5000 次加法/秒
美国请来资深顾问冯·诺依曼,采用电子管作为逻辑元件,逻辑元件是用来处理电信号最小的基本单位,而ENIAC中包含了1.8万个电子管。
ENIAC 拉开了计算机硬件发展的序幕。
第一代:电子管时代
以 ENIAC 为代表的计算机所在的时代被称为电子管时代,因为它们的逻辑元件都是电子管。
由于受到电子管体型的限制,这一代计算机特点为:体积超大、耗电量超大。
并且,由于计算机只能识别到 0/1,程序员需要使用机器语言编程。
通过纸带打孔表示 0 和 1,如果纸带中飞入一只小虫,就极有可能导致程序出错,因此有了 bug。
第二代:晶体管时代
后来,著名的贝尔实验室发明了晶体管,晶体管相较于电子管体积明显减小,功耗也明显降低,以它作为电子元件可以设计更加复杂的电路。
出现了面向过程的程序设计语言:FORTRAN
为了让计算机有自我管理功能,连续完成一系列任务,操作系统的雏形出现了。
可由于在这个阶段需要通过手工焊接将几万甚至几十万个晶体管焊接至电路,焊点出错就极有可能导致故障,因此硬件还是很不可靠的。
第三代:中小规模集成电路时代
为避免手工焊接可能造成的故障,第三代计算机将逻辑元件集成到基片上,使得计算机变得更小,功耗变低,可靠性变高。
在这个时期,计算机高级语言迅速发展,分时操作系统出现。主要用于科学计算等专业用途,未进入个人生活。
第四代:大规模、超大规模集成电路时代
随着继承工艺的提升,进入第四代大规模、超大规模集成电路时代,开始出现“微处理器”、“微型计算机”。
微处理器即 CPU。
以苹果A13为例,苹果A13的制造工艺为7nm,即每个元件的宽度是7nm,指甲大小就有85亿个逻辑元件,也就是晶体管。
微处理器的发展历程如下:
其中,机器字长代表计算机一次整数运算所能处理的二进制位数,机器字长的增长也直接提升了运算速度。
微型计算机即个人计算机(PC)的萌芽。微型计算机的发展以微处理器技术为标志。
也出现了操作系统:Windows、MacOS、Linux……
人物时间线
- 1947年,贝尔实验室发明了“晶体管”。
晶体管之父:威廉·肖克利,1957年诺贝尔物理学奖得主。
- 1955年,肖克利在硅谷创建肖克利实验室股份有限公司。
吸引到摩尔、罗伯茨、克莱纳、诺伊斯、格里尼克、布兰克、赫尔尼、拉斯特八人。 - 1957年,八叛徒创立仙童半导体公司
- 1959年,仙童半导体公司发明“集成电路”
- 1968年,摩尔等三人离开仙童,创立 Intel
- 1969年,仙童销售部负责人桑德斯离开仙童,创立 AMD
这两家公司是后来超大规模集成电路的推行者。
摩尔定律
揭示了信息技术进步的速度:
集成电路上可容纳的晶体管数目约每隔18个月便会增加一倍,整体性能也将提升一倍。
主存的发展也符合摩尔定律:
软件的发展
软件的分类
- 应用软件
用来管理整个计算机系统。
Eg:操作系统、数据库管理系统(DMBS)、标准程序库(编程时的数据库)、网络软件(实现TCP/IP协议的网络模块)、语言处理程序(如编译程序和汇编程序,可将高级语言解释成机器语言)、服务程序(如调试程序,用于调试代码)。 - 应用软件
按任务需求编织成的各种程序。
Eg:各类APP。
编程语言是否方便、好用决定软件世界的丰富程度。
计算机发展初期,使用机器语言进行编程,后来出现了汇编语言,将机器语言转换成为人类方便记忆的符号。但此时程序员除了需要考虑如何解决具体问题,需要考虑机器的特性,能够识别什么样的语言,应该如何编写,因此,软件很难有快速的发展。
为了让编程方便,出现了高级的编程语言,让程序员可以专注于解决问题。
除了应用软件的发展外,系统软件也得到了很好的发展,从使用命令行操作的 DOS 系统,到图形化界面的 Windows 系统。
目前的发展趋势
两极分化
一级:微型计算机向更微型化、网络化、高性能、多用途方向发展;
另一级:巨型计算机向更巨型化、超高速、并行处理、智能化方向发展。