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

微处理器intel4004 内存
(图片来源网络,侵删)

第一部分: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地址空间是统一编址的,这意味着,地址 0x0000xFFF 既可以指向ROM中的指令,也可以指向RAM中的数据,程序员需要自己规划好哪些地址分配给ROM,哪些分配给RAM。

微处理器intel4004 内存
(图片来源网络,侵删)

辅助芯片

除了内存,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之间分离和协作的基本原则,这个原则至今仍是计算机体系结构的基础。

微处理器intel4004 内存
(图片来源网络,侵删)