计算机科学导论(1):绪论

原文链接: 计算机科学导论(1):绪论 | 远行的舟

自人类历史上第一台通用电子计算机 ENIACElectronic Numerical Integrator and Caculator,电子数字集成器和计算器) 诞生以来,现代计算机的发展仅仅走过了 72 个年头,然而就是在这短短的七十多年时间里,它如同一头永远不知疲倦拼命向前奔跑的猛兽,不仅引领人类社会完成了从电气化时代向信息化时代的飞跃,而且在可以预见的将来,它还大有可能带领人类社会迎接高度智能化时代的到来。今天,无论我们的学习、工作还是生活,都离不开计算机,试想一下如果没有了电脑、没有了智能手机、没有了各种嵌入式设备,我们的日常将会是怎样一番不知所措的场景,我们社会单位时间内的财富生产能力将会发生怎样断崖式的下降,答案是我们无法想象。面对这样一头曾给人类社会带来深刻变革、如今又与我们形影不离的神奇猛兽,我们没法不心生敬畏,没法不满怀好奇!下面就让我们从计算机发展的历史开始,一步一个脚印,慢慢走进这个精彩纷呈的世界。

嵌入式设备是一种嵌入机械或电气系统内部、具有专一功能和实时计算性能的计算机设备。嵌入式系统常被用于高效控制许多常见设备,被嵌入的系统通常是包含数字硬件和机械部件的完整设备。现代嵌入式设备通常基于单片机(全称单片微型计算机,它是把中央处理器、存储器、定时/计数器、各种输入输出接口等集成在一块集成电路芯片上的微型计算机)。我们日常生活中常见的 IC 卡(粘贴或嵌有集成电路芯片的一种便携式卡片塑料,其中包含了微处理器、I/O 接口及存储器,提供了数据的运算、访问控制及存储功能)、ATM 机、KTV 里的点唱机、微波炉、全自动洗衣机、机顶盒、交换机、路由器、数码相机、MP4、智能玩具等等均属于嵌入式系统的范畴。

1642 年,法国著名数学家和物理学家布莱斯·帕斯卡Blaise Pascal)发明了一台用来进行加减运算的计算机器 Pascsline.

1671 年,德国数学家戈特弗里德·莱布尼兹Gottfried Leibnitz)在帕斯卡加减机械计算机的基础上加以改进,发明了一台可作四则运算的计算机器 Leibnitz’s Wheel.

1801 年,法国发明家约瑟夫-玛丽·雅卡尔Joseph-Marie Jacquard)设计出了人类历史上首台可设计织布机,其可设计性体现在可以利用穿孔卡控制织布过程中经线的提升,这是人类历史上第一台利用存储和编程概念的机器。

1823 年,英国发明家查尔斯·巴贝奇Charles Babbage)发明了可解多项式方程的差分引擎,后来他又发明了一种叫做分析引擎的机器。该机器在某种程度上和现代计算机的概念类似,它由一个类似于算术逻辑单元的制造场、一个存储单元、一个类似于控制单元的操作者和输入/输出单元构成。

1890 年,在美国人口普查办公室工作的赫尔曼·霍勒里斯Herman Hollerith)设计并制造出了可以自动阅读、计数和排列存储在穿孔卡上数据的具有编程能力的机器。

1937 年,英国数学家、逻辑学家,计算机科学与人工智能之父阿兰·图灵Alan Turing)首次提出了一个通用计算设备的构想,他设想所有的计算都可能在一种特殊的机器上执行,这种机器我们今天称之为图灵机Turing machine)。阿兰·图灵将计算机定义为一种如图 1-1 所示的可编程数据处理器模型即图灵模型Turing model),在图灵模型中,程序是一系列用来告诉计算机如何处理数据的指令。

图 1-1 可编程数据处理模型

1938 年,生活在法西斯统治下而与世隔绝的德国土木建筑工程师康拉德·朱斯Konrad Zuse)设计出了一台机械式通用计算机 Z1,第二年他又利用一些电话公司废弃的继电器组装了一台电磁式计算机 Z2,他的工作引起德国飞机试验研究所的关注,这使他获得了一笔资金。1941 年,他使用 2600 个继电器组装了他的第二台电磁式计算机 Z3,它每秒能执行 3-4 次加法运算并能在 3-5 秒内执行一次乘法运算。1944 年,美国空军对柏林实施空袭,Z3 连同他的住宅一起被炸得支离破碎。1945年,他又建造了一台更先进的电磁式计算机 Z4,其存储器单元从 64 位扩展到 1024 位,其继电器则几乎占满了一个房间。为了使机器运行效率更高,他还设计了一种编程语言 Plankalkuel. 1995 年 12 月,85 岁的康拉德·朱斯与世长辞,他是世界上最早提出程序设计概念的人,后来的计算机史学家不禁感慨:如果康拉德·朱斯不是生活在法西斯统治下的德国,他可能早已把他的计算机升级为电子计算机,因为早在 1938 年他和他的朋友已经在考虑用 2000 个电子管和其他电子元件组装新的计算机,这样一来人类电子计算机的历史就会被改写,他的发明将属于德国而非美国。后来康拉德·朱斯创办的朱斯计算机公司于 1958 年研制出了电子管通用计算机 Z-22R,而这离世界上第一台电子管通用计算机的诞生已过去 12 年之久。

1939 年,美国人约翰·阿塔纳索夫John V.Atanasoff)及其助手克利福德·贝里Clifford Berry)研制出了世界上第一台主要用来解线性方程的电子计算机 ABCAtanasoff Berry Computer)。

1944 年,耗时7年,由美国哈佛大学应用数学系教授霍华德·阿肯Howard Aiken)受巴贝奇思想启发而设计,由 IBM 公司承建并由美国海军提供经费支持的巨型继电器式计算机交付使用,它重达 5 吨,长约 15.54米,高约 2.44 米。这是人类历史上首台自动按序控制计算器,虽然它执行一次乘法需要 6 秒,但其精度可达到小数点后 23 位。

1945 年 6 月,原籍匈牙利的美国人冯·诺依曼发表了一份长达 101 页的报告,这就是著名的 “关于 EDVAC 的报告草案”(First Draft of a Report on the EDVAC),在这份报告中提出的计算机体系结构即冯·诺依曼模型von Neumann model)一直延用至今。图 1-2 展示了冯·诺依曼模型,它由算术逻辑单元ALU)、控制单元存储器输入/输出单元五大部分构成。在图灵机的基础上,冯·诺依曼创造性地指出:由于程序和数据在逻辑上是相同的,因此程序也能存储在计算机的存储器中。

算术逻辑单元:用来对数据进行算术运算和逻辑运算

控制单元:用来控制存储器、算术逻辑单元、输入/输出单元的操作

存储器:用来存储数据和程序

输入/输出单元:用来从计算机外部接收数据和程序并将处理结果输出到计算机外部,值得注意的是辅助存储设备如磁盘和磁带也属于输入/输出单元的范畴

图 1-2 冯·诺依曼模型

1946 年 2 月 14 日,这是一个无论怎么强调也不为过的日子,在这个无数男男女女享受着无尽甜蜜与幸福的日子里,美国人约翰·莫奇勒John Mauchly)和普雷斯波·埃克特J.Presper Eckert)发明的世界上第一台通用的、完全电子的十进制计算机 ENIAC 在美国宾夕法尼亚大学诞生。这台因战争的迫切需要、耗资 48 万美元研制成功的庞然大物重达 30 吨,长约 30.48 米,宽约 6 米,高约 2.4 米,占地面积约 170 平方米。它包含 17468 根电子管、7200 根晶体管、1500 个中转、70000 个电阻器、10000 个电容器、1500 个继电器和 6000 多个开关,计算速度达到每秒 5000 次加法或 400 次乘法,是使用继电器运转的机电式计算机的 1000 倍,手工计算的 20 万倍。ENIAC 的研制成功宣告了一个崭新时代的到来,从此人类的计算能力被机器远远地甩在身后,今天我们运算速度最快的超级计算机的峰值计算能力已达到每秒 12.5 亿亿次,持续计算能力也已达到每秒 9.3 亿亿次。

1949 年 5 月 6 日,英国剑桥大学的莫里斯·威尔克斯Maurice Wilkes)基于冯·诺依曼模型制造了世界上第一台商用的程序内藏式电子计算机 EDSACElectronic Delay Storage Automatic Calculator,电子延迟存储自动计算机),与此同时的 1949 年 8 月,约翰·莫奇勒John Mauchly)和普雷斯波·埃克特J.Presper Eckert)基于冯·诺依曼模型建造了一台通用、完全电子的二进制计算机 EDVACElectronic Discrete Variable Automatic Computer,离散变量自动电子计算机)也研制完成。

自 1950 年开始后出现的几乎所有计算机均基于冯·诺依曼模型,它们先后经历电子管时代晶体管时代集成电路(晶体管、导线及其他部件做在一块单芯片上)时代的发展,速度变得越来越快、体积变得越来越小、价格变得越来越便宜,但原理几乎相同。

我们可以把今天的计算机看作三大部分的结合体,即计算机硬件数据计算机软件,当今的计算机硬件基于冯·诺依曼模型,冯·诺依曼模型清楚地将一台计算机定义为一台数据处理器data processor),处理数据的任务由程序完成,而各种各样不同的程序(算法、计算机语言、操作系统等)则构成计算机软件。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值