常用存储器介绍

图一
注意:"易失/非易失"是指存储器断电后,它存储的数据内容是否会丢失的特性。

(一)RAM和ROM

1.1 RAM

RAM即随机存储器,它是指存储器中的数据被读入或者写入与信息所在位置无关,时间都是相同的

1.1.1 DRAM

DRAM即动态随机存储器,它以电容的电荷表示数据,由于电容的充放电效应,所以存储数据需要定时刷新才能保证数据的正确性。它的优点是集成密度远高于SRAM,功耗低,价格也低;缺点是因需要舒心而使外围电路复杂,速度较SRAM慢,但是比任何ROM都快。尽管如此,由于DRAM[1]存储单元的结构简单,所用元件少,集成度高,功耗低,所以目前已成为大容量RAM的主流产品。
图二
根据DRAM的通信方式又可以分为同步和异步,这两种方式根据是否需要时钟信号来区分,由于同步的通信更快,所以同步的DRAM使用更广泛,同步的DRAM又被称为SDRAM
为了进一步提高SDRAM的通信速度,又设计了DDR SDRAM,双倍速率SDRAM,它是在SDRAM上的一种改进,至于DDRII和DDRIII他们的通信方式并没有区别,主要是通信的同步时钟的频率提高了。
小知识:当前计算机的内存条是DDRIII SDRAM

特性DRAMSRAM
存取速度较慢较快
集成度较高较低
生产成本较低较高
是否需要刷新
1.1.2 SRAM

SRAM静态随机存储器,这种存储器是以锁存器的形式存储数据,由于不需要定时刷新充电,所以称为静态的。它的优点是速度快、使用简单、不需要刷新、静态功耗极低,常用作缓存;缺点就是元件较多、集成密度低、运行功耗大,价格高

PSRAM:

基本原理:PSRAM就是伪SRAM,内部的内存颗粒跟SDRAM的颗粒相似,但外部的接口跟SRAM相似,不需要SDRAM那样复杂的控制器和刷新机制,PSRAM的接口跟SRAM的接口是一样的。PSRAM主要应用于手机,电子词典,掌上电脑,PDA,PMP.MP3/4,GPS接收器等消费电子产品与SRAM(采用6T的技术)相比,PSRAM采用的是1T+1C的技术,所以在体积上更小,同时,PSRAM的I/O接口与SRAM相同.在容量上,目前有4MB,8MB,16MB,32MB,64MB和128MB。比较于SDRAM,PSRAM的功耗要低很多。所以对于要求有一定缓存容量的很多便携式产品是一个理想的选择。

1.2 ROM

ROM即只读存储器,一般用于指现代非易失性存储半导体

  1. MASK ROM
    MASK(掩膜) ROM就是正宗的"Read Only Memory",存储在它内部的数据是在出厂时使用特殊工艺固化的,生产后就不可修改,其主要优势是大批量生产时成本低。当前在生产量大,数据不需要修改的场合,还有应用。
  2. OTPROM
    OTPROM(One Time Programable ROM)是一次可编程存储器。这种存储器出厂时内部并没有资料,用户可以使用专用的编程器将自己的资料写入,但只能写入一次,被写入过后,它的内容也不可再修改。在NXP公司生产的控制器芯片中常使用OTPROM来存储密钥;STM32F429系列的芯片内部也包含有一部分的OTPROM空间。
  3. EPROM
    EPROM(Erasable Programmable ROM)是可重复擦写的存储器,它解决了PROM芯片只能写入一次的问题。这种存储器使用紫外线照射芯片内部擦除数据,擦除和写入都要专用的设备。现在这种存储器基本淘汰,被EEPROM取代。
  4. EEPROM
    EEPROM(Electrically Erasable Programmable ROM)是电可擦除存储器。EEPROM可以重复擦写,它的擦除和写入都是直接使用电路控制,不需要再使用外部设备来擦写。而且可以按字节为单位修改数据,无需整个芯片擦除。现在主要使用的ROM芯片都是EEPROM。

(二)NOR FLASH 和NAND FLASH的区别

FLASH 又称为闪存,也有人称为FLASH ROM,它们的容量一般较大,在擦除时一般以多字节为单位。 相同点:

  • Nor flash 和nand flash都是在写入之前进行擦除的

区别:
主要在于Nor flash 的地址线和数据线分开,它可以按字节读取数据,符合CPU的指令译码执行要求, 所以NOR FLASH 可以运行代码,即CPU给NOR FLASH 一个地址,NOR FLASH 就能向CPU返回一个数据让CPU执行,不需要额外的操作,NOR的特点是应用简单、无需专门的接口电路、传输效率高。
而NAND FLASH 数据线和地址线共用,只能按块读写数据,即使存储了代码指令,它也无法返回某数据的地址,所以不能运行程序,NAND FLASH结构能提供极高的单元密度,可以达到高存储密度,应用NAND的困难在于flash的管理和需要特殊的系统接口。
由于两种FLASH存储器特性的差异,NOR FLASH一般应用在代码存储的场合,如嵌入式控制器内部的程序存储空间。而NAND FLASH一般应用在大数据量存储的场合,包括SD卡、U盘以及固态硬盘等,都是NAND FLASH类型的。

特性NOR FLASHNAND FLASH
同容量存储器成本较贵较便宜
集成度较低较高
介质类型随机存储连续存储
地址线和数据线独立分开公用
擦除单元以扇区为单位以块为单位
读写单元可以基于字节读写必须以块为单位读写
读取速度较高较低
写入速度较低较高
坏块较少较多
是否支持XIP支持不支持

(三)emmc

eMMC (Embedded Multi Media Card)是MMC协会订立、主要针对手机或平板电脑等产品的内嵌式存储器标准规格。eMMC在封装中集成了一个控制器,提供标准接口并管理闪存,使得手机厂商就能专注于产品开发的其它部分,并缩短向市场推出产品的时间。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/531439.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TortoiseGit与github实现项目的上传

1. 下载并安装相关软件 这里主要涉及的软件包括msysgit和TortoiseGit。 msysgit的下载地址:http://msysgit.googlecode.com/files/Git-1.7.4-preview20110204.exe TortoiseGit的下载地址:http://code.google.com/p/tortoisegit/downloads/list&#xff0…

uboot启动流程分析

Uboot的启动流程分为两个阶段,第一阶段主要是汇编语言编写,第二阶段是C语言编写,每个阶段所做的工作不同,这篇文章分析的是uboot 2010版,以tiny4412的uboot为例。 启动过程涉及的主要文件: arch/arm/cpu/a…

(二)linux内核镜像制作

(一)目的 在进行嵌入式开发的时候,我们往往会先在电脑上安装交叉编译器,然后编译目标板上的代码,最后把代码下载到电路板中,嵌入式系统组成包括:BootLoaderkernelfilesystemapplication&#x…

js+css实现骰子的随机转动

网上找的例子&#xff0c;然后增添了新的东西&#xff0c;在这里展示一下...... 效果图预览&#xff1a; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html x…

linux的mount和umount指令使用

mount即挂在操作&#xff0c;磁盘或分区创建好文件系统后需要挂载到一个目录&#xff08;一般mount在/mnt下&#xff09;才能使 用&#xff0c;和winsdows不同的是在linux下需要手动挂载。 用法&#xff1a;mount [-t文件系统] [选项] 设备目录注意&#xff1a;[ ]为可选项…

斐波那契的四种求法

首先看一下斐波那契的矩阵表示&#xff1a; 数列的递推公式为&#xff1a;f(1)1&#xff0c;f(2)2&#xff0c;f(n)f(n-1)f(n-2)(n>3) 用矩阵表示为&#xff1a; 进一步&#xff0c;可以得出直接推导公式&#xff1a; #include<iostream> #include<cstring> #i…

利用STM32制作红外测温仪之软件设计(MLX90614)

目录&#xff08;一&#xff09;工程目录如图&#xff1a;&#xff08;二&#xff09;main函数实现&#xff1a;&#xff08;三&#xff09;MLX90614测温代码实现前面介绍了使用 STM32制作红外测温仪硬件设计,今天来说一下软件的实现&#xff0c;具体的程序&#xff0c;完整的k…

Windows下使用Dev-C++开发基于pthread.h的多线程程序

一、下载Windows版本的pthread 目前最新版本是&#xff1a;pthreads-w32-2-9-1-release.zip。 二、解压pthread到指定目录 我选择的目录是&#xff1a;E:\DEV-CPP\Pthread完成后&#xff0c;该目录会多出三个文件夹&#xff1a;Pre-built.2&#xff0c;pthreads.2&#xff0c;Q…

(三)linux之根文件系统的制作

&#xff08;一&#xff09;准备工作 Ubuntu 16.04系统linux-3.5内核:linux-3.5-20190929交叉编译工具arm-linux-gcc-4.5.1-v6-vfp-20120301.rarbusybox源码包&#xff1a;busybox-1.21.1.rar &#xff08;二&#xff09;工具介绍 &#xff08;1&#xff09;交叉编译器 这个…

(四)Linux内核模块化编程

目录&#xff08;一&#xff09;模块化编程简介&#xff08;二&#xff09;安装卸载模块命令.&#xff08;三&#xff09;将自定义功能添加到内核三种方法&#xff08;1&#xff09;修改Kconfig和Makefile&#xff08;2&#xff09;直接修改功能对应目录下的Makefile文件&#…

基于X86平台的PC机通过网络发送一个int(32位)整数的字节顺序

1.字节顺序  字节顺序是指占内存多于一个字节类型的数据在内存中的存放顺序&#xff0c;通常有小端、大端两种字节顺序。小端字节序指低字节数据存放在内存低地址处&#xff0c;高字节数据存放在内存高地址处&#xff1b;大端字节序是高字节数据存放在低地址处&#xff0c;低字…

codeforces Round #320 (Div. 2) C. A Problem about Polyline(数学) D. Or Game(暴力,数学)

解题思路&#xff1a;就是求数 n 对应的二进制数中有多少个 1 #include <iostream> #include<cstdio> using namespace std; int main(){int n;cin>>n;int ans 0; // while(n){//这也是一种好的方法 // n n&(n-1); // ans; // }while(n…

(五)Linux之设备驱动模型

目录&#xff08;一&#xff09;Linux内核驱动简介&#xff08;二&#xff09;杂项设备驱动模型&#xff08;1&#xff09;相关接口&#xff08;2&#xff09;杂项设备注册过程&#xff08;三&#xff09;早期经典字符设备驱动模型&#xff08;1&#xff09;相关接口&#xff0…

(六)Linux之设备驱动模型(续)

前面我们学习了杂项设备驱动模型、早期经典字符设备驱动模型,这一小节来讲解Linux中的标准字符设备驱动。 目录&#xff08;一&#xff09;为什么引入标准字符设备驱动模型&#xff08;二&#xff09;相关接口&#xff08;三&#xff09;注册流程&#xff08;四&#xff09;程序…

(八)linux驱动之ioctl的使用

这篇文章给大家讲解一下ioctl的简单使用&#xff0c;关于ioctl更详细的教程后面有机会单独写出来 &#xff08;一&#xff09;什么是ioctl ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理&#xff0c;就是对设备的一些特性进行控制&#xff0c;例…

网络爬虫(1)

参考&#xff1a;http://www.cnblogs.com/dongkuo/p/4851735.html算法分析我们现在从需求中提取关键词来逐步分析问题。 首先是“种子节点”。它就是一个或多个在爬虫程序运行前手动给出的URL&#xff08;网址&#xff09;&#xff0c;爬虫正是下载并解析这些种子URL指向的页面…

(十)Linux之等待队列

&#xff08;一&#xff09;阻塞和非阻塞 阻塞&#xff1a;执行设备操作时&#xff0c;若不能获得资源&#xff0c;则挂起进程进入休眠直到满足可操作的条件后再操作。 非阻塞&#xff1a;进程在不能进行设备操作时&#xff0c;并不挂起&#xff0c;它要么放弃&#xff0c;要么…

校验码(海明校验,CRC冗余校验,奇偶校验)

循环冗余校验码 CRC码利用生成多项式为k个数据位产生r个校验位进行编码,其编码长度为nkr所以又称 (n,k)码. CRC码广泛应用于数据通信领域和磁介质存储系统中. CRC理论非常复杂,一般书就给个例题,讲讲方法.现在简单介绍下它的原理: 在k位信息码后接r位校验码,对于一个给定的(n,k…

(十二)linux内核定时器

目录&#xff08;一&#xff09;内核定时器介绍&#xff08;二&#xff09;内核定时器相关接口&#xff08;三&#xff09;使用步骤&#xff08;四&#xff09;实例代码&#xff08;一&#xff09;内核定时器介绍 内核定时器并不是用来简单的定时操作&#xff0c;而是在定时时…

java Proxy(代理机制)

我们知道Spring主要有两大思想&#xff0c;一个是IoC&#xff0c;另一个就是AOP&#xff0c;对于IoC&#xff0c;依赖注入就不用多说了&#xff0c;而对于Spring的核心AOP来说&#xff0c;我们不但要知道怎么通过AOP来满足的我们的功能&#xff0c;我们更需要学习的是其底层是怎…