1 Star 0 Fork 0

huyi / TechCPP

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
外中断和内中断有什么区别?.md 1.48 KB
一键复制 编辑 原始数据 按行查看 历史
葛昆仑 提交于 2024-01-22 03:12 . update:2 articles

外中断

  • 来源:外中断通常由处理器外部的事件引起,例如I/O设备(如键盘、鼠标、打印机等)、硬件计时器或其他计算机系统的信号。
  • 异步性:外中断是异步发生的,它们不是由程序的执行直接引起的,而是由外部硬件事件触发的。
  • 硬件中断:外中断也被称为硬件中断,因为它们通常涉及硬件设备。
  • 目的:外中断的主要目的是允许处理器对外设的操作做出响应,如响应用户的输入或处理完成信号。

内中断

  • 来源:内中断通常由程序执行中发生的事件引起,例如除零错误、无效指令、访问越界的内存地址等。
  • 同步性:内中断是同步发生的,它们是由程序的执行流程中的特定指令或条件触发的。
  • 软件中断:内中断也被称为软件中断,可以由特定的指令(如x86架构中的INT指令)直接调用。
  • 目的:内中断的主要目的是处理异常情况,如程序错误或特殊的程序控制流程。

共同点与区分

  • 中断处理:无论是外中断还是内中断,在处理器响应时,都会将当前的执行状态保存起来,转而执行一个特定的中断处理例程,处理完毕后再恢复原来的执行状态。
  • 响应方式:某些内中断(如软件中断)可以被程序员在代码中有意识地触发,而外中断通常是无法预知的,处理器必须随时准备响应。
1
https://gitee.com/hylhm/TechCPP.git
git@gitee.com:hylhm/TechCPP.git
hylhm
TechCPP
TechCPP
master

搜索帮助