Speculation in Elastic Systems

Speculation is a well-known technique for increasing parallelism of the microprocessor pipelines and hence their performance. While implementing speculation in modern design practice is error-prone and mostly ad-hoc, this paper proposes a correct-by-construction method for implementing speculation in elastic systems. The technique is based on applying provably correct transformations. The benefits of speculation are illustrated with two examples in which these transformations are systematically applied. The method proposed in this paper is amenable for automation in a synthesis flow.

[1]  David Bañeres,et al.  Variable-latency design by function speculation , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[2]  Kenneth L. McMillan,et al.  Verification of Infinite State Systems by Compositional Model Checking , 1999, CHARME.

[3]  Jordi Cortadella,et al.  Synthesis of synchronous elastic architectures , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[4]  Amir Pnueli,et al.  The temporal logic of programs , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[5]  Mitchell A. Thornton,et al.  Early evaluation for performance enhancement in phased logic , 2005, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[6]  Jordi Cortadella,et al.  Correct-by-construction microarchitectural pipelining , 2008, 2008 IEEE/ACM International Conference on Computer-Aided Design.

[7]  Jordi Cortadella,et al.  Synchronous Elastic Networks , 2006, 2006 Formal Methods in Computer Aided Design.

[8]  Alberto L. Sangiovanni-Vincentelli,et al.  Theory of latency-insensitive design , 2001, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[9]  Ivan E. Sutherland,et al.  Micropipelines , 1989, Commun. ACM.

[10]  M. Singh,et al.  Counterflow Pipelining: Architectural Support for Preemption in Asynchronous Systems using Anti-Tokens , 2006, 2006 IEEE/ACM International Conference on Computer Aided Design.

[11]  Stephen A. Edwards,et al.  Optimizing Sequential Cycles Through Shannon Decomposition and Retiming , 2006, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[12]  John F. Wakerly,et al.  Digital design - principles and practices , 1990, Prentice Hall Series in computer engineering.

[13]  Jordi Cortadella,et al.  Synchronous Elastic Circuits with Early Evaluation and Token Counterflow , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[14]  Marco Pistore,et al.  NuSMV 2: An OpenSource Tool for Symbolic Model Checking , 2002, CAV.

[15]  Luca Benini,et al.  Automatic Synthesis of Large Telescopic Units Based on Near-Minimum Timed Supersetting , 1999, IEEE Trans. Computers.