
集成电路用于用户界面:詹姆斯• 纽曼制作的一款CPU用了42300个手工焊接的晶体管
詹姆斯•纽曼(James Newman)的起居室是我们这种疯狂之举的丰碑。7个
纽曼用了大约4年时间,耗资约4万英镑,在英格兰剑桥的家中设计并搭建了这款所谓的巨型处理器。伴随着淡淡的苦涩,这个项目成为他软件开发职业生涯的逻辑终点。纽曼解释说,多年来,他发现自己做的低端编程越来越多,所以越来越对底层硬件感兴趣。他说,自己之所以开始研究巨型处理器,是因为他“想搭建一台处理器,来了解真正的处理器是如何工作的”。
于是,一台全功能机器就这样出人意料地诞生了。这台机器属于16位计算机,拥有8位操作码,实行基本流程,即在第一个指令执行后进行下一个指令。所有256个指令均可在这台计算机上执行,包括相对高等的数学运算指令。除了一个程序计数器、堆栈指针和状态寄存器外,还有4个通用寄存器。纽曼说:“我可以搭建一个小型处理器,但我不知道那么小能展示出什么。”他承认,虽然“自己的确有点得意忘形了,但我很喜欢研究乘法、除法和平方根。”
处理器的二进制加法器等分项是用定制的印刷电路板做的。每个逻辑门的输入和输出状态通过红色LED灯来显示,每个存储单元同样采用了LED灯来显示(实际上,巨型处理器500瓦的功率差不多大部分都用来驱动LED灯了)。电路板都用线连接在框架上,每个框架构成一个主要的系统,如算术逻辑单元和指令解码器。CPU时钟可以在任一点上终止,还可以在约1赫到8千赫之间变化(运行速度足够玩俄罗斯方块了)。还可以通过输入/输出接口加入一个可选的32千字节外部存储器(通过无用的旧集成电路实现)。
整体框架:这款巨型处理器由7个框架组成(图一)。每个框架都有一个主要的子系统(图二),如算术逻辑单元和指令解码器。子系统由连在一起的定制印刷电路板制成。每个电路板都焊接了晶体管和LED灯,这样每个逻辑门的输入和输出状态就都会有显示了(图三)。
在某种程度上,相对复杂的处理器是一种折中,目的是减少制造内部存储器所需的工作量。纽曼说:“只有知道内存是如何运行的,你才能知道运行的全景。但我很快意识到,搭建内存的过程会和搭建处理器一样痛苦。这多少迫使我提高处理器的性能,那样我才不需要太多的程序数据。”(内存盘占据巨型处理器晶体管数量的64%。)
在搭建巨型处理器的过程中,最大的难题就是最后的组装。纽曼订购了最后一批约4000个晶体管。“我订的是适合的晶体管,装箱单上也写着这些都是我想要的,而且看起来也是我想要的那些。所以我把它们都用上了。”但纽曼开始测试完成组装的电路板时,它们并没有运行。“我过了一会儿,才意识到这种状况有多恐怖。”他说,最后一批晶体管不对。“我用了大约一个月的时间进行繁琐的焊接。重复一遍这样的工作真是糟透了,但更糟糕的是,这次焊接失败了。”纽曼说,“是的,我们现在可以自嘲,但是在当时那真是太倒霉了。”
纽曼目前正在为巨型处理器寻找一个永久的家,在那里公众无需邀请函就可以参观这台大家伙。
作者:Stephen Cass