跳转至

8086CPU

8086CPU是16位CPU

  • 运算器一次最多可以处理16位的数据
  • 寄存器的最大宽度为16位
  • 寄存器和运算器之间的通路为16位

8086CPU有20位地址总线,可以传送20位地址,达到1MB寻址能力。

8086CPU釆用一种在内部用两个16位地址合成的方法来形成一个20位的物理地址。

在线16进制加法运算器:十六进制加法计算器 (99cankao.com)

在线16进制乘法计算器:十六进制乘法计算器 (99cankao.com)

进制转换:https://c.runoob.com/front-end/58/

image-20220531192904196

  1. CPU中的相关部件提供两个16位的地址,一个称为段地址,另一个称为偏移地址;
  2. 段地址和偏移地址通过内部总线送入一个称为地址加法器的部件;
  3. 地址加法器将两个16位地址合成为一个20位的物理地址;
  4. 地址加法器通过内部总线将20位物理地址送入输入输出控制电路;
  5. 输入输出控制电路将20位物理地址送上地址总线;
  6. 20位物理地址被地址总线传送到存储器

地址加法器釆用物理地址=段地址X16+偏移地址的方法用段地址和偏移地址合成物理地址

image-20220531193720420

如上图,段地址16进制为1230,偏移地址16进制为00C8,16的十六进制为10,1230×10=12300,12300+00C8=123C8

最后的物理地址为123C8(友情提醒:123C8的物理地址存储的为一个Byte)

因为段地址为16位的,所以段地址最大个数为2的16次方,为65536,因为存储单位最小为Byte,65536Byte=64KB,所以有的书里说段地址最大寻址能力为64KB

因为偏移地址为16位的,所以相同的段地址,和不同的偏移地址可以表达65536个存储单元,也就是64K