码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【微机接口】中断控制器8259


            CPU只有一个引脚INTR接受外部的可屏蔽硬件中断请求,为了管理多个外部的中断源,设计了8259A中断控制器。

    8259A是可编程的中断控制器。

    (1) 一片8259A中断控制器可以管理8级外部中断,并最后向CPU提出中断请求。

    通过级联,采用1主8从的方式,可拓展管理64级中断。

    (2) 每一级中断都可以通过设置内部屏蔽字进行屏蔽或允许

    (3) 在中断响应周期,8259A可以向CPU提供相应的中断类型码

    8259A结构:

    (1)中断请求寄存器(8位)(IRR)

    IRR是一个8位寄存器,IRR的D0~D7位分别对应着IR0~IR7。

    IRR中的Di位置1,表明IRi引脚上有了中断请求信号。

    当中断请求被响应后,IRR相应位复位

    (2)中断屏蔽寄存器(8位)(IMR)

    8位,IMR的D0~D7位分别对应着IR0~IR7,。

    屏蔽字某位=1,则与该位对应的中断请求信号(IRRi位)不能被送到中断优先权电路。

    (3)优先权电路

    比较同时送达优先权电路的中断请求,哪一个级别最高。

    比较CPU正为之服务的中断源和刚进入优先权电路的中断源,哪一个级别更高。

    选出级别最高的中断源,然后通过INT端向CPU提出中断请求。

    (4)中断控制电路

    当判优电路选中一个中断源时,向CPU提出中断请求(INT)

    通过\overline{INTA}接受CPU送来的两个连续的负脉冲。

    (5)中断服务寄存器(ISR)

    Di为1,表示CPU正在准备IRi的服务程序。由1变0说明IRI的中断服务子程序执行完。

    所以ISR的每一位都是响应中断源的中断服务标志位。

    8259A的工作过程:

    (1)当引脚IR0~IR7有中断请求后,8259A中断请求寄存器ISR相应位置1。

    (2)没有被中断屏蔽寄存器屏蔽的中断请求将送到优先权电路判优。

    (3)选中优先级最高的中断源,然后通过从引脚INT向CPU发出中断请求信号。

    (4)CPU满足条件后,通过\overline{INTA}引脚向8259A发出两个负脉冲的中断响应信号。

    收到第一个中断响应信号后,使中断服务寄存器ISR与被选中中断源对应位置1,同时把中断请求寄存器相应位清0。

    收到第二个中断响应信号后,将中断源类型码n送到CPU

    ....保护现场、CPU转入中断服务子程序、恢复现场

    在执行IRET前,向8259A写中断结束命令字,使8259A的中断服务寄存器ISR相应位清0,表示中断请求服务完毕。

  • 相关阅读:
    2毛钱不到的2A同步降压DCDC电压6V频率1.5MHz电感2.2uH封装SOT23-5芯片MT3520B
    MyBatis注解开发的多表操作
    MMPose 1.0:迈向更优雅、更强大的姿态估计研发和应用框架
    Java 代码 实现 字符串去掉左边空格 字符串去掉右边空格
    java中有哪些并发的List?只知道一种的就太逊了
    【Redis】第1讲 互联网架构的演变历程
    有没有在网狐上班的啊?有大生意
    广告机/商业显示屏_基于MT878安卓主板方案
    MSQL系列(十四) Mysql实战-SQL语句 left join inner join On和Where语句的区别
    RuoYi若依管理系统最新版 基于SpringBoot的权限管理系统
  • 原文地址:https://blog.csdn.net/m0_52043808/article/details/127808379
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号