第 4章 存 储 体 系
4.1 存储体系的形成与性能
4.1.1 发展存储体系的必要性
1,存储器的主要参数
容量 SM=W·l·m
速度访问时间 TA 存储器从接到访存读申请,到信息被读数据总线上所需的时间。
存储周期 TM 连续启动一个存储体所需要的间隔时间。
通常 TM 大于 TA
1,存储器的主要参数带宽 指存储器可以提供的数据传送速率,
一般用每秒传送的信息位数或字节数来衡量。
分类,最大 带宽和实际带宽最大 带宽(单体) Bm=W/ TM
最大 带宽(多体) Bm=W·m / TM
价格分类,总价格 C 和每位价格 c
关系,c=C/SM
2.容量,速度和价格的矛盾及解决方法器件速度 并行存储系统 存储体系
4.1.2 并行主存系统频宽的分析
1,结构分类
单体单字结构 Bm=W/ TM
单体多字结构 Bm=W·m / TM
多体单字结构结构形式地址分布信息存储要求启动方式
多体多字结构
2.多分体主存系统性能分析
k:处理机连续访问主存地址中没有出现 2个或
2个以上地址不出现在同一分体的最长序列
m:分体个数
λ,给定指令的下条指令为非顺序地址的概率
B,k 的平均值 B=∑ k?p(k)
即每个主存周期所能访问到的字数
p(k)为申请序列长度为 k的概率密度函数用数学归纳法,B=∑ (1- λ )i 0≤i≤m -1
于是 1-(1-λ )m B=―――――
λB=f(λ )曲线
4.1.3 存储体系的形成
1.程序覆盖技术
2.存储体系的形成标准容量、速度和价格的要求
3.虚拟存储器的产生原因,主存容量的有限性,英国 Kilburn
1961年标志,程序员可以用机器指令的地址码对整个程序统一编址优点,程序空间大,程序员不必考虑主存容量是否可以满足程序长度要求,对应用程序员具有透明性
4.1.3 存储体系的形成
4.主存速度的问题及解决方法
通用寄存器
多体交叉并行存储器
Cache存储器构成 Cache— 主存层次
5.程序局部性
程序局部性的存在及意义
程序局部性分类
5.程序局部性
程序局部性分类时间局部性,最近未来要用的信息很可能是现在正在使用的信息 (循环程序引起 )
空间局部性,最近未来要用的信息很可能是与现在正在使用的信息在程序空间上是相邻或相近的 (指令的顺序执行,数据的簇聚性 )
存储体系的合理性基础存储层次的延伸,CPU可以访问的层次
4.1.4 存储体系的性能参数
1.存储层次的每位平均价格 (Cost)
2.命中率 (Hit Rate)
3.等效访问时间 (Access Time)
4.访问时间比 (Access Time Ratio)
5.访问效率 (Access Efficiency)
6.e=f(r,H)的关系图分析
4.2 虚拟存储器产生原因,大的程序空间与小的主存容量的矛盾,多道程序技术的要求
4.2.1 不同虚拟存储管理方式段式 页式 段页式
1.段式( Segmentation) 管理
定义,把主存按段分配的存储管理方式称为段式管理,
可能性与必要性
分段依据,程序的结构化,逻辑功能模块化
定位映象结构组成逻辑地址和主存实地址 — 映象关系
定位映象结构组成逻辑地址和主存实地址 — 映象关系段表结构及作用字段,段名 地址 装入位 段长 访问保护作用,反映各虚段是否在主存,若在给出其地址个数与位置,1个 /每道程序,在主存建立段表基址寄存器作用,给出系统已经建立的段表的首地址个数,一个段表基址寄存器组,N个寄存器字段数,段表长度 段表基地址由硬件组成
地址变换过程
占用区域表作用,反映整个主存被使用区域的情况个数,1个位置,主存变化情况,动态变化
可用区域表作用,反映整个主存的可使用区域的情况个数,1个位置,主存变化情况,动态变化
主存分配法首先分配法 最佳分配法
地址变换过程
优点:利于信息保护 共享信息利于模块化程序设计
缺点:段的起点随机,段表的地址字段必须足够长,以表示该绝对地址;碎片有时较大
透明性:对系统程序员不透明,对应用程序员基本透明
2.页式( Page) 管理
定义,把主存按页分配的存储管理方式称为页式管理,
主要动机
定位映象结构组成逻辑地址和主存实地址页表结构及作用字段,虚页号 主存起点 装入位 访问保护 专用位作用,反映各虚页是否在主存,若在给出其所在实页号个数与位置,1个 /每道程序,在主存建立
定位映象结构组成页表基址寄存器作用,给出系统已经建立的页表的首地址个数,一个页表基址寄存器组,N个寄存器字段数,页表长度 页表基地址由硬件组成
地址变换过程
主存页面管理表
优点:对应用程序员完全透明 页表硬件简单 地址变换快 碎片小
缺点:机械分割 碎片无法利用
3.段页式管理
方法,把主存机械地分割成固定尺寸的页,
程序按模块分段,每个段分成与主存页面大小相同的页。
目的:克服页式和段式管理方式的问题
定位映象结构组成段表基址寄存器作用,给出系统已经建立的段表的主存首地址个数,N个寄存器构成一个基址寄存器组
定位映象结构组成段表字段,页表起点 装入位 段长 访问方式作用,反映各虚段对应的页表是否在主存,给出其在主存页面号个数与位置,1个 /每道程序,在主存建立
虚地址与主存实地址的格式与变换格式地址变换过程
访问存储器的情况分析段式管理:访问段表 1次页式管理:访问页表 1次段页式管理:访问段表 1次,页表 1次
页表长超过页面的情况及处理方法超长情况的出现处理方法 — 表层次举例
4.2.2 页式虚拟存储器的构成
1,地址的映象和变换
地址格式
地址映象 将每个虚存单元按某种规则 (算法 )装入 (定位于 )实存,即建立多用户虚地址和主存实地址的对应关系,
种类:全相联直接相联组相联
4.2.2 页式虚拟存储器的构成
1,地址的映象和变换
地址变换 指程序按照地址映象关系装入主存后,在执行时,多用户虚地址如何变换成对应的实地址,
1,地址的映象和变换
页表及其利用率的提高作用:地址映象长度分析装入位为 0的空闲行的利用,实页号字段存放程序的该虚页在辅助存储器的实地址辅存实地址的格式相联目录表法 压缩页表行数,仅反映已装入主存的虚页与实页的对应 关系
1,地址的映象和变换
内页表及外页表外页表 存放用户虚页号和辅存实地址映象关系的表位置:外存建立:程序装入到辅存时建立数量,1个 /程序与(内)页表的关系,系统初始运行时复制外页表的内容到内页表的实页号地址字段
1,地址的映象和变换
页面失效的处理 CPU换道,调页
页面争用的处理 根据替换算法替换,
CPU换道,调页
4.2.2 页式虚拟存储器的构成
2,替换算法( Replacement Algorithm)
定义当出现页面争用时,选择主存中的哪一页作为被替换的页的策略即为替换算法。
替换算法的选择依据主存命中率高算法便于实现辅助软硬件成本低
种类随机法 先进先出法 近期最少使用法
2,替换算法
随机替换算法( RAND— Random)
使用软件或硬件的随机数发生器确定被替换的页特点:实现简单,主存命中率低
先进先出 替换算法( FIFO— First In First
Out)
按照主存页面使用的时间顺序确定被替换的主页实现方法,在 主存页面表 中设置计数器问题,不能很好地反映程序的局部性
近期最少使用 替换算法( LRU— Least
Recently Used)
选择近期最少访问的页作为被替换的页随机期法定期法,设置历史位 Hs的方法定期扫描主存页面表所有使用位使用位为 0时,Hs加 1,使用位不变使用位为 1时,Hs清零,使用位清零替换 Hs值最大的页面主存页面表 内容的扩充:增加修改位,减少写回辅存的概率
优化 替换算法( OPT— OPTimal )
方法:
在时刻 t 找出主存中每页将要用到的时刻,然后选择其中 ti-t 最大所对应的那页作为被替换的页。
实现,程序预先执行一次,确定页地址流用途,判断和评价其他替换算法的标准
替换算法的评价影响命中率的因素,替换算法 页地址流页面大小 主存容量具体举例( P140-141)
堆栈型 替换算法( OPT— OPTimal )
包含性质命中率,单调增加堆栈处理技术的模拟处理方法举例( P143)
页面失效频率( PFF— Page Failure
Frequency)
动态调整分配给每道程序的实页数,提高整个系统的性能
3.虚拟存储器工作全过程
4.2.3 页式虚拟存储器实现中的问题
1.页面失效的处理
页面失效页面失效与中断
处理方法异常的特殊性响应与处理的紧迫性处理方法后援寄存器预判技术
2.提高虚拟存储器等效访问速度的措施
加快地址变换过程快表与慢表快表的构成快表的访问快表的压缩用户位的作用快表内容的切换专用指令与透明性
2.提高虚拟存储器等效访问速度的措施
快表容量与命中率容量、命中率及价格的联系
2.提高虚拟存储器等效访问速度的措施
散列( Hashing) 方法原理实现:硬件快表散列冲突的预防失效的处理判相等与访内的重叠
实际应用举例
特殊的虚拟存储器
3.影响主存命中率和 CPU效率的因素分析
页面 Sp 容量 Sl 与 命中率 H 的关系
相邻两次访内逻辑地址间的距离 dr
容量 Sl 与 命中率 H 的关系
调度策略与 命中率 的关系请求式页面调度策略预取工作区调度策略多道程序时间片与页面大小及容量的关系程序的道数,3种模型
4.3 高速缓冲存储器( Cache)
用途,解决主存与 CPU速度差异的问题
4.3.1 基本结构
1,块的划分
2,Cache的基本机构
3,工作原理
4,器件类型与地理位置
5,流水方式的引入
6,Cache访内的优先级别
Cache 通道 写数 读数 取指令块 号 块内地址块号 块内地址
Cache-主存地址映象变换
Cache
替换策略
Cache
主存不命中命中还可以装入已不能装入访主存装入
Cache
单字宽单字宽多字宽至处理机来自处理机主存地址
Cache
地址访主替换 Cache
7,CPU与 Cache,主存的联系
直接通路的作用
写直达 /读直达
旁视存储器 — Cache的特性
主存的多体交叉结构
IBM 370/168 模 4交叉,8字节 /分体,32字节 /块
CRAY-1 模 16交叉,1字 /分体,16字节 /块
8,Cache技术的下移微处理机 Pentium 512KB 1MB 2MB
4.3.2 地址的映象与变换术语,地址映象 地址变换 块冲突
1.全相联映象与变换
映象方式
地址变换过程
相联目录表
特点块冲突概率最低,利用率高相联目录表成本高,速度较低
2.直接映象与变换
映象规则
区号的作用
地址变换过程
区号标志表
特点块冲突概率高,利用率低区号标志表简单,成本低
3.组相联映象与变换
分组与 映象规则组间直接 组内全 相联
组号、区号的作用
组 相联 地址变换过程
组 相联 地址映象表按地址与按内容访问的混合存储器
组相联映象与全相联映象及直接映象的联系
4,段相联映象 组间全相联 组内直接映象
4.3.4 Cache的透明性分析分组与 映象规则组间直接 组内全 相联
组号、区号的作用
组 相联 地址变换过程
组 相联 地址映象表个数,1个 /组访问方式,按地址与按内容访问的混合存储器
组相联映象与全相联映象及直接映象的联系
4,段相联映象 组间全相联 组内直接映象
4.3.4 Cache的透明性分析
1.实现 Cache与主存内容的一致性必要性
2.保持 Cache与主存内容的一致性的方法
写回法 块替换时发生
写直达法 CPU的值同时存入 Cache和主存
缓冲器的作用
写不命中的处理按写分配 — 写回法不按写分配 — 写直达法
2.保持 Cache与主存内容的一致性的方法
写回法与写直达法的可靠性后者优于前者
不同应用场合单处理机 — 写回法多处理机 — 写直达法
共享主存的多 CPU系统的一致性播写法控制某写共享信息不能进入 Cache
目录表法
主存内容变化与 Cache的一致性的处理方法
4.3.5 Cache-主存 -辅存存储层次
虚地址与主存实地址,Cache地址的变换
各层次映象表的访问方式虚地址分别(同时)变换成主存实地址,Cache地址同时访问主存快表和慢表及 Cache的映象表
各层次之间相关内容的一致性
页长与块长的关系
块长与字的关系
4.4 主存保护
主存保护及其意义防止主存中一个程序破坏主存中其它的程序防止主存中一个用户程序非法访问没有分配给它的主存区域防止程序访问方式与该主存区域的可访问方式的不一致
存储区域的保护地址加界方法 要求一个程序连续存储在主存
存储区域的保护地址加界方法虚拟存储器的区域保护页表保护实现,根据一个程序的虚页所分配到的实页区域的对应关系,限制可能产生的错误特点,利用虚拟存储器系统自身的保护机制在没有形成主存实地址前进行保护,
无法防止主存实地址形成过程中产生的错误
存储区域的保护虚拟存储器的区域保护键式保护术语:存储键( 1个 /页 一道程序一个 )
访问键( 操作系统确定 在 PSW或控制寄存器 )
实现方法,访问键与存储键匹配,不一致则访问别的程序的主存区域
IBM370的方法 4位保护键
‘ 0000’ 为操作系统的保护键
对运行的程序自身的保护环式保护上述保护方式均由硬件实现
对主存信息访问方式的保护主存信息的访问方式读( R) 写( W) 执行( E)
上述操作的组合及意义访问方式位的作用