# 内部总线 & 外部总线

内部总线CPUCPU 内部的总线,体现 CPUCPU 处理信息的能力

内部数据总线:内部的寄存器、算术单元等通过 CPUCPU 内部数据总线连接,传输数据;每次传递的信息叫作一个机器字

外部总线CPUCPU 与其他部件连接的总线,体现 CPUCPU 交换信息的能力

外部数据总线:外部数据总线最终会插在主存上,读取一个主存单元的长度,CPUCPU 与主存每次交换的信息叫作一个存储字

# 机器字长 & 存储字长 & 指令字长

# 机器字长

指 CPU 寄存器、数据总线、ALU(算术逻辑单元)一次能处理的二进制数据的最大位数

机器字长 = 运算器 ALUALU 的位数 = 通用寄存器的位数 = 内部数据总线根数

  • 是固定的,由 CPU 架构决定
  • 决定了 CPUCPU 的寻址能力,寄存器的大小
  • 不可变

# 数据字长

指 CPU 在特定操作中一次性处理的数据位数,通常与机器字长一致,但可能因指令或场景不同而变化。

通常由 ALU(算术逻辑单元)的宽度决定。例如,32 位 CPU 的数据字长为 32 位,表示其能一次性处理 32 位的数据运算。

  • 可动态调整,例如 3232CPUCPU 可处理 88 位、1616 位、3232 位数据
  • 反映实际运算或传输的数据位数

# 存储字长

一个存储单元中二进制代码的位数

指主存储器(内存)一次读写操作中传输的数据位数,即内存单元的宽度。

  • 为外部数据总线根数
  • 机器字长通常为存储字长的整数倍

# 指令字长

一条指令的总长度,取决于操作码、操作数地址长度和操作数地址个数

# MAR & MDR

MAR 的位数由地址个数决定,地址个数 = 主存空间大小 / 存储字长

MDR 的位数由存储字长决定