On Saturday, October 1, 2022 at 9:19:23 AM UTC-7, MitchAlsup wrote:
> On Saturday, October 1, 2022 at 11:14:12 AM UTC-5, Thomas Koenig wrote:
> > Marcus <
m.de...@this.bitsnbites.eu> schrieb:
> <
> > What is the age of dark silicon? It has a nice ring to it, but I'm
> > not quite sure what you mean.
> <
> Dark silicon is silicon area that is present but has to be powered down
> because if you simply leave it powered up all the time it consumes too
> much energy, blowing your power budget/rating.
> <
Not saying that's wrong, but I can speak to a slightly different usage in my experience (maybe a more optimistic view? :) )
In the old days, gates were the limiting factor, so we designed a smaller number of circuits that were highly flexible. Today, in most cases, power is the limiting factor, so we increasingly find ourselves adding fixed-function units, only "lighting them up" when needed. Fixed logic is more efficient than general purpose, ie an ASIC beats a CPU.
A classic example would be video encoder/decoder in every GPU now. But honestly, if you step back, you can argue that we've been on this road a long time (old-school 3D accelerators, AES-NI, even FPUs are all about adding more efficient single-purpose HW that is only used when a particular function is needed).
I only started hearing "dark silicon" ~8 years back, when it became clear that we probably should, for example, add 30% die area for a feature that is rarely used. Over the lifetime of the chip, the silicon is say 20% of total cost of ownership, with power being most of the rest. That 30% die area feature is what we'd call "dark silicon". When you consider that fixed function HW is often 10-100X more efficient than a SW implementation, you can imagine that it makes sense to include such HW even if it only runs say 10-20% of your overall workload. 20% * 30% means the function added ~6% to your cost, and it's going to take 10-20% of your work and do it 10-100X more efficiently.
In other words it IS TRUE what Mitch said, that you can't keep all this logic powered on at the same time, so you have to turn some off. Just pointing out it's often "by design" ... not "a shame" ... we could always turn the whole chip on at once, at lower clocks, it just doesn't work as well that way...
(There's also the fact that, if you're willing to separately test that 30% feature, you can sell a version of your chip without it, and get a decent number of partially functional dies "for free" instead of just throwing them out)
(There's also maybe something to be said about chiplets here, and how they enable late-binding decisions on which "30% functions" to drop into the package)
BTW sorry to bump a semi-necro thread, I just rediscovered comp.arch today, and I'm tickled pink that a forum exists where people are talking good nitty gritty computer stuff. I'm a long term chip guy myself, so pleased to meet and respect to you all !!!
-Simon Sabato