【发布时间】:2010-12-04 00:39:32
【问题描述】:
对不起,我不确定这是不是一个合适的地方问这个问题,但我希望它是可以接受的,如果不是很抱歉! :)
我目前正在做一个操作系统理论模块,但我有一些我无法掌握的概念 - 这是提问的正确地方吗?
我的主要问题是关于中断。当 CPU 检测到有中断发生时,我理解它必须找出这个中断的来源。我的理解如下,谁能告诉我这是否正确,并解释一下我的知识空白?
为了让 CPU 检测中断的来源,它可以查询所有对象以识别来源,但这些基于 I/O 的问题需要很长时间。相反,它使用中断周期,并期望数据总线上有一个中断标识符。如果是 8 位数据总线,则有 256 个中断级别(即 2^8)。 (这是为什么呢?)
因此,为每个可能的中断级别编写中断服务程序 (ISR),并存储在由处理器标准化的固定位置(中断向量)的表中。在我的笔记中说“在获取地址之前必须知道位置”(这是什么意思?)
作为中断周期的一部分接收到的中断级别标识符用作中断向量的索引(有人可以稍微分解一下吗?)。我的理解是一个值,中断级别标识符传递给CPU,用来指向中断向量。
另外,当一个中断被称为“服务”时是什么意思?
非常感谢您,对于长篇大论感到抱歉,我只是对这方面的许多方面感到有些困惑!
【问题讨论】:
标签: operating-system interrupt interrupt-handling