Intel 4004本身没有内置内存,它是一个中央处理器,负责执行指令和处理数据,它的内存是外部的,需要通过专门的地址总线和数据总线与外部的存储芯片(主要是只读存储器ROM和随机存取存储器RAM)进行通信。

(图片来源网络,侵删)
第一部分:Intel 4004 微处理器
历史地位与意义
- 第一款商用微处理器:1971年由Intel公司推出。
- 划时代的产品:它将计算机的核心部件——中央处理器,集成在了一块芯片上,开启了“芯片上的计算机”时代。
- 诞生背景:为日本Busicom公司的一款可编程计算器而设计,这个历史背景决定了它的初始设计目标。
主要技术规格
- 架构:4位
- 时钟频率:740 kHz
- 晶体管数量:2,300个
- 速度:约 60,000 条指令/秒
- 寻址空间:4KB (4096 x 4 bits) - 这是理解其内存的关键!
- 指令集:46条指令
- 封装:16针双列直插式封装
架构特点
- 4位数据总线:意味着它一次只能处理4位(半个字节)的数据。
- 4位内部结构:其通用寄存器也是4位的。
- 堆栈:内部有一个8层深、4位宽的硬件堆栈,用于子程序调用。
第二部分:Intel 4004 的内存系统
这是问题的核心,4004的内存系统完全由外部芯片组成,其设计遵循了Intel为它配套推出的MCS-4(Micro Computer Set 4位)架构。
内存寻址空间
4004的地址总线是12位的,这意味着它可以寻址 2^12 = 4096个不同的内存位置,这个空间被统一编址,CPU并不区分指令和数据,它们都存在于这4KB的连续地址空间中。
内存类型与功能
这4KB的地址空间被两种主要的内存类型所瓜分:
A. 只读存储器 - 用于存储程序
- 作用:存储计算机的程序指令和固定不变的数据(如查找表),ROM是非易失性的,断电后数据不会丢失。
- 型号:Intel 4001 芯片。
- 容量:每片 256 x 8 bits (即 256字节)。
- 工作方式:
- 4004通过12位地址总线寻址。
- 当CPU从ROM读取指令时,4001芯片会将4位数据放到4位数据总线上。
- 关键点:4001是8位的芯片,但4004是4位的,一个4001芯片需要被“拆开”使用,其高4位和低4位可以被CPU分别访问,这被称为“位切片”(Bit Slicing)技术。
- 最大容量:要填满4KB的寻址空间,理论上需要
(4096 * 4 bits) / (256 * 8 bits) = 8片4001 ROM芯片。
B. 随机存取存储器 - 用于存储数据
- 作用:存储程序运行过程中产生的临时数据、变量和堆栈,RAM是易失性的,断电后数据会全部丢失。
- 型号:Intel 4002 芯片。
- 容量:每片 80 x 4 bits (即 40字节)。
- 工作方式:
- 4002芯片也通过12位地址总线寻址。
- 它是一个4位的RAM芯片,正好与4004的数据总线宽度匹配,可以直接进行数据交换。
- 它有一个独特的“刷新”周期,需要CPU周期性地访问它来保持数据。
- 最大容量:要填满4KB的寻址空间,理论上需要
(4096 * 4 bits) / (80 * 4 bits) = 51.2片4002 RAM芯片,系统会根据需求配置。
内存映射
CPU看到的整个4KB地址空间是统一编址的,这意味着,地址 0x000 到 0xFFF 既可以指向ROM中的指令,也可以指向RAM中的数据,程序员需要自己规划好哪些地址分配给ROM,哪些分配给RAM。

(图片来源网络,侵删)
辅助芯片
除了内存,MCS-4架构还包括其他关键芯片:
- 4003: 移位寄存器/输出扩展器,用于驱动LED数码管等外部设备。
- 4008: 地址锁存器,用于扩展地址总线。
- 4009: 读/写时钟发生器/输入输出接口,用于控制与内存和I/O设备的时序和数据流。
总结与现代对比
| 特性 | Intel 4004 (1971) | 现代桌面/服务器CPU (如Intel i7, AMD Ryzen) |
|---|---|---|
| CPU | 单个4位芯片,2300个晶体管 | 数十亿个晶体管的复杂多核芯片 |
| 内存 | 外部:需要搭配4001(ROM)和4002(RAM)等芯片 | 内部:拥有巨大的L1, L2, L3缓存 |
| 主内存 | 外部,总容量KB级别,速度与CPU时钟同步 | DRAM (如DDR5),容量GB到TB级别,速度远低于CPU时钟,需要多级缓存弥补 |
| 内存集成 | CPU与内存完全分离 | CPU、缓存、内存控制器高度集成在CPU封装内或同一片上系统上 |
| 数据总线 | 4位 | 64位或更高 |
| 地址总线 | 12位 (寻址4KB) | 48位或更高 (寻址256TB或更多) |
Intel 4004的内存系统是一个分立、外部的架构,它本身不包含内存,而是通过一套简洁的总线系统,与专门的外部ROM和RAM芯片协同工作,共同构成了一个完整的微计算机系统,这种设计虽然原始,但它清晰地定义了CPU、内存和I/O之间分离和协作的基本原则,这个原则至今仍是计算机体系结构的基础。

(图片来源网络,侵删)
