1700437180
1700437181
1700437182
1700437183
1700437184
1700437185
软件研发是1127中心的主要工作,但硬件方面的兴趣也得到了充分体现。在早期,将一些奇怪的设备连接到PDP-11上常常需要硬件专业知识,这些设备包括Votrax语音合成器、电话设备、排字机和各种网络设备。这推动了一套计算机辅助设计(Computer Aided Design,CAD)工具经年累月的开发。很多人都参与了,如乔·康登、李·麦克马洪、巴特·卢坎提(Bart Locanthi)、桑迪·弗雷泽、安德鲁·休姆(Andrew Hume)和其他我没想起来的人。
1700437186
1700437187
20世纪80年代初,巴特使用CAD工具设计制造了一套位图终端。当时大多数终端只能显示24行80个固定宽度和高度的ASCII字符。相比之下,位图终端显示的是庞大的像素阵列,每个像素都可以单独赋值,就像今天所有笔记本式计算机和手机的屏幕一样,不过最早的位图显示是单色的。巴特最初将他的位图终端起名为Jerq,影射匹兹堡三河(Three Rivers)公司那套名为Perq的类似设备。
1700437188
1700437189
Jerq最初采用摩托罗拉68000处理器。68000当时颇受欢迎(例如,它经常被用于工作站)。不过Jerq的名称和实现都成了公司政治的牺牲品。Jerq被重新命名为Blit(以快速更新屏幕内容的bitblit操作为名),但只进行了少量生产。AT&T的制造部门西部电气(Western Electric)公司对它做了重新设计,使用了贝尔实验室设计、西部电气公司制造的处理器芯片Bellmac 32000。“Blit”被朗朗上口的“DMD-5620”所取代。重新设计花了整整一年时间,AT&T错失在不断增长的工作站市场上竞争的机会。
1700437190
1700437191
罗布·派克为Blit和5620编写了大部分的操作系统。它最新颖的地方是,计算可以在多个重叠的窗口中进行。重叠窗口以前也见过,但同时只能有一个活动窗口。罗布获得了这项改进的专利。
1700437192
1700437193
5620是很好的图终端,只是比较笨重。我用它来编写图程序,如Troff预览器。它也是罗布·派克编写一系列基于鼠标的文本编辑器的环境。罗布编写的文本编辑器Sam我至今还在优先使用:这本书就是用它写的。
1700437194
1700437195
人们对集成电路和VLSI(超大规模集成电路)也有持续的兴趣。1980年,1127中心开设了为期3周的集成电路设计速成课程,由加利福尼亚理工学院的卡弗·米德(Carver Mead)教授主讲。林恩·康威(Lynn Conway)和卡弗合写过一本关于如何设计和实现集成电路芯片的书《VLSI系统导论》(Introduction to VLSI Systems,1980),他们已经在一些大学里讲过这门课。卡弗天赋异禀,善于编造关于电路工作原理的连串精妙“谎言”。最简单的版本是,当一条红线跨越一条绿线,就构成了一个晶体管。当然,这种严重的过度简化很容易被揭穿,取而代之的是另一个更复杂的“谎言”,而这个“谎言”又会被进一步完善。
1700437196
1700437197
受益于卡弗的出色指导,经过几周的训练后,班上每位学员都能设计制造实验芯片。芯片在宾夕法尼亚州阿伦敦的贝尔实验室工厂组装,然后取回来做实验。当时,贝尔实验室使用最先进的3.5微米技术,而现在的电路通常是7纳米到10纳米,线宽性能至少提升了300倍,因此在给定区域内的器件数量约为10万个。
1700437198
1700437199
我做了个简单的国际象棋时钟芯片,不过从来没有正常工作过,这要归咎于一个严重的逻辑错误。回想起来错误很明显。有几个人开发了支持工具和他们自己的芯片。我的贡献是开发了辅助布线程序,所以尽管我作为芯片设计者失败了,这几个星期还是富有成效的。
1700437200
1700437201
多年以来,我管的部门里至少有六七个人以这样或那样的形式做VLSI——布局检查算法、模拟器、逆向工程,还有一些理论研究。拜卡弗的课程所赐,我还能勉力跟得上他们。
1700437202
1700437203
中心对VLSI的兴趣持续了很长时间,最终促成戴夫·迪策尔(Dave Ditzel)和雷·迈克勒兰(Rae McLellan)开发出CRISP(C Reduced Instruction Set Processor)微处理器,这是最早的RISC处理器之一。RISC是Reduced Instruction Set Computer(精简指令集计算机)的缩写,是一种能设计出比VAX-11/780之类机器更简单、更规则的处理器架构的方式。
1700437204
1700437205
CRISP的目标是做出契合C语言编译器输出的指令集。为了设计CRISP,戴夫与史蒂夫·约翰逊紧密合作。在讨论了潜在的架构特性后,史蒂夫修改Portable C语言编译器,运行基准测试,看这些特性会对性能产生什么影响,这是硬件/软件共同设计的范例。
1700437206
1700437207
AT&T最终以霍比特(Hobbit)为名销售了CRISP的一个版本。它是为苹果公司的牛顿(Newton)设计的,不过牛顿和霍比特都没有获得商业成功。1995年,戴夫离开贝尔实验室,创立了专注于低功耗处理器的全美达(Transmeta)公司。
1700437208
1700437209
尽管CRISP本身并没有在商业上取得成功,但Unix和C语言在20世纪80年代和90年代对计算硬件产生了巨大影响。大多数成功的指令集架构都与C语言和Unix匹配良好。Unix和C语言的可移植性不仅使高校和公司能够创建新的体系架构,迅速移植软件,而且它要求指令集对C语言代码友好,同时倾向于消除C语言程序中难以编译的功能。约翰逊和迪策尔使用的那派CPU设计方法论会对程序进行统计分析,而对C语言代码的分析结果往往有利于那些让C语言跑得更快的东西。Unix和C语言被广泛采用,导致20世纪80年代和90年代的CPU设计围绕着它们运转,没人成功制造出为其他语言优化的CPU。
1700437210
1700437211
[1] Research Unix是指早期运行于DEC PDP-7、PDP-11、VAX以及Interdata 7/32与8/32计算机上的Unix版本,因Unix出自贝尔实验室的计算科学研究中心而得名。麦基尔罗伊编纂的这份文件,从9个版本的Unix程序员手册中摘选内容,展示了Unix的早期发展历程。——译者注
1700437212
1700437213
[2] PWB是贝尔实验室的Unix版本项目,目标是为较大规模开发团队打造分时工作环境,使之能够在大型计算机上协同工作。——译者注
1700437214
1700437215
[3] 即在Unix中使用反斜杠使*、?、[、]、’、”、\、$、;、&等特殊字符被当作普通字符处理的机制。——译者注
1700437216
1700437217
[4] Mike是Michael的昵称。——译者注
1700437218
1700437219
[5] makefile文件中,每行命令必须以制表符(按Tab键输入)开头。人眼看不到制表符与普通空格的区别,所以这个做法一直为Unix社区所诟病。——译者注
1700437220
1700437221
[6] 意为“我帮你弄一份”。——译者注
1700437222
1700437223
[7] 全称是Recording for the Blind & Dyslexic(RFB&D),非营利机构,成立于1948年,早期致力于为盲人和视觉障碍者提供声音学习资料,后来也将阅读和学习障碍患者纳入服务对象,2011年改名为Learning Ally。——译者注
1700437224
1700437225
[8] bc代表basic calculator(基础计算器)。——译者注
1700437226
1700437227
[9] dc是desktop calculator(桌面计算器)的简称,采用B语言编写。——译者注
1700437228
1700437229
[10] 即device-independent Troff的简称。——译者注
[
上一页 ]
[ :1.70043718e+09 ]
[
下一页 ]