2013-04-09 135 views
3

我知道,CPU緩存的跨度值可以等於或大於緩存線的大小,但我不明白爲什麼需要跨度值?高速緩存跨越的作用,同時刷新CPU緩存

  1. CPU高速緩存何時將具有比高速緩存行大小更大的步長值?

  2. 什麼時候實際使用了步幅值?沖洗時是否?

我已經搜索了很多關於CPU緩存跨度的更多信息,但是找不到太多信息。

回答

3

A 大步是內存訪問模式的屬性,並且與緩存硬件無關,因此。

例如,存儲器訪問模式R(0), R(2), R(4),..具有步幅2,其中R表示read,並在托架號碼在存儲器中的字節的地址。模式R(0), R(15), R(30) ...有步幅15.

高速緩存的總內存容量被分成大小相等的行。緩存行大小是緩存中單行的大小(以字節爲單位)。這緩存硬件的一個參數。

現在,相對於緩存行大小的步幅長度可能會影響緩存的性能。如果步幅比行大小小得多,那麼許多連續的訪問將會進入緩存中的同一行。如果步幅大於緩存行大小,則連續訪問將轉到不同的緩存行。如果訪問總數是固定的,前一種情況通常比後者快得多。要理解爲什麼,請嘗試搜索cpu緩存的組織方式。

+0

neha,CPU規範本身定義了緩存行大小以及緩存步長大小。 (例如Intel Itanium系列處理器)。不同的緩存級別可以具有比緩存行大小更小的步幅值。 – San 2013-04-15 06:36:17

+0

你能發佈一個鏈接嗎? – 2013-04-15 06:48:38

+0

我很確定單詞「stride」與大多數與緩存相關的文檔中的回答具有相同的含義。例如,對於4字節的步長值,高速緩存端口的帶寬大約爲X GB/s。步幅是內存訪問模式的屬性,而不是緩存。 – 2013-04-15 06:57:37