1 Introduction
Advances in chip technology according to Moore's Law, allowing more and more functionality to be integrated on a single chip, have led to the emergence of Systems on Chip (SoCs). These SoCs are nowadays key to the development of advanced embedded computing systems, such as set-top boxes, digital televisions, and 3G cell phones. Designers of these SoC-based embedded systems are typically faced with conflicting design requirements regarding performance, flexibility, power consumption, and cost. As a result, SoC-based embedded systems often have a heterogeneous system architecture, consisting of components that range from fully programmable processor cores to fully dedicated hardware blocks. Programmable processor technology is used for realizing flexibility, for example, to support multiple applications and future extensions, while dedicated hardware is used to optimize designs in time-critical areas and for power and cost minimization.