今天小姐姐来问我关于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. day21-Python运维开发基础(单个字符匹配 / 多字符匹配)

    1. 正则表达式(单个字符匹配) # ### 正则表达式 => 单个字符匹配 import re """ lst = re.findall(正则表达式,字符串) & ...

  2. C++ class without pointer members

      写在前面 Object Oriented class 的分类:带指针的class和不带指针的class, class 的声明         这里有一个inline的概念,写在类里面的默认为inl ...

  3. Centos7 安装redis及简单使用

    一.redis的介绍 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset( ...

  4. 修改iso ghost xp镜像 ie主页

    使用ghost explorer把镜像中在"Documents and SettingsAdministrator"里的文件"NTUSER.DAT",提取出来, ...

  5. Xcode下载途径

    Xcode除了能在Appstore直接下载外,还可以用开发者账号登陆开发者中心[https://developer.apple.com/download/]下载对应的资源. 在开发者中心下载的好处是, ...

  6. redis之Hash类型常用方法总结

    redis之Hash类型常用方法总结 格式: 存--HMGET key field [field ...] 取--HMGET key field [field ...] M:表示能取多个值,many ...

  7. 吴裕雄--天生自然python机器学习实战:K-NN算法约会网站好友喜好预测以及手写数字预测分类实验

    实验设备与软件环境 硬件环境:内存ddr3 4G及以上的x86架构主机一部 系统环境:windows 软件环境:Anaconda2(64位),python3.5,jupyter 内核版本:window ...

  8. C#中SqlDataAdapter的使用小结---转载

    C#中SqlDataAdapter的使用小结 转载 叁木-Neil 最后发布于2018-06-07 21:29:39 阅读数 8275 收藏 展开 SqlDataAdapter对象 一.特点介绍1.表 ...

  9. Python 中的经典类新式类

    Python 中的经典类新式类 要知道经典类和新式类的区别,首先要掌握类的继承 类的继承的一个优点就是减少代码冗余 广度优先和深度优先,这主要是在多类继承的时候会使用到 经典类和新式类的主要区别就是类 ...

  10. linux上实现jmeter分布式压力测试(转)

    摘要:最近根据公司工作的需求,学习了一些压力测试的知识,目前,公司使用的是jmeter进行压力测试.下面就记录下近期的学习.我想将这次的博文分成三个部分:1.开始测试前的准备(测试环境的搭建)2.在一 ...