I. Introduction
Due TO CLOCK and power constraints, architectures with multiple processors on a single chip have become an attractive solution to achieve performance in both high-end and low-end computing. Multiprocessor systems-on-chip (MPSoCs) with a large number of different processing cores are now common for a variety of reasons, especially in embedded systems. Generally speaking, an MPSoC consists of multiple heterogeneous processing elements, memory hierarchies, and I/O components interconnected by complex communication architectures. Such an architecture provides the flexibility of simple design, high performance, and optimized energy consumption.