本投稿は「How to Select the Right CPU or SoC for your Embedded Project」の抄訳です。組み込みシステム用にどのような中央処理装置(CPU)またはシステムオンチップ(SoC)を選択するかが、システムの良好な動作を左右します。ここでは組み込みシステムの構築に関する私の長年の経験と他の専門家の意見に基づき、最良のCPUまたはSoCを選択するためのヒントを示します。
この記事の内容:
組み込みプロセッサとは、組み込みシステムに搭載された、システムの基本的な機能を制御する中央処理装置です。組み込みプロセッサはマイクロプロセッサの一種で、通常は機能が限られており、消費電力もわずかです。
組み込みプロセッサの場合、チップにはプロセッサだけが実装されており、動作するには外部メモリやその他の外部コンポーネント、周辺装置を必要とします。マイクロコントローラーでは、メモリ、信号レジスタ、入出力ポートなど、タスクの実行に必要なあらゆるものがチップに組み込まれています。
メーカーは、プロセッサの電力を制限する必要がある場合に組み込みプロセッサを使用します。マイクロコントローラーは、スマートフォン、自動車システム、高度な医療機器を含む、組み込みシステムを装備したさまざまな製品で使用されます。
SoC(システムオンチップ)は、コンピューターシステムが必要とするすべてのコンポーネントを1つのコンピューターチップに集約したものです。SoCにはCPUと、メモリ、タイマー、通信インターフェイスなどのパーツが含まれています。
CPU(中央処理装置)の場合、通常はチップにプロセッサだけが実装されています。コンピューターと組み込みシステムでは複数のCPUを使用する場合があります。SoCはチップに実装されたミニコンピューターであり、すべてのコンピューティング処理を実行できますが、CPUが処理を完了するには他のコンポーネントを必要とします。
CPUが処理を行うには、メモリ、タイマー、その他のコンポーネントを含む、CPU以外のパーツを必要とします。SoCはマイクロコントローラーに似ていますが、はるかに精緻で強力です。
組み込みシステム内SoCとは、組み込みシステムの特定の機能またはアクションを実行するための、すべてのコンポーネントが集約されたチップです。多くの組み込みシステムが、コンピューティング処理のためにSoCを使用しています。
組み込みSoCの主要な要素としては、プロセッサに加え、メモリ、キャッシュ、タイマー、入出力ポートなどのコンポーネントが挙げられます。SoCの大きな利点は、消費電力が少なく、最終的にCPUに比べて安価なソリューションになり得ることです。
SoCでは多くの場合、CPUと追加コンポーネントよりも、また組み込みシステムで複数のCPUを使用するよりも、消費電力が大幅に少なくなります。組み込みメーカーは、スペースをほとんど取らない自己完結型の強力なプロセッサを必要とする場合に、SoCを使用しています。
SoCには必要なすべてのコンポーネントが揃っているため、多くの場合CPUと追加コンポーネントよりも安価になります。Qtのシニアプロダクトマネージャー、Veli-Pekka Heinonenは、「多くのプロジェクトには制限があり、コストを特定のしきい値以下にしなければなりません。コストの面でSoCには大きな効果があります」と説明しています。
SoCを選択することによる主なデメリットは、メーカーがシステムを柔軟に変更することが制限されることです。たとえばCPUと外部メモリを使用している場合、メーカーは外部メモリの変更またはメモリ追加を決定できます。SoCの場合はそれができません。システムの大幅な変更が必要な場合には、SoC全体を変更しなければならないのです。
CPUやSoCは組み込みシステムのハードウェアに搭載されているため、何を使用するかを決めるのはハードウェア設計者であるべきだと考える人もいます。それでも、意思決定に設計者を関与させることは極めて重要です。
それは、組み込みシステムが最終的にどのように機能するかは、ソフトウェアの動作を含めて、CPUまたはSoCに左右されるためです。組み込みシステムは、ハードウェアとソフトウェアが緊密に連動しなければ良好に機能しません。
CPUは組み込みシステムの基盤になっています。しかしどのCPUを使用するかは、可能な限り時間をかけて選択すべきです。それは、チームがシステム向けに開発中のソフトウェアにどのようなハードウェアが適合するか、時間の経過とともにわかってくることも多いからです。
設計者が組み込みシステム用に構築したソフトウェアが、CPUまたはSoCを購入してしまった後で適合しないことが判明するような事態は避けたいものです。メモリ、電力、パフォーマンスの点で、ソフトウェアで何が要求されるかを理解することが重要です。その上でニーズに最もよく適合するCPUを購入するのです。組み込みエンジニアが組み込みシステムを構築してソフトウェアを開発する方法をご確認ください。
セキュリティコンサルティング企業NCC Groupのハードウェアおよび組み込みセキュリティサービス担当バイスプレジデント、Rob Wood氏は、組み込みシステムの設計者がCPUまたはSoCを選択する上で重要なことについて、次のように説明しています。「セキュリティ要件を確実に理解してから選択すべきです。SoCはセキュリティの基盤になるものです。SoCの外部にあるものは信頼できません。つまりSoCのセキュリティプロパティによって、システム全体のセキュリティの状態が決まってしまうのです。新しいSoCを導入して設計を更新するには何年もかかることがあります。SoCの選択が非常に重要なのはそのためです。」
組み込みシステムに最適なCPUまたはSoCを決定する際には、さまざまな要素の検討が必要になります。そしてもちろん、全体的なパフォーマンス、必要なメモリや周辺装置、コストも考慮しなければなりません。
CPUまたはSoCを選択する際の重要な検討事項を示します。
特定の業界における組み込みシステムで良好に機能するCPUを開発しているメーカーもあります。たとえば自動車業界では、QualcommやRenesasがプロセッサとしてよく使用されています。また医療業界ではNXP機器が普及しています。
Qtは、組み込みデバイスの構築方法をエンジニアが理解する上で役立つ、組み込み製品のプランニングおよび要件ガイドを作成しました。このハンドブックでは、組み込みシステムで使用される主要なSoCを詳細に比較しています。
AMD | Intel | NXP | Renesas | TI | |
評価用基板 | Kontron D3713-V4 mITX | Avnet BOX NUC6CAYS AJL | NXP i.MX 8 QuadMax MEK | R-Car H3 Starter Kit | TI AM572x EVM |
SoC* | AMD Ryzen V1807B | Intel Apollo Lake (Celeron J3455) |
NXP i.MX8 | R-CAR H3 | AM5728 |
メモリ | 4 DDR4、2 DIMM (最大32GB)、ECCオプション |
2GBオンボードDDR (最大8GB)、32GB eMMC |
LPDDR4 (x64)、 32GB eMMC | 384K sys RAM、DDR4、80MBオンボードフラッシュ、8GB eMMC、microSD | 2GB DDR3L、4GB eMMC、 microSD |
周辺装置 | HDMI、4 x DP++、4K、Vega GPU、PCIe、SATA、オーディオ、GigE、USB 3.1+2.0 | HDMI、Intel HD 500 GPU、オーディオ、GigE、PCIe、SATA、USB 3.0 + 2.0、WiFi ac、BT | MIPI、LVDS、4K、PMIC、GPU、PCIe、オーディオ、GigE、USB 3.0、CAN、最大4 HDMIディスプレイ | HDMI、PowerVR GPU、LVDS、WiFi、BT、オーディオ、Eth 10/100、USB 2.0 | 7"容量性タッチスクリーン、HDMI、オーディオ、PowerVR GPU、GigE、SATA、MiniPCIe、USB 3.0 |
アーキテクチャ | x86-64 | x86-64 | ARM-64 | ARM-64 | ARM-32 |
処理能力 | V1807B x 4 core @ 3.8GHz | J3455 x 4 core @ 1.5GHz | A72 x 2 core @ 1.6 GHz; A53 x 4 core @ 1.2 GHz; M4 x 2 core @ 266 MHz | A57 x 4 core @ 1.5 GHz; A53 x 4 core @ 1.2 GHz | A15 x 2 core @ 1.5GHz、 M4 x 2 core |
ユースケース | 大 | 大 | 大 | 大 | 中 |
電力消費 | ★ | ★ | ★★ | ★★ | ★★★ |
耐用年数 | ★★★ | ★★★ | ★★★★★ | ★★★★★ | ★★★★★ |
独自の機能 | 最大4ディスプレイ@ 4K | NUCはミニPCであるが、SoCは組み込み互換 | アクセル、ジャイロ、圧力、光センサー | 自動車、EAVB、440ピン拡張 | カメラオプション、 2 x C66x DSP |
★が最もランクが低く、★★★★★が最高
* SoCには、評価用基板では未確認であった追加機能が含まれている場合があります
組み込みシステムの処理を将来的に主導するのは、汎用的なCPUではなくSoCであると、ほとんどの専門家が考えています。高度なSoCでは、メモリやグラフィックプロセッサ、その他の重要な機能が、1つのチップに集積されるようになっています。
CPUまたはSoCを選択することは、組み込みシステムを構築する過程で非常に重要な決定事項になるでしょう。プロセッサはシステムの中でも特に高価なパーツであり、またソフトウェアと適切に連動することが求められます。選択したCPUを後で変更することになれば、多大なコストがかかります。CPUは、組み込みシステムの構築に関する、他の多くの選択に影響するためです。
Qtは、良好に機能する組み込みシステムを開発し、またコストを抑えながら市場に迅速に参入できるように支援します。最先端の組み込みシステムを構築できる、特別なツールも提供します。それらのツールは、2D/3Dグラフィカルインターフェイスの作成から、高度に自動化されたシステムの構築まで、開発者の広範な用途とニーズに対応します。Qtを使用すれば、1つの実装でローエンド製品からハイエンド製品に至る、全製品ラインのデプロイが可能になります。
ROI推定ツールを使用すると、Qtへの移行後の投資利益率を見積もることができます。
商用ライセンスのトライアルやオープンソースを利用したい方は、ぜひQtの無料トライアルを開始してみてください!また、Qtについてご質問あり場合は、お気軽にお問い合わせください。