フィールド・プログラマブル・ゲート・アレイ(FPGA)とマイクロコントローラー装置(MCU)は、よく比較される2種類の集積回路(IC)で、いずれも一般的に組み込みシステムやデジタル設計で使用されます。FPGAとマイクロコントローラーはどちらも、デバイスや大規模システムに統合できる「小型コンピューター」と考えることができます。
プロセッサーとして、FPGAとマイクロコントローラーの主な違いは、プログラマビリティーと処理能力にあります。FPGAはより強力で多用途ですが、より高価でもあります。マイクロコントローラーはカスタマイズ性が低い分、コストも低くなっています。多くのアプリケーションにおいて、マイクロコントローラーは非常に優れた機能とコスト効率を備えた選択肢です。一方、並列処理を必要とするような、要求の厳しいアプリケーションや開発中のアプリケーションでは、FPGAが必要になります。
マイクロコントローラーとは異なり、FPGAはハードウェア・レベルでの再プログラマビリティーを提供します。独自の設計により、ユーザーはタスクに応じてチップのアーキテクチャーを構成および再構成できます。FPGA設計では並列入力を同時に処理することもできますが、マイクロコントローラーでは一度に1行のコードしか読み取れません。また、FPGAはマイクロコントローラーの機能を実行するようにプログラムできますが、マイクロコントローラーを FPGA として実行するように再プログラムすることはできません。
FPGAは1985年にXilinx社によって初めて導入され、その汎用性と処理能力で高く評価されています。その結果、多くの高性能コンピューティング(HPC)、デジタル信号処理(DSP)、プロトタイピング・アプリケーションで好まれる選択肢となっています。
従来の特定用途向け集積回路(ASIC)とは異なり、FPGA は、初期製造プロセスが完了した後に「現場で」構成(および再構成)できるように設計されています。カスタマイズできることはFPGAが提供する最大の価値ですが、FPGAはプログラムが可能というだけではなく、これを行わなければならないという点にも留意する必要があります。ASICとは異なり、FPGA は「すぐに使える」ソリューションではなく、使用する前にVerilogやVHDLなどのハードウェア記述言語(HDL)を使用して構成する必要があります。FPGAのプログラミングには専門知識が必要であり、これによりコストが増加するだけではなく、導入が遅れる可能性があります。一部のFPGAでは、電源を切ってもプログラミング命令を保持できる不揮発性メモリーが提供されていますが、通常、FPGAは起動時に構成する必要があります。
これらの課題にもかかわらず、FPGAは、高性能、低遅延、リアルタイムの柔軟性を必要とするアプリケーションでは依然として有用です。FPGAは、次のような要件があるアプリケーションに特に適しています。
再構成可能性を実現するために、FPGAは、プログラマブルなルーティング・ファブリックによって相互接続されたプログラマブルな論理ブロックの配列で構成されています。一般的なFPGAの主なコンポーネントは次のとおりです。
FPGAは本質的に汎用性が高く、さまざまな業界やアプリケーションで広く使用されています。
マイクロコントローラーは、プロセッサー・コア(1コア以上)、メモリー(RAM)、およびマイクロコントローラー上で実行されるカスタム・プログラムを格納するための消去可能なプログラマブルな読み取り専用メモリー(EPROM)を搭載したコンパクトな既製のASICの一種です。「システムオンチップ (SoC)」ソリューションとして知られるマイクロコントローラーは、本質的には、独立して使用することも、より大規模な組み込みシステムで使用することもできる単一のハードウェアに統合された小型コンピューターです。
Arduino Starter KitやMicrochip Technology PICなどの消費者向けマイクロコントローラーは、アセンブリー言語または一般的なプログラミング言語(C、C++)を使用して構成でき、コスト効率に優れているため、愛好家や教育者に選ばれています。マイクロコントローラーは、より複雑で重要なタスクを処理することも可能で、産業用アプリケーションでは一般的です。ただし、処理能力とメモリー・リソースが減少すると、要求の厳しいアプリケーションではマイクロコントローラーの有効性が制限される可能性があります。
制限はあるものの、マイクロコントローラーには次のような多くのメリットがあります。
再プログラマビリティーが優先事項でない場合は、自己完結型マイクロコントローラーが小型ながら高性能な代替手段となります。以下は、マイクロコントローラーの主要コンポーネントです。
FPGAとは異なり、小型で手頃な価格の不揮発性マイクロコントローラーは最新のエレクトロニクスに普及しており、次のような特定のタスクのために頻繁に導入されています。
FPGAとマイクロコントローラーを比較する場合、ハードウェア・アーキテクチャー、処理能力、消費電力、開発者の要件など、いくつかの重要な違いを考慮することが重要です。
多用途でパワフルなFPGAプロセッサーをお探しの場合でも、コスト効率に優れた小型のマイクロコントローラーをお探しの場合でも、IBMの最先端のインフラストラクチャー・ソリューションでお客様のビジネスを次のレベルに引き上げることをご検討ください。新しいIBM FlashSystem 5300は、パフォーマンスとサイバー・レジリエンスを向上させます。新しいIBM Storage Assuranceは、ストレージの所有権を簡素化し、ITライフサイクルの課題に対処するのに役立ちます。
IBM Storage FlashSystemはこちら