• DDRx寻址原理


    DDR4-DRAM的工作原理

    一颗DDR4芯片的内部功能框图如下:

    在这里插入图片描述

    其引脚按照功能可以分为7类:前3类为电源、地、配置信号。

    在这里插入图片描述

    后4类为:控制信号、时钟信号、地址信号、数据信号。

    在这里插入图片描述

    电源、地、配置信号的功能很简单,此处不赘述。控制信号主要是用来完成DDR4与DDR4 Controller之间的状态切换。

    DDR4中最重要的信号就是地址信号和数据信号。

    如上DDR4芯片有20根地址线(17根Address、2根BA、1根BG),16根数据线。在搞清楚这些信号线的作用以及地址信号为何还有复用功能之前,我们先抛出1个问题。假如我们用20根地址线,16根数据线,设计一款DDR,我们能设计出的DDR寻址容量有多大?

    按照课本中学到的最简单的单线8421编码寻址的方式,我们知道20根地址线(连读写控制信号都不考虑了)的寻址空间为2^20,16根数据线可以1次传输16位数据,我们能很容易计算出,如果按照单线8421编码寻址方式,DDR芯片的最大存储容量为:

    Size_max=2^20)16=104857616=16777216bit=2097152B=2048KB=2MB。

    但是事实上,该DDR最大容量可以做到1GB,比传统的单线编码寻址容量大了整整512倍,它是如何做到的呢?答案很简单,分时复用。

    我们把DDR存储空间可以设计成如下样式:

    首先将DDR芯片的存储空间分成两个大块,分别为BANK GROUP0和BANK GROUP1,再用1根地址线(还剩19根),命名为BG,进行编码。若BG拉高选择BANK GROUP0,拉低选择BANK GROUP1。(当然你也可以划分成4个大块,用2根线进行编码)

    在这里插入图片描述

    再将1个BANK GROUP区域分成4个BANK小区域,分别命名为BANK0、BANK1、BANK2、BANK3。然后我们挑出2根地址线(还剩余17根)命名为BA0和BA1,为4个小BANK进行地址编码。

    在这里插入图片描述

    此时,我们将DDR内存颗粒划分成了2个BANK GROUP,每个BANK GROUP又分成了4个BANK,共8个BANK区域,分配了3根地址线,分别命名为BG0,BA0,BA1。然后我们还剩余17根信号线,每个BANK又该怎么设计呢?这时候,就要用到分时复用的设计理念了。剩下的17根线,第一次用来表示行地址,第二次用来表示列地址。

    原本传输1次地址,就传输1次数据,寻址范围最多16KB(不要读写信号)。

    现在修改为传输2次地址,在传输1次数据,寻址范围最多被扩展为2GB。虽然数据传输速度降低了一半,但是存储空间被扩展了很多倍。

    所以,剩下的17根地址线,留1根用来表示传输地址是否为行地址。

    在第1次传输时,行地址选择使能,剩下16根地址线,可以表示行地址范围,可以轻松算出行地址范围为2^16=65536个=64K个。

    在第2次传输时,行地址选择禁用,剩下16根地址线,留10根列地址线表示列地址范围,可以轻松表示的列地址范围为2^10=1024个=1K个,剩下6根用来表示读写状态/刷新状态/行使能、等等复用功能。

    这样,我们可以把1个BANK划分成67108864个=64M个地址。如下所示:

    在这里插入图片描述

    在每个地址空间中,我们一次存储16位数据。

    在这里插入图片描述

    所以,每个BANK可以分成65536行,每行1024列,每个地址空间存储的数据长度为16bit。

    每行可以存储1024*16bit=2048bit=2KB。每行的存储的容量,称为Page Size。

    单个BANK共65536行,所以每个BANK存储容量为65536*2KB=128MB。

    单个BANK GROUP共4个BANK,每个BANK GROUP存储容量为512MB。

    单个DDR4芯片有2个BANK GROUP,故单个DDR4芯片的存储容量为1024MB=1GB。

    至此,20根地址线和16根数据线全部分配完成,我们用正向设计的思维方式,为大家讲解了DDR4的存储原理以及接口定义和寻址方式。

    参考原文:《DDR4实战教学(一):DDR寻址原理小白篇》

  • 相关阅读:
    企业精准拓客必不可少的利器丨快鲸scrm系统
    【语音识别】搭建本地的语音转文字系统:FunASR
    Word控件Spire.Doc 【表单域】教程(五):如何在 C# 中更新 Ask 字段
    【大厂AI课学习笔记NO.79】机器学习行业人才能力图谱
    数字电路与逻辑设计 之 组合电路的设计(多输出电路,全加器,乘法器)
    OpenCV15-图像边缘检测:Sobel、Scharr、Laplace、Canny
    LabVIEW Modbus通讯稳定性提升
    ADU87、DCB20X-E等设备以RTSP方式添加第三方相机或录像机教程
    域内路由选择协议——RIP
    奇葩问题:arp缓存、ip地址冲突(实际是ip地址被占用导致arp缓存出现问题)
  • 原文地址:https://blog.csdn.net/qq_21794157/article/details/125614515