存储器地址的交叉及字节、字和双字的寻址

16位微处理器8086/80286可以访问偶地址的字节数据、奇地址的字节数据,还可以访问一个规则字及非规则字。

这是因为把1MB的存储空间分为两个存储体,偶地址存储体奇地址存储体

各为512K字节,在每个体内的地址是不连续的,但两个存储体(模块)之间的字节地址是连续的。

如图所示,CPU用地址线A0和高字节允许信号线/BHE来区分两个存储体。

存储器地址的交叉及字节、字和双字的寻址

当A0=0时,选择偶地址存储体,偶地址存储体与数据总线的低8位(D0~D7)相连,所以CPU从低8位数据总线读/写一字节。

当/BHE=0时,选择奇地址存储体,奇地址存储体与数据总线的高8位(D15~D8)相连,所以CPU由高8位数据总线读/写一字节。

当A0=0,/BHE=0时,同时访问两个存储体,各读/写一字节,合成一个字。

A0与/BHE的组合操作如下图所示:

存储器地址的交叉及字节、字和双字的寻址

如果微处理器外部数据线为32位,则32位微机系统的存储器分为四体交叉的存储器,每个存储体内的字节地址不连续,但相邻存储体之间的地址是连续的。

每个存储体有8位数据线与系统的数据线相连接,共同组成32位数据线。

CPU具有4根字节选择的输出信号/BE3~/BE0,都是低电平有效。当其有效时,分别用来选择4个存储体。与16位微处理器的存储器结构类似,32位CPU只访问一字节、一个字或一个双字(32位)。详细内容在后面会介绍。


备注:

有的资料会将/BHE,/BE3~/BE0写成

存储器地址的交叉及字节、字和双字的寻址


分享到:


相關文章: