2017-11-27 18 views
0

キャッシュメモリの強制/コールドミスの疑いがあります。 強制的なミスについての私の知識は、です。これは、キャッシュサイズに関係なく、ブロックへの最初のアクセスです。キャッシュメモリのコールドミス率が、キャッシュメモリの容量または関連性を増減することによって影響を受けないのはなぜですか?

コールドミスはブロックサイズの増減によって影響を受けます。ここに私の理解がありますが、それは合うようです。

By increasing the block size, the number of blocks in the cache should 
reduce, assuming the size of the cache is constant here. Therefore there 
would be decreased number of first time requests for each block. Hence the 
cold miss should decrease. 

Correspondingly if the block size is decreased, the number of blocks would 
increase, and hence the number of requets to access blocks for the first 
time would also increase. 

しかし、私はそれが増減キャッシュサイズをORキャッシュの結合を増加/減少によりを影響されない方法を理解することはできませんよ!

If the Cache Size increases, then the number of blocks also increase. So 
the cold misses should increases, as more number of empty blocks would 
be requested for the first time ??? 

Similarly if the Cache Size is Decreased, the number of blocks would 
decrease which would have to be probed for the first time ?? 

同じ疑いは、結合性の増減にも当てはまります。

これをよりよく理解するためです。 ご協力いただきありがとうございます。

おかげで、

Ankit

答えて

0

任意の空間的局所性がある場合はい、各ブロックのサイズを大きくすると、特定のワークロードが触れたブロックの総数を減少させます。しかし、サイズや結合性を変えることはできません。私たちは強制的なミスを話しているだけで、紛争やキャパシティミスは話しません。

は、私はあなたが上に混在している正確に何の推測を取らなければならなかったが、これはそれのようになります。

大きなキャッシュでは、それはのキャッシュ(そう、ほとんどの方法を「埋める」ために、よりミスを取りますほとんどのセットが有効です)。しかし、それは強制的なミスがカウントするものではありません。 強制は、追放を必要としないミスを意味しません。

小さなものがすぐにいっぱいになると、キャッシュが余裕を残すために何かを退去させなければならない場合でも、以前に触れていないブロックにワークロードが触れると強制的なミスとしてカウントされます。キャッシュの観点からは、強制ミスは競合または容量ミスと同じように見えます。 キャッシュ自体が容量/競合/強制ミスの違いを認識することはできません

強制的なミスは、サイズや結合性を高めることが避けられなかったものです。それを判断するためには、全体の負荷を把握できる必要があります。もちろん、限られた容量のキャッシュはそれを行うことはできません。それはそれが目的ではないからです。

+0

@Ankit:あなたは何が混ざっていますか? –

+0

私は、結合性、キャッシュサイズ、ブロックサイズの変化にもかかわらず、強制ミスが存在することを理解しています。しかし、私の疑問は、どの要因が強制ミス率の増減を引き起こすかに関係しています。あなたは「強制的なミスはサイズを大きくするか、結合性を避けることができなかった」と言った。ブロックサイズを微調整した場合、作業負荷はブロックの数が多少少なくても本質的なタッチダウンを行う可能性があります。しかし、キャッシュの容量や結合性を微調整するのは同じですか? – Ankit

+0

@Ankit:いいえ、重要なのは、作業負荷の各アクセスがどの物理メモリの一列に並んでいるかです。大きなブロックでは、2つの近くのアクセスが同じブロック内にある可能性があります。キャッシュサイズとアソシエーティビティには、物理​​メモリを64バイトブロックに分割することはありません。 **より大きなか小さいビンを持つメモリアクセスのヒストグラムを想像してみてください。ビン数はゼロではありません。それは強制的なミスの数です。** –

関連する問題