购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.1 计算机软件的发展历程

自1946年第一台电子计算机ENIAC问世以后,电子计算机经历了几代的发展变化,相应的软件技术也在不断发展中。

第一代(1949—1956),这是电子管计算机体系时代,器件采用真空电子管,用于存储信息。但真空管会大量生热,不太可靠。使用真空管的机器需要重型空气调节装置并要进行不断的维修。此外,它们还需要巨大的专用房间。

基本技术是提出了程序存储方式,采用二进制码,考虑自动运算控制方式,发明变址寄存器,研制各种存储器,确立了程序设计概念等一系列计算机技术基础。

在此阶段,程序设计围绕硬件进行,追求节省空间和编程技巧,规模很小,工具简单,无明确分工(开发者和用户),无文档资料(除程序清单外),主要用于科学计算。

第二代(1956—1962),这是晶体管计算机体系时代,确立了输入/输出控制机制,器件采用半导体晶体管,比真空管更小、更可靠、更快,寿命更长,也更便宜。

1947年12月,美国贝尔实验室John Bardeen、Walter H. Brattain和William B. Shockley组成的研究小组研制出了一种点接触型的锗晶体管(三人因此获得诺贝尔物理学奖),为迈入计算机晶体管时代奠定了坚实的基础。

基本软件技术使机器的稳定性逐步提高,磁芯存储器和各种辅助存储器的使用得到进一步的发展。开始采用中断的概念,主要矛盾逐步转向软设备。

此阶段开始有了软件设计的需求:随着软件系统的规模越来越庞大,高级编程语言层出不穷,应用领域不断扩展,开发者和用户有了明确的分工,社会对软件的需求量剧增,但软件开发技术没有重大突破,软件产品的质量不高,生产效率低下,从而导致了软件危机。

第三代(1962—1970),这是集成电路时代,特点是采用集成电路(IC,每个电路片有4~100个门)和软设备系统化。在第二代计算机中,晶体管和其他计算机元件都被手工集成在印制电路板上;第三代计算机的特征是集成电路——一种具有晶体管和其他元件及它们连线的硅片。集成电路比印制电路更小、更便宜、更快而且更可靠。

1965年,著名的摩尔定律诞生。戈登·摩尔(Gordon Moore)预测:未来一个芯片上的晶体管数量大约每年翻一倍(后来修改为每18个月翻一倍),至今依然适用。

第四代(20世纪70年代开始至今),开始进入大规模集成电路时代,也是软件工程阶段的开端。这一阶段的特点是采用大规模集成电路(每个电路片有1000个门以上),具有毫微秒操作速度及10亿位的存储容量。同时,硬设备和软设备充分融合。

在20世纪70年代早期,一个硅片上可以集成几千个晶体管;而到80年代中期,一个硅片可以容纳整个微型计算机。基本技术上,在硬设备方面没有革命性的技术发展,所利用的是标准集成电路技术,只强调机器在结构、体制、计算技术上的高度利用;但在程序设计技巧方面有了变化,正在向巨型化、微型化、网络化和智能化四个方向发展。

在软件方面,数据库技术已成熟并被广泛应用,第三代、第四代编程语言出现。其中,第一代软件技术(结构化程序设计)在数值计算领域取得优异成绩,第二代软件技术(软件测试技术、方法、原理)用于软件生产过程,第三代软件技术(处理需求定义技术)用于软件需求分析和描述。

第五代(20世纪80年代开始至今),是计划把信息采集、存储、处理、通信同人工智能结合在一起的智能计算机系统,能进行数值计算或处理一般的信息,主要面向知识处理,具有形式化推理、联想、学习和解释的能力,能帮助人们进行判断、决策、开拓未知领域和获得新的知识。人机之间可直接通过自然语言(声音、文字)或图形图像交换信息。其应用程序将达到知识表达级,具有听觉、视觉甚至味觉功能,能听懂人说话,自己也能说话,能认识不同的物体,看懂图形和文字。人们不再需要为它编写程序指令,只需要口述命令,它就能自动推理并完成工作任务。

但在日本,“五代机”的命运是悲壮的:1992年,因最终没能突破关键性的技术难题,无法实现自然语言人机对话、程序自动生成等目标,该计划最后阶段的研究被迫流产。

总体来说,如图2.1所示,电子计算机经历了5代发展历程,前四代分别是真空电子管计算机、晶体管计算机、集成电路计算机、大规模集成电路计算机,第四代后遇到了冯·诺依曼瓶颈,即指令与数据放在同一内存带来的CPU利用率(吞吐率)降低。而将其并行化网络处理(第五代)后,又遇到了斯密/泰勒/法约尔瓶颈——所有权、严格的等级体系、矩阵组织和计算机接口,试图通过知识网络化来突破。计算机技术和网络技术的发展为已经成熟的全球化工厂和市场注入了一些新的变量,但这些变量的影响是工厂化模式进入人类生活以来所面临的严峻挑战,有众多问题需要解决和突破。

图2.1 电子计算机5代发展历程示意图

在当今时代,云计算、量子计算机、区块链、人工智能(包括AlphaGo、无人驾驶、自动编程DeepCoder)等概念和技术层出不穷、日新月异,部分内容可以参见第13章。感兴趣的读者可以自行查找相关资料,第5代计算机的未来将由你们来开创。 FQkVqzCpu5eh4PyG19lUxWqw5ZsZ820co7zGon0qotbJNOD9IPgQIhJk1IM9czs2

点击中间区域
呼出菜单
上一章
目录
下一章
×