解釋計算機體系結構中快取的效能?
在計算機中包含快取記憶體的主要原因是透過減少訪問記憶體所需的時間來提高系統性能。快取效能的組成部分是**快取命中**和**快取未命中**。
每次CPU訪問記憶體時,它都會確定快取。如果請求的資料在快取中,CPU會訪問快取中的資料,而不是物理記憶體,這就是快取命中。如果資料不在快取中,CPU會從主記憶體訪問資料。這就是快取未命中。
平均記憶體訪問時間,**TM**是快取訪問時間**TC**加上物理記憶體訪問時間**TP**的加權平均值。加權因子是命中率h。**TM**可以表示為
TM=h TC+(1−h)TP
由於**TC**遠小於**TP**,因此提高命中率可以減少平均記憶體訪問時間。下表顯示了**TC=10 ns,TP=60 ns**以及h的各種值。
命中率和平均記憶體訪問時間
h | TM |
---|---|
0.0 | 60 ns |
0.1 | 55 ns |
0.2 | 50 ns |
0.3 | 45 ns |
0.4 | 40 ns |
0.5 | 35 ns |
0.6 | 30 ns |
0.7 | 25 ns |
0.8 | 20 ns |
0.9 | 15 ns |
1.0 | 10 ns |
假設一個計算機系統具有一個8位元組的關聯快取、一個直接對映快取或一個兩路組關聯快取。CPU按所示順序訪問以下位置。每個值的索引是其物理記憶體地址的低3位。
A0 B0 C2 A0 D1 B0 E4 F5 A0 C2 D1 B0 G3 C2 H7 I6 A0 B0
它可以確定這三種快取配置的此訪問模式的命中率和平均記憶體訪問時間,再次假設
**TC**=10 ns 並且
**TP**=60ns。
首先,考慮關聯快取。它最初為空,並使用FIFO替換策略。下表顯示了訪問每個值時的快取內容。18次訪問中有7次命中,命中率為h = 0.389,平均記憶體訪問時間為
**TM**=40.56 ns。
使用關聯快取的快取活動
資料 | A | B | C | A | D | B | E | F | A | C | D | B | G | C | H | I | A | B |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | |
C | B | B | B | B | B | B | B | B | B | B | B | B | B | B | B | B | B | |
A | C | C | C | C | C | C | C | C | C | C | C | C | C | C | C | C | ||
C | D | D | D | D | D | D | D | D | D | D | D | D | D | D | ||||
H | E | E | E | E | E | E | E | E | E | E | E | E | ||||||
E | F | F | F | F | F | F | F | F | F | F | F | |||||||
G | G | G | G | G | G | |||||||||||||
H | H | H | H | |||||||||||||||
命中? | √ | √ | √ | √ | √ | √ | √ |
廣告