第四章 存储体系
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
为简化问题,下边只考虑一个二级存储系统,它 由存储器M1和M2组成。设在执行或模拟一段有代表 性的程序后,在M1和M2中访问的次数分别为R1和 R2,则M1的命中率为 H=R1/(R1+R2 ) CPU对整个存储系统的平均访问周期为: TA=HTA1+(1-H)TA2; HT 如果把存储层次中相邻两级的访问周期比值叫做 r=TA2/TA1, 又规定存储层次的访问效率e=TA1/TA,可以得出 : e=TA1/TA=TA1/(HTA1+(1-H)TA2) =1/(H+(1-H)r)=1/(r+(1-r)H)
1.段式管理 段式管理 程序都有模块性 模块性,一个复杂的大程序总可以分解成多 个在逻辑上相对独立的模块。模块大小各有不同,有的 甚至事先无法确定。每个模块都是一个单独的段,都以 该段的起点为0相对编址。当某个段由辅存调入主存时, 该段的起点为0相对编址 只要系统赋予该段一个基址 系统赋予该段一个基址(即该段存放在主存中的起始 地址),就可以由此基址和单元在段内的相对位移形成单 由此基址和单元在段内的相对位移形成单 元在主存中的实际地址。将主存按段分配的存储管理方 元在主存中的实际地址 式称为段式管理 段式管理。 为了进行段式管理,每道程序在系统中都有一个段( 映像)表来存放该道程序各段装入主存的状况信息。如图 4.11P90,段表中的每一项描述该道程序一个段的基本情 况,由若干个字段提供。段表本身就是一个段,一般常 驻主存,也可以存在辅存中,需要时再调入主存。相应 的,每一道程序都有一个段表基址寄存器。图4.11表示 了虚地址向主存物理地址转换的全过程。
3.段页式管理 段页式管理 段式管理和页式管理各有优缺点。页式对应用程序员 完全透明,所需映像表硬件少,地址变换速度快,调入 操作等方面都优于段式,而且在主存空间利用率上,页 式也优先于段式。 但是,段式管理中每个段独立,有利于灵活实现段的 连接、修改,易于针对特定类型实施保护。 段页式存储把实存等分成固定大小的页,程序按模块 把实存等分成固定大小的页,程序按模块 分段,每个段又分成与主存页面大小相同的页。每道程 分段,每个段又分成与主存页面大小相同的页 每道程 序通过一个段表和相应的一组页表进行定位。其具体的 序通过一个段表和相应的一组页表进行定位 定位映像机构及其地址变换过程如图4.14(P93)所示。 程序对主存的调入调出是按页面进行的, 程序对主存的调入调出是按页面进行的,但它又可以 按段实现共享和保护。因此,它结合了页式和段式的优 按段实现共享和保护 结合了页式和段式的优 点,是一种较好的虚拟存储体系结构。
4.1.3 存储Leabharlann Baidu系的形成与分支
基于程序覆盖的方法的多层存储系统,称为存储器系统 存储器系统, 而不是存储体系。随着I/O处理机的出现以及多道程序的发展, 一道程序的运行可以与另一道程序的调入调出同时进行,再加 上操作系统和硬件技术的发展,可以让程序设计者摆脱主、辅 存之间地址定位这一复杂工作,改由所增设的辅助软硬件来自 动完成,这样就构成了如图4.6所示的一个存储体系或存储层次 存储体系或存储层次。 这个存储体系速度上接近于主存、容量是辅存的,而每位价格 接近于辅存。 为了解决主存和CPU之间的速度差异问题,可以 1.在CPU中增设通用寄存器 2.存储器采用多体交叉技术 3.采用cache
4.2 虚拟存储器
4.2.1 不同的虚拟存储管理方式 4.2.2 页式虚拟存储器的形成 4.2.3 页式虚拟存储器实现中的问题
4.2.1 不同的虚拟存储管理方式
虚拟存储器是以存储器访问的局部性为基础,建立 在主\辅存体系上的存储管理技术。它的基本思想是通 基本思想是通 过某种策略,把辅存中的信息一部分一部分地调入主存, 过某种策略,把辅存中的信息一部分一部分地调入主存, 以给用户提供一个比实际主存容量大得多的地址空间来 访问主存。通常把能访问虚拟空间的指令地址码称为虚 访问主存 虚 拟地址或逻辑地址,而把实际主存的地址称物理地址或 拟地址或逻辑地址 物理地址或 实存地址。物理地址对应的存储容量称为主存容量或实 实存地址 存容量。 为协调程序的局部性和存储器区间管理,可以将存 储器分割成定长的块——页,以页为单位装入程序;也 可以按程序的模块大小将存储器分割成不定长的块—— 段;或者将页、段结合。因而可以形成常用的页式、段 式、段页式3种虚拟存储器。
4.1.1 发展存储体系的必要性
一般,对存储器的要求是大容量、高速度和低价格。 然而,存储器价格、速度和容量之间是相互冲突的。 在存储器件一定的情况下,容量越大,因其延迟增加 而会使速度降低。容量越大,存储器价格也越大;存 储器速度越高,价格也越高。 为满足系统对存储器性能的要求,人们一直在研究 如何改进工艺、提高技术、降低成本,生产出价格低 廉而速度更快的存储器件。但即使如此也无法做到仅 靠采用单一的生产工艺的存储器能同时满足容量、速 度和价格的要求。因此,系统就必须使用由多种不同 系统就必须使用由多种不同 工艺生产出来的存储器系统,使所有信息以各种不同 工艺生产出来的存储器系统 的方式分布在不同的存储器上。
2.页式管理 页式管理 由于段式存储中各段装入主存得起点是随意的 段式存储中各段装入主存得起点是随意的, 段表中的地址字段很长,必须能表示出主存中任意一 各段长度也是随意的,段长字段也 个绝对地址,加上各段长度也是随意的 很长。这增加了辅助硬件开销,降低了查表速度,使 主存管理困难,还会带来大的段间零头浪费 段间零头浪费,为此就 有了页式存储。 页式存储把主存空间和程序空间都机械等分成固 定大小的页,按页顺序编号。为进行整个主存空间的 定大小的页,按页顺序编号 设置了专门的主存页面管 管理,与段式类似,系统还设置了专门的主存页面管 理表,以指明主存中每个页面位置的使用状况及其他 理表 信息。 页式管理方式下的定位映像机构及其地址变换过 程如图4.13(P92)所示。 图4.13(P92)
4.1.4 存储系统的性能参数
在层次结构的存储系统中,某一级的命中率 命中率是指 对该级存储器来说,要访问的信息正好在这一级中的 概率,即命中的访问次数与总访问次数之比。其中, 最主要的是指CPU产生的逻辑地址能在内存中访问到 的概率。它同传送信息块的大小、这一级存储器的容 同传送信息块的大小、 量、存储管理策略等因素有关。在基于访问的局部性 存储管理策略等因素有关 而实现的存储器层次体系中,如果存储器的容量足够 大、系统调度得当,可以获得较高的命中率H。 评价存储体系的另一个更重要的指标是平均访问 平均访问 周期T 周期TA。它是与命中率关系密切的最基本的存储体系 的评价指标。
第4章 存储体系
4.1 存储体系概念与并行主存系统 4.2 虚拟存储器 4.3 高速缓冲存储器 习题
4.1 存储体系概念与并行主存系统
4.1.1 4.1.2 4.1.3 4.1.4 发展存储体系的必要性 并行主存系统频宽分析 存储体系的形成与分支 存储体系的性能参数
一般,对存储器的要求是大容量、高速度和低价格。 存储容量S 存储容量 M=W·L·m。其中,W为存储体的字长,L为存储体的 字数,m为并行工作的存储体数。 速度可以用访问时间 A、存储周期 M和频宽 M描述。TA是存 速度 访问时间T 存储周期T 频宽B 储器从接到访存读申请,到信息被读到数据总线上的时间,使 处理机启动访存后必须等待的时间,它是确定处理机与存储器 时间关系的一个重要参数。TM 是连续启动一个存储体所需要的 间隔时间,它一般总比TA 大。存储器频宽Bm 是存储器可提供的 数据传送速率,用每秒传送的信息位数或字节数衡量,又有最 最大频宽B 大频宽和实际频宽之分。最大频宽 m 是存储器连续访问时的频 宽。单体的Bm=W/TM ,m个存储体并行的最大频宽Bm=W·m/TM 。由 于存储器不一定能满负荷工作,故实际频宽往往低于最大频宽。 存储器价格包含了存储体及为该存储器操作所必须的外围 存储器价格 电路的价格,可用总价格C和每位价格c表示。c=C/SM。
容量、速度、成本的折衷,迫使存储系统不得不从经 济的角度考虑采用分层结构 采用分层结构,而存储器访问的局部性保 存储器访问的局部性保 证了分层结构在技术上的可用性。访问的局部性可分为 证了分层结构在技术上的可用性 时间上的局部性和空间上的局部性。时间上的局部性 时间上的局部性指 的是当前正在使用的信息很可能是后面立刻还要使用的 空间 信息,程序循环和堆栈等操作中的信息便是如此。空间 上的局部性是指连续使用到的信息很可能在存储空间上 上的局部性 相邻或相近,以顺序执行为主流的程序和数据(如数组), 便是如此。 访问的局部性是存储系统层次结构技术可行性的基础。 访问的局部性是存储系统层次结构技术可行性的基础 因为只有这样,才有可能把计算机频繁访问的信息放在 速度较高的存储器中,而将不频繁访问的信息放在速度 较低、价格也较低的存储器中。利用访问的局部性 , 可 利用访问的局部性, 以使访问第一级存储器的百分比很高, 以使访问第一级存储器的百分比很高 , 整个层次存储系 统的平均访问时间可以接近第一级的访问时间。 统的平均访问时间可以接近第一级的访问时间
4.1.2 并行主存系统频宽分析
P82 图 4.1 所 示 的 单 体 单 字 存 储 器 的 最 大 频 宽 Bm=W/TM。而要使主存的频宽提高使之与CPU速度匹配, 可以在同等条件下,提高存储器字长W。于是就有了类 似图4.2P82的单体多字存储器。 一个大容量的半导体主存往往是由许多容量较小、 字长较短的存储器片子组搭而成的,每个存储片子都 有自己的地址译码、读写驱动等外围电路。这样就有 了如图4.3P83所示的多体交叉访问存储器。 能并行读出多个CPU字的单体多字和多体单字、多 体多字的交叉访问主存系统统称为并行主存系统 并行主存系统。
层次结构存储系统所追求的目标应是e越接近1 越好。 层次结构存储系统所追求的目标应是 e越接近 1 越好 也就是说,系统的平均访问周期越接近较快的一级存储 器的访问周期(TA1)越好。e是r和H的函数,提高e可以从r 提高e可以从r 和H两个方面入手。 两个方面入手 (1) 提高H的值 提高H的值,即扩充最高一级存储器的容量。但 是这要付出很高的代价。 (2) 降低 r ,由图4.10(P88)可见,当r=100时,为使 降低r e>0.9,必须使H>0.998;而当r=2时,要得到同样的e, 只要求H>0.889。可见在层次结构存储系统中,相邻两级 存储器间的速度差异不可太大。通常Cache-主存层次中 r=5~10是比较合理的。实际应用的主存-磁盘(辅存)层 次中,r高达104 ,这是很不理想的。在半导体主存和磁 盘间有一个很大的空档。从r不能太大的角度看,最好有 一种速度、容量和价格介于其间的存储器作为中间的层 次。
优点:分段方法使大程序分模块编制,能使多个 优点 程序员并行编程,缩短编程时间,便于编译和执行; 便于几道程序共用已在主存中的程序和数据;宜于以 段的形式进行存储保护。 缺点:段的长度完全取决于段自身,段在主存中 缺点 的起点是随意的,这就给高效调入段分配主存区域带 来了困难;需要为每道程序分别设置段表,还得由操 作系统为整个主存系统建立一个包括占用区域表和可 用区域表两部分的实主存管理表。
很明显,提高模m的值,能提高主存系统的最大频 提高模m的值, 宽,但主存实际频宽并不随着m值得增大而线性提高。 但主存实际频宽并不随着m值得增大而线性提高 通过分析(P84-85)发现,由于程序的转移概率不会很 由于程序的转移概率不会很 低, 数据分布离散性较大,所以单纯靠增大m来提高 数据分布离散性较大,所以单纯靠增大m 并行主存系统的频宽是有限的, 而且性价比还会随m 并行主存系统的频宽是有限的, 而且性价比还会随 m 的增大而下降。如果采用并行主存系统还不能满足速 的增大而下降 度上的要求,就必须从系统结构上进行改进,采用存 储体系。