本篇技术博文摘要 🌟
- 本章"存储系统"系统阐述了计算机存储体系的层次化设计与关键技术。
- 内容从存储器的分类与性能指标切入,详细分析了主存储器(SRAM、DRAM、ROM)的原理及其与CPU的连接方式,并介绍了磁盘、固态硬盘等外部存储器。
- 核心部分深入讲解了高速缓存(Cache)的工作原理、地址映射、替换算法和写策略,以缓解CPU与主存间的速度矛盾。
- 最后引入虚拟存储器概念,拓展了存储管理逻辑。全章揭示了通过多层次、不同特性的存储器协同工作,实现系统在速度、容量与成本间优化平衡的完整架构。
引言 📘
- 在这个变幻莫测、快速发展的技术时代,与时俱进是每个IT工程师的必修课。
- 我是盛透侧视攻城狮,一名什么都会一丢丢的网络安全工程师,也是众多技术社区的活跃成员以及多家大厂官方认可人员,希望能够与各位在此共同成长。

上节回顾
目录
[本篇技术博文摘要 🌟](#本篇技术博文摘要 🌟)
[引言 📘](#引言 📘)
[第三章 存储系统](#第三章 存储系统)
[3.2.1 主存储器的基本组成](#3.2.1 主存储器的基本组成)
[3.2.2 SRAM与DRAM](#3.2.2 SRAM与DRAM)
[栅极电容 V.S. 双稳态触发器](#栅极电容 V.S. 双稳态触发器)
[栅极电容 V.S. 双稳态触发器](#栅极电容 V.S. 双稳态触发器)
[DRAM v.s SRAM类型特点表格分析如下:](#DRAM v.s SRAM类型特点表格分析如下:)
[3.2.3 只读存储器ROM](#3.2.3 只读存储器ROM)
[3.3.1 主存储器与CPU的连接](#3.3.1 主存储器与CPU的连接)
[3.3.2 双端口RAM和多模块存储器](#3.3.2 双端口RAM和多模块存储器)
[3.4.1 磁盘存储器](#3.4.1 磁盘存储器)
[3.4.2 固态硬盘SSD](#3.4.2 固态硬盘SSD)
[机械硬盘 vs 固态硬盘](#机械硬盘 vs 固态硬盘)
[3.5.1+3.5.2 Cache的基本原理](#3.5.1+3.5.2 Cache的基本原理)
[3.5.3 Cache和主存的映射方式](#3.5.3 Cache和主存的映射方式)
[3.5.4 Cache替换算法](#3.5.4 Cache替换算法)
[3.5.5 Cache写策略](#3.5.5 Cache写策略)
[发生取指令 Cache缺失的处理过程是什么?](#发生取指令 Cache缺失的处理过程是什么?)
[关于 Cache的扩展知识](#关于 Cache的扩展知识)
[3.7.1 虚拟存储器的基本概念](#3.7.1 虚拟存储器的基本概念)
[3.7.3 快表(TLB)](#3.7.3 快表(TLB))
第三章 存储系统

3.1存储器概述
回顾------现代计算机的结构

3.1.1存储器的层次化结构
各层存储器的速度与价格
存储器的分类------层次
存储器的分类------存储介质
存储器的分类------存取方式
存储器的分类------信息的可更改性
存储器的分类------信息的可保存性
存储器的性能指标
本节主要问题解答
- 存储器的层次结构主要体现在何处?为何要分这些层次?计算机如何管理这些层次?
- 存储器的层次结构主要体现在 Cache-主存和 主存-辅存这两个存储层次上。
Cache-主存层次在存储系统中主要对CPU访存起加速作用,即从整体运行的效果分析,CPU访存速度加快,接近于 Cache的速度,而寻址空间和位价却接近于主存。
主存-辅存层次在存储系统中主要起扩容作用,即从程序员的角度看,他所使用的存储器的容量和位价接近于辅存,而速度接近于主存。- 综合上述两个存储层次的作用,从整个存储系统来看,就达到了速度快、容量大、位价低的优化效果。
主存与 Cache之间的信息调度功能全部由硬件自动完成。**而主存与辅存层次的调度目前广泛采用虚拟存储技术实现,即将主存与辅存的一部分通过软/硬结合的技术组成虚拟存储器,**程序员可用这个比主存实际空间(物理地址空间)大得多的虚拟地址空间(逻辑地址空间)编程,当程序运行时,再由软/硬件自动配合完成虚拟地址空间与主存实际物理空间的转换。因此,这两个层次上的调度或转换操作对于程序员来说都是透明的。- 存取周期和存取时间有何区别?
- 存取周期和存取时间的主要区别是:存取时间仅为完成一次操作的时间;
- 而存取周期不仅包含操作时间,而且包含操作后线路的恢复时间,即存取周期=存取时间+恢复时间。(这是不是也可以解释,为什么IC前端,时序分析中有建立时间和保持时间吧)
存取时间Ta就是存储周期Tm吗?
- 不是。存取时间Ta是执行一次读操作或写操作的时间,分为读出时间和写入时间。读出时间是从主存接收到有效地址开始到数据稳定为止的时间;写入时间是从主存接收到有效地址开始到数据写入被写单元为止的时间。
- 存储周期Tm是指存储器进行**连续两次独立地读或写操作所需的最小时间间隔。**所以存取时间Ta不等于存储周期Tm。通常存储周期Tm大于存取时间Ta。
本节知识回顾

3.2主存储器
3.2.1 主存储器的基本组成
基本的半导体元件及原理 
存储器芯片的基本原理



寻址

本小节回顾

3.2.2 SRAM与DRAM
- DRAM(动态RAM)用于主存,SRAM(静态RAM)用于Cache
- DRAM芯片:使用栅极电容存储信息
- SRAM芯片:使用双稳态触发器存储信息
DRAM芯片
栅极电容 V.S. 双稳态触发器
栅极电容 V.S. 双稳态触发器

DRAM v.s SRAM类型特点表格分析如下:

DRAM的刷新


DRAM的地址线复用技术
本节回顾
3.2.3 只读存储器ROM
了解各种ROM
计算机内的重要ROM

本小节回顾
3.3主存储器与CPU的链接
3.3.1 主存储器与CPU的连接
现在的计算机
运算器补充
- 译码器


- 注:CPU可使用译码器的使能端控制片选信号的生效时间
存储器芯片的输入输出信号 
增加主存的存储字长-位扩展 

增加主存的存储字数-字扩展
线选法 
译码片选线 


主存容量扩展-字位同时扩展
- ①可以存储低四位--(D0、D1、D2、D3)
- ②可以存储另四位--(D4、D5、D6、D7)

本小节回顾
3.3.2 双端口RAM和多模块存储器
存取周期
双端口RAM(了解即可)
多体并行存储器










应该取几个"体"?
多模块存储器
本小节回顾
知识扩展


3.4外部存储器
3.4.1 磁盘存储器
外存储器定义
3.4.1.1磁盘存储器-组成



3.4.1.2磁盘存储器-性能指标




3.4.1.3磁盘存储器-磁盘地址
3.4.1.4磁盘存储器-硬盘的工作过程

磁盘阵列(RAID)



本小节回顾
3.4.2 固态硬盘SSD
机械硬盘 vs 固态硬盘
固态硬盘的结构


理想情况下,固态硬盘的寿命
本小节回顾

3.5高速缓中存储器
3.5.1+3.5.2 Cache的基本原理
存储系统存在的问题
Cache的工作原理

局部性原理
性能分析

有待解决的问题


本小节回顾

3.5.3 Cache和主存的映射方式
有待解决的问题
全相联映射(随意放)






直接映射(只能放固定位置)






"直接映射"如何访存
组相联映射(可放到特定分组)






"组相联映射"如何访存
本小节回顾
3.5.4 Cache替换算法
有待解决的问题
替换算法解决的问题
随机算法(RAND)
先进先出算法(FIFO)
近期最少使用算法(LRU)













最不经常使用算法(LFU)






本小节回顾


3.5.5 Cache写策略
有待解决的问题
写命中


写不命中

多级Cache


本节主要问题解答
发生取指令 Cache缺失的处理过程是什么?
- 1)程序计数器恢复当前指令的值。
- 2)对主存进行读的操作。
- 3)将读入的指令写入 Cache中,更改有效位和标记位。
- 4)重新执行当前指令。
- Cache行的大小和命中率之间有什么关系?
- **行的长度较大,可以充分利用程序访问的空间局部性,使一个较大的局部空间被一起调到Cache中,因而可以增加命中机会。**但是,行长也不能太大,主要原因有两个:
- 1)行长大使失效损失变大。也就是说,若未命中,则需花更多时间从主存读块。
- 2)行长太大, Cache项数变少,因而命中的可能性变小
关于 Cache的扩展知识
- 1)多级 Cache。现代计算机系统中,一般采用多级的 Cache系统。CPU执行指令时,先到速度最快的一级 Cache( LI Cache)中寻找指令或数据,找不到时,再到速度次快的二级Cache(L2 Cache)中找...最后到主存中找。
- 2)指令 Cache和数据 Cache 。指令和数据可以分别存储在不同的 Cache中( LI Cache一般会这么做),这种结构也称哈佛 Cache,其特点是允许CPU在同一个 Cache存储周期内同时提取指令和数据,由于指令执行过程取指和取数据都有可能访问 Cache,因此这一特性可以保证不同的指令同时访存。
本小节知识回顾


3.6虚拟存储器
3.7.1 虚拟存储器的基本概念
虛拟存储器
页式虚拟存储器
本节主要问题解答
在虚拟存储器中,页面是设置得大一些好还是设置得小一些好?
- 页面不能设置得过大,也不能设置得过小。
- 因为页面太小时,平均页内剩余空间较少,可节省存储空间,但会使得页表增大,而且页面太小时不能充分利用访存的空间局部性来提高命中率;
- 页面太大时,可减少页表空间,但平均页内剩余空间较大,会浪费较多存储空间,页面太大还会使页面调入/调出的时间较长
3.7.2段式虚拟存储器
- 把程序按逻辑结构分段,每段再划分为固定大小的页,
- 主存空间也划分为大小相等的页,
- 程序对主存的调入、调出仍以页为基本传送单位。
- 每个程序对应一个段表,每段对应一个页表
- 虚拟地址:段号+段内页号+页内地址
3.7.3 快表(TLB)
页式虚拟存储器-例题

欢迎各位彦祖与热巴畅游本人专栏与技术博客
你的三连是我最大的动力
点击➡️指向的专栏名即可闪现
➡️计算机组成原理****
➡️操作系统
➡️****渗透终极之红队攻击行动********
➡️ 动画可视化数据结构与算法
➡️ 永恒之心蓝队联纵合横防御
➡️****华为高级网络工程师********
➡️****华为高级防火墙防御集成部署********
➡️ 未授权访问漏洞横向渗透利用
➡️****逆向软件破解工程********
➡️****MYSQL REDIS 进阶实操********
➡️****红帽高级工程师
➡️红帽系统管理员********
➡️****HVV 全国各地面试题汇总********


