一种中断加速装置和中断处理系统转让专利

申请号 : CN200810176413.X

文献号 : CN101739368B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 龚尤岗

申请人 : 中兴通讯股份有限公司

摘要 :

本发明公开了一种中断加速装置和中断处理系统;装置包括:中断RAM,用于保存中断向量,以及所述中断向量与中断标识之间的对应关系;中断分发判定模块,用于当被中断控制器触发时,读取中断标识,从中断RAM中找到该中断标识对应的中断向量,并置入CPU中的CP寄存器,置入后发送就绪信号给同步模块;现场保护恢复模块,用于当被中断控制器触发时,保存现场,保存好后发送就绪信号给同步模块;以及在收到CPU执行完毕中断处理例程的通知后恢复现场;所述同步模块用于当被中断控制器触发时,发送暂停指令给CPU;以及在收到现场保护恢复模块及中断分发判定模块的就绪信号后发送释放指令给CPU。本发明可以缩短中断处理时间。

权利要求 :

1.一种中断处理系统,包括:中断控制器和CPU;

其特征在于,还包括中断加速装置;该中断加速装置包括:同步模块、备份寄存器;中断RAM,用于保存中断向量,以及所述中断向量与中断标识之间的对应关系;

中断分发判定模块,用于当被所述中断控制器触发时,从中断控制器中读取中断标识,从所述中断RAM中找到该中断标识对应的中断向量,并将该中断向量置入CPU中的PC寄存器,置入后发送就绪信号给同步模块;

现场保护恢复模块,用于当被所述中断控制器触发时,将CPU中的CPU通用寄存器、程序控制状态寄存器和PC寄存器的值保存在所述备份寄存器中,保存好后发送就绪信号给同步模块;以及在收到所述CPU执行完毕中断处理例程的通知后,将所述备份寄存器中保存的值写回所述CPU中相应的寄存器;写入完成后通知所述CPU现场恢复完成;

所述同步模块用于当被所述中断控制器触发时,发送暂停指令给CPU;以及在收到现场保护恢复模块及中断分发判定模块的就绪信号后发送释放指令给CPU;

所述CPU用于当收到所述同步模块的暂停指令后,暂停工作;收到所述同步模块的释放指令后,根据PC寄存器中的中断向量执行相应的中断处理例程;在执行完所述中断处理例程后通知所述现场保护恢复模块;在收到现场保护恢复模块的完成现场恢复的通知后继续执行中断前在执行的工作。

2.如权利要求1所述的中断处理系统,其特征在于,所述中断分发判定模块具体包括:采样保持电路、译码电路、先进先出寄存器FIFO及中断标识暂存器;

所述采样保持电路与所述中断控制器、所述译码电路及所述中断标识暂存器相连,用于当被所述中断控制器触发后,使能所述译码电路,以及所述中断标识暂存器的读控制位;

所述中断标识暂存器用于在本暂存器的读控制位被使能后,从所述中断控制器中读取中断标识数据,并发送给所述译码电路;

所述译码电路用于在被使能后,对所述中断标识暂存器发送来的中断标识数据进行译码,得到所述中断加速装置能识别的中断标识;根据该中断标识在所述中断RAM中找到对应的中断向量的存储位置,然后使能所述FIFO的读控制位;监控所述FIFO的状态,在该FIFO完成读操作后,使能该FIFO的写控制位;

所述FIFO用于在本FIFO的读控制位被使能后,根据所述译码电路所找到的所述存储位置从所述中断RAM中读取中断向量;以及在本FIFO的写控制位被使能后,将读取的中断向量写入CPU的PC寄存器。

3.如权利要求1所述的中断处理系统,其特征在于,所述备份寄存器具体包括:备份CPU通用寄存器、备份程序控制状态寄存器和备份PC寄存器;其中,所述备份PC寄存器位于所述中断RAM中;

所述现场保护恢复模块将CPU中的CPU通用寄存器、程序控制状态寄存器和PC寄存器的值保存在备份寄存器中是指:将CPU中的CPU通用寄存器、程序控制状态寄存器和PC寄存器的值分别保存在所述备份CPU通用寄存器、备份程序控制状态寄存器和备份PC寄存器中;

所述现场保护恢复模块将所述备份寄存器中保存的值相应写回所述CPU中的CPU通用寄存器、程序控制状态寄存器和PC寄存器是指:将备份CPU通用寄存器、备份程序控制状态寄存器和备份PC寄存器中的值分别写入CPU通用寄存器、程序控制状态寄存器和PC寄存器。

4.如权利要求1到3中任一项所述的中断处理系统,其特征在于:

所述中断标识为中断号或中断状态。

5.如权利要求1到3中任一项所述的中断处理系统,其特征在于:

所述现场保护恢复模块并行地写回各寄存器的值;

现场保护恢复模块保存各寄存器的值和中断分发判定模块读取中断标识、查找中断向量、置入中断向量这一系列的过程并行。

6.一种中断加速装置,其特征在于,包括:同步模块、备份寄存器;

中断RAM,用于保存中断向量,以及所述中断向量与中断标识之间的对应关系;

中断分发判定模块,用于当被中断控制器触发时,从中断控制器中读取中断标识,从所述中断RAM中找到该中断标识对应的中断向量,并将该中断向量置入CPU中的PC寄存器,置入后发送就绪信号给同步模块;

现场保护恢复模块,用于当被中断控制器触发时,将CPU中的CPU通用寄存器、程序控制状态寄存器和PC寄存器的值保存在所述备份寄存器中,保存好后发送就绪信号给同步模块;以及在收到所述CPU执行完毕中断处理例程的通知后,将所述备份寄存器中保存的值写回所述CPU中相应的寄存器;写入完成后通知所述CPU现场恢复完成;

所述同步模块用于当被中断控制器触发时,发送暂停指令给CPU;以及在收到现场保护恢复模块及中断分发判定模块的就绪信号后发送释放指令给CPU。

7.如权利要求6所述的中断加速装置,其特征在于,所述中断分发判定模块具体包括:采样保持电路、译码电路、先进先出寄存器FIFO及中断标识暂存器;

所述采样保持电路与所述中断控制器、所述译码电路及所述中断标识暂存器相连,用于当被所述中断控制器触发后,使能所述译码电路,以及所述中断标识暂存器的读控制位;

所述中断标识暂存器用于在本暂存器的读控制位被使能后,从所述中断控制器中读取中断标识数据,并发送给所述译码电路;

所述译码电路用于在被使能后,对所述中断标识暂存器发送来的中断标识数据进行译码,得到所述中断加速装置能识别的中断标识;根据该中断标识在所述中断RAM中找到对应的中断向量的存储位置,然后使能所述FIFO的读控制位;监控所述FIFO的状态,在该FIFO完成读操作后,使能该FIFO的写控制位;

所述FIFO用于在本FIFO的读控制位被使能后,根据所述译码电路所找到的所述存储位置从所述中断RAM中读取中断向量;以及在本FIFO的写控制位被使能后,将读取的中断向量写入CPU的PC寄存器。

8.如权利要求6所述的中断加速装置,其特征在于,所述备份寄存器具体包括:备份CPU通用寄存器、备份程序控制状态寄存器和备份PC寄存器;其中,所述备份PC寄存器位于所述中断RAM中;

所述现场保护恢复模块将CPU中的CPU通用寄存器、程序控制状态寄存器和PC寄存器的值保存在备份寄存器中是指:将CPU中的CPU通用寄存器、程序控制状态寄存器和PC寄存器的值分别保存在所述备份CPU通用寄存器、备份程序控制状态寄存器和备份PC寄存器中;

所述现场保护恢复模块将所述备份寄存器中保存的值相应写回所述CPU中的CPU通用寄存器、程序控制状态寄存器和PC寄存器是指:将备份CPU通用寄存器、备份程序控制状态寄存器和备份PC寄存器中的值分别写入CPU通用寄存器、程序控制状态寄存器和PC寄存器。

9.如权利要求6到8中任一项所述的中断加速装置,其特征在于:

所述中断标识为中断号或中断状态。

10.如权利要求6到8中任一项所述的中断加速装置,其特征在于:

所述现场保护恢复模块并行地写回各寄存器的值;

现场保护恢复模块保存各寄存器的值和中断分发判定模块读取中断标识、查找中断向量、置入中断向量这一系列的过程并行。

说明书 :

一种中断加速装置和中断处理系统

技术领域

[0001] 本发明涉及到电子领域,尤其涉及一种中断加速装置和中断处理系统。

背景技术

[0002] 处理器响应外部事件,一般说来,有两种方法,一为处理器主动查询外设状态,发现有需要处理的事件,处理器即转入处理相应事件的程序,处理该事件,待该事件处理完后,继续正常的程序处理。第二种方法是,外部设备有需要处理的事件,主动向CPU发起处理请求,CPU中断当前正常处理流程,处理外设请求的事件,处理完外设中断事件后,继续执行先前的程序流程。这就是中断。
[0003] 由于中断不需要提前预判,因此是一种更常用的外部事件响应手段,如在一些需要长时间工作,且有要求省电的设备上,只能采用中断模式。
[0004] 中断的执行首先要打断CPU的正常执行流程,且中断处理完成后,CPU还需要回到原执行流程中,并保证原流程的正常执行。由于正常的处理流程和中断处理流程使用相同的资源,因此中断处理过程前,CPU的现场需要首先被保护,中断处理完成过后,现场需要被恢复。
[0005] 另外,一套CPU系统,往往会挂接很多外设,如目前的一些手机DBB芯片,就有多达128个外设中断。因此,从CPU被触发,进入中断处理流程,还要进行中断的分发,从128个外设中断中,进行判别,甄别出发生中断的外设,然后调用外设中断。这是也需要花销CPU不少的时间。
[0006] 中断的本质是一种异常处理,优先级非常高,任何正常执行的程序流程,都会被打断。因此,软件设计中,都要求中断程序短小精悍,要追求效率。对于确需较长时间处理的任务,应该将处理任务单独设计为一个任务或者线程,中断程序中,只需发出触发任务或者线程工作的消息,然后退出中断程序。中断程序不可长期占用CPU,导致系统调度的失效。由此看出,中断是时间如此关键的模块。所以,降低中断处理的系统开销,就显得非常重要。

发明内容

[0007] 本发明要解决的技术问题是提供一种中断加速装置和中断处理系统,能够大大缩短中断处理时间,提高中断响应速度。
[0008] 为了解决上述问题,本发明提供了一种中断处理系统,包括:中断控制器和CPU;还包括中断加速装置;该中断加速装置包括:同步模块、备份寄存器;中断RAM,用于保存中断向量,以及所述中断向量与中断标识之间的对应关系;
[0009] 中断分发判定模块,用于当被所述中断控制器触发时,从中断控制器中读取中断标识,从所述中断RAM中找到该中断标识对应的中断向量,并将该中断向量置入CPU中的PC寄存器,置入后发送就绪信号给同步模块;
[0010] 现场保护恢复模块,用于当被所述中断控制器触发时,将CPU中的CPU通用寄存器、程序控制状态寄存器和PC寄存器的值保存在所述备份寄存器中,保存好后发送就绪信号给同步模块;以及在收到所述CPU执行完毕中断处理例程的通知后,将所述备份寄存器中保存的值写回所述CPU中相应的寄存器;写入完成后通知所述CPU现场恢复完成;
[0011] 所述同步模块用于当被所述中断控制器触发时,发送暂停指令给CPU;以及在收到现场保护恢复模块及中断分发判定模块的就绪信号后发送释放指令给CPU;
[0012] 所述CPU用于当收到所述同步模块的暂停指令后,暂停工作;收到所述同步模块的释放指令后,根据PC寄存器中的中断向量执行相应的中断处理例程;在执行完所述中断处理例程后通知所述现场保护恢复模块;在收到现场保护恢复模块的完成现场恢复的通知后继续执行中断前在执行的工作。
[0013] 进一步的,所述中断分发判定模块具体包括:
[0014] 采样保持电路、译码电路、先进先出寄存器FIFO及中断标识暂存器;
[0015] 所述采样保持电路与所述中断控制器、所述译码电路及所述中断标识暂存器相连,用于当被所述中断控制器触发后,使能所述译码电路,以及所述中断标识暂存器的读控制位。
[0016] 所述中断标识暂存器用于在本暂存器的读控制位被使能后,从所述中断控制器中读取中断标识数据,并发送给所述译码电路。
[0017] 所述译码电路用于在被使能后,对所述中断标识暂存器发送来的中断标识数据进行译码,得到本中断加速装置能识别的中断标识;根据该中断标识在所述中断RAM中找到对应的中断向量的存储位置,然后使能所述FIFO的读控制位;监控所述FIFO的状态,在该FIFO完成读操作后,使能该FIFO的写控制位。
[0018] 所述FIFO用于在本FIFO的读控制位被使能后,根据所述译码电路所找到的所述存储位置从所述中断RAM中读取中断向量;以及在本FIFO的写控制位被使能后,将读取的中断向量写入CPU的PC寄存器。
[0019] 进一步的,所述备份寄存器具体包括:
[0020] 备份CPU通用寄存器、备份程序控制状态寄存器和备份PC寄存器;其中,所述备份PC寄存器位于所述中断RAM中;
[0021] 所述现场保护恢复模块将CPU中的CPU通用寄存器、程序控制状态寄存器和PC寄存器的值保存在备份寄存器中是指:将CPU中的CPU通用寄存器、程序控制状态寄存器和PC寄存器的值分别保存在所述备份CPU通用寄存器、备份程序控制状态寄存器和备份PC寄存器中;
[0022] 所述现场保护恢复模块将所述备份寄存器中保存的值相应写回所述CPU中的CPU通用寄存器、程序控制状态寄存器和PC寄存器是指:将备份CPU通用寄存器、备份程序控制状态寄存器和备份PC寄存器中的值分别写入CPU通用寄存器、程序控制状态寄存器和PC寄存器。
[0023] 进一步的,所述中断标识为中断号或中断状态。
[0024] 进一步的,所述现场保护恢复模块并行的,并行的写回各寄存器的值;
[0025] 现场保护恢复模块保存各寄存器的值和中断分发判定模块读取中断标识、查找中断向量、置入中断向量这一系列的过程并行。
[0026] 本发明还提供了一种中断加速装置,其特征在于,包括:同步模块、备份寄存器;
[0027] 中断RAM,用于保存中断向量,以及所述中断向量与中断标识之间的对应关系;
[0028] 中断分发判定模块,用于当被中断控制器触发时,从中断控制器中读取中断标识,从所述中断RAM中找到该中断标识对应的中断向量,并将该中断向量置入CPU中的PC寄存器,置入后发送就绪信号给同步模块;
[0029] 现场保护恢复模块,用于当被中断控制器触发时,将CPU中的CPU通用寄存器、程序控制状态寄存器和PC寄存器的值保存在所述备份寄存器中,保存好后发送就绪信号给同步模块;以及在收到所述CPU执行完毕中断处理例程的通知后,将所述备份寄存器中保存的值写回所述CPU中相应的寄存器;写入完成后通知所述CPU现场恢复完成;
[0030] 所述同步模块用于当被中断控制器触发时,发送暂停指令给CPU;以及在收到现场保护恢复模块及中断分发判定模块的就绪信号后发送释放指令给CPU。
[0031] 进一步的,所述中断分发判定模块具体包括:
[0032] 采样保持电路、译码电路、先进先出寄存器FIFO及中断标识暂存器;
[0033] 所述采样保持电路与所述中断控制器、所述译码电路及所述中断标识暂存器相连,用于当被所述中断控制器触发后,使能所述译码电路,以及所述中断标识暂存器的读控制位。
[0034] 所述中断标识暂存器用于在本暂存器的读控制位被使能后,从所述中断控制器中读取中断标识数据,并发送给所述译码电路。
[0035] 所述译码电路用于在被使能后,对所述中断标识暂存器发送来的中断标识数据进行译码,得到本中断加速装置能识别的中断标识;根据该中断标识在所述中断RAM中找到对应的中断向量的存储位置,然后使能所述FIFO的读控制位;监控所述FIFO的状态,在该FIFO完成读操作后,使能该FIFO的写控制位。
[0036] 所述FIFO用于在本FIFO的读控制位被使能后,根据所述译码电路所找到的所述存储位置从所述中断RAM中读取中断向量;以及在本FIFO的写控制位被使能后,将读取的中断向量写入CPU的PC寄存器。
[0037] 进一步的,所述备份寄存器具体包括:
[0038] 备份CPU通用寄存器、备份程序控制状态寄存器和备份PC寄存器;其中,所述备份PC寄存器位于所述中断RAM中;
[0039] 所述现场保护恢复模块将CPU中的CPU通用寄存器、程序控制状态寄存器和PC寄存器的值保存在备份寄存器中是指:将CPU中的CPU通用寄存器、程序控制状态寄存器和PC寄存器的值分别保存在所述备份CPU通用寄存器、备份程序控制状态寄存器和备份PC寄存器中;
[0040] 所述现场保护恢复模块将所述备份寄存器中保存的值相应写回所述CPU中的CPU通用寄存器、程序控制状态寄存器和PC寄存器是指:将备份CPU通用寄存器、备份程序控制状态寄存器和备份PC寄存器中的值分别写入CPU通用寄存器、程序控制状态寄存器和PC寄存器。
[0041] 进一步的,所述中断标识为中断号或中断状态。
[0042] 进一步的,所述现场保护恢复模块并行的,并行的写回各寄存器的值;
[0043] 现场保护恢复模块保存各寄存器的值和中断分发判定模块读取中断标识、查找中断向量、置入中断向量这一系列的过程并行。
[0044] 本发明的方案可以使常规的中断处理前的开销部分与中断处理后的中断开销部分,能分别由硬件中断加速器执行,并且能够分别并行处理,从而可以降低中断延迟时间,加快处理器响应外部事件,并降低处理器中断开销。

附图说明

[0045] 图1现有的中断处理流程示意图;
[0046] 图2是本发明的中断分发判定模块的具体实施框图;
[0047] 图3是本发明的中断处理系统的具体实施框图;
[0048] 图4是采用本发明后的中断处理流程示意图。

具体实施方式

[0049] 下面将结合附图及实施例对本发明的技术方案进行更详细的说明。
[0050] 本发明的核心思想是通过增加硬件资源,避免现有CPU系统中断处理过程中的系统开销,从而提高中断的响应速度。图1为现有的中断处理系统软件处理流程,图中步骤101、105和108为中断处理必然会有的开销,是中断必不可少的步骤,其余步骤为中断处理的系统开销;处理流程包括:
[0051] 101、CPU响应中断;
[0052] 102、现场保护,包括:压栈CPU通用寄存器、程序控制状态寄存器、PC寄存器;
[0053] 103、读取中断控制器,判断当前发生中断的中断源;
[0054] 104、进入总中断分发处理程序,根据在中断控制器中查询到的中断状态,或者中断号,由此确定当前需要执行的中断处理例程;
[0055] 105、根据总中断分发程序中查到的中断号,调用具体的中断处理例程;
[0056] 106、清理中断分发:从中断处理例程返回到总中断分发处理程序,分发程序恢复;
[0057] 107、现场恢复,包括:出栈CPU通用寄存器、程序控制状态寄存器、PC寄存器;
[0058] 108、中断返回。
[0059] 由于软件执行只能以串行的方式,一步步执行,包括现场保护/恢复时保存/恢复各寄存器的值也只能一个一个来进行,因此每一个环节,都会花较多的时间。以ARM处理系统为例,中断处理过程CPU系统开销为:
[0060] 表1、常规中断处理系统开销
[0061]
[0062] 其中,现场保存、中断分发、分发返回与现场恢复为系统开销。中断例程的调用,则与具体的应用相关,会呈现出不同的特性,需要软件进行处理。系统开销部分,是每一种中断产生都都会经历的处理过程,不会因外部中断的不同而变化,处理流程固定,完全适合硬件完成。
[0063] 基于上述考虑,本发明提出一种中断加速装置和中断处理系统;本发明提出的中断加速装置至少包括以下硬件资源:
[0064] 现场保护恢复模块,中断分发判定模块、同步模块、中断RAM(Random-Access Memory,随机存取存储器)、备份寄存器(可以进一步分为CPU通用寄存器、备份程序控制状态寄存器和备份PC寄存器;其中备份PC寄存器可以但不限于位于中断RAM中,作为中断RAM的一部分);
[0065] 所述中断RAM,用于保存中断向量,以及所述中断向量与中断标识之间的对应关系;所述中断向量用于保存对于本中断向量所对应的中断标识所要执行的中断处理例程的入口地址;所述中断标识可以为中断号,也可以是中断状态,或是其它可以用于识别中断的标识。
[0066] 所述中断分发判定模块与中断控制器、CPU、及所述中断RAM相连,用于当被所述中断控制器触发时,从中断控制器中读取中断标识,从中断RAM中找到该中断标识对应的中断向量,并将该中断向量置入CPU中的PC寄存器,置入后发送就绪信号给同步模块;还可以在收到所述CPU执行完毕中断处理例程的通知后进入休眠状态,当被所述中断控制器触发时恢复为正常工作状态。
[0067] 所述现场保护恢复模块与所述中断控制器、所述CPU、所述中断RAM、所述备份寄存器相连;用于当被所述中断控制器触发时,将CPU中的CPU通用寄存器、程序控制状态寄存器和PC寄存器的值保存在备份寄存器中(可以分别保存在所述备份CPU通用寄存器、备份程序控制状态寄存器和备份PC寄存器中,当所述PC寄存器为中断RAM的一部分时可以但不限于用压栈的方式保存PC寄存器的值),都保存好后发送就绪信号给同步模块;以及在收到所述CPU执行完毕中断处理例程的通知后,将所述备份寄存器中保存的值相应写回所述CPU中的CPU通用寄存器、程序控制状态寄存器和PC寄存器(也就是将备份CPU通用寄存器、备份程序控制状态寄存器和备份PC寄存器中的值分别写入CPU通用寄存器、程序控制状态寄存器和PC寄存器);写入完成后通知所述CPU现场恢复完成。
[0068] 所述同步模块与所述中断控制器、所述CPU、所述现场保护恢复模块及所述中断分发判定模块相连,用于当被所述中断控制器触发时,发送暂停指令给CPU;以及在收到现场保护恢复模块及中断分发判定模块的就绪信号后发送释放指令给CPU,让CPU自由运行,可以根据所述中断向量执行所述对应的中断处理例程。
[0069] 其中,所述现场保护恢复模块进行现场保护(即保存各寄存器的值)时,可以并行的保存各寄存器的值,因此大大缩短了现场保护所要花费的时间;另外,现场保护恢复模块进行现场保护和中断分发判定模块读取中断标识、查找中断向量、置入中断向量这一系列的过程也是可以并行的,因此进一步缩短了中断前处理过程所耗费的时间。
[0070] 同样,现场保护恢复模块进行现场恢复(即写回各寄存器的值)时,也可以并行的恢复(即写回)各寄存器的值,也大大缩短了中断后处理过程所要花费的时间。
[0071] 该中断加速装置可以看做一种协处理装置,而嵌入式CPU一般都有提供协处理器接口,供用户自己增加硬件协处理;而协处理接口中,会有一根接口线,用以halt住CPU,等待超过一个时钟以上的协处理完成操作后再运行;没有协处理接口时也可以使用调试的halt线来halt住CPU,具体实现可以根据使用的CPU内核而定;所述同步模块通过所述协处理接口的接口线或调试用的halt线来发送作为暂停指令的相应信号给CPU。
[0072] 现场保护恢复模块中应设置一定的触发时延,以保证现场保护恢复模块保存CPU中寄存器的值时,已经完成同步模块被中断控制器触发、发送暂停指令给CPU、CPU暂停住这样一个过程。
[0073] 可选的,所述中断分发判定模块如图2所示,具体可以包括:
[0074] 采样保持电路(SAMPLE)、译码电路、先进先出寄存器FIFO及中断标识暂存器;
[0075] 所述采样保持电路与所述中断控制器、所述译码电路及所述中断标识暂存器相连,用于当被所述中断控制器触发后,使能所述译码电路,以及所述中断标识暂存器的读控制位。
[0076] 所述中断标识暂存器用于在本暂存器的读控制位被使能后,从所述中断控制器中读取中断标识数据,并发送给所述译码电路。
[0077] 所述译码电路用于在被使能后,对所述中断标识暂存器发送来的中断标识数据进行译码,得到本中断加速装置能识别的中断标识;根据该中断标识在所述中断RAM中找到对应的中断向量的存储位置,然后使能所述FIFO的读控制位;监控所述FIFO的状态,在该FIFO完成读操作后,使能该FIFO的写控制位。
[0078] 所述FIFO用于在本FIFO的读控制位被使能后,根据所述译码电路所找到的所述存储位置从所述中断RAM中读取中断向量;以及在本FIFO的写控制位被使能后,将读取的中断向量写入CPU的PC寄存器。
[0079] 本发明还相应提出一种中断处理系统,除了包括常规的中断控制器、CPU以外,还包括上述中断加速装置。
[0080] 所述中断控制器用于当收到外设的中断请求后,判断是否响应该中断请求;如果响应,则触发所述现场保护恢复模块、所述同步模块及所述中断分发判定模块;还可以也触发所述CPU。
[0081] 所述CPU用于当收到所述同步模块的暂停指令后,暂停工作;收到所述同步模块的释放指令后,根据PC寄存器中的中断向量,执行相应的中断处理例程;在执行完所述中断处理例程后通知所述现场保护恢复模块;还可以也通知所述中断分发判定模块;以及在收到现场保护恢复模块的完成现场恢复的通知后继续执行中断前在执行的工作。
[0082] 本发明所提供的中断处理系统的具体框图如图3所示(所述同步模块在本图中未标出)。
[0083] 采用本发明的方案后,现场保护和中断分发的环节,都可以并行执行。中断的处理流程如图4所示:
[0084] 采用硬件中断加速器后,常规的中断处理前的开销部分与中断处理后的中断开销部分——即所述步骤106和10,分别由硬件中断加速器承当,分别并行处理。硬件处理的速度取决于硬件逻辑使用的时钟频率,若采用与CPU相同的时钟,则需要2~5个cycle。采用硬件中断加速器后,中断处理的开销如下:
[0085] 表2采用硬件加速后中断开销
[0086]
[0087] 由此可知,采用本发明的中断处理方案,能够大大缩短中断处理时间,提高中断响应速度。
[0088] 当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明的权利要求的保护范围。