IO技术-中断方式
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
▲ CPU允许中断(开中断 IF=1); ▲ 无更紧迫的事务
如:复位、DMA、更高级中断等。
实现中断的软硬件技术
3、中断源识别: ▲ 软件查询法
D0 D0~ D7 ~ D7 CPU INTR 中 断 请 求 输 入 接 口 中断源 1 中断源 2 查 询 中 断 源 … 中断源 n … 中断服务程序 断点保护 Y
8.3 中断方式
8.3.1 中断的基本概念 8.3.2 中断优先级控制
� � � 中断的概念 中断的过程 实现中断的软硬件技术
中断的概念
• 中断:是指某事件的发生引起CPU暂停当前程序的运 行,转入对所发生事件的处理,处理结束又回 到原程序被打断处接着执行这样一个过程。
主程序 中断事件
• 中断源
断点 中断处理
IDTR 基地址 限制 中断1 中断0
实现中断的软硬件技术
4、断点保护及恢复 断点信息 —— 断点地址、断点状态 断点保护 —— 保护断点信息
PSW、CS、IP 压栈 其它寄存器(AX、BX … ) 压栈 (CPU硬件自动完成) (ISR完成)
断点恢复 —— 恢复断点信息
IP、CS、PSW 弹栈 其它寄存器(AX、BX … ) 弹栈 (CPU硬件自动完成) (ISR完成)
实现中断的软硬件技术
目前采用的中断优先级控制方案有: 1、软件查询 2、利用可编程中断控制器(PIC) 3、硬件链式优先级排队电路 4、硬件优先级编码比较电路
实现中断的软硬件技术
6、中断嵌套
当高优先级中断可以中断低优wenku.baidu.com级中断时,会产生 中断嵌套。
主程序
中断嵌套
中断源 5处理程序 中断源 3处理程序 中断源 1处理程序
• 断点 • 中断处理程序 ISR
中断的概念
• 中断源: 引起中断的事件(内部错误、外设请求等)。
外部中断源 → 外部中断 内部中断源 → 内部中断
微处理器 中断控制逻辑
除 法 溢 出 溢 出 中 断 单 步 中 断 断 点 中 断 软 件 中 断 外部 中断
中断的过程
外部中断的一般过程:
: 外设 → CPU • 中断请求 中断请求: : CPU • 中断响应 中断响应: 中断承认 断点保护 中断源识别 : 中断服务程序 ISR • 中断处理 中断处理: : • 中断返回 中断返回: 断点恢复 返回
中断源 1请求? N 中断源 2请求? N …
对中断源 1服务
Y
对中断源 2服务
≥1
中断源 n 请求? N 断点恢复
Y
对中断源 n 服务
中断返回
(a )
(b )
实现中断的软硬件技术
▲ 中断向量法 —— 每个 中断源 对应唯一的 向量码
中断255 向量码 ×4 中断254
中断向量表 ( 1 KB)
…
中断请求信号的锁存和撤消
实现中断的软硬件技术
2、中断响应的条件 —— 以可屏蔽外部中断为例
CPU对内部中断源提出的中断请求必须接受,而对外部中断源提 出的中断请求是否响应取决于外中断源类型及响应条件。
▲ 一条指令执行结束
CPU在每条指令的最后一个时钟周期检测中断请求
▲ 特殊指令
STI、IRET 前缀指令,如: REP MOVSB
实现中断的软硬件技术
5、中断优先级
• 当系统中有多个中断源同时提出中断请求,应该先响应谁? —— 需要安排中断优先级 • 如何安排中断优先级? —— 按照 重要性、紧迫性、速度 等要求 —— 中断优先级控制应解决: ⑴ 不同优先级的中断源 同时提出 中断请求 先响应最高优先级的中断源 ⑵ CPU 正在进行 中断服务时,又有 更高优先级 的中 断源提出中断请求
中断技术是计算机结构和应用的关键技术之一。
求 请 1 源 断 中
中断源 5请求
又称为 多级中断 多重中断
求 请 3 源 断 中
返回 返回 返回
嵌套层数 • 直接限制 • 堆栈空间
(假设中断源1~n的优先级为从高到低)
中断服务程序的两种处理方法:
中断的应用
• 中断技术使CPU与外设 并行工作,解决了快速CPU与中、 慢速外设速度不匹配的矛盾,提高了CPU的工作效率。 • 除此之外,中断技术在实现 实时处理、分时操作、故 障处理、多机连接、人机联系 等方面均有广泛的应用。
中断 断点 处理
→ 外设
主程序
实现中断的软硬件技术
• 中断是一种比较复杂的输入 /输出技术,实现中断需要 较多的软硬件支持。 1、中断请求信号的有效性 —— 信号形式应满足CPU要求
▲
电平类中断请求信号:
中断请求信号应保持至CPU发现; CPU响应后,应及时撤除中断请求信号。
▲
边沿类中断请求信号: