1.??????平面单一空间存储(Flat Single Space):
平面单一空间存储结构是最简单的结构。每个存储单元都对应一个地址,每个地址都标记一个{wy}的存储单元。
2.分段存储(Segmented)
分段存储地址分配的思想也很简单。地址分成2部分:段地址和偏移量。大多数时候只需要使用偏移量,高位附加地址存储在一个或多个特定的段地址寄存器中;若要表示更大范围内的存储地址,则需要在段地址寄存器中重新写入一个值。
使用分段存储,需要引入near和far的概念。要访问一个near对象,即直接使用当前段地址寄存器的值,速度比较快;而要访问一个far对象,就需要改变相关寄存器的值,速度比较慢。
典型的例子:Intel 8086
3.分组切换存储(Bank Switched)
要实现分组切换的存储结构,需包含2部分:存储器地址和一个控制寄存器。前者代表更大存储空间的一个小窗口,后者实现该窗口的移动。采用分组切换存储时,若要访问新的存储器窗口空间,需要先修改控制寄存器中的窗口设置。
4.多空间存储(Multiple Space)
Intel 8051系列使用了映射到片内和片外的ROM和RAM等不同类型存储器的多地址空间。这些存储器的地址分配可能会不明确(一个给定的地址可能对应几个实际的存储单元,而实际上只应该有一个存储单元被正确寻址),所以需要在高级语言(如c语言)中添加特定的数据类型指示,以适应地限定变量的分配空间。