微机原理与接口技术上海交大课件第2章
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章8086系统结构
2.1 Intel 8086 CPU 结构
8086 CPU概述
1977年年,Intel率先推出了16位微处理器8086,能并行处理16位数据,它需要16位的存储器,16位DB,16位外设。1979年Intel研制了8088,称为准位外设称为16位机。
z引脚功能复用
z单总线、累加器结构
单总线累加器结构
z可控三态电路
z总线分时复用
一、结构特点
z指令流水线
z存储器的分段结构
z支持用于浮点运算的协处理器及多微处理器系统z指令方面和结构设计支持使用该微处理器构成一个共享总线的多微处理器系统
式并行方式:
存储器的分段结构:
8086的地址总线为20位,可寻址220=1 MB的内存空间;
内部寄存器和内部地址总线都只有16位,也就是说能够由ALU提供的最大地址空间只能是64 KB。
64KB 分段:为了实现CPU对1 MB空间的寻址,将内存储器空间分为若干逻辑段,每个段最大为64KB,并在C U中专门设置了些段寄存器,用于存放逻辑CPU中专门设置了一些段寄存器,用于存放逻辑段的起始地址,这些起始地址是16位的,满足内部地址总线的宽度要求。
地址总线的宽度要求
EU
BIU 地址加法器
AL BL 通用寄存器组AX BX CL DL
SP CX DX
:常用于存放算术逻辑运算中的操作数。所有的
:基地址指针寄存器。一般也常用来存放访问内存时的基地址。但它通常是与SS寄存器配对使用
)。
:它们常常在变址寻址方式中作为索引指针。
:数据段通常用来存放数据和字符。DS存放当前数据段的
指令指针寄存器:
用来存放下一条要执行指令的偏移地址。
的内容为段基地址,以
(1) 条件标志(6个):反映指令执行后运算结果特征. CF():CF=D
进位标志): CF=D7CY或D15CY
执行算术运算指令后,结果的最高位(字节时为D7CY或字为D15CY)向更高位产生进位,则CF=1,否则CF=0.
CF1CF0该标志主要用于多字节加、减运算.
例: 3FH+0B4H 0BFH+0B4H
0011 1111 1011 1111
+ 1011 0100 + 1011 0100
1111 0011;CF=0 101110011;CF=1
11110011;CF=010*******;CF=1注:对CF操作有三条专用指令:STCÆCF=1; CLCÆCF=0; CMCÆCF=CF
CF1CF0CF CF
PF(奇偶校验标志): PF=D7⊕… ⊕D0
运算结果的低8位中1”的个数为偶数,则PF=1,否则
位中“PF1
PF=0.该标志主要用于检测数据通信中是否发生错误.
AF(辅助进位标志): AF=D3CY
字节运算中,低4位向高4位有进位或借位时,则AF1,
AF=1,否则AF=0.该标志主要用于BCD码运算的调整指令中.
例:
38H+49H
0011 1000
+ 0100 1001
00000
1000 0001 ;AF=1;若视为BCD运算,则应调整.
ZF(零标志): ZF=D7+…+D0或D15+…+D0运算结果为0,则ZF=1,否则ZF=0.
结果非,则
0,ZF=0.
SF(符号标志) SF=D7或D15
运算结果为正数,则SF=0,为负数,则SF=1.
SF=0SF=1如:3FH+0B4H=0F3H的SF=1
OF(溢出标志): OF=D7CY⊕D6CY或D15CY⊕D14CY 算机所,,当运算结果超出了机器所能表示的范围时则OF=1,否则OF=0.
如:3FH+0B4H0F3H中OF0
:3FH+0B4H=0F3H OF=0
注意:实际上机器把所有数都当无符号数运算,把结果都当符号数来设置标志.
以上6个标志为指令执行后的结果标志,可作为控制转移的条件.
例:假设执行一条加法指令,计算5439H+476AH后
各状态标志位的状态为何?
解:
0 1 0 1 0 1 0 0 0 0 1 1 1 0 0 1
+ 0 1 0 0 0 1 1 1 0 1 1 0 l 0 1 0
+010*********l010
1 0 0 1 1 0 1 1 1 0 1 0 0 0 1 1
则执行这条加法指令后标志寄存器的状态为:CF=0,PF=1,AF=1,ZF=0,SF=1,OF=1。
(2) 控制标志----控制CPU的状态。
DF(方向标志): 控制字符串操作中地址的步进方向.
,;,
DF=0地址增址DF=1地址减址.
专门用于DF的指令: CLDÆDF=0; STDÆDF=1
):IF=1
IF(中断允许标志): 控制CPU是否开中断.IF1,允许CPU响应外部可屏蔽中断.IF=0,禁止CPU响应外部可屏蔽中断.
两条关于IF的专用指令:CLIÆIF=0 ; STIÆIF=1
):CPU
TF(跟踪标志): TF=1,CPU处于单步工作方式,即CPU每执行一条指令就自动地发生一个内部中断,CPU 转去执行个中断程序,常用于程序调试,又称为陷井标转去执行一个中断程序
志. TF=0,CPU正常执行程序.