Thumb-2命令
Thumb-2命令セットとは、16ビット固定長命令セットとして導入され、Thumb-2技術の導入で、16ビットおよび32ビット命令長の混在命令セットです。Arm命令セットのパフォーマンスと、Thumb命令セットのコード密度の特徴をあわせ持つ、Cortexシリーズの主力命令セットです。
Thumb-2命令セットとは、16ビット固定長命令セットとして導入され、Thumb-2技術の導入で、16ビットおよび32ビット命令長の混在命令セットです。Arm命令セットのパフォーマンスと、Thumb命令セットのコード密度の特徴をあわせ持つ、Cortexシリーズの主力命令セットです。
従来のArmプロセッサはArm命令(32ビット)とThumb命令(16ビット)の2つの命令セットを採用していました。しかし、Cortex-M3はArm命令セットを採用せず、Thumb命令セットの新版であるThumb-2命令セットを採用しています。
Cortex-M3プロセッサの機能概要を簡単に説明します。Cortex-M3コアは、少ないゲート数、短い割り込みのオーバーヘッド、低コストのデバッグを特徴とする低電力コアです。高速な割り込み応答機能を要求する組み込み用途に向いています。
Cortex-M3も制御部と演算部を含んで、Cortex-M3プロセッサと呼んでいます。 Cortex-M3プロセッサの中に、演算部であるCortex-M3コアが含まれていますので、Cortex-M3プロセッサとCortex-M3コアの2層構造になっていると言えます。
Arm Cortexには、Cortex-AとCortex-RとCortex-Mがあります。AはApplication、RはReal time、MはMicrocontrollerの各々の頭文字からとりました。もうお気付きだと思いますが、並べるとArmになります。今回はCortex-Mについて詳しく述べるのが目的なので、Cortex-AとCortex-Rを深く掘り下げませんが、以下簡単に説明しておきます。