29.内存的基础知识
内存的分类:
内存由于具备访问速度快,访问方式简单等优点,成为了PC或者是嵌入式硬件平台上不可或缺的元件。在开始学习如何使用内存之前,非常有必要先了解一下内存的分类:
DRAM:它的基本原件是小电容,电容可以在两个极板上保留电荷,电容就是通过电荷来保存信息的,为了保持数据不丢失,所以必须定期充电,也叫做刷新,否则数据会丢失。缺点:由于要定期刷新存储物质,存取速度较慢。
SRAM:它是一种具有静态存取功能的内存,不需要定期刷新电路就能保存它内部存储的数据。其优点存取速度快;但是缺点是:功耗大、成本高。常用作存储容量不高,但存取速度快的场合,比如stepping stone。
在嵌入式硬件体系中,除了CPU内部的"垫脚石"采用SRAM外,板载内存一般会采用DRAM而DRAM又可以分为SDRAM,DDR,DDR2等。
SDRAM(Synchronous Dynamic Random AccessMemory):同步动态随机存储器.
同步: 内存工作需要有同步时钟,内部的命令的发送与数据的传输都以该时钟为基准。
动态:存储阵列需要不断的刷新来保证数据不丢失。
随机:是指数据不是线性依次存储,而是自由指定地址进行数据读写。
备注:2440开发板上使用的内存通常是SDRAM.
DDR (Double Data Rate SDRAM),即"双倍速率同步动态随机存储器"。与早期的SDRAM相比,DDR 除了可以在时钟脉冲的上升沿传输数据,还可以在下降沿传输信号,这意味着在相同的工作频率下,DDR 的理论传输速率为SDRAM的两倍。DDR2 则在DDR 的基础上再次进行了改进,使得数据传输速率在DDR 的基础上再次翻倍。
备注:6410开发板通常采用DDR内存
210开发板通常采用DDR2内存
内存的内部结构:
在看内存内部结构之前,先了解一下行地址、列地址和L-bank:
内存的内部如同表格,数据就存放在每个单元格中。数据读写时,先指定行号(行地址),再指定列号(列地址) ,我们就可以准确地找到所需要的单元格。而这张表格的称为:Logical Bank(L-Bank).
由于技术、成本等原因,一块内存不可能把所有的单元格都做到一个L-Bank,现在内存内部基本都会分割成4个L-Bank。
寻址图解:
由上图知道,要定位到内存里的一个单元格,首先要提供L-Bank的选择信号,找到单元格在哪个L-Bank,找到L-Bank,就是知道单元格所在的表格。再加上行地址和列地址,就能够找到该单元格。
内存的容量:
下面是一款内存的信息:
看出该内存有4个L-Bank,每个L-Bank为4M个单元格,每个单元格的大小时16Bit。所以该内存的大小是:4Banks*4M*16Bit=256bit.