連載
» 2016年01月26日 11時30分 UPDATE

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

[菅井賢(STマイクロエレクトロニクス),EDN Japan]
前のページへ 1|2|3       

命令セット

 MCUの命令セットは一般的な四則演算や論理演算が主な演算命令ですが、MPUは、さらに浮動少数点演算*5)、DSP演算*6)が追加されています。工学的に桁数の多い演算や、複雑な積和演算などは浮動少数点演算、DSP演算を使うと短時間で処理できます。しかし、その分、内部のハードウェアは複雑になります。

 必ずしも、MCUの命令セットが、浮動少数点演算、DSP演算をサポートしていないかというと、そんなことはなく、中には浮動少数点演算、DSP演算をサポートしているMCUもあります。例えば、ARM社のCortex-M4やCortex-M7シリーズは浮動少数点演算、DSP演算のどちらもサポートしていて、Cortex-M7では倍精度の浮動少数点演算までサポートしています。

*5)関連記事:Q&Aで学ぶマイコン講座(17):浮動小数点演算のメリット参照
*6)関連記事:Q&Aで学ぶマイコン講座(14):マイコンとDSPの違いって何?

メモリ管理

 MCUにはメモリが内蔵されています。最近ではEEPROMも内蔵されているMCUもあります。そのため、メモリ管理が容易で、ユーザーはあまりメモリ管理に気を使う必要がありません。内蔵メモリでは容量が足りないため、外部メモリを接続できるようになっているMCUもあります。しかし、この場合でも、MCUの周辺機能(ハードウェア)がメモリアクセスをほとんど自動的に行うため、ユーザーの負担は軽くなっています。

 MPUにはメモリが内蔵されていない場合が多く、外付けメモリをつなげなくてはなりません。メモリはなくてもキャッシュは内蔵しているMPUもあります。そのため、MPUではユーザーがメモリ管理を行う必要があります。

コスト

 ここまでMCUとMPUの違いを見てきましたが、MPUは高速処理を目的としているために、コストのかかる手法を取り入れていることが分かります。ALUのビット数がMCUよりも多く、さらにスーパースカラ方式で、ALUを複数持っています。浮動少数点演算、DSP演算をサポートしているので、総合的に演算装置のハードウェアが大きくなっています。

 また、製造プロセスもMCUよりも微細プロセスを使いMOSのスイッチング速度を上げています。微細プロセスは製造コストが高く、マイコンの価格に影響を与えます。

 結局、MPUはMCUよりも価格が高くなります。

MCUとMPUの具体例

 MCUとMPUの具体的で、最も分かりやすい例は、ARMのCortexシリーズです。Cortex-AのAはApplication向けというコンセプトです。Cortex-MのMはMicrocontrollerというコンセプトなので、まさにCorte-AがMPU、Cortex-MがMCUだと言えます。

 ただし、Cortex-Mシリーズの中の最新コアのCortex-M7だけがスーパースカラを採用し、数百メガヘルツでの動作が可能で、MCUの中でも群を抜いた性能を実現しています。また、命令セットには、倍精度の浮動少数点やDSP命令が含まれています。性能だけ見るとMPUに分類されますが、Cortex-Mの仲間なのでMCUに入ります。

過去の質問一覧はこちら

前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from UBM Electronics, a division of United Business Media LLC.