Existem aproximadamente três níveis de especialização em equipamentos de computação:
A CPU (como no seu laptop) é a mais genérica de todas. Pode fazer tudo, mas essa versatilidade tem um preço de velocidade lenta e alto consumo de energia. A CPU está programada em movimento, as instruções vêm da RAM. Os programas para CPU são rápidos, baratos, fáceis de escrever e muito fáceis de alterar.
FPGA (que significa matriz de portas programável em campo) é a camada intermediária. Como o próprio nome indica, pode ser programado "no campo", fora da fábrica. O FPGA geralmente é programado uma vez, esse processo pode ser descrito como a configuração de sua estrutura interna. Após esse processo, ele se comporta como um pequeno computador especializado para a única tarefa que você escolheu para ele. É por isso que ele pode se sair melhor que a CPU genérica. Programar FPGA é muito difícil e caro, e depurá-los é muito difícil.
O ASIC (que significa circuito integrado específico da aplicação) é o melhor especialista. É um chip projetado e produzido para uma e apenas uma tarefa - uma tarefa extremamente rápida e eficiente. Não há possibilidade de reprogramar o ASIC, ele sai da fábrica totalmente definido e é inútil quando seu trabalho não é mais necessário. Projetar ASIC é algo que apenas as grandes empresas podem pagar e depurá-las é bem, praticamente impossível.
Se você pensa em "núcleos", olhe da seguinte maneira: as CPUs têm 4, 6, talvez 8 grandes núcleos que podem fazer tudo. O ASICS geralmente possui milhares de núcleos, mas muito pequenos, capazes de apenas uma coisa.
Você pode olhar para a comunidade de mineração de bitcoin. Eles usam hashes SHA256.
- CPU core i7: 0,8-1,5 M hash / s
- FPGA: 5-300M hash / s
- ASIC: 12000M hash / s por um chip minúsculo, 2000000M (sim, esse 2T) hash / s para um dispositivo de 160 chips
É claro que esses bebês ASIC custam quase US $ 2.000 quando produzidos em massa, mas isso lhe dá uma idéia de como um pau-duro-de-tesouro pode enfrentar um especialista.
A única pergunta é: o FPGA pode oferecer mais economia do que o custo do projeto? Obviamente, em vez de executá-lo em UM laptop, você pode tentar executá-lo em 20 PCS.