『期末复习』Pentium的中断技术

196 阅读3分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

👨‍🎓作者简介:一位喜欢写作,计科专业大二菜鸟

🏡个人主页: 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,以及不需要读取中断号

图又来啦,很重要!记它

image-20220626213040323

4.中断的作用

  1. 任务切换(通过定时时钟,再利用中断机制可分配CPU的时间)
  2. IO设备与CPU并行工作
  3. 实时性信号(随机信号)
  4. 检测、报告、处理系统运行中错误