マイクロコントローラーとマイクロプロセッサーの違い
2024年6月13日
ブログを読む

マイクロコントローラー装置(MCU)マイクロプロセッサー装置(MPU)は、ある点では似ていますが、他の多くの点で大きく異なる、2つの個別の集積回路です。時代遅れのマルチコンポーネントである中央処理装置(CPU)を個別の論理装置に置き換えたこれらのシングルチップ・プロセッサーは、コンピューティング・テクノロジーの継続的な発展に大いに貢献してきました。しかし、マイクロコントローラーとマイクロプロセッサーは、コンポーネント構造やチップ・アーキテクチャー、さらには、性能やアプリケーションが大きく異なります。

これら2装置の主な違いは、マイクロコントローラーがマイクロコンピューター・システムに必要なすべての要素を1つのハードウェアに統合していることです。マイクロコントローラーは、その機能のためにペリフェラルや複雑なオペレーティング・システムを別途必要としない一方で、マイクロプロセッサーはそれらを必要とします。どちらの回路にもCPUが含まれていますが、マイクロコントローラーにはメモリー、入出力(I/O)コンポーネント、その他のさまざまなペリフェラルも組み込まれています。

コスト効率に優れ、小型で低消費電力のマイクロコントローラーは、オールインワン機能向けに最適化されています。そのため、これらの装置は、自動車インフォテインメント・システムやモノのインターネット(IoT) デバイスなどの特定のアプリケーションに最適です。

逆に、汎用マイクロプロセッサーは、通常、より強力であり、パーソナル・コンピューティングや画像処理など、要求の厳しいアプリケーションでパフォーマンスを向上させるために、専用のハードウェアによってサポートされるように設計されています。

ハードウェア・レベルでは、マイクロプロセッサーは「従来型」のフォン・ノイマン・アーキテクチャーを基盤としています。これは、演算論理装置(ALU)とプロセッサー・レジスター(高速データ・アクセス用の少量の高速メモリー・ストレージ)の両方を兼ね備えたCPU、制御装置、データ・命令用メモリー、大容量ストレージ用の外部メモリー、および I/O メカニズムで構成されています。この方法では、命令の送信と操作の実行の両方に、同じ相互接続ワイヤー・セット(つまり、バス)を使用します。マイクロプロセッサーはこれらのアクションを同時に実行することはできませんが、最新のデバイスではデータのボトルネックを回避するためにさまざまな緩和技術が導入されています。

一方、マイクロコントローラーは、より複雑なHarvardアーキテクチャーを使用しています。このアーキテクチャには、メモリーへのデータの読み取りと書き込みを行うための専用のデータ・バスとアドレス・バスのセットと、操作を実行するための命令を取得するための別のセットがあります。CPUは命令の読み取りとデータ・メモリーへのアクセスを同時に実行できるため、Harvardアーキテクチャーでは基本的な操作をより高速に実行できます。

Harvardアーキテクチャーは、リアルタイムの高速コンピューティング・タスクに優れています。しかし、簡素化されたフォン・ノイマン型アーキテクチャーの統一されたデータと命令のメモリー空間により、信頼性と拡張性ーが向上します。このため、フォン・ノイマン型を使用したマイクロプロセッサーは、高性能コンピューティング(HPC)やゲームなどの要求の厳しいタスクに適していますが、マイクロコントローラーは通常、高速信号処理に使用されます。

マイクロコントローラーを理解する

基本的に、マイクロコントローラーは、プロセッサー・コア(1つまたは複数)、操作用メモリー(RAM)、およびプログラム用メモリーの電気的に消去可能な、プログラマブルの読み取り専用メモリー(EEPROM)を含む、単一チップ上に構築される小型コンピューターです。スタンドアロン装置として機能するように最適化されたマイクロコントローラーを統合することにより、リアルタイムでの信号処理が改善され、これらの小型装置は、組み込みシステム内の特定のタスクや機能の管理に最適です。

マイクロコントローラーの主要コンポーネント

  • 中央処理装置(CPU):コンピューターの「頭脳」とも呼ばれるCPUは、命令の実行と操作の制御を担当します。
  • メモリー:マイクロコントローラーには、システムの電源が失われた場合に失われる可能性のある一時データを保存する揮発性メモリー(RAM)と、マイクロコントローラーのプログラミング・コードを保存する不揮発性フラッシュ・メモリー(ROM)の両方が含まれています。
  • ペリフェラル:対象アプリケーションに応じて、マイクロコントローラーには、I/Oインターフェース、タイマー、カウンター、アナログ/デジタル・コンバーター(ADC)、通信プロトコル(UART、SPI、I2C)など、幅広い周辺コンポーネントが含まれる場合があります。

小型軽量で比較的低消費電力のマイクロコントローラーは、スマートフォン、スマートウォッチ、その他のウェアラブルなどのバッテリー駆動の電子機器に最適で、ファンの間で根強い人気があります。ArduinoやRaspberry Piなどの消費者向けプログラマブルなマイクロコントローラーは、Windows、Linux、MacOSオペレーティング・システムで一般的に使用されているC、C++、Pythonなどのプログラミング言語で簡単に構成できます。マイクロコントローラーは初心者の開発者でも簡単に利用できるだけでなく、産業オートメーション、輸送安全システム、プロトタイピングなど、幅広い専門的および産業的なユースケースでも頻繁に使用されています。

マイクロコントローラーの種類とユースケース

日本の電卓メーカーからのカスタムチップの要請に応えてTexas Instruments社のエンジニアであるGary Boone氏とMichael Cochran氏が、1971年に最初のマイクロコントローラーを開発したと言われています。回路技術における画期的な進歩により、その後数年間で Intel社、NXP社、Arm社などのメーカーが幾度となく改良を重ねてきました。

以下で、マイクロコントローラの一般的なタイプをいくつか紹介します。

  • 8ビット・マイクロコントローラー:最も基本的なタイプのマイクロコントローラーで、処理能力とメモリーが限られており、通常は玩具やリモコンなどの小型家電製品で使用されています。
  • 16ビット・マイクロコントローラー:8ビット・モデルの2倍の能力を持つ16ビット・マイクロコントローラーは、医療機器、自動車システム、産業用制御システムなど、より複雑な用途に使用されています。
  • 32ビット・マイクロコントローラー:最もパワフルで機能が豊富なマイクロコントローラーであり、ゲーム機、エンターテイメント・デバイス、高度な産業オートメーションなど、要求の厳しい用途に使用されています。
  • 縮小命令セットコンピューター(RISC)マイクロコントローラー:RISCマイクロコントローラーには、複合命令セット・コンピューター(CISC)アーキテクチャーなどの他の方法論よりも少ない計算命令をより速く実行することで、操作を簡素化および改善する設計アーキテクチャーが組み込まれています。
  • ARMマイクロコントローラー:以前はAdvanced RISC Machinesの略語であったこれらのタイプのマイクロコントローラーには、パフォーマンスと信頼性を高める最新のARM Cortexサブセットを含む、ARMアーキテクチャーが組み込まれています。ARMマイクロコントローラーは、モバイル・デバイス、自動車システム、産業用制御システムで広く使用されています。
  • PICマイクロコントローラー:Microchip Technology社によって開発されたPICマイクロコントローラーは、ロボット工学、家庭および産業オートメーション、再生可能エネルギー・システムでよく使用されている世界最小のマイクロコントローラーです。
  • FPGAベースのマイクロコントローラー:デジタル信号処理、動画処理、高速ネットワークを必要とするアプリケーションでよく使用されるこれらのマイクロコントローラーは、フィールド・プログラマブル・ゲート・アレイ(FPGA)と呼ばれるカスタマイズ可能なチップを使用します。このチップはハードウェア・レベルで構成および再構成できるため、厳しい処理要件に対応する独自のハードウェア・ソリューションを構築できます。
マイクロプロセッサーを理解する

マイクロプロセッサーは、CPUに必要なすべてのコンポーネントを1つの回路に統合した、主流のコンピューター・プロセッサーです。MPUは、旧式のCPUコンピューター・システムの演算装置、論理装置、制御装置を、クロック駆動型でレジスター・ベースの単一の多目的ハードウェアに統合します。この統合設計により、潜在的な障害点が削減され、信頼性が向上します。マイクロプロセッサーにはオンチップ・プログラム・メモリーこそ搭載されていませんが、要求の厳しい汎用用途向けに最適化されており、特殊なコンピュータペリフェラルをサポートし、また特殊なコンピュータペリフェラルからサポートされるように設計されています。

マイクロプロセッサーの主要コンポーネント

最新のマイクロプロセッサーは、何百万もの小さなトランジスター、抵抗、ダイオードを、1つの半導体材料の上に集積することで、CPUの主要コンポーネントを構築します。

  • 演算論理装置(ALU):CPUの主要な演算論理装置で、数学的計算やデータ比較などの論理処理を行います。
  • 制御装置(CU):CU回路が命令を解釈して実行を開始し、プロセッサーの基本動作を指示します。
  • レジスター:CPUが計算プロセス中にデータや命令を一時的に保持するために使用する、小容量で高速なメモリー・ストレージです。

  • キャッシュ・メモリー:マイクロプロセッサーとCPUは、CPUの近くに配置された高速メモリーであるキャッシュ・メモリーを使用して、アクセスする頻繁の高いデータを保管し、性能を向上させます。
  • プロセッサー・コア:マイクロプロセッサー内の個々の処理装置のことをコアと呼びます。最新のプロセッサーは、多くの場合、複数のコア(デュアルコア、クアッドコア)を組み込んでおり、複数のタスクを同時に実行することにより、並列処理が可能になっています。
  • I/Oモジュール:マイクロプロセッサーのI/Oコンポーネントは、イーサネット・ポートやWi‐Fi装置などのネットワーク関連機器を含むコンピューターペリフェラルを含め、CPUとの間のデータ・フローを管理するために欠かせません。

マイクロプロセッサーの種類とユースケース

多用途のマイクロプロセッサーはさまざまなアプリケーションで使用されていますが、高出力処理を必要とする特定のタスクには、専用装置が一般的に使用されています。電力、パフォーマンス、サイズ、エネルギー消費量など、さまざまな側面から、マイクロプロセッサーの主な種類をいくつか以下に示します。

  • 汎用マイクロプロセッサー:これらの多用途のマイクロプロセッサーは、ノートPCやサーバーなど、さまざまな一般的なアプリケーションやデバイスに使用されています。
  • デジタル・シグナル・プロセッサー(DSP): DSPは高速数値計算に特化しており、多くの場合、音声処理、通信、画像処理などの要求の厳しいタスクに使用されます。また、気象センサーなど、アナログ信号をデジタル信号に変換する必要があるアプリケーションでも見られる場合があります。DSPは一般的に、監視ドローンといった自律航空機などの軍事用途で使用されています。
  • 特定用途向け集積回路(ASIC):ASICマイクロプロセッサーは特定のタスク用に設計されており、さまざまな用途における特定の要求を満たすようにカスタマイズされています。ASICマイクロプロセッサーの例としては、ゲーム機や暗号通貨マイニング用のカスタム・チップなどがあります。DSP、GPU、およびその他のタイプの特殊なマイクロプロセッサーも技術的にはASICです。
  • 画像処理装置(GPU):GPUマイクロプロセッサーは、強力なパフォーマンスと並列処理を必要とするデジタル動画や画像のレンダリングという要求の厳しいタスク向けに特別に設計されたものです。ハイエンド・ゲームに極めて重要である強力なGPUマイクロプロセッサーは、一般的に暗号通貨マイニングでも使用されており、消費電力が高いことで知られています。
  • ネットワーク・プロセッサー:通信スイッチ、ルーター、ネットワーク・セキュリティー・デバイスで最も頻繁に使用されるネットワーク・データ・パケットを処理するために特別に最適化されたASICマイクロプロセッサーの一種。
  • コプロセッサー:浮動小数点装置(FPU)などのコプロセッサーは、システムのメインCPUの補助サポートを行い、高度な科学計算や複雑な数式の実行など、要求の厳しい特定のタスクを行っている間のパフォーマンスを向上させるよう設計されています。
マイクロコントローラーとマイクロプロセッサーの間の選択

マイクロコントローラーとマイクロプロセッサーは、いくつかの同じタスクを実行できます。ただし、アプリケーションの要件に応じて、それぞれに独自の長所と短所があります。マイクロコントローラーは低消費電力のための省電力モードなどの各種機能が搭載されており、ほとんどの組み込みシステムに最適です。

ただし、複雑な計算やより高い処理能力が必要な状況では、マイクロプロセッサーの方が適しています。一方で、パフォーマンスと柔軟性が向上すると、消費電力が増加し、価格も高くなるというデメリットもあります。これらの機能により、マイクロプロセッサーはパーソナル・コンピューターや産業用スーパーコンピューターに最適とされています。

IBMコンサルティングで目標を達成する

IBMでビジネスを加速し、目標を達成しましょう。IBMビジネス・コンサルティング・サービスは、業務を効率化し、コストを削減する専用のアプリケーション・モダナイゼーションの実現を後押しします。一方、IBMテクノロジー・コンサルティングは、新テクノロジーをコア・ビジネス・プロセスに組み込み、運用可能にすることで、価値実現までにかかる時間を短縮し、重要なテクノロジーのモダナイゼーションを簡素化します。


著者
Josh Schneider Senior Writer, IBM Blog