“第六十天”

news2024/11/29 0:40:35

        SRAM和DRAM

DRAM:动态RAM(随机存期存储器),是使用栅极电容存储信息的;

SRAM:静态RAM,是使用双稳态触发器存储信息的。

重点在于DRAM由于要通过电容放电来表示信息,所以读出时是破坏性的(电容放电之后,电容上就没有电了,所以读出后要重新充电,也就是重写操作),而SRAM是通过触发器的状态(高电平或者低电平)来表示数据的,在读取的时候是非破坏性的,不需要重写,这也就造成了两者读写速度的不同。

DRAM的每个存储元制造成本低,集成度高,功耗低,且由于电容内的电荷只能维持2ms,即使不断电,2ms后信息也会消失,这就导致需要在2ms内必须刷新一次(也就是给电容充电)

而SRAM的每个存储元制造成本更高,集成度低,功耗大,由于SRAM是通过触发器电平的高低来表示数据的,所以只要不断电,数据就不会消失。

所以由于DRAM既要读后重写,又要不断刷新,所以访问延迟就比较高,但由于集成度高,存储密度大,所以往往被用作主存(RAM),以提供计算机程序所需的大量存储空间,相对的SRAM不需要刷新,可以立即访问,所以访问速度快,但集成度低,存储密度小,所以往往被用来作Cache。(高速缓冲存储器)

              只读存储器ROM

RAM芯片--易失性,断电后数据消失;

ROM芯片--非易失性,断电后数据不会丢失。

MROM  -- 掩模式只读存储器 

厂家按照客户需求,在芯片生产过程中直接写入信息,之后任何人不可重写(只能读出),可靠性高,灵活性差,生产周期长,只适合批量定制;

PROM -- 可编程只读存储器

用户可用专门的PROM写入器写入信息,写一次之后就不可更改;

EPROM -- 可擦除可编程只读存储器

允许用户写入信息,之后用某种方法擦除数据,可以进行多次重写;

UVPROM -- 用紫外线照射8~20分钟,擦除所有信息;

Flash Memory -- 闪速存储器(U盘,SD卡就是闪存)

每个存储元只需单个MOS管,位密度比RAM高,在EEPROM基础上发展而来,断电后也能保存信息,且可进行多次快速擦除重写。由于闪存需要线擦除再写入,因此闪存的写的速度要比读的速度更慢。

SSD -- 固态硬盘 

由控制单元+存储单元(Flash芯片)构成,与闪速存储器的核心区别在于控制单元不一样,但存储介质都类似(存储介质都是闪存芯片),可进行多次快速擦除重写。SSD速度快,功耗低,价格高,目前个人电脑上常用SSD取代传统的机械硬盘。(手机辅存也使用Flash芯片,但相比SSD使用的芯片集成度更高,功耗更低,价格也更贵)

所以可以看出虽然ROM叫做只读存储器,但是很多ROM也是支持写的,且很多ROM也具有随机存取的特性。

        计算机中的操作系统安装在辅存中,在开机的时候,主板上的BIOS芯片(ROM),存储了“自举装入程序”,负责引导装入操作系统。逻辑上,主存是由RAM和ROM组成的(实际上主板上的ROM芯(BIOS芯片)也是主存的一部分),且两者常统一编址。(比如主存中的ROM假如地址是 0~2047,那RAM就从2048开始编址)。

        双口RAM,多模块存储器

由于DRAM芯片的恢复时间比较长,有可能是存取时间的几倍,而CPU的读写速度比主存快很多,所以需要想办法提升主存速度。

        双端口RAM;

双端口RAM的作用是优化多核CPU访问一根内存条的速度

两个端口对同一个主存操作有可能出现问题的情况是两个端口对同同一地址单元进行操作时,

同时写入数据比较好理解,应该也不能说时写入错误,更像是后者写入会读前者写入的数据造成覆盖,同时对一个地址,一个写入,一个读出,写入其实应该没有什么问题,数据是存进去,但读出可能出现问题,因为原先数据可能已经被覆盖。

这个解决方法是:置 “ 忙 ” 信号为 0 ,由判断逻辑决定暂时关闭哪一个端口(即被延时),未被关闭的端口正常访问,被关闭的端口延长一个很短的时间段后再访问。

感觉机组由很多东西设计结构的不是很好描述,所以可能就放图比较多。

        多体并存存储器

高位交叉就是前面(高位)几位地址不一样,低位交叉就是后面几位地址不一样。

由于一次只能对主存访问一个数据(应该是存取的问题,上面提过主存是DRAM,读完之后要重写,需要时间恢复,而同于同一根内存条,如果未恢复,是无法开始下次读取的),所以对于高位交叉编址的存储器,如果连续访问的数据地址间隔不大,那么数据就大概率就存储再同一根内存条,这样只能等当前访问数据被重写之后才能进行下次访问,耗时可以从下图看出还是比较大的,但如果是低位交叉编址的话,这些数据就有可能存储在不同的内存条,那么如果在这根内存条读取之后,在这个内存条的恢复时期就可以开始在下一根内存条读取下一个数据,而当再次需要读取第一根内存条的时候,这根内存条可能已经结束重写的,这样就可以充分利用时间,甚至无缝衔接,从下图也可以看出低位交叉编址访问数据耗时远低于高位交叉编制。

宏观上,一个存储周期内,m体交叉存储器可以提供的数据量为单个模块的m倍。如果存取周期为T,存取时间为r,为了使流水线不间断,应保证模块数m>=T/r,如果前者小于后者,则需要CPU需要等待r,如果前者大于后者,则会导致前面的内存条闲置,相等的话则可以完美衔接。(有内存条闲置也不好,内存条也是要钱的,限制了这个内存条就有点浪费)(这里采用“流水线”的方式并行存取,宏观上并行,微观上串行,但我没有get到串并行的意思。)

这里根据所给地址来判断它属于第几个存储体的时候,可以用模余的方法,地址模上模块数,这个模余真的用处还蛮多的,可以留意一下。

 多模块存储器通常是指将多个存储模块组合在一起,以提供更大的容量、更高的性能或更高的可用性。

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

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

相关文章

R语言gplots包的颜色索引表--全平台可用

R语言gplots包的颜色索引表–全平台可用

【Liunx系统编程】命令模式3

目录 一,zip/unzip压缩指令 二,tar打包/压缩/解包指令 三,uname获取系统信息指令 四,Liunx下常用且重要的按键和关机指令 五,文件之间的互传 1,Windows与Linux之间的互传 2,Linux系统之间…

初识JVM

1. JVM内存区域划分 jvm在启动的时候,会申请到一整个很大的内存区域。整个一大块区域,不太好用。为了更方便使用,把整个区域隔成了很多区域,每个区域都有不同的作用。 本地方法栈 此处提到的栈和数据结构中的栈不是一个东西&…

STM32F103C8T6第二天:按键点灯轮询法和中断法、RCC、电动车报警器(振动传感器、继电器、喇叭、433M无线接收发射模块)

1. 点亮LED灯详解(307.11) 标号一样的导线在物理上是连接在一起的。 将 PB8 或 PB9 拉低,就可以实现将对应的 LED 灯点亮。常用的GPIO HAL库函数: void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init);//I/…

DeepSORT多目标跟踪——算法流程与源码解析

一、目标检测与目标追踪 1. 目标检测 在目标检测任务中,主要目标是识别图像或视频帧中存在的物体的位置和类别信息。这意味着目标检测算法需要定位物体的边界框(Bounding Box)并确定每个边界框内的物体属于哪个类别(如人、汽车、…

SpringBoot-WebSocket浏览器-服务器双向通信

文章目录 WebSocket 介绍入门案例 WebSocket 介绍 WebSocket 是基于 TCP 的一种新的网络协议。它实现了浏览器与服务器全双工通信——浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的连接,并进行双向数据传输。 应用场景: 视…

基于 LangChain 构建 LLM 应用程序设计与实践

▼最近直播超级多,预约保你有收获 近期直播:《基 LangChain大模型架构案例实践》 —1— LangChain 是什么? LangChain 和 Semantic Kernel 是当前比较受欢迎的两款 LLM 应用开发框架。 LangChain 作为一个大语言模型应用开发框架,…

C++ 多态 纯干货讲解 复制可调试(1)

💯 博客内容:多态 😀 作  者:陈大大陈 🚀 个人简介:一个正在努力学技术的准C后端工程师,专注基础和实战分享 ,欢迎私信! 💖 欢迎大家:这里是CSD…

0007Java安卓程序设计-ssm基于Android的校园新闻管理系统

文章目录 **摘** **要**目 录开发环境 编程技术交流、源码分享、模板分享、网课教程 🐧裙:776871563 摘 要 网络的广泛应用给生活带来了十分的便利。所以把校园新闻管理与现在网络相结合,利用java技术建设校园新闻管理系统app,实…

【漏洞复现】Drupal_小于7.32版本 _“Drupalgeddon” SQL注入漏洞(CVE-2014-3704)

感谢互联网提供分享知识与智慧,在法治的社会里,请遵守有关法律法规 文章目录 1.1、漏洞描述1.2、漏洞等级1.3、影响版本1.4、漏洞复现1、基础环境2、漏洞扫描3、漏洞验证 说明内容漏洞编号CVE-2014-3704漏洞名称Drupal “Drupalgeddon” SQL注入漏洞漏洞…

搬家两年随笔

不知不觉中,我已经搬到这个地方两年多了。 回首这段时间,我感触颇深。 尽管这里地理位置较为偏僻,交通不是特别方便,但环境优美,绿树成荫,空气清新。 只是相对于之前的生活环境,这里离上班的地方…

【Linux】基本命令

和光同尘_我的个人主页 一直游到海水变蓝。 --余华 Linux基本命令 &#x1f56f;️前言基础指令lspwdcdtouchmkdirrmdirrmman**cp**mvcat**less指令**输出重定向 >追加重定向 >>输入重定向 <headtail&#xff08;查看日志常用&#xff09;管道时间相关指令dateca…

五:Day11_SpringMVC03

一、拦截器 SpringMVC给出了拦截器来实现单元方法的拦截&#xff0c;拦截器的执行是在DispatcherServlet之后和单元方法之前的。 注意&#xff1a;只有URL匹配到了控制单元&#xff0c;拦截器才能生效。 2. 使用拦截器 2.1 创建拦截器类 public class MyInterceptor implem…

S5PV210(十):LCD

本文主要探讨210的LCD相关知识。 LCD LCD称液晶(透光背光呈色),可在电信号驱动下使液晶分子旋转,呈现不同的颜色(被动发光) lcd接口为TTL接口(5V为1&#xff0c;0V为0),不能传输太远,远距离传输方式:SoC(TTL) ->VGA-> LCD(TTL) 其他显设备:CRT(…

Java基础篇 | 多线程详解

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; Java从入门到精通 ✨特色专栏&#xf…

【数据结构】深入浅出讲解计数排序【图文详解,搞懂计数排序这一篇就够了】

计数排序 前言一、计数排序算法核心思路映射 概念补充绝对映射相对映射 二、计数排序算法核心实现步骤三、码源详解四、效率分析&#xff08;1&#xff09;时间复杂度 — O&#xff08;Max&#xff08;N&#xff0c;range&#xff09;&#xff09;&#xff08;2&#xff09;空间…

74HC138逻辑芯片

文章目录 74系列逻辑芯片——74HC138基础信息描述特征应用范围 功能信息封装引脚基本电路 扩展性能分析 74系列逻辑芯片——74HC138 基础信息 描述 74HC138器件设计用于需要极短传播延迟时间的高性能存储器解码或数据路由应用&#xff1b;在高性能存储系统中&#xff0c;可使用…

【C语言】扫雷游戏的一步一步的实现

文章目录 一、扫雷游戏分析和设计1.1 扫雷游戏的功能说明1.2 游戏的分析和设计1.2.1 数据结构的分析1.2.2 ⽂件结构设计 二、扫雷游戏代码实现总结 一、扫雷游戏分析和设计 1.1 扫雷游戏的功能说明 • 使⽤控制台实现经典的扫雷游戏 • 游戏可以通过菜单实现继续玩或者退出游…

时序分解 | Matlab实现EMD经验模态分解时间序列信号分解

时序分解 | Matlab实现EMD经验模态分解时间序列信号分解 目录 时序分解 | Matlab实现EMD经验模态分解时间序列信号分解效果一览基本介绍程序设计参考资料 效果一览 基本介绍 Matlab实现EMD经验模态分解时间序列信号分解 Matlab语言 算法新颖小众&#xff0c;用的人很少&#xf…

面试10000次依然会问的【ReentrantLock】,你还不会?

引言 在并发编程的世界中&#xff0c;ReentrantLock扮演着至关重要的角色。它是一个实现了重入特性的互斥锁&#xff0c;提供了比synchronized关键字更加灵活的锁定机制。ReentrantLock属于java.util.concurrent.locks包&#xff0c;是Java并发API的一部分。 与传统的synchro…