第3章存储器体系结构 内容提要: 随着计算机和微电子技术的发展,存储器无论是其器件还是体系 结构都发生了很大的变化。本章首先介绍存储器层次结构、性能参数、 多体并行存储器及磁盘阵列的基本概念与组成方式,然后讲述高速缓 冲存储器 Cache的组成与工作原理、虚拟存储器的构成与管理方式以 及存储器保护措施。重点是存储器性能参数、多体并行存储器、磁盘 阵列的组成方式、 Cache的组成原理与地址映象、 Cache的置换策略与 主存更新、虚拟存储器组成与管理方式。难点是 Cache的地址映象 Cache的置换策略与主存更新、虚拟存储器的组成与段页式管理
第3章 存储器体系结构 • 内容提要: 随着计算机和微电子技术的发展,存储器无论是其器件还是体系 结构都发生了很大的变化。本章首先介绍存储器层次结构、性能参数、 多体并行存储器及磁盘阵列的基本概念与组成方式,然后讲述高速缓 冲存储器Cache的组成与工作原理、虚拟存储器的构成与管理方式以 及存储器保护措施。重点是存储器性能参数、多体并行存储器、磁盘 阵列的组成方式、Cache的组成原理与地址映象、Cache的置换策略与 主存更新、虚拟存储器组成与管理方式。难点是Cache的地址映象、 Cache的置换策略与主存更新、虚拟存储器的组成与段页式管理
第3章存储器体系结构 3.1概述 32高速缓冲存储器 Cache 33虚拟存储器 3.4存储器保护措施
第3章 存储器体系结构 3.1 概 述 3.2 高速缓冲存储器Cache 3.3 虚拟存储器 3.4 存储器保护措施
3.1概述 31.1存储器的层次结构 3.1.2基本概念与性能参数 3.1.3多体并行存储器 3.1.4磁盘阵列
3.1 概 述 3.1.1 存储器的层次结构 3.1.2 基本概念与性能参数 3.1.3 多体并行存储器 3.1.4 磁盘阵列
3.1.1存储器的层次结构 存储器是计算机的主要部件之一,其容量、速度、价格是存储 器设计时所要考虑的三个要素。近年来出现了许多种类型的存储器, 它们各有特色,有的速度快,但容量小;有的容量大,但速度慢。 般而言,速度快的存储器容量小,位价格高。 目前,存储器按照存储介质可分为半导体存储器、磁表面存储 器和光存储器等。其中半导体存储器容量小,速度快,位价格高,常 用作主存。磁表面存储器有磁盘和磁带,属于非易失存储器,容量大, 位价格低,信息可以长久保存。光存储器容量也很大,位价格也很低, 信息也可以长久保存
3.1.1 存储器的层次结构 存储器是计算机的主要部件之一,其容量、速度、价格是存储 器设计时所要考虑的三个要素。近年来出现了许多种类型的存储器, 它们各有特色,有的速度快,但容量小;有的容量大,但速度慢。一 般而言,速度快的存储器容量小,位价格高。 目前,存储器按照存储介质可分为半导体存储器、磁表面存储 器和光存储器等。其中半导体存储器容量小,速度快,位价格高,常 用作主存。磁表面存储器有磁盘和磁带,属于非易失存储器,容量大, 位价格低,信息可以长久保存。光存储器容量也很大,位价格也很低, 信息也可以长久保存
1存储器访问中的局部性原理 研究发现,程序在运行的过程中(80~90)%时间是在执行(10 20)%的程序代码,即局部性原理。表现为两个方面。 (1)时间局部性∶如果一个存储项被访问,则该存储项可能很快再 次被访问。 (2)空间局部性∶如果一个存储项被访问,则该项及其相邻项可能 很快被一起访问 形成这种局部性的原因在于程序的顺序执行和所包含的循环程序。 2存储器的层次结构 为满足CPU对高速大容量存储器的需求,又不过高地增加成本。无 论是巨型机、大型机、中小型还是微型计算机,都采用层次化的存储器 体系结构,其表示如图3.1所示
1.存储器访问中的局部性原理 研究发现,程序在运行的过程中(80~90)%时间是在执行(10~ 20)%的程序代码,即局部性原理。表现为两个方面。 (1)时间局部性:如果一个存储项被访问,则该存储项可能很快再 次被访问。 (2)空间局部性:如果一个存储项被访问,则该项及其相邻项可能 很快被一起访问. 形成这种局部性的原因在于程序的顺序执行和所包含的循环程序。 2.存储器的层次结构 为满足CPU对高速大容量存储器的需求,又不过高地增加成本。无 论是巨型机、大型机、中小型还是微型计算机,都采用层次化的存储器 体系结构,其表示如图3.1所示
寄存器一般与CP制作在一起,其速度与CPU-致但数量有限。 高速缓冲存储器( Cache)般由双极型器件构成,容量小,界于CPU 和主存储器之间,速度与CPU匹配,用来存放(10~20)%的常用程序或数 据。 主存多由半导体存储器构成,与CPU直接连接,容量较大。 外存由非易失的存储器构成,容量很大,有时也称为海量存储器,用 来存储暂不执行的程序或不被处理的数据。 CPU 寄存器 Cache 主存储器 外存储器 图3.1多层存储器结构
图3.1 多层存储器结构 寄存器一般与CPU制作在一起,其速度与CPU一致,但数量有限。 高速缓冲存储器(Cache)一般由双极型器件构成,容量小,界于CPU 和主存储器之间,速度与CPU匹配,用来存放(10~20)%的常用程序或数 据。 主存多由半导体存储器构成,与CPU直接连接,容量较大。 外存由非易失的存储器构成,容量很大,有时也称为海量存储器,用 来存储暂不执行的程序或不被处理的数据
3.1.2基本概念与性能参数 1基本概念 在CPU工作时,首先从 Cache中读取指令或数据。如果能从 Cache获 得指令或数据,称为命中(Ht);否则称为未命中或者失效(Miss,这时需要 访问主存,从主存中获取指令或数据,同时传送到上层的 Cache中。 若在主存中未能获取指令或数据,则称访问主存失效或未命中,这 时再去访问外存。 一般情况下,上层所存储的信息是下层存储器中的一个子集,或者说是 下层的映像。在 Cache与主存之间传送信息,常以块或者页为单位;在主存 与外存之间常以文件为单位。为了说明各层之间的关系和一些基本概念, 下面以图3.2为例进行说明
3.1.2 基本概念与性能参数 1.基本概念 在CPU工作时,首先从Cache中读取指令或数据。如果能从Cache获 得指令或数据,称为命中(Hit);否则称为未命中或者失效(Miss),这时需要 访问主存,从主存中获取指令或数据,同时传送到上层的Cache中。 若在主存中未能获取指令或数据,则称访问主存失效或未命中,这 时再去访问外存。 一般情况下,上层所存储的信息是下层存储器中的一个子集,或者说是 下层的映像。在Cache与主存之间传送信息,常以块或者页为单位;在主存 与外存之间常以文件为单位。为了说明各层之间的关系和一些基本概念, 下面以图3.2为例进行说明
存储器层次关系 CPU MI M …M;|… M, 图3.2存储器层次关系 图中M表示不同的存储器,靠近CPU的(M1)速度快,容量小,位价格高 远离CPU的(M速度慢,容量大,位价格低。若以5、C、T分别表示存储 器M的容量、位价格和访问时间,则 S <s < ①根据时间局部性,M级存储器般只存放M级中近期使用过的数据 块或页; ②根据空间局部性,在从M级存储器读取一个字并送往M级时,一般 把该字所在的块或页整体送往M级,以提高CPU访问M级时的命中率
图3.2 存储器层次关系 图中Mi表示不同的存储器,靠近CPU的(M1 )速度快,容量小,位价格高; 远离CPU的(Mn )速度慢,容量大,位价格低。若以Si、Ci、Ti分别表示存储 器Mi的容量、位价格和访问时间,则: Si<Si+1 Ci>Ci+1 Ti<Ti+1 ① 根据时间局部性,Mi级存储器一般只存放Mi+1级中近期使用过的数据 块或页; ② 根据空间局部性,在从Mi+1级存储器读取一个字并送往Mi级时,一般 把该字所在的块或页整体送往Mi级,以提高CPU访问Mi级时的命中率
2性能参数 常用参数有4个,即命中率、等效访问时间、平均位价格和访问效 率,分别用从7C和e示。 (1)命中率H 通常是把在M级访问成功的概率称为该级的命中率,用表示, 一般用模拟的方法来确定,即测试程序,分别统计出访问成功的次数 N和不成功的次数M,则命中率为 若用表示失效率或未命中率,则F1-H
2.性能参数 常用参数有4个,即命中率、等效访问时间、平均位价格和访问效 率,分别用H、T、C和e表示。 (1)命中率H 通常是把在Mi级访问成功的概率称为该级的命中率,用H来表示, 一般用模拟的方法来确定,即测试程序,分别统计出访问成功的次数 N1和不成功的次数N2,则命中率为: H= N1 N1+N2 若用F表示失效率或未命中率,则F=1-H
(2)等效访问时间7 等效访问时间也称为访问周期。以主存-辅存二级存储器系统为例 7表示访问M1成功所用的时间(即一个读写周期);而表访问失效所 用的时间,它不仅是访问M2所用的时间2,而目要从M2中读出一个数据块 (或页)送入M1,再从M中读出所需要的字,因此7m应当包括这一过程的 全部时间。这样,主存-辅存构成的二级存储器系统的等效访问时间为: 7=H71+(1-)7m (3.1) 当命中率近似于1时,等效访问时间近似于7 但是,由于在上一级存储器中访问的命中率一般都很高,为了简单 起见常用访问M2的时间万来代替T。这样 =H71+(1-)72
(2)等效访问时间T 等效访问时间也称为访问周期。以主存---辅存二级存储器系统为例, T1表示访问M1成功所用的时间(即一个读/写周期);Tm表示访问失效所 用的时间,它不仅是访问M2所用的时间T2,而且要从M2中读出一个数据块 (或页)送入M1,再从M1中读出所需要的字,因此Tm应当包括这一过程的 全部时间。这样,主存---辅存构成的二级存储器系统的等效访问时间为: T=HT1+(1-H)Tm (3.1) 当命中率H近似于1时,等效访问时间近似于T1。 但是,由于在上一级存储器中访问的命中率一般都很高,为了简单 起见常用访问M2的时间T2来代替Tm。这样 T=HT1+(1-H)T2