(微电子学与固体电子学专业论文)基于garfield的嵌入式系统功耗模型研究与应用.pdf_第1页
(微电子学与固体电子学专业论文)基于garfield的嵌入式系统功耗模型研究与应用.pdf_第2页
(微电子学与固体电子学专业论文)基于garfield的嵌入式系统功耗模型研究与应用.pdf_第3页
(微电子学与固体电子学专业论文)基于garfield的嵌入式系统功耗模型研究与应用.pdf_第4页
(微电子学与固体电子学专业论文)基于garfield的嵌入式系统功耗模型研究与应用.pdf_第5页
已阅读5页,还剩48页未读 继续免费阅读

(微电子学与固体电子学专业论文)基于garfield的嵌入式系统功耗模型研究与应用.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 摘要 功耗已经成为嵌入式系统设计中考虑的重要因素。低层次的门级或者r t l 级功耗评估工具虽然 估算精度较高,但是仿真速度太慢,不适合用于嵌入式系统的功耗评估,因此需要一个快速、准确 的系统级功耗评估工具或环境。 论文以g a r f i e l d 系统为研究对象,分析了a r m t t d m i 处理器、片上的嵌入式s r a m 和s d r a m 的功耗行为,然后建立这些系统组件的功耗模型。其中,a r m 7 t d m i 处理器采用基于状态的功耗 建模方法,通过统计它的活动状态和空闲状态时间来估算功耗;s r a m 采用基于操作的功耗建模方 法,根据读写操作和空闲周期统计来估算功耗,它的操作功耗采用基于存储器编译技术的多元线性 回归模型表示;s d r a m 采用了基于操作和状态结合的功耗建模方法,根据读、写、激活等操作以 及预充状态、激活状态的时问统计来估算功耗。系统级功耗评估环境以系统组件功耗模型为基础, 由系统仿真模型、功耗评估函数等模块组成。系统仿真模型提供程序的执行统计信息以及存储器访 问信息。功耗评估函数根据这些信息,调用系统组件的功耗模型来计算系统功耗。 最后,在系统功耗评估环境中对g a r f i e l d 系统进行功耗评估,并与硬件实测结果进行对比。实 验表明:系统仿真的精度高、速度快;利用片上s r a m 对m p 3 解码程序进行内存布局优化,系统 的平均功耗略有上升,但总能耗显著降低,最高降幅超过4 0 ,提高了系统的能量利用效率。功耗 实测结果显示:平均功耗的估算误差约为1 5 ,总能耗的估算误差约为2 0 ,可以满足系统级功耗 评估的精度要求;从优化前后系统功耗变化幅度来看,评估结果和实测结果完全一致,证明本文的 系统级功耗评估方法是有效的,完全可以用来分析系统级功耗优化的效果。 关键词:嵌入式系统功耗模型功耗评估存储系统 a b s t r a c t a b s t r a c t p o w e rb e c o m e sa l li m p o r t a n tf a c t o ri ne m b e d d e ds y s t e md e s i g n g a t el e v e lo rr t ll e v e lp o w e r e s t i m a t i o nt o o l sg i v eah i g h c l m w y b u tt h e ya r es os l o wt h a tc a l ln o tm l u a t ct h ep o w e rc o n s u m p t i o no f e m b e d d e ds y s t e m af a s ta n dp r e c i s es y s t e ml e v e lp o w e re s t i m a t i o nt o o lo rf r a m e w o r ki sn e e d e di n e m b e d d e ds y s t e md e s i g n g a r f i e l de m b e d d e ds y s t e mi st a k e na sme x a m p l ei nt h i sp a p e r t h ep o w e rc h a r a e t e r i s t i co fs y s t e m c o m p o n e n t sa r eg o tf i o ma n a l y m gt h ep o w e rb e h a v i o ro fa r m 7 t d m le m b e d d e ds r a ma n do f f - c h i p s d l l a mm e m o r y , a n dt h e nt h ep o w e rm o d e l sf o rt h e s ec o m p o n e n t sme s t a b l i s h e d t h ea r m 7 t d m i p o w e rm o d e li sas t a t e - b a s e dm o d e l , a n di t sp o w e rp a r a m e t e r sg e tf r o md a t a s h e e t t h ee m b e d d e ds r a m p o w e rm o d e li sa l lo p e r a t i o n - b a s e dm o d e l ,a n di t so p e r a t i o np o w e rc o n s u m p t i o ni sc h a r a e t e r i z e dw i t ha m e m o r y - c o m p i l e r - b a s e ds t a t i s t i c a lm o d e l t h es d r a mp o w e rm o d e li sah y b r i dm o d e lo f s t a t e - b a s e da n d o p e r a t i o n - b a s e d ,a n di t sp o w e rp a r a m e t e r sg e tf r o md a t a s h e e t ,t h ef r a m e w o r ko ft h es y s t e ml e v e lp o w e r e s t i m a t i o ne n v i r o n m e n ti sc o n f i r m e d , w h i c hi sc o n s i s t e db ys y s t e ms i m u l a t o r , p o w e re s t i m a t i o nf u n c t i o n s f u n c t i o nl e v e lp o w e rm o d e l sa n dp o w e rm o n i t o r p o w e re s t i m a t i o nf u n c t i o n sr e c e i v et h es t a t i s t i c i n f o r m a t i o ng i v e nb ys y s t e ms i m u l a t o ra n dt h e nc a l lt h ep o w e rm o d e l st oc o m p u t et h ep o w e ra n de n e r g yo f s y s t e m f i n a l l y , t h es y s t e ml e v e lp o w e re s t i m a t i o ne n v i r o n m e n ti su s e dt 0e v a l 眦t h em e m o r ys y s t e mp o w e r o p t i m i z a t i o ns t r a t e g y t h ee x p e r i m e n tr e s u l ts h o w st h a tt h es y s t e ms i m u l a t i o ni sp r e c i s i o na n df a s t ,t h e a v e r a g ep o w e ro f s y s t e mr a i s e sl i t t l ea n dt h em m le n c t g yc o n s u m p t i o nd d x l a s e sm o 姥t h a n4 0 b yu o f t h em e m o r yl a y o u to p t i m i z a t i o nf o rm p 3d e c o d e rp r o g r a m h a r d w a r et e s ts h o w st h a tt h ea v e r a g ep o w e r e s t i m a t i o ne i t o ri sa b o u t1 5 a n dt h et o t a le n e r g ye s t i m a t i o ne r r o ri sa b o u t2 0 w h e nc o n s i d e rt h e c h a n g eo fp o w e ri nm e m o r yl a y o u to p t i m i z a t i o n ,p o w e re s t i m a t i o na n dp o w e rt e s ta r ec o n s i s t e n t t h e p o w e re s t i m a t i o nm e t h o di sp r o v e dt ob ee f f e c t i v e k e y w o r d s :e m b e d d e ds y s t e m , p o w e rm o d e l ,p o w e re s t i m a t i o n , m e m o r ys y s t e m 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成 果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得东南大学或其它教育机构的学位或证书而使用过 的材料。与我一同工作的同志对本研究所做的任何贡献均己在论文中作了明确的说明并 表示了谢意。 研究生签名: 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的 复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内 容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅,可 以公布( 包括刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权东南大学研 究生院办理。 躲牛名:谁嗍牡 第一章绪论 1 1 论文的背景 第一章绪论 嵌入式系统是面向应用,并以集成电路技术为基础的软、硬件可裁剪的专用计算机系统。由于 a s i c 技术的发展,使得在单个硅片上集成一个系统成为可能,诞生了系统芯片( s y s t e mo nac h i p , s o c ) 。近几年来,大量的s o c 芯片涌现,使得许多手持设备,如p d a 、移动电话、便携式多媒体播 放器、数码相机、数码摄像机等拥有了前所未有的强大处理能力。伴随着系统功能和性能的提高, 功耗问题也日益突出。尤其是靠电池供电的手持设各,功耗的增加降低了电池的使得寿命,为了延 迟设备的待机时间,就必须采用大容量的电池。然而,这又增加设备的成本、体积和重量,从而削 弱了设备的便携性特点。另一方面,功耗的增大也会导致设备发热量的增加,从而影响系统的稳定 性。目前,功耗已经成为集成电路设计者和嵌入式系统设计者共同关注的问题,因此低功耗设计也 变得越来越重要了。低功耗设计不仅指降低功耗,有时候也指降低能耗。功耗是指单位时间的能耗 量度,能耗是功耗在时间上的累积。功耗和能耗这两个术语经常互用,因此本文没有特别区分两者 的差别。从提高能量利用效率角度考虑,手持设备中低功耗设计的目的是降低系统执行每个任务的 能耗,这样可以延迟电池的使用寿命。对于针对软件的优化来说,比较强调能耗。 1 1 1 功耗的来源 c m o s 电路的功耗包括静态功耗和动态功耗。动态功耗的主要来源是电路节点状态翻转时负载 电容的充放电功耗,通过式( 1 1 ) 计算: 巳= o 5 c , v 2 a j f ( 1 1 ) 其中,c ,是节点的电容,口f 是节点的状态翻转率,p ,肋、分别是电路的工作电压和工作频率。 动态功耗的另一个来源是节点状态翻转过程中的短路功耗。由于电路的非理想特性,状态翻转 过程中会有从电源到地的通道,形成一个短路电流。平均短路电流用l 。表示,因此短路功耗可以表 示为: 巴= l q ( 1 2 ) 静态功耗是电路稳定状态时的漏电流i 引起的。漏电流有三个来源:一是沟道漏电流( c h a n n e l l e a k a g ec u r r e n t ) ,它是m o s 管处于弱反型状态时的亚阈值电流,其大小与m o s 管的阈值电压有关, 阈值电压减少会使亚阅值电流按指数倍增加;二是二极管漏电流( d i o d el e a k a g ec u r r e n t ) ,它是m o s 管 源漏扩散区和体区间形成的p n 结的反向偏置电流;三是栅的漏电流( g a t el e a k a g ec u r r e n t ) ,虽然m o s 是电压控制器件,理想情况下栅极不需要电流驱动,但实际上它的栅电阻不是无穷大的,因此需要 吸收或提供一个驱动电流,通常在l “a 左右。静态功耗用式计算。 = ,。 ,它与处理器的时钟频率以及 存储器的访问延迟有关。当处理器的时钟周期小于存储器的最小访问时间时,处理器必须插入等待 周期,使访问时间大于或等于存储器的最小访问时间。例如,在处理器时钟速率为5 0 m s z ( 周期长 度为2 0 a s ) 时,如果存储器的访问时间为5 0 n s ,那么处理器需要插入两个等待周期,使得总访问时 间延长为6 0 n s :如果存储器的访问时间为4 0 n s ,那么处理器只需要插入个等待周期。在g a r f i e l d 系统仿真模型中,通过把每次操作的延迟累加,得到总的等待状态时间( n h k ) 。 存储器访问信息 e s r a m 的t r a c e r 负责e s r a m 的访问操作的统计,包括读操作和写操作次数。e s r a m 的访问操 作次数的统计比较简单,只需要在每次e s r a m 访问函数调用时对操作进行计数即可因为e s r a m 的每次访问都为一个时钟周期,因此操作周期数和操作次数相等。 e m i 的t r a c e r 记录e m i 的访问次数、指令f i f o 的访问次数( 9 0 处理器从s d r a m 读取指令的 总数) 、指令f i f o 命中次数和非命中次数。这些信息的获得也很简单,在e m i 判断操作类型时增加 一个操作计数器即可。 2 l 垄塑查兰堡主堡奎 s d r a m 的t r a c e r 记录s d r a m 各类操作的次数和操作周期数,具体包括b u r s t 读次数 ( 6 r “) 、单个读次数( w ) 、单个写次数( ) 、激活次数( n c r - 雎c ) 、刷新次数( n m ) 以及读周期 数( r e a d 和写周期数 。除此以外,还可以根据具体需要添加其它内容。_cycles)(writey y c l e s ) b u r s t 读次数、单个读次数、单个写次数分别与指令f i f o 非命中的次数、s d r a m 读数据的 次数、s d r a m 写数据的次数相等。这三种操作次数的统计需要分别添加一个对应的计数器,每次 操作时更新计数器的值。s d r a m 模型收到e m i 发出的访问请求时,根据上次访问的状态等信息, 判断访问的行是否激活,如果没有则执行预充、激活等操作,否m q 直接执行读写操作。一般来说预 充和激活是成对出现的,因此只需记录激活的次数。s d r a m 模型中采用固定的刷新时间问隔,因 此刷新次数可以在仿真结束后再由仿真时间除以刷新时间的间隔得到。 s d r a m 的读写周期数的统计根据读写操作的访问时间和读写的次数来计算。s d r a m 的读写 操作的访问时间是s d r a m 接收到读或写命令后数据读出s d r a m 或写入s d r a m 的需要的周期数。 对于写周期数,由于s d r a m 采用单个写模式,写操作不需要c a sl a t e n c y ,通常是固定的,比如1 个时钟周期s d r a m 写周期数可以表示为w r i t ec y c l e s 喇w d o ,其中是单次写操作访问 的周期数。对于读周期数,因为s d r a m 采用b u r s t 模式读取指令,而采用单个读模式读取数据, 所以s d r a m 的读周期数为b u r s t 读的周期数和单个读的周期数的总和。假如e m i 的指令f i f o 的深度为n 1 ,指令f i f o 每次不命中时都以b u r s t 读模式从s d r a m 读取n 条指令到指令f i f o , 需要的总访问时同为:t h 。日鼍吖n - 1 ) x 7 劬出,其中t c a s 为c a s l a t e | n c y ,t c y c l e 为时钟周期。以 单个读模式每次读取一个数据需要的访问时间为t c s 。s d r a m 总的读周期数可以近似表示为: r e a dc y c l e s f f i 耐t h | r s t + 小x t c a s ( 3 1 ) 3 4 功耗评估模块 3 4 1 组件功耗模型 系统仿真模型提供了各个组件的操作和状态统计信息,而组件功耗模型则提供功耗评估所需要 的功耗参数,如指令( 操作) 功耗、状态功耗。这些参数用查找表或者数学方程表示。功耗模型与功 耗评估函数的接口定义为函数调用。下面主要讨论a r m 7 t d m i 内核、嵌入式s r a m 、s d r a m , e m i 以及片上外设f 口) 的功耗建模策略。 一 a r m t t d m i 内核 g a r f i e l d 芯片中的a r m 7 t d m i 处理器是一个口硬核,因此a r m 7 t d m i 的功耗不能通过低层 次仿真得到。a r m 7 t d m 可以采用基于测试指令级功耗建模方法。如果指令功耗差别不大, a r m 7 t d m i 处理器也可以采用基于状态的功耗模型,只考虑它的功耗状态,通过统计处理器在不 同状态的时间来估算它的平均功耗。关于a r m 7 t d m i 处理器的功耗建模,在第四章再作介绍。 嵌入式s r a m 嵌入式s r a m 功耗建模可以采用基于结构的解析模型或者基于实验数据的统计模型,描述 s r a m 访问功耗与容量、结构等参数的关系 e v a n s 等人口0 1 以转换电容为基础,推导出s r a m 功耗解析模型;f a h i m 等人【,1 】以每个子存储体 阵列的行、列数目等为参数,采用线性规划( i l p ) 方法建立有关译码器以及存储体阵列的功耗解析模 型。 解析模型针对具体电路结构建模,当电路结构改变后,需要重新分析电路,灵活机动性较差。 采用统计方法建立s r a m 功耗模型,不需要了解s r a m 各个宏模块电路具体形式,具有简单实用 第三章系统级功耗评估环境 的特点。c h i n o s i 等人采用神经网络的方法进行线性自回归分析,建立s r a m 功耗的统计模型。 c o u m e r i 等人采用线性回归方法建立了s r a m 功耗的统计模型。在统计模型中采用回归分析方法的 模型表达式与解析模型相似,建模方法简单实用,目前人们多采用这种方法建立统计模型。统计模 型的芒要问题是如何确保模型的精确性。本文基于存储器编译器技术,建立s r a m 功耗的统计模型, 在第四章再作详细阐述。 s d r a m s d r a m 芯片的结构比s r a m 复杂,通过解析方法建立功耗模型的难度很大。许多s d r a m 芯片 虽然结构不尽相同,但是功能基本是一样的。利用s d r a m 数据手册的功耗参数,可以建立反映 s d r a m 行为的功耗模型。a j a yj o s h i 等人p 2 1 利用s d r a m 数据手册中的电流数据,建立了基于操作模 式的s d r a m 功耗模型,描述s d r a m 在不同操作模式( a c t i v e ,s t a n d b y 、p o w e r - d o w n 、p r e c h a r g e , r e f r e s h 、r e a d w r i t e ) 的功耗,然后根据s d r a m 的操作统计信息来估算它的运行功耗。h s h i m 等人 州基于数据手册建立s d r a m 的功耗状态机,用于s d r a m 功耗估算和s d r a m 的功耗管理策略中。基 于数据手册的功耗模型具有实现简单和方便配置的特点,只需更改功耗参数即可用于不同厂商或不 同型号的s d r a m 芯片。在第四章中,我们参考a j a y j o s h i 等人口1 的方法建立t s d r a m 的功耗模型。 e e m i 的功耗模型采用基于指令的功耗建模方法。首先把e m i 的功能划分为一组“指令”,并创建 每条指令的测试程序,然后利用s y n o p s y s 的p o w e r c o m p i l e r 工具对e m i 的门级网表进行分析得到 指令功耗数据。利用p o w e rc o m p i l e r 进行门级功耗评估的流程参见论文【3 3 】。以s d r a m 控制器为 例,它的内部模块有a h b 总线接口、指令f i f o 、数据w r i t e b u f f e r 、地址译码逻辑和s d r a m 接口 模块。指令f i f o 和数据w r i t eb u f f e r 的深度都可以配置。s d r a m 控制器的功耗建模的过程如下: ( 1 ) s d r a m 控制器功能分析,把功能划分为一组“指令操作:单个读,单个写、b u r s t 读等,定义 它的功耗模式,为每条指令建立专门的测试程序。( 2 ) 利用p o w e r c o m p i l e r 对s d r a m 控制器的门级 网表进行仿真,获得指令的功耗。对于每条指令,根据指令功耗的数据敏感程度,把指令功耗定义 多种类型,如指令功耗与输入数据无关、指令功耗与数据的统计特性相关、指令功耗决定与特定的 输入类型等不同精度。( 3 ) 对于每种不同的结构配置,生成新的门级网表,重复上述过程。( 4 ) 根据仿 真得到的功耗数据,建立功耗查找表,或者通过对这些数据的统计分析,建立功耗的数学方程( 比如 功耗与总线宽度、f i f o 深度等的关系) 。( 5 ) 根据s d r a m 控制器的功能,建立包含指令功耗信息的 仿真模型,仿真模型应该可以执行所定义的“指令”。 片上井设 片上外设口有硬核( 版图) 、固核( 门级网表) 和软核( r t l 代码) 三种,对于硬核,只能从口核的 数据手册来获得功耗信息。对于固核,采用基于指令的功耗建模方法,通过门级仿真来获得指令的 功耗数据。对于软核,出于功耗估算精度考虑,也先综合到门级网表,然后再进行门级功耗仿真。 另外,一些口的功耗建模还要考虑指令f 操作) 顺序对功耗的影响。 对于结构简单的口核,利用解析方法建立功耗模型。功耗宏模型 4 0 1 也可以用于对口核的功耗 建模。功耗宏模型的方法是利用门级功耗仿真得到i pc o r e 的功耗与输入输出的翻转活动性的关 系。它用一个三维的查找表表示,查找表的入口为输入信号的概率( p 蛐、平均输入翻转几率( d i l l ) 和 平均输出翻转几率( d o u t ) 。翻转几率定义为电路节点的单位时间的翻转次数。在系统仿真时,根据 输入输出的活动情况以及输入信号信息,可以得到p i n 、d i n 和d o u r 的统计值,然后从查找表里找 到对应的功耗:p = “p i n ,d i n ,d o u t ) 。 3 4 2 功耗评估函数 功耗评估函数根据系统仿真的统计信息,调用组件功耗模型来计算组件以及整个系统的功耗。 本文主要采用基于操作和状态的统计的方法来进行功耗评估。 基于操作统计的功耗评估方法只考虑操作的动态功耗,一个组件( 用j 表示) 的能耗e 。“( ,) 是 东南大学顼士论文 它的所有操作的能耗和: 月 e 诎( ,) = ( f ) m i - t ( 3 2 ) 式中( i ) 是组件执行操作i 的能耗,m 是仿真时间z 乙。内组件执行操作i 的次数,n 表示组件 的所有操作类型若每个操作的功耗为( f ) ,操作时间为0 ( f ) ,则( f ) 5 ( f ) x t o p ( i ) 根据 每个操作所占的时间百分比,可以计算得组件的平均功耗: 只。( _ ,) = 巳( d l ( 3 3 ) l 爿 式中,f = ,k ( d ,乙一。 系统总能耗层“以及平均功耗儿“分别用式( 3 4 ) 孝1 1 ( 3 5 ) 计算 e t o 。,= e 。( _ ,) j l 圪。,= 只一( _ ,) ,i ( 3 4 ) ( 3 5 ) 基于操作统计的功耗评估方法没有考虑组件在无操作状态的基本功耗。这部分功耗通常包括时 钟电路功耗和静态功耗,时钟功耗往往不可以忽略。对于具有多种功耗模式的组件,仅仅统计操作 功耗也是不够的。处理器、s d r a m 等系统组件都有多种功耗模式,比如a c t i v e 、s l e e p 、i d l e 等。模 式的切换也需要时间和功耗开销。在同一模式下,执行不同操作的功耗不同。 以一个具有n 种功耗模式的组件为例,用l ( s i ) 表示它在各个功耗模式的基本功耗。用e ( s i ,o i ) 和t ( s 。o j ) 分别表示它在状态s 下执行操作o 的操作能耗和操作时间,用m ( s i ,s ) 和t ( s 。s j ) 表示状 态s 。转换到状态s j 的能耗和时间开销。p ( s 。) 表示状态s 下所有操作能耗e ( s 。,0 1 ) 的平均值。 图3 6 表示了一个组件的功耗状态变化过程。它具有s 。和s 2 两种功耗模式,在两种模式下的时 间分别表示是t i 和t 2 。根据它的状态变化,我们可得到该组件的能耗计算公式: _ l e = t , x l ( s , ) + e ( 五,d ,) + 坝墨,是) + t x ( l ( 足) + 以是) ) 0 6 ) i = i 式( 3 6 ) 中,状态和操作统计信息来自系统仿真,功耗参数u s l ) 、l ( s z ) 、e ( s i ,0 0 、p ( s 1 ) 和m ( s h s 2 ) 需要由组件功耗模型提供。 第三章系统级功耗评估环境 3 4 3 功耗监视器 图3 6 功耗状态的变化 功耗评估函数的输出结果送到功耗监视器,包括各个组件的操作功耗、状态功耗、平均功 耗,系统的平均功耗、能耗。这些信息按一定格式组织,可以由可视化工具读取,生成直观的 图表。本文的功耗评估环境中还没有实现功耗监视器。 3 5 本章小结 g a r f i e l d 系统仿真模型能够提供时钟周期数、指令执行次数及耗费周期数,存储器访问次数及 周期数等信息。基于这些信息,本章扩展了功耗评估模块,从而建立系统级功耗评估环境的基本框 架。 东南大学硕士论文 第四章组件功耗建模过程 组件功耗模型是系统级功耗评估的基础。考虑到g a r f i e l d 系统中存储子系统对系统性能和功耗 影响最大,本章以a r m 7 t d m i 处理器、嵌入式s r a m 存储器和s d r a m 存储器的功耗建模为例, 介绍组件功耗建模过程。 4 1a r m 7 t d m i 功耗建模 4 1 1a r m t t d m i 结构 d b g r q i b r e a k p t i d 8 g a c k e c l k 1 1 e x e c i s r n c b l 【3 :0 i a p e m c l k n 、 f a i t n r w m a s 1 :0 1 n i r o n f i o n r e s e t a b o r t n t r a n s n m r e o n o p c s e q l o c k n c p i c p a c p b n m 【4 :o l t b e t b i t h i g h z 图4 1a r m 7 t d m i 内部架构框图 a r m 7 t d m 的内部结构框图【3 4 1 如图4 1 所示,主要组件有: 寄存器集合( r e g i s t e rb a n k ) ,用来存储处理器的状态。它有两个读端口和一个写端口, 而r i s ( 程序寄存器) 则有3 个读端口和2 个写端口 移位器( 8 a , r e ls h i f t e r ) ,使一个操作数移动或循环任意位 2 6 第四章组件功耗建模过程 a l u ,完成指令集所需要的算术和逻辑功能 3 2 x 8 位乘法器,采用b o o t h 算法,支持乘加运算 地址寄存器( a d d r e s sr e g i s t e r ) :产生所需要访问存储器的地址 地址累加器( a d d r e s si n c r e m e n t 哪:产生下一个周期的访问地址 数据寄存器( d a mr e g i s t e r ) 。用来暂存输入或传出存储器的数据 指令流水线( i n s t r u c t i o np i p e l i n e ) ,是一系列的锁存器,用于存放从存储器预取的指令, 并传递到译码单元 指令译码器和控制逻辑( i n s t r u c t i o nd e c o r d c r & c o n t r 0 1 ) ,产生数据通道的控制信号 4 1 2a r m t t d m i 功耗特性 a r m 7 t d 处理器的数据通路由地址寄存器、地址增值器、寄存器堆、移位器、a l u 、乘法 器、数据输出寄存器和数据输入寄存器等模块组成,控制电路包括指令译码器、时钟产生电路和其 他控制逻辑。a r m 7 t d m i 是一个不带c a c h e 和m m u 的内核,具有低功耗的特点。根据文献 3 5 1 中提供的a i t m 7 t d m i 处理器的功耗数据,数据通路部分功耗占a r m 7 t d m i 内核功耗的6 0 以上, 而a l l 2 、寄存器堆和移位器的功耗又占数据通路功耗的6 0 :控制电路部分的功耗占总功耗的4 0 左右,其中指令译码器、时钟产生电路的功耗所占比例超过5 0 n 6 。 4 1 3a r m 7 t d m i 功耗模型 a r m 7 t d m i 指令集模拟器上扩展指令级功耗模型,可以建立一个指令级功耗评估器。指令级功 耗建模的关键是获得准确的指令功耗数据。s y e ds a i fa b r a r 【蚓等人利用门级功耗分析方法获得 a r m 7 t d m i 的指令功耗数据,建立了a r m 7 t d m i 的指令级功耗模型。n c h a n g 等人p ”利用开关电 容建立了周期精度的能耗测试平台,并用于a r m 7 t d m i 指令的功耗测试。n i k o l a i d i s 等人p ”采用电 流镜的方法建立周期精度的功耗测试平台,可以准确测得a r m 7 t d m i 指令的功耗。根据他们的分 析,大部分a r m 7 t d m i 指令的功耗差别不是很大。 基于测试的指令级功耗建模需要测试处理器执行指令时的电流,因此必须为处理器单独供电。 为了分析不同操作码、操作数、指令地址、寄存器、立即数等参数对指令功耗的影响,也需要进行 大量的测试,因此指令级功耗建模往往很耗时。由于g a r f i e l d 芯片的所有逻辑电路都由同一个电源 供电,所以无法单独测得a r m 7 t d i 处理器的电流,使得指令功耗建模变得很困难。 针对指令级功耗建模耗时的缺点,s i m u r d c 2 ”等人采用基于状态的功耗模型来评估 s 订o n g a r m - 1 1 0 0 的能耗。这种方法只考虑了处理器的活动状态( a c t i v e ) 和空闲状态( i d l e ) 。活动状态 是处理器正常执行指令的状态,空闲状态是处理器无操作的状态。处理器在每个状态下的功耗与频 率、电压有关,这些状态功耗参数都从s o n g a r m 1 1 0 0 处理器的数据手册中得到。这种方法比较 简单,不需要对每种指令的类型和执行次数等进行统计,但是它没有考虑指令引起的电路活动性对 功耗的影响,因此只有当处理器的指令功耗相差不大时才能采用。 a r m t d m i 处理器是一个低功耗的内核,根据a r m 7 t d m i 的口硬核的说明,它的功耗为 0 7 6 m w m h z ,工作频率为5 0 m h z 时的功耗约为3 8 m w 。由于a r m 7 t d m i 处理器不带c a c h e ,所 有取指令和取数据操作都要访问存储器,因此系统功耗主要由存储器、总线、外设引起。a m i ts i n h a a n a n t h a 删1 等人的研究发现a r m 指令的指令间功耗差别不超过8 。基于这些特点,本文采用基于 状态的功耗模型来表述a r m 7 t d m i 的功耗特性。 a r m 7 t d m i 处理器的状态可以分为活动状态和空闲状态。活动状态功耗( p 枷v c ) 是处理器执行 指令的平均功耗,p 枷,f o 7 6 m w m h z ,即每个活动周期的能耗为e a c i r e = 0 7 6 n j 。在g a r f i e l d 系统中, 处理器访问片外存储器或者外设时需要插入等待周期,这时a r m 7 t d m i 处理器进入空闲状态。空 闲状态功耗d l e ) 包括时钟电路功耗和静态功耗,约为活动状态功耗的4 0 p ”,即p i d l 。卸3 m w m h z , 每个空闲周期的能耗为e i d t 。= 0 3 n j 。 东南大学硕士论文 假设处理器的时钟周期数为n k k ,活动周期数为n m ,和空闲周期数为n m ,处理器的能 耗和平均功耗可以根据式( 4 1 ) 和( 4 2 ) 计算。 e = e 4 c f 如p x l 矿4 c t i v p + e i d l e x n i d l e 吲州v e n a c t i v e e + p i m := : 4 1 4a r m 7 t d m i 功耗模型的参数配置和驱动信息 a r m 7 t d m i 功耗模型的参数配置很简单,如表4 1 所示。 表4 1a r m 7 t d m i 功耗参数 ( 4 1 ) ( 4 2 ) 功耗参数 e a c t i v ce 勰。p a 嘶n 曲 i 参数值 o 7 6 n jo 3 n j0 7 6 m w m i z0 r 3 m w m h z a r m 7 t d m i 功耗模型的驱动信息包括处理器运行的时钟周期数n c v c l e 、活动周期数n 。c t i ,。和空 闲周期数n i d l e 。n c y c l e 是通过累加每条指令的执行时间( i e t ) 和存储器访问等延迟得到,等于n 。嘶,。 与n i , u 。的和。近似为总的指令执行时间,通过指令的静态分析得到。n i d l e 包括存储器访问延 迟、总线延迟以及其它因素引起的流水线停顿延迟。g a r f i e l d 系统仿真模型中只考虑了存储器的访 问延迟,因此n 。就是访问存储器的总延迟。这种统计方法会造成n 。i c 和n i d l , 的误差,但是由 于p 讪。比p 删。小很多,因此引起的功耗估算误差可以忽略。 4 2 嵌入式s r a m 功耗建模 4 2 1s r a m 结构 图4 2 嵌入式s r a m 基本结构 第四章组件功耗建模过程 图4 2 给出了嵌入式s r a m 的基本结构,它分为存储体阵列和外围电路两部分。存储体阵列由 预充电电路和存储单元阵列组成,外围电路由行、列地址译码器,读写控制单元、输入数据处理单 元以及灵敏放大器( s e n s e a m p l i f i e r ) 组成。地址译码器又分为行译码器和列译码器。n 是行地址数, m 是列地址数。行译码器的任务就是从2 “行中选择一行,列译码器实际上是一个2 ”多路复用器 ( m u l t i p l e x e r ) ,从多路中选择路输出或写入。s r a m 的功耗主要由存储体阵列、敏感放大器、控制 单元、译码电路、预充电电路和输入输出缓冲电路产生。其中,读写过程中字线、位线和输入输出 总线的数据翻转是引起s r a m 动态功耗的最主要原因。 4 2 2s r a m 功耗行为 s r a m 的功耗行为主要是读操作( r e a d ) 和写操作( w r i t e ) 。g a r f i e l d 芯片的嵌入式s r a m 的读、写 操作都只占用一个时钟周期,在操作完成后就进入空用状态。s r a m 在空闱状态的功耗包括静态功 耗和时钟功耗。图4 3 是s r a m 功耗状态变化关系。 图4 3s r a m 功耗状态 根据s r a m 的功耗状态可以得到g r a m 能耗置一和平均功耗。的计算公式; 2 “如+ k 。k 一m m 一。 p 胸= x + x k 一鼬肌瑚 ( 4 4 ) 式中,j o 、分别是读、写操作能耗o 川;己d 、只。、只船分为是读、写、空闲状态功耗 ( r o w ) ;0 、0 分别是读、写周期数( 等于读、写次数) ;j 是空闲周期数;0 、 ,0 , m m 分别是读、写、空闲周期数百分比;r 。“为时钟周期 读、写、空闲周期数及所占百分比都可以根据系统仿真的统计信息计算。功耗参数由s r a m 功 耗模型提供 4 2 3s r a m 功耗模型 4 2 3 1 模型实现 s o c 中的嵌入式s r a m 分为三种:由a s i c 生产厂商提供硬核;设计者通过e d a 工具 厂商提供存储器编译器设定参数,再根据指定的工艺,自动生成:设计人员自行设计定制。g a r f i e l d 芯片中的嵌入式s r a m 采用了第种方法,由a r t i s a n 公司的存储器编译器s r a m c o m p i l e r 在t s m c o 2 5 m 工艺下生成的。 2 9 东南大学硕士论文 存储器编译器不仅可以产生存储器版图,还生成存储器的一些性能指标,如面积、延迟、功耗 等。改变编译器的一些参数设置,就可以产生不同结构、不同容量的配置的s r a m 的性能指标参数。 利用统计方法对这些数据进行统计分析,可以建立s r a m 的性能统计模型,如面积统计模型、延迟 统计模型和功耗统计模型。s r a m 性能建模中最常用的数理统计方法是回归分析方法,由于s r a m 性能指标同时受多个设计参数的影响,因此一般采用多元回归分析来建立性能模型。多元回归分析 中最常用并且具有基础性质的是多元线性回归分析,非线性回归和多项式回归都可以化为多元线性 回归来解决。因此本章采用多元线性回归分析方法构建s r a m 的功耗模型。限于篇幅,本文不再介 绍多元线性回归分析的原理。采用多元线性回归分析方法建立s r a m 功耗模型的流程如图4 4 所示。 图4 4s r a m 功耗建模流程 建模流程由以下几个步骤组成: 数据获取:以s r a mc o m p i l e r 为工具,获得不同容量s r a m 或者相同容量不同存储体阵列 结构s r a m 的功耗数据。 模型辩识:采用多元线性回归分析方法建立功耗统计模型。 模型验证( m o d e lv a l i d a t i o n ) :比较根据统计模型得出的功耗与编译器生成的功耗,判定模型 是否真实反映实际功耗。 模型反复( m o d e li t e r a t i o n ) :如果模型不能真实的反映实际的功耗,则重新返回到数据获取 阶段,修正统计模型,再次进行模型验证。如果模型能够真实的反映实际的功耗,则得到 最终的s r a m 功耗统计模型。 数据获取是s r a m 功耗建模的第步,也是最重要的一步。本文利用a r t i s a ns r a mc o m p i l e r 工具,选择t s m c0 2 5 p r o 工艺,生成了多种不同配置方案的s r a m ,获得对应的功耗参数( 用电流 表示) 。表4 2 给出了部分不同配置的s r a m 在频率为5 0 m h z 、工作电压为2 5 v 时的操作电流 表4 2s r a m 功耗参数 雾 辫戮攀蒜戮戮粼攀瓣篓黔蟛一。;“o 蒸攀 = 1 m u xi r e a d ( m a 。琳& l i 瀚澜转o r d s ,s i z e ( i t b ) b i t s :w 峨ii 。燕蕊羹巍箍舞 5 1 2 02 03 21 61 8 7 2 12 2 2 7 5 2 5 6 0 1 0 3 28 i l7 1 91 3 3 7 8 1 0 2 851 61 61 0 4 51 1 3 3 9 1 0 2 851 686 7 7 77 4 7 4 2 5 6 0 58 1 6 6 0 1 36 7 5 i 2 0 4 841 6457 4 28 3 2 4 2 5 6 0 481 65 6 7 66 2 5 3 第四章组件功耗建模过程 2 5 6 04 88 4 9 6 45 4 0 4 4 0 9 65 3 2 48 1 3 7l i 6 5 3 2 0 4 82 1 61 69 0 5 9 9 4 6 6 1 0 2 421 6865 0 46 9 4 5 1 223 281 0 6 4 9l l2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论