0%

FPGA设计之各种存储

最近在为找工作提前做准备了,在系统的看一些基础知识,本节主要复习了常考的各类存储。

易失性存储器-RAM(Random Access Memory)

  • 易失性存储器是值存储器断电后,它保存的数据内容会丢失
  • 存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关
  • 一般易失性存储器存储速度块
  • 主要用于存储短时间使用的程序

1.SRAM(Static Random Access Memory)

  • SRAM,静态的随机存取存储器,又被称为静态RAM,利用双稳态电路进行存储。即使有干扰对稳态电路也没影响,所以有双稳态性,“静态”是指只要不掉电,存储在SRAM中的数据就可以一直保存,只要有电,SRAM中的数据就不会有变化。加电情况下,不需要一直刷新,数据不会丢失
  • SRAM 的存储单元以锁存器来存储数据,这种电路结构不需要定时刷新充电,就能保持状态
  • SRAM比DRAM要快,这是因为SRAM没有刷新周期
  • SRAM常常用于高速缓存(如Cache)存储器,因为它有更高的速率,但功耗较高,成本也较高

2.DRAM(Dynamic Random Access Memory)

  • 动态随机存取寄存器,DRAM的每个存储单元由一个晶体管和一个电容器组成,数据和信息以电容器上的电荷形式存储
  • 由于电容器会失去其数据(电荷),DRAM必须每秒刷新几百次以保持数据
  • DRAM是一种体积小、价格较低的RAM类型,是计算机主内存(如台式机、笔记本电脑的内存条)的主要组成部分
  • DRAM的读写速度比SRAM慢,数据寿命较短,但集成度高、成本低、功耗相对较低。

3.SDRAM(Synchronous Dynamic Random Access Memory)

  • 同步动态随机存取存储器,
  • SDRAM频率与CPU的时钟信号同步工作,在每个时钟周期内,CPU都会发出一个时钟信号,SDRAM内存会在该时钟信号的上升沿或下降沿响应,以进行数据读取或写入。
  • SDRAM需要定期刷新以保持数据的一致性。

4.DDR SDRAM(Dual Data Rate SDRAM)

  • 双倍速率SDRAM
  • DDR在时钟信号上升沿和下降沿各传输一次数据,这使得DDR的数据传输速度为传统SDRAM的两倍
  • DDR是在SDRAM基础上发展而来,并且不断发展迭代,如DDR2、DDR3、DDR4、DDR5等,每一代都在速度、容量、功耗等方面有所改进。DDR是当前计算机主内存的主流技术。

非易失性存储器

  • 存储器断电后,它存储的内容不会丢失
  • 非易失性存储器可长期保存数据

1.ROM(Read-Only Memory)

  • 只读存储器以非破坏性读出方式工作,只能读出无法写入信息。信息一旦写入后就固定下来,即使切断电源,信息也不会丢失
  • ROM所存数据通常是装入整机前写入的,整机工作过程中只能读出,不像随机存储器能快速方便地改写存储内容
  • ROM通常用于存储固定不变的信息,如启动程序、固件和操作系统的关键部分等。

1.1 MASK ROM

  • 很早之前存储技术不成熟,生产的ROM就只是“只读”,是真正意义上的只读,用户要写入数据的话,需要将数据给厂商在生产时写入,称为固定ROM,也称掩膜ROM
  • 缺点:严重影响生产和研发效率

1.2 PROM(Programmable Read-Only Memory)

  • PROM(Programmable Read-Only Memory)即可编程只读存储器
  • PROM允许用户通过特殊编程设备将数据写入存储单元,一旦编程完成,内容变为只读。
  • PROM通常用于存储不经常修改的程序代码或数据

1.2.1 EPROM(Erasable Programmable Read-Only Memory)

  • EPROM(Erasable Programmable Read-Only Memory)即可擦除可编程只读存储器。
  • 它的特点是具有可擦除功能,擦除后可进行再编程,但是缺点是擦除需要使用紫外线照射一定的时间
  • EPROM允许用户根据需要多次修改和更新存储在其中的数据
  • EPROM内部由大量的浮栅晶体管组成,每个晶体管可以存储一个比特的信息。
  • 根据擦除方式的不同,EPROM可以分为紫外线擦除EPROM(UV-EPROM)和电擦除EPROM(EEPROM)等类型。但需要注意的是,通常将EEPROM单独分类,因此这里的EPROM主要指UV-EPROM

1.2.2 EEPROM(Electrically Erasable Programmable Read-Only Memory)

  • EEPROM(Electrically Erasable Programmable Read-Only Memory)即电可擦除可编程只读存储器。
  • EEPROM允许用户通过电信号进行数据的擦除和写入
  • EEPROM的每个存储单元由一个浮栅晶体管组成,通过向控制栅施加特定的电压脉冲,可以改变浮栅上的电荷量,从而改变晶体管的阈值电压,进而实现数据的存储和擦除
  • EEPROM具有非易失性、可编程性和可靠性等特性,被广泛应用于各种需要存储少量数据的场合。
  • EEPROM可以按字节进行修改,使用方便灵活,擦写次数相对有限,常用于存储一些需要经常修改但又不频繁大量更新的配置信息等
  • 最大的优点是可直接用电信号擦除,也可用电信号写入EEPROM不能取代RAM的原因是其工艺复杂,耗费的门电路过多,且重编程时间比较长,同时其有效重编程次数也比较低。
  • 缺点:集成度不高,价格贵

2.FLASH

  • 也是一种非易失性的内容,属于EEPROM的改进产品。
  • 采用NAND 或 NOR 架构,尤其是 NAND Flash 的存储单元结构更紧凑(1T/单元,无需独立选择晶体管)。
  • NAND FLASH采用串联方式连接存储单元,以页为单位进行读写操作;而NOR FLASH则采用并联方式连接存储单元,以字节为单位进行读写操作
  • NAND FLASH通常用于大容量存储应用,如U盘、固态硬盘(SSD)、存储卡等;而NOR FLASH则常用于需要快速读取的场合,如代码存储等。

DDR层次结构

  • Channel:通道,就是DDR控制器,芯片支持多少个DDR控制器,就支持多少个通道

  • DIMM:双列直插式内存模块,一个DIMM可以有多个rank

  • RANK:由多个颗粒并联,位宽与通道的数据位宽一样,比如channel的数据位宽是x64,颗粒是x8的,那么就需要8个颗粒组成的一个rank

  • CHIP:就是内存条上贴的存储芯片,也叫作颗粒,根据数据位宽,可分为x4,x8,x16

  • BANK:CHIP往下拆分就是BANK

  • ROW/COLUMN:一整行Cell构成了:Row(行),一整列Cell构成了:Column(列)

  • CELL:一个最小存储单位为:Cell(细胞)

    image-20250407205523228

MMU存储管理单元

  • MMU(Memory Management Unit,内存管理单元)是计算机硬件中的一部分,主要用于对内存访问进行管理和保护。
  • 它负责将程序中的虚拟地址(Vitual Address)翻译成实际的物理地址(Physical Address), 并提供一个可配置的地址转换机制,使得操作系统和应用程序可以使用统一的虚拟地址空间,同时又不必担心物理地址的变化
  • 具体来说,地址映射的过程可分为以下几步:
    • 操作系统或进程将虚拟内存地址发送给MMU
    • MMU获取虚拟内存地址中的页号(Page Number)或段号(Segment Number),并访问页表或段表灯数据结构来获取相应的物理内存地址
    • 如果数据结果中存在相应的物理内存地址,则MMU将虚拟地址映射到对应的物理地址上,并将结果返回给操作系统或进程;如果不存在,则触发缺页异常
    • 操作系统根据页标中的缺页异常处理信息从磁盘中加载对应的数据到物理内存中,并更新页表的相关信息
    • 重新执行之前的指令
  • MMU的优点:
    • 内存保护:MMU 防止程序访问它们不应该访问的内存区域。
    • 虚拟内存:MMU 允许计算机使用比实际物理内存更多的虚拟内存。
    • 多任务:MMU 允许多个程序同时运行,每个程序都有自己的虚拟地址空间。
    • 提高性能:通过将不经常使用的页面换出到磁盘,MMU 可以提高对经常使用的页面的访问速度。

Reference

欢迎来到ssy的世界