《嵌入式工程师自我修养/C语言》系列—— 一文帮你快速区分常用存储器!
快速学习嵌入式开发其他基础知识?>>>>>>>>> 返回专栏总目录 《嵌入式工程师自我修养/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语言》<<<<<<<<<
今天的文章各种存储器区别_存储器有哪几种分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/85195.html