Average memory access time = Hit time + Miss rate * miss penalty
キャッシュレベルが1つしかないコンピューターを想定します。ヒットタイムの正確な意味は何ですか?キャッシュからデータにアクセスするのはクロックサイクル数ですか?またはクロックサイクルで命令を実行しますか?命令ごとのクロックサイクル数はどのようにしてこの方程式になりますか?
コメント
- It ' ■通常、データにアクセスするためのクロックサイクル数であり、nsで示されます。
回答
まず最初に方程式は、ヒットまたはミスに関係なく、どのような場合でもキャッシュ全体を検索する必要がある階層キャッシュの場合です。
同時キャッシュの場合、右側の最初の用語にもヒット時間が乗算されます。ヒット時間は、キャッシュ内のデータの存在を検出するのにかかる時間に他なりません。
回答
キャッシュのメカニズムに戻ります。CPUがキャッシュ内のデータを必要とする場合は、データの読み取りを試みてください。キャッシュから。キャッシュにデータがある場合は、キャッシュからデータをフェッチします。今回のキャッシュからのデータの読み取り(キャッシュメモリとレジスタの速度が異なります!)は、Hit time
。
関連する命令で必要なメモリがキャッシュメモリに存在しない場合は、RAMから読み取る必要があるため、指定されたアドレスを読み取るには、より多くのCPUクロックが必要です。 miss rate
の乗算と、miss penalty
で示されるRAMからデータを読み取る際のこのミスのペナルティによって計算されます。