CN100365544C - 嵌入式系统外部设备带有等待超时判断的节能切换方法 - Google Patents
嵌入式系统外部设备带有等待超时判断的节能切换方法 Download PDFInfo
- Publication number
- CN100365544C CN100365544C CNB2006100497700A CN200610049770A CN100365544C CN 100365544 C CN100365544 C CN 100365544C CN B2006100497700 A CNB2006100497700 A CN B2006100497700A CN 200610049770 A CN200610049770 A CN 200610049770A CN 100365544 C CN100365544 C CN 100365544C
- Authority
- CN
- China
- Prior art keywords
- task
- equipment
- value
- state
- timer
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Power Sources (AREA)
Abstract
本发明公开了一种嵌入式系统外部设备带有等待超时判断的节能切换方法。本发明的方法通过操作系统将待处理任务的最长等待时间与任务一起发送给相应设备并由该设备驱动程序中的仲裁部分根据当前设备等待队列和运行队列的状况判定设备将要进入的状态,在实际的待处理任务到来分布情况下,本发明可以有效集中设备处于工作状态的时间和空闲时间,减少由于频繁切换工作状态带来的能量消耗,超时判断机制可以有效预防过度等待带来的系统性能下降,因而在可以接受的性能表现下节省设备能耗。
Description
技术领域
本发明涉及嵌入式系统应用领域,能耗管理领域,外部设备管理领域,特别是涉及一种嵌入式系统外部设备带有等待超时判断的节能切换方法。
背景技术
从电子游戏机到数字电视机顶盒到各种数码家电,嵌入式系统应用越来越多地参与到我们的生活中来。其实,嵌入式产品不仅应用于各种消费类电子产品中,其在移动计算,教育科研,医疗保健,工业控制等众多领域,也有广阔的施展空间。
尽管电池技术一直在不断进步,如更长的寿命及更小的体积,但这种发展仍然无法赶上下一代芯片设计快速增长的功率需求。要在新产品中将电池寿命延长到用户可以接受的水平,普通的电源管理方法已经不能胜任了。
在实际的嵌入式应用中,电源管理已经成为一个日益重要的课题,当前主流的电源管理技术主要是基于动态电压调节和动态电源管理,系统或设备不同的电压对应了不同的运行状态,动态电源管理是上层策略,通过使用底层的动态电压调节技术实现。动态电源管理通过在系统的部分组件不工作时将其关断或降低运行频率,并在有任务到来时给其正常工作电压以减少系统级功耗,动态电源管理广泛应用于大多数便携式电子系统,但普遍比较简单,并不能发挥其全部潜力,更复杂,更先进的动态电源管理方法也在研究中不断产生。
目前国际上动态电源管理方法分为三大类:基于阈值的方法,基于预测的方法和随机最优方法。其中基于阈值的方法是最基本也是应用最为广泛的方法,其它两种方法的普及程度还不高。
经典的基于阈值的方法综合考虑了设备状态切换的延迟时间,状态切换带来的峰值功耗损失。设Pw是设备处于满负荷状态时的功率,Ps是设备处于空闲状态时的功率;Tsd,Twu分别是从满负荷状态切换到空闲状态的时间和从空闲状态切换到满负荷状态的时间;Esd,Ewu分别是执行上述切换时消耗的能量。上述参数都是跟具体设备相关的。关断阈值Tbe满足的方程如下:
Pw·Tbe=Esd+Ewu+Ps·(Tbe-Tsd-Twu)
由此解出,Tbe=(Esd+Ewu-Ps(Tsd+Twu))/(Pw-Ps)
研究者以往的焦点主要集中在CPU的节能管理上,因为当时对于整个系统而言CPU是能耗最大的,也是容易入手研究的。但是随着研究的深入和硬件技术的提高,对CPU节能机制已经有了一些成型,有效的方法。CPU在系统中的功耗已不完全占据主导地位;而嵌入式系统的组成越来越复杂,众多的外部设备已成为新的能源消耗大户,这就需要对当前的外部设备做软硬件全方位的改进,努力从驱动程序的层面加强对外部设备的节能管理。
现实中任务的到来是杂乱无序而且不可预测的,在这种情况下,研究者建立了很多模型来匹配真实环境下的访问情况分布,但实际上使用这些模型的预测算法本身就有很多计算量,其复杂性带来的时间延迟也是不可忽略的,而且这些模型本身没有通用性,用在另一种设备上很可能效果不明显或根本无效,这就呼唤通用节能方法的出现。
发明内容
本发明的目的在于提供一种用于嵌入式系统外部设备带有等待超时判断的节能切换方法。
本发明为解决其技术问题,采用的技术方案如下:
嵌入式系统对外部设备的访问有不同的执行时间,不同任务也有不同的优先级,在任务各特定参数已明确的前提下,可以兼顾系统响应性能和节能要求。使用带有等待超时判断的节能切换方法可能出现以下六种情况:
1)执行分派任务的设备有两种不同的工作状态,分别是满负荷状态B和空闲状态I,状态B功率大,能耗高,状态I功率小,能耗低,操作系统根据应用程序对外部设备的读写请求生成具体的任务,根据任务类型预测该任务的最长等待时间Tw,Tw连同任务一起发送给相应设备,设备从状态B切换到状态I需要经过阈值Ts时长,任务排队长度为可预设值N;
2)接收到新的任务时,如果设备正处于状态B,设备驱动程序将该任务加入设备的运行队列,同时设定并启动该任务的定时器,任务的Tw值作为定时器的初始值,定时器随系统时间流逝定时减少Tw的值,直到该值被减为零,定时器向驱动程序发出中断请求;
3)接收到新的任务时,如果设备正处于状态I,且该任务的到来不能满足在设备上排队等待的任务个数达到预设值N,则将任务加入设备的等待队列,同时设定并启动该任务的定时器,任务的Tw值作为定时器的初始值,定时器随系统时间流逝定时减少Tw的值,直到该值被减为零,定时器向驱动程序发出中断请求;
4)接收到新的任务时,如果设备正处于状态I,且该任务的到来正好满足在设备上排队等待的任务个数达到预设值N,则设定并启动该任务的定时器,任务的Tw值作为定时器的初始值,定时器随系统时间流逝定时减少Tw的值,直到该值被减为零,定时器向驱动程序发出中断请求;比较等待队列中所有任务当前的Tw值,按照从小到大的顺序重新排序,保证Tw值小者优先获得设备使用权,将等待队列中的所有任务转入运行队列,设备状态从I切换到B,按照顺序执行运行队列中的任务;
5)当有定时器向驱动程序发出中断请求时,如果设备正处于状态B,则比较运行队列中所有任务当前的Tw值,按照从小到大的顺序重新排序,保证Tw值小者优先获得当前任务执行完毕之后的设备使用权,按照顺序执行运行队列中的任务;如果设备正处于状态I,则比较等待队列中所有任务当前的Tw值,按照从小到大的顺序重新排序,保证Tw值小者优先获得设备使用权,将等待队列中的所有任务转入运行队列,设备状态从I切换到B,按照顺序执行运行队列中的任务;
6)当设备处于状态B且运行队列中所有任务执行完毕时,设备等待Ts长的时间,在此期间如果有新的任务进入运行队列,停止计时,如果没有新任务进入,在时间Ts过后,设备状态从B切换到I。本发明与背景技术相比,具有的有益效果是:它集中了设备处理任务的时间和空闲时间,减少了设备状态频繁切换带来的能耗增加;超时判断机制考虑了系统实时性要求;保留了阈值关断方法的优点。
附图说明
图1是本方法的流程图;
图2是设备两种状态互相转换的条件图;
图3对应具体实施方式中的情况3;
图4对应具体实施方式中的情况4。
具体实施方式
操作系统传送给设备的任务包括访问细节和前面所述的最长等待时间Tw。一旦任务提交给对应设备的驱动程序,对应的定时器就会启动,随着系统时间逐步减少更新,处于B状态的设备只可能在运行队列为空并等待Ts时间后转入I状态;处于I状态的设备有两种触发方式转入B状态,即等待队列个数等于N或者等待队列中有定时器超时,同时对等待队列根据当前Tw排序,确定执行优先级。
用几个例子来说明如何用本发明解决外部设备处理任务请求的情况:
情况1:应用程序App要求对外部设备微硬盘Dev进行读写操作,操作系统根据该程序特点和请求的实时性要求估计其可以在等待队列中等待的最长时间Tw,该特定设备Dev的任务排队长度预设值为N=3,Dev对应两种工作状态,分别是高功耗状态B和空闲状态I,从状态B切换到状态I的延迟时间为Ts=1.2s,任务派发时将Tw与任务细节一起发送给Dev的驱动程序(见图1)。
情况2:应用程序App的任务请求发送给Dev的驱动程序,Dev当前处于状态B,即正在处理其它任务请求Task1,同时运行队列中有另外一个任务Task2正等待获得Dev的使用权,将该任务直接放入设备的运行队列中并命名为Task3,启动Task3对应的定时器,其初始值为App发送给Dev的任务中的Tw值,驱动程序完成对这次任务请求的响应(见图1)。
情况3:应用程序App的任务请求发送给Dev的驱动程序,Dev当前处于状态I,即运行队列为空,等待队列中此时有一个任务即Task1,其当前Tw值为0.8s,并没有超时,新来的任务命名为Task2,其Tw值为0.6s,启动Task2的定时器,初始值设为0.6s,将Task2放入等待队列中。当前等待队列中排队的任务个数为2,小于Dev的预设任务排队长度(N=3),所以不能将系统从状态I切换到状态B,驱动程序完成对这次任务请求的响应(见图3)。
情况4:应用程序App的任务请求发送给Dev的驱动程序,Dev当前处于状态I,即运行队列为空,等待队列中此时有两个任务:Task1,其当前Tw值为1.5s,没有超时;Task2,其当前Tw值为0.4s,也没有超时。新来的任务命名为Task3,其Tw值为0.6s,启动Task3的定时器,初始值设为0.6s,将Task3放入等待队列中。当前等待队列中排队的任务个数为3,等于Dev的预设任务排队长度(N=3),符合将Dev从状态I转换到状态B的要求。将等待队列中的全部3个任务转入运行队列,根据Tw值对任务运行次序排列,原Task2标记为Task1,原Task3标记为Task2,原Task1标记为Task3。在没有超时中断请求的情况下,按照Task值从小到大的顺序执行,Dev从状态I切换为状态B,驱动程序完成对这次任务请求的响应(见图4)。
情况5:1)驱动程序检测到有定时器发出超时中断请求,Dev当前处于状态B,运行队列中此时有三个任务:Task1正在执行;Task2当前Tw值为1.3s,没有超时;Task3当前Tw值为0,超时中断请求就是它发出的。根据当前Tw值重新对运行队列进行排队,Task1正在运行,不能抢占,原Task3标记为Task2,原Task2标记为Task3。在没有新的超时中断请求的情况下,按照Task值从小到大的顺序执行,驱动程序完成对这次任务请求的响应。2)驱动程序检测到有定时器发出超时中断请求,Dev当前处于状态I,运行队列为空,等待队列中有两个任务在排队:Task1当前Tw值为0.4s,没有超时;Task2当前Tw值为0,超时中断请求就是它发出的。当前情况符合状态转换条件,将等待队列中的全部任务转入运行队列,根据当前Tw值重新对运行队列进行排队,原Task2标记为Task1,原Task1标记为Task2,Dev从状态I切换为状态B,按照Task值从小到大的顺序执行,驱动程序完成对这次任务请求的响应。
情况6:Dev处于状态B,运行队列和等待队列均为空,为避免频繁的状态切换发生,Dev并不立即转入状态I,当运行队列中最后一个任务执行完毕后,驱动程序启动定时器,其初始值设为Ts值,在该定时器运行期间,新的任务Task1到来,驱动程序自动取消该定时器,同时开始按照情况1所述步骤执行。若在该定时器超时之前并没有新的任务到来,系统在定时器超时后将状态B切换为状态I。
Claims (1)
1.一种嵌入式系统外部设备带有等待超时判断的节能切换方法,其特征在于该方法的步骤如下:
1)执行分派任务的设备有两种不同的工作状态,分别是满负荷状态B和空闲状态I,状态B功率大,能耗高,状态I功率小,能耗低,操作系统根据应用程序对外部设备的读写请求生成具体的任务,根据任务类型预测该任务的最长等待时间Tw,Tw连同任务一起发送给相应设备,设备从状态B切换到状态I需要经过阈值Ts时长,任务排队长度为可预设值N;
2)接收到新的任务时,如果设备正处于状态B,设备驱动程序将该任务加入设备的运行队列,同时设定并启动该任务的定时器,任务的Tw值作为定时器的初始值,定时器随系统时间流逝定时减少Tw的值,直到该值被减为零,定时器向驱动程序发出中断请求;
3)接收到新的任务时,如果设备正处于状态I,且该任务的到来不能满足在设备上排队等待的任务个数达到预设值N,则将任务加入设备的等待队列,同时设定并启动该任务的定时器,任务的Tw值作为定时器的初始值,定时器随系统时间流逝定时减少Tw的值,直到该值被减为零,定时器向驱动程序发出中断请求;
4)接收到新的任务时,如果设备正处于状态I,且该任务的到来正好满足在设备上排队等待的任务个数达到预设值N,则设定并启动该任务的定时器,任务的Tw值作为定时器的初始值,定时器随系统时间流逝定时减少Tw的值,直到该值被减为零,定时器向驱动程序发出中断请求;比较等待队列中所有任务当前的Tw值,按照从小到大的顺序重新排序,保证Tw值小者优先获得设备使用权,将等待队列中的所有任务转入运行队列,设备状态从I切换到B,按照顺序执行运行队列中的任务;
5)当有定时器向驱动程序发出中断请求时,如果设备正处于状态B,则比较运行队列中所有任务当前的Tw值,按照从小到大的顺序重新排序,保证Tw值小者优先获得当前任务执行完毕之后的设备使用权,按照顺序执行运行队列中的任务;如果设备正处于状态I,则比较等待队列中所有任务当前的Tw值,按照从小到大的顺序重新排序,保证Tw值小者优先获得设备使用权,将等待队列中的所有任务转入运行队列,设备状态从I切换到B,按照顺序执行运行队列中的任务;
6)当设备处于状态B且运行队列中所有任务执行完毕时,设备等待Ts长的时间,在此期间如果有新的任务进入运行队列,停止计时,如果没有新任务进入,在时间Ts过后,设备状态从B切换到I。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100497700A CN100365544C (zh) | 2006-03-10 | 2006-03-10 | 嵌入式系统外部设备带有等待超时判断的节能切换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100497700A CN100365544C (zh) | 2006-03-10 | 2006-03-10 | 嵌入式系统外部设备带有等待超时判断的节能切换方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1828481A CN1828481A (zh) | 2006-09-06 |
CN100365544C true CN100365544C (zh) | 2008-01-30 |
Family
ID=36946906
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100497700A Expired - Fee Related CN100365544C (zh) | 2006-03-10 | 2006-03-10 | 嵌入式系统外部设备带有等待超时判断的节能切换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100365544C (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100426240C (zh) * | 2006-11-22 | 2008-10-15 | 北京中星微电子有限公司 | 一种消息及时处理方法和嵌入式多任务操作系统 |
CN101067758B (zh) * | 2007-06-14 | 2010-05-19 | 华南理工大学 | 一种嵌入式系统的能耗管理方法 |
CN102256024B (zh) * | 2010-05-17 | 2014-03-12 | 中兴通讯股份有限公司 | 排队请求等待超时的处理方法和装置 |
CN101943944B (zh) * | 2010-09-15 | 2012-07-04 | 中国人民解放军国防科学技术大学 | 一种基于空闲历史信息的计算阵列节能方法 |
CN102902581B (zh) | 2011-07-29 | 2016-05-11 | 国际商业机器公司 | 硬件加速器及方法、中央处理单元、计算设备 |
CN103677981B (zh) * | 2012-09-03 | 2017-08-29 | 联想(北京)有限公司 | 状态切换方法和装置 |
US8892106B2 (en) * | 2012-11-08 | 2014-11-18 | Intel Mobile Communications GmbH | Cell transfer controller and method for selecting a radio cell |
CN103605623A (zh) * | 2013-10-31 | 2014-02-26 | 北京智谷睿拓技术服务有限公司 | 存储设备的读写控制方法和读写控制设备 |
CN105893119A (zh) * | 2016-03-31 | 2016-08-24 | 广东美的厨房电器制造有限公司 | 基于单片机系统的事件处理方法、装置和单片机系统 |
CN108121599A (zh) * | 2016-11-30 | 2018-06-05 | 杭州海康威视数字技术股份有限公司 | 一种资源管理方法、装置及系统 |
CN107943575A (zh) * | 2017-12-07 | 2018-04-20 | 北京兆易创新科技股份有限公司 | Spi‑nand中的多任务监管方法和装置 |
CN110348818B (zh) * | 2019-07-17 | 2024-01-19 | 博仕瀚道(上海)信息科技有限公司 | 一种流程引擎的流程智能处理方法及系统 |
CN110320813B (zh) * | 2019-07-29 | 2022-07-19 | 青岛海尔科技有限公司 | 物联网设备的电源管理方法及装置 |
CN113127179A (zh) * | 2019-12-30 | 2021-07-16 | 中兴通讯股份有限公司 | 资源调度方法、装置、电子设备及计算机可读介质 |
CN111598672B (zh) * | 2020-07-27 | 2020-11-24 | 南京梦饷网络科技有限公司 | 用于合成视频的方法、计算设备和计算机可读存储介质 |
CN112463370A (zh) * | 2020-11-20 | 2021-03-09 | 深圳市雷鸟网络传媒有限公司 | 任务执行方法、设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020065700A1 (en) * | 1999-04-19 | 2002-05-30 | G. Edward Powell | Method and system for allocating personnel and resources to efficiently complete diverse work assignments |
CN1409209A (zh) * | 2001-09-24 | 2003-04-09 | 深圳市中兴通讯股份有限公司上海第二研究所 | 一种多任务实时操作系统的实现方法 |
JP2003256067A (ja) * | 2002-03-01 | 2003-09-10 | Mitsubishi Electric Corp | 省電力制御方式及び省電力制御方法及びプログラム及び記録媒体 |
CN1740973A (zh) * | 2004-08-23 | 2006-03-01 | 中兴通讯股份有限公司 | 一种实时任务管理与调度方法 |
-
2006
- 2006-03-10 CN CNB2006100497700A patent/CN100365544C/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020065700A1 (en) * | 1999-04-19 | 2002-05-30 | G. Edward Powell | Method and system for allocating personnel and resources to efficiently complete diverse work assignments |
CN1409209A (zh) * | 2001-09-24 | 2003-04-09 | 深圳市中兴通讯股份有限公司上海第二研究所 | 一种多任务实时操作系统的实现方法 |
JP2003256067A (ja) * | 2002-03-01 | 2003-09-10 | Mitsubishi Electric Corp | 省電力制御方式及び省電力制御方法及びプログラム及び記録媒体 |
CN1740973A (zh) * | 2004-08-23 | 2006-03-01 | 中兴通讯股份有限公司 | 一种实时任务管理与调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1828481A (zh) | 2006-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100365544C (zh) | 嵌入式系统外部设备带有等待超时判断的节能切换方法 | |
CN105247486B (zh) | 多cpu系统及多cpu系统的调整方法 | |
CN106797125B (zh) | 电力代理模块 | |
CN101339521B (zh) | 一种任务优先级动态调度算法 | |
US6986068B2 (en) | Arithmetic processing system and arithmetic processing control method, task management system and task management method | |
EP2227727B1 (en) | Data processor performance prediction | |
CN105893148B (zh) | 一种基于rm策略的偶发任务低能耗调度方法 | |
EP2316058B1 (en) | System and method for conserving power applied to an electrical apparatus | |
JP5982588B2 (ja) | 保証された過渡期限とともに中央処理装置の電力を制御するためのシステムおよび方法 | |
TW201205441A (en) | Multi-CPU domain mobile electronic device and operation method thereof | |
CN103116384B (zh) | 一种SoC系统时钟控制的方法和SoC | |
JP5764150B2 (ja) | パワー・オン状態から省電力状態に移行させる方法およびコンピュータ | |
Abdeddaïm et al. | The optimality of PFPasap algorithm for fixed-priority energy-harvesting real-time systems | |
JP2008077563A (ja) | 電子機器およびcpu動作環境制御プログラム | |
TWI502332B (zh) | 電源管理方法及應用該方法之電子系統 | |
CN101634886A (zh) | 电子装置 | |
JP5887846B2 (ja) | 電力制御システムおよび電力制御方法 | |
CN102152766B (zh) | 汽车电子门窗控制器及其控制方法、汽车电子门窗系统 | |
CN110320813B (zh) | 物联网设备的电源管理方法及装置 | |
CN101634882B (zh) | 高密度服务器电源控制系统及其方法 | |
JP5930504B2 (ja) | 保証された過渡期限とともに中央処理装置の電力を制御するためのシステムおよび方法 | |
WO2012001776A1 (ja) | マルチコアシステム、スケジューリング方法およびスケジューリングプログラム | |
CN111858241B (zh) | 一种fpga云平台的监控方法、装置、设备及存储介质 | |
CN105607728B (zh) | 电子设备及其电源管理方法 | |
CN106933325B (zh) | 一种固定优先级io设备能耗管理方法 |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080130 Termination date: 20120310 |