当前位置: 首页 > 专利查询>浙江大学专利>正文

使用动态编译器控制程序运行时处理器频率的方法技术

技术编号:3860169 阅读:164 留言:0更新日期:2012-04-11 18:40
一种使用动态编译器调整程序运行时处理器频率的方法,包括以下步骤: (1)插入分析代码 使用动态编译器注入运行中的程序进程,通过对其二进制代码的分析,并以函数和循环体为单位将程序划分成代码段,对划分好的代码段,动态编译器在其入口以及出口处插入分析代码以其被执行的次数,一旦超过一定值,则认定相应的函数或循环为程序热点; (2)动态确定程序运行时的程序热点 在程序中插入的分析代码记录程序每个函数和循环执行的次数,一旦其超过设定值,则认为相应的函数或循环为程序热点;对确定后的程序热点,分析代码将进一步采集其性能;否则,动态编译器移除插入的分析代码,以减小程序运行的负担; (3)采集程序热点的性能 程序通过指令对硬件平台的硬件性能监视计数器PMC进行设置,要求PMC记录处理器运行的指令数和处理器二级缓存缺失数; 动态编译器插入的分析代码按如下过程采集程序热点的性能:一旦程序执行到一个程序热点,其入口处的分析代码将PMC的值清零;当该程序热点执行完后,其出口处的分析代码读取当前PMC的值,即该程序热点本次执行的处理器运行的指令数和处理器二级缓存缺失数;最后,这两个值将被记录到该程序热点的性能历史记录中; (4)根据程序热点的性能调整处理器频率 利用采集到的程序热点的数据,通过如下映射公式确定程序热点的最节能频率: f=P(f↓[max],m) 其中: m是当前处理器的二级缓存缺失比,m=处理器二级缓存缺失数/处理器运行的指令数; f为当前处理器最节能频率; f↓[max]为处理器的最高运行频率; P(f↓[max],m)为m,f↓[max]到f的一个映射,该映射将根据当前m参数和处理器的最高运行频率f↓[max]为当前程序热定确定最节能频率; 确认程序热点的最节能频率后,将该频率与处理器的最高运行频率进行比较,如果两者一样,则意味着在运行时没有必要调整该程序热点的频率,插入的分析代码会被移除;如果最节能频率比处理器的最高运行频率要低,则分析代码在该程序热点的入口处记录之前的处理器频率,并调节处理器频率为该程序热点的最节能频率;之后,当该程序热点运行完成后,分析代码将当前的处理器的频率恢复到之前记录下的频率。

【技术实现步骤摘要】

本专利技术涉及基于系统软件节能
,特别是涉及一种。
技术介绍
随着IT产品功能日益强大,消耗的功率也随之逐渐增高。如今,由十亿个晶体管构成的芯片,额外漏电已经达到60 70瓦。功耗的提高,同时也带来了散热量的增加,对散热设备的要求也变得越来越大。一而在计算机系统,特别是各种嵌入式设备中,CPU是消耗电力的主要部件之一。在便携式嵌入式设备电源管理领域,目前的困难在于既要满足便携式终端对电源供电的要求,又要做到占用空间小、重量轻和供电时间更长。下一代消费类电子产品的电源解决方案重点应该集中在硬件和软件两方面技术,包括(l)在小巧外形尺寸下,如何实现所需电源性能的工艺和技术,涉及热管理、降噪、电池管理和功能整合等技术;(2)动态功率管理技术,它取决于CPU性能、软件、中间件以及用户对更换电池的时间间隔等要求;(3)动态功率管理技术对操作系统内核和驱动器,以及应用编程接口(API)对驱动器、中间件和应用本身的影响。现在嵌入式设备的功能变得越来越强大,功能也越来越丰富。随着嵌入式设备功能越来越多,用户对嵌入式设备电池的能量需求也越来越高,现有的锂离子电池己经越来越难以满足消费者对正常使本文档来自技高网...

【技术保护点】
一种使用动态编译器调整程序运行时处理器频率的方法,包括以下步骤: (1)插入分析代码 使用动态编译器注入运行中的程序进程,通过对其二进制代码的分析,并以函数和循环体为单位将程序划分成代码段,对划分好的代码段,动态编译器在其入口以及出口处插入分析代码以其被执行的次数,一旦超过一定值,则认定相应的函数或循环为程序热点; (2)动态确定程序运行时的程序热点 在程序中插入的分析代码记录程序每个函数和循环执行的次数,一旦其超过设定值,则认为相应的函数或循环为程序热点;对确定后的程序热点,分析代码将进一步采集其性能;否则,动态编译器移除插入的分析代码,以减小程序运行的负担; (3)采集程序热点的性能 程序...

【技术特征摘要】
1、一种使用动态编译器调整程序运行时处理器频率的方法,包括以下步骤(1)插入分析代码使用动态编译器注入运行中的程序进程,通过对其二进制代码的分析,并以函数和循环体为单位将程序划分成代码段,对划分好的代码段,动态编译器在其入口以及出口处插入分析代码以其被执行的次数,一旦超过一定值,则认定相应的函数或循环为程序热点;(2)动态确定程序运行时的程序热点在程序中插入的分析代码记录程序每个函数和循环执行的次数,一旦其超过设定值,则认为相应的函数或循环为程序热点;对确定后的程序热点,分析代码将进一步采集其性能;否则,动态编译器移除插入的分析代码,以减小程序运行的负担;(3)采集程序热点的性能程序通过指令对硬件平台的硬件性能监视计数器PMC进行设置,要求PMC记录处理器运行的指令数和处理器二级缓存缺失数;动态编译器插入的分析代码按如下过程采集程序热点的性能一旦程序执行到一个程序热点,其入口处的分析代码将PMC的值清零;当该程序热点执行完后,其出口处的分析代码读取当前PMC的值,即该程...

【专利技术属性】
技术研发人员:陈天洲项凌翔马建良曹满章铁飞乔福明王春昊陈剑缪良华蒋冠军
申请(专利权)人:浙江大学
类型:发明
国别省市:86

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

1