历史上的今天10月30日:英特尔最大失误;图像冒险游戏的发明者诞生;最后一台multics计算机被关闭

历史上的今天 历史上的今天     2023-01-23     459

关键词:

整理 | 王启隆

透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。

今天是 2021 年 10 月 30 日,在 12 年前的今天,两弹一星元勋钱学森逝世,钱老是中国火箭、导弹、航天事业的奠基人,被誉为“航天之父”、“火箭之王”;2009 年的这一日,钱老在北京逝世,享年 98 岁。回顾计算机历史上的 10 月 30 日,今天也诞生了许多关键事件,一点点改变了我们手上的技术和工具。

1847 年 10 月 30 日:乔治·布尔发明了布尔逻辑

图源:维基百科

布尔逻辑(Boolean algebra)得名于乔治·布尔(George Boole),他是爱尔兰科克的皇后学院的英国数学家,在十九世纪中叶首次定义了逻辑的代数系统;1847 年 10 月 30 日,布尔出版The Mathematical Analysis of Logic 一书,首次定义了逻辑的代数系统,后来被称为布尔逻辑,也叫布尔代数。布尔逻辑是数字逻辑和计算机科学的基础,1937 年,香农在布尔的基础上向前跨出了伟大一步,将布尔逻辑应用到了电子学中。现在,布尔逻辑在电子学、计算机硬件和软件中有很多应用。

布尔逻辑的诞生把形式逻辑归结为了一种代数,布尔认为,逻辑中的各种命题能够使用数学符号来代表,并能依据规则推导出相应于逻辑问题的适当结论。布尔的逻辑代数理论建立在两种逻辑值“真 True”、“假 False”和三种逻辑关系“与 AND”、“或 OR”、“非 NOT”;这种理论为数字电子计算机的二进制、形关逻辑元件和逻辑电路的设计铺平了道路。1854 年,布尔出版了名著《布尔代数》,并在此基础上,经过许多年的发展,形成了现代计算机的理论基础——娄理逻辑。

和许多发明一样,布尔逻辑在诞生之初被冷落,直到 20 世纪早期,一些电气工程师直观地认识到布尔代数类似于某些类型的电路的行为;克劳德·香农(Claude Shannon)在 1937 年的硕士论文《继电器和开关电路的符号分析》中正式证明了这种行为在逻辑上等同于布尔代数。今天,所有现代通用计算机都使用二值布尔逻辑来执行其功能;也就是说,它们的电路是二值布尔逻辑的物理表现;如果说图灵实现了计算机的“可计算性”,那么布尔便是为其奠定了逻辑性的人。

资料来源:维基百科

1954 年 10 月 30 日:史上首款图像冒险游戏的开发者 Ken Williams 出生

冒险游戏是一种电子游戏类型,在这种游戏中,玩家在一个互动故事中扮演主角,由探索和/或解决谜题驱动;这种游戏类型的重点在于故事,这使得它能够大量借鉴其他基于叙事的媒体,文学和电影,包括各种各样的文学类型。由于计算机技术的限制,冒险游戏在最开始都是纯文字的,而文本冒险游戏的起源很难追溯,因为 20 世纪 70 年代的计算机记录并不完善。

直到 1980 年,一对夫妇改变了这一现状。由妻子 Roberta Williams 设计,丈夫 Ken Williams 协助编程的,世界上第一款有图像,而非纯文字画面的冒险游戏《谜之屋》(Mystery House)诞生,这也是美国 On-Line Systems 公司(现为 Sierra Entertainment)发行的第一款电子游戏。

图源:维基百科

1954 年 10 月 30 日,Ken Williams 诞生于美国印第安纳州;他是一名游戏程序员,On-Line Systems 的联合创始人,后来该公司改名为 Sierra Entertainment,被动视公司复兴。在 Sierra 公司,他和妻子 Roberta Williams 制作了《King’s Quest》、《Space Quest》、《Police Quest》和《Leisure Suit Larry》等经典游戏。

1979 年,Roberta Williams 当时是个家庭主妇,在家从事家务及照顾孩子。其夫 Ken Williams 创立了一家名为 On-Line Systems 的电脑软件公司,当时 Apple II 电脑刚发行,因此 Ken 认为 Fortran 编译器有市场需求,遂进行该类软件开发的作业。某一天,Ken 把 TRS-80 计算机带回家中,妻子 Roberta 借此接触到了名为《巨洞冒险》的文字冒险游戏,这款游戏是最早的冒险游戏。Roberta 对此深感着迷,并尝试寻找和《巨洞冒险》类似的电子游戏,却一无所获,于是起了自己来创作电子游戏的念头。

Roberta 在厨房的餐桌上构思游戏剧情,并用纸笔将其记录下来。她参考英国小说家阿加莎·克里斯蒂的著作《无人生还》和纸上游戏《妙探寻凶》,以作为故事的参考(因此,《谜之屋》其实也是第一款恐怖题材的电子游戏)。她认为冒险游戏必须要有个很棒的故事、而且要让玩家认为是在玩游戏;Roberta 花了一个月完成她的故事,但是程序设计不是她的专业领域。某天,她和丈夫出去吃晚餐时,试图说服丈夫协助制作这款游戏,而 Ken 放弃了 Fortran 编译器的开发转而协助妻子,他是《谜之屋》唯一的程序员。

最终,《谜之屋》在 1980 年 5 月发售,当时的价格是一套 25.95 美元,共卖出了大约 8 万套。《谜之屋》引起了冒险游戏视觉化的开始,从此 2D 平面图像成为冒险游戏开发的主流,游戏制作人开始尝试用各类图像配合文字加强玩家对游戏剧情的体验。借由《谜之屋》的销售盈利,On-Line Systems 公司从此转型成为电子游戏开发公司,逐渐扩大规模并推出许多电子游戏;该公司不但推出图像冒险游戏,还是采用声卡和显卡制作游戏、推出光盘游戏的先驱。Ken 和 Roberta 夫妇共同推动了图像冒险游戏的发展,对电子游戏发展有重要的影响。

资料来源:维基百科

1994 年 10 月 30 日:Thomas Nicely 发现 Pentium FDIV bug

世界上的第一个 Bug 我们曾在 9 月 9 日的“历史上的今天”专栏里介绍过,那么,世界上最难修复的 Bug 是哪一个?回到 1994 年,林奇堡大学的数学教授 Thomas Nicely 在 10 月 30 日独立发现并公开披露了 Intel P5 Pentium FPU(浮点单元)中的 Pentium FDIV bug。

Thomas Nicely 当时发现用电脑处理长除法时一直出错,他用一个数字去除以 824,633,702,441 时,答案一直是错误的;事后发现原因是英特尔为了加速运算,将整个乘法表刻录在处理器上面,但是 2048 个乘法数字中,有 5 个输入错误。这些错误其实不容易出现,在运算过程中,它会自动修复错误,只有几个二进制的数字组,才会造成完全错误的结果。

图源:CSDN 下载自东方 IC

在这起事件的初期,英特尔的工程师指出,大约 90 亿个长除法中才会有这么一次错误;依照计算,平均故障间隔大概是七百年,所以几乎是不可能发生。但是,当 Thomas Nicely 在 CompuServe 上报道了这个错误之后,这个 Bug 立刻成为了第一批真正通过互联网传播的故事之一;仅仅几天后,有人在 Usenet 中 comp.sys.intel 组上发布了关于这个问题的消息,确认了浮点错误。从那开始,这起事件传遍各地,被工程行业出版物 EE Times 在新闻中报道,并且纽约时报和波士顿环球报在内的主流媒体都对此进行了报道;在接下来的时间里,更是出现了数百篇关于此事的文章。

值得一提的是,1994 年,互联网开始第一次进入主流领域,而这个 Bug 让 1994 年的人们第一次认识到了互联网;Pentium FDIV bug 一度成为了新闻焦点,让英特尔在感恩节通过互联网登上世界头版,让这家全球首屈一指的计算机芯片制造商感到尴尬。但是,这个 Bug 始终没有解决;英特尔同时遭遇了舆论压力、技术问题和公关危机,那一年公司的股票也受到了很大冲击。在这一年的圣诞节,英特尔公司无可奈何,只能召回了有缺陷的产品,这是英特尔第一次全面召回计算机芯片;最终,英特尔因此事件损失了 5 亿美元。

图源:维基百科

那么,Pentium FDIV bug 最终得到了解决了吗?1994 年的冬天,Cleve Moler 从 David Hough 维护的电子邮件列表中第一次了解到 FDIV 错误,随着对事件的逐渐了解,Moler 对这个 Bug 的兴趣越来越浓;11 月 15 日,Moler 以质数和比率为例,向英特尔和新闻组发布了他当时所知道的情况,他指出,这两种情况下的除数都小于 2 的幂的 3 倍。

Cleve Moler 是谁? 他出生于 1939 年,是美国数学家及计算机科学家,一生研究数值分析领域;他也是 MATLAB 语言创立者,软件公司 Mathworks 的首席科学家,美国国家工程院院士。Moler 发布的帖子迅速在互联网上爆火,业界的专家们都来询问他具体情况;最终,他把 Tim Coe、Terje Mathisen、Alex Wolfe 等热切关注该事件的程序员高手聚在一起,再找来了英特尔的几位软硬件工程师,试图一起修复 Pentium FDIV bug。

有志之士们联合了起来。他们认为解决方案的关键在于,芯片几乎一直都在分工方面做得非常好;因此,在这种情况下不需要改变太多,只将分子和分母同时乘以 15/16 ,就可以将除数从不安全区域中去掉,并确保随后的除法完全准确。使用这种方法,就不需要测试由除法产生的剩余值的大小。Cleve Moler 的团队最终出色地解决了 Pentium FDIV bug,他也没有忘记宣传 MATLAB,这项优化技术最终被公布到了 MATLAB 新闻组,可供全社会无偿自由使用。MATLAB 和 Mathworks 从此步入公众视野,而英特尔也汲取了一次惨痛的教训。

资料来源:维基百科、blogs.mathworks.com

2000 年 10 月 30 日:最后一台运行 Multics 的机器被关闭

Multics ,全名 Multiplexed Information and Computing Service,是基于单级存储器概念的早期有影响力的分时操作系统,常有人说 Multics “从微型计算机到大型机,影响了所有的现代操作系统”。Multics 最初的规划和开发始于 1964 年,它最初是由麻省理工学院、通用电气和贝尔实验室(Bell Labs)领导的一个合作项目,基于专门为它设计的 GE 645 计算机上开发。

图源:维基百科

MULTICS 最初的目的是连接 1000 部终端,支持 300 位用户同时上线。1969 年,因 MULTICS 项目的工作进度过于缓慢,最后终究遭裁撤的命运,贝尔实验室由此退出此项目;当时,肯·汤普逊正在为这个系统撰写一个称为“星际旅行”(Space Travel)的游戏程序。在贝尔实验室退出 Multics 计划后,实验室的两位软件工程师肯·汤普逊与丹尼斯·里奇以 B 语言和汇编语言为基础而发展出 UNIX,而 1973 年汤普逊和里奇用 C 语言重写了 Unix,为 Unix 的普及奠定了基础;而通用电气及麻省理工学院仍继续开发 Multics,并最终成为商业产品,由霍尼韦尔(Honeywell)销售。

2000 年 10 月 30 日,最后一个已知的、在霍尼韦尔硬件上运行的 Multics 计算机由加拿大新斯科舍省哈利法克斯的加拿大国防部关闭;直到 2006 年,Bull HN 向 MIT. 发布了 MR12.5 的源代码,这是 1992 年的 Multics 最终版本;除了一些可选的部分,如 TCP/IP.,系统的大部分现在都是免费软件。2014 年,Multics 使用模拟器在当时最新的计算机上成功运行;伴随着模拟器的 1.0 版本发布,并增加了一些新特性,Multics 这颗桌面操作系统的早期火种被流传了下来。Multics 为现在的众多操作系统提供了灵感,不禁让人遐想未来的桌面操作系统会是怎么样的;你心目中未来的主流会是谁?欢迎参与本期投票和评论,分享你的真知灼见。

【欢迎投稿】以史为镜,可以知兴替。计算机科学发展至今,有许多至关重要的事件、人物,欢迎所有朋友一起共建「历史上的今天」,投稿邮箱:tangxy@csdn.net 。

历史上的今天1月3日:苹果公司正式注册成立;《电脑报》正式创刊;英特尔创始人诞生

...改变未来。今天是2022年1月3日,在2001年的今天,英特尔发布Intel1.3GHzPentium4处理器;英特尔的Pentium4系列曾在最初发布时表现令人失望,销量一度不如上一代PentiumIII芯片,直到1.3GHz处理器诞生后& 查看详情

历史上的今天8月22日:改变世界的程序员们

...年8月22日。历史上的今天,MasatoshiShima出生,他和英特尔(Intel)合作设计的芯片让第一个微处理器Intel4004诞生,而微处理器的发展,已经历了五代的变化 查看详情

历史上的今天10月10日:谷歌推出dart预览版;俄罗斯最大的社交网站上线;上海大众汽车公司诞生

整理|王启隆透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。今天是2022年10月10日。1492年,哥伦布踏上了南美洲大陆,并在10月10日写下了一篇日记,日记里记载了他对烟草的发现;不久之... 查看详情

历史上的今天9月8日:阿里开放平台计划;英特尔发布首款双核酷睿处理器;我国研制全数字高清晰度电视系统

整理|王启隆透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。今天是2021年9月8日,在1956年的今天,中国成功试制新型喷气式飞机,让蔚蓝的天空上响彻中华雄狮的咆哮。而在计算机领域,... 查看详情

历史上的今天8月19日:大型计算机先驱和小型机之父诞生;中国雅虎邮箱成历史...

...天有传奇诞生,也有伟人陨落;历史上的今天是英特尔王朝的又一步胜著,也是雅虎邮箱在中国黯然失色的一天。正如曲折的历史长 查看详情

历史上的今天8月19日:大型计算机先驱和小型机之父诞生;中国雅虎邮箱成历史...

...天有传奇诞生,也有伟人陨落;历史上的今天是英特尔王朝的又一步胜著,也是雅虎邮箱在中国黯然失色的一天。正如曲折的历史长 查看详情

历史上的今天8月30日:首台通用电子计算机的发明者诞生;谷歌推出第一个涂鸦

整理|王启隆透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。今天是2021年8月30日,在历史上的今天,CNN.com成立,这是互联网上第一个新闻网站,改变了如今许多人看新闻的习惯。回顾科技... 查看详情

历史上的今天6月4日:微软收购github;macosmojave推出;英特尔发布第四代架构haswell

...界各地还发生过哪些关键事件呢?2013年6月4日:英特尔正式发布了基于Haswell架构的第四代CPU图源:维基百科IntelHaswell是英特尔的中央处理器架构,由英特尔的俄勒冈团队负责研发,用以取代IntelIvyBridge和IntelSan... 查看详情

历史上的今天8月23日:计算机先驱诞生日;万维网面世30周年

整理|王启隆透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。对计算机历史而言,8月23日是一个具有魔力的日期。许多科技领域的掌舵者在这一天出生,他们的发明和远见深深地影响我们如今的生... 查看详情

历史上的今天10月18日:internetexplorer7正式发布;全球首家网络银行开业;“美版红白机”nes诞生

整理|王启隆透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。今天是2021年10月18日,在99年前的今天,英国BBC广播电视台成立;BBC是世界上最大的新闻媒体,因纪录片和电视剧而在国内闻名... 查看详情

历史上的今天10月6日:互联网先驱诞生日;莲花公司宣布上市

整理|王启隆透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。今天是2021年10月6日,1995年的今天,两名瑞士天文学家在佛罗伦萨国际天文会议上宣布,他们在银河系发现一颗行星。这是人们在... 查看详情

windowsvista发布|历史上的今天

整理|王启隆透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。今天是2022年11月30日,在1609年的今天,意大利著名天文家伽利略第一次用望远镜观测月球。回顾计算机历史的11月30日,在11月的最... 查看详情

历史上的今天10月5日:linux内核正式面世;乔布斯逝世;谷歌发布android6.0

整理|王启隆透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。今天是2021年10月5日,历史上的今天是科技史上令人难忘的一天,在8月25日的“历史上的今天”专栏,我们介绍了三十年前林纳斯·... 查看详情

历史上的今天10月23日:ipod问世;谷歌推出cse搜索服务;人机交互领域先驱诞生

整理|王启隆透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。今天是2021年10月23日,周末将至,CSDN的年度盛会1024程序员节将在长沙开幕,你安排好出行了吗?回顾计算机历史上的10月23日&#x... 查看详情

历史上的今天7月30日:现代电视先驱诞生;以太坊启动;80年代最畅销的电脑品牌

整理|王启隆透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。今天是2022年7月30日,在1923年的今天,中国自行设计生产的第一架飞机研制成功。中国第一架双层螺旋桨敞盖飞机由广东飞机制造厂研... 查看详情

历史上的今天10月20日:微软黑屏事件;ubuntulinux操作系统发布;applepay正式上线

整理|王启隆透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。今天是2021年10月20日,在1909年的今天,AntoniKilinski诞生,他是计算机科学课程的开发者,并在波兰建造了第一台商用计算机。回... 查看详情

历史上的今天10月2日:eniac计算机退休;贝尔德发明电视;香港科技大学办学

整理|王启隆透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。今天是2021年10月2日,在历史上今天发生的科技关键事件不比昨天要少,举世闻名的通用电子计算机ENIAC便在今天退休、我国享誉世界的... 查看详情

历史上的今天10月22日:微软发布windows7;谷歌推出广告平台;静电复印机雏形

整理|王启隆透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。今天是2021年10月22日,在1994年的今天,中国公用数字数据网(CHINADDN)正式建成开通,为如今网络通信技术的高速发展奠定... 查看详情