考研计组chap3存储系统

news2025/1/9 16:41:29

目录

一、存储器的基本概念 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.coloradmin.cn/o/1820610.html

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

相关文章

Sui Bridge在测试网上线并推出10万SUI激励计划

是一种为Sui设计的原生桥接协议&#xff0c;专门用于在Sui与其他网络之间桥接资产和数据。今天&#xff0c;Sui Bridge宣布在测试网上线。作为一种原生协议&#xff0c;Sui Bridge能够在Ethereum和Sui之间轻松且安全地转移ETH、wBTC、USDC和USDT&#xff0c;使其成为Sui基础设施…

法考报名必看,99%高过审率证件照片电子版制作技巧

在2024年&#xff0c;法考备战已经如火如荼进行中&#xff0c;作为进入法律行业的第一步&#xff0c;参加法考的重要性不言而喻。而作为报名过程中必不可少的一环&#xff0c;报名照片要求以及证件照制作技巧更是需要我们特别重视的部分。想要在这个过程中顺利通过审核&#xf…

windows 下 docker 入门

这里只是具体过程&#xff0c;有不清楚的欢迎随时讨论 1、安装docker &#xff0c;除了下一步&#xff0c;好像也没有其他操作了 2、安装好docker后&#xff0c;默认是运行在linux 下的&#xff0c;这时我们需要切换到windows 环境下&#xff0c; 操作&#xff1a;在右下角d…

docker拉取镜像失败超时的解决方法,docker配置国内镜像源

更换国内源 创建或修改 /etc/docker/daemon.json 文件 安装docker后一般只有 /etc/docker 这个目录 下面并没有 daemon.json 文件 我们直接创建 &#xff1a; vim /etc/docker/daemon.json {"registry-mirrors" : ["https://registry.docker-cn.com"…

jfif格式怎么转换成jpg?关于将jfif转成jpg的几种方法

jfif格式怎么转换成jpg&#xff1f;JFIF格式是一种常见的图像文件格式&#xff0c;通常用于存储数字照片。然而&#xff0c;在某些情况下&#xff0c;你可能需要将JFIF格式转换为JPG格式。JPG格式是一种广泛使用的图像格式&#xff0c;它被支持和接受的程度比JFIF更高。PNG是一…

长沙干洗服务,打造您的专属衣橱

长沙干洗服务&#xff0c;用心呵护您的每一件衣物&#xff01;致力于为您打造专属的衣橱&#xff0c;让您的每一件衣物都焕发出独特的魅力。 我们深知每一件衣物都承载着您的故事和情感&#xff0c;因此我们会以更加细心的态度对待每一件衣物。无论是您心爱的牛仔裤&#xff0c…

虚拟化 之三 详解 jailhouse(ARM 平台)的构建过程、配置及使用

嵌入式平台下,由于资源的限制,通常不具备通用性的 Linux 发行版,各大主流厂商都会提供自己的 Linux 发行版。这个发行版通常是基于某个 Linux 发行版构建系统来构建的,而不是全部手动构建,目前主流的 Linux 发行版构建系统是 Linux 基金会开发的 Yocto 构建系统。 基本环…

Python基础教程(十六):正则表达式

&#x1f49d;&#x1f49d;&#x1f49d;首先&#xff0c;欢迎各位来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里不仅可以有所收获&#xff0c;同时也能感受到一份轻松欢乐的氛围&#xff0c;祝你生活愉快&#xff01; &#x1f49d;&#x1f49…

企业多云策略的优势与实施指南

企业在选择云服务提供商时&#xff0c;常见的选项包括亚马逊AWS、微软Azure、谷歌云GCP、阿里云、腾讯云和华为云。为了避免过度依赖单一供应商&#xff0c;许多企业选择采用多云策略&#xff0c;这样可以充分利用不同云服务的优势&#xff0c;同时避免重复工作和其他额外的工作…

16个不为人知的资源网站,强烈建议收藏!

整理了16个不为人知的资源网站&#xff0c;涵盖了课程学习、办公技能、娱乐休闲、小说音乐等多种资源&#xff0c;强烈建议收藏&#xff01; #学习网站 1、中国大学MOOC icourse163.org/ 这是一个汇集了国内顶尖大学免费课程资源的平台&#xff0c;众多985工程院校如北京大…

现代易货模式:重塑物品价值,引领交换新潮流

在日益繁荣的现代社会&#xff0c;物品交换文化正逐渐兴起&#xff0c;一种新型的交易模式——现代易货模式&#xff0c;正在成为市场的新宠。它不仅是对传统“以物易物”模式的现代化演绎&#xff0c;更是对物品价值再认识和交换方式创新的体现。 现代易货模式&#xff0c;简言…

人工智能入门学习教程分享

目录 1.首先安装python&#xff0c;官网地址&#xff1a;Download Python | Python.org&#xff0c;进入网址&#xff0c;点击Windows链接 2.下载完成之后&#xff0c;进行傻瓜式安装&#xff0c;如果不选安装路径&#xff0c;默认会安装到C:\Users\Administrator\AppData\Loc…

找不到xinput1_3.dll文件要怎么修复?有哪些有效修复xinput1_3.dll文件的方法

要解决xinput1_3.dll文件缺失的问题&#xff0c;首先我们需要对这个文件有所了解。理解了这个文件的性质和作用后&#xff0c;才能更科学、有效地解决因其丢失而导致的问题。那么接下来&#xff0c;让我们不浪费时间&#xff0c;直接深入研究如何修复xinput1_3.dll文件的最佳方…

三、网络服务协议

目录 一、FTP&#xff1a;文件传输协议 二、Telnet&#xff1a;远程登录协议 三、AAA认证 四、DHCP 五、DNS 六、PPP协议 七、ISIS协议 一、FTP&#xff1a;文件传输协议 C/S架构&#xff0c;现多用于企业内部的资料共享和网络设备的文件传输&#xff0c;企业内部搭建一…

pdf书签怎么做?这三款软件轻松驾驭文档!

在数字化时代&#xff0c;PDF文件已成为我们工作、学习中的重要组成部分。然而&#xff0c;面对海量的PDF内容&#xff0c;如何快速定位关键信息&#xff0c;提高阅读效率呢&#xff1f;答案就是——制作PDF书签。今天&#xff0c;我将为大家介绍三款实用的软件&#xff0c;助你…

人脸匹配——OpenCV

人脸匹配 导入所需的库加载dlib的人脸识别模型和面部检测器读取图片并转换为灰度图比较两张人脸选择图片并显示结果比较图片创建GUI界面运行GUI主循环运行显示全部代码 导入所需的库 cv2&#xff1a;OpenCV库&#xff0c;用于图像处理。 dlib&#xff1a;一个机器学习库&#x…

opencv-python(八)

import cv2 import numpy as npheight 160 width 280 image np.zeros((height, width),np.uint8) cv2.imshow(image,image) cv2.waitKeyEx(0) cv2.destroyAllWindows() 二维数组代表一幅灰度图像。 import cv2 import numpy as npheight 160 width 280 image np.zeros((he…

数据结构习题(快期末了)

一个数据结构是由一个逻辑结构和这个逻辑结构上的一个基本运算集构成的整体。 从逻辑关系上讲&#xff0c;数据结构主要分为线性结构和非线性结构两类。 数据的存储结构是数据的逻辑结构的存储映像。 数据的物理结构是指数据在计算机内实际的存储形式。 算法是对解题方法和…

.NET MAUI Sqlite程序应用-数据库配置(一)

项目名称:Ownership&#xff08;权籍信息采集&#xff09; 一、安装 NuGet 包 安装 sqlite-net-pcl 安装 SQLitePCLRawEx.bundle_green 二、创建多个表及相关字段 Models\OwnershipItem.cs using SQLite;namespace Ownership.Models {public class fa_rural_base//基础数据…

springboot和mybatis项目学习

#项目整体样貌 ##bean package com.example.demo.bean;public class informationBean {private int id;private String name;private String password;private String attchfile;public int getId() {return id;}public String getName() {return name;}public String getPas…