Nios II Gen2 プロセッサー・リファレンス・ガイド

ID 683836
日付 10/28/2016
Public
ドキュメント目次

3.8.1. キャッシュメモリー

Nios II アーキテクチャーおよび命令セットは、データキャッシュと命令キャッシュメモリーの存在に対応します。キャッシュ管理は、キャッシュ管理命令を使用してソフトウェアで実装されます。命令により、キャッシュの初期化、必要に応じたキャッシュのフラッシュ、およびメモリーにマップされたペリフェラルを適切にアクセスするためのデータキャッシュのバイパスが提供されます。

Nios II アーキテクチャーはデータキャッシュのバイパスに、次の方法を提供します。

  • MMU が存在しない場合、アドレスのビット 31 はオプションのビット 31 のキャッシュバイパス用に予約されます。ビット 31 のキャッシュバイパスでは、プロセッサー・コアのアドレス空間は 2 GB で、アドレスの上位ビットはデータ・メモリー・アクセスのキャッシュを制御します。
  • MMU が存在する場合、キャッシャビリティーは MMU により制御され、ビット 31 は通常のアドレスビットとして機能します。詳しくは、この章の「アドレス空間およびメモリー・パーティション」および「TLB 構成」のセクションを参照してください。
  • ldwiostwioなどのキャッシュバイパス命令

どのプロセッサー・コアをビット 31 のキャッシュバイパスに実装するかについて詳しくは、「Nios II プロセッサー・リファレンス・ハンドブック」の「Nios II コアの実装の詳細」の章を参照してください。

キャッシュバイパス命令の詳細は、「Nios II プロセッサー・リファレンス・ハンドブック」の「命令セット・リファレンス」の章を参照してください。

キャッシュメモリーを備えたプロセッサー・コア用に書かれたコードは、キャッシュメモリーなしでプロセッサー・コア上で正しく動作します。その逆は真ではありません。プログラムが複数の Nios II プロセッサー・コアの実装で適切に動作する必要がある場合、プログラムは命令キャッシュとデータキャッシュが存在するかのように動作しなければなりません。キャッシュメモリーを有さないシステムでは、キャッシュ管理命令は何の動作も実行せず、悪影響はありません。

密結合メモリーについて詳しくは、「Nios II ソフトウェア開発ハンドブック」「キャッシュおよび密結合メモリー」の章を参照してください。

プロセッサーのリセット後にキャッシュの一貫性を保証するには、いくつかの考慮が必要です。詳細については、この章の「例外のリセット」を参照してください。

キャッシュ・アーキテクチャーおよびメモリー階層について詳しくは、「Nios II プロセッサー・リファレンス・ハンドブック」の「プロセッサー・アーキテクチャー」の章を参照してください。