了解“根本” 解读带宽与潜伏期 系统性能的“根本”——解读带宽与潜伏期的关系 |
|
2003-05-06·
·姑苏飘雪··天极硬件频道
|
上一页 1 2 3 4 5 6 7 8 9 下一页 |
三、潜伏期和突发
为了避免上面谈到的读取潜伏期过多地对影响带宽,现实的系统中采取了不少的方法来最大可能地利用总线带宽。在这些措施中最常用的和最重要的方法之一就是在读取一定量的数据时让中央处理器发出的读取请求数减到最小。如果随机存贮器能预感中央处理器将下次需要的数据并且和处理器刚请求了的数据一起发送,那么中央处理器将不会再存在为下一步需要的数据发出读取请求的问题。在这节,我将在更多的详细描述这个以便你能了解它在带宽上的影响。
当中央处理器向存储器发出一个特定的字节请求时,内存系统不仅返回请求的字节而且也包括一组与它相邻的数据,这些相邻的字节将是下一个读取请求所需要的。请求的字节必须被写进中央处理器的L1缓存,并且缓存接受的将不仅仅是单个请求需要的字节而是内存系统发送出的一系列数据。因此内存系统对外面送的是由请求需要的字节和它相邻的数据组成一系列数据,然后通过总线缓冲线被写给L1缓存内。
到目前为止在例子和所有给定的图表中,中央处理器的缓存线的尺寸被假定是32个字节,或4组8字节的word。 因此在前面的图表中 ,当L1缓存请求数据时(注:在这里缓存没清楚地被描绘出来——它被假定是中央处理器的一部分),实际上它是正在要求32个字节的数据。但内存总线的宽度仅仅只有8个字节,所以内存系统必须拆分L1缓存这个请求——分成4个8字节word的组合,在总线上按顺序地把那些word传送到L1缓存内。
 在上图中,以橘黄色标示的时钟脉冲称为critical word(记住:1 word = 8 bytes),因为它包含中央处理器请求需要的特定字节所以如此称呼。在大多数SDRAM架构(但不包括RAMBUS架构)中,内存系统首先把critical word放在总线上以便让它第一个到达中央处理器。缓存线中的其它部分会在后面时钟周期中逐一发送到缓存中。
如果你对随机存贮器有一定了解的话,应该知道在突发模式下SDRAM运作能向系统总线发送一些word,在连续、各次时钟脉冲上每一次需要数据的请求就响应一次。在上面的图表中,在请求发出之后的三个时钟周期(那是我们系统的3读取潜伏期)才开始发送数据,4个word中的第一个发送出去之后,在随后的三个时钟周期之中每个时钟周期都可以发送一个word的数据,因此第一(或“critical”)word有3个潜伏周期,而随后发送的每个word有一个潜伏期(在BIOS中的DRAM 潜伏期设定中被描述为3-1-1-1) 。而此动作过程需要的全部时间 (发送所有的4个8字节块到总线之上的时间)是3 + 1 + 1 + 1 = 6个周期。
为了计算4个突发周期的系统最大持续带宽,我们必须先计算在缓存线上传输4个word所需要的时间。从前面系统描述中,我们知道传送4个word(或4 x 8 = 32个字节)需要使用6个时钟周期。运行在100MHz下的系统总线最大持续带宽将是533 MB/s,你可以通过下的工公式计算出来:
4 words x 8 bytes x 100MHz/(3 clocks + 1 clock + 1 clock + 1 clock) = 533 MB/s
这个数字明显比我们早先计算800 MB/s的峰值带宽要低。正如你所看到的,当那些空闲的时钟周期是影响带宽计算的主要因素。了解系统的持续带宽与发送和和接收数据之间有没有必然的界限是非常重要的!在不确定的时间内,DRAM完全有能力在一个时钟周期发出8个字节的数据,而中央处理器同样有能力接收、处理这些数据。问题是有两者运作之间的有一个转变时间(交接时间)。
注:突发(Burst)是指在同一行中相邻的存储单元连续进行数据传输的方式,连续传输所涉及到存储单元(列)的数量就是突发长度(Burst Lengths,简称BL)。
|
上一页 1 2 3 4 5 6 7 8 9 下一页 |
|
|
感谢
访问天极网,如果您觉得该文章涉及版权问题,请看这里!
|