検索
連載

MCUとMPUの違いって何?Q&Aで学ぶマイコン講座(22)(1/3 ページ)

マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、初級者の方からよく質問される「MCUとMPUの違いって何?」です。

Share
Tweet
LINE
Hatena

過去の質問一覧はこちら

 素朴な疑問から技術トラブルなどマイコンユーザーのあらゆる悩みに対し、マイコンメーカーのエンジニアが回答していく連載「Q&Aで学ぶマイコン講座」。

 今回は、初級者から多く寄せられる質問です。

 マイコン関連の書籍やWebサイトなどで「MCU」と「MPU」という言葉をよく見かけますが、この2つは何が違うのですか?どのように使い分ければよいのでしょうか?

 どちらもCPU(Central Processing Unit)を搭載した演算処理を行う半導体デバイス(本記事では、総称してマイコンと呼びます)です。厳密に定義されているわけではありません。したがって、文献や人によって使われている意味が若干異なる場合があります。

 一般的に、MCU(Micro Controller Unit)は汎用向けで、それよりも高機能・高性能向けがMPU(Micro Processor Unit)とされています。

 表1に相違点の目安をまとめました。

MCUとMPUの違い
項目 MCU MPU
演算ビット数 8〜32ビットが主流 最低でも32ビット、64ビットが主流
動作周波数 数メガから数百メガヘルツ 数百メガから数ギガヘルツが主流
アーキテクチャ パイプライン方式かランダム論理方式が主流(ただし、スーパースカラのものもある) スーパースカラ方式が主流
メモリ管理 外付けメモリが可能なものもあるが、メインメモリは内蔵。キャッシュやMMCユニットを内蔵するものもある 外付けメモリが主流。キャッシュやMMCユニットを内蔵するものもある。
命令セット 基本的な算術演算、論理演算のみ 基本的な算術演算、論理演算に加えDSP命令や浮動少数点命令を含む
価格 安い 高い
具体例 ARM Cortex-M
(小面積/低電力のコントローラ用途向けとして開発された)
ARM Cortex-A
(高性能アプリケーション向けプロセッサというコンセプトで開発された)
注)MCUとMPUの厳密な定義はありません。あくまで目安です

 MCUは、演算サイズが4ビット、8ビット、16ビット、32ビット幅で、MPUは32ビット以上が一般的です。演算速度は数百メガヘルツくらいまでがMCUで、それ以上がMPUです。フラッシュメモリやRAMを内蔵して、メモリ管理が容易なものがMCUで、外付けメモリを必要として、キャッシュ*1)や仮想メモリ*2)などを使って、高機能なメモリ管理を行うものがMPUです。内部のアーキテクチャが数段〜数十段のパイプラインのものがMCU(例外もありますが)で、スーパースカラなどの完全並列処理のものがMPUです。

 一般的なアプリケーションにはMCUが使われますが、特に高速処理が求められるアプリケーションにはMPUが使われています。

*1)キャッシュ(Cache):容量が大きいが、低速のメモリ」を主メモリとし、それより高速メモリ(これをキャッシュと言う)を用意して、最近アクセスされた主メモリのデータをキャッシュに残しておき、次に同じ番地がアクセスされたときは、キャッシュをアクセスすることにより、データアクセスを高速に処理する手法
*2)仮想メモリ:メモリの物理アドレスとは別に仮想アドレスを割り当てて、メモリ空間を管理する方式。「容量が小さいが、高速のメモリ」を連結して一つの連続した空間として利用したり、主メモリの実際の容量よりも、見かけ上大きくなるように制御する手法

Copyright © ITmedia, Inc. All Rights Reserved.

       | 次のページへ
ページトップに戻る