从 01 开始 从 01 开始
首页
  • 计算机简史
  • 数字电路
  • 计算机组成原理
  • 操作系统
  • Linux
  • Docker
  • 计算机网络
  • 计算机常识
  • Git
  • 数据库
  • JavaSE
  • Java 高级
  • JavaEE

    • 构建、依赖管理
    • Ant
    • Maven
    • 日志框架
    • Junit
    • JDBC
    • XML-JSON
  • JavaWeb

    • 服务器软件
    • 环境管理和配置管理-科普篇
    • Servlet
  • Spring

    • Spring基础
  • 主流框架

    • Redis
    • Mybatis
    • Lucene
    • Elasticsearch
    • RabbitMQ
    • MyCat
    • Lombok
  • SpringMVC

    • SpringMVC 基础
  • SpringBoot

    • SpringBoot 基础
  • Node
  • Windows 使用技巧
  • 最全面的输入法教程
  • 浏览器
  • 终端软件
  • 装机
  • 笔记类软件
  • Markdown
  • 各大平台
  • 远程控制
  • RSS
  • 图片类工具
  • Office
  • 手机
  • 校招
  • 五险一金等
  • 职场规划
  • 关于离职
  • 杂谈
  • 教程简介
  • 英语学习方法论
  • 字母
  • 音标
  • 单词
  • 语法
  • 英语兔的相关视频
  • Larry 想做技术大佬的相关视频
  • 驾驶技能
  • 住房相关
  • 厨艺
  • 关于税
  • 理财
  • 睡眠
  • 皮肤
  • 口腔健康
  • 学会呼吸
  • 健身日志
  • 电影

    • 电影推荐
  • 漫画

    • 漫画软件
    • 漫画推荐
  • 游戏

    • Steam
    • 三国杀
    • 求生之路
  • 反腐
  • GFW
  • 404 内容
  • 审查与自我审查
  • 互联网
  • 2022
  • 2023
  • 2024
  • 2025
  • 关于本站
  • 关于博主
  • 网站动态
  • 公告栏
  • 友人帐
  • 从零开始搭建一个博客
  • 搭建邮件服务器
  • 本站分享
  • 文章分类
  • 文章归档

晓林

程序猿,自由职业者,博主,英语爱好者,健身达人
首页
  • 计算机简史
  • 数字电路
  • 计算机组成原理
  • 操作系统
  • Linux
  • Docker
  • 计算机网络
  • 计算机常识
  • Git
  • 数据库
  • JavaSE
  • Java 高级
  • JavaEE

    • 构建、依赖管理
    • Ant
    • Maven
    • 日志框架
    • Junit
    • JDBC
    • XML-JSON
  • JavaWeb

    • 服务器软件
    • 环境管理和配置管理-科普篇
    • Servlet
  • Spring

    • Spring基础
  • 主流框架

    • Redis
    • Mybatis
    • Lucene
    • Elasticsearch
    • RabbitMQ
    • MyCat
    • Lombok
  • SpringMVC

    • SpringMVC 基础
  • SpringBoot

    • SpringBoot 基础
  • Node
  • Windows 使用技巧
  • 最全面的输入法教程
  • 浏览器
  • 终端软件
  • 装机
  • 笔记类软件
  • Markdown
  • 各大平台
  • 远程控制
  • RSS
  • 图片类工具
  • Office
  • 手机
  • 校招
  • 五险一金等
  • 职场规划
  • 关于离职
  • 杂谈
  • 教程简介
  • 英语学习方法论
  • 字母
  • 音标
  • 单词
  • 语法
  • 英语兔的相关视频
  • Larry 想做技术大佬的相关视频
  • 驾驶技能
  • 住房相关
  • 厨艺
  • 关于税
  • 理财
  • 睡眠
  • 皮肤
  • 口腔健康
  • 学会呼吸
  • 健身日志
  • 电影

    • 电影推荐
  • 漫画

    • 漫画软件
    • 漫画推荐
  • 游戏

    • Steam
    • 三国杀
    • 求生之路
  • 反腐
  • GFW
  • 404 内容
  • 审查与自我审查
  • 互联网
  • 2022
  • 2023
  • 2024
  • 2025
  • 关于本站
  • 关于博主
  • 网站动态
  • 公告栏
  • 友人帐
  • 从零开始搭建一个博客
  • 搭建邮件服务器
  • 本站分享
  • 文章分类
  • 文章归档
  • 计算机历史

  • 数字电路

  • 计算机组成原理

    • 网课-计算机组成原理(北大-陆俊林)

      • 概述-计算机组成原理(北大-陆俊林)
      • 第1周-计算机组成章节视频简介
      • 101-电子计算机的兴起
      • 102-冯·诺依曼结构的要点
      • 103-冯·诺依曼结构的小故事
      • 104-计算机结构的简化模型
      • 105-计算机执行指令的过程
      • 106-计算机输入和输出
      • 107-冯诺依曼结构和具体实现
      • 201-设计自己的计算机
      • 202-x86 体系结构
      • 203-x86 指令简介
      • 204-复杂的 x86 指令举例
      • 205-MIPS 体系结构
      • 206-MIPS 指令简介
      • 301-算术运算和逻辑运算
      • 302-门电路的基本原理
      • 303-寄存器的基本原理
      • 304-逻辑运算的实现
      • 305-加法和减法的实现
      • 306-加法器的优化
      • 401-乘法的运算过程
      • 402-乘法器的实现
      • 403-乘法器的优化 1
      • 404-乘法器的优化 2
      • 405-除法的运算过程
      • 406-除法器的实现
      • 407-除法器的优化
      • 501-处理器的设计步骤
      • 502-数据通路的建立
      • 503-运算指令的控制信号
      • 504-访存指令的控制信号
      • 505-分支指令的控制信号
      • 506-控制信号的集成
      • 601-流水线的基本原理
      • 602-流水线的优化
      • 603-超标量流水线
      • 604-流水线的冒险
      • 605-数据冒险的处理
      • 606-控制冒险的处理
      • 701-存储层次结构概况
      • 702-DRAM 和 SRAM
      • 703-主存的工作原理
      • 704-主存技术的发展
      • 705-高速缓存的工作原理
      • 706-高速缓存的组织结构
      • 707-存储容量的计算
      • 801-中断和异常的来源
      • 802-中断向量表的结构
      • 803-中断向量表的发展
      • 804-中断的处理过程
      • 805-内部中断分类说明
      • 806-基于中断的功能调用
      • 901-输入输出接口的基本功能
      • 902-输入输出接口的编址方式
      • 903-输入输出的控制方式
      • 904-中断控制方式
      • 905-外部中断的处理过程
      • 906-直接存储器访问方式
  • 操作系统

  • Linux

  • 计算机网络

  • Git

  • 计算机小知识

  • 数据库

  • 计算机基础
  • 计算机组成原理
  • 网课-计算机组成原理(北大-陆俊林)
2023-06-13

101-电子计算机的兴起

# 101-电子计算机的兴起

随着人类文明的进步,人们对计算能力的需求也越来越大。 与此同时,科技的迅速发展也为强大计算能力的诞生奠定了基础。 在这样的环境下,电子计算机就应运而生了。

‍

在这个过程中很多科学家、工程师和各行各业的人投入了大量的智慧和辛劳。 而其中一个人是我们在谈论到计算机的组成结构时必须要提及的, 因为我们今天所使用的计算机几乎全部采用了相同的结构, 这个结构就是以他的名字命名的,而这个人 就是冯·诺依曼。

冯·诺依曼被誉为现代电子计算机之父。 实际上他主要是一位数学家。在布达佩斯大学获得了数学博士, 不久之后就来到了美国,长期在普林斯顿大学和普林斯顿高等研究院工作。二战期间冯诺依曼参与了原子弹的研究工作。 当时他遇到了一个很大的困难,是运算量太庞大。 于是他就致力于寻找具有强大运算能力的设备。

​

‍

‍

其实困惑于这个问题的不仅只有他。除了原子弹, 二战在许多领域都对计算能力提出了很高的要求。 例如在战争中不可或缺的火炮,炮弹要打得准,就必须中和考虑很多的因素。 比如炮壳的仰角,比如风向,比如炮弹的种类。实际上这就是些数学函数的运算,但你不能让炮兵在战场上现场去做这些计算,必须提前把各种情况下炮弹的运行轨迹计算出来,并绘制成一张表,这就是火炮射击表。 当时美国军方要求弹道研究院每天提供六张火炮射击表, 每张表大约要计算数千个炮弹的运行轨迹。 这给弹道研究院的技术人员带来了很大的压力。 大约二百多名计算人员花两个多月才能完成一张表的计算。 即使动用当时最好的计算设备,可能也需要一个月才能完成一张表。 这与军方的要求相距甚远。 在项目不断拖延的压力下,弹道研究院的项目负责人也在寻找速度更快的计算设备。

‍

​

后来他终于得到了一个好消息,他听说了一个人叫约翰莫克利,他是一位科学家,在宾夕法尼亚大学摩尔电机工程学院工作。 他当时正和一个学生叫约翰埃克特,在研制一种高速的电子计算设备。双方沟通之后很快就立项开始了工作。 这台计算机被命名为 ENIAC, 在一九四三年正式开始设计,由莫克利任首席顾问。 当时正是硕士一年级的埃克特担任了首席工程师。 这张照片中中间的两人就是他们。

​

‍

经过了两年多的艰苦设计,ENIAC 终于完成了。 1946 年的 2 月 14 日 ENIAC 在宾夕法尼亚大学完成。 ENIAC 是一个庞然大物,这张照片中几乎所有的物品都是他的组成部分。 ENIAC 共有 180000 个电子管组成,每秒钟可以完成 5000 次的加法, 功率 150 千瓦,占地 170 平方米,重量 30 吨。 总共花费了大约 50 万美元。 从性能上看每秒钟 5000 次加法,远远不如现在我们的个人计算机,至于说它个头很大,倒也不能这么看。 因为每一个时代性能最好的计算机都是庞然大物。 现在的高性能超级计算机也动辄占地数百平方米,重量上百吨。 ENIAC 跟他们比起来也只能算是一个小个子。

​

不管怎样,ENIAC 在那个时候已经带来了计算能力的飞跃增长。 当然,他实际是在二战之后才完成的, 并没有为二战的火炮射击表做出什么贡献。 但是他在后来的弹道计算,原子弹研究、气象预报等很多方面都发挥了重要的作用。

‍

关于他的头衔,我们要注意一下。 普遍认为,它是世界上第一台通用电子计算机。 如果不加通用这两个字,恐怕还会有不小的争议。 因为在他之前就已经有人设计出了电子计算机。这台计算机叫 ABC,是由美国艾尔瓦州立大学 物理系的阿塔纳索夫副教授和他的学生贝里早在 1939 年设计完成的。

​

‍

更重要的是莫克利在设计 ENIAC 之前, 就了解到了阿塔纳索夫的设计成果,并多次找阿塔纳索夫探讨其设计原理。在 ENIAC 的设计过程中不可避免的借鉴了很多 ABC 的设计思想, 但遗憾的是莫克利并没有把这件事情公之于众, 这也最终导致了二十多年后的一场专利纠纷, 最后法院判决,因为设计思想来源于 ABC, 所以 ENIAC 的专利被判无效,当然这是后话。

‍

‍

我们再回来看 ENIAC 。在 ENIAC 的设计过程中, 正在寻找高性能设备的冯诺依曼也加入了进来, 作为研制小组的顾问, 冯诺依曼参与了很多讨论,并提出了自己的意见和建议。

​

其中有一点非常的重要,我们先来看左边这张照片, 这是 ENIAC 原有四十块面板当中的四块。 最左边那是 ENIAC 三块函数表当中的一块。 我们可以看到 ENIAC 的面板上有很多开关连线,实际上这些开关连线就是控制 ENIAC 应该如何工作的。 但是插拔这些开关是一件非常费时费力的工作, 往往经过几天的配置连线才能让 ENIAC 重新进行一项计算。

‍

冯诺依曼指出 ENIAC 的开关定位和转插线只不过代表了一些数字信息。 完全可以像受程序管理的数据一样存放于主存储器中。 这就是后来的存储程序的概念, 由于 ENIAC 已经开始制造, 无法进行重大的修改, 因此,在 ENIAC 完成之前研制小组就开始讨论下一代计算机的研制工作。

‍

后来,冯诺依曼形成了一份报告, 这就是著名的关于 EDVAC 的报告草案。

​

这份报告完成于 1945 年, 并被分发给一些政府机关和科研机构的人阅读, 这份报告详细的描述了一台名为 EDVAC 的计算机的设计方案。 它所描述的计算机结构后来就被称为冯诺依曼计算机结构, 简称冯诺依曼结构。 今天我们所使用的计算机几乎全都是冯诺依曼结构。

然而这份重要的研究报告却引起了 埃克特、莫克利等研究小组成员的强烈不满。 一方面因为设计方案的公开发表 使得埃克特和莫克利无法就 EDVAC 申请专利。 另一方面,应该说这个设计方案是研究小组共同讨论的成果。 虽然冯诺依曼在其中做出了重要的贡献, 但是他只署了自己的名字,独自享受了这份巨大的荣誉。 这也成为了这个研究小组最终决裂的重要原因。

‍

但是不管怎样,在 ENIAC 完成之前, EDVAC 的研制工作就已经开始了。 EDVAC 仍然是为美国弹道研究院设计, 它实现了存储程序的概念,大幅提升了任务效率,所以它也被称为存储程序式计算机,也就是冯诺依曼结构式计算机。 同时 EDVAC 还采用了二进制, 而不是 ENIAC 的十进制,极大的简化了逻辑线路。

​

此外 EDVAC 还清晰的分成了五个基本部分, 运算器、控制器、存储器、输入设备和输出设备。 如果说 ENIAC 是世界上第一台电子计算机 还存在争议的话,那关于谁是世界上第一台冯诺依曼结构计算机 ,人们对 EDVAC 倒是毫无疑问,因为它肯定不是。 虽然 EDVAC 在 ENIAC 完成之前就开始了设计工作, 但是很快这个研究小组就闹翻了,莫克利和埃克特 离开了宾夕法尼亚大学。 并带走了大部分高级工程师,自己成立了一个电子计算机公司。 EDVAC 的研究工作就此停滞,作为顾问的冯.诺依曼也回到了普林斯顿高等研究院。 在这段时间,他还设计了另一台计算机, 叫 IAS。

后来 EDVAC 的研制工作重新开始。 直到 1949 年 8 月才交赴弹道研究院。 然而有很多的问题,导致无法使用。直到 1951 年才解决了全部问题正式运行。 当然,此后 EDVAC 的表现非常出色,完成了很多重要的任务,直到 1962 年退役。

‍

那究竟是谁抢了先,研究了第一台冯.诺依曼结构计算机呢? 这个人,在大西洋的彼岸。 他是英国剑桥大学的莫里斯.威尔克斯。 他以 EDVAC 为蓝本,设计制造了这台叫做 EDSAC 的计算机。 这是一台冯.诺依曼结构的计算机。 我们可以看到, 它也有五个组成部分。这张较小的照片就是他的存储器。

​

那么大家可能要问,当时 EDVAC 都还没有设计完成,威尔克斯是怎么照着 EDVAC 进行- 设计的呢? 其实我们刚才说过, 冯.诺依曼在完成了 EDVAC 的报告之后, 这份报告就被送给了很多人阅读,引起了人们广泛的兴趣。 很多机构都开始参照这个方案进行设计。 当然。我们也得注意到, EDSAC 在第一台的后面,还加了一个定语,叫做“实用的”。 因为在它之前,1948 年也有一台存储程序式计算机被研制出来。 这是曼彻斯特的 Sam. 只不过那是一个实验性的设备,并不能实用。当然,如果较真的话, ENIAC 在 1948 年也被改造成了存储程序式的计算机。 这可是一台实用性的计算机。 所以,在这个电子计算机刚刚兴起的时代,想争个第一也不是一件容易的事情。

‍

我们再来看看,莫克利和埃克特到底去做了什么。 他们离开宾夕法尼亚大学,倒不全是因为跟冯.诺依曼闹了别扭。 最重要的原因,是宾夕法尼亚大学要求他们将发明专利的所有权转让给学校。 在协商无效的情况下,他们只能离开。 后来他们创办了埃克特.莫克利计算机公司。并着手研究一台计算机,叫“UNIVAC"。 UNIVAC 的设计开始于他们自己的计算机公司。 但是这两位科学的天才却不善于经商。 埃克特.莫克利计算机公司很快因为严重的亏损, 而被雷明顿.兰德公司收购。不过 UNIVAC 的研究得以继续。 最终,在 1951 年,第一台 UNIVAC 交给美国人口普查局使用。 这就是 UNIVAC。 这,是 UNIVAC 的控制台。

​

‍

但是当时,电子计算机还没有得到社会的广泛认可。 普通民众,更是很少有人知道。但是机会很快就来了。 1952 年的总统选举, 艾森豪威尔对史蒂文森。 在选举之后,统计选票是一项非常繁重,而且容易出错的工作。 当时 UNIVAC 也参与了此项工作。 结果,UNIVAC 在统计了部分选票之后, 最先准确的预测了艾森豪威尔将赢得选举。 这,就是 UNIVAC 当时打印在纸上的预测结果。 然而,很多人都不相信这个结果。包括全国性的电视媒体都不敢播报。 最终证实,UNIVAC 的计算结果是正确的。 由此, UNIVAC 一举成名,电子计算机也获得了人们的广泛关注。

​

‍

此后,很多公司都进入了电子计算机的领域。 其中,原先主要在治疗机领域的 IBM 公司也转入电子计算机领域, 并成功推出了大型计算机 IBM701。 当时,冯.诺伊曼也正是 IBM 公司的科学顾问。他也和原子弹之父,奥本.海墨一起出席了- IBM701 的揭幕仪式。 从此,IBM 在这个新兴的市场上迅速扩张。 到五十年代中期,据称 IBM 占领了这个新兴市场的 70%。 剩下的 30%,有七家其他的公司所占据。 因此,媒体也戏称,当时的电子计算机市场,是“IBM 和七个小矮人”的故事。 而在这七个小矮人中,也有已经并购了 UNIVAC 研制部门的斯普利.兰德公司。 所以我们可以说,是 UNIVAC 真正开启了商用计算机的时代。 从此,一批又一批的明星产品、明星公司, 和明星人物登上了历史的舞台。

​

‍

‍

​

‍

‍

​

‍

‍

​

‍

‍

​

‍

​

‍

​

‍

​

‍

​

‍

​

现在,电子计算机已经成为了推动社会进步的重要动力。 也是我们生活中,不可或缺的组成部分。而现在计算机,基本上都采用了冯.诺伊曼结构。 因此我们从下一节开始, 将一起来探索,究竟什么才是“冯.诺伊曼结构”?

上次更新: 2024/9/29 12:08:10
第1周-计算机组成章节视频简介
102-冯·诺依曼结构的要点

← 第1周-计算机组成章节视频简介 102-冯·诺依曼结构的要点→

最近更新
01
2025 年 2 月记
02-28
02
最全面的浏览器教程-完结撒花
02-16
03
这个工具可以轻松搞到你的浏览器账户密码!
02-15
更多文章>
Theme by Vdoing | Copyright © 2022-2025 | 粤 ICP 备 2022067627 号 -1 | 粤公网安备 44011302003646 号 | 点击查看十年之约
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式