ESP-WROOM-32

ESP32 の命令実行サイクル数 (3)

Xtensa LX プロセッサの MAC16 拡張 (16 ビット整数乗算オプション含む) では、「ハードウェア」的には 16 ビット × 16 ビット = 32 ビットの乗算器と 40 ビット・アキュムレータ、および 4 つの 32 ビット・レジスタ (MAC16 レジスタ) が追加されます。 そ…

ESP32 の命令実行サイクル数 (2)

「esp-idf」環境で作成されるアプリケーションでは、通常の C プログラムでの main() 関数に相当するものは app_main() 関数となっています。 FreeRTOS ベースで構成されており、システム側での各種の「お膳立て」が終了した後に app_main() 関数が呼ばれま…

ESP32 の命令実行サイクル数 (1)

gcc のインライン・アセンブラを使って Xtensa LX6 の「MAC16 拡張命令」を記述し、実行サイクル数の削減を試みていますが、次の 2 つの理由で成功していません。 インライン・アセンブラを利用すると、「ハードウェア・ループ命令」が使われなくなり、通常…

新版FM音源プログラム (29)

Cortex-M シリーズを離れて、Espressif Systems 製の ESP-WROOM-32 モジュール (Cadence/Tensilica の Xtensa LX6 デュアル・コア内蔵) に対してプログラムを作成し、所要サイクル数を測定してみました。 具体的には、ハードウェアとしては「ESP32-DevKitC E…