16位结构的CPU,8086给出物理地址的方法

.16位结构的CPU

概括地讲,16位结构(16位机,字长为16位等常见说法,与16位结构的含义相同)描述了一个CPU具有下面几方面结构特性:

1.运算器一次最多可以处理16位的数据结构

2.寄存器的最大宽度为16位

3.寄存器和运算器之间的通路为16位

.8086CPU给出物理地址的方法

8086CPU有20位地址总线,可以传送20位地址,寻址能力达到1MB。那么怎么在16位结构中达到20位地址的呢?

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

如上图2.6所示,当8086要读写内存时:

这里我有一点疑惑,段地址为什么选1230,那么也可以选择123C,然后偏移地址选择0008啊,为什么王爽老师这里就能确定是1230的段地址和00C8的偏移地址呢?

段地址*16还有一个更为常用的说法是左移4位。一个数据的二进制形式左移1位,相当于该数据乘以2,左移N位,相当于该数据乘以2的N次方。一个数据的十六进制形式左移1位,相当于乘以16,一个十进制左移1位,相当于乘以10,一个X进制的左移1位,相当于乘以X。

 

 

关于王老师最后一句,8086CPU就是一个这样只能提供两张3位数据纸条的CPU。如果8086只能一次只能传输3位数据,那么前面那个段地址和偏移地址的方式就可以得到解释,但是明明是16位的地址,为什么只能传3位数据呢?这里确实不明白,但是对于基础地址(段地址*16)和偏移地址相加等于物理地址还是必须明了的。

posted @ 2017-04-12 22:06  Crystal_Guang  阅读(1748)  评论(0编辑  收藏  举报