高性能通用处理器中的漏电功耗优化
- 格式:pdf
- 大小:355.98 KB
- 文档页数:8
芯片功耗优化的新方法与策略芯片设计在现代科技领域中扮演着重要的角色。
然而,随着技术的发展,芯片功耗成为了一项关键的挑战。
本文将介绍一些新的方法和策略,用于优化芯片功耗,提高芯片效率。
一、功耗分析与建模在芯片设计的早期阶段,进行功耗分析与建模是至关重要的。
通过对芯片各个模块的功耗进行评估,可以帮助设计人员识别出哪些部分的功耗较高,从而有针对性地进行优化。
此外,建立准确的功耗模型也对后续的功耗优化工作非常有帮助。
二、架构优化芯片架构的优化是降低功耗的重要一环。
一种常见的方法是通过引入更加高效的电源管理单元(PMU)来实现功耗的控制。
PMU可以根据芯片模块的使用情况,动态地调整电源供应,以实现功耗的最小化。
此外,优化芯片架构还可以采用低功耗模式和时钟门控等技术,以降低功耗。
三、逻辑优化在芯片逻辑设计的过程中,采取逻辑优化的方法也可以有效降低功耗。
通过对逻辑电路进行优化,可以减少芯片的开关次数,从而降低功耗。
一种常见的逻辑优化方法是引入时序优化,通过调整时序,减少动态功耗的消耗。
四、电源管理策略有效的电源管理策略对于芯片功耗的优化至关重要。
例如,利用动态电压调节(DVFS)技术,可以根据芯片工作负载的变化,调整供电电压,以实现功耗的最小化。
此外,利用时序控制策略,在不影响芯片的性能的情况下,通过降低时钟频率来降低功耗。
五、温度管理与散热芯片过热会导致功耗的增加和性能的下降。
因此,进行有效的温度管理和散热工作对功耗优化至关重要。
可以采用散热片、散热风扇等散热装置,以保持芯片在合适的工作温度范围内,从而提高功耗效率。
六、软件优化除了硬件层面的优化策略外,软件优化也可以对芯片功耗进行有效的优化。
例如,通过对程序代码的优化,减少对处理器资源的占用,以降低功耗。
此外,在编译过程中,合理选择编译器和编译选项,也可以提高芯片功耗效率。
结论芯片功耗优化是一个复杂而重要的问题,需要综合考虑硬件和软件等多个因素。
本文介绍了一些新的方法与策略,包括功耗分析与建模、架构优化、逻辑优化、电源管理策略、温度管理与散热以及软件优化等,来实现芯片功耗的最小化。
计算机硬件的功耗优化技术随着计算机科技的飞速发展和普及,计算机硬件的功耗问题逐渐凸显。
本文将探讨计算机硬件的功耗优化技术,以供读者参考。
一、引言计算机硬件的功耗优化技术是指通过有效的手段减少计算机硬件在运行过程中所消耗的能量,提高计算机的能效。
随着互联网、人工智能等应用领域的不断发展,对计算机硬件功耗进行优化已成为当下亟待解决的问题。
二、功耗优化技术的分类1. 处理器频率调节技术处理器频率调节技术是一种常见且有效的功耗优化方法。
通过降低处理器的工作频率,可以降低功耗。
例如,在计算机空闲或负载较低时,动态调整处理器的运行频率,以实现功耗的降低。
2. 功耗管理算法功耗管理算法在硬件系统中起到关键作用。
该算法可以根据不同的工作状态分配适当的功耗策略,从而有效地降低功耗。
例如,最小功耗算法可以根据计算机的使用情况,将闲置部件以及不必要的外设进入低功耗模式,从而降低整个系统的能耗。
3. 功耗感知设计功耗感知设计是在硬件设计阶段就考虑功耗问题,采取一系列措施降低计算机硬件的功耗。
例如,合理选择低功耗的芯片、电源和散热模块,以及采用高效的电源管理技术等。
三、功耗优化技术的实践应用1. 声控节能技术声控节能技术是一种利用声音信号控制计算机硬件的功耗的创新方法。
通过声音识别技术,计算机可以感知用户的行为和环境变化,并自动调整硬件的功耗。
例如,在用户离开计算机旁边时,计算机可以进入低功耗模式,从而节省能源。
2. 功耗智能监测系统功耗智能监测系统是一种实时监测计算机硬件功耗的方法。
通过内置的功耗监测模块,可以对计算机各个组件的功耗情况进行实时监测和统计,为用户提供详细的功耗数据和分析结果,以帮助用户了解计算机的能耗,并进行相应的优化措施。
四、功耗优化技术的优势和挑战1. 优势功耗优化技术可以降低计算机的能耗,节约能源资源,减少对环境的影响。
此外,通过降低功耗还可以减少计算机硬件的工作温度,延长硬件的寿命,提高计算机的稳定性和可靠性。
集成电路设计中的功耗优化与低功耗设计技术随着移动通信、物联网和人工智能等技术的不断发展,芯片的功耗问题已经成为了当今集成电路设计中的一个重要挑战。
为了延长电池寿命、提高设备性能以及降低散热成本,功耗优化和低功耗设计技术成为了集成电路设计师必须重视的领域。
功耗优化是指通过针对电路设计的各个方面进行优化,以降低功耗的技术和方法。
在整个芯片设计流程中,从算法级到电路级的功耗优化都是需要考虑的因素。
以下将对功耗优化的一些常见技术进行介绍。
首先,算法级的功耗优化可以通过优化算法和数据处理流程来降低功耗。
例如,采用合适的算法和数据压缩技术,可以在数据传输中降低功耗。
另外,合理的任务调度和并行计算可以降低处理器的功耗。
其次,电路级的功耗优化主要在晶体管级别进行优化。
采用适当的电源电压以及电源管理技术可以有效降低功耗。
这包括采用功耗可调的电源设计、动态电压频率调节(DVFS)技术等。
此外,采用低功耗的锁存器设计、电源领域效应晶体管(FET)设计和时钟树设计也能起到降低功耗的效果。
接着,对于存储器设计,采用低功耗的存储器电源管理技术可以大幅度降低功耗。
静态存储器通常比动态存储器功耗较低,因此,在具体设计中,可以选择合适的存储器类型以满足功耗要求。
此外,采用存储器再动态识别、自适应编码和存储器分层设计等技术,也能显著降低功耗。
最后,通过系统级的功耗优化可以在整个芯片设计中降低功耗。
采用具有低功耗特性的组件和接口,可以对整个系统功耗进行优化。
此外,采用功率管理技术,如功耗级别切换和休眠模式,可以根据芯片的实际需求来调节功耗,以实现最佳的功耗性能。
除了功耗优化技术外,低功耗设计技术也是集成电路设计中常用的方法。
低功耗设计技术主要通过优化电路结构和电路布局来降低功耗。
例如,采用深亚微米工艺技术,可以显著降低晶体管的功耗。
一些常见的低功耗设计技术包括:低功耗检测、工作在低电压电源下的电路设计、功率管理单元的设计以及可调节的时钟频率等等。
芯片设计中的功耗优化技术有哪些创新在当今的科技时代,芯片作为各种电子设备的核心组件,其性能和功耗表现至关重要。
随着芯片制程的不断缩小以及功能的日益复杂,功耗优化成为了芯片设计中的关键挑战。
为了满足市场对低功耗、高性能芯片的需求,科研人员和工程师们不断探索创新的功耗优化技术。
首先,我们来谈谈动态电压频率调整(DVFS)技术。
这一技术就像是给芯片安装了一个智能的“能量调节器”。
它根据芯片的工作负载动态地调整电压和频率。
当芯片处理的任务较为简单,负载较轻时,降低电压和频率,从而减少功耗;而当任务复杂、负载较重时,相应地提高电压和频率,以保证性能。
这种动态调整的方式在不牺牲太多性能的前提下,有效地降低了芯片的平均功耗。
再来说说多阈值电压(MultiVt)技术。
芯片中的晶体管具有不同的阈值电压,较高阈值电压的晶体管漏电电流小,功耗低,但开关速度较慢;较低阈值电压的晶体管则相反。
通过在芯片设计中合理地混合使用不同阈值电压的晶体管,可以在关键路径上使用低阈值电压的晶体管来保证性能,而在非关键路径上使用高阈值电压的晶体管来降低功耗。
电源门控(Power Gating)技术也是一项重要的创新。
它就像是给芯片的某些部分装上了“电源开关”。
当这些部分暂时不工作时,直接切断电源供应,从而极大地减少了漏电功耗。
这种技术可以有效地控制芯片中不活跃模块的功耗,提高整体的能效。
此外,还有一种叫做体偏置(Body Bias)的技术。
通过对晶体管的体区施加不同的电压,可以改变晶体管的阈值电压和电流特性。
正向体偏置可以提高晶体管的性能,而反向体偏置则可以降低漏电电流,从而达到功耗优化的目的。
在芯片的架构设计方面,也有一些创新的功耗优化方法。
比如,采用异步电路设计。
传统的同步电路中,时钟信号在整个芯片中同步传播,会消耗大量的能量。
而异步电路则没有统一的时钟,各个模块根据自身的需求进行操作,减少了时钟相关的功耗。
另外,存储单元的功耗优化也不容忽视。
电脑芯片分析中的功耗优化与能耗管理方法电脑芯片是现代电子设备中的核心组件,功耗优化和能耗管理是提高电脑性能和延长电池寿命的重要考量。
本文将介绍电脑芯片分析中的功耗优化和能耗管理方法,并探讨其在实际应用中的效果。
一、功耗分析与优化方法功耗是电脑芯片的重要性能指标,不仅影响设备的发热和能源消耗,还关系到设备的使用寿命和可靠性。
下面将介绍几种常见的功耗分析与优化方法。
1. 硬件级功耗优化硬件级功耗优化主要通过改进电路设计、减少电流泄漏和提高能效来实现。
例如,使用先进的半导体工艺制造芯片,减少电流泄漏;优化电路布局,减少信号传输路径和电源回路的长度;采用低功耗电源管理单元,以降低待机功耗等。
2. 软件级功耗优化软件级功耗优化主要通过优化程序的运行姿态、减少空闲计算和优化电源管理来实现。
例如,在设计操作系统时,采用功耗感知调度算法,根据任务负载和优先级动态调整处理器功耗;优化应用程序代码,减少不必要的计算和存储操作;开发智能电源管理方案,根据使用情况动态调整电源供给等。
3. 功耗仿真与分析功耗仿真与分析是预测和评估芯片功耗的有效方法。
通过建立功耗模型和仿真平台,可以在芯片设计阶段对功耗进行全面分析和预测。
这有助于设计人员在硬件、软件和系统层面上进行优化,从而提高芯片的功耗性能。
二、能耗管理方法能耗管理是根据设备使用需求,有效管理电脑芯片的能耗,以达到节能的目的。
下面将介绍几种常见的能耗管理方法。
1. 功耗调节技术通过调节电脑芯片的工作频率和电压,可以实现功耗的动态管理。
例如,根据实际需求,将处理器从高性能模式切换到低功耗模式,实现性能和功耗间的平衡。
此外,还可以根据设备的使用状态和环境条件,动态调整电源供给和电脑性能,从而达到节能的效果。
2. 温度管理技术温度对电脑芯片的性能和寿命具有重要影响。
通过采用先进的散热设计和温度监测技术,可以对芯片的温度进行实时监测和控制。
当温度过高时,可以动态调整工作频率和电压,以降低功耗和热量产生。
分析电脑芯片的功耗优化与性能平衡随着电脑技术的不断发展,电脑芯片的功耗优化与性能平衡成为了一个重要的议题。
本文将从多个方面来分析电脑芯片的功耗优化与性能平衡。
一、功耗优化首先,功耗优化是为了减少电脑系统能源的消耗,提高电脑的能效。
目前,主要的功耗优化方法有以下几点:1. 芯片设计芯片厂商能够通过采用先进的制程工艺、设计优化与创新的架构来降低功耗。
例如,在制程工艺上,采用低功耗工艺节点可以显著降低功耗。
在架构设计上,通过采用更高效的微体系结构、减少功耗密集的电路模块、优化数据通信和内存访问等方式来降低功耗。
2. 功率管理功率管理是通过软件和硬件技术来实现的,用于对电脑系统的功率进行优化和管理。
例如,通过动态电压频率调整(DVFS)技术,可以根据负载情况自动调整处理器的电压和频率,以降低功耗。
另外,通过使用智能供电单元、智能电源管理等技术也可以有效地管理功耗。
3. 电源适配器优化除了芯片本身的功耗优化外,电脑系统的功耗还与外部电源适配器相关。
合理设计电源适配器的功率输出能够提高系统的功率利用率和效率。
二、性能平衡除了功耗优化,性能平衡也是电脑芯片设计中需要考虑的重要因素。
性能平衡包括以下几个方面:1. 处理器性能处理器性能直接影响到电脑系统的运行速度和响应能力。
因此,在设计芯片架构时需要平衡处理器的性能和功耗。
例如,可以通过增加核心数量、改进指令集、提升缓存结构等方式来提高处理器性能。
2. 内存优化内存是电脑系统中重要的性能瓶颈之一。
优化内存访问和数据传输能够提高系统的整体性能。
可以通过增加内存频率、优化内存控制器、采用高速缓存等方式来优化内存。
3. 系统集成在电脑系统设计中,通过良好的系统集成可以减少功耗和提高性能。
例如,将处理器和外围设备集成在一个芯片上,可以减少信号传输的功耗和延迟。
三、功耗优化与性能平衡的挑战功耗优化与性能平衡并非一对简单的矛盾对立。
在实际设计中,往往需要权衡这两者之间的关系。
芯片设计中的功耗优化技术有哪些在当今科技飞速发展的时代,芯片作为各种电子设备的核心组件,其性能和功耗成为了关键的考量因素。
随着芯片集成度的不断提高和功能的日益复杂,功耗问题愈发突出。
有效的功耗优化技术不仅能够延长电池续航时间,还能降低散热成本,提高系统的稳定性和可靠性。
接下来,让我们一起探讨一下芯片设计中常见的功耗优化技术。
首先,工艺制程的改进是降低功耗的重要手段之一。
随着半导体制造工艺的不断进步,晶体管的尺寸越来越小。
更小的晶体管尺寸意味着更低的导通电阻和电容,从而减少了动态功耗和静态功耗。
例如,从 28 纳米制程升级到 14 纳米制程,再到如今的 7 纳米、5 纳米制程,每一次工艺的升级都能显著降低芯片的功耗。
电源管理技术在功耗优化中也发挥着关键作用。
动态电压频率调整(DVFS)技术可以根据芯片的工作负载实时调整电压和频率。
当芯片处理轻负载任务时,降低工作电压和频率,从而减少功耗;而在处理重负载任务时,适当提高电压和频率以保证性能。
这种动态调整能够在满足性能需求的同时,最大限度地降低功耗。
时钟门控技术是一种常见的降低动态功耗的方法。
在芯片中,并非所有的逻辑单元在任何时刻都处于工作状态。
通过时钟门控,可以在不需要某些逻辑单元工作时,关闭其时钟信号,阻止无效的翻转,从而减少不必要的功耗开销。
此外,多阈值电压技术也被广泛应用于功耗优化。
在芯片设计中,不同的电路模块对性能和功耗的要求不同。
对于对性能要求不高但对功耗敏感的模块,可以采用高阈值电压的晶体管,以降低漏电功耗;而对于性能关键的模块,则使用低阈值电压的晶体管来保证速度。
缓存的优化也是降低功耗的一个重要方面。
合理调整缓存的大小和组织结构可以减少访问主存的次数,从而降低功耗。
例如,采用分层缓存结构、增加缓存的命中率、使用低功耗的缓存替换算法等都能有效地降低功耗。
在逻辑设计层面,采用并行处理和流水线技术可以提高芯片的工作效率,减少完成相同任务所需的时钟周期数,从而降低动态功耗。
芯片功耗优化分析降低电脑芯片功耗的策略芯片功耗优化分析-降低电脑芯片功耗的策略随着科技的不断进步,电脑在我们的生活中扮演着越来越重要的角色。
然而,随着电脑性能的提升,其功耗也随之增加,给电脑的使用带来了一些问题。
为了解决这个问题,降低电脑芯片功耗成为了当今研究的热点之一。
本文将从几个方面探讨降低电脑芯片功耗的策略。
一、功耗分析首先,我们需要对电脑芯片功耗进行全面的分析。
电脑芯片的功耗主要来自于两个方面:静态功耗和动态功耗。
静态功耗是指在电脑不进行操作时的功耗,动态功耗是指在电脑进行操作时的功耗。
静态功耗主要是由于电流泄漏和门电流引起的。
电流泄漏是电路中由于器件的不完美或晶体管的本征特性而引起的电流,这些电流会导致电路中有一部分电能被消耗掉。
而门电流是因为硅材料的特性,在芯片进行逻辑运算时,晶体管必须保持导通或者关断,这就需要一些电流来维持。
动态功耗主要是由于电路中的电压变化而产生的。
在进行逻辑计算时,晶体管会经过导通和关断的过程,这就需要从电源中提供电能。
所以随着电路中的开关变多,芯片功耗也随之增加。
二、策略一:工艺优化工艺优化是一种降低电脑芯片功耗的有效策略。
通过不断对芯片制造工艺进行改进,可以降低功耗。
例如,采用先进的制造工艺可以减少电流泄漏。
同时,采用低功耗的材料也可以降低功耗。
三、策略二:电源管理电源管理是另一种降低电脑芯片功耗的重要策略。
通过优化供电电源的设计和控制,可以实现节能的目标。
例如,采用动态电压调整技术,根据芯片的工作负载情况实时调整供电电压,可以有效降低功耗。
此外,利用休眠模式和唤醒策略也可以在不影响用户体验的情况下降低功耗。
四、策略三:算法优化算法优化是一种降低电脑芯片功耗的技术手段。
通过优化运行在电脑上的各种算法,可以减少芯片的运算量,从而实现功耗的降低。
例如,在图片压缩算法中,可以通过对图像进行分块压缩来减少计算量,而在音频编码算法中,可以通过改变采样率来减少计算量。
芯片设计中的功耗与热问题综合优化现代电子产品中,芯片是不可或缺的关键组成部分。
而在芯片设计中,功耗和热问题一直是制约因素之一。
因此,为了提升芯片的性能和稳定性,进行功耗和热问题的综合优化是至关重要的。
一、功耗优化1.1 电压和频率调节在芯片设计中,通过对电压和频率进行调节,可以实现对功耗的优化。
采用动态电压调节(DVR)和动态频率调节(DFR)的技术,根据工作负载的需求动态调整电压和频率,可以有效地降低芯片的功耗。
1.2 电源管理单元电源管理单元(PMU)是芯片中的重要组成部分,用于优化电源供给和功耗控制。
通过合理配置和设计PMU,可以实现对不同电源模式的切换,以及对不同功能模块的电源供给进行动态管理,从而降低功耗并延长芯片的使用寿命。
1.3 逻辑优化在芯片设计中,通过进行逻辑优化,可以减少功耗消耗。
例如,采用低功耗的逻辑电路设计,利用时钟门控技术降低待机功耗,优化电路布局等。
这些措施可以降低功耗,并提高芯片的性能和稳定性。
二、热问题优化2.1 散热设计芯片在工作中会产生大量的热量,如果不能有效地进行散热,就会造成芯片温度过高,导致性能下降甚至损坏。
因此,在芯片设计中进行散热设计是十分关键的。
可以采用散热片、散热风扇等散热装置,提高芯片的散热效率,保持芯片的正常工作温度。
2.2 热量分布优化在芯片设计中,进行热量分布优化可以有效地降低芯片的温度,提高芯片的性能。
通过合理布置芯片内的功能模块,将高功耗模块与低功耗模块进行分离,优化电路布局和信号传输,可以减少功耗集中的区域,均衡芯片的热量分布。
2.3 材料选择在芯片设计中,选择合适的材料也可以对热问题进行优化。
例如,采用导热性能较好的材料,可以提高芯片的散热效率;采用低温系数的材料,可以减小温度变化对芯片性能的影响。
三、综合优化为了实现对功耗和热问题的综合优化,需要在芯片设计的早期阶段就进行充分的分析和规划。
在设计阶段,可以利用仿真和优化工具进行功耗和热问题的预测和模拟,对设计方案进行评估和调整。
第29卷 第10期2006年10月计 算 机 学 报C HIN ESE J OU RNAL OF COM PU TERSVol.29No.10Oct.2006收稿日期:2005201211;修改稿收到日期:2006201205.本课题得到国家“九七三”重点基础研究发展规划项目基金(2005CB321600)和国家“八六三”高技术研究发展计划项目基金(2005AA119020)资助.张 戈,男,1983年生,博士,助理研究员,主要研究方向包括高性能处理器设计和低功耗设计.E 2mail :gzhang @.胡伟武,男,1968年生,研究员,博士生导师,主要研究领域为高性能计算机系统结构和高性能处理器设计.高性能通用处理器中的漏电功耗优化张 戈 胡伟武(中国科学院计算技术研究所计算机系统结构重点实验室 北京 100080)(中国科学院研究生院 北京 100039)摘 要 针对高性能通用处理器的结构特性及设计特点,指出了由于在高性能通用处理器中存在发射宽度较大、数据通路规整的基本特点,其大多数电路中的堆叠效应依然明显存在.由此结合一款高性能通用处理器———龙芯2号的具体设计,对该处理器主要数据通路模块进行了输入向量控制,并提出以“直接观察法”、“有效分解法”、“操作数隔离复用法”、“模拟退火算法”等多种技术思想为基础的电路最小漏电功耗分析及优化的实用性方法.实验结果表明,以上方案能够使得处理器的主要数据通路的漏电功耗减少近27%,同时模拟退火算法与以往的随机算法以及遗传算法相比在寻找电路最小漏电功耗的全局搜索能力上具有优势.关键词 微处理器设计;低功耗设计;漏电功耗;堆叠效应;模拟退火算法中图法分类号TP302Leakage Pow er Optimization in High Performance G eneral 2PurposeMicroprocessor DesignZHAN G Ge HU Wei 2Wu(Key L aboratory of Com puter S ystem and A rchitecture ,Institute of Com puting Technology ,Chinese A cademy of Sciences ,Beij ing 100080)(Graduate Universit y of Chinese A cadem y of Sciences ,Bei j ing 100039)Abstract Leakage power has become a critical issue in today ’s state of art high performance mi 2crop rocessor design wit h technology scaling.Inp ut vector cont rol (IVC )take advantage of t ran 2sistor stacking effect s for leakage current reduction ,but is usually appropriate for small circuit s.This paper point s out t hat t he stack effect is still evident for most kinds of large circuit s in high performance general 2p urpo se microp rocessor design.A design met hodology of leakage power op 2timization is int roduced and some p ractical minimum leakage power estimation techniques are presented.The experiment s show t hat t he propo sed met hod can reduce up to 27%standby leak 2age power of most circuit s in t he microprocessor design.In addition ,t he simulated annealing al 2gorit hm p romoted in t his work has more advantage on finding t he minimal leakage of circuit s ,comparing to p revious random algorit hm and generic algorit hm.K eyw ords microprocessor design ;low power design ;leakage power ;stack effect ;simulated an 2nealing algorit hm1 引 言随着CMOS 集成电路工艺的不断进步和电路集成度的持续发展,功耗问题已经成为制约当前深亚微米级芯片设计的重要瓶颈之一.功耗不但直接影响到芯片的封装形式与成本,而且过高的功耗导致了温度的增加,与此同时带来的电迁移效应、电流密度增大、压降等问题也使得芯片的稳定性进一步得到恶化,而这反过来又会给电源的设计以及电路可靠性分析等诸多方面带来困难,这些因素都将迫使设计者越来越多地关注功耗的准确评估方式以及芯片的低功耗设计.为了尽可能地减少动态功耗,电源电压已随着工艺进步而不断下降,而与此同时为了保证CMOS 电路具有良好的性能与噪声容限,晶体管的阈值电压也随着电源电压的降低而不断下降,因此导致了漏电功耗的指数性增长.研究表明,在90nm工艺下,静态功耗已经占整个电路实际消耗功耗的42%以上[1].随着未来工艺的进一步提高,这种CMOS 电路的漏电效应还会持续增加.基于以上原因,有关针对漏电功耗的低功耗设计一直是近年来学术界和工业界异常关注的领域之一,到目前为止已有很多工作成果被提出,其中包括绝缘硅技术法、晶体管调整法、源级反偏法、双阈值法、多阈值法、变阈值法等等[1].漏电功耗的大小决定于漏电流和电源电压.芯片的漏电流主要由亚阈漏电流、栅极漏电流和反偏,它们的大小主要决定于晶体管器件的几何特性、准确的二维掺杂轮廓(22D doping p rofile)、工作温度等因素.文献[2]列出了三种漏电流的基本计算模型,但这些模型只是对单个晶体管的建模与分析.当考虑一个包含多个晶体管的实际电路的时候,电路的漏电流大小将会和电路的输入状态紧密相关[3].造成这种现象的潜在机制是由于晶体管亚阈漏电流的堆叠效应以及NMOS 和PMOS管同时处在关闭状态下的总有效宽度不同所引起的[4,5].简单来讲,两个串联晶体管同时处在关闭状态下的漏电流要比单个晶体管的漏电流小,这种现象我们称之为电路中的堆叠效应(stack effect).堆叠效应的存在使得电路中漏电功耗的大小表现为与电路的输入状态密切相关.输入向量控制技术(Input Vector Control,IVC)是一种利用CMOS电路的堆叠效应来减小电路漏电流的低功耗设计方法[3,6],其基本原理是首先寻找电路在最小漏电功耗下对应的输入向量状态,然后通过对电路的输入点增加控制电路,使得电路一旦不工作的时候,输入就立刻被置为这种最小漏电的输入向量状态,因此降低了电路空闲时的漏电能量消耗.该方法被证明能够有效降低小规模电路的平均漏电功耗[7],同时由于该方法不依赖于工艺,对原始电路进行的改动和影响较小,因此有着较好的实际应用价值.基于堆叠效应的同样原理,文献[8]在每一个处于高漏电状态下的电路单元中间插入冗余晶体管以增加电路的堆叠效应.文献[9]则通过把一个晶体管改为两个堆叠晶体管串联的方式来减小电路漏电流.以上两种方法与IVC方法相结合能够起到进一步降低电路漏电功耗的作用,但同时可能对电路性能产生一定影响,并且在具体操作方式上存在一定困难,因此需要在电路功耗、性能以及实现方法上进行权衡.利用IVC方法减小电路漏电功耗的前提和主要工作之一在于如何有效寻找电路的最小漏电功耗以及相应的输入向量状态.电路内部结构的多样性和输入向量状态之间的依赖性使得该问题的求解为N P难问题.对于一个n位输入向量宽度的电路,存在有2n个不同的输入向量组合,通过穷举的方式对输入位数较多的(如>20)电路来说显然是不现实的.文献[4]采用随机选择算法以试图寻找最优向量解,但收敛速度较慢;文献[10]采用遗传算法进行改进,结果表明与随机选择算法相比存在较快的收敛性.文献[11]则通过构造电路结构的约束图,然后利用贪婪算法寻找约束图的最大权重孤立集以得到输入向量的相对最优解.以上所有文献都只针对MCNC/ISCAS85/89等小规模基准电路进行研究.对于一般的大规模电路结构,传统的IVC方法则存在如下两方面的问题:(1)堆叠效应通常只在小规模电路中表现明显.实验[3]表明,当电路规模超过千门以上时,电路的漏电功耗最大值与最小值之间差别已不甚明显(15%以下),因此对于一般的大规模电路来讲,利用IVC 方法减少电路漏电功耗的优化空间已变得有限.(2)当电路规模越大、电路输入数目越多时,整个电路的漏电功耗分析越花费时间,同时对寻找最小漏电功耗以及相应输入向量状态的搜索也就愈发困难.以上两方面是造成传统的IVC方法不能在一般的大规模电路中得以应用的主要原因.本文以龙芯2号处理器为工作基础,指出堆叠效应在一般的大规模通用处理器电路结构中可能依然较明显地存在.这是因为,首先从直观上看,当一个电路的输入引脚数目越多,电路结构越规整时,那么这个电路的内部节点状态就越容易通过外部输入状态来表现(或控制),因此通过电路输入反映在电路漏电功耗上的堆叠效应也就越明显.而在高性能的通用处理器结构中,发射宽度较宽、数据通路较为规整是其一般的特点,因此这就为我们利用IVC方法来减少处理器电路的漏电功567110期张 戈等:高性能通用处理器中的漏电功耗优化耗提供了可能性.另外,随着高性能处理器所使用工艺的不断进步,漏电功耗在电路中的堆叠效应也会变得越加明显[9],这都使得传统的IVC方法得以有机会在目前较大规模电路的设计中作进一步的应用.由此,我们通过对一款高性能通用处理器芯片———G odson2D处理器结构进行实际分析,以提供IVC方法在高性能通用处理器中的有效应用.本文第2节简要介绍龙芯2号通用处理器及其处理器内部主要模块结构;第3节给出大规模集成电路中的漏电功耗快速评估方法;第4节我们针对一款龙芯2号高性能处理器版本———G odson2D的具体设计,提出以“直接观察法”、“有效分解法”、“操作数隔离复用法”、“模拟退火算法”等多种技术思想为基础的电路最小漏电功耗分析及优化方法;第5节则在前几节工作的基础上进一步描述IVC方法在减小处理器漏电功耗中的实际应用方案,同时给出了实验流程及结果;最后进行了总结.2 龙芯2号通用处理器介绍龙芯处理器系列是国内首次进行高性能通用CPU研制的设计项目.龙芯2号处理器在龙芯1号处理器的基础上,其目标是研制出具有自主知识产权、达到国际先进水平的64位高性能通用CPU芯片G odson2以及相关配套系统.龙芯2号处理器基于M IPS指令系统,其内部数据通路为64位4发射结构,采用复杂的寄存器重命名机制、转移猜测以及乱序执行等技术以提高其指令运算的并行度.龙芯2号处理器的主要流水级包括取指、译码、重命名、发射、读寄存器、执行、完成等阶段.表1列出了一款龙芯2号处理器G odson2D的主要技术参数.表1 G odson2D处理器的主要技术参数字长发射宽度重命名寄存器发射窗口ROB L1CACH E L2CACH E 64bit s464(定点)+64(浮点)16(定点)+16(浮点)64项64K B+64K B512K B 从以上可以看出,作为一款国内具有代表性的高性能通用CPU芯片,龙芯2号已经具备其大规模高性能通用处理器的主要特点,如发射宽度大、重命名寄存器数目多、发射窗口以及ROB数目大、流水线设计复杂等.表2列出了G odsn2D处理器核心通路中所涉及的一些主要逻辑模块及其结构特点,这些模块仅代表处理器中全部逻辑的一部分,但较好地反应了通用处理器中常见的各种电路结构.在后续小节中我们将通过对这些模块做进一步的分析,以提供相应的处理器电路漏电功耗优化及评估手段.表2 龙芯2号处理器的主要模块及其结构特点模块名基本功能描述结构特点Inst_decode指令译码随机逻辑Prmt(Grmt/Frmt)寄存器重命名(定点+浮点)64定点+64浮点寄存器重命名表Fx(t)q_psrc定/浮点保留站唤醒逻辑(CAM)Fx(t)q_regfile定/浮点保留站4写3读寄存器堆Roq_basic Reorder队列64项reorder队列Alu1定点AL U部件64加法、移位等CSA_tree乘法树422counter(CSA)Cp0_memfwd访存队列Forward逻辑3 大规模集成电路的漏电功耗分析方法如何对大规模集成电路中的漏电功耗进行快速估计是我们首先需要考虑和解决的问题之一.精确的漏电流模拟器如HSPICE等能准确地计算出电路在不同输入状态下的各种漏电流的大小,但由于它们需要求解复杂的方程,因此不适合进行大规模电路的处理.很多文献在提高漏电功耗估算速度方面做出了研究,但大多基于BSIM漏电模型进行建模[12],其时间及空间复杂度同样严重阻碍着它们在大规模电路分析中的实际应用.目前整芯片级的漏电功耗估计通常采用单元级的漏电功耗模型结合网表级的模拟仿真来完成.式(1)表示了这种功耗评估的计算方法: L eak Tot al=∑ΠCell(i)L eak Cell(i)= ∑ΠCell(i)∑ΠVec(j)(L eak[Cell(i),Vec(j)]・Prob Vec(j))(1)其中L eak Tot al代表电路的总漏电功耗,它为电路中每个单元所消耗的平均漏电功耗(L eak Cell(i))的简单累加.而每个单元的平均漏电功耗则由模拟仿真结果结合单元级的功耗库模型来计算得到.模拟仿真结果给出了每个单元处在不同输入向量下的状态百分比情况(Prob Vec(j)),单元的功耗库模型则提供了单元在不同输入向量下的漏电功耗大小(L eak[Cell(i),Vec(j)]).由于每个单元所包含的晶体管数目较少,因此单元级的功耗库模型可由精确的SPICE仿真来一次性得到.6671计 算 机 学 报2006年以上功耗分析方法需要模拟仿真结果提供电路中所有内部节点的静态概率,而这依赖于不同仿真程序所带来的不同仿真行为,同时大规模电路的模拟仿真程序所需运行的时间同样给漏电功耗的快速估计造成了困难.现在我们假设:(1)已知电路的初级输入中每一位输入信号的静态概率(置1概率),我们用p0,p1,…,p N-1来表示,其中0Φp iΦ1(i=0,1,…,N-1),N代表电路的输入向量总宽度.(2)不同输入信号的状态变化间具有独立性.根据信号的概率传递理论[13],此时电路中任一单元i处在状态j的概率可由电路初级输入信号的静态概率进行传递计算得到.表3列出了几种常见的门类型在进行信号传递后输出信号与输入信号之间的静态概率关系.表3 基本门的静态概率传递(置1概率)门类型输入信号概率输出信号概率AND p0,p1,p2,…,p N-1p0p1p2p N-1OR p0,p1,p2,…,p N-11-(1-p0)(1-p0)(1-p N-1) INV p01-p0NAND p0,p1,p2,…,p N-11-p0p1p2p N-1NOR p0,p1,p2,…,p N-1(1-p0)(1-p0)(1-p N-1) XOR p0,p1p0+p1-2p0p1我们用函数F代表这种输入信号在电路中进行概率传递的计算过程.电路中任一单元i处在状态j的概率我们用F(i,j,p0,p1,p2,…,p N-1)来表示,于是式(1)变为L eak Tot al=∑ΠCell(i)∑ΠVec(j)(L eak[Cell(i),Vec(j)]・Prob Vec(j))=∑ΠCell(i)∑ΠVec(j)(L eak[Cell(i),Vec(j)]・ F(i,j,p0,…,p N-1))(2)式(2)表明电路的总平均功耗大小可近似由电路中初级输入向量的静态概率来确定.由于输入信号在电路中进行概率传递的计算复杂度跟电路大小成简单线性关系,因此该漏电功耗的计算方法是相当快速的.文献[14]的实验表明了这种采用概率传递方式进行计算的漏电功耗结果具有良好的准确性,本文基于式(2)对电路进行平均漏电功耗估计以及特定输入状态下的漏电功耗分析.事实上,本文主要研究当一个电路处在不工作状态下的漏电功耗大小,即特定输入状态下的漏电功耗大小.这种情况下由于电路的所有内部信号不产生翻转,因此电路内部单元处在某状态的概率要么为0,要么为1,此时电路的漏电功耗大小是固定的,这种情况下通过式(2)计算出的电路漏电功耗大小即电路中实际的漏电功耗值,并不存在计算不准确的问题.4 电路最小漏电功耗估计及优化本文基于传统输入向量控制的思想来减少芯片的漏电功耗[3],在控制点的选取上,我们通过对所选取模块的每个输入信号进行使能控制的方式来完成,图1列出了控制方式的几种可选电路形式.在standby信号为1的情况下控制电路要求输出为0还是为1由事先寻找到的电路处在最小漏电状态下的输入向量值来确定.寻找电路在稳定状态下的最小漏电功耗及其输入向量不但是IVC方法的关键步骤,同时也是在功耗评估以及电路测试等领域有着广泛需求并且亟待解决的重要问题之一.在这里我们针对通用处理器电路中的特殊结构以及电路规模太大时不易处理的特点,提出了以下几种寻找电路最小漏电功耗的方法,这些方法不但对寻找电路的最小漏电功耗有效,对电路的最大漏电功耗的确定同样可以类似地采用.图1 输入信号的使能控制电路411 “直接观察”法对于电路形式较为单一的规整模块,我们可以通过直接观察电路的拓扑结构来得到电路的最小漏电状态.如高性能处理器中的乘法树电路.乘法树的标准结构为CSA单元的树状排列,因此寻找乘法树最小漏电功耗的关键在于结合乘法树结构寻找CSA 单元的最小漏电状态.以龙芯2号处理器中的乘法树为例,我们根据CSA422单元的具体电路形式,可767110期张 戈等:高性能通用处理器中的漏电功耗优化以发现当CSA单元的输入、输出同为1时,其处于最小漏电状态,由此我们可以再根据Boot h2编码的过程作进一步推断:当被乘数和乘数的输入值分别为0xffffffffffffffff,0x5555555555555555时,乘法树上的漏电功耗为最小.这种通过直接观察电路的具体结构和内部单元状态来得到整个电路最小漏电功耗及其输入向量的方式被我们称之为“直接观察法”.直接观察法是寻找简单规整电路中最小漏电状态的非常快速有效的方式,但对电路拓扑结构较为复杂的电路应用有限.412 “有效分解”法对于结构相对复杂的规整模块,我们可以根据具体的电路形式对这些模块进行合理有效的分解,然后只需对分解后的小模块进行寻找最优输入向量的操作即可.如通用处理器中各种具有重复性结构的模块,包括重命名寄存器表(p rmt)、reorder队列(roq)、访存队列(cp0q)等,由于其模块主体部分通常包含多个结构完全相同的队列项,因此我们可以把这些模块以队列项为主体分解为多个彼此结构相同的子模块,然后在子模块级寻找电路的最小漏电功耗及最优输入向量,而整个模块的最优输入向量可由每个子模块的最优输入向量进行回溯拼合得到.为了保证拼合过程的可操作性,模块进行有效分解的前提是需保证分解后每个子模块的内部电路结构相同或者相似,并且相同的输入送到不同子模块时所处的端口应保持一致.表4列出了龙芯2号中可以进行有效分解的部分模块.这些模块通过有效分解的方式大大降低了IVC方法在模块级的电路分析及处理规模.表4 龙芯2号中部分模块的有效分解原始模块分解后模块实例数Grmt,Frmt Prmt_one_entry64+64Roq_basic Roq_one_entry64Cp0_memfwd Memfwd_byte8413 “操作数隔离复用”法传统操作数隔离(operand isolation)技术的原始思想是针对动态功耗的节省而提出的[15].它是指对于同一个模块内的不同功能子模块,通过在功能子模块的入口插入电路隔离单元(如锁存器、与门、非门等)以隔离功能子模块在空闲状态下的输入翻转,达到降低动态功耗的目的.由于传统的操作数隔离法并不关心隔离后隔离电路的输出为0还是为1,这就给我们利用该隔离电路进一步对漏电功耗进行优化提供了可能.在这里我们提出IVC技术与操作数隔离技术复用的思想,通过控制每个操作数隔离单元的具体输出状态,在降低功能子模块动态功耗的基础上进一步降低其漏电功耗.处理器中的功能部件通常是适合采用传统操作数隔离技术的模块之一,如龙芯2号处理器中的定点AL U1,我们首先对其功耗和面积较大的移位子模块进行操作数隔离以节省其动态功耗损失,隔离单元可采用图1的方式来实现,同时该隔离单元也被复用作IVC方法的控制点.图2列出了采用操作数隔离技术后的AL U1模块内部结构图.其中移位子模块的standby信号(shift_op_valid)来自对操作码的预判断逻辑.进行操作数隔离后的AL U移位模块不但避免了无效翻转,降低了动态功耗,同时其隔离后的漏电功耗也被置为最小.另一方面,从整个AL U模块的漏电功耗优化上来讲,由于整个AL U 的IVC优化被分割成了两个独立的子模块分别进行考虑,也进一步减小了其处理电路的规模.图2 操作数隔离复用方法在AL U1中的复用414 “模拟退火”法对于一般规模的随机逻辑电路,如处理器中的译码模块,或者已经经过前两种方法做了适当分解后的子模块,我们采用基于模拟退火思想的N P搜索算法来得到模块的最优输入向量解.模拟退火算法(Simulated Annealing Arit hmetic)是人工智能领域里解决N P难题的一类常用算法,其基本思想在各种CAD算法中已多有应用,在这里我们采用模拟退火算法来寻找电路在“最小”漏电功耗下的“最优”输入向量.下一节中给出了该算法的伪代码描述.在这里需要事先指出的是,所谓的“最小”与“最优”只能是对已遍历状态空间下得到的相对“最小”与“最优”,N P问题的绝对最优解只能通过对所有状态空间进行遍历来得到.综上所述,这三种方法基本保证了我们利用IVC方法解决处理器中大规模电路时遇到的处理规8671计 算 机 学 报2006年模的问题.而针对任意逻辑结构的模拟退火算法能够使得我们在模块级快速完成寻找其最小漏电功耗及其输入向量的最优解.下面我们将针对表2中所列模块进行具体实验,以证明漏电功耗的堆叠效应在通用处理器的大部分电路结构中依然明显存在,并由此对处理器的主要数据通路作进一步的漏电功耗优化设计.5 实验方案与实验结果本文针对表2中所列模块进行实验,实验运行平台为Pentium4214GHz Linux 系统.实验电路采用TSMC 90nm 工艺,其中电源电压110V ,工作环境为Typical ,电路中所使用的标准单元以及相应的单元级功耗库模型由Artisan 提供.在具体编程环境上我们借助了商业化功耗分析工具PrimePower 以及所提供的TCL 编程接口以进行特定输入状态下的电路漏电功耗分析.以下是我们实验中所使用的模拟退火算法的伪代码描述.为了使该算法能够对电路大小以及输入向量宽度具有较好的适应性,我们在算法中选取模拟退火的马尔可夫链长度为电路输入向量宽度的整数倍,同时衰减因子设为电路初始漏电功耗值的线性函数.算法运行过程中下一个解的选取(generate(S ′form S ))采用依次变化上一个解的输入向量中某一位的方式,算法在一共搜索10000个解后退出.Procedure IVC_SA :begininit 2of 2MarkovLength ;{初始化马尔可夫链长度}init 2of 2T ;{初始温度}init 2of 2Decayscale ;{温度衰减因子}init 2of 2S ;{初始解,S 为电路输入向量状态}effort =0;{搜索解的次数}while effort <10000beginT =T 3Decayscale {每迭代一次退火一次(降温)}for i =1to L do {L 为电路输入向量宽度的倍数}begingenerate (S ′from S );{从当前解S 产生新解S ′}Δt =f (S ′)-f (S );{f (S )为输入状态为S 的漏电功耗值}{是否全局最优解}if ((f (S ′)-Best_Power )<0)then S =S ′;Best_S =S ′;Best_Power =f (S ′);{Metropolis 过程}if ((Δt <0)‖(EXP (-Δt/T )>Random[0,1]))then S =S ′;endeffort =effort +1;end ;end ;表5给出了表2中模块经过“有效分解法”、“操作数隔离复用法”进行模块分解处理后需要进行模拟退火算法(SA )求解的模块及其求解结果,其中PI (Primary Inp ut s )代表模块的输入向量宽度,模块大小以标准二输入与非门来计算.与此同时我们还实现了文献[4]与文献[10]中分别提出的随机选择算法(RA )和遗传算法(GA )以进行各种算法间搜索能力的公平比较.其中随机选择算法随机选择50000个输入向量进行运算并从中得到其最优解.对遗传算法,我们选择群体大小为100,共繁衍100代,其它具体参数同文献[10].另外对于每种算法我们还列出了用它们来寻找相应的电路最大漏电功耗的运算结果,以用来和电路的最小漏电功耗结果之间进行数据对比.表5 利用不同算法寻找电路最小漏电功耗的数据比较电路门的数量PI CPU 时间(min )RA GA SA L eak min (μW )RA GA SA L eak max (μW )RA GA SA Prmt_one_entry998105761517417541424132514361246165Roq_one_entry 1133109831822419341424138512241875133Inst_decode 3114413105477151461513715148161801619516188Alu1_adder 3509136348102123161411610815171181481917520142Alu1_shifter 6431131918108145321803215832145351173513935156Ftq_regfile 121191481528224268531114416842196561355811859134Memfwd_byte 135763231223248324541615218451132631566414165139Ftq_psrc 195641741040222212921658319081198104151107199111144Fxq_regfile 197012202648462495871757311369152911919413597131Fxq_psrc 300292341887371357140146132141126132172159179122196111注:RA 表示随机选择算法(Random Algorit hm ),GA 表示遗传算法(Genetic Algorit hm ),SA 表示模拟退火算法(Simulated Annealing Algo 2rit hm ).967110期张 戈等:高性能通用处理器中的漏电功耗优化。