Приблизно 3 рівні спеціалізації обчислювальної техніки:
Процесор (як у вашому ноутбуці) - найзагальніший із них. Він може зробити все, але ця універсальність поставляється ціною повільної швидкості та великим енергоспоживанням. Процесор програмується на ходу, інструкції надходять з оперативної пам'яті. Програми для процесора - це швидко, дешево і легко записати і дуже легко змінити.
FPGA (що означає Field Programmable Gate Array) є середнім рівнем. Як випливає з назви, його можна запрограмувати "у полі", тобто поза фабрикою. Зазвичай FPGA програмується один раз, цей процес можна описати як встановлення внутрішньої структури. Після цього процесу він поводиться як крихітний комп'ютер, який спеціалізується на одній задачі, яку ви обрали для нього. Ось чому він може працювати краще, ніж загальний процесор. Програмування FPGA дуже складно і дорого, і налагодження їх дуже важке.
ASIC (що означає інтегральну схему для конкретних додатків) - найкращий фахівець. Це чіп, розроблений і виготовлений для одного і єдиного завдання - завдання, яке він виконує надзвичайно швидко і ефективно. Немає можливості перепрограмувати ASIC, вона залишає фабрику повністю визначеною і марною, коли її робота більше не потрібна. Розробка ASIC - це те, що можуть дозволити собі лише великі корпорації, і налагодження їх добре, майже неможливо.
Якщо ви думаєте в "ядрах", тоді погляньте на це так: ЦП мають 4, 6, можливо, 8 великих ядер, які можуть зробити все. ASICS часто має тисячі ядер, але дуже крихітних, здатних лише до одного.
Ви можете подивитися на спільноту майнінгу біткойна. Вони роблять хеши SHA256.
- Ядро процесора i7: хеш / с 0,8-1,5 М
- FPGA: 5-300 М хеш / с
- ASIC: 12000M хеш / с на один крихітний чіп, 2000000M (так, що 2T) хеш / с для одного пристрою 160 чіпів
Звичайно, немовляти ASIC коштують майже 2000 доларів при масовому виробництві, але це дає вам уявлення про те, як можна пограбувати проти спеціаліста.
Питання лише в тому: чи може FPGA принести вам більше заощаджень, ніж це б коштувало проектування? Звичайно, замість того, щоб запустити його на одному ноутбуці, ви можете спробувати запустити його на 20 ПК.