计算机组成原理 —— 存储系统(DRAM和SRAM,ROM)

计算机组成原理 —— 存储系统(DRAM和SRAM)

  • DRAM和SRAM
  • DRAM的刷新
  • DRAM地址复用
  • ROM(Read-Only Memory(只读存储器))

我们今天来看DRAM和SRAM

DRAM和SRAM

DRAM(动态随机存取存储器)和SRAM(静态随机存取存储器)都是半导体存储器,广泛应用于计算机和其他电子设备中,但它们在设计、性能、成本和应用场景上存在显著差异:

SRAM(静态随机存取存储器)

  • 工作原理:SRAM使用双稳态触发器来存储每个比特的信息,不需要刷新电路来维持数据。这意味着一旦数据被写入SRAM,只要电源持续供应,数据就会保持不变。
  • 速度:由于其设计,SRAM提供了非常快速的读写访问时间,通常用于需要高速数据访问的场景,如CPU缓存(L1、L2、L3缓存)。
  • 集成度与成本:SRAM的每个存储单元需要更多的晶体管(通常是4到6个),这导致其集成度相对较低,成本较高,且占用更多空间。
  • 应用场景:因其高速特性,SRAM常用于缓存、寄存器以及对速度要求极高的局部存储。

DRAM(动态随机存取存储器)

  • 工作原理:DRAM通过电容来存储电荷,以此表示比特的1或0状态。由于电容会自然放电,DRAM需要定期刷新(每隔几毫秒)来保持数据的完整性。
  • 速度:相比SRAM,DRAM的读写速度较慢,因为它涉及到电容充电/放电的过程以及刷新操作。
  • 集成度与成本:DRAM的存储单元结构更为简单,每个比特通常只需一个晶体管和一个小电容,这使得DRAM能够在给定的芯片面积上集成更多的存储单元,从而降低成本,提高存储密度。
  • 应用场景:由于其高密度和相对低廉的成本,DRAM是计算机主内存(如DDR SDRAM)的首选,广泛应用于个人电脑、服务器、移动设备等,作为大容量存储解决方案。

总结来说,SRAM提供快速访问但成本较高,适用于需要快速数据交换的小容量存储场景;而DRAM虽然访问速度稍慢,但因成本效益高、容量大,成为大规模存储的主流选择。

其实我们上篇博客讲的就是DRAM:

在这里插入图片描述这就是DRAM的内部组成,如果大家对上一篇博客有兴趣的话,可以点击这里:

https://blog.csdn.net/qq_67693066/article/details/139881200

SRAM换了一种材料,换成了双稳态触发器
在这里插入图片描述双稳态触发器集成了6根MOS管,体积更大,稳定性更高。经常用作Cache的材料。
在这里插入图片描述

DRAM的刷新

DRAM(动态随机存取存储器)的刷新是维护DRAM存储数据完整性的必要操作,因为DRAM单元中的电容会随着时间逐渐放电,导致存储的信息丢失。为了防止这种情况发生,DRAM需要定期刷新。刷新操作涉及读取每一行的数据,然后立即重写回该行,以补充电容的电荷,确保数据得以保持。

DRAM刷新主要采用以下三种方式:

  1. 集中刷新(Bulk Refresh或Collective Refresh):在这种模式下,系统会在一个特定的刷新周期内,暂停正常的读写操作,集中一段时间来逐行刷新所有存储单元。这意味着在刷新期间,DRAM无法响应其他读写请求,这会造成所谓的“刷新死区”(refresh dead time),影响系统的连续数据访问性能。
  1. 分散刷新(Distributed Refresh或Hidden Refresh):分散刷新尝试减少集中刷新带来的性能损失,它将刷新操作分散到每个存储周期中进行。在每次访问DRAM时,系统会检查是否需要对当前行进行刷新,如果需要,则在访问之后立即执行刷新操作,尽量使刷新操作与正常读写操作重叠,从而隐藏刷新带来的延迟。
  1. 异步刷新(Self Refresh):异步刷新是集中刷新和分散刷新的折衷方案,它允许DRAM在没有外部命令的情况下自行管理刷新操作。在低功耗模式或待机状态下特别有用,此时DRAM可以按照内部定时器控制的周期自行进行刷新,减少了对外部控制器的依赖,降低了系统整体的能耗。

在这里插入图片描述
我们的SRAM就不用刷新:
在这里插入图片描述

刷新间隔和刷新周期是DRAM参数的重要组成部分,刷新间隔定义了两次刷新操作之间的时间,而刷新周期则是对DRAM所有存储单元完成一次刷新的总时间间隔。这些参数由DRAM芯片规格确定,并需由系统内存控制器妥善管理,以确保数据的可靠存储。

DRAM地址复用

DRAM(动态随机存取存储器)采用地址复用技术,主要是为了减少芯片引脚数量,从而降低成本并简化电路设计。具体来说,DRAM的存储阵列由行和列地址共同确定一个唯一的存储单元位置。由于DRAM存储单元数量庞大,若为每个地址位都分配单独的引脚,会显著增加芯片的物理尺寸和复杂性,进而增加制造成本。

在地址复用技术中,DRAM将完整的地址信号分为两部分:行地址和列地址,通过同一组地址线分时传送。具体过程如下:

  1. 行地址传输:首先,DRAM接收到来自内存控制器的行地址,通过行地址选通信号(RAS, Row Address Strobe)激活相应的行,这个过程被称为行有效(Row Active)或行选通(Row Access)。
  1. 列地址传输:随后,在列地址选通信号(CAS, Column Address Strobe)的作用下,DRAM准备好接收列地址。列地址被送入后,指定的列与之前激活的行交叉点处的存储单元就被选中,从而完成寻址。
  1. 数据读写:在列地址传输完成后,可以进行数据的读取或写入操作。

在这里插入图片描述

通过这样的分时复用机制,DRAM使用较少的地址线实现了对大量存储单元的寻址,降低了对硬件资源的需求。然而,这也意味着相比于地址线独立的SRAM,DRAM在每次访问时需要更多的时钟周期来完成寻址,因此在速度上有所牺牲。

我们的刷新操作一般会在行列选址的时候发生
在这里插入图片描述
下面一张图对比了SRAM和DRAM
在这里插入图片描述

ROM(Read-Only Memory(只读存储器))

ROM,全称为Read-Only Memory(只读存储器),是一种非易失性存储介质,其中存储的数据在正常操作下是固定的,无法轻松或直接修改。ROM的特点包括:

  1. 数据持久性:ROM中的信息在断电后仍能保留,因为它是非易失性的。
  1. 出厂预编程:传统ROM的信息通常在制造过程中就被永久写入,不适合用户修改。
  1. 固定用途:由于数据不可改写,ROM常用于存储计算机启动时所需的固件、BIOS、初始化程序或者特定设备的控制代码等。

随着技术的发展,ROM的概念扩展到了几种不同的类型,包括:

  • PROM (可编程只读存储器):用户可以通过特殊的设备一次性写入数据,之后便无法更改。
  • EPROM (可擦除可编程只读存储器):可以通过紫外线照射擦除原有数据,然后可以重新编程。这类ROM有一个透明窗口,以便暴露芯片于紫外线。
  • EEPROM (电可擦除可编程只读存储器):可以在电路板上通过电信号擦除和重写数据,无需移除芯片或使用特殊设备,提供了更高的灵活性。
  • Flash Memory(闪存):虽然通常不归类为传统的ROM,但闪存基于EEPROM技术,提供高速度、高密度和更便捷的多次擦写能力,广泛应用于USB驱动器、存储卡和固态硬盘中。

在这里插入图片描述我们的操作系统就是安装在ROM中的:
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

springboot 酒庄内部管理系统(源码+sql+论文)

绪论 1.1 系统研究目的意义 随着信息技术的不断发展,我们现在已经步入了信息化的时代了,而信息时代的代表便是网络技术的日渐成熟,而现在网络已经和我们的生活紧密的联系起来了,我们不敢想象没有网络我们的生活会像怎么样&#…

六、资产安全—数据管理(CISSP)

目录 1.学习目标 2.数据管理最佳参考实践 3.数据质量维度:DAMA 4.数据生命周期控制 5.数据净化方式 6.生命周期安全控制 7.EOL、EOS、EOSL 1.学习目标 2.数据管理最佳参考实践 数据策略: 角色与责任: 数据所有权:

数据分析必备:一步步教你如何用matplotlib做数据可视化(10)

1、Matplotlib 二维箭头图 箭头图将速度矢量显示为箭头,其中分量(u,v)位于点(x,y)。 quiver(x,y,u,v)上述命令将矢量绘制为在x和y中每个对应元素对中指定的坐标处的箭头。 参数 下表列出了quiver()函数的参数 - x - 1D或2D阵列,…

C语言中的进制转换

基础概念 进制又称数制,是指用一组固定的符号和统一的规则来表示数值的方法,在C语言中,可以使用不同的前缀来表示不同的进制: 二进制:以0b或0B为前缀(部分编译器可能不支持)八进制&#xff1a…

Go日常分享 - error类型是指针类型吗?

背景 这个问题的产生来源于小泉在开发rpc接口时返回error遇到的问题,开发时想在defer里对err进行最终的统一处理赋值,发现外层接收一直都未生效。问题可以简化为成下面的小demo。 func returnError() error {var err errordefer func() {//err errors…

物联网系统运维——数据库部署

一.MySQL 1.概要 MySQL是一种关联数据库管理系统,关联数据:而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性库将数据保存在不同的表中。性能高、成本低、可靠性好,已经成为最流行的开源数据库。 二.MySQL安装与配置 1. …

38.MessageToMessageCodec线程安全可被共享Handler

handler被注解@Sharable修饰的。 这样的handler,创建一个实例就够了。例如: ByteToMessageCodec的子类不能被@Sharable修饰 如果自定义类是MessageToMessageCodec的子类就是线程共享的,可以被@Sharable修饰的 package com.xkj.protocol;import com.xkj.message.Message; i…

浙大宁波理工学院2024年成人高等继续教育招生简章

浙大宁波理工学院,这所承载着深厚学术底蕴和卓越教育理念的学府,正热烈开启2024年成人高等继续教育的招生之门。这里,是知识的殿堂,是智慧的摇篮,更是您实现个人梦想、追求更高境界的起点。 ​浙大宁波理工学院始终坚…

[最全]设计模式实战(一)UML六大原则

UML类图 UML类图是学习设计模式的基础,学习设计模式,主要关注六种关系。即:继承、实现、组合、聚合、依赖和关联。 UML类图基本用法 继承关系用空心三角形+实线来表示。实现接口用空心三角形+虚线来表示。eg:大雁是最能飞的,它实现了飞翔接口。 关联关系用实线箭头来表示…

基础算法---滑动窗口

文章目录 什么是滑动窗口1.长度最小的子数组2.无重复字符的最长子串3.最大连续1的个数4.将x减到0的最小操作数5.最小覆盖子串总结 什么是滑动窗口 滑动窗口(Sliding Window)是一种在计算机科学中用于解决各种子数组或子字符串问题的技术。滑动窗口技术通…

在 Mac 上恢复已删除的文件夹

“嗨,我刚刚运行了重复文件查找器应用程序 Gemini 来扫描我的 Mac 以清除重复文件。它找到了很多重复的文件和文件夹,只需单击一下,它就可以帮助我删除重复的文件/文件夹。但我认为它可能会删除一些有用的重复文件。我打开垃圾箱,…

主数据驱动的数据治理:技术解析与实践探索

数字化转型行业小伙伴可以加入我的星球,初衷成为各位数字化转型参考库,星球内容每周更新 个人工作经验资料全部放在这里,包含数据治理、数据要素、数据质量、数据安全、元数据、主数据、企业架构、DCMM、DSMM、CDGA、CDGP等各种数据相关材料 …

AOP应用之系统操作日志

本文演示下如何使用AOP&#xff0c;去实现系统操作日志功能。 实现步骤 引入AOP包 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId><version>2.6.6</version></de…

AI大眼萌探索 AI 新世界:Ollama 使用指南【1】

在人工智能的浪潮中&#xff0c;Ollama 的出现无疑为 Windows 用户带来了一场革命。这款工具平台以其开创性的功能&#xff0c;简化了 AI 模型的开发与应用&#xff0c;让每一位爱好者都能轻松驾驭 AI 的强大力量。大家好&#xff0c;我是AI大眼萌&#xff0c;今天我们将带大家…

颠覆多跳事实验证!Causal Walk 前门调整技术引领去偏新纪元

Causal Walk: Debiasing Multi-Hop Fact Verifcation with Front-Door Adjustment 论文地址: Causal Walk: Debiasing Multi-Hop Fact Verification with Front-Door Adjustment| Proceedings of the AAAI Conference on Artificial Intelligencehttps://ojs.aaai.org/index.p…

基于Vue-cli脚手架搭建项目使用ElementUI组件

项目结构 node_modules 项目依赖的外部组件文件放在此处,例如vue public index.html是对外提供的唯一的html文件 src assets 存放静态文件 例如图片 css js等文件 components 里面存放的是组件 App.vue是组件 main.js是项目配置文件 package.json存放的是项目依赖的…

C# Onnx Yolov5 水果识别,人员识别,物品识别 人工智能

目录 先上效果 来电废话&#xff0c;但实用 网络成功案例实践易失败的原因 万物检测涉及技术 下载合集 关键代码 全部代码 实操vs2022安装关键 YOLO V5核心库编译 编写自己识别软件 更新相关依赖 标注字库文件 测试效果 名词解释YOLO 名词解释ONNX 源码 直播教…

基于Java的火车订票管理系统【附源码】

火车订票管理登录 摘要&#xff1a;随着我国铁路交通的不断发展&#xff0c;简单的窗口售票模式已经不能满足方便人们出行的目的。采用先进的网络技术开发出方便快捷的火车票订票系统是现代客运业务发展的必然需求。本次设计的火车票订票系统通过访问主页&#xff0c;可以实现…

Linux PXE高效批量装机

部署PXE远程安装服务 在大规模的 Linux 应用环境中&#xff0c;如 Web 群集、分布式计算等&#xff0c;服务器往往并不配备光驱设备&#xff0c;在这种情况下&#xff0c;如何为数十乃至上百台服务器裸机快速安装系统呢?传统的USB光驱、移动硬盘等安装方法显然已经难以满足需…

VC++支持断点续下或续传的功能

VC使用多线程和Socket实现断点续下 一、断点续下的基本原理&#xff1a; 1.断点续传的理解可以分为两部分&#xff1a;一部分是断点&#xff0c;一部分是续传。断点的由来是在下载过程中&#xff0c;将一个下载文件分成了多个部分&#xff0c;同时进行多个部分一起的下载&…