内存的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. Docker基本使用方法

    Docker 的基本使用方法 最近在尝试复现研究CVE,docker太方便了,学了下基本的使用方法,怕忘记,记于此处 1. 容器与镜像 镜像是一堆只读的文件. 容器 = 镜像 + 读写层 运行态的容器 ...

  2. Mac 终端下svn常用命令的使用

    svn基本的操作流程 刚刚进入一个新的公司,让我接手一个正在进行的项目,我打开终端写下了:svn co svn://192.168.1.1/pro/domain 然后就可以在当前目录里面找到一个叫do ...

  3. Spring注解之@FeignClient注解使用方法

    声明接口时在代码中通过@Resource注入容器之后即可使用.@FeignClient注解的常用属性如下: value/name:value和name的作用一样,用于指定FeignClient的名称: ...

  4. 【对称加密】DES与AES算法详解及Java实现

    对称加密:DES与AES算法详解及Java实现 目录 对称加密概述 DES算法详解 AES算法详解 Java实现示例 安全注意事项 总结 1. 对称加密概述 对称加密是指加密和解密使用相同密钥的加密算 ...

  5. 一种更简单的方式运行 C# 代码,简化 C# 开发体验!

    前言 前段时间 .NET 10 Preview 4 推出了一种更简单的方式运行 C# 代码,即可以直接使用dotnet run file.cs 命令运行 C# 文件.这意味着我们不再需要创建项目文件或 ...

  6. AES简介以及配合Base64实现加密解密

    一.对称加密 1.什么是对称加密 对称加密就是指加密和解密使用同一个密钥的加密方式. 2.对称加密的工作过程 发送方使用密钥将明文数据进行加密成密文,发送给接收方,接收方收到密文后,使用同一个密钥将密 ...

  7. RL之深夜有感

    世界似乎就是一个巨大的强化学习环境(Env),身处其中的每个人就是里面的智能体,有的为生计四处奔波:有的要探寻精神上的欢娱:有的似乎想跳出Env,不想再继续下去了:可以说每个人的target都不尽相同 ...

  8. ChatClient vs ChatModel:开发者必须知道的4大区别!

    在 Spring AI/Spring AI Alibaba 框架中,ChatModel 和 ChatClient 都可以实现大模型的文本生成功能,例如聊天机器人,但二者是两种不同层级的 API 封装, ...

  9. 从 DeepSeek 突然爆发,看数据开发的应用市场

    在数字化快速发展的当下,人工智能与数据技术不断迭代.近期,DeepSeek 凭借自身技术实力在市场中迅速崛起,为剖析数据开发应用市场提供了视角. DeepSeek 爆发:技术与市场的双重驱动 1.1 ...

  10. Java集合框架性能特征与使用场景深度解析

    Java 集合框架的性能优化与场景适配是高级程序员面试的核心考点.本文聚焦线性集合.集合.映射等核心组件的性能指标(时间复杂度.空间开销)与适用场景,结合 JDK 演进特性与工程实践,构建系统化知识体 ...