当前位置:网站首页>【嵌入式基础】内存(Cache,RAM,ROM,Flash)
【嵌入式基础】内存(Cache,RAM,ROM,Flash)
2022-06-27 23:11:00 【大白嵌入式】
1. 前言
最近在看赛普拉斯的一款芯片CYW8019规格书,里面有好几个内存的关键字(如下图的右上方),本文将聊它们的含义和作用。
2. Cache
Cache是集成在CPU内部的极高速缓存。一般来讲,它的访问速度几乎可以媲美CPU。CPU在访问Cache的时候几乎不会浪费多少时间,不过,速度的提升是用容量为代价的,容量很小。
为什么需要Cache ?当CPU访问内存的时候,并不是立刻就能访问到它想访问的内存,而是有个“WaitState”的过程。那么,把常用的数据放在Cache中,CPU在访问的时候直接访问Cache就行了,不用耗费时间去访问内存了。
在读内存的时候,CPU先读Cache,看看有没有想要的数据的“副本”,有的话直接读取,没有的话在去读内存。写内存时,CPU先将数据写在Cache中,Cache写满后更新到内存中,同时清空Cache。
3. RAM
RAM(Random Access Memory)随机存储器。内容可按需随意存取,且存取的速度与存储单元的位置无关,掉电丢数据。
按照存储信息的不同,分为静态堆积存储器(Static RAM,SRAM)和动态随机存储器(Danamic RAM,DRAM)。
SRAM 不需要刷新电路既能保存数据;DRAM每隔一段时间,需要刷新充电一次,否则内部的数据会消失。
SRAM具有较高性能,但是集成度低,既相同容量的DRAM内存可设计成较小的体积,而SRAM却需要很大的体积,且功耗较高。
SRAM速度非常快,是目前读写最快的存储设备了,而且不需要刷新。缺点是价格比较贵,所以只在要求很苛刻的地方使用,比如CPU的一级缓存,二级缓存。
DRAM保留数据的时间很短,速度也比SRAM慢,不过还是比任何的ROM都要快,价格上比SRAM便宜很多,计算机内存就是DRAM的。
SDRAM(Synchronous DRAM)即同步动态随机存储器。同步是指工作需要同步时钟,内部命令的发送与数据传输都已它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性一次存储,而是自由指定地址进行数据读取。
DDR RAM(Date-Rate RAM)也称作DDR SDRAM,这种改进型的RAM和SDRAM基本是一样的,不同之处在于它可以在一个时钟读取两次数据,这样就使得传输速度加倍了。这是目前电脑用得最多的内存,而且它有成本优势。
还有一种是PSAM,Pseudo static random access memory,指的是伪静态随机存储器。内部的内存颗粒跟SDRAM的颗粒相似,但外部的接口跟SRAM相似,不需要SDRAM那样负责的控制器和刷新机制,PSRAM的接口跟SRAM的接口是一样的。
4. ROM
ROM(Read-Only Memory)只读存储器,是一种只能读出事先存储的数据的固态半导体存储器 ,掉电不丢数据。ROM也有很多种,PROM是可编程的ROM,PROM和EPROM(可擦除可编程ROM)两者区别是:PROM是一次性的,也就是软件烧录后,就无法修改了,这是早期产品了,现在已经不可能使用了;而EPROM是通过紫外线的照射擦除原先的程序,是一种通用的存储器。
还有一种EEPROM是通过电子擦除,价格很高,写入时间很长。手机软件一般放在EEPROM中。
5. Falsh
闪存,是一种长寿命的非易失性(在断电情况下不丢数据)的存储器,数据删除不是以单个字节为单位而是以固定的区块为单位(注意:NOR Flash为字节存储),区块一般为256K到20MB。
Flash主要有两种:NOR Flash 和 NAND Flash。
任务Flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除操作。NAND Flash擦除十分简单,而NOR Flash则要求在进行擦除前要将目标块内所有的位都写1。
5.1 NOR Flash
NOR Flash的读取和我们常见的SDRAM的读取是一样的,用户可以直接运行装载在NOR Flash里面的代码,这样可以减少SRAM的容量从而节约成本。
一般小容量的用NOR Flash,因为其读取速度快,多用来存储操作系统等重要信息。
5.2 NAND Flash
NAND Flash没有采取内存的随机读取技术,它的读取是以一次读取一块的形式来进行的,通常是一次读取512个字节,采用这种技术的Flash比较廉价,在NAND Flash上不能运行代码。
一般大容量的用NAND Flash。
5.3 NOR Flash和NAND Flash性能对比
- NOR器件擦除时是以64 ~ 128KB的块进行的,执行一个写入/擦除操作的时间为5秒;NAND器件是以8 ~ 32KB的块进行的,执行相同的操作最多只需要4ms。
- NOR的读速度比NAND要稍快些。
- NOR可以在片内执行程序。
- NAND的写入速度要比NOR快很多。
- 大多数写入操作需要先将进行擦除操作,NOR要求在进行擦除前先将目标块内所有的位写为1。
- NAND的擦除单元更小,相应的擦除电路更少。
5.4 NOR Flash和NAND Flash接口对比
- NOR Flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易存取其内部的每个字节。
- NAND Flash使用复杂的I/O来串行地存取数据,各个产品或厂商的方法可能各个不相同。8个引脚用来传送控制、地址和数据信息。
6. 总结
作为合格的嵌入式工程师,内存的概念及应用场景是必需了解的知识点。了解内存的概念,可以更方便得熟悉整个系统的架构。
边栏推荐
- 攻击队攻击方式复盘总结
- 单晶炉导电滑环的应用范围和作用是什么
- Is the stock investment exchange group safe? Is it reliable to open an account for free?
- Which securities speculation account opening commission is the cheapest and safest
- How to build an e-commerce platform at low cost
- Is it safe to open an account online now? Novice is just on the road, ask for the answer
- Web3 技术初体验以及相关学习资料
- 国外LEAD赚钱的一些习惯
- 大尺寸导电滑环市场应用强度如何
- #796 Div.2 F. Sanae and Giant Robot set *
猜你喜欢

What is digitalization? What is digital transformation? Why do enterprises choose digital transformation?

给女朋友看的消息中间件

Squid proxy server (Web cache layer for cache acceleration)

.mp4视频测试地址

Huawei partners and Developers Conference 2022 | Kirin software cooperates with Huawei to jointly build the computing industry and create a digital intelligence future

Deploy a mongodb single node server locally, enable auth authentication and enable oplog

MySQL - function

Flutter SliverAppBar全解析,你要的效果都在这了!

零基础多图详解图神经网络

electron窗口背景透明无边框(可用于启动页面)
随机推荐
How to build an e-commerce platform at low cost
完全二叉树的节点个数[非O(n)求法 -> 抽象二分]
The number of nodes of a complete binary tree [non-O (n) solution > Abstract dichotomy]
The contents of the latex table are left, middle and right
AI+临床试验患者招募|Massive Bio完成900万美元A轮融资
The research group of Xuyong and duanwenhui of Tsinghua University has developed an efficient and accurate first principles electronic structure deep learning method and program
网页鼠标点击特效案例收集(直播间红心同理)
網頁鼠標點擊特效案例收集(直播間紅心同理)
MySQL十种锁,一篇文章带你全解析
Golang monkeys eat peaches and ask for the number of peaches on the first day
章凡:飞猪基于因果推断技术的广告投后归因
PostgreSQL设置自增字段
【无标题】
MapReduce elementary programming practice
单晶炉导电滑环的应用范围和作用是什么
golang 猴子吃桃子,求第一天桃子的数量
[description] solution to JMeter garbled code
#796 Div.2 C. Manipulating History 思维
现在网上开股票账户安全吗?选择上市券商,最快8分钟开户成功
Solon 1.8.3 发布,云原生微服务开发框架