中断是如何告知CPU去执行哪个中断函数的 5

 我来答
要飞的鸷鸟
2015-10-22 · 无目标,半开放,爱分享
要飞的鸷鸟
采纳数:176 获赞数:23603

向TA提问 私信TA
展开全部
  1. 对于CPU内部中断源的请求,可直接转入中断周期,由内部硬件自动执行预定的操作。

  2. 对于CPU外部中断源的请求,通常必须满足以下条件才能响应。

  3.  置位了中断请求触发器。每个中断源对应有一个中断请求触发器,通过它发出并保持中断请求信号,直至CPU响应后才被清除。

  4. 中断屏蔽触发器处于非屏蔽状态。在有多中断源的实际系统中,为了增加控制的灵活性,常在每个中断源的接口中设置一个中断屏蔽触发器,只有当此触发器处于非屏蔽状态时,中断请求才能被送至CPU,否则将被屏蔽掉。

  5. CPU内部是中断开放的。在CPU内部有一个中断允许触发器(IF),只有当它为“1”(即中断开放)时,CPU才能响应外部中断;否则中断被关闭,即使INTR上有中断请求,CPU也不响应。中断允许触发器的状态通常由STI和CLI指令来改变(置“1”或清“0”)。

  6. 当CPU复位时,中断允许触发器被清“0”,即关中断,所以必须用STI指令才能开中断;每当中断响应后,CPU又会自动关中断,所以必须在中断服务程序中用STI指令来开中断,以便执行中断服务程序时能响应更高优先级的中断请求,中断服务程序结束后能响应新的中断请求。

caiming250
2013-05-03 · 超过18用户采纳过TA的回答
知道答主
回答量:67
采纳率:0%
帮助的人:59.5万
展开全部
中断发生时,比如外部中断,会通过8259芯片给CPU 一个电信号, 并将中断号放入到指定的寄存器, cpu 执行完当前指令之后会检查是否有中断发生,如果发现CPU中断引脚出现高位电平,则获取对于寄存器的中断号, 并根据该中断号查询中断向量表获取中断服务地址(中断向量表的入口是体系结构定死的+0000 入口地址+中断号 就可以获取中断服务入口地址),然后开始执行中断服务程序。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yuanjiulin
2012-10-14 · 超过15用户采纳过TA的回答
知道答主
回答量:90
采纳率:0%
帮助的人:23.6万
展开全部
不是中断告知CPU去执行哪个中断函数。是写程序时设置CPU去检测是那个中断发的中断信号,(如外部中断,定时器内部中断),当CPU检测到中断信号,CPU转向执行你预先设定的某个函数。
追问
你说的写程序时设置CPU去检测是那个中断发的中断信号,这不就是轮询的方式吗?CPU会不断的查询有没有事件发生。但是我现在问的是中断的方式,当串口有数据到来的时候,即发生了串口中断,CPU怎么知道去执行串口的中断程序?是如何触发的CPU去执行串口中断函数?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式