Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Yes!

And, by a lot.

A huge portion of the power a CPU consumes is simply due to the clock running which is why modern CPUs go through tremendous efforts to disable circuits not in use and lower the clock speed when the CPU is idle.

However, imagine if we didn't have a clock at all. If, instead, the only thing that caused CPU transistors to switch was new instructions being executed.

In that world, the only time CPUs would consume any power is gate leaks and when the CPU is actually doing stuff. That would translate in extremely low power draw.

Performance would also be way up. Data would mainly be constrained by switching speed, which can be super fast. Today, data speed is mostly constrained by how big the largest section of the pipeline is and how fast the clock moves.

So why don't we do this today? Mostly because the entire industry is built around synchronous (with a clock) CPU design. Switching to an async design would be both super difficult (lack of tools to do so) and very different from the way things work now. Just like parallel programming is very hard, async circuit design requires a large amount of verification that we just lack. Further, HDLs are simply not well built.. but also not well built for async.

Async circuitry usually requires more transistors and more lines. That, however, isn't really a problem anymore. Today, the vast majority of transistors in a modern CPU are spent not on logic, but on the cache.

It'd be super expensive to adopt. It would be totally worth it. But I doubt we'll see it happen until AMD and Intel both completely stop at advancements.



I was in a startup trying to commercialise async technology back in 2002; we wound it back to just doing better clock gating and eventually sold out to Cadence.

It's not a silver bullet. It gives you maybe 30% less power? Gate leakage has been creeping upwards too, since there's a direct speed/leakage tradeoff.


Interesting.

There's been a few advances that have limited gate leakage (primarily finfets that I'm aware of). But it is still there.

I agree though, not a silver bullet. It would buy one generation of power gains and performance.

Marketing wouldn't like it either because clock speed has so often been used to sell CPUs.

I'm also not sure how much modern CPUs can incrementally add async rather than having a groud up redesign and if that would get them close to the same power gains. Already, modern CPUs have impressive latencies for most instructions.

Real gains, though are somewhat unkowable. If I were to guess, the first place we'll see an async CPU will be mobile. After that happens, we should have a much clearer picture of the real gains it grants.


Twenty years ago my supervisor had one of these: https://en.wikipedia.org/wiki/AMULET_microprocessor

There was apparently (I didn't see it) a neat demo where you could run a live benchmark and spray freeze spray on the processor, which would cause it to speed up, since the propagation delay was inherently dependent on gate temperature.

I don't expect to see it commercialised any time soon. Too much retraining and retooling required.


> One very notable feature due to the asynchronous design is the drop of power dissipation to 3 μW when not in use

That's impressively low power!

I wasn't aware that AMULET was a thing. Neat to see that someone put the effort into making an async CPU.

I had heard from one of my professors that Intel tried the same thing with a Pentium 1 and ultimately gave up due to poor tooling. (I don't know the exact timeframe of this, but I believe it was around the P2 or P3.)


Sort of - today's synchronous low power MCUs can achieve better. First Google hit for me: https://www.st.com/en/microcontrollers-microprocessors/stm32...

.. gives me 0.34uA for a 32 bit cortex m4.


The wiki says they are ARM-based. Doesn't this mean all you need to do is to recompile?


Yes. When I said "Too much retraining and retooling required", I meant on the IC design side. An AMULET user would see nothing unusual about the processor apart from uneven execution speed.

(If you're worried about side-channel attacks, you definitely don't want asynchronous technology as it's going to leak data-dependent timing information!)


This is a very interesting perspective. The evident benefit of async helps us see a world/civilization where indeed computing is pervasive to a much, much deeper/higher degree.

Positive note: it could certainly help take silicon-based electronics further in a resource-starved world; it could/should also simply be part of the paradigm of the next thing if it comes soon enough — photo-hype, buzz-ristors, whatever tech wins.

(Thanks for an uplifting glimpse at the "TO DO" list of humanity, and one more spark of interest as a programmer!)


This actually seems like it would be somewhat ideal for many web servers, where in a large number of cases the only interesting things going on are in response to events.





Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: