CN100474265C - 微处理器占用率的统计方法 - Google Patents

微处理器占用率的统计方法 Download PDF

Info

Publication number
CN100474265C
CN100474265C CNB2006101137882A CN200610113788A CN100474265C CN 100474265 C CN100474265 C CN 100474265C CN B2006101137882 A CNB2006101137882 A CN B2006101137882A CN 200610113788 A CN200610113788 A CN 200610113788A CN 100474265 C CN100474265 C CN 100474265C
Authority
CN
China
Prior art keywords
microprocessor
real
interval
time interrupt
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CNB2006101137882A
Other languages
English (en)
Other versions
CN101165657A (zh
Inventor
李文
李军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Datang Mobile Communications Equipment Co Ltd
Original Assignee
Datang Mobile Communications Equipment Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Datang Mobile Communications Equipment Co Ltd filed Critical Datang Mobile Communications Equipment Co Ltd
Priority to CNB2006101137882A priority Critical patent/CN100474265C/zh
Publication of CN101165657A publication Critical patent/CN101165657A/zh
Application granted granted Critical
Publication of CN100474265C publication Critical patent/CN100474265C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开一种微处理器占用率的统计方法,包括:微处理器根据系统设置的实时中断的间隔、统计时间和循环实体,统计循环实体的执行次数,计算其在单位实时中断间隔执行循环实体的次数,执行空闲任务;微处理器按系统设置的统计间隔,统计空闲任务中循环实体的执行次数,并根据所述循环实体在单位实时中断间隔的执行次数、统计间隔和循环实体的执行次数计算当前的占用率。

Description

微处理器占用率的统计方法
技术领域
本发明涉及硬件的资源管理方法,尤其涉及一种微处理器占用率的统计方法。
背景技术
随着技术的发展,各种微处理器已经被广泛地应用于各种领域。在很多情况下,为保证系统能正常地运行,需要及时掌握微处理器的使用情况,即微处理器的占用率。
目前,一种统计微处理器占用率的方法是与实时操作系统密切结合的统计任务执行次数法,此方法要对任务进行运行计数,而要对任务进行运行计数就需要实时操作系统提供任务切换时的钩子函数,但不是所有的实时操作系统都提供切换任务的钩子函数,所以该方法有很大的局限性。
另外,还有一种统计微处理器占用率的方法,包括:
在初始化阶段,计算微处理器在单位时间片执行循环的次数,其过程包括:获取当前系统时间,执行循环,记录循环次数,当循环次数达到设定值的时候,停止记录循环次数,再次获得系统时间,将前后系统时间换算成系统时间片的倍数,再将循环次数除以这个倍数,从而得到单位系统时间片的循环次数,这个次数就是微处理器在单位时间片执行循环的次数。其中,所述时间片是根据系统应用的需要为微处理器设置的定时精度,在实时软件开发应用中一般设置为10ms~100ms之间。
获得微处理器在单位时间片执行循环的次数后,启动空闲(IDLE)任务,在空闲任务中,无限地执行循环。在执行过程中,会有中断开或高优先级的任务抢占微处理器。
启动空闲任务后,再启动定时任务,其过程包括:当系统定时到达的时候,时间计数加1;判断是否到达计算微处理器占用率的时间,如果是,则计算当前微处理器占用率,否则等待下一次系统定时的到达。其中,定时任务以系统时间片为精度;以空闲任务执行循环的次数和微处理器在单位时间片执行循环的次数为参数计算微处理器的占用率。
更具体地说,假设计算微处理器在单位时间片执行循环的次数时,将循环的次数设置为200,系统执行循环200次的时间为100ms,微处理器的时间片为20ms,则执行循环的时间相当于5个时间片,微处理器在单位时间片的执行循环的次数为40次。
获得微处理器在单位时间片执行循环的次数后,启动空闲任务,在空闲任务中,将不限次数地执行循环。
启动定时任务,当系统定时到达的时候,时间计数加1,并判断是否到达计算微处理器占用率的时间,如果是,则计算当前微处理器占用率,否则等待下一次系统定时的到达,隔一个时间片,即20ms,下一次系统定时将到达。假设将计算微处理器占用率的统计间隔设置为200ms,则当时间计数到10时开始计算当前微处理器的占用率。其中,计算微处理器占用率的统计间隔应该按时间片的整数倍进行设置。
计算微处理器占用率时,假设在当前计算微处理器占用率的统计间隔中,即200ms,空闲任务执行循环的次数为80,则可以根据Nidle/(Nr*n)计算微处理器的空闲率为80/(40*10)=0.2。其中,Nidle为空闲任务执行循环的次数,Nr是微处理器在单位时间片执行循环的次数,n是时间片的数量。
根据等式:微处理器占用率=(1-微处理器空闲率)*100%,可以计算得到微处理器的占用率为80%。
在上述方法中存在以下一些问题:
首先,微处理器计算在单位时间片执行循环的次数不精确。现有技术采用固定的循环次数来计算不同处理器的执行时间,而执行时间是依赖于系统时间。这样,循环次数的统计精度就依赖于系统时间的执行时间。比如,执行10万次循环在低性能处理器上可能需要1秒,而在高性能处理器上可能只需要不到1ms。操作系统提供的系统时间是以时间片为精度的,不同处理器的时间片是不同的,如果采用根据固定的循环次数来计算不同处理器的执行时间,可能产生很大的误差,也不方便在不同处理器之间进行程序移植。
其次,系统定时任务在启动时存在一个系统定时时间的误差。比如,系统的定时时间为10ms,定时启动的时刻在两个10ms之间,如4ms处,则第一个定时到达时,实际定时执行的时间只有6ms,而不是期望的10ms。在实际情况中,这种误差甚至可以达到正负10ms。所以,对于要求得到高精度微处理器占用率的系统来说,这种误差所引起的统计误差是难以接受的。
再次,由于定时任务可能受到其他任务或中断的打断,会导致定时任务的定时时间出现偏差。例如:当出现优先级更高的任务时,定时任务得不到执行,等到定时任务可以执行的时候,可能已经超过了定时时间,这将导致定时任务的定时出现偏差,直接影响微处理器占用率的计算精确度。
最后,定时任务的定时精度依赖于系统的任务调度精度,太快会影响任务调度,太慢又限制了微处理器计算占用率的最小统计周期。
发明内容
有鉴于此,本发明解决的技术问题是提供一种微处理器占用率的统计方法,通过该方法可以提高微处理器计算在单位时间间隔内执行循环次数的精度,减小系统定时任务引起的定时时间误差,避免高优先级任务对定时任务的打断,而且定时任务的定时精度不再依赖于系统的任务调度精度,并提高统计方法的可移植性,适合在多种处理器上实现。
为此,本发明提供的技术方案如下:
一种微处理器占用率的统计方法,包括:
微处理器根据系统设置的实时中断的间隔、统计时间和循环实体,统计循环实体的执行次数,计算其在单位实时中断间隔执行循环实体的次数,执行空闲任务;
微处理器按系统设置的统计间隔,统计空闲任务中循环实体的执行次数,并根据
Figure C200610113788D00071
计算当前的占用率;
其中,N是循环实体的执行次数,Ni是微处理器在单位实时中断执行循环实体的次数,T是统计间隔,t是实时中断的间隔。
其中,在初始化时,系统设置实时中断的间隔、统计时间和循环实体;当微处理器计算获得其在单位实时中断间隔执行循环实体的次数后,系统设置统计间隔。
其中,微处理器按下述步骤根据系统设置的统计间隔,统计空闲任务中循环实体的执行次数:
微处理器获得在单位实时中断间隔执行循环实体的次数后,进入无操作状态等待系统设置统计间隔;
微处理器在系统设置统计间隔后,将实时中断的次数清零,等待下一个实时中断到达;
微处理器在下一个实时中断到达时,开始计算实际统计的时间,并将空闲任务中统计的循环实体的执行次数清零,重新统计空闲任务中循环实体的执行次数,直到实际统计的时间大于或等于系统设置的统计间隔。
其中,在初始化时,系统设置实时中断的间隔、统计时间、循环实体和统计间隔。
其中,微处理器按下述步骤根据系统设置的统计间隔,统计空闲任务中循环实体的执行次数:
微处理器计算获得其在单位实时中断间隔执行循环实体的次数,将实时中断的次数清零,等待下一个实时中断到达;
微处理器在下一个实时中断到达时,开始计算实际统计的时间,并将空闲任务中统计的循环实体的执行次数清零,重新统计空闲任务中循环实体的执行次数,直到实际统计的时间大于或等于系统设置的统计间隔。
其中,微处理器按下述步骤根据系统设置的统计时间统计循环实体的执行次数:
微处理器在系统设置实时中断的间隔、统计时间和循环实体后,进入预操作状态,将循环实体的执行次数和实时中断的次数都清零,等待下一个实时中断到达;
微处理器在下一个实时中断到达时,进入操作状态,开始计算实际统计的时间,并开始执行循环实体、统计执行次数,直到实际统计的时间大于或等于系统设置的统计时间。
其中,微处理器按下述步骤计算实际统计的时间:
每当一个实时中断到达时,对实时中断的次数加1;
计算实时中断间隔与实时中断次数的乘积,获得实际统计的时间。其中,微处理器计算
Figure C200610113788D00081
获得其在单位实时中断间隔执行循环实体的次数;
其中,N是循环实体的执行次数,T是统计时间,t是实时中断的间隔。
其中,微处理器按下述步骤计算计算当前的占用率:
计算 N N i · ( T / t ) · 100 % , 获得微处理器当前的空闲率;
计算 100 % - N N i · ( T / t ) · 100 % , 获得微处理器当前的占用率;
其中,N是循环实体的执行次数,Ni是微处理器在单位实时中断执行循环实体的次数,T是统计间隔,t是实时中断的间隔。
其中,微处理器按下述步骤计算计算当前的占用率:
计算 N N i · ( T / t ) · 10 n , 获得微处理器当前的空闲率;
计算 10 n - N N i · ( T / t ) · 10 n , 获得微处理器当前的占用率;
其中,N是循环实体的执行次数,Ni是微处理器在单位实时中断间隔执行循环实体的次数,T是统计间隔,t是实时中断的间隔,n是自然数。
可以看出,本发明利用硬件的实时中断实现微处理器占用率的统计,由于所有的操作和状态的变迁都是与硬件实时中断沿对齐的,从而提高了计算微处理器占用率的精确度和可靠性;同时,利用实时中断作为定时器,也减小了系统定时任务在启动时的定时时间误差,避免了高优先级任务对定时任务的打断,而且定时任务的定时精度不再依赖于系统的任务调度精度。利用实时中断计算微处理器的好处还在于没有增加多余的系统资源消耗,仅仅增加了一个无限循环执行的两个指令的优先级最低的空闲任务。
而且在嵌入式系统中,往往都有实时中断,所以本发明的方法具有很好的移植性。可在任意存在实时中断的系统中实现。用户可以在任意时刻获取微处理器的占用率,设置统计微处理器占用率的统计间隔,对统计间隔的修改可以在一个实时中断的时间间隔内得到响应,提高了计算微处理器占用率的实时性,降低了对操作系统的依赖,与操作系统所提供的接口相比,提供程序可获取微处理器占用率的接口。
附图说明
图1是本发明一种统计微处理器占用率的流程图;
图2是计算在单位实时中断间隔执行循环实体的次数的流程图;
图3是计算在单位实时中断间隔执行循环实体的次数的状态转换图;
图4是计算当前微处理器占用率的流程图;
图5是本发明另一种统计微处理器占用率的流程图。
具体实施方式
结合图1,对本发明的方法做进一步具体说明。本发明所述的方法包含两个阶段,空闲(IDLE)阶段和运行(RUN)阶段。空闲阶段包括无操作状态(PHASE_NULL)、预操作状态(PHASE_PRE_START_COUNT)和操作状态(PHASE_START_COUNT)。
在步骤101中,当系统最初上电或复位时,微处理器处于空闲阶段的无操作状态。
在步骤102中,在系统对微处理器初始化、设置相关参数后,微处理器进入预操作状态,将统计的执行循环实体的次数和实时中断的次数都清零,为进入操作状态做准备。
准备工作完成后,在步骤103中,微处理器进入操作状态,根据系统初始化时设置的参数,计算在单位实时中断间隔执行循环实体的次数。
获得在单位实时中断间隔执行循环实体的次数后,在步骤104中,微处理器将返回无操作状态,启动空闲任务,进入运行阶段。
在步骤105中,微处理器执行空闲任务时,只需无限次地执行在系统初始化时设置的循环实体并统计循环实体的执行次数即可。
在运行阶段,在步骤106中,系统为微处理器设置计算占用率所需要的统计间隔,然后,在步骤107中,微处理器将以所述统计间隔,并根据在空闲阶段获得的在单位实时中断间隔执行循环实体的次数,开始周期地计算占用率。
下面,结合图2对微处理器计算在单位实时中断间隔执行循环实体的次数的方法做进一步具体说明。
在步骤201中,微处理器进入无操作状态,此时,实时中断的处理程序不参与微处理器的占用率的计算。
在步骤202中,系统初始化,为微处理器设置相关参数,即,设置实时中断的频率、统计时间和循环实体。
其中,微处理器的实时中断可以通过高稳定度的晶振提供,实时中断的间隔可以等于晶振振荡的周期也可以是晶振振荡周期的N倍,N为自然数。可以看出,实时中断是通过高稳定度的晶振提供的,所以实时中断是周期性的,实时中断间隔也是周期性的。微处理器的实时中断也可以由其它外部的周期信号提供,例如:外部的周期性同步信号、或其它的周期性信号。
其中,统计时间应该为实时中断间隔的整数倍。
其中,循环实体可以是循环计数,也可以是循环执行的简单函数实体。
为微处理器设置相关参数后,在步骤203中,微处理器进入预操作状态,微处理器分别将统计的执行循环实体的次数和实时中断的次数都清零。
然后,在步骤204中,微处理器等待下一个实时中断的到达,当下一个实时中断到达时,微处理器进入操作状态。
当微处理器进入操作状态,将在步骤205中,开始执行循环实体、统计循环次数,同时通过对实时中断的计数计算实际统计的时间。
在步骤206中,当实际统计的时间大于或等于步骤202中设置的统计时间时,停止执行循环实体。
然后,在步骤207中,根据统计的循环实体的执行次数计算微处理器在单位实时中断间隔执行循环实体的次数。获得在单位实时中断间隔执行循环实体的次数后,微处理器再次进入无操作状态,即执行步骤201。
图3是微处理器计算在单位实时中断间隔执行循环实体的次数的状态转换图。更具体地说,假设通过采样频率1KHz,即间隔1ms,的高稳晶振为微处理器提供中断,可以将实时中断的间隔设置为N*1ms,其中,N为正整数。假设N=5,则实时中断的间隔为5ms。并假设将统计时间设置为100ms。
微处理器处于无操作状态时,如果系统为微处理器进行上述的设置,则微处理器进入预操作状态,将统计的执行循环实体的次数和实时中断的次数都清零,然后等待下一个实时中断的到达。当下一个实时中断到达时,微处理器进入操作状态,开始执行循环实体、统计执行次数,同时,微处理器将对实时中断开始计数。每当一个实时中断到达时,微处理器将对实时中断的次数进行加1,并判断实时中断间隔5ms与实时中断次数n的乘积是否大于或等于设置的统计时间100ms,如果是,则停止执行循环实体,计算微处理器在单位实时中断间隔执行循环实体的次数;否则,继续等待下一个实时中断到达。
其中,假设在统计时间100ms中,统计的执行次数为1000次,而且知道实时中断的间隔为5ms,则通过计算1000/(100/5)=50(次/实时中断),获得微处理器在单位实时中断间隔执行循环实体的次数。
获得在单位实时中断间隔执行循环实体的次数后,微处理器再次进入无操作状态,等待系统的再次设置。
空闲阶段结束以后,微处理器进入无操作状态,此时已经创建了优先级最低的空闲任务,并开始执行空闲任务,即无限次地执行循环实体并统计循环次数即可。
空闲阶段结束后,微处理器进入无操作状态,系统进入运行阶段。此时,上层用户可以在任意时刻通过系统设置统计微处理器占用率的统计间隔,微处理器将按设置的统计间隔计算微处理器的占用率。
可以看出,在空闲阶段,当微处理器处于无操作状态时,用户可以随时通过系统设置实时中断的频率和统计时间,当微处理器收到系统设置的参数后,将进入预操作状态,并等待下一次实时中断的到达,按用户新设置的参数重新计算微处理器在单位实时中断间隔执行循环实体的次数。
下面,结合图4对微处理器在运行阶段计算占用率的方法做进一步具体说明。
在步骤401中,微处理器处于无操作状态,执行空闲任务。
在步骤402中,通过系统设置统计微处理器占用率所需要的统计间隔。
其中,统计间隔应该为实时中断间隔的整数倍。
为微处理器设置计算微处理器占用率的统计间隔后,在步骤403中,微处理器将其记录的实时中断的次数清零。
其中,根据具体要求,在本步骤中微处理器将实时中断的次数清零的同时还可以记录其它相关的调试状态参数。
在步骤404中,微处理器等待下一个实时中断的到达,当下一个实时中断到达时,微处理器将在步骤405中,开始通过对实时中断的计数计算实际统计的时间,同时将空闲任务中统计的循环实体的执行次数清零,重新在空闲任务中统计循环实体的执行次数。
在步骤406中,当实际统计的时间大于或等于步骤402中设置的统计间隔,根据统计的循环实体的执行次数计算微处理器的当前占用率。获得当前占用率后,微处理器将开始进行下一次的占用率计算,即执行步骤403。
更具体地说,假设通过频率1KHz,即间隔1ms,的高稳晶振为微处理器提供中断,通过逻辑器件,可设置的处理器得到的实时中断间隔为5ms。并假设将计算微处理器的占用率的统计间隔设置为100ms
设置统计微处理器占用率的统计间隔后,微处理器首先将实时中断的次数清零,然后等待下一个实时中断的到达。当下一个实时中断到达时,微处理器开始对实时中断计数,并将空闲任务中统计的循环实体的执行次数清零,重新在空闲任务中统计循环实体的执行次数。每当一个实时中断到达时,微处理器将对实时中断的次数进行加1,并判断实时中断间隔5ms与实时中断次数n的乘积是否大于或等于设置的统计间隔100ms,如果是,则计算微处理器的当前占用率;否则,继续等待下一个实时中断到达。
其中,假设在统计间隔100ms中,统计的循环实体的执行次数为100次,而且知道微处理器在单位实时中断间隔执行循环实体的次数是50(次/实时中断)、实时中断间隔为5ms,则可以先通过下式计算微处理器的占用率:
Figure C200610113788D00131
微处理器的占用率=100%-微处理器的空闲率=90%;
考虑到有些微处理器没有浮点运算功能,为减小误差,可以按下式计算计算微处理器的占用率:
微处理器的占用率=100-微处理器的空闲率×100;
这样做可以将得到的值放大100倍,即保留计算结果的3位有效值。
在实际情况中,可以根据微处理器的特性,使用下述公式计算微处理器的占用率:
微处理器的占用率=10n-微处理器的空闲率×10n
其中,n为自然数。采用该公式的作用在于,可以将微处理器的占用率的值放大10n倍,从而增加有效位数,获得更高精度值。n的值可以根据微处理器自身的精度特性和用户所需要的精度进行设定。
可以看出,在运行阶段用户可以随时通过系统设置统计微处理器占用率的统计间隔,微处理器收到系统设置的参数后,立刻将其记录的实时中断的次数清零,并等待下一次实时中断的到达,按用户新设置的统计间隔重新周期性地计算占用率。
在上述方法中,无论在空闲阶段还是在运行阶段,用户都可以随时对微处理器进行设置。在实际情况中,用户有时仅需要对微处理器设置一次即可,而没必要进行随时、反复地设置。基于用户仅对微处理器设置一次的要求,本发明还提出了一种方法。下面,结合图5对该方法做进一步具体说明。
在步骤501中,微处理器进入无操作状态,此时,实时中断的处理程序不参与微处理器的占用率的计算。
在步骤502中,系统初始化,为微处理器设置相关参数,即,设置实时中断的频率、统计时间、统计微处理器占用率所需要的统计间隔和循环实体。
为微处理器设置相关参数后,在步骤503中,微处理器进入预操作状态,微处理器分别将其统计的执行循环实体的次数和实时中断的次数都清零。
然后,在步骤504中,微处理器等待下一个实时中断的到达,当下一个实时中断到达时,微处理器进入操作状态。
当微处理器进入操作状态,将在步骤505中,开始执行循环实体、统计循环次数,同时通过对实时中断的计数计算实际统计的时间。
在步骤506中,当实际统计的时间大于或等于步骤502中设置的统计时间时,停止执行循环实体。
然后,在步骤507中,根据统计的循环次数计算微处理器在单位实时中断间隔执行循环实体的次数。
微处理器获得在单位实时中断间隔执行循环实体的次数后,空闲阶段结束,此时已经创建了优先级最低的空闲任务,在步骤508中,微处理器将实时中断的次数清零,执行空闲任务,即无限次地执行循环实体并统计执行次数,等待下一个实时中断的到达。当下一个实时中断到达时,微处理器将在步骤509中,开始通过对实时中断的计数计算实际统计的时间,同时将空闲任务中统计的循环实体的执行次数清零,重新在空闲任务中统计循环实体的执行次数。
在步骤510中,当实际统计的时间等于步骤502中设置的统计间隔,根据统计的循环实体的执行次数计算微处理器的当前占用率。获得当前占用率后,微处理器将开始进行下一次的占用率计算,即执行步骤508。
可以看出,在本发明中利用硬件的实时中断实现微处理器占用率的统计,由于所有的操作和状态的变迁都是与硬件实时中断沿对齐的,从而提高了计算微处理器占用率的精确度和可靠性;同时,利用实时中断作为定时器,也减小了系统定时任务在启动时的定时时间误差,避免了高优先级任务对定时任务的打断,而且定时任务的定时精度不再依赖于系统的任务调度精度。利用实时中断计算微处理器的好处还在于没有增加多余的系统资源消耗,仅仅增加了一个无限循环执行的两个指令的优先级最低的空闲任务。
而且在嵌入式系统中,往往都有实时中断,所以本发明的方法具有很好的移植性。可在任意存在实时中断的系统中实现。用户可以在任意时刻获取微处理器的占用率,设置统计微处理器占用率的统计间隔,对统计间隔的修改可以在一个实时中断的时间间隔内得到响应,提高了计算微处理器占用率的实时性,降低了对操作系统的依赖,与操作系统所提供的接口相比,提供程序可获取微处理器占用率的接口。
以上所述的实施例仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1、一种微处理器占用率的统计方法,其特征在于,包括:
微处理器根据系统设置的实时中断的间隔、统计时间和循环实体,统计循环实体的执行次数,计算其在单位实时中断间隔执行循环实体的次数,执行空闲任务;
微处理器按系统设置的统计间隔,统计空闲任务中循环实体的执行次数,并根据
Figure C200610113788C00021
计算当前的占用率;
其中,N是循环实体的执行次数,Ni是微处理器在单位实时中断执行循环实体的次数,T是统计间隔,t是实时中断的间隔。
2、根据权利要求1所述的方法,其特征在于,在初始化时,系统设置实时中断的间隔、统计时间和循环实体;当微处理器计算获得其在单位实时中断间隔执行循环实体的次数后,系统设置统计间隔。
3、根据权利要求2所述的方法,其特征在于,微处理器按下述步骤根据系统设置的统计间隔,统计空闲任务中循环实体的执行次数:
微处理器获得在单位实时中断间隔执行循环实体的次数后,进入无操作状态等待系统设置统计间隔;
微处理器在系统设置统计间隔后,将实时中断的次数清零,等待下一个实时中断到达;
微处理器在下一个实时中断到达时,开始计算实际统计的时间,并将空闲任务中统计的循环实体的执行次数清零,重新统计空闲任务中循环实体的执行次数,直到实际统计的时间大于或等于系统设置的统计间隔。
4、根据权利要求1所述的方法,其特征在于,在初始化时,系统设置实时中断的间隔、统计时间、循环实体和统计间隔。
5、根据权利要求4所述的方法,其特征在于,微处理器按下述步骤根据系统设置的统计间隔,统计空闲任务中循环实体的执行次数:
微处理器计算获得其在单位实时中断间隔执行循环实体的次数,将实时中断的次数清零,等待下一个实时中断到达;
微处理器在下一个实时中断到达时,开始计算实际统计的时间,并将空闲任务中统计的循环实体的执行次数清零,重新统计空闲任务中循环实体的执行次数,直到实际统计的时间大于或等于系统设置的统计间隔。
6、根据权利要求1至5任意一项所述的方法,其特征在于,微处理器按下述步骤根据系统设置的统计时间统计循环实体的执行次数:
微处理器在系统设置实时中断的间隔、统计时间和循环实体后,进入预操作状态,将循环实体的执行次数和实时中断的次数都清零,等待下一个实时中断到达;
微处理器在下一个实时中断到达时,进入操作状态,开始计算实际统计的时间,并开始执行循环实体、统计执行次数,直到实际统计的时间大于或等于系统设置的统计时间。
7、根据权利要求6所述的方法,其特征在于,微处理器按下述步骤计算实际统计的时间:
每当一个实时中断到达时,对实时中断的次数加1;
计算实时中断间隔与实时中断次数的乘积,获得实际统计的时间。8、根据权利要求6所述的方法,其特征在于,微处理器计算
Figure C200610113788C00031
获得其在单位实时中断间隔执行循环实体的次数;
其中,N是循环实体的执行次数,T是统计时间,t是实时中断的间隔。
9、根据权利要求6所述的方法,其特征在于,微处理器按下述步骤计算计算当前的占用率:
计算 N N i · ( T / t ) · 100 % , 获得微处理器当前的空闲率;
计算 100 % - N N i · ( T / t ) · 100 % , 获得微处理器当前的占用率;
其中,N是循环实体的执行次数,Ni是微处理器在单位实时中断执行循环实体的次数,T是统计间隔,t是实时中断的间隔。
10、根据权利要求6所述的方法,其特征在于,微处理器按下述步骤计算计算当前的占用率:
计算 N N i · ( T / t ) · 10 n , 获得微处理器当前的空闲率;
计算 10 n - N N i · ( T / t ) · 10 n , 获得微处理器当前的占用率;
其中,N是循环实体的执行次数,Ni是微处理器在单位实时中断间隔执行循环实体的次数,T是统计间隔,t是实时中断的间隔,n是自然数。
CNB2006101137882A 2006-10-16 2006-10-16 微处理器占用率的统计方法 Active CN100474265C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006101137882A CN100474265C (zh) 2006-10-16 2006-10-16 微处理器占用率的统计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006101137882A CN100474265C (zh) 2006-10-16 2006-10-16 微处理器占用率的统计方法

Publications (2)

Publication Number Publication Date
CN101165657A CN101165657A (zh) 2008-04-23
CN100474265C true CN100474265C (zh) 2009-04-01

Family

ID=39334364

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101137882A Active CN100474265C (zh) 2006-10-16 2006-10-16 微处理器占用率的统计方法

Country Status (1)

Country Link
CN (1) CN100474265C (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106708709A (zh) * 2015-07-30 2017-05-24 中兴通讯股份有限公司 Cpu占用率检测方法及装置
CN107368402A (zh) * 2017-07-10 2017-11-21 中国第汽车股份有限公司 计算cpu利用率的方法

Also Published As

Publication number Publication date
CN101165657A (zh) 2008-04-23

Similar Documents

Publication Publication Date Title
CN106293919B (zh) 一种时间触发的嵌入式任务调度装置与方法
CN103257670B (zh) 嵌入式系统及其计时方法
CN102483706B (zh) 信息处理装置和信息处理装置的控制方法
CN112530056B (zh) 降低智能门锁功耗的方法、智能门锁和存储介质
US20090048804A1 (en) Method for Measuring Utilization of a Power Managed CPU
CN100338581C (zh) 用于确定cpu利用率的独立于操作系统的方法和系统
CN102156584B (zh) 触摸屏终端及其解决触摸屏死锁的方法
CN105718257B (zh) 基于嵌入式系统的定时器装置及定时方法
CN103218033A (zh) 一种唤醒硬件设备的方法及装置
CN104536835A (zh) 一种热备份实时控制系统中自适应任务调度方法
CN101339521A (zh) 一种任务优先级动态调度算法
CN103645794A (zh) 一种通过边沿检测电路实现睡眠模式唤醒的芯片及方法
CN100501694C (zh) 处理器利用率的测量装置及方法
CN103995742A (zh) 一种基于mcu的嵌入式实时调度控制装置及方法
CN102169452A (zh) 解决移动终端的触摸屏死锁的方法
CN100474265C (zh) 微处理器占用率的统计方法
CN100410911C (zh) 中断控制器、中断信号预处理电路及其中断控制方法
CN100495350C (zh) 计算机看门狗装置及其工作方法
CN105634502A (zh) 基于状态机的按键扫描的实现方法
CN114625108A (zh) 一种仿真测试方法及装置
CN103176841A (zh) 实时操作系统Tick时钟的实现方法及装置
CN102890445B (zh) 一种多功能定时器
Nahas et al. Ways for implementing highly-predictable embedded systems using time-triggered co-operative (TTC) architectures
CN106933535B (zh) 一种在单片机系统中实现高精度延时的方法
CN1581079B (zh) 网络服务器宕机自动重启方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant