8259A简介

news/2024/12/29 1:54:29/

文章目录

  • 1中断简介
    • 1.1中断
    • 1.2禁止中断与中断屏蔽
    • 1.3中断嵌套
    • 1.4中断类型号和中断向量表
  • 2,8259A简介
    • 2.1 8259A介绍
    • 2.2 8259A内部结构
    • 2.3 8259A引脚
      • 2.3.1 与CPU相连的引脚
      • 2.3.2 与外设相连的引脚
    • 2.4 8259a可编程寄存器

1中断简介

1.1中断

定义:CPU暂停当前程序的执行,转而执行处理紧急事务的程序,并在该事务处理完后能自动恢复执行原先程序的过程。在此,称引起紧急事务的事件为中断源,称处理紧急事务的程序为中断服务程序或中断处理程序
CPU中的中断源分为内中断和外中断,外中断又分为可屏蔽中断(INTR)和不可屏蔽中断(NMI)
在这里插入图片描述

1.2禁止中断与中断屏蔽

在某些情况下,CPU可能不允许响应可屏蔽中断INTR,此时当中断源向CPU申请中断后.CPU就不能终止当前正在运行的程序并转到中断服务程序,这种情况称为禁止中断。一般在 CPU内部有个中断允许触发器.只有当该触发器的状态为允许状态时 ,CPU才能响应外部中断,否则CPU禁止中断。中断允许触发器可以通过指令STI 进行置位和指令CLI进行复位,以达到CPU允许中断和禁止中断的目的。
在另外一种情况下,CPU不能响应几种特殊类型的中断,而其余的中断则可以响应,这就叫作中断屏蔽。
中断屏蔽可以通过中断屏蔽触发器来实现,将中断源对应的中断屏蔽触发器置1,则该中断源的中断请求被屏蔽,否则该中断源的中断请求被允许。中断允许触发器在CPU内部,其控制所有INTR中断源的允许与禁止。中断屏蔽寄存器在CPU外部,设置在中断控制器8259内部,其控制部分INTR中断源的允许与禁止。

1.3中断嵌套

当CPU正在处理某种类型的中断时,又有级别更高的新中断源申请中断,这时CPU就会暂停当前的中断服务程序,而转去执行新的中断处理,这种中断处理方式就叫作中断嵌套

1.4中断类型号和中断向量表

  1. 中断向量:中断服务程序的入口地址(首地址)
  2. 逻辑地址包括段地址CS和偏移地址IP(共32位)
  3. 每个中断向量占用4个字节
  4. 物理地址00000H开始,依次安排各个中断向量,向量号从0开始
  5. 256个中断占用1KB区域,就形成中断向量表
  6. 向量号为N的中断向量的物理地址=N×4
    在这里插入图片描述

2,8259A简介

2.1 8259A介绍

8259a:为8088、80286等CPU设计的一种可编程中断控制器PIC(Programmable Interrupt Controller),接收外部中断源的请求,在对中断源进行处理后向CPU发出中断请求,然后由CPU响应中断并处理
功能:
①管理8级中断,多片级连可扩展至64级;
②在中断响应周期提供相应的中断向量号
③可通过编程选择多种工作方式。

2.2 8259A内部结构

在这里插入图片描述
(1) 中断请求寄存器IRR (Interrupt Request Resgister)表示相应中断请求线是否有中断请求信号。保存8个中断请求信号,当相应的中断请求有中断请求时,该寄存器相应位置置1
(2) 中断服务寄存器ISR (In-Service Register)用于表示相应的中断是否正在服务中。当CPU正在处理某个中断源的中断请求时,ISR相应位置1
(3) 中断屏蔽寄存器IMR (Interrupt Mask Register) 用于对8个中断源进行屏蔽控制。当某位清零时,则相应的中断请求可以向CPU提出,否则不可以
1 —屏蔽,0 —允许
(4) 优先权电路PR(Priority Resigter):用于比较正在处理的中断和正在请求的中断源的优先级别,确定各中断请求的优先权。
(5) 控制逻辑:向CPU发送中断请求信号,并接受响应信号。控制逻辑有6个寄存器,ICW1–ICW4用来存放初始化程序的工作字方式,管理8259A的工作,OCW2—OCW3用来存放操作命令字,对中断过程进行控制
(6) 数据总线缓冲器:接收CPU的命令数据,发送状态信息及向量号。
(7) 读/写控制逻辑:接收CPU发来命令信号。实现对8259A的读/写操作
(8) 级联缓冲比较器:实现8259A的ID号的存储与比较。用以实现8259A芯片的级联,最高由8级拓展到64级

2.3 8259A引脚

在这里插入图片描述
8259A一共28个引脚,一组与CPU相连,一组与设备相连

2.3.1 与CPU相连的引脚

D7~D0:数据线,双向,三态。与系统的数据总线相连,与CPU进行信息交换
1,A0:奇/偶地址选择信号
2,/CS:片选信号,低电平有效,输入。决定8259A端口地址范围
3,/(WR):写控制信号,输入,低电平有效
4,/(RD):读控制信号,输入,低电平有效
5,INT:(Interrupt):中断请求信号,输出,高电平有效。与CPU的 INTR(Interrupt Request)相连,向CPU发出中断请求
6,/(INTA):Interrupt Acknowledgement 中断响应信号,输入,低电平有效,与CPU的/(INTA)相连,在CPU发出第二个/(INTA)信号时,8259A将最高级别的中断请求的中断类型码传给CPU

2.3.2 与外设相连的引脚

1,CAS2~CAS0:级联信号
2,/(SP)/ /(EN):从片开启/缓冲信号
3,+5V,GND:接地

2.4 8259a可编程寄存器

8259a在工作前要先接受初始化命令字ICW1-ICW4和操作命令字OCW1-OCW3,
ICW1
在这里插入图片描述
ICW2
在这里插入图片描述
ICW3
在这里插入图片描述
ICW4
在这里插入图片描述


http://www.ppmy.cn/news/115739.html

相关文章

关于 Intel 8253/8254

Intel 8253/8254是一个可编程定时/计数器(PIT-Programmable Interval Timer)芯片,用于处理计算机中的精确时间延迟。该芯片提供了 3个独立的16位计数器通道。每个通道可工作在不同的工作方式下, 并且这些工作方式均可以使用软件来设置。 对于…

高通8155/8295 boot分析

目录 前言 通用boot流程 8155/8295 boot流程概述 前言 本文将基于高通8155/8295 QA hypervisor平台分析整个boot的启动流程。高通其他SOC芯片的启动流程大致相同,所以本文也具备一定的参考性。 阅读本文需要你有一定的嵌入式开发经验或者具备一定的操作系统原理…

​​​​Linux Shell 实现一键部署Ruby3

ruby Ruby,一种简单快捷的面向对象(面向对象程序设计)脚本语言,在20世纪90年代由日本人松本行弘(Yukihiro Matsumoto)开发,遵守GPL协议和Ruby License。它的灵感与特性来自于 Perl、Smalltalk、Eiffel、Ada以及 Lisp …

Python版本区别,Python 3和Python 2区别详解

目录 Python 3.x print()函数代替了print语句 Python 3.x 默认使用 UTF-8 编码 Python 3.x 除法运算 / 运算符 运算符 // Python 3.x 异常 Python 3.x 八进制字面量表示 Python 3.x 不等于运算符 Python 3.x 输入差异 Python 3.x 数据类型 Python 版本分为两大流派&am…

idea常用快捷键

ctrl快捷键 ctrln 查找类 ctrlshiftn 查找文件 ctrlshiftaltn 查找类中的方法或变量 ctrlp 方法参数提示 ctrlaltl 格式化代码 ctrlspace 代码提示 ctrlshiftu 大小写转换 ctrld 复制行 ctrlx 删除行 ctrlg 定位行 ctrlaltt 把选中的代码放到{}中 ctrl/ 或 ctrlshift/ 注释&am…

关于matlab好文推荐

“Matlab”是“Matrix Laboratory” 的缩写,中文“矩阵实验室”,是强大的数学工具。本文侧重于Matlab的编程语言侧面,讲述Matlab的基本语法,以及用Matlab语言进行程序设计。值得一提的是,Matlab从R2014a版本开始支持中…

都匀一中2021高考成绩查询,都匀一中2021年排名

现在是属于招生季,所有的学校都在开始招生,这也就表明家长的选择性有很多,但是家长们都想找好学校,但是又分不出那些学校好,那些又不好,而小编就准备了都匀一中排名,供与参考。 都匀一中排名 排…

热水器哪个牌子好十大排名2022

热水器牌子比较好的有:海尔、万和、万家乐、火王、樱花、阿里斯顿、华帝、A。O。史密斯、能率、美的等 家里的热水器就是活动时8折抢购的机会不容错过 http://www.adiannao.cn/dn 1、海尔热水器 海尔集团热水器公司,从1986年生产中国第一代电热水器开始…