• 【问题思考】中断隐指令是硬件还是CPU执行的?(分析执行过程)


    问题

    今天在做2015年408的时候发现了一道题,问中断的相关知识,说的是保存PC是由硬件完成的,然而,在2016年408的第44题中,说是CPU完成的保存PC,因此,针对这两点我很迷惑,于是查阅了中断隐指令如何执行。

    中断隐指令

    中断隐指令包括:关中断,保存断点,形成中断向量地址。

    关中断

    CPU响应中断后,输出中断响应信号,自动将状态标志寄存器FR或EFR的内容压入堆栈保护起来,然后将FR或EFR中的中断标志位IF与陷阱标志位TF清零,从而自动关闭外部硬件中断。因为CPU刚进入中断时要保护现场,主要涉及堆栈操作,此时不能再响应中断,否则将造成系统混乱

    保存断点

    保护断点就是将CS和IP/EIP的当前内容压入堆栈保存,以便中断处理完毕后能返回被中断的原程序继续执行,这一过程也是由CPU自动完成。

    中断源识别

    当系统中有多个中断源时,一旦有中断请求,CPU必须确定是哪一个中断源提出的中断请求,并由中断控制器给出中断服务子程序的入口地址,装入CS与IP/EIP两个寄存器。CPU转入相应的中断服务子程序开始执行。

    本部分知识来源于网络(侵删)
    https://zhidao.baidu.com/question/1512710059563018260.html#:~:text=CPU%E5%93%8D%E5%BA%94%E4%B8%AD%E6%96%AD%E5%90%8E,%E9%97%AD%E5%A4%96%E9%83%A8%E7%A1%AC%E4%BB%B6%E4%B8%AD%E6%96%AD%E3%80%82

    想法

    说实话,上面那些我也看不太懂,但是突然想到了一个事情,就是CPU和硬件会不会不是二元对立的。因为显然是在CPU中执行的中断隐指令,然后大家也都说是由硬件完成。

    因此,这两个说法不矛盾,中断隐指令是由CPU中的硬件完成。

    补充:中断隐指令叫中断隐指令的原因是,由系统自动完成,在这个过程中,不需要操作系统的参与

  • 相关阅读:
    【Redis】如何保证缓存和数据库的一致性
    一文理解所有需求分析中的基本术语
    openharmony容器组件之Swiper
    VirtualLab教程特辑
    Uniapp小程序MBG 开发踩坑日记
    数据结构绪论
    多维数组的【】和多级指针*转化推演
    Python异常捕获
    Cobalt Strike
    MATLAB源码-第55期】matlab代码基于m序列的多用户跳频通信系统仿真,输出各节点波形图。
  • 原文地址:https://blog.csdn.net/weixin_45415929/article/details/128208275