
Cortex-M0 Plus マイクロコントローラ

こんにちは。STM0U32 マイクロコントローラ ファミリのすべての製品に組み込まれている ARM® Cortex®-M0+ コアのプレゼンテーションへようこそ。
Cortex-M0+プロセッサ以上view
- ARMv6-Mアーキテクチャ
- フォン・ノイマン・アーキテクチャ、2-stagパイプライン
- シングルイシューアーキテクチャ
- 1サイクルで乗算する
- メモリ保護ユニット (MPU)
- シングルサイクルI/Oポート

| 超低消費電力設計 非常にコンパクトなコード | |
| 低消費電力と高エネルギー効率 | 制御命令と分岐・リンク命令を除き、すべての命令は16ビット長である。 |
Cortex®-M0+コアは、32ビットRISCコアのARM Cortex-Mグループの一部です。ARMv6-Mアーキテクチャを実装し、2秒のtagパイプライン。
Cortex®-M0+ には独自の AHB-Lite マスター ポートがありますが、データ アクセスが高速 I/O ポート アドレス範囲をターゲットとする場合は、同時命令フェッチとデータ アクセスをサポートします。
Cortex-Mプロセッサの互換性
すべてのアプリケーションにわたるシームレスなアーキテクチャ

STM32U0 マイクロコントローラは、ミリワットあたりの比類のないパフォーマンスを実現するために ARM® Cortex®-M0+ コアを統合しています。
すべての Cortex®-M CPU は 32 ビット アーキテクチャを備えています。
Cortex®-M3 は、ARM がリリースした最初の Cortex®-M CPU です。
そこで ARM は、高性能と低消費電力の 2 つの製品ラインを区別しながら、それらの間の互換性を維持することを決定しました。
Cortex®-M0+ は低電力製品ラインに属し、電力消費に非常に敏感なバッテリー駆動デバイス向けに設計されています。
コアアーキテクチャー終了view

Cortex®-M0+コアは、0-sのおかげでCortex®-M2コアよりも高いパフォーマンスを発揮します。tage 命令パイプライン。
CPU の説明は、命令の取得と実行を担当するプロセッサ コアから始めましょう。
ARM Cortex-M0+ → 2秒tagパイプライン

V6-M 命令のほとんどは 16 ビット長です。32 ビット命令は 32 つしかなく、そのほとんどはめったに使用されない制御命令です。ただし、サブプログラムを呼び出すために使用される分岐およびリンク命令も XNUMX ビット長です。これは、この命令と次に実行される命令を指すラベルとの間の大きなオフセットをサポートするためです。
理想的には、32 回の 16 ビット アクセスで XNUMX つの XNUMX ビット命令がロードされ、命令あたりのフェッチが少なくなります。
クロック番号 2 では、命令フェッチは発生しません。命令 N がロード/ストア命令の場合、AHB Lite ポートを使用してデータ アクセスを実行できます。
支店のパフォーマンス
Cortex®-M0+コア
• 最大16つのXNUMXビット分岐シャドウ命令

特定の分岐では、プリフェッチされた命令の無駄が少なくなります(2-sのおかげでtageパイプライン)。
クロック番号 1 では、プロセッサは Inst0 と無条件分岐命令をフェッチします。
クロック番号2では、Instr0を実行します。
クロック番号 3 では、分岐シャドウ命令と呼ばれる次の 1 つの連続命令 Inst2 と InstXNUMX をフェッチしながら、分岐命令を実行します。
クロック番号 4 では、プロセッサは Inst1 と Inst2 を破棄し、InstrN と InstN+1 をフェッチします。
Cortex-M0、M3、M4は3sを実装しているtagパイプライン: フェッチ、デコード、実行。分岐シャドウ命令の数はより多く、最大 16 つの XNUMX ビット命令があります。
コアアーキテクチャー終了view

Cortex®-M0+ には、組み込みキャッシュも内部 RAM もありません。そのため、命令フェッチ トランザクションはすべて AHB-Lite インターフェイスに送られ、データ アクセスはすべて AHB-Lite インターフェイスまたはシングル サイクル I/O ポートに送られます。
STM32U0 は、CPU 外部の組み込みフラッシュ コントローラにある SoC レベルの命令キャッシュを実装していることに注意してください。
AHB-Lite マスター ポートはバス マトリックスに接続され、CPU がメモリや周辺機器にアクセスできるようにします。トランザクションは AHB-Lite 上でパイプライン化されるため、最高のスループットはクロックあたり 32 ビットのデータまたは命令で、最小 2 クロックのレイテンシとなります。
Cortex®-M0+ にはシングルサイクル I/O ポートも搭載されており、CPU は 1 クロックのレイテンシでデータにアクセスできます。外部のデコード ロジックによって、このポートにデータ アクセスが送られるアドレス範囲が決定されます。
STM32U0 では、シングルサイクル I/O ポートは GPIO ポート レジスタへのアクセスには使用されません。代わりに、GPIO ポートは AHB にマップされ、DMA によるアクセスが可能になります。
メモリ保護ユニット
- MPU属性設定はアクセス権限を定義します
- 8つの独立したメモリ領域
- コードを実行できますか?
- データを書き込むことはできますか?
- 非特権モードアクセスですか?
STM32U0 マイクロコントローラの MPU は、以下の独立した構成可能な属性を持つ XNUMX つの独立したメモリ領域をサポートします。
- アクセス権: 特権モード/非特権モードでの読み取り/書き込みの許可/禁止、
- 実行許可: 実行可能領域または命令フェッチが禁止されている領域。
参考文献
- 詳細については、次のドキュメントを参照してください。
- STM32G0 シリーズ Cortex®-M0+ プロセッサ プログラミング マニュアル (PM0223)
- STM32 MCU のメモリ保護ユニット (MPU) の管理 (AN4838)
- アーム web次のリンクのサイトをご覧ください:
- http://www.arm.com/products/processors/cortex-m/cortex-m0+-processor.php
詳細については、これらのアプリケーションノートおよびCortex®-M0+プログラミングマニュアルを参照してください。 詳しくはこちら webサイト。
ARMもご覧ください webCortex®-M0+ コアに関する詳細情報が記載されているサイトです。
ありがとう
© STMicroelectronics – 無断複写・転載を禁じます。
ST ロゴは、STMicroelectronics International NV またはその関連会社の EU およびその他の国における商標または登録商標です。
STの商標の詳細については、以下を参照してください。 www.st.com/商標
他のすべての製品名またはサービス名は、それぞれの所有者に帰属します。
ドキュメント / リソース
![]() | Cortex-M0 Plus マイクロコントローラ |
参考文献
- ユーザーマニュアルmanual.tools

