找回密码
 注册
搜索
查看: 1050|回复: 1

[讨论] 关于burst mode 的一点点

[复制链接]
发表于 2010-9-27 15:46:01 | 显示全部楼层 |阅读模式
  存储器存储矩阵式的。如果对存储器进行访问,必须先给出你想要读或写的内容的行地址和列地址。事实上,对存储器的每一次读和写,并不是一次读写1bit或者1byte,而是一次读写32bits或者64bits。

  当对存储器进行初次的访问时,会进行很相当多的步骤,以至于访问速度很慢。但是有些信号是在访问之前必须进行设置的。即,告诉存储器,会使用哪些单元。然后才是搬运数据。在初次访问存储器时,这些设置通常占用4~7CLK。这些时间被称为“内存延迟”(helatencyofthememory.)

  所以,大部分的latency在做的事情只是告诉存储器怎样进行数据传输而非进行真正的数据传输。如果能将这些latency所占的时间降低,就可以加快访问速度,尤其是,当我们连续读四个64-bit的memory块的时候。在这种情况下,我们根本不需要提供第2/3/4块区的访问地址,因为他们跟第1块区是连续的。这样就可以节省很多时间,并极大的提高访问速度。

  这就是现代的计算机系统需要做的。4个连续的64-bit块区,读完一个连续读另外一个(256bits或者32bytes)。这就叫做burstmode或者bursting。其最大的优点就是在于,只在首次访问的时候提供一次head,不需要反复提供3次。因此,能节省1/3的时间。系统的二级缓存设置为256bits宽度以便对应这种访问模式,所以,可以存储所有的传输中的32bytes数据。

  burstmode的访问时序一般简单的记录为"x-y-y-y";("x")代表开始的64-bit读/写需要的时钟周期。其余部分则表示读/写第2/3/4块区所需要的时钟数。例如,"5-2-2-2",整个burst需要的时间是11时钟周期,如果不使用burst模式,那么需要的时钟周期是:"5-5-5-5",共20个时钟周期。

  需要注意的是,所有的存储器在首次访问时,都会有latency,这部分是不会消失的,即使是快速存储器。或许有的人会认为SDRAM不需要二次缓存,因为latency和数据传输在一个时钟周期内完成,简单记录为:"x-1-1-1"。但是,仍然需要对SDRAM寻址而不是缓存。这就是为什么“x”是未定的。SDRAM的访问时钟为5-1-1-1,而缓存的访问时钟为3-1-1-1或者2-1-1-1。SDRAM的制造商只指明了存储器的burst的速度,也就是说,只给出了“1”的,而避谈“5”。
发表于 2012-7-21 22:39:30 | 显示全部楼层
怎么没人顶啊 学习了
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-25 09:44 , Processed in 0.045577 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表