在上体系结构这门课之前,我只知道DRAM用作内存比较多,SRAM用作cache比较多。在今天讲到内存技术时,我对于这两个基础概念有了更加完整的认识。这篇文章是我的听课心得,现在分享给各位,仅供参考,若有错误多多指正。

  从名字上看,SRAM与DRAM的区别只在于一个是静态一个是动态。由于SRAM不需要刷新电路就能够保存数据,所以具有静止存取数据的作用。而DRAM则需要不停地刷新电路,否则内部的数据将会消失。而且不停刷新电路的功耗是很高的,在我们的PC待机时消耗的电量有很大一部分都来自于对内存的刷新。那么为什么我们不用SRAM来作为内存呢?

  首先来看一张SRAM的基本单元结构图                  再来看看DRAM的基本单元结构图

                                               

SRAM存储一位需要花6个晶体管,而DRAM只需要花一个电容和一个晶体管。cache追求的是速度所以选择SRAM,而内存则追求容量所以选择能够在相同空间中存放更多内容并且造价相对低廉的DRAM。

我们姑且不去讨论关于SRAM是如何静态存储数据(触发器)的。为什么DRAM需要不断刷新呢?

DRAM的数据实际上是存在电容里的。而电容放久了,内部的电荷就会越来越少,对外就形成不了电位的变化。而且当对DRAM进行读操作的时候需要将电容与外界形成回路,通过检查是否有电荷流进或流出来判断该bit是1还是0。所以无论怎样,在读操作中我们都破坏了原来的数据。所以在读操作结束后需要将数据写回DRAM中。在整个读或者写操作的周期中,计算机都会进行DRAM的刷新,通常是刷新的周期是4ms-64ms。

  关于SRAM和DRAM的寻址方式也有所不同。虽然通常我们都认为内存像一个长长的数组呈一维排列,但实际上内存是以一个二维数组的形式排列的,每个单元都有其行地址和列地址,当然cache也一样。而这两者的不同在于对于容量较小的SRAM,我们可以将行地址和列地址一次性传入到SRAM中,而如果我们对DRAM也这样做的话,则需要很多很多根地址线(容量越大,地址越长,地址位数越多)。所以我们选择分别传送行地址和列地址到DRAM中。先选中一整行,然后将整行数据存到一个锁存器中,等待列地址的传送然后选中所需要的数据。这也是为什么SRAM比DRAM快的原因之一。

浅谈SRAM与DRAM的异同相关推荐

  1. 浅谈Java和PHP的异同

    编程范式: Java:纯面向对象的语言,有人说过:Java中一切皆对象!当然咯,人们都忘了Java的八种基本数据类型:int.double.boolean.byte.float.     long.s ...

  2. 浅谈信息安全等级保护与ISO27000系列标准的异同

    摘要:信息安全等级保护和ISO27000系列标准是目前国内主流的两个信息安全标准体系,在党政机关及企事业单位运用非常广泛.在建立单位内部信息安全体系的时候往往会遇到需要同时满足两个标准体系要求的难题. ...

  3. (要更新)SRAM、DRAM、SDRAM、DDR异同

    一.相同 SRAM.DRAM.SDRAM.DDR同属于RAM系列,RAM即随机存取存储器,存取速度快,容量相对小,价格相对高. 二.区别 2.1.定义: **SRAM**:Static Random- ...

  4. 浅谈主流内存发展历史

    浅谈主流内存发展历史 申屠志刚2018329621200 信息学院 计算机科学与技术18(3) 摘 要:计算机必然包含运算器.控制器.存储器和输入输出设备等五个重要部分,其中作为内存储器的内存条在PC ...

  5. 浅谈AM5728裸板调试

    一.浅谈ARM裸板调试 1. 连接仿真器,读写寄存器 将硬件仿真器插到ARM板的JTAG口上,然后连接PC,现在的ARM仿真器好像都是通过USB和PC相连了.连接好后,就给板子上电,然后打开PC端的调 ...

  6. 浅谈 主存储器 与 辅助存储器

    浅谈 主存储器 与 辅助存储器 概述 存储器(Memory)是现代信息技术中用于保存信息的记忆设备.计算机中的存储器按用途存储器可分为主存储器(内存)和辅助存储器(外存).小编会从名词解释 内部结构 ...

  7. 【STM32F4】六、SRAM和DRAM的区别

    目录 一.ROM.RAM.SRAM.DRAM 1. ROM.RAM之间的关系? 2. SRAM 和 DRAM 之间的关系? 二.SRAM 和 DRAM 的区别? 三.STM32F4中的SRAM--XM ...

  8. java的throw_浅谈Java的throw与throws

    浅谈Java异常 以前虽然知道一些异常的处理,也用过一些,但是对throw和throws区别还是有不太清楚.今天用实例测试一下 异常处理机制 异常处理是对可能出现的异常进行处理,以防止程序遇到异常时被 ...

  9. 压缩感知高斯测量矩阵matlab,浅谈压缩感知(十七):测量矩阵之有限等距常数RIC的计算...

    有限等距常数(RestrictedIsometry Constant, RIC)是与有限等距性质(Restricted IsometryProperty, RIP)紧密结合在一起的一个参数. 一.RI ...

最新文章

  1. opencv4.0棋盘格标定c++
  2. 【小题目】判断一个数字是否是3的倍数
  3. pandas:根据行间差值进行数据合并
  4. 菜鸟教程 之 JavaScript 教程
  5. 递归处理汉诺塔问题(c++/python)
  6. live2d_vue-live2d 看板娘
  7. 谈产品研发项目需求及需求变更管理
  8. .Net C# 微信APP支付的开发步骤
  9. 小米手环4用PM3模拟加密门禁卡成功分享
  10. iOS GUI 规范
  11. 发表论文大概需要经历以下流程
  12. Python探索性数据分析
  13. “玻璃大王”曹德旺捐资100亿办大学!幼年失学的他要打造理工科研究型大学...
  14. 【转】systemtap原理及使用
  15. 安卓rom开发教程!安卓工程师跳槽经验分享,吐血整理
  16. 武汉理工学计算机能保研吗,欢迎访问武汉理工大学计算机科学与技术学院
  17. 共享汽车租赁运营管理--解决方案
  18. Mac上切割音频,切歌,截取铃声,MP3文件处理,视频剪切,视频剪裁,视频转换
  19. 成绩分析之极差和方差
  20. 如何做好云上资源的费用管理?

热门文章

  1. 51单片机的nop延时延时函数
  2. Kinect与KinectFusion重建
  3. 【JY】从一根悬臂梁说起
  4. java 汉字转换为拼音
  5. vue底部跳转_Vue实现回到顶部和底部动画效果
  6. 开发 mirai QQ机器人起步教程
  7. 阿里云物联网平台-数据解析脚本详解
  8. 【微信video视频播放】video标签
  9. 记录Hbuilder项目使用xcode离线打包上传苹果商店踩过的坑
  10. appStore上传苹果应用程序软件发布流程