You've probably been hearing a lot of buzz about multiprocessor chips. Putting multiple processors on a chip isn't a new idea. But such chips are gaining momentum both in general-purpose computing applications and in embedded systems.
In embedded digital-signal-processing applications, multiprocessor chips are becoming attractive for an expanding range of systems — even cost-sensitive app like consumer products. As a result, effective software development for multiprocessor systems is vital.
In some cases, creating software for a multiprocessor system is straightforward. For example, some DSP applications handle multiple channels, with identical processing for each one. In such applications, the software-development process for a multiprocessor may not be very different from the tried-and-true approach used for uniprocessors.
The challenge comes in using multiprocessors for non-channelized applications. In those cases, each processor is expected to handle a different part of the application or algorithm, and the processors must coordinate activities.