Custom Counterflow Pipelines for Embedded Processors
Past Work - This Project is Completed.
In recent years, the design of custom embedded processors has gained tremendous attention due to the advantages of tailoring capabilities to embedded applications to improve performance, energy/power consumption, and resource utilization. An application-specific processor (ASP) has the flexibility to include the minimal instruction set and microarchitecture elements that give good performance and low cost without the complexity needed for general-purpose codes. Because cost and time-to-market constraints are important to embedded systems, an ASP architecture should permit automatic design, including high-level architectural design.
This research project studies how to build Counterflow Pipelines tailored to the resource and data flow requirements of embedded software. The Counterflow Pipeline is a novel pipeline organization proposed by Sproull, Sutherland, and Molnar. Although the CFP was originally proposed as a general-purpose organization, CFPs have several characteristics that make them very attractive for ASPs, including: local control, a simple and mostly regular structure, highly composable components, and inherent handling of a type of register renaming, speculative execution, and out-of-order execution.
This project has developed techniques that automatically customize a counterflow pipeline to an application expressed algorithmically in a high-level language. As part of this project, a novel architecture for building custom instruction-level parallel processors, called the Wide Counterflow Pipeline (WCFP), was developed. This architecture significantly improves upon the original CFP to make it better suited for obtaining high-performance for custom embedded processors.
Publications
An Infrastructure for Designing Custom Embedded Counterflow Pipelines , Bruce R. Childers and Jack W. Davidson, Journal of Microprocessors and Microsystems, Volume 29, Issue 1, February 2005, pp. 27-40.
Width Counterflow Pipelines for High Performance Embedded Applications , Bruce R. Childers and Jack W. Davidson, IEEE Transactions on Computers, Volume 53, Number 2, February 2004, pp. 141-158. This paper is a significantly expanded version (with new techniques and results) of the PACT paper below.
Custom Wide Counterflow Pipelines for High-Performance Embedded Applications, Bruce R. Childers and Jack W. Davidson, International Conference on Parallel Architecture and Compilation Techniques (PACT'00), Philadelphia, Pennsylvania, October 2000.
Architectural Considerations for Application-Specific Counterflow Pipelines, Bruce R. Childers and Jack W. Davidson, IEEE Conference on Advanced Research in VLSI (ARVLSI'99), Atlanta, Georgia, 1999.
Automatic Architectural Design of Wide-Issue Counterflow Pipelines, Bruce R. Childers and Jack W. Davidson, Compiler and Architecture Support for Embedded Systems (CASES'99), Washington, D.C., October 1999.
A Design Environment for Counterflow Pipeline Synthesis, Bruce R. Childers and Jack W. Davidson, ACM SIGPLAN Workshop on Languages, Compilers and Tools for Embedded Systems (LCTES'98), during the ACM SIGPLAN Conference on Programming Language Design and Implementaiton (PLDI'98), Montreal, Canada, June 1998.
Synthesis of Application-Specific Counterflow Pipelines, Bruce R. Childers, Jack W. Davidson and Wm. A. Wulf, Workshop on the Interaction between Compilers and Computer Architecture San Jose, California, February 1996.