【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开发工程建立
前段时间一直忙一个项目,同时在生活上时时提防和抵抗中国地沟油.国外核心转基因调和油.大豆油.色拉油.大米玉米.可怕的喂药鱼.药水泡农药喷无虫咬的青菜,所以没时间打理自己的博客,让开发攻略停顿了一段时间 ...
随机推荐
- zabbix通过钉钉报警
1.创建报警脚本 vim /usr/local/share/zabbix/alertscripts/dingalert.py #!/usr/bin/env python import json im ...
- HashMap判断键是否为null
用containsKey(),而不用get(): HashMap中,null可以作为键,这样的键只有一个:可以有一个或多个键所对应的值为null.当get()方法返回null值时,即可以表示HashM ...
- (WA)BZOJ 4821: [Sdoi2017]相关分析
二次联通门 : BZOJ 4821: [Sdoi2017]相关分析 2017.8.23 Updata 妈妈!!这道题卡我!!!就是不然我过!!!!! #include <cstdio> # ...
- CTS2019自闭记
没想到吧,我竟然还有一篇游记. Day 0 上午开开心心地考完了中考英语听说考试,然后就出发去机场了. 第一次一个人坐飞机还有点小激动? 7点左右到的北京,到酒店就已经9点了,赶紧跟着hz学长学了一下 ...
- redis之不重启,切换RDB备份到AOF备份
确保redis版本在2.2以上 [root@pyyuc /data 22:23:30]#redis-server -v Redis server v=4.0.10 sha=00000000:0 mal ...
- 中国传统色彩名录及其RGB值
- Ubuntu 14.04 tar 打包系统安装到新机器
制作Ubuntu14.04 的u启动盘,重启电脑进入要克隆的系统,打包整个根目录 su cd / tar -cvpzf /media/cdrom/backup.tar.gz / --exclude=/ ...
- SSRF漏洞攻击利用从浅到深
梳理一下ssrf 不详细 简单记录 0x01 SSRF成因和基本利用0x02 内网打未授权redis0x03 关于ssrf打授权的redis0x04 写redis shell和密钥的一点问题0x05 ...
- 卸载Ambari集群
清理ambari安装的hadoop集群 本文针对redhat或者centos 对于测试集群,如果通过ambari安装hadoop集群后,想重新再来一次的话,需要清理集群. 对于安装了很多hadoop组 ...
- Git 命令行使用
一.git简介: Linux创建了Linux,但是Linux的发展壮大是由世界各地的热心志愿者参与编写的?那么那么多份的代码是怎么合并的呢?之前是在2002年以前,世界各地的志愿者把源代码文件通过di ...


