利用3d工作量执行动态电压和频率缩放策略的半导体器件的制作方法

文档序号:6510212阅读:216来源:国知局
利用3d工作量执行动态电压和频率缩放策略的半导体器件的制作方法
【专利摘要】本发明公开了一种利用三维工作量执行动态电压和频率缩放策略的半导体器件,所述半导体器件其包括:图形处理器单元,其被配置成接收三维输入数据;以及中央处理单元,其被配置成接收所述三维输入数据并且基于所述三维输入数据来调节所述图形处理器单元的频率和操作电压。所述图形处理器单元基于调节后的频率和操作电压对所述三维输入数据执行图像处理。
【专利说明】利用3D工作量执行动态电压和频率缩放策略的半导体器件
[0001]相关申请的交叉引用
[0002]本申请要求在2012年9月4日于韩国知识产权局提交的第10-2012-0097465号韩国专利申请的优先权,该专利申请被全文引用在此以作参考。
【技术领域】
[0003]本发明构思的示例性实施例涉及半导体器件(例如,系统级芯片(SoC))以及操作该半导体器件的方法,更具体而言,涉及能够动态调节操作频率和操作电压的半导体器件(例如,SoC)以及操作该半导体器件的方法。
【背景技术】
[0004]从电池接收其功率的便携式设备可能包括SoC。所述SoC可能支持复杂的功能,例如处理器功能、多媒体功能、图形功能、接口功能以及安全性功能。然而,由于便携式设备的SoC支持这些复杂的功能,因此它可能迅速地耗尽电池的功率。便携式设备可能包括图形处理器单元。然而,当图形处理器单元(GPU)连续操作时会出现不必要的功率消耗。

【发明内容】

[0005]根据本发明构思的一个示例性实施例,一种半导体器件(例如,SoC)包括:图形处理器单元(GPU),其被配置成接收3D输入数据;以及中央处理单元(CPU),其被配置成接收所述3D输入数据并且基于所述3D输入数据来调节所述GPU的频率和操作电压。所述GPU基于调节后的频率和操作电压对所述3D输入数据执行图像处理。
[0006]根据本发明构思的一个示例性实施例,一种半导体器件(例如,SoC)包括:GPU,其被配置成接收第一 3D输入数据并且生成第一输出;显示控制器,其被配置成基于所述第一输出生成第二输出,所述第二输出包括所述第二输出的帧更新率;以及CPU,其被配置成接收第二 3D输入数据和所述第二输出并且基于所述第二 3D输入数据和所述第二输出来调节所述GPU的频率和操作电压。所述GPU基于调节后的频率和操作电压对所述第二 3D输入数据执行图像处理。
[0007]根据本发明构思的一个示例性实施例,一种半导体器件(例如,SoC)包括:GPU,其被配置成接收3D输入数据并且基于所述输入数据生成经处理的图像数据;显示控制器,其被配置成基于所述经处理的图像数据生成帧更新率;以及中央处理单元,其被配置成接收所述帧更新率和所述输入数据并且基于所述输入数据和所述帧更新率中的至少一个调节所述GPU的频率和操作电压。
[0008]根据本发明构思的一个示例性实施例,一种对包括图形处理器单元(GPU)和显示控制器的半导体器件(例如,系统级芯片(SoC))进行操作的方法包括:接收输入到所述GPU的输入数据和从所述显示控制器输出的输出数据中的至少一个数据;以及基于接收到的信息调节所述GPU的操作频率和操作电压。[0009]基于输入到所述GPU的输入数据的每一帧的顶点或纹理的数量以及纹理的分辨率等级来调节所述GPU的操作频率和操作电压。
[0010]基于从所述显示控制器输出的输出数据的帧更新率来调节所述GPU的操作频率和操作电压。
[0011]基于顶点或纹理的数量以及纹理的分辨率等级和帧更新率来调节所述GPU的操作频率和操作电压。
[0012]基于这样一个数值来确定所述GPU的操作频率和操作电压,所述数值是通过对顶点的数量和帧更新率中的每一个加权计算得出的。
[0013]当顶点的数量和帧更新率中的至少一个没有落在预设的阈值范围内时,改变所述GPU的操作频率和操作电压。
[0014]当顶点的数量和帧更新率两者都没有落在各自的预设的阈值范围内时,改变所述GPU的操作频率和操作电压。
[0015]按照预设的速率重复地执行对所述GPU的操作频率和操作电压的调节。
[0016]基于顶点的数量、帧更新率和GPU进行操作的时间周期相对于测量GPU是否操作的时间周期的比值来调节所述GPU的操作频率和操作电压。举例来说,基于顶点的数量、帧更新率和第一时间周期相对于第二时间周期的比值来调节所述GPU的操作频率和操作电压,其中所述GPU在第一时间周期期间操作,所述第一时间周期期间处于所述第二时间周期的一部分内,并且在所述第二时间周期期间测量所述GPU是否进行了操作。
[0017]根据本发明构思的一个示例性实施例,一种系统级芯片(SoC)包括:图形处理器单元(GPU),其被配置成接收输入数据,基于所述输入数据生成第一输出数据,并且输出所述第一输出数据;显示控制器,其被配置成基于所述第一输出数据生成第二输出数据,并且输出所述第二输出数据;以及中央控制单元(CPU),其被配置成基于所述输入数据和所述第二输出数据中的至少一个来调节所述GPU的操作频率和操作电压。
[0018]基于所述输入数据的每一帧的顶点或纹理的数量以及纹理的分辨率等级来调节所述GPU的操作频率和操作电压。
[0019]基于所述第二输出数据的帧更新率来调节所述GPU的操作频率和操作电压。
[0020]基于所述第二输出数据的顶点的数量和帧更新率来调节所述GPU的操作频率和操作电压。
[0021]基于顶点的数量、帧更新率和GPU进行操作的时间周期相对于GPU执行三维处理的时间周期的比值来调节所述GPU的操作频率和操作电压。
[0022]基于这样一个数值来调节所述GPU的操作频率和操作电压,所述数值是通过对顶点的数量、帧更新率和GPU进行操作的时间周期相对于GPU执行三维处理的时间周期的比值中的每一个加权计算得出的。
[0023]根据本发明构思的一个示例性实施例,一种系统级芯片(SoC)包括:图形处理器单元(GPU),其被配置成接收数据;以及中央控制单元,其被配置成通过分析输入到GPU的数据来预测所述GPU上的工作量。当所述预测的工作量超过阈值时,所述CPU将所述GPU的操作频率设定成第一频率,并且将所述GTO的操作电压设定成第一电压;否则所述CPU将所述GPU的操作频率设定成第二频率,并且将所述GPU的操作电压设定成第二电压。所述第一频率高于所述第二频率,并且所述第一电压高于所述第二电压。[0024]在一个示例性实施例中,所述GPU在第一周期期间操作,其中所述GPU只在所述第一周期的一部分期间执行三维处理,并且所述部分相对于所述第一周期的比值对应于所述工作量。输入到所述GPU的数据包括多个帧,其中所述工作量基于每个帧内的顶点的数量。所述SoC还包括连接在所述CPU与所述GPU之间的时钟管理单元CMU,其中所述CPU控制所述CMU以便:当所述预测的工作量超过阈值时,将具有所述第一频率的时钟信号输出到所述GPU ;否则将具有所述第二频率的时钟信号输出到所述GPU。所述SoC还包括连接在所述CPU与所述GPU之间的功率管理集成电路PMIC,其中所述CPU控制所述PMIC以便:当所述预测的工作量超过阈值时,将具有所述第一电压的电源信号输出到所述GPU;否则将具有所述第二电压的电源信号输出到所述GPU。
【专利附图】

【附图说明】
[0025]结合附图根据下面的详细描述,将更加清楚地理解本发明构思的各个示例性实施例,其中:
[0026]图1是根据本发明构思的一个示例性实施例的电子系统的框图;
[0027]图2是说明根据本发明构思的一个示例性实施例的动态电压频率缩放(DVFS)控制单元与其他设备之间的关系的框图;
[0028]图3是说明根据本发明构思的一个示例性实施例的基于三维(3D) DVFS执行的信号处理的框图;
[0029]图4是说明根据本发明构思的一个示例性实施例的测量图形处理器单元(GPU)上的工作量的方法的时序图;
[0030]图5是示意性地说明根据本发明构思的一个示例性实施例的操作半导体器件(例如,系统级芯片(SoC))的方法的流程图;
[0031]图6A是说明根据本发明构思的一个示例性实施例的操作半导体器件(例如,SoC)的方法的流程图;
[0032]图6B是说明根据本发明构思的一个示例性实施例的操作半导体器件(例如,SoC)的方法的流程图;
[0033]图6C是说明根据本发明构思的一个示例性实施例的操作半导体器件(例如,SoC)的方法的流程图;
[0034]图7是包括根据本发明构思的一个示例性实施例的半导体器件(例如,SoC)的电子系统的框图。
【具体实施方式】
[0035]在下文中将参考附图对本发明构思进行更加全面的说明,在附图中示出了本发明的各实施例。然而,本发明可以按照多种不同的形式具体实现,并且不应当解释为将本发明限定于在此所阐述的各实施例。在附图中,为了清除起见会夸大各层和区域的尺寸和相对尺寸。相同的附图标记始终表示相同的元件。
[0036]应当理解的是,当一个元件被称作“连接”或“耦接”至另一个元件时,所述一个元件可以直接连接或耦接至另一个元件,或者也可以存在有中间元件。如本文中所使用的那样,单数形式的“一”、“一个”和“该”旨在同样包括复数形式,除非在上下文中另外明确地进行了表示。
[0037]图1是根据本发明构思的一个示例性实施例的电子系统10的框图。图2是说明根据本发明构思的一个示例性实施例的动态电压频率缩放(DVFS)控制单元115与其他设备之间的关系的框图。参考图1,电子系统10可以被实现为手持式设备,例如移动电话、智能电话、平板计算机、个人数字助理(PDA)、企业数字助理(EDA)、数字照相机、数字摄影机、便携式多媒体播放器(PMP)、个人/便携式导航设备(PND)、手持式游戏控制台或者电子书阅读器。
[0038]电子系统10包括半导体器件100、存储器设备190和显示设备195。半导体器件100包括中央处理单元(CPU) 110、只读存储器(ROM) 120、随机存取存储器(RAM) 130、定时器135、图形处理器单元(GPU)140、时钟管理单元(CMU)145、显示控制器150、存储器控制器170以及总线180。尽管未示出,但半导体器件100还可以包括其他设备或总线。电子系统10还可以包括功率管理集成电路(PMIC) 160。
[0039]尽管PMIC160在图1中被示出为位于半导体器件100外部,但是在本发明构思的一个示例性实施例中,PMIC160位于半导体器件100内部。PMIC160可以包括电压控制器161 (例如电压控制单元)和电压生成单元165。
[0040]CPUllO (也被称为处理器)可以处理或执行存储在存储器设备190中的程序和/或数据。举例来说,CPUllO可以根据从时钟信号生成器(未示出)接收的时钟信号处理或执行程序和/或数据。
[0041]CPUllO可以被实现为多核处理器。多核处理器是包括至少两个独立且真实的处理器(被称为核)的一个计算部件。所述至少两个处理器的每一个都能够读取和执行程序指令。因为多核处理器能够同时地驱动多个加速器,所以包括多核处理器的数据处理系统可以执行多个加速操作。
[0042]如果需要的话,可以将存储在R0M120、RAMl30和存储器设备190中的程序和/或数据加载到CPUllO的存储器。
[0043]R0M120可以存储程序和/或数据。R0M120可以被实现为可擦除可编程只读存储器(EPROM)或者电可擦除可编程只读存储器(EEPROM)。
[0044]RAM130可以临时地存储程序、数据或指令。举例来说,在CPUllO的控制之下或者根据存储在R0M120中的引导代码,存储在存储器120或190中的程序和/或数据可以被临时地存储在RAM130中。RAM130可以被实现为动态RAM (DRAM)或者静态RAM (SRAM)0
[0045]GPU140处理数据以便生成要被显示的信号,该数据是通过存储器控制器170从存储器设备190中读取的。
[0046]功率管理单元PMU141可以位于GPU140的内部或者位于GPU140的前端。在一个示例性实施例中,GPU140是图形加速器。在一个示例性实施例中,PMU141位于GPU140的外部。PMU141可以被配置成测量GPU140的性能。举例来说,PMU141可以测量给定时间段内输入到GPU140的数据量,以及/或者测量在给定时间段内从GPU140输出的数据量,并且测量GPU140的存储器使用情况。
[0047]CMU145生成操作时钟信号。CMU145可以包括时钟生成设备(例如,锁相环(PLL)、延迟锁相环(DLL)和晶体振荡器中的至少一个)。
[0048]操作时钟信号可以被提供到GPU140。操作时钟信号还可以被提供到另一个设备,例如存储器控制器170等。
[0049]在一个示例性实施例中,CMU145在图2的DVFS控制单元115的控制之下改变操作时钟信号的频率。举例来说,DVFS控制单元115预测要被放到GPU140上的工作量,并且基于对所述工作量的预测结果从多个预设策略(至少两个策略)中选择一个。所述多个预设策略(例如,第一 DVFS策略或第二 DVFS策略)中的每一个都可以具有预设的操作频率和操作电压。
[0050]在一个示例性实施例中,DVFS控制单元115根据所选择的策略控制CMU145。因此,CMU145在DVFS控制单元115的控制之下,改变操作时钟信号的频率以便执行所选择的策略(例如,第一或第二策略)。
[0051]在一个示例性实施例中,电压控制单元161基于由DVFS控制单元115所选择的第一或第二策略控制电压生成单元165。电压生成单元165可以在电压控制单元161的控制之下,基于所选择的第一或第二策略生成GPU140的操作电压,并且将所述操作电压输出到GPU140。举例来说,电压生成单元165基于由所选择的策略指示的电压生成GPU140的操作电压。
[0052]存储器控制器170被配置成与存储器设备190相接口。存储器控制器170控制存储器设备190的总体操作,并且控制主机与存储器设备190之间的各种数据的交换。举例来说,存储器控制器170可以响应于来自主机的请求,控制向存储器设备190写入数据或者从存储器设备190读取数据。
[0053]这里,主机可以是主设备,例如CPU110、GPU140和显示控制器150中的至少一种。
[0054]存储器设备190是用于存储数据的设备,并且可以存储操作系统(OS)、各种程序和各种数据。存储器设备190可以是DRAM,但不限于此。
[0055]举例来说,存储器设备190可以是非易失性存储器设备,例如闪存、相变RAM(PRAM)、磁阻RAM (MRAM)、电阻RAM (ReRAM)或者铁电RAM (FeRAM)0根据本发明构思的一个示例性实施例,存储器设备190是位于半导体器件100内部的内置存储器。
[0056]这些设备110至150以及170可以通过总线180彼此通信。
[0057]显示设备195可以显示从显示控制器150接收的输出图像信号。举例来说,显示设备195可以被实现为液晶显示器(IXD)、发光二极管(LED)显示器、有机LED (OLED)显示器或者有源矩阵OLED (AMOLED)显示器。
[0058]显示控制器150控制显示设备195的操作。
[0059]DVFS控制单元115可以被实现为软件(S/W)或者固件。DVFS控制单元115可以被实现为程序,被安装到存储器120、130或190中,并且当半导体器件100上电时由CPUllO执行。
[0060]DVFS 控制单元 115 可以控制存储器 120、130、190、定时器 135、GPU140, CMU145,PMIC160以及其他模块。存储器120、130、190、定时器135、GPU140、CMU145和PMIC160可以分别被实现为硬件(H/W)。
[0061]操作系统(OS)和中间件可以介于DVFS控制单元115与存储器120、130、190、定时器 135、GPU140、CMU145 和 PMIC160 之间。
[0062]图3是说明根据本发明构思的一个示例性实施例的基于三维(3D) DVFS执行的信号处理的框图。参考图1至图3,GPU140可以从R0M120、RAM130或者存储器设备190接收第一输入数据DATA_1_IN (例如,3D数据)和第二输入数据DATA_2_IN (例如,3D数据)。所述第一输入数据DATA_1_IN和第二输入数据DATA_2_IN包含用于显示3D图像的信息。举例来说,用于显示3D图像的信息可以包括顶点和纹理数据。GPU140通过处理要被显示的第一输入数据DATA_1_IN来生成第一输出数据DATA_0UT_1,并且将所述第一输出数据DATA_0UT_1输出到帧缓冲器。帧缓冲器可以包括在R0M120、RAMl30或者存储器设备190中。
[0063]显示控制器150从存储器设备190的帧缓冲器接收所述第一输出数据DATA_0UT_1。然后,显示控制器150基于所述第一输出数据DATA_0UT_1生成第二输出数据DATA_0UT_2,并且将所述第二输出数据DATA_0UT_2输出到显示设备195。
[0064]在本发明构思的一个示例性实施例中,CPUllO接收第一输入数据DATA_1_IN,通过PMU141来计算GPU140上的工作量,并且基于工作量来调节GPU140的操作频率和操作电压,以便对第一输入数据DATA_1_IN执行图像处理。
[0065]在本发明构思的一个示例性实施例中,CPUllO接收第二输入数据DATA_2_IN和第二输出数据DATA_0UT_2,通过PMU141来计算GPU140上的工作量,并且基于所接收的数据调节GPU140的操作频率和操作电压,以便对第二输入数据DATA_2_IN执行图像处理。在一个示例性实施例中,CPUllO通过DVFS控制单元115控制CMU145以便调节GPU140的操作频率,并且控制PMIC160以便调节GPU140的操作电压。为了便于解释,下面将参考图5至图6C更加详细地描述所述操作。
[0066]在一个示例性实施例中,在时刻1,第一输入数据DATA_1_IN被输出至CPUllO和GPU140 ;在时刻2,GPU140处理第一输入数据DATA_1_IN以生成用于输出至存储器120/130/190的经处理的图像数据DATA_0UT_1 ;在时刻3,存储器将经处理的图像数据DATA_0UT_1输出至显示控制器150 ;在时刻4,显示控制器150基于经处理的图像数据DATA_0UT_1将帧更新率提供至CPUllO ;在时刻5,CPUllO基于第一输入数据DATA_1_IN和/或帧更新率改变GPU140的操作频率和/或操作电压;以及在时刻6,GPU140对第二输入数据DATA_2_IN执行图像处理。
[0067]图4是说明根据本发明构思的一个示例性实施例的测量GPU上的工作量的方法的时序图。3D工作量可以被表示为GPU的操作时间(即,(T1+T2+T3))相对于预定的测量时间TS的比值。举例来说,在测量的时间TS期间,GPU可以在一组周期(例如,Tl、T2和T3)期间执行3D图像处理,并且在另外的第二组周期(例如,从TS开始到Tl之前的周期、在Tl和T2之间的周期、在T2和T3之间的周期以及从T3之后到TS结束的周期)期间执行不同于3D处理的其他处理(例如,初始化、2D处理、其他任务等等)。GPU也可以在一个或多个所述第二周期期间处于空闲,或者在一个或多个所述第二周期的一部分期间处于空闲。GPU在3D工作上的操作时间等于针对各自的3D工作的操作时间Tl、T2和T3的总和。在本发明构思的一个示例性实施例中,针对所述各自的3D工作的操作时间Tl、T2和T3中的每一个都包括在3D图形流水线中执行几何处理(GP)和像素处理(PP)所需的时间,并且可以利用GPU开始3D工作的时间点与GPU完成3D工作的时间点之间的差来测量所述操作时间。GPU开始3D工作的时间点可以被定义为3D驱动器向GPU指派3D工作且GPU由此被驱动的时间点。GPU完成3D工作的时间点可以被定义为GPU通过中断向3D驱动器输出事件的时间点。举例来说,GPU上的工作量WL_GPU可以通过等式I进行计算:
[0068][等式I]
【权利要求】
1.一种半导体器件,其包括: 图形处理器单元,其被配置成接收三维输入数据;以及 中央处理单元,其被配置成接收所述三维输入数据并且基于所述三维输入数据来调节所述图形处理器单元的频率和操作电压, 其中所述图形处理器单元基于调节后的频率和操作电压对所述三维输入数据执行图像处理。
2.如权利要求1所述的半导体器件,其中所述三维输入数据包括所述三维输入数据的每一帧的顶点的数量。
3.如权利要求2所述的半导体器件,其中所述三维输入数据还包括所述三维输入数据的每一帧的纹理的数量。
4.如权利要求2所述的半导体器件,其中所述半导体器件是系统级芯片。
5.如权利要求3所述的半导体器件,其中当顶点的数量和纹理的数量中的至少一个没有落在预设的阈值范围内时,改变所述图形处理器单元的操作频率和操作电压。
6.如权利要求5所述的半导体器件,其中当顶点的数量和纹理的数量都没有落在各自的预设的阈值范围内时,改变所述图形处理器单元的操作频率和操作电压。
7.—种半导体器件,其包括: 图形处理器单元,其被配置成接收第一三维输入数据并且生成第一输出; 显示控制器,其被配置成基于所述第一输出生成第二输出,所述第二输出包括所述第二输出的帧更新率;以及 中央处理单元,其被配置成接收第二三维输入数据和所述第二输出并且基于所述第二三维输入数据和所述第二输出来调节所述图形处理器单元的频率和操作电压, 其中所述图形处理器单元基于调节后的频率和操作电压对所述第二三维入数据执行图像处理。
8.如权利要求7所述的半导体器件,其中所述第一三维输入数据和所述第二三维输入数据分别包括所述第一三维输入数据和所述第二三维输入数据的每一帧的顶点的数量。
9.如权利要求8所述的半导体器件,其中所述第一三维输入数据和所述第二三维输入数据还分别包括所述第一三维输入数据和所述第二三维输入数据的每一帧的纹理的数量。
10.如权利要求8所述的半导体芯片,其中所述半导体器件是系统级芯片。
11.如权利要求10所述的半导体芯片,其中当顶点的数量和所述帧更新率中的至少一个没有落在预设的阈值范围内时,改变所述图形处理器单元的操作频率和操作电压。
12.如权利要求11所述的半导体芯片,其中当顶点的数量和所述帧更新率都没有落在各自的预设的阈值范围内时,改变所述图形处理器单元的操作频率和操作电压。
13.如权利要求9所述的半导体芯片,其中当顶点的数量、纹理的数量以及所述帧更新率都没有落在各自的预设的阈值范围内时,改变所述图形处理器单元的操作频率和操作电压。
【文档编号】G06F1/32GK103677208SQ201310397845
【公开日】2014年3月26日 申请日期:2013年9月4日 优先权日:2012年9月4日
【发明者】吴林范 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1