<计算机系统结构>CA5 存储体系

本文最后更新于:2023年4月17日 中午

CA5 存储体系

以下是一些能存放数据的存储介质:

  • 寄存器(Register):最快速的存储器
  • 高速缓冲存储器(Cache):其物理结构通过 静态随机存储器(SRAM)实现,速度快但集成度低。
  • 动态随机存储器(DRAM):内存(主存)
  • 只读存储器(ROM)
  • Flash Memory:分为 NOR Flash(一般用于程序存储,随机读写性能好但集成度低。)和 NAND Flash(一般用于数据存储,块读写好,集成度高)
  • SSD 硬盘:写入速度比读入速度慢
  • 磁盘(硬盘,Disk):通过电磁转换实现数据存取。
  • 光盘、磁带、软盘、云存储(网盘)等

不同存储介质的特性不同。选用生产与运行成本、容量、读写速度不同的多种存储介质,组成统一的系统,使每种介质处于不同地位,发挥不同作用,达成最优的性价比,就是存储系统的基本要求。

根据局部性原理设计层次存储器系统,有两个层次:

  • 主存 - 辅存 存贮层次:从整体上看,速度是主存的,容量是辅存的
  • Cache - 主存 存贮层次:从 CPU 看,速度是 Cache 的,容量是主存的

衡量存储层次的性能参数:

  • SS(容量)、TAT_A(访存时间)、CC(价格),则单位价格有 C=C1SM1+C2SM2SM1+SM2C=\dfrac{C_1S_{M_1}+C_2S_{M_2}}{S_{M_1}+S_{M_2}}

    HH(命中率)、R1R_1(访问 M1M_1 次数)、R2R_2(访问 M2M_2 次数),则命中率有 H=R1R1+R2H=\dfrac{R_1}{R_1+R_2}

    失效率 F=1HF=1-H平均访问时间 TA=HTA1+(1H)TA2T_A=HT_{A_1}+(1-H)T_{A_2}

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(未实现)、内存云


<计算机系统结构>CA5 存储体系
https://i-melody.github.io/2023/04/17/计算机系统结构/5 存储体系/
作者
Melody
发布于
2023年4月17日
许可协议