本文已参与「新人创作礼」活动,一起开启掘金创作之路。
👨🎓作者简介:一位喜欢写作,计科专业大二菜鸟
🏡个人主页: starry陆离
🕒首发日期:2022年7月10日星期日
🌌上期文章:『期末复习』微处理器发展历程与微型计算机结构
📚订阅专栏:『微机原理与接口技术』 如果文章有帮到你的话记得点赞👍+收藏💗支持一下哦
『期末复习』Pentium的中断技术
1.中断的分类
硬件中断:来自处理机的外部条件 所以又称外中断/硬件中断
主要有两种来源——
-
非屏蔽中断NMI
- 系统板的RAM在读写时产生奇偶校验错;
- I/O通道中的扩展选件出现奇偶校验错;
- 协处理器的异常状态产生的中断。
-
可屏蔽中断INTR。
从外设发出的中断请求到cpu响应中断,用两个控制条件起决定作用:
1. 外设的中断请求是否被屏蔽。
2. cpu是否允许响应中断。
软件中断:又称内部中断简称内中断。它不需要外部硬件支持。并且不受中断标志位状态的影响。8086/8088内部中断有以下5种:
-
由cpu的某些错误引起
- 除数为0中断——类型0中断
- 溢出中断——类型4中断INTO
-
为调试程序而设置的中断
- 单步中断——类型1中断
- 断点中断——类型3中断
- 中断指令——指令INT n中断
类型2中断是NMI非可屏蔽中断
2.中断向量表
每个中断矢量在表中占据4个字节,地址较高的两个字节放入口地址的段地址,地址较低的两个字节放偏移地址,低位在前,高位在后。
中断向量表中的存储地址 =中断类型码n×4
例题分析:
中断号为20H的中断所对应的中断向量存放在0000:0080H开始的4个单元,其值分别设为10H、20H、30H、40H,则中断向量为4030H:2010H。
分析:
1、一个中断向量占4个存储单元,则20H*4=80H开始的4个单元中: 0080H 、 0081H、0082H、0083H
2、按照前2个单元存放中断处理程序入口地址的偏移量(IP),低位在前,高位在后,则偏移量为IP为2010H
3、后两个单元存放中断处理程序入口地址的段码CS,低位在前,高位在后,则CS为4030H
4、最终中断向量为CS:IP,即4030H:2010H
3.硬件中断及其响应过程
3.1可屏蔽中断INTR的响应过程
① 从数据总线上读取中断类型码,将其存入内部暂存器
② 将标志寄存器的值推入堆栈,判断IF值
③ 把标志寄存器的中断允许标志IF和跟踪标志TF清零(为下一次中断做准备)
④ 将断点保存到堆栈中(保护现场)
⑤ 找到中断向量,转入相应的中断处理子程序
3.2非屏蔽中断NMI的响应过程
与可屏蔽中断的响应过程仅有两点不同:
这种类型的中断无需判断标志IF是否为1,以及不需要读取中断号
图又来啦,很重要!记它
4.中断的作用
- 任务切换(通过定时时钟,再利用中断机制可分配CPU的时间)
- IO设备与CPU并行工作
- 实时性信号(随机信号)
- 检测、报告、处理系统运行中错误