中断系统怎么向cpu发送中断请求的
发布网友
发布时间:2022-03-30 13:06
我来回答
共3个回答
热心网友
时间:2022-03-30 14:35
对于CPU内部中断源的请求,可直接转入中断周期,由内部硬件自动执行预定的操作。
对于CPU外部中断源的请求,通常必须满足以下条件才能响应。
置位了中断请求触发器。每个中断源对应有一个中断请求触发器,通过它发出并保持中断请求信号,直至CPU响应后才被清除。
中断屏蔽触发器处于非屏蔽状态。在有多中断源的实际系统中,为了增加控制的灵活性,常在每个中断源的接口中设置一个中断屏蔽触发器,只有当此触发器处于非屏蔽状态时,中断请求才能被送至CPU,否则将被屏蔽掉。
CPU内部是中断开放的。在CPU内部有一个中断允许触发器(IF),只有当它为“1”(即中断开放)时,CPU才能响应外部中断;否则中断被关闭,即使INTR上有中断请求,CPU也不响应。中断允许触发器的状态通常由STI和CLI指令来改变(置“1”或清“0”)。
当CPU复位时,中断允许触发器被清“0”,即关中断,所以必须用STI指令才能开中断;每当中断响应后,CPU又会自动关中断,所以必须在中断服务程序中用STI指令来开中断,以便执行中断服务程序时能响应更高优先级的中断请求,中断服务程序结束后能响应新的中断请求。追问cpu的这个中断寄存器,他会及时读取吗,也很浪费时间啊
热心网友
时间:2022-03-30 15:53
I/O设备向CPU提出中断请求的条件是: I/O接口中的设备工作完成状态为1(D=1),中断屏蔽码为0 (MASK=0),且CPU查询中断时,中断请求触发器状态为1(INTR=1)。
热心网友
时间:2022-03-30 17:28
这个case要分不同厂家的CPU来说明的
一般来讲, 如果CPU正在处理某中断请求(假设此中断的优先级为A), 这时又来另一中断(假设此中断的优先级为B),
那么如果A>=B(指优先级高的意思), CPU会继续处理A直到结束再处理B;
如果A<B, CPU会暂停对A的处理, 先处理B, 等到B处理完后, 再回来继续处理A追问怎么发的给寄存器还是怎么回事