发明名称 编译器和操作系统内核协同的节能方法
摘要 本发明公开了一种编译器和操作系统内核协同的节能方法。采用编译器在编译阶段根据程序的静态属性将程序分成不同的状态段,结合在运行过程中通过内核收集运行时信息将程序动态分段,然后通过动态频率管理技术对不同状态段,设置相应的运行频率进行节能。本发明提出了一种内核动态加编译器静态对程序分段的方法,对原来的静态分段方法进行了改进,使得对程序的分段更加的贴近运行时状态,能够弥补静态分段的不足,降低程序运行时消耗的能量。
申请公布号 CN100346305C 申请公布日期 2007.10.31
申请号 CN200610048936.7 申请日期 2006.01.06
申请人 浙江大学 发明人 陈天洲;黄江伟;梁晓;钱杰;吴心亮
分类号 G06F9/45(2006.01);G06F1/32(2006.01) 主分类号 G06F9/45(2006.01)
代理机构 杭州求是专利事务所有限公司 代理人 林怀禹
主权项 1.一种编译器和操作系统内核协同的节能方法,其特征在于流程如下:1)程序静态分段:编译器在程序编译阶段完成程序的静态分段,编译器在对程序P的源代码进行扫描的过程中分段;编译器根据几条原则将程序P分为m个静态状态段,第一条原则:所有的函数调用都是一个独立的段,第二条原则:所有的循环都是一个独立的段;2)插入程序与内核通讯指令:程序的分段信息必须传给操作系统内核,编译器在编译过程中在每个段的前后都插入一条与内核通讯的指令,这条指令主要的作用是通知操作系统内核,现在程序进入一个新的段,这样操作系统内核就会建立新的数据结构管理这个段;3)程序运行状态段管理:通过编译器插入的通讯指令,操作系统内核就能建立起这个程序的管理框架;每个程序被分为很多段,操作系统内核将程序每个段的运行信息保存在一个数据结构中,并将这个程序所有的段信息用链表链在一起;4)动态分段和动态频率管理:操作系统内核根据快速缓存失效数动态的调整系统处理器的运行频率,使处理器处理数据的能力和数据传输的能力相匹配;操作系统内核将根据程序某个段在运行时快速缓存失效数的变化,决定是否将这个段细分;当单位时间内快速缓存失效数不在同一个级别中,操作系统内核将对这个段进行细分,分为两个不同的段,并将新的段信息保存起来;程序在运行过程中,操作系统内核根据运行时不同运行段单位时间内的快速缓存失效数和运行指令数,利用动态调频技术调整系统的频率,使处理器的空闲时间减少,减少处理器浪费的能耗,达到节能的目的。
地址 310027浙江省杭州市西湖区浙大路38号