Custom Processors

The goal of processor customization is to change an architecture to benefit a small set of applications, while maintaining the flexibility to run many other applications. Our research aims at customization techniques to enhance both control and data intensive codes. These techniques are used to target an entire application, as opposed to programmable accelerators, which only target the innermost loops. Custom processors differ from configurable processors (such as Tensilica's Xtensa) in that every structure is modifiable, where only portions of configurable processors are customizable.

The strategy we use to design custom processors revolves around a parameterized meta-architecture. A meta-architecture is a framework, where parameters describing the processor can be specified to create a customized design. Our baseline meta-architecture is a multi-clustered VLIW processor shown in the figure below. The philosophy behind the multi-clustered VLIW architecture is to use the compiler to distribute both data and control bits, in order to provide maximum performance with minimal hardware complexity and energy consumption.

Custom Processor Meta-Architecture
Customized Processor Meta-Architecture

Virtually any part of this meta-architecture is paramaterizable. For example, the number of clusters, type of function units, and the register bypass logic are all customizable. The CCCP framework develops techniques to automatically determine what these parameters should be for each application. Below is a list of some of the research we are (or have been) working on in the area of custom processors.


Page last modified January 22, 2016.