The semiconductor industry can no longer afford to rely on decreasing the size of the
die, and increasing the frequency of operation to achieve higher performance. An
alternative that has been proven to increase performance is multiprocessing.
Multiprocessing refers to the concept of running more than one application or task on
more than one central processor. Multi-core processors are the main engine of
multiprocessing. In asymmetric multiprocessing, each core in a multi-core systems is
independent and has its own code that determines its execution. These cores must be
able to communicate and synchronize access to resources