Thecomplexityofembeddedsystems-on-a-chipisrapidlygrowing.Di?erentexpertsareinvolvedin the design process: application software designers, programmable core architects, on-chip com- nication engineers, analog and digital designers, deep submicron specialists and process engineers. In order to arrive at an optimum implementation compromises are needed across boundaries of the di?erent domains of expertise. Therefore, the authors of this book take the point of view of the system architect who is a generalist rather than an expert. He is responsible for the de?nition of a high level architecture, whichisgloballyoptimal.Findinganoptimumrequiresaproperbalancebetweenarea,performance and last but not least energy consumption. The challenge is not only the size of the design space but also the fact that the most important decisions are taken during the early design phases. The advantage of an early decision is that the impact on area, performance and energy consumption is large. But the disadvantage is that the available information is often limited, incomplete and inaccurate. The task of the system architect is to take the correct early decisions despite the uncertainties.