1. cpu

  1. 运算单元

负责计算,但不知道运算哪些数据,运算完不知道该存放再何处

  1. 数据单元

包括 cpu 内部缓存,寄存器组,空间小,速度快

  1. 控制单元

获取指令,根据指令控制计算单元取出数据单元中的数据并计算

2. 8086的原理

  1. 数据单元

一共8个16位通用寄存器,分别是 AX BX CX DX SP BP SI DI
AX BX CX DX 可以分成两个8位寄存器,分别是 AL AH BL BH CL CH DL DH

  1. 控制单元

IP 指令指针寄存器,指向代码段中下一条指令的位置(即相对于 CS 的偏移量)
CS 代码段寄存器,指向代码在内存中的起始位置
DS 数据段寄存器,指向数据在内存中的起始位置(数据段的偏移量一般放在通用寄存器里)
SS 栈寄存器,指向栈在内存中的位置

  1. 地址总线20位

CS,DS 地址左移4位,再加上16位的偏移量,凑成20位地址,总共 1M 的地址空间
每个段的偏移量是16位,总共 64k 的地址空间,表示一个进程只有 64k 的地址空间

3. 32位处理器原理

  1. 32根地址总线,总共 4G 地址空间
  2. 8个32位通用寄存器 EAX EBX ECX EDX ESP EBP ESI EDI,可分为高16位和低16位使用
  3. EIP 32位,指令指针寄存器,作用不变
  4. 段的起始地址存放在内存中,CS SS DS ES 指向内存中的这块地方

这里段寄存器的使用方式与 8086 是不兼容的,于是便有了实模式和保护模式
之前的模式是实模式,后来的是保护模式
系统刚启动的时候运行在实模式下,之后再切换到保护模式