High-level optimization of pipeline design

We describe an automatic method for synthesizing pipelined processors that optimizes throughput and automatically resolves control and data hazards. We present rules that describe how to resolve hazards based on the data dependencies between functional units. We demonstrate our method by showing optimal pipeline configurations of the DLX.

[1]  Thomas Schiex,et al.  Nogood Recording for Static and Dynamic Constraint Satisfaction Problems , 1994, Int. J. Artif. Intell. Tools.

[2]  John Launchbury,et al.  Elementary Microarchitecture Algebra , 1999, CAV.

[3]  Daniel Kroening,et al.  Automated pipeline design , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[4]  M Barbara,et al.  A Tutorial on Constraint Programming , 1995 .

[5]  Markus Weinhardt Pipeline synthesis and optimization for reconfigurable custom computing machines , 1997 .

[6]  Martin C. Rinard,et al.  High-level automatic pipelining for sequential circuits , 2001, International Symposium on System Synthesis (IEEE Cat. No.01EX526).

[7]  Mark Aagaard,et al.  Combining Stream-Based and State-Based Verification Techniques , 2000, FMCAD.

[8]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[9]  John Launchbury,et al.  Microprocessor specification in Hawk , 1998, Proceedings of the 1998 International Conference on Computer Languages (Cat. No.98CB36225).

[10]  G.E. Moore,et al.  Cramming More Components Onto Integrated Circuits , 1998, Proceedings of the IEEE.

[11]  Hantao Zhang,et al.  SATO: An Efficient Propositional Prover , 1997, CADE.

[12]  David L. Dill,et al.  Automatic verification of Pipelined Microprocessor Control , 1994, CAV.

[13]  Sergei A. Romanenko,et al.  Moscow ML Owner's Manual , 2000 .

[14]  Tony Mason,et al.  Lex & Yacc , 1992 .

[15]  John T. O'Donnell,et al.  Generating Netlists from Executable Circuit Specifications , 1992, Functional Programming.

[16]  David A. Patterson,et al.  Computer organization and design (2nd ed.): the hardware/software interface , 1997 .

[17]  Fast specification of cycle-accurate processor models , 2001, Proceedings 2001 IEEE International Conference on Computer Design: VLSI in Computers and Processors. ICCD 2001.

[18]  Caxton C. Foster,et al.  Computer architecture (3rd. ed.) , 1985 .

[19]  David L. Dill,et al.  Validity Checking for Combinations of Theories with Equality , 1996, FMCAD.

[20]  David A. Patterson,et al.  Computer architecture (2nd ed.): a quantitative approach , 1996 .

[21]  Lawrence Charles Paulson,et al.  ML for the working programmer , 1991 .

[22]  Werner Buchholz,et al.  Planning a Computer System: Project Stretch , 1962 .

[23]  Amit Chowdhary,et al.  Challenges of CAD Development for Datapath Design , 1999 .

[24]  George B. Dantzig,et al.  Linear programming and extensions , 1965 .