
Jeisson Armando Arias Daza
Pregunta¿Porque utilizar procesadores secuenciales para hacer procesos en paralelo y no utilizar procesadores como los de las FPGA que son paralelos desde su creación?

Diego Osuna
Me encontré este artículo interesante de 2019, que plantea tu misma pregunta, te comparto un extracto:
"...Una FPGA puede implementar cualquier tipo de circuito digital incluyendo al microprocesador. Entonces ¿por qué no están todos los micros basados en FPGA y así poder corregir errores hardware en la etapa post-venta? El motivo es que la FPGA no es tan eficiente como un circuito específico, tal como el microprocesador..."
"...Hay que entender que en la FPGA la mayoría del silicio está dedicado a las interconexiones. Hacer que un circuito disponga en su interior de cientos de miles de bloques que pueden interconectarse entre sí de forma arbitraria hace que el circuito aproveche muy mal el espacio. La flexibilidad va reñida con la eficiencia. Podemos imaginar las interconexiones como una red de carreteras con varios niveles, como si se tratase de los llamados “scalextric” que encontramos en algunas ciudades. Por lo tanto la FPGA no es capaz de alcanzar la velocidad de procesamiento de los microprocesadores de Intel o ARM..."
"...Hay trabajos en la literatura académica que muestran como algunos algoritmos/aplicaciones corren hasta 10.000 veces más rápido en una FPGA que en un core de un procesador Intel i7..."
"...Por otra parte, no solo es que estas tareas se realizan rápido, sino que al estar los diseños optimizados para algoritmos concretos, el consumo de potencia es menor que en una microprocesador, puesto que no hay hardware sobredimensionado..."
"Y podríamos volver a preguntarnos por qué no implementamos todos los algoritmos en FPGA y no usamos los micros. La respuesta es que no todos lo algoritmos o aplicaciones son adecuados para la arquitectura hardware de una FPGA. Y por otra parte, el diseño de estos circuitos es muy costoso en tiempo. Lo que en software se puede desarrollar en varios minutos, podría tardarse varios días en hacerlo para que se aprovechen las características de las FPGAs. Además, los tiempos de compilación de software son muy cortos en comparación con los tiempos de compilación de las FPGA."
Pero esto no quiere decir que no se puedan usar microprocesadores y FPGA en conjunto:
"En los dispositivos existentes en el mercado que combinan desde principios de la década procesadores ARM y FPGAs (por ejemplo, los chips Zynq de Xilinx o los Stratix V GX de Altera) el microprocesador se comunica con la FPGA para configurarla y para enviarle datos o recibirlos, pero pueden perfectamente funcionar de forma autónoma sin la FPGA. LA FPGA actuaría como co-procesador, es decir, como acelerador de algoritmos."
"La aportación de Intel en este sentido es introducir las FPGAs en microprocesadores de altas prestaciones, como los Xeon. En 2015, Intel anuncia que integrará FPGAs en sus microprocesadores y con el objetivo de mejorar la eficiencia de aplicaciones específicas, tales como servicios en la nube, Big Data, análisis genómico, compresión de ficheros, etc."
Te comparto la fuente para que puedas leer el resto del artículo, personalmente me pareció muy interesante: https://gacaffe.net/2019/06/23/intel-y-las-fpgas-usaran-fpgas-las-nuevas-generaciones-de-microprocesadores/