Electrical computers and digital processing systems: support – Clock – pulse – or timing signal generation or analysis – Multiple or variable intervals or frequencies
Reexamination Certificate
1999-03-19
2002-05-28
Heckler, Thomas M. (Department: 2185)
Electrical computers and digital processing systems: support
Clock, pulse, or timing signal generation or analysis
Multiple or variable intervals or frequencies
Reexamination Certificate
active
06397343
ABSTRACT:
FIELD OF THE INVENTION
The field of the present invention pertains to the processing of graphics commands within the graphics subsystem of a computer. More particularly, the present invention relates to an apparatus for dynamically adjusting the clock rate of the graphics subsystem in a digital computer to control the overall system heat and noise output.
BACKGROUND OF THE INVENTION
Digital computers are being used today to perform a wide variety of tasks. Many different areas of business, industry, government, education, entertainment, and most recently, the home, are tapping into the enormous and rapidly growing list of applications developed for today's increasingly powerful computer devices. Computers have also become a key technology for communicating ideas, data, and trends between and among business professionals.
The use of graphics computer systems for the graphical depiction of information, and other types of “visual computing” which present data to the user visually, represent one of the more compelling applications of computer graphics. Graphics have also become a key technology for communicating ideas, data, and trends in most areas of commerce, science, and education. For example, real time user interaction with three dimensional (3D) models and pseudo-realistic images is now feasible on high-performance workstations. These workstations contain dedicated, special purpose graphics hardware. The progress of semiconductor fabrication technology has made it possible to do real time 3D animation, with color shaded images of complex objects, described by thousands, and often millions, of polygons, on powerful dedicated rendering subsystems. The most recent and most powerful workstations are capable of rendering completely life-like, realistically lighted, 3D objects and structures.
In a typical 3D computer generated object, the 3D object is typically described by bounding surfaces, possibly combined with topology and other attributes of the objects describing the data model. Surfaces are typically represented by graphics “primitives” such as triangles, polygons or polyhedra. These primitives define the shape of the object and simplify the process of rendering. Other object attributes, such as connectivity or topology can also ease the rendering process by describing how objects fit together. Primitives are typically shaded, Z-buffered, and textured onto an array of pixels, during the rendering process which yields a realistic 3D image.
In a typical graphics computer, most of the actual rendering computation is performed by a graphics subsystem included within the computer. The 3D object data models are “traversed” by a software program (e.g., in response to user input to change viewing position) running on one or more processors in a processor subsystem within the graphics computer. The primitives describing the 3D object are processed by the processor subsystem and sent to the graphics subsystem for rendering. For example, a 3D polygonal model of an object is sent to the graphics subsystem as contiguous strips of polygons, sent to the graphics subsystem as a graphics data stream (e.g., a list of primitives, rendering commands, instructions, etc.). Using this information, the graphics subsystem performs all the computational processing required to realistically render the 3D object. The hardware of the graphics subsystem is specially tuned to perform such processing quickly and efficiently in comparison to the CPU (central processing unit) subsystem, however, it may utilize the CPU or CPU's as part of the rendering process.
To facilitate fast and efficient graphics processing, typical graphics subsystems are deeply pipelined, including many different stages for processing graphics data and commands. The large number of stages are sequenced and linked such that at any given instant, several data items or commands are being processed. Each stage is optimized to perform specific task. When it completes its task, another graphics command or data item is ready for processing. A modern, deeply pipelined, graphics processing subsystem can run at clock speeds of 266 MHz or more, processing enormous amounts of data.
However, even these clock speeds are often not sufficient for the most demanding 3D applications currently being envisioned. Such applications require the traversal of very large data models and the generation, display, and interaction with highly complex 3D objects, often in real-time. A partial list of such applications include the generation of special effects for movies, real-time engineering design and simulations, weather prediction, high fidelity virtual reality, computational fluid dynamics, medical diagnostic imaging, etc. As graphics computer systems become more powerful, the applications in which they are used proliferate, prompting the need for yet more graphical computing power.
One of the methods used by designers to increase graphics software execution speed is to increase the graphics subsystem “clock speed.” Clock speed refers to the rate at which the graphics subsystem steps its way through the individual software instructions. With many graphics subsystem designs, one or more instructions are executed per clock cycle. Increasing the number of clock cycles per second directly increases the number of instructions executed per second. Modern graphics subsystem's often are “clocked” in excess of 200 MHz and execute many millions of instructions (e.g., interpolations, transformations, etc.). Graphics applications which run on computer devices using such graphics subsystems perform much better. Thus, computer designers set the graphics subsystem clock frequency as fast as possible.
Graphics subsystem clock frequency, however, as with the CPU subsystem clock frequency, cannot be increased without limit. If a graphics subsystem is clocked at too high a rate, excessive power consumption occurs, leading to overheating of the components of the graphics subsystem. Over heating leads to computational errors, unpredictable graphics subsystem behavior, or even physical destruction of one or more of the components of the graphics subsystem. Thus, the primary limiting factor to higher clock speeds is the fact that the higher speeds also lead to higher power consumption, and the high power consumption leads to high heat levels. The problem is exacerbated as more and more graphics functions are being integrated into smaller and smaller semiconductor dies, often having many millions of transistors. The need to the efficiently dissipate increasingly large amounts of heat becomes even more acute.
Thus, increasing the graphics power of the computer systems by increasing the clock speed leads to increasing power dissipation problems. Typical prior art solutions involve the use of elaborate heat dissipation mechanisms. Such mechanisms include, for example, the mounting of large, dedicated heat sinks directly onto the graphics processing chips, the use of large enclosures to increase air circulation around the graphics components, the use of large combination heat sink/fans, or even in some cases, the use of elaborate and sophisticated liquid cooling systems.
The above methods each have associated disadvantages. For example, in the case of the incorporation of a combination heat sink/fan, the fan adds additional noise to the operation of the system. This noise may prove unacceptable to system users. The additional heat sink (being additional to the respective heat sinks coupled to the one or more microprocessors) also adds size constraints to the design of the system enclosure. In the case of sophisticated active cooling schemes (e.g., liquid cooling), the added complexity adversely impacts the reliability of the computer system and significantly adds to the system's cost, as well as cost of placement and maintenance, etc.
Other types of prior art methods for handling power consumption and heat dissipation involve the “selective” shut down of system components or subsystems. One such method involves placing an entire computer system into a “sleep” mode
Cheng Philip
Williams Ian M.
No associations
LandOfFree
Method and system for dynamic clock frequency adjustment for... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method and system for dynamic clock frequency adjustment for..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and system for dynamic clock frequency adjustment for... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2879417