PLDs, DSPs, MCUs, MPUs and SoCs are all embedded devices, they can be programmed / configured to achieve a specific application. I've worked with MCUs and FPGAs in the past and realized that they are very different when it comes to their hardware architecture and programming / description language. In some applications, both MCUs and FPGAs could achieve the same goal but most of the time it isn't the case. I've heard that PLDs aren't optimized for mathematical operations but that DSPs are. I was wondering what each of these embedded devices can do that the others can't (what kind of application are they intended for).
- PLD. Programmable Logic Device, i.e. FPGA and CPLD. Programmed by essentially rearranging the circuitry. Good for things that are simpler and faster than what can be done on a processor (although "simple" and "fast" are both moving targets as technology changes).
- MCU. Microcontroller Unit. A complete computer on a chip, with periherals that are handy to solve the problem at hand. Programmed by changing the machine instructions stored in non-volatile memory (i.e., something like a "computer program"). Small & cheap, generally not as computationally capable as an MPU.
- MPU. Microprocessor Unit. The core of a computer, contains the actual processor core, possibly some memory (in the form of cache(s)), and interface electronics to more memory and I/O. Must have further "computer stuff" added before it'll work: at least memory, possibly bridges (ala desktop processors).
- DSP. Digital Signal Processor (not to be confused with Digital Signal Processing). Essentially an MCU or MPU with a core that is optimized to carry out digital signal processing. Can often be used as a general-purpose MCU or MPU, with a loss of efficiency. Can often be replaced by a general-purpose MCU or MPU, with a loss of efficiency if it's doing "real" DSP.
- SoC. System On Chip. Mostly a marketing term, unless you're talking about applications-specific chips (ASICs), this is an MCU that contains more applications-specific analog or digital circuitry on-chip. Designed with the goal of putting all the system functionality on one chip instead of having a board with MCU and peripheral electronics. Definitely a moving target -- yesterday's SoC is today's MCU, etc.