考研计组chap3存储系统

目录

一、存储器的基本概念 80

1.按照层次结构

2.按照各种分类

(41)存储介质

(2)存取方式

(3)内存是否可更改

(4)信息的可保存性

(5)读出之后data是否破坏

3.存储器的性能指标

1)存储容量

2)单位成本

3)存储速度

二、主存的基本组成 87+89

1.基本元件

2.存储芯片的结构

3.寻址

三、SRAM vs DRAM  86

1.DRAM

(1)工作原理

(2)特点

1)破坏性读出 and 需要再生

2)需要刷新

3)分两次送行列地址

(3)DRAM刷新

1)集中刷新

2)分散刷新

3)异步刷新

(4)DRAM地址复用技术

2.SRAM

(1)工作原理

(2)特点

1)非破坏性读出  不需要重生

2)不需要刷新

3)同时送行列地址

四、ROM (Read-Only Memory) 88

1.MROM(Mask) 掩模式·····

2.PROM(Programable) 一次可编程·····

3.EPROM(Erasable) 可擦除可编程·····

(1)UVEPROM  紫外线擦除

(2)EEPROM (E^2PROM) 电擦除

4.闪存(Flash存储器)

5.固态硬盘(SSD)

6.ATTN

(1)许多ROM依然可以写

(2)ROM是非易失性的,也可以随机存取

五、提高主存速度 90

1.reason 

2.多模块存储器 90

(1)多体并行存储器

1)高位交叉编址

2)低位交叉编址

(2)单体并行存储器

六、主存与CPU之间的连接 101

1.存储器芯片的基本结构

2.位扩展

3.字扩展

(1)线选法

(2)译码片选法

4.字位同时扩展

七、外存 109

1.disk原理

(1)disk组成

(2)性能指标

1)容量

2)记录密度

3)平均存取时间

4)data传输率

(3)硬盘地址

2.独立冗余磁盘阵列 RAID

(1)RAID0

(2)RAID1

(3)RAID2

(4)RAID3~RAID5(了解)

八、固态硬盘 SSD 111

1.原理

2.组成

3.读写性能

4. vs 机械接盘

5.磨损均衡技术

6. 联系 OS

九、Cache 115

1.工作原理

2.局部性原理

3.性能分析

(1)Cache命中率、缺失率

(2)方式

4.else(联系OS)

5.存在的question

(1)Cache与主存中data块的对应关系 

(2)Cache块小,满了咋办

(3)cpu修改Cache的data,则如何保持与主存中的原data的一致性

十、主存与Cache之间的映射关系 118

1.Cache存放data格式

2.全相联映射

3.直接映射

4.组相连映射

十一、Cache的替换算法 122

1.随机算法(RAND)

2.先入先出(FIFO)

3.最近最少使用算法(LRU)

(1)手算

(2)机器

4.最不经常使用算法(LFU)

十二、Cache写策略 123

1.命中

(1)全写法

(2)回写法

2.未命中

(1)写分配法

(2)非写分配法

3.多级Cache


一、存储器的基本概念 80

1.按照层次结构

Attn:①寄存器集成在CPU中

②辅存和外存的区分不大

2.按照各种分类

(41)存储介质

半导体:Cache 磁介质:disk、硬盘 光介质:光盘  

(2)存取方式

随机存储器(RAM):EPROM、SRAM、DRAM

顺序存取存储器(SAM):磁带

直接存取存储器(DAM):磁盘(SSD) 、光盘 (CD-ROM) 

相联存储器(内存存储器)(CAM):快表

只读存储器 (ROM)

ATTN:不要根据东西的名称分,要根据具体内容

(3)内存是否可更改

只能读ROM

可读写else

(4)信息的可保存性

断电是否发生data丢失:易失性存储器

RAM

非易失性存储器:ROM、磁性存储器、光存储器

(5)读出之后data是否破坏

读了之后摧毁data / 不摧毁:破坏性读出  DRAM and  非破坏性输出 SRAM

3.存储器的性能指标

1)存储容量

2)单位成本

每bit价格

3)存储速度

存储时间、存取周期、主存带宽(data传输率)

存储周期 = 存储时间+恢复时间

主存带宽 :每秒读写的data

二、主存的基本组成 87+89

1.基本元件

存储元  : 电容   +   MOS管

电容存储电荷,写就充电,读就放电

工作原理:根据高低电平(电荷)  

因为电容这边接地,为0V,so用高电平的时候MOS导电,电容充电表示1,之后断开MOS管,电荷就保存在了电容中,在另一端读就为1

低电平MOS绝缘,电容还是0V,无电荷0,在另一端读就为0

多个存储元组成存储单元(存储字),多个存储单元组成存储矩阵(存储体)

2.存储芯片的结构

CPU发出指令,通过MAR获取进行读写的内存地址,通过译码器进行选择哪一块存储芯片的读写,读完之后通过data线送到MDR中,整体过程由CPU控制

MAR存储nbit数据,则译码器就有2^n个存储单位

读写控制线可以由一条or两条线组成

①一条 WE (有上划线) 低写高读

②两条线 WE (有上划线)写 OE(有上划线)读

片选控制线:选择读写内存中的那一块存储芯片上的data,低电平确定

CS (有上划线)、CE (有上划线) ,上划线表示低电平激活

3.寻址

按字节or 字编址

按字节 、字、半字、双字寻址

ATTn:在32bit机器中,1字= 32bit = 4B

三、SRAM vs DRAM  86

1.DRAM

(1)工作原理

运用栅极电容存储信息,1个MOS管,即存储元,多个存储元组成存储体

(2)特点

1)破坏性读出 and 需要再生

通过电容充放电进行读写,so读的时候会放电,电容中的电荷没了,so是破坏性读出

放电之后需要重新充电,“再生”

2)需要刷新

即使不重新读写,电荷也会慢慢流失,so需要定期刷新,三种方式

刷新与重生dis:刷新是按行为单位的

3)分两次送行列地址

地址复用技术

(3)DRAM刷新

1)集中刷新

计算出全部刷新需要的时间,则else进行CPU读取,留下这些时间进行全部刷新,这一部分时间称作死区,此时CPU不能读取

2)分散刷新

读一下刷一次,dis:存取周期翻倍

3)异步刷新

计算出全部刷新的时间,将其分布到每个刷新周期之间,这样就分散了死区,cpu不会等待时间过长

(4)DRAM地址复用技术

未使用之前,1条地址线对应1存储元,译码器连着这么多的线,设计比较难,so使用行译码器和列译码器,条数就开方了,并且芯片引脚也减少

2.SRAM

(1)工作原理

使用6个MOS管,so会存储信息

(2)特点

1)非破坏性读出  不需要重生
2)不需要刷新
3)同时送行列地址

四、ROM (Read-Only Memory) 88

1.MROM(Mask) 掩模式·····

厂家根据用户需求进行设计,之后任何人不能再修改

2.PROM(Programable) 一次可编程·····

用户可DIY,保存之后不能再修改

3.EPROM(Erasable) 可擦除可编程·····

(1)UVEPROM  紫外线擦除

紫外线照射 8~20min

(2)EEPROM (E^2PROM) 电擦除

4.闪存(Flash存储器)

先擦除后写  so V读 > V写

5.固态硬盘(SSD)

控制单元 + Flash芯片

6.ATTN

(1)许多ROM依然可以写

(2)ROM是非易失性的,也可以随机存取

五、提高主存速度 90

1.reason 

存取周期 = 存取时间 + 恢复时间

恢复时间占主要时间,且恢复期间cpu无法读写

2.多模块存储器 90

(1)多体并行存储器

多体模块(理解成内存条)组成

1)高位交叉编址

体号+体内地址,体号表示选择的是哪一块,体内表示模块内的第几个,“竖着编址”

2)低位交叉编址

体内地址+体号,“横着编址”

best 模块数m = 存取周期T/存取时间r

if 想cpu不停止,则 m>= T/r ;m> T/r,模块会有空闲,无法达到最高效,增加成本;m<T/r,cpu仍需等待  

一般是进行字扩展,组与组之间串联,由此确定模块的个数

(2)单体并行存储器

将m体模块合并成一个模块,每次并行读出m个连续的字,so每个存储单元存储m个字,总线宽度也为m个字

六、主存与CPU之间的连接 101

1.存储器芯片的基本结构

移码驱动电路+存储体+读写电路+地址线、片选线、数据线、读/写控制线

2.位扩展

芯片并联,增加data总路读写的效率

3.字扩展

芯片串联,扩容

(1)线选法

直接连接,1地址线--1芯片(组)

(2)译码片选法

使用译码器,n地址线 -- 2^n 芯片(组)

4.字位同时扩展

结合位扩展+字扩展

七、外存 109

1.disk原理

(1)disk组成

磁盘驱动器、磁盘控制器、盘片

(2)性能指标

1)容量
2)记录密度

道密度、位密度、盘密度

因为每条磁道中data数量相同,so外道密度<内道密度

3)平均存取时间

寻道时间、旋转延迟时间、传输时间

4)data传输率

磁盘存储器再单位时间内想主机传送data的字节数

Dr = rN (转速 * 每条磁道容量)

(3)硬盘地址

柱面扇

2.独立冗余磁盘阵列 RAID

因为 数据总线发送data时只能1bit的发,so用串-并交换电路,能同时nbit

实现:多个独立的物理disk组成一个独立的逻辑盘

RAID的应用是在实现手段,安全性差距,等级越大越安全

(1)RAID0

无冗余的,无校验的磁盘阵列,(类比低位编址的多体存储器)

disa:不能检验,错了就错了

(2)RAID1

镜像磁盘阵列(有冗余,有检验)

disa:冗余50%,检验就比较另一份

(3)RAID2

采用可以纠错的海明码的磁盘阵列,,采用k位disk和n位海明校验码

 

eg:4个disk则最少需要3位海明校验码

reason:k+n位最多表示2^(k+n) -1种错误,有一种是没错

so  2^(k+n) -1 >= k+n

参考视频:

b占-里昂-海明码

(4)RAID3~RAID5(了解)

八、固态硬盘 SSD 111

1.原理

闪存技术 、可电擦除 

2.组成

闪存翻译层 + Flash Chips

3.读写性能

为单位读写(类比disk的块)

为单位进行擦除,擦完之后才能写,即使块中有空页,也不能写

支持随机访问

4. vs 机械接盘

SSD快、安静、贵,擦除次数太多就坏了

5.磨损均衡技术

因为擦除太多会损坏,so采用方法

(1)动态擦除 --选擦除次数min

(2)静态擦除 -- 读写需求大的使用擦除次数少的,只读的使用擦除次数多的

6. 联系 OS

九、Cache 115

1.工作原理

SRAM构建,将主存中的部分data先拷贝到Cache中,缓解CPU和主存之间的速度矛盾

2.局部性原理

时间和空间

3.性能分析

(1)Cache命中率、缺失率

Cache命中率 :CPU访问Cache的概率

H = Nc  /(Nc +Nm)

平均访问时间Ta= Htc + (1-H)(tc+tm)  先访问Cache再主存

平均访问时间Ta= Htc + (1-H)tm  同时访问

(2)方式

先访问Cache再主存;同时Cache 和主存

4.else(联系OS)

5.存在的question

(1)Cache与主存中data块的对应关系 

Cache与主存之间的映射关系

(2)Cache块小,满了咋办

Cache替换算法

(3)cpu修改Cache的data,则如何保持与主存中的原data的一致性

Cache写策略

十、主存与Cache之间的映射关系 118

1.Cache存放data格式

有效位+标记+整块data

有效位表示data是否有效,∵全0也可表示具体data

标记表示data在内存中的pos

2.全相联映射

随便放,有空就行

主存地址 = 块号 + 块内地址

adv:空间利用充分

disa:确定data在内存中的位置较慢

3.直接映射

地址号 mod 块号 ,位置唯一

映射到的块号 = 内存地址低位c

c = log2Cache块数

4.组相连映射

先将Cache块进行分组,然后直接映射入组,组内随意放空地方

十一、Cache的替换算法 122

1.随机算法(RAND)

当Cache满了之后,if有新的内存块要访问,随机替换一个Cache行中的data

2.先入先出(FIFO)

eg:4个Cache行,依次访问1,2,3,4,1,2,5,1,2,3,4,5主存块

绿色表示命中,红色代表替换,(中间相同ele省略)

[tip] 使用辅助队列

由图中后半部分发现频繁替换,称作抖动现象

3.最近最少使用算法(LRU)

替换在访问的前几个中没有使用的那一个

(1)手算

往前看,差1个

(2)机器

使用计数器,计数器表示已经几次没有访问该Cache行了,if命中,该块对应清0,else+1;if未命中,有空行,填入Cache,else+1,无空行,找max,剔除,该行置0,else+1

分步解析

此时Cache满了

到5应该替换3,此行置0,else+1

到了3,替换4

到了4,此时最大5,count=3,替换5

到了5,此时最大1,count=3,替换1

4.最不经常使用算法(LFU)

全局不常用,使用计数器,表示该行Cache访问次数。每次访问一个,if为空,放入Cache行,count+1,if不空,命中,+1,未命中,替换min,if有同,FIFO or 行数小的

逐步分解(先换行号小)

此时3Cache2 、3小,5替3

此时3替5

十二、Cache写策略 123

1.命中

(1)全写法

同时修改主存和Cache,存在速度矛盾,so使用写缓存,等止呕控制电路一块写入

(2)回写法

写入Cache,等Cache中该块被替换时,写入主存

2.未命中

未命中说明去主存中寻找,根据将data放不放入Cache进行分

(1)写分配法

放入Cache

(2)非写分配法

不放入Cache

Attn:非写分配法不放入Cache,全写法全修改,就不需要从主存放入Cache中了,so搭配使用

写分配 和 回写法搭配使用

3.多级Cache

再将Cache进行分级,级越高离CPU越近,容量越小,速度越快

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

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

相关文章

HTTP协议 快速入门

http概述 无状态性&#xff1a;HTTP是一个无状态协议&#xff0c;这意味着服务器不会在请求之间保存任何会话信息。每个请求都是独立的&#xff0c;服务器不会记住之前的请求。 请求-响应模型&#xff1a;HTTP通信是基于客户端发送请求和服务器返回响应的模型。客户端&#xf…

Python | 中心极限定理介绍及实现

统计学是数据科学项目的重要组成部分。每当我们想从数据集的样本中对数据集的总体进行任何推断&#xff0c;从数据集中收集信息&#xff0c;或者对数据集的参数进行任何假设时&#xff0c;我们都会使用统计工具。 中心极限定理 定义&#xff1a;中心极限定理&#xff0c;通俗…

Android低代码开发 - InputMenuPanelItem详解

我们知道MenuPanel是一个菜单面板容器&#xff0c;它里面可以放各式各样的菜单和菜单组。今天我们就来详细讲解输入菜单这个东西。 InputMenuPanelItem源码 package dora.widget.panel.menuimport android.content.Context import android.text.Editable import android.text…

系统集成项目管理工程师第9章思维导图发布

今天发布系统集成项目管理工程师新版第9章脑图的图片版

Nintex流程平台引入生成式人工智能,实现自动化革新

工作流自动化提供商Nintex宣布在其Nintex流程平台上推出一系列新的人工智能驱动改进。这些增强显著减少了文档化、管理和自动化业务流程所需的时间。这些新特性为Nintex流程平台不断扩展的人工智能能力增添了新的亮点。 Nintex首席产品官Niranjan Vijayaragavan表示&#xff1a…

使用React和GraphQL进行CRUD:完整教程与示例

在本教程中&#xff0c;我们将向您展示如何使用GraphQL和React实现简单的端到端CRUD操作。我们将介绍使用React Hooks读取和修改数据的简单示例。我们还将演示如何使用Apollo Client实现身份验证、错误处理、缓存和乐观UI。 什么是React&#xff1f; React是一个用于构建用户…

用python纯手写一个日历

一、代码 # 月份名称数组 months ["January", "February", "March", "April", "May", "June","July", "August", "September", "October", "November", &qu…

【Python/Pytorch - 网络模型】-- TV Loss损失函数

文章目录 文章目录 00 写在前面01 基于Pytorch版本的TV Loss代码02 论文下载 00 写在前面 在医学图像重建过程中&#xff0c;经常在代价方程中加入TV 正则项&#xff0c;该正则项作为去噪项&#xff0c;对于重建可以起到很大帮助作用。但是对于一些纹理细节要求较高的任务&am…

20.1 JSON-JSON接口以及在Go语言中使用JSON

1. 简介 JSON即JavaScript对象表示法(JavaScript Object Notation)&#xff0c;是一种用于存储和交换数据的格式&#xff0c;是一种可供人类阅读和理解的纯文本格式。 JSON既可以键值对的形式&#xff0c;也可以数组的形式&#xff0c;表示数据。 JSON最初是JavaScript的一个…

流媒体传输协议HTTP-FLV、WebSocket-FLV、HTTP-TS 和 WebSocket-TS的详细介绍、应用场景及对比

一、前言 HTTP-FLV、WS-FLV、HTTP-TS 和 WS-TS 是针对 FLV 和 TS 格式视频流的不同传输方式。它们通过不同的协议实现视频流的传输&#xff0c;以满足不同的应用场景和需求。接下来我们对这些流媒体传输协议进行剖析。 二、传输协议 1、HTTP-FLV 介绍&#xff1a;基于 HTTP…

【宠粉赠书】科研绘图神器:MATLAB科技绘图与数据分析

小智送书第二期~ 为了回馈粉丝们的厚爱&#xff0c;今天小智给大家送上一套科研绘图的必备书籍——MATLAB科技绘图与数据分析。下面我会详细给大家介绍这套图书&#xff0c;文末留有领取方式。 图书介绍 《MATLAB科技绘图与数据分析》是一本综合性强、内容丰富的书籍&#x…

实践分享:鸿蒙跨平台开发实例

先来理解什么是跨平台 提到跨平台&#xff0c;要先理解什么是“平台”&#xff0c;这里的平台&#xff0c;就是指应用程序的运行环境&#xff0c;例如操作系统&#xff0c;或者是Web浏览器&#xff0c;具体的像HarmonyOS、Android、iOS、或者浏览器&#xff0c;都可以叫做平台…

Python读取wps中的DISPIMG图片格式

需求&#xff1a; 读出excel的图片内容&#xff0c;这放在微软三件套是很容易的&#xff0c;但是由于wps的固有格式&#xff0c;会出现奇怪的问题&#xff0c;只能读出&#xff1a;类似于 DISPIMG(“ID_2B83F9717AE1XXXX920xxxx644C80DB1”,1) 【该DISPIMG函数只有wps才拥有】 …

阿里云服务器-Linux搭建fastDFS文件服务器

阿里云官网购买服务器&#xff0c;一般会有降价活动&#xff0c;这两天就发现有活动&#xff0c;99计划活动&#xff08;在活动期内&#xff0c;续费都是99元&#xff09; 阿里云官网-云服务器ECS 在这里&#xff0c;我购买了这台服务器&#xff0c;活动期内续费每年99元&…

javaweb 期末复习

1. JDBC数据库连接的实现逻辑与步骤以及JDBC连接配置&#xff08;单列模式&#xff09; public class JDBCUtil {// 这些换成自己的数据库 private static final String DB_URL "jdbc:mysql://localhost:3306/你的数据库名称";private static final String USER &q…

10分钟部署一个个人博客

关于vuepress这里没必要过多介绍&#xff0c;感兴趣的可以直接去官网了解&#xff0c;下面是官网首页地址截图 &#xff1a;https://v2.vuepress.vuejs.org/zh/ 透过这张图&#xff0c;我们也可以大致的对这个框架的特点有一定的认识&#xff0c;这就够了。其他的东西我们在使用…

vue3+ Element-Plus 点击勾选框往input中动态添加多个tag

实现效果&#xff1a; template&#xff1a; <!--产品白名单--><div class"con-item" v-if"current 0"><el-form-item label"平台名称"><div class"contaion" click"onclick"><!-- 生成的标签 …

WPF界面设计

1、使用C#-WPF实现抽屉效果-炫酷漂亮的侧边栏导航菜单-SplitViewMD主题重绘原生控件的美观效果-提供源码Demo下载 码源地址&#xff1a;https://download.csdn.net/download/Prince999999/89424685 2、使用C#-WPF实现抽屉效果-菜单导航功能实现&#xff0c;常规的管理系统应该…

使用itextPDF实现PDF电子公章工具类

一、制作公章 在线网站&#xff1a;印章生成器 - Kalvin在线工具 (kalvinbg.cn) 然后对公章进行下载保存 盖章图片&#xff1a; 二、生成数字签名 2.1&#xff1a; java工具keytool生成p12数字证书文件 Keytool是用于管理和证书的工具&#xff0c;位于%JAVA_HOME%/bin目录。…

【Python】Python 2 测试网络连通性脚本

文章目录 前言1. 命令行传参2. 代码 前言 最近在只有python2的服务器上部署服务&#xff0c;不能用三方类库&#xff0c;这里出于好奇心学习下python。这里简单做个脚本&#xff0c;实现了检验网络连通性的功能&#xff08;类似于curl&#xff09;。 1. 命令行传参 使用命令…