中断是怎么向cpu发送中断请求的
发布网友
发布时间:2022-05-07 00:24
我来回答
共2个回答
热心网友
时间:2023-10-09 22:11
对于CPU内部中断源的请求,可直接转入中断周期,由内部硬件自动执行预定的操作。
对于CPU外部中断源的请求,通常必须满足以下条件才能响应。
置位了中断请求触发器。每个中断源对应有一个中断请求触发器,通过它发出并保持中断请求信号,直至CPU响应后才被清除。
中断屏蔽触发器处于非屏蔽状态。在有多中断源的实际系统中,为了增加控制的灵活性,常在每个中断源的接口中设置一个中断屏蔽触发器,只有当此触发器处于非屏蔽状态时,中断请求才能被送至CPU,否则将被屏蔽掉。
CPU内部是中断开放的。在CPU内部有一个中断允许触发器(IF),只有当它为“1”(即中断开放)时,CPU才能响应外部中断;否则中断被关闭,即使INTR上有中断请求,CPU也不响应。中断允许触发器的状态通常由STI和CLI指令来改变(置“1”或清“0”)。
当CPU复位时,中断允许触发器被清“0”,即关中断,所以必须用STI指令才能开中断;每当中断响应后,CPU又会自动关中断,所以必须在中断服务程序中用STI指令来开中断,以便执行中断服务程序时能响应更高优先级的中断请求,中断服务程序结束后能响应新的中断请求。
热心网友
时间:2023-10-09 22:12
I/O设备向CPU提出中断请求的条件是: I/O接口中的设备工作完成状态为1(D=1),中断屏蔽码为0 (MASK=0),且CPU查询中断时,中断请求触发器状态为1(INTR=1)。