Hay aproximadamente 3 niveles de especialización de equipos informáticos:
La CPU (como en su computadora portátil) es la más genérica de todas. Puede hacer todo, pero esta versatilidad tiene un precio de baja velocidad y alto consumo de energía. La CPU se programa sobre la marcha, las instrucciones provienen de la RAM. Los programas para CPU son rápidos, baratos y fáciles de escribir y muy fáciles de cambiar.
FPGA (que significa matriz de puerta programable de campo) es el nivel medio. Como su nombre lo indica, se puede programar "en el campo", es decir, fuera de una fábrica. FPGA generalmente se programa una vez, este proceso puede describirse como la configuración de su estructura interna. Después de este proceso, se comporta como una pequeña computadora especializada para la tarea que ha elegido. Es por eso que puede funcionar mejor que la CPU genérica. Programar FPGA es muy difícil y costoso y depurarlos es muy difícil.
ASIC (que significa Circuito Integrado Específico de Aplicación) es el máximo especialista. Es un chip diseñado y producido para una única tarea, una tarea que realiza de manera extremadamente rápida y eficiente. No hay posibilidad de reprogramar ASIC, deja la fábrica completamente definida y es inútil cuando su trabajo ya no es necesario. Diseñar ASIC es algo que solo las grandes corporaciones pueden permitirse y depurarlos es bastante imposible.
Si piensas en "núcleos", entonces míralo de esta manera: las CPU tienen 4, 6, quizás 8 núcleos grandes que pueden hacer todo. Los ASICS a menudo tienen miles de núcleos, pero muy pequeños, capaces de una sola cosa.
Puedes mirar la comunidad minera de bitcoin. Hacen hash SHA256.
- CPU core i7: 0.8-1.5 M hash / s
- FPGA: 5-300M hash / s
- ASIC: 12000 M de hash / s por un chip pequeño, 2000000M (sí, ese 2T) hash / s para un dispositivo de 160 chips
Por supuesto, esos bebés ASIC cuestan casi $ 2000 cuando se producen en masa, pero le da una idea acerca de cómo un Jack-of-All-Trades puede competir contra un especialista.
La única pregunta es: ¿puede FPGA brindarle más ahorros de lo que costaría diseñarlo? Por supuesto, en lugar de ejecutarlo en UNA computadora portátil, puede intentar ejecutarlo en 20 PCS.