功率与性能:DSP设计面临的终极挑战
扫描二维码
随时随地手机看文章
多年来,数字信号处理器 (DSP) 设计人员一直在应付这样一项艰难的工作:提供占用空间小的高性能芯片,而且要不影响灵活性和软件的可编程能力。
由于新的应用程序发展速度惊人,提供的 DSP 必须在功率、性能和使用寿命上跟上这种速度,应对当前面临的挑战,并准备好应对未来的应用。这些高性能多核心 DSP被越来越多地应用在电信接入、改进数据率GSM服务(EDGE)和基础设施设备领域,用来处理语音、视频和无线电信号。
以前,电信设备制造商使用专用的 ASIC 或 DSP-ASIC 组合来达到自己的目标。现在,这些新的 DSP 可以替代那些繁琐的解决方案;如果足够强大,它们还可以实现以前的解决方案所无法实现的灵活性。对于那些必须在网络部署中持续使用多年的接入和基础设施设备,而言, 这些灵活的解决方案是大有裨益的。假如这些类型的设备和应用程序的使用寿命得到延长,那么,成功的关键就是灵活性、适应性和现场可编程性。
在目前的技术条件下,ASIC 在灵活性或现场可编程性方面不如 DSP,但 DSP 的能耗较大,这让芯片设计人员左右为难。不过,还是有希望:新一代的多核心 DSP 可以同时做到高性能和高能效。做到这点的技术是存在的,但必须先解决“功率耗散”(功率极限)问题。
功率极限
目前,芯片功率耗散的源头有两个:以泄漏形式出现的静态现象;以开关运算形式出现的动态现象。在采用 90 纳米和以下工艺的 CMOS 技术中,这种功率耗散现象最为明显。但是,新一代的 DSP 设计不仅能减轻和避开这种功率极限,而且实际上可以提高基础设施、接入和 EDGE 设备的处理能力,同时限制功率消耗和热量耗散。
部分特定CMOS 技术下的能耗界定的关键度量指标:
• 电源电压
• 门开关速度
• 门输入电容
• 门功耗
• 每个 MAC 运算消耗的能源
研究表明,同等功能(如 MAC 单元)的功率密度(即单位面积的功率)在 0.13 微米(含)以上的芯片中相当稳定。但是,到达 90 纳米时,这个指标会突然升高。
在采用 0.13 微米技术以前,DSP 设计能够在提高性能的同时降低功率,从而可以在单个芯片中植入更多的电路。这主要是通过减小尺寸并降低电压实现的。采用了 90 纳米技术后,所有这一切就都行不通了。
现在面临的是以性能换功能的问题,这是设备制造商所不愿遇到的情况:在一个芯片中植入更多电路但降低性能,或者减少电路数以减少功能。
由于“功率极限”的情形继续存在,设计人员一直在通过增加功耗来获得性能和功能方面的优势。但是,这会带来一种新的风险:达到热量耗散的极限。所产生的问题可能已经在当前市场上最新一代的通用多核心 DSP 中出现。
零-和博弈:静态能效
因为性能是基础设施、接入和 EDGE 应用的主要目标,因此设计人员一般并不关心零待机功率问题。因此,通常采用通用硅工艺来优化性能,而不会选择低泄漏的硅。选择低泄漏的硅可以降低待机功率,但也会降低速度和性能。
这就要求有选择地使用晶体管。
在使用电池的设备中,高电压阈值 (HVT) 可能是最佳的;但在基础设施应用中,首选的是标准电压阈值 (SVT) 技术。
例如,假如某个设计使用 HVT 逻辑运算,并且电源电压为 1.2V,则将连续产生 20mW 的泄漏功率。如果以最大容量运算,则将消耗 1W 的动态功率。
使用 SVT 逻辑运算的相同设计在电源电压为 1.0V 时可以实现几乎相同性能,产生的泄漏功率多出 4 倍 (100mW),但动态消耗的功率只有 694mW (1.02 /1.22 = 0.694)。
因此,泄漏较高的 SVT 设计消耗的总功率只有 790mW,而相比之下,HVT 设计的消耗总功率为 1.02W。前者比后者节能 23%。
HVT 设计和 SVT 设计的功耗比较
尽管与人们预料的情况相反,这一示例表明,使用较高泄漏的 SVT 逻辑与使用低泄漏的 HVT 逻辑相比,可以在总体上节能,这是因为后者电路中的开关活动量很大。对于乘法和累加 (MAC) 电路,这种设计特别有用;但如果用在低活动因素的电路(如 RAM 电路或测试电路)上,则会出现相反的结果。因此,SVT 逻辑适用于基础设施中“始终打开”的设备。
动态化:能效优化
时钟树和逻辑切换都会导致动态能耗,必须在新一代多核心 DSP 中进行处理。通过不断优化这两种耗能因素的设计,可以极大地改进能效指标。
时钟树(用于实现同步时钟以触发设计的线网和缓冲区)会在其自身的触发运算过程中从芯片中吸收一些能量。在对最新的高速芯片中遍布的时钟树(通常数量较大)进行充电和放电的过程中,也会消耗能量。此外,有些新一代 DSP 使用了速度更快的时钟 (1GHz 或更高),这就需要耗能更多的更大的激励器。如果要通过芯片和相关的时滞最小化时钟传播延迟,则需要更大的激励器。这又导致消耗更多的能量。
用于降低能耗的时钟树门控
An unused module can be disabled anytime using an enable signal. Associated logic and clock trees contained in a disabled module will therefore stop consuming power.
可以使用激活信号随时禁用未使用的模块。被禁用的模块中包含的相关逻辑和时钟树会因此停止消耗能量。
An unused module can be disabled anytime using an enable signal. Associated logic and clock trees contained in a disabled module will therefore stop consuming power.
可以使用激活信号随时禁用未使用的模块。被禁用的模块中包含的相关逻辑和时钟树会因此停止消耗能量。
设备设计人员可以通过组合以下成熟的技术来降低时钟树中的能耗:
·单独启用时钟的触发器,可以在需要计时时限制触发运算的次数。
·门控时钟树,可以在不使用时动态阻止对整个电路段计时。
·多循环路径设计,可以减少电路中的触发次数以及触发的频率。
·在架构上可行的情况下组合计算线路,从而让一系列 的MAC 运算可以在级联组合电路而不是同步反馈电路中实现。借用多循环路径技术;这种方式可以极大地减少所用的触发次数并降低触发频率。
·最小化触发器和电路的使用范围,使用物理尺寸较小的时钟树,从而缩小所需的激励缓冲区。
最后,消除全部时钟树可以在提高性能的同时极大地降低能耗。无时钟设计技术可以用在耗能最多的逻辑电路部分。思想超前的设计人员会积极地追随上述解决方案。在解决性能和功率之间一直存在的冲突时,无时钟设计是效率最高、成本效益最好的方式。
逻辑切换优化
逻辑切换在能耗方面发挥着重要的作用,因为整体能耗都发生在逻辑切换状态转换的充电和放电过程中。可以采用以下成熟技术的组合来最大程度地减少逻辑转换中的能耗。
优化物理门:这种技术可以实现最大的能效指标收益,对于较小的芯片尺寸技术更是如此。虽然其原理非常简单,但使用当前的布局工具和方法来实现这种技术却有一定难度;因为这些工具和方法原来的开发目的是加快推出产品,牺牲性能来提高设计的水平和复杂度。
最终发明了物理门,可以使用某种抽象语言 (如 VHDL)来根据设计人员的功能目标来创建芯片。这种技术既有优点也有缺点。目前的标准方法是让设计人员避开物理实现方式的细节,从而加快产品推出的速度。
这种技术的缺点是复杂芯片的设计人员无法控制其设计,包括无法控制线路的长度,从而可能极大地增加电路的总电容。在找出最佳的线路和电路设计方面,设计人员仍然优于设计工具。如果使用成熟的技术并深入了解设计细节,人脑的判断仍然具有优势。设计人员还可以立即发现集成电路的细微变化可能成倍减少互连线路长度的情况。事实上,记录的信息显示,有人干预的物理门技术可以将电路线路的平均长度最高缩减一半(与传统的最佳自动后端工具中实现的相同设计相比)。而且,由于战略性布线实现的电路集成度可以轻松地将硅使用率提高到 90% 以上。这意味着,与使用自动后端工具的结果相比,硅使用率提高了大约 20%。
此外,与自动布线和路由的设计相比,激励这些极短线路的门通常尺寸较小,能耗也更低。因此,与自动布线的同类设计相比,整个电路的尺寸更小,运算速度更快,能耗也大幅降低。在 90 纳米技术中仅使用低 HVT 逻辑元素时,这种电路集成技术允许整个数据路径引擎以 1.5-2GHz 的速度运行,而其能耗与传统设计的同类电路相比最多可降低 4 倍。
优化长信号的线路:与其它高功率高速度的电路元素结合使用时,长信号线路可以显著地提高性能。例如,数据总线可以使用长路由并频繁改变状态。降低此类线路的整体电容可以极大地降低能耗,加快速度,并减少缓冲需求。但是,设计人员面临的难题是:要通过加大间距布置长信号来降低电容,同时仍要允许线路器关闭设计中密度极高的部分。其中的部分工具和方法包括:
消除对状态进行无益更改的电路:禁用其更改后的输出不会被使用的任何电路。这可以通过使用时钟门控实现。
减少高频门的数量:PC 处理器芯片(如 Pentium™ 和其它处理器)已经证明,提高功能要以增加能耗为代价。能耗的指数级增长源于利用以下一种或多种技术提高电路的性能:
使用复杂度更高的电路(即使用超前加法器而不是并行加法器),则会占用更大的面积,消耗更多的能量;
使用较大的门、缓冲区和激励器来加快切换速度,致使回报的逐渐减小。
通常,同等的性能可以通过使用更简单、速度更慢的电路实现;这些电路以并行方式运算,或者采用慢速的多循环路径,这可以极大地降低能耗。但是,与人们预料的情形相反,此类电路通常占用的总体面积较小。事实上,即使以并行方式使用,它们的总布线量通常较少。这是因为,从个体上看,与更快、更大、更耗能的大型电路相比,它们在每个实例上所需的门数更少,门更小。
• 降低电压切换摆幅的大小:通过长总线和时钟线降低电压切换摆幅,可以进一步降低能耗。这涉及使用具有较小的电压摆幅的平衡传输线技术,诸如在高性能内存设计中使用的技术(如差动放大器)。此类传输线以较小的电压切换运行,可以极大地降低能耗。尽管这种技术通常需要在芯片中使用中间电压轨/平面,这些传输线的状态更改速度可以达到传统 CMOS 轨到轨线路速度的 10 倍;在能耗相同的情况下,可以极大地提高能效指标。
• 规划电压运算范围:设计人员在确定其系统规格时,应该有所节制。并非系统中的每个元素都需要有很高的性能,对于哪些不属于对整个系统至关重要的 10% 的功能的元素更是如此。事实上,以尽可能精益的方式运行其它 90% 的功能是可以接受的。因此,设计人员应采用不同的电压轨区别对待电路的各个部分。例如,可以为 10% 的芯片线路提供 1.2V 的电压使其以 3GHz 的速度运行,为另外 40% 的线路提供 1.0V 的电压使其以 1GHz 的速度运行,而对剩余的 50% 线路提供 0.8V 的电压使其以 400MHz 的速度运行。在总体上,可以实现特定应用可以达到的最佳整体能效指标。
控制能效问题
随着应用程序越来越多样化,工具变得越来越复杂,电信接入和基础设施设备的设计人员在如何以恰当的代价构建高性能产品并实现合理的使用寿命的问题上费尽心思。但是,芯片设计方法的不断细化和专业化使得许多产品无法接触到这些技术。对于那些由专门的工程设计人员组成的大型团队使用一流的后端设计工具设计的芯片,其面临的困难尤其突出。值得庆幸的是,有多种技术可以管理芯片的能效指标,获得高达 3:1 MIPS/功率比。这些技术中既有非常简单的技术,也有极其复杂的技术,可以提供范围广泛的改进可能性。
令人意外的是,如果使用了为特定目的设计的工具,基于设计人员的最佳判断和智慧的效率最高的技术(如优化布线和路由)可能是相对简单的技术。
出人意料的是,最有效的技术,诸如优化布局布线,当使用为该特定目的而设计的工具并基于设计者的最佳判断和智慧时会变得相对比较简单。