Architecture and Compiler Design

Life cycles of technical products are continuously decreasing, especially in the area of computer technology. This cascading effect becomes possible by the fact that computers themselves are used to design new powerful microprocessors for the next computer generation. Thus, the design time for new generations of microprocessors decreases rapidly.
Beyond that, in the last years, microprocessors are employed more and more in products where the presence of microprocessors is not obvious: Cellular phones, PDAs, medical technology, entertainment electronics, and in the automotive world.
Unlike typical computers like PCs and workstations, these embedded systems are specialized to a certain class of applications and highly optimized with respect to computation speed, cost, interface bandwidth, energy consumption, etc. Beside production costs, development cost and shorter time-to-market cycles have become important.
The goal in our working group “Architecture and Compiler Design (ACD)” is to shorten the design cycle when developing application specific processors. Here, the following research areas are considered: CAD tools for modelling, simulation, and the automatic generation of architectures, and compilers and mapping methodologies for these architectures.
Both micro programmable processors and dedicated hardware are investigated. The goal when designing micro programmable application specific processors is an architecture/compiler co-generation optimized for a whole class of algorithms (benchmark). Many computational applications may also implemented directly in one dedicated massively parallel system, i.e., one highly optimized system (e.g., a co-processor) realizes exactly one application.
From these different target architectures (programmable or dedicated) a trade-off between hardware and software solutions is resulting. Here, one solution might be the consideration of reconfigurable architectures. Therefore, reconfigurable arrays and processors are part of our actual research.

Current research projects

Open Source projects

Finished projects