8.8 Summary

Multiprocessors provide both absolute performance and efficiency. They do, however, introduce new levels of system complexity. Programming multiprocessors requires both new programming models and development methodologies. Multiprocessors are often heterogeneous so that different parts of an application can be mapped to specialized processing elements. A programmable processing element may be specialized by, for example, adding new instructions. Accelerators are processing elements designed to perform very specific tasks. When adding accelerators to the system, we must be sure that the system can send data to and receive data from the rest of the system at the required rates.

What we Learned

Multiprocessors can help improve real-time performance and energy consumption.

Shared memory and message passing systems are different organizations of multiprocessors.

MPSoCs are single-chip multiprocessors with low-latency communication while distributed systems are physically larger and generally have longer-latency communication systems.

Message-passing systems are often used in distributed embedded systems.

Shared memory multiprocessors are often used in single-chip signal processing and control systems.

Performance analysis of an accelerated system is challenging. We must consider the performance of several implementations of an algorithm (CPU, accelerator) as well as communication costs for various configurations.

We must partition the behavior, schedule operations in time, and allocate operations to processing elements in order to design the system.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.226.87.83