Modern embedded markets call for high density computing ability, making it is difficult to use just one microprocessor to meet function requirements of highperformance embedded systems. Multiple processors, including general-purpose embedded microprocessors, digital signal processors (DSPs), ASICs and FPGA hardware accelerators, are often used in these embedded systems.
Not all processors in an embedded device have the same characteristics and they are asymmetric. Heterogeneous multiprocessors bring forward difficulties in both hardware and software designs. The paper addresses the issues of supporting parallelization in asymmetric multiprocessor (AMP) environment from both hardware and software sides, including cache coherence, semaphore and embedded software programming.
With the development of silicon technologies, embedded chips become more powerful and have more dense computing ability. Embedded processors take the place of general-purpose PC processors not only because of their low cost but also because of their low power consumption, rich functionality and high reliability.
Embedded microprocessors have been used broadly in consumer electronics (such as multimedia players and gaming devices) and communication devices (such as cellular phones and personal digital assistants). However, people’s pursue for high performance will never stop. Many embedded devices still call for high computing ability, making it is difficult to use just one microprocessor to satisfy the functionalities. For example, one advanced 200 MIPS ARM processor is not powerful enough to decode MPEG4 or H.264 video signals in a set top box. In many embedded systems, more than one processor is used to achieve high performance, a number of tasks run in parallel. Normally, the systems have three solutions:
1) Designing software for several symmetric general purpose embedded microprocessors running in parallel;
2) One general-purpose embedded microprocessor plus programmable hardware accelerators (FPGAs), application-specific integrated circuits (ASICs), and digital signal processors (DSPs). The general purpose cooperates with the specific hardware to improve performance;
3) Asymmetric multiprocessors (AMP), blending multi-core microprocessor, DSPs, FPGAs and ASICs.