文档介绍:微机原理与接口技术
11/12/2017
第二章 8086系统结构
8086CPU内部结构
8086CPU引脚及功能
8086CPU存储器组织
8086CPU系统配置
8086CPU时序
11/12/2017
2
§2-3 8086存储器组织
第二章 8086系统结构——8086存储器组织
存储器地址的分段
存储器地址的分段;
物理地址的形成;
逻辑地址的来源;
8086存储器的分体结构
分体结构概念;
分体结构读写操作;
存储器与总线连接;
堆栈的概念
堆栈的定义;
堆栈段的构成及特点;
堆栈的工作方式及特点;
主要内容
11/12/2017
3
存储器地址的分段
存储器的要求:
以字节为单位存储信息,每个存储单元有唯一的地址。
分段管理的原因:
8086/8088系统的存储空间lM字节(即220,要20位物理地址),CPU内部寄存器只有16位(只能寻址64K字节)。整个存储中间分成许多逻辑段。
(1)存储器地址的分段
第二章 8086系统结构——8086存储器组织
0段
00000
0FFFF
10000
1FFFF
F0000
FFFFF
1段
…
15段
64KB
64KB
64KB
11/12/2017
4
——存储器地址的分段
…
逻辑段1起点
逻辑段2起点
逻辑段3起点
逻辑段4起点
…
…
逻辑段1
≤64KB
逻辑段2
≤64KB
逻辑段3
≤64KB
逻辑段4
≤64KB
00000
FFFFF
第二章 8086系统结构——8086存储器组织
分段管理的特点:
每段容量不超过64K字节;
允许各个逻辑段在整个存储空间中浮动;
段和段之间可以连续,也可以分开或重叠。
存储单元的实际地址:段地址+段内偏移地址(IBM PC机规定段的首地址必须从每小段(paragraph)的首地址开始,机器规定每16字节为一小段,所以段起始地址必须能被16整除)。
11/12/2017
5
(2)物理地址形成
地址范围:00000~FFFFFH
物理地址=段基址×16十偏移地址
其中:
段基址:放在段寄存器地址(CS、DS、ES、SS)
偏移地址:从段地址开始的相对偏移位置(放在指令指针寄存器IP、16位通用寄存器中)
逻辑地址:段基址:偏移地址(无符号的16位二进制数,程序设计时用)
物理地址:存储器的绝对地址,是CPU访问存储器的实际寻址地址。
第二章 8086系统结构——8086存储器组织
——存储器地址的分段
11/12/2017
6
物理地址形成过程:
段基址 0000
15 0 3 2 1 0
偏移地址
15 0
地址加法器
物理地址
19 0
段基址指每段的起始地址,根据前述PC机规定,它必须是每小段的首地址,即必须能被16整除,则其低4位一定为0。
从段寄存器中取出段基址,将其左移4位,再与16位偏移地址相加,就得到了物理地址(由总线接口部件BIU的地址加法器完成)。
第二章 8086系统结构——8086存储器组织
——存储器地址的分段
11/12/2017
7
(3)逻辑地址来源
访问存储器的操作类型不同,BIU所使用的逻辑地址来源也不同
操作类型
隐含段地址
替换段地址
偏移地址
取指令
CS
无
IP
堆栈操作
SS
无
SP
BP为间址
SS
CS、DS、ES
有效地址EA
存取变量
DS
CS、SS、ES
有效地址EA
源字符串
DS
CS、SS、ES
SI
目标字符串
ES
无
DI
第二章 8086系统结构——8086存储器组织
——存储器地址的分段
11/12/2017
8
IP
CS
SI, DI 或BX
DS
SP或BP
SS
代码段
数据段
堆栈段
取指令(IP)
堆栈操作(SP)
读/写存储器操作数或访问变量
字符串寻址
(源操作数放在DS:SI中,目标操作数放在ES:DI中)
第二章 8086系统结构——8086存储器组织
——存储器地址的分段
11/12/2017
9
8086存储器的分体结构
(1)分体结构概念
两个存储体:偶地址存储体+奇地址存储体,各为512KByte,共1M Byte.
512K×8位
奇地址存储体
(A0=1)
512K×8位
偶地址存储体
(A0=0)
00001
00003
00005
FFFFF
00000
00002
00004
FFFFE
220-1=
= 220-2
第二章 8086系统结构——8086存储器组织
11/12/2017
10