2023年09月15日 星期五
计算:只有更快,没有最快
□ 孙凝晖
中国工程院院士、计算机系统结构专家

    说到计算,我们首先会想到计算机。但对于计算的原理,真正了解的人并不多。计算到底是什么?计算机是如何诞生并推动计算的发展?计算速度的提升为什么成为人类不懈的追求?

    计算要从算盘说起

    计算是指将数学问题转化成为数值或符号的操作,从而得出所需的结果。最早的计算应用工具可以追溯到算盘,这也是计算机的起点。

    如果进行一个简单罗列,人类历史上第一个人造计算工具是诞生于中国公元1200年前的算盘;1642年,帕斯卡发明了第一台机械式加法机;1673年,莱布尼茨发明了机械式乘除法器;1801年,杰卡德发明了首个可编程织布机,通过穿孔卡对织布机进行编程;1837年,巴贝奇设计了差分机与分析机,可以完成非常复杂的计算;1843年,世界上第一位程序员爱达设计了第一个利用计算机进行运算的算法程序;二战期间,图灵为了破译密码设计出“图灵甜点”解码机。

    自此,机械式计算工具达到了工程技术积累的巅峰。当然,这离真正的通用计算机还有一定的距离。

    1936年,图灵提出使用纸笔对数学运算的过程进行抽象,由一个虚拟的机器替代人类进行数学运算,包括纸带、笔与状态图三个核心元素,这就是著名的图灵机;1945年,约翰·冯·诺依曼起草了一个全新的“存储程序通用电子计算机方案”,确定了计算机的结构采用存储程序以及二进制编码等,这就是著名的冯·诺依曼体系结构,至今仍为电子计算机设计者所遵循;1946年,人类历史上第一台真正的通用计算机终于诞生;1947年,威廉·肖克利向全世界展示了晶体管,这也是能够实现计算机数学基础布尔代数的关键开关器件。

    至此,人类最终奠定了现代通用计算机工程科学的基石。

    让计算变得越来越快

    通用计算机诞生后,人类对计算的运用也逐渐出神入化起来。

    《流浪地球》系列电影中,计算专家认为只需一台超级电脑把人类数字化,就可以解决这场灭世危机。影片中,人类努力升级后的量子计算机550W就是那台最理想的超级计算机。虽然这只是科幻情节,但让计算机运算越来越快,一直是人类技术创新的努力方向。那么,如何让计算机的运算速度变得越来越快呢?

    从最初的电子管到晶体管,再到如今的集成电路,计算的速度已经实现了质的飞跃。当然,仅拥有高速运算还不行,计算机应用的繁荣也很关键。

    1974年,罗伯特·卡恩和温特·瑟夫提出了TCP/IP协议;1989年,蒂纳姆·李提出了一种可跨操作系统的超文本链接方案——万维网(WWW)。自此,人类迈入数字文明的新时代。时至今日,全世界的网民人数已超过50亿。

    虽然算盘这个计算的起点诞生于我国,但随后通用计算机发展的早期,几乎没有出现过我国科学家的身影。不过在通用计算机时代,计算的速度是通过半导体工艺和体系结构技术这两条腿来实现的。在体系结构技术领域,包括“中国计算机之母”夏培肃院士、“中国巨型计算机事业开拓者”金怡濂院士、汉字激光照排系统发明者王选院士在内,我国科学家为了让计算变得越来越快作出了杰出的贡献。

    当前主流的高性能计算是每秒达到1018次浮点运算的E级系统,展望未来,希望到2035年能造出每秒1021次浮点运算的Z级计算系统,量子计算机也能实现重大突破,最好是《流浪地球》中的550W能成真。

    (以上稿件由本报记者胡利娟、张英贤、陈杰整理)

京ICP备06005116