DDR3原理详解_判断能量信号和功率信号

DDR3原理详解_判断能量信号和功率信号转自:http://www.360doc.com/content/14/0116/16/15528092_345730642.shtml 首先,我们先了解一下内存的大体结构工作流程,这样会比较容量理解这些参数在其中所起到的作用。这部分的讲述运用DDR3的简化时序图。   DDR3的内部是一个存储阵列,将数据“填”进去,你可以它想象成一张表格。和表格的检索原理一样,先指定一个行(Row),再指定一个…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

转自:http://www.360doc.com/content/14/0116/16/15528092_345730642.shtml

 

首先,我们先了解一下内存的大体结构工作流程,这样会比较容量理解这些参数在其中所起到的作用。这部分的讲述运用DDR3的简化时序图

   DDR3的内部是一个存储阵列,将数据“填”进去,你可以它想象成一张表格。和表格的检索原理一样,先指定一个行(Row),再指定一个列(Column),我们就可以准确地找到所需要的单元格,这就是内存芯片寻址的基本原理。对于内存,这个单元格可称为存储单元,那么这个表格(存储阵列)就是逻辑 Bank(Logical Bank,下简称Bank)。 

DDR3原理详解_判断能量信号和功率信号

DDR3内部Bank示意图,这是一个NXN的阵列,B代表Bank地址编号,C代表列地址编号,R代表行地址编号。

如果寻址命令是B1、R2、C6,就能确定地址是图中红格的位置

目前DDR3内存芯片基本上都是8个Bank设计,也就是说一共有8个这样的“表格”。

寻址的流程也就是先指定Bank地址,再指定行地址,然后指列地址最终的确寻址单元。

目前DDR3系统而言,还存在物理Bank的概念,这是对内存子系统的一个相关术语,并不针对内存芯片。内存为了保证CPU正常工作,必须一次传输完CPU 在一个传输周期内所需要的数据。而CPU在一个传输周期能接受的数据容量就是CPU数据总线的位宽,单位是bit(位)。控制内存与CPU之间数据交换的北桥芯片也因此将内存总线的数据位宽等同于CPU数据总线的位宽,这个位宽就称为物理Bank(Physical Bank,有的资料称之为Rank)的位宽。目前这个位宽基本为64bit。

在实际工作中,Bank地址与相应的行地址是同时发出的,此时这个命令称之为“行激活”(Row Active)。在此之后,将发送列地址寻址命令与具体的操作命令(是读还是写),这两个命令也是同时发出的,所以一般都会以“读/写命令”来表示列寻址。根据相关的标准,从行有效到读/写命令发出之间的间隔被定义为tRCD,即RAS to CAS Delay(RAS至CAS延迟,RAS就是行地址选通脉冲,CAS就是列地址选通脉冲),我们可以理解为行选通周期。tRCD是DDR的一个重要时序参数,广义的tRCD以时钟周期(tCK,Clock Time)数为单位,比如tRCD=3,就代表延迟周期为两个时钟周期,具体到确切的时间,则要根据时钟频率而定,DDR3800,tRCD=3,代表30ns的延迟。

DDR3原理详解_判断能量信号和功率信号

                     图中显示的是tRCD=3

接下来,相关的列地址被选中之后,将会触发数据传输,但从存储单元中输出到真正出现在内存芯片的 I/O 接口之间还需要一定的时间(数据触发本身就有延迟,而且还需要进行信号放大),这段时间就是非常著名的 CL(CAS Latency,列地址脉冲选通潜伏期)。CL 的数值与 tRCD 一样,以时钟周期数表示。如 DDR3800,时钟频率为 100MHz,时钟周期为 10ns,如果 CL=2 就意味着 20ns 的潜伏期。不过CL只是针对读取操作

由于芯片体积的原因,存储单元中的电容容量很小,所以信号要经过放大来保证其有效的识别性,这个放大/驱动工作由S-AMP负责,一个存储体对应一个S- AMP通道。但它要有一个准备时间才能保证信号的发送强度(事前还要进行电压比较以进行逻辑电平的判断),因此从数据I/O总线上有数据输出之前的一个时钟上升沿开始,数据即已传向S-AMP,也就是说此时数据已经被触发,经过一定的驱动时间最终传向数据I/O总线进行输出,这段时间我们称之为 tAC(Access Time from CLK,时钟触发后的访问时间)。

DDR3原理详解_判断能量信号和功率信号

                      图中标准CL=2,tAC=1

  目前内存的读写基本都是连续的,因为与CPU交换的数据量以一个Cache Line(即CPU内Cache的存储单位)的容量为准,一般为64字节。而现有的Rank位宽为8字节(64bit),那么就要一次连续传输8次,这就涉及到我们也经常能遇到的突发传输的概念。突发(Burst)是指在同一行中相邻的存储单元连续进行数据传输的方式,连续传输的周期数就是突发长度(Burst Lengths,简称BL)。

在进行突发传输时,只要指定起始列地址与突发长度,内存就会依次地自动对后面相应数量的存储单元进行读/写操作而不再需要控制器连续地提供列地址。这样,除了第一笔数据的传输需要若干个周期(主要是之前的延迟,一般的是tRCD+CL)外,其后每个数据只需一个周期的即可获得。

DDR3原理详解_判断能量信号和功率信号

突发连续读取模式:只要指定起始列地址与突发长度,后续的寻址与数据的读取自动进行,而只要控制好两段突发读取命令的间隔周期(与BL相同)即可做到连续的突发传输。

谈到了突发长度。如果BL=4那么也就是说一次就传送4×64bit的数据。但是,如果其中的第二笔数据是不需要的,怎么办?还都传输吗?为了屏蔽不需要的数据,人们采用了数据掩码(Data I/O Mask,简称DQM)技术。通过DQM,内存可以控制I/O端口取消哪些输出或输入的数据。这里需要强调的是,在读取时,被屏蔽的数据仍然会从存储体传出,只是在“掩码逻辑单元”处被屏蔽。DQM由北桥控制,为了精确屏蔽一个P-Bank位宽中的每个字节,每个DIMM有8个DQM 信号线,每个信号针对一个字节。这样,对于4bit位宽芯片,两个芯片共用一个DQM信号线,对于8bit位宽芯片,一个芯片占用一个DQM信号,而对于 16bit位宽芯片,则需要两个DQM引脚。

在数据读取完之后,为了腾出读出放大器以供同一Bank内其他行的寻址并传输数据,内存芯片将进行预充电的操作来关闭当前工作行。还是以上面那个Bank示意图为例。当前寻址的存储单元是B1、R2、C6。如果接下来的寻址命令是B1、R2、C4,则不用预充电,因为读出放大器正在为这一行服务。但如果地址命令是B1、R4、C4,由于是同一Bank的不同行,那么就必须要先把R2关闭,才能对R4寻址。从开始关闭现有的工作行,到可以打开新的工作行之间的间隔就是tRP(Row Precharge command Period,行预充电有效周期),单位也是时钟周期数。

DDR3原理详解_判断能量信号和功率信号

在不同Bank间读写也是这样,先把原来数据写回,再激活新的Bank/Row。

数据选取脉冲(DQS)

DQS 是DDR中的重要功能,它的功能主要用来在一个时钟周期内准确的区分出每个传输周期,并便于接收方准确接收数据。每一颗芯片都有一个DQS信号线,它是双向的,在写入时它用来传送由北桥发来的DQS信号,读取时,则由芯片生成DQS向北桥发送。完全可以说,它就是数据的同步信号。

在读取时,DQS与数据信号同时生成(也是在CK与CK#的交叉点)。而DDR内存中的CL也就是从CAS发出到DQS生成的间隔,DQS生成时,芯片内部的预取已经完毕了,由于预取的原因,实际的数据传出可能会提前于DQS发生(数据提前于DQS传出)。由于是并行传输,DDR内存对tAC也有一定的要求,对于DDR266,tAC的允许范围是±0.75ns,对于DDR333,则是±0.7ns,有关它们的时序图示见前文,其中CL里包含了一段DQS 的导入期。

DQS 在读取时与数据同步传输,那么接收时也是以DQS的上下沿为准吗?不,如果以DQS的上下沿区分数据周期的危险很大。由于芯片有预取的操作,所以输出时的同步很难控制,只能限制在一定的时间范围内,数据在各I/O端口的出现时间可能有快有慢,会与DQS有一定的间隔,这也就是为什么要有一个tAC规定的原因。而在接收方,一切必须保证同步接收,不能有tAC之类的偏差。这样在写入时,芯片不再自己生成DQS,而以发送方传来的DQS为基准,并相应延后一定的时间,在DQS的中部为数据周期的选取分割点(在读取时分割点就是上下沿),从这里分隔开两个传输周期。这样做的好处是,由于各数据信号都会有一个逻辑电平保持周期,即使发送时不同步,在DQS上下沿时都处于保持周期中,此时数据接收触发的准确性无疑是最高的。

DDR3原理详解_判断能量信号和功率信号

在写入时,以DQS的高/低电平期中部为数据周期分割点,而不是上/下沿,但数据的接收触发仍为DQS的上/下沿

3.容量的计算

DDR3原理详解_判断能量信号和功率信号

上图为X8data的单颗DDR3架构图,行(Row)地址线复用14根,列(Column)地址线复用10根,Bank数量为8个,IO Buffer 通过8组数位线(DQ0-DQ7)来完成对外的通信,故此单颗DDR3芯片的容量为2的14次方乘2的10次方乘8乘8,结果为1Gbit,因为1B包含8bit,1GB/8=128MB。

如果我们要做成容量为1GB的内存条则需要8颗这样的DDR3内存芯片,每颗芯片含8根数位线(DQ0-DQ7)则总数宽为64bit,这样正好用了一个Rank。

假果还用128MB的DDR3芯片去做2GB内存条,结果就会有所不同。我们最好选用4根数位线(DQ0-DQ3),数量是16颗,这样也是用了一个Rank。

在K2的项目中我们要做容量为8GB的内存条,则数量用64颗128M的DDR3,这样位宽高达64X4=256bit,要做成4个Rank。

1.结构框图:

DDR3原理详解_判断能量信号和功率信号

2.管脚功能描述

DDR3原理详解_判断能量信号和功率信号

DDR3原理详解_判断能量信号和功率信号

DDR3原理详解_判断能量信号和功率信号

DDR3原理详解_判断能量信号和功率信号

3.状态图:

DDR3原理详解_判断能量信号和功率信号

Power on: 上电

Reset Procedure: 复位过程

Initialization: 初始化

ZQCL: 上电初始化后,用完成校准ZQ电阻。ZQCL会触发DRAM内部的校准引擎,

      一旦校准完成,校准后的值会传递到DRAMIO管脚上,并反映为输出驱动和ODT阻值。

ZQCS: 周期性的校准,能够跟随电压和温度的变化而变化。校准需要更短的时间窗口,

      一次校准,可以有效的纠正最小0.5%RONRTT电阻。

AlAdditive latency.是用来在总线上保持命令或者数据的有效时间。

    在ddr3允许直接操作读和写的操作过程中,AL是总线上的数据出现到进入器件内部的时间。

    下图为DDR3标准所支持的时间操作。

DDR3原理详解_判断能量信号和功率信号

Write Leveling:为了得到更好的信号完整性,DDR3存储模块采取了FLY_BY的拓扑结构,

     来处理命令、地址、控制信号和时钟。FLY_BY的拓扑结构可以有效的减少stub的数量和他们的长度,

     但是却会导致时钟和strobe信号在每个芯片上的flight time skew,这使得控制器(FPGA或者CPU

     很难以保持Tdqss ,tdsstdsh这些时序。这样,ddr3支持write leveling这样一个特性,

     来允许控制器来补偿倾斜(flight time skew)。存储器控制器能够用该特性和从DDR3反馈的数据调成DQSCK之间的关系。

     在这种调整中,存储器控制器可以对DQS信号可调整的延时,来与时钟信号的上升边沿对齐。

     控制器不停对DQS进行延时,直到发现从01之间的跳变出现,然后DQS的延时通过这样的方式被建立起来了,由此可以保证tDQSS

DDR3原理详解_判断能量信号和功率信号

MRS: MODE Register Set, 模式寄存器设置。为了应用的灵活性,不同的功能、特征和模式等在四个在DDR3芯片上的Mode Register中,

     通过编程来实现。模式寄存器MR没有缺省值,因此模式寄存器MR必须在上电或者复位后被完全初始化,

     这样才能使得DDR可以正常工作。正常工作模式下,MR也可以被重新写入。模式寄存器的设置命令周期,

        tMRD两次操作的最小时间,其具体时序图,如下图所示。模式寄存器,分为MR0MR1MR2MR4

    MR0用来存储DDR3的不同操作模式的数据:包括突发长度、读取突发种类、CAS长度、测试模式、DLL复位等。

    MR1用来存储是否使能DLL、输出驱动长度、Rtt_Nom、额外长度、写电平使能等。MR2用来存储控制更新的特性,

    Rtt_WR阻抗,和CAS写长度。MR3用来控制MPR

DDR3原理详解_判断能量信号和功率信号

MPR: Multi-purpose register. 多用途寄存器。MPR的功能是读出一个预先设定的系统时序校准比特序列。

     为了使能MPR功能,需要在MRS的寄存器MR3A2位写1,并且在此之前需要将ddr3的所有bank处于idle状态;

     一旦MPR被使能后,任何RDRDA的命令都会被引入到MPR寄存器中,当MPR寄存器被使能后,

     除非MPR被禁止(MR3A2=0),否则就只有RDRDA被允许。在MPR被使能的时候,RESET功能是被允许的。

Precharge Power Down: bankin-progress命令后关闭

Active Power Down:bankin-progress命令后依然打开

Idle:所有的bank必须预先充电,所有时序满足,DRAMODT电阻,RTT必须为高阻。

  CWL:CAS write latency. 以时钟周期为单位,在内部写命令和第一位输入数据的时间延时,该单位始终为整数。

        在操作过程中,所有的写延时WL被定义为ALAdditive Latency+CWL

Rtt: Dynamic ODT.DDR3引入的新特性。在特定的应用环境下为了更好的在数据总线上改善信号完整性,

       不需要特定的MRS命令即可以改变终结强度(或者称为终端匹配)。在MR2中的A9A10位设置了Rtt_WRDdr3中,

       有两种RTT值是可以选择的,一种是RTT_Nom,另一种是RTT_WR;Rtt_Nom是在没有写命令的时候被选择的,

       当有了写命令后,ODT就会变成Rtt_wr,当写命令结束后,又会回到Rtt_nom。也就是说,RTTODT使能后,出现,

       当总线上没有数据的时候,采用的RTT值为RTT_nom;而当总线上有了数据后,要求此时的ODT的值为Rtt_wr

       具体的DDR3ODT产生时序见图2。当ODT被使能后,必须要保持高电平ODTH4个时钟周期才可以有效;

       如果写命令被放入寄存器并且ODT是高,那么ODT必须保持ODTH4或者ODTH8,这样ODT才可以有效。

DDR3原理详解_判断能量信号和功率信号

DDR3原理详解_判断能量信号和功率信号

ACT = ACTIVATE                        PREA = PRECHARGE ALL                           SRX = 自刷新推出

MPR = 多用处寄存器                 READ = RD,RDS4,RDS8                        WRITE=WR,WRS4,WRS8

MRS=模式寄存器集                   READ AP=RDAP,RDAPS4,RDAPS8               WRITE=WRAP,WRAPS4,WRAPS8

PDE=掉电进入                           REF=REFRESH                                           ZQCL=ZQ LONG CALIBRATION

PDX=掉电推出                           RESET=启动复位过程                                ZACS=ZA SHORT CALIBTATION

PRE=预充电                               SRE=自刷新进入

4、工作原理

在描述了上述的一些基本概念后,就可以对图1中的DDR3工作原理进行基本的描述了理解了。

首先,芯片进入上电,在上电最小为200us的平稳电平后,等待500usCKE使能,

在这段时间芯片内部开始状态初始化,该过程与外部时钟无关。在时钟使能信号前(cke),

必须保持最小10ns或者5个时钟周期,除此之外,还需要一个NOP命令或者Deselect命令出现在CKE的前面。

然后DDR3开始了ODT的过程,在复位和CKE有效之前,ODT始终为高阻。

CKE为高后,等待tXPR(最小复位CKE时间),然后开始从MRS中读取模式寄存器。

然后加载MR2MR3的寄存器,来配置应用设置;然后使能DLL,并且对DLL复位。

接着便是启动ZQCL命令,来开始ZQ校准过程。等待校准结束后,DDR3就进入了可以正常操作的状态。

对于基本的配置过程,现在就可以结束了。下面,结合CH1的控制器FPGA,说明对DDR3相关的配置。

DDR3原理详解_判断能量信号和功率信号

上表中MRS可以设置Mode寄存器值

DDR3原理详解_判断能量信号和功率信号

DDR3原理详解_判断能量信号和功率信号

以                         上图为例CS#,RAS#,CAS#,WE#为L,L,H,H。则指令为Row/Bank Active;随后CS#拉高,command无效,

                             在第4个时钟周期这4个信号变为L,H,L,H,对照表格,指令为Read,经过几个时钟周期延迟,在3CLK后读数据

5. 基本功能

      DDR3 SDRAM是高速动态随机存取存储器,内部配置有8个BANK。DDR3 SDRAM使用8n预取结构,以获得高速操作。8n预取结构同接口组合起来以完成在I/O脚上每个时钟两个数据字的传输。DDR3  SDRAM的一个单次读或写操作由两部分组成:一是在内部DRAM核中进行的8n位宽四个时钟数据传输,另一个是在I/O脚上进行的两个对应n位宽、半时钟周期的数据传输。

       对DDR3 SDRAM的读写操作是有方向性的突发操作,从一个选择的位置开始,突发长度是8或者是一个以编程序列的长度为4的Chopped突发方式。操作开始于Active命令,随后是一个Read/Write命令。Active命令同时并发含带地址位,以选择Bank和Row地址(BA0-BA2选择BANK、A0-A15选择Row)。而Read/Write命令并发含带突发操作的起始Column地址,并确定是否发布自动预充电命令(通过A10)和选择BC4或BL8模式(通过A12)(如果模式寄存器使能)。

        在正常操作之前,DDR3 SDRAM必要以预先定义的方式上电和初始化。

引入DDR3内存的动因
 
  目前DDR2尚未完全取代DDR内存,在目前的整机环境下,DDR2基本能够满足各类型计算机的应用需求,那么最新一代的DDR3相比DDR2具有哪些优势,使得包括IntelAMD以及A-DATA在内的众多国际顶级厂商都致力于DDR3的开发与应用呢?
 
  最主要的原因是,由于DDR2的数据传输频率发展到800MHz时,其内核工作频率已经达到了200MHz,因此,再向上提升较为困难,这就需要釆用新的技术来保证速度的可持续发展性。另外,也是由于速度提高的缘故,内存的地址/命令与控制总线需要有全新的拓朴结构,而且业界也要求内存要具有更低的能耗
 
 
CPU厂商的DDR3内存攻略
 
  Intel计划在明年年中为其芯片组加入DDR3内存的支持。Intel芯片组事业部总经理Malinowski说,到那时市场才能准备好接受DDR3内存。
 
  Intel最新的965芯片组家族只支持DDR2,并放弃了对DDR的支持。
 
  AMD方面则要积极得多,与当年对DDR2内存的暧昧形成鲜明对比,这显然与AM2平台CPU在DDR2内存下表现不尽如人意有关:要表现出AMD CPU从DDR平台迁移到DDR2平台的优势,其对DDR2内存频率提高的要求比Intel Core更甚,但现阶段以DDR2 533/667为主的内存市场,则让AM2 CPU更多地受制于DDR2内存的高时延而不是受益于DDR2内存的高频率。
 
  AMD计划在下一代的K8L架构CPU中全面导入对DDR3内存的支持。在AMD的路线图看,K8L CPU将支持同时DDR2和DDR3内存,但很显然,DDR2内存不是AMD最好的选择,高频率、低时序的DDR3内存必然会是AMD积极开拓的对象。
 
  同时,加大对DDR3内存的支持力度,也可以让AMD改善与Intel的竞争中的被动地位。
 
 
DDR3内存的发展
 
  早在2002年6月28日,JEDEC就宣布开始开发DDR3内存标准,但从目前的情况来看,DDR2才刚开始普及,DDR3标准更是连影也没见到。不过目前已经有众多厂商拿出了自己的DDR3解决方案,纷纷宣布成功开发出了 DDR3内存芯片,从中我们仿佛能感觉到DDR3临近的脚步。而从已经有芯片可以生产出来这一点来看,DDR3的标准设计工作也已经接近尾声。
 
  半导体市场调查机构iSuppli预测DDR3内存将会在2008年替代DDR2成为市场上的主流产品,iSuppli认为在那个时候DDR3的市场份额将达到55%。不过,就具体的设计来看,DDR3与DDR2的基础架构并没有本质的不同从某种角度讲,DDR3是为了解决DDR2发展所面临的限制而催生的产物。
 
  由于DDR2内存的各种不足,制约了其进一步的广泛应用,DDR3内存的出现,正是为了解决DDR2内存出现的问题,具体有:
  更高的外部数据传输率 
  更先进的地址/命令与控制总线的拓朴架构 
  在保证性能的同时将能耗进一步降低
 
  为了满足这些要求,DDR3内存在DDR2内存的基础上所做的主要改进包括:
  8bit预取设计,DDR2为4bit预取,这样DRAM内核的频率只有接口频率的1/8DDR3-800的核心工作频率只有100MHz
  采用点对点的拓朴架构,减轻地址/命令与控制总线的负担。 
  采用100nm以下的生产工艺,将工作电压从1.8V降至1.5V增加异步重置(Reset)ZQ校准功能
 
 
DDR3内存的封装
 
  从规格来看,DDR3仍将沿用FBGA封装方式,故在生产上与DDR2内存区别不大。但是由设计的角度上来看,因DDR3的起跳工作频率在1066MHz,这在电路布局上将是一大挑战,特别是电磁干扰,因此也将反映到PCB上增加模块的成本。
 
  预计在DDR3进入市场初期,其价格将是一大阻碍,而随着逐步的普及,产量的提升才能进一步降低成本。
 
 
DDR3内存的技术改进
 
  那么,从技术看,DDR3内存与目前主流的DDR2内存相比,其特点体现在哪些方面呢?我们首先介绍DDR3内存针对DDR2中存在的不足的改进
 
  逻辑Bank数量
  DDR2 SDRAM中有4Bank和8Bank的设计,目的就是为了应对未来大容量芯片的需求。而DDR3很可能将从2Gb容量起步,因此起始的逻辑Bank就是8个,另外还为未来的16个逻辑Bank做好了准备
 
  封装(Packages)
  DDR3由于新增了一些功能,所以在引脚方面会有所增加,8bit芯片采用78球FBGA封装,16bit芯片采用96球FBGA封装,而DDR2则有60/68/84球FBGA封装三种规格。并且DDR3必须是绿色封装,不能含有任何有害物质
 
  突发长度(BL,Burst Length)
  由于DDR3的预取为8bit,所以突发传输周期(BL,Burst Length)也固定为8,而对于DDR2和早期的DDR架构的系统,BL=4也是常用的,DDR3为此增加了一个4-bit Burst Chop(突发突变)模式,即由一个BL=4的读取操作加上一个BL=4的写入操作来合成一个BL=8的数据突发传输,届时可通过A12地址线来控制这一突发模式。而且需要指出的是,任何突发中断操作都将在DDR3内存中予以禁止,且不予支持,取而代之的是更灵活的突发传输控制(如4bit顺序突发)。
  
  寻址时序(Timing)
  就像DDR2从DDR转变而来后延迟周期数增加一样,DDR3的CL周期也将比DDR2有所提高。DDR2的CL范围一般在2至5之间,而DDR3则在5至11之间,且附加延迟(AL)的设计也有所变化。DDR2时AL的范围是0至4,而DDR3时AL有三种选项,分别是0、CL-1和CL-2。另外,DDR3还新增加了一个时序参数——写入延迟(CWD),这一参数将根据具体的工作频率而定。
 
DDR3内存的新增功能 
 
  如果上一部分介绍的DDR3内存对DDR2内存的改进更多的是某种程度上的修正或简单提高的话,DDR3内存还有部分DDR2内存所不具备的功能,正是这些,让DDR3内存的表现有了根本性的提高
  
  重置(Reset)
  重置是DDR3新增的一项重要功能,并为此专门准备了一个引脚。DRAM业界已经很早以前就要求增这一功能,如今终于在DDR3身上实现。这一引脚将使DDR3的初始化处理变得简单。当Reset命令有效时,DDR3内存将停止所有的操作,并切换至最少量活动的状态,以节约电力。在Reset期间,DDR3内存将关闭内在的大部分功能,所以有数据接收与发送器都将关闭。所有内部的程序装置将复位,DLL(延迟锁相环路)与时钟电路将停止工作,而且不理睬数据总线上的任何动静。这样一来,将使DDR3达到最节省电力的目的。
  
  ZQ校准
  ZQ也是一个新增的脚,在这个引脚上接有一个240欧姆的低公差参考电阻这个引脚通过一个命令集,通过片上校准引擎(ODCE,On-Die Calibration  Engine)来自动校验数据输出驱动器导通电阻与ODT的终结电阻值。当系统发出这一指令之后,将用相应的时钟周期(在加电与初始化之后用512个时钟周期,在退出自刷新操作后用256时钟周期、在其他情况下用64个时钟周期)对导通电阻和ODT电阻进行重新校准。
  
  参考电压分成两个
  对于内存系统工作非常重要的参考电压信号VREF,在DDR3系统中将分为两个信号。一个是为命令与地址信号服务的VREFCA,另一为数据总线服务的VREFDQ,它将有效的提高系统数据总线的信噪等级。
 
  根据温度自动自刷新(SRT,Self-Refresh Temperature)
  为了保证所保存的数据不丢失,DRAM必须定时进行刷新,DDR3也不例外。不过,为了最大的节省电力,DDR3采用了一种新型的自动自刷新设计(ASR,Automatic Self-Refresh)。当开始ASR之后,将通过一个内置于DRAM芯片的温度传感器来控制刷新的频率,因为刷新频率高的话,消电就大,温度也随之升高。而温度传感器则在保证数据不丢失的情况下,尽量减少刷新频率,降低工作温度。不过DDR3的ASR是可选设计,并不见得市场上的DDR3内存都支持这一功能,因此还有一个附加的功能就是自刷新温度范围(SRT,Self-Refresh  Temperature)。通过模式寄存器,可以选择两个温度范围,一个是普通的的温度范围(例如0℃至85℃),另一个是扩展温度范围,比如最高到 95℃。对于DRAM内部设定的这两种温度范围,DRAM将以恒定的频率和电流进行刷新操作。
 
  局部自刷新(RASR,Partial Array Self-Refresh)
  这是DDR3的一个可选项,通过这一功能,DDR3内存芯片可以只刷新部分逻辑Bank,而不是全部刷新,从而最大限度的减少因自刷新产生的电力消耗。这一点与移动型内存(Mobile DRAM)的设计很相似。
 
  点对点连接(P2P,Point-to-Point)
  这是为了提高系统性能而进行了重要改动,也是与DDR2系统的一个关键区别。在DDR3系统中,一个内存控制器将只与一个内存通道打交道,而且这个内存通道只能一个插槽。因此内存控制器与DDR3内存模组之间是点对点(P2P,Point-to-Point)的关系(单物理Bank的模组),或者是点对双点(P22P,Point-to-two-Point)的关系(双物理Bank的模组),从而大大减轻了地址/命令/控制与数据总线的负载。而在内存模组方面,与DDR2的类别相类似,也有标准DIMM(台式PC)、SO-DIMM/Micro-DIMM(笔记本电脑)、FB-DIMM2(服务器)之分,其中第二代FB-DIMM将采用规格更高的AMB2(高级内存缓冲器)。不过目前有关DDR3内存模组的标准制定工作刚开始,引脚设计还没有最终确定。
 
  此外,DDR3还在功耗管理,多用途寄存器方面有不少新的设计。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/209974.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 每一趟安心出行的背后,都有哪些黑科技?

    每一趟安心出行的背后,都有哪些黑科技?导读:寄托着满当当期待与希望的20年代第一个新年,让一场态势凶猛的新型冠状病毒压抑的连呼吸都变得艰难。但不同的是,这一次,我们共同的努力,都会让社会好得…

  • 用matlab求分段函数「建议收藏」

    用matlab求分段函数「建议收藏」functiony=fum(x)ifx   y=x; elseifx=1   y=2*x-1;elseifx10   y=3*x-11;else  y=sin(x)+log(x);end在matlab的命令行窗口,输入fum(5)

  • 数据结构——查分数组

    数据结构——查分数组介绍查分数组是一个数据结构。相当于前缀和的逆运算。查分数组的功能是修改区间,查询点。修改区间的时间复杂度是O(1).查询点的时间复杂度是O(n)。若配合树状数组时间复杂度可达到O(logn)。修改区间操作x位置加上修改量,y+1位置减去修改量。这样就相当于整个区间的元素都修改了。staticvoidupdate(intx,inty,intz){ b[x]+=z; b[y+1]-=z;}查询刚刚修改方便了,但是查询的时候就需要全部都加一遍了。staticint

  • B. 沙漠之旅(分组背包)

    B. 沙漠之旅(分组背包)

  • IDEA 将项目打包war包[通俗易懂]

    IDEA 将项目打包war包[通俗易懂]IntelliJIDEA将项目打包war包1、准备工作IntelliJIDEA开发工具可以正常运行的Java项目2、打包war包流程使用快捷键Ctrl+Alt+Shift+s或者鼠标点击选中项目名按F4打开ProjectStructure界面选择Artifacts,点击右边+,依次选择WebApplication:Archive和For’myP…

  • php代码执行函数_php代码如何运行

    php代码执行函数_php代码如何运行**php代码执行函数解析**​一、代码执行漏洞原理:用户输入的数据被当做后端代码进行执行<?php@eval($_REQUEST[8])?>//其实一句话木马的本质就是一个代码执行漏洞。用户输入的数据被当做代码进行执行。这里提一下RCE(remotecommand/codeexecute)远程命令或者代码执行。现在只要渗透的最终情况可以实现执行命令或者是代码都属于RCE,例如代码执行、文件包含、反序列化、命令执行,甚至是写文件Getshell都可以属于RCE在PHP存在诸多

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号