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