一种在实时监测协处理器负载状态的方法及装置的制作方法

文档序号:6464642阅读:192来源:国知局
专利名称:一种在实时监测协处理器负载状态的方法及装置的制作方法
技术领域
本发明涉及协处理器技术领域,尤其涉及一种在实时监测协处理器负载状 态的方法及装置。
背景技术
在嵌入式系统,特别是在主从系统中,实时准确的获取系统的负载状态有 很重要的意义。通过当前负载状态,可以控制是否可以启动新的应用,可以决 定是否降低功耗来节省电能,可以提高调试效率。现有技术中尚未有对系统的负载状况进行实时更新的机制,多是通过实验 数据来大致确定负载状况,不够精确。发明内容本发明提供一种在实时监测协处理器负载状态的方法及装置,用以解决现 有技术中存在的通过实验数据确定负载不够精确的问题。本发明的目的主要是通过以下技术方案实现的本发明提供了 一种实时监测协处理器负载状态的方法,所述方法包括 步骤A:计算协处理器在单位时间内单一执行预定任务的最大处理能力; 步骤B:计算该协处理器正常工作时,在单位时间内执行该预定任务的处理 能力;步骤C:将协处理器正常工作时执行该预定任务的处理能力和执行单一预定 任务的最大处理能力相除,得到协处理器的空闲率,通过该空闲率进而计算得 到协处理器的负载率。进一步地,所述方法还包括协处理器将计算得到的负载率存放到共享内存区中,并实时更新当前的负 载率;主控制器根据需要定期或不定期的从共享内存区域读取到协处理器当前 的负载率,从而进行相应的处理。进一步地,所述步骤A具体包括预定义一个变量及一个用于在死循环中对该变量进行累加的任务; 设置该任务的优先级最高,计算单位时间内协处理器执行该任务时该变量 的最大变化值。进一步地,所述步骤B具体包括 设置该任务在协处理器正常工作时的优先级最低; 计算单位时间内协处理器执行该任务时该变量的变化值。进一步地,所述步骤C具体包括用单位时间内该变量的变化值与单位时 间内该变量的最大变化值相除,得到当前单位时间内协处理器的空闲率,进而 得到当前单位时间内协处理器的负载率。本发明还提供了 一种实时检测协处理器负载状态的装置,所述装置包括 第一计算单元,用于计算协处理器在单位时间内单一执行预定任务的最大处理能力,及该协处理器正常工作时,在单位时间内执行该预定任务的处理能 力;第二计算单元,用于将协处理器正常工作时执行该预定任务的处理能力和 执行单一预定任务的最大处理能力相除,得到协处理器的空闲率,通过该空闲 率进而计算得到协处理器的负载率。进一步地,所述装置还包括更新单元,用于保存计算得到的协处理器的负载率,并实时更新当前的负 载率,并根据主控制器的需要向其提供协处理器的负载率。本发明有益效果如下本发明在不影响系统正常工作的情况下,利用协处理器CPU的空闲时间实 时准确地计算协处理器的负载率,并通知给主处理器。


图1为本发明所述方法的流程示意图; 图2为本发明所述方法的示例流程示意图; 图3为本发明所述装置的结构示意图。
具体实施方式
下面结合附图1和附图2对本发明所述方法进行详细说明。如图1所示,图1为本发明所述方法的流程示意图,具体可以包括如下步骤步骤101:计算协处理器在单位时间内执行单一预定任务的最大处理能力。 步骤102:计算该协处理器正常工作时,即协处理器执行其他任务的同时,在单位时间内执行该预定任务的处理能力。步骤103:将协处理器正常工作时执行该预定任务的处理能力和执行单一预定任务的最大处理能力相除,得到协处理器的空闲率;步骤104:用100减去空闲率,得到协处理器的负载率。步骤105:协处理器将计算得到的负载率存放到共享内存区中,并实时更新当前的负载率;主控制器根据需要定期或不定期的从共享内存区域读取到协处理器当前的负载率,从而进行相应的处理。为了便于理解本发明,下面举例对本发明所述方法作进一步阐述。如图2所示,图2为本发明所述方法的示例流程示意图,具体可以包括以下步骤步骤201:定义一个全局变量§_0>111 ,初值设为0。步骤202:创建一个任务Task_Count,任务的功能就是在一个死循环中不断 对g—Count累加操作。步骤203:在系统初始化阶段把在Task_Count的优先级设置最高,让它运 行100ms,记录此间g—Count的变化值,将该100ms的变化值除以10得到10ms 的单位时间内g_Count的变化值g_Delta—MaxCount,即单位时间内协处理器单 一执行任务Task_Coun的最大处理能力。步骤204:系统正常工作,把Task_Count的优先级设置为最低,创建一个 10ms的Timer (定时器),所述Timer设定时间的长短与单位时间相同,在处理 函数中做以下处理a:获取当前的g一Count值b:计算当前g—Count值与上一次的进入Timer的g_Count的差值 Delta—Count,即协处理器正常工作时,单位时间内的处理能力;c:用差值Delta_Count除以g_Delta—MaxCount再乘以100,即得出最近10ms 当前系统的空闲率d:用100减空闲率就是负载率load—10mse:对于最近100ms,Is的负载率的更新方法是新的load—100ms二load—10ms承0.1 +旧的load_100ms*0.9 新的1oadJs二loadJ0ms承0.01+旧的load—ls*0.99这样就完成了对最近lOms,lOOms和Is的协处理器负载率的更新,如果需 要更长时间的负载率则可以继续按照e)的方法添加。步骤205:把更新了的load_10ms, load—100ms, load—Is的值写入到主控制器 也可以访问的共享内存区域。步骤206:主控制器一侧可以根据实际应用,定期或不定期的从共享内存区 域读取到协处理当前的系统负载情况,作相应的处理,所述处理在现有技术中 已有成熟解决方案,此处不做说明。下面结合附图3对本发明所述装置进行详细i兌明。如图3所示,图3为本发明所述装置的结构示意图,具体可以包括第一 计算单元、第二计算单元及更新单元,下面分别对各个单元进行详细说明。第一计算单元,主要负责计算协处理器在单位时间内执行单一预定任务的 最大处理能力,及该协处理器正常工作时,在单位时间内执行该预定任务的处理能力;具体的说就是,通过定义一个全局变量g_Count和创建一个用于在死 循环中对g—Count进行累加的任务Task—Count,分别记录协处理器在单一执行 该任务和在正常工作时执行该任务时g—Count的变化值一g—Delta—MaxCount和 Delta—Count 。第二计算单元,主要负责将协处理器正常工作时执行该预定任务的处理能 力和执行单一预定任务的最大处理能力相除,得到协处理器的空闲率,进而得 到协处理器的负载率;具体的说就是,用差值Delta—Count除以在 g_Delta_MaxCount再乘以100,即得出当前单位时间的空闲率,用100减去空 闲率即得到协处理器的负载率。更新单元,主要负责保存计算得到的协处理器的负载率,还可以根据单位 时间内的负载率计算得到更长时间内协处理器的负载率,将更新的各个时间段 的当前负载率存到共享内存区域,并根据主控制器的需要向其提供协处理器的 负载率。对于本发明所述装置的具体实施过程,由于在上面方法中已作详细说明, 此处不再赘述。综上所述,本发明实施例提供了实时监测协处理器负载状态的方法及监测 装置,在不影响系统正常工作的情况下,利用协处理器CPU的空闲时间实时准 确的计算协处理器的负载率,并通知给主处理器,由主处理器进行相应处理。 这里,本发明实施例中仅以lOms作为一个单位时间,计算获得协处理器在最近 10ms、 100ms及Is内的协处理器负载率,但本领域普通技术人员应该知道,本 发明实施例并不仅仅局限于lOms的单位时间,而可以根据实际情况设定其大于 或小于10ms均可,其计算出来的协处理器负载率也不仅仅局限于10ms、 100ms 及Is内,本领域普通技术人员可以根据本发明实施例所述方法及装置轻易推导 出来,故此处不再——举例。以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限 于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想 到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范 围应该以权利要求书的保护范围为准。
权利要求
1、一种实时监测协处理器负载状态的方法,其特征在于,所述方法包括步骤A计算协处理器在单位时间内单一执行预定任务的最大处理能力;步骤B计算该协处理器正常工作时,在单位时间内执行该预定任务的处理能力;步骤C将协处理器正常工作时执行该预定任务的处理能力和执行单一预定任务的最大处理能力相除,得到协处理器的空闲率,通过该空闲率进而计算得到协处理器的负载率。
2、 根据权利要求1所述的方法,其特征在于,所述方法还包括 协处理器将计算得到的负载率存放到共享内存区中,并实时更新当前的负载率;主控制器根据需要定期或不定期的从共享内存区域读取到协处理器当前 的负载率,从而进行相应的处理。
3、 根据权利要求1或2所述的方法,其特征在于,所述步骤A具体包括 预定义一个变量及一个用于在死循环中对该变量进行累加的任务; 设置该任务的优先级最高,计算单位时间内协处理器执行该任务时该变量的最大变化值。
4、 根据权利要求3所述的方法,其特征在于,所述步骤B具体包括 设置该任务在协处理器正常工作时的优先级最低;计算单位时间内协处理器执行该任务时该变量的变化值。
5、 根据权利要求4所述的方法,其特征在于,所述步骤C具体包括用 单位时间内该变量的变化值与单位时间内该变量的最大变化值相除,得到当前 单位时间内协处理器的空闲率,通过该空闲率进而计算得到当前单位时间内协 处理器的负载率。
6、 一种实时监测协处理器负载状态的装置,其特征在于,所述装置包括: 第一计算单元,用于计算协处理器在单位时间内单一执行预定任务的最大处理能力,及该协处理器正常工作时,在单位时间内执行该预定任务的处理能力;第二计算单元,用于将协处理器正常工作时执行该预定任务的处理能力和 执行单一预定任务的最大处理能力相除,得到协处理器的空闲率,通过该空闲 率进而计算得到协处理器的负载率。
7、根据权利要求6所述的装置,其特征在于,所述装置还包括 更新单元,用于保存计算得到的协处理器的负载率,并实时更新当前的负 载率,并根据主控制器的需要向其提供协处理器的负载率。
全文摘要
本发明公开了一种实时监测协处理器负载状态的方法及装置,所述方法包括计算协处理器在单位时间内单一执行预定任务的最大处理能力,计算该协处理器正常工作时,在单位时间内执行该预定任务的处理能力,将协处理器正常工作时执行该预定任务的处理能力和执行单一预定任务的最大处理能力相除,得到协处理器的空闲率,通过该空闲率进而计算得到协处理器的负载率;所述装置包括第一计算单元、第二计算单元及更新单元。本发明在不影响系统正常工作的情况下,利用协处理器CPU的空闲时间实时准确地计算协处理器的负载率,并通知给主处理器。
文档编号G06F11/34GK101334752SQ20081011755
公开日2008年12月31日 申请日期2008年8月1日 优先权日2008年8月1日
发明者李志刚 申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1