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/
- CPU中的相关部件提供两个16位的地址,一个称为段地址,另一个称为偏移地址;
- 段地址和偏移地址通过内部总线送入一个称为地址加法器的部件;
- 地址加法器将两个16位地址合成为一个20位的物理地址;
- 地址加法器通过内部总线将20位物理地址送入输入输出控制电路;
- 输入输出控制电路将20位物理地址送上地址总线;
- 20位物理地址被地址总线传送到存储器
地址加法器釆用物理地址=段地址X16+偏移地址的方法用段地址和偏移地址合成物理地址
如上图,段地址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