1. ホーム
  2. memory

[解決済み] ARM TCMメモリとは

2022-02-12 06:10:03

質問内容

ARMプロセッサのTCMメモリとは、プロセッサの隣にある専用メモリなのか、それともTCMとして構成されたRAMの領域だけなのでしょうか?

専用メモリであるなら、なぜ位置やサイズを設定できるのでしょうか?

解決方法は?

TCM(Tightly-Coupled Memory)は、その名の通り、CPUに非常に近い場所にある1つ(または複数)の小さな専用メモリ領域です。その主な利点は、CPUが毎サイクルTCMにアクセスできることです。通常のメモリとは異なり、キャッシュが存在しないため、すべてのメモリアクセスが予測可能である。

TCMの主な用途は、パフォーマンス上重要なデータやコードを保存することです。割り込みハンドラ、リアルタイムタスクのデータ、OSの制御構造などがその例である。

<ブロッククオート

専用メモリなら、どうして 位置とサイズ

設定できるようにすると、すべてのメモリアクセスのアドレスデコードが複雑になるだけで、固定アドレス範囲に比べて実質的なメリットはありません。そのため、TCMを固定的なアドレスに結びつける方が簡単で早かったのでしょう。

もし、あなたがTCMを搭載したシステムで作業していて、まだ使っていないのなら、スタックをそこに置いてみてください。スタックのメモリアクセスがシングルサイクルになり、データキャッシュが汚染されなくなるからです。