[计算机科学#2]:从继电器到晶体管的电子计算机发展史(庞然大物的进化)

[LOGO]:CoreKSets

           【核知坊】:释放青春想象,码动全新视野。          

            我们希望使用精简的信息传达知识的骨架,启发创造者开启创造之路!!!          


内容摘要本文讲述了20世纪初至1950年代计算机技术的发展历程。早期的计算设备如制表机主要用于特定任务,随着人类社会规模和复杂度的增加,数据量暴增,推动了对自动化和计算能力的需求。机电计算机如哈佛马克一号因体积大、维护成本高、易出错等问题逐渐被真空管计算机取代。真空管计算机如巨人1号和ENIAC虽性能提升,但真空管易损坏。1947年晶体管的发明开启了新的计算机时代,晶体管计算机体积小、成本低、可靠性高且速度快,如IBM 608。晶体管技术的发展推动了计算机的普及,促成了“硅谷”的诞生,如今晶体管已实现微型化和高性能化。

关键词:真空管 晶体管 哈佛马克一号 硅谷


其他相关文章(3篇):

[计算机科学#1]:计算机的前世今生,从算盘到IBM的演变之路https://blog.csdn.net/weixin_64094522/article/details/147463617

1.继电器


1.1 背景

        随着人类社会进入20世纪,早期的计算设备,例如制表机,极大地推动了政府和企业的运作效率,它们在很大程度上替代了繁琐且耗时的手工劳动,为社会的发展提供了重要的技术支持。然而,20世纪上半叶,世界人口几乎翻倍,一战动员了7千万人,二战更是涉及超过1亿人。全球贸易和运输网络以前所未有的紧密度相互连接,工程和科学的复杂度也达到了新的高度,甚至人类开始考虑造访其他行星。这一系列的发展使得社会的复杂度呈爆炸式增长,随之而来的数据量也呈现出爆炸式增长的态势,这使得人们对于更强的自动化与计算能力的需求变得日益迫切。

1.2 早期的机电计算机

        在20世纪初期,早期的计算设备从较为小型的柜式机电设备迅速发展成为房间大小的庞然大物。这些巨大的机电计算机虽然在功能上有了显著的提升,能够处理更为复杂的计算任务,但同时也带来了高昂的维护成本和较高的故障率。但这些机电计算机也为后续的技术创新奠定了坚实的基础,开启了现代计算机技术发展的先河。

        最具代表性的当属哈佛马克一号(Harvard Mark I)。这台计算机于 1944 年由 IBM 公司为二战盟军制造,主要用于支持曼哈顿计划(原子弹研发项目),为其运行项目模拟提供强大的计算支持。哈佛马克一号的构造极为复杂,它拥有 76.5 万个零件,300 万个连接点,以及长达 500 英里的电线。为了确保其内部众多机械部件之间的同步运转,该设备采用了一个长达 50 英尺的传动轴,由一个 5 马力的电机驱动。这种复杂而庞大的设计虽然在当时显得有些笨拙,但却为后续计算机技术的发展提供了宝贵的经验和启示。

1.3 技术核心:继电器(Relay)

继电器

        继电器是一种用电控制机械开关的装置。其工作原理:当控制线圈通电时,会产生磁场,磁场会吸引金属臂,从而使电路闭合。这种原理可以类比为水龙头,开关的打开与关闭决定了水(电流)是否流动。继电器的应用非常广泛,它可以控制其他电路或设备,例如驱动马达进行计数等操作。

然而,继电器存在诸多问题:

  • 速度慢。由于机械臂具有质量,无法瞬间切换状态。在1940年代,即使性能较好的继电器,每秒也只能翻转50次。这极大地限制了整体计算速度。例如,哈佛马克一号计算机每秒只能进行3次加减法运算;乘法需要6秒,除法需要15秒;而复杂的运算,如三角函数,甚至可能超过一分钟。

  • 继电器容易磨损。机械运动会导致零件磨损或失效,随着继电器数量的增加,故障率也会同步上升。以哈佛马克一号为例,它拥有3500个继电器。即使假设每个继电器的使用寿命为10年,这也意味着平均每天需要更换一个故障继电器!这无疑给维护工作带来了巨大的挑战。

  • 外部环境也会对继电器造成影响。这些巨大的机器通常黑暗且温暖,很容易吸引昆虫。1947年,哈佛马克二号的一次故障就是因为一只死掉的飞蛾卡在继电器里。从那时起,“bug”(虫子)这个术语开始被用来形容计算机故障。

2.真空管


        随着计算需求的不断增加,机电继电器的局限性逐渐显现。为了进一步提升计算能力,人们迫切需要一种比机电继电器更快、更可靠的替代品。幸运的是,这种替代品已经存在了——那就是真空管

2.1真空管的诞生

        1904年,英国物理学家约翰·安布罗斯·弗莱明发明了热电子管,这是世界上第一个真空管。这个发明在气密玻璃泡内放置两个电极。加热一个电极时会产生热电子发射,这些电子会从加热的电极(阴极)发射出来。如果另一个电极(阳极)带有正电荷,它会吸引这些电子,从而产生电流。如果第二个电极是负电或中性,则不会有电流流动。这种单向导通的器件被称为二极管。然而,二极管只能单向导通电流,无法实现开关功能。人们真正需要的是一个可以开关电流的装置。

        1906年,美国发明家李·德富雷斯特在二极管设计上增加了第三个控制电极,从而发明了三极管真空管。正电使电子流动,负电则阻断流动。这样可以像继电器一样控制电流,但没有机械运动部件。这意味着更少磨损,且可以每秒切换数千次,大大超过继电器的速度。三极管真空管成为无线电、长途电话等电子设备的重要基础,持续了接近半个世纪。

        虽然真空管脆弱,像灯泡一样容易烧坏,而且起初价格昂贵,但相比继电器仍然是巨大的进步。到了1940年代,真空管的成本和可靠性提高,已经可以用于计算机,尤其是政府等财力雄厚的机构。这也标志着计算机技术从机电时代正式进入电子时代

2.2 Colossus:第一台电子可编程计算机

        1943年,工程师Tommy Flowers设计并完成了Colossus Mark I,这是一台具有划时代意义的电子计算机。Colossus Mark I使用了1600个真空管,安装在英国的布莱切利园,主要用于破解纳粹的通信加密。两年前,阿兰·图灵在同一地点开发了机电设备“Bombe”,用于破解纳粹的“英格码”密码机,但严格意义上来说,“Bombe”还不算是一台计算机。相比之下,Colossus则被认为是第一个可编程的电子计算机

        Colossus的编程方式相当独特且具有开创性。它通过将大量电线插拔到插板上进行配置,这种方式类似于老式电话交换机的操作。尽管Colossus具备可编程性,但其配置过程仍然相当繁琐,需要技术人员花费大量时间和精力来设置每根电线,以确保计算机能够执行特定的计算任务。这种编程方式虽然原始,但在当时的技术条件下,它为计算机的可编程性开辟了新的道路,为后续计算机技术的发展奠定了基础。

2.3ENIAC:第一台通用电子计算机

        1946年,宾夕法尼亚大学的John Mauchly和J. Presper Eckert完成了ENIAC,这标志着计算机技术的又一个重大突破。ENIAC是世界上第一台真正通用、可编程的电子计算机,其性能在当时堪称革命性。它每秒可以执行5000次十位数的加减运算,运算速度远远超过了以往所有的计算设备。ENIAC的运算能力极为强大,它运作了十年,据估计,其完成的运算量比人类历史上所有手动计算加起来还多。然而,ENIAC也面临着一些技术挑战。由于它使用了大量真空管,故障频繁,通常只能连续运行半天左右就需要修理一次。

2.4 AN/FSQ-7:真空管计算机的极限

        到1950年代,真空管技术也逐渐达到了其发展的瓶颈。尽管真空管计算机在速度和可靠性上相比早期的机电计算机有了显著提升,但随着计算需求的不断增长,其局限性也逐渐显现。1955年完成的美国空军AN/FSQ-7计算机,作为“SAGE”防空系统的核心部分,是这一时期真空管计算机技术的典型代表。

        AN/FSQ-7计算机的规模庞大,需要大量的真空管来实现其复杂的计算功能,这不仅导致了高昂的制造和维护成本,还使得计算机的体积和能耗大幅增加。真空管的使用寿命有限,频繁的故障和更换也严重影响了计算机的稳定性和可用性。真空管计算机已经难以满足日益增长的高性能计算需求,迫切需要一种新的技术来推动计算机技术的进一步发展。

3.晶体管


        为了降低计算机的成本与体积,同时提升可靠性与速度,需要一种全新的电子开关。1947年,贝尔实验室的John Bardeen、Walter Brattain和William Shockley发明了晶体管,开启了全新的计算机时代!晶体管本质上就像继电器或真空管,它是一个可以通过控制线路开关的电子开关。

        晶体管有两个电极,中间隔着一种半导体材料,这种材料的导电性可以根据需要进行调节。当给控制端(称为门极Gate)施加不同的电荷时,可以控制电流的通断,这与之前提到的水龙头比喻非常相似。即使是最早的晶体管,每秒也能开关1万次,性能极其出色。

        相比脆弱、易损坏的玻璃真空管,晶体管是固态组件,更坚固耐用。而且晶体管的体积远小于最小的继电器或真空管,这使得计算机能够变得更小更便宜,同时也更容易维护和升级。

3.1 计算革命

        1957年,IBM发布了IBM 608,这是第一台完全由晶体管驱动并面向公众销售的计算机。它标志着计算机技术的一个重要转折点,将计算能力从大型机带入了更广泛的商业和家庭环境。IBM 608包含3000个晶体管,能够每秒执行4500次加法或80次乘除法。这种性能在当时是非常惊人的,它不仅比之前的真空管计算机更小、更便宜,而且更加可靠和高效。

        晶体管的使用大大减少了计算机的体积和能耗,同时也提高了其运算速度和稳定性。很快,IBM将所有产品转向了晶体管技术,这一转变不仅推动了计算机技术的普及,还将计算机带入了办公室和家庭。晶体管计算机的出现,使得计算机从大型机的专属逐渐走向了普通用户,开启了计算机技术的大众化时代。

3.2硅谷的诞生

        大量晶体管与半导体的研发在加州的圣克拉拉谷进行。由于半导体的主要材料是硅(Silicon),这个地区后来被称为硅谷(Silicon Valley)。1956年,晶体管的发明者之一威廉·肖克利(William Shockley)也搬到了这里,并创立了肖克利半导体实验室(Shockley Semiconductor Laboratory)。

        然而,由于肖克利的管理风格等问题,他的八位核心员工,被称为“叛逆八人组”(Traitorous Eight),于1957年离开肖克利半导体,创办了仙童半导体公司(Fairchild Semiconductor)。仙童半导体在半导体技术的发展中扮演了关键角色,培养了大量的技术和管理人才。

        这些人才后来又创办了许多重要的半导体公司,其中包括今天世界上最大的芯片制造商——英特尔(Intel)。英特尔的创立者之一罗伯特·诺伊斯(Robert Noyce)就是“叛逆八人组”中的一员。

3.3 从晶体管到纳米时代

        如今,计算机中的晶体管尺寸已经小于50纳米。作为参考,一张普通纸的厚度大约是10万纳米,这足以说明现代晶体管的微型化程度之高。这些晶体管不仅极小,而且性能极为出色。它们能够每秒开关上百万次,并且在正常条件下可以稳定运行数十年。这种微型化和高性能化的晶体管是现代计算机技术能够实现高速处理和长时间稳定运行的关键,也是推动电子设备不断小型化和智能化的重要因素。

文章总结


        从机电继电器到真空管,再到晶体管,计算机技术经历了多次重大变革。每一次技术进步都极大地提升了计算能力,推动了计算机的普及和应用。如今,晶体管技术的微型化和高性能化使得计算机能够处理复杂的任务,并广泛应用于各个领域。下篇文章将讨论:如何用晶体管实际执行计算任务?

感谢阅览,如果你喜欢该内容的话,可以点赞,收藏,转发。由于 Koro 能力有限,有任何问题请在评论区内提出,Koro 看到后第一时间回复您!!!


其他精彩内容:

赶稿⛏。。。


参考内容:

Crash Course Computer Science(Y-T)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/903035.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ESP32S3】Cache 框图和操作

ESP32-S3 采用双核共享 ICache (指令缓存) 和 DCache (数据缓存) 结构,如下图所示。以便当 CPU 的指令总线和数据总线同时发起请求时,也可以迅速响应: Cache 的存储空间与内部存储空间可以复用。具体为 Internal SRAM0…

wireshark从HEX转储导入使用方法

官方资料: https://www.wireshark.org/docs/wsug_html_chunked/ChIOImportSection.html 方法1: 文本文件,纯内容导入: ff ff ff ff ff ff 00 00 00 00 5f 0f 08 06 00 01 08 00 06 04 00 01 00 00 00 00 5f 0f 64 01 60 10 00 00 00 00 00 00 64 01 01…

【Android】四大组件之Activity

目录 一、什么是Activity 二、如何创建和配置Activity 三、Activity 跳转与数据传递 四、数据保存与恢复 五、Activity 启动模式 六、自定义返回行为 七、复杂界面布局 你可以把Activity想象成手机屏幕上的一个“页面”。比如,当你打开一个App时,…

uml类关系(实现、继承,聚合、组合,依赖、关联)

drawio和EA是架构设计时经常使用的画图工具。 drawio学习门槛低,使用灵活,但是功能仅仅限于画图。 EA学习门槛高,但是功能更加的丰富: ①在画图方面,EA严格满足UML标准,EA中的图和类是关联的&#xff0c…

C++如何设计线程池(thread pool)来提高线程的复用率,减少线程创建和销毁的开销

线程池的基本概念与多线程编程中的角色 线程池,顾名思义,是一种管理和复用线程的资源池。它的核心思想在于预先创建一定数量的线程,并将这些线程保持在空闲状态,等待任务的分配。一旦有任务需要执行,线程池会从池中取出…

React.memo 和 useMemo

现象 React 中,通常父组件的某个state发生改变,会引起父组件的重新渲染(和其他state的重新计算),从而会导致子组件的重新渲染(和其他非相关属性的重新计算) 问题一:如何避免因为某个…

防火墙技术深度解析:从包过滤到云原生防火墙的部署与实战

防火墙技术深度解析:从包过滤到云原生防火墙的部署与实战 在网络安全防御体系中,防火墙是第一道物理屏障,承担着“网络流量守门人”的核心角色。从早期基于IP地址的包过滤设备到如今集成AI威胁检测的云原生防火墙,其技术演进始终…

strcmp()在C语言中怎么用(附带实例)

C语言标准库中的 strcmp() 函数用于比较两个字符串。 strcmp() 函数原型如下: int strcmp (const char * str1, const char * str2); const char *str1 表示待比较字符串 1 的首地址;const char *str2 表示待比较字符串 2 的首地址。 如果两个字符串相…

搜广推校招面经八十二

一、L1 和 L2 正则化的区别?对数据分布有什么要求,它们都能防止过拟合吗? 1.1. L1 与 L2 正则化的区别 特性L1 正则化(Lasso)L2 正则化(Ridge)正则项λ * ∑|wᵢ| λ ∗ ∑ ( w i 2 ) λ * ∑…

数据结构和算法(九)--红黑树

一、红黑树 1、红黑树 前面介绍了2-3树,可以看到2-3树能保证在插入元素之后,树依然保持平衡状态,它的最坏情况下所有子结点都是2-结点,树的高度为IgN,相比于我们普通的二叉查找树,最坏情况下树的高度为N,确…

工业摄像头通过USB接口实现图像

工业摄像头系列概览:类型与应用 工业摄像头系列涵盖了多种类型,以满足不同行业和应用的需求。以下是对工业摄像头系列的一些介绍: 一、主要类型与特点 USB工业摄像头 :这类摄像头通常通过USB接口与计算机连接,适用于…

使用Django框架表单

使用Django框架表单 文章目录 使用Django框架表单[toc]1.使用Form类构建表单2.表单字段与Widget控件 1.使用Form类构建表单 【创建项目和应用】 PS C:\Users\ls> cd E:\Python\ PS E:\Python> django-admin.exe startproject FormSite PS E:\Python> cd .\FormSite\…

docker配置mysql遇到的问题:网络连接超时、启动mysql失败、navicat无法远程连接mysql

目录 1.网络超时 方式1. 网络连接问题 方式2. Docker镜像源问题 方式3.使用国内镜像源 2.启动mysql镜像失败 3.navicat无法远程连接mysql 1.网络超时 安装MySQL时出现超时问题,可能由多种原因导致: 方式1. 网络连接问题 原因:网络不稳定…

React 多语言国际化:实现多语言支持

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》 🍚 蓝桥云课签约作者、…

Claude系列模型-20250426

文章目录 Claude 3.7 Sonnet - "Our most intelligent model yet"Claude 3.5 Haiku - "Fastest model for daily tasks"Claude 3.5 Sonnet (Oct 2024)Claude 3 Opus总结Claude 3.7 Sonnet - “Our most intelligent model yet” 特点: 这是目前Claude系列…

Linux查看可用端口号码命令

在Linux系统中,有多种命令可用于查看可用端口号码,下面为你详细介绍: 1. 使用netstat命令 netstat是一个功能强大的网络工具,可用于显示网络连接、路由表和网络接口等信息。你可以结合不同的选项来查看端口使用情况。 查看所有…

leetcode201.数字范围按位与

找到公共前缀部分&#xff0c;然后后面的部分全0 class Solution {public int rangeBitwiseAnd(int left, int right) {int offset 0;while (left ! right) {offset;left left >> 1;right right >> 1;}return right << offset;} }

端到端自动驾驶的数据规模化定律

25年4月来自Nvidia、多伦多大学、NYU和斯坦福大学的论文“Data Scaling Laws for End-to-End Autonomous Driving”。 自动驾驶汽车 (AV) 栈传统上依赖于分解方法&#xff0c;使用单独的模块处理感知、预测和规划。然而&#xff0c;这种设计在模块间通信期间会引入信息丢失&am…

021-C语言文件操作

C语言文件操作 文章目录 C语言文件操作1. 文件的概念2. 二进制文件和文本文件3. 文件的打开和关闭3.1 流和标准流3.1.1 流3.1.2 标准流 3.2 文件指针3.3 文件的打开和关闭 4. 文件的顺序读写4.1 顺序读写函数4.2 对比两组函数4.2.1 scanf/fscanf/sscanf4.2.2 printf/fprintf/sp…

如何使用@KafkaListener实现从nacos中动态获取监听的topic

1、简介 对于经常需要变更kafka主题的场景&#xff0c;为了实现动态监听topic的功能&#xff0c;可以使用以下方式。 2、使用步骤 2.1、添加依赖 <dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactI…