Arm® Cortex®-M7の概要
Armv7E-Mアーキテクチャに基づく、32bit Arm® Cortex®-M7プロセッサ・コアは、Arm Cortex®-Mシリーズの中で最高の性能を提供します。オプションの倍精度浮動小数点ユニット(FPU)を含む、専用のデジタル信号処理(DSP)IPブロックを特徴としています。Arm® Cortex®-M7コアの高性能な機能は、複雑なオペレーティング・システムを必要とせずに、効率的で使いやすい制御が求められる要求の厳しいデジタル信号制御アプリケーションに柔軟に対応します。対応するアプリケーションの例としては、IoT、モータ制御、パワー・マネージメント、音声認識を含む組込みオーディオ、産業およびホーム・オートメーション、ヘルスケア、およびウエルネス向けのアプリケーションなどがあります。
Arm Cortex®-M7コアは、2.14 DMIPS/MHzおよび5.01 CoreMark/MHzスレッド性能を実現します。
Arm® Cortex®-M7コアの主な特徴
- Armv7E-Mアーキテクチャ
- バス・インタフェース: 64bit AMBA4 AXI、32bit AHBペリフェラル・ポート、外部マスタ(DMAコントローラなど)がTCMにアクセスするための32bit AMBA AHBスレーブ・ポート、CoreSightデバッグ・コンポーネント用AMBA APBインタフェース
- 命令キャッシュ: 0~64KB、ECCとの2ウェイ・アソシエイティブ(オプション)
- データ・キャッシュ: 0KB~64KB、ECCとの4ウェイ・アソシエイティブ(オプション)
- 命令TCM: 0MB~16MB、ECCインタフェース付き(オプション)
- データTCM: 0MB~16MB、ECCインタフェース付き(オプション)
- Thumb/Thumb-2サブセット命令サポート
- 6段スーパースカラ & 分岐予測
- DSP拡張: シングル・サイクル16bit / 32bit MAC、シングル・サイクル・デュアル16bit MAC、8bit / 16bit SIMD演算、ハードウェア除算器
- IEEE 754規格準拠の単精度および倍精度浮動小数点ユニット(次より選択:なし、単精度のみ、単精度および倍精度)(オプション)
- サブ領域とバックグラウンド領域付き8領域または16領域MPU(オプション)
- ビットフィールド処理命令内蔵
- ノンマスカブル割込みおよび1~240の物理割込み
- ウェイクアップ割込みコントローラ(オプション)
- WFI命令およびWFE命令とスリープ・オン・エグジット機能内蔵、スリープ信号およびディープ・スリープ信号、オプションのArm®パワー・マネージメント・キットによる保持モード
- 最大8つのブレークポイントと4つのウォッチポイント付きJTAGポートおよびシリアル・ワイヤ・デバッグ・ポート(オプション)
- 命令トレース(ETM)、データ・トレース(DWT)、およびインストルメンテーション・トレース(ITM)(オプション)。ETによるフル・データ・トレース(オプション)
- デュアル・コア・ロックステップ・サポート(DCLS)をサポート
Arm® Cortex®-M7搭載マイクロコントローラが選ばれる理由と主なメリット
Armv7E-Mアーキテクチャ
Arm Cortex-M4コアのArmv7E-Mアーキテクチャに基づいて構築されているArm Cortex-M7アーキテクチャは、以下の特徴を備えています。
- 以下によって実現されるより高度な性能:
- 命令キャッシュおよびデータ・キャッシュと組み合わされた、分岐予測付きの6段スーパースカラ・パイプライン。キャッシュは内部コンテンツの実行時やアクセス時の性能を高めるだけでなく、外部メモリ・インタフェースに接続された外部コンテンツの使用時の性能も高めます。アプリケーション・プロセッサと同様に、Arm Cortex-M7コアをベースにしたマイクロコントローラを使用している開発者は、内部リソースの制限を超えて、より大きなコードを使用してデータを拡張し、高度なミドルウェアやサービス(人工知能モデル、クラウド・コネクティビティとサービス、マルチプロトコル・サポート)を追加できます。マイクロコントローラの開発者は、引き続き、ソフトウェア・パッケージと同様の設計環境を活用できます。また、高度に統合されたマイクロコントローラでDDRメモリが不要な組込みパワー・マネージメント・ユニットIC(PMIC)によって、よりシンプルにコストを抑えることができます。
- より高いCPU周波数は、Arm Cortex-M4の3段パイプラインに比べて大幅に改善された、6段パイプライン・アーキテクチャによって実現できます。
- ゼロ・ウェイト実行を可能にする命令およびデータの密結合メモリ(TCM: Tightly Coupled Memories)。キャッシュは内部および外部のメモリ性能を高めますが、キャッシュ・ミスが起こった場合には遅延が発生し、要件の厳しいリアルタイム・アプリケーションで問題を引き起こすことがあります。TCM内で最もクリティカルなルーチンとデータをマッピングすることで、このようなアプリケーションでのゼロ・ウェイト性能を保証します。
- 外部メモリ・コントローラ、グラフィックIPS、GPU、内部メモリなどの広帯域ペリフェラルを追加する64bit AMBA4 AXIインタフェース。
- 追加のDSP拡張: Single Instruction Multiple Data(SIMD)処理、飽和演算命令、広範なシングルサイクルMAC命令、および倍精度浮動小数点演算をサポートするFPU(オプション)など。
Arm Cortex-M7のアーキテクチャは、サイクル数の少ない実行、最低限の割込み遅延、短いパイプライン、キャッシュレス演算を実行できる高度な演算が必要なリアルタイム制御アプリケーションに最適です。
デジタル信号処理
Arm Cortex-M7をベースにしたマイクロコントローラは、内蔵の高度なDSPハードウェア・ アクセラレータを利用し、数学的計算により信号を処理します。DSPハードウェア・アクセラレータは、マイクからの出力信号、モータ制御システムに組み込まれたセンサからのフィードバック、センサフュージョン・アプリケーションからの出力などのすべてのアナログ信号を処理できます。
デジタル信号処理によって、制御ループ・アルゴリズムを実行するために必要なサイクル数が削減されるため、アプリケーションの性能と電力効率が向上します。Arm Cortex-M7上で稼働するマイクロコントローラのハードウェア内には、固定小数点と倍精度浮動小数点の両方が実装されています。固定小数点と倍精度浮動小数点は、通常、Arm Cortex-M4をベースにしたマイクロコントローラよりきわめて高い性能を提供し、FFT、FIR、IIRおよびその他の主要なアルゴリズムの性能レベルを向上させます。
Arm Cortex-M7は、より優れたDSP性能を備え、より高い最大周波数を達成可能なため、オーディオ & 音声認識、モータ制御、デジタル電源、AI、センサ・フュージョンを含む、きわめて要求の厳しい信号処理アプリケーションの要件を満たします。
すべてのArm Cortex-M7搭載のSTM32マイクロコントローラにはDSPが組み込まれ、倍精度浮動小数点(オプション)が用意されています。
拡張性と電力効率
Arm Cortex-M7をベースにしたマイクロコントローラは、Cortexマイクロコントローラ・ソフトウェア・インタフェース規格(CMSIS)をサポートしているので、開発者はプロジェクトのために、さまざまなマイクロコントローラ間でコードを移植できます。このインタフェースによって、サードパーティによって提供されるソフトウェアの統合も簡略化されるため、開発期間の短縮に貢献します。
Arm Cortex-M7アーキテクチャの柔軟性と拡張性を活用して、設計者は最新の機械学習アルゴリズムを実行できます。また、電力効率もきわめて優れているため、IoTエッジ・コントローラ、バッテリ駆動のセンサ・ハブ、集信装置、電動自転車に最適です。
Arm Cortex-M7コアは、ほとんどの場合、シングルコア・マイクロコントローラに内蔵されていることが多いですが、新世代のマルチコア・マイクロコントローラは、システム統合と性能の最適化をより向上させているため、2つのタスクを役割分担した以下のユース・ケースを実装できます。
- Arm Cortex-M7をメイン制御コアとして使用し、リアルタイムのArm Cortex-M4コア(通信プロトコル、センサ出力の取得、リアルタイム制御)と連携できます。
- あるいは、Arm Cortex-M4コアをArm Cortex-M7コアに対するリアルタイム汎用コンパニオン・コアとして使用することができます。Arm Cortex-M7コアは非常に優れた計算能力を活用して、高度なグラフィックス、複雑なデジタル信号処理アルゴリズム、人工知能アルゴリズム、または通信プロトコルを処理できます。
Arm® Cortex®-M7をベースにしたSTM32マイクロコントローラ
STは、Arm Cortex-M7コアに、独自の低消費電力シリコン・テクノロジー、不揮発性組込みメモリ・テクノロジーの専門知識、ハードウェア・アクセラレータ(三角関数および双曲線計算用Cordic、フィルタ演算用FMAC、暗号化エンジンおよびハッシュ・エンジン、グラフィック処理ユニット、JPEGエンコーダおよびデコーダ)、高性能アーキテクチャ、およびコネクティビティを組み合わせ、Arm Cortex-M7搭載のSTM32マイクロコントローラを提供しています。これにより、エンジニアは多くの技術的および商業的課題を解決することが可能となります。
Arm Cortex-M7搭載のSTM32マイクロコントローラは、STM32Cube開発エコシステムに統合されており、STの広範なパートナー・ネットワークが提供するツールやソリューションを活用できます。
シングル・コア・シリーズ | 最大動作周波数(MHz) | 性能 (CoreMark) | Flashメモリ (KB) | RAM(KB) | 動作電圧範囲 (V) | パッケージ | 通信機能 | アナログ機能 |
STM32F7 | 216 | 1082 | 64~248 | 256~512 | 1.7~3.6 | LQFP64/100/144/176、208、UFBGA144/176、TFBGA100/216、WLCSP143/180 | 共通の接続* + CAN、カメラ・インタフェース、SDIO、デュアルQuad SPI、FMC、2D GPU、TFT、MIPI DSI、JPEGコーデック | あり |
STM32H7 | 550 | 2778 | 128~2048 | 564~1400 | 1.62~3.6 | VFQFPN68、LQFP64/100/144/176、208、UFBGA144/169/176、TFBGA100/216/225/240、WLCSP115/132/156 | 共通の接続* + FDCAN、カメラ・インタフェース、SDIO、デュアルQuadおよびOcto SPI、FMC、2D GPU、TFT、MIPI DSI、JPEGコーデック | 高度なアナログ |
デュアル・コア・シリーズ(高性能) | Arm Cortex-M7の最大動作周波数(MHz) | プロセッサ2 | Flashメモリ(KB) | RAM(KB) | 動作電圧範囲(V) | パッケージ | 通信機能 | アナログ機能 |
STM32H7 | 480 +L1 | Cortex-M4@240MHz | 128~2048 | 1024 | 1.62~3.6 | LQFP144/176、208、 UFBGA169/176、TFBGA240、WLCSP156 | 共通の接続* + FDCAN、カメラ・インタフェース、SDIO、デュアルQuadおよびOcto SPI、FMC、2D GPU、TFT、MIPI DSI、JPEGコーデック | 高度なアナログ |
Arm Cortex-M7コア開発キット
NUCLEO-H7A3ZI-Q
STM32H743ZIマイクロコントローラ搭載のSTM32 Nucleo開発ボードは、Arduino、ST Zioおよびmorpho接続をサポートしています
STM32マイクロコントローラ・ベースのソリューション
STM32開発エコシステム
Arm® Cortex®-Mコア搭載STM32マイクロコントローラ
Arm® Cortex®-M7
超高性能