💻 第二章 试着制造一台计算机吧
📄 一句话概括

四样元件凑一台机:Z80 CPU 当指挥部、IC 存储器当操作台、I/O 接口当门房、时钟信号发生器当节拍器。

📝 本节和前面几节的关系

第一章 1.7 列过零件清单,这一节开始真点货——每样元件什么型号、引脚都干什么,全部过一遍。

一、四样元件点名

CPU:教材选 Z80——一款 8 位经典处理器,引脚少、行为清楚,最适合解剖; 内存:一块 IC 存储器,负责存指令和数据,地址线多少根决定能有多少格子; I/O 接口:也是一块 IC,一头挂总线、一头连外部设备,是计算机的门房; 时钟信号发生器:产生滴答不停的时钟信号,让所有元件同步走步。

二、为什么选 Z80

Z80 是 8 位 CPU:数据总线 8 根(一次搬一个字节)、地址总线 16 根(能点名 64KB)。 它的指令集简单到第三章可以【手工汇编】——每条指令都有手写的机器码。工业界它早就退役(【⚠️ 2026 现状】如今连单片机都是 32 位 ARM 起步),但教学上它仍是解剖微型计算机的最佳标本。

三、元件与第一章原则的对应

对照 1.2 节:CPU 和内存管【运算】,键盘显示器经 I/O 管【输入输出】,时钟不管三段中的任何一段,却让三段能对上拍。 四样凑齐,一台能跑程序的计算机的【骨架】就有了——接下来的九节,就是把这副骨架用线连起来。

四、动手 Demo:元件清点与 Z80 身家调查

把四样元件连同职责列成清点表,再看看 Z80 这 8 位身手到底什么量级。

# Z80 的 8 位身手
data_bits = 8    # 数据总线 8 根
addr_bits = 16   # 地址总线 16 根
print("一次能搬的数:", 0, "~", 2**data_bits - 1)
print("能点名的格子:", 2**addr_bits, "个 = 64KB")

实跑输出:

--------------------------------------------------------------------
点一遍元件清单——四样东西一台机器
--------------------------------------------------------------------

造微型计算机最少要四样元件,一样都不能少:

  元件     教材用的型号/说法     职责                       引脚里管什么
  -------------------------------------------------------------------------------------
  CPU      Z80 CPU               取指令、做运算的指挥部     数据/地址/控制三组线
  内存     存储器(IC)            存指令和数据               地址线选格子、数据线过内容
  I/O      I/O 接口(IC)          计算机与外部世界的门       端口号选门、数据线过货
  时钟     时钟信号发生器        打节拍让全体同步           一根 CLK 线反复高低

注意:四样元件都挂在同几条总线上——总线就是下一节的主角。

8 位一次搬 0~255,大数拆多次搬;64KB 在当年是豪华配置,如今一部手机内存都是它的十万倍量级。 量级差归量级差,工作原理一模一样——这正是拿 Z80 上解剖课的理由。

30 秒实验

  1. 搜一张 Z80 芯片照片,数一数它两排引脚——40 根脚,每根都有名有姓。
  2. 对照第一章 1.7 的零件清单,把五样里的【总线】单独标出——它不是元件,是连线。

常见误区

  1. 以为 I/O 是外设本身——I/O 接口是【门房 IC】,键盘显示器才是外设。
  2. 以为时钟是可选件——没有节拍,总线上两路信号会撞车,机器直接失灵。
自测三问(点开对答案) 1. 四样必需元件是什么? —— CPU(Z80)、IC 存储器(内存)、I/O 接口、时钟信号发生器。 2. Z80 的数据总线与地址总线各多少根? —— 数据 8 根(一次一字节),地址 16 根(寻址 64KB)。 3. 为什么教学选 Z80? —— 引脚少、指令集简单可手工汇编——解剖结构最清楚;工业上早已退役。

相关笔记