Spm-dma结构的嵌入式系统的节能方法

文档序号:6606419阅读:226来源:国知局
专利名称:Spm-dma结构的嵌入式系统的节能方法
技术领域
本发明涉及的是一种计算机技术领域的方法,具体是一种SPM-DMA(Scratch PadMemory-Dynamic Memory Access,高速片内存储器-动态存储器访问)结构的嵌入式系 统的节能方法。
背景技术
与桌面系统相比,嵌入式系统要求更高的响应速度和更低的能量消耗。而目前嵌 入式芯片的发展趋势使嵌入式CPU与存储器之间的速度差异越来越大,从而限制了嵌入式 CPU的性能、实时响应特性和低功耗。为了减少嵌入式CPU与存储器之间的速度差异,以下 两种方式被广泛采用。方式一嵌入式系统中采用SPM作为主要的片上存储器,与相 同容量 硬件管理的Cache存储器相比,SPM具有更小的体积、更低的能量消耗。嵌入式系统通常是 面向特定应用的,所以编译器可实现对嵌入式系统中SPM的管理,提高嵌入式系统的性能 和SPM中数据的预测性。方式二 DMA代替CPU用来在高速片内存储器(SPM)和片外低速 存储器之间传送数据。嵌入式系统中广泛采用专用DMA部件作为数据传输途径,甚至一些 低端的嵌入式芯片中都有DMA传输部件,例如TI的MSP430系列单片机。对于相同的数据 传输量,DMA专用部件方式较CPU传送可以节省更多的能量。为提高系统可靠性、减少散热 引起的成本增加和体积扩大,在SPM-DMA嵌入式系统中,如何更有效地较少能量消耗仍然 是至关重要的因素。从现有技术文献的检索发现,目前节能的方法是根据数据访问模式,选择使用频 率高的部分数据存储在快速的片内SPM中,其余数据储存在片外慢速存储器。这种方式主 要是通过减少访问外存的次数来节能的,但没有考虑CPU处理和DMA传输的并行性,导致过 多的能量消耗,难以满足嵌入式系统对低功耗的要求。主要原因是当CPU进行原有数据处 理时,DMA同时可以在SPM和片外存储器之间传输新数据,而CPU和DMA之间存在着数据制 约关系,即当DMA传输新数据时,CPU已经处理完原有数据,而后续的数据还没有准备好, 此时CPU保持工作状态将造成能量浪费。

发明内容
本发明的目的在于克服现有技术存在的上述不足,提供一种SPM-DMA结构的嵌入 式系统的节能方法。本发明使CPU和DMA并行工作,并根据DMA数据传输的速度来调整CPU 工作的电压和频率,使CPU工作在不同的电压、频率级别。本发明是通过以下技术方案实现的,本发明包括以下步骤第一步,将待处理的数据划分为若干块,且每块数据小于SPM容量的一半。第二步,进行数据的并行传输和并行处理,CPU完成对每个数据块的处理。所述的数据的并行传输和并行处理,是将SPM从逻辑上分为容量相等的两部分 SPMO和SPM1,DMA装载第一块待处理数据,并将装载后的第一块数据写入SPM0,CPU处于等 待状态;CPU对第i块数据进行处理,并将处理后的第i块数据写入SPM0,同时DMA装载第i+1块待处理数据,将装载后的第i+Ι块数据写入SPM1,并将处理后的第i块数据回写到片 外存储器,1彡i彡N-I ;CPU对第N块数据进行处理,并将处理后的第N块数据写入SPMl, DMA将处理后的第N块数据回写到片外存储器。第三步,检测CPU处理每块数据的时间Tmi和DMA加载第i+Ι块数据并回传第i块 处理后数据的时间Tbl。。k,根据α。ptimal = TCPU/Tbl。。k,得到最优调整因子α。ptimal。
第四步,根据F。ptimal = α。ptimalXFmax和 V。ptimal = α。ptimalX Vmax,得到最优频率F。ptimal 和最优电压V。ptimal,其中Fmax是CPU的最大频率,Vmax是CPU的最大电压。第五步,当CPU的工作级别中包括最优频率F。ptimal和最优电压V。ptimal时,进行静态 调整;否则,进行动态调整,使CPU工作于调整后的电压和频率。所述的静态调整,是将CPU的工作电压调整为最优电压V。ptimal且将CPU的工作频 率调整为最优频率F。ptimal。所述的动态调整,包括以下步骤1)在CPU的所有工作频率中,选择比最优频率F。ptimal大且与最优频率F。ptimal差值 最小的频率Fhigh,并选择比最优频率F。ptimal小且与最优频率F。ptimal差值最小的频率F1ot ;在CPU的所有工作电压中,选择比最优电压V。ptimal大且与最优电压V。ptimal差值最 小的电压Vhigh,并选择比最优电压V。ptimal小且与最优电压V。ptimal差值最小的电压V1ot ;2)根据α ^ = F1JFmax和α high = Fhigh/Fmax,得到次优调整因子α lOT和次优调整 因子α high ;3)根据= W-rH = Wamgh,得到频率Fhigh和电压Vhigh
aLow aHighixLow aHigh
的工作时间都是THigh,频率Flw和电压Vlw的工作时间都是IY。W ;4)根据<Γ£·/η_,_」和=[Thigh/Titeration\ ’得到频率 Fhigh 和电压 Vhigh 的迭 代次数都是Chigh,频率Flw和电压V1ot的迭代次数都是Cta,其中TitCTati。n是CPU执行一次 迭代所用的时间;5)在CPU处理一块数据的过程中,CPU的工作频率为Fhigh且工作电压为Vhigh的迭 代次数设置为chigh,CPU的工作频率为F1ot且工作电压为V1ot的迭代次数设置为Q。w,从而完 成CPU调整。与现有技术相比,本发明的有益效果是使CPU和DMA并行工作,并根据DMA数据 传输的速度来调整CPU工作的电压和频率,使其在满足数据处理和等待数据传输前提下, 尽可能降低工作电压和频率,从而大大减小了 CPU全速运行带来的能量消耗。


图1是实施例中并行数据块传输和处理的示意图;图2是实施例中并行数据块传输和处理的时隙图。
具体实施例方式以下结合附图对本发明的方法进一步描述本实施例在以本发明技术方案为前提 下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述 的实施例。
实施例本实施例中CPU、SPM和DMA集成在一个芯片上,且DMA与片外存储器相连,具体包括以下步骤第一步,将待处理的数据划分为若干块,且每块数据小于SPM容量的一半。第二步,并行数据处理和并行数据传输的实现将SPM从逻辑上分为容量相等的 两部分SPMO和SPM1,DMA装载第一块待处理数据,并将装载后的第一块数据写入SPM0,CPU 处于等待状态;CPU对第i块数据进行处理,并将处理后的第i块数据写入SPM0,同时DMA 装载第i+Ι块待处理数据,将装载后的第i+Ι块数据写入SPMl,并将处理后的第i块数据回 写到片外存储器,1 ^ i ^ N-I ;CPU对第N块数据进行处理,并将处理后的第N块数据写入 SPM1,DMA将处理后的第N块数据回写到片外存储器;如图1所示,本实施例中SPM被逻辑上分成两部分SPM0和SPMl,分别供CPU和 DMA使用。图1(a)中CPU从SPMO中获取要处理的数据块并将处理完的数据块写回到SPM0, CPU与SPMO交互的同时,DMA将之前CPU处理完毕存放在SPMl的数据块写回到片外存储 器,然后从片外存储器将CPU后续要处理的数据块装载入SPMl中。同理,图1 (b)中CPU处 理SPMl中的数据并将处理结果写回到SPM1,同时DMA将之前存放在SPMO中的数据写回到 片外存储器然后将新数据块装载入SPMO。第三步,检测CPU处理每块数据的时间Tmi和DMA加载第i+Ι块数据并回传第i块 处理后数据的时间Tbl。。k,根据α。ptimal = TCPU/Tbl。。k,得到最优调整因子α。ptimal。本实施例中并行数据块传输和数据块处理时隙图如图2所示,在并行数据块传输 和处理中,CPU和DMA都交替的访问SPMO和SPMl,前提是CPU开始访问SPMO (SPMl)时,DMA 必须已经结束了对SPMO (SPMl)的访问。而CPU的处理速度快于DMA传输数据的时间,这样 CPU就出现了空闲等待状态。在预处理阶段,DMA需要装载CPU要处理的第一块数据,CPU 处于等待状态;在后续处理阶段,CPU对最后一块数据进行处理,DMA将最后一块结果数据 回写到片外存储器;在循环体处理阶段,CPU处理已经装载的数据,DMA装载CPU后续要处 理的数据并将CPU的处理结果回写到片外存储器。第四步,根据F。ptimal = α。ptimalXFmax 和 V。ptimal = α。ptimal X Vmax,得到最优频率 F。ptimal 和最优电压V。ptimal,其中Fmax是CPU的最大频率,Vmax是CPU的最大电压;第五步,当CPU的工作级别中包括最优频率F。ptimal和最优电压V。ptimal时,进行静态 调整;否则,进行动态调整,使CPU工作于调整后的电压和频率。所述的静态调整,是将CPU的工作电压调整为最优电压V。ptimal且将CPU的工作频 率调整为最优频率F。ptimal。所述的动态调整,包括以下步骤1)在CPU的所有工作频率中,选择比最优频率F。ptimal大且与最优频率F。ptimal差值 最小的频率Fhigh,并选择比最优频率F。ptimal小且与最优频率F。ptimal差值最小的频率F1ot ;在CPU的所有工作电压中,选择比最优电压V。ptimal大且与最优电压V。ptimal差值最 小的电压Vhigh,并选择比最优电压V。ptimal小且与最优电压V。ptimal差值最小的电压V1ot ;2)根据α low = Flow/Ffflax和α high = Fhigh/Fmax,得到次优调整因子α low和次优调整 因子α high ;
3)根据
,得到频率Fhigh和电压Vhigh 的工作时间都是THigh,频率Flw和电压Vlw的工作时间都是IY。W ;4)根据=
’得到频率 Fhigh 和电压 Vhigh 的迭 代次数都是Chigh,频率Flw和电压V1ot的迭代次数都是Cta,其中TitCTati。n是CPU执行一次 迭代所用的时间;5)在CPU处理一块数据的过程中,CPU的工作频率为Fhigh且工作电压为Vhigh的迭 代次 数设置为chigh,CPU的工作频率为F1ot且工作电压为V1ot的迭代次数设置为Q。w,从而完 成CPU调整。本实施例中由于CPU存在空闲时间,故利用CPU和DMA并行性提高性能的同时减 少CPU的空闲时间,即通过降低CPU的工作电压频率来延长CPU工作时间,根据CPU数据处 理和DMA数据传输速度的差异进行动态电压频率调整,使CPU工作在满足性能要求的最低 电压频率状态,从而节省系统功耗。
权利要求
一种SPM-DMA结构的嵌入式系统的节能方法,其特征在于,包括以下步骤第一步,将待处理的数据划分为若干块,且每块数据小于SPM容量的一半;第二步,进行数据的并行传输和并行处理,CPU完成对每个数据块的处理;第三步,检测CPU处理每块数据的时间TCPU和DMA加载第i+1块数据并回传第i块处理后数据的时间Tblock,根据αoptimal=TCPU/Tblock,得到最优调整因子αoptimal;第四步,根据Foptimal=αoptimal×Fmax和Voptimal=αoptimal×Vmax,得到最优频率Foptimal和最优电压Voptimal,其中Fmax是CPU的最大频率,Vmax是CPU的最大电压;第五步,当CPU的工作级别中包括最优频率Foptimal和最优电压Voptimal时,进行静态调整;否则,进行动态调整,使CPU工作于调整后的电压和频率。
2.根据权利要求1所述的SPM-DMA结构的嵌入式系统的节能方法,其特征是,第二步 中所述的数据的并行传输和并行处理,是将SPM从逻辑上分为容量相等的两部分SPMO和 SPM1,DMA装载第一块待处理数据,并将装载后的第一块数据写入SPMO,CPU处于等待状态; CPU对第i块数据进行处理,并将处理后的第i块数据写入SPM0,同时DMA装载第i+Ι块待 处理数据,将装载后的第i+Ι块数据写入SPM1,并将处理后的第i块数据回写到片外存储 器,1彡i彡N-I ;CPU对第N块数据进行处理,并将处理后的第N块数据写入SPMl,DMA将 处理后的第N块数据回写到片外存储器。
3.根据权利要求1所述的SPM-DMA结构的嵌入式系统的节能方法,其特征是,第五步中 所述的静态调整,是将CPU的工作电压调整为最优电压V。ptimal且将CPU的工作频率调整为 最优频率F。ptimal。
4.根据权利要求1所述的SPM-DMA结构的嵌入式系统的节能方法,其特征是,第五步中 所述的动态调整,包括以下步骤1)在CPU的所有工作频率中,选择比最优频率F。ptimal大且与最优频率F。ptimal差值最小 的频率Fhigh,并选择比最优频率F。ptimal小且与最优频率F。ptimal差值最小的频率F1ot ;在CPU的所有工作电压中,选择比最优电压V。ptimal大且与最优电压V。ptimal差值最小的 电压\igh,并选择比最优电压V。ptimal小且与最优电压V。ptimal差值最小的电压V1ot ;2)根据αlow = F1JFmax和α high = Fhigh/Fmax,得到次优调整因子α low和次优调整因子 α high ;3)根据‘=7^nrH JcPU-Thlo^amgh,得到频率和电压的uLow uHighuLow uHigh工作时间都是THigh,频率Flw和电压Vlw的工作时间都是IY。W ;4)根据=LUlraiivJ和=[Thigh/Titeration\’得到频率 Fhigh 和电压 Vhigh 的迭代次 数都是Chigh,频率Flw和电压V1ot的迭代次数都是Cta,其中TitCTati。n是CPU执行一次迭代 所用的时间;5)在CPU处理一块数据的过程中,CPU的工作频率为Fhigh且工作电压为Vhigh的迭代次 数设置为Chigh,CPU的工作频率为F1ot且工作电压为V1ot的迭代次数设置为Cta,从而完成 CPU调整。
全文摘要
一种计算机技术领域的SPM-DMA结构的嵌入式系统的节能方法,包括以下步骤将待处理的数据划分为若干块;进行数据的并行传输和并行处理,CPU完成对每个数据块的处理;检测CPU处理每块数据的时间和DMA加载第i+1块数据并回传第i块处理后数据的时间得到最优调整因子;得到最优频率和最优电压;当CPU的工作级别中包括最优频率和最优电压时,进行静态调整;否则,进行动态调整,使CPU工作于调整后的电压和频率。本发明根据DMA数据传输的速度来调整CPU工作的电压和频率,使其在满足数据处理和等待数据传输前提下,尽可能降低工作电压和频率,从而大大减小了CPU全速运行带来的能量消耗。
文档编号G06F1/32GK101866213SQ201010234240
公开日2010年10月20日 申请日期2010年7月23日 优先权日2010年7月23日
发明者周憬宇, 唐飞龙, 杨艳琴, 沈耀, 过敏意 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1