8259APIC

中断概述;

中断源:

I/O设备;

实时时钟;

故障请求;

软件中断;

终端的处理过程:
中断请求→中断响应→中断服务→终端返回;

中断的优先级:

中断嵌套,多终端响应策略;

中断分类:

内部中断(软件中断):非屏蔽中断,由指令引起的中断;

             CPU内部中断(00H至07H)

             BIOS中断(10H至1FH号);

             DOS中断(20H至2FH号)

外部中断:两条中断信号线INTR和NMI

             可屏蔽中断(INTR)08H至0FH;——连接至8259A

             不可屏蔽中断(NMI)02H-———不受IF限制

中断向量表:

存放中断服务程序的入口地址的表格;存放在存储器的最低端,大小为1KB;每四字节存放一个中断服务的入口地址,共可存放256个;

处理顺序——内部中断优先,然后是NMI和INTR,最后是单步中断;

同时,只有INTR对IF敏感;

概述

8259A是Intel公司生产的用于控制中断的一个可编程芯片;

可以实现的功能有:

级联;

屏蔽某一极的中断;

向CPU提供中断类型码;

具有多种工作方式;

多种中断优先权管理方式;

逻辑结构:

8个基本组成部分:

中断请求寄存器IRR:(一个8位锁存器)用来所锁存外设送来的中断请求;

优先权比较器:用于识别和管理各中断请求信号的优先级别;

中断服务寄存器ISR:(一个8位寄存器)用于记录当前正在服务的中断级;

中断屏蔽寄存器IMR:用于屏蔽某级的中断屏蔽信号;

读写控制电路:实现CPU对芯片的读写操作;包含初始化命令寄存器和操作命令寄存器;

级联缓冲比较器:

数据总线缓冲器:(一个8位的双向三态缓冲器)是8259A与系统数据总线的接口;

//图片

引脚结构:
//图片

命令字:

初始化命令字:

ICW1:芯片控制初始化命令字;

ICW2:中断类型码初始化命令字

ICW3:级联方式命令字

ICW4:方式控制初始化命令字;

操作控制字:

OCW1:终端屏蔽操作命令字

OCW2:控制中断结束和优先权循环

OCW3:控制——特殊终端屏蔽方式,查询中断,读寄存器的状态

8259A的初始化是通过CPU向芯片发送相应的控制字完成的:
CPU向8259A写入初始化控制字时必须按照冥灵子的顺序进行;1-4;

写入操作控制字的时候无顺序规定,但端口地址有严格要求:1的端口为奇数,23的端口地址相同,为偶数;

在编程初始化的时候,ICW1和ICW2是必须输入的;3和4由ICW1 控制;

猜你喜欢

转载自blog.csdn.net/qq_42468130/article/details/84586175