- 积分
- 15
- 下载分
- 分
- 威望
- 点
- 原创币
- 点
- 下载
- 次
- 上传
- 次
- 注册时间
- 2007-10-13
- 精华
|
马上注册,获取阅读精华内容及下载权限
您需要 登录 才可以下载或查看,没有帐号?注册
x
现代的PC(包括NB)都是以存储器为核心的多总线结构,即CPU只通过存储总线与主存储器交换信息(先在Cache里找数据,如果找不到,再去主存找)。输入输出设备通过I/O总线直接与主存储器交换信息。在I/O设备和主存储器之间配置专用的I/O处理器。CPU不直接参与I/O设备与主存储器之间的信息传送。
存储器分为内部存储器和外部存储器(或者叫主存储器和辅助存储器)。内部存储器简称内存,也可称为主存。从广义上讲,只要是PC内部的易失性存储器都可以看作是内存,如显存,二级缓存等等。外部存储器也称为外存,主要由一些非易失性存储器构成,比如硬盘、光盘、U盘、存储卡等等。
内存作为数据的临时仓库,起着承上启下的作用,一方面要从外存中读取执行程序和需要的数据,另一方面还要为CPU服务,进行读写操作。所以主存储器快慢直接影响着PC的速度。下面我就从内存的原理开始谈起。
一、原理篇
内存工作原理
1.内存寻址
首先,内存从CPU获得查找某个数据的指令,然后再找出存取资料的位置时(这个动作称为“寻址”),它先定出横坐标(也就是“列地址”)再定出纵坐标(也就是“行地址”),这就好像在地图上画个十字标记一样,非常准确地定出这个地方。对于电脑系统而言,找出这个地方时还必须确定是否位置正确,因此电脑还必须判读该地址的信号,横坐标有横坐标的信号(也就是RAS信号,Row Address Strobe)纵坐标有纵坐标的信号(也就是CAS信号,Column Address Strobe),最后再进行读或写的动作。因此,内存在读写时至少必须有五个步骤:分别是画个十字(内有定地址两个操作以及判读地址两个信号,共四个操作)以及或读或写的操作,才能完成内存的存取操作。
2.内存传输
为了储存资料,或者是从内存内部读取资料,CPU都会为这些读取或写入的资料编上地址(也就是我们所说的十字寻址方式),这个时候,CPU会通过地址总线(Address Bus)将地址送到内存,然后数据总线(Data Bus)就会把对应的正确数据送往微处理器,传回去给CPU使用。
3.存取时间
所谓存取时间,指的是CPU读或写内存内资料的过程时间,也称为总线循环(bus cycle)。以读取为例,从CPU发出指令给内存时,便会要求内存取用特定地址的特定资料,内存响应CPU后便会将CPU所需要的资料送给CPU,一直到CPU收到数据为止,便成为一个读取的流程。因此,这整个过程简单地说便是CPU给出读取指令,内存回复指令,并丢出资料给CPU的过程。我们常说的6ns(纳秒,秒-9)就是指上述的过程所花费的时间,而ns便是计算运算过程的时间单位。我们平时习惯用存取时间的倒数来表示速度,比如6ns的内存实际频率为1/6ns=166MHz(如果是DDR就标DDR333,DDR2就标DDR2 667)。
4.内存延迟
内存的延迟时间(也就是所谓的潜伏期,从FSB到DRAM)等于下列时间的综合:FSB同主板芯片组之间的延迟时间(±1个时钟周期),芯片组同DRAM之间的延迟时间(±1个时钟周期),RAS到CAS延迟时间:RAS(2-3个时钟周期,用于决定正确的行地址),CAS延迟时间 (2-3时钟周期,用于决定正确的列地址),另外还需要1个时钟周期来传送数据,数据从DRAM输出缓存通过芯片组到CPU的延迟时间(±2个时钟周期)。一般的说明内存延迟涉及四个参数CAS(Column Address Strobe 行地址控制器)延迟,RAS(Row Address Strobe列地址控制器)-to-CAS延迟,RAS Precharge(RAS预冲电压)延迟,Act-to-Precharge(相对于时钟下沿的数据读取时间)延迟。其中CAS延迟比较重要,它反映了内存从接受指令到完成传输结果的过程中的延迟。大家平时见到的数据3—3—3—6中,第一参数就是CAS延迟(CL=3)。当然,延迟越小速度越快。
二、技术篇
1.DDR、DDRⅡ技术
DDR技术
DDR SDRAM是双倍数据速率(Double Data Rate)SDRAM的缩写。从名称上可以看出,这种内存在技术上,与SDRAM有着密不可分的关系。事实上,DDR内存就是SDRAM内存的加强版。DDR运用了更先进的同步电路,使指定地址、数据的输送和输出主要步骤既独立执行,又保持与CPU完全同步;DDR使用了DLL(Delay Locked Loop,延时锁定回路提供一个数据滤波信号)技术,当数据有效时,存储控制器可使用这个数据滤波信号来精确定位数据,每16次输出一次,并重新同步来自不同存储器模块的数据。DDL本质上不需要提高时钟频率就能加倍提高SDRAM的速度,它允许在时钟脉冲的上升沿和下降沿读出数据,理论上使用原来的工作的频率可以产生2倍的带宽。同速率的DDR内存与SDR内存相比,性能要超出一倍,可以简单理解为133MHZ DDR=266MHZ SDR。从外形体积上DDR与SDRAM相比差别并不大,他们具有同样的尺寸和同样的针脚距离。DDR内存采用的是支持2.5V电压的SSTL2标准,而不是SDRAM使用的3.3V电压的LVTTL标准。但是DDR存在自身的局限性—DDR只是在SDRAM基础上作简单改良,并行技术与生俱来的易受干扰特性并没有得到丝毫改善,尤其随着工作频率的提高和数据传输速度加快,总线间的信号干扰将造成系统不稳定的灾难性后果;反过来,信号干扰也制约着内存频率的提升——当发展到DDR400规范时,芯片核心的工作频率达到200MHz,这个数字已经非常接近DDR的速度极限,只有那些品质优秀的颗粒才能够稳定工作于200MHz之上,所以DDRⅡ标准就成了一种进一步提高内存速度的解决方法。
DDR Ⅱ技术
DDRⅡ相对于DDR有三大技术革新,4位预取(DDR是2位)、Posted CAS、整合终结器(ODT)、FBGA/CSP封装。要解释预取的概念,我们必须从内存的频率说起。大家通常说的“内存频率”其实是一个笼统的说法,内存频率实际上应细分为数据频率、时钟频率和DRAM核心频率三种。数据频率指的是内存模组与系统交换数据的频率;时钟频率则是指内存与系统协调一致的频率;而DRAM核心频率指的是DRAM内部组件的工作频率,它只与内存自身有关而不受任何外部因素影响。对SDRAM来说,这三者在数字上是完全等同的,也就是数据频率=时钟频率=核心频率;而DDR技术却不是如此,它要在一个时钟周期内传输两次数据,数据频率就等于时钟频率的两倍,但核心频率还是与时钟频率相等。由于数据传输频率翻倍(传输的数据量也翻倍),而内部核心的频率并没有改变,这意味着DDR芯片核心必须在一个周期中供给双倍的数据量才行,实现这一任务的就是所谓的两位预取(2bit Prefect)技术;DDRⅡ采用的4位预取。这项技术的原理是将DRAM存储矩阵的位宽增加一(两)倍,这样在一个时钟周期内就可以传输双(四)倍的数据,这些数据接着被转化为宽度为1/2(1/4)的两道数据流、分别从每个时钟周期的上升沿和下降沿传送出去。Posted CAS:DDRⅡ通过引入“Posted CAS”功能来解决带宽利用变低的问题,所谓Posted CAS,指的是将CAS(读/写命令)提前几个周期、直接插到RAS信号后面的一个时钟周期,这样CAS命令可以在随后的几个周期内都能保持有效,但读/写操作并没有因此提前、总的延迟时间没有改变。这样做的好处在于可以彻底避免信号冲突、提高内存使用效率,但它只有在读写极其频繁的环境下得到体现,若是普通应用,Posted CAS功能反而会增加读取延迟、令系统性能下降,因此我们可以根据需要、通过BIOS将Posted CAS功能开启或关闭(关闭状态下DDRⅡ的工作模式就与DDR完全相同)。 芯片整合终结器,提高了内存工作的稳定性,增强的内存的兼容性。FBGA封装和CSP封装,封装虽然无法直接决定内存的性能,但它对内存的稳定工作至关重要。 FBGA封装是DDRⅡ的官方选择,FBGA属于BGA体系(Ball Grid Array,球栅阵列封装),前面已经讲过了。CSP封装最大的特点在于封装面积与芯片面积异常接近,两者比值仅有1.14:1,它也是目前最接近1:1理想状况的芯片封装技术。这样在同样一条模组中就可以容纳下更多数量的内存芯片,有利于提升模组的总容量。
2.双通道内存控制器技术
所谓双通道DDR,简单来说,就是芯片组可以在两个不同的数据通道上分别寻址、读取数据。这两个相互独立工作的内存通道是依附于两个独立并行工作的,位宽为64-bit的内存控制器下,因此使普通的DDR内存可以达到128-bit的位宽,如果是DDR333的话,双通道技术可以使其达到DDR667的效果,内存带宽陡增一倍。双通道DDR有两个64bit内存控制器,双64bit内存体系所提供的带宽等同于一个128bit内存体系所提供的带宽,但是二者所达到效果却是不同的。双通道体系包含了两个独立的、具备互补性的智能内存控制器,两个内存控制器都能够在彼此间零等待时间的情况下同时运作。例如,当控制器B准备进行下一次存取内存的时候,控制器 A就在读/写主内存,反之亦然。两个内存控制器的这种互补“天性”可以让有效等待时间缩减50%,双通道技术使内存的带宽翻了一翻。双通道DDR的两个内存控制器在功能上是完全一样的,并且两个控制器的时序参数都是可以单独编程设定的。这样的灵活性可以让用户使用三条不同构造、容量、速度的DIMM内存条,此时双通道DDR简单地调整到最低的密度来实现128bit带宽,允许不同密度/等待时间特性的DIMM内存条可以可靠地共同运作。双通道DDR技术带来的性能提升是明显的,DDR266能够提供2.1GB/s的带宽,而双通道DDR266则能提供4.2GB/s的带宽。以此类推,双通道DDR333和DDR400能够达到5.4GB/s和6.4GB/s。
3.CPU集成内存控制器技术
这是AMD公司提高CPU与内存性能的一项技术,这项技术是一种将北桥的内存控制器集成到CPU的一种技术,这种技术的使用使得原来,CPU-北桥-内存三方传输数据的过程直接简化成CPU与内存之间的单项传输技术,并且降低了它的延迟潜伏期,提高了内存工作效率。这么做得的目的是为了解放系统的北桥,众所周知,显卡也是通过北桥向CPU传输数据的,虽然说早在GeForce256时代就有了GPU的说法,但是随着现在游戏的进步,画面的华丽,不少数据还是需要CPU来做辅助处理的。这些数据传输到CPU必然要经过系统的北桥,由于AMD64系统将内存控制集成到主般中来了,所以压力减小的北桥便可以更好地为显卡服务。另外,缺少了中间环节,内存和CPU之间的数据交换显得更为流畅。但是这项技术也有缺点,当新的内存技术出现时,必须要更换CPU才能支持。这在无形间增加了成本。
4.其他技术
A.ECC内存
全称Error Checkingand Correcting。它也是在原来的数据位上外加位来实现的。如8位数据,则需1位用于Parity检验,5位用于ECC,这额外的5位是用来重建错误的数据的。当数据的位数增加一倍,Parity也增加一倍,而ECC只需增加一位,当数据为64位时所用的ECC和Parity位数相同(都为。在那些Parity只能检测到错误的地方,ECC可以纠正绝大多数错误。若工作正常时,你不会发觉你的数据出过错,只有经过内存的纠错后,计算机的操作指令才可以继续执行。当然在纠错时系统的性能有着明显降低,不过这种纠错对服务器等应用而言是十分重要的,ECC内存的价格比普通内存要昂贵许多。
B.(Un)Buffered Memory 内存
(Un)Buffered Memory,(不)带有缓存的内存条。缓存能够二次推动信号穿过内存芯片,而且使内存条上能够放置更多的内存芯片。带缓存的内存条和不带缓存的内存条不能混用。电脑的内存控制器结构,决定了该电脑上带缓存的内存还是上不带缓存的内存。
四、总结篇 Q&A
伴随着整个PC工业的发展,内存的发展朝着速度更快,功耗更低,成本更低的方向发展,老一代DDR内存正在面临着更多新技术的挑战,不管是同门DDRⅡ、还是Rambus的XDR,VIA的QBM都有一定竞争力。作为普通的本本用户,我们更关心的是技术成熟,产品性价比高的产品,由于本本内存的扩展相对于其他硬件容易些,建议大家在资金允许的范围内最好还是增加内存容量。尤其是集成显卡的本本,还可考虑升级到双通道,提高显卡和系统整体的性能。 |
|