文章目录

  • 前言
  • 一、 计算机的演变史

前言

今天主要的内容是简单介绍下计算机的历史,主要目的就是让大家对计算机有一个初步的理解,以方便大家对计算机的运行原理也有简单的认知。另外推荐一个计算机科学科普向视频:

https://www.bilibili.com/video/BV1EW411u7th?p=1

一、 计算机的演变史

不知道大家平时有没有思考过为什么会诞生计算机?其实就像它的名字一样,计算机的诞生源自于人类对于数字计算的强烈需求。在远古时期,人类可能并不需要进行很复杂的数学运算,大多数情况下十根手指就可以帮助人类完成日常生活中需要的计算需求,但是随着人类文明的发展,人类需要记住的数字或者需要计算的数字可能超出了个人计算的能力,那么据考证的最早的计算机算盘就登陆了人类的历史中。

这里插一个小番外:
咱们中国人民熟悉的算盘真的是中国人发明的吗?如果按照如今的考古发现来看可能不是。最早的类似于算盘的计算工具是在米索不达米亚地区发现的,接下来在希腊也发现了和中国算盘类似的计算工具,现如今英文的算盘bacus便是源于古希腊文άβακασ。而中国最早的算盘在记载中可能要追溯到东汉或者三国时期,显然略晚于其他文明。

算盘的出现在很长时间里面已经可以完美的解决人们日常的计算需求,接下来的4000年里人类还为各种场景发明了很多巧妙地计算设备,比如星盘,时钟等等。随着知识的增长和工具的诞生,人工劳力会越来越少。那个时候有一种专门的负责计算的职业叫做计算者(Computer) 那是computer还不是指机器,而是一些靠自己负责计算的人。知道1800年代,computer逐渐开始代表机器,其中最有名气的就是由德国博学家戈特弗里德·莱布尼茨于1694年建造的步进计算器。

"步进计算器"有点像汽车里的里程表,不断累加里程数,它有一连串可以转动的齿,每个齿轮有十个齿,代表数字0到9,每当一个齿轮转过 9,它会转回 0,同时让旁边的齿轮前进 1 个齿,就像算盘超过 10 一样。做减法时,机器会反向运作。

但是即使是拥有了早期的计算机,许多生活中的问题还是需要浪费大量的时间进行计算。为了解决这个问题人们提前计算出很多日常生活中用得到的运算指令并记录结果,这就是早期的计算表。计算表很像是现在的字典,我们只需要用很少的时间去查找我们想要的结果即可。但是计算表也存在它的局限性,它无法告诉你它没有记录的结果,如果你想知道这些就需要重复上述的运算步骤,这显然不行。这个问题直到19世纪末由于美国进行的一次人口普查才解决。

到了 19 世纪末,科学和工程领域中的特定任务 会用上计算设备,但公司,政府,家庭中很少见到计算设备。然而,美国政府在 1890 年的人口普查中面临着严重的问题,只有计算机能提供所需的效率。美国宪法要求 10 年进行一次人口普查目的是分配联邦资金,国会代表,等等。到 1880 年代,美国人口迅速增长,大部分因为移民。人口普查要七年时间来手工编制,等做完都过时了,而且 1890 年的人口普查,预计要 13 年完成,但人口普查可是 10 年一次。人口普查局找了 Herman Hollerith,他发明了打孔卡片制表机,他的机器是 “电动机械的” 用传统机械来计数,结构类似莱布尼茨的乘法器,但用电动结构连接其他组件。Hollerith 的机器用打孔卡,一种纸卡,上面有网格,用打孔来表示数据。举个例子:有一连串孔代表婚姻状况,如果你结婚了,就在 “结婚” 的位置打孔,当卡插入 Hollerith 的机器时,小金属针会到卡片上,如果有个地方打孔了,针会穿过孔泡入一小瓶汞,联通电路,电路会驱动电机,然后给 “已婚” 的齿轮 + 1。Hollerith 的机器速度是手动的 10 倍左右,使人口普查在短短两年半内完成。给人口普查办公室省了上百万美元。企业开始意识到计算机的价值,可以提升劳动力以及数据密集型任务 来提升利润。比如会计,保险评估和库存管理等行业。为了满足这一需求,Hollerith 成立了制表机器公司,这家公司后来在 1924 年与其它机械制造商合并,成为了 “国际商业机器公司”,简称 IBM。

打孔计算机极大程度上提升了人们的计算效率,然而到了20世纪初人类又面临了史上从未面临过的爆发式增长。全球贸易和运输更加紧密,工程和科学也达到了新高,复杂度的增加导致数据量暴增,人们需要更加自动化的计算能力,很快由继电器构成的机电计算机登上了历史舞台

最大的机电计算机之一是 哈佛马克一号,IBM 在 1944 完成建造,给二战同盟国建造的。它有76万5千个组件,300万个连接点和500英里长的导线。为了保持内部机械装置同步,它有一个50英尺的传动轴,由一个 5 马力的电机驱动。这台机器最早的用途之一 是给"曼哈顿计划"跑模拟,这台机器的大脑是"继电器",继电器是:用电控制的机械开关,继电器里,有根"控制线路",控制电路是开还是关,“控制线路” 连着一个线圈。当电流流过线圈,线圈产生电磁场,吸引金属臂,从而闭合电路。你可以把继电器想成水龙头,把控制线路想成水龙头把,打开水龙头,水会流出来,关闭水龙头,水就没有了。继电器是一样的,只不过控制的是电子 ,而不是水。
这个控制电路可以连到其他电路,比如马达,马达让计数齿轮 +1,就像上集中 Hollerith 的制表机一样,不幸的是,继电器内的机械臂有质量,因此无法快速开关。1940 年代一个好的继电器 1 秒能翻转 50 次,看起来好像很快,但还不够快,不足以解决复杂的大问题,哈佛马克一号,1 秒能做 3 次加法或减法运算,一次乘法要花 6 秒,除法要花 15 秒,更复杂的操作 比如三角函数,可能要一分钟以上,除了速度慢,另一个限制是齿轮磨损。任何会动的机械都会随时间磨损,有些部件会完全损坏,有些则是变黏,变慢,变得不可靠。并且随着继电器数量增加,故障概率也会增加。哈佛马克一号有大约 3500 个继电器,哪怕假设继电器的使用寿命是 10 年。也意味着平均每天得换一个故障继电器!这个问题很严重,因为有些重要运算要运行好几天,而且还有更多其他问题要考虑。这些巨大,黑色,温暖的机器也会吸引昆虫,1947年9月,哈佛马克2型的操作员从故障继电器中,拔出一只死虫,Grace Hopper(这位我们以后还会提到)曾说:“从那时起,每当电脑出了问题,我们就说它出了 bug(虫子)”,这就是术语 “bug” 的来源。

1904年英国物理学家 “约翰·安布罗斯·弗莱明"开发了一种新的电子件叫"热电子管”,这是最早的真空管,虽然它解决了继电器的性能和维护问题,但是与之带来的就是它会像灯泡一样被烧坏,要知道40年代真空管是非常昂贵的,这就决定了只有少部分人能够负担得起它的维护成本。好在跨时代的产品晶体管与1947年被发明。

晶体管的物理学相当复杂,牵扯到量子力学。所以我们只讲基础,晶体管 就像之前提过的"继电器"或"真空管"。它是一个开关,可以用控制线路来控制开或关,晶体管有两个电极,电极之间有一种材料隔开它们,这种材料有时候导电,有时候不导电,这叫"半导体"。控制线连到一个 “门” 电极,通过改变 “门” 的电荷。我们可以控制半导体材料的导电性,来允许或不允许电流流动,就像之前的水龙头比喻。贝尔实验室的第一个晶体管就展示了巨大的潜力,每秒可以开关 10,000 次而且,比起玻璃制成,小心易碎的真空管,晶体管是固态的。晶体管可以远远小于继电器或真空管,导致更小更便宜的计算机,比如1957年发布的IBM 608—第一个完全用晶体管,而且消费者也可以买到的计算机。它有 3000 个晶体管,每秒执行 4500 次加法,每秒能执行 80 次左右的乘除法。IBM 很快把所有产品都转向了晶体管,把晶体管计算机带入办公室,最终引入家庭。如今,计算机里的晶体管小于 50 纳米- 而一张纸的厚度大概是 10 万纳米。

之后就是大家熟悉的,科学家不断的进行封装,计算机越做越小,直到进入人们的生活。

[从零学习汇编语言] - 计算机发展历史相关推荐

  1. [从零学习汇编语言] - 计算机中的硬件与软件

    文章目录 前言 一. 汇编语言简介 1.1 什么是汇编语言 1.2 机器语言简介 1.3 汇编语言的演变史 1.4 汇编语言的广义组成 二.硬件与软件 2.1 思考 2.2 计算机的硬件构成 (1)存 ...

  2. 计算机的诞生以及四个发展阶段,计算机发展历史的四个阶段

    篇一:计算机发展的四个阶段 计算机技术发展的四个阶段 第一代电子计算机 第一台电子管计算机于1946年在美国制成,取名埃尼阿克(ENIAC).在美国宾夕法尼亚大学诞生的. 世界上第一台电子计算机是个庞 ...

  3. 计算机历史ppt 英文儿童,第一课-计算机发展历史ppt

    PPT内容 这是第一课-计算机发展历史ppt,包括了计算机发展史,计算机的发展阶段,第一代计算机(1946-1957),第二代计算机(1958-1964),第三代计算机(1964-1970),第四代计 ...

  4. 计算机发展历史及其前景展望,论计算机发展史及展望

    论计算机发展史及展望 (3页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 论计算机发展史及展望杨露斯黎炼四川大学,成都双流610207摘要: ...

  5. [从零学习汇编语言] - BX寄存器与loop指令

    文章目录 前言 一. Bx寄存器与[偏移地址] 二. loop指令与jmp指令 1. jmp指令 2. loop指令 三. 一些奇奇怪怪的注意点 1. 汇编源程序的数字问题 2. Debug和Masm ...

  6. [从零学习汇编语言] - 转移指令原理详解

    文章目录 前言 一.转移指令原理 1.1 计算机如何识别数据和指令 1.2 转移指令原理 1.3 转移分类 1.3.1 转移行为分类 1.3.2 转移指令分类 二.操作符详解 2.1 offset 2 ...

  7. 计算机四代发展史的应用领域,计算机发展历史和应用.doc

    计算机发展历史和应用 计算机的发展历史与应用计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能.是能够按照程序运行,自动.高 ...

  8. 晶体管为元件的计算机时代是,计算机发展历史的四个阶段

    计算机发展历史的四个阶段 [标签:标题] 篇一:计算机发展的四个阶段 计算机技术发展的四个阶段 第一代电子计算机 第一台电子管计算机于1946年在美国制成,取名埃尼阿克(ENIAC).在美国宾夕法尼亚 ...

  9. 了解计算机的历史用英语怎么说,关于计算机发展历史的论文参考文献 计算机发展历史英语参考文献哪里找...

    为论文写作提供[100个]关于计算机发展历史的论文参考文献,海量计算机发展历史相关论文参考文献,包括期刊,专著,外文参考文献,解决您的计算机发展历史英语参考文献哪里找的相关难题! 一.计算机发展历史论 ...

  10. 计算机发展历史介绍英文版,计算机发展历史英文PPT The history of computer

    <计算机发展历史英文PPT The history of computer>由会员分享,可在线阅读,更多相关<计算机发展历史英文PPT The history of computer ...

最新文章

  1. 广度深度都要,亚马逊是如何推动 Alexa 内生成长的?
  2. SQL Server ALwayson 正在解析
  3. Socket拉屎模型之epoll
  4. 明年就翻身系列:AMD 2017统治PC、服务器市场?
  5. 用AWStats分析网站日志
  6. [java进阶]4.关键字throws和throw
  7. 【工业控制】PolyWorks培训教程-设备转站
  8. NULL和INITIAL的区别 and database interface
  9. 最短路模板:dij,spfa与floyd
  10. 嵌入式linux添加环境变量,Linux环境变量
  11. linux服务器搭建_基于LINUX系统的邮件服务器搭建和详细部署(POSTFIX)
  12. jmespath查找JSON的工具
  13. C语言中简单的题目,C语言的一些简单题目,没有答案,哪位大神帮忙做一下!!!...
  14. Zoom 5.1.2及旧版本在 Win7 上的 DLL 劫持漏洞分析
  15. AngularJS-源码阅读(八.二)
  16. Linux操作环境下配置MMIX环境
  17. 中国历史人物传记数据库 CBDB 若干表简介
  18. 自然码双拼输入法的辅助码编写问题
  19. 【周年福利Round1】一文看破Swift枚举本质
  20. latex范数和|| d ||

热门文章

  1. 8uftp,怎么使用8uftp
  2. linux如何解除密码锁屏图案大全,忘记锁屏图案密码的六种解决办法
  3. Docker入门学习
  4. CentOS8 之dhcp、tftp、syslinux部署
  5. 600岁故宫“新政”“萌萌哒”
  6. keil5的基本使用
  7. 进程调度时间片轮转c语言,时间片轮转调度算法的C语言模拟实现
  8. Android Studio- 把SVN项目下载到 本地的 操作方法
  9. ftp断点下载工具,推荐6款好用的ftp断点下载工具,怎么使用
  10. 传感器模块(光敏电阻/热敏电阻/红外接收管等)介绍及使用