計算機組織與結構›Ch6 記憶體(Memory)
第 14 題/共 83 題
◀ CC 14/83
14. SMP、Cache Coherence、Snooping Protocol、False Sharing
#CC-06-014難SMPCache CoherenceSnooping ProtocolFalse Sharing

考慮一個SMP處理器(Symmetric Multiprocessor),採用Write-Invalidate Snooping Cache Coherence協定。每個處理器有一個4KiB direct-mapped、physically-addressed的L1 cache,cache line大小為16 bytes。三個整數陣列A、B、C依A、B、C的順序連續存放在記憶體中。陣列A的起始位址為0x0000A000(假設32-bit記憶體位址)。Processor P0與P1執行下列程式碼片段(L1 cache一開始是空的):

int A[300], B[300], C[300];
for (i=4*Pn; i< 4*(Pn+1); i++)  /* Pn是processor id: 0, 1 */
    C[i] = A[i]+B[i];

(a) (5 pts) tag array的大小(bits)是多少? (b) (5 pts) 增加cache的associativity能否減少執行上述程式碼時的cache misses? (c) (5 pts) 在最差情況下,可能發生多少次coherence misses(c1)?其中有多少是false-sharing misses(c2)? (d) (5 pts) 若cache line大小變成32 bytes(cache大小仍為4KiB),在最差情況下可能發生多少次coherence misses(d1)?其中有多少是false-sharing misses(d2)?

📄 台大110
跳轉到第題
▤完整推導請見《WH 資工筆記 · 計算機組織與結構》Ch6 記憶體(Memory)
本章題號 · 1–20 / 83