※ 引述《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新手怕没寄出去。