第二章 8086计算机组织

 2.4 8086微处理器的存储器管理

  1.存储单元的地址和内容
  计算机存储信息的基本单位是一个二进制位(bit)。一位可存储一个二进制数:0或1,每8位组成一个字节。
微机中常用的数据类型有:
  ·字节:存储器中存取信息的基本单位。我们常说某存储器容量是64MB,就是说该存储器有64M(1M=220)个字节。其位编号如图2.5(1)所示。
  ·字:一个字16位,占用两个字节,8086的字长就是16位的。一个字的位编号如图2.5(2)所示。
  ·双字:一个双字32位,由4个字节组成。其位编号如图2.5(3)所示。
  ·四字:一个四字64位,由8个字节组成。其位编号如图2.5(4)所示。


  图2.5 数据类型
  

  在存储器里以字节为编址单位,也就是说给每个字节分配一个地址号,地址从0开始编号,依次递增1。地址在机器中用无符号二进制数表示,可简写为十六进制数的形式。一个存储单元中存放的信息称为该单元的内容。例如,2号单元中存放了一个数据8,则表示为:(2)=8。

  对于字、双字、四字数据类型,其低地址中存放低位字节数据,高地址中存放高位字节数据。在读写数据时只需给出最低单元的地址号即可,然后依次存取后续字节。

 例如,存储器现存有以下数据(后缀H表示是十六进制数):

地址:
9
8
7
6
5
4
3
2
1
0
内容:
0EH
0DH
0CH
0BH
0AH
89H
67H
45H
23H
01H


  对于不同的数据类型,取地址为2的数据分别是:

  (2)字节=45H
  (2) =6745H
  (2)双字=0A896745H
  (2)4字=0E0D0C0B0A896745H

  可以看出,同一个地址既可看作字节单元的地址,又可看作字单元、双字单元或4字单元的地址,这要根据使用时的情况来确定。而且多字节数据在存储器中是"逆序存放"的。

  字单元的地址可以是偶数,也可以是奇数。但是,在8086中,访问存储器(要求取数或存数)都是以字为单位进行的,也就是说,机器是以偶地址访问存储器的。这样,对于奇地址的字单元,要取一个字需要访问二次存储器,这就需要花费较多的时间。

  如上所述,如果用X表示某存储单元的地址,则X单元的内容可以表示为(X);假如X单元中存放着Y,而Y又是一个地址,则可用(Y)=((X))来表示Y单元的内容。