1)处理器如何识别请求中断的设备?
2)鉴于不同的设备可能需要不同的ISR,处理器如何在每种情况下获得起始地址?
3)是否允许设备在处理另一个中断时中断处理器?
4)如何处理两个或多个同时发生的中断请求?
答案 0 :(得分:2)
1)处理器如何识别请求中断的设备?
CPU有几条中断线,如果你需要的设备多于线路,那么就有一个“中断控制器”芯片(有时称为PIC),它会复用多个设备,CPU可以查询这些设备。
2)鉴于不同的设备可能需要不同的ISR在每种情况下,升压器如何获得起始地址?
这很难。它可以按照惯例(相同类型的设备总是在同一条线上);或者可以配置,例如在BIOS设置中。
3)是否允许设备在服务中断时中断处理器?
当有中断时,禁止进一步的中断。但是,中断服务程序(即CPU正在执行的特定于设备的代码)如果愿意,可以重新启用中断,如果它愿意被中断的话。
4)如何处理两个或多个同时发生的中断请求?
每个中断都有一个优先级:首先处理优先级较高的中断。
答案 1 :(得分:-1)
在设备之间定义优先级以便知道在同时请求的情况下首先服务哪个设备的概念称为优先级中断系统。这可以通过软件或硬件方法来完成。
软件方法-轮询 在这种方法中,所有中断都通过分支到同一服务程序来进行服务。然后,该程序会与每个设备一起检查是否是产生中断的设备。检查的顺序由必须设置的优先级确定。首先检查优先级最高的设备,然后再按优先级从高到低的顺序检查设备。
硬件方法–菊花链 菊花链方法涉及以串行方式连接可以请求中断的所有设备。此配置由设备的优先级控制。优先级最高的设备排在最前。