組み込み機器のプロセッサ(またはマイクロコントローラ)において、ARMプロセッサは高いシェアを占めている。ARMプロセッサとは、英ARMが提供するプロセッサコア(ARMコア)を採用したプロセッサのことで、さまざまな半導体ベンダから数多くの種類のARMプロセッサが出荷されている。
最近では、あらゆる組み込み機器において「低消費電力」と「高性能」という2つの要求を同時に実現することが極めて重要となっているが、ARMコアはこれを満たすことを特徴としている(詳しくはこちらを参照)。また、各半導体ベンダにおいても、消費電力を抑えながらも性能を上げるために、さまざまなしくみを設けている。
本稿では、ARMプロセッサの一例として、STMicroelectronics(以下、ST)の「STM32」シリーズに注目し、その低消費電力のためのしくみについて述べていく。STM32シリーズは、ARMコアである「Cortex-M3」コアを採用した32ビットマイクロコントローラ(以下、マイコン)で、消費電力を16ビットマイコンと同等までに抑えていることを特徴としている。
Cortex-M3を採用した32ビットマイコン「STM32」シリーズの概要
STM32シリーズは、ARMのCortex-M3コアを採用した32ビットマイコンである。STM32シリーズは、Cortex-M3コアにより、パフォーマンスとコード密度の向上を実現するThum-2命令セット、および割り込みに対する応答を大幅に改善するためにネスト化されたベクタ割り込みコントローラなどを搭載している(図1)。
STM32シリーズは、32Kバイト~128Kバイトのフラッシュメモリと、6Kバイト~20KバイトのRAMを内蔵している。さらに、16ビットマイコンクラスの「アクセスライン」と32ビットマイコンクラスの「パフォーマンスライン」の両方を用意しており、それぞれがピン配置の互換性をもっている。
「パフォーマンスライン」であるSTM32F103は72MHzで動作し、多くのオンチップRAMとペリフェラルを搭載。高性能でエネルギ効率に優れた32ビットマイコンである。また、「アクセスライン」であるSTM32F101の動作クロックは36MHz。32ビットマイコンのパワーを持ちながら、コストは16ビットマイコン程度まで抑えている(図2)。