天天看點

Cache-主存效率問題

本文主要明确在軟考中經常遇到的緩存效率問題。

第零,明确一個問題:

如果Cache不命中時,不同的系統有不同的應對政策。

一是直接從主存中拿走待取資料,它的時間消耗僅僅是一個通路主存周期。

二是把待取資料先拿回Cache,然後再從Cache中取走資料。而它的時間消耗不僅是一個主存周期,還包括一個通路Cache周期。

第一,求命中率:

CPU欲通路的資訊已經在Cache中的比率稱之為命中率。 設程式在執行期間,Cache的命中次數是Nc,通路主存的次數是Nm,則命中率為:H=Nc/(Nc+Nm)

第二,求平均通路時間:

平均通路時間Ta = H⋅Tc+(1−H)⋅Tm.

第三,求Cache-主存系統效率:

Cache-主存系統效率E = Tc / Ta

第四,求存儲性能提升倍數:

X = Tm / Ta

此處要注意Ta的兩種不同取值。具體見例題分析。