Intel GMA
From Wikipedia, the free encyclopedia
The Intel Graphics Media Accelerator, or GMA, is Intel's current line of graphics processors (GPU's) built-in to various motherboard chipsets. These "integrated graphics" solutions allow a computer to be built without a separate graphics card, which can lead to dramatically lower overall costs. GMA chipsets are commonly found on low-end machines and laptop computers. The GMA line of GPUs replaces the earlier Intel740 line, which were discrete units in the form of AGP cards.
GMA systems use the computer's main memory for storage, which imposes a serious performance penalty as both the CPU and GPU have to access memory over the same "pipes". In order to reduce the performance hit, the GMA series uses tile based rendering, which aims to ensure that only pixels that will end up on-screen will flow through the rendering pipeline. The advantage of this approach does not appear to be visible in the performance of the GMA. Additionally, GMA systems generally support only a few functions in hardware, and rely on the host CPU to handle at least some of the graphics pipeline, further decreasing performance. GMA performance has been widely criticised as being too slow to run computer games released at the same time as the chips, and are generally only useful for non-gaming tasks.
Despite similarities, GMA is not based on the PowerVR technology Intel licensed from Imagination Technologies. Intel uses the low-power PowerVR MBX designs in chipsets that support their XScale platform. With the sale of XScale in 2006, it is not clear if Intel will continue to use PowerVR systems with their x86-based XScale replacements.
Contents |
[edit] Variations
[edit] GMA 900
The GMA 900 was the first GMA chipset produced, and was incorporated in the Intel 910G, 915G, and 915Gx chipsets. Versions of these same chipsets without GMA dropped the "G" from the end of their name. The GMA 900 was basic even by contemporary standards, and lacks support for Hardware Transform and Lighting (T&L), emulating this functionality in software.
The GMA 900 has four pixel pipelines running at a core clock rate of 333 MHz, and a RAMDAC at 400 MHz. This allows it a peak pixel fillrate performance of 1333 MPixel/s. Although this is a reasonable rate, comparable to contemporary mid-range cards, the lack of T&L support means that some games running on the GMA 900 will do so slowly.
The GMA 900 also offered hardware support for MPEG-2 video decoding, color-space conversion and DirectDraw overlay.
Mobile chipsets based on GMA 900 core have 2 different core speeds, which are documented as 2D Display core and 3D Render core. To further complicate matters, certain core speed settings are only available in specific CPU front side bus, memory speed, core voltage combinations.
[edit] GMA 950
The GMA 950 was Intel's second-generation GMA GPU, used on the Intel 940GML, 945G series, 945GT chipsets. Most of the changes related to video decoding, adding support for VLC, iDCT, hardware motion-compensation, and dual video overlay windows (1 HD + 1 SD). The core clock was bumped slightly to 400 MHz, which increased peak pixel fill rates to 1600 MPixel/s. The 950 has more video memory than the 900. The 900 only has up to 128MB (Integrated) and so does the ATI Xpress 200 but the 950 has up to 224MB (Integrated), however, even with the extra RAM the 950 is no match for the ATI Xpress 200, because of its lack in Hardware Transform and Lighting technology, the 950 is unable to handle most 3D or graphics intensive applications. The 950 will run most older games perfectly, which does not require a Hardware T&L or simply need a soft rendering of T&L. The 950 outperforms the GMA 900 but falls behind the ATI Radeon Xpress 200. It is the perfect integrated graphics for watching movies or basic applications, but it is not designed for heavy 3D applications such as video editing and gaming.
Some confusion made between GMA 900 and GMA 950 is that they both support the same Vertex Shader version 2.0, while in reality GMA 950 supports version 3.0. This is also supported by the fact GMA 950 nearly doubles the 3D Mark 2005 score achieved by the GMA 900.[1]
Another version of the GMA 950 with a slower 250 MHz core clock was released as the Mobile GMA 950, used on the Intel i945GM chipset. The lower clock rate used less power and generated less heat, but the system was otherwise identical. Mobile cores retained the split core speeds found in earlier generations, but available core speeds for a given chipset no longer depends on CPU front side bus or memory speed.
Intel 945GT is a desktop variant of the Mobile Intel 945G, which retains the split core speeds, but render and display cores run at 400MHz and 320MHz respectively.
The High Definition Video and Audio makes this type of Integrated Graphics
Follow this link to find out more information about the GMA 950: http://www.intel.com/products/chipsets/gma950/
[edit] GMA X3000
The GMA X3000 represents a dramatic architectural change from previous GMA iterations. The X3000 adds hardware T&L units, pixel shaders, vertex shaders and WMV9 (VC-1) video acceleration. Intel claims the X3000 is Shader Model 3 compliant, and meets Microsoft's GUI requirements for Vista Aero Premium. Intel has released production version drivers for 32-bit and 64-bit Windows Vista that enable the Aero style.
X3000's underlying hardware is organized as an array of programmable (unified) pipelines. Each pipeline can process video, vertex, or texture operations. A central scheduler dynamically dispatches threads to pipeline resources, to maximize rendering throughput (and decrease the impact of individual pipeline stalls.) As each pipeline is fully programmable, in theory X3000 can target either DirectX 9 or DirectX 10, determined by operating system and device driver.
The X3000 architecture contrasts strongly with common external GPUs, like those from ATI or nVidia. In these systems the different functions are handled by different types of pipelines; one type to handle T&L or vertex shaders, another for pixel shaders, and ones for texturing. Cards feature a selection of pipelines the designer feels will meet the needs of most applications, for instance the low-end ATI X1300 normally includes two vertex processors, four texture processors, and four shader pipelines.
In contrast, the X3000 uses a single type of pipeline that can be used for any of these tasks. The central dispatcher decides what each pipeline should be handling at any given moment, and can re-balance as required. In theory this means the X3000 can handle a wider array of workloads than GPUs that have a fixed number of single-pipelines.
X3000 is offered in several chipsets, targeting different market segments:
In the top-end G965 the X3000 offers 8 full-featured unified pipelines running at 667 MHz. This is a quite high clock speed compared to most GPUs, which are generally between 400 MHz (low-end) and 667 (high-end). In comparison to fixed function, Intel datasheets indicate 2 pixel pipeline, for total of 1.33Gpixels/s(how the unified shaders are used are mystery at this point). It can also share up to 384MB of RAM with the computer's CPU. Digital Video Out (DVO) port is boosted to 270 Mpixel/s. Dual independent display is supported via device connected to DVO port.
Early performance tests show the X3000 to be quite a bit slower than the GMA 950, but are incorrectly interpreted, as there exist no public Windows drivers that makes use of all the X3000 hardware features; the tests showed an older driver falling back to software rendering [2].
[edit] GMA 3000
The Q965 and Q963 chipsets use a cut-down version of the GMA X3000 in the G965 called GMA 3000. The 3000 is similar to the GMA 950 in that Vertex Shaders and T&L are run by CPU, and only supporting Pixel Shader 2.0. Hardware video acceleration such as IDCT MPEG-2 acceleration, ProcAmp (video stream independent colour correction), VC-1 decoding are missing, but they could have been implemented in drivers as pixel shader programs. Only Q965 retains dual independent display support.
The 946GZ chipset also includes an IGP likewise dubbed the GMA 3000. Early reports based on engineering samples suggested that 946G is simply a 90nm die shrink of the 945G, and its GMA 3000 is only an overclocked GMA950 to 667 MHz[1]. However, Intel 946GZ datasheet showed it is the same GMA 3000 used in Q963, which has the faster DVO port, and without dual independent display support.
A mobile version is planned for the Santa Rosa platform (Q2 2007.) It will be clocked at 400 MHz to save power and reduce heat.
[edit] Modern Gaming
Because many of the features of these cards rely on software emulation, this can lead to 3D performance issues (slow vertex shaders) and incompatibility with some games. The coming of the GMA X3000 will seek to remedy these problems with full hardware support for modern gaming architecture.
Intel, not oblivious to these problems has put up a page with 'Known Issues & Solutions':
- For Intel Graphics Media Accelerator 900: http://www.intel.com/support/graphics/intel915g/
- For Intel Graphics Media Accelerator 950: http://www.intel.com/support/graphics/intel945g/
- For Intel Graphics Media Accelerator X3000: http://www.intel.com/support/graphics/intelg965/
[edit] Tradition of Open Drivers
In August 2006, Intel added support to the open-source Xorg/XFree86 drivers for the latest 965 series that include the GMA (X)3000 core.[2] These drivers were developed for Intel by Tungsten Graphics [3].
Intel has had a long history of producing or commissioning open source drivers for its graphics chips, with all chipsets dating back to the i810 having open 2d and 3d drivers for Linux.
As is common for X.org drivers on Linux, the license is a combination of GPL (for the Linux kernel parts) and MIT (for all other parts) [3]. However, the driver source contains references to a currently-unavailable binary HAL named "intel_hal.so". It is entirely optional, and the advantages are not clear - ostensibly they are increased performance and/or additional features. References in the open source code indicate that it contains or contained (at least) Macrovision support and some minor, optional 3D optimization routines. Calls to the Macrovision code inside the HAL were later removed from the 2D driver.[4] [5]
Currently, the only distibution that supports the x3000 out of the box is Fedora Linux.
[edit] References
- ^ 3DMark comparisons
- ^ x3000 bm exp
- ^ Open Source Graphics Drivers from Intel — Licence
- ^ LKML thread about intel_hal.so
- ^ xorg ML thread about intel_hal.so
[edit] External links
- http://www.intel.com/design/graphics/gma900/
- http://www.intel.com/products/chipsets/gma950/
- http://www.intel.com/products/chipsets/gma3000/gma3000.pdf
- http://www.intel.com/design/chipsets/applnots/313343.htm
- http://www.intel.com/support/graphics/sb/CS-023606.htm
- http://www.beyond3d.com/forum/showthread.php?t=32643
- http://www.beyond3d.com/forum/showthread.php?t=32582
[edit] Hardware details
T/L support: Software based (no Hardware T&L Support)
Clock speed: 250 MHz
Pixel Pipelines: 4
TMU Per Pipeline: 1
Vertex Shaders: 1 (v3.0) (software)
Pixel Shaders: 4 (v2.0) (hardware)
Pixel Fillrate: 1000 MPixel/s
Texel Fillrate: 1000 MTexel/s
OpenGL: Yes. v.1.4 with enhanced lighting
DirectX (hardware): Yes. v.9.0c
RAMDAC clock : 400 MHz
Video: MPEG-2 VLC, iDCT, and hardware motion-compensation, dual video overlay windows (1 HD + 1 SD)
[edit] Intel® Graphics Media Accelerator 900
T/L support: Software based (no Hardware T&L Support)
Clock speed: 333 MHz
Pixel Pipelines: 4
Pixel Fillrate: 1333 MPixel/s
Vertex Shaders: 1 (v2.0) (software)
Pixel Shaders: 4 (v2.0) (hardware)
OpenGL: Yes. v.1.4
DirectX (hardware): Yes. v.9.0
RAMDAC clock : 400 MHz
Video: hardware motion compensation (for MPEG-2 video), color-space conversion, DirectDraw overlay.
[edit] Intel® Graphics Media Accelerator 950
T/L support: Software based (no Hardware T&L Support)
Clock speed: 400 MHz
Pixel Pipelines: 4
Vertex Shaders: 1 (v3.0)* (software)
Pixel Shaders: 4 (v2.0) (hardware)
Pixel Fillrate: 1600 MPixel/s
OpenGL: Yes. v.1.4 with enhanced lighting
DirectX (hardware): Yes. v.9.0
RAMDAC clock : 400 MHz
Video: MPEG-2 VLC, iDCT, and hardware motion-compensation, dual video overlay windows (1 HD + 1 SD)