

技术领域technical field
本发明涉及一种图形处理器(Graphic Processing Unit,GPU)的控制方法,尤其涉及一种控制图形处理器操作模式的方法。The present invention relates to a control method of a graphics processor (Graphic Processing Unit, GPU), in particular to a method for controlling the operation mode of the graphics processor.
背景技术Background technique
在现今的计算机系统中,不论是从操作系统、3D应用、游戏、多媒体等角度来看,计算机系统中的视觉应用都将成为主流,并且这些所有的视觉应用,都取决于计算机系统中的显卡;其中,图形处理器(GPU)就是显卡的“心脏”。过去使用者在购买计算机的时候,中央处理器(CPU)是首要考虑要素。但目前的情况是,不断升级的中央处理器(CPU)在提升计算机系统整体性能方面所得到的回报越来越小,中央处理器(CPU)已经不再是制约计算机系统性能的关键。In today's computer systems, no matter from the perspective of operating systems, 3D applications, games, multimedia, etc., visual applications in computer systems will become the mainstream, and all of these visual applications depend on the graphics card in the computer system. ; Among them, the graphics processing unit (GPU) is the "heart" of the graphics card. In the past, when a user purchased a computer, the central processing unit (CPU) was the primary consideration. But the current situation is that the constantly upgraded central processing unit (CPU) is getting less and less rewards in improving the overall performance of the computer system, and the central processing unit (CPU) is no longer the key to restricting the performance of the computer system.
随着使用者对3D游戏或3D多媒体使用的越来越多,使用者对图形处理器(GPU)的要求也越来越高。图形处理器(GPU)是相对于中央处理器(CPU)的一个概念,在现今的计算机系统中,图形的处理变得越来越重要,需要一个专门的核心处理器来处理大量的图形数据。图形处理器(GPU)决定了显卡的性能和处理图形数据的能力,同时也是2D显卡和3D显卡的区别依据。在过去,2D显示芯片在处理3D图像和特效时主要依赖中央处理器(CPU)的处理能力,称为“软件加速”。而如今,3D图像和特效处理功能则集中在3D显示芯片内,也即所谓的“硬件加速”功能。As users use more and more 3D games or 3D multimedia, users have higher and higher requirements for graphics processing units (GPUs). Graphics processing unit (GPU) is a concept relative to central processing unit (CPU). In today's computer systems, graphics processing is becoming more and more important, and a dedicated core processor is required to process a large amount of graphics data. The graphics processing unit (GPU) determines the performance of the graphics card and the ability to process graphics data, and is also the basis for the difference between 2D graphics cards and 3D graphics cards. In the past, 2D display chips mainly relied on the processing power of the central processing unit (CPU) when processing 3D images and special effects, which is called "software acceleration". Today, 3D image and special effect processing functions are concentrated in the 3D display chip, which is the so-called "hardware acceleration" function.
现在市场上的显卡大多采用NVIDIA和ATI两家公司的图形处理器(GPU)。图形处理器(GPU)诞生于1999年。当时,NVIDIA发布了首款GeForce系列图形处理器(GPU)。在此之前,计算机系统的核心处理器结构一直受控于INTEL。按照INTEL的规划,计算机系统的所有功能都应被集中至一个单一平台上,由主管计算的中央处理器(CPU)来完成所有数据处理工作。然而,图形处理器(GPU)的出现则打破了过去计算机系统的结构,这相当于为计算机系统额外设置了一个除了中央处理器(CPU)之外、专管图像数据处理的“大脑”。由于图形处理器(GPU)可以有效地执行多种运算,从物理运算到图像编译码的处理,如果说过去的3D软件加速是中央处理器(CPU)做了图形处理器(GPU)的工作,那如今的3D硬件加速则是图形处理器(GPU)做了中央处理器(CPU)的工作。因此在可预见的将来,图形处理器(GPU)不仅仅作为绘图引擎,而是会成为计算机系统的主要计算引擎。Most of the graphics cards on the market now use graphics processing units (GPUs) from NVIDIA and ATI. The Graphics Processing Unit (GPU) was born in 1999. At that time, NVIDIA released the first GeForce series graphics processing unit (GPU). Prior to this, the core processor structure of the computer system has been controlled by INTEL. According to INTEL's plan, all functions of the computer system should be concentrated on a single platform, and the central processing unit (CPU) in charge of computing will complete all data processing tasks. However, the emergence of graphics processing units (GPUs) has broken the structure of past computer systems, which is equivalent to setting an additional "brain" for computer systems in addition to the central processing unit (CPU), which is exclusively in charge of image data processing. Since the graphics processing unit (GPU) can effectively perform a variety of calculations, from physical calculations to image encoding and decoding processing, if the past 3D software acceleration is the central processing unit (CPU) doing the work of the graphics processing unit (GPU), In today's 3D hardware acceleration, the graphics processing unit (GPU) does the work of the central processing unit (CPU). Therefore, in the foreseeable future, the graphics processing unit (GPU) will not only be used as a drawing engine, but will become the main computing engine of a computer system.
当计算机系统的运算能力达到一定水平,各式的应用都将不再有太多的问题后,相信会有越来越多的人会将眼光放在能源节约的问题上,毕竟随着地球资源的逐渐消耗殆尽,能源价格的问题将会越来越严重,因此如何能够将每瓦电源发挥最大效益,便可说是新一代绿色电子产品业者最为关切的议题,毕竟不是每个人随时都需要最大的效能,而是如何能够最适切的在效能与能源损耗上做一平衡,才是业者必须努力的方向。When the computing power of the computer system reaches a certain level and various applications will no longer have too many problems, I believe that more and more people will focus on the issue of energy conservation. After all, as the earth's resources The problem of energy prices will become more and more serious. Therefore, how to maximize the efficiency of each watt of power supply can be said to be the most concerned issue for the new generation of green electronic product manufacturers. After all, not everyone needs it all the time. Maximum performance, but how to balance performance and energy consumption most appropriately, is the direction that the industry must strive for.
过去,显卡的节能主要是采用降低图形处理器(GPU)的工作频率(Clock)或操作电压,使得图形处理器(GPU)的工作速度变慢,进而减少功率的消耗。因此,图形处理器(GPU)大厂NVIDIA推出Hybird Power技术,便是为了达到效能与节能最佳平衡而设计的一项解决方案。所谓的Hybird Power技术,简单来说就是能够依据使用者目前对于效能的需求状态,手动切换与调整选择,是否要使用内建的绘图核心,或是以外接的图形处理器(GPU)来进行运算;其中最大的关键,便是在于主机板芯片组与显卡上皆多了一组SMBUS总线,来作为传送外接图形处理器(GPU)的开启或是关闭指令之用。请参阅图1,其所示为一具有NVIDIA Hybird Power技术图形处理器(GPU)的计算机系统示意图。该具有NVIDIA Hybird Power技术图形处理器(GPU)的计算机系统主要包含:一主机板11、一中央处理器13(CPU)、一内建绘图核心15、与一外接图形处理器17(GPU);其中该主机板11通过一SMBUS总线作为传送该外接图形处理器17(GPU)的开启或是关闭指令之用。首先,当使用者察觉到目前计算机系统所操作的各项应用程序,对于绘图效能并不属于重度的需求,便可通过手动或是系统自动设定的方式,让驱动程序有关Hybird Power的细部选项与专属SMBUS传递相关的指令启动,使显卡上的图形处理器17(GPU)暂停运行,而改由芯片组内建的绘图核心15来进行相关的运算;在这样的节能模式下,外接图形处理器17(GPU)几乎等于是完全不耗用任何电力,以目前高阶显卡耗电量来说,大约可以减少将近70~90Watt的功耗,因此将可有效节约系统整体的电力损耗。而当系统有重度的3D绘图效能需求时,也能再次通过驱动程序的设定与SMBUS传递相关的指令来唤醒外接图形处理器17(GPU)进行相关的绘图运算;因此,在这样一来一往的过程中,便可在兼顾效能的情况下,达成节约能源的理想。In the past, the energy saving of the graphics card was mainly to reduce the operating frequency (Clock) or operating voltage of the graphics processing unit (GPU), so that the working speed of the graphics processing unit (GPU) was slowed down, thereby reducing power consumption. Therefore, the Hybrid Power technology launched by NVIDIA, a major graphics processing unit (GPU) manufacturer, is a solution designed to achieve the best balance between performance and energy saving. The so-called Hybird Power technology, in simple terms, is able to manually switch and adjust the selection according to the user's current demand for performance, whether to use the built-in graphics core or an external graphics processing unit (GPU) for calculation. The biggest key is that there is an additional set of SMBUS buses on the motherboard chipset and graphics card, which are used to transmit the opening or closing commands of the external graphics processing unit (GPU). Please refer to Figure 1, which shows a schematic diagram of a computer system with NVIDIA Hybrid Power technology graphics processing unit (GPU). This computer system with NVIDIA Hybrid Power technology graphics processing unit (GPU) mainly includes: a motherboard 11, a central processing unit 13 (CPU), a built-in graphics core 15, and an external graphics processing unit 17 (GPU); Wherein the mainboard 11 is used to transmit the opening or closing command of the external graphics processing unit 17 (GPU) through an SMBUS bus. First of all, when the user realizes that the various applications operated by the current computer system do not have a serious demand for graphics performance, the driver can configure the detailed options of the Hybrid Power through manual or system automatic settings. The instructions related to the exclusive SMBUS transmission are started, so that the graphics processing unit 17 (GPU) on the graphics card is suspended, and the graphics core 15 built in the chipset is used to perform related calculations; The processor 17 (GPU) almost does not consume any power at all. Taking the power consumption of the current high-end graphics card as an example, it can reduce the power consumption of nearly 70-90Watt, so it will effectively save the power consumption of the whole system. And when the system has severe 3D drawing performance requirements, it can also wake up the external graphics processing unit 17 (GPU) to carry out related drawing calculations through the setting of the driver program and the SMBUS transfer related instructions; therefore, in this way In the past process, the ideal of energy saving can be achieved while taking into account the performance.
此外,图形处理器(GPU)大厂ATI则推出具有动态电压控制的Power-On-Demand技术,其允许操作电压在图形处理器(GPU)的负载支配下进行动态调整。ATI宣称具有Power-On-Demand技术的图形处理器(GPU),就算只受供0.95伏特的低电压也能提供稳定的操作,这让它在节能模式下大幅降低功耗。借由在同个设计中综合运用不同电压的晶体管,图形处理器(GPU)得以搭配改良式数据路径,持续在较低的频率下运行,并因此省下电力。In addition, ATI, a graphics processing unit (GPU) manufacturer, has launched a Power-On-Demand technology with dynamic voltage control, which allows the operating voltage to be dynamically adjusted under the load of the graphics processing unit (GPU). ATI claims that the graphics processing unit (GPU) with Power-On-Demand technology can provide stable operation even if it is only supplied with a low voltage of 0.95 volts, which allows it to greatly reduce power consumption in power-saving mode. By combining transistors of different voltages in the same design, graphics processing units (GPUs) can continue to run at lower frequencies with improved data paths, thereby saving power.
发明内容Contents of the invention
本发明为一种图形处理器操作模式的控制方法,应用于一计算机系统的一图形处理器,且图形处理器具有多个串流处理器,包括下列步骤:根据计算机系统的一运行状况,决定图形处理器操作于一正常模式或一节能模式;当图形处理器操作于正常模式时,计算机系统开启图形处理器的全部串流处理器;以及,当图形处理器操作于节能模式时,计算机系统开启图形处理器的部分串流处理器。The present invention is a method for controlling the operation mode of a graphics processor, which is applied to a graphics processor of a computer system, and the graphics processor has a plurality of stream processors, including the following steps: according to an operation status of the computer system, determine The graphics processor operates in a normal mode or an energy-saving mode; when the graphics processor operates in the normal mode, the computer system enables all stream processors of the graphics processor; and, when the graphics processor operates in the energy-saving mode, the computer system Turn on some of the stream processors of the graphics processor.
本发明还提出一种图形处理器,包括:一输入组合单元,接收一绘图数据,并区分为多个执行线程;一执行线程管理器,根据所接收该些执行线程,输出一控制信号;多个串流处理器,连接该执行线程管理器以接收该些执行线程,并接受该控制信号来控制开启串流处理器的数目;多个平行数据高速缓存,连接相对应的该些串流处理器用以暂存该些串流处理器处理输出的多个数据;一存储/下载单元,接收该些数据;以及一图框内存,连接该存储/下载单元。The present invention also proposes a graphics processor, including: an input combination unit, which receives a drawing data and divides it into a plurality of execution threads; an execution thread manager, outputs a control signal according to the received execution threads; A stream processor, connected to the execution thread manager to receive the execution threads, and accept the control signal to control the number of open stream processors; a plurality of parallel data caches, connected to the corresponding stream processors A device is used to temporarily store a plurality of data processed and output by the stream processors; a storage/download unit receives the data; and a frame memory is connected to the storage/download unit.
由以上可知,借由使用者手动的设定或是计算机系统自动的检测,本发明的图形处理器(GPU)可开启全部的串流处理器(Stream Processor)使其操作于正常模式,或是关闭部分的串流处理器(Stream Processor)使其操作于节能模式,而达成本发明的图形处理器(GPU)具有动态节能功能。As can be seen from the above, by means of manual setting by the user or automatic detection by the computer system, the graphics processing unit (GPU) of the present invention can turn on all the stream processors (Stream Processor) to operate in the normal mode, or Turning off part of the stream processor (Stream Processor) makes it operate in an energy-saving mode, and the graphics processing unit (GPU) of the present invention has a dynamic energy-saving function.
附图说明Description of drawings
图1所示为一具有NVIDIA Hybird Power技术图形处理器(GPU)的计算机系统示意图。Figure 1 shows a schematic diagram of a computer system with an NVIDIA Hybrid Power technology graphics processing unit (GPU).
图2所示为一图形处理器(GPU)的结构示意图(以NEVIDA G92为例)。FIG. 2 is a schematic structural diagram of a graphics processing unit (GPU) (taking NEVIDA G92 as an example).
图3所示为本发明图形处理器操作模式的控制方法。FIG. 3 shows the method for controlling the operation mode of the graphics processor of the present invention.
具体实施方式Detailed ways
不同于过去显卡的节能主要是采用降低图形处理器(GPU)的工作频率(Clock)或操作电压,本发明的具有动态节能功能的图形处理器(GPU)操作于节能模式时,采用关闭图形处理器(GPU)内部分串流处理器(StreamProcessor),如此将可使图形处理器(GPU)操作于节能模式时减少电力的消耗。Different from the energy-saving of graphics cards in the past, mainly by reducing the operating frequency (Clock) or operating voltage of the graphics processing unit (GPU), the graphics processing unit (GPU) with dynamic energy-saving function of the present invention is operated in the energy-saving mode, and the graphics processing unit is turned off. The internal stream processor (StreamProcessor) of the GPU (GPU), so that the graphics processing unit (GPU) can be operated in an energy-saving mode to reduce power consumption.
以下,将以图形处理器(GPU)绘制一3D游戏画面为例,来介绍图形处理器(GPU)的演进过程和图形处理器(GPU)内部的工作流程。Hereinafter, the graphics processing unit (GPU) will be used to draw a 3D game screen as an example to introduce the evolution process of the graphics processing unit (GPU) and the internal workflow of the graphics processing unit (GPU).
3D游戏画面是属于3D“实时绘图”(Realtime Rendering)的领域,它不像工业设计、动画电影那样需要超高分辨率和精确度,游戏的3D画面只要快,一秒至少要画出30张,打电玩的人才不会觉得延迟,所以娱乐用的图形处理器(GPU)采用很多图形处理的技术。而拆解到最简单,3D绘图可分成“建立骨架”、“贴图”和“输出画面”三个步骤。The 3D game screen belongs to the field of 3D "Realtime Rendering". It does not require ultra-high resolution and precision like industrial design and animation movies. As long as the 3D screen of the game is fast, at least 30 pictures must be drawn in one second. , Only those who play video games will not feel the delay, so the graphics processing unit (GPU) for entertainment uses a lot of graphics processing technologies. As for the simplest disassembly, 3D drawing can be divided into three steps: "build skeleton", "texture" and "output screen".
现今3D绘图是以三角形或多边形(Polygon)为基础来建构物体的外型,游戏里所有的物体都是由一片片三角形堆栈出来的,而每个三角形都是由三个顶点(Vertex)构成,这也是为什么早期游戏的物体都让人觉得棱棱角角的,因为需要大量的三角形才能组成近似圆弧状的物体,若显卡效能不够强大就没办法处理大量多边形,只用少量的多边形建构外型,就会出现棱棱角角的对象。Today's 3D drawing is based on triangles or polygons (Polygon) to construct the appearance of objects. All objects in the game are stacked from pieces of triangles, and each triangle is composed of three vertices (Vertex). This is why the objects in the early games are all angular, because a large number of triangles are needed to form an object that is approximately arc-shaped. If the performance of the graphics card is not powerful enough, it cannot handle a large number of polygons. Only a small number of polygons are used to construct the appearance. , there will be angular objects.
用三角形建立出物体的骨架之后,物体就有线条式的骨架了,但如果要让人知道它到底是什么,一定要贴上一层皮,也就是材质贴图(Texture),其实材质就是图片,由一点一点的像素(Pixel)构成,贴上之后原来的骨架就会变成实际的场景了。但以上两个步骤运算完会得到一个真正3D的场景,但因为使用者屏幕只有2D平面,所以图形处理器(GPU)最后一步就是把这个3D的场景,依照使用者所看到的视角(摄影机视野),投射成一张2D的画面,并输出到屏幕上。After building the skeleton of the object with triangles, the object has a line-like skeleton, but if you want people to know what it is, you must paste a layer of skin, that is, a texture map (Texture). In fact, the material is a picture. It is composed of little by little pixels (Pixel), and after pasting, the original skeleton will become the actual scene. However, after the above two steps are completed, a real 3D scene will be obtained, but because the user's screen only has a 2D plane, the last step of the graphics processing unit (GPU) is to convert this 3D scene according to the viewing angle seen by the user (camera) Field of view), projected into a 2D picture, and output to the screen.
假设在一张实际2D画面,画面中有两个部分彼此其实没什么关联,它们根本就是两组多边形的骨架,也有各自的贴图,在游戏中这两个部分也不会互动,如果能把这两个部分的运算分离开来,图形处理器(GPU)内装两组运算单元,那就可以同时运算画面的这两个不同部分,进而加快运算速度了。事实上,无论3D或2D画面,会彼此相关的通常只有紧接相邻的部分,大范围来看,其实很多地方都是可以各自独立运算的,也因为如此,图形处理器(GPU)最基本的运算方式就是将画面上各个像素做独立运算,很像现在双核心CPU的处理方式,但图形处理器(GPU)至少都数十或上百个核心,所以平行运算(Parallel Processing)会更彻底。Assume that in an actual 2D screen, there are two parts that have nothing to do with each other. They are basically two sets of polygonal skeletons with their own textures. These two parts will not interact in the game. If you can combine these two The operation of two parts is separated, and the graphics processing unit (GPU) is equipped with two sets of calculation units, so that the two different parts of the screen can be calculated at the same time, thereby speeding up the calculation speed. In fact, regardless of 3D or 2D images, usually only the adjacent parts are related to each other. In a large scale, many places can be operated independently. Because of this, the most basic graphics processing unit (GPU) The calculation method is to independently calculate each pixel on the screen, which is very similar to the current dual-core CPU processing method, but the graphics processing unit (GPU) has at least dozens or hundreds of cores, so parallel processing (Parallel Processing) will be more thorough. .
因此,平行运算是图形处理器(GPU)最基本的运算概念,最新的图形处理器(GPU)已经高度平行化到数百个运算单元(可模拟成有数百个简单核心)。由于3D画面上不同区域的彼此关联性不高,在过去,图形处理器(GPU)就开始在内部平行拆成好几个部分,就好像有好几个核心在一起运算,过去大家常说的“管线”(Pipeline)就是有多少条平行化的部分,从多边形组合、贴图到输出画面,这样的3D画面产生过程可能有四组或八组同时运行,越多当然就越快。Therefore, parallel computing is the most basic computing concept of a graphics processing unit (GPU), and the latest graphics processing unit (GPU) has been highly parallelized to hundreds of computing units (can be simulated as having hundreds of simple cores). Due to the low correlation between different areas on the 3D screen, in the past, the graphics processing unit (GPU) began to be divided into several parts in parallel internally, as if several cores were operating together. "(Pipeline) refers to how many parallelized parts there are, from polygon combination, texture to output screen. There may be four or eight groups running at the same time in such a 3D screen generation process. Of course, the more the more, the faster.
但现在新的图形处理器(GPU)已经不是管线的结构了,从DirectX 8.0开始引进着色器(Shader)运算的概念之后,现在图形处理器(GPU)的运算几乎全部集中在着色器(Shader)处理上。着色器(Shader)是多边形组合或贴图之后,图形处理器(GPU)再对多边形与材质做进一步的处理,简单的说就是各种数学公式,依照不同的算法技巧,原本静态的贴图或多边形就会变成动态的特效,比如大家现在在游戏中常看到水面起伏和物体的反光/凹凸效果,就是利用着色器(Shader)调整顶点的位置或像素的颜色。But now the new graphics processing unit (GPU) is no longer a pipeline structure. After the introduction of the concept of shader (Shader) operations from DirectX 8.0, almost all operations of the graphics processing unit (GPU) are now concentrated on the shader (Shader). processing. Shader (Shader) is the combination of polygons or textures, and then the graphics processing unit (GPU) will further process the polygons and materials. Simply put, it is a variety of mathematical formulas. According to different algorithm techniques, the original static textures or polygons become It will become a dynamic special effect. For example, you often see the undulating water surface and the reflection/bump effect of objects in the game now, which is to use the shader (Shader) to adjust the position of the vertex or the color of the pixel.
过去,图形处理器(GPU)内部都还有区分处理顶点和像素的着色器(Shader)运算单元,但现今NVIDIA和ATI都统一成串流处理器(StreamProcessor),串流处理器(Stream Processor)不管顶点或像素着色器(Shader),通通都可以运算。图形处理器(GPU)做成串流处理器(Stream Processor),串流处理器(Stream Processor)就相当于非常简化的图形处理器(GPU)核心,负责着色器(Shader)里的数学运算,现在图形处理器(GPU)的串流处理器(StreamProcessor)数量从数十到数百不等,依显卡的定位价格不同,数量越多,平行化越彻底,速度自然就越快。In the past, there were shader (Shader) computing units inside the graphics processing unit (GPU) that distinguish between processing vertices and pixels, but now NVIDIA and ATI are unified into a stream processor (Stream Processor), a stream processor (Stream Processor) Regardless of the vertex or pixel shader (Shader), all operations can be performed. The graphics processing unit (GPU) is made into a stream processor (Stream Processor), and the stream processor (Stream Processor) is equivalent to a very simplified graphics processing unit (GPU) core, which is responsible for the mathematical operations in the shader (Shader). Currently, the number of Stream Processors in a graphics processing unit (GPU) ranges from tens to hundreds, depending on the positioning price of the graphics card. The more the number, the more thorough the parallelization, and the faster the speed.
现在新的图形处理器(GPU)都采用Unified着色器(Shader)(统一着色器(Shader))结构,不再分像素或顶点,这样不管画面是多边形或是复杂的像素特效,图形处理器(GPU)内的着色器(Shader)运算单元都能保持在满载状态,不会造成系统资源的浪费。Now the new graphics processing unit (GPU) adopts the Unified shader (Shader) (Shader) structure, no longer divided into pixels or vertices, so no matter whether the picture is polygonal or complex pixel special effects, the graphics processor ( The shader (Shader) computing unit in the GPU) can be kept in a fully loaded state, which will not cause waste of system resources.
请参阅图2,其所示为一图形处理器(GPU)的结构示意图(以NEVIDAG92为例)。该图形处理器100中包括一输入组合单元(input assembler)102、一执行线程管理单元(thread execution managing unit)104、多个串流处理器(Stream Processor)110~11n、多个平行数据高速缓存(parallel data cache)120~12n、一存储/下载(load/store unit)单元130、与一图框内存(framebuffer)132。Please refer to FIG. 2 , which shows a schematic structural diagram of a graphics processing unit (GPU) (taking NEVIDAG92 as an example). The
由图中可知,当图形处理器100接收到任何的绘图命令与相对应的绘图数据后,输入组合单元102会区分为不同的执行线程(thread)并给予一执行线程编号(thread ID)。再者,执行线程管理单元104中可将接收的多个执行线程区分成为属于端点执行线程(Vtx thread issue)、属于几何坐标执行线程(Geom thread issue)、与属于像素执行线程(Pixel thread issue),并输出一控制信号到多个串流处理器110~11n。之后,执行线程管理单元104即可将相对应的执行线程分配至多个多个串流处理器110~11n来进行数据的平行处理,在此执行线程管理单元104根据所接收到执行线程数量与类别,以控制信号决定多个串流处理器110~11n开启数量。而多个串流处理器110~11n处理完成后的数据即暂存于相对应的平行数据高速缓存120~12n。It can be seen from the figure that when the
再者,存储于数据高速缓存120~12n中的数据可再次提供执行线程管理单元104来分配。Furthermore, the data stored in the data caches 120 - 12n can be provided to the execution
或者,存储于数据高速缓存120~12n中的数据可输出至存储/下载(load/store unit)单元130,最后送至图框内存(frame buffer)132。Alternatively, the data stored in the
图3所示为本发明图形处理器操作模式的控制方法。首先,根据计算机系统的一运行状况,决定图形处理器操作于一正常模式或一节能模式,如步骤S10。接着判断计算机系统是否操作于正常模式,如步骤S20。当图形处理器操作于正常模式时,计算机系统开启该图形处理器的全部串流处理器,如步骤S30。反之,当图形处理器操作于节能模式时,计算机系统开启图形处理器的部分串流处理器,如步骤S40。FIG. 3 shows the method for controlling the operation mode of the graphics processor of the present invention. Firstly, according to an operating condition of the computer system, it is determined that the graphics processor operates in a normal mode or an energy-saving mode, such as step S10. Then determine whether the computer system is operating in the normal mode, as in step S20. When the graphics processor is operating in the normal mode, the computer system turns on all the stream processors of the graphics processor, as in step S30. On the contrary, when the graphics processor is operating in the energy-saving mode, the computer system turns on part of the stream processors of the graphics processor, as in step S40.
根据本发明的实施例,由于现今的图形处理器(GPU)采用大量的串流处理器(Stream Processor),串流处理器(Stream Processor)就相当于非常简化的图形处理器(GPU)核心,因此,本发明的具有动态节能功能的图形处理器(GPU)即利用操作于节能模式时,关闭图形处理器(GPU)内部分串流处理器(StreamProcessor)的数目,也即仅开启部分串流处理器,如此将可使图形处理器(GPU)操作于节能模式时减少电力的消耗。According to an embodiment of the present invention, since today's graphics processing unit (GPU) adopts a large number of stream processors (Stream Processor), the stream processor (Stream Processor) is equivalent to a very simplified graphics processing unit (GPU) core, Therefore, the Graphics Processing Unit (GPU) with dynamic energy-saving function of the present invention promptly utilizes when operating in the energy-saving mode to close the number of partial stream processors (StreamProcessors) in the Graphical Processing Unit (GPU), that is, only open part of the streaming processor, which will reduce power consumption when the graphics processing unit (GPU) operates in a power-saving mode.
也就是说,当目前计算机系统所操作的各项应用程序,对于绘图效能并不属于重度的需求,便可通过手动或是系统自动设定的方式,经由更改图形处理器(GPU)内部缓存器(Register)的设定,来关闭部分的串流处理器(StreamProcessor),避免不必要的电力消耗。That is to say, when the various applications operated by the current computer system do not have serious requirements for graphics performance, they can be manually or automatically set by the system by changing the internal register of the graphics processing unit (GPU). (Register) setting to turn off part of the stream processor (StreamProcessor) to avoid unnecessary power consumption.
在使用者手动设定串流处理器(Stream Processor)数量方面,假设使用者仅利用计算机系统做些文书处理,此时显卡不需处理大量3D画面等高负载的运算,因此使用者可通过一使用者界面,来关闭部分的串流处理器(StreamProcessor),使图形处理器(GPU)进入节能模式,进而避免不必要的电力消耗。举例来说,NVIDIA GeForce 9600GT的图形处理器(GPU)内的串流处理器(Stream Processor)数量为64,当使用者仅利用计算机系统做些文书处理时,此时这64个同时开启的串流处理器(Stream Processor)会消耗大量的电力,但是却对使用者文书处理效能的提升没有太大的帮助,此时使用者可通过一使用者界面,来关闭部分的串流处理器(Stream Processor),例如仅开启32个串流处理器(Stream Processor)而关闭32个串流处理器(Stream Processor)而使图形处理器(GPU)进入节能模式。也就是说,使用者可以设定一串流处理器使用数目(例如32),如此一来,节能模式下的显卡对使用者进行的文书处理工作几乎不会产生任何影响,但是却可省下可观的电力消耗。相反的,当使用者结束文书处理转而使用3D多媒体时,此时由于节能模式下的图形处理器(GPU)只剩32个串流处理器(Stream Processor)在工作,这会使得显卡对3D多媒体工作的负担过重,此时使用者可通过一使用者界面,来重新开启原本被关掉的串流处理器(Stream Processor),例如使用者可以再次设定一串流处理器使用数目(例如62),重新开启原本关闭掉的32个串流处理器(StreamProcessor)而使图形处理器(GPU)进入正常模式,如此一来,将可使图形处理器(GPU)重新发挥全部的效能。As for the number of stream processors manually set by the user, it is assumed that the user only uses the computer system to do some document processing. At this time, the graphics card does not need to handle high-load calculations such as a large number of 3D images, so the user can use a The user interface is used to turn off part of the stream processor (StreamProcessor), so that the graphics processing unit (GPU) enters an energy-saving mode, thereby avoiding unnecessary power consumption. For example, the number of stream processors (Stream Processor) in the graphics processing unit (GPU) of NVIDIA GeForce 9600GT is 64. The Stream Processor consumes a lot of power, but it does not help the user to improve the word processing performance. At this time, the user can turn off part of the Stream Processor (Stream Processor) through a user interface. Processor), for example, only 32 stream processors (Stream Processor) are turned on and 32 stream processors (Stream Processor) are turned off so that the graphics processing unit (GPU) enters an energy-saving mode. That is to say, the user can set the number of stream processors used (for example, 32). In this way, the graphics card in the energy-saving mode will hardly have any impact on the user's word processing work, but it can save Considerable power consumption. On the contrary, when the user ends the document processing and turns to use 3D multimedia, at this time, only 32 stream processors (Stream Processor) are left in the graphics processing unit (GPU) in the energy-saving mode, which will make the graphics card more sensitive to 3D The burden of multimedia work is too heavy. At this time, the user can restart the originally closed stream processor (Stream Processor) through a user interface. For example, the user can set a stream processor usage number ( For example 62), re-open the 32 stream processors (StreamProcessor) that were originally shut down to make the graphics processing unit (GPU) enter the normal mode, so that the graphics processing unit (GPU) can be brought into full play again.
在计算机系统自动设定串流处理器(Stream Processor)数量方面,计算机系统可通过一些机制,来决定图形处理器(GPU)内串流处理器(StreamProcessor)的工作数量。举例来说,当计算机系统检测出使用者在使用3D多媒体状态下,此时计算机系统会自动开启图形处理器(GPU)内所有64个串流处理器(Stream Processor)而让图形处理器(GPU)进入正常模式,使得图形处理器(GPU)发挥全部的效能。当计算机系统检测出使用者在非使用3D多媒体状态下,此时计算机系统会自动关闭图形处理器(GPU)内部分的串流处理器(Stream Processor),例如关闭32个串流处理器(Stream Processor)而使图形处理器(GPU)进入节能模式,如此一来,在不影响显卡处理数据的效能下,可省下可观的电力消耗。此外,由于图形处理器(GPU)与中央处理器(CPU)在某些方面的合作是十分紧密的,因此计算机系统可根据中央处理器(CPU)的工作负载来决定图形处理器(GPU)内串流处理器(Stream Processor)的工作数量。举例来说,当计算机系统检测出中央处理器(CPU)处于高负载的状态下,此时计算机系统会自动开启图形处理器(GPU)内所有64个串流处理器(StreamProcessor)而让图形处理器(GPU)进入正常模式,使得图形处理器(GPU)发挥全部的效能,用以分担中央处理器(CPU)的负载。当计算机系统检测出中央处理器(CPU)处于低负载的状态下,此时计算机系统会自动关闭图形处理器(GPU)内部分的串流处理器(Stream Processor),例如关闭32个串流处理器(Stream Processor)而使图形处理器(GPU)进入节能模式,如此一来,在不影响显卡处理数据的效能下,可省下可观的电力消耗。此外,计算机系统可根据图形处理器(GPU)的温度来决定图形处理器(GPU)内串流处理器(StreamProcessor)的工作数量。举例来说,当计算机系统检测出图形处理器(GPU)的温度高于某一特定值,表示此时图形处理器(GPU)处于高负载的状况,此时计算机系统会自动开启图形处理器(GPU)内所有64个串流处理器(StreamProcessor)而让图形处理器(GPU)进入正常模式,使得图形处理器(GPU)发挥全部的效能。当计算机系统检测出图形处理器(GPU)的温度低于某一特定值,表示此时图形处理器(GPU)处于低负载的状况,此时计算机系统会自动关闭图形处理器(GPU)内部分的串流处理器(Stream Processor),例如关闭32个串流处理器(Stream Processor)而使图形处理器(GPU)进入节能模式,如此一来,在不影响显卡处理数据的效能下,可省下可观的电力消耗。In terms of automatically setting the number of stream processors (Stream Processor) in the computer system, the computer system can determine the number of jobs of the stream processor (Stream Processor) in the graphics processing unit (GPU) through some mechanisms. For example, when the computer system detects that the user is using 3D multimedia, the computer system will automatically turn on all 64 stream processors (Stream Processor) in the graphics processing unit (GPU) so that the graphics processing unit (GPU) ) to enter normal mode, allowing the graphics processing unit (GPU) to exert full performance. When the computer system detects that the user is not using 3D multimedia, the computer system will automatically close the stream processor (Stream Processor) inside the graphics processing unit (GPU), for example, close 32 stream processors (Stream Processor). Processor) so that the graphics processing unit (GPU) enters an energy-saving mode, so that considerable power consumption can be saved without affecting the performance of the graphics card to process data. In addition, because the cooperation between the graphics processing unit (GPU) and the central processing unit (CPU) is very close in some aspects, the computer system can determine the graphics processing unit (GPU) internal processing capacity according to the workload of the central processing unit (CPU). The number of jobs for the Stream Processor. For example, when the computer system detects that the central processing unit (CPU) is in a state of high load, the computer system will automatically turn on all 64 stream processors (StreamProcessor) in the graphics processing unit (GPU) to allow the graphics processing The graphics processing unit (GPU) enters the normal mode, so that the graphics processing unit (GPU) can exert full performance to share the load of the central processing unit (CPU). When the computer system detects that the central processing unit (CPU) is in a low-load state, the computer system will automatically turn off the stream processor (Stream Processor) inside the graphics processing unit (GPU), for example, turn off 32 stream processors Stream Processor enables the graphics processing unit (GPU) to enter an energy-saving mode. In this way, considerable power consumption can be saved without affecting the performance of the graphics card for processing data. In addition, the computer system can determine the workload of the stream processor (StreamProcessor) in the graphics processing unit (GPU) according to the temperature of the graphics processing unit (GPU). For example, when the computer system detects that the temperature of the graphics processing unit (GPU) is higher than a certain value, which means that the graphics processing unit (GPU) is under high load, the computer system will automatically turn on the graphics processing unit (GPU). All 64 stream processors (StreamProcessor) in the GPU) and make the graphics processing unit (GPU) enter the normal mode, so that the graphics processing unit (GPU) can play full performance. When the computer system detects that the temperature of the graphics processing unit (GPU) is lower than a certain value, it means that the graphics processing unit (GPU) is under low load at this time, and the computer system will automatically shut down the internal parts of the graphics processing unit (GPU). Stream Processor (Stream Processor), for example, turn off 32 Stream Processors (Stream Processor) and make the graphics processing unit (GPU) enter the energy-saving mode, so that, without affecting the performance of the graphics card to process data, save considerable power consumption.
由以上可知,借由使用者手动的设定或是计算机系统自动的检测,本发明的图形处理器(GPU)可开启全部的串流处理器(Stream Processor)使其操作于正常模式,或是关闭部分的串流处理器(Stream Processor)使其操作于节能模式,而达成本发明的图形处理器(GPU)具有动态节能功能。As can be seen from the above, by means of manual setting by the user or automatic detection by the computer system, the graphics processing unit (GPU) of the present invention can turn on all the stream processors (Stream Processor) to operate in the normal mode, or Turning off part of the stream processor (Stream Processor) makes it operate in an energy-saving mode, and the graphics processing unit (GPU) of the present invention has a dynamic energy-saving function.
此外,本发明虽以计算机系统是否正处理3D多媒体程序、中央处理器(CPU)是否处于高负载、或是图形处理器(GPU)的温度是否高于一特定值为例,作为图形处理器(GPU)是否进入节能模式的机制,但并不限于此三种机制,其它现有用以判定图形处理器(GPU)是否进入节能模式的机制,也可适用于本发明。In addition, although the present invention takes whether the computer system is processing 3D multimedia programs, whether the central processing unit (CPU) is under high load, or whether the temperature of the graphics processing unit (GPU) is higher than a specific value as an example, as a graphics processing unit (GPU) The mechanism of whether the GPU enters the energy-saving mode is not limited to these three mechanisms. Other existing mechanisms for determining whether the graphics processing unit (GPU) enters the energy-saving mode are also applicable to the present invention.
此外,本发明的图形处理器(GPU)所采用的动态节能技术,若能与其它现有的节能方法(如降低图形处理器的工作频率或操作电压)搭配,将更能降低显卡的电力消耗。In addition, if the dynamic energy-saving technology adopted by the graphics processing unit (GPU) of the present invention can be combined with other existing energy-saving methods (such as reducing the operating frequency or operating voltage of the graphics processor), the power consumption of the graphics card will be further reduced .
综上所述,虽然本发明已以优选实施例公开如上,然而其并非用以限定本发明,任何本领域普通技术人员,在不脱离本发明的精神和范围内,当可作各种更动与润饰,因此本发明的保护范围当视权利要求所界定的范围为准。In summary, although the present invention has been disclosed above with preferred embodiments, it is not intended to limit the present invention. Any person skilled in the art may make various changes without departing from the spirit and scope of the present invention. and retouching, so the protection scope of the present invention should be determined by the scope defined in the claims.
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN2008100998775ACN101281639B (en) | 2008-05-30 | 2008-05-30 | Method for controlling operation mode of graphics processor and graphics processor |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN2008100998775ACN101281639B (en) | 2008-05-30 | 2008-05-30 | Method for controlling operation mode of graphics processor and graphics processor |
| Publication Number | Publication Date |
|---|---|
| CN101281639Atrue CN101281639A (en) | 2008-10-08 |
| CN101281639B CN101281639B (en) | 2010-06-09 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN2008100998775AActiveCN101281639B (en) | 2008-05-30 | 2008-05-30 | Method for controlling operation mode of graphics processor and graphics processor |
| Country | Link |
|---|---|
| CN (1) | CN101281639B (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106137235A (en)* | 2016-07-26 | 2016-11-23 | 中国科学院深圳先进技术研究院 | C-arm X-ray machine, control system and medical image system |
| WO2017008474A1 (en)* | 2015-07-15 | 2017-01-19 | 京东方科技集团股份有限公司 | Image display method and display system |
| CN108121433A (en)* | 2017-12-06 | 2018-06-05 | 中国航空工业集团公司西安航空计算技术研究所 | A kind of method for scheduling task of GPU multicomputer systems |
| CN111930216A (en)* | 2020-07-27 | 2020-11-13 | 长沙景嘉微电子股份有限公司 | GPU power consumption control method, device, processing system and storage medium |
| WO2021077263A1 (en)* | 2019-10-21 | 2021-04-29 | 深圳市欢太科技有限公司 | Power consumption log processing method and apparatus, electronic device, and storage medium |
| CN114996179A (en)* | 2022-08-01 | 2022-09-02 | 摩尔线程智能科技(北京)有限责任公司 | Graphics processor assisted management system and method |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7256788B1 (en)* | 2002-06-11 | 2007-08-14 | Nvidia Corporation | Graphics power savings system and method |
| US7730335B2 (en)* | 2004-06-10 | 2010-06-01 | Marvell World Trade Ltd. | Low power computer with main and auxiliary processors |
| CN200959110Y (en)* | 2006-08-08 | 2007-10-10 | 杨帅 | Dual GPU Alternate Co-Working Laptop |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2017008474A1 (en)* | 2015-07-15 | 2017-01-19 | 京东方科技集团股份有限公司 | Image display method and display system |
| US10037070B2 (en) | 2015-07-15 | 2018-07-31 | Boe Technology Group Co., Ltd. | Image display method and display system |
| CN106137235A (en)* | 2016-07-26 | 2016-11-23 | 中国科学院深圳先进技术研究院 | C-arm X-ray machine, control system and medical image system |
| CN108121433A (en)* | 2017-12-06 | 2018-06-05 | 中国航空工业集团公司西安航空计算技术研究所 | A kind of method for scheduling task of GPU multicomputer systems |
| CN108121433B (en)* | 2017-12-06 | 2021-10-15 | 中国航空工业集团公司西安航空计算技术研究所 | Task scheduling method of GPU (graphics processing Unit) multiprocessor system |
| WO2021077263A1 (en)* | 2019-10-21 | 2021-04-29 | 深圳市欢太科技有限公司 | Power consumption log processing method and apparatus, electronic device, and storage medium |
| CN111930216A (en)* | 2020-07-27 | 2020-11-13 | 长沙景嘉微电子股份有限公司 | GPU power consumption control method, device, processing system and storage medium |
| CN114996179A (en)* | 2022-08-01 | 2022-09-02 | 摩尔线程智能科技(北京)有限责任公司 | Graphics processor assisted management system and method |
| Publication number | Publication date |
|---|---|
| CN101281639B (en) | 2010-06-09 |
| Publication | Publication Date | Title |
|---|---|---|
| US10747286B2 (en) | Dynamic power budget allocation in multi-processor system | |
| TW200949755A (en) | Method of controlling operation mode of graphic processing unit | |
| US11533683B2 (en) | Advanced graphics power state management | |
| US11443406B2 (en) | High-speed resume for GPU applications | |
| US11574382B2 (en) | Programmable re-order buffer for decompression | |
| RU2481615C2 (en) | Technologies for control of supply energy use | |
| CN101281639B (en) | Method for controlling operation mode of graphics processor and graphics processor | |
| US20210263766A1 (en) | Concurrent workload scheduling with multiple level of dependencies | |
| US20150178879A1 (en) | System, method, and computer program product for simultaneous execution of compute and graphics workloads | |
| US10802967B1 (en) | Partial write management in a multi-tiled compute engine | |
| US11935151B2 (en) | Switchable image source in a hybrid graphics systems | |
| DE112018005527T5 (en) | AUTOMATICALLY AWAKENING PERFORMANCE DOMAINS FOR GRAPHIC CONFIGURATION REQUIREMENTS | |
| US10699369B2 (en) | Intelligent memory DVFS scheme exploiting graphics inter-frame level correlation | |
| US10853989B2 (en) | Coarse compute shading | |
| DE102020113789A1 (en) | ASYNCHRONOUS EXECUTION MECHANISM | |
| Chu et al. | An energy-efficient unified register file for mobile GPUs | |
| US11127106B2 (en) | Runtime flip stability characterization | |
| US20230185623A1 (en) | Method of task transition between heterogenous processors | |
| EP3907606A1 (en) | Compaction of diverged lanes for efficient use of alus | |
| CN102841808B (en) | Efficiency improving method of computer system and computer system thereof | |
| US12430804B2 (en) | Memory allocation technologies for data compression and de-compression | |
| Chang et al. | Energy-saving techniques for low-power graphics processing unit | |
| US20200175643A1 (en) | High vertex count geometry work distribution for multi-tile gpus | |
| Amaya | Graphics and Multimedia CS 203 Final Project Ulises Amaya, Paul DiLorenzo, Anna Majkowska | |
| CN101908200A (en) | Drawing processing system and method with power gate control function |
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C14 | Grant of patent or utility model | ||
| GR01 | Patent grant |