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 “Extreme Graphics”, Intel’s first series of integrated graphics chips, and 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[citation needed].

The original architecture of GMA systems supported only a few functions in hardware, and relied on the host CPU to handle at least some of the graphics pipeline, further decreasing performance. However, with the introduction of Intel’s 4th generation of GMA architecture in 2006, many of the functions are now built into the hardware, providing an increase in performance. The 4th generation of GMA combines fixed function capabilities with a threaded array of programmable executions units, providing advantages to both graphics and video performance. Many of the advantages of the new GMA architecture come from the ability to flexibly switch as needed between executing graphics-related tasks or video-related tasks. While GMA performance has been widely criticized in the past as being too slow for computer games, the latest GMA generation should ease many of those concerns for the casual gamer. However hard-core gamers still look to discrete graphics options for their needs.

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 graphics core 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 is Intel's second-generation GMA graphics core. It is used on the Intel 940GML, 945G series, 945GT chipsets. Most of the changes relate 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), whereas the 950 has up to 224MB (Integrated). The 950 was created with Microsoft Windows Vista's Aero interface kept in mind and will easily run Vista Premium. The 950 lacks Hardware Transform and Lighting technology, which reduces performance for many 3D graphics applications. The 950 will perfectly run most older games that do not require a Hardware T&L. The 950 outperforms the GMA 900 but falls behind the ATI Radeon Xpress 200. It is easily adequate for 2D applications such as watching movies and basic 3D applications, but less suitable for high-end 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.

For Intel GMA Software Development concerns, questions may be made at http://softwareforums.intel.com/ISN/Community/en-US/Forums/ in the Integrated Graphics Software Development Forum.

[edit] GMA 3000

The Q965 and Q963 chipsets use GMA 3000. This is a cut-down version of the GMA X3000, as used in the G965 chipset. 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] 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 graphics.

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. This design is consistent with the DirectX 10 generation of video cards from ATI and nVidia, which also utilize unified 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 pipelines, for total of 1.33Gpixels/s (how the unified shaders are used is a 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.

[edit] Comparison of GMA graphics cores and chipsets

Graphics core GMA 900 GMA 950 GMA 3000 GMA X3000
Chipset 910GL, 915G, 915GL, 915GV 945G, 945GZ Q963 Express Q965 Express G965 Express
Hardware T&L no no no no yes
Clock speed (MHz) 333 400 667 667 667
Floating point operations / render target fixed point fixed point 16 and 32 bit floating point
Vertex shader model (hardware) 3.0
Pixel shader model 2.0 2.0 2.0 2.0 3.0
Pipelines 4 4
Peak memory bandwidth (GB/s) 10.6 10.6 12.8 12.8
Max dynamic video memory (MB) 128 224 256 256 384
OpenGL API support 1.4 1.4 + ARB extensions 1.4 + extensions 1.4 + extensions 1.5
DirectX API support 9.0 9.0 9.0c 9.0c 9.0c

[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 GMA Software Development concerns, questions may be made at http://softwareforums.intel.com/ISN/Community/en-US/Forums/ in the Integrated Graphics Software Development Forum.

[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) [4].

[edit] intel_hal.so

The driver source contains references to a currently-unavailable binary 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 binary were later removed from the 2D driver.[5] [6]

[edit] References

  1. ^ 3DMark comparisons
  2. ^ Intel Linux graphics web site
  3. ^ Tungsten Graphics web site
  4. ^ Open Source Graphics Drivers from Intel — Licence
  5. ^ LKML thread about intel_hal.so
  6. ^ xorg ML thread about intel_hal.so

[edit] See also

[edit] External links

In other languages