25 Years Ago: The First Asynchronous Microprocessor (2014)
authors.library.caltech.edu
authors.library.caltech.edu
> The 6180 processor was among the last of the great non-microcoded engines. Entirely asynchronous, its hundred-odd boards would send out requests, earmark the results for somebody else, swipe somebody else's signals or data, and backstab each other in all sorts of amusing ways which occasionally failed (the "op not complete" timer would go off and cause a fault). Unlike the PDP-10, there was no hint of an organized synchronization strategy: various "it's ready now", "ok, go", "take a cycle" pulses merely surged through the vast backpanel ANDed with appropriate state and goosed the next guy down. Not without its charms, this seemingly ad-hoc technology facilitated a substantial degree of overlap [...] [1]
I think it's fair to say it's harder to reason about async logic. And nearly all design tools are today oriented around clocked logic. So asynchronous designs have become very niche (and they were never mainstream). But the basic premise that it is more efficient, is probably true.
Async designs never really went anywhere for general-purpose computing, but I always thought it was a cool way of approaching the problem, especially from a power-consumption perspective. Even all the adaptive clock rate stuff in modern CPUs doesn't quite do what those async chips could.
Edit: oh wow, I actually just found some of my old coursework files from ECE574 from the spring of 2002, complete with some CHP that I no longer understand at all. Unfortunately couldn't find any sort of project website that Rajit may have left up (like he did for the VLSI intro course of his I'd taken the prior semester).
https://github.com/asyncvlsi/actflow
https://avlsi.csl.yale.edu/act/doku.php
https://avlsi.csl.yale.edu/chips.php
There's also a bit of documentation up on Wikipedia now
https://en.wikipedia.org/wiki/Quasi-delay-insensitive_circui...
ADD: another impressive result was Ivan Sutherland's (yes, that Ivan Sutherland) crazy fast 8x8 cross bar. He's still active in the topic: https://arc.cecs.pdx.edu/publications/
now _that's_ underclocking :)
Have I missed some news?
If I remember, one promising aspect of the tech was that different subsystems could effectively run at different speeds, and could therefore be developed independently of the rest of the design.
It might pair well with TTA cpu designs, which I think Ivan Sutherland was also involved in.