一文帮你快速区分常用存储器!

快速学习嵌入式开发其他基础知识?>>>>>>>>> 返回专栏总目录 《嵌入式工程师自我修养/C语言》<<<<<<<<<

一、前言

  按照存储器存储介质的特点(即存储器断电后,存储的数据内容是否会丢失的特性),将常用存储器分为两大类:

  • 易失性存储器(存取速度快,典型代表:内存
  • 非易失性存储器(可长期存储数据,典型代表:硬盘

接下来进一步区分这两类存储器。

二、易失性存储器

  RAM(Random Access Memory-随机存储器)一般用作计算机的内部存储器,所以又被称为内存。这类存储器支持随机访问,CPU可以随机到它的任意地址去读写数据,访问非常方便,但缺点是断电后数据会立即消失,无法永久保存。他可以分为动态随机存储器 DRAM 以及静态随机存储器 SRAM 。

2.1 动态随机存储器 DRAM

  DRAM 的存储单元以电容的电荷表示数据,有电荷表示 1,没有表示 0。但时间久了,表示 1 的电容会放电,表示 0 的电容也会吸收电荷,所以他需要定期刷新操作,即 Dynamic(动态的)。

  根据 DRAM 的通信方式(是否需要时钟信号),又分为同步和异步 DRAM。(同步通信的DRAM在时钟的上升沿表示有效数据)。有时钟的同步 DRAM 速度更快,应用更广,被称为 SDRAM。

  为了进一步提高 SDRAM 的速度,设计出了 DDR SDRAM(Double Data Rate SDRAM),在上升沿和下降沿各表示一位数据,即在时钟频率相同的前提下,相对于 SDRAM 在一个时钟周期内可以表示两位数据,速度翻倍。再有就是 DDRⅡ 和 DDRⅢ,他们于 DDR SDRAM 通信方式一样,只是通信的时钟频率提高了。(当前个人计算机多为 DDRⅢ 或者 DDR4

2.2 静态随机存储器 SRAM

  SRAM 的存储单元以锁存器存储数据,不需要定时刷新(断电还是会丢失数据的),即 Static(静态的)。异步SRAM用的比较广泛。

Tips📌:
  DRAM 结构简单,生产相同容量的存储器,DRAM 成本低,集成度高,但是他的存取速度不如 SRAM,所以在实际应用中,SRAM 一般用于CPU内部高速缓存(Cache),而外部扩展的内存一般用 DRAM

三、非易失性存储器

  种类较多,半导体类的有 ROM 和 Flash,其他的还有光盘、软盘、机械硬盘等。

3.1 ROM

类型特点
MASK ROM出厂固化,不可修改
OTPROM一次可编程存储器
EPROM可重复擦写的存储器;(基本被淘汰,被EEPROM代替)
EEPROM不再使用外部设备擦写,电可擦除存储器;可以按字节为单位修改数据,无需擦除整个芯片。

3.2 Flash

  Flash 全名为Flash Memory,我们平时一般叫“闪存”,是存储芯片的一种。它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还可以快速读取数据的优势,使数据不会因为断电而丢失。容量一般比 EEPROM 大得多,擦除时一般以多个字节为单位,根据存储单元电路不同分为 NOR Flash 和 NAND Flash。

  NOR Flash 和 NAND Flash 的共性是在数据写入前都需要进行擦除操作,而擦除操作一般是以 “ 扇区 / 块 ” 为单位的。NOR 和 NAND 特性的差别主要在于其内部 “ 地址 / 数据线 ” 是否分开。NOR 是分开的,可以按字节为单位读写数据,符合 CPU 指令译码要求,所以如果在其中存储的是代码,就具有立即执行的特性,而 NAND 数据和地址线公用,只能按 “块” 读写数据,所以其中存储代码的话,不具有立即执行的特性,即 XIP(eXecute In Place),就需要先把代码加载到 RAM 存储器上,再由 CPU 执行。所以,在功能上,可以认为 NOR 是一种断电后数据不丢失的 RAM,只是擦除单位于 RAM 有区别,且读写速度比 RAM 慢很多。

  综上,NOR Flash 一般应用在代码存储的场合,NAND Flash 一般应用在大数据量存储的场合,如 SD卡、U盘、固态硬盘等。

3.3 Flash和EMMC是什么关系?

  EMMC这个存储芯片其实也是属于Flash的一种,只不过这个芯片在封装中集成了一个控制器,提供标准接口并管理闪存,相当于Nand Flash+主控IC,即EMMC = Nand + 控制器 + 标准封装接口

  EMMC和Nand flash 之间的区别,主要有以下几点:

  • 在组成结构上,EMMC存储芯片简化了存储器的设计,将Nand Flash芯片和控制芯片封装在一起,省去其他零件、组件耗用电路板的面积,同时也让手机厂商或是计算机厂商在设计新产品时的便利性大大提高。而Nand Flash仅仅只是一块存储设备,若要进行数据传输的话,只能通过主机端的控制器连接好该芯片后进行操作。
  • 在可靠性方面,由于EMMC集成了控制器,它可以更好地管理数据传输和存储,从而提高了数据的可靠性。而普通的Flash存储器可能需要外部控制器来管理数据传输和存储,可能会出现一些不稳定性。
  • 存储容量方面,EMMC通常具有较小的存储容量,通常在几十GB到几百GB之间。而普通的Flash存储器可以有更大的存储容量,可以达到几TB。

  总的来说,EMMC相对于普通的Flash存储器来说,具有更好的性能和可靠性,适用于对数据传输速度和可靠性要求较高的场景。而Flash存储器则更适用于需要大容量存储的场景。

>>>>>>>>> 返回专栏总目录 《嵌入式工程师自我修养/C语言》<<<<<<<<<

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
### 回答1: Linux内核是一种开源的操作系统内核,是Linux操作系统的核心组成部分。它提供了操作系统与硬件之间的抽象层,负责管理系统的资源、调度任务、提供驱动程序等功能。 Linux内核采用分层的架构,包括硬件抽象层、系统调用层、进程管理层、文件系统层和网络层等。硬件抽象层负责将不同硬件设备的接口统一起来,使得上层的软件可以方便地与硬件进行通信。系统调用层提供了一组API供用户进程调用,如文件操作、网络通信等。进程管理层负责进程的创建、销毁以及调度等任务。文件系统层负责文件的管理和存储。网络层负责网络协议的实现和网络通信。 Linux内核的工作原理可以简单概括为以下几个关键步骤。首先,当一台计算机启动时,BIOS会加载内核映像到内存中,并执行启动代码。然后,内核初始化各种数据结构、驱动程序和关键服务。接下来,内核创建一个初始的用户空间进程,称为init进程。init进程是所有其他进程的祖先进程。在此之后,内核根据调度算法来决定哪个进程可以使用CPU,并依次执行。同时,内核会提供一个中断机制,以便处理硬件事件的优先级。 内核还提供了许多系统调用供用户进程调用,以实现对各种功能的访问。当用户进程需要操作文件、创建进程或进行网络通信时,会通过系统调用将请求传递给内核,由内核代表用户进程执行相应的操作。内核通过调度算法来分配CPU时间片,并通过虚拟内存管理来管理内存资源的分配和回收。 总而言之,Linux内核是一个高度可配置和模块化的操作系统内核,通过分层架构和系统调用机制实现了对硬件的抽象和对用户进程的管理。了解Linux内核的架构和工作原理,有助于深入理解Linux操作系统以及开发和调试相关应用程序。 ### 回答2: Linux是一种开源的操作系统内核,其设计目标是为了在不同的计算机硬件平台上提供高效的、稳定的和安全的操作系统服务。 Linux内核的架构可以分为三个主要部分:进程管理、内存管理和文件系统管理。 在进程管理方面,Linux内核使用了多任务处理技术,可以同时运行多个进程。每个进程都有独立的地址空间和资源,通过调度算法可以合理分配CPU时间片,优化系统的响应速度和资源利用率。 在内存管理方面,Linux内核使用了虚拟内存技术,将物理内存和逻辑内存进行了映射,使得每个进程都有独立的地址空间。当物理内存不足时,Linux内核会通过页面置换算法将暂时不使用的页写入磁盘交换空间,以释放物理内存供其他进程使用。 在文件系统管理方面,Linux内核支持多种文件系统,包括传统的ext3和ext4文件系统,以及现代的Btrfs和XFS文件系统。它负责文件的读写操作,以及文件的权限控制和磁盘空间的管理。 Linux内核的工作原理可以简单概括为以下几个步骤:首先,启动引导程序将内核加载到内存中,并进行初始化。然后,内核分配一部分内存作为内核空间,用于存放内核代码和数据结构。接着,内核根据系统的硬件配置进行设备的初始化和驱动程序的加载。之后,内核根据系统的启动参数和配置文件进行一系列的初始化工作,包括启动系统服务和加载用户程序。最后,内核进入主循环,不断地处理中断、调度进程、管理内存和文件系统,以提供稳定的操作系统服务。 总之,Linux内核是一个复杂而高效的软件系统,它通过进程管理、内存管理和文件系统管理等功能,实现了操作系统的基本功能。了解Linux内核的架构和工作原理,有助于我们更好地理解和使用这个优秀的开源操作系统。 ### 回答3: Linux内核是一个开放源代码的操作系统内核,由一个核心程序和一组通用的系统工具组成。它是Linux操作系统的核心,负责处理硬件设备、管理系统资源、实现进程管理、文件系统和网络功能等。 Linux内核的架构可以分为两个层次:用户空间和内核空间。用户空间包括用户应用程序,如图形界面、终端程序等,它们通过系统调用接口与内核进行通信。内核空间包括内核核心的数据结构和程序,用于管理和控制硬件资源。 Linux内核的工作原理可以概括为以下几个方面: 1. 进程管理:内核负责创建、调度和终止进程。它使用进程描述符(task_struct)来跟踪进程的状态和资源使用情况,并根据调度算法分配CPU时间片给不同的进程。 2. 内存管理:内核负责管理系统的物理内存和虚拟内存。物理内存管理包括内存分配和释放,虚拟内存管理包括页面置换和页面回写等策略,以优化内存的使用效率。 3. 文件系统:内核提供文件系统接口,管理文件和目录的创建、读写和删除等操作。它通过虚拟文件系统层(VFS)将不同的文件系统统一管理,如ext4、NTFS等。 4. 设备驱动:内核提供了访问硬件设备的接口,通过设备驱动程序与硬件交互。不同的硬件设备需要不同的驱动程序,如网卡、显卡、声卡等。 5. 网络功能:内核提供TCP/IP协议栈和网络设备驱动程序,用于实现网络通信功能。它提供网络连接的建立、数据传输和断开等功能,支持各种网络协议,如HTTP、FTP、SSH等。 总的来说,Linux内核是一个非常复杂且功能强大的软件,它负责管理计算机的各种资源和提供操作系统的各种功能。通过深入理解其架构和工作原理,我们可以更好地理解和使用Linux操作系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

车载系统攻城狮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值