2016-10-19 842 views
2

考慮以下信息根據以下數據計算平均內存訪問時間?

  • 假設高速緩存的物理尋址
  • TLB命中率是95%,與訪問時間= 1個週期
  • 緩存命中率是90%,與再次訪問時間= 1個循環
  • 頁面錯誤爲1%,並且當未命中在兩個TLB和高速緩存發生發生
  • 的TLB存取和高速緩存訪​​問是順序
  • 主存儲器存取時間是5個週期
  • 磁盤訪問時間爲100個週期
  • 頁表總是保存在主存

會有什麼基於以下信息的平均內存訪問時間?

我的方法 =>我正在給我的方法來理解這個問題。請檢查一下。

平均存儲器存取時間

==>

Probability of NO page fault (Memory access time) 
+ 
Probability of page fault (Page fault service time) 

==>

0.99(TLB命中(TLB存取時間+緩存命中+高速緩存未命中) + TLB錯過(TLB訪問時間+頁表訪問時間+緩存命中+緩存未命中)

+

0.01(TLB存取時間+頁表的訪問時間+磁盤訪問時間)

==>

0.99(0.95 (1 + 0.90(1)+ 0.10(1 + 5))+ 0.05(1 + 5 + 0.90(1)+ 0.10(1 + 5)))

+

0.01(1 + 5 + 100)

給定的表達是否正確?

請讓我知道,我的方法是對的還是我犯了一些錯誤?

任何人都可以幫助我嗎?

PS:我有我的中期下週需要練習這些問題

+0

男人,你正在遭受忙碌的痛苦。 – user3344003

+0

你的數字是0.99還是0.01? – Ivan

+0

@Ivan,1%是頁面錯誤。因此,我使用了99%的無頁面錯誤。 – Garrick

回答

1

在你的情況棘手線擊中它,我們必須執行轉換(如程序使用虛擬地址)之前cache is physically addressed意義

我建立以下概率樹來計算平均值。我們將從葉子中減去它來計算整個平均值。規則非常簡單:我們計算分支成本,並將它們乘以幾乎與您在計算中所做的一樣的概率。我得到的值是2.7225

complete tree

1日休假減少,缺頁

reduction 1

減少

after the reduction

成本緩存命中情景

注意:我們付出1個週期高速緩存訪​​問反正

cache hit scenario cost

上屆減少之前

注:我們付出1個週期TLB反正

before last reduction

1 + 0.95*1.5 + 0.05*5.95 = 1 + 1.425 + 0.2975 = 2.7225 
+0

是的,你有正確的答案。毫無疑問,爲什麼你在第一個樹中有兩種類型的頁面錯誤。在這個問題中,當在TLB和緩存中都存在未命中時,PF會發生? – Garrick

+0

@willturner是的,這是一個錯誤。如果我們在TLB中有頁面,這意味着我們將它放在主內存中,這意味着在讀取時沒有頁面錯誤,這要歸功於此 – Ivan

+0

已更正。現在的平均時間是0.01更大:) – Ivan