2015年2月16日 16:38
ARM Cortex-M7に見る、今後のMCUの方向性
TCMの場合、その領域はNon-Cachableであり、かつ入れ替えなどのメカニズムは用意されない。だからこそアクセス時間が一定のものとして扱えるという話であるが、逆に言えばTCMの容量より大きいデータやプログラムを扱うのは著しく困難になる。キャッシュの場合は当然Hit/Missに応じてアクセス時間が変わる一方、かなり大きなプログラム/データであっても相応の効果が期待できる。つまるところはどっちを狙うかという話で、原理的に両立は難しい(というか、両方装備しても構わないけど無駄が多い)。なので後はアプリケーション要件(リアルタイム性を狙う製品か、アプリケーション性能を狙う製品か)に応じて構成を選ぶ形になる。
話を戻すと、D-CacheのControllerの方は、AXI Master以外にAHBのPeripheral Portも搭載されている(Photo08)。これは、大量のデータを扱う場合などに便利である。特にストリーミングデータを連続して処理、なんて場合にいちいちデバイス→メモリ→CPUコア→メモリなんて形でデータの移動を行っていると、こうしたデータの転送に要する時間が馬鹿にならない。