存储体系
- 基本概念
- 存储系统的基本要求
- 层次存储器系统
- 存储层次的性能参数
- 虚拟存储器
- 部分加载
- 虚拟存储技术特征
- 虚拟存储技术必要的支持
- 三种存储管理
- 虚拟存储器工作全过程
- 高速缓冲存储器cache
- 映像规则&查找方法
- 替换策略,针对的是cache满的情况
- 随机法:实现简单
- FIFO先进先出
- 最近最少使用LRU
- 写入策略
- 一致性分析
- 写作废协议(作废法):当多个核操作同一cache时,一个核写入,其他核里数据作废,再更新内存
- 写更新协议 (播写法):当多个核操作同一cache时,一个核写入,告诉其他核更新数据。
- 性能分析:
- 使用cache后提升
- 三级存储体系
- 现代计算特点
基本概念
存储介质:寄存器、Cache(静态随机存储器)、DRAM(SDRAM动态同步随机存储器)、ROM(只读存储器)、flash(ROM和RAM结合)NOR Flash(随机性能比较 好,集成度低)NAND FLASH(块读取性好,集成度高)、SSD硬盘(固态硬盘,本质也是NAND FLASH,写入速度要比读速度慢)、磁盘(硬盘,靠的是电和磁间的转换来实现读取)、光盘(VCD\DVD\蓝光DVD)、磁带、软盘(淘汰)、云盘(网盘)
存储系统的基本要求
选用生产与运行成本不同的,存储容量不同的,读写速度不同的多种 存储介质,组成一个统一的存储器系统,使每种介质都处于不同的地位,发挥不同的作用,充分发挥各自存取速度,容量、成本方面的优势,从而达到最优的性价比,以满足使用要求。
层次存储器系统
原理:程序局部性原理,时间局部性和空间局部性。紧挨着数据或刚访问数据一会还要再访问。
主要是主存和辅存(以页面为单位,也就是内存和硬盘,主要满足空间的不足,提高容量)层次。还有cache和主存(以块为存储单位。主要是提高速度,速度是cache,容量是主存)层次。
存储层次的性能参数
s:容量
TA:访问时间
C:每位价格
虚拟存储器
主存与辅存进一步发展的结果,按照管理方式分为段式,页式和段页式
基于局部性原理,虚拟地址与物理地址之间转换,这个过程是一个动态的过程。
进程可分成几块(页,段),且这些块可分别存储在内存的不连续的区域里。
逻辑地址表示的内存空间即虚拟存储空间
部分加载
- 运行时进程的所有页段,不必都在内存里,只要下一条要执行的指令和下一个要访问的数据在内存里即可。
- 内存中可同时容纳更多的进程(每个进程只加载一部分)
- 进程可以比内存大(逻辑地址可以比物理地址大)
- 实现尽可能大的地址
虚拟存储技术特征
- 不连续性,物理内存分配的不连续
- 部分交换,虚拟存储的调入和调出是对部分虚拟地址空间进行的
- 大空间,总空间不超过物理内存和外存交换区容量之和
虚拟存储技术必要的支持
硬件支持:内存管理硬件必须要支持分页、分段
需要支持动态的地址转换
软件支持:OS必须管理内存与外存之间的段和页的移动
三种存储管理
段式管理:是一段,这一段不固定长
页式管理:一页是固定长
段页式管理:先按照段,每段里面再按照页管理。
核心要实现虚拟地址到物理地址的转换;段式:通过段号+基址+段内偏移就是物理地址
页式:通过用户进程号+基址查页表+页内偏移查物理
段页式:即有段表又有页表。
虚拟存储器工作全过程
主存是否命中,辅存是否命中
虚拟地址,转成物理地址,在不在主存?在,直接命物理地址访问主存,不在主存,外部地址的转换(把虚地址转成辅存地址),在辅存上找,找到后,调入主存。(这个过程要看主存是否满,满了话,用替换算法)
高速缓冲存储器cache
实质上是主存的子集。组成部分:
- 有效位字段:标识数据字段和标志字段的是否有效
- 标志字段:保存相应主存单元的地址信息
- 数据字段:保存从主存单元复制过来的数据
映像规则&查找方法
- 全相联:主存中一块可以放在cache中任何一个位置,冲突最小,硬件成本比较高。
- 直接相联:内存中划分为相应的cache大小的不同区,一个区只有唯一个cache区与它对应。
- 组相联:与直接相联类似,只不过就是cache区分成了组,内存一个区对应cache中唯一一个组号。然后从组里面,再比较有没有。
替换策略,针对的是cache满的情况
- 直接映象:别无选择
- 组相联和直接相联,有多个cache区,就需要替换算法
随机法:实现简单
FIFO先进先出
最近最少使用LRU
写入策略
- 写回法:只写入cache,仅当cache被替换时,才写回主存
- 写直达法:不仅写入cache,而且写主存。
一致性分析
写作废协议(作废法):当多个核操作同一cache时,一个核写入,其他核里数据作废,再更新内存
写更新协议 (播写法):当多个核操作同一cache时,一个核写入,告诉其他核更新数据。
性能分析:
块的大小、组的大小与cache容量对cache命中率影响 ,如下图:
使用cache后提升
三级存储体系
现代计算特点
- 多数计算机既有虚拟存储器,又有cache存储器
- 程序用虚拟地址访存
- 要求速度接近于cache,容量是辅存的,因此,实现三级存储可以有三种实现方式,物理地址cache、虚地址cache、全cache
- 程序用虚拟地址访存
- 要求速度接近于cache,容量是辅存的,因此,实现三级存储可以有三种实现方式,物理地址cache、虚地址cache、全cache