2015年2月16日 16:38
ARM Cortex-M7に見る、今後のMCUの方向性
これはどういうケースかというと、そもそもTCMはSRAMなどと比べてもずっとエリアサイズが大きくなるので、あまり大容量にするのはコストへのインパクトが大きい。そこでTCMの容量はそこそこにしておき、外部に専用SRAMを装備してDMAで繋ぐ、といった逃げ方が考えられる。実際Data TCMが32bit Block×2の構成になっているのは、Dual Bank的な使い方を想定していると考えられる。あるBankをCPUがアクセスしている間に、もう片方のデータを外部SRAMに退避、あるいは外部SRAMからデータを取り込みといった使い方で、この際にはDMAで高速転送を掛けるという形だ。Instruction TCMの方は(Photo02にもちらっと出てきているが)、Flash Accelerator的な使い方が主になるだろう。
さてそれではキャッシュは? というとこんな感じ(Photo07)。サイズは最大64KBで、MCU向けとしては最大級ではあるが、下手なアプリケーションプロセッサ並みという性能を考えると、もう少し大きく取れても良い様な気もする。
ちなみにTCMとCacheの使い分けとしては、トータルとしてどれだけ大きなメモリ量を扱うか次第である。