6502 —— 伟大的心(上)

February 8, 2012

【转载请注明作者:王益,以及原创 URL:http://cxwangyi.wordpress.com/2012/02/08/6502-伟大的心(上)/。】

今天,当我们说起个人电脑,大家没法不联想到 Intel(以及 AMD)处理器。然而,个人电脑的幼年时期,很多个人电脑用的是一种叫 MOS 6502 的处理器。

今天在 Russ Cox(Google Go语言的设计者之一)的博客上,看到一篇介绍 6502 处理器的帖子:http://research.swtch.com/6502 。6502 对我来说是一个很亲切的名字:我小学三年级(应该是1985年)的时候,爸爸买了一台中华学习机I型。其实是中科院仿制的 Apple II。而 Apple II 是 Steve Jobs 的成名作。在 Paul Graham 的《Hackers and Painters》一书中,被评价为开启了个人拥有电脑的时代。在我初中的时候,开始在中华学习机上写汇编语言程序。当时把 6502 的指令集几乎都背下来了。

前两年看到一本很有意思的书,叫《我们台湾这些年》;作者和我同年。他提到台湾宏基电脑公司在八十年代曾经出品了一款叫“小博士”的个人电脑,也是 Apple II 的仿制品。从这些仿制故事里,大家估计不难理解为什么 Steve Jobs 不愿把后来的 Machintosh 电脑和 iPhone、iPad 做成 IBM PC 和 Android 那样的开放体系了。

看了 Russ Cox 的这篇帖子,我才注意到其实远不止是 Apple II 和它的各种克隆用了 6502。上个世纪七八十年代最赫赫有名的计算机系统中大多使用了 6502 处理器。为此,把 Russ Cox 的这篇帖子翻译成中文:

原文标题:MOS 6502 处理器和最棒的芯片布局设计师

在上世纪七八十年代,6502 处理器无处不在:6502 是 Apple II、Atari 2600、BBC Micro、Commondore 64 以及任天堂的游戏机的核心。想想都觉得了不起!因为这五种计算机中的每一种在当年都是威名赫赫。

6502 是 Chuck Peddle 的智慧结晶。Chuck Peddle 当时是摩托罗拉公司 Motorola 6800 处理器项目的工程师。他的一项工作就是向客户兜售 6800 处理器。(Peddle 在英语里恰好是“兜售”的意思。)6800 深受客户青睐,但是就是太贵了——标价300美元。为此,Peddle 试图说服摩托罗拉的管理层设计一种廉价处理器,可是 6800 处理器带来的利润已经不错了,管理层因此含糊的表示了没必要搞一种新的处理器。作为回复,Peddle 和其他一些 6800 处理器的工程师们离开的摩托罗拉公司建立了 MOS Technology 公司,并且开发了 6502 处理器 —— 单价25美元。虽然 6502 和 6800 的主频一样,都是 1MHz,但是因为 6502 有一个指令流水线(在一条指令执行的同时,就取下一条指令),从而性能显著优于 6800。十分之一的价格和更棒的性能导致 6502 四处热卖。

6502 的故事构成了 Brian Bagnall 的新书《On the Edge: the Spectacular Rise and Fall of Commodore》中的第一章。我(Russ Cox)最喜欢这本书里关于 6502 处理器的设计过程的部分。现在的处理器很复杂了,比如 Intel Core 2 处理器有上亿个晶体管 —— 要是没有电脑的帮助,咱没法手工设计处理器的布局。(译者:布局、layout、指的是决定集成电路中的晶体管的位置。与之相关的一个过程称为 rolling,指晶体管之间连线。)6502 处理器只有3510个晶体管 —— 一个叫 Bill Mensch 的工程师手工设计了 6502 的电路图。

布局结束后,需要把电路图画在一张胶片上,随后用类似洗照片的光刻技术,按照胶片上的内容在硅片上刻出电路。6502的胶片和一张大桌子一样大,工程师们可以趴在上面绘制。当时大家都得穿着很干净的袜子。袜子不能有洞。要不然脚趾甲可能划坏胶片。

最牛鼻的是:这帮人一次成功地搞定了整个设计和制造过程!

【待续】


Follow

Get every new post delivered to your Inbox.

Join 31 other followers