RAM、ROM、SRAM、DRAM、SSRAM、SDRAM、FLASH、EEPROM的区别

2023-10-27

RAM(Random Access Memory) 随机存储器。存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关的存储器。这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序。 按照存储信息的不同,随机存储器又分为静态随机存储器(Static RAM,SRAM)和动态随机存储器(Dynamic RAM,DRAM)。

ROM(Read-Only Memory)只读存储器,是一种只能读出事先所存数据的固态半导体存储器。其特性是一旦储存资料就无法再将之改变或删除。通常用在不需经常变更资料的电子或电脑系统中,资料并且不会因为电源关闭而消失。

SRAM(Static RAM)不需要刷新电路即能保存它内部存储的数据。

DRAM(Dynamic RAM)每隔一段时间,要刷新充电一次,否则内部的数据即会消失。

因此SRAM具有较高的性能,但是SRAM也有它的缺点,即它的集成度较低,相同容量的DRAM内存可以设计为较小的体积,但是SRAM却需要很大的体积,且功耗较大。所以在主板上SRAM存储器要占用一部分面积。

SRAM的速率高、性能好,它主要有如下应用:

1)CPU与主存之间的高速缓存。

2)CPU内部的L1/L2或外部的L2高速缓存。

SSRAM(Synchronous SRAM)即同步静态随机存取存储器。同步是指Memory工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;随机是指数据不是线性依次存储,而是由指定地址进行数据读写。 

对于SSRAM的所有访问都在时钟的上升/下降沿启动。地址、数据输入和其它控制信号均于时钟信号相关。这一点与异步SRAM不同,异步SRAM的访问独立于时钟,数据输入和输出都由地址的变化控制。 

SDRAM(Synchronous DRAM)即同步动态随机存取存储器。同步是指 Memory工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是自由指定地址进行数据读写。

FLASH 即闪存。它是一种长寿命的非易失性(在断电情况下仍能保持所存储的数据信息)的存储器,数据删除不是以单个的字节为单位而是以固定的区块为单位(注意:NOR Flash 为字节存储。),区块大小一般为256KB到20MB。

EEPROM 即电子可擦除只读存储器。EEPROM与闪存不同的是,它能在字节水平上进行删除和重写而不是整个芯片擦写,这样闪存就比EEPROM的更新速度快。由于其断电时仍能保存数据,闪存通常被用来保存设置信息,如在电脑的BIOS(基本输入输出程序)、PDA(个人数字助理)、数码相机中保存资料等。


转载于 https://www.cnblogs.com/ma77045728/p/7136230.html

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

2.RAM有两大类,一种称为静态RAM(Static RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,而且不需要刷新,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。另一种称为动态RAM(Dynamic RAM/DRAM),DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的。DRAM有很多种,这里说一下DDR RAM

DDR RAM(Date-Rate RAM)也称作DDR SDRAM,这种改进型的RAM和SDRAM是基本一样的,不同之处在于它可以在一个时钟读写两次数据,这样就使得数据传输速度加倍了。这是目前电脑中用得最多的内存,而且它有着成本优势。DDR2就是

DRAM工作原理:内存用来存放当前正在使用的(即执行中)的数据和程序,我们平常所提到的计算机的内存指的是动态内存(即DRAM),动态内存中所谓的"动态",指的是当我们将数据写入DRAM后,经过一段时间,数据会丢失,因此需要一个额外设电路进行内存刷新操作。

具体的工作过程是这样的:一个DRAM的存储单元存储的是0还是1取决于电容是否有电荷,有电荷代表1,无电荷代表0。但时间一长,代表1的电容会放电,代表0的电容会吸收电荷,这就是数据丢失的原因;刷新操作定期对电容进行检查,若电量大于满电量的1/2,则认为其代表1,并把电容充满电;若电量小于1/2,则认为其代表0,并把电容放电,藉此来保持数据的连续性。

DRAM包括SDRAM(Synchronous Dynamic Random Access Memory)同步动态随机存储器(SDRAM需要时钟同步)和DDR SDRAM

3.ROM也有很多种,PROM是可编程的ROM,PROM和EPROM(可擦除可编程ROM)两者区别是,PROM是一次性的,也就是软件灌入后,就无法修改了,这种是早期的产品,现在已经不可能使用了,而EPROM是通过紫外光的照射擦出原先的程序,是一种通用的存储器。另外一种EEPROM是通过电子擦出,价格很高,写入时间很长,写入很慢。手机软件一般放在EEPROM中

4.FLASH存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据(NVRAM的优势),U盘和MP3里用的就是这种存储器。在过去的20年里,嵌入式系统一直使用ROM(EPROM)作为它们的存储设备,然而近年来Flash全面代替了ROM(EPROM)在嵌入式系统中的地位,用作存储Bootloader以及操作系统或者程序代码或者直接当硬盘使用(U盘)。

5.目前Flash主要有两种NOR Flash和NAND Flash

6.NOR Flash的读取和我们常见的SDRAM的读取是一样,用户可以直接运行装载在NOR FLASH里面的代码,这样可以减少SRAM的容量从而节约了成本。

NAND Flash没有采取内存的随机读取技术,它的读取是以一次读取一块的形式来进行的,通常是一次读取512个字节,采用这种技术的Flash比较廉价。用户不能直接运行NAND Flash上的代码,

一般小容量的用NOR Flash,因为其读取速度快,多用来存储操作系统等重要信息,而大容量的用NAND FLASH,最常见的NAND FLASH应用是嵌入式系统采用的DOC(Disk On Chip)和我们通常用的"闪盘",可以在线擦除。

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

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

NOR的读速度比NAND稍快一些。

7.对比NAND和NOR性能

●NOR可以在片内执行程序

● NOR的读速度比NAND稍快一些。

● NAND的写入速度比NOR快很多。

● NAND的4ms擦除速度远比NOR的5s快。

● 大多数写入操作需要先进行擦除操作,NOR要求在进行擦除前先要将目标块内所有的位都写为1。

● NAND的擦除单元更小,相应的擦除电路更少。

● 接口差别:

NOR flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。

NAND器件使用复杂的I/O口来串行地存取数据,各个产品或厂商的方法可能各不相同。8个引脚用来传送控制、地址和数据信息。

NAND读和写操作采用512字节的块,这一点有点像硬盘管理此类操作,很自然地,基于NAND的存储器就可以取代硬盘或其他块设备。

●NOR flash占据了容量为1~16MB闪存市场的大部分,而NAND flash只是用在8~128MB的产品当中,这也说明NOR主要应用在代码存储介质中,NAND适合于数据存储。

●在NAND闪存中每个块的最大擦写次数是一百万次,而NOR的擦写次数是十万次。NAND存储器除了具有10比1的块擦除周期优势,典型的NAND块尺寸要比NOR器件小8倍

8.PSRAM,Pseudo static random access memory,指的是伪静态随机存储器。

内部的内存颗粒跟SDRAM的颗粒相似,但外部的接口跟SRAM相似,不需要SDRAM那样复杂的控制器和刷新机制,PSRAM的接口跟SRAM的接口是一样的。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RAM、ROM、SRAM、DRAM、SSRAM、SDRAM、FLASH、EEPROM的区别 的相关文章

  • RT-Thread 基于QSPI驱动LY68L6400-SRAM

    前言 使用的是RTThread 标准版 xff0c 主控是STM32H743 xff0c SRAM是LY68L6400 xff0c 使用QSPI QSPI和SPI的区别 个人理解最大的区别就是SPI是串行 xff0c 数据输出 xff0c
  • IAR ARM Cortex-M3下载程序至RAM中运行

    默认icf文件中ROM地址为0x0800 0000 xff0c 通过修改其中地址可实现将代码下载到RAM中 新建Configuration 新建Configuration用于区分 Project gt Edit Configurations
  • 浅谈关于SRAM与DRAM的区别

    从名字上看 xff0c SRAM与DRAM的区别只在于一个是静态一个是动态 由于SRAM不需要刷新电路就能够保存数据 xff0c 所以具有静止存取数据的作用 而DRAM则需要不停地刷新电路 xff0c 否则内部的数据将会消失 而且不停刷新电
  • 如何在 Ubuntu 18.04 上添加交换空间

    交换空间是磁盘上的空间 当物理 RAM 内存已满时使用 当 Linux 系统耗尽 RAM 时 非活动页面将从 RAM 移至交换空间 交换空间可以采用专用交换分区或交换文件的形式 通常 在虚拟机上运行 Ubuntu 时 不存在交换分区 唯一的
  • RAM、ROM、SRAM、DRAM、SSRAM、SDRAM、FLASH、EEPROM的区别

    RAM Random Access Memory 随机存储器 存储单元的内容可按需随意取出或存入 且存取的速度与存储单元的位置无关的存储器 这种存储器在断电时将丢失其存储内容 故主要用于存储短时间使用的程序 按照存储信息的不同 随机存储器又
  • 【分享】ROM厂商刷机工具合集

    1 MTK刷机 SP Flash Tool下载地址 SP Flash Tool v5 1924 Download SmartPhone Flash Tool MTKClient 下载地址 Releases notmyst33d mtkcli
  • STM32芯片--FSMC外设扩展外部SRAM

    这里写自定义目录标题 一 为什么要扩展外部SRAM 二 什么是SRAM 简介 存储器型号 容量 原理框图 引脚配置 通讯方式 读写特性 读取数据时序图 读取数据的时序要求 写入数据时序图 写入数据的时序要求 三 什么是FSMC外设 简介 F
  • 硬件入门之什么是mos管

    硬件入门之什么是mos管 文章目录 硬件入门之什么是mos管 一 mos管是什么 MOS管常用于 驱动大功率电路中 MOS选型参数 mos管调参数 二 实际应用场景 1 防反接保护电路 2 防过压保护电路 3 防反接防过压电路一体电路 4
  • 如何在 Ubuntu 20.04 上添加交换空间

    交换空间是磁盘上的空间 当物理 RAM 内存已满时使用 当 Linux 系统耗尽 RAM 时 非活动页面将从 RAM 移至交换空间 交换空间可以采用专用交换分区或交换文件的形式 通常 在虚拟机上运行 Ubuntu 时 不存在交换分区 唯一的
  • 如何在 Debian 9 上添加交换空间

    交换空间是磁盘上的空间 当物理 RAM 内存已满时使用 当 Linux 系统耗尽 RAM 时 非活动页面将从 RAM 移至交换空间 交换空间可以采用专用交换分区或交换文件的形式 通常 运行 Debian 虚拟机时不存在交换分区 因此唯一的选
  • 由于 RAM 故障,是否会发生 System.AccessViolationException?

    我有一个网站 我已经工作了大约一年了 最近 它开始时不时地在我的开发机器中抛出 System AccessViolationException 大多数情况下 当我离开机器时 几周以来我没有对服务器代码进行任何更改 因为我一直在 100 地处
  • CPU 如何从 RAM 访问应用程序和数据

    在应用程序加载到 RAM 并打开文件后 因此文件的数据也存储在 RAM 中 我在理解 CPU 如何从 RAM 访问应用程序和数据时遇到了一些困难 根据我的理解 CPU 只是在程序计数器滴答时从 RAM 获取指令或在中断后执行任务 那么它如何
  • RAM 如何以 O(1) 的速度访问内存中的任何位置

    我们被告知 RAM 内存的抽象是一个长字节数组 对于 CPU 来说 访问它的任何部分都需要相同的时间 能够同时访问 4 GB 在我的计算机上 中的任何字节的设备是什么 因为这对我来说似乎不是一个微不足道的任务 我问过同事和我的教授 但没有人
  • 将大文件读入 R

    我是 R 的新手 但我知道它会因 大 文件而窒息 我正在尝试读取 200MB 的数据文件 我已经尝试过 csv 格式 并将其转换为制表符分隔的 txt 但在这两种情况下 我在文件加载之前就用完了 4GB RAM R 使用 4GB 或内存来加
  • 如何获取设备的总 RAM 大小?

    我想获得设备的完整 RAM 大小 memoryInfo getTotalPss 返回 0 中没有获取总 RAM 大小的函数ActivityManager MemoryInfo http developer android com refer
  • 如何获取 Java7 应用程序的 CPU、RAM 和网络使用情况

    我找到了这篇旧文章如何在 Java 中监控计算机的 cpu 内存和磁盘使用情况 https stackoverflow com questions 47177 how to monitor the computers cpu memory
  • PHP服务器统计脚本? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我不太确定把这个问题放在哪里 它不是真正的网络应用程序或超级用户 但我确信类似的东西已经存在 我正在寻
  • 在 AVD 上运行自定义 ROM

    有谁知道是否可以在 AVD 上运行自定义 ROM 我该怎么做 谢谢 如果您自己构建自定义 rom 则在构建自定义 rom 后 您可以使用以下命令启动它emulator 但要做到这一点 你首先需要为模拟器构建 ROM 通常 full gene
  • 在 Windows 上使用 PHP 获取总可用系统内存

    使用 PHP 我想获取系统可用的总内存 而不仅仅是空闲或已用内存 在 Linux 上 这非常简单 你可以做 memory fopen proc meminfo 然后解析该文件 有人知道 Windows 的等效方法吗 我愿意接受任何建议 编辑
  • 将 IntelliJ IDEA 缓存/索引目录移动到 RAM

    我正在尝试移动caches and index从 IntelliJ IDEA 配置目录到 RAM 挂载点的目录 tmp使用符号链接 我已经添加 tmpfs tmp ramdisk tmpfs defaults size 1024M x gv

随机推荐

  • Embedding(嵌入层)和Dense(全连接层)的区别是什么?

    Embedding层没有bias和activation 这是与Dense层计算过程中最重要的区别 嵌入层描述的一种功能 全连接层描述的是一种结构 二者的划分方式不同 embedding是一种思想 将高维稀疏tensor压缩为低维稠密tens
  • 数据仓库建模方法与建模案例

    1 数据仓库建模的目的是什么 2 常见的数据建模方法有哪些 3 常见的建模工具有哪些 1 数据仓库建模的目的 为什么要进行数据仓库建模 大数据的数仓建模是通过建模的方法更好的组织 存储数据 以便在 性能 成本 效率和数据质量之间找到最佳平衡
  • SpringMVC中MultipartFile参数如果不上传文件报错的问题

    MultipartFile file null boolean isMultipart ServletFileUpload isMultipartContent request if isMultipart MultipartHttpSer
  • 线程(二)——线程安全与线程同步

    上一篇线程 一 线程基础中介绍了一些线程相关的基础知识 比如 线程的定义 线程的使用方法 线程的状态 并发和并行的概念等 说道并发呢 我们自然就会想到线程安全这个问题了 这一篇就讲一讲什么是线程安全 以及如何保证线程安全的 一 什么是线程安
  • 2019年您需要了解的6种区块链职业选择

    区块链技术已经超越了流行语 凭借其创新特征和改造整个工业时代的潜力 该技术已成为当时最热门的话题 每隔一秒钟的业务领导者都希望将技术纳入其业务流程并获得更高的收入 结果 市场对区块链开发技能的需求增加了 区块链是Upwork在2018年第一
  • Python+Requests+Pytest+Excel+Allure 接口自动化测试项目实战【框架之间的对比】

    UnitTest框架和PyTest框架的简单认识对比与项目实战 定义 Unittest是Python标准库中自带的单元测试框架 Unittest有时候也被称为PyUnit 就像JUnit是Java语言的标准单元测试框架一样 Unittest
  • Xcode14 终于放弃了bitcode和armv7架构,还有iOS 9、iOS 10

    相信大家已经了解到了不少关于Xcode 14的新消息 什么精简安装包 按需下载功能模块 提升编译速度 更快的xib storyBoard和SwiftUI app icon 1024像素图片 Xcode 14还放弃了一些东西 1 放弃了bit
  • SKNet网路

    1903 SKNet 图 网络描述 SENet是对特征图的通道注意力机制的研究 CBAM 提到了对特征图空间注意力机制的研究 这里 SKNet 针对卷积核的注意力机制研究 SKNet是SENet的加强版 结合了SE opetator Mer
  • Ubuntu 安装 Android Studio 全过程记录(2020年1月)

    不同时期 不同版本安装方法也不同 这是我在2020年1月的安装过程 版本 lubuntu 18 jdk8 202 Android Studio 3 5 3 1 安装jdk 先下载 jdk8 地址 下载 jdk 下载完以后运行安装 sudo
  • 解决:出现 ImportError: cannot import name etree 的问题

    原文 https blog csdn net Amberdreams article details 80548742 昨天晚上写了一个爬虫 竟然犯了一个从未注意的问题 导致运行的时候 不断提示如下错误提示 ImportError cann
  • 反序列化漏洞详解

    目录 一 反序列化漏洞原理 1 相关概念 2 序列化出现场景 3 反序列化攻击分类 4 危害 5 序列化与反序列化过程 二 常用的魔术方法 三 反序列化漏洞的防御 一 反序列化漏洞原理 1 相关概念 序列化 Serialization 将对
  • Git 之 获取远程分支(fetch5种方法),并合并到本地分支(merge和rebase的2种方法)中

    Git 之 获取远程分支 fetch5种方法 并合并到本地分支 merge和rebase的2种方法 中 目录 Git 之 获取远程分支 fetch5种方法 并合并到本地分支 merge和rebase的2种方法 中 一 简单介绍 二 获取远程
  • 在 vue2 中使用 vant2 组件库

    介绍 Vant 是一个轻量 可靠的移动端组件 一 安装 1 1 通过 npm 安装 在现有项目中使用 Vant 时 可以通过 npm 或 yarn 进行安装 Vue 3 项目 安装最新版 Vant npm i vant S Vue 2 项目
  • Windows小技巧9--常见命令、脚本、错误解决方法

    Windows小技巧9 常见命令 脚本 错误解决方法 本文主要记录Windows下常见的快捷键 命令 脚本案例 常见错误及解决方法 后续会以此为基础持续更新补充相关内容 1 常见命令 1 1 Windows下的常见快捷键 1 win R 打
  • Pandas数据库查询更新create_engine用法,以及一些警告及弃用处理

    警示情况 UserWarning pandas only supports SQLAlchemy connectable engine connection or database string URI or sqlite3 DBAPI2
  • vue 插件开发过程

    在使用vue 开发的过程中 有时候可能需要用到this来触发组件 如我们经常用道德loading插件 下面记录了一次插件的开发过程 首先建立一个 vue文件 文件中包含了你插件中的一切逻辑 例如
  • CMake:Tutorial-Step4

    Step4 Installing and Testing 安装和测试 本小结简介简单的安装和测试命令配置 0 安装规则 安装语法很简单 对于MathFunctions我们想要的是安装库和头文件 对于应用程序我们想要的是安装可执行程序和con
  • 跳跃游戏-计蒜客

    给定一个非负整数数组 假定你的初始位置为数组第一个下标 数组中的每个元素代表你在那个位置能够跳跃的最大长度 请确认你是否能够跳跃到数组的最后一个下标 例如 A 2 3 1 1 4 A 2 3 1 1 4 能够跳跃到最后一个下标 输出true
  • 人口生育老龄化政策数据表(1971-2023年)

    人口生育老龄化政策是指政府为应对人口老龄化现象 通过制定一系列政策措施 促进人口增长 优化人口结构和保障老年人福利的过程 人口生育老龄化政策数据表可以进行以下科研 1 人口增长政策 政府采取 鼓励生育的措施 如提供生育津贴 延长产假 提高生
  • RAM、ROM、SRAM、DRAM、SSRAM、SDRAM、FLASH、EEPROM的区别

    RAM Random Access Memory 随机存储器 存储单元的内容可按需随意取出或存入 且存取的速度与存储单元的位置无关的存储器 这种存储器在断电时将丢失其存储内容 故主要用于存储短时间使用的程序 按照存储信息的不同 随机存储器又