1. Physical Bank,下文简称P-Bank
    Logical Bank,下文简称L-Bank.
  2. 地址

sequential与interleave的区别

  • 对下表的理解

    参考该论坛的理解,摘抄了几段回答,很好说明了interleave存在的意义
    总结论坛回答,我的理解就是A2,A1,A0配置的时候定义了burst length;实际读写数据的时候根据实际列地址A7~A0中的A2,A1,A0,即表中的start address来决定读取顺序。(但是还没在说明书内找到怎么分别对这两个进行设置,回头再看看datasheet)
SDRAM具体的一些东西没有深入研究过,仅供参考:
- 此表应该是表达SDRAM Burst模式下,Burst Length,Type两个参数,在实际访问时,对给定起始列地址Burst出来的数据地址的影响。
- Starting Column Address指实际访问的时候,第一个访问的那个地址。根据Length,Type,如果用Burst操作,连续读数据,随后输出的数据地址是按照表格中的顺序来的。
- 选择何种Length和Type,取决于SDRAM控制器的:1、向上接口的协议(CPU侧);2、SDRAM的具体构成,几个芯片拼成的,etc。
Interleave那个Type,至少其中的一个目的,是为了满足比如32Bit对CPU总线,16Bitx1片SDRAM这样的情形,尽快凑够32Bit的数据用的。如4凑8/16/32,8凑16/32,16凑32,都是能支持的。这是因为CPU总线不一定读数据支持Byte Mask。
当然,这种凑数会导致读取的地址序会比较乱,但是对数据吞吐率而言有保证,电路复杂点也就认了。。。Burst Length=8;Start Col Addr=3;Type=Interleave的一个潜在的例子:
- CPU Cache Line Size: 16Bytes;
- CPU访问(读)字节地址0x???3,导致Cache Miss,进而需要Fill Cache Line;
- CPU Core对外总线是32Bits,读数据不支持Byte Mask,即总是假设该32bits数据都是有效的;这样总线可以发一个4次连续读的Burst或者4次单独读请求。
- SDRAM控制器和Core对外总线连接,但是外部的SDRAM是一片16bit的芯片。为了满足总线的要求,SDRAM读数据总要尽快凑够32Bit数据才能完成一次数据传输。
这时候,就可以设置成Burst Length=8,Type=Interleave,用尽可能少的周期以及CPU对外总线延迟完成操作。
缺点就是地址序可能不单调的,SDRAM控制器可能需要内部几个字节的缓冲或者要和CPU Cache控制器行为去匹配,etc,总之会复杂,但是延迟小了。
  • Interleave也可以是BANK的交替读或写。如下面两幅时序图

full page

关键点一:从address A增加到end of this page,不会停止,然后再从the starting address of this page增加,如此循环
关键点二:直到burst stop命令才停止

对SDRAM的理解总结相关推荐

  1. 【STM32】HAL库 STM32CubeMX教程十五---FMC-SDRAM(一)

    前言: 本系列教程将HAL库与STM32CubeMX结合在一起讲解,使您可以更快速的学会各个模块的使用 本文 1首先讲解什么是FMC及SDRAM,W9825G6KH芯片原理,2基于CubeMx创建工程 ...

  2. STM32 FMC原理详解

    关于FSMC的基本原理已经在这两篇讲解了,如果有不懂的建议先看一下,这里我们对一些基本概念会说的少一些,主要就是针对FMC的特点和FSMC跟FMC的区别做主要的阐述(区别不大). STM32 FSMC ...

  3. 存储器扩展连接理解(S3C2410为例)——SDRAM

    转载于http://blog.csdn.net/do2jiang/archive/2009/09/11/4543065.aspx 由于S3C2410是32位处理器(指令一次能够操作32位数据(运算器一 ...

  4. SDRAM芯片中的DQM信号的理解

    数据掩码 在讲述读/写操作时,我们谈到了突发长度.如果BL=4,那么也就是说一次就传送4×64bit的数据.但是,如果其中的第二笔 数据是不需要的,怎么办?还都传输吗?为了屏蔽不需要的数据,人们采用了 ...

  5. (9)uboot之DDR SDRAM理解 六

    基于s5pv21对DDR2 SDRAM K4T1G08的初始化 ddr2_device_operation_timing_diagram_may_07-0.pdf DS_K4T1G08_16_4QJ- ...

  6. (8)uboot之DDR SDRAM理解 五

    Samsung DDR2 SDRAM 时序 读时序 读过程的抽象时序图* 时序 写时序 写过程的抽象时序图* 刷新时间 刷新时序 对于多个bank同时打开行时,为了控制功耗只能启用4个bank,需要开 ...

  7. 非常不错的STM32 FMC的内存映射及SDRAM的DQM的控制理解

    https://blog.csdn.net/wisepragma/article/details/51622606

  8. S3C2440 SDRAM内存驱动 .

    SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存储器)也就是通常所说的内存.内存的工作原理.控制时序.及相关控制器的配置方法一直是嵌入式系统 ...

  9. 详解SDR/DDR/DDR2/SDRAM的功能及异同

    图说SDR/DDR/DDR2 SDRAM的异同 SDRAM在嵌入式乃至整个PC行业的地位毋庸置疑,虽然它比SRAM操作复杂,从某种程度上说又有着随机地址存取时性能下降的缺陷(甚至于DDR/DDR2又有 ...

最新文章

  1. jenkins-svn配置
  2. Hive查询结果输出文件
  3. 老司机教你将流量价值提升100倍
  4. 关于SQL Server数据库中的标识列
  5. boost::mpi模块实现一个简单的点类,我们可以构建、添加、比较和 连载
  6. apache日志记录格式LogFormat参数说明
  7. linux下的权限问题
  8. 自制操作系统(十) 图像叠加处理
  9. python进程join的用法_python 进程介绍 进程简单使用 join 验证空间隔离
  10. python matpoltlib绘制动态图_使用Python、Geopandas和Matplotlib制作gif动态
  11. 华为p10plus能用鸿蒙吗,鸿蒙系统第四批什么时候 华为鸿蒙系统第四批 鸿蒙系统第四批升级机型介绍...
  12. 【SSH进阶】java.lang.IllegalArgumentException: id to load is required for loading
  13. 天翼网关服务器无响应,教你使用天翼网关软件突然打不开的解决方法
  14. java——15位身份证号码升级到18位
  15. 手写jQuery源码
  16. Confluence 查看文档乱码问题
  17. 想做吃鸡游戏么兄弟?98K轻量物理了解一下
  18. gdal 实现 热点分析 (Getis-Ord Gi*)
  19. iOS逆向开发,突破微信强制升级,让低版本的iPhone也能正常使用
  20. 浮点数的二进制表示方法

热门文章

  1. 输入自然数n,将n分解为质因子连乘的形式输出。例如:输入756,则显示为756=2*2*3*3*3*7
  2. MATLAB——histeq函数
  3. java 类的加载顺序
  4. 李飞飞发文发布谷歌云AutoML Vision平台,订制化的企业级机器学习模型不再是难题
  5. 如何做个让人喜欢的程序员
  6. SQL进阶教程 | 史上最易懂SQL教程 5小时零基础成长SQL大师(5)
  7. CAD画图软件测试初学者,cad图分析与画图思路(适合新手初级学习用)
  8. 管理经济学之颗粒归仓(一)
  9. 4月14,一个特殊的日子
  10. 全面解析Linux下的su指令