Esistono circa 3 livelli di specializzazione delle apparecchiature informatiche:
La CPU (come nel tuo laptop) è la più generica di tutte. Può fare tutto, ma questa versatilità ha un prezzo di bassa velocità e elevato consumo energetico. La CPU è programmata in movimento, le istruzioni provengono dalla RAM. I programmi per CPU sono veloci, economici e facili da scrivere e molto facili da cambiare.
FPGA (che significa Field Programmable Gate Array) è il livello intermedio. Come suggerisce il nome, può essere programmato "sul campo", cioè all'esterno di una fabbrica. FPGA di solito viene programmato una volta, questo processo può essere descritto come impostazione della sua struttura interna. Dopo questo processo si comporta come un piccolo computer specializzato per l'unica attività che hai scelto per esso. Ecco perché può andare meglio della CPU generica. La programmazione di FPGA è molto difficile e costosa e il debug è molto difficile.
ASIC (che significa Circuito integrato specifico per l'applicazione) è lo specialista finale. È un chip progettato e prodotto per una sola attività: un'attività che esegue in modo estremamente rapido ed efficiente. Non è possibile riprogrammare ASIC, lascia la fabbrica completamente definita ed è inutile quando il lavoro non è più necessario. Progettare ASIC è qualcosa che solo le grandi aziende possono permettersi e il loro debug è praticamente impossibile.
Se pensi ai "core", guardalo in questo modo: le CPU hanno 4, 6, forse 8 core più grandi che possono fare tutto. ASICS ha spesso migliaia di core, ma molto piccoli, capaci di una sola cosa.
Puoi guardare la community di mining bitcoin. Fanno gli hash SHA256.
- Core CPU i7: 0,8-1,5 M hash / s
- FPGA: 5-300 M hash / s
- ASIC: hash / s 12000 M per un chip minuscolo, hash / s 2000000 M (sì, quel 2T) per un dispositivo a 160 chip
Certo, quei bambini ASIC costano quasi $ 2000 quando prodotti in serie, ma ti danno un'idea di come un tuttofare può competere con uno specialista.
L'unica domanda è: FPGA può offrirti più risparmi di quanti ne costi la progettazione? Ovviamente, invece di eseguirlo su UN laptop, puoi provare a eseguirlo su 20 PC.