当前位置: 首页 > news >正文

考研计组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越近,容量越小,速度越快

相关文章:

  • Python爬虫实现“自动重试”机制的方法(2)
  • uniapp 展示地图,并获取当前位置信息(精确位置)
  • 《web应用技术》第十一次作业
  • Postman接口测试工具详解
  • 【逻辑回归】和【线性回归】的区别和联系-九五小庞
  • 【git使用四】git分支理解与操作(详解)
  • 快手爬票概述
  • node设置镜像源详细教程
  • SpringMVC的工作流程
  • 编程App软件优化是什么
  • 【知识点】std::thread::detach std::lock_guard std::unique_lock
  • 【CT】LeetCode手撕—121. 买卖股票的最佳时机
  • 在不使用js在情况下只用css实现瀑布流效果
  • 速盾:cdn加速怎么计费?
  • 二刷算法训练营Day29 | 回溯算法(5/6)
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • 《用数据讲故事》作者Cole N. Knaflic:消除一切无效的图表
  • ComponentOne 2017 V2版本正式发布
  • DOM的那些事
  • Effective Java 笔记(一)
  • httpie使用详解
  • js继承的实现方法
  • LeetCode29.两数相除 JavaScript
  • Redash本地开发环境搭建
  • Redis学习笔记 - pipline(流水线、管道)
  • 大主子表关联的性能优化方法
  • 关于Flux,Vuex,Redux的思考
  • 网页视频流m3u8/ts视频下载
  • 学习Vue.js的五个小例子
  • 再谈express与koa的对比
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • 1.Ext JS 建立web开发工程
  • Play Store发现SimBad恶意软件,1.5亿Android用户成受害者 ...
  • ​LeetCode解法汇总2583. 二叉树中的第 K 大层和
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • #微信小程序(布局、渲染层基础知识)
  • (13)DroneCAN 适配器节点(一)
  • (39)STM32——FLASH闪存
  • (zhuan) 一些RL的文献(及笔记)
  • (ZT)出版业改革:该死的死,该生的生
  • (二)【Jmeter】专栏实战项目靶场drupal部署
  • (生成器)yield与(迭代器)generator
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • (转)一些感悟
  • (转载)利用webkit抓取动态网页和链接
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .NET6实现破解Modbus poll点表配置文件
  • .NetCore项目nginx发布
  • .NET开发不可不知、不可不用的辅助类(三)(报表导出---终结版)
  • @RunWith注解作用
  • [ 数据结构 - C++]红黑树RBTree
  • [ 云计算 | AWS 实践 ] Java 如何重命名 Amazon S3 中的文件和文件夹
  • [\u4e00-\u9fa5] //匹配中文字符
  • [20180129]bash显示path环境变量.txt