ウェイト数を削減した効果をはっきりさせるために単純なループで比べてみます。ここでやったLEDチカチカプログラムと同じものですが先頭でキャッシュを明示的に無効にしました
これを実行させるとPAポートの最下位ビットは約127kHzでトグルします
これは4wait時の62.5kHzに対して約2倍の速度が出ました。キャッシュOFFであればウェイト数削減の効果は顕在化されます
一方、cache_ctl(1)としてキャッシュをONするとトグル周波数は一気に上がり592kHz、キャッシュOFF時の約4.5倍に達します
このようにキャッシュによる効果は大きく、どのようにメモリアクセスしているか確認しておきました。
キャッシュOFFだとビット1回のトグルに約40回くらいのメモリアクセスがありますが
ch1:PAポートD0、ch2:ADS#
キャッシュONにすると4回しかメモリアクセスしていません
ch1:PAポートD0、ch2:ADS#