内存的DRAM、SRAM

在学习数电的时候就学习过,RAM分为两大类,有DRAM(Dynamic RAM)、SRAM(Static RAM),在装机器的时候也经常会听到DDR3 DDR4 DDR5等概念,下面详细介绍。

首先DRAM和SRAM这两大类,从原理上说:DRAM是将每bit数据保存在一个个的电容+晶体管内,而SRAM是将数据保存在一个个触发器中,由于电容储存的电荷会随时间减少,因此,DRAM需要周期性刷新否则数据将会丢失,SRAM则没有这种困扰。

但从工艺上来说,DRAM的电容会比SRAM触发器更简单,成本因此就更低,也更容易制作得更大容量,集成度更高。DRAM使用成本换取了访问速度和集成度。

SRAM通常用在CPU Cache的小容量但高速的场景中。DRAM需要刷新 + 预充 + 激活等一系列步骤才能访问使用,因此速度相对慢很多。

总结就是:

  • SRAM 快但贵,小容量 → 用于 CPU cache。
  • DDR 是 DRAM 快速变种,便宜大容量 → 用于主内存。

DDR

平时装机佬们说的DDR4 DDR5这些,是指**DDR(Double Data Rate)DRAM**:“双倍数据速率”,所以是一种高速DRAM。

从原理上,它每个时钟周期传输两次数据(上升沿+下降沿),带宽比传统 SDRAM 更高。

其实,我们市面上现如今能买到的一般都是更好的DDR SDRAM,多了个S,代表着Synchronous DRAM,意思是和系统时钟同步。这个具体不用管,反正DDR就是双倍速率,就是快 φ(゜▽゜*)♪

FLASH

FLASH,又叫闪存,是一种断电不丢失数据(非易失性存储器,NVM,Non-Volatile Memory)存储器,是一种外存。其由浮栅晶体管构成,用于长期存储数据或文件(例如U盘),写入速度比较慢但是读取速度很快。

常见的FLASH有两种:

  • NAND FLASH: 用于 SSD、U盘、TF 卡、eMMC(手机)
  • NOR FLASH: 可随机读写,常用于固件(BIOS/UEFI ROM)存储 SPI NOR(BIOS 芯片)

没错,FLASH如今一般走SPI总线协议。

有关SPI FLASH,具体可以看这个:

https://zhuanlan.zhihu.com/p/631629580

Intel于1988年首先开发出NOR Flash 技术,彻底改变了原先由EPROM(Erasable Programmable Read-Only-Memory电可编程序只读存储器)和EEPROM(电可擦只读存储器Electrically Erasable Programmable Read - Only Memory)一统天下的局面。紧接着,1989年,东芝公司发表了NAND Flash 结构,强调降低每比特的成本,有更高的性能,并且像磁盘一样可以通过接口轻松升级。NOR Flash 的特点是芯片内执行(XIP ,eXecute In Place),这样应用程序可以直接在Flash闪存内运行,不必再把代码读到系统RAM中。NOR 的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响到它的性能。NAND的结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用NAND的困难在于Flash的管理需要特殊的系统接口。通常读取NOR的速度比NAND稍快一些,而NAND的写入速度比NOR快很多,在设计中应该考虑这些情况。

——《ARM嵌入式Linux系统开发从入门到精通》 李亚峰 欧文盛 等编著 清华大学出版社 P52

Flash闪存是NVM,可以对称为块的存储器单元块进行擦写和再编程。任何flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。NAND器件执行擦除操作是十分简单的,而NOR则要求在进行擦除前先要将目标块内所有的位都写为0。

由于擦除NOR器件时是以64~128KB的块进行的,执行一个写入/擦除操作的时间为5s,与此相反,擦除NAND器件是以8~32KB的块进行的,执行相同的操作最多只需要4ms。

其他有关NOR和NAND的区别,具体可以看这个:

https://www.cnblogs.com/eleclsc/p/11393461.html

顺便一提,手机中一般使用的eMMC也是使用FLASH做的:eMMC = NAND Flash + 控制器(Controller)

它是把 Flash 芯片和控制器封装在一个 BGA 封装中,通过标准化接口(JESD84)提供存储功能,不需要额外的 Flash 控制器芯片。

SSD硬盘也是NAND FLASH制作而成的。NAND Flash 的成本更低,容量更高。

但是NOR FLASH也不是一无是处,虽然很难做大容量,但是其可以直接从FLASH中执行代码,类似于ROM,并且支持随机读取,因此在BIOS固件的场景或者MCU/嵌入式设备启动代码、Bootloader(例如,STM32 芯片的内置 Flash等) 存储等有重要作用。

注意:

刚刚说Flash 是一种 NVM(非易失性存储器),它

  • 不是 RAM(随机存取存储器)
  • 不是传统意义上的 ROM(只读存储器)
  • 更准确地说,它是一种可擦写的 ROM(即 EEPROM 的变种)

双通道

装机时,经常也可以听到需要将内存条组成双通道的说法,这样性能更好,但是这具体是什么意思?

双通道(Dual Channel)是一种内存带宽增强的技术,这个技术是主板或内存控制器的一种工作方式,而非内存条本身的特性。

如果使用两根规格同样的内存条,主板可以将他们组成双通道模式。采用这个模式下的主板,可以同时读写两条内存,也就说性能可以翻倍。

两根内存条带宽就是两个总线,相当于高速路由单车道变成双车道,所以数据传输效率更高。

有双通道了,有三通道、四通道....这些说法吗?

答:对也不对,可以看下表:

模式 通道数 理论带宽提升倍数 常见平台
单通道 1 1x 所有系统最低配置
双通道 2 2x 主流桌面平台、笔记本平台
三通道 3 3x 已过时(曾用于 Intel X58 平台)
四通道 4 4x 高端桌面(HEDT)、服务器平台
六/八通道 6 / 8 6x / 8x 专业工作站、服务器(如 Xeon)
  • Intel X58 平台(2008):支持 三通道,典型配置是 3×2GB 内存;
  • Intel X299、AMD TRX40(Threadripper):支持 四通道
  • Intel Xeon Scalable/AMD EPYC:支持 六或八通道(每个内存控制器挂更多 DIMM)。

多通道的目的是为了提升带宽,提升数据的传输效率,不能提高时序延迟,但是对于机器来说,2 * 8GB 总是比单根 16GB 的内存条确实性能要更好的,但是这个也取决于主板是否支持。

如今的家用电脑/笔记本等一般均支持双通道,服务器支持更多通道组成。

【x86】DRAM、SRAM、DDR、FLASH、双通道的概念科普的更多相关文章

  1. FPGA系统中DRAM,SRAM,SDRAM,FLASH 区别(转)

    原文:http://hi.baidu.com/abners/item/a9042ef35d3f005bc8f337f5 一般来说这几种存储器是一个nios系统都具有的,sram的好处是接口简单,速度快 ...

  2. 一文搞懂RAM、ROM、SDRAM、DRAM、DDR、flash等存储介质

    一文搞懂RAM.ROM.SDRAM.DRAM.DDR.flash等存储介质 存储介质基本分类:ROM和RAM RAM:随机访问存储器(Random Access Memory),易失性.是与CPU直接 ...

  3. 理解FPGA中的RAM、ROM和CAM;ROM、RAM、DRAM、SRAM、FLASH

    目前大多数FPGA都有内嵌的块RAM(Block RAM),可以将其灵活地配置成单端口RAM(DPRAM,Single Port RAM).双端口RAM(DPRAM,Double Ports RAM) ...

  4. 【嵌入式开发】裸机引导操作系统和ARM 内存操作 ( DRAM SRAM 类型 简介 | Logical Bank | 内存地址空间介绍 | 内存芯片连接方式 | 内存初始化 | 汇编代码示例 )

    [嵌入式开发]ARM 内存操作 ( DRAM SRAM 类型 简介 | Logical Bank | 内存地址空间介绍 | 内存芯片连接方式 | 内存初始化 | 汇编代码示例 )     一. 内存 ...

  5. RAM,SRAM,DRAM,SDRAM,DDR RAM,ROM,PROM,EPROM,EEPROM,NAND FLASH,NOR FLASH的区别

    RAM:由字面意思就可以理解,SDRAM SRAM DRAM(下面蓝色字体的这几种)都可以统称RAM,random access memory(随机存取存储器)的缩写,下面是51hei.com为大家整 ...

  6. SRAM SROM DRAM DROM DDR NAND FLASH EMMC的区别

    RAM(Random Access Memory)的全名为随机存取记忆体,它相当于PC机上的移动存储,用来存储和保存数据的.它在任何 时候都可以读写,RAM通常是作为操作系统或其他正在运行程序的临时存 ...

  7. ROM、RAM、DRAM、SRAM和FLASH区别

    ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写. ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都 ...

  8. ROM、RAM、DRAM、SRAM和FLASH的区别

    ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写.ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是 ...

  9. ROM、SDRAM、RAM、DRAM、SRAM、FLASH区别

    body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...

  10. 18.11 ROM、RAM、DRAM、SRAM和FLASH区别

    ROM(Read Only Memory)和RAM(Random Access Memory)指的都是半导体存储器.ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,但 ...

随机推荐

  1. [Redis] Redis (7) 连接与会话管理

    序:文由 因今日排查问题,发现微服务因 ERR max number of clients reached (已达到客户端的最大数量) redis异常,而导致服务在健康检测时未通过,进而导致高频宕机. ...

  2. 【Spring Boot】ActiveMQ 连接池

            spring.activemq.pool.enabled=false时,每发送一条数据都需要创建一个连接,这样会出现频繁创建和销毁连接的场景.为了不踩这个坑,我们参考池化技术的思想,配 ...

  3. oracle的递归写法:地区层级

    前言 mysql的递归看我另一篇博文:https://www.cnblogs.com/daen/p/17252369.html 表结构 数据 查询子节点 示例 SELECT cx1.* FROM PH ...

  4. FastAPI权限迷宫:RBAC与多层级依赖的魔法通关秘籍

    title: FastAPI权限迷宫:RBAC与多层级依赖的魔法通关秘籍 date: 2025/06/04 21:17:50 updated: 2025/06/04 21:17:50 author: ...

  5. Vue 学习笔记 [Part 1]

    作者:故事我忘了¢个人微信公众号:程序猿的月光宝盒 最近项目上需要用到Vue,又重新学习了一遍.期望10天左右完全掌握并能用于生产吧. 好记性不如烂笔头 目录 一. 邂逅Vuejs 1.1. 认识Vu ...

  6. 如何基于three.js(webgl)引擎架构,实现3D密集架库房,3D档案室智能巡检

      前言: 看了一下 距离上篇课程发布,一年多了.这一年多来也迷茫,也怀疑,在AI时代,是不是失去了写文章的意义了.切身感受到那种面对科技浪潮时的迷茫和无力感.当AI能写出流畅.结构清晰的文章,甚至模 ...

  7. 野兽先辈带您学Opencv:介绍直方图,直方图均衡化,直方图计算,实战利用直方图计算蛋的面积

    欧,又是坑爹的opencv实验,它又来了额 实验要求: 1.输入三通道RGB直方图 2.直方图均衡化后输出图片及直方图 3.计算鸡蛋的面积(像素数) 首先什么是直方图? 横坐标是灰度,纵坐标是每一个灰 ...

  8. 一文看懂——SimSolid的优势

    在当今日益复杂的工程设计领域,大型装配体的分析变得愈发重要.装配体是由多个零件.部件或子装配体按照一定规则和技术要求组合而成的整体,其性能的好坏直接影响到整个产品的质量和可靠性. 然而,传统的有限元分 ...

  9. Kamailio SIP+RTP双网卡SBC呼叫流程与媒体处理说明

    本文档旨在详细解释基于提供的 kamailio_sbc_dual_nic.cfg 配置文件,在双网卡SBC(Session Border Controller)场景下,Kamailio (5.8.3) ...

  10. Spring Boot 集成 tess4j 实现图片识别文本

    前言 tesseract是一个开源的光学字符识别(OCR)引擎,它可以将图像中的文字转换为计算机可读的文本.支持多种语言和书面语言,并且可以在命令行中执行.它是一个流行的开源OCR工具,可以在许多不同 ...