一位嵌入式er关于嵌入式系统中RAM和ROM的疑惑及想法

2021-06-01

而嵌入式系统中的RAM,一般也就是和PC上的(DDR)SDRAM一样,掉电丢失。 


嵌入式系统特别是手机中ROM的构成,可能是NorFlash也可能是NandFlash,速度较快,但是掉电不丢失。


而之所以之前疑惑地方在于, 


一、现在很多时候手机都标榜自己的ROM很大。而大多数情况下,在PC上厂商都是标榜自己产品的RAM很大,从而造成了误解。 


原因在于:这里的嵌入式上的ROM类似于PC上的硬盘,但是比硬盘读写速度应该要快一些。嵌入式上的ROM造价单位上肯定比硬盘要贵的多,如果有更多的ROM空间,即可以存储更多的程序代码,所以嵌入式厂商才会不断提升并提供不同的ROM的空间,比如苹果的8G,16G,32G。


二、如果是ROM只是存储的话,为什么又有些说法是程序可以直接在ROM上运行?ROM不是只读吗? 


原因在于ROM上说的可执行,是指cpu可以直接把ROM中的NorFlash部分的程序代码当做RAM中程序代码段,不需要载入RAM中才能让cpu直接读取。但是中间的处理数据和最终结果数据都是存放在RAM中的。这里涉及到一个芯片内执行的概念即XIP。


在NOR器件上运行代码不需要任何的软件支持即XIP,在NAND器件上进行同样操作时,通常需要驱动程序,也就是内存技术驱动程序(MTD),NAND和NOR器件在进行写入和擦除操作时都需要MTD。 


即norflash在读操作上,是不需要MTD的,但是擦除和写操作还是需要MTD。对比之下,nanflash虽然有擦除和写操作快的优势,但是其读写及擦除操作都全部依赖于MTD,原因在于NAND器件使用复杂的I/O口来串行地存取数据,又比norflash更多的要注意坏块。 


XIP的示意图如下: 



关于XIP,首先需要了解的是嵌入式系统中代码的执行方式主要有3种,XIP是其中一种:


①完全映射(fully shadowed)。嵌入式系统程序运行时,将所有的代码从非易失存储器(Flash、ROM等)复制到RAM中运行。


②按需分页(demand paging)。只复制部分代码到RAM中。这种方法对RAM中的页进行导入/导出管理,如果访问位于虚存中但不在物理RAM中会产生页错误,这时才将代码和数据映射到RAM中。


③ eXecute In Place (XIP)。在系统启动时,不将代码复制到RAM,而是直接在非易失性存储位置执行。RAM中只存放需要不断变化的数据部分,如图1所示。 
 


如果非易失性存储器的读取速度与RAM相近,则XIP可以节省复制和解压的时间。NOR Flash和ROM的读取速度比较快(约100 ns),适合XIP;而NAND Flash的读操作是基于扇区的,速度相对很慢(μs级),因此不宜实现XIP系统。而NAND闪存写入速度比NOR快,更适合SND(存储和下载)系统。


三、为什么norflash可以实现XIP,而nandflash就不适合? 


(1)NAND器件中的坏块是随机分布的。以前也曾有过消除坏块的努力,但发现成品率太低,代价太高,根本不划算。 


NAND器件需要对介质进行初始化扫描以发现坏块,并将坏块标记为不可用。在已制成的器件中,如果通过可靠的方法不能进行这项处理,将导致高故障率。 


(2)NOR flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。 


NAND器件使用复杂的I/O口来串行地存取数据,各个产品或厂商的方法可能各不相同。8个引脚用来传送控制、地址和数据信息。


由于需要I/O接口,NAND要复杂得多。各种NAND器件的存取方法因厂家而异。在使用NAND器件时,必须先写入驱动程序,才能继续执行其他操作。向NAND器件写入信息需要相当的技巧,因为设计师绝不能向坏块写入,这就意味着在NAND器件上自始至终都必须进行虚拟映射。

 

相关文章

内存不足?先分清ROM与RAM再清理

2021-06-01
128GB,学名ROM只读存储器,Read only Memory,不能像RAM一样可以随时读和写.它只允许在生产出来之后有一次写的机会,数...

ROM RAM工作原理及使用方法1

2021-06-01

手机RAM、ROM和储存卡的那些事

2021-06-01
很多用户对于手机的RAM、ROM和储存卡这几个概念混淆不清.例如有的人会说他的手机“内存”是16G,有的用户则抱怨为什么16G...

经常看见却不知道含义,RAM、ROM、内存和闪存有什么区别?

2021-06-01

RAM和ROM对电视有哪些影响?

2021-06-01
相信大家肯定在不少电子产品的硬件配置中看到RAM和ROM,尤其在智能手机中见的比较多.随着硬件产品的发展,RAM与ROM逐渐...

一位嵌入式er关于嵌入式系统中RAM和ROM的疑惑及想法

2021-06-01
而嵌入式系统中的RAM,一般也就是和PC上的(DDR)SDRAM一样,掉电丢失. 嵌入式系统特别是手机中ROM的构成,可能是...

手机中的RAM和ROM,你懂得多少?

2021-06-01
RAM是什么?从概念上讲,RAM全称为Random Access Memory... ROM又是什么?ROM即是Read Only Memory的简写,一般称之为...

【手机知识】ROM与RAM的区别

2021-06-01
ROM是手机内存,容量一般为8G、16G、32G等;RAM是手机运行内存,容量一般为1G、2G、3G等.今天我们来看看ROM和RAM有...

冷知识科普:智能电视RAM和ROM傻傻分不清?

2021-06-01
购买智能电视或者盒子的时候,我们经常需要纠结RAM和ROM,这两个词看起来只有一个字母的差别,实质到底有什么区别?今天,...

单片机中的ROM、RAM和FLASH有什么作用?

2021-06-01
通通都存储在ROM中.RAM——程序运行中数据的随机存取(掉电后数据消失)整个程序中,所用到的需要被改写的量,都存储在...

随机推荐

2021年4月17日 斌仔华为/荣耀/小米/微软-笔记本报价

2021-04-25
¥5900(Go2 中国版)英特尔 4425Y 8GB 128GB ¥3450【Surface Book3 13.5寸 银白 无笔】(book3 中国版 )I5-1035G7 8G 256G 集成...

成为「迪拜世博茶」,竹叶青何以推动中国茶走向世界?

2021-04-12
迪拜世博茶 中国茶的新名片入选迪拜世博茶是竹叶青代表中国茶走出国门、进入全球市场的重要跳板.世博会总代表和馆长联合会全球...

早啊!新闻来了〔2016.07.09〕

2021-03-13
资料图:美军“萨德”系统在进行拦截导弹测试.就近日一些非洲... 工商总局公布《互联网广告管理暂行办法》,规定:①医疗、药品...

无需开通短信提醒,微信一键查看银行卡余额,一年可省一大笔钱!

2021-03-05
然而PDF文件是无法直接编辑的,此时可以用迅捷PDF转换器微信小程序将PDF转换为Word格式,它是一个操作简单、转换速度快的...

作品解读丨隐亭——“2020年成都公园城市国际花园节暨第三届北林国际花园建造节”二等奖建造作品

2021-03-04
looking for the way quietly brilliant convex glass falling blue flower sage. Like the twinkling stars, exquisite awn ushered in the last corner, ...

年度最爱的美食城市,依旧还是顺德

2020-09-14
论美食,联合国将它评为“世界美食之都”,知乎“为了吃值得一去的城市”投票榜单它稳居榜首;论景色,它不仅有山清水秀的清晖...

[Android]蟒蛇下载配合鲨鱼搜索,一个字:真香!

2019-08-31
《[Android]下载神器来咯,一键搜索,秒播磁力链接!》对了,分享君开通了视频号,这个视频号主要就是我通过短视频分享一些手机...

你的Java代码对JIT编译友好么?

2017-03-27
JIT编译器是Java虚拟机(以下简称JVM)中效率最高并且最重要的组成部分之一.但是很多的程序并没有充分利用JIT的高性能优化能...

华为 Java 开发编程军规,谁违反谁走

2015-11-04
做积极的人,而不是积极废人!源码精品专栏 原创 | Java 2020 超神之路,很肝~中文详细注释的开源项目RPC 框架 Dubbo 源码解析网...

皮皮灰讲DS:考研数据结构中关于时间复杂度的计算

2015-04-25
本文难度略高于考研数据结构中关于时间复杂度的计算,意在给各位考生对于时间复杂度建立更深层次的理解.考研中考察重点:选择...