[攻克存储] 掌握SDRAM/DDR的结构与寻址

简介:

     本系列前面两篇文章《[攻克存储] SRAM地址线的连接》和 《[攻克存储] 存储芯片的写屏蔽及扩展》已经介绍了SRAM芯片的地址线连接方法以及存储芯片的写屏蔽扩展,这两篇文章基本上是从SRAM的角度在进行讲解和描述,其中许多原理在SDRAM/DDR芯片中也同样适用,不过,SDRAM/DDR 存储芯片的结构和寻址方式相对于ROM、SRAM、DRAM而言,还是有很大的变化和不同的,本文就着重介绍SDRAM/DDR的相关知识点和应用注意事项。

    在存储结构上,SDRAM/DDR采取了多Bank方式,每一个逻辑Bank即为一个存储阵列,一般一个SDRAM芯片有2~8个Bank。我们可以把Bank想象为一个表格,如下:    

      图中的Bank是一个14行17列的逻辑存储结构,假设该SDRAM芯片有4个Bank,则其存储空间为:4 x 2^14 x 2^17  bit = 2^33 bit =  1GB

     在寻址方式上,首先,多了几个Bank选择引脚,例如对于4个Bank的SDRAM,则有2个引脚(BA0~BA1)进行Bank选择。当具体Bank选定后,再给出行列地址从而定位到具体的存储位置。而行列地址值由相应的地址线引脚分时复用得到。

     下面研究一个具体的SDRAM电路图,如下图所示,该图为ARM芯片s3c2440与SDRAM芯片HY57V561620的连接示意图。
 
   
    该SDRAM芯片为 HY57V561620 ,有4个Bank,16位宽数据线,32M的存储空间。该芯片的引脚功能描述如下:
 
 
    重点关注地址线 A0~A12的说明,我们可以到,该芯片每一个Bank有13行(RA0~RA12),9列(CA0~CA8),行寻址时使用A0~A12,列寻址分时复用,只使用了CA0~CA8。并且,相比于SRAM芯片,多了nRAS、nCAS引脚,用于标识当前是行寻址还是列寻址,从而实现地址线的分时复用。
 
    我们可以通过下面的时序图,来更加直观地了解一下SDRAM是如何寻址的:

[第一步] 选择Bank,同时给出行地址 
 

    

[第二步] 给出列地址,得到数据
 

   

 
   到此,基本上算是把 SDRAM/DDR 的结构和寻址讲完了,当然,关于SDRAM/DDR还有很多其他的相关知识点,比如 CAS 延时,比如 时钟频率,比如 DRAM/SDRAM/DDR2 的详细区别等等,将在后面的文章中陆续讲述。
 
   最后,再补充点内容,关于上面ARM芯片s3c2440与SDRAM芯片HY57V561620的连接图,有一个细节,即为什么SDRAM芯片的BA0~BA1连接的是ARM芯片的LADDR24~LADDR25引脚?
 
   因为,HY57V561620为32MB的SDRAM芯片,我们知道,32MB的存储空间是需要 25 根地址线寻址的,由于BA0~BA1引脚决定了访问第几个Bank,即决定了存储空间的最高两位,因此,需要使用ARM的25根地址线中的最高两位来连接 BA0~BA1,这样就可以满足寻址的映射要求了。


本文转自 Jhuster 51CTO博客,原文链接:http://blog.51cto.com/ticktick/686447,如需转载请自行联系原作者
相关文章
|
Devops jenkins API
DevOps 内幕:使用 Jira Automation 更智能、更快速地工作
Jira 不仅是任务管理工具,还可通过 API 与 Webhook 实现自动化,减少手动操作,提升效率。本文通过实际案例,介绍如何用 Jira 自动化简化 Git 访问流程,结合 Jenkins 实现审批后自动授权,并说明其优势与局限。
493 1
|
机器学习/深度学习 API 异构计算
JAX快速上手:从NumPy到GPU加速的Python高性能计算库入门教程
JAX是Google开发的高性能数值计算库,旨在解决NumPy在现代计算需求下的局限性。它不仅兼容NumPy的API,还引入了自动微分、GPU/TPU加速和即时编译(JIT)等关键功能,显著提升了计算效率。JAX适用于机器学习、科学模拟等需要大规模计算和梯度优化的场景,为Python在高性能计算领域开辟了新路径。
1098 0
JAX快速上手:从NumPy到GPU加速的Python高性能计算库入门教程
|
传感器 存储 编解码
STM32入门开发: 编写DS18B20温度传感器驱动(读取环境温度、支持级联)
STM32入门开发: 编写DS18B20温度传感器驱动(读取环境温度、支持级联)
2290 0
STM32入门开发: 编写DS18B20温度传感器驱动(读取环境温度、支持级联)
|
监控 数据可视化 搜索推荐
评测:如何通过高效的工具制定清晰的会务日程安排与任务清单?
随着2024年的到来,全球会议和活动安排日益重要。有效的会务日程管理工具不仅能提升工作效率,还能确保活动顺利进行。本文推荐六款适合2024年的会务日程安排工具:板栗看板、Trello、Asana、Monday.com、Microsoft Planner和ClickUp,分别介绍它们的功能、特点和适用场景,帮助您找到最合适的工具。
评测:如何通过高效的工具制定清晰的会务日程安排与任务清单?
|
机器学习/深度学习 人工智能 自然语言处理
【Prompt Engineering提示工程技术:思维树 (ToT)、检索增强生成 (RAG)、自动推理并使用工具 (ART)】
思维树(ToT)框架,旨在解决复杂任务,通过构建一棵思维树,利用语言模型生成并评估中间步骤,结合搜索算法(如广度优先搜索)进行系统探索。ToT在不同任务中需定义思维步骤及候选数量,如“算24游戏”需三分步骤,每步评估可行性。实验表明,ToT显著优于其他提示方法。此外,ToT框架可结合强化学习不断进化,提升解决复杂问题的能力。
1260 1
【Prompt Engineering提示工程技术:思维树 (ToT)、检索增强生成 (RAG)、自动推理并使用工具 (ART)】
8086 汇编笔记(一):寄存器
8086 汇编笔记(一):寄存器
|
负载均衡 监控 安全
Wi-Fi漫游深入解析:确保设备连接的有效策略
Wi-Fi漫游深入解析:确保设备连接的有效策略
2359 9
|
SQL 存储 关系型数据库
MySQL主从同步延迟原因与解决方法
MySQL主从同步延迟原因与解决方法
1840 0
|
数据可视化 测试技术
【视频】线性混合效应模型(LMM,Linear Mixed Models)和R语言实现案例(三)
【视频】线性混合效应模型(LMM,Linear Mixed Models)和R语言实现案例
|
IDE Linux 开发工具
Linux本地RStudio工具安装指南及远程访问配置安装RStudio Server
Linux本地RStudio工具安装指南及远程访问配置安装RStudio Server
1237 1