Efficient Low-power Microprocessor

The ELM project focuses on the creation of a low-power, high-performance, programmable embedded system. By designing a chip comprised of many efficient tiles and providing a full software stack, ELM will be able to reduce or eliminate the need of fixed function logic blocks in passively cooled systems.

Note: We are no longer actively doing research on ELM. For the most complete reference of the project, please refer to James Balfour's thesis. We are currently working on the ESC and ELK projects.

Currently, embedded systems, such as cell phones, are comprised of both a microprocessor and fixed function circuitry. The microprocessor provides programmability to the system, but is too inefficient meet the computation, timing, and power constraints of many communication and multimedia protocols. Fixed function logic is added to embedded systems to provide the necessary performance, but cannot be changed once fabricated. ELM is aiming to remove the inefficiencies associated with programmability, such as data and instruction movement, and allowing software to replace the fixed function hardware. This provides a benefit since software applications are more cost effective to create and update than silicon.

Research in the ELM group is focused on each of these four areas of the system:

Architecture

Architecture development in ELM is focused on answering the question of what is the minimum amount of energy needed to make a high-performance system programmable. Focus is given to fetching instructions and data from structures other than a high energy cache.More...

Software

ELM software research is about how to productively program a system of tiles in a high level language. By using libraries and an interactive tool chain for tasks such as kernel partitioning and parallelization, ELM programs will be designed for high utilization of the underlying hardware.More...

Compiler

The ELM compiler is responsible for outputting a static execution schedule from either high level code or the system level partitioner. It must be able to provide guarantees and feedback to the programmer about real-time execution. More...

Circuits

Customized design of circuits in the ELM processor will further reduce the energy cost of programmability. Circuit design will be able to provide feedback to the rest of the system about the costs and trade-offs of various design decisions. More...