長年にわたり、 シングルボードコンピュータ は マザーボードと密接に結合されてきました。これらは同様のタスクを実行し、どちらもより高速な速度、より優れたグラフィックス、より優れたメモリを目指しました。基本的なタスクを問題なく実行し、はるかに少ない投資で済む Raspberry Pi 3 のような趣味用SBCの登場により、シングル ボード コンピューターには分裂が見られました。Piや BeagleBone などの一部の製品は、幅広い受け入れと適正な価格を目指しています。NVIDIA Jetson や Intel Joule 570xなどの他の製品は、依然としてSBCの機能の限界を押し広げています。
アーキテクチャの基礎
RISC対CISCというのは昔からある話です。人々は、 デスクトップ コンピューター や電話、またはこれらのアーキテクチャに基づくデバイスとのその他の高度なやり取りの経験に基づいて、好みの側を選ぶ傾向がありますが、SBC市場は、違いと利点について人々にさらに詳しい見方を与えました。
RISCかCISCかに関係なく、デバイスのCPU (中央処理装置) は、「命令」と呼ばれる特別なコードを使用して周囲のハードウェアを制御します。これらの命令はアセンブリ コードを構成し、アセンブリ コードは実際のバイナリ コードからの最終抽象化レイヤーの1つであり、非常に細分化されていますが、ある程度人間が判読できます。
図1. Raspberry Piで実行されるようなA64アセンブリ コード。
RISCは「縮小命令セットコンピューティング」の略で、CISCは「複雑命令セットコンピューティング」の略です。 上記のようなRISC命令は、1クロック サイクル内で実行できるほど単純です。 これらには、ADD、SUB (減算)、MOV (移動)、BIC (ビット単位のビット クリア) などの基本命令が含まれます。 RISCコードは、各操作を複数の単純なステップで実行する必要があるため長く見えますが、プロセッサがコードを解釈する方法を1対1でより正確に表現しています。 CISCでは、IMUL (符号付き乗算) やMOVS (文字列から文字列へのデータの移動) などのより複雑な操作が可能です。これらは1クロック サイクルでは完了できず、RISCアセンブリでは数行のコードが必要になります。
これら2つのアーキテクチャの詳細な説明は、1冊の本にまとめられています。ここで重要なのは、CISCプログラムは短いため、必要な RAMが少なくて済むのに対し、RISCプログラムでは、命令が複雑になるとCPUの最大クロック速度が制限されるため、クロック速度を高くできるという点です。初期のコンピューターはほぼ完全にCISCを使用して構築されていましたが、RAMの価格が下がるにつれて、RISCがより一般的なアーキテクチャになりました。ARMは、潜在的な電力節約のために伝統的にRISCを使用してきたため、ARMコアは通常効率的で、組み込み設計やモバイル設計でよく使用されます。Intelは、今でもCISCを使用している最大手であり、バッテリー寿命を節約したり、熱をそれほど気にする必要のないハイエンド コンピューターやサーバーで、複雑な命令を有利に利用しています。
シングルボードコンピュータへの影響
シングルボードコンピュータを購入する場合、考慮すべきことは単なる好みだけではありません。組み込みプロセッサ(ほとんどの場合RISC)は、その効率性と速度により、趣味のSBC分野で主流となっています。 Dragonboard410c は、多くの携帯電話に搭載されている Qualcommの Snapdragon410cプロセッサをベースにしています。
このようなボードは、コアの最高のパフォーマンスを発揮し、開発と実験に最適なエクスペリエンスを実現します。これらのボードは、スマートフォンのようにAndroidを実行しながら、1080 HDMIディスプレイを使用し、標準的なデスクトップ コンピューターのようにUSBキーボード/マウスを受け入れることができるため、開発者が仮想環境間を行き来する必要がありません。残念ながら、これらのボードは、組み込みプロセッサの欠点を必ずしも軽減するものではありません。 Snapdragon 410 などのモバイル プロセッサは1.8V GPIOを使用するため、 センサー やその他のハードウェアとの統合が困難な場合があります。開発者は、コアを適切なデスクトップ コンピューターとして使用しようとすると、コア固有のメモリまたは速度の制限に遭遇する可能性もあります。
ただし、 Intel Joule 570x のようなボードは、高電力ではなく低電力設計になっています。Intelは依然としてマザーボードや高性能コンピューティングの大手企業であるため、同社の課題は完全なCISCコアをスケールダウンしてSBCで使用することです。Intel Pentiumなどのプロセッサは、高負荷時に20ワット以上を消費することがあり、シングルボードコンピュータに期待されるよりもはるかに多くの熱管理が必要になります。
したがって、新しいJoule SBCに搭載されているAtomプロセッサは、低消費電力アプリケーションに適したコアに可能な限り多くの処理能力を詰め込む努力の結果です。Atomファミリはx86アーキテクチャを使用しています。これは技術的にはCISCアーキテクチャであり、いくつかの点でRISCを利用しており、厳密にはCISCというよりもハイブリッドです。複雑な命令を間違いなく処理できますが、長い命令がスループットに与える影響を軽減するために、二次的な操作を使用してこれらの命令を調整します。
同じプロジェクトをスケールアップしたコアとスケールダウンしたコアで試した場合の結果は、驚くほど難しい場合があります。最小限の計算能力と小さなフォームファクターが必要な場合、Raspberry Piは出発点として最適であり、より高価なボードはおそらく過剰です。サーバーファーム、メディアセンター、さらにはゲームリグなどのプロジェクトについて考えると、組み込みプロセッサベースのボードでそれらを実現するのは非常に難しい場合があります。速度とパフォーマンスがまったくなく、オペレーティングシステムの制約のために馴染みのないプログラムを使用することを余儀なくされる可能性があります。ほとんどの商用コンピューターではx86-64が使用されているため、CISCベースのボードは、パフォーマンスと一般的なプログラムの可用性の点で、適切なデスクトップコンピューターに非常に似ている傾向があります。アプリケーションに適したボードを選択することは、余裕のあるパフォーマンスを備えた強力なシステムを構築することと、携帯電話と同じプロセッサを備えたセットアップでStarCraftをプレイしようとすることの違いです。
さらに詳しく知りたい場合は、ニュースレターを購読して最新ニュースを入手してください。