計算機組織與結構›Ch6 記憶體(Memory)第 11 題/共 83 題
11. Cache Miss Rate、Write-Back Cache、Data Access Pattern
#CC-06-011中Cache Miss RateWrite-Back CacheData Access Pattern
題組題幹(本題:Q1,共 5 小題)點擊展開
如下所示,函式 compute_distance 遍歷一串2D點並計算每一對點之間的距離。注意每個點是用single precision浮點數表示。請回答下列問題。
void compute_distance(float x[], float y[], int N, float distance[]) {
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
float x_dist = x[i] - x[j];
float y_dist = y[i] - y[j];
distance[j + i * N] = sqrt(x_dist*x_dist + y_dist*y_dist);
}
}
}
(Q1,2分)我們先觀察資料存取模式。inner loop的每一次迭代,這個函式load 4個浮點數、store 1個浮點數。假設N=1024,且處理器cache太小、無法容納全部的資料點。cache的設定是write-back/write-allocate policy,32-byte blocks。平均cache miss rate大約是多少?
📄 台大112
▤完整推導請見《WH 資工筆記 · 計算機組織與結構》Ch6 記憶體(Memory)