文章目录

  • 前言
  • 一、ROM、RAM
    • 1、ROM(Read Only Memory)
    • 2、RAM(Random Access Memory)随机存储器
  • 二、SRAM、DRAM、SDRAM
    • 1、SRAM(static RAM)
    • 2、DRAM(dynamic RAM)
    • 3、SDRAM
  • 三、FLASH
    • 1、NOR FLASH
    • 2、NAND FLASH
  • 四、Linux 启动方式分析
    • 1、从 NOR Flash(或SPI Flash)启动
    • 2、从 NAND Flash 启动

前言

在 Linux 底层的学习/工作常常会遇到关于各种物理地址之类的,但是其分别隶属于不同的ROM/RAM/变形中,所以搞懂其相关的区别使得针对整个启动流程及运行的过程等更加清晰,甚至分析代码时也更加容易理解。


一、ROM、RAM

1、ROM(Read Only Memory)

ROM是只读存储器,掉电时可以保存数据。
只读存储器,在处理器运行时,只能从中读取数据,不能向里面写数据。特点是掉电不丢失数据,在单片机中主要用来存储代码和常量等内容。

ROM种类:
ROM也有很多种,PROM是可编程的ROM,PROM和EPROM(可擦除可编程ROM)两者区别是,PROM是一次性的,也就是软件灌入后无法修改,这种是早期的产品,现在已经不可能使用了;而EPROM是通过紫外光的照射擦除原先的程序,是一种通用的存储器。另外一种EEPROM是通过电子擦出,价格很高,写入时间很长,写入很慢。
举个例子,手机软件一般放在EEPROM中,我们打电话,有些最后拨打的号码,暂时是存在SRAM中的,不是马上写入通讯记录(通话记录保存在EEPROM中),因为当时有很重要工作(通话)要做,如果写入,漫长的等待是让用户忍无可忍的。

2、RAM(Random Access Memory)随机存储器

可读可写,特点是掉电会丢失数据。
RAM又分为SRAM(Static RAM)和DRAM(Dynamic RAM),SRAM是读写速度非常快的存储设备,但价格昂贵。DRAM比ROM速度快,但是比SRAM速度慢,价格低于SRAM,计算机内存使用的就是DRAM。


二、SRAM、DRAM、SDRAM

1、SRAM(static RAM)

静态RAM(Static RAM/SRAM),全称是 Static Random Access Memory,即静态随机存储器,SRAM速度非常快,是目前读写最快的存储设备了;但它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲;掉电数据消失,持续供电时数据一直存在,不需要动态刷新。

2、DRAM(dynamic RAM)

动态RAM(Dynamic RAM/DRAM),全称是Dynamic Random Access Memory,即动态随机存储器,最为常见的系统内存。DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的;掉电数据丢失,供电时需要刷新电路(因为栅极会漏电)


3、SDRAM

SDRAM(同步动态随机存储器)比DRAM多一个同步时钟。

DDR,全称为 DDR SDRAM,这种改进型的RAM和SDRAM是基本一样的,不同之处在于:它可以在一个时钟读写两次数据,这样就使得数据传输速度加倍了。这是目前电脑中用得最多的内存。在很多高端的显卡上,也配备了高速DDR RAM来提高带宽,这可以大幅度提高3D加速卡的像素渲染能力。

三、FLASH

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

目前Flash主要有NOR FlashNAND FLASH

1、NOR FLASH

NOR Flash的读取和我们常见的SDRAM的读取一样(NOR Flash带有SRAM接口),有足够的地址引脚来寻址,可以很容易的存取其内部的每一个字节,因此用户可以直接运行装载在NOR Flash里面的代码,这样可以减少SRAM的容量从而节约成本。

2、NAND FLASH

NAND Flash没有采取内存的随机读取技术,它的读取是以一次读取一的形式来进行的,通常是一次读取512个字节,采用这种技术的Flash比较廉价。用户不能直接运行NAND Flash上的代码,因此好多使用NAND Flash的开发板除了使用NAND Flah以外,还加上了一块小的NOR Flash来运行启动代码。

注意:emmc,全称为embeded MultiMedia Card,是一种嵌入式非易失性存储器系统,由NAND Flash 和 NAND Flash控制器组成,以BGA方式封装在一款chip上(可以理解为是NAND Flash

四、Linux 启动方式分析

说是Linux启动方式,其实更恰当的叫法是Bootloader启动方式,主要有从NOR Flash 启动和NAND Flash 启动。Bootloader就是一段裸机程序,它在系统上电时开始运行,初始化硬件设备,准备好软件环境,最后引导Linux内核启动。

1、从 NOR Flash(或SPI Flash)启动

NOR Flash 里面存储着Bootloader程序,因此,处理器直接运行 NOR Flash 内的 BootLoader 程序,且将 NAND Flash 的Linux系统代码(一般是在NAND Flash的4k之后,前4K存放着BootLoader程序)拷贝到DDR内存,最后引导Linux内核从DDR中启动

2、从 NAND Flash 启动

NAND Flash 中0~4K存放着Bootloader程序4k之后存放着Linux系统代码,因此从NAND Flash启动指的是处理器从NAND Flash的 0 地址读取Bootloader程序到SRAM中,然后从SRAM中运行BootLoader,且将 NAND Flash 的Linux系统代码拷贝到DDR内存,最后引导Linux内核从DDR中启动

注意:那个4K并不是固定的,会根据不同情况而设置不一样的值。

ROM、RAM、SRAM、DRAM、Flash、SDRAM区别相关推荐

  1. 学习笔记——SRAM、DRAM、SDRAM区别

    SRAM.DRAM.SDRAM区别 RAM:即随机存储器或者易失性存储器,因为断电后就失去保存的数据. RAM分为SRAM和DRAM:   SRAM(synchronous random-access ...

  2. sr锁存器 数电_随机存取存储器 RAM || SRAM || DRAM || 数电

    随机存取存储器 RAM || SRAM || DRAM || 数电 随机存取存储器,英文名Random Access Memory,简称RAM. 特点 随机存取(Random Access):存储器中 ...

  3. 计算机flash ram是什么意思啊,ROM、SDRAM、RAM、DRAM、SRAM、FLASH的区别

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

  4. 什么是ROM、RAM、DRAM、SRAM和FLASH的区别

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

  5. NAND Flash、NOR Flash、ROM、RAM、DRAM、SRAM和FLASH的区别解析

    一.ROM介绍 ROM 是 ROM image(只读内存镜像)的简称,常用于手机定制系统玩家的圈子中. 一般手机刷机的过程,就是将只读内存镜像(ROM image)写入只读内存(ROM)的过程. 常见 ...

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

    ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ 分享一个大神朋友的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到 ...

  7. 简介nandflash、norflash、ram、sram、dram、rom、eeprom、flash的区别

    1.nandflash     Nandflash是IO设备,数据.地址.控制线都是共用的,需要软件区控制读取时序, 所以不能像nor flash.内存一样随机访问,不能EIP(片上运行),因此不能直 ...

  8. STM32F429入门(十九):ROM RAM SRAM FLASH

    存储器是计算机结构的重要组成部分.存储器是用来存储程序代码和数据的部件,有 了存储器计算机才具有记忆功能. 一.存储器的种类 存储器按其存储介质特性主要分为"易失性存储器"和&qu ...

  9. 计算机flash ram是什么意思,ROM、RAM、CPU、CACHE、FLASH的区别

    内存一般采用半导体存储单元,包括随机存储器(RAM),只读存储器(ROM),以及高速缓存(CACHE).只不过因为RAM是其中最重要的存储器,所以通常所说的内存即指电脑系统中的RAM. RAM要求每时 ...

  10. ROM、RAM、Flash的区别

    关键的一些名词: PROM,EPROM,EEPROM,SPD,SRAM,DRAM,RDRAM,SDRAM,DDRSDRAM,NORFlash,NADNFlash,HDD,SSD,SLC,MLC,TLC ...

最新文章

  1. 动态编译MySQL plugin
  2. web.xml 中的filter
  3. .NET Core 实现基于Websocket的在线聊天室
  4. Bootstrap进度条堆叠
  5. Python数据分析学习笔记05:用户画像
  6. 属猴的人2021年运势预测
  7. python setup.py卸载
  8. 【Spark】Spark是什么
  9. docker容器启动失败解决办法
  10. ALOS 12.5米精度DEM数据下载与处理
  11. Quartus-ll 采用三种方法实现 D 触发器功能仿真及时序波形仿真详细步骤
  12. [Noi2015]小园丁和老司机
  13. Word中设置三栏式表格
  14. 开源项目_C语言学生个人信息管理系统课程设计_chenjie的博客
  15. 如何用 Roam Research 备课?
  16. 数据可视化分析平台开源方案集锦
  17. 记录一下从Windows到Mac的迁移
  18. 欧美是怎么做创新的?
  19. 如何配置TeXstudio+SumatraPDF+Texlive
  20. 回到过去看未来(1)

热门文章

  1. 酷安App V2 Token(X-App-Token)逆向分析(最新版12.4.2)
  2. python爬女神_python实现爬取30页百度校园女神图片!
  3. 移动云物联网预研及阿里云开发对比分析
  4. 安信可平头哥TG-12F-kit 模块(TG7100c) 接入阿里云生活平台
  5. 【Linux】使用kill命令杀不死进程
  6. 项目打包打的是什么包_表情||我问群友打工人是什么梗,他们居然用表情包回复我...
  7. 哆啦安全|知识星球上线啦(优惠券活动即将到期)
  8. Docker学习笔记5——DockerFile(幕布笔记)
  9. 学人工智能用什么笔记本电脑好?学AI用啥电脑?
  10. 慧荣SM3271AD芯片U盘量产工具V18.07.23.22 R0727