微机原理 第七章 中断控制器的编程结构、工作方式及编程

主要内容:

8259A的外部信号、编程结构和工作原理

8259A的工作方式

8259A的初始化命令字和初始化流程

8259A的操作命令字

多片8259A构成的主从式中断系统

中断的基本概念:

什么是中断?

在CPU执行程序的过程中,由于某种突发事件的发生,强迫CPU暂时停止正在执行的程序,转向对该突发事件进行处理,对这个事件处理结束后又能回到原中止的程序,接着中止前的状态继续执行原来的程序,这一个过程就称为中断。 把引起中断的原因或触发中断请求的来源称为中断源

中断需要解决的问题

中断的识别

系统有多个中断请求,CPU如何识别哪个中断源发出的请求?

  • 办法1:向量中断(硬件)
  • 办法2:中断查询(软/硬件结合)

中断优先级

有多个中断同时请求,CPU如何应对?

  • 办法1:软件查询方式
  • 办法2:简单硬件方式——菊花链法
  • 办法3:专用硬件方式

中断嵌套

中断处理过程中,又有中断提出请求,怎么办?

  • 办法1:链式优先权排队电路
  • 办法2:优先权编码电路

中断控制器的功能

  • 在有多个中断源的系统中,接受外部的中断请求并进行判断,选中当前优先级最高的中断请求,再将此请求送到CPU的INTR端
  • CPU响应中断并进入中断处理程序后,中断控制器仍然负责对外部中断请求的管理
  • 当某个外部中断请求优先级高于当前正在处理的中断优先级时,中断控制器会让此中断通过而到达CPU的INTR端,从而实现中断的嵌套
  • 反之,对级别低的中断则禁止。

8259A的工作特点

  • 具有8级中断优先控制,通过级连可以扩展至64级优先权控制
  • 每一级中断都可以通过初始设置为允许或屏蔽状态

8259A的内部结构与外部引脚信号

8259A的外部引脚信号

 

 

8259A的中断过程 *****

IF : 中断允许标志   IF为1,则CPU可接受可屏蔽中断请求。

 配合下图一起理解记忆。

 8259A工作示意图:

前面的流程都比较理想,只是说PR比较出最高的优先级,IMR屏蔽了某些中断请求,那具体是怎么比较优先级,怎么设置屏蔽哪些请求呢?这些是我们接下来要学习的内容。

  • 设置优先级的方式
  • 屏蔽中断源的方式(能够屏蔽哪些不允许发送的中断请求?如何屏蔽?)
  • 结束中断处理的方式
  • 连接系统总线的方式
  • 确定中断类型码的方式

设置优先级的方式

(1)普通全嵌套方式(固定优先级方式) 默认方式,IR0最高,IR7最低。

(2)特殊全嵌套方式      基本同普通全嵌套方式, 所不同的是允许同级中断嵌套(用于级联主片)

(3)自动循环方式    初始优先级顺序IR0最高,IR7最低。    当其中一个中断源受到服务,    则它为最低优先权。    同时置比它低一级中断源为最高级,    其它自动循环排列。 常用在系统中多个中断源优先级相等的场合

(4)指定循环方式    当一中断源通过编程指定为最低优先权,    则比它低一级中断源为最高级,其它顺序排列。    如:指定IR3为最低,则优先级顺序为IR4,  IR5,IR6,IR7,IR0,IR1, IR2 , IR3 。

屏蔽中断源方式

普通屏蔽方式

通过OCW1设置 将 IMR的 Di位置1,对应的中断 IRi将被屏蔽,该中断请求将不能从8259A送到CPU 如果将 IMR 的 Di位置0,则允许对应的中断产生

特殊屏蔽方式——允许发生低级的中断嵌套。

通过OCW1设置 将IMR的 Di位置1,中断IRi被屏蔽(屏蔽同级中断); 同时,ISR的Di位将置0,允许发生低级的中断。 在中断处理程序中使用。

引入中断请求的方式

8259A的初始化命令字和初始化流程

8259A的初始化命令字 ICW

  • 8259A在开始工作前必须写入初始化命令字,ICW1写入偶地址端口,其余写入奇地址端口。
  • 初始化命令字ICW最多可以有4个:ICW1~ICW4
  • 必须按照以上顺序依次写入
  • 其中 ICW1 和 ICW2是必须的
  • ICW3和ICW4是否需要,由具体的工作方式决定

1、ICW1 芯片控制初始化命令字

 

2、ICW2中断类型码基数初始化命令字

  • ICW2是设置中断号的初始化命令,必须写到8259A的奇地址端口。
  • 按照规定:IR0的低3位是000;高5位为该8259中8个中断源类型码中的共有数码;而其他中断源的低3位(3位确定8种中断源)的值与IRi的(二进制)编号相对应
  • 通过ICW2确定了IR0的中断类型码,同时也就自然地确定了其他7个IRi对应的中断类型码

 

 

3、ICW3标志主片/从片初始化命令字

  • ICW3是在级联方式下,标志主/从片初始化才需要设置的初始化命令字。
  • 当ICWl的D1 位为0时,8259A在级联方式下工作,必须设置ICW3
  • 主片和从片需要分别设置ICW3

 4、ICW4方式控制初始化命令字

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xingxg.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值