zoukankan      html  css  js  c++  java
  • 计算机组成原理--中断系统

    -----中断系统------
    1.定义:CPU正常执行流程被某些外部事件的发生而打断。
    2.中断系统的意义
    可以提高CPU利用率,使得CPU在执行程序指令时候,可以兼顾到其他的一些必要事件
    的处理;比如IO操作,异常错误等。
    3.引起中断的事件---大体分为软件和硬件
    *人为设置引起的中断
    *程序执行过程中的错误
    *硬件故障
    *IO设备传输数据引起
    *其他外部设备等
    4.中断系统要解决的问题---依靠软件+硬件实现
    *中断源怎么提出中断请求
    *存在多个中断请求时候如何处理
    *CPU如何响应中断
    *保护程序断点和程序现场
    *中断服务程序的入口地址
    *中断断点恢复现场恢复
    *多重中断的处理
    5.中断判优具体实现
    中断源设置有中断标志INTR,CPU具有中断信号查询的线路连接到中断源
    每当有当中断源INTR=1时候,中断源的请求送入CPU中断请求寄存器,进而
    将这些中断请求送入CPU内部的链式排队器里面,获得一个中断请求被CPU
    响应,并将该中断源的INTR=0--标准着该中断被响应
    6.中断程序的入口地址的形成
    中断程序的入口地址--需要根据中断向量获得。
    中断向量的产生两种方式:硬件方式和软件方式;通常硬件产生的中断向量被
    存储在内存的某个固定的地方--中断程序的入口地址就是中断向量指向的内存
    单元的地址:要么是跳转/要么直接是地址。
    硬件向量:根据几个bit来产生。具体的位数根据系统中中断源的个数。产生
    一串二进制数--就标识一个中断服务程序。
    7.单个中断处理过程
    *中断源提出中断请求
    *CPU响应中断的条件:处于开中断、指令执行的结束才会查询有没有中断
    *中断响应:保存程序断点:由中断隐指令完成--硬件完成保证正确
    关中断;将PC的值保存在内存/堆栈中;确定中断程序入口地址;
    *进入中断服务程序
    保护现场--保存寄存器/内存中的值--中断服务程序完成;
    执行中断服务程序;
    恢复现场
    开中断
    中断返回--返回到中断发生的下条指令执行
    8.中断屏蔽技术
    存在于多重中断中,由于开中断的提前,导致CPU在处理一个中断的时候,
    又来了新的中断--对于这个中断是否被响应要看其优先级;
    注意:被响应的优先级是固定的,但是新的中断是否被处理是可以改变的;
    处理优先级;可以通过中断屏蔽技术改变。
    响应优先级:这个是由CPU中断排队器决定的不会改变。
    中断屏蔽技术:排队器里面含有集中的MASK标志;通过设置这个标志的值就可以
    实现某个中断请求的处理被屏蔽。
    中断屏蔽字举例:A B C 3个中断 对应的屏蔽字:111;011;001;
    表示:A不会被屏蔽;B会被A屏蔽;C会被A/B屏蔽
    中断屏蔽字被存储在CPU里面的中断屏蔽字寄存器中。
    9.多重中断的处理流程
    关中断;保护程序断点;设置屏蔽字;开中断;进入中断服务程序
    关中断;恢复现场;恢复屏蔽字;开中断;中断返回。
    10.多重中断断点的保护:断点压栈、断点存入内存


  • 相关阅读:
    软件设计中的分层模式, 三层开发遵循的原则,分层开发的特点和优势
    什么是jsp?
    在Servlet中如何如何获取请求的参数?
    Servlet的加载(执行过程,原理)和生命周期
    servlet的注册
    什么是servlet容器
    什么是Servlet
    如何访问动态页面——URL
    什么是C/S? Client/server的简写,这里Server指的是DBServer。
    MVC(Model-View-Controller)软件设计模式
  • 原文地址:https://www.cnblogs.com/sun1993/p/7760631.html
Copyright © 2011-2022 走看看