GPUs and different clock domains

Techno+

Regular
hello

Just a small question. Is it easier for the designer to clock all the various parts of the GPU at the same clock speed, or is it easier to introduce different clock domains, for example, the Geforce 800GTX from nvidia has the shaders clocked at 1.35 ghz and the rest of the chip at 575 mhz ( or 550 cant remember), and does the same apply for the clocks of the CPU and in die GPU?

Thanx a lot
 
As a general rule, it is substantially "easier" for the chip designer to keep everything within the same clock domain. Different domains means that resynchronization circuits are needed, increasing design complexity and adding potential new sources of nasty, difficult-to-reason-about defects (much like multithreaded software programming and 3d graphics antialiasing, the field of resyncronization circuits is rife with creative and ingenious solutions that fail for logical but non-obvious reasons).

Having multiple clock domains allows for a wider space of clock speed VS area VS power tradeoffs, which Nvidia apparently felt was valuable enough to add the extra complexity for.
 
hello

Just a small question. Is it easier for the designer to clock all the various parts of the GPU at the same clock speed, or is it easier to introduce different clock domains, for example, the Geforce 800GTX from nvidia has the shaders clocked at 1.35 ghz and the rest of the chip at 575 mhz ( or 550 cant remember), and does the same apply for the clocks of the CPU and in die GPU?

Thanx a lot

All other things equal, one clock domain is easier as Arjan pointed out.

But other things are never equal.

The additional difficulty of introducing multiple clock domains is trivial compared to designing high speed logic. So if you're planning for >1GHz clocks, adding multiple clock domains will make the design process easier because now you only have to optimize the parts of the design for which speed matters instead of the whole chip.

Let's say it this way: if adding clock domains increases your design time by 10% (and if you have the right infrastructure that's pessimistic), going from just a bit of logic running at 1.5 GHz to running everything at 1.5 GHz will increase your design time by 2, if not more.

It's an easy decision then.;)

We're designing chips with >40 different clock domains, which is common in the telecom world. It's really not a big deal.
 
So I conclude form what u guys said that including different clock domains into the design isnt that difficult, but the designer should see if including different clock domains increases performance
 
Back
Top