看板 Grad-ProbAsk 關於我們 聯絡資訊
想請問版友,a小題一直被題目中如下的描述,搞得有點混亂。 "memory access time for the first 4 words is 250ns, each additional set of four words can be read in 25ns." 想請問total一次要傳32byte,前16byte 花250ns,之後的16byte不能以25ns算嗎? 為什麼要直接乘以2呢? 還是我觀念有錯誤,希望能幫忙訂正觀念,謝謝。 ※ 引述《henry74918 (henry)》之銘言: : 這是在版上某位版友PO的解答 : 我想問的是 我(a)小題算出來就跟他不一樣 囧 : 他所算出來的220cycle只是16bytes的傳輸時間 : 可是這題一個block size是32bytes : 所以是某應該要220*2 = 440 cycles : 才是正確答案呢? : 麻蠻大家幫我看一下 謝謝 : ※ 引述《RLWANG (CCWANG)》之銘言: : : 我解的解答,有錯請版上大大不吝指教 : : (a). 220 CPU cycles. : : miss penalty:包括access time及transfer time‧ : : access time:miss時,存取block中第一個word所需的時間‧ : : 800M → 1.25 ns CPU Cycle,250 / 1.25 = 200 CPU Cycles : : transfer time:miss時,存取block中其餘word所需的時間‧ : : 由主記憶體與cache間的頻寬(bandwidth)決定‧ : : 200M → 5 ns→ 4 CPU Cycles,4+4*(16 / 4) = 20 CPU Cycles : : 200+20 = 220 CPU Cycles. : : (b).CPIA = 20.8 : : 1+20%*15%*(220) +6%*(220) = 20.8 : : (c).Machine A is n% faster than Machine B. : : ExcutionTimeA = IC*CPI*CycleTime = IC*20.8*1.25 ns = IC*26 : : Machine B:400M → 2.5 ns CPU Cycle. : : 250 / 2.5 = 100 CPU Cycles : : 200M → 5 ns→ 2 CPU Cycles. : : 2+2*(16 / 4) = 10 CPU Cycles : : 100+10 = 110 CPU Cycles. : : 1+20%*15%*(220) +6%*(220) = 20.8 : : CPIB = 1+20%*15%*(110) +6%*(110) = 10.9 : : ExcutionTimeB = IC*CPI*CycleTime = IC*10.9*2.5 ns = IC*27.25 : : Excution timeB/Excution timeA=1+(n/100) : : 求出n. : : (d).200 CPU cycles. : : miss penalty:包括access time及transfer time‧ : : access time:miss時,存取block中第一個word所需的時間‧ : : 800M → 1.25 ns CPU Cycle,250 / 1.25 = 200 CPU Cycles : : transfer time:沒有額外的tranfer time. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.118.242.16 ※ 編輯: nickboy0211 來自: 140.118.242.16 (02/22 23:11)