第3节 存储器组织
8088有20条地址线,它的直接寻址能力为 220=1M,所以在一个8088组成的系统中,可以有多达1M字节的存储器,这1M字节在逻辑上可以组成一个线性矩阵,地址从00000到FFFFF。给定一个20位的地址,就可以从中取出所需的指令和数据。
在8088内部,ALU 能进行16位的运算,有关地址寄存器如:IP、SP、BX、BP、SI、DI等都是16位的,因而对地址的运算也只能是16位。其寻址的范围最多是216=64K。
在8088中怎样形成这20位的地址呢?——分段!
将内存的1M字节以64K为范围,分成若干段;在8088中设置4个段寄存器CS、DS、SS、ES,在寻址一个具体的内存单元(物理地址)时,由一个段寄存器中保存的16位基地址,加上由IP(或SP,或BP,或BX,或SI,或DI)中保存的、可由CPU处理的16位偏移量,来形成20位的物理地址。
在形成物理地址时,地址加法器将段寄存器中的16位数左移4位,然后与16位偏移地址相加,形成20位的物理地址。

段&内存



