◆ DDR3核心设计:8-bit预取,提升带宽的关键技术
在本文开始就谈到,DDR3的催生是源于处理器外频增加引起的对内存带宽增长需求,也就是说,DDR3它存在的最根本意义在于能提供比DDR2更高的数据传输率。下面这张表列举了目前DDR2/DDR3所能提供的带宽:
内存
| 标准
| 核心 频率 | I/O 频率 | 有效传输 频 率 | 单通道 带 宽 | 双通道 带 宽 |
DDR2-667 | PC2-5300 | 166 MHz | 333 MHz | 667 MHz | 5.3 GB/s | 10.6 GB/s |
DDR2-800 | PC2-6400 | 200 MHz | 400 MHz | 800 MHz | 6.4 GB/s | 12.8 GB/s |
DDR3-800 | PC3-6400 | 100 MHz | 400 MHz | 800 MHz | 6.4 GB/s | 12.8 GB/s |
DDR3-1066 | PC3-8500 | 133 MHz | 533 MHz | 1066 MHz | 8.5 GB/s | 17.0 GB/s |
DDR3-1333 | PC3-10600 | 166 MHz | 667 MHz | 1333 MHz | 10.6 GB/s | 21.3 GB/s |
DDR3-1600 | PC3-12800 | 200 MHz | 800 MHz | 1600 MHz | 12.8 GB/s | 25.6 GB/s |
在同样核心频率下,DDR3能提供两倍于DDR2的带宽。相信很快能制造核心频率为266MHz的DDR3出来,那样的话,数据传输频率可以达到2133MHz,双通道带宽能达到惊人的34GB/s。
我们知道DRAM内部存储单元的核心频率提高比较困难且成本较高,DDR2-800的核心频率已经达到了200MHz,为了解决外部数据传输率和核心速度之间的矛盾,必须引进新的技术也保证数据传输率持续的增长。DDR3的8-bit Prefetch(数据预取架构)技术也应运而生。
DDR3 800内部Cell(存储单元)的核心频率仅为100MHz,采用8-bit的预取技术后,却能提供和核心频率为200MHz的DDR2-800同样的带宽。也就是说引入DDR3,通过这种并行运行的方式来增加内部带宽,可以让内存频率提升回到一个新的起跑线。
实际上,Prefetch并不是什么新技术,在DDR1已经就开始应用了,我们以前经常能看到这样描述DDR,“在时钟周期的上沿和下沿都能传输数据,所以传输率比SDRAM快了一倍”,这就说上沿传输一位数据,下沿传输一位数据,在一个时钟周期内一共传输两位数据(2-bit)给北桥,但这2-bit数据得先从存储单元预取出来才行(一个时间周期)。换句话说,一次读2-bit的数据,然后在I/O时钟上升沿和下降沿传输出去,这就是2-bit Prefetch技术。当然这只是表面的解释,实际情况要比这复杂得多,要注意是,这儿是2-bit,是指2位数据,即2倍芯片位宽的数据。
在DDR2时代,使用了4-bit预取技术,一次从存储单元预取4-bit的数据,然后在I/O时钟上升沿和下降沿传输出去,由于4-bit需要2个时钟周期才能完成传输,这就是为什么DDR2的I/O时钟频率为存储单元频率两倍的原因。
到了DDR3,8-bit预取技术也自然水到渠成,一次从存储单元预取8-bit的数据,在I/O端口处上下沿触发传输,8-bit需要4个时钟周期完成,所以DDR3的I/O时钟频率是存储单元核心频率的4倍,由于是上下沿都在传输数据,所以实际有效的数据传输频率达到了核心频率的8倍。比如,核心频率为200MHz的DDR3-1600,其I/O时钟频率为800MHz,有效数据传输频率为1600MHz。
显然,通过使用Prefetch架构可以解决存储单元内部数据总线频率(核心频率)较低的瓶颈。8-bit预取,正是DDR3提升带宽的关键技术。同样的核心频率,DDR3能提供两倍于DDR2的带宽。