当前位置:网站首页>DDRx寻址原理
DDRx寻址原理
2022-07-05 10:45:00 【ltqshs】
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的存储原理以及接口定义和寻址方式。
边栏推荐
- 小红书自研KV存储架构如何实现万亿量级存储与跨云多活
- 中职组网络安全2021年江苏省省赛题目5套题目环境+解析全有需要的私信我
- [vite] 1371 - develop vite plug-ins by hand
- Operation of simulated examination platform of special operation certificate examination question bank for safety production management personnel of hazardous chemical production units in 2022
- 微信核酸检测预约小程序系统毕业设计毕设(7)中期检查报告
- Wechat nucleic acid detection appointment applet system graduation design completion (8) graduation design thesis template
- LDAP overview
- Use bat command to launch common browsers with one click
- Buried point 111
- 【广告系统】增量训练 & 特征准入/特征淘汰
猜你喜欢
Go-3-the first go program
Honing · fusion | know that the official website of Chuangyu mobile terminal is newly launched, and start the journey of digital security!
9、 Disk management
Some understandings of heterogeneous graphs in DGL and the usage of heterogeneous graph convolution heterographconv
Talk about the understanding of fault tolerance mechanism and state consistency in Flink framework
修复动漫1K变8K
关于vray 5.2的使用(自研笔记)
基于昇腾AI丨爱笔智能推出银行网点数字化解决方案,实现从总部到网点的信息数字化全覆盖
Review the whole process of the 5th Polkadot Hackathon entrepreneurship competition, and uncover the secrets of the winning projects!
2022 Pengcheng cup Web
随机推荐
web安全
A usage example that can be compatible with various database transactions
微信核酸检测预约小程序系统毕业设计毕设(8)毕业设计论文模板
Function///
What are the top ten securities companies? Is it safe to open an account online?
沟通的艺术III:看人之间 之倾听
一次edu证书站的挖掘
SQL Server monitoring statistics blocking script information
脚手架开发进阶
2022 t elevator repair operation certificate examination questions and answers
2022 Pengcheng cup Web
ModuleNotFoundError: No module named ‘scrapy‘ 终极解决方式
赛克瑞浦动力电池首台产品正式下线
括号匹配问题(STL)
When using gbase 8C database, an error is reported: 80000502, cluster:%s is busy. What's going on?
DOM//
基于昇腾AI丨爱笔智能推出银行网点数字化解决方案,实现从总部到网点的信息数字化全覆盖
Bracket matching problem (STL)
2022鹏城杯web
Common functions of go-2-vim IDE