当前位置: 首页 > news >正文

计算机组成原理_DRAM和SRAM

计算机组成原理总目录

DRAM和SRAM

DRAM:动态随机存储器,Dynamic Random Access Memory
SRAM:静态随机存储器,Static Random Access Memory

1. 存储体

1.1 DRAM和SRAM的存储元

存储元:由一些电子器件组成,作为最底层的存储器件用来存储二进制数据

(1)由栅极电容所构成的存储元,属于DRAM类型的存储器存储元

  • 由下图结构图中可知,一个存储元只有一个电容,代表其成本较低,功耗(发热)低,集成度(密度)也就更高
  • 由于在读取操作过程中,电容放电会导致信息损失,即破坏性读出,故需要进行重写(再生)操作
    在这里插入图片描述
  • 其中的逻辑0和逻辑1都代表一个范围内的电压,如大于5V代表逻辑1,小于5V但大于1V代表逻辑0
    一般都说高电平为1(高范围内的电压),低电平为0(低范围的电压)

(2)由双稳态触发器所构成的存储元,属于SRAM类型的存储器存储元

  • 如下图双稳态触发器结构,它用了更多的电子元件,故其成本更高、功耗(发热)高、同时集成度(密度)低
  • 因为双稳态其复杂结构能够稳定的存储信息,即非破坏性读出,故不需要进行重写操作
    在这里插入图片描述

1.2 存储单元

存储单元:由多个存储元构成,可以一次性读写多个二进制数据(逻辑0/1)
在这里插入图片描述
根据上图所示,当我们向开关线发送信号1时,则这8个存储元均会被导通,然后即可在输入输出端一次性读取或写入8bit的数据

存储字和存储字长

  • 存储字:是指存放在一个存储单元中的二进制代码组合
  • 存储字长:指一个存储单元可存放的二进制代码的位数

如下图8个二进制的组合称之为存储字,该数据的长度称之为存储字长,如下存储字的存储字长 = 8bit
在这里插入图片描述

1.3 存储体

存储体:由多个存储单元组成
在这里插入图片描述
在了解了存储体的构成后,我们将简化存储体的表示,也就是常说的封装思想,如下图:
在这里插入图片描述

2. 存储器的性能指标

基本单位换算:

  • 1 位 = 1 bit
  • 1 字节 = 1 Byte = 8 bit(1Byte常简写为1B)
  • 1 KB = 1024 B
  • 1 MB = 1024 KB
  • 1 GB = 1024 MB
  • 1 TB = 1024 GB

存储器的性能指标

  1. 存储容量 = 存储字数 × 字长
    ——其中存储字数代表存储器的地址空间大小,字长代表一次存取的位数
  2. 单位成本:每位价格 = 总成本 / 总容量
    ——用于评估每1bit所花费的价格
  3. 存取速度(主存带宽):数据传输率 = 数据的宽度 / 存取周期
    ——用于评估存储器的存取性能

在这里插入图片描述

3. 地址线复用技术

行列地址线:存储体内的存储单元以矩阵的形式进行排列,则需要根据行、列地址来确定所要读写的存储单元
在这里插入图片描述
地址线复用技术:仅采用地址线的一半作为地址线,先输入行地址再输入列地址,即分时输入行列地址

  • 显而易见,分时复用技术节约了地址线的成本,但同时也牺牲了速度(分两次输入地址)
    故一般只在DRAM中采用地址线复用技术,而SRAM常用作Cache,Cache因速度快存在,所以SRAM并不适用地址线复用技术

在这里插入图片描述

4. DRAM的刷新

刷新周期:一般为2ms
即在2ms内刷新一次,每一次刷新一行存储单元(存储单元以矩阵的形式排列),由存储器内部硬件自动完成

刷新方式(假设存取周期为1us):
(1)分散刷新:每次读写都刷新一次,也就不需要考虑刷新周期了
在这里插入图片描述

(2)集中刷新:刷新周期内选择一段时间单独用来进行全部刷新

  • 附加条件:假设DRAM内部共有64行
  • 可得:一个刷新周期2ms内需要刷新64次(消耗64个存取周期)
    而2ms内共有 2ms/1us = 2000个存取周期

在这里插入图片描述

(3)异步刷新:刷新周期内对每个存储单元(每行存储元)只刷新一次

  • 附加条件:假设DRAM内部共有64行
  • 可得:一个刷新周期2ms内需要刷新64次,则可每隔 2ms/64 = 31.25us 刷新一次
    即每31.25us内就会有1us的时间用来刷新一行,完成刷新64次正好为2ms

在这里插入图片描述

相关文章:

  • 两个有序序列的中位数
  • 浅析Android UI——View 的绘制
  • 一文看懂25个神经网络模型,神经网络神经元模型
  • 神经网络模型训练过程,神经网络模型应用实例
  • NR PDCCH(二) SearchSpace
  • Vue2(十二):Vuex环境搭建、Vuex工作原理、几个配置项、多组件共享数据、Vuex模块化
  • CREO图文教程:三维设计案例之齿轮参数化设计(渐开线+拉伸+轴阵列)图文教程之详细攻略
  • 【JavaEE进阶系列 | 从小白到工程师】Collections工具类的常用方法
  • Python 标准库之 fileinput 和 文件迭代器
  • C++征途 --- map/multimap容器
  • php 手机营业厅业务管理系统
  • VulnHub
  • Java Design Patterns 之 抽象工厂模式
  • java计算机毕业设计基于安卓Android的数字猎头招聘管理APP
  • Flink 流处理API
  • Apache Zeppelin在Apache Trafodion上的可视化
  • ES6系列(二)变量的解构赋值
  • Flex布局到底解决了什么问题
  • Fundebug计费标准解释:事件数是如何定义的?
  • Javascript 原型链
  • java多线程
  • Laravel 实践之路: 数据库迁移与数据填充
  • mysql常用命令汇总
  • MySQL用户中的%到底包不包括localhost?
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • vue:响应原理
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • 猴子数据域名防封接口降低小说被封的风险
  • 记录:CentOS7.2配置LNMP环境记录
  • 力扣(LeetCode)965
  • 如何选择开源的机器学习框架?
  • 删除表内多余的重复数据
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • #laravel 通过手动安装依赖PHPExcel#
  • #QT(智能家居界面-界面切换)
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • %@ page import=%的用法
  • (1/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (二)c52学习之旅-简单了解单片机
  • (二)fiber的基本认识
  • (原创) cocos2dx使用Curl连接网络(客户端)
  • .mysql secret在哪_MySQL如何使用索引
  • .NET 5.0正式发布,有什么功能特性(翻译)
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .NET Framework Client Profile - a Subset of the .NET Framework Redistribution
  • // an array of int
  • @RestController注解的使用
  • [1]-基于图搜索的路径规划基础
  • [1159]adb判断手机屏幕状态并点亮屏幕