2011-11-23 71 views

回答

3

對於直接映射,每個地址僅映射到一個位置,在高速緩存中,從而套在直接映射的高速緩存的數量爲所述高速緩存的只是大小。

標記將會有0位,並且您不提供足夠的信息來確定索引或位移位。

假設使用的是字的尋址和你的意思有用於索引+標籤9或10位:

9位 - > 2^9套

10位 - > 2^10套

+0

好的,我怎樣才能分開標籤,索引和字節偏移? –

+0

單詞有多大,緩存有多大? –

+0

我認爲這是我遇到的問題,沒有指定。 –

0

好的,對於(a),自己抽出8列開始 - 這些將是你在緩存中的集合。

對於每個地址,檢查地址(僅高位 - 忽略最低兩位)是否位於由位2-4編號的列的底部。如果該列中沒有寫入任何內容,或者比特2-10不匹配,則爲未命中。如果2-10位與您當前在該列底部寫入的內容相匹配 - 因爲您在緩存中擁有該地址,所以它的命中率很高。無論是命中還是錯過,都要將列中的當前值刪除,並在那裏寫入新地址。

希望有所幫助。

0

在直接映射的情況下塊的數量將等於1。現在

您可以通過(高速緩存大小)獲得套數/(號塊)

在這裏是(高速緩存大小)/ 1 =大小的緩存。