我要試圖找出危險廢物,在這裏我需要看錯過多少緩存出現以下嵌套循環全關聯緩存
for i=0; i < 32 ; i++
for j=0; j < 32; j++
sum += arr[i][j];
我有一個具有16個高速緩存行的全相聯高速緩存問題,每個緩存行可以存儲32個字。緩存最初是空的,並且arr [0] [0]映射到第一個緩存行
現在根據我的理解,總共會有32個未命中。最初,當請求被創建時,緩存是空的,計算爲未命中,並根據完全關聯的緩存填充所有塊,然後應用LRU。
我這裏有點糊塗,可以使用這裏
如果'arr'是一個普通的多維數組(而不是指針數組或其他東西),那麼你的循環只是對內存塊的一個順序讀取。假設i,j和sum不會泄漏到內存中,緩存關聯性在這裏不會產生差異;即使是直接映射的緩存也會執行相同的操作。 –
是的ARR是多維數組 – RRP