1.15 ARM アーキテクチャ v7-R

ARMv7-R は、リアルタイムプロファイルをターゲットにした ARMv7 アーキテクチャのバリアントです。ARMv7-R アーキテクチャは、ARM と Thumb の両方の命令セットをサポートします。

以下の表に、便利なコマンドラインオプションを示します。

表 1-8 ARMv7-R の便利なコマンドラインオプション

コマンドラインオプション 説明
--cpu=7 Thumb 命令(ARM 命令を除く)のみをサポートし、ハードウェア除算をサポートしない ARMv7a
--cpu=7-R ARM 命令、16 ビットでエンコードされた Thumb 命令、32 ビットでエンコードされた Thumb 命令、VFP、32 ビット SIMD のサポート、およびハードウェア除算が指定された ARMv7 リアルタイムプロファイル
--cpu=name

name は特定の ARM プロセッサです以下に例を示します。

  • ARM 命令、Thumb 命令、ハードウェア VFP、ハードウェア除算、および SIMD サポートが指定された ARMv7 の Cortex-R4F

主な機能

ARMv7-R の主な機能

  • SDIV および UDIV 命令をサポートします。

境界整列のサポート

ARM でサポートされているデータの境界整列の動作は、ARMv4 と ARMv7 で大幅に変更されました。ARMv7 実装は、LDRSTRLDRH、および STRH を使用して、いくつかの非境界整列データアクセスを行うためのハードウェアサポートを提供します。その他のデータアクセスは、LDMSTMLDRDSTRDLDCSTCLDREXSTREX、および SWP を使用して境界整列を維持する必要があります。

ロードおよびストア命令の整列要求は、CP15 レジスタ c1 の A ビットを使用して制御できます。

エンディアンのサポート

コンパイラのコマンドラインオプション --littleend および --bigend を使用すると、それぞれリトルエンディアンコードまたはビッグエンディアンコードを生成できます。

ARMv7-R は、以下のエンディアンモードをサポートします。

LE

リトルエンディアン形式

BE-8

ビッグエンディアン形式

ARMv7 は、従来の BE-32 モードをサポートしません。ビッグエンディアンのバイト順序が指定された命令を含む ARM v7 プロセッサ用の従来のコードがある場合、バイト順序の反転を実行する必要があります。

ARMv7-R は、リセットからの静的オプションとしてバイト順序反転ハードウェア(オプション)をサポートします。

関連する概念
1.9 ARM アーキテクチャプロファイル
関連情報
コンパイラによる自然なバイト境界整列でのデータオブジェクトの格納
--unaligned_access、--no_unaligned_access コンパイラオプション
--cpu=name アセンブラオプション
--bigend アセンブラオプション
--littleend アセンブラオプション
『ARM アーキテクチャリファレンスマニュアル』(ARMv7-A および ARMv7-R エディション)
a

ARM v7 は認識された ARM アーキテクチャではありません。しかし、ARMv7-A、ARMv7-R、および ARMv7-M のすべてのアーキテクチャに共通の機能を示しています。

非機密扱いPDF file icon PDF 版ARM DUI0471JJ
Copyright © 2010-2013 ARM.All rights reserved.