【x86】DRAM、SRAM、DDR、FLASH、双通道的概念科普
内存的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、双通道的概念科普的更多相关文章
- FPGA系统中DRAM,SRAM,SDRAM,FLASH 区别(转)
原文:http://hi.baidu.com/abners/item/a9042ef35d3f005bc8f337f5 一般来说这几种存储器是一个nios系统都具有的,sram的好处是接口简单,速度快 ...
- 一文搞懂RAM、ROM、SDRAM、DRAM、DDR、flash等存储介质
一文搞懂RAM.ROM.SDRAM.DRAM.DDR.flash等存储介质 存储介质基本分类:ROM和RAM RAM:随机访问存储器(Random Access Memory),易失性.是与CPU直接 ...
- 理解FPGA中的RAM、ROM和CAM;ROM、RAM、DRAM、SRAM、FLASH
目前大多数FPGA都有内嵌的块RAM(Block RAM),可以将其灵活地配置成单端口RAM(DPRAM,Single Port RAM).双端口RAM(DPRAM,Double Ports RAM) ...
- 【嵌入式开发】裸机引导操作系统和ARM 内存操作 ( DRAM SRAM 类型 简介 | Logical Bank | 内存地址空间介绍 | 内存芯片连接方式 | 内存初始化 | 汇编代码示例 )
[嵌入式开发]ARM 内存操作 ( DRAM SRAM 类型 简介 | Logical Bank | 内存地址空间介绍 | 内存芯片连接方式 | 内存初始化 | 汇编代码示例 ) 一. 内存 ...
- RAM,SRAM,DRAM,SDRAM,DDR RAM,ROM,PROM,EPROM,EEPROM,NAND FLASH,NOR FLASH的区别
RAM:由字面意思就可以理解,SDRAM SRAM DRAM(下面蓝色字体的这几种)都可以统称RAM,random access memory(随机存取存储器)的缩写,下面是51hei.com为大家整 ...
- SRAM SROM DRAM DROM DDR NAND FLASH EMMC的区别
RAM(Random Access Memory)的全名为随机存取记忆体,它相当于PC机上的移动存储,用来存储和保存数据的.它在任何 时候都可以读写,RAM通常是作为操作系统或其他正在运行程序的临时存 ...
- ROM、RAM、DRAM、SRAM和FLASH区别
ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写. ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都 ...
- ROM、RAM、DRAM、SRAM和FLASH的区别
ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写.ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是 ...
- ROM、SDRAM、RAM、DRAM、SRAM、FLASH区别
body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...
- 18.11 ROM、RAM、DRAM、SRAM和FLASH区别
ROM(Read Only Memory)和RAM(Random Access Memory)指的都是半导体存储器.ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,但 ...
随机推荐
- [Redis] Redis (7) 连接与会话管理
序:文由 因今日排查问题,发现微服务因 ERR max number of clients reached (已达到客户端的最大数量) redis异常,而导致服务在健康检测时未通过,进而导致高频宕机. ...
- 【Spring Boot】ActiveMQ 连接池
spring.activemq.pool.enabled=false时,每发送一条数据都需要创建一个连接,这样会出现频繁创建和销毁连接的场景.为了不踩这个坑,我们参考池化技术的思想,配 ...
- oracle的递归写法:地区层级
前言 mysql的递归看我另一篇博文:https://www.cnblogs.com/daen/p/17252369.html 表结构 数据 查询子节点 示例 SELECT cx1.* FROM PH ...
- FastAPI权限迷宫:RBAC与多层级依赖的魔法通关秘籍
title: FastAPI权限迷宫:RBAC与多层级依赖的魔法通关秘籍 date: 2025/06/04 21:17:50 updated: 2025/06/04 21:17:50 author: ...
- Vue 学习笔记 [Part 1]
作者:故事我忘了¢个人微信公众号:程序猿的月光宝盒 最近项目上需要用到Vue,又重新学习了一遍.期望10天左右完全掌握并能用于生产吧. 好记性不如烂笔头 目录 一. 邂逅Vuejs 1.1. 认识Vu ...
- 如何基于three.js(webgl)引擎架构,实现3D密集架库房,3D档案室智能巡检
前言: 看了一下 距离上篇课程发布,一年多了.这一年多来也迷茫,也怀疑,在AI时代,是不是失去了写文章的意义了.切身感受到那种面对科技浪潮时的迷茫和无力感.当AI能写出流畅.结构清晰的文章,甚至模 ...
- 野兽先辈带您学Opencv:介绍直方图,直方图均衡化,直方图计算,实战利用直方图计算蛋的面积
欧,又是坑爹的opencv实验,它又来了额 实验要求: 1.输入三通道RGB直方图 2.直方图均衡化后输出图片及直方图 3.计算鸡蛋的面积(像素数) 首先什么是直方图? 横坐标是灰度,纵坐标是每一个灰 ...
- 一文看懂——SimSolid的优势
在当今日益复杂的工程设计领域,大型装配体的分析变得愈发重要.装配体是由多个零件.部件或子装配体按照一定规则和技术要求组合而成的整体,其性能的好坏直接影响到整个产品的质量和可靠性. 然而,传统的有限元分 ...
- Kamailio SIP+RTP双网卡SBC呼叫流程与媒体处理说明
本文档旨在详细解释基于提供的 kamailio_sbc_dual_nic.cfg 配置文件,在双网卡SBC(Session Border Controller)场景下,Kamailio (5.8.3) ...
- Spring Boot 集成 tess4j 实现图片识别文本
前言 tesseract是一个开源的光学字符识别(OCR)引擎,它可以将图像中的文字转换为计算机可读的文本.支持多种语言和书面语言,并且可以在命令行中执行.它是一个流行的开源OCR工具,可以在许多不同 ...