目录

概述

一、ROM

1. 介绍

2. 硬件结构

二、RAM

1. 介绍

2. 硬件结构

三、DRAM

四、SRAM

五、DRAM与SRAM的区别

SRAM

DRAM

六、SDRAM

七、FLASH


概述

ROM、RAM是可读与可读可写存储器的一种框架,DRAM、SRAM、SDRAM是基于RAM框架的一种实现

一、ROM

1. 介绍

ROM全拼是Read Only Memory(只读存储器),它是只读的,一旦出厂不能在写,在出厂之前会预设好它的数据,并且它是掉电不丢失的,又称为固定存储器,它使用一些特定材料存储数据,这里以磁盘为列简单说一下原理:磁盘里面使用一些磁材料存储数据,当对内部导体进行导通时会导致内部磁场发生变化,会让内部的磁极根据电流的方向而产生改变,发生的改变不会因为没有电流而消失,这个改变是永久的,当下次来读时只需要将上次的变化转化成对应的电流变化,这个过程较为复杂,涉及到一些磁信号到电信号的转换,速度相对于较慢,同时如果受到一些磁场较大的一些设备影响会导致里面的磁信号混乱,也就是数据混乱。

2. 硬件结构

以下是ROM的结构图

其实从图中可以看到并没有可写方面的结构,并且它是以字(1字=2字节)为单位读写,可以看到里面有一个CS线,这个线是接到外部CPU上的,CPU通过CS线来告诉内存单元开始工作了,然后通过地址总线将地址发送过去,然后通过控制总线发送控制命令,在通过数据总线接收数据,ROM内部有一个小型的控制芯片用于处理CPU传递过来的控制指令,它在出厂时设置的代码就不支持写操作,同时也可以看到上面输出线路时没有设计输入线路

下图结构为译码过程,同时可以看到没有输入缓冲器也没有输入接口,所以它只支持输出

上面的NxM的意思是有N行,每行有M个单元,需要注意的是可以看到译码过程中前面的A0A1A2是地址的意思,内存里是以二维数组为布局,A0A1为列,A2为行号,后面的W0W1..是译码后的地址,它就相当于指向了一个二维地址的实际地址,如有一个二维数组:

short a[10][10];

实际上它在内存中是连续的

只是将连续的地址抽象化的进行了分列,这样方便管理,当我们访问a[1][0]时实际上就是对地址进行了偏移递增的处理,这样只是让我们更加方便的管理,ap[1][2]和a[12]没有区别,所以在给ROM地址时ROM要求高多少位是列,低多少位是行,最后它会进行译码成一个实际的地址,ROM会对内部的单元生成一个二位的数组存储这些地址,当解析出行与列之后直接以这个为下标索引就可以取出内存单元的实际地址,然后对这个分配在这个地址上的引脚进行操作。

它的每个单元以字为单位,也就是两个字节代表位宽是16位的,那么要求数据总线与地址总线最低16位,当然这个看ROM的设计,有的ROM可能以字节为单位。

二、RAM

1. 介绍

RAM全拼是Random Access Memory(随机存取存储器),它可读可写,它是掉电丢失的,它里面的数据是非初始化的,使用之前需要对它进行一次初始化,因为上电后无法确定RAM里的数据是什么,为了防止使用时出现随机数的情况需要对其进行初始化为0,它是使用电容作为存储单位,电容存储的电荷会随时间的流逝还消失,存储器需要每隔一段时间给存储器内部的电容器进行一行充电或者一直保持充电状态,会根据电容的电平值以及当前使用的电平标准来提升电容的电荷,它的访问速度较快,因为它只需要读取电容里的电荷值然后转化成对应的数字电路就可以了,其实当断电的一瞬间其实里面还是有数据的,只不过随着时间的流逝没有芯片给这些电容器充电了会导致里面的电荷随之流逝。

2. 硬件结构

可以看到结构与ROM类似,只不过多了一个输入的接口电路,其次它是掉电丢失的,它的存储单元在介绍里说过是以电容存储的,需要充电。

三、DRAM

DRAM全拼Dynamic Random Access Memory(动态随机存储器),它是基于RAM框架,有了上面的RAM框架的介绍,DRAM就比较容易理解了,DRAM使用MOS(金属氧化物半导体)电容存储电荷来储存信息,因此必须通过不停的给电容充电来维持信息,DRAM只是RAM的一种实现手段,所谓的动态就是指周期性的动态给里面的电容充一次电,它需要在更新前获取每个电容的电平信号是1还是0然后根据电路进行对每个电容的刷新,上面说过RAM是电容来存储数据的,DRAM保存电容的方式就是动态更新,当控制信号来时若此时正在更新电荷则等待电荷更新完成去处理控制信号

四、SRAM

SRAM全拼Static Random Access Memory(静态随机存储器),SRAM与DRAM类似,它不会动态式的充电,它使用晶体管的特性来存储数据,晶体管是可以根据电流来控制自身开合,利用这一特性可以通过外接线来获取晶体管状态来返回对应数字信号,这样就不需要实时更新只需要一直向它发送特定的电流就可以了

五、DRAM与SRAM的区别

SRAM

SRAM成本要高,尺寸要求较大,因为SRAM需要更多的引脚来存储数据,一个引脚用来接VDD电流控制晶体管开合,一个引脚来取状态并转化对应的数字信号等,但是它不需要动态时的刷新对时钟以及实时性没有太大的要求,所以功耗较低,其次它速度要快于DRAM因为它不需要动态刷新,在动态刷新期间DRAM是不能存取数据的,所以平时见到的CPU一级与二级缓存,用的就是它,它可以随时存取,价格较贵

DRAM

DRAM对尺寸要求较小,对引脚要求较小,几乎一根线就可以了,一根线用于取以及更新电荷,它需要动态刷新,也就是需要时钟来定时中断,对实时性有要求,功耗较高,价格较为便宜

六、SDRAM

SDRAM全拼Synchronous Dynamic Random Access Memory(同步动态随机存储器),注意它不是SRAM与DRAM的结合,它是同步的,基于DRAM结构的,DRAM的输入输出不是同步的,是异步的,DRAM提供了一个异步接口,用于DRAM响应工作,读写等,SDRAM则提供了一个同步接口,用这个接口来完成同步操作

七、FLASH

FLASH全拼是Flash Memory(闪存)、是一种非易失闪存技术,可以随机读写,同时也能掉电不丢失,至于具体如何保存数据需要看不同厂商对FLASH的设计,若使用了磁铁来存储数据就需要注意一些不要将存储器带到可能对磁信号产生影响的一些地方

ROM、RAM存储器原理详解以及DRAM、SRAM、SDRAM 、FLASH存储器的介绍相关推荐

  1. Git的原理详解与使用-臧雪园-专题视频课程

    Git的原理详解与使用-3人已学习 课程介绍         2018 Git的原理详解与使用视频教程,该课程主要从四个部分进行讲解:第一部分主要讲解了Git的基本使用.比如安装和git基本命令使用, ...

  2. 朴素贝叶斯算法和拉普拉斯平滑详细介绍及其原理详解

    相关文章 K近邻算法和KD树详细介绍及其原理详解 朴素贝叶斯算法和拉普拉斯平滑详细介绍及其原理详解 决策树算法和CART决策树算法详细介绍及其原理详解 线性回归算法和逻辑斯谛回归算法详细介绍及其原理详 ...

  3. 决策树算法和CART决策树算法详细介绍及其原理详解

    相关文章 K近邻算法和KD树详细介绍及其原理详解 朴素贝叶斯算法和拉普拉斯平滑详细介绍及其原理详解 决策树算法和CART决策树算法详细介绍及其原理详解 线性回归算法和逻辑斯谛回归算法详细介绍及其原理详 ...

  4. K近邻算法和KD树详细介绍及其原理详解

    相关文章 K近邻算法和KD树详细介绍及其原理详解 朴素贝叶斯算法和拉普拉斯平滑详细介绍及其原理详解 决策树算法和CART决策树算法详细介绍及其原理详解 线性回归算法和逻辑斯谛回归算法详细介绍及其原理详 ...

  5. 『ML笔记』HOG特征提取原理详解+代码

    HOG特征提取原理详解+代码! 文章目录 一. HOG特征介绍 二. HOG算法具体流程+代码 2.1. 图像灰度化和gamma矫正 2.2. 计算图像像素梯度图 2.3. 在8×8的网格中计算梯度直 ...

  6. DSP28377S_程序从FLASH部分复制到RAM中运行详解

    程序从FLASH部分复制到RAM中运行详解 为什么要复制到RAM中运行 CMD文件中对存储空间的分配 CMD文件中对段的定义 CMD文件中FLASH部分复制到RAM中的定义 main中的操作 编译后如 ...

  7. VLAN原理详解[转载] 网桥--交换机---路由器

    来自:http://blog.csdn.net/phunxm/article/details/9498829 一.什么是桥接   桥接工作在OSI网络参考模型的第二层数据链路层,是一种以MAC地址来作 ...

  8. CRF(条件随机场)与Viterbi(维特比)算法原理详解

    摘自:https://mp.weixin.qq.com/s/GXbFxlExDtjtQe-OPwfokA https://www.cnblogs.com/zhibei/p/9391014.html C ...

  9. LVS原理详解(3种工作方式8种调度算法)--老男孩

    一.LVS原理详解(4种工作方式8种调度算法) 集群简介 集群就是一组独立的计算机,协同工作,对外提供服务.对客户端来说像是一台服务器提供服务. LVS在企业架构中的位置: 以上的架构只是众多企业里面 ...

最新文章

  1. 毫米波雷达_毫米波雷达基础知识
  2. 在人生路上对我影响最大的三位老师
  3. 二分图的最大带权匹配
  4. 47. Leetcode 107 - 二叉树的层次遍历 ii (二叉树-二叉树遍历)
  5. 吴恩达机器学习笔记:(三)梯度下降法
  6. Mysql之drop、delete、truncate的区别
  7. 数据算法之插入排序(insertSort)的Java实现
  8. [转] WPF TextBox控件中文字实现垂直居中
  9. 《博客园精华集》web标准分册第2论筛选结果文章列表
  10. Blender的一些使用小结,在辣椒酱基础上加了点,会持续更新
  11. Android——Binder机制
  12. 北京精雕现状_北京精雕科技有限公司怎么样?
  13. 洛谷P3376-网络流
  14. ODI接口开发案例:RMA(客户退货订单)同步
  15. PS改变icon图标颜色
  16. RPA在政企行业的应用
  17. C语言绕过杀毒软件,易语言插件规避杀毒软件方法
  18. 派克比例方向控制阀放大器
  19. 计算机网络原理 作业
  20. Android UI美化基本

热门文章

  1. php个人支付宝收款链接,Andriod监听支付宝收款实现个人支付宝支付接口!附安卓App...
  2. 猫眼api html,Requests库+正则爬取猫眼电影Top100
  3. Xcode9 xcodebuild export plist 配置
  4. js图片上传(隐藏input file)
  5. C语言不定参数的作用,分享:C语言的三种不定参数,省略号用法
  6. 大话 Python:python 操作 excel 系列 -- 数据汇总与统计
  7. 整理的CAPL详细内容
  8. pyhive连接kerberos认证的hive
  9. 智慧高校共享单车管理系统
  10. 想学python爬虫,有没有推荐的书籍?