2014-11-21 66 views
0

這是一個關於我的考試學習指南的問題,我們還沒有介紹如何計算數據傳輸。任何幫助將不勝感激。計算機體系結構:高速緩存傳輸分析

鑑於是容量爲2兆字節(1M字節= 2^20字節) 和塊尺寸128個字節的8路組關聯二級數據高速緩存。高速緩存通過共享的32位地址和數據總線連接到主存儲器。緩存和RISC-CPU通過分離的地址和數據總線連接,每個總線的寬度爲32位。 CPU正在執行加載字指令

a)在緩存未命中的情況下,有多少用戶數據從主存儲器傳輸到緩存?

b)在緩存未命中的情況下,多少用戶數據從緩存傳輸到CPU?

+0

您的問題與編程無關,並且不顯示任何搜索消息。 – mrgenco 2014-11-21 12:11:20

+0

@mrgenco它涉及到低級編程,即計算機體系結構。就搜索工作而言,我花了8個小時閱讀我的​​書,試圖找出如何做到這一點。儘管我在書中找不到這些信息,這是我的教授的問題。捏造。因此,我正在尋求幫助。 – user4278114 2014-11-21 12:24:51

+0

告訴我們你的想法,爲什麼,我們會告訴你,如果你是對的:) – VAndrei 2014-11-21 19:41:35

回答

0

你需要計算第一緩存行大小:

  1. 緩存塊數:2MB/128B = 16384塊(14位)
  2. 的臺數:16384/8路= 2048套( 11位)
  3. 地址寬度:32位
  4. 線偏移位:32 - 14 - 11 = 7個比特

所以高速緩存行大小爲128B - 實際上人ine是一個塊,但是知道上面的計算是很好的。

a)在緩存未命中的情況下,有多少用戶數據從主存儲器傳輸到緩存中 ?

在你的問題中,L2緩存是主內存之前的最後一級緩存。所以如果你錯過了二級緩存(,你沒有找到你正在尋找的行),你需要從主內存中獲取行。 因此128B的用戶數據將從主存儲器傳輸。地址總線和數據總線共享的事實不會影響。

b)如果高速緩存未命中的 的情況下有多少用戶數據從高速緩存傳輸到CPU?

如果您到達L2緩存,那意味着您錯過了L1緩存。因此從L2開始,CPU必須將一條完整的L1高速緩存線轉移到L1。 因此,L1行的大小是128B,那麼128B的數據將從L2到L1。 CPU將僅使用該行的一小部分將生成未命中的指令送入L1緩存。無論L2是否被驅逐,這應該在問題句子(包括/獨佔緩存)中陳述