計算機組織與結構›Ch6 記憶體(Memory)
第 11 題/共 83 題
◀ CC 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)
本章題號 · 1–20 / 83