英特尔突破性的 8008 微处理器于 50 多年前首次生产。这是英特尔的第一个 8 位微处理器,也是您现在可能正在使用的 x86 处理器系列的祖先。我找不到 8008 的好的Die照片,所以我打开了一颗并拍了一些详细的照片。本文中包含这些新芯片照片以及 8008 内部设计的讨论。
下图显示了 8008 封装内的微型硅芯片(点击查看更高分辨率的照片)。你几乎看不到构成芯片的电线和晶体管。外部周围的方块是 18 个焊盘,通过微小的键合线连接到外部引脚。
你可以在芯片的右边缘看到文字“8008”,在下边缘看到“? Intel 1971”。Hal Feeney 的名字缩写 HF 出现在右上角,他负责芯片的逻辑设计和物理布局。8008 的其他主要设计师包括 Ted Hoff、Stan Mazor 和 Federico Faggin。
芯片内部
下图突出显示了该芯片的一些主要功能块。左侧是 8 位算术/逻辑单元 (ALU),它执行实际的数据计算。
ALU 使用两个临时寄存器来保存其输入值。这些寄存器占据了芯片上很大的面积,不是因为它们很复杂,而是因为它们需要大型晶体管来驱动信号通过 ALU 电路。
寄存器下方是carry look ahead circuitry。对于加法和减法,该电路并行计算所有八个进位值以提高性能。由于低位进位(low-order carry)仅取决于低位位(low-order bits),而高位进位取决于多个位,因此电路块具有三角形形状。
ALU 的三角形布局很不寻常。大多数处理器将每个位的电路堆叠成规则的矩形(a bit-slice layout)。然而,8008 有八个块(每一位一个)随意排列,以适应三角形进位生成器留下的空间。ALU 支持八种简单运算。
芯片的中心是指令寄存器和指令译码逻辑,决定每条8位机器指令的含义。解码是通过可编程逻辑阵列(PLA)完成的,PLA是一种门的排列,可以匹配位模式并为芯片的其余部分生成适当的控制信号。右侧是存储块。8008的七个寄存器位于右上角。右下角是地址栈,由8个14位地址字组成。与大多数处理器不同,8008 的调用堆栈存储在芯片上而不是内存中。程序计数器只是这些地址之一,使得子程序调用和返回非常简单。8008 使用动态内存进行存储
该芯片的物理结构与8008用户手册(如下)中的框图非常接近,芯片上的块位置与框图中的位置几乎相同。
芯片结构
die照片显示什么?出于我们的目的,芯片可以被视为三层。下图显示了芯片的特写,指出了这些层。最顶层是金属布线。这是最明显的特征,看起来是金属的(毫不奇怪)。在下面的细节中,这些电线大多是水平的。多晶硅层位于金属下方,在显微镜下呈橙色。
芯片的基础是硅片,照片中硅片呈紫灰色。纯硅实际上是一种绝缘体。它的某些区域被“掺杂”了杂质以形成半导体硅。硅层位于底部,很难区分,但可以看到掺杂硅和未掺杂硅之间的边界上有黑线。照片中可以看到一些垂直的硅“线”。
晶体管是芯片的关键部件,多晶硅线与掺杂硅交叉的地方形成晶体管。在照片中,多晶硅在形成晶体管时呈现出更亮的橙色。
为什么是18针芯片?
8008 的一个不方便的特性是它只有 18 个引脚,这使得芯片速度更慢并且更难以使用。8008 使用 14 个地址位和 8 个数据位,因此有 18 个引脚,没有足够的引脚用于每个信号。相反,该芯片有 8 个数据引脚,在三个周期内重复使用,以传输低地址位、高地址位和数据位。使用8008的计算机需要许多支持芯片才能与这种不方便的总线架构交互。
没有充分的理由强制芯片变成 18 引脚。40 或 48 引脚封装在其他制造商中很常见,但 16 引脚是“英特尔的信仰”。他们极不情愿地才改为 18 针。几年后,当 8080 处理器问世时,英特尔已经接受了 40 针芯片。8080 更受欢迎,部分原因是它具有 40 引脚封装允许的更简单的总线设计。
芯片中的电源和数据路径
数据总线提供流经芯片的数据流。下图显示了 8008 的 8 位数据总线,其中 8 条数据线为彩虹色。数据总线连接到芯片上半部外侧的 8 个数据引脚。总线在左侧的 ALU、指令寄存器(中上)以及右侧的寄存器和堆栈之间运行。总线在左侧分开,ALU 两侧各占一半。
红线和蓝线显示电源布线。电源布线是微处理器的一个未被充分重视的方面。由于金属层电阻低,电源在金属层中布线。但由于早期微处理器中只有一层金属层,因此必须仔细规划配电,以免路径交叉。上图以蓝色显示 Vcc 线,以红色显示 Vdd 线。电源通过左侧的 Vcc 引脚和右侧的 Vdd 引脚提供,然后分支成细的互锁电线,为芯片的所有部分供电。
寄存器文件
为了详细展示该芯片的外观,我放大了下图中 8008 的寄存器文件。寄存器文件由 8 x 7 网格的动态 RAM (DRAM) 存储单元组成,每个存储单元使用三个晶体管来保存一位。(您可以将晶体管视为小矩形,其中橙色多晶硅呈现出稍微更鲜艳的颜色。)每一行都是 8008 的七个 8 位寄存器之一(A、B、C、D、E、H、L) )。在左侧,您可以看到七对水平线:每个寄存器的读选择线和写选择线。在顶部,您可以看到 8 根垂直导线用于读取或写入每位的内容,以及 5 根较粗的导线用于提供 Vcc。使用 DRAM 作为寄存器(而不是更常见的静态锁存器)是一个有趣的选择。由于英特尔当时主要是一家内存公司,我预计他们选择 DRAM 是因为他们在该领域的专业知识。
PMOS 的工作原理
8008使用PMOS晶体管。为了稍微简化一下,您可以将 PMOS 晶体管视为两条硅线之间的开关,由(多晶硅)栅极输入控制。当其栅极输入较低时,开关闭合,并且可以将其输出拉高。如果您熟悉 6502 等微处理器中使用的 NMOS 晶体管,那么 PMOS 可能会有点令人困惑,因为一切都是倒退的。
一个简单的 PMOS 与非门可以如下所示构建。当两个输入都为高电平时,晶体管关闭,电阻器将输出拉低。当任何输入为低电平时,晶体管将导通,将输出连接到+5。因此,该电路实现了与非门。为了与 5 伏 TTL 电路兼容,PMOS 栅极(以及 8008)采用异常电压供电:-9V 和 +5V。
由于技术原因,电阻器实际上是用晶体管实现的。下图显示了晶体管如何连接以充当下拉电阻。右侧的详细信息显示了该电路在芯片上的显示方式。-9V金属线在顶部,晶体管在中间,输出是底部的硅线。
8008 的历史
8008 的复杂故事始于Datapoint 2200,这是一款于 1970 年作为可编程终端推出的流行计算机。(有些人认为 Datapoint 2200 是第一台个人计算机。)Datapoint 2200 没有使用微处理器,而是包含一个由单独的 TTL 芯片构建的板级 CPU。(这是小型机时代构建 CPU 的标准方法。)Datapoint 和 Intel 决定可以用单个 MOS 芯片取代该板,Intel 启动了 8008 项目来构建该芯片。稍后,德州仪器 (TI) 也同意为 Datapoint 打造单芯片处理器。这两款芯片均设计为与 Datapoint 2200 的 8 位指令集和架构兼容。
1971 年 3 月左右,德州仪器 (TI) 完成了他们的处理器芯片,并将其称为TMC 1795。在推迟了该项目之后,Intel 于 1971 年底左右完成了 8008 芯片。出于各种原因,Datapoint 拒绝了这两种微处理器,并基于较新的 TTL 芯片(包括74181 ALU 芯片)构建了更快的 CPU 。
TI 尝试向福特等公司推销 TMC 1795 处理器,但没有成功,但最终放弃了该处理器,转而专注于高利润的计算器芯片。另一方面,英特尔将 8008 作为通用微处理器进行营销,这最终导致了您现在可能正在使用的 x86 架构。虽然 TI 率先推出了 8 位处理器,但英特尔使他们的芯片取得了成功,创造了微处理器行业。
上图总结了 8008 和一些相关处理器的“家谱”。Datapoint 2200 的架构用于 TMC 1795、Intel 8008 和下一版本 Datapoint 2200 。因此,使用 Datapoint 2200 的指令集和架构构建了四个完全不同的处理器。Intel 8080 处理器是 8008 的大幅改进版本。它显着扩展了 8008 的指令集,并重新排序了机器代码指令以提高效率。8080 用于开创性的早期微型计算机,例如 Altair 和 Imsai。在完成了 4004 和 8080 的工作后,设计师 Federico Faggin 和 Masatoshi Shima 离开英特尔,开发了 Zilog Z-80 微处理器,该微处理器在 8080 的基础上进行了改进,并变得非常受欢迎。
向16 位 8086 处理器的转变要少得多。大多数 8080 汇编代码可以转换为在 8086 上运行,但这并不简单,因为指令集和体系结构发生了根本性的变化。尽管如此,Datapoint 2200 的一些特性仍然存在于当今的 x86 处理器中。例如,Datapoint 2200 有一个串行处理器,一次处理一位字节。由于需要首先处理最低位,因此 Datapoint 2200 是小尾数法。为了兼容性,8008 是小端字节序,英特尔的处理器仍然如此。Datapoint 2200 的另一个功能是奇偶校验标志,因为奇偶校验计算对于终端通信非常重要。奇偶校验标志一直延续到 x86 架构。
8008 在架构上与英特尔的 4 位 4004 处理器无关。无论如何,8008 都不是 4 位 4004 的 8 位版本。类似的名称纯粹是一种营销发明;在设计阶段,8008 有一个平淡无奇的名字“1201”。
8008 如何融入半导体技术的历史
4004 和 8008 均采用硅栅增强型 PMOS,这是一种仅短暂使用的半导体技术。这使芯片处于芯片制造技术中的一个有趣的点。
8008(和现代处理器)使用 MOS 晶体管。这些晶体管的接受之路很长,与 20 世纪 60 年代大多数计算机中使用的双极晶体管相比,速度较慢且可靠性较差。到 20 世纪 60 年代末,MOS 集成电路变得越来越普遍。标准技术是带有金属栅极的 PMOS 晶体管。晶体管的栅极由金属组成,也用于连接芯片的组件。芯片本质上有两层功能:硅本身和顶部的金属布线。该技术被用于许多德州仪器计算器芯片以及TMC 1795芯片(与8008具有相同指令集的芯片)中。
使 8008 变得实用的一项关键创新是自对准栅极——一种使用多晶硅而不是金属栅极的晶体管。虽然这项技术是由 Fairchild 和贝尔实验室发明的,但推动这项技术发展的是英特尔。多晶硅栅极晶体管的性能比金属栅极好得多(出于复杂的半导体原因)。此外,添加多晶硅层使芯片中的信号布线变得更加容易,从而使芯片更加密集。下图显示了自对准栅极的优势:金属栅极 TMC 1795 比 4004 和 8008 芯片的总和还要大。
不久之后,半导体技术再次进步,使用NMOS晶体管代替PMOS晶体管。尽管 PMOS 晶体管最初更容易制造,但 NMOS 晶体管速度更快,因此一旦能够可靠地制造 NMOS,它们就明显获胜。
NMOS 催生了更强大的芯片,例如Intel 8080和 Motorola 6800(均为 1974 年)。这次的另一项技术改进是通过离子注入来改变晶体管的特性。这使得可以创建用作上拉电阻的“耗尽型”晶体管。这些晶体管提高了芯片性能并降低了功耗。他们还允许创建使用标准五伏电源运行的芯片。
NMOS 晶体管和耗尽型上拉的组合用于 20 世纪 70 年代末和 1980 年代初的大多数微处理器,例如 6502 (1975)、Z-80 (1976)、68000 (1979) 和 Intel 芯片从 8085 (1976) 到 80286 (1982)。
20 世纪 80 年代中期,CMOS 占据主导地位,同时使用 NMOS 和 PMOS 晶体管来大幅降低功耗,芯片包括 80386 (1986)、68020 (1984) 和ARM1 (1985)。现在几乎所有的芯片都是CMOS的。
正如您所看到的,20 世纪 70 年代是半导体芯片技术发生巨大变化的时期。当技术能力与合适的市场相结合时,4004 和 8008 就诞生了。
如何拍摄Die照片
在本节中,我将解释如何获取 8008 芯片的照片。第一步是打开芯片封装以暴露芯片。大多数芯片采用环氧树脂封装,可以用危险的酸溶解。
由于我宁愿避免煮沸硝酸,所以我采取了一种更简单的方法。8008 也有陶瓷封装(上图),这是我在 eBay 上买到的。用凿子沿接缝敲击芯片,将两层陶瓷层分开。下图显示了陶瓷封装的下半部分,裸露的芯片。大多数金属引脚已被移除,但它们在封装中的位置是可见的。Die的右侧是一个小方块;这会将地 (Vcc) 连接到基板。几根微小的键合线仍然可见,连接到芯片上。
一旦芯片曝光,就可以使用显微镜拍照。标准显微镜从下方发出光线,这对于拍摄照片来说效果不佳。相反,我使用了金相显微镜,它从上方发出光线来照亮芯片。
我通过显微镜拍摄了 48 张照片,然后使用 Hugin 拼接软件将它们组合成一张高分辨率图像。最后,我调整了图像对比度,使芯片的结构更加清晰。原始图像(大约是您通过显微镜看到的图像)如下以供比较。
结论
虽然 8008 不是第一个微处理器,甚至不是第一个 8 位微处理器,但它确实具有革命性,引发了微处理器革命,并导致了在未来几十年主导个人计算机的 x86 架构。
在以后的文章中,我计划详细解释 8008 的电路,以让您一睹当今计算机的根源。