コンピューティング機器の専門化には、おおよそ3つのレベルがあります。
CPU(ラップトップのように)は、それらの中で最も一般的です。それはすべてを行うことができますが、この汎用性は低速と高電力消費という代償を伴います。CPUは外出先でプログラムされ、命令はRAMから取得されます。CPU用のプログラムは、迅速で安価で、作成が簡単で、変更も非常に簡単です。
FPGA(Field Programmable Gate Arrayを意味します)は中間層です。その名前が示すように、「現場で」、つまり工場の外でプログラムできます。FPGAは通常1回プログラムされますが、このプロセスは内部構造のセットアップとして説明できます。このプロセスの後、選択した1つのタスクに特化した小さなコンピューターのように動作します。これが汎用CPUよりも優れている理由です。FPGAのプログラミングは非常に困難で高価であり、FPGAのデバッグは非常に困難です。
ASIC(特定用途向け集積回路を意味します)は究極のスペシャリストです。これは、たった1つのタスクのために設計および製造されたチップです-非常に高速かつ効率的に実行するタスクです。ASICを再プログラムする可能性はありません。工場が完全に定義されたままであり、仕事が不要になった場合は役に立ちません。ASICの設計は大企業だけが行うことができるものであり、それらをデバッグすることは非常に困難です。
「コア」で考える場合は、次のように見てください。CPUには4、6、または8個の大きなコアがあり、すべてを実行できます。ASICSには多くの場合、数千のコアがありますが、非常に小さなもので、1つのことしかできません。
あなたはビットコインマイニングコミュニティを見ることができます。SHA256ハッシュを実行します。
- CPUコアi7:0.8-1.5 Mハッシュ/秒
- FPGA:5-300Mハッシュ/秒
- ASIC:1つの小さなチップあたり12000Mハッシュ/秒、1つの160チップデバイスに対して2000000M(そう、2T)ハッシュ/秒
もちろん、これらのASICの赤ちゃんは、大量生産された場合にほぼ2000ドルかかりますが、専門家との取引がどのように行われるかについてのアイデアを与えてくれます。
唯一の質問は、FPGAを使用すると、設計にかかるコストよりも多くのコストを削減できるかどうかです。もちろん、1台のラップトップで実行する代わりに、20台のPCで実行してみてください。