3.3.3 プロセッサモデルの制約

このセクションでは、プロセッサモデルの制限について説明します。

プロセッサモデルの一般的な制約

ARM プロセッサの FVP 実装には、いくつかの一般的な制限事項が適用されます。

  • Fast Model ソフトウェアは、正確な命令のタイミングをモデル化しません。プロセッサは、シミュレーション時点で一連の命令(「"quantum"」)を発行し、次の quantum を実行するまで待機します。プロセッサは、クロック Tick あたりの 1 つの命令の平均を求めます。
    • モデルで実行するソフトウェアの体感的パフォーマンスは、実際のソフトウェアとは異なります。具体的には、メモリアクセスと算術演算にはすべて同じ時間がかかります。
    • 例えば、プログラムは高解像度タイマをポーリングすることによって、プロセッサの量子化された実行動作を​検出することができます。
    • quantum のすべての命令は、事実上、アトミックです。この原子性により、ソフトウェアで一部の競合状態のバグがマスクされる可能性があります。
  • モデルにはキャッシュ制御レジスタが含まれますが、通常、レジスタアクセス許可を確認できるだけです。キャッシュフラッシュ操作はサポートされていますが、何の影響も与えません。結果として、キャッシュのエイリアス生成問題のため、実際のハードウェア上では失敗する可能性のあるコードを EB FVP 上で問題なく実行できる場合があります。
  • モデル上での VFP と NEON™ の命令セットの実行は、高性能ではありません。
  • 書き込みバッファはモデリングされません。
  • TLB 動作の大部分はモデルで実装されます。アーキテクチャ v7 モデルの場合、ステートフルキャッシュが有効になると、TLB メモリ属性設定が使用されます。
  • MicroTLB は実装されません。
  • 1 つのメモリアクセスポートが実装されます。このポートには、命令、データ、DMA、ペリフェラルのアクセスが組み込まれています。ペリフェラルのポートのメモリマップレジスタの構成は無視されます。
  • すべてのメモリアクセスはアトミックであり、プログラマの表示順に実行されます。すべてのメモリトランザクションは、最大 32 ビット幅です。非境界整列アクセスは常にバイト転送として実行されます。
  • 割り込みはすべての命令バウンダリで受け入れられません。
  • semihosting-debug コンフィギュレーションパラメータは無視されます。
  • 統合レジスタとテストレジスタは実装されません。
  • 一部のプロセッサモデルでは、1 つの CP14 デバッグコプロセッサレジスタには CP14 DSCR が含まれます。レジスタは 0 を読み出し、書き込みを無視します。他の CP14 レジスタにアクセスすると、未定義命令例外が生成されます。FVP をデバッグするには、外部デバッガを使用します。
  • モデルが直接的にサポートしているブレークポイントのタイプは次のとおりです。
    • 1 つのアドレスの無条件命令ブレークポイント
    • 1 つのアドレスの無条件データブレークポイント
    • 無条件命令のアドレス範囲のブレークポイント
  • デバッガの擬似レジスタは、プロセッサ例外ブレークポイントをサポートしています。例外レジスタをゼロ以外の値に設定すると、関連した例外ベクタに対するエントリの実行が停止されます。
  • モデルには、命令カウンタ以外の性能管理ユニット(PMU)は実装されていません。

FVP_EB_Cortex-A8 CoreTile の制約

Cortex-A8 プロセッサの固定仮想プラットフォーム実装には、追加制限が適用されます。

  • モデルには 2 つの 4GB アドレス空間が表示されます。1 つはセキュアモードから表示され、もう 1 つは標準モードから表示されます。アドレス空間にはゼロウェイト状態メモリとペリフェラルが含まれていますが、空間の多くはマップされていません。
  • PLE モデルは、純粋にレジスタベースで、実装動作がありません。
  • MMU が無効の場合、非境界整列アクセスはデータアボートを発生させません。
非機密扱いPDF file icon PDF 版ARM DUI0424OJ
Copyright © 2008-2010, 2012-2015 ARM.All rights reserved.