35 操作系统-中断代理-8295A

 

参考

https://blog.51cto.com/13475106/category6.html及狄泰软件相关课程

 

Q:不同外设如何下个处理器发送中断信号?当多个外设同时产生中断时,如何进行处理?
已知可以通过引脚与外设相连,但是实际上外设过多,同时产生中断,会产生错误,同时高速的CPU与低速的外设相连也是不符合实际的。这时需要一个中间代理来处理中断-8259A(两者之间的交互变简单)
操作系统-中断代理-8295A

一.8259A-可编程中断控制器

1.可通过编程对8259A进行功能设置
2.屏蔽外设中断,对中断进行优先级判决
3.向处理器通过中断向量
操作系统-中断代理-8295A
过程为:当一个外设与8259A相接时,首先会通过中断屏蔽寄存器(8个字节),在这里进行配置屏蔽(为0时放行,1时屏蔽),剩下的中断会进入中断请求寄存器,接下来通过INT引脚通知处理器,处理器进行应答,接下来会会通过PR优先判别,最后通过ISP对其寄存器进行处理(置1),最后处理器通过中断服务程序对外设进行处理,结束之后会在ISP将其置0.
操作系统-中断代理-8295A操作系统-中断代理-8295A
8259A工作方式

a.中断触发方式

1.边沿触发-中断引脚电平变化的一瞬间认为中断申请到来(上升沿触发)
2.电平触发-中断引脚上的信号保持稳点电平一定时间后认为中断申请到来

b.数据连接方式

1.非缓存方式-将8259A直接与数据总线相连
2.缓冲方式-将8259A通过总线驱动器和数据总线相连

c.中断优先方式

1.固定优先级方式-优先级由高到低(这样会使得最低位的中断永远不会实现)
2.自动循环方式-某一中断请求被响应后,该中断源优先级自动为最低
3.特殊循环方式-通过编程指点其中断源优先级称为最低,其他中断源优先级自动改变

d.中断嵌套方式

1.完全嵌套方式(默认)-执行中断服务程序期间,不响应本级中断和较低级中断
2.特殊完全嵌套方式-执行中断服务程序期间,可响应本级中断,不想要较低级中断

e.中断屏蔽方式

1.普通屏蔽方式-将IMR中的某一位置为1,屏蔽掉相应级别的中断请求
2.特殊屏蔽方式-未被屏蔽的中断源均可在某个中断服务程序中相应,即低优先级中断可以打断正在服务的高优先级中断

f.中断结束方式

1.自动结束方式(适用于非多重中断的情况)-8259A自动清除ISR中已制位的优先级最高的位
2.手动结束方式-在中断服务程序的最后,向8259A发中断结束命令,将ISR中相应的位清除,表明中断服务程序已完成

posted on   lh03061238  阅读(208)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示