17.在 8086 系统中,存储器的逻辑地址是由哪两部分组成?物理地址由何器件如何生成?每
个段的逻辑地址与寄存器之间有何对应关系?
存储器的逻辑地址由段地址和段内偏移地址两部分组成。
存储单元的物理地址由地址加法器生成,寻址时,CPU 首先将段地址和段内偏移地址送入地址加法器,
地址加法器将段地址左移 4 位并与段内偏移地址相加,得到一个 20 位的物理地址。
代码段的段地址在 CS 寄存器中,段内偏移地址在 IP 寄存器中。数据段的段地址在 DS 寄存器中,段
内偏移地址可能在 BX、BP、SI 或 DI 寄存器中。堆栈段的段地址在 SS 寄存器中,段内偏移地址在 SP 寄存
器中。扩展段的段地址在 ES 寄存器中,段内偏移地址可能在 BX、BP、SI 或 DI 寄存器中。
18.在 8086 系统中,存储器为什么要分段?哪几个段与分段有关?
8086CPU 提供了 20 位的地址总线,可寻址 1MB 存储空间,而 8086CPU 内部寄存器都是 16 位的,寻址
能力是 64KB;因此,为能实现对存储器寻址 20 位的物理地址,可将 1MB 的存储空间划分为若干个逻辑段,
每个逻辑段可寻址 64KB;各逻辑段之间可以部分、完全覆盖,连续、不连续等非常灵活。
与分段有关的寄存器有:CS(代码段寄存器)、DS(数据段寄存器)、SS(堆栈段寄存器)、ES(附加
段寄存器)。
19.在 8086 系统中,存储器是如何组织的,它是如何与处理器总线连接的?
由于在 8086 系统中外部数据总线是 16 位的,而存储器又是按字节编址的,所以把 1MB 的存储空间
分为两个 512KB 的存储体,分别命名为偶地址存储体和奇地址存储体。偶地址存储体的数据线与系统数据
总线低八位相连,用 A0=0 作为选通信号。奇地址存储体的数据线与系统数据总线高八位相连,用BHE ̅̅̅̅̅̅=0 作
为选通信号。CPU 可以访问任何一个存储体,读写一个字节,也可以同时访问两个存储体,读写一个字。