阿塔纳索夫-贝瑞计算机(Atanasoff–Berry Computer,通常简称ABC计算机)是世界上第一台电子数字计算设备。

本文主要是介绍阿塔纳索夫-贝瑞计算机(Atanasoff–Berry Computer,通常简称ABC计算机)是世界上第一台电子数字计算设备。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

阿塔纳索夫-贝瑞计算机

阿塔纳索夫-贝瑞计算机Atanasoff–Berry Computer,通常简称ABC计算机)是世界上第一台电子数字计算设备。这台计算机在1937年设计,不可编程,仅仅设计用于求解线性方程组,并在1942年成功进行了测试。然而,这台计算机用纸卡片读写器实现的中间结果存储机制是不可靠的。而且,在发明者约翰·文森特·阿塔纳索夫因为二战任务而离开爱荷华州立大学之后,这台计算机的工作就没有继续进行下去。ABC计算机开创了现代计算机的重要元素,包括二进制算术和电子开关。但是因为缺乏通用性、可变性与存储程序的机制,将其与现代计算机区分开来。这台计算机在1990年被认定为IEEE里程碑之一。

阿塔纳索夫-贝瑞计算机的复制品,位于爱荷华州立大学达勒姆中心1层。

阿塔纳索夫和克利福德·贝瑞的计算机工作直到1960年才被发现和广为人知,并且陷入了谁才是第一台计算机的冲突中。那时候,ENIAC普遍被认为是第一台现代意义上的计算机,但是在1973年,美国联邦地方法院注销了ENIAC的专利,并得出结论:ENIAC的发明者从阿塔纳索夫那里继承了电子数字计算机的主要构件思想。因此,ABC被认定为世界上第一台電子计算机。

设计与构造

ABC计算机构造部件图

根据阿塔纳索夫的讲述,ABC计算机的几个关键概念是在1937-1938年的一次长时间的夜间行驶中突然构想出来的。ABC的创新包括了电子计算、二进制算术、并行处理、蓄热式电容内存,还有存储和计算功能的分离。其机械和逻辑设计都是阿塔纳索夫博士在后面的一年中完成的。一个建立概念验证原型的资金申请在1939年3月提交到了农学部门,农学部门也对提高用于经济和研究分析的计算速度深感兴趣。纽约的非营利研究组织RCSA给予5000美金作为进一步资金支持。

ABC计算机是由阿塔纳索夫博士和研究生克利福德·贝瑞于1939到1942年,在艾奥瓦州立大学的物理楼地下室裡建造的。9月获得了初始资金之后,1939年10月完成了11个管件的演示原型。12月的演示为建造一个完整的机器带来了资金支持。接下来的两年里,ABC计算机完成了建设和测试。《得梅因纪事报》(Des Moines Register)在1941年1月15日声称,ABC计算机是由300多个真空管组成的“电子计算机器”,可以“计算复杂的代数方程”(但没有给出精确的计算机技术说明)。计算机系统的重量超过320千克(700磅),包含了大约1.6公里(1英里)的电线、280个双三极真空管、31个闸流管,大小相当于一个书桌。

ABC不是图灵完全的计算机。图灵完全将其与很多通用计算机区分开来,比如康拉德·楚泽的Z3计算机,或者更晚的计算机,如1946年的ENIAC、1949年的EDVAC、曼彻斯特大学的设计,以及艾伦·图灵于战后在英国国家物理实验室和其他地方的设计。而且,ABC也没有实现存储程序结构。如果实现的话,它将成为真正的全通用、可重新编程的计算机。

然而,这台计算机实现了三个关键思想,这些思想在现代计算机中仍然是一个组成部分:

  1. 使用二进制数表示所有的数值和数据
  2. 使用电子器件进行所有计算操作,而不是滚轮、棘轮或者机械开关
  3. 计算和存储在系统中分离成两部分

另外,这套系统开创了对蓄热式电容内存的使用,今天它仍在DRAM中广泛使用。

ABC计算机的存储体是一对转鼓,每个转鼓包含1600个电容器,它们围绕着共同的轴旋转,每秒一圈。每个转鼓上的电容器被分为32个“带”(“band”)(30个是活跃的,另外两个是在有电容器坏掉的时候备用的),每个带上有50个电容器,从而使机器每秒种可完成30次加减操作。数据表示成50位定点二进制数。存储体和运算单元的电子器件能同时存储和操作60个这样的数(3000位)。

60赫兹的交流电频率是最低级别操作的主时钟速率。

算术逻辑单元是用真空管实现的全电子器件。逻辑门系列由不同器件组成,低到变频器,高到两到三个输入门。输入输出水平和工作电压在不同的门之间是兼容的。每个门由一个反向真空管放大器组成,由它前面的电阻分压器输入网络定义逻辑功能。控制逻辑功能是用中继器实现的机电器件,因为带每旋转一圈才需完成一次操作,不需要电子器件那样高的速度。

虽然ABC计算机是早期计算机器发展的重要一步,但是它在解决一整个问题的时候并不能完全自动地运行。需要有一个操作员操作控制开关来设置各种功能,很像当时的机电计算器和单元计算设备。选择要进行的操作、读取、写出、二进制和十进制数的相互转换,或者化简方程组,这些操作都要通过前面面板上的开关来完成,有些情况下需要操作跳线。

输入和输出的形式有两种:主要的用户输入输出和中间结果的输入输出。中间结果的存储机制允许大问题整个存储在存储体中。如果不使用中间结果的输入输出功能,可以解决的最大问题就是求解由两个方程式联立成的方程组。

中间结果是以二进制数的形式写到纸上的,实现方式是用静电修改1500个位置的电阻器来表示50位数(一个方程)中的30位。每张纸可以在一秒钟内完成读或写。这套系统的可靠性限制在了每100000次计算出现一个错误,这主要归因于对纸张的材料性质缺乏控制。根据回忆,解决方案是在写出的每个数上加上一个校验位。这个问题直到阿塔纳索夫离开大学进入战争相关工作的时候都没有得到解决。

主要的用户输入是十进制的,通过标准的IBM80列打孔卡完成;输出也是十进制的,通过前面的一个面板显示出来。

功能

ABC计算机是为特定目的而设计的,就是求解线性方程组。它能求解多达29个方程组成的方程组,而这是当时的一个难题。这种规模的问题在约翰·阿塔纳索夫工作的物理学机构中已经很常见了。这台机器能够利用两个具有29个变量和一个常数项的方程,消掉其中一个变量。这个过程中需要重复地手动操作每个方程,最终得出消掉一个变量的方程组,然后再重复这个过程来消掉另一个变量,依此向下进行。

爱荷华州统计部门的负责人George W. Snedecor很可能是使用这台电子数字计算机解决现实世界数学问题的第一个人。他曾经向阿塔纳索夫提交过很多这种问题。

专利纠纷

参见:电子数值积分计算机 § 专利

約翰·皮斯普·埃克特(John Adam Presper "Pres" Eckert)和约翰·莫齐利(John Mauchly)发明ENIAC,是第一个电子计算设备专利的获得者。约翰·莫齐利曾经在1941年测试过ABC计算机,并且莫齐利以前的学生艾萨克·奥尔巴赫指控说,这影响了莫齐利之后关于ENIAC的工作,虽然莫齐利拒绝承认。1967年,霍尼韦尔起诉斯佩里·兰特,试图推翻他们对于ENIAC的专利,声称ABC计算机是在先技术。1973年10月19日,美国明尼苏达地区地方法院宣布裁决,在霍尼韦尔对斯佩里·兰特的诉讼中发现,ENIAC专利是由约翰·阿塔纳索夫的发明所衍生的。这个判决没有人提出上诉。

坎贝尔·凯利和Aspray总结说:

莫齐利对阿塔纳索夫的思想吸取到什么程度仍然是未知的,而且证据非常冗杂且相互矛盾。ABC计算机的技术相当温和,并且没有全部实现。至少我们能推断出,莫齐利看到了ABC计算机的潜在意义,导致他提出了一个类似的电子解决方案。

1973年10月19日,案件在法律上得到了解决,美国地方法院法官厄尔·拉尔森认为ENIAC的专利无效,判决说ENIAC从阿塔纳索夫-贝瑞计算机上继承了很多基础思想。法官拉尔森明确表示:“埃克特和莫齐利并非他们自己首先发明了自动电子数字计算机,而是继承了约翰·文森特·阿塔纳索夫的发明。”

复制品

当学校将地下室改造成教室的时候,原始的ABC计算机最终被拆掉了,而且所有的零部件(除了一个存储器转鼓)都被丢弃了。1997年,由埃姆斯实验室(位于爱荷华州校园)的约翰·古斯塔夫森领导的研究团队花费了35万美元,建造了一台能工作的ABC计算机复制品。现在,这台ABC计算机复制品永久展览于爱荷华州立大学达勒姆计算和通信中心一楼大厅。

参见

  • 计算机硬件历史

参考资料

  1. ^  Ralston, Anthony; Meek, Christopher (编), second: 488–489, 1976, ISBN 0-88405-321-0
  2. ^  Copeland, Jack, , Oxford: Oxford University Press: 101–115, 2006, ISBN 0-19-284055-X
  3. ^  Campbell-Kelly, Martin; Aspray, William, , New York, NY: Basic Books: 84, 1996, ISBN 0-465-02989-2
  4. ^  . IEEE Global History Network. IEEE. [3 August 2011]. (原始内容存档于2011-09-13).
  5. ^  Mollenhoff, Clark R., , Ames: Iowa State University Press: 47, 48, 1988, ISBN 0-8138-0032-3
  6. ^  Oral history interview with Isaac Levin Auerbach 的存檔,存档日期2002-08-04., Charles Babbage Institute
  7. ^  Shurkin, pg. 280-299
  • Ralston, Anthony; Reilly, Edwin D. (编), 3rd, New York: Van Nostrand Reinhold, 1993, ISBN 0-442-27679-6
  • Mackintosh, Allan R., , Scientific American, Aug 1988: 90, (原始内容存档于2009-10-31)

外部链接

  • ABC计算机的诞生 (页面存档备份,存于)
  • 重建ABC计算机
  • 约翰·古斯塔夫森,ABC计算机的重建 (页面存档备份,存于)
  • ENIAC专利的审判
  • 霍尼韦尔起诉斯佩里·兰特的记录, 1846-1973 (页面存档备份,存于),美国明尼苏达大学查尔斯·巴贝奇研究所。

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.

这篇关于阿塔纳索夫-贝瑞计算机(Atanasoff–Berry Computer,通常简称ABC计算机)是世界上第一台电子数字计算设备。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/415821

相关文章

从去中心化到智能化:Web3如何与AI共同塑造数字生态

在数字时代的演进中,Web3和人工智能(AI)正成为塑造未来互联网的两大核心力量。Web3的去中心化理念与AI的智能化技术,正相互交织,共同推动数字生态的变革。本文将探讨Web3与AI的融合如何改变数字世界,并展望这一新兴组合如何重塑我们的在线体验。 Web3的去中心化愿景 Web3代表了互联网的第三代发展,它基于去中心化的区块链技术,旨在创建一个开放、透明且用户主导的数字生态。不同于传统

揭秘世界上那些同时横跨两大洲的国家

我们在《世界人口过亿的一级行政区分布》盘点全球是那些人口过亿的一级行政区。 现在我们介绍五个横跨两州的国家,并整理七大洲和这些国家的KML矢量数据分析分享给大家,如果你需要这些数据,请在文末查看领取方式。 世界上横跨两大洲的国家 地球被分为七个大洲分别是亚洲、欧洲、北美洲、南美洲、非洲、大洋洲和南极洲。 七大洲示意图 其中,南极洲是无人居住的大陆,而其他六个大洲则孕育了众多国家和

usaco 1.2 Name That Number(数字字母转化)

巧妙的利用code[b[0]-'A'] 将字符ABC...Z转换为数字 需要注意的是重新开一个数组 c [ ] 存储字符串 应人为的在末尾附上 ‘ \ 0 ’ 详见代码: /*ID: who jayLANG: C++TASK: namenum*/#include<stdio.h>#include<string.h>int main(){FILE *fin = fopen (

poj 1113 凸包+简单几何计算

题意: 给N个平面上的点,现在要在离点外L米处建城墙,使得城墙把所有点都包含进去且城墙的长度最短。 解析: 韬哥出的某次训练赛上A出的第一道计算几何,算是大水题吧。 用convexhull算法把凸包求出来,然后加加减减就A了。 计算见下图: 好久没玩画图了啊好开心。 代码: #include <iostream>#include <cstdio>#inclu

uva 1342 欧拉定理(计算几何模板)

题意: 给几个点,把这几个点用直线连起来,求这些直线把平面分成了几个。 解析: 欧拉定理: 顶点数 + 面数 - 边数= 2。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#inc

uva 11178 计算集合模板题

题意: 求三角形行三个角三等分点射线交出的内三角形坐标。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#include <vector>#include <

XTU 1237 计算几何

题面: Magic Triangle Problem Description: Huangriq is a respectful acmer in ACM team of XTU because he brought the best place in regional contest in history of XTU. Huangriq works in a big compa

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

如何编写Linux PCIe设备驱动器 之二

如何编写Linux PCIe设备驱动器 之二 功能(capability)集功能(capability)APIs通过pci_bus_read_config完成功能存取功能APIs参数pos常量值PCI功能结构 PCI功能IDMSI功能电源功率管理功能 功能(capability)集 功能(capability)APIs int pcie_capability_read_wo

音视频入门基础:WAV专题(10)——FFmpeg源码中计算WAV音频文件每个packet的pts、dts的实现

一、引言 从文章《音视频入门基础:WAV专题(6)——通过FFprobe显示WAV音频文件每个数据包的信息》中我们可以知道,通过FFprobe命令可以打印WAV音频文件每个packet(也称为数据包或多媒体包)的信息,这些信息包含该packet的pts、dts: 打印出来的“pts”实际是AVPacket结构体中的成员变量pts,是以AVStream->time_base为单位的显