SRAM/SDRAM/DDR/Cache

参考:正点原子《I.MX6U 嵌入式 Linux 驱动开发指南

1、RAM 与 ROM

RAM随机存储器,可以随时进行读写操作,速度很快,掉电以后数据会丢失。比如内存条、SRAMSDRAMDDR 等都是 RAMRAM 一般用来保存程序数据、中间结果

ROM只读存储器,断电信息不会丢失。从其制造工艺和功能上分,ROM有五种类型,即掩膜编程的只读存储器MROM(Mask-programmedROM)、可编程的只读存储器PROM(Programmable ROM)、可擦除可编程的只读存储器EPROM(Erasable Programmable ROM)、可电擦除可编程的只读存储器 EEPROM(Elecrically Erasable Programmable ROM)和快擦除读写存储器(Flash Memory)。

SRAM/SDRAM/DDR/Cache :

2. SRAM

        Static Random-Access Memory 静态随机存储器,这里的“静态” 意思是只要 SRAM 上电,里面的数据就会一直保存着,直到 SRAM 掉电。对于 RAM 而言需要可以随机的读取任意一个地址空间内的数据,因此采用了地址线和数据线分离的方式,这里就以 STM32F103/F407 开发板常用的 IS62WV51216 这颗 SRAM 芯片为例简单的讲解一下 SRAM,这是一颗 16 位宽(数据位为 16 )1MB 大小的 SRAM,芯片框图如图1所示:

2.1 地址线

        A0~A18是地址线共19根地址线,可访问的地址大小是 2^19=524288=512KB。不是说 IS62WV51216 是个 1MB SRAM 吗?为什么地址空间只有512KB?前面我们说了 IS62WV51216 16 位宽的,也就是一次访问 2 个字节,因此需要对512KB 进行乘 2 处理,得到 512KB*2=1MB。位宽的话一般有 8 /16 /32 位,根据实际需求选择即可,一般都是根据处理器的 SRAM 控制器位宽来选择 SRAM 位宽。 

2.2 数据线

        根据 SRAM 位宽的不同,数据线的数量要不同,8 位宽就有 8根数据线,16 位宽就有 16 根数据线,32 位宽就有 32 根数据线。IS62WV51216 是一个 16 位宽的 SRAM,因此就有 16 根数据线,一次访问可以访问 16bit 的数据,也就是 2 个字节。因此就有高字节和低字节数据之分,其中 IO0~IO7 是低字节数据,IO8~IO15 是高字节数据。

2.3 控制线

        SRAM 要工作还需要一堆的控制线,CS2 CS1 是片选信号,低电平有效,在一个系统中可能会有多片 SRAM(目的是为了扩展 SRAM 大小或位宽),这个时候就需要 CS 信号来选择当前使用哪片 SRAM。另外,有的 SRAM 内部其实是由两片 SRAM 拼接起来的,因此就会提供两个片选信号。

        OE 是输出使能信号,低电平有效,也就是主控从 SRAM 读取数据。

        WE 是写使能信号,低电平有效,也就是主控向 SRAM 写数据。

        UB 和 LB 信号,前面我们已经说了,IS62WV51216 是个 16 位宽的 SRAM,分为高字节和低字节,那么如何来控制读取高字节数据还是低字节数据呢?这个就是 UB LB 这两个控制线的作用,这两根控制线都是低电平有效。UB 为低电平的话表示访问高字节,LB 为低电平的话表示访问低字节。那么 SRAM 有什么缺点没有?SRAM 最大的缺点就是成本高

        SRAM 突出的特点就是无需刷新(SDRAM 需要刷新),读写速度快!所以 SRAM通常作为 SOC 的内部 RAM 使用或 Cache 使用,比如 STM32 内存的 RAM I.MX6U 内部的 OCRAM 都是 SRAM

3. SDRAM

        SDRAM 全称是

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值