首页 / 专利库 / 专利权 / 第I章 / 国际申请 / 请求书 / 请求 / 中断的控制方法、中断的处理方法、中断控制器和处理器

中断的控制方法、中断的处理方法、中断控制器和处理器

阅读:481发布:2023-03-13

专利汇可以提供中断的控制方法、中断的处理方法、中断控制器和处理器专利检索,专利查询,专利分析的服务。并且本 发明 提供了一种中断的控制方法、中断的处理方法、中断 控制器 和处理器,其中,该中断的控制方法包括:根据 采样 信息采样各中断源的中断 请求 ,将所述中断请求以组为单位按中断类型分类保存至对应的中断请求寄存器中;确定当前中断请求寄存器中有中断请求,则向处理器发送控制 信号 ,以便所述处理器根据所述 控制信号 执行该中断请求所属的中断组中的所有中断请求。本发明通过将中断进行分组配置,使得处理器能够以组为单位批处理中断请求,提高了处理器对中断请求处理的效率,进而提升了整个系统的处理效率。,下面是中断的控制方法、中断的处理方法、中断控制器和处理器专利的具体信息内容。

1.一种中断的控制方法,其特征在于,该方法包括:
根据采样信息采样各中断源的中断请求,将所述中断请求以组为单位按中断类型分类保存至对应的中断请求寄存器中;
确定当前中断请求寄存器中有中断请求,则向处理器发送控制信号,以便所述处理器根据所述控制信号执行该中断请求所属的中断组中的所有中断请求;
其中,所述处理器根据所述控制信号执行该中断请求所属的中断组中的所有中断请求包括:
所述处理器按照所述中断组优先级由高到低的顺序依次执行对应中断组中的所有中断请求。
2.根据权利要求1所述的方法,其特征在于:
所述根据采样信息采样各中断源的中断请求之前,所述方法还包括:
接收所述处理器发送的初始化配置信息,所述初始化配置信息包括所述采样信息,所述采样信息包括采样类型和采样模式,所述采样类型包括屏蔽类型和不可屏蔽类型,所述采样模式包括电平模式、脉冲模式和所述中断类型,所述中断类型包括标量和矢量。
3.根据权利要求2所述的方法,其特征在于:
所述采样模式还包括各中断请求对应的优先级信息;
所述确定当前中断请求寄存器中有中断请求,则向处理器发送控制信号,包括:
确定当前中断请求寄存器中有标量中断请求,则将包含该标量中断请求的中断组的信号置为高信号,向所述处理器发送所述高信号;或者
确定当前中断请求寄存器中有失量中断请求,根据矢量组中各矢量中断请求的优先级信息选择优先级最高的矢量中断请求,将所述优先级最高的矢量中断请求的信号置为高信号,向所述处理器发送所述高信号。
4.根据权利要求3所述的方法,其特征在于:
所述初始化配置信息还包括与矢量中断请求对应的矢量地址;
所述将所述优先级最高的矢量中断请求的信号置为高信号,向所述处理器发送所述高信号时,还包括:向所述处理器发送所述优先级最高的矢量中断请求的矢量地址。
5.一种中断的处理方法,其特征在于,该方法包括:
接收所述中断控制器发送的控制信号;
根据所述控制信号中携带的中断组信息,执行与该中断组信息对应的中断组中的所有中断请求;
其中,所述根据所述控制信号中携带的中断组信息,执行与该中断组信息对应的中断组中的所有中断请求,包括:
获得所述中断组的优先级,按照优先级由高到低的顺序依次执行对应中断组中的所有中断请求。
6.根据权利要求5所述的方法,其特征在于:
所述接收所述中断控制器发送的控制信号之前,所述方法还包括:
向中断控制器发送初始化配置信息;所述初始化配置信息包括所述采样信息,所述采样信息包括采样类型和采样模式,所述采样类型包括屏蔽类型和不可屏蔽类型,所述采样模式包括电平模式、脉冲模式和所述中断类型,所述中断类型包括标量和矢量。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
除去不可屏蔽类型的中断组,选择性地打开或关闭不同优先级的中断组中的所有中断请求。
8.根据权利要求5或7所述的方法,其特征在于,所述方法还包括:
接收所述中断控制器发送的对应矢量中断请求的矢量地址,根据该矢量地址执行该矢量中断请求。
9.一种中断控制器,其特征在于,该中断控制器包括:
制模,用于向采样模块发送所述采样信息,接收所述采样模块发送的中断请求并保存至中断请求寄存器中;将所述中断请求寄存器中的中断请求以组为单位按中断类型分别进行处理后,向处理器发送控制信号,以便所述处理器根据所述控制信号执行该中断请求所属的中断组中的所有中断请求;
采样模块,用于根据所述采样信息采样各中断源的中断请求,并向所述控制模块发送所述中断请求;
其中,所述处理器根据所述控制信号执行该中断请求所属的中断组中的所有中断请求包括:
所述处理器按照所述中断组优先级由高到低的顺序依次执行对应中断组中的所有中断请求。
10.根据权利要求9所述的中断控制器,其特征在于:
所述控制模块,还用于通过增强外围总线(apb)接口接收处理器发送的初始化配置信息并保存;所述初始化配置信息包括所述采样信息,所述采样信息包括采样类型和采样模式,所述采样类型包括屏蔽类型和不可屏蔽类型,所述采样模式包括电平模式、脉冲模式和所述中断类型,所述中断类型包括标量和矢量。
11.根据权利要求10所述的中断控制器,其特征在于:
所述采样模式还包括各矢量中断请求对应的优先级信息,所述初始化配置信息还包括与矢量中断请求对应的矢量地址;
所述控制模块,具体用于将所述中断请求寄存器中的中断请求以组为单位按标量和矢量进行分类,将包含该标量中断请求的中断组的信号置为高信号,向所述处理器发送所述高信号;接收比较模块返回的优先级最高的矢量中断请求的信息,将与该信息对应的优先级最高的矢量中断请求的信号置为高信号,向所述处理器发送所述高信号及该优先级最高的矢量中断请求的矢量地址;
所述中断控制器还包括:所述比较模块,用于获得矢量组中的矢量中断请求的优先级信息,采用二叉树比较法获得优先级最高的矢量中断请求,并向所述控制模块返回所述优先级最高的矢量中断请求的信息。
12.一种处理器,其特征在于,该处理器包括:
接口模块,用于向中断控制器发送初始化配置信息;
批处理模块,用于接收所述中断控制器发送的控制信号,根据所述控制信号中携带的中断组信息,执行与该中断组信息对应的中断组中的所有中断请求;
其中,所述批处理模块,具体用于获得所述中断组的优先级,按照优先级由高到低的顺序依次执行对应中断组中的所有中断请求。
13.根据权利要求12所述的处理器,其特征在于:
所述初始化配置信息包括所述采样信息和各中断请求对应的优先级信息,所述采样信息包括采样类型和采样模式,所述采样类型包括屏蔽类型和不可屏蔽类型,所述采样模式包括中断类型,所述中断类型包括标量和矢量。
14.根据权利要求13所述的处理器,其特征在于:
所述批处理模块,还用于接收所述中断控制器发送的对应矢量中断请求的矢量地址,根据该矢量地址执行该矢量中断请求。
15.根据权利要求12所述的处理器,其特征在于:
所述批处理模块,还用于除去不可屏蔽类型的中断组,选择性地打开或关闭不同优先级的中断组中的所有中断请求。

说明书全文

中断的控制方法、中断的处理方法、中断控制器和处理器

技术领域

[0001] 本发明涉及片上系统(SOC)的中断控制技术,尤其涉及一种中断的控制方法、中断的处理方法、中断控制器和处理器。

背景技术

[0002] 中断控制器是片上系统SOC内的一个重要模。随着现今SOC越来越大规模的设计,其中都包含了众多硬件模块和内嵌软件,诸如专用运算加速器、直接内存存取(DMA)控制器、双倍速率同步动态随机存储器(DDR)接口以及定制IP等,这些模块都会输出几个甚至几十个中断待处理,再加上软件中断和外部中断等,整个系统的中断总数常常有上百个,然而处理器内核数字信号处理(DSP)的中断请求输入一般仅有几个,因此所有模块的中断输出必须经过预先收集整理后才能进入处理器,中断控制器正是完成这种中断与处理的任务,来协同处理器高效处理整个系统中的所有中断请求。
[0003] 在现有的中断控制技术中,中断控制器的功能比较单一,配置固化且兼容性较差,常用的做法大致有几类:一种是中断控制器每次在所有中断中仅选择出优先级最高的一个中断和其对应的矢量地址通知处理器,虽然处理器通过该中断的矢量地址可以快速进入中断服务程序,但在中断数量较多的情况下中断的响应很慢,因为处理器每次仅得知其中一个中断,通过一次保护现场的堆栈操作完成一个中断处理后又重复保护现场处理下一个,此外中断控制器需要划分出很多优先级,层次很深的优先级选择电路会占用大量资源及需要较长选择延时。另一种是平行地建立几个中断通道,每个中断通道中选择出该通道内优先级最高的一个中断,该方法仅是上一种方法简单的并行化处理,并且由于处理器与中断控制器接口的有限,并行路数普遍较少,没有从根本上解决大量中断排队后由处理器一一通过保护现场后进行处理的低效问题,此外通道间没有优先级先后的划分,处理器正在处理某通道的一个中断时另一通道内如有更重要紧急的中断不能嵌套处理。还有中断控制器采用通过完全将中断事件记录在标志寄存器内,处理器通过查询标志寄存器得知有哪些中断事件发生,其虽然克服了之前两种方法的一个一个中断挑选低效的问题,但其仅仅过于简单地通知处理器存在的中断事件,没有将中断的紧急反应通知给处理器,不支持关键紧急中断的嵌套处理。

发明内容

[0004] 本发明实施例提供了一种中断的控制方法、中断的处理方法、中断控制器和处理器,以克服现有中断控制器协同处理器进行中断事件处理的效率低的问题。
[0005] 本发明实施例提供了一种中断的控制方法,该方法包括:
[0006] 根据采样信息采样各中断源的中断请求,将所述中断请求以组为单位按中断类型分类保存至对应的中断请求寄存器中;
[0007] 确定当前中断请求寄存器中有中断请求,则向处理器发送控制信号,以便所述处理器根据所述控制信号执行该中断请求所属的中断组中的所有中断请求。
[0008] 优选地,所述根据采样信息采样各中断源的中断请求之前,所述方法还包括:
[0009] 接收所述处理器发送的初始化配置信息,所述初始化配置信息包括所述采样信息,所述采样信息包括采样类型和采样模式,所述采样类型包括屏蔽类型和不可屏蔽类型,所述采样模式包括电平模式、脉冲模式和所述中断类型,所述中断类型包括标量和矢量。
[0010] 优选地,所述采样模式还包括各中断请求对应的优先级信息;
[0011] 所述确定当前中断请求寄存器中有中断请求,则向处理器发送控制信号,包括:
[0012] 确定当前中断请求寄存器中有标量中断请求,则将包含该标量中断请求的中断组的信号置为高信号,向所述处理器发送所述高信号;或者
[0013] 确定当前中断请求寄存器中有失量中断请求,根据矢量组中各矢量中断请求的优先级信息选择优先级最高的矢量中断请求,将所述优先级最高的矢量中断请求的信号置为高信号,向所述处理器发送所述高信号。
[0014] 优选地,所述初始化配置信息还包括与矢量中断请求对应的矢量地址;
[0015] 所述将所述优先级最高的矢量中断请求的信号置为高信号,向所述处理器发送所述高信号时,还包括:向所述处理器发送所述优先级最高的矢量中断请求的矢量地址。
[0016] 本发明实施例还提供了一种中断的处理方法,该方法包括:
[0017] 接收所述中断控制器发送的控制信号;
[0018] 根据所述控制信号中携带的中断组信息,执行与该中断组信息对应的中断组中的所有中断请求。
[0019] 优选地,所述接收所述中断控制器发送的控制信号之前,所述方法还包括:
[0020] 向中断控制器发送初始化配置信息;所述初始化配置信息包括所述采样信息,所述采样信息包括采样类型和采样模式,所述采样类型包括屏蔽类型和不可屏蔽类型,所述采样模式包括电平模式、脉冲模式和所述中断类型,所述中断类型包括标量和矢量。
[0021] 优选地,所述根据所述控制信号中携带的中断组信息,执行与该中断组信息对应的中断组中的所有中断请求,包括:
[0022] 获得所述中断组的优先级,按照优先级由高到低的顺序依次执行对应中断组中的所有中断请求。
[0023] 优选地,所述方法还包括:除去不可屏蔽类型的中断组,选择性地打开或关闭不同优先级的中断组中的所有中断请求。
[0024] 优选地,所述方法还包括:接收所述中断控制器发送的对应矢量中断请求的矢量地址,根据该矢量地址执行该矢量中断请求。
[0025] 本发明实施例又提供了一种中断控制器,该中断控制器包括:
[0026] 控制模块,用于向采样模块发送所述采样信息,接收所述采样模块发送的中断请求并保存至中断请求寄存器中;将所述中断请求寄存器中的中断请求以组为单位按中断类型分别进行处理后,向处理器发送控制信号;
[0027] 采样模块,用于根据所述采样信息采样各中断源的中断请求,并向所述控制模块发送所述中断请求。
[0028] 优选地,所述控制模块,还用于通过增强外围总线(apb)接口接收处理器发送的初始化配置信息并保存;所述初始化配置信息包括所述采样信息,所述采样信息包括采样类型和采样模式,所述采样类型包括屏蔽类型和不可屏蔽类型,所述采样模式包括电平模式、脉冲模式和所述中断类型,所述中断类型包括标量和矢量。
[0029] 优选地,所述采样模式还包括各矢量中断请求对应的优先级信息,所述初始化配置信息还包括与矢量中断请求对应的矢量地址;
[0030] 所述控制模块,具体用于将所述中断请求寄存器中的中断请求以组为单位按标量和矢量进行分类,将包含该标量中断请求的中断组的信号置为高信号,向所述处理器发送所述高信号;接收比较模块返回的优先级最高的矢量中断请求的信息,将与该信息对应的优先级最高的矢量中断请求的信号置为高信号,向所述处理器发送所述高信号及该优先级最高的矢量中断请求的矢量地址;
[0031] 所述中断控制器还包括:所述比较模块,用于获得矢量组中的矢量中断请求的优先级信息,采用二叉树比较法获得优先级最高的矢量中断请求,并向所述控制模块返回所述优先级最高的矢量中断请求的信息。
[0032] 本发明实施例另提供了一种处理器,该处理器包括:
[0033] 接口模块,用于向中断控制器发送初始化配置信息;
[0034] 批处理模块,用于接收所述中断控制器发送的控制信号,根据所述控制信号中携带的中断组信息,执行与该中断组信息对应的中断组中的所有中断请求。
[0035] 优选地,所述初始化配置信息包括所述采样信息和各中断请求对应的优先级信息,所述采样信息包括采样类型和采样模式,所述采样类型包括屏蔽类型和不可屏蔽类型,所述采样模式包括中断类型,所述中断类型包括标量和矢量。
[0036] 优选地,所述批处理模块,还用于接收所述中断控制器发送的对应矢量中断请求的矢量地址,根据该矢量地址执行该矢量中断请求。
[0037] 优选地,所述批处理模块,具体用于获得所述中断组的优先级,按照优先级由高到低的顺序依次执行对应中断组中的所有中断请求。
[0038] 优选地,所述批处理模块,还用于除去不可屏蔽类型的中断组,选择性地打开或关闭不同优先级的中断组中的所有中断请求。
[0039] 本发明实施例,通过将中断进行分组配置,使得处理器能够以组为单位批处理中断请求,提高处理器对中断请求处理的效率,进而提升了整个系统的处理效率。附图说明
[0040] 图1是本发明中断的控制方法实施例的流程图
[0041] 图2是本发明中断控制器实施例的结构示意图;
[0042] 图3是图2中的控制模块的结构示意图;
[0043] 图4是图2中的采样模块的结构示意图;
[0044] 图5是图2中的比较模块的结构示意图;
[0045] 图6是本发明处理器实施例的结构示意图。

具体实施方式

[0046] 为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
[0047] 本发明实施例提供了一种中断的控制方法,该实施例是从中断控制器的度进行描述的,该方法包括:
[0048] 步骤11、根据采样信息采样各中断源的中断请求,将所述中断请求以组为单位按中断类型分类保存至对应的中断请求寄存器中;
[0049] 所述根据采样信息采样各中断源的中断请求之前,所述方法还包括:
[0050] 接收所述处理器发送的初始化配置信息,所述初始化配置信息包括所述采样信息,所述采样信息包括采样类型和采样模式,所述采样类型包括屏蔽类型和不可屏蔽类型,所述采样模式包括电平模式、脉冲模式和所述中断类型,所述中断类型包括标量和矢量;
[0051] 步骤12、确定当前中断请求寄存器中有中断请求,则向处理器发送控制信号,以便所述处理器根据所述控制信号执行该中断请求所属的中断组中的所有中断请求。
[0052] 其中,所述采样模式还包括各中断请求对应的优先级信息;
[0053] 所述确定当前中断请求寄存器中有中断请求,则向处理器发送控制信号,包括:
[0054] 确定当前中断请求寄存器中有标量中断请求,则将包含该标量中断请求的中断组的信号置为高信号,向所述处理器发送所述高信号;或者
[0055] 确定当前中断请求寄存器中有失量中断请求,根据矢量组中各矢量中断请求的优先级信息选择优先级最高的矢量中断请求,将所述优先级最高的矢量中断请求的信号置为高信号,向所述处理器发送所述高信号。
[0056] 另外,所述初始化配置信息还包括与矢量中断请求对应的矢量地址;所述将所述优先级最高的矢量中断请求的信号置为高信号,向所述处理器发送所述高信号时,还包括:向所述处理器发送所述优先级最高的矢量中断请求的矢量地址。
[0057] 上述方法将中断进行分组配置,使得处理器能够以组为单位批处理中断请求,提高处理器对中断请求处理的效率,进而提升了整个系统的处理效率。
[0058] 本发明实施例还提供了一种中断的处理方法,该实施例是从处理器的角度进行描述的,该方法包括:
[0059] 步骤21、接收所述中断控制器发送的控制信号;
[0060] 该步骤21之前,所述方法还包括:
[0061] 向中断控制器发送初始化配置信息;所述初始化配置信息包括所述采样信息,所述采样信息包括采样类型和采样模式,所述采样类型包括屏蔽类型和不可屏蔽类型,所述采样模式包括电平模式、脉冲模式和所述中断类型,所述中断类型包括标量和矢量;
[0062] 其中,接收所述中断控制器发送的对应于矢量中断请求的控制信号之后,还包括接收所述中断控制器发送的对应矢量中断请求的矢量地址,处理器根据该矢量地址执行该矢量中断请求;
[0063] 步骤22、根据所述控制信号中携带的中断组信息,执行与该中断组信息对应的中断组中的所有中断请求。
[0064] 该步骤22包括:获得所述中断组的优先级,按照优先级由高到低的顺序依次执行对应中断组中的所有中断请求。另外,除去不可屏蔽类型的中断组,处理器可选择性地打开或关闭不同优先级的中断组中的所有中断请求,从而调整中断组的执行顺序。
[0065] 该方法中,处理器能够以组为单位批处理中断请求,提高了处理器对中断请求处理的效率,进而提升了整个系统的处理效率。
[0066] 下面从中断控制器和处理器相交互的角度,对本发明实施例进行描述,如图1所示,为了描述方便,以下将处理器简述为dsp,中断控制器简述为icu,其处理流程包括:
[0067] 步骤101、dsp对icu进行初始化配置;
[0068] dsp通过增强外围总线(apb)写icu内部的各类初始化配置寄存器。写中断屏蔽寄存器决定哪些中断需要屏蔽,中断屏蔽寄存器是4个32位的寄存器,对应本实施例最多128个中断的最大容量。写中断模式寄存器,每个中断都对应有一个中断模式寄存器,所以对应128个中断模式寄存器。模式寄存器中包括对中断源的采样模式,可以支持电平采样和脉冲采样,因此可以灵活辨认各中断源发出的中断请求。其还包括中断类型,中断类型分为int0、int1、int2、nmi和vint,其中int0、int1、int2和nmi为标量中断,并且nmi对dsp来说为不可屏蔽中断。vint是矢量中断。写中断矢量地址寄存器,该操作仅限于矢量中断,该提案的最多128个中断可以灵活支持所有中断全为标量中断或全为矢量中断,因此共有128个中断矢量地址寄存器,内部存储着矢量中断的矢量地址,当icu给dsp发送矢量中断请求时,对应发出该中断的矢量地址,因此可以让dsp直接按照地址进入中断服务程序进行处理,提高了中断处理的效率;
[0069] 步骤102、采样各中断源的中断请求;
[0070] 根据步骤101初始化每个中断模式寄存器中的采样模式信息,对应进行对各中断源的中断请求采样。对于中断源发出的高脉冲、低脉冲、高电平和低电平形式的中断请求均可进行采样;
[0071] 步骤103、存储中断请求到中断请求寄存器;
[0072] 经过步骤102采样到中断源发出的中断请求后,icu将中断请求写到中断请求寄存器中,并将int0、int1、int2、nmi和vint的请求分类写到相对应的中断请求寄存器中。dsp通过读取这几组寄存器的内容便可以知道每种类型中断请求中所有中断的情况,因此可以根据系统处理需求灵活地选择一个或多个中断进行处理,实现dsp仅进行一次现场保护的压栈出栈操作便批处理一个中断类型中的一组中断;
[0073] 步骤104、icu检查中断请求寄存器的请求情况(104-108为标量中断情况);
[0074] icu将对标量中断的请求进行统计,查看中断请求寄存器中是否记录有标量中断的请求。如果有,转到步骤105,没有则转到步骤108;
[0075] 步骤105、icu通知dsp有中断请求;
[0076] icu通过步骤104确定有标量中断的请求,则将对应有请求的相应的标量组(int0、int1、int2和nmi)的请求拉高(每种标量组中断都有自己独立的中断请求信号),通知到dsp该类标量中断有中断请求。其中这几种标量中断组有固定的优先级属性,nmi最高,接着是int0,int1,int2,优先级高中断组的可以嵌套优先级低的,即高优先级的中断可以打断低优先级的中断在其执行过程中嵌套优先来执行,并且dsp可以把高优先级组内的多个中断在一次嵌套中一并执行,即做到一次嵌套导致的现场保护压栈出栈操作的时间代价内处理多个中断,此外,dsp可以有选择地打开或关闭对标量中断组请求的读响应,这样也可以有选择地避免高优先级的标量中断组总是去嵌套低优先级中断组(nmi除外,其为不可屏蔽中断,dsp不会对其关闭相应,因此可以设置为最急需的执行的中断);
[0077] 步骤106、dsp写icu的中断清除寄存器;
[0078] 当dsp接收到步骤105的请求后,在完成选择地执行完标量中断组中的中断后,便执行写中断清除寄存器(该寄存器是4个32位的寄存器对应着总共128个中断),表示已经处理完了某些中断;
[0079] 步骤107、icu清除中断请求寄存器;
[0080] icu根据步骤106中dsp写中断清除寄存器的内容对应清除中断请求寄存器中的中断请求,将dsp已经处理完的中断的请求清除,以便让该中断以后的请求继续得到标志;
[0081] 步骤108、icu将中断请求信号拉低;操作结束;
[0082] icu根据步骤107中清除若干中断请求后,查看每种标量中断组对应的中断请求寄存器中是否还有中断请求,如果没有,将中断请求拉低,告诉dsp该标量中断组中已经没有中断请求。如果还至少有一个中断请求,则继续保持该中断请求信号拉高,以便让dsp仍旧查询到该标量中断组剩余未处理的中断请求;
[0083] 步骤109、查询矢量中断寄存器(109-115为矢量中断情况);
[0084] 查询矢量中断请求寄存器中是否有中断请求,如果有,转到步骤110,若没有,转到步骤115;
[0085] 步骤110、优先级选择;
[0086] 根据步骤109中确定了有矢量中断请求后,比较有请求的矢量中断对应的模式寄存器中包含的优先级信息,选出优先级最高的中断,如果遇到优先级相同的中断,则选择中断编号较小的中断;
[0087] 步骤111、发矢量中断请求信号以及送出相应的矢量地址;
[0088] 经过步骤110中icu挑选出优先级最高的矢量中断后,将矢量中断请求信号vint拉起,同时送出该矢量中断的矢量地址,便通知到dsp有矢量中断请求,dsp可以响应并同时根据接收到的矢量地址直接进入中断服务程序。矢量中断组vint的中断优先级低于前几种标量中断组,因此,在标量矢量中断组同时有中断请求时,dsp可以通过关闭对标量中断组的响应,便可以优先选择处理矢量中断;
[0089] 步骤112、dsp写中断清除寄存器;
[0090] 当dsp接收到由步骤111发送的矢量中断请求并进入该矢量中断的中断服务程序后,便执行写中断清除寄存器中该中断对应的标志位,通知icu该矢量中断已经得到处理;
[0091] 步骤113、icu拉低矢量中断请求信号;
[0092] icu接收到步骤112中dsp写中断清除寄存器的信息后,立即拉低矢量中断请求信号,以便让dsp不要继续得到之前dsp已经处理的矢量中断的矢量地址;
[0093] 步骤114、icu清除中断请求寄存器;
[0094] icu根据步骤112中dsp写的中断清除寄存器中的内容对应清除相应的中断在中断请求寄存器中的标志,以便分辨出后续的矢量中断请求;
[0095] 步骤115、icu保持拉低矢量中断请求信号。
[0096] icu仍旧查询中断请求寄存器中是否还有矢量中断请求,如果没有,则保持拉低矢量中断请求信号,随后继续执行步骤109。
[0097] 综上所述,可以看出该中断控制器在系统中协助处理器对中断请求进行高效处理,具体表现为:
[0098] (1)中断控制器将所有中断按组类别分类,处理器可以通过某组的中断请求并查询该组寄存器便得知该组所有中断,灵活选择组内任意数量中断进行响应,仅进行一次中断现场保护的压栈出栈操作便处理多个中断,节省中断响应流程时间;
[0099] (2)中断组以组带有优先级特征,重要中断可列入高优先级组,可以以组为单位进行中断嵌套处理,仅需一个中断现场保护的时间完成多个中断嵌套处理;
[0100] (3)除去不可屏蔽中断组,处理器对其他中断组的请求可以进行开关控制,灵活控制了是否处理该组中断或是否允许改组中断嵌套执行;
[0101] (4)矢量中断带有中断向量地址,处理器可以根据该向量地址直接进入中断服务程序,节省查询时间。矢量混合标量中断配置,根据系统各个中断的不同特性合理分配,使处理器尽可能地提高整个中断相应的效率;
[0102] (5)所有中断的属性都可以通过配置寄存器来确定,因此可以根据系统不同时间和处理情况的变化而改变某中断所属组类别、优先级和采样方式等特性,同时也具有较好的移植性,对不同系统有较强的适应性。
[0103] 本发明实施例还提供了一种中断控制器,该中断控制器包括控制模块和采样模块,其中:
[0104] 控制模块,用于向采样模块发送所述采样信息,接收所述采样模块发送的中断请求并保存至中断请求寄存器中;将所述中断请求寄存器中的中断请求以组为单位按中断类型分别进行处理后,向处理器发送控制信号;
[0105] 采样模块,用于根据所述采样信息采样各中断源的中断请求,并向所述控制模块发送所述中断请求。
[0106] 其中,所述控制模块,还用于通过apb接口接收处理器发送的初始化配置信息并保存;所述初始化配置信息包括所述采样信息,所述采样信息包括采样类型和采样模式,所述采样类型包括屏蔽类型和不可屏蔽类型,所述采样模式包括电平模式、脉冲模式和所述中断类型,所述中断类型包括标量和矢量。
[0107] 另外,所述采样模式还包括各矢量中断请求对应的优先级信息,所述初始化配置信息还包括与矢量中断请求对应的矢量地址;所述控制模块,具体用于将所述中断请求寄存器中的中断请求以组为单位按标量和矢量进行分类,将包含该标量中断请求的中断组的信号置为高信号,向所述处理器发送所述高信号;接收比较模块返回的优先级最高的矢量中断请求的信息,将与该信息对应的优先级最高的矢量中断请求的信号置为高信号,向所述处理器发送所述高信号及该优先级最高的矢量中断请求的矢量地址;所述中断控制器还包括:所述比较模块,用于获得矢量组中的矢量中断请求的优先级信息,采用二叉树比较法获得优先级最高的矢量中断请求,并向所述控制模块返回所述优先级最高的矢量中断请求的信息。
[0108] 当中断类型包括矢量和标量时的中断控制器如图2所示,从图2中可以看出该中断控制器与处理器的关系,该中断控制器包括3个模块:控制模块21、采样模块22和比较模块23,其中:
[0109] 控制模块的硬件实现主要分为3部分,如图3所示:
[0110] 第一部分是APB接口部分完成ICU与DSP的APB接口的读写控制,按照标准的APB接口,把DSP配置过来的中断信息都寄存在相应的寄存器中,同时当DSP需要读取寄存中的信息时,APB接口将数据送到APB总线上。
[0111] 第二部分是对于中断请求的管理,通过把中断屏蔽寄存器中的信息送给中断采样模块,可使中断采样模块送回未被屏蔽的中断的请求,将这些请求存储在中断请求寄存器当中。同时,从中断清除寄存器和中断置位寄存器中获得DSP需要清除的中断以及软件添加测试的中断,可以及时地清除存储在中断请求寄存器当中的请求以及添加测试的中断。
[0112] 第三部分是中断分类请求,依据中断请求寄存器中存在请求的中断,同时结合中断模式寄存器中的相应的中断类型,将标量中断和矢量中断分别进行处理,标量中断直接将对应在中断请求寄存器中的请求做或逻辑输出,而矢量中断则将各个中断的优先级送到比较模块,待比较模块送回优先级最高的中断后,将该中断请求以及对应的矢量地址同时送给DSP。
[0113] 采样模块的结构可参见图4,中断采样模块首先对中断源发送来的中断请求进行同步,即进行同步处理操作。随后通过控制模块发送来的采样信息进行判断,根据4种采样模式即高电平、低电平、高脉冲和低脉冲进行采样,随后根据相应的中断屏蔽信息对采样到的中断请求进行屏蔽或请求输出。
[0114] 比较模块的结构可参见图5,比较模块采用二叉树比较,矢量中断最多128个,因此所以需要7级比较方可选出优先级最高的中断,矢量中断的优先级共4级,如果优先级相同,则选取中断编号较小的中断。
[0115] 该中断控制器,将中断进行分组配置,使得处理器能够以组为单位批处理中断请求,提高处理器对中断请求处理的效率,进而提升了整个系统的处理效率。
[0116] 如图6所示,是本发明处理器实施例的结构示意图,该处理器包括接口模块61和批处理模块62,其中:
[0117] 接口模块,用于向中断控制器发送初始化配置信息;
[0118] 批处理模块,用于接收所述中断控制器发送的控制信号,根据所述控制信号中携带的中断组信息,执行与该中断组信息对应的中断组中的所有中断请求。
[0119] 具体地,所述初始化配置信息包括所述采样信息和各中断请求对应的优先级信息,所述采样信息包括采样类型和采样模式,所述采样类型包括屏蔽类型和不可屏蔽类型,所述采样模式包括中断类型,所述中断类型包括标量和矢量。
[0120] 另外,所述批处理模块,还用于接收所述中断控制器发送的对应矢量中断请求的矢量地址,根据该矢量地址执行该矢量中断请求。
[0121] 优选地,所述批处理模块,具体用于获得所述中断组的优先级,按照优先级由高到低的顺序依次执行对应中断组中的所有中断请求。
[0122] 进一步地,所述批处理模块,还用于除去不可屏蔽类型的中断组,选择性地打开或关闭不同优先级的中断组中的所有中断请求。
[0123] 该处理器能够以组为单位批处理中断请求,提高了处理器对中断请求处理的效率。
[0124] 本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,上述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
[0125] 以上实施例仅用以说明本发明的技术方案而非限制,仅仅参照较佳实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。
相关专利内容
标题 发布/更新时间 阅读量
并发请求调度 2020-05-12 966
并发请求调度 2020-05-12 848
上行链路请求 2020-05-12 785
准同步预留请求 2020-05-12 634
预留请求改进 2020-05-12 865
请求式定位 2020-05-11 977
请求式定位 2020-05-11 901
请求开关 2020-05-11 561
二级调度请求 2020-05-12 256
变更请求表注释 2020-05-12 884
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈