Son dispositivos totalmente diferentes.
¿En que se diferencian?
Microprocesadores:
Son dispositivos lógicos programables basados en una máquina de estados hardware general fija: Es decir, la programación es de tipo software.
Para programar un microprocesador debemos añadirle una memoria donde se almacenen las instrucciones que permitan al hardware fijo ir cambiando de estado y efectuando las operaciones deseadas. Se utilizan para "grandes" sistemas informáticos donde tanto el soft como el hard pueden variar o son de tipo modular.
El ejemplo más claro es un ordenador personal. Algunos fabricantes y tipos son: ARM, Intel, AMD, POWER PC
Microcontroladores:
Son dispositivos lógicos programables basados en una máquina de estados hardware general fija (programación de tipo software) que además añade en el mismo circuito integrado la memoria de programa y algunos puertos y periféricos para el manejo de hardware adicional al sistema. Es un sistema básico de tipo "System on Chip" que contiene el hardware necesario para construir de forma muy rápida y sencilla un sistema "informático". Debido a que tiene mucho más hardware ya embebido, su uso es menos generalista que el de los microprocesadores pero el desarrollo de sistemas basados en este tipo de dispositivos es más rápido y generalmente barato.
Se utilizan sobre todo para electrónica a medida de pequeñas tiradas aunque muchos electrodomésticos y sistemas electrónicos de consumo disponen de este tipo de dispositivos (televisiones, DVD, incluso neveras o vitrocerámicas). Algunos fabricantes son: Microchip, Atmel, Silicon Labs, Motorola...
FPGA's:
Son arrais de celdas lógicas cuyas conexiones son configurábles a través de una memoria auxiliar (generalmente volatil). Es decir, el tipo de programación es de tipo hardware. Ya no existe una maquina de estados que procese una serie de instrucciones conocidas sino que nosotros configuramos el hardware de nuestro sistema apoyándonos en celdas básicas que contienen mutiplexores, biestables, puertas lógicas básicas, contadores, etc...
Son dispositivos de propósito muy general y nos permiten configurar sistemas electrónicos con muchísima versatilidad. Suele ser el primer paso antes de pasar a la custom foundry. Es decir, debido a su versatilidad se utiliza para diseñar prototipos funcionales de circuitos integrados. Se utilizan también en electronica a medida con requisitos estrictos de hardware que no puedan ser atendidas por microcontroladores. Debido a su alto coste no se suelen ver en equipos electrónicos de consumo (aunque se ven en algunos en móviles o en routers y dispositivos de red) ya que en estos dispositivos vemos circuitos integrados fabricados de modo CUSTOM que resulta más barato en tiradas numerosas. Aunque probablemente estos circuitos hayan sido diseñados previamente a través de FPGA`s. Algunos fabricantes son: Xilinx, Altera, Lattice...
No se si te he aclarado mucho, pero sobre eso que has preguntado hay escritos libros y libros. Sobre cada uno de los dispositivos.
Un saludo.