メディア

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

» 2015年05月27日 12時00分 公開
前のページへ 1|2|3       

DSP機能を備えたマイコン

 最近では、マイコンなのにDSPの特徴である高速演算能力を備えたものが出てきました。ARM社のCortex-M4とCortex-M7です。Cortex-MシリーズのMはMicrocontrollerの頭文字です。その名の通りマイコンとしてデビューしましたが、Cortex-M4シリーズからDSP命令をサポートするようになり、DSPとしても使えるようになりました。

 DSP命令は、従来製品Cortex-M3のマイコンの命令セットに新しく付加されたものなので、Cortex-M4とCortex-M7はマイコンとしてもDSPとしても使用することができます。図2にCortex-M4の命令セットを示します。Cortex-M3マイコンの命令セットを包括するようにDSP命令セットが追加されています。参考ですが、Cortex-M4は浮動少数点演算命令(IEEE 754準拠)もサポートしています。

図2 Cortex-M4の命令セット (クリックで拡大)

 Cortex-M3とCortex-M4でDSP命令を使用したときの差を、センサーレスモータ用のコードを例にして説明します。

 図3の表の左側がCortex-M3の命令セットで構成されたコードの一部です。右側にCortex-M4のDSP命令に置き換えた場合を示します。

図3 DSP命令の使用例(センサーレスモーター用コード)

 1行目と2行目の命令と4行目と6行目がそれぞれ1つの命令に置き換え可能で、それぞれ1サイクルで実行されますので、各3サイクル短縮することができます。

比較してみる

 マイコンと、一般的なDSPと、Cortex-M4と、オーディオ専用のDSPを使ってMP3オーディオ再生を行った場合の性能比較を図4に示します。

図4 マイコンとDSPの比較例
MP3デコードする場合に必要な動作周波数(MHz)。なお、数値が小さいほうがパフォーマンスが高い。

 横軸はMP3デコードを行う場合に必要な動作周波数を示したしたものです。従って、数値が小さい方が性能が高いことになります。オーディオ専用のDSPの性能が一番高いのは当然ですが、次にCortex-M4(推定値ですが)が高性能です。一般的なディスクリートDSPがその次になります。汎用マイコンは1番性能が低くなりますが、そもそもターゲットアプリケーションが異なりますので当然の結果といえます。

 一般的なディスクリートDSPでさえ、汎用マイコンの約2倍のパフォーマンスです。このことから、いかにDSPが複雑な高速演算に向いているかが分かります。

次の記事を読む

前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.