当前位置:文档之家› 哈工大威海计算机学院计算机组成原理

哈工大威海计算机学院计算机组成原理


2019/5/26
8086/8088 的分段存储结构
如何根据16位的段地址和16位的段内偏移地 址来计算20位的物理地址呢?
19
段地址左移四位
15 14 13 ……
210
偏移地址

4 3 …0
段 地 址0 0 0 0

2019/5/26
20 位 的 物 理 地 址
物理地址的计算方法
• 段地址左移四位,再加上偏移地址,就得到20位 的物理地址。
2019/5/26
3. 4 Intel 80x86系列微处理器
状态标志
(1)符号标志SF。与计算结果的最高位相同,表示计 算结果的正/负。0表示正,1表示负。
(2)零标志ZF。若计算结果为零,则ZF=1,否则=0。 (3)奇偶标志PF。若计算结果的低8位中1的个数为偶
数,则PF=1,否则=0。 (4)进位标志CF。若执行的加法运算在最高位产生进
8086/8088的分段存储结构
• 存储器分段后如何来管理呢?
– 每个段的起始地址称为:段基址或段地址 – 每个段内的地址称为:段内偏移地址 – 一个物理存储单元就可以通过“段地址:偏移地址”
来唯一确定了
• 如何管理“段地址”和“偏移地址”呢?
– 设置多个段基址寄存器 – 设置多个偏移地址寄存器
• 都有哪些“段基址寄存器”和“偏移地址寄存
“将IF置1”称为“开中断”,“将IF清0”称为“关中断”
2019/5/26
3. 4 Intel 80x86系列微处理器
控制标志
(3)陷阱标志TF。这是控制8086/8088是否进入单步执 行状态的标志。若TF=1,则8086/8088进入单步执行 状态或跟踪方式执行指令状态,即每条指令执行完后, 微处理器暂停(进入陷阱),显示处理器内部各寄存 器的值。进入单步执行状态便于程序的调试。如果 TF=0,则连续执行指令。
位,或者执行的减法运算引起最高位产生借位,则 CF=1,否则=0。此外,带进位的循环移位也可能会 改变CF。可以用指令STC将CF置1,用指令CLC将 CF清0,用指令CMC将CF取反。
2019/5/26
3. 4 Intel 80x86系列微处理器
状态标志
(5)辅助进位标志AF。若执行加法运算时第3位向第4 位进位(即低半字节向高半字节),或者执行减法运 算时第3位从第4位借位,则AF=1,否则=0。
5000H:2000H
逻辑地址
计算
52000H
物理地址
寻址
00000H
内存 …………..
FFFFFH
2019/5/26
Intel 80x86系列微处理器
8086/8088的标志分为两类:状态标志和控制标志。 状态标志表示前面操作执行后,算术逻辑单元所处的状 态,这些状态常作为后继指令执行的条件。 状态标志有6个,分别是符号标志SF、零标志ZF、奇偶 标志PF、进位标志CF、辅助进位标志AF和溢出标志OF。 控制标志有3个,分别是方向标志DF、中断标志IF和陷 阱标志TF。
AL AX BL BX CL CX DL DX
地址加 执行部件(EU) 法器 ∑
CS
20位 内 部 总
16位 线

SP


BP
DI
SI
DS
SS

ES
输入输出 部 控制电路 总
IP
线
内部暂存器
运算寄存器
16位
16位
ALU 标志
执行部分 控制电路
2019/5/26
123456
总线接口部件(BIU)
8086/8088 的 分 段 存 储 结 构
(6)溢出标志OF。若计算过程产生溢出,则OF=1,否 则=0。溢出是指字节运算的结果超出了–128~+127的 范围,或者字运算的结果超出了–32768~+32767的范 围。在进行加法运算时,每当次高位向最高位有进位 而最高位没有向前进位,或者最高位向前进位而次高 位没有向最高位进位,则ALU置OF为1。
器”呢?
2019/5/26
8086/8088的分段存储结构
n 依照用途的不同,可分为如下段存储经过处理的中间
变量。段基址存放于
附加数据段 (Extended Data Segment, ES)
ES寄存器,段内偏移 址管存地理放址系于存统BXS放堆S寄于栈寄存S。存I器、段器D基,I或 段内偏移地址存放于
• 8086/8088 在组成结构上分为: – 总线接口部件( BIU) – 执行部件 (EU)
• 总线接口部件负责取指令,执行部件负责执行
指令,从而构成了一个“两段的流水线”。
EU
BIU 取指令1
2019/5/26
执行指令1 取指令2
执行指令2 取指令3
执行指令3
时间T
AH
通 BH 用 CH 寄 DH
堆栈段 (Stack Segment, SS)
数据段
存储S程P或序B定P义寄的存变器量。 段基址存放于DS寄存器, 段内偏移地址存放于SI、
DI或BX寄存器 存储程S) 代码段
其段基址存放于CS寄存 器,段内偏移地址存放
于IP寄存器
(Code Segment, CS)
2019/5/26
3. 4 Intel 80x86系列微处理器
控制标志
(1)方向标志DF。这是控制串操作指令的标志。若DF=0, 则串操作过程中地址将不断增值,否则不断减值。可用 指令STD将DF置1,用指令CLD将DF清0。
(2)中断标志IF。这是控制可屏蔽中断的标志。如果IF=0, 则8086/8088对可屏蔽中断请求不能做出响应,否则可以 响应可屏蔽中断请求。可用指令STI将IF置1,用指令 CLI将IF清0。
• 存储器为什么要分段呢?
– 16位微处理器,常规上管理216 = 64KB的存储空间 – 这样的存储空间满足不了应用的要求。
• 用什么方法来扩大呢? – 将正常管理的64KB存储空间定义为一个段
– 让微处理器能够管理多个这样的段
• 通过分段存储结构,8086/8088能够管理1MB
的存储空间。
2019/5/26
2019/5/26
8086/8088 的分段存储结构
• 由段基址和相对于该段的偏移地址共同描述 的地址 ——逻辑地址
例如: 5000H:2000H
段基址
偏移地址
段基址寄存器管理
程序设计中使用的,方便程序设计
n 20根地址线所表示的地址 ——物理地址 00000H ---- FFFFFH
例如: 52000H
标志寄存器FR有16位,9个标志位的定义如下,未定义的7位保留
相关主题