打断(interrupt)和陷阱(trap)的区别

在任何一台计算机中,在程序正常执行期间,都有可能发生导致CPU暂时停止的事件。像这样的事件叫做中断。中断可能由软件或硬件故障引起。硬件中断称为(简单地)中断,而软件中断称为异常或陷阱。异常是自动生成的软件中断,而陷阱是由程序员启动的软件调用中断。一旦中断(软件或硬件)被触发,控制权就被转移到一个称为ISR(中断服务程序)的特殊子程序上,该子程序可以处理由中断引起的条件。...

中断与陷阱

在任何一台计算机中,在程序正常执行期间,都有可能发生导致CPU暂时停止的事件。像这样的事件叫做中断。中断可能由软件或硬件故障引起。硬件中断称为(简单地)中断,而软件中断称为异常或陷阱。异常是自动生成的软件中断,而陷阱是由程序员启动的软件调用中断。一旦中断(软件或硬件)被触发,控制权就被转移到一个称为ISR(中断服务程序)的特殊子程序上,该子程序可以处理由中断引起的条件。

什么是中断?

术语中断通常是为硬件中断保留的。它们是由外部硬件事件引起的程序控制中断。这里,external是指CPU之外的。硬件中断通常来自许多不同的来源,如定时器芯片、外围设备(键盘、鼠标等)、I/O端口(串行、并行等)、磁盘驱动器、CMOS时钟、扩展卡(声卡、视频卡等)。这意味着硬件中断几乎不会因为与执行程序相关的事件而发生。例如,用户在键盘上按键或内部硬件计时器超时等事件都会引发这种中断,并通知CPU某个设备需要注意。在这样的情况下,CPU将停止它正在做的任何事情(即暂停当前程序),提供设备所需的服务,并返回正常程序。当发生硬件中断且CPU启动ISR时,其他硬件中断被禁用(例如在80×86机器中)。如果需要在ISR运行时发生其他硬件中断,则需要通过清除中断标志(使用sti指令)来显式地执行此操作。在80×86机器中,清除中断标志只会影响硬件中断。

什么是陷阱?

陷阱可以被识别为控制权的转移,这是由程序员发起的。术语Trap可与术语Exception(异常是自动发生的软件中断)互换使用。但有些人可能会认为trap只是一个特殊的子程序调用。所以它们属于软件调用中断的范畴。例如,在80×86机器中,程序员可以使用int指令来启动陷阱。因为陷阱总是无条件的,所以控制权总是转移到与陷阱相关联的子程序上。调用例程处理陷阱的确切指令很容易识别,因为显式指令用于指定陷阱。

中断和陷阱有什么区别?

  • 发表于 2020-10-21 01:03
  • 阅读 ( 140 )
  • 分类:IT

你可能感兴趣的文章

飞碟(skeet)和陷阱(trap)的区别

...靶射击是一项射击运动,分为以下几类: 双向飞碟射击 陷阱射击 运动射击 尽管这项运动有许多学科,但这三个学科是它的主要支柱。本文将主要讨论双向飞碟和陷阱射击。 什么是双向飞碟和陷阱射击(skeet and trap shooting)? 粘...

  • 发布于 2021-06-25 02:35
  • 阅读 ( 546 )

轮询(polling)和打断(interrupt)的区别

...上的所有设备来查找发送该请求的设备。 什么是打断(interrupt)? 在程序执行过程中,微处理器可以通过特殊的IRQ线接收中断信号。中断通常是通过调用相应的系统子例程进行中断处理来执行的,这些子例程被称为BIOS或DOS中断...

  • 发布于 2021-06-25 09:09
  • 阅读 ( 565 )

dubstep音乐(dubstep music)和陷阱音乐(trap music)的区别

是单步曲还是陷阱曲? Dubstep和trap是两种来自不同传统的电子舞蹈音乐流派,但它们有着相同和不同之处。Dubstep被视为一种相对较新的舞曲类型,源于伦敦多民族的年轻亚文化。使dubstep与众不同的一件事是几乎所有作品中都有...

  • 发布于 2021-06-26 06:30
  • 阅读 ( 461 )

信号(signal)和打断(interrupt)的区别

...信号中,对发生的特定动作没有直接响应。 什么是打断(interrupt)? 中断是由CPU以外的组件在外部发生的事件。它通知CPU某种外部事件。诸如联网设备的IO设备可以发送中断来指示所接收的数据分组。此外,计时器可以向CPU通知超...

  • 发布于 2021-07-01 09:16
  • 阅读 ( 715 )

硬件(hardware)和软件中断(software interrupt)的区别

...中断,不可屏蔽中断,软件中断 什么是硬件中断(hardware interrupt)? 硬件设备产生硬件中断。硬盘可以产生一个硬件中断来通知它已经读取了一系列的数据块。网络设备可以创建一个硬件中断来指示它接收到了数据包。此外,输...

  • 发布于 2021-07-01 12:07
  • 阅读 ( 456 )

系统调用(system call)和打断(interrupt)的区别

...及请求访问硬件设备时,会发生系统调用。 什么是打断(interrupt)? 中断是通知CPU立即采取行动的事件。它是由CPU以外的组件引起的。最新的计算机会立即响应中断。此外,有两种类型的中断:硬件中断和软件中断。 硬件设备产...

  • 发布于 2021-07-01 18:24
  • 阅读 ( 507 )

蒙面的(maskable)和非屏蔽中断(non maskable interrupt)的区别

...,可屏蔽中断,不可屏蔽中断 什么是可屏蔽中断(maskable interrupt)? 可屏蔽中断是处理器可以拒绝的中断。因此,这些中断有助于管理低优先级任务。此外,8085的RST6.5、RST7.5和RST5.5是可屏蔽中断的一些常见示例。 什么是非屏蔽...

  • 发布于 2021-07-01 22:17
  • 阅读 ( 857 )

打断(interrupt)和轮询(polling)的区别

...屏蔽中断,不可屏蔽中断,轮询,软件中断 什么是打断(interrupt)? 中断是指示CPU立即采取行动的事件。可以有一个中断来指示计时器超时。另外,中断可以通知联网设备的所接收的数据分组。当中断发生时,CPU暂停当前正在执...

  • 发布于 2021-07-01 22:30
  • 阅读 ( 1915 )

飞碟(skeet)和陷阱(trap)的区别

...击就是这样一项运动。射击运动有三种类型:双向飞碟,陷阱和运动泥。虽然这两项运动可能看起来相似,因为它们包括从不同位置射击目标,但了解它们的区别是很重要的。飞碟(skeet) vs. 陷阱(trap)双向飞碟和陷阱的区别在于,...

  • 发布于 2021-07-10 04:21
  • 阅读 ( 184 )

dubstep音乐(dubstep music)和陷阱音乐(trap music)的区别

...,它们是Dubstep音乐和Trap音乐。dubstep音乐(dubstep music) vs. 陷阱音乐(trap music)dubstep音乐和trap音乐的区别在于dubstep音乐更电子化,每分钟的节拍(BPM)更高,比如138到142,而trap音乐更注重节奏和低音,节奏从100到176 BPM不等。此外...

  • 发布于 2021-07-10 04:40
  • 阅读 ( 274 )
emkmu8595
emkmu8595

0 篇文章