专用集成电路的功率消耗的调节的制作方法

xiaoxiao2020-7-22  4

专利名称:专用集成电路的功率消耗的调节的制作方法
技术领域
一般而言,本发明关于计算装置,且尤关于包含在计算装置中的专用集成电路。
背景技术
专用集成电路(Application-SpecificIntegrated Circuit ;ASIC)是一设计用来执行特定应用程序的集成电路。例如,图形处理单元(GPU)是一种类型的专用集成电路, 其目的是执行图形处理任务。为了建立专用集成电路,在单晶衬底(例如硅衬底)上制作晶体管和其它电路元件的集合。不幸的是,即使是用单一类型的晶体衬底来制造专用集成电路,跨产品线的专用集成电路通常可能有一大范围的漏电流(leakage current),也就是,电流沿不受欢迎的路径流动。因为具有高漏电流的专用集成电路比具有低漏电流的专用集成电路将会消耗更多功率,基于专用集成电路(ASIC-based)的产品的大范围的漏电流可能会导致基于专用集成电路的产品内大范围的功率消耗。因为几个原因而跨基于专用集成电路的产品线大范围的功率消耗是有问题的。首先,跨基于专用集成电路的产品线(例如,图形卡线)大范围的功率消耗可能会导致系统平台(例如,计算机平台)更高的功率预算,其包含基于专用集成电路的产品线。 在正常操作条件期间,产品线可能被配置为运行在一目标功率(例如,70瓦)。然而,在极端操作条件下,少数产品线可能工作在更高功率(例如,200瓦)。该系统平台的开发人员必须计划产品线产品最坏的功率消耗(例如200瓦)-即使最坏的功率消耗发生的概率只小于的次数。此外,跨基于专用集成电路的产品线大范围的功率消耗,可能导致更昂贵的产品线。通常厂商制造基于专用集成电路的产品操作在标榜的引擎速度(例如,4千兆赫)。为了执行在相同的引擎速度,具有低漏电流的专用集成电路需要很高的供应电压和具有高漏电流的专用集成电路需要低供应电压。因为在单一制造业产率(yield)的专用集成电路通常具有大范围的漏电流,从单一制造业产率的专用集成电路将需要大范围的供应电压在标榜的引擎速度执行。大范围供应电压反过来在单一制造业产率的跨专用集成电路导致大范围功率消耗。如果跨专用集成电路的功率消耗不在理想的范围内,供应商可只选择消耗功率在需要的范围内的制造业产率的专用集成电路的百分比-这有效地降低了制造业产率的效率。为了收回降低制造业产率的效率的成本,供应商通常增加产品线中每个基于专用集成电路的产品的价格。一处理跨基于专用集成电路的产品线大范围的功率消耗的潜在解决方案是在专用集成电路的漏电流的基础上指定特定应用用的专用集成电路。例如,低漏电流的专用集成电路可以指定用在移动式计算装置(其中高效的功率消耗是一个重要因素),而具有高漏电流的专用集成电路可以被指定用于在桌面计算机使用(其中高效的功率消耗不是一个很重要的因素)。但这一类型的指定用途的解决方案仍有问题。初步问题是,一些专用集成电路可能只能用于高效的功率消耗在环境中是极为重要的。例如,一些专用集成电路可能设计只工作在移动式计算装置。一指定用途的解决方案是不会对这样的专用集成电路有效。此外,指定用途的解决方案没有解决具有高漏电流的专用集成电路的低效。随着日益认识到的全球气候变化,消费者现在越来越重视高效的功率消耗。这种重视在未来将可能只会增加。除了消费者渴望拥有有效的功率消耗,新能源标准可能很快要求在基于专用集成电路的产品的有效的功率消耗。此外,虽然指定用途的解决方案可能对跨基于专用集成电路的产品线有效,指定用途的解决方案没有解决单一的基于专用集成电路的产品的问题。例如,指定用途的解决方案没有帮助降低用于冷却基于专用集成电路的产品的风机的不受欢迎的噪音。指定用途的解决方案也没有解决,例如,由于基于专用集成电路的产品可能受到的大范围的操作条件,可能会出现基于专用集成电路的产品的性能变化。鉴于上述情况,需要调节专用集成电路的功率消耗的方法、系统和计算机程序产
P
ΡΠ ο

发明内容
本发明是针对调节专用集成电路(如图形处理单元)的功率消耗。重要的是,本发明的方面降低功率预算的成本,并提高制造产率。此外,本发明的方面配置以提供改善噪音性能,并符合新的能源标准(例如,能源之星)。本发明的一实施例提供了一种调节专用集成电路的功率消耗的基于计算机的方法。在基于计算机的方法,自专用集成电路含有的计算机可读信息接收专用集成电路的漏电流值。然后,专用集成电路的一个或多个操作参数-例如,至专用集成电路的供应电压, 专用集成电路的引擎速度和/或用于冷却专用集成电路的风机的风机速度-基于专用集成电路的漏电流值而调整。或者,在专用集成电路上运行的应用程序的类型的基础上,可进一步调整一个或多个操作参数。此外,如果专用集成电路的温度超过阈值(threshold),可以 (可选(optionally))关闭至专用集成电路的电源。本发明的另一个实施例提供了一种包含计算机可读存储介质的计算机程序产品, 该计算机可读存储介质具有存储于其中的控制逻辑,用以使计算机调节专用集成电路的功率消耗。控制逻辑包含第一和第二计算机可读的程序代码。配置第一计算机可读的程序代码以导致计算机接收专用集成电路的漏电流值。配置第二计算机可读的程序代码以导致计算机基于专用集成电路的漏电流值调整专用集成电路的一个或多个操作参数。本发明的进一个实施例提供了一种计算装置。计算装置包含专用集成电路和机器可读的存储介质。机器可读存储介质具有存储于其中的控制逻辑,用以造成计算装置调节专用集成电路的功率消耗。控制逻辑包含第一和第二机器可读的程序代码。第一机器可读的程序代码被配置为使计算装置自专用集成电路接收漏电流值。第二机器可读的程序代码被配置为使计算装置在专用集成电路的漏电流值的基础上调整专用集成电路的一个或多个操作参数。计算装置可包括,例如,计算机,视频游戏装置,移动式电话,个人数字助理 (PDA),手持装置,或者具有专用集成电路和配置为执行机可读的程序代码的一些其他类型的装置。以下参考附图详细描述本发明进一步的特征和优点,以及本发明的各种实施例的结构和操作。


在此并入且形成说明书部分的附加图式说明本发明,以及连同描述进一步解释本发明的原理并使所属领域的技术人员制造与使用本发明。图1描述说明示范计算装置的方块图;图2描述说明示范图形卡的方块图;图3描述说明处理图形的示范工作流程的方块图;图4描述说明通过改变GPU的温度和供应电压,在不同的漏电流,GPU的实质上不变的功率消耗的图式;图5描述在GPU的漏电流和温度的基础上,说明调整GPU的一个或多个操作参数的示范方法的方块图;图6描述在GPU的漏电流和GPU上运行的应用程序的类型的基础上,说明调整GPU 的一个或多个操作参数的示范方法的方块图;图7描述当功率消耗和供应电压随温度而变化时,说明低和高漏电流的功率消耗和供应电压的关系的图式;图8描述当风机风量和引擎速度随温度而变化时,说明风机风量和引擎速度的关系的图式;以及图9描述当功率消耗,风机风量,和引擎速度随温度而变化时,说明功率消耗,风机风量以及引擎速度的图式。从以下列出详细的说明配合图式,本发明的特征和优点将更加明显,其中,相似的参考符号指出本文中相应的元件。在图式中,同样的参考号码一般表示相同,功能相似,和/ 或结构相似的元件。在图式中,首先出现的元件是由在相应的参考号码最左边的数字指出。
具体实施例方式I.导言本发明针对调节专用集成电路的功率消耗。在详细描述中,“一实施例”、“实施例”、“示范实施例”等指出描述的实施例可包含特定特征、结构、或特性,但每个实施例可不必定包含特定特征、结构、或特性。此外,此词组并不必定表示相同实施例。另外,特定特征、 结构、或特性结合实施例描述时,无论是否明确描述,影响此特定特征、结构、或特性结合其它实施例为在所属领域的技术人员的通常知识中。为了说明的目的,但并非限制,在本发明的实施例中描述的功率调节为功率调节的GPU。然而,应了解,此功率调节可应用于其它类型的ASIC。基于在此的描述,所属领域的技术人员将了解如何在其它类型的ASIC实作功率调节。在实施例中,GPU功率消耗是在GPU漏电流的基础上调节。例如,通过使用制造GPU 后的传统的自动测试设备(Automatic Test Equipment ;ATE),可获得GPU的漏电流。漏电流值可包含在GPU中含有的计算机可读信息内。例如,漏电流值可利用纽约Armonk的IBM 公司开发的eFUSE技术,被登记在计算机可读信息。在操作期间,基于GPU的漏电流值,调整GPU的一个或多个操作参数。一个或多个操作参数可包含但不限于至GPU的供应电压,GPU的引擎速度,用于降温GPU的风机的风机速度,或者所属领域的技术人员显而易知的一些其他的GPU的操作参数。或者,GPU上运行的应用程序的类型的和/或根据GPU受到的环境条件的基础上,可进一步调整一个或多个操作参数。此外,如果GPU的温度超过阈值,可以(可选)关闭至GPU的电源。通过按照本发明的调节GPU的功率消耗,GPU可以比传统的方式操作的相同的GPU 实质上减少功率消耗。例如,传统的GPU可能消耗约X瓦的功率,按照本发明的一实施例, 通过调节功率消耗,同样的GPU将消耗约0. 67X瓦至约0. 77X瓦。而且,按照本发明的实施例,如果调节GPU的功率消耗,GPU的图形卡也比传统的图形卡消耗更少功率。从上面的例子,图形卡可能传统消耗大约1. 4X瓦的功率,按照本发明的实施例,通过调节功率消耗,相同的图形卡将消耗大约1. 2X瓦。因此,按照本发明的实施例,原始设备制造商(Original Equipment Manufacturer ;OEM)使用功率调节图形卡,其中,每卡将预算仅1. 2X瓦的功率,而传统的图形卡,OEM将每卡预算1. 4X瓦的功率。根据本发明的实施例,功率调节GPU可置于包含图形处理单元(GPU)的计算装置。 这样的计算装置的硬件实作和其操作将详细说明如下。II.示范系统图1描述说明按照实施例的调节GPU的功率的示范计算装置100的方块图。计算装置100可包括桌面计算机,笔记本计算机,视频游戏装置,手持装置(例如,移动式电话或个人数码助理(PDA)),或包含图形处理单元的一些其他类型的计算装置。参考图1,计算设备100包含处理器104,图形卡102,和主存储器108,并可包含辅助存储器110和通信接口 124。处理器104和图形卡102相互通信和在通信设施106上通信主存储器108,辅助存储器110和通信接口 124。通信设施106可以包含,例如,外围组件接口(PCI)总线,加速图形端口(AGP)总线,高速PCI (PCT Express ;PCIE)总线,或一些其他类型的通信总线。处理器104包括通用处理器,如中央处理器单元(CPU)。处理器104进行通用处理任务。图形卡102包含GPU和其它组件以通过执行特定的特殊功能(通常速度比处理器 104在软件执行的快)协助处理器104,。图形卡102耦合(couple)显示装置130。图形卡 102提出图形,本字和用于显示的其他数据至显示单元130。例如,图2描述图形卡102的示范实作的方块图。至图形卡102的电源可由图形卡102上包含的电源供应器218或由计算装置100提供。如图2所示,图形卡102包含GPU 210和基本输入/输出系统(BIOS) 220。GPU 210执行计算装置100用的图形处理任务,并可暂时存储数据在本地存储器 216。GPU 210通过输入/输出(1/0)接口 250耦合显示装置130和通过连接260耦合通信设施106。GPU 210包含机器可读信息212标识GPU 210的漏电流值。GPU 210的漏电流值可在制造GPU210后,使用自动测试设备而确定。可使用例如纽约Armonk的IBM公司开发的eFUSE技术,包含此值在机器可读信息212。在实施例中,基于机器可读信息212含有的漏电流值,计算装置100上运行的软件调整GPU 210的一个或多个操作参数,将详细说明如下。BIOS 220包含一套视频相关的功能,其由程序使用以存取视频硬件芯片组(包含,例如,GPU 210)。BIOS 220接口软件至视频芯片组,其以大致相同计算装置100的芯片组用的系统BIOS的方式。当计算装置100启动时,可显示,例如,图形卡供应商,型号,BIOS 版本和图形存储器量。在实施例中,基于(i)机器可读信息212包含的GPU 210的漏电流值和/或(ii)GPU 210的操作条件,BIOS 220还包含调节GPU210的功率消耗的功能。例如,调节GPU 210的功率消耗的功能可以调整- 风机MO的速度(基于,例如,由温度传感器230传感的温度),· GPU 210的引擎速度,和/或 提供至GPU 210的电源。调节GPU 210的功率消耗的示范功能例将详细说明如下。再参考图1,计算装置100还包含主存储器108和辅助存储器110。主存储器108 最好是可随机存取存储器(RAM)。辅助存储器110可包含,例如,硬盘112和/或卸除式存储盘114。卸除式存储盘以习知的方式自卸除式存储单元118读取和/或写入至卸除式存储单元118。卸除式存储单元118可包括软盘,磁带,光盘,或一些其他类型的计算机可读存储介质,其是通过卸除式存储盘114读取和写入。换句话说,卸除式存储单元118包含计算机可用的存储介质,该计算机可用的存储介质具有存储于其中的计算机软件和/或数据。辅助存储器110可包含其他类似的装置,用于允许计算机程序或其他指令加载到计算装置100。这些装置可包含,例如,卸除式存储单元122和接口 120。如可包含程序盒 (program cartridge)和盒接口(如发现于视频游戏装置),卸除式存储器芯片(如可擦除可编程只读存储器(EPROM),或可编程只读存储器(PROM))及相关插口,以及其他卸除式存储单元122和接口 120,其允许软件和/或数据自卸除式存储单元122传输至计算装置100。通信接口 IM允许软件和/或数据在计算装置100和外部装置之间传输。通信接口 IM的例子可包括调制解调器,网络接口(如以太网卡),通信端口,个人计算机存储卡国际协会(PCMCIA)插槽和卡等。通过通信接口 IM传输的软件和/或数据是以信号128的形式,其可为通信接口 1 能接收到的电子,电磁,光学或其他信号。信号1 通过通信路径(例如,通道(channel) )1 提供通信接口 124。通信路径1 承载信号1 和可使用电线或电缆,光纤,电话线,蜂窝链接,射频(RF)链接和其他通信通道而可以实现。计算机程序(也称为计算机控制逻辑)存储在计算机可读存储介质-例如,主存储器108,辅助存储器110,和/或BIOS 220。也可通过通信接口 1 接收计算机程序。这种计算机程序在执行时,使计算装置100以通过GPU 210调节功率消耗。这种计算机程序的示范操作将详细介绍如下。III.示范操作图3描述说明按照本发明的实施例的示范处理流程的方块图300。方块图300包含各种软件元件-如应用程序310,应用程序编程接口(API) 320,和驱动程序330-其在主计算系统(如计算装置100)上执行,和与图形硬件元件(如图形卡102和GPU 210)交互来执行图形处理任务以输出至显示装置130。应用程序310是一最终用户应用程序,其需要图形处理功能(例如,视频游戏应用程序,CAD应用程序,CAM应用程序或类似应用程序)。通信程序310与API 320通信。API 320是应用程序软件之间的中介程序,如应用程序310和其上运行应用程序软件的图形硬件。随着新的芯片组和全新的硬件技术出现的速度越来越快,应用程序开发人员难以顾及并利用最新的硬件特征。应用程序开发人员也越来越难以专门为每个可预见的硬件套编写应用程序。API 320防止应用程序310具有太具体硬件。应用程序310可以标准化的格式输出图形数据和命令至API 320,而不是直接至硬件(例如,图形卡102和 GPU 210)。API 320可包括商业上可用的API (例如,DirectX 或OpenGL ),客制的API, 或类似的API。API 320与驱动程序330通信。驱动程序330通常是由图形硬件制造商编写,和翻译API 320接收到的标准代码为图形卡102和GPU 210所理解的本机格式。驱动程序330也接受输入至图形卡102和GPU 210的直接性能设置。这种输入可以由用户,应用程序或过程提供。例如,用户可以通过用户接口(UI)的方式提供输入,如图形用户接口(GUI),其连同驱动程序330提供给用户。在实施例中,按照本发明的实施例,驱动程序330包含调节GPU 210的功率消耗的功能。例如,图4描述说明GPU的功率消耗如何在不同的漏电流可保持实质上不变的图式400。参考图4,曲线410代表GPU的功率消耗作为漏电流的函数;曲线420代表GPU的结温(junction temperature)作为漏电流的函数;和曲线430代表至GPU的供应电压作为漏电流的函数。正如以下详细说明,通过改变GPU的结温和/或至GPU的供应电压,GPU的功率消耗可保持实质上不变。图5描述通过控制GPU的温度,说明调整GPU的功率消耗的示范方法的流程图 500。流程图500始于步骤502,其中,传感至GPU的温度。使用温度传感器(如图1的温度传感器230)可传感至GPU的温度。在步骤504,确定是否GPU的温度是在所需的范围内。如果,一方面,温度是在所需的范围内,然后(可选)等待延迟时间(如步骤506所示)后再传感温度。如果,另一方面,温度不在所需的范围内,则降低GPU的引擎速度,如步骤508所示。在降低引擎速度后,再次传感GPU的温度,如步骤510所示。在决定步骤512,确定是否GPU的温度有在需要的范围内。如果,一方面,温度有在需要的范围内,然后可以(可选)增加GPU的引擎速度,如步骤514所示和方法返回步骤502。如果,另一方面,温度并没有在需要的范围内,则步骤516确定是否温度已超过阈值(例如,120°C )。如果,在步骤516,GPU的温度已经超过了阈值,则关闭至GPU的电源,如步骤518 所示。另一方面,如果在GPU的温度未超过阈值,则方法返回步骤508和减少GPU的引擎速度。通过实作图5所示的示范方法,GPU的性能(即引擎速度)随着GPU的温度的增加逐渐降低。这样,只有性能逐渐减少时,关闭至GPU的电源,不会抑制GPU的升高温度。图6描述在GPU上运行的应用程序的基础上,说明调整GPU的功率消耗的示范方法的流程图600。流程图600开始于步骤602,其中,确定GPU上运行的应用程序的类型。例如,它可确定GPU是运行3D应用程序或2D应用程序或GPU处于闲置状态。在步骤604,确定是否GPU的漏电流是相对较低。参阅图1和图2的示范系统,计算装置100通过读取GPU 210含有的机器可读信息212,确定是否GPU 210的漏电流是相对较低。如果,一方面,GPU的漏电流是相对较低的话,则在步骤606,在GPU上运行的应用程序的类型的基础上,至GPU的供应电压设为相对较高。如果,另一方面,GPU的漏电流不是相对较低,然后在步骤608,在GPU上运行的应用程序的类型的基础上,至GPU的供应电压设为相对较高,以对每种类型的应用程序保持GPU相同的引擎速度。具有相对较低和较高的漏电流的GPU的示范供应电压分别说明于表1的左和右列。在GPU上运行的应用程序的类型的基础上,通过调整至GPU的供应电压,GPU的引擎速度可以维持在实质上需要的水平。
权利要求
1.一种基于计算机的调节专用集成电路的功率消耗的方法,包括以下步骤(a)自该专用集成电路含有的计算机可读信息接收该专用集成电路的漏电流值;以及(b)基于该专用集成电路的该漏电流值调整该专用集成电路的一个或多个操作参数。
2.如权利要求1所述的基于计算机的方法,其中,该一个或多个操作参数包括下列其中至少之一个操作参数(i)至该专用集成电路的供应电压,(ii)该专用集成电路的引擎速度,以及(iii)用于降温该专用集成电路的风机的速度。
3.如权利要求1所述的基于计算机的方法,其中,该步骤(b)进一步包括基于该专用集成电路上运行的应用程序的类型调整该专用集成电路的该一个或多个操作参数。
4.如权利要求1所述的基于计算机的方法,进一步包括(c)如果该专用集成电路的温度超过阈值,关闭至该专用集成电路的供应电压。
5.如权利要求1所述的基于计算机的方法,其中,该专用集成电路包括图形处理单元。
6.一种包括计算机可读存储介质的计算机程序产品,该计算机可读存储介质具有存储于其中的控制逻辑,用以使计算机调节专用集成电路的功率消耗,该控制逻辑包括第一计算机可读的程序代码,用以使该计算机接收该专用集成电路的漏电流值;以及第二计算机可读的程序代码,用以使该计算机基于该专用集成电路的该漏电流值,调整该专用集成电路的一个或多个操作参数。
7.如权利要求6所述的计算机程序产品,其中,该第一计算机可读的程序代码包括用以使该计算机自该专用集成电路含有的计算机可读信息读取该专用集成电路的该漏电流值的代码。
8.如权利要求6所述的计算机程序产品,其中,该一个或多个操作参数包括下列其中至少之一个操作参数(i)至该专用集成电路的供应电压,(ii)该专用集成电路的引擎速度,以及(iii)用于降温该专用集成电路的风机的速度。
9.如权利要求6所述的计算机程序产品,其中,该第二计算机可读的程序代码进一步包括用以使该计算机基于该专用集成电路上运行的应用程序的类型调整该专用集成电路的该一个或多个操作参数的代码。
10.如权利要求6所述的计算机程序产品,进一步包括第三计算机可读的程序代码,用以使该计算机在该专用集成电路的温度超过阈值时, 关闭至该专用集成电路的供应电压。
11.如权利要求6所述的计算机程序产品,其中,该专用集成电路包括图形处理单元。
12.—种计算装置,包括专用集成电路;以及机器可读存储介质,该机器可读存储介质具有存储于其中的控制逻辑,用以使该计算装置调节该专用集成电路的功率消耗,该控制逻辑包括第一机器可读的程序代码,用以使该计算装置接收该专用集成电路的漏电流值;以及第二机器可读的程序代码,用以使该计算装置基于该专用集成电路的该漏电流值,调整该专用集成电路的一个或多个操作参数。
13.如权利要求12所述的计算装置,其中,该第一机器可读的程序代码包括用以使该计算装置自该专用集成电路含有的机器可读信息读取该专用集成电路的漏电流值的代码。
14.如权利要求12所述的计算装置,其中,该一个或多个操作参数包括下列其中至少之一个操作参数(i)至该专用集成电路的供应电压,( )该专用集成电路的引擎速度,以及(iii)用于降温该专用集成电路的风机的速度。
15.如权利要求12所述的计算装置,其中,该第二机器可读的程序代码进一步包括 用以使该计算装置基于该专用集成电路上运行的应用程序的类型调整该专用集成电路的该一个或多个操作参数的代码。
16.如权利要求12所述的计算装置,其中,该控制逻辑进一步包括第三机器可读的程序代码,用以使该计算装置在该专用集成电路的温度超过阈值时, 关闭至该专用集成电路的供应电压。
17.如权利要求12所述的计算装置,其中,该专用集成电路包括图形处理单元。
全文摘要
本发明提供一种调节专用集成电路(ASIC)(例如图形处理单元)的功率消耗的系统、方法和计算机程序产品。在这种方法中,自专用集成电路含有的计算机可读信息接收专用集成电路的漏电流值。专用集成电路的一个或多个操作参数(例如,至专用集成电路的供应电压、专用集成电路的引擎速度和/或用于降温专用集成电路的风机的风机速度)是基于专用集成电路的漏电流值调整。或者,一个或多个操作参数也可基于专用集成电路上运行的应用程序的类型调整。此外,如果专用集成电路的温度超过阈值,至专用集成电路的供应电压可以(可选)被关闭。
文档编号G06F1/20GK102165389SQ200980138411
公开日2011年8月24日 申请日期2009年7月27日 优先权日2008年7月29日
发明者G·里法伊-艾哈迈德, S·艾哈迈德 申请人:Ati技术无限责任公司, 先进微装置公司

最新回复(0)