专利名称:一种中断控制处理装置和方法
技术领域:
本发明涉及系统电路设计领域,尤其涉及一种中断控制处理装置和方法。
背景技术:
在系统电路设计中,系统电路中的处理器在执行处理指令时,中央处理器会频繁地被一些异步或同步事件中断。
上述异步或者同步事件被称为中断或者异常。
中断是异步事件,主要由硬件,如输入/输出(I/O)设备、处理机调用、时钟或定时器引起的,是随机发生的中断处理机的事件;异常是同步事件,是某些特定指令执行的结果,如主存存取错、浮点数被零除、计算溢出等。通常情况下,异常比中断频繁得多。
如图1所示,现有技术中用于电路系统的中断处理装置包括一个中断产生部分11,用于产生中断,形成中断申请,包括中断0,……,中断n;一个中断控制部分12,用于从中断产生部分11中选择输出一个合适的中断申请;以及一个中断处理部分13,用于处理中断控制部分12上选择的中断申请。中断申请可以是电平式的,也可以是脉冲式的。
随着产品系统设计越来越复杂,中断的数目和频率显著地增加。这些中断是必要的,因为它们支持多个处理过程的执行、多个外设的处理和各个组件的性能监控。但同时,每个电路系统设计时所能得到的给于中断的管脚却是有限的,矛盾便产生了。
此外,理想情况下,中断申请产生后,处理系统能按照上述步骤进行处理,然后进行正常的中断处理程序。然而,软件系统对于中断的处理是需要一定时间的,在这个时间段内仍然会有新的中断发生,向中断处理系统提出新的中断申请;这样一来,中断处理部分可能没有足够的时间处理上一个中断时,下一个中断就到来了,由于得不到响应就只好丢弃该申请;对于脉冲中断申请,仅有几个时钟周期,如果发出中断申请时,处理系统正在忙,那么处理系统很容易忽略掉这个中断申请,在这种情况下,处理系统往往会丢失重要的中断。如果被忽略掉或者丢弃的中断是系统电路中必须处理的中断,就会造成系统出错。
再者,对于所有产生的中断信号,中断控制部分12往往需要小心地控制才能保证所有的中断都得到处理,否则,被忽略掉或者丢弃的中断就会造成系统错误。
发明内容
有鉴于此,本发明的目的在于提供一种中断控制处理装置,以解决现有技术在进行中断处理时,中断管脚过多,给设计带来不便;本发明的又一目的在于,提供一种中断控制处理装置,以解决中断申请之间的间隔过短使得中断处理器来不及进行中断响应而导致中断丢失的问题;本发明的又一目的在于,提供一种中断控制处理装置,以解决中断处理时间过长而导致中断申请发出没有被响应而丢失的问题;本发明的再一目的在于,提供一种中断控制处理方法,以有效地改善中断处理过程。
为解决上述问题,本发明提供以下技术方案一种中断处理装置,其特征在于包括中断产生单元,包括一个或多个中断源,用于产生中断;中断标志寄存器,用于寄存所述中断产生单元发出的中断,形成中断标志;中断控制单元,用于对上述中断标志进行组合,生成中断申请送给中断处理单元,进行处理;中断处理单元,用于接受所述中断控制单元生成的中断申请并进行处理。
进一步,中断控制单元中还包含有一延时单元,用于对接收的中断申请进行合理的延迟,给所述中断处理单元足够的处理时间,保证后来的中断申请不被丢弃;进一步,所述延时单元的延时时间间隔可以使用软件根据系统需要来进行设置;进一步,所述延时时间间隔可以设置为0;进一步,所述延时单元可以被设置为使用或者不使用;进一步,所述中断控制单元中还包含一个定时重发单元,用于对没有被所述中断处理单元响应的中断申请进行重发,使得该中断申请被不断发送给所述中断处理单元;进一步,所述定时重发单元的定时重发周期可以使用软件根据需要进行设置进一步,在所述中断产生单元和中断标志寄存器之前还配置有FIFO缓存器,来保存没有被处理的中断;进一步,所述中断源为原始中断源或非原始中断源,具体实现如下将多个原始中断源进行分组后形成不同的初级中断产生单元,所述初级中断产生单元可被分配使用一个初级中断标志寄存器;然后将上述初级中断标志寄存器作为新的“中断源”,非原始中断源,形成所述中断产生单元;通过这种处理,可将多个中断源所需的中断引线减少到电路系统所允许的;进一步,中断控制处理装置的中断产生单元对原始中断源分组时,可以根据中断源的重要性,发生频率和该中断程序占用中断处理单元时间综合考虑分组情况,以达到均匀各个组的中断源的目的。
一种中断控制处理方法,包括以下步骤
A产生中断;B将产生的中断存入中断标志寄存器中,形成中断标志;C利用中断控制单元,将所有中断标志组合生成中断申请提供给中断处理单元;D中断处理单元接受该中断申请,进入处理中断的程序,由中断处理单元来完成该中断申请的下一步判断是否执行该中断处理程序。
进一步,所述步骤C中,在将中断送给中断处理单元之前,会对该中断申请作一定的延时处理;进一步,所述延时处理可选择是否执行;进一步,步骤C执行完,当中断未被所述中断处理单元响应时,对该中断申请作定时重发处理,直到中断处理单元处理该中断申请。
对比现有技术,本发明很好的解决了中断数量多和电路系统所提供的中断线路引脚少的矛盾,同时,通过增加延时和定时重发功能来有效解决了中断频繁发生和中断处理程序处理速度慢的矛盾,避免了由于系统忙时发出的中断申请被忽略,而导致的中断申请的丢失的情况发生。
图1为现有技术常用中断控制处理示意图;图2为本发明中断控制处理装置示意图;图3为有延时单元的中断控制处理装置示意图;图4为延时单元可选择的中断控制处理装置示意图;图5为有定时重发单元的中断控制处理装置示意图;图6为有延时单元和定时重发单元的中断处理装置示意图;图7为中断源进行多级处理的示意图;图8有延时和定时重发功能的中断处理方法流程图。
具体实施例方式
如图2所示,中断发生单元21和中断标志寄存器24相连,中断控制单元12中的中断申请120读取中断标志寄存器24中的信息,通过中断控制单元12的控制,向中断处理单元23发出申请,要求中断,中断处理单元23接受到申请后,进入处理中断的程序,条件允许的情况下,就进入相应的中断的中断处理程序。中断处理程序执行完后,就将相应的中断标志寄存器中的对应中断源的位复位。
将每一个中断都寄存在中断寄存器的各个位中,形成中断标志,并为每一个中断源配置一个使能位,这样对每一个中断的使能或禁止都是相互不干扰的。中断源210和中断标志寄存器24相联,中断寄存器24中有一位对应中断源210,中断源210发生中断后,在中断源210的中断使能位的控制下,填写中断标志寄存器24中相应的位。中断申请120感知到有中断发生的信息后,就读取中断标志寄存器24的信息,通过中断控制单元12的控制,向中断处理单元23发出申请,说明中断源210有中断,中断处理单元根据自己的比较原则得出是否处理中断源210中断的决定。
如图3所示,在中断控制单元12的中断申请120后面增加一个延时单元121,在上述处理时,一个中断申请通过中断申请120发出后,经过延时单元121的延时后,再发送给中断处理单元23;例如中断源210发生中断了,通过上述过程后,中断处理单元23在处理中断源210的中断,此刻,中断源211又发生中断了,如果没有延时单元121,两个中断发生的时间很接近,中断源210的中断处理程序还没有完成,中断处理单元23不能接受中断211的中断申请,于是中断源211的中断申请就丢失了;因为有了延时单元121,于是,中断源211的中断申请在延时单元121里经过一段时间延时发出去,给中断处理单元23足够的时间来处理中断源210的中断程序。当再次发出申请时,就可以被中断处理单元23接受了。延时单元121的延时时间间隔可以通过软件根据系统的需求进行控制。
图4所示的是在中断控制单元12中含有延时单元121时,可以在中断申请120之后连接一个选择器123,延时单元121的输入端和中断申请120相连,输出端和选择器123相连,选择器123输入端与延时单元121和中断申请120相连,输出端与中断处理单元23相连。通过控制选择器123可以达到是否需要进行延时处理的目的。
如图5所示,在中断控制单元12的中断申请120后面增加一个定时重发单元124,在进行中断处理时,一个中断申请通过中断申请120发出后,经过定时重发单元124的定时,重新发送给中断处理单元23;例如中断源210发生中断了,通过上述过程后,中断处理单元23在处理中断源210的中断,此刻,中断源211又发生中断了,如果没有定时重发单元121,210中断源占用中断处理单元23时间很长,中断源210的中断处理程序还没有完成,中断处理单元23不能接受中断211的中断申请,于是中断源211的中断申请就丢失了;因为有了定时重发单元124,于是,中断源211的中断申请在定时重发单元124里经过一段时间再发出去,如果中断处理单元23没有响应中断源211的中断申请;定时重发单元再次计时,到重发周期后,再次发出申请,直到该中断被中断处理单元23接受。定时重发单元124的重发周期时间间隔可以通过软件根据系统的需求进行控制。
如图6所示,在中断控制单元12的中断申请之后,先增加一个延时单元121,再增加一个定时重发单元124。当中断源210发生中断时,中断申请先经过延时单元121的延时,然后,直接到中断处理单元23处,如果中断处理单元23没有响应器中断源210的中断,定时重发单元124就会计时,等定时重发周期时间到后,再次向中断处理单元23发出中断请求,直到该中断被响应。
如图7所示,中断发生单元20可以将中断源分成不同的组,在这个中断发生单元20中有中断发生单元,也有中断标志寄存器。其中中断寄存器240对应是将中断发生单元201,其他依次类推,然后将新生成的中断标志寄存器240和中断寄存器241又组合起来形成最后的中断标志寄存器24,供中断申请120读取。
以图8为例,说明中断控制处理方法。首先,发生中断后,产生了中断申请;中断申请经过延时处理后,向中断处理的装置查询是否可以处理该中断,得到肯定后,就直接进入中断的处理程序,如果没有得到响应,就进入定时重发程序,隔一个定时重发周期就向中断处理单元发出一次申请,直到该中断可以被处理。
以上所述,仅为本发明较佳的具体实施方式
,通过一些改动可以得到新的应用,所以,具体保护范围以权利要求为准。
权利要求
1.一种中断控制处理装置,其特征在于包括中断产生单元,包括一个或多个中断源,用于产生中断;中断标志寄存器,所述中断产生单元发出的中断,被存储在相应的中断标志寄存器中;中断控制单元,经所有的中断标志组合形成中断申请送给中断处理单元,进行处理;中断处理单元,用于接受所述中断控制单元筛选出的中断申请并进行处理。
2.根据权利要求1所述的中断控制处理装置,其特征在于中断控制单元中还包含有一延时单元,用于对接收的中断申请进行合理的延迟,给所述中断处理单元足够的处理时间,保证后来的中断申请不被丢弃。
3.根据权利要求2所述的中断控制处理装置,其特征在于所述延时单元的延时时间间隔可以使用软件根据系统需要来进行设置。
4.根据权利要求3所述的中断控制处理装置,其特征在于所述延时时间间隔可以设置为0。
5.根据权利要求2、3或4中任一所述的中断控制处理装置,其特征在于所述延时单元可以被设置为使用或者不使用。
6.根据权利要求1所述的中断控制处理装置,其特征在于所述中断控制单元中还包含一定时重发单元,用于对没有被所述中断处理单元响应的中断申请进行重发,使得该中断申请不断发送给所述中断处理单元。
7.根据权利要求6所述的中断控制处理装置,其特征在于所述定时重发单元的定时重发周期可以使用软件根据系统需要来进行设置。
8.根据权利要求1所述的中断控制处理装置,其特征在于在所述中断产生单元和中断标志寄存器之间还配置有一FIFO缓存器,用于来保存没有被中断标志寄存器寄存的中断。
9.根据权利要求1所述的中断控制处理装置,其特征在于所述中断源为原始中断源或非原始中断源,具体实现如下将多个原始中断源进行分组后形成不同的初级中断产生单元,所述初级中断产生单元可被分配使用一个初级中断标志寄存器;然后将上述初级中断标志寄存器作为新的“中断源”,非原始中断源,形成所述中断产生单元。
10.根据权利要求9所述的中断控制处理装置,其特征在于可根据原始中断源的特征进行分组,来均衡每个组的中断发生的概率或重要性。
11.根据权利要求10所述的中断控制处理装置,其特征在于所述原始中断源的特征包括但不限于以下特征中断的重要性、中断发生的频率和该中断程序占有中断处理单元时间。
12.一种中断控制处理方法,其特征在于,该方法包括以下步骤A 产生中断;B 将产生的中断存入中断标志寄存器中,形成中断标志;C 利用中断控制单元,将所有的中断标志组合形成中断申请提供给中断处理单元;D 中断处理单元接受该中断申请,进入处理中断的程序,由中断处理单元来完成该中断申请的下一步判断是否执行该中断处理程序。
13.根据权利要求12所述中断控制处理方法,其特征在于所述步骤C中,在将中断送给中断处理单元之前,可以对该中断申请作一定的延时处理。
14.根据权利要求13所述中断控制处理方法,其特征在于所述延时处理可选择是否执行。
15.根据权利要求12所述中断控制处理方法,其特征在于,步骤C执行完,当中断未被所述中断处理单元响应时,对该中断申请作定时重发处理,直到中断处理单元处理该中断申请。
全文摘要
本发明公开了一种中断控制处理装置,该装置包含中断产生单元,用于产生中断;中断标志寄存器,用于寄存所述中断产生单元产生的中断,然后组合起来形成中断申请;中断控制单元,用于对所述中断申请进行筛选,选择出最合适的中断申请送给中断处理单元进行处理;中断处理单元,用于接受所述中断控制单元筛选出的中断申请并进行处理。本发明还公开了一种中断控制的方法。本发明可以提高对中断处理,解决现有技术对于中断有时不能处理而丢失的现象,降低系统错误的发生。
文档编号G06F13/24GK1766860SQ200510125659
公开日2006年5月3日 申请日期2005年12月2日 优先权日2005年12月2日
发明者庞科, 董欣, 金传恩 申请人:北京中星微电子有限公司