“第六十天”

        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.rhkb.cn/news/180225.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

逆袭Flutter? Facebook 发布全新跨平台引擎 Hermes!

Facebook 于前日发布了新的 JavaScript 引擎:Hermes,专注于提高 React Native 应用的性能,并且在市面上那些内存较少、存储速度较慢且计算能力低下的移动设备上都有良好的表现。但是不是为了追赶Flutter?这块作者没有说明。 移动应…

【JMeter】插件管理工具

1. 官方下载地址 Documentation :: JMeter-Plugins.org 2.安装 将该插件的jar包移动到lib/ext下 3.重启JMeter就可以看到插件管理器 4. 安装,更新,删除插件 安装插件 删除插件 更新插件

深入理解WPF中的依赖注入和控制反转

在WPF开发中,依赖注入(Dependency Injection)和控制反转(Inversion of Control)是程序解耦的关键,在当今软件工程中占有举足轻重的地位,两者之间有着密不可分的联系。今天就以一个简单的小例子&…

防止重复提交请求

前景提要: ts 简易封装 axios,统一 API 实现在 config 中配置开关拦截器 axios 实现请求 loading 效果 用一个数组保存当前请求的 url,此时还未响应。如果再次发起同样请求,比对 url 发现已经存在数组中,则拦截请求&a…

Java 谈谈你对OOM的认识

文章目录 前言一、基础架构二、常见OOM1、栈内存溢出java.lang.StackOverflowError2、堆内存溢出java.lang.OutOfMemoryError:Java heap space3、GC回收时间过长java.lang.OutOfMemoryError: GC overhead limit exceeded4、NIO程序堆外内存溢出java.lang.OutOfMemor…

thinkphp漏洞复现

thinkphp漏洞复现 ThinkPHP 2.x 任意代码执行漏洞Thinkphp5 5.0.22/5.1.29 远程代码执行ThinkPHP5 5.0.23 远程代码执行ThinkPHP5 SQL Injection Vulnerability && Sensitive Information Disclosure VulnerabilityThinkPHP Lang Local File Inclusion ThinkPHP 2.x 任…

Vue 条件渲染 与 列表渲染

目录 一、条件渲染 1.简介 : 2.v-if实例 : 3.v-show实例 : 4.v-if与v-show的区别 : 二、列表渲染 1.基本用法 : 1.1 v-for遍历数组 1.2 v-for遍历对象 2.应用实例 : 一、条件渲染 1.简介 : (1) Vue提供了v-if 和 v-show条件指令来完成条件渲染/控制。 v-if指令用于条…

sql server数据库跟踪——SQL Server Profiler解析

工具: SQL Server Profiler这个工具是SQL Server数据库自带的语句执行跟踪工具,常使用于分析软件修改数据库时所执行的语句,适合用来研究软件运行数据库的原理。 打开方式: 本机安装了SQL server的话,都是自带的。直接…

高效学习工具之AnkiMobile新手入门指南(ios端,包括ipad、ihpone设备)————创建、使用、备份、设置参数、相关资料

文章目录 0 背景0.1 闭环学习0.2 什么是anki0.3 anki践行者经验分享 1 开始使用1.1 导入1.2 创建空白组1.3 创建卡片1.3.1 利用anki创建卡片的两种方法1.3.2 复习材料分类 1.4 筛选(做减法,拆分学习(做子卡牌集合))&am…

用于 GaN-HEMT 功率器件仿真的 TCAD 方法论

目录 标题:TCAD Methodology for Simulation of GaN-HEMT Power Devices来源:Proceedings of the 26th International Symposium on Power Semiconductor Devices & ICs(14年 ISPSD)GaN-HEMT仿真面临的挑战文章研究了什么文章的创新点文章的研究方法…

如何使用Python和Matplotlib创建双Y轴动态风格折线图 | 数据可视化教程

前言 我的科研论文中需要绘制一个精美的折线图,我的折线图中有三条曲线,分别表示期望角速度指令信号,和实际的角速度信号,还有实际的航向角信号,现在我已经拥有了数据,使用Python中matplotlib.plt.plot来直…

基于梯度算法的无人机航迹规划-附代码

基于梯度算法的无人机航迹规划 文章目录 基于梯度算法的无人机航迹规划1.梯度搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要:本文主要介绍利用梯度算法来优化无人机航迹规划。 1.梯度搜索算法 …

汽车标定技术(三)--XCP协议如何支持测量功能

目录 1. 概述 2. 测量方式 -- Poll 3. 测量方式 -- DAQ 3.1 ODT概念模型 3.2 DAQ List概念 3.3 ODT 绝对编号和相对编号 3.4 静态DAQ和动态DAQ模式 (1)静态DAQ (2)动态DAQ 4.小结 1. 概述 在该系列的首篇文章汽车标定技…

Sybase PowerDesigner 16.7.7.7536 Crack

Power Designer 是Sybase公司的CASE工具集,使用它可以方便地对管理信息系统进行分析设计,他几乎包括了数据库模型设计的全过程。利用Power Designer可以制作数据流程图、概念数据模型、物理数据模型,还可以为数据仓库制作结构模型&#xff0c…

链式二叉树的基本操作和相关OJ题训练(建议收藏!!!)

💓博主csdn个人主页:小小unicorn ⏩专栏分类:数据结构&C 🚚代码仓库:小小unicorn的代码仓库🚚 🌹🌹🌹关注我带你学习编程知识 链式二叉树基本操作 二叉树节点设置二叉…

SpringBoot集成Swagger接口文档/测试

文章目录 Swagger 介绍Swagger 使用常用注解 Swagger 介绍 使用 Swagger 你只需要按照它的规范去定义接口及接口相关的信息,就可以做到生成接口文档,以及在线接口调试页面。官网:https://swagger.io/ Knife4j 是为 Java MVC 框架集成 Swagg…

YOLOv5论文作图教程(2)— 软件界面布局和基础功能介绍

前言:Hello大家好,我是小哥谈。通过上一节课的学习,相信大家都已成功安装好软件了,本节课就给大家详细介绍一下Axure RP9软件的界面布局及相关基础功能,希望大家学习之后能够有所收获!🌈 前期回顾: YOLOv5论文作图教程(1)— 软件介绍及下载安装(包括软件包+下载安…

服务器经常被攻击的原因

很多中小型企业都是选择虚拟主机服务器,是把一个服务器分成很多个给很多企业一起共用,可能同一个 IP服务器上就有很多个不同企业的网站,这个时候如果跟你同一个IP服务器的网站遭到DDoS攻击,就很有可能会影响到你的网站也无法正常访…

Vue3问题:如何实现组件拖拽实时预览功能?

前端功能问题系列文章,点击上方合集↑ 序言 大家好,我是大澈! 本文约3000字,整篇阅读大约需要5分钟。 本文主要内容分三部分,第一部分是需求分析,第二部分是实现步骤,第三部分是问题详解。 …

云计算的思想、突破、产业实践

文章目录 📕我是廖志伟,一名Java开发工程师、Java领域优质创作者、CSDN博客专家、51CTO专家博主、阿里云专家博主、清华大学出版社签约作者、产品软文创造者、技术文章评审老师、问卷调查设计师、个人社区创始人、开源项目贡献者。🌎跑过十五…