预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

嵌入式系统面向低功耗的协同设计摘要:在系统设计中低功耗系统或低功耗协同设计系统并没作为一个整体在当前的研究中得到充分的重视。本文阐述在系统级设计中功耗的重要性综述硬件低功耗、软件低功耗和通信低功耗的设计方法并给出实现低功耗设计的一种可行方法。关键词:协同设计硬件低功耗软件低功耗功耗估计1概述对于当今的各种电子设备尤其是嵌入式系统来说功耗是一个非常重要的问题。系统部件产生的热量和功耗成比例为解决散热问题而采取的冷却措施进一步增加了整个系统的功耗。为了得到最好的结果在设计初级阶段就要尽可能地考虑低功耗问题。由于现在大部分数字系统都利用CMOS电路因此本文提出的思路和探讨领域主要指CMOS电路。在CMOS电路里功耗由下式决定:Ptotal=Pstatic+Pshort+CswfV2dd+Pslitching(1)式(1)中第一项静态功耗Pstatic是由漏电流消耗的是在电路没有正常运转时产生的对于CMOS电路来说这个功耗很小;后三项称为动态功耗Pshort是在门电路输出状态发生改变时两个CMOS晶体管同时导通产生的;第三项称为开关功耗和时钟频率f、供电电压Vdd和开关电容Csw有关;最后一项Pglitching是由电路中不需要的开关动作产生的。从式(1)可以看出在所有的功耗中能够改进的部分只有开关功耗。在处理器上绑定任务将影响开关电容选择不同处理器将影响频率和供电电压。本文所考虑的系统模型包括了常用的大部分结构:硬件部件(ASICs)、微处理器(DSPs、微控制器)、存储器和内部互连网络。这里互连网络不指一条总线而是指多条总线和点到点的连接甚至无线连接。目前对硬件的功耗估计可以在不同的抽象级别上进行:从慢而精确的门级功耗估计到快但不够精确的算法级估计。折衷速度和功耗、采用流水线技术、关断某些部件、减少开关活性等方法都是系统设计中经常使用的。软件低功耗是一个较新的问题主要是针对移动通信、无线通信等数字信号处理器(DSP)应用提出来的。软件功耗优化通常包括以下技术:存储器存取最小化、机器指令的最佳选择、开发处理器的低功耗特性等。软件功耗估计可以在两个基本的抽象级别上进行:在低级别上门级指令处理系统中利用现有的门级和功耗估计工具;在高级别上则利用每类指令或指令序列的执行频率来估计功耗。后一级方法不够准确但比前一种速度快。由于消耗在总线上的功耗占系统功耗的很大一部分因此低功耗通信综合也作为低功耗软件优化的一部分。在总线上通常是通过采用冗余码编码来减少开关活性从而降低功耗的。2协同设计流程在典型的软硬件协同设计过程中与功耗相关的问题通常是在系统划分成硬件和软件两部分后才开始考虑的。虽然这种方法可以降低功耗但真正地面向低功耗的协同设计过程则需要从划分开始就要考虑功耗如图1所示。从设计流程初期就要考虑功耗和控制的原因可以用下面的例子说明:假定个过程选择用软件来完成软件的执行时间较长但输出结果所用的通信时间短这样就导致了高带宽并占用总线。但同样的过程如果用硬件来实现硬件的执行速度更快从而允许更长的通信时间并可以选择低功耗的总线编码策略。这样就降低了整个系统的功耗(因为通信过程非常耗能)。2.1输入和输出如图1所示协同设计过程的输入是系统规范也就是通常所说的行为方式。通过设计得或自动工具软件可以将这个规范分解成通过虚拟通道通信的子过程。通过软硬件划分其中一些子过程由硬件综合来实现而另外的子过程将通过运行在处理器上的软件来完成。虚拟通道通常由总线、点到点的连接、共享存储器或其它类型的内部通信过程来实现。到目前为止研究者已提出了一些系统划分方法。每一个子过程是一个通过自动化工具从系统规范中提取的基本模块。个基本模块是一个指令序列除了第一条或最后一条指令外不允许跳入和跳出这个指令序列。虚拟通道仅用来完成与进程的上下文(例如存活期的变量)的通信。这种分解方法产生了大量小的子过程和密集的通信过程。另一种方法是由设计者明确地指明各个过程以及各模块之间通信的数据。用后一种方法子过程的数量得到了控制但却失去了增强并行性的潜能。将系统分解成通过通道相互通信的子系统以后就可以得到图2所示的任务图。图2中每一个字节是一个子过程。每一条边是有向边表示各过程之间的数据依赖性。从节点出发的有向边只有满足特定条件时才能完成通信。不同的有向边进入同一任务节点(称为联合节点)表示此任务要从不同的过程接收数据并且只有在数据接收完毕后才开始执行过程。2.2部件的选择和系统分区设计者对运行软件的处理器、总线的数目和采用仲裁协议的类型通常有一个总体的思路可以初步决定系统包含部件的数目和类