マイコンとDSPの違いって何?:Q&Aで学ぶマイコン講座(14)(3/3 ページ)
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、初級者の方からよく質問される「マイコンとDSPの違いって何?」についてです。
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準拠)もサポートしています。
Cortex-M3とCortex-M4でDSP命令を使用したときの差を、センサーレスモータ用のコードを例にして説明します。
図3の表の左側がCortex-M3の命令セットで構成されたコードの一部です。右側にCortex-M4のDSP命令に置き換えた場合を示します。
1行目と2行目の命令と4行目と6行目がそれぞれ1つの命令に置き換え可能で、それぞれ1サイクルで実行されますので、各3サイクル短縮することができます。
比較してみる
マイコンと、一般的なDSPと、Cortex-M4と、オーディオ専用のDSPを使ってMP3オーディオ再生を行った場合の性能比較を図4に示します。
横軸はMP3デコードを行う場合に必要な動作周波数を示したしたものです。従って、数値が小さい方が性能が高いことになります。オーディオ専用のDSPの性能が一番高いのは当然ですが、次にCortex-M4(推定値ですが)が高性能です。一般的なディスクリートDSPがその次になります。汎用マイコンは1番性能が低くなりますが、そもそもターゲットアプリケーションが異なりますので当然の結果といえます。
一般的なディスクリートDSPでさえ、汎用マイコンの約2倍のパフォーマンスです。このことから、いかにDSPが複雑な高速演算に向いているかが分かります。
関連キーワード
マイコン 関連 | マイコン | DSP(Digital Signal Processor) | ARM | Cortex | 32ビット | 比較 | QandAで学ぶマイコン講座 | 性能比較
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- マイコンの選び方
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、初級者の方からよく質問される「マイコンの選び方」についてです。 - そもそも「マイコン」って何?
マイコンを使いこなすために知っておくべき基本用語を毎回1つずつ取り上げて解説する新連載がスタート!! 第1回目の今回は、「そもそも“マイコン”って何?」という問い掛けから、マイコンの実態や応用分野、具体的な働きについて紹介します。 - CISCとRISC、何が違う?
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。記念すべき1回目は、マイコン初心者の方からよく質問される「CISCとRISCの違い」についてです。 - マイコンの中枢「CPU」とは
お待たせしました。いよいよCPUの話です。CPUはマイコンの中枢部分に相当します。30年くらい前のマイコンはCPUだけで構成されていました。メモリや周辺機能は別のICとしてプリント基板上でマイコンの周辺装置として接続されていました。それほどマイコンにとって大切な部分です。 - マイコンが港で行う仕事とは? 「入出力ポート」
マイコンが行う仕事の中で、最も簡単な仕事は、「端子から0/1の信号を出すこと」と、「端子に入力された0/1の信号を読み取ること」です。非常に簡単な動作ですが、非常に重要な動作です。どんな高機能なマイコンでも、必ず使われている機能であり、今回はこの機能を行う「入出力ポート」を説明します。