1.22 ARM ライブラリのリアルタイム整数除算

ARM ライブラリは、リアルタイム除算ルーチンと標準除算ルーチンを提供します。

ARM ライブラリに含まれている標準除算ルーチンの全体的なパフォーマンスは良好ですが、除算の実行に要する時間は、その入力値によって異なります。例えば、4 ビットの商が生成される除算には 12 サイクルが必要な場合があり、32 ビットの商には 96 サイクルが必要な場合があります。アプリケーションによっては、平均パフォーマンスが低くなっても、最悪の場合のサイクル数を小さくしなければならない場合があります。このため、ARM ライブラリには 2 つの除算ルーチンが含まれています。
リアルタイムルーチン:
  • 常に 45 サイクル未満で実行されます。
  • 大きな商の場合には、標準除算ルーチンよりも高速で実行されます。
  • 一般的な商の場合には、標準除算ルーチンよりも遅くなります。
  • 同じ結果を返します。
  • 周辺コードを変更する必要はありません。

リアルタイム除算は、Cortex-M1 または Cortex-M0 のライブラリでは使用できません。

Cortex-R4 および Cortex-M3 プロセッサは、ハードウェア浮動小数点除算をサポートするので、ライブラリ除算ルーチンを必要としません。
以下の方法のいずれかを使用して、リアルタイム除算ルーチンを選択します。
  • アセンブリ言語からの IMPORT __use_realtime_division
  • C からの asm(".global __use_realtime_division\n")
非機密扱いPDF file icon PDF 版ARM DUI0808CJ
Copyright © 2014, 2015 ARM.All rights reserved.