首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向量化中断

向量化中断
EN

Stack Overflow用户
提问于 2011-06-29 15:30:16
回答 4查看 4.1K关注 0票数 5

矢量化中断和非矢量化中断有什么不同?

我以为所有的中断都必须是向量中断...毕竟,并不是所有的中断都有一个向量编号,因此有一个特定ISR中断服务例程的向量

(ISR地址将在页表中,在4*生成中断的设备中的向量#;假设为32位地址体系结构)...

谢谢!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-06-29 15:35:21

请参阅here

interrupt

  • Polled中断:设备告诉CPU它需要关注,通过中断识别自己: CPU必须轮询多个设备,看看哪一个请求了

票数 7
EN

Stack Overflow用户

发布于 2011-06-29 15:49:36

每当中断发生时,CPU都需要执行一个处理程序,它基本上是一个处理中断的子例程。现在,CPU如何访问这个处理程序取决于中断的类型。

在矢量化中断的情况下,向量号指定处理程序的地址,因此CPU跳转到该地址并执行处理程序。

另一方面,非矢量化中断通常由I/O (慢)设备引发。在这种情况下,总是有一个特定的处理程序需要执行,因此不需要传递处理程序地址的向量

票数 3
EN

Stack Overflow用户

发布于 2020-02-01 09:09:41

矢量化中断的重要特征是设备本身提供中断矢量地址。

对于非矢量化中断,使用相同中断请求例程的所有设备将把控制转移到相同的位置,并且中断服务例程必须找出哪些可能的设备实际上正在中断。

通过向量中断,设备告诉中断机制它的向量地址是什么。矢量地址对应于OS (或设备驱动器)已经写入适当中断服务例程的地址的存储位置。通常,每个设备都有自己的向量地址,因此“哪个设备正在中断”的决定是微不足道的。

术语有点混乱,因为中断服务例程地址表通常被称为“中断向量表”,但该术语既用于矢量化中断(中断设备识别矢量中的槽),也用于非矢量中断(中断请求行对应于矢量中的槽)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6517146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档