用語集

この用語集では、ARM Limitedの発行する技術文書で使用されている用語の一部について説明します。

ARM状態

ARM(32ビット)ワードアラインド命令を実行しているプロセッサは、ARM状態で動作しています。

ARM命令

ARMプロセッサが実行する操作を示すワード。ARM命令はワードアラインしている必要があります。

CoreSight

完全なシステム オンチップ(SoC)のモニタ、トレース、デバッグを行うためのインフラストラクチャ。

DP命令

コプロセッサデータ処理命令。VFP11コプロセッサのCDP命令は、算術演算命令、FCPY命令、FABS命令、FNEG命令です。

See Also 算術演算命令.

Flush-to-Zeroモード

このモードでは、VFP11コプロセッサは次の値を正の0として扱います。

  • 入力精度で表現できる範囲より小さい算術演算入力。

  • 丸め前に、入力精度で表現できる範囲より小さい、0以外の算術演算の結果。

VFP11コプロセッサは、これらの値を非正規化値として解釈したり、非正規化値に変換したりしません。

入力精度での非正規化値の範囲は、-2Emin < x < 0または0 < x < 2Eminです。

IEEE 754規格

IEEE Standard for Binary Floating-Point Arithmetic, ANSI/IEEE Std. 754-1985。浮動小数点システムに関するデータ型、正常な動作、例外のタイプと処理、エラーバウンドを規定している規格です。ほとんどのプロセッサが、ハードウェア単体またはハードウェアとソフトウェアの組み合わせによって、この規格に準拠するように構築されています。

NaN

非数。浮動小数点形式でエンコードされ、指数フィールドが最大値で、仮数が0以外である記号エンティティ。SNaNは仮数の最上位ビットが0で、オペランドとして使用された場合に無効オペランド例外を引き起こします。QNaNは仮数の最上位ビットが1で、ほとんどすべての算術演算で例外を発生せずに伝播されます。

SBO

See 常に1.

SBZ

See 常に0.

SBZP

See 常に0または保持.

Thumb状態

Thumb(16ビット)ハーフワードアラインド命令を実行しているプロセッサは、Thumb状態で動作しています。

Thumb命令

ARMプロセッサがThumb状態で実行する動作を指定するハーフワード。Thumb命令は、ハーフワードアラインドの必要があります。

UNP

See 予測不能.

アーキテクチャ

プロセッサとその付属コンポーネントを特徴付け、同様の特徴を持つデバイスを、ハーバードアーキテクチャ、命令セットアーキテクチャ、ARMv6アーキテクチャなどのように、その動作を記述するときにグループ化することを可能にする、ハードウェアおよびソフトウェアの編成。

アドレシングモード

命令で使用する値を生成するために、多くの命令で共有される機構。ARMアドレシングモードのうち4つでは、値としてメモリアドレスが生成されます。これは、アドレシングモードの伝統的な使用法です。5番目のアドレシングモードでは、データ処理命令のオペランドとして使用される値が生成されます。

アボート

メモリアクセスに関連する値が無効であることをコアに通知する機構。アボートは、無効な命令またはデータメモリへのアクセスを実行した結果として、外部または内部のメモリシステムで発生する可能性があります。アボートは、プリフェッチアボートとデータアボート、内部アボートと外部アボートに分類されます。

アラインド

データサイズを定義しているバイト数で割り切れるアドレスに格納されているデータ項目を、アラインド、またはアラインしていると呼びます。アラインしているワードとハーフワードのアドレスは、それぞれ4と2で割り切れます。したがって、ワードアラインドとハーフワードアラインドという用語は、それぞれ4と2で割り切れるアドレスを意味します。

アンアラインド

データサイズを定義するバイト数で割り切れないアドレスに保存されているデータ項目を、アンアラインドまたはアラインしていないと呼びます。例えば、4で割り切れないアドレスに保存されているワードはアンアラインドです。

仮数

2進浮動小数点数の構成要素で、暗黙の2進小数点の左側にある明示的または暗黙的な先頭ビットと、右側にある小数フィールドとで構成されます。

コプロセッサ

メインプロセッサを補完するプロセッサ。メインプロセッサが実行できない付加機能を実行します。通常は、浮動小数点算術演算、信号処理、メモリ管理などに使用されます。

サポートコード

ハードウェアを補完し、IEEE 754規格との互換性を提供するために使用する必要があるソフトウェア。サポートコードには、サポートされていない入力による除算や、ハードウェアの範囲を越えた動作や例外を引き起こす可能性のある入力など、サポート済みの機能を実行するルーチンのライブラリが含まれています。サポートコードには、IEEE 754規格に従って例外状態を処理する例外ハンドラのセットが含まれています。

実装固有

動作がアーキテクチャで定義されていないが、実装ごとに文書化する必要がないことを意味します。使用可能な実装オプションが多数あり、選択したオプションによってソフトウェアの互換性に影響がない場合に使用されます。

実装定義

動作がアーキテクチャで定義されておらず、個別の実装によって定義や文書化が行われます。

条件付き実行

条件コードフラグが、命令の実行開始時に該当する条件がTRUEであることを示している場合は、命令が正常に実行されます。それ以外の場合、命令は何も実行しません。

条件フィールド

命令が実行可能な条件を指定する、命令内の4ビットのフィールド。

ショートベクタ演算

複数のデスティネーションレジスタを使用し、各デスティネーションの結果の生成にに複数のソースレジスタを使用する可能性がある、VFPコプロセッサの動作。

スカラ演算

単一のソースレジスタとデスティネーションレジスタを使用する、VFPコプロセッサ演算。

See Also ベクタ演算.

ストライド

Strideフィールド(FPSCR[21:20])は、ショートベクタ演算でレジスタアドレスに適用される増分を指定します。ストライドが00であれば、指定される増分は+ 1で、ショートベクタ演算の繰り返しごとに各ベクタレジスタが1ずつインクリメントされます。ストライドが11であれば、+ 2のインクリメントを意味します。

制御ビット

プログラムステータス レジスタの最下位8ビット。制御ビットは、例外が発生したときに変化します。プロセッサが特権モードの場合にのみ、ソフトウェアから変更できます。

ダブルワード

64ビットのデータ項目。特に指定のない限り、その内容は符号なし整数とみなされます。

ダブルワードアラインド

メモリアドレスが8で割り切れるデータ項目。

常に0 (SBZ)

ソフトウェアで0(ビットフィールドの場合はすべてのビットに0)を書き込む必要があります。1を書き込んだ場合、結果は予測不能です。

常に0または保持(SBZP)

ソフトウェアで0(ビットフィールドの場合はすべてのビットに0)を書き込むか、同じプロセッサの同じフィールドから以前に読み出した値をそのまま書き戻して保持する必要があります。

常に1 (SBO)

ソフトウェアで1(ビットフィールドの場合はすべてのビットに1)を書き込む必要があります。0を書き込んだ場合、結果は予測不能です。

デフォルトNaNモード

結果がNaNになった原因にかかわらず、結果がNaNになるすべての演算で、デフォルトNaNが返されるモード。このモードはIEEE 754規格に準拠していますが、演算への入力NaNに含まれていたすべての情報が失われることを意味します。

トラップ

VFPコプロセッサに例外状態が発生し、FPSCRレジスタの対応する例外イネーブルビットがセットされている場合。ユーザトラップ ハンドラが実行されます。

入力例外

指定された動作について、1つまたは複数のオペランドがハードウェアでサポートされていない場合のVFP例外条件。この動作は、サポートコードにバウンスされて処理されます。

ハーフワード

16ビットのデータ項目。

ハーフワードアラインド

See アラインド.

倍精度数値

2つの32ビットワードで構成されます。これら2つのワードはメモリ上で連続していて、いずれもワードアラインしている必要があり、IEEE 754-1985規格に従って、基本倍精度浮動小数点数として解釈されます。

バウンス

VFPコプロセッサは、ARMプロセッサに対する有効なVFP命令の受け付けの通知に失敗したときに、命令をバウンスします。この動作によって、ARMプロセッサによる未定義命令処理が開始されます。VFPコプロセッサによって例外または未サポートとして検出された命令を完了するために、VFPサポートコードが呼び出されます。

See Also トリガ命令、潜在的例外命令、例外状態.

非正規化値

0を除く、範囲(- 2Emin < x < 2Emin)の値。IEEE 754規格での単精度および倍精度オペランドの形式では、非正規化値は指数が0で、仮数フィールドが0以外です。IEEE 754規格では、非正規化値オペランドの生成と操作は、通常のオペランドと同じ精度で行う必要があります。

不正命令

アーキテクチャで未定義の命令。

プロセッサ

コンピュータ命令を使用してデータを処理するために必要な、コンピュータシステムの回路。プロセッサは、マイクロプロセッサの略称です。完全に機能する最小のコンピュータシステムを作成するには、クロックソース、電源、メインメモリも必要です。

ベースレジスタ

命令のアドレス計算の基準値を保持するために、ロード/ ストア命令で指定されるレジスタ。命令とそのアドレシングモードによっては、メモリに送られる仮想アドレスを形成するために、ベースレジスタの値にオフセットを加算または減算できます。

ベクタ演算

複数のデスティネーションレジスタを使用し、各デスティネーションの結果の生成に異なるソースレジスタを使用する可能性がある、VFPコプロセッサの動作。

See Also スカラ演算.

丸めモード

IEEE 754規格では、すべての計算を、精度が無限であるかのように実行する必要があります。例えば、2つの単精度値の乗算では、仮数のビット数の2倍まで、正確に仮数を計算する必要があります。この値をデスティネーションの精度で表すために、仮数の丸めを頻繁に実行する必要があります。IEEE 754規格では、4つの丸めモードが指定されています。

近似値への丸めモードでは、仮数の最下位ビットよりも下の値を、より近い側に丸め、値が中間である場合は最下位ビットをクリアして偶数に切り上げを行うことによって、結果が丸められます。

0への丸めモードでは、仮数の右側のすべてのビットが必ず切り捨てられます。このモードは、C言語、C++言語、Java言語の整数変換で使用されます。

正の無限大への丸めモードと負の無限大への丸めモードは、区間演算で使用されます。

未サポート値

VFPコプロセッサのハードウェアでは処理されず、サポートコードにバウンスされて完了される特定のデータ値。このようなデータには、無限大、NaN、非正規化値、0が含まれます。これらの値をハードウェアで完全にまたは部分的にサポートするか、サポートコードにその処理の完了をゆだねるかは、実装で選択できます。未サポートデータの処理から発生したすべての例外は、対応する例外イネーブルビットがセットされている場合に、ユーザコードにトラップされます。

未定義

未定義命令トラップを生成する命令を指します。ARM例外の詳細については、『ARMアーキテクチャ リファレンスマニュアル』を参照して下さい。

無限大

無限大を表すIEEE 754規格の形式では、指数はその精度での最大値であり、仮数はすべて0です。

メモリバンク

インターリーブされているメモリにおいて、並列にいくつかに分割されているメモリのうちの1つで、通常は1ワード幅です。これによって、一度に単一ワードではなく、複数ワードを読み書きできます。すべてのメモリバンクは同時にアドレス指定され、バンクイネーブル信号またはチップセレクト信号によって、アクセスされるバンクが転送ごとに決定されます。連続したワードアドレスへアクセスすると、連続したバンクへのアクセスが発生します。これによって、バンクアクセスに関連する遅延は隣接バンクへのアクセス中に発生するため、メモリ転送が高速化されます。

予測不能

読み出しの場合は、この位置から読み出しによって返されるデータが予測不能なことを意味します。データはどのような値にもなり得ます。書き込みの場合は、この位置への書き込みによって予測不能な動作が発生するか、デバイスの構成に予測不能な変化が発生することを意味します。予測不能な命令によって、プロセッサまたはシステムのいずれかの部分に停止やハングが発生しないようにする必要があります。

読み出し

読み出しは、ロードの意味を持つメモリ操作として定義されます。ARM命令のLDM、LDRD、LDC、LDR、LDRT、LDRSH、LDRH、LDRSB、LDRB、LDRBT、LDREX、RFE、STREX、SWP、SWPBと、Thumb命令のLDM、LDR、LDRSH、LDRH、LDRSB、LDRB、POPが該当します。

ハードウェアで高速化されるJavaバイトコードの場合は、Javaスタックの状態とJavaハードウェアアクセラレーションの実装によっては、大量の読み出しが発生する可能性があります。

予約

制御レジスタまたは命令の形式に含まれているフィールドが実装で定義される、または0ではない場合に予測不能な結果が引き起こされる場合、そのフィールドは予約と記載されています。これらのフィールドは、アーキテクチャの将来の拡張に備えて予約される場合と、実装固有の場合があります。実装で使用されないすべての予約ビットは、0として読み書きする必要があります。

例外

プログラムの実行に割り込む必要があるほど重大であると判断された、フォールトまたはエラーイベント。例として、無効なメモリアクセス、外部割り込み、未定義命令の実行などが挙げられます。例外が発生すると、通常のプログラムフローが中断され、対応する例外ベクタで実行が再開されます。例外ベクタには、例外を処理する割り込みハンドラの最初の命令が含まれています。

例外が可能な場合

FPSCRの例外イネーブルビットがセットされると、対応する例外が可能になります。可能である例外が発生すると、ユーザハンドラへのトラップが取得されます。例外状態を引き起こした動作は、IEEE 754規格で定義されている結果を生成するために、サポートコードにバウンスできます。その後で、ユーザトラップ ハンドラに例外が報告されます。

例外が不可能な場合

FPSCRの例外イネーブルビットがクリアされている場合、そのビットに対応する例外は不可能となります。このような例外に対しては、返される結果がIEEE 754規格で定義されています。例外状態を引き起こした動作は、IEEE 754規格で定義されている結果を生成するために、サポートコードにバウンスできます。例外は、ユーザ トラップハンドラに報告されません。

例外状態

潜在的な例外命令が発行されると、VFP11コプロセッサは、EXビット(FPEXC[31])をセットし、FPINSTレジスタ内の潜在的例外命令のコピーをロードします。命令がショートベクタ演算の場合は、FPINSTのレジスタフィールドが、潜在的な例外が発生した繰り返しを指すように変更されます。例外状態では、VFP11コプロセッサに対するトリガ命令の発行によって、バウンスが実行されます。

See Also バウンス、潜在的例外命令、トリガ命令.

例外処理ルーチン

See 割り込みハンドラ.

ロード/ ストアアーキテクチャ

データ処理操作が、メモリの内容に対して直接ではなく、レジスタの内容に対してのみ行われるプロセッサアーキテクチャ。

ワード

32ビットのデータ項目。

ワードアラインド

See アラインド.

割り込みハンドラ

割り込みが発生したときに、プロセッサの制御が渡されるプログラム。

Copyright © 2008-2010 ARM. All rights reserved.ARM DDI 0409FJ
Non-ConfidentialID013111