当前位置: 首页 > news >正文

计算机从何而来?计算技术将向何处发展?

计算机的前生:机械计算工具的演进

算盘是计算机的起点,它其实是一台“机械式半自动化运算器”。打算盘的“口诀”其实就是它的编程语言,算盘珠就是它的存储器。

第二阶段是可以做四则运算的加法器、乘法器。1642年,法国数学家帕斯卡为了帮税务官父亲计税,发明了一个机械式的加法器;1673年,德国数学家莱布尼茨则发明了可做乘除法的乘法器。

计算机进阶到第三阶段,是可编程织布机。织布机跟计算有什么关系?织布工人在纸上画出图形,机器能读懂、绣到布上,这个过程就叫作编程。在这一进程中,1801年,杰卡德发明了首个可编程织布机——通过穿孔卡对织布机进行编程。今天织布的印花还是这个原理。

第四阶段是差分机。西方进入大航海时代,人们航行中在编制航海、天文用表时,需要大量的人工劳动。直到1837年,巴贝奇设计了差分机与分析机,虽然在工程上没有彻底实现,但已经可以完成非常复杂的计算,比如通过多项式逼近对数、指数和三角函数。

到了第五阶段,人类历史上第一次有了计算程序。1843年,世界上第一位程序员爱达——一位女性——设计了一个算法,用来计算伯努利数列的值。这是历史上第一个利用计算机进行运算的算法程序。

第六阶段,机械计算工具到了顶峰。二战期间,阿兰·图灵为了破译密码设计出“图灵甜点”解码机。这个解码机的特点是,有非常好的计算能力和适应性,因为德国设计的恩格玛密码机的密码一直在变。

现代计算机的诞生与应用

经过这六个阶段,至此机械式计算工具达到了工程技术积累的巅峰。但是,那时还没有出现“电子计算机”。即便是“图灵甜点”解码机,也只是一类专用的计算机,每一个功能都要专门制造。

直到出现了三位伟大学者——阿兰·图灵、冯·诺依曼、威廉姆·肖克利,他们的发明奠定了现代通用计算机工程科学的三大基石,才最终诞生了通用电子计算机。

除了发明了“图灵甜点”,图灵后来又提出了“图灵机”的设想,提出了能够自动执行程序的通用计算装置的科学原理,为现代计算机的发展奠定了基础。

图灵是个奇人。他曾在美国普林斯顿大学读博士,二战时期破译恩格玛密码,后来他还跟爱因斯坦是同事。他还是一位世界级的长跑运动员,参加过马拉松比赛。有一部电影名为《模仿游戏》,讲述了他的传奇人生。

1936年,图灵为了解决“数学可判定”问题,发明了图灵机——模拟人用纸笔计算的机器。根据图灵提出的图灵机模型,它主要由一条无限长的纸带、一个读写头和一些内部状态组成。纸带被分成一个个小方格,每个方格可以包含一种符号(如0或1)。读写头可以在纸带上移动,读取和写入符号,并根据当前状态和读取的符号来改变自己的内部状态和移动方向。图灵机可以模拟任何算法的过程,是一个理论上的计算模型,为现代计算机的发展奠定了基础。

冯·诺依曼首先提出了“存储程序”的概念和二进制原理,并为图灵机的实现提供了一个通用的体系结构——将计算机分为输入设备、存储器、运算器、输出设备4个部分。有了冯·诺依曼的结构,图灵机就从一个抽象的数学模型变成了工程师可以实现的一种结构,解决了现代计算机如何实现的问题。

1946年2月14日,人类历史上真正意义的第一台电子计算机——ENIAC在美国宾夕法尼亚大学诞生了。它使用电子真空管来执行数字和逻辑运算,使用穿孔卡片来输入数据和指令。ENIAC的出现标志着现代计算机的诞生,对人类社会的科技、经济和发展产生了深远的影响。

光有电子计算机还不行,人们还希望它的运算速度能够不停地变快。

肖克利被誉为“晶体管之父”,他与两位同事一起发明了晶体管。晶体管是能够实现计算机的数学基础布尔代数的开关器件,也是我们建造现代计算机之塔的“砖块”。它的发明为现代计算机的发展提供了更小、更快、更可靠的电子元件,取代了之前使用的真空管,使得计算机的体积和功耗大大降低,性能和可靠性大大提高。

在肖克利之后,杰克·基尔比又发明了集成电路。1958年,基尔比成功地创造出世界上第一个采用单一材料制成的集成电路,标志着微电子时代的开始,对全球电子工业的发展产生了深远的影响。现在我们最大的一颗芯片上,可以集成超过1000亿个晶体管,这就是微电子集成电路的功劳,让我们的计算机能够运行得越来越快。2000年,基尔比因集成电路的发明被授予诺贝尔物理学奖。

有了计算机,接下来就是应用的繁荣。全世界使用计算机的人们是依靠什么互联互通的?互联网。互联网让全世界任何一个人可以通过网络跟世界通信。互联网的发明离不开TCP/IP协议。TCP/IP协议是由罗伯特·卡恩和文森特·瑟夫共同发明的。其中,TCP(Transmission Control Protocol,传输控制协议)和IP(Internet Protocol,网际协议)是该协议族中最核心的两个协议。他们的这项发明对互联网的发展产生了深远的影响,并最终成为了大部分因特网共同遵守的一种网络规则。

虽然可以基础通信,但英国计算机科学家蒂姆·伯纳斯-李在欧洲核子研究中心工作时,意识到科学家们之间共享信息的方式非常不便,因此开始着手设计一种新的信息管理系统,这就是万维网的前身。

伯纳斯-李设计的万维网系统包括三个核心组成部分:超文本标记语言(HTML)、超文本传输协议(HTTP)和统一资源定位符(URL)。HTML用于创建和格式化网页内容,HTTP用于在Web服务器和浏览器之间传输数据,而URL则为互联网上的每个资源提供了一个唯一的地址。

1990年,伯纳斯-李成功开发出第一个Web浏览器和Web服务器,使得用户能够在万维网上查看和发布信息。这一发明为互联网的普及和发展奠定了坚实的基础。从此,人类进入了数字文明的新时代。

中国计算科学家的历史贡献

在计算机领域,有三位中国科学家贡献很大。

第一位是我们中国计算机学科的创始人、被誉为“中国计算机之母”的夏培肃先生。她是我国第一台自行设计的通用电子计算机的发明人,还培养了一大批人从事计算事业。BBC专门撰写了一篇文章,纪念夏培肃先生。

第二位是中国工程院院士金怡濂先生。作为我国巨型计算机事业的开拓者之一,他在半个世纪的时间里,先后提出多种类型、各个时期居国内领先或国际先进水平的大型、巨型计算机系统的设计思想和技术方案,并组织科技人员共同刻苦攻关、予以实现。他是“神威”超级计算机系统的总设计师,使我国高性能计算机峰值运算速度从每秒10亿次跨越到每秒3000亿次以上。

第三位是我国两院院士、国家最高科学技术奖获得者王选先生。他是计算机汉字激光照排技术的创始人,被称为“汉字激光照排系统之父”。他主持研制成功的汉字信息处理与激光照排系统、方正彩色出版系统得到大规模应用,实现了我国出版印刷行业“告别铅与火,迈入光和电”的技术革命。

再提一下中国工程院院士李国杰先生。

曾经,有一座罩住我们的“玻璃房子”。20世纪80年代,我们国家在计算机超算方面还很落后,我们好不容易从美国买来一部超级计算机,美国人还用玻璃房子把机器罩在里面,并实施 24 小时全方位监控,而且连进出门的钥匙和启动密码也由美方掌控,中国人不允许进入玻璃房子。

这对中国的科学家而言是一个耻辱。李国杰院士回国后带领研发团队,研制了“曙光”机群系统,并逐步实现了高性能计算机的产业化。现在,我们无论是大学、研究所还是企业,都有最快的高性能计算机使用,就在于我们走通了高性能计算机产业化创新道路。

今天,我们有了自己的“玻璃房子”——在四川成都天府新区鹿溪智谷核心区有一个网红打卡地,那就是如科幻大片般的曙光“硅立方”的景观玻璃房。这里边装的高性能计算机,就是电影《流浪地球2》中依靠液冷散热的550W的原型。

未来计算技术的两个方向

计算技术的未来,有两个方向是人们比较关注的。

一是,到2035年,我们能不能造出Z级计算机?

Z级计算机中的Z,代表计算机运算速度达到每秒10的21次方次浮点运算。我们现在能达到E级计算,即10的18次方次。

高性能计算机提速的背后,有几个要解决的重大问题,比如“能耗墙”。怎么样降下来能耗,是世界级难题。现在,我们主要通过器件结构或工艺来提升能效,包括高密度的集成封装,当然,如果高温超导技术能够实现,超导技术的应用也会降低能耗。另外,还有“光子计算”,也有望降低能耗。

第二个方向,量子计算机。许多人看过电影《流浪地球2》后都在问,类似于550W或者“MOSS”能不能被制造出来?量子计算机主要是并行计算,所以它的速度、性能充满想象空间。

我认为要实现量子计算机,至少也需要6个步骤,但是现在我们的科学家们只知道前三个步骤该怎么做,后面三个步骤还没有头绪。第一步,人们已经做出来了“量子算盘”——用量子计算的原理对某一特定问题进行加速,比如谷歌公司做出来的量子计算机、中国科学技术大学研究团队做出来的“九章”,已经可以在量子采样算法上显示了“量子优越性”。至于第二步,“量子运算器”,就是要对一类科学问题能够进行求解。现在在这一步还存在技术挑战,比如量子存储要克服量子体系量子态可存储时间极短的问题,量子随机访存尚无实验实现的情况等等。

量子计算的第三步,领域专用的量子计算机,需要实用的量子算法、量子编程框架、量子编译优化、量子指令集、量子微体系结构、量子纠错码、底层物理芯片……我们希望在2050年前能完成这一步,构成一个完整的量子计算机的技术体系。当然,即便到了这一步,距离电影中的550C都还非常遥远,这需要更多的年轻人投身到这个领域来共同努力。今天,人类已经进入到了人—机—物三元融合的世界,未来的信息世界,也要靠大家一起来创造。

相关文章:

计算机从何而来?计算技术将向何处发展?

计算机的前生:机械计算工具的演进 算盘是计算机的起点,它其实是一台“机械式半自动化运算器”。打算盘的“口诀”其实就是它的编程语言,算盘珠就是它的存储器。 第二阶段是可以做四则运算的加法器、乘法器。1642年,法国数学家帕斯…...

浏览器的通信能力

浏览器的通信能力 用户代理 浏览器可以代替用户完成http请求,代替用户解析响应结果,所以我们称之为: 用户代理 user agent 在网络层面,对于前端开发者,必须要知道浏览器拥有的两大核心能力: 自动发出请…...

11. 9 构建生产级聊天对话记忆系统:从架构设计到性能优化的全链路指南

构建生产级聊天对话记忆系统:从架构设计到性能优化的全链路指南 关键词: 聊天对话记忆系统、多用户会话管理、LangChain生产部署、Redis记忆存储、高并发对话系统 一、服务级聊天记忆系统核心需求 多用户隔离:支持同时处理数千个独立对话持久化存储:对话历史不因服务重启丢…...

25.02.04 《CLR via C#》 笔记14

第二十一章 托管堆和垃圾回收 内存分配过程 CLR维护一个“下一次分配指针”(NextObjPtr),指向当前托管堆中第一个可用的内存地址 计算类型所需的字节数,加上对象开销(类型对象指针、同步块索引)所需字节数…...

半导体器件与物理篇5 mosfet及相关器件

认识mos二极管 MOS二极管是研究半导体表面特性最有用的器件之一。MOS二极管可作为存储电容器,并且是电荷耦合器件(CCD)的基本结构单元。 MOS二极管结构的重要参数包括:氧化层厚度d;施加于金属平板上的电压V(正偏压时V为正&#x…...

Hugging Face GGUF 模型可视化

Hugging Face GGUF 模型可视化 1. Finding GGUF files (检索 GGUF 模型)2. Viewer for metadata & tensors info (可视化 GGUF 模型)References 无知小儿,仙家雄霸天下,依附强者才是唯一的出路。否则天地虽大,也让你们无路可走&#xff0…...

PVE纵览-掌握 PVE USB 直通:让虚拟机与物理设备无缝连接

PVE纵览-掌握 PVE USB 直通:让虚拟机与物理设备无缝连接 文章目录 PVE纵览-掌握 PVE USB 直通:让虚拟机与物理设备无缝连接摘要前提条件步骤一:识别 USB 设备步骤二:编辑虚拟机配置步骤三:重启虚拟机注意事项其他配置选…...

关于系统重构实践的一些思考与总结

文章目录 一、前言二、系统重构的范式1.明确目标和背景2.兼容屏蔽对上层的影响3.设计灰度迁移方案3.1 灰度策略3.2 灰度过程设计3.2.1 case1 业务逻辑变更3.2.2 case2 底层数据变更(数据平滑迁移)3.2.3 case3 在途新旧流程兼容3.2.4 case4 接口变更3.2.5…...

DeepSeek:智能时代的AI利器及其应用前景

1.DeepSeek是什么? DeepSeek是一款基于人工智能技术的工具,旨在帮助用户高效处理和分析数据、生成内容、优化工作流程等。无论是数据分析、自然语言处理,还是自动化任务,DeepSeek都能提供强大的支持。其核心技术涵盖了机器学习、深…...

超详细UE4(虚幻4)第一人称射击(FPS)游戏制作教程

超详细UE4(虚幻4)第一人称射击(FPS)游戏制作教程 引言 在游戏开发领域,第一人称射击(FPS)游戏一直是最受欢迎的类型之一。从经典的《反恐精英》(CS)到现代的《使命召唤》(Call of Duty),FPS游戏凭借其紧张刺激的游戏体验和高度沉浸感,吸引了无数玩家。如果你是一…...

电商项目高级篇09-检索服务

电商项目高级篇09-检索服务 1、环境搭建1.1、前端静态文件准备1.2、search服务引入模版引擎1.3、index.html页面复制到templates文件夹下1.4、模仿product项目,引入名称空间1.5、动静分离,静态资源路径位置替换1.6、将1.1的静态资源放到nginx目录下1.7、…...

【网络协议大花园】应用层 http协议的使用小技巧,用好了都不用加班,效率翻两倍(下篇)

本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. 🤭🤭🤭可能说的不是那么严谨.但小编初心是能让更多人…...

5 前端系统开发:Vue2、Vue3框架(中):Vue前端工程化组件式开发

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言五、前端工程化(使用Vue创建一个完整的企业级前端项目)1 Vue脚手架(Vue-cli)环境准备(1)…...

【Leetcode刷题记录】1456. 定长子串中元音的最大数目---定长滑动窗口即解题思路总结

1456. 定长子串中元音的最大数目 给你字符串 s 和整数 k 。请返回字符串 s 中长度为 k 的单个子字符串中可能包含的最大元音字母数。 英文中的 元音字母 为(a, e, i, o, u)。 这道题的暴力求解的思路是通过遍历字符串 s 的每一个长度为 k 的子串&#xf…...

Rust中使用ORM框架diesel报错问题

1 起初环境没有问题:在Rust开发的时候起初使用的是mingw64平台加stable-x86_64-pc-windows-gnu编译链,当使用到diesel时会报错,如下: x86_64-w64-mingw32/bin/ld.exe: cannot find -lmysql具体信息很长这是主要信息是rust找不到链…...

Java 数据库连接池:HikariCP 与 Druid 的对比

Java 数据库连接池:HikariCP 与 Druid 的对比 数据库连接池:HikariCP 1. 卓越的性能表现 HikariCP 在数据库连接池领域以其卓越的性能脱颖而出。 其字节码经过精心优化,减少了不必要的开销,使得连接获取和释放的速度极快。 在…...

04树 + 堆 + 优先队列 + 图(D1_树(D7_B+树(B+)))

目录 一、基本介绍 二、重要概念 非叶节点 叶节点 三、阶数 四、基本操作 等值查询(query) 范围查询(rangeQuery) 更新(update) 插入(insert) 删除(remove) 五、知识小结 一、基本介绍 B树是一种树数据结构,通常用于数据库和操作系统的文件系统中。 B树…...

MATLAB实现单层竞争神经网络数据分类

一.单层竞争神经网络介绍 单层竞争神经网络(Single-Layer Competitive Neural Network)是一种基于竞争学习的神经网络模型,主要用于数据分类和模式识别。其核心思想是通过神经元之间的竞争机制,使得网络能够自动学习输入数据的特…...

AITables首发:基于AI全自动推理设计数据库,国内首创,跑5分钟相当于架构师设计一周!

AITables仅运行5分钟,整个系统的表都设计好了! 随着AI大模型技术的开源普及和平民化,现如今任何一个人都有可能成为超级个体。但随着企业级业务的膨胀和业务挑战增多,我们势必要跟上AI发展的节奏,让AI帮我们设计软件。…...

Go语言中结构体字面量

结构体字面量(Struct Literal)是在 Go 语言中用于创建和初始化结构体实例的一种语法。它允许你在声明结构体变量的同时,直接为其字段赋值。结构体字面量提供了一种简洁、直观的方式来创建结构体对象。 结构体字面量有两种主要形式&#xff1…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...

【JavaEE】-- HTTP

1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...

Golang dig框架与GraphQL的完美结合

将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)

笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

Web 架构之 CDN 加速原理与落地实践

文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 &#xf…...

springboot整合VUE之在线教育管理系统简介

可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...

【Go语言基础【12】】指针:声明、取地址、解引用

文章目录 零、概述:指针 vs. 引用(类比其他语言)一、指针基础概念二、指针声明与初始化三、指针操作符1. &:取地址(拿到内存地址)2. *:解引用(拿到值) 四、空指针&am…...

力扣热题100 k个一组反转链表题解

题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...

JS手写代码篇----使用Promise封装AJAX请求

15、使用Promise封装AJAX请求 promise就有reject和resolve了&#xff0c;就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...