第二章16位和32位微处理器(2)——一些操作时序与中断

系统的复位和启动操作

在这里插入图片描述
重点:
(1)8086的复位和启动操作通过RESET信号来引发的,要求信号起码维持4个时钟周期的高电平
(2)复位状态,CPU将CS设置为FFFFH,其他内部寄存器都为0
(3)由于IF清零,所有中断得不到允许,系统程序需要在适当时候,通过指令来设置中断允许信号
(4)内部RESET信号:给CPU发出重启指令,CPU自动保持高电平
在这里插入图片描述

总线操作

最小模式下的总线读操作:
在这里插入图片描述
注意:
(1)BHE :在T1周期中允许数据高8位输出
(2)RD :在T2周期才拉低,通知内存,T4周期拉高,表示CPU读取数据

最小模式下的总线写操作:在这里插入图片描述

中断操作与中断系统

(一)中断分类
硬件中断(非屏蔽中断和可屏蔽中断)和软件中断
在这里插入图片描述
可屏蔽中断(鼠标,键盘……)挂在中断控制系统上,对应一个中断号,受中断允许标志IF的影响

(二)中断向量和中断向量表(由操作系统建立)
在这里插入图片描述
8086的中断系统以位于内存0段的0~3FFH区域的中断向量表为基础,中断向量表中最多可容纳256个中断向量,每一个中断向量4个字节,存放的是中断处理子程序的地址(包括首地址CS和偏移量IP)

(三)响应过程
可屏蔽中断的响应过程:
(1)从数据总线上读取中断类型号,将其存入内部寄存器
(2)将标志寄存器的值推入堆栈
(3)将标志寄存器的IF和TF清零
(4)将端点保护到堆栈中(端点:响应中断时,主程序中当前指令下面的一条指令的地址)
(5)寻找中断向量,转入中断处理函数
非屏蔽中断的响应过程:
除了不从外部设备读取中断类型码,其他都相同

在这里插入图片描述
说明:
(1)非屏蔽和可屏蔽中断的两点差别:CPU在遇到可屏蔽中断请求时,先要判断IF是否为1,如果IF为1,CPU便进入中断响应过程;进入响应过程后,CPU还要先读取此中断的类型号。非屏蔽中断不需要这两步。
(2)TF是单步中断标志。为1时,进入中断类型为1的单步中断,功能是只执行当前程序的一条指令,然后将各寄存器的内容显示出来,并且在每执行一条指令后,又自动产生类型为1的中断。
(3)在一个中断被响应即进入中断处理子程序后,如又遇到NMI引脚上有非屏蔽中断请求,CPU仍能响应。
(4)中断结束后,返回断点
(5)串操作时,允许指令执行过程中进入中断。

(四)中断处理子程序
(1)通过一系列推入堆栈指令保护中断现场
(2)一般情况下,设置IF开放中断
(3)中断处理的具体内容
(4)一系列的弹出堆栈指令,使各寄存器恢复进入中断处理时的值
(5)中断返回指令,使堆栈中保存的断点值和标志值分别装入CS、IP和标志寄存器中

(五)软件中断特点
(1)用一条指令进入中断处理子程序,且中断号由指令提供
(2)进入中断时,不需要执行中断响应总线周期,也不从数据总线读取中断类型码
(3)不受中断允许位IF的影响
(4)执行过程可响应外部硬件中断
(5)软件中断无随机性

8086的存储器编址

在这里插入图片描述

8086的I/O编址

允许有65536个8位的I/O端口
1、与存储器统一编址,但会占用内存地址
2、独立编址

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值