2.3 8086存储器组织
一、存储器地址的分段
1、存储器地址的分段
8086有20条地址总线,直接寻址能力为220=1M字节
矛盾:存储器地址空间1MB,20bit地址线;内部各寄存器和数据总线均为16bit。
解决方法:将整个存储器分为若干个逻辑段,每段内地址16bit,即最多地址空间64KB。允许各逻辑段在整个存储空间浮动,段与段之间可以是连续的,如左图。也可以是分开的或重叠的。
存储器地址分段:
IBM PC机对段的起始地址有限制,即段不能从任意地址开始:约定段的起始地址低4位必须是0(或能被16整除)。
段内地址16位,每个段 £64KB;可根据需要确定段大小,可以是在64K范围内的任意字节数。
两个定义:
段地址(段基址):一个段的起始地址的高16位。 1MB空间可有216个段地址。
段内偏移地址(有效地址EA):相对于段起始地址的偏移量,16位。所以每个段的大小最大可达64KB。
结论:存储器段与段之间可互相覆盖。
根据定义1MB空间可有216个段地址,相邻两段地址相距16个存储单元。
在16进制表示的地址中,最低位为0H(即20位地址的低4位为0000B)。段首地址为:
段地址 0000 0H
0001 0H
…
4123 0H