Datapoint 的工程师在客厅里设计了 x86 的前身指令集,公司却把芯片留给了英特尔

CTC 为什么不要那颗为自己定制的 8008,以及 Datapoint 后来的结局

分享

Datapoint 的工程师在客厅里设计了 X86 的前身,公司却把芯片留给了英特尔

CTC 为什么不要那颗为自己定制的 8008,以及 Datapoint 后来的结局

![[020-content-factory/02-content/articles/2026-10-04-datapoint-x86-origin-paradox/cover-wechat-3.35x1.png]] 在今天任意一台 x86 架构的服务器上,汇编层面依然留着几处看上去不合时宜的古老设计。

存放多字节整数时,低位字节必须排在低地址,也就是小端序(Little-Endian)。标志寄存器里常年留着一个奇偶校验位(Parity Flag),但是现代高级语言几乎从来不调用它。指令集里还保留着独立的端口 I/O 指令。

这几处细节并非出自英特尔工程师的理论规划,它们几乎都可以追溯到同一台 1970 年的机器:Datapoint 2200。

这台机器的指令集,是两个人在 1969 年感恩节假期的四天里,在马里兰州一间民宅的客厅里推演出来的。背后的出资方叫 CTC(Computer Terminal Corporation,后更名为 Datapoint)。它拿出了完整的寄存器定义与指令集规范,并委托英特尔把这套逻辑做成单芯片。后来芯片严重延期、性能赶不上新机器,CTC 索性不再为它支付后续研发费,直接把整颗芯片的权利留给了英特尔。

英特尔随后将其纳入产品目录,命名为 8008。现代 PC 兼容生态庞大的指令集王朝,正是从这颗小芯片开始一步步滚雪球长出来的。

Datapoint 2200 桌面计算机

图:Datapoint 2200,常被视为个人电脑的先驱之一。来源:Wikimedia Commons,摄影:Ken Shirriff,授权协议:CC BY-SA 4.0

客厅地板上的四天

1969 年底,维克多·普尔(Victor Poor)正准备从马里兰州的弗雷德里克搬去德克萨斯州圣安东尼奥,加入刚成立不久的 CTC。

动身前他突发急性阑尾炎住院,搬家行程被拖延了近一个月。那个感恩节周末,普尔还在弗雷德里克处理手头的日常收尾工作。

凯斯西储大学的学生哈里·派尔(Harry Pyle)从学校赶来会合,两人在普尔家里花了四天推演 CTC 下一代产品的核心架构。

在这四天里,他们梳理出了整台机器的数据流走势、执行流程图,以及一套精简的 8 位字符处理指令集。为了配合这套指令,他们定义了累加器 A,通用寄存器 B、C、D、E,以及一对专门用于拼装 16 位内存地址的高低指针寄存器 H(High)与 L(Low)。

这套设计文件后来交由派尔保管。再后来,半导体行业围绕“谁发明了单芯片微处理器”打起了一系列旷日持久的专利诉讼。一名律师向派尔借走整批底稿,说是要复印取证,随后便杳无音信。

普尔晚年在计算机历史博物馆(CHM)接受口述史访谈时提起这桩往事,只说手稿从此消失在不知名律师的档案柜深处,再也没人见过原件。

一台长得像打字机的计算机

CTC 由菲尔·雷(Phil Ray)和格斯·罗奇(Gus Roche)于 1968 年创办,最初生产的是 CRT 显示终端,用于取代办公室里笨重、吵闹的电传打字机。

普尔到岗时,两位创始人已经确定了新机器的外部规格。他们做过一点市场调研,硬性要求新机器占用的桌面面积必须与 IBM Selectric 电动打字机完全一样,键盘布局、击键手感与屏幕字符间距也要严格仿照 Selectric,甚至要求像 Selectric 那样具备 N 键无冲功能,机身高度同样不能超出。

这是一台打算悄悄塞在秘书桌面的“终端”。

普尔的设计需要大量循环移位寄存器作为内存,这类芯片的主要供应商是英特尔。CTC 的采购量很大,普尔印象里自己一度是英特尔当时最大的客户。

普尔带着设计图纸去硅谷拜访英特尔,在会议室里见到了五个人:戈登·摩尔、罗伯特·诺伊斯、安迪·格鲁夫、斯坦·马佐尔与特德·霍夫。

英特尔管理层起初毫无兴趣。在他们看来,CTC 每台设备要买上百颗移位寄存器,而这颗新芯片一台设备只要一颗。英特尔要的是大批量出货,对这种定制芯片兴趣索然。霍夫当时正在给日本商业计算器厂商联宝(Busicom)开发 4 位的 4004 芯片,建议普尔直接拿去用,但 4 位芯片无法满足 CTC 的 8 位字符处理需求。

后来马佐尔提出,或许可以尝试把整套逻辑全部做进单颗硅片里。

真正促成合作的依然是采购筹码。雷直接对老朋友诺伊斯挑明了态度:如果英特尔不愿接单做这颗芯片,CTC 就把所有移位寄存器的采购订单转给别家。

英特尔随后接下了这笔定制芯片的研发合同,内部代号定为 1201。双方谈妥的一次性工程费(NRE)大约是 10 万美元:由 CTC 提供外部架构与指令集规范,英特尔负责芯片级电路设计与制造。德州仪器(TI)后来得知了这个项目,提出也想尝试制造兼容替代芯片,CTC 总裁雷同意将规格提供给对方,但明确不向德州仪器支付任何工程费,由其自费研发。

先用 TTL 把它拼出来

半导体芯片的研制进度极难掌控,但 CTC 的整机出货日程已经排定。

为了不耽误产线,硬件工程师加里·阿斯贝尔(Gary Asbell)和斯坦·克莱恩(Stan Kline)决定不等芯片,直接用市面上成熟的标准 74 系列 TTL 中规模集成芯片,在电路板上先搭出一个指令集相同的处理器。第一版采用 1 位宽的位串行结构,后来才改进为 8 位并行。

今天许多底层工程师深恶痛绝的小端序,就来自这种硬件妥协。

在 1 位宽的串行加法器中,数据必须从最低有效位开始逐位送入,进位信号才能一路顺次向高位传递。当时的系统内存主要依赖移位寄存器循环流动,而不是后来的随机访问内存(RAM)。有人后来问普尔怎么会想出这么古怪的架构,他直截了当地回答:他们当时又不是为 RAM 设计的,面对移位寄存器,工程师别无选择,只能先存低位字节再存高位字节。

奇偶校验位和独立的端口 I/O 指令同样是终端通信的产物:设备需要依靠校验位检查远程电话线传来的 ASCII 字符是否失真,需要通过独立指令直接操控本地键盘与显像管。

为了塞进与打字机相同尺寸的紧凑外壳,机箱内只能装进一个开关电源和一台微型风扇,运行时内部发热极大。

从感恩节草图到 1970 年 4 月,CTC 赶制出了可在银行家大会上演示的原型机,外壳交由著名工业设计事务所雷蒙德·罗维(Raymond Loewy)打磨。那年秋天的联合计算机大会上,CTC 的展台被围得水泄不通,普尔回忆,现场围观的观众里有一半都挂着 IBM 的参会胸牌。

原型机亮相大约一年后,内置分立 TTL 处理器的 Datapoint 2200 正式出货。

早期客户的使用方式超出了设计团队的预期。普尔在给首批客户讲授编程课时,课上有一位来自明尼阿波利斯食品公司皮尔斯伯里(Pillsbury)的程序员。不久后,几台 2200 被发往阿肯色州埃尔多拉多(El Dorado)的一个养鸡场。养鸡场根本没有接入任何远程大型机,当地人员用汇编语言写了一套工资核算程序,用机器自带的双磁带和打印机直接打印支票。对方给出的理由非常实在:

“如果每周五不给他们发工资,他们就不喂鸡。”
—— 维克多·普尔口述史,计算机历史博物馆(CHM 编号:X3110.2005),第 39 页

通用电气则采购这台机器用于控制交通信号灯。直到这时,CTC 的工程师才彻底确信:他们做出来的已经不是一台终端,而是一台真正的桌面计算机。

迟到一年的芯片

英特尔交芯片的进度一拖再拖,最终比原定计划晚了整整一年。

没有拿补贴的德州仪器反而更早交付了工程样品。但 CTC 拿回测试台检测后发现,德州仪器的芯片输出引脚未加缓冲,电压摆幅过于脆弱,噪声容限极小。只要同一块主板上有其他元器件在工作,串扰噪声就会导致处理器频繁出错,CTC 最终退回了样品。

1971 年底,英特尔终于交出了 1201 单芯片样品。从技术参数上看,它确实完全符合两年前约定的设计规范。

然而在圣安东尼奥的测试台前,CTC 却发现这颗芯片已经不合时宜。

1201 只有 14 位地址总线,内存寻址上限仅有 16KB。而在芯片延期的一年多时间里,CTC 已经转向采用 Mostek 的 4K 内存芯片开发新机器 Datapoint 5500,不仅指令集更丰富(类似后来的 8080),内存寻址更直接扩展到了 64KB。普尔在口述史中谈到这一转折时直言:

“我们换用了 Mostek 的芯片开发 5500,指令集更丰富,看起来就像后来的 8080……我们用 MSI 芯片搭出 8080 级别的指令集和 4K 内存,机器已经能跑 64KB 寻址,而英特尔这颗小芯片只有 16KB 寻址空间。我们只能对他们说:伙计们,这东西已经过时了,指令集也显得很贫瘠。”
—— 维克多·普尔口述史,计算机历史博物馆(CHM 编号:X3110.2005),第 44 页

于是雷和诺伊斯坐下来做了一笔交易。两人既是商业伙伴也是朋友。最终谈妥的结果是:英特尔全权保留这颗芯片的产权与销售权,CTC 则无需为这颗自己不用的芯片继续支付工程尾款。

关于免除金额,各方说法不一。普尔口述中提及的 NRE 约 10 万美元,维基百科记载免除的尾款为 5 万美元。可以确定的是:CTC 没有继续为它付钱,英特尔则拿到了一颗可以公开销售的现成产品。

英特尔收回芯片后,在 1972 年 4 月的产品目录中正式将其命名为 Intel 8008,对外单片售价 120 美元。

Intel C8008 微处理器

图:Intel 8008 微处理器,采用 18 引脚陶瓷双列直插封装(DIP)。来源:Wikimedia Commons,摄影:Konstantin Lanzet,授权协议:CC BY-SA 3.0

8008 之后的事

随后是 1974 年的 8080。英特尔把芯片引脚扩展到 40 个,彻底解除了总线复用的瓶颈。1975 年,Altair 8800 用它点燃了个人微机浪潮。到了 1978 和 1979 年,英特尔又相继研制出 16 位的 8086 与 8088。

1981 年,IBM 个人电脑(IBM PC)选用 8088 作为核心处理器。

由于英特尔在设计 8086 时,必须保证大量现成的 8080 汇编源码能够直接机械转换,当年 Datapoint 2200 确立的寄存器分工(虽然 8086 将其重新命名并扩展为 16 位)、小端序、奇偶校验位与独立 I/O 指令,就这样被一路沿袭下来,延伸至今天的 x86 体系深处。

CTC 在专利方面同样没有动作。普尔回忆,1970 年他曾向公司在休斯顿聘请的专利律师出示 2200 和单芯片设计,律师评估后认为这只是把现成的计算机逻辑缩微到芯片上,属于既有技术组合,毫无专利价值。

二十年后,半导体专利官司全面爆发,来自同一家律所的另一名律师在质询中反问普尔当年为何没有申请专利,普尔平静地回敬道:

“当年正是你们律所告诉我这东西没法申请专利。”
—— 维克多·普尔口述史,计算机历史博物馆(CHM 编号:X3110.2005),第 46 页

当被问及亲手设计了统治全球算力半个世纪的指令集有何感想时,普尔的表态相当淡然。在他看来,在当时的工程约束下,寄存器和指令集这么设计几乎是必然的事情。

Datapoint 的结局

放弃了芯片业务的 CTC 后来更名为 Datapoint,在 1970 年代中后期迎来了商业上的黄金岁月。从普尔入职到 1984 年前后的十五年里,公司每个季度的营收都在刷新纪录。

1979 年,Datapoint 将局域网系统 ARCNET 推向市场。这项技术由乔纳森·施密特(Jonathan Schmidt)主导架构设计,约翰·墨菲(John Murphy)操盘硬件,哈里·派尔负责核心软件。它采用 2.5 Mbps 同轴电缆与信标令牌传递(token-passing)协议,比以太网更早实现了成熟的商用多机互联。数十台 Datapoint 桌面微机可以通过网络共享昂贵的集中磁盘与打印机。

个人电脑浪潮兴起后,架构师施密特曾给公司总裁写过一份备忘录,极力主张公司应趁早推出自家的低价 PC 产品,否则迟早会被别人抢占市场。但总裁在管理层会议上认为施密特言过其实,无需担心。普尔后来的解释很现实:当时公司产品的定价和利润率都非常好,推出便宜的新产品只会冲击现有的高利润市场。

后来,保持了十五年逐季增长的 Datapoint 终于迎来了一个营收下滑的季度。短短 30 天内,公司股价就从 60 多美元跌到了 20 美元,跌去了近七成。

1984 年底,华尔街投资人阿舍·埃德尔曼(Asher Edelman)发起代理权争夺(proxy fight)并获胜,全面接管了公司管理层。埃德尔曼进驻后的第一道指令就是削减开支、解散研发部门,施密特和墨菲等技术骨干悉数被解雇。收购时 Datapoint 全球尚有 9000 名员工,两年后仅剩 200 余人。

2000 年 5 月,Datapoint 正式申请破产保护并被拆分,其名称和业务以 4930 万美元被卖给了其欧洲子公司。留在美国的残留资产改名为 Dynacore,仅靠两项局域网专利打了 14 场官司。2003 年 2 月,这个曾孕育了人类早期桌面微机与 x86 雏形的上市空壳,反向收购了一家名为 The CattleSale Company 的活牛线上交易公司,埃德尔曼后来进入了该公司的董事会。

普尔在口述史访谈中谈到计算机产品短暂的半衰期时,曾说过这样一段话:

“假设 Datapoint 今天依然健在,我们在七八十年代所做的那些事情,在今天还重要吗?反正也不会有任何产品留到现在还在被人使用……”
—— 维克多·普尔口述史,计算机历史博物馆(CHM 编号:X3110.2005),第 62 页

从商业实体来看,那家盛极一时的先驱公司确实早已消散在历史烟尘里。但在现代服务器的每一次指令周期底层,那套在马里兰民宅推演出来的寄存器分工与寻址逻辑,依然在安静而精密地运转着。

参考资料

阅读更多