※ 引述《lineup730 (lineup)》之銘言:
: 1.假設一個快取區塊大小為4個字組及寬度為1個字組的DRAM,以下假設一組記憶體存
: 取時間:
: -送出位置需要1個時脈週期
: -起始每個DRAM存取的時間為15個時脈週期
: -送出一字組資料時間為1個時脈週期
: 分別使用one-word-wide memory organization、two-word-wide memory organization、
: four banks記憶體系統設計方式,計算由記憶體傳送一個區塊至快取記憶體所需要時間。
: 解:
: one-word-wide
: 1+4x15+4x1=65 clock cycles
: two-word-wide
: 1+2x15+2x1=33 clock cycles
: interleaved memory organization(four banks)
: 1+1x15+4x1=20 clock cycles
: 請問題目的敘述"快取區塊大小為4個字組及寬度為1個字組的DRAM"
: 是小弟理解的這樣嗎?
: http://ppt.cc/62hh
先解釋一下題目中的快取區塊大小指的是一個block的大小是4個word
所以當要從DRAM搬一個block到cache時就要一次搬4個word
而寬度為1個字組的DRAM是指DRAM一次讀取1個word
: 另外想請問記憶體存取的流程,小弟不太懂為什麼15要乘4,後面的1要乘4(one-word
: -wide),另外兩種也不懂...
為什麼15要乘以4就如同我上面解釋的因為一次要搬4個word,
以第一個例子:
送出位址(1 clock)→讀取DRAM 4個word(1個block)(4*15)→經由bus傳送四個word(4*1)
第二個例子請對照前一頁的圖,他是將DRAM跟bus的bandwidth都加大兩倍所以
DRAM一次讀取2個word,且bus次傳送2個word所以算是中除了第一步送出位址以外都要/2。
第三個例子因為有四個DRAM同時做讀取,每個各讀取1個word,所以計算時間時只要計算
讀取1個word的時間,然後傳送位址跟bus都不變。
: 2.
: http://ppt.cc/jINF
: 請問這一題所提到的 bank conflict指的是什麼?我在書上好像沒有看到這個詞?
: 在下面Answer的部分有提到,
: A bank conflict cause the memory system to stall until the busy bank has
: completed the prior operation.
: 請問這裡所說的 prior operation指的是什麼運算?指的是前面的reference的operation
你以前一頁圖c.當作參考,reference 9在bank1讀取時(以上個練習來說需要15個clock)
如果這當中有其他reference也要用到bank1就會發生bank conflict。
當發生bank conflict發生時後面的reference就必須等到前面的reference讀取或是寫入
結束才能往下執行(講白話一點就是給林杯排隊啦!)
: 這個Bank Conflict yes or no的依據是什麼?
可以照我上面給的說明去trace看看,應該不難。
: 以上兩個問題麻煩大大們替小弟解惑!
: 由於小弟是轉考生,第一次接觸到這個科目,許多觀念都不太了解!要麻煩各位大大了!
加油!!!
還有你應該有收到我的信吧,我是PTT新手怕沒寄出去。