programing:arm-programing:arm-dmb-dsb-isb
差分
このページの2つのバージョン間の差分を表示します。
次のリビジョン | 前のリビジョン | ||
programing:arm-programing:arm-dmb-dsb-isb [2018/10/03 10:03] – 作成 yoko | programing:arm-programing:arm-dmb-dsb-isb [2020/03/19 08:32] (現在) – yoko | ||
---|---|---|---|
行 1: | 行 1: | ||
ARMは記述した順番に命令実行されない | ARMは記述した順番に命令実行されない | ||
=============================== | =============================== | ||
- | ARMマイコンでは、命令実行の効率化をする為にCPU内部ハードウェアレベルで、命令実行の入れ替えを行って効率化している。 | + | ARMマイコンでは、命令実行を効率化する為にCPU内部ハードウェアレベルで、命令実行の入れ替えを行っている。 |
従って、命令を記述した順番に命令実行やデータアクセスが必ずしも実行されない。特に、IOレジスタ操作などで実行順番が重要な場合には注意が必要。 | 従って、命令を記述した順番に命令実行やデータアクセスが必ずしも実行されない。特に、IOレジスタ操作などで実行順番が重要な場合には注意が必要。 | ||
行 58: | 行 58: | ||
</ | </ | ||
- | - EWARMでは、`__DSB()` `__ISB()` などのようにコンパイラ組み込み関数を利用しても記述できる。 | + | - EWARMでは、`__DSB()` `__ISB()` などのようにコンパイラ組み込み関数を利用しても記述できる。(`# |
補足 | 補足 | ||
---- | ---- | ||
- I/ | - I/ | ||
+ | |||
+ | 参考 | ||
+ | ---- | ||
+ | |||
+ | 1. [[wpjp> | ||
+ | 2. [[http:// | ||
+ | 3. [[https:// | ||
+ | 4. [[https:// | ||
programing/arm-programing/arm-dmb-dsb-isb.1538528605.txt.gz · 最終更新: 2018/10/03 10:03 by yoko