<计算机系统结构>CA5 存储体系
本文最后更新于:2023年4月17日 中午
CA5 存储体系
以下是一些能存放数据的存储介质:
- 寄存器(Register):最快速的存储器
- 高速缓冲存储器(Cache):其物理结构通过 静态随机存储器(SRAM)实现,速度快但集成度低。
- 动态随机存储器(DRAM):内存(主存)
- 只读存储器(ROM)
- Flash Memory:分为 NOR Flash(一般用于程序存储,随机读写性能好但集成度低。)和 NAND Flash(一般用于数据存储,块读写好,集成度高)
- SSD 硬盘:写入速度比读入速度慢
- 磁盘(硬盘,Disk):通过电磁转换实现数据存取。
- 光盘、磁带、软盘、云存储(网盘)等
不同存储介质的特性不同。选用生产与运行成本、容量、读写速度不同的多种存储介质,组成统一的系统,使每种介质处于不同地位,发挥不同作用,达成最优的性价比,就是存储系统的基本要求。
根据局部性原理设计层次存储器系统,有两个层次:
- 主存 - 辅存 存贮层次:从整体上看,速度是主存的,容量是辅存的
- Cache - 主存 存贮层次:从 CPU 看,速度是 Cache 的,容量是主存的
衡量存储层次的性能参数:
-
(容量)、(访存时间)、(价格),则单位价格有
(命中率)、(访问 次数)、(访问 次数),则命中率有
失效率 ,平均访问时间
CA5.1 虚拟存储器
虚拟存储器是 主存 - 辅存 进一步发展的结果。基于局部性原理,实现虚拟地址(逻辑地址)与物理地址间的转换。逻辑地址表示的内存空间即虚拟存储
按管理方式分为:段式、页式、段页式
虚拟存储的好处是 部分加载。
- 运行时,进程的所有 页/段 不必都加载到内存中
- 内存中可容纳更多进程
- 进程可以比内存大(逻辑地址可以比物理地址大)
- 虚拟存储可以实现更大的内存空间
虚拟存储技术的特性:
- 不连续性:物理内存分配不连续
- 部分交换:虚拟存储调入调出是对部分虚拟地址空间进行的
- 大空间:总容量不超过物理内存与外存交换区容量之和
虚拟存储技术必须要硬件、软件方面的支持:
- 硬件支持:内存管理硬件必须支持 分页/分段
- 软件支持:OS 必须管理内存与外存间段和页的移动
CA5.2 高速缓冲存储器 Cache
Cache 存储单元的组成有三部分:
- 有效位字段(1 bit,标识数据字段和标志字段是否有效)
- 标志字段(tag,保存响应主存单元的地址信息)
- 数据字段(保存从主存单元复制过来的数据)
Cache 中的映像规则有三种:
- 全相联:主存的块可以映射到 Cache 的任意位置。硬件实现困难
- 直接相连:主存的块可以映射到 Cache 的指定位置
- 组相联:主存的块可以映射到 Cache 中指定组的任意位置
组相联、全相联结构下,Cache 中的替换算法有:随机、先进先出(FIFO)、最近最少使用(LRU)
从 Cache 写入主存的策略也有几种:
- 写回法:写入时,只写入 Cache。直到该 Cache 块被替换,才将其写入内存
- 写直达法:利用 Cache 与处理机与主存间的直接通路,每当写入 Cache 时,也通过此通路写入内存
多处理器读写可能引起 Cache 一致性的问题。为解决一致性问题,提出了两种协议:
- 写作废协议(作废法):写入数据后,其他处理器 Cache 中同一数据作废
- 写更新协议(播写法):写入数据后,其他处理器 Cache 中同一数据一并更新。该方法带宽消耗较大
CA5.3 三级存储体系
现代计算机的特点:既有虚拟存储器,也有 Cache 存储器。程序用虚地址保存。要求速度接近 Cache,容量是辅存容量。
因此,现代计算机的存储层次分为:
-
Cache - 主存 层次
主要由专用硬件(北桥)实现,弥补了主存速度的不足。CPU 对第二级(主存)可直接访问,失效(未命中)时 CPU 不切换。
-
主存 - 辅存 层次
主要由软件实现,弥补了主存容量的不足。CPU 对第二级(辅存)的访问通过第一级(主存)进行,失效(未命中)时 CPU 切换其他进程。
可以用以下几种方式:物理地址 Cache(以物理地址访问 Cache)、虚地址 Cache(以虚地
址直接访问 Cache)、全 Cache(未实现)、内存云