内存区段


内存区段 (正體)

Free Web Hosting with Website Builder

Intel x86 架构中,内存区段 是在不改变 16 位元区段选择子之下,可以使用单一索引暂存器所能够寻址的的内存范围部份。在 80286 处理器 (或 80386 和之后处理器的虚拟86模式)真实模式保护模式,一个区段的大小是 64 KB (使用 16 位元索引暂存器)。在 32 位元保护模式下,也就是在 80386 和后面系列的处理器中,一个区段是 4 GB (由于 32 位元的索引暂存器)。

在 16 位元模式,要让应用程式使用多个内存区段 (为了存取比任一 64K 区段还要大的内存) 是相当复杂,但是被视为除了最小的工具(可以使用较少内存完成) 外的一种必要罪恶。这个问题的根源 在于没有适当的位址算术指令 适合做整个内存范围的平面寻址方式 来使用。因此平面寻址方式可能以乘法的指令来完成,然而会导致较慢的程式执行速度。

1990年 末期,32 位元操作系统的推出,以及更舒适的 32 位元 平面内存模式 导致几乎消除了区段寻址的使用。然而,使用平面内存模式也产生 4 GB 限制对于现今的使用也不足够。区段允许操作系统限制每个行程虚拟寻址空间,最大可利用到 64 GB 的系统内存,但这种勉强方式最终地回归到区段,是进展到 64 位元处理器经常会引述的因素。

Intel x86真实模式 下的区段架构会有所重叠,是一种不好的设计。







Why are we here?
All text is available under the terms of the GNU Free Documentation License
This page is cache of Wikipedia. History