UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 47584

Zynq-7000 AP SoC、APU - 無効にしたデータ キャッシュに PLD 命令が割り当てられることがある

説明

PLD 命令は、データ キャッシュ イネーブル ビットなどのプロセッサ コンフィギュレーション設定にかかわらず、ライトバックとマークされたデータ (ライト アロケートまたはノー ライト アロケート、共有または非共有) をプリフェッチし、割り当てます。これにより、データの一貫性の問題が発生することがあります。この問題は、データ キャッシュが有効の場合は発生しません。

この問題を回避するには、ソフトウェアで非公開の制御レジスタのビットをセットする必要があります。このビットをセットすると、すべての PLD 命令が NOP として処理されます。

ソリューション

影響 :

深刻な問題ではありません。予期しないメモリ キャッシュ可能エイリアスが作成され、データの一貫性の問題が発生することがあります。詳細は、「影響の詳細」を参照してください。

回避策 :

非公開の制御レジスタのビットをセットする方法は、「回避策の詳細」を参照してください。

対象となるコンフィギュレーション :

すべてのシステム

対象となるデバイス リビジョン :
すべて修正の予定なしZynq-7000 AP SoC シリコン リビジョンの違いについては、(ザイリンクス アンサー 47916) を参照してください。

 

影響

この問題が重要な影響を及ぼすことはありません。通常、データ キャッシュはブート プロセスの初期段階で有効になり、その後無効になることはありません。そのため、ブートアップ コードが影響を受けますが、ブートアップ コードは通常注意深く制御されているので、データ キャッシュが有効の間に PLD 命令が発行されることは通常ありません。

回避策の詳細

システムがこの問題の影響を受ける場合、ソフトウェアでの回避策があります。CP15 c15 0 c0 1 に配置されている非公開の制御レジスタのビット [20] をセットします。

このビットは、次の読み出し/変更/書き込みコード シーケンスで記述する必要があります。

  • MRC p15,0,r0,c15,c0,1
  • ORR r0,r0,#0x00100000
  • MCR p15,0,r0,c15,c0,1

このビットをセットすると、すべての PLD 命令が NOP として処理されるので、memcpy() ルーチンなどの PLD を使用するコード シーケンスでパフォーマンスが低下することがあります。そのため、この回避策を適用する場合は、データ キャッシュが無効のときに制限することを強く推奨します。

アンサー レコード リファレンス

マスター アンサー レコード

Answer Number アンサータイトル 問題の発生したバージョン 修正バージョン
47916 Zynq-7000 AP SoC デバイス - シリコン リビジョン間の相違点 N/A N/A
AR# 47584
日付 06/04/2013
ステータス アクティブ
種類 デザイン アドバイザリ
デバイス
  • Zynq-7000
  • XA Zynq-7000
  • Zynq-7000Q
このページをブックマークに追加