use*_*094 5 operating-systems interrupts
我目前正在做一个操作系统理论模块,我有一些我无法掌握的概念 - 这是提问的正确地方吗?
我的主要问题是关于中断。当CPU检测到有中断时,我明白它必须找出这个中断的来源。我的理解如下,谁能告诉我这是否正确,并解释我的一些知识空白?
为了让 CPU 检测中断的来源,它可以查询所有对象以识别来源,但这些基于 I/O 的问题需要很长时间。相反,它使用中断周期,并期望在数据总线上有一个中断标识符。如果是8位数据总线,则有256个中断级别(即2^8)。(为什么是这样?)
因此,为每个可能的中断级别编写了一个中断服务程序 (ISR),并将其存储在由处理器标准化的固定位置(中断向量)的表中。在我的笔记中说“在获取地址之前必须知道位置” (这是什么意思?)
作为中断周期的一部分接收到的中断级别标识符用作中断向量的索引(有人可以稍微分解一下吗?)。我的理解是一个值,中断级别标识符传递给CPU并用于指向中断向量。
另外,中断被称为“服务”是什么意思?
非常感谢,很抱歉,很长的段落,我只是对这方面的许多方面感到有点困惑!
小智 4
当中断被称为“服务”时是什么意思?
当请求中断的事物得到处理时,它被称为“已服务”。这可以像从键盘读取下一个字符或从以太网卡发送下一个数据包一样简单。有些中断比其他中断更重要,因此可以对它们进行优先级排序。
可以在这里找到一篇有用的文章。
作为中断周期一部分接收到的中断级别标识符用作中断向量的索引
正如您提到的,当中断发生时,CPU 基本上会问“谁干的?” 中断设备将其中断标识符放在数据总线上。然后,CPU 获取该数字并在 ISR 表中查找,以将执行转移到处理程序。
中断是处理器暂停其当前程序并将控制权转移到称为中断服务例程(ISR)的新程序的请求。专为实现最大速度而设计的特殊硬件机制强制传输。ISR 确定中断的原因,采取适当的操作,然后将控制返回到被挂起的原始进程。
| 归档时间: |
|
| 查看次数: |
1821 次 |
| 最近记录: |