您好、欢迎来到现金彩票网!
当前位置:2019欢乐棋牌 > 中断向量 >

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

发布时间:2019-08-07 02:30 来源:未知 编辑:admin

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  对于CPU内部中断源的请求,可直接转入中断周期,由内部硬件自动执行预定的操作。

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

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

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

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

  中断发生时,比如外部中断,会通过8259芯片给CPU 一个电信号, 并将中断号放入到指定的寄存器, cpu 执行完当前指令之后会检查是否有中断发生,如果发现CPU中断引脚出现高位电平,则获取对于寄存器的中断号, 并根据该中断号查询中断向量表获取中断服务地址(中断向量表的入口是体系结构定死的+0000 入口地址+中断号 就可以获取中断服务入口地址),然后开始执行中断服务程序。

  不是中断告知CPU去执行哪个中断函数。是写程序时设置CPU去检测是那个中断发的中断信号,(如外部中断,定时器内部中断),当CPU检测到中断信号,CPU转向执行你预先设定的某个函数。

  你说的写程序时设置CPU去检测是那个中断发的中断信号,这不就是轮询的方式吗?CPU会不断的查询有没有事件发生。但是我现在问的是中断的方式,当串口有数据到来的时候,即发生了串口中断,CPU怎么知道去执行串口的中断程序?是如何触发的CPU去执行串口中断函数?

http://rotorooterpa.com/zhongduanxiangliang/497.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有