第二章 微处理器
指令的执行
2)总线接口部件BIU(Bus Interface Unit) BIU由指令队列、地址加法器、总线控制逻辑,
段寄存器等组成,负责与系统总线打交道
2.1.1 8086的功能结构
2.1.1.1 微处理器执行指令的简要过程
微处理器执行 一条指令的简 要过程:
取指令 指令译码 取操作数 执行指令 存放运算结果
课堂练习
完成二进制数10000101B与01101110B的加法,分析 各标志位的状态
1000 0101 + 0110 1110
1111 0011
运算结果标志位:CF=0,AF=1,PF=1, ZF=0,SF=1,OF=0。
2.1.2.3 标志寄存器(控制标志位1)
控制标志位:控制CPU的操作,由程序设置或清除。 1) DF(Direction Flag):方向标志,D10位。 控制数据串操作指令的步进方向。 若用指令STD将DF=1, 数据串操作过程中地址自动递减; 若用指令CLD将DF=0, 则地址自动递增。 2) TF(Trap Flag):跟踪(陷阱)标志,D8位。 为方便调试程序而设置的。 若TF=1,CPU处于单步工作方式; 若TF=0,正常执行程序。
的操作数
基址(Base)寄存器, BX 支持多种寻址,常用作 XLAT指令中提供被查表格中源操作数的间接地址
地址寄存器
CX
16位计数器 串操作时用作串长计数器;循环操作中用作循环次
(Counter)
数计数器
CL
8位计数器
移位或循环移位时用作移位次数计数器
DX
16位数据(Data) 寄存器
在间接寻址的I/O指令中提供端口地址;字乘时存 放积的高
被除数的低字并存放商
字节乘时提供一个操作数并存放积的低字节;字节
除时提供
AL
AX的低8位
被除数的低字节并存放商;BCD码运算指令和
XLAT指令中作累加器;字节I/O操作中存放8位输
入/输出数据
字节乘时提供一个操作数并存放积的高字节;字节
AH
AX的高8位
除时提供 被除数的高字节并存放余数;LAHF指令中充当目
2)ALU的核心是16位二进制加法器
3)16位状态标志寄存器(7位未用)存放操作 后的状态特征和设置的控制标志。
4)EU控制器是执行指令的控制电路,实现从队 列中取指令、译码、产生控制信号等。
2.1.1.5 BIU的功能
BIU的功能:
1) BIU从主存取指令送到指令队列缓冲器。
2) CPU执行指令时,总线接口单元要配合EU 从指定的主存单元或外设端口中取数据,将数 据传送给EU或把EU的操作结果传送到指定的主 存单元或外设端口中
微处理器
4N的课堂
章节主要内容
微处理器
运算器 控制器
主机 内部存储器:ROM、RAM I/O接口:串行接口、并行接口
微 型 计
硬 件
外部 设备
系统总线:AB;CB;DB 外存储器:磁盘、光盘、移动存储设备 输入设备:键盘、鼠标、扫描仪等 输出设备:显示器、打印机、绘图仪等
算 机 系
电源
其他设备:网卡,调制解调器
用它来取压栈的参数
SI
源变址(Source Index)寄存器。它 支持间接寻址、变址寻址、基址加变
址寻址等多种寻址
串操作时用作源变址寄存器,指 示数据段(段默认)或其他段 (段超越)中源操作数的偏移地
址
目的变址(Destination Index)寄 串操作时用作目的变址寄存器,
DI 存器。它支持间接寻址、变址寻址、 指示附加段(段默认)中目的操
2.1 8086微处理器的结构
8086是Intel第三代微处理器。
它是功能很强大的16位微处理器,它的内 部和外部的数据总线都是16位的,地址总 线宽度为20位,可寻址空间达220,即 1MB。
2.1.1 8086的功能结构 8086微处理器的内部功能结构由两个独立的工
作部件: 1)执行部件EU(Execution Unit) EU由运算器、寄存器组、控制器等组成,负责
1)引脚的功能:即引脚信号的定义
2)信号的有效电平:即控制引脚使用有效时的 逻辑电平
3)信号的流向:芯片与其他部件的联系全靠在 引脚上传送信息
4)引脚的复用:在芯片设计中,有时为了以少 量的引脚提供更多的功能,会采用引脚复用
5)三态能力:“三态”能力指有的引脚除了能 正常的输出或输入高,低电平外,还能输出高 阻状态。
2.1.2.3 标志寄存器(状态标志位3)
5) SF(Sign Flag):符号标志,D7位。 如运算结果为负数,SF=1; 如运算结果为正数,ZF=0;
6)OF(Overflow Flag):溢出标志,D11位。 如带符号数在进行算术运算时产生了溢出,OF=1; 如无溢出,OF=0。 溢出表示运算结果已经超出机器能够表示的数值范围。
2.1.1.2 指令队列缓冲器
1)取指时,当指令队列缓冲器中存满1条指令, EU开始执行;
2)指令队列缓冲器中只要空出2个(8088空出1 个)指令字节时,BIU便自动执行取指操作,直 到填满时为止。
3)EU执行指令时,如需对内存或I/O设备存储 数据时,BIU将在执行完现行取指的存储器周期 后的下一个存储器周期,对内存单元或I/O设备 进行存取操作,交换的数据经BIU由EU进行处理。
字,字除时提供被除数高字并存放余数
表2-2 8086中地址寄存器的一般用法和隐含用法
寄存器
一般用法
SP
堆栈指针(Stack Pointer),与SS 配合指示堆栈栈顶的位置
隐含用法 压栈、出栈操作中指示栈顶
基址指针(Base Pointer),它支持
BP
间接寻址、基址寻址、基址加变址等 多种寻址手段。在子程序调用时,常
4)当EU执行完转移、调用和返回指令时,要清 除指令队列缓冲器,并.1.3 EU的功能
EU的功能:
1) 从BIU的指令队列缓冲器中取出指令,由EU 控制器的指令译码器译码产生相应的操作控制 信号给各部件
2) 对操作数进行算术运算和逻辑运算,并将运 算结果的状态特征保存到状态寄存器FR中
6个状态标志位:CF、PF、AF、ZF、SF、OF 3个控制标志位:DF、IF、TF
2.1.2.3 标志寄存器(状态标志位1)
状态标志位:反映算术或逻辑运算后结果状态 1)CF(Carry Flag):进位标志,D0位。 执行结果在最高位上产生了一个进位或借位,CF=1; 无进位或借位,CF=0。 会受循环指令影响。 2)PF(Parity Flag):奇偶性标志,D2位。 执行结果的低8位中有偶数个“1”时,PF=1;否则,
2.1.2.3 标志寄存器(控制标志位2)
3) IF(Interrupt Flag):中断允许标志,D9 位。
控制可屏蔽中断。
若用指令STI将IF=1, 允许接受外部从INTR引脚 发来的可屏蔽中断请求;
若用指令CLI将IF=0, 禁止接受外部发来的可屏 蔽中断请求。
IF的状态不影响非屏蔽中断(NMI)请求,也不 影响CPU响应内部的中断请求。
AD1
DEN (S0)
AD1
DEN (S0)
AD0
ALE (QS0)
AD0
ALE (QS0)
NMI
INTA(QS1)
NMI
INTA(QS1)
INTR
TEST
INTR
TEST
CLK
READY
CLK
READY
GND
RESET
8086引脚图
GND
RESET
8088引脚图
2.1.3.1 芯片引脚特性的描述
3) EU不直接与CPU外部系统相连,当需要与 主存储器或I/O设备交换数据时,EU向BIU发出 命令,并提供给BIU16位有效地址及所需传送的 数据
2.1.1.4 EU的特点
EU的特点:
1) 通用数据寄存器AX,BX,CX,DX,既可 以作16位寄存器使用,也可以分成高、低8位分 别作两个8位寄存器使用
四个段地址寄存器,即 CS(code segment)——16位的代码段寄存器,
存放当前程序所用所在段的基地址 DS(data segment)——16位的数据段寄存器,
存放当前数据段的起始地址 SS(stack segment)——16位的扩展段寄存器,
存放当前堆栈段的起始地址 ES(extended segment)——16位的堆栈段寄存器;
操作系统
汇编程序
统
软
系统软件 语言处理程序 解释程序
支持软件
编译程序
件 应用软件:工程计算、数据处理,过程控制,等
2.1 8086微处理器的结构
微处理器(Micro Processor,MP):是 指由一片或几片大规模集成电路组成的, 具有运算器和控制器功能的中央处理单元, 也称作中央处理单元(Central Processing Unit,CPU),是微型计算 机的核心。
2.1.3 8086的工作模式和引脚特性
GND
VCC
GND
VCC
AD14
AD15
A14
A15
AD13
A16/S3
A13
A16/S3
AD12
A17/S4
A12
A17/S4
AD11
A18/S5
A11
A18/S5
AD10
A19/S6
A10
A19/S6
AD9
BHE/S7
A9
SS0(HIGH)
AD8
MN/MX
3组信息寄存器和1个标志寄存器: 1)通用数据寄存器组 2)地址指针和变址寄存器 3)段寄存器组(包含一个指令指针寄存器
(IP)) 4)标志寄存器