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

一种面向嵌入式系统的全系统能耗模拟方法及系统技术方案

技术编号:6868239 阅读:175 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种面向嵌入式系统的全系统能耗模拟方法及系统,属于嵌入式系统低能耗设计领域。本发明专利技术的方法包括:配置系统部件信息;模拟执行操作系统和应用程序,模拟除处理器和内存外的其他系统部件的能耗,获取运行时的指令流信息;根据指令流信息,模拟处理器能耗和内存能耗,将时钟周期能耗映射为指令能耗,累计进程对应的程序所有指令执行期间的各个周期的能耗,作为该进程在执行过程中的全系统能耗;分析能耗模拟结果并显示。本发明专利技术能够提供较高精度的嵌入式系统的全系统能耗模拟结果,可以在嵌入式系统设计开发的早期阶段模拟评估硬件配置参数对系统能耗的影响,支持优化系统设计降低系统能耗。

【技术实现步骤摘要】

本专利技术属于嵌入式系统低能耗设计领域,具体涉及一种面向嵌入式系统的全系统能耗模拟方法及系统
技术介绍
随着嵌入式系统的运算能力、存储容量、多媒体处理能力快速发展,嵌入式设备能够支持的应用越来越多,功能越来越强大,向着多样化、个性化的方向发展。同时,嵌入式设备系统的能耗也在不断变大。然而,嵌入式设备尺寸及电池电量有限,使得降低能耗成为了嵌入式系统设计面临的严重挑战之一。为了解决这个问题,人们使用各种低能耗技术来降低嵌入式系统的能耗,包括低能耗硬件设计(系统部件具有多个功耗状态),低能耗软件设计、以及全系统能耗优化技术。为了支持低能耗的软硬件设计与优化技术,需要有效地评估嵌入式系统运行时的全系统能耗。评估系统能耗的方法有两种硬件测量和软件模拟。硬件测量方法实用,但是只能测量已经完成部署的系统,对硬件要求高,不适用于嵌入式系统设计阶段。软件模拟方法的准确性受限于能耗模型,但应用灵活,不仅可以模拟已经部署的系统能耗,还可以模拟处于设计阶段的系统能耗,并且具有可定制的功能,在研究开发领域具有较大优势。现有的软件模拟方法主要针对嵌入式处理器,不能对其他系统部件能耗进行有效的模拟。业界尚没有完整实用的全系统部件能耗模拟方法。
技术实现思路
本专利技术的目的在于对两种用户的工作提供帮助。1)嵌入式硬件系统设计开发者 (如智能手机生产厂商)可以使用本专利技术在设计嵌入式设备时模拟各个系统部件的能耗, 获得其目标嵌入式设备的能耗信息,来验证其设计是否满足能耗约束。幻嵌入式软件生产者(如嵌入式操作系统生产厂商)可以使用本专利技术获取操作系统运行在多种嵌入式设备上的能耗特性,来验证其低能耗优化策略的有效性。在本方法中,实现了时钟周期精度的全系统能耗模拟。时钟周期精度是指以处理器周期为单位,把系统部件周期能耗映射到对应的处理器周期中,从而得到以处理器周期为时间粒度的能耗模拟结果。其中,利用体系结构级处理器能耗模型模拟了指令流在处理器上运行时每个周期的能耗,利用基于状态和操作的系统部件能耗模型模拟除处理器以外的其他系统部件的时钟周期精度的能耗。执行每条指令时,计算系统各部件的时钟周期能耗,全系统能耗即为指令执行期间各系统部件的时钟周期能耗之和。在本方法中,采用外部设备能耗模拟器模拟执行操作系统和应用程序,截获程序对系统部件的访问,根据周期精度的系统部件能耗模型来准确模拟除处理器外的系统部件的能耗;采用处理器能耗模拟器根据指令流信息和基于体系结构的处理器能耗模型模拟处理器能耗;用全系统能耗合成模块累计程序执行期间的全系统能耗;最后,分析并显示能耗分析结果。具体来说,本专利技术针对嵌入式系统的全系统能耗模拟方法包括下列步骤A.配置目标嵌入式系统的系统部件信息。所述的目标嵌入式系统的结构如图1所示。包括下列系统部件处理器(计算型部件),内存(存储型部件),IO控制器(接口型部件),LCD、FLASH存储、网络设备(外部系统部件)等。所述的系统部件信息是指系统部件的结构、性能及功耗信息。可配置的信息包括Al.嵌入式处理器信息。包括体系结构信息和功耗信息。所述的体系结构信息是指处理器的各个体系结构部件(如高速缓存CACHE、逻辑运算单元ALU)的结构信息(如一级指令CACHE的块数、相联度、TAG位数等)。所述的功耗信息是指处理器的设计工艺(如90nm下的晶体管的功耗信息)及各体系结构部件的功耗信息(如频率、工作电压)。A2.内存信息。包括内存的结构信息、性能信息和功耗信息。所述的内存结构信息包括内存的类别(如SRAM、DRAM、FLASH)、内存的大小(如 32MB)以及内存的位宽(如8位)。所述的内存功耗信息包括内存在各个状态下的功耗(如IDLE状态下功耗为 IOmff)以及内存每次操作的访问时间(如90ns)。A3. IO控制器功耗信息。所述的IO控制器功耗信息是指IO控制器在各个功耗状态下的功耗(如=ACTIVE 状态下平均功耗为50mW)。A4. LCD 功耗信息。所述的IXD的功耗信息包括IXD显示的功耗以及IXD在各个背光亮度级别下的功^^ ο A5. FLASH信息。包括FLASH的性能信息和功耗信息。所述的FLASH存储的性能信息是指FLASH执行读、写单位数据操作的时间。所述的功耗信息是指FLASH在各种功耗状态下的功耗信息(如=WRITE状态下的平均功耗是IOOmW)。A6.网络设备信息。包括网络设备性能信息和功耗信息。所述的性能信息是指网络设备的发送、接收速率。所述的功耗信息是指网络设备在各种功耗状态下的功耗信息(如WRITE状态下的平均功耗是990mW)。B.外部设备能耗模拟器模拟执行操作系统和应用程序,每次模拟执行一条指令, 并获取当前运行进程的进程名和进程ID ;获取运行时的指令流信息,并通过消息队列将指令流信息发送到处理器能耗模拟器;在系统模拟器的模拟系统部件功能的函数中,根据当前执行的操作部件的指令的功能,更新相关系统部件的功耗状态;根据系统部件的当前状态或者操作特征(数据长度、所需的时钟周期数),模拟除处理器和内存外的其他系统部件的能耗;将进程名和进程ID、指令-地址,所模拟的系统部件能耗及操作的时钟周期数,通过消息队列发送给全系统能耗合成模块。实现方法为BA.模拟执行操作系统和应用程序,每次模拟执行一条指令;BAl.取指,根据PC (程序计数器)获取下一条指令;BA2.解码,对指令进行解码,获得指令的类型;BA3.执行,模拟执行指令的功能,修改系统状态(如PC值);BA4.获取当前运行进程的进程名和进程ID ;BB.获取运行时指令流信息,通过消息队列将指令流信息发送到处理器能耗模拟器。所述的指令流信息包括指令机器码、指令地址、指令访存地址(如果是访存指令)、指令所属进程信息(包括进程ID、进程名)。BBl.在取址阶段获得指令机器码、指令地址;BB2.如果是访存指令,在执行阶段获得指令访存的地址;BB3.获得指令所属进程ID,判断当前指令地址(PC)是否为进程切换函数的出口, 如果是,说明进行了进程切换,则读取当前进程控制块中的进程PID及进程名,否则不改变进程信息;BB4.通过消息队列将指令流信息发送到处理器能耗模拟器;BC.系统模拟器的模拟系统部件功能的函数中,根据当前执行的操作部件的指令的功能,更新相关系统部件的功耗状态;实现方法如下1)更新IO控制器状态。如果有指令访问IO控制器,则IO控制器为活动状态;反之为空闲状态;2)更新IXD状态。如果当前指令修改了 IXD控制寄存器,改变了 IXD的状态,则更新LCD状态,有空闲、活动、关闭三个状态;如果当前指令没有修改LCD的控制寄存器,则 LCD的状态和上个周期的状态相同; 3)更新FLASH存储状态。如果有指令读FLASH存储,则FLASH存储为读操作状态; 如果有指令写FLASH存储,则FLASH存储为写操作状态;如果不是访存指令,或没有Cache 缺失,则FLASH存储为空闲状态;4)更新网络设备状态。如果网络设备上没有执行读、写操作则网络设备处于空闲状态;如果有指令读网络设备,则网络设备处于读操作状态;如果有指令写网络设备,则网络设备处于写操作状态;如果有指令打开网络设备,则网络设备处于活动状态;如果有指令关闭网络设备,则网络设备处于关闭状态;本文档来自技高网...

【技术保护点】
1.一种面向嵌入式系统的全系统能耗模拟方法,其特征在于,包含以下步骤:A.配置目标嵌入式系统的系统部件信息;B.外部设备能耗模拟器模拟执行操作系统和应用程序,每次模拟执行一条指令,并获取当前运行进程的进程名和进程ID;获取运行时的指令流信息,并通过消息队列将指令流信息发送到处理器能耗模拟器;在系统模拟器的模拟系统部件功能的函数中,根据当前执行的操作部件的指令的功能,更新相关系统部件的功耗状态;根据系统部件的当前状态或者操作特征,模拟除处理器和内存外的其他系统部件的能耗;将进程名和进程ID、指令-地址,所模拟的系统部件能耗及操作的时钟周期数,通过消息队列发送给全系统能耗合成模块;C.处理器能耗模拟器根据指令流信息,根据处理器设计工艺参数和频率、电压等参数模拟处理器能耗;根据处理器访问内存的操作,内存数据访问量,以及内存参数模拟内存能耗;D.全系统能耗合成模块接收处理器、内存和系统部件能耗,将时钟周期能耗映射为指令能耗,累计进程ID或进程名对应的程序所有指令执行期间的各个周期的能耗,作为该进程在执行过程中的全系统能耗;E.分析能耗模拟结果并显示。

【技术特征摘要】

【专利技术属性】
技术研发人员:郭耀赵霞陈向群赵敬峰
申请(专利权)人:北京大学
类型:发明
国别省市:11

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

1