【硅谷革命】22. 诊断端口

概要:给麦金塔增加扩展插槽成本不高,并且简便易行,但却遭到了乔布斯的极力反对。

原文链接:Diagnostic Port
作者:安迪.赫兹菲尔德

时间:1981 年 7 月
人物:史蒂夫·乔布斯、杰夫·拉斯金、伯瑞尔·史密斯、布莱恩·霍华德、史蒂夫·沃兹尼亚克、罗德·霍尔特

是否应具备扩展性,这绝对是麦金塔最初的硬件设计中争论最多的问题。苹果的共同创始人史蒂夫·沃兹尼亚克是硬件要有扩展性的坚定支持者,他赐给了苹果 II 近乎奢侈的扩展能力——内建了 7 个外置卡插槽,并通过巧妙的架构设计,让每块卡可以自带 ROM 芯片并在其中预置软件。这样的灵活性使苹果 II 拥有了极为广泛的用途,而且很快就促发了第三方硬件产业的蓬勃发展。

但杰夫·拉斯金对此有着完全不同的观点。他认为扩展槽本身就很复杂,而且阻碍了个人电脑拥有更广泛的用户。他认为硬件扩展性使得第三方软件作者编写软件更为困难,因为硬件可能会缺乏兼容性。他对麦金塔的这种看法,令苹果公司制造了数以百万相似、易用、低价的家用型电脑,由于硬件扩展性确实会极大地增加成本与复杂性,这项设计被取消了。

苹果公司的另一个共同创始人史蒂夫·乔布斯与杰夫在很多问题上意见不同,但他们对硬件扩展性观点一致:与其说扩展性是特色,不如说是画蛇添足。据说史蒂夫从一开始就反对在苹果 II 中内置扩展槽,对于麦金塔上的扩展槽他尤其反应强烈。他下令要麦金塔永远不搭配扩展槽,机箱要紧紧密封,只用两个串口提供扩展性。

麦金塔的硬件设计师伯瑞尔·史密斯及其助手布莱恩·霍华德明白史蒂夫的理念,但对史蒂夫的做法仍有不同看法。伯瑞尔早已注意到,麦金塔那张盲目乐观的时间表开始无限期延长,麦金塔那突破性的软件就算真能完成,他也完全无法预估要到何时。他担心在摩尔定律的作用下,他的硬件设计若再等下去,还没到上市就会过时了。他认为,谨慎的做法是尽可能地增加麦金塔硬件的灵活性,只要成本提高不多就好。

伯瑞尔决定给麦金塔增加一个简单的扩展槽,使外置卡与处理器的前端总线相连,这样做的成本不会很大,即使这一设计最后被废弃也不会浪费钱。伯瑞尔完成了细节设计,在每周例行的工作会议上提了出来,但史蒂夫当即否决他的提议,重申麦金塔决无可能去内置哪怕一根扩展槽。

但伯瑞尔也不是这么容易就被阻挠的,他明白过来,麦金塔永远不会拥有一样叫做「扩展槽」的东西,但或许可以换个名字,实现的还是同样功能。在与助手布莱恩讨论后,他们决定用「诊断端口」代替「扩展槽」这个名字,他们说在制造过程中可以将测试设备通过诊断端口与处理器前端总线相连来检查问题,这样可以节约制造成本。而他们没提及这个端口同时也能提供扩展槽功能。

这项设计一开始被通过了。但过了几周,或许是从我们提及诊断端口时那偶尔掩饰不住的笑声中听出了端倪,工程经理罗德·霍尔特发现了这一切。「这玩意是扩展槽对吧?你们竟然想在麦金塔中偷偷放入扩展槽!」罗德在之后的工程小组会上叱责我们,「我不希望以后再发生这种事!」

虽然「诊断端口」流产了,工程师们依然没有放弃偷偷摸摸地给硬件增加扩展性的努力。1982 年 8 月麦金塔的数字电路板的最终版完成设计时,新一代的 RAM 芯片也已经面世。麦金塔使用 16 块 64 Kbits 的 RAM 芯片,以提供 128 KB 内存。接下来更新的一代芯片单块容量为 256 Kbits,麦金塔从而也就有了 512 KB 内存,这极大地提升了电脑性能。

伯瑞尔担心麦金塔发布之后 128 KB 的内存很快就会不够用,但麦金塔没有扩展槽供用户添加内存。他发现,麦金塔能支持 256 KB 内存,只需简单地在印刷电路板上再布几根线即可。这样那些富于冒险精神且懂得如何使用焊枪的人就能自己升级内存。而新加的那几条线对于成本几乎没有增加。

但史蒂夫·乔布斯又一次持反对意见,因为他不愿意让用户修改苹果电脑的内部结构。他更希望他们去买一台新的 512 KB 内存的麦金塔,而不是从第三方那里购买更多的内存芯片。但是,这一次伯瑞尔获胜了。由于改动非常小,他偷偷保留了那些线,也没有人特意向史蒂夫提及此事。结果是用户获得了极大的利益,他们不必为了升级内存就去买一台新的麦金塔电脑。(翻译:Hupple;一校:Mark Chen;二校:Jix Huang

《硅谷革命》连载之 1 - 22