进阶 #hardware#cpu

寄存器

寄存器是由多个D触发器组成的快速存储单元,用于暂存CPU中的数据和状态

什么是寄存器?

寄存器(Register) 是 CPU 中最靠近运算单元的存储部件。一个寄存器由 N 个 D 触发器 并排组成,每个触发器存储 1 位数据。

例如,一个 8 位寄存器由 8 个 D 触发器构成,可以存储 0~255 的数值。

寄存器结构

graph LR
    D0[D₀] --> FF0[FF]
    D1[D₁] --> FF1[FF]
    D2[D₂] --> FF2[FF]
    D3[D₃] --> FF3[FF]
    D4[D₄] --> FF4[FF]
    D5[D₅] --> FF5[FF]
    D6[D₆] --> FF6[FF]
    D7[D₇] --> FF7[FF]

    CLK[CLK 时钟] --> FF0
    CLK --> FF1
    CLK --> FF2
    CLK --> FF3
    CLK --> FF4
    CLK --> FF5
    CLK --> FF6
    CLK --> FF7

    FF0 --> Q0[Q₀]
    FF1 --> Q1[Q₁]
    FF2 --> Q2[Q₂]
    FF3 --> Q3[Q₃]
    FF4 --> Q4[Q₄]
    FF5 --> Q5[Q₅]
    FF6 --> Q6[Q₆]
    FF7 --> Q7[Q₇]

所有触发器共享同一个时钟信号,同时采样输入,同时更新输出。

寄存器的功能

  • 存储数据:保存计算过程中的中间值
  • 暂存地址:保存内存地址或 I/O 端口地址
  • 移位操作:寄存器中的位可以左移或右移

CPU 中的常见寄存器

💡 下面列出的这些寄存器名称,你现在看到可能会有点陌生。没关系——暂时不需要记住它们。它们会在后续的 CPU 章节中一一出现,到时候你会自然熟悉。

寄存器名称用途
PC程序计数器存放下一条指令的内存地址
IR指令寄存器存放当前正在执行的指令
ACC累加器存放算术运算的结果
SP栈指针指向当前栈顶
RA返回地址存放函数调用的返回地址

寄存器 vs 内存

特性寄存器内存(RAM)
速度最快(1个时钟周期)较慢(几十到几百周期)
容量极小(几十到几百字节)大(GB级)
价格极高较低
位置CPU 内部CPU 外部

寄存器在 CPU 中的角色

寄存器是 CPU 数据通路的枢纽:

  1. 从内存读取指令到 IR(指令寄存器)
  2. 从寄存器读取数据送到 ALU 计算
  3. 计算结果写回寄存器(ACC)
  4. PC 自动递增指向下一条指令

小结

寄存器是计算机中最快的存储部件。正是 D 触发器的同步特性,使得 CPU 中成亿的电路可以按照统一的时钟节拍有序工作。