【DSP开发技术】影响高性能DSP功耗的因素及其优化方法
影响高性能DSP功耗的因素及其优化方法
|
德州仪器DSP技术应用工程师 冯华亮 摘要本文讨论影响高性能DSP功耗的因素,介绍一些DSP功耗的优化方法。 随着嵌入式应用需求的不断提高,DSP的速度也不断提高。现在常见的高性能DSP速度已达到1GHz,TI(Texas Instruments)的TMS320C6455最高速度已达到1.2GHz。然而,DSP的功耗也随着DSP的速度提升而快速增加。DSP功耗越来越成为DSP工程师关注的重要问题。 另外,1.2GHz目前几乎是DSP速度的上限,主要原因还是功耗的限制。更高速度DSP所带来的高功耗的负面影响已超过了其在性能方面带来的好处。基于这个原因,现在普遍采用的提高DSP性能的技术是在单芯片内集成更多的核,而不是单纯提高单核的运行速度。 影响DSP功耗的因素数字电路的功耗不外乎两种:一种是动态功耗,消耗于逻辑的转换;另一种是静态功耗,由于CMOS晶体管存在的各种泄漏造成。对于较老的DSP,或者说基于大于130nm工艺的DSP,静态功耗可以忽略不计;但随着工艺不断精微,静态功耗所占的比例越来越大。 静态功耗TI在DSP功耗方面一直处于业界领先的地位,下表列出了TI一些基于不同工艺的DSP的典型静态功耗在总功耗中所占的比例。
对于最新的基于65nm工艺的DSP,静态功耗所占的比例达到50%左右。另外,静态功耗也受DSP工作温度的影响,下图列出TMS320C6455在不同温度下的静态功耗。
从上图可以看出,随着工作温度上升,静态功耗呈指数级上升,这使得静态功耗在总功耗中所占的比例进一步提高。另外,值得注意的是,温度升高会增加功耗,而功耗增加又使芯片温度进一步升高,温度和功耗这种互相助长的特性使得DSP散热系统的设计显得更为重要。 动态功耗当门发生逻辑状态转换并产生内部结点充电所需的开关电流以及P通道及N通道同时暂态开启引起直通电流时,就会出现动态功耗。通过以下公式可以估算其近似值:
其中,Cpd为动态电容,F为开关频率,Vcc为电源电压。上述关系中包含两个重要概念:动态功耗与开关频率呈线性关系,与电源电压呈二次关系。下图列出了TMS320C6455在不同工作频率下的典型功耗。
另外,最大安全开关频率往往取决于电源电压,所以这两者是相互关联的。以TMS320C6455为例,当工作频率小于或等于850MHz时,其要求的核电压为1.2V;而当工作频率大于850MHz时,其核电压必须为1.25V。 DSP功耗优化方法静态功耗主要取决于芯片的设计和工艺。而实际应用中可采取的主要优化方法是控制温度。常见的散热方法包括散热片和风扇。对于高功耗DSP,散热片是低成本而且有效的散热方式;而风扇的使用则需要仔细考虑更多的因素,如风扇的尺寸,位置,成本及可靠性等等。 优化动态功耗的方法则比较多。在不影响系统性能的前提下,通过降低电压和频率就可能大大降低动态功耗。不过,降低CPU时钟速率也会成比例地延长执行该任务集的时间,因此必须仔细分析应用以确保满足其实时需求。 电压的调节需要特殊的可配置电源的支持,这可能会增加系统的成本;频率的调节则可利用DSP内部自带的可编程PLL来实现,配置不同的倍频系数即可得到不同的频率。为了实现电压/频率的调节,DSP上的软件需要实时监控DSP的负载,根据负载选择功耗最小而又能满足实时处理要求的电压/频率配置。 在DSP电压/频率一定的情况下,DSP动态功耗还受DSP使用率的影响。通常可采用以下方法来降低DSP使用率: 1. 关闭不需要或暂时不使用的外设。例如,TMS320C6455 DSP上,所以的外设模块的时钟都可以通过软件关闭或打开。 2. 空闲时,将DSP置于低功耗或睡眠模式。例如,在TMS320C6455 DSP上可以通过执行IDLE指令来实现。处于IDLE状态的DSP可被任何中断事件唤醒。因此,在等待处理数据时,为了节省功耗,应避免采用查询方式,而采用IDLE与中断结合的方式。 3. 不访问存储器时将其置于低功耗或睡眠模式。例如,TMS320C6455 DSP上,所有片内存储器都可通过软件使其处于低功耗模式,而任何对内存的访问又可使其自动恢复到正常工作模式。外部扩展SDRAM也支持自刷新模式以节省功耗。 为了更进一步降低DSP功耗,还有一些细节值得注意: 1. 充分利用Cache或其它技术减少存储器的访问。例如,TMS320C6455的SPLOOP Buffer和16-bit压缩指令可以减少代码的大小及访问频率。访问外部扩展存储器的功耗往往比访问内部存储器高得多,尽量将频繁访问的数据放在片内,以减少外部存储器的访问。另外,外部SDRAM往往基于突发(Burst)的方式访问,即使你只需要一个字节,存储器也可能会存取8个字,所以对SDRAM的要尽量采用连续大块的访问方式。 2. 优化软件,减小程序大小从而减少存储器的访问,减少代码执行时间从而降低DSP使用率。 3. 某些不用的DSP管脚允许被悬空,但通过合适的上拉或下拉将其置于确定的电平可减少由于状态不确定而导致的漏电流。 4. 某些用于调试目地的信号管脚,如TMS320C6455的输出时钟,在调试完成后可将其关闭。 |
|||||||||||||||
【DSP开发技术】影响高性能DSP功耗的因素及其优化方法的更多相关文章
- DSP开发资源总结,经典书籍,论坛
OMAP4开发资源总结: 一.TI OMAP4官网介绍: http://www.ti.com.cn/general/cn/docs/wtbu/wtbuproductcontent.tsp?templa ...
- Android开发技术周报183学习记录
Android开发技术周报183学习记录 教程 Android性能优化来龙去脉总结 记录 一.性能问题常见 内存泄漏.频繁GC.耗电问题.OOM问题. 二.导致性能问题的原因 1.人为在ui线程中做了 ...
- 【DSP开发】解读TI的KeyStone II云技术应用
最近,德州仪器(TI)公司推出6款最新KeyStone II多核SoC,助力云应用.TI公司多核DSP中国市场开发经理蒋亚坚先生向媒体讲解了这6款KeyStone II新产品的特点与目标应用. ...
- 【DSP开发】德州仪器达芬奇五年之路七宗罪,嵌入式处理器架构之争决战2012
芯片是产业链上游重要的一个环节,一颗小小的芯片具有极高的技术含量和价值,半导体行业每年都会有一个各大厂商营业额的排名,除去2009年,常年盘踞在前三名位置的分别是英特尔,三星半导体和德州仪器,英特尔凭 ...
- DSP开发笔记一
前言 本笔记首先对DSP的特点及其选型进行了描述,然后重点记录DSP开发环境的搭建及基础工程示例,对为DSP开发新手有一定的指导作用. 1. DSP简介 1.1 主要特点 在一个指令周期内可完成一 ...
- 【ARM-Linux开发】【DSP开发】AM5728介绍
AM5728 Sitara Processors 1. 介绍 1.1 AM572x概述 AM572x是高性能,Sitara器件.以28nm技术集成: 结构设计主要考虑嵌入式应用,包括工业通讯,人 ...
- 【DSP开发】gel文件编写
以下转载自:http://blog.csdn.net/henhen2002/article/details/4573447 GEL--通用扩展语言,无类型语言,只有int类型,当CCS运行时首先执行这 ...
- 【DSP开发】【计算机视觉】TI 视觉软件开发套件ADAS
关键字:TI 视觉软件开发套件 ADAS 日前,德州仪器 (TI) 宣布推出其视觉软件开发套件(SDK),从而为开发人员提供了一款灵活的框架.一组丰富齐全的硬件设备驱动程序和一套适用的开发工具,可 ...
- Davinci DM6446开发攻略——DSP开发工程建立
前段时间一直忙一个项目,同时在生活上时时提防和抵抗中国地沟油.国外核心转基因调和油.大豆油.色拉油.大米玉米.可怕的喂药鱼.药水泡农药喷无虫咬的青菜,所以没时间打理自己的博客,让开发攻略停顿了一段时间 ...
随机推荐
- C# 重写IComparer 接口
首先定义比较类 继承自IComparer<Racer> public class RacerComparer : IComparer<Racer> { public enum ...
- Python--编码的疑惑
XML语法分析器在处理的时候,使用的是Unicode字符串,并且将其返回.Unicode可以处理特殊字符,但是如果将Unicode字符串转换为普通字符串,就会引发异常,比如Print, >> ...
- Treasure Exploration POJ - 2594 【有向图路径可相交的最小路径覆盖】模板题
Have you ever read any book about treasure exploration? Have you ever see any film about treasure ex ...
- ArrayBuffer、TypedArray、DataView二进制数组
三个是处理二进制数据的接口.都是类数组. 1.ArrayBuffer是什么? ArrayBuffer是一个二进制对象(文件,图片等).它指向固定长度的,连续的内存区域. const buffer = ...
- Shell 01 shell概述
1.查看shells:/etc/shells /bin/sh /bin/bash /sbin/nologin /usr/bin/sh /usr/bin/bash /usr/sbin/nologin / ...
- bit,byte,word,bps,Bps,比特,字节,字, 一图看懂
- 二十八、CentOS系统光盘安装、anaconda概述
常见问题你会感觉 tftp timeout: 防火墙 time out script: 网关没有指定,在dhcpd.conf中 不能下载:vmlinuz和initrd程序和安装的系统版本不一致 内存必 ...
- B. Uniqueness(尺取)
B. Uniqueness time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...
- 八十年代的经典 NFS和AFS
NFS:(C/S模式) 大体架构: 1985年Sun公司基于UDP开发了网络共享文件系统(Network FileSystem) NFS由一系列NFS命令和进程组成的客户机/服务器模式,在第三版中加入 ...
- @EnableTransactionManagement的使用
Spring Boot 使用事务非常简单,首先使用注解 @EnableTransactionManagement 开启事务支持后,然后在访问数据库的Service方法上添加注解 @Transactio ...


