An on-die IGPAt the beginning of 2010, Intel was the first to integrate a graphics core onto a desktop processor with its Clarkdale range (dual core Core i3 and Core i5 CPUs), introduced in January 2010. Intel is extending this strategy with all 2nd generation Core series CPUs (SNB) introduced this month equipped with a graphics core.
The first big change comes in the fact that, in contrast to Clarkdale where Intel had stuck its IGP in the CPU packaging (an IGP engraved at 45 nm while the CPU was engraved at 32 nm), on Sandy Bridge the CPU and IGP are joined together on the same die and both are engraved at 32 nm. Power management is thus unified for both through the Power Control Unit. The PCU monitors overall energy consumption and adapts the Turbo modes for the CPU and IGP accordingly.
Better still, using the ring bus, as described higher up, the IGP uses the processor’s LLC when it judges it necessary to do so. Intel says that the graphics driver handles which data flows can use the cache and which can’t: textures and rendering buffers can, but geometric data can’t. In practice this would open the way to economising 50% of the bandwidth needed for 3D rendering.
To stop the LLC being completely monopolised by the IGP, Intel has put a limitation into place on the quantity of LLC that can be used by the IGP. This is fixed by default in the microcode for each model of CPU, but can be modified by Intel for some applications via the graphics drivers. In practice, Intel told us that on the versions with a big LLC cache (8 and 6 MB?), the limitation won’t kick in, leaving the CPU and IGP cores to fight it out for use of the cache. The limitation is however required for models with less cache (3 MB?).
In terms of the architecture, the Sandy Bridge IGP is basically the same as the previous generation, with up to 12 vec4 type execution units (EUs). We imagine, even if Intel doesn’t say so, that the GPU also still has four texture units and two ROP units. DirectX support has been extended from DX 10 to DX 10.1. Given the level of performance targetted, supporting the hardware innovations of DirectX 11 wasn’t a priority, especially as this API allows DX 10/10.1 components to benefit from the advantages of its new software structure.
Note also that although the Intel IGPs have hardware support to process the Vertex Shaders, Intel’s drivers have a software engine to process them on the CPU. This option is used on a case by case basis in the drivers according to a list pre-established by the manufacturer.
There have nevertheless been some changes in terms of the execution units that we reported at the IDF last September
. The larger register file, improved handling of complex branching and native support for a larger number of instructions.
An important choice Intel has made is to increase the number of fixed units wherever possible (3D part and video). This choice contrasts strongly with the choices made by AMD, for example, on its latest GPUs, where it’s tending to reduce the number of fixed units. This brings Intel a gain in terms of energy as fixed units have a better yield, but also in terms of drivers by reducing the impact of the driver on the processor. Note that there’s support for OpenGL in version 3.1, as well as OpenCL and DirectCompute 4.1.
HD 2000 and HD 3000
For Clarkdale, the previous generation, Intel used the same GPU (HD Graphics) clocked at different frequencies depending on the model (from 533 to 900 MHz). With respect to the new Sandy Bridge generation, Intel has made a different choice, going for two different GPUs, the HD 2000 and HD 3000. They differ by the number of EUs enabled on the GPU, 6 on the HD 2000 and 12 on the HD 3000.
The choices made in terms of which GPU (HD 2000 or HD 3000) is used is quite particular. On mobile it’s simple: all 2nd generation mobile Core CPUs get the HD 3000. Just the maximum clock varies depending on the model:
- Core i5 2520M, 2540M, Core i7 2620M, 2720QM, 2820QM, 2920XM: 1300 MHz
- Core i5 2410M, Core i7 2635QM: 1200 MHz
- Core i3 2310M, Core i7 2629M, 2630QM, 2649M: 1100 MHz
- Core i7 2647M: 1000 MHz
- Core i7 2617M: 950 MHz
- Core i7 2537M: 900 MHz
It’s difficult to see any clear logic here, though the last three processors on the list are ULVs, which justifies their lower GPU clocks.
On desktop, the HD 3000s are only available on K models, designed for overclocking, while the HD 2000s are used for all the other models. This is a curious choice to say the least because H67 motherboards (which have the video outs required for the use of the Sandy Bridge graphics part) wont’ allow you to change the cores’ Turbo multipliers, thus preventing overclocking. You can however change the graphics core Turbo multiplier. Intel explains this choice by saying that it wants to keep its HD 3000 for the highest end models. This doesn’t make sense to us.
Note that only on the Core i7 2600s (standard, S and K) can the IGP be clocked up to 1350 MHz. All the other desktop IGPs are clocked at 1100 MHz, except the Core i5 2500T, which is clocked at 1250 MHz! Intel has therefore been quite extreme in its segmentation.
In terms of platforms, H67 motherboards (like their mobile equivalents) support all the standard connectors including DVI, Display Port and HDMI. HDMI 1.4 is supported, providing for 3D Blu-ray. DVI is still only supported in single channel mode.