検索
連載

投機的プリフェッチとキャッシュの弱点福田昭のデバイス通信 ARMが語る、最先端メモリに対する期待(8)(2/2 ページ)

今回は、メモリアクセスの高速化手法である「投機的プリフェッチ(Speculative Prefetch)」の仕組みを解説する。これは、“次のアクション”を推測して、データをキャッシュにコピーするものだ。この他、キャッシュが抱える本質的な弱点についても触れておきたい。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

実行してみないとタイミングが決まらない

 キャッシュの本質的な弱点は、実際に実行してみないと本当のタイミングが決まらないことだ。ヒット率が低く、キャッシュミスが発生したときの遅延時間が非常に長い場合は、キャッシュが存在することそのものが性能の低下を招くことすらある。例えば複数のアドレスにアクセスする多重ロード命令(LDM命令)でキャッシュミスが発生すると、CPUの待ち時間は長大なものになる。これまで述べてきたいくつかの工夫は、メモリアクセスがキャッシュにヒットすることで初めて、性能の向上をもたらす。

 キャッシュの有効性を支えているのは、データの局所性である。局所性には時間的局所性(一度アクセスしたデータは近い将来に再度アクセスする)と空間的局所性(特定のアドレスにアクセスが集中)があり、キャッシュではこれらの両方の性質を利用する。従って、局所性の少ないアプリケーションでは、キャッシュが有効に働かないことがある。

 この他、1次キャッシュでミスしたとしても、2次キャッシュでヒットするかミスするかによって、結果は大きく違う。また割り込みサービスルーチン(ISR)の発生は、キャッシュラインのデータを無駄にする可能性がある。そしてマルチマスターのシステムでは、CPUがバスを確保するまでの待ち時間が発生して性能を低下させる恐れが残る。


キャッシュの振る舞いとタイミング、そして考慮すべき事柄(クリックで拡大) 出典:ARM

(次回に続く)

⇒「福田昭のデバイス通信」連載バックナンバー一覧

Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
ページトップに戻る