今天小姐姐来问我关于ROM、RAM和Flash的区别,我给她大致的说了一下名称和作用。可人家说她知道这玩意的名字,希望我能够接地气的解释一下什么是ROM、RAM、FLASH……

这就把我难住了 ≧ ﹏ ≦。(当时也没好好学,つ﹏⊂,错失了一个,撩小姐姐的机会),现在赶紧写温习一下,顺手篇博客记录一下。

  

ROM:

  看了看维基百科和百度百科,两个百科对ROM的定义基本一致大概可以概括为这几点:

  1. ROM是Read-Only Memory的缩写,中文名为只读存储器。
  2. 只能读出事先所存数据的固态半导体存储器。
  3. 一旦储存资料就无法再将之改变或删除。
  4. 内容不会因为电源关闭而消失。
  5. 用在不需经常变更资料的电子或电脑系统中。

  ROM有6个种类:

 ROM:

  • 只读存储器
  • 非易失性存储器
  • 制造时处于一种特殊发mask下进行烧入,写入的内容无法修改,电脑与用户只能读取保存在这里的指令,不能进行数据存入。
  • 常用于存储特定功能的程序或系统程序,例如启动盘。

  ROM的用于存储电脑引导指令时,ROM会提供一系列的指令给CPU进行测试,在最初的测试中,检查RAM位置(location)以确认其存储数据的能力。(顺便提一句键盘、计时器回路以及CPU本身都被纳入CPU测试)。说白了ROM就是存储器,带窗户封闭空间。你想塞东西只能在构建的时候装进去,想读呢?就从窗户往里够。

  哎?不对啊,我手机存的存储器明明能写啊?为什么就只读了呢?手机也好电脑也好使用的都是不是简单的ROM,用于电脑引导的BIOS存储在EPROM或者EEPROM上、手机的引导开机的固化模块在ROM上,而用于存储的闪存Flash memory是ROM的一种,至于机械硬盘这种磁盘类的存储器不属于ROM范畴。电脑和手机的存储设备,更应该叫做外部存储,可以用来存储手机系统文件、图片、电影等等。

  那什么是片上ROM呢?片上ROM就是单片机用来存储单片机程序和相关参数的地方。单片机程序在ROM里以文件或者一片二进制格式数据的方式存储

PROM:

    • 可编程程序只读存储器(Programmable ROM,PROM)
    • 烧断熔丝进行编程
    • 仅能写录一次

  PROM的典型产品是“双极性熔丝结构”,如果我们想改写某些单元,则可以给这些单元通以足够大的电流,并维持一定的时间,原 先的熔丝即可熔断,这样就达到了改写某些位的效果。另外一类经典的PROM为使用“肖特基二极管”的PROM,出厂时,其中的二极管处于反向截止状态,还 是用大电流的方法将反相电压加在“肖特基二极管”,造成其永久性击穿即可。

EPROM:

    • 可抹除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)
    • 高电压将数据编程写入
    • 紫外线照射清除数据
    • 可重复使用

OTPROM:

    • 一次编程只读存储器(One Time Programmable Read Only Memory,OTPROM)
    • 封装上不设置透明窗
    • 单次使用,工艺与EPROM相同

EEPROM:

    • 电可擦除可编程只读存储器 (Electrically-Erasable Programmable ROM)
    • 可以通过电子方式多次复写的半导体存储设备
    • 可以用特定电压进行擦除
    • 工作模式(不做详细介绍):读取模式、写入模式、擦除模式、校验模式

EEPROM性能的优秀,以及在在线操作的便利,它被广泛用于需要经常擦除的BIOS芯片以及闪存芯片,并逐步替代部分有断电保留需要的RAM芯片,甚至取代部分的硬盘功能(见固态硬盘)。它与高速RAM成为当前(21世纪00年代)最常用且发展最快的两种存储技术。

闪存:

    • Flash memory
    • 每一个记忆胞都具有一个“控制闸”与“浮动闸”
    • 利用高电场改变浮动闸的临限电压即可进行编程动作
    • 类型:NAND型与NOR型

NAND常用于固态硬盘、U盘、存储卡等用途,NOR则用于BIOS ROM芯片等用途。

与NAND ROM相比, NOR ROM集成度低,成本高,但NOR ROM可按字节擦写的特性使得其可以直接运行程序。

RAM:

  还是去翻了一下两大百科,总结了一下大概有以下几个特性:

  1. Random Access Memory,缩写:RAM;也叫主存是与CPU直接交换数据的内部存储器
  2. 随机存储:存储器中的消息被读取或写入时,所需要的时间与这段信息所在的位置无关
  3. 易失性:电源关闭时RAM不能保留数据
  4. 访问速度高:现代的随机存取存储器几乎是所有访问设备中写入和读取速度最快的
  5. 需要刷新:电容器充满电后代表1(二进制),未充电的代表0。由于电容器或多或少有漏电的情形,若不作特别处理,电荷会渐渐随时间流失而使数据发生错误。刷新是指重新为电容器充电,弥补流失了的电荷。需要刷新正好解释了随机存取存储器的易失性。
  6. 对静电敏感:静电会干扰存储器内电容器的电荷,引致数据流失,甚至烧坏电路。故此触碰随机存取存储器前,应先用手触摸金属接地
  7. RAM 存储器可以进一步分为静态随机存取存储器(SRAM)和动态随机存取存储器(DRAM)两大类。SRAM具有快速访问的优点,但生产成本较为昂贵,一个典型的应用是缓存。而DRAM由于具有较低的单位容量价格,所以被大量的采用作为系统的主存。(主存和缓存在这里不说,设置了维基的链接自行转跳)

RAM主要用来存储程序中用到的变量。凡是整个程序中,所用到的需要被改写的量(包括全局变量、局部变量、堆栈段等),都存储在RAM中。我们的所有运行的东西都会被拷贝到RAM中,共给CPU调度。

重点来了!!!

  ROM和RAM有什么区别呢?简单地说,在计算机中,RAM 、ROM都是数据存储器。RAM 是随机存取存储器,它的特点是易挥发性,即掉电失忆。ROM 通常指固化存储器(一次写入,反复读取),它的特点与RAM 相反。ROM又分一次性固化、光擦除和电擦除重写两种类型。

  在应用中,常规上ROM是用来存储固化程序的,RAM是用来存放数据的。由于FLASH ROM比普通的ROM读写速度快,擦写方便,一般用来存储用户程序和需要永久保存的数据。

  举

ROM与RAM的更多相关文章

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

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

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

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

  3. ROM与RAM知识

    “ROM”和“RAM”的意思: “ROM”:N年前代表一种只能写入和读取,而不能改写和擦除的设备,可以用光驱CD-ROM来说明这个道理.目前的“ROM”已经不是这个道理了,它的技术已经飞快的发展到现在 ...

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

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

  5. ROM、RAM、DRAM、SRAM和FLASH、PSRAM

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

  6. ROM和RAM区别

    在计算机的组成结构中,有一个很重要的部分,就是存储器.存储器是用来存储程序和数据的部件,对于计算机来说,有了存储器,才有记忆功能,才能保证正常工作.存储器的种类很多,按其用途分为主存储器和辅助存储器, ...

  7. FPGA中ROM与RAM相关知识总结(五)

    把看到的关于存储的一些东西整理一下,有些话来自于网友,所以还是那句话,看到的人要带着自己的思考去看,记住尽信书不如无书,fighting!!! 一.基本概念 最熟悉的两个词语应该是RAM与ROM,RA ...

  8. ROM和RAM的故事

    在公众号里看到一篇很好的文章讲解rom和ram,之前也是一直不能理解两者的区别,今天就转载记下来吧.也方便大家学习. 因为我刚开始学习的时候总喜欢刨根问底,一个问题要是不搞清楚,后面学习都会很吃力的. ...

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

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

  10. ROM、RAM、DRAM、SRAM、FLASH的区别?

    在学习单片机的时候经常会被这些东西搞晕掉,什么ROM RAM FLASH EEPROM 等等......为了不被搞晕,做个笔记,不记得的时候过来看看. 下面是我在网上找的资料: ROM和RAM指的都是 ...

随机推荐

  1. Linux centosVMware Tomcat介绍、安装jdk、安装Tomcat

    一.Tomcat介绍 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache.Sun和其他一些公司及个人共同开 ...

  2. 解题报告:luogu P5543 [USACO19FEB]The Great Revegetation S

    题目链接:P5543 [USACO19FEB]The Great Revegetation S 好坑啊,都身败名裂了. 思路一: 考虑染色法,跑一遍搜所就好了,不给代码了. 思路二: 考虑并查集,我想 ...

  3. <c:foreach>指定循环次数

    <c:forEach begin="0" end="4" var="i"> <c:set var="ans&qu ...

  4. Django 学习之Django Rest Framework_序列化器_Serializer

    作用: 1.序列化,序列化器会把模型对象转换成字典,经过response以后变成json字符串. 2.反序列化,把客户端发送过来的数据,经过request以后变成字典,序列化器可以把字典转成模型. 3 ...

  5. Java 实现简单的人机猜拳游戏

    import java.util.Scanner; import java.util.Random; public class TestGuess{ public static void main(S ...

  6. 设计模式课程 设计模式精讲 21-2 观察者模式coding

    1 代码演练 1.1 代码演练1(一对一观察) 1.2 代码演练2(一对多观察) 1.3 代码演练3(多对多观察) 1 代码演练 1.1 代码演练1(一对一观察) 需求: 木木网课程系统,教师后台提醒 ...

  7. 设计模式课程 设计模式精讲 13-2 享元模式coding

    1 代码演练 1.1 代码演练1 1 代码演练 1.1 代码演练1 需求: 每周由随机部门经历做报告: 重点关注: a 该案例是单例模式和享元模式共同使用 b 外部传入的department是外部状态 ...

  8. 5.Nginx

    1.Nginx 安装 (1) 安装gcc (yum install gcc) 备注:可以输入gcc -v 查询版本信息,看系统是否自带安装 (2) 安装pcre (yum install pcre-d ...

  9. vue的高级使用技巧

    全局组件注册 一般组件应用弊端,比较笨拙繁琐低效,比如我们写了一些组件,需要引用上的时候就通过import导入,那如果是高频繁需要使用的组件,则需要在每个使用的时候都需要引入并注册 假设现在有两个组件

  10. JDK8中的HashMap源码

    背景 很久以前看过源码,但是猛一看总感觉挺难的,很少看下去.当时总感觉是水平不到.工作中也遇到一些想看源码的地方,但是遇到写的复杂些的心里就打退堂鼓了. 最近在接手同事的代码时,有一些很长的pytho ...