一种多个外部中断负载均衡的方法、装置、设备及介质制造方法及图纸

技术编号:32909916 阅读:20 留言:0更新日期:2022-04-07 12:00
本发明专利技术提供了一种多个外部中断负载均衡的方法、装置、设备及可读介质,该方法包括:响应于接收到外部中断的中断号,将接收到的中断号的个数与处于空闲状态的CPU的核数进行比较;响应于中断号的个数小于处于空闲状态的CPU的核数,处于空闲状态的CPU核进行中断异常处理读取中断号,并将读取到中断号的CPU核更新为处理状态;读取到中断号的CPU核根据中断号选择中断处理函数进行中断处理,并将处理完成的中断号写回中断处理结束寄存器;响应于中断号写回中断处理结束寄存器中,将处理完成中断号的CPU核更新为空闲状态。通过使用本发明专利技术的方案,能够实现多中断的并行处理,在系统仿真应用中能够快速处理外部模块产生的中断,提高系统仿真效率。高系统仿真效率。高系统仿真效率。

【技术实现步骤摘要】
一种多个外部中断负载均衡的方法、装置、设备及介质


[0001]本专利技术涉及计算机领域,并且更具体地涉及一种多个外部中断负载均衡的方法、装置、设备及可读介质。

技术介绍

[0002]每个中断的产生时间及相应的中断处理过程相互独立,且每个CPU核对中断的响应和处理都是无差别的。为了充分利用多核的并行处理,提高系统的处理效率,应该对多个外部中断的响应和处理进行负载均衡,防止某个CPU核忙碌,而其它CPU核空闲,影响系统处理的实时性。因此,在多个外部中断的系统中,多核间的中断负载均衡很有必要。
[0003]中断在初始化时,一般绑定到某个CPU核上,中断产生后由该CPU核进行相应的中断处理。多个中断分别绑定在不同的CPU核上,但中断的触发时刻和频率,中断处理的延迟时间往往不同。表现出的现象可能是一个CPU核大部分时间在处理中断,其他CPU核则处于空闲状态或者处理一些简单事务。在含操作系统的多中断系统中,负载均衡一般在Linux内核中进行中断的分发,或者进程的迁移,从而保证系统的并行处理效率。
[0004]裸机程序设计中不加载操作系统,不能通过操作系统层面进行多中断任务的调度和优化。编写裸机程序进行系统测试,处理多个模块的外部中断的应用场景常用于模块的系统验证中。系统验证中多中断处理的负载均衡,对提高多中断处理的效率,发挥多核并行处理的优势,以及对高频率中断发生的处理等有实质的意义。

技术实现思路

[0005]有鉴于此,本专利技术实施例的目的在于提出一种多个外部中断负载均衡的方法、装置、设备及可读介质,通过使用本专利技术的技术方案,能够实现多中断的并行处理,提高中断处理的实时性,在系统仿真应用中能够快速处理外部模块产生的中断,提高系统仿真效率。
[0006]基于上述目的,本专利技术的实施例的一个方面提供了一种多个外部中断负载均衡的方法,包括以下步骤:
[0007]响应于接收到外部中断(一种外部模块产生的与CPU连接的中断信号,请求CPU执行相关处理)的中断号,将接收到的中断号的个数与处于空闲状态的CPU的核数进行比较;
[0008]响应于中断号的个数小于处于空闲状态的CPU的核数,处于空闲状态的CPU核进行中断异常处理读取中断号,并将读取到中断号的CPU核更新为处理状态;
[0009]读取到中断号的CPU核根据中断号选择中断处理函数进行中断处理,并将处理完成的中断号写回中断处理结束寄存器;
[0010]响应于中断号写回中断处理结束寄存器中,将处理完成中断号的CPU核更新为空闲状态。
[0011]根据本专利技术的一个实施例,还包括:
[0012]响应于中断号的个数大于处于空闲状态的CPU的核数且处于空闲状态的CPU的核数不为0,处于空闲状态的CPU核进行中断异常处理读取中断号,并将读取到中断号的CPU核
更新为处理状态;
[0013]将未被读取的中断号的中断挂起到中断队列中;
[0014]响应于CPU核更新为空闲状态,更新为空闲状态的CPU核在中断队列中读取中断的中断号进行处理。
[0015]根据本专利技术的一个实施例,还包括:
[0016]设置中断的优先级;
[0017]处于空闲状态的CPU核按照中断的优先级由高到低的顺序读取中断对应的中断号。
[0018]根据本专利技术的一个实施例,还包括:
[0019]响应于中断号的个数大于处于空闲状态的CPU的核数且处于空闲状态的CPU的核数为0,将接收到的中断号的中断添加到中断队列中。
[0020]本专利技术的实施例的另一个方面,还提供了一种多个外部中断负载均衡的装置,装置包括:
[0021]比较模块,比较模块配置为响应于接收到外部中断的中断号,将接收到的中断号的个数与处于空闲状态的CPU的核数进行比较;
[0022]分配模块,分配模块配置为响应于中断号的个数小于处于空闲状态的CPU的核数,处于空闲状态的CPU核进行中断异常处理读取中断号,并将读取到中断号的CPU核更新为处理状态;
[0023]处理模块,处理模块配置为读取到中断号的CPU核根据中断号选择中断处理函数进行中断处理,并将处理完成的中断号写回中断处理结束寄存器;
[0024]更新模块,更新模块配置为响应于中断号写回中断处理结束寄存器中,将处理完成中断号的CPU核更新为空闲状态。
[0025]根据本专利技术的一个实施例,分配模块还配置为:
[0026]响应于中断号的个数大于处于空闲状态的CPU的核数且处于空闲状态的CPU的核数不为0,处于空闲状态的CPU核进行中断异常处理读取中断号,并将读取到中断号的CPU核更新为处理状态;
[0027]将未被读取的中断号的中断挂起到中断队列中;
[0028]响应于CPU核更新为空闲状态,更新为空闲状态的CPU核在中断队列中读取中断的中断号进行处理。
[0029]根据本专利技术的一个实施例,还包括设置模块,设置模块配置为:
[0030]设置中断的优先级;
[0031]处于空闲状态的CPU核按照中断的优先级由高到低的顺序读取中断对应的中断号。
[0032]根据本专利技术的一个实施例,分配模块还配置为:
[0033]响应于中断号的个数大于处于空闲状态的CPU的核数且处于空闲状态的CPU的核数为0,将接收到的中断号的中断添加到中断队列中。
[0034]本专利技术的实施例的另一个方面,还提供了一种计算机设备,该计算机设备包括:
[0035]至少一个处理器;以及
[0036]存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行时实
现上述任意一项方法的步骤。
[0037]本专利技术的实施例的另一个方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述任意一项方法的步骤。
[0038]本专利技术具有以下有益技术效果:本专利技术实施例提供的多个外部中断负载均衡的方法,通过响应于接收到外部中断的中断号,将接收到的中断号的个数与处于空闲状态的CPU的核数进行比较;响应于中断号的个数小于处于空闲状态的CPU的核数,处于空闲状态的CPU核进行中断异常处理读取中断号,并将读取到中断号的CPU核更新为处理状态;读取到中断号的CPU核根据中断号选择中断处理函数进行中断处理,并将处理完成的中断号写回中断处理结束寄存器;响应于中断号写回中断处理结束寄存器中,将处理完成中断号的CPU核更新为空闲状态的技术方案,能够实现多中断的并行处理,提高中断处理的实时性,在系统仿真应用中能够快速处理外部模块产生的中断,提高系统仿真效率。
附图说明
[0039]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
[0040]图1为根据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多个外部中断负载均衡的方法,其特征在于,包括以下步骤:响应于接收到外部中断的中断号,将接收到的中断号的个数与处于空闲状态的CPU的核数进行比较;响应于中断号的个数小于处于空闲状态的CPU的核数,处于空闲状态的CPU核进行中断异常处理读取中断号,并将读取到中断号的CPU核更新为处理状态;读取到中断号的CPU核根据中断号选择中断处理函数进行中断处理,并将处理完成的中断号写回中断处理结束寄存器;响应于中断号写回中断处理结束寄存器中,将处理完成中断号的CPU核更新为空闲状态。2.根据权利要求1所述的方法,其特征在于,还包括:响应于中断号的个数大于处于空闲状态的CPU的核数且处于空闲状态的CPU的核数不为0,处于空闲状态的CPU核进行中断异常处理读取中断号,并将读取到中断号的CPU核更新为处理状态;将未被读取的中断号的中断挂起到中断队列中;响应于CPU核更新为空闲状态,更新为空闲状态的CPU核在所述中断队列中读取中断的中断号进行处理。3.根据权利要求1所述的方法,其特征在于,还包括:设置中断的优先级;处于空闲状态的CPU核按照中断的优先级由高到低的顺序读取中断对应的中断号。4.根据权利要求2所述的方法,其特征在于,还包括:响应于中断号的个数大于处于空闲状态的CPU的核数且处于空闲状态的CPU的核数为0,将接收到的中断号的中断添加到所述中断队列中。5.一种多个外部中断负载均衡的装置,其特征在于,所述装置包括:比较模块,所述比较模块配置为响应于接收到外部中断的中断号,将接收到的中断号的个数与处于空闲状态的CPU的核数进行比较;分配模块,所述分配模块配置为响应于中断号的个数小于处于空闲状态的CPU的核数,处于空闲状态的CPU核进行中断异常处...

【专利技术属性】
技术研发人员:王向科王朝辉刘凯
申请(专利权)人:山东云海国创云计算装备产业创新中心有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1