4段寄存器 图2.1 ★存储器分段的概念 ★逻辑地址和物理地址 ★堆栈 ★段寄存器的使用
4.段寄存器 图2.1 ★ 存储器分段的概念 ★ 逻辑地址和物理地址 ★ 堆栈 ★ 段寄存器的使用
1)存储器分段的概念 为什么要分段? 所谓分段技术就是把MB的存储空间分成若干逻 辑段,每个逻辑段最大具有64KB的存储空间。 段内地址是连续的,段与段之间是相互独立的 逻辑段可以在整个存储空间浮动,即段的排列可 以连续、分开、部分重叠或完全重叠,非常灵活
1)存储器分段的概念 ➢ 为什么要分段? ➢ 所谓分段技术就是把1MB的存储空间分成若干逻 辑段,每个逻辑段最大具有64 KB的存储空间。 ➢ 段内地址是连续的,段与段之间是相互独立的。 逻辑段可以在整个存储空间浮动,即段的排列可 以连续、分开、部分重叠或完全重叠,非常灵活
图24逻辑分段的示意图 00000H 连续排列 64KB A段部分重叠完全重叠 10000H 64KB B段 20000H C段 D段 64KB 30000H 64KB E段 断开排列 40000H 实际存储器 逻辑段 图2.4逻辑分段的示意图 某一个存储单元可以属于不同的逻辑段。每个段区的大小允许根据实际需要来 分配,不一定要达到64KB
图2.4 逻辑分段的示意图 某一个存储单元可以属于不同的逻辑段。每个段区的大小允许根据实际需要来 分配,不一定要达到64KB
2)逻辑地址和物理地址 拟首址:段的第一个单元的地址(20位),最低4位是全0即段 首址是16的整数倍)。 段基址:段首址的高16位。段基址存放在段寄存器中。 偏移地址:段内存储单元距离段首地址的偏移量(以字节数 计算,16位),也称有效地址EA。偏移地址存放在I、BP、 SI、D成BX中,或者是通过计算得到。 逻辑地址:通常用段基址:偏移地址的形式来描述,在程序 中使用。低地址段首址→切∠ 偏移量 段(64K) 要访问的单元→ 高地址段末址一
2)逻辑地址和物理地址 ➢ 段首址:段的第一个单元的地址(20位),最低4位是全0(即段 首址是16的整数倍)。 ➢ 段基址:段首址的高16位。段基址存放在段寄存器中。 ➢ 偏移地址:段内存储单元距离段首地址的偏移量(以字节数 计算,16位),也称有效地址EA。偏移地址存放在IP、BP、 SI、DI或BX中,或者是通过计算得到。 ➢ 逻辑地址:通常用段基址:偏移地址的形式来描述,在程序 中使用
物理地址的形成 物理地址:指CPU和存储器进行数据交换时实际寻址所使 用的地址,是用20位二进制数或5位十六进制数表示的地址。 任何一个单元的20位物理地址都是由它的逻辑地址变换得 到的: 物理地址=段基址×16+偏移地址 15 03210 段首址 段基址 0000 偏移量 偏移地址 16位 地址加法器 19 物理地址
物理地址的形成 ➢物理地址:指CPU和存储器进行数据交换时实际寻址所使 用的地址,是用20位二进制数或5位十六进制数表示的地址。 ➢任何一个单元的20位物理地址都是由它的逻辑地址变换得 到的: 物理地址=段基址×16+偏移地址