CN101866213A - Spm-dma结构的嵌入式系统的节能方法 - Google Patents
Spm-dma结构的嵌入式系统的节能方法 Download PDFInfo
- Publication number
- CN101866213A CN101866213A CN 201010234240 CN201010234240A CN101866213A CN 101866213 A CN101866213 A CN 101866213A CN 201010234240 CN201010234240 CN 201010234240 CN 201010234240 A CN201010234240 A CN 201010234240A CN 101866213 A CN101866213 A CN 101866213A
- Authority
- CN
- China
- Prior art keywords
- optimal
- cpu
- data
- frequency
- voltage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Power Sources (AREA)
Abstract
一种计算机技术领域的SPM-DMA结构的嵌入式系统的节能方法,包括以下步骤:将待处理的数据划分为若干块;进行数据的并行传输和并行处理,CPU完成对每个数据块的处理;检测CPU处理每块数据的时间和DMA加载第i+1块数据并回传第i块处理后数据的时间得到最优调整因子;得到最优频率和最优电压;当CPU的工作级别中包括最优频率和最优电压时,进行静态调整;否则,进行动态调整,使CPU工作于调整后的电压和频率。本发明根据DMA数据传输的速度来调整CPU工作的电压和频率,使其在满足数据处理和等待数据传输前提下,尽可能降低工作电压和频率,从而大大减小了CPU全速运行带来的能量消耗。
Description
技术领域
本发明涉及的是一种计算机技术领域的方法,具体是一种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从逻辑上分为容量相等的两部分SPM0和SPM1,DMA装载第一块待处理数据,并将装载后的第一块数据写入SPM0,CPU处于等待状态;CPU对第i块数据进行处理,并将处理后的第i块数据写入SPM0,同时DMA装载第i+1块待处理数据,将装载后的第i+1块数据写入SPM1,并将处理后的第i块数据回写到片外存储器,1≤i≤N-1;CPU对第N块数据进行处理,并将处理后的第N块数据写入SPM1,DMA将处理后的第N块数据回写到片外存储器。
第三步,检测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工作于调整后的电压和频率。
所述的静态调整,是将CPU的工作电压调整为最优电压Voptimal且将CPU的工作频率调整为最优频率Foptimal。
所述的动态调整,包括以下步骤:
1)在CPU的所有工作频率中,选择比最优频率Foptimal大且与最优频率Foptimal差值最小的频率Fhigh,并选择比最优频率Foptimal小且与最优频率Foptimal差值最小的频率Flow;
在CPU的所有工作电压中,选择比最优电压Voptimal大且与最优电压Voptimal差值最小的电压Vhigh,并选择比最优电压Voptimal小且与最优电压Voptimal差值最小的电压Vlow;
2)根据αlow=Flow/Fmax和αhigh=Fhigh/Fmax,得到次优调整因子αlow和次优调整因子αhigh;
5)在CPU处理一块数据的过程中,CPU的工作频率为Fhigh且工作电压为Vhigh的迭代次数设置为Chigh,CPU的工作频率为Flow且工作电压为Vlow的迭代次数设置为CLow,从而完成CPU调整。
与现有技术相比,本发明的有益效果是:使CPU和DMA并行工作,并根据DMA数据传输的速度来调整CPU工作的电压和频率,使其在满足数据处理和等待数据传输前提下,尽可能降低工作电压和频率,从而大大减小了CPU全速运行带来的能量消耗。
附图说明
图1是实施例中并行数据块传输和处理的示意图;
图2是实施例中并行数据块传输和处理的时隙图。
具体实施方式
以下结合附图对本发明的方法进一步描述:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
实施例
本实施例中CPU、SPM和DMA集成在一个芯片上,且DMA与片外存储器相连,具体包括以下步骤:
第一步,将待处理的数据划分为若干块,且每块数据小于SPM容量的一半。
第二步,并行数据处理和并行数据传输的实现:将SPM从逻辑上分为容量相等的两部分SPM0和SPM1,DMA装载第一块待处理数据,并将装载后的第一块数据写入SPM0,CPU处于等待状态;CPU对第i块数据进行处理,并将处理后的第i块数据写入SPM0,同时DMA装载第i+1块待处理数据,将装载后的第i+1块数据写入SPM1,并将处理后的第i块数据回写到片外存储器,1≤i≤N-1;CPU对第N块数据进行处理,并将处理后的第N块数据写入SPM1,DMA将处理后的第N块数据回写到片外存储器;
如图1所示,本实施例中SPM被逻辑上分成两部分:SPM0和SPM1,分别供CPU和DMA使用。图1(a)中CPU从SPM0中获取要处理的数据块并将处理完的数据块写回到SPM0,CPU与SPM0交互的同时,DMA将之前CPU处理完毕存放在SPM1的数据块写回到片外存储器,然后从片外存储器将CPU后续要处理的数据块装载入SPM1中。同理,图1(b)中CPU处理SPM1中的数据并将处理结果写回到SPM1,同时DMA将之前存放在SPM0中的数据写回到片外存储器然后将新数据块装载入SPM0。
第三步,检测CPU处理每块数据的时间TCPU和DMA加载第i+1块数据并回传第i块处理后数据的时间Tblock,根据αoptimal=TCPU/Tblock,得到最优调整因子αoptimal。
本实施例中并行数据块传输和数据块处理时隙图如图2所示,在并行数据块传输和处理中,CPU和DMA都交替的访问SPM0和SPM1,前提是CPU开始访问SPM0(SPM1)时,DMA必须已经结束了对SPM0(SPM1)的访问。而CPU的处理速度快于DMA传输数据的时间,这样CPU就出现了空闲等待状态。在预处理阶段,DMA需要装载CPU要处理的第一块数据,CPU处于等待状态;在后续处理阶段,CPU对最后一块数据进行处理,DMA将最后一块结果数据回写到片外存储器;在循环体处理阶段,CPU处理已经装载的数据,DMA装载CPU后续要处理的数据并将CPU的处理结果回写到片外存储器。
第四步,根据Foptimal=αoptimal×Fmax和Voptimal=αoptimal×Vmax,得到最优频率Foptimal和最优电压Voptimal,其中:Fmax是CPU的最大频率,Vmax是CPU的最大电压;
第五步,当CPU的工作级别中包括最优频率Foptimal和最优电压Voptimal时,进行静态调整;否则,进行动态调整,使CPU工作于调整后的电压和频率。
所述的静态调整,是将CPU的工作电压调整为最优电压Voptimal且将CPU的工作频率调整为最优频率Foptimal。
所述的动态调整,包括以下步骤:
1)在CPU的所有工作频率中,选择比最优频率Foptimal大且与最优频率Foptimal差值最小的频率Fhigh,并选择比最优频率Foptimal小且与最优频率Foptimal差值最小的频率Flow;
在CPU的所有工作电压中,选择比最优电压Voptimal大且与最优电压Voptimal差值最小的电压Vhigh,并选择比最优电压Voptimal小且与最优电压Voptimal差值最小的电压Vlow;
2)根据αlow=Flow/Fmax和αhigh=Fhigh/Fmax,得到次优调整因子αlow和次优调整因子αhigh;
5)在CPU处理一块数据的过程中,CPU的工作频率为Fhigh且工作电压为Vhigh的迭代次数设置为Chigh,CPU的工作频率为Flow且工作电压为Vlow的迭代次数设置为CLow,从而完成CPU调整。
本实施例中由于CPU存在空闲时间,故利用CPU和DMA并行性提高性能的同时减少CPU的空闲时间,即通过降低CPU的工作电压频率来延长CPU工作时间,根据CPU数据处理和DMA数据传输速度的差异进行动态电压频率调整,使CPU工作在满足性能要求的最低电压频率状态,从而节省系统功耗。
Claims (4)
1.一种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从逻辑上分为容量相等的两部分SPM0和SPM1,DMA装载第一块待处理数据,并将装载后的第一块数据写入SPM0,CPU处于等待状态;CPU对第i块数据进行处理,并将处理后的第i块数据写入SPM0,同时DMA装载第i+1块待处理数据,将装载后的第i+1块数据写入SPM1,并将处理后的第i块数据回写到片外存储器,1≤i≤N-1;CPU对第N块数据进行处理,并将处理后的第N块数据写入SPM1,DMA将处理后的第N块数据回写到片外存储器。
3.根据权利要求1所述的SPM-DMA结构的嵌入式系统的节能方法,其特征是,第五步中所述的静态调整,是将CPU的工作电压调整为最优电压Voptimal且将CPU的工作频率调整为最优频率Foptimal。
4.根据权利要求1所述的SPM-DMA结构的嵌入式系统的节能方法,其特征是,第五步中所述的动态调整,包括以下步骤:
1)在CPU的所有工作频率中,选择比最优频率Foptimal大且与最优频率Foptimal差值最小的频率Fhigh,并选择比最优频率Foptimal小且与最优频率Foptimal差值最小的频率Flow;
在CPU的所有工作电压中,选择比最优电压Voptimal大且与最优电压Voptimal差值最小的电压Vhigh,并选择比最优电压Voptimal小且与最优电压Voptimal差值最小的电压Vlow;
2)根据αlow=Flow/Fmax和αhigh=Fhigh/Fmax,得到次优调整因子αlow和次优调整因子αhigh;
5)在CPU处理一块数据的过程中,CPU的工作频率为Fhigh且工作电压为Vhigh的迭代次数设置为Chigh,CPU的工作频率为Flow且工作电压为Vlow的迭代次数设置为CLow,从而完成CPU调整。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010234240XA CN101866213B (zh) | 2010-07-23 | 2010-07-23 | Spm-dma结构的嵌入式系统的节能方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010234240XA CN101866213B (zh) | 2010-07-23 | 2010-07-23 | Spm-dma结构的嵌入式系统的节能方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101866213A true CN101866213A (zh) | 2010-10-20 |
CN101866213B CN101866213B (zh) | 2012-05-23 |
Family
ID=42957966
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010234240XA Expired - Fee Related CN101866213B (zh) | 2010-07-23 | 2010-07-23 | Spm-dma结构的嵌入式系统的节能方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101866213B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109725700A (zh) * | 2017-10-29 | 2019-05-07 | 上海寒武纪信息科技有限公司 | 动态调压调频装置和方法 |
CN110059024A (zh) * | 2019-04-19 | 2019-07-26 | 中国科学院微电子研究所 | 一种内存空间数据缓存方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006068730A2 (en) * | 2004-12-20 | 2006-06-29 | Marvell World Trade Ltd. | Method and apparatus to manage power consumption of a semiconductor device |
CN1818829A (zh) * | 2006-03-10 | 2006-08-16 | 浙江大学 | 内核动态调节处理器频率的节能方法 |
CN1858676A (zh) * | 2006-05-31 | 2006-11-08 | 威盛电子股份有限公司 | 设定设备电源管理状态方法以及设备功耗节省方法 |
CN101216727A (zh) * | 2008-01-16 | 2008-07-09 | 浙江大学 | 嵌入式低功耗操作系统中动态频率调整的映射方法 |
-
2010
- 2010-07-23 CN CN201010234240XA patent/CN101866213B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006068730A2 (en) * | 2004-12-20 | 2006-06-29 | Marvell World Trade Ltd. | Method and apparatus to manage power consumption of a semiconductor device |
CN1818829A (zh) * | 2006-03-10 | 2006-08-16 | 浙江大学 | 内核动态调节处理器频率的节能方法 |
CN1858676A (zh) * | 2006-05-31 | 2006-11-08 | 威盛电子股份有限公司 | 设定设备电源管理状态方法以及设备功耗节省方法 |
CN101216727A (zh) * | 2008-01-16 | 2008-07-09 | 浙江大学 | 嵌入式低功耗操作系统中动态频率调整的映射方法 |
Non-Patent Citations (1)
Title |
---|
《小型微型计算机系统》 20051231 雷霆 等 一种新的基于动态电压调整的单任务调度方法 2176-2180 1-4 第26卷, 第12期 2 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109725700A (zh) * | 2017-10-29 | 2019-05-07 | 上海寒武纪信息科技有限公司 | 动态调压调频装置和方法 |
CN110059024A (zh) * | 2019-04-19 | 2019-07-26 | 中国科学院微电子研究所 | 一种内存空间数据缓存方法及装置 |
CN110059024B (zh) * | 2019-04-19 | 2021-09-21 | 中国科学院微电子研究所 | 一种内存空间数据缓存方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101866213B (zh) | 2012-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9122464B2 (en) | Method, apparatus, and system for energy efficiency and energy conservation including energy efficient processor thermal throttling using deep power down mode | |
US7529955B2 (en) | Dynamic bus parking | |
CN101526924B (zh) | 一种优化数字信号处理芯片数据访问的方法 | |
CN111488983A (zh) | 一种基于fpga的轻量级cnn模型计算加速器 | |
CN1860446A (zh) | 支持高性能和高能效执行的准对称多处理器 | |
CN102495756A (zh) | 操作系统在不同的中央处理器之间切换的方法及系统 | |
CN103218029B (zh) | 一种超低功耗处理器流水线结构 | |
US9665144B2 (en) | Methods and systems for energy efficiency and energy conservation including entry and exit latency reduction for low power states | |
WO2022199027A1 (zh) | 一种随机写的方法、电子设备及存储介质 | |
CN101162405A (zh) | 动态降低cpu功耗的方法 | |
CN111158633A (zh) | 一种基于fpga的ddr3多通道读写控制器及控制方法 | |
CN101673191A (zh) | 数据写入方法、装置及数据存储系统 | |
CN110598844A (zh) | 一种基于fpga的并行卷积神经网络加速器及加速方法 | |
CN101866213B (zh) | Spm-dma结构的嵌入式系统的节能方法 | |
Pyo et al. | 23.1 20nm high-K metal-gate heterogeneous 64b quad-core CPUs and hexa-core GPU for high-performance and energy-efficient mobile application processor | |
CN102637149B (zh) | 一种处理器及其运行方法 | |
CN102819418B (zh) | 超细粒度门控时钟的fifo数据存储方法及装置 | |
CN201804331U (zh) | 一种基于协处理器的重复数据删除系统 | |
Usman et al. | A comparative study of voltage/frequency scaling in NoC | |
CN105930101A (zh) | 一种基于闪存固态盘的弱指纹重复数据删除机制 | |
CN105022469A (zh) | 便携式电子装置及其内核交换方法 | |
CN103064504B (zh) | 一种服务器主板节能方法 | |
CN204270293U (zh) | 多通道Flash控制器 | |
CN105045338B (zh) | 一种多外设低能耗计算机架构及控制方法 | |
CN201156261Y (zh) | 具有roc结构的raid卡 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120523 Termination date: 20140723 |
|
EXPY | Termination of patent right or utility model |