从 01 开始 从 01 开始
首页
  • 📚 计算机基础

    • 计算机简史
    • 数字电路
    • 计算机组成原理
    • 操作系统
    • Linux
    • 计算机网络
    • 数据库
    • 编程工具
    • 装机
  • 🎨 前端

    • Node
  • JavaSE
  • Java 高级
  • JavaEE

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

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

    • Spring基础
  • 主流框架

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

    • SpringMVC 基础
  • SpringBoot

    • SpringBoot 基础
  • Windows 使用技巧
  • 手机相关技巧
  • 最全面的输入法教程
  • 最全面的浏览器教程
  • Office
  • 图片类工具
  • 效率类工具
  • 最全面的 RSS 教程
  • 码字工具
  • 各大平台
  • 校招
  • 五险一金
  • 职场规划
  • 关于离职
  • 杂谈
  • 自媒体
  • 📖 读书

    • 读书工具
    • 走进科学
  • 🌍 英语

    • 从零开始学英语
    • 英语兔的相关视频
    • Larry 想做技术大佬的相关视频
  • 🏛️ 政治

    • 反腐
    • GFW
    • 404 内容
    • 审查与自我审查
    • 互联网
    • 战争
    • 读书笔记
  • 💰 经济

    • 关于税
    • 理财
  • 💪 健身

    • 睡眠
    • 皮肤
    • 口腔健康
    • 学会呼吸
    • 健身日志
  • 🏠 其他

    • 驾驶技能
    • 租房与买房
    • 厨艺
  • 电影

    • 电影推荐
  • 电视剧
  • 漫画

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

    • Steam
    • 三国杀
    • 求生之路
  • 小说
  • 关于本站
  • 关于博主
  • 打赏
  • 网站动态
  • 友人帐
  • 从零开始搭建博客
  • 搭建邮件服务器
  • 本站分享
  • 🌈 生活

    • 2022
    • 2023
    • 2024
    • 2025
  • 📇 文章索引

    • 文章分类
    • 文章归档

晓林

程序猿,自由职业者,博主,英语爱好者,健身达人
首页
  • 📚 计算机基础

    • 计算机简史
    • 数字电路
    • 计算机组成原理
    • 操作系统
    • Linux
    • 计算机网络
    • 数据库
    • 编程工具
    • 装机
  • 🎨 前端

    • Node
  • JavaSE
  • Java 高级
  • JavaEE

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

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

    • Spring基础
  • 主流框架

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

    • SpringMVC 基础
  • SpringBoot

    • SpringBoot 基础
  • Windows 使用技巧
  • 手机相关技巧
  • 最全面的输入法教程
  • 最全面的浏览器教程
  • Office
  • 图片类工具
  • 效率类工具
  • 最全面的 RSS 教程
  • 码字工具
  • 各大平台
  • 校招
  • 五险一金
  • 职场规划
  • 关于离职
  • 杂谈
  • 自媒体
  • 📖 读书

    • 读书工具
    • 走进科学
  • 🌍 英语

    • 从零开始学英语
    • 英语兔的相关视频
    • Larry 想做技术大佬的相关视频
  • 🏛️ 政治

    • 反腐
    • GFW
    • 404 内容
    • 审查与自我审查
    • 互联网
    • 战争
    • 读书笔记
  • 💰 经济

    • 关于税
    • 理财
  • 💪 健身

    • 睡眠
    • 皮肤
    • 口腔健康
    • 学会呼吸
    • 健身日志
  • 🏠 其他

    • 驾驶技能
    • 租房与买房
    • 厨艺
  • 电影

    • 电影推荐
  • 电视剧
  • 漫画

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

    • Steam
    • 三国杀
    • 求生之路
  • 小说
  • 关于本站
  • 关于博主
  • 打赏
  • 网站动态
  • 友人帐
  • 从零开始搭建博客
  • 搭建邮件服务器
  • 本站分享
  • 🌈 生活

    • 2022
    • 2023
    • 2024
    • 2025
  • 📇 文章索引

    • 文章分类
    • 文章归档
  • 计算机简史

    • 课程介绍
    • 手动计算时代
    • 机械式计算机时代
    • 机电时代

      • 电的引入
      • 二进制
      • 布尔代数
      • 数字电路
      • 机电式计算机
        • 制表机:穿孔时代的到来
        • 祖思机:第一台二进制可编程计算机
        • 哈佛机:纸带上的编程
        • 小结
    • 电子时代

    • 未来时代
    • 如何通俗地解释停机问题(Halting Problem)? - 知乎
  • 数字电路

  • 计算机组成原理

  • 操作系统

  • Linux

  • 计算机网络

  • 数据库

  • 编程工具

  • 装机

  • 计算机基础
  • 计算机简史
  • 机电时代
2022-11-13
目录

机电式计算机

# 50.机电式计算机

电、电路形成了机电式计算机

‍‍ ‍

# 制表机:穿孔时代的到来

从 1790 年开始,美国每十年进行一次人口普查。百年间,随着人口繁衍和移民的增多,从 1790 年的 400 万不到,到 1880 年的 5000 多万,人口总数呈爆炸式地增长。

1880 年开始的第 10 次人口普查,历时 8 年才最终完成,也就是说,他们在休息两年之后就要开始第 11 次普查了,而这一次普查,需要的时间恐怕要超过 10 年。那第 12 次、13 次呢?本来就是 10 年一次的统计,如果每次耗时都在 10 年以上,这件事情就变得没有意义了。因此,政府向全社会招标,寻找解决办法。

赫尔曼·霍尔瑞斯,发明了制表机(tabulator/tabulating machine),顾名思义,就是专门用来制作数据统计表的机器。制表机主要由示数装置、穿孔机、读卡装置和分类箱组成:

​​

制表机(原图来自维基百科) ‍ 制表机的工作是围绕穿孔卡片展开的:

  • 操作员先使用穿孔机制作穿孔卡片
  • 再使用读卡装置识别卡片上的信息
  • 机器自动完成统计并在示数表盘上实时显示结果
  • 最后,将卡片投入分类箱的某一格中,进行分类存放,以供下次统计使用。 ‍ 这就是用在 1890 年人口普查中的穿孔卡片,一张卡片记录一个居民的信息。卡片设计长约 18.73cm,宽约 8.26cm,正好是当时一张美元纸币的尺寸,因为霍尔瑞斯直接用财政部装钱的盒子来装卡片:

​​

霍尔瑞斯的穿孔卡片(图片来自维基百科) ‍ 卡片设有 300 多个孔位,与雅卡尔和巴贝奇的做法一样,靠每个孔位打孔与否来表示信息。

统计的原理:当穿孔了,按下压板时,卡片有孔的地方,针可以通过,与水银接触,电路接通,没孔的地方,针就被挡住。然后电路就可以统计对应孔位的数据:

在制表机的高效运转下,1890 年的人口普查只花了 6 年时间。随着机器的改进,历史迎来了繁荣的数据处理时代。制表机也不再局限于人口普查,逐渐扩展到会计、库存管理等一些同样需要跟大数据打交道的领域。读卡速度也从每分钟 100 张逐步提高至每分钟 2000 张。随着识别精度的提高,卡片的孔距也越来越小,具有 80~90 列孔位的卡片成为主流,有些卡片的孔位甚至多达 130 列。机器的功能也逐渐强大,不再只是简单地统计穿孔数目,减法、乘法等运算能力陆续登场。 ‍ 小历史:

1911 年,制表机公司与另外 3 家公司合并成立 CTR 公司(Computing-Tabulating-Recording Company),制表机公司作为其子公司继续运营到 1933 年。1924 年,CTR 更名为国际商业机器公司(International Business Machines Corporation),就是现在大名鼎鼎的 IBM 公司。

可见,在如今众多年轻的 IT 公司中,拥有百年历史的 IBM 是位当之无愧的前辈,它完整地参与和见证了整个现代计算机的发展史。IBM 保持了制表机公司在单元记录市场的龙头地位,到 1955 年,其每天生产的穿孔卡片多达 7250 万张。

2020 年 12 月份,我国开始了第七次人口普查;2021 年 5 月 11 日,第七次全国人口普查结果公布,仅仅用了 5 个月。 ‍

# 祖思机:第一台二进制可编程计算机

祖思出生于柏林,长大后在一家交通行业公司工作。在负责飞机在飞行过程中的受力分析,要解各种各样的微分方程。这份在外人眼中的高智商工作,在祖思看来却无异于体力劳动,他被大量的重复运算损耗着精力,无暇顾及更有价值的创造性设计。

1936 年,祖思便辞职回家,决定建造一台更便捷的计算机器,后来称为祖思机。祖思一生中几乎是独立完成了计算机的建造,并逐步改进。

这是第一代祖思机 Z1,这是一台纯机械的机器,由成千上万的金属片和金属杆组成,靠电动马达驱动运转:

​​

原图来自 http://zuse-z1.zib.de/zuse-z1-pano/intermediate-view

Z1 是二进制的,在组成上已初具现代计算机的特点,主要包括控制器、存储器、运算器、输入设备(穿孔带读取器和十进制输入面板)和输出设备(十进制输出面板)五大部分。

Z1 是世界上第一台二进制可编程计算机,其设计是极富开创性的,其中许多理念都被现代计算机所沿用:

  • 将数据存储和指令处理分开,正是现代计算机的做法
  • 奠定了二进制计算的基调,引入了实现二进制计算的基本要素——逻辑门
  • 二进制数的规格化表示简洁而优雅,如今已被纳入 IEEE 标准
  • 有了明确的机器周期概念,马达每转 1 圈,负责驱动金属片在 4 个方向上平移 1 圈,最终回到原位。
  • 加法运算最为简单,耗时 1 个机器周期;乘法运算最为复杂,耗时 20 个周期。以完成加法的 1 个机器周期为例,4 次平移分别完成读数、计算部分和、计算进位和计算最终结果。
  • 原 Z1 的工作频率为 4Hz,即每秒完成 4 个机器周期(马达每秒运转 4 圈);复制品的工作频率仅有 1Hz,完成一次乘法运算需要 20 秒 ‍ 在后来几代祖思机中,祖思开始用电磁继电器逐步改进,大大减轻了机器的重量,工作频率也提高了,在后来还打算用真空管,只可惜因成本原因没有继续。

第 4 代祖思机,Z4 以 40Hz 的频率工作,一次加法仅需 0.4 秒,平均每小时可完成约 1000 次浮点运算。

# 哈佛机:纸带上的编程

踏足机电计算领域的还有哈佛大学。当时,一名在校的物理学博士生——霍华德·艾肯(Howard Hathaway Aiken),和当年的祖思一样,被手头繁复的计算困扰着,一心想建台计算机,于是从 1937 年开始,抱着方案四处寻找愿意合作的公司,最终是 IBM 伸出了橄榄枝。

​​

霍华德·哈瑟维·艾肯(Howard Hathaway Aiken),1900-1973,美国物理学家。(图片来自维基百科)

1944 年,Harvard Mark I(哈佛马克 1 号)完成建造,是当年的大型计算机:它由约 765000 个机电元件组成,内部电线总长达 800 公里。机器长约 15.5 米,高约 2.4 米,重达 5 吨,撑满了整个机房的墙面。

机器左侧的玻璃柜中,是 2 个 30 行 24 列的置数旋钮阵列(图中只出镜了一半),可输入 60 个 23 位十进制数(留出 1 位表示正负,0 表示正、9 表示负);中间部分是更为壮观的计算阵列,由 72 个计数器组成,每个计数器包括 24 个机电计数轮,共可存放 72 个 23 位十进制数;机器的右侧部分是若干台穿孔式输入输出装置,包括 2 台读卡器(用于输入相对固定的经验常数)、3 台穿孔带读取器(分别读取存有常数表、插值系数和控制指令的 3 种穿孔带)、1 台穿孔机和 2 台自动打字机。

​​

图片来自《A Manual of Operation for the Automatic Sequence Controlled Calculator》

控制机器运行的穿孔带上每一行有 24 个孔位,使用时分成 3 组,每组 8 位,用于表示数据地址或操作指令:

​​

艾肯继续在哈佛大学研制了 Mark II~Mark IV,它们延续了 Mark I 的架构,在材料上进行了升级。1947 年的 Mark II 是全继电器的,并使用了 BCD 编码;1949 年的 Mark III 用 5000 个真空管和 1500 个晶体二极管取代了部分继电器,并引入了磁鼓、磁带等存储介质;1952 年的 Mark IV 则已是纯电子计算机,并用性能更好的磁芯存储器替代了磁鼓。

继电器还有一个问题:这些巨大,黑色,温暖的机器也会吸引昆虫。1947 年 9 月,哈佛马克 2 型的操作员从故障继电器中,拨出一只死虫。

​

Grace Hopper 曾说“从那时起,每当电脑了问题,我们就说它出了 bug 虫子,这就是术语”bug”的来源。

与同时期其他“重复制造轮子”的先驱不同,艾肯“站在了巨人的肩膀上”,他深入研究了帕斯卡、莱布尼茨、巴贝奇、霍尔瑞斯等前人的工作,并对他们寄予了极高的评价。他充分参考了他们的成果,也将他们的失策引以为戒——正是有了巴贝奇的前车之鉴,艾肯选择直接利用 IBM 现成的制表机零件,而没有走自己生产元件的弯路。

也正得益于这份扎实的调研基础,艾肯对计算机科学有着更系统、更深刻的理解。1947 年,他在哈佛大学开设了计算机专业的硕士学位,成为世界上第一位计算机科学教授,培养出一众出色的计算机学家。而几近 10 年之后,其他大学才陆续开设这一专业,并模仿着艾肯的教学体系。

# 小结

显然,用电子管建造计算机在理论上是完全可行的。不过这样的想法在早期被多数人视为天方夜谭,因为那时的电子管不但体积大、能耗高、价格昂贵,可靠性还差,常以极少的数量应用在无线电设备中,用成千上万的电子管建造计算机几乎是不可能完成的任务。

然而,还是有一批不惧困难的极客在历史的关键时刻接下了这个任务,用一根根灯丝的微弱之光,点亮了电子计算的前途。

二进制在计算中的应用,既是布尔代数计算理论的探索成果,也是穿孔技术和开关电路在硬件上的“倒逼”使然。比起追逐可靠性的机械时期,恰逢现代化战争伊始的机电时期将计算速度视为更重要的指标,这一需求敦促着先驱者们不断尝试新的材料和技术,为电子时期的到来埋下了伏笔。 ‍

上次更新: 2025/5/5 17:15:09
数字电路
图灵机:计算机世界的理论基石

← 数字电路 图灵机:计算机世界的理论基石→

最近更新
01
语雀文档一键下载至本地教程
07-04
02
要成功,就不要低估环境对你的影响
07-03
03
血泪教训:电子设备要定期开机
07-02
更多文章>
Theme by Vdoing | Copyright © 2022-2025 | 粤 ICP 备 2022067627 号 -1 | 粤公网安备 44011302003646 号 | 点击查看十年之约
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式