暇村工房

ARM社のCortex-M4コアのメモ #embedded_jp #gadgetcafe

ARM社社のCortexの説明から

ARM CortexはA/R/Mの3つのファミリ
・Cortex-Aの応用分野は、サーバー、STB、ネットブック、モバイルアプリケーション
・Cortex-Rの応用分野は、ハードディスク、デジタルカメラ、モバイルベースバンド
・Cortex-Mの応用分野は、電化製品、モータ制御、オーディオ

Cortex-Mファミリ
・Cortex-M0:8/16bitアプリケーション。コアが小さく消費電力が少ない
・Cortex-M3:16/32bitアプリケーション。Cortex-Mシリーズの主力のコア
・Cortex-M4:32bit/DSCアプリケーション。デジタル信号処理を強化

新しいCortex-Mプロセッサの必要性
・デジタル信号処理が可能な「デジタルシグナルコントローラ(DSC)」を必要としている
・MCUとDSPの機能統合を望まれている
・高性能のモーターコントロール、効率的な低消費電力のオーディオ市場向け
・新アーキテクチャを加えて対応する市場を拡大 ⇒ Cortex-M4

Cortex-M4はデジタル信号処理用のコア
・これまでのCortex-MとDSP機能を一つのコアに統合
・既存のCortex-Mの機能、利点を継承(C言語での割り込み処理)
・浮動小数点演算、DSP命令の追加(シングルサイクルMAC、SIMD、ハードウェア除算)
・一つの開発ツール

Cortex-M4プロセッサの詳細

ARM v7MEアーキテクチャ
・Cortex-M3をベースに上位互換性を保つ
・Thumb-2テクノロジー
・ARM v6 SIMDとDSP
・シングルサイクルMAC(32×32+64 ⇒ 64)
・オプションでIEEE754単精度浮動小数点演算
・割り込みコントローラ(NVIC)

マイクロアーキテクチャ
・分岐予想付き3段パイプライン
・3つのAHB-LiteBusインターフェース

超低消費電力向け機能
・ディープスリープモード
・ウェークアップインタラプトコントローラ(WIC)

その他
・インタラプトコントローラ(1~240の要因と優先順位)
・メモリープロテクションユニット(MPU)

・デバッグとトレース機能
Cortex-M4ブロック図

Thumb-2インストラクションセット
命令セットはCortex-M4の上にM3、さらにM0/M1の命令セットが乗る構造になっている。このため、どのようなアプリケーションでもM0の命令セットを全て使えるため、再コンパイルせずに実行可能であるが、上位コアでは再コンパイルにより更に効率の良いコード生成が可能である。図1の下にある部分の命令セットはCortex-M4の浮動小数点の命令セットを表わしている。これはオプションでデバイス設計時に選択できる。

Thumb-2インストラクションセット

Cortex-M4の性能
DSP拡張した16/32bitMCUの約2倍の性能

DSP機能内蔵により演算サイクル数が半減

その他ソフト的には
・C言語上でのIntrinsinc(命令マクロ)で記述が可能
・割り込み処理をC言語上で言語で記述可能
・Cortex-M0,M3からの完全な上位互換性を持つ
・CIMSISでCortex-M4がサポートされている

等の特徴がある

参考サイト:ハイエンドマイコンに対応したCortex-M4

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です