一种中断执行方法及装置制造方法及图纸

技术编号:10793457 阅读:70 留言:0更新日期:2014-12-18 03:14
本申请实施例提供了一种中断执行方法及装置,通过确定当前负载非最大的CPU核、以及负载非最大的时钟源的方式,由当前负载非最大的CPU核、以负载非最大的时钟为中断定时器,执行第一中断,所以,与现有技术相比,可以降低中断被延时响应的可能性。

【技术实现步骤摘要】
【专利摘要】本申请实施例提供了一种中断执行方法及装置,通过确定当前负载非最大的CPU核、以及负载非最大的时钟源的方式,由当前负载非最大的CPU核、以负载非最大的时钟为中断定时器,执行第一中断,所以,与现有技术相比,可以降低中断被延时响应的可能性。【专利说明】一种中断执行方法及装置
本申请涉及计算机领域,尤其涉及一种中断执行方法及装置。
技术介绍
基于对称多处理结构(Symmetric Multi-Processing,SMP)多核CPU架构上广泛 使用的通用操作系统如Linux、Windows、Vxworks等,对定时中断的管理普遍采用固定中断 源(HPET)的分配方式,即使用者在申请前必须确定本中断所绑定的定时器中断源,且用于 中断响应的CPU核也是共享或随机的。 在这种机制下,在中断被执行时,如果本中断所绑定的定时器同时负责其它中断 计时、或者执行此中断的CPU核上的任务过多,使得定时器或者CPU无暇顾及本中断,从而 导致本中断响应延时的问题。 申请内容 本申请实施例提供了一种中断执行方法及装置,目的在于解决中断响应延时的问 题。 为了实现上述目的,本申请实施例提供了以下技术方案: -种中断执行方法,包括: 从多个CPU核中,确定当前负载非最大的CPU核; 从多个时钟源中,选定当前负载非最大的第一时钟源; 由所述当前负载非最大的CPU核、以所述第一时钟为中断定时器,执行第一中断。 可选地,所述从多个CPU核中,确定当前负载非最大的CPU核包括: 按照先扫描执行中断任务的CPU核,后扫描执行非中断任务的CPU核的顺序:统计 (PU核i上的中断源许可标识和任务节点,CPU核i的被占用权值=中断源许可标识的数量 *第一数值+任务节点的数量*第二数值,其中,所述第一数值和所述第二数值均大于1,i =1、2……N,N为大于1的整数,表示系统中CPU核的数量; 确定所述N个CPU核中、被占用权值最小的CPU核为当前负载最小的CPU核。 可选地,所述从多个时钟源中,选定第一时钟源包括: 按照先扫描独占时钟源后扫描共享时钟源的顺序:统计时钟源i的状态标识,钟 源i的空闲权值=未被使用状态标识的数量*第三数值+未被共享状态标识的数量*第四 数值,其中,所述第三数值和所述第四数值均大于1,i = 1、2……M,Μ为大于1的整数,表 示系统中CPU时钟源的数量; 从所述Μ个时钟源中,选择空闲权值最大的时钟源为当前负载最小的第一时钟 源。 可选地,在所述由所述当前负载非最大的CPU核、以所述第一时钟为中断定时器, 执行第一中断之前,还包括: 将所述当前负载最小的CPU核注册的非第一中断过程的其它任务迁移到其它CPU 核上。 可选地,所述从多个CPU核中,确定当前负载非最大的CPU核,从多个时钟源中,选 定当前负载非最大的第一时钟源包括: 以预设周期,确定当前负载最小的CPU核,从多个时钟源中,选定当前负载最小的 第一时钟源。 一种中断执行装置,包括: CPU确定模块,用于从多个CPU核中,确定当前负载非最大的CPU核; 时钟选定模块,用于从多个时钟源中,选定当前负载非最大的第一时钟源; 中断执行模块,用于由所述当前负载非最大的CPU核、以所述第一时钟为中断定 时器,执行第一中断。 可选地,所述CPU确定模块包括: 第一计算单元,用于按照先扫描执行中断任务的CPU核,后扫描执行非中断任务 的CPU核的顺序:统计CPU核i上的中断源许可标识和任务节点,CPU核i的被占用权值= 中断源许可标识的数量*第一数值+任务节点的数量*第二数值,其中,所述第一数值和所 述第二数值均大于1,i = 1、2……N,N为大于1的整数,表示系统中CPU核的数量; 第一确定单元,用于确定所述N个CPU核中、被占用权值最小的CPU核为当前负载 最小的CPU核。 可选地,所述时钟选定模块包括: 第二计算单元,用于按照先扫描独占时钟源后扫描共享时钟源的顺序:统计时钟 源i的状态标识,钟源i的空闲权值=未被使用状态标识的数量*第三数值+未被共享状 态标识的数量*第四数值,其中,所述第三数值和所述第四数值均大于1,i = 1、2……M,Μ 为大于1的整数,表示系统中CPU时钟源的数量; 第二确定单元,用于从所述Μ个时钟源中,选择空闲权值最大的时钟源为当前负 载最小的第一时钟源。 可选地,还包括: 迁移模块,用于在所述由所述当前负载非最大的CPU核、以所述第一时钟为中断 定时器,执行第一中断之前,将所述当前负载最小的CPU核注册的非第一中断过程的其它 任务迁移到其它CPU核上。 可选地,所述CPU确定模块,用于从多个CPU核中,确定当前负载非最大的CPU核 包括: 所述CPU确定模块具体用于,以预设周期、从多个CPU核中,确定当前负载最小的 (PU 核; 所述时钟选定模块,用于从多个时钟源中,选定当前负载非最大的第一时钟源包 括: 所述时钟选定模块具体用于,以预设周期、从多个时钟源中,选定当前负载最小的 第一时钟源。 本申请实施例所述的中断执行方法及装置,通过确定当前负载非最大的CPU核、 以及负载非最大的时钟源的方式,由当前负载非最大的CPU核、以负载非最大的时钟为中 断定时器,执行第一中断,所以,与现有技术相比,可以降低中断被延时响应的可能性。 【专利附图】【附图说明】 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。 图1为本申请实施例公开的一种中断执行方法的流程图; 图2为本申请实施例公开的又一种中断执行方法的流程图; 图3为本申请实施例公开的又一种中断执行方法的流程图; 图4为本申请实施例公开的一种中断执行装置的结构示意图。 【具体实施方式】 本申请实施例公开了一种中断执行方法及装置,可以应用于基于对称多处理结构 (Symmetric Multi-Processing, SMP)多核CPU架构上广泛使用的通用操作系统如Linux、 Windows、Vxworks等,可以应用在大型复杂业务模型的多模型并发集群仿真或特殊定制平 台的高精度实时仿真这两种应用场景中,在通用平台上实现〇. 〇5mS-lmS之间的系统仿真 周期。 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于 本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本申请保护的范围。 本申请实施例公开的一种中断执行方法,如图1所示,包括以下步骤: S101 :从多个CPU核中,确定当前负载非最大的CPU核; S102 :从多个时钟源中,选定负载非最大的第一时钟源; 本实施例中,所述时钟可以为高精度时钟。 S本文档来自技高网...

【技术保护点】
一种中断执行方法,其特征在于,包括:从多个CPU核中,确定当前负载非最大的CPU核;从多个时钟源中,选定当前负载非最大的时钟源为第一时钟源;由所述当前负载非最大的CPU核、以所述第一时钟源为中断定时器,执行第一中断。

【技术特征摘要】

【专利技术属性】
技术研发人员:阚宏伟
申请(专利权)人:北京经纬恒润科技有限公司
类型:发明
国别省市:北京;11

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

1