艾伦·凯(Alan Kay)在回答电子数值积分计算机(ENIAC)是否有基本输入输出系统(BIOS)的问题时表示,他相当确定这台机器既没有 BIOS,也没有任何类似于 BIOS 的固件或软件部件,并且明确说自己站在那些认为该设备从设计之初就不包含此类底层初始化程序的人一边。
正文
我很确定 ENIAC 既没有 BIOS,也没有任何类似 BIOS 的东西。我站在不把它视为存储程序计算机的那一边——沿着这个思路确实能玩出一些花样,但在我看来还不够格。
![]()
有个有趣的问题是:「基本 I/O」所需的程序是否必须放在固件里才算数?按字面规定说是「必须」,但我更认同精神层面的定义,那就不需要 ROM。
![]()
![]()
顺着这个精神,值得想一件事:一直到 60 年代,很多计算机都是「冷启动」的,根本没有任何代码,而是操作员先用拨杆或其他开关敲进几条指令,比如从一卷纸带里读入更多指令。早期 DEC 的计算机大多如此。1964 到 1965 年间的 CDC 6600 有一个开关面板用于初始冷启动(这比拨杆方便多了……)。
![]()
![]()
![]()
![]()
![]()
![]()
查维基百科,第一个正式命名为 BIOS 的东西出现于 1975 年,用于 CP/M 操作系统;而「现代」意义上的这个词大约在 1981 年用于 IBM PC。这两者都是基于 ROM 的。
评论
讨论由 Alan Kay 在 Quora 上答题引发,多数人对此感到惊喜,话题很快转向对早期计算机启动机制的考据;分歧不大,主要集中在几处细节纠正——ENIAC 算不算存储程序计算机、BIOS 一词能否用在 1975 年之前,以及对 Quora 平台本身的评价。
惊喜于 Alan Kay 还在 Quora 上公开答题
- 这被视为送给世界的礼物,尤其在对话越来越多转向私下问 LLM 的当下(较多人):人们正在失去向拥有真实、独特知识的专家提问,再把答案公开分享给所有人的能力。 > 对话变成私下问 LLM,人也就失去了向专家提问、并与全人类分享答案的能力。(@adamddev1)
- 有人最意外的就是这位先驱居然会在 Quora 上回答问题(少数人)。
认为 ENIAC 战后已改造成存储程序计算机
- 直接说 ENIAC 不是存储程序计算机不太准确:原始形态确实需要重新接线,但战后它按 EDVAC 报告里的设计理念重建,1948 至 1955 年以存储程序方式运行(少数人)。 > ENIAC 战后被重建成冯·诺依曼架构的存储程序计算机,一直运行到 1955 年退役。(@jshier)
认为 BIOS 一词不可能用在 1975 年之前
- BIOS 直到 1975 年随 CP/M 才出现,更早的计算机谈不上有没有(少数人)。
- 玩笑式反问:所以早期机器确实有 BIOS,只是它从湿件而不是固件加载?(少数人) > 所以早期计算机确实有 BIOS,只是从湿件而非固件载入?(@Walf)
认为 Quora 早已不值得看
- 早已在搜索里把 Quora 降权,搜索质量几乎没感觉有什么变化;也有人直接称其为「文字的监狱」(较多人)。 > 我几个月前就在 Kagi 里把 Quora 降权了,搜索质量几乎没感觉到变化。(@tombert)
有价值的补充
- EDSAC 在 1949 年就有 initial orders 启动模块,靠一排旋转选择开关设定 ROM 字的八进制数字;David Wheeler 把纸带装入器和迷你汇编器塞进这块小 ROM,让机器开机即从纸带自举,程序可以用助记符和相对地址在电传打字机上编写(@retrac)。
- 更晚的 PDP-11 反而要手动拨入引导程序,原因可能是磁芯内存非易失——拨一次就一直在,掉电也不会丢,所以「重新拨引导程序」远没有传说中那么常见(@retrac)。
- 有人用 Claude Opus 反汇编 CDC 6600 的 dead start 面板,两分钟就得出开机指令序列,虽不确定是否完全正确,但足以当作一次有趣的尝试(@NelsonMinar)。