Counterflow Pipelining: Architectural Support for Preemption in Asynchronous Systems using Anti-Tokens

This paper introduces a novel approach to efficiently implement several useful architectural features in asynchronous application-specific ICs (ASICs). These features include speculation, preemption, and eager evaluation, which have so far only been available on CPUs, and have not been adequately investigated for custom ASICs. For the efficient implementation of the new architectural features, a radically new approach inspired by Sproull's counterflow pipelines (1994) is proposed. The key idea is to allow special commands, called anti-tokens, to be propagated in a direction opposite to that of data, allowing certain computations to be killed before they are completed, if their results are no longer required. The net impact is a significant improvement in the throughput of a certain class of systems - e.g., those involving conditional computation - where a bottleneck pipeline stage can often be preempted if its result is determined to be no longer needed. Experimental results indicate that our approach can improve the system throughput by a factor of up to 2.2times, along with an energy savings of up to 27%

[1]  Steven M. Nowick,et al.  An introduction to asynchronous circuit design , 1998 .

[2]  Anselmo Lastra,et al.  A scalable counterflow-pipelined asynchronous radix-4 Booth multiplier , 2005, 11th IEEE International Symposium on Asynchronous Circuits and Systems.

[3]  Anselmo Lastra,et al.  An area- and energy-efficient asynchronous Booth multiplier for mobile devices , 2004, IEEE International Conference on Computer Design: VLSI in Computers and Processors, 2004. ICCD 2004. Proceedings..

[4]  Jim Garside,et al.  Early Output Logic using Anti-Tokens , 2003 .

[5]  Ivan E. Sutherland,et al.  The counterflow pipeline processor architecture , 1994, IEEE Design & Test of Computers.

[6]  Steven M. Nowick,et al.  MOUSETRAP: ultra-high-speed transition-signaling asynchronous pipelines , 2001, Proceedings 2001 IEEE International Conference on Computer Design: VLSI in Computers and Processors. ICCD 2001.