16位微机的
内存管理模式
1、存储器的分段
我们知道:计算机的内存单元是以“字节”为最小单位进行线性编址的。为了标识每个存储单元,就给每个存储单元规定一个编号,此编号就是该存储单元的物理地址。
存储单元的物理地址是一个无符号的二进制数。但为了书写的简化,物理地址通常用十六进制来表示。
16位
cpu内部有20根地址线,其编码区间为:00000H~0FFFFFH,所以,它可直接访问的物理空间为1M(220)字节。而16位CPU内部存放存储单元偏移量的寄存器(如:IP、SP、BP、SI、DI和BX等)都是16位,它们的编码范围仅为:00000H~0FFFFH。这样,如果用16位寄存器来访问内存的话,则只能访问内存的最低端的64K,其它的内存将无法访问。为了能用16位寄存器来有效地访问1M的存储空间,16位CPU采用了内存分段的管理模式,并段寄存器的概念。
16位微机把内存空间划分成若干个逻辑段,每个逻辑段的要求如下:
图2.4 16位微机内存分段管理示意图
逻辑段的起始地址(通常简称为:段地址)必须是16的倍数,即最低4位二进制必须全为0;
逻辑段的最大容量为64K,这由16位寄存器的寻址空间所决定。
按上述规定,1M内存最多可分成64K个段,即65536个段(段之间相互重叠),至少可分成16个相互不重叠的段。
右图2.4是内存各逻辑段之间的分布情况示意图,其中有相连的段(如:C和D段)、不相连的段(如:A和B段)以及相互重叠的段(如:B和C段)。
这种存储器分段的内存管理方法不仅实现了用两个16位寄存器来访问1M的内存空间,而且对程序的重定位、浮动地址的编码和提高内存的利用率等方面都具有重要的实用价值。