计算机组成原理第4章第五讲

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
地址映射通过一个段表和一组页表进行; 优点,可以兼取页式和段式系统的优点; 缺点,需要在地址映射过程中多次查表;
段页式虚存的地址变换过程
五、虚存的替换算法
当从辅存调页至主存而主存已满时,也需要进
行主存页面的替换。虚存的替换算法与Cache 类似,有FIFO算法、LRU算法等。
虚拟存储器的替换算法与cache的替换算法不
外页表
用于虚地址与辅存地址之间的变换;
当主存缺页时,调页操作首先要定位辅存,
而外页表的结构与辅存的寻址机制密切相关。 例如对磁盘而言,辅存地址包括磁盘机号、 磁头号、磁道号和扇区号等。
四、段页式虚拟存储器
段式和页式虚拟存储器的结合;
实存被等分成页,每个程序则先按逻辑结
构分段,每段再按照实存的页大小分页, 程序按页进行调入和调出操作,但可按段 进行编程、保护和共享;
三、硬磁盘存储器
1. 硬磁盘存储器的类型
(1) 固定磁头和移动磁头
(2) 可换盘和固定盘 2. 硬磁盘存储器结构
主 机 磁 盘 控 制 器 磁 盘 驱 动 器 盘 片
(1) 磁盘驱动器
主轴
磁盘
定位驱动
主轴
数据控制
磁头
磁 盘 组
读写臂 传动机构 由磁盘控制 器送来的目 标磁道信号 位置检测 放 模拟控制 定位驱动 大 闭环自动控制系统
音圈 电机
测 速 输

(2) 磁盘控制器
• 接收主机发来的命令,转换成磁盘驱动器的控制命令 • 实现主机和驱动器之间的数据格式转换 • 控制磁盘驱动器读写 磁盘控制器 是 对主机 通过总线 主机与磁盘驱动器之间的 接口 对硬盘(设备)
通过随时记录各字块使用情况,确定哪个字块是最 近最少用到的,算法复杂,命中率高
3. 随机法
用随机数产生器产生随机被替换的块,简单
虚拟存储器
一、概述
1、虚拟存储器
提供一种容量非常大的存储器 多任务所需存储器的总和大于实际存储器空间; 单个程序的地址空间超过了实际存储器; 地址空间 虚地址/逻辑地址:程序员编程使用的地址; 虚存空间/逻辑空间:虚地址对应的存储空间; 实地址/物理地址:物理内存的访问地址; 物理存储空间/主存空间:实地址对应的存储空间; 再定位:程序进行虚地址到实地址转换的过程;
3、虚拟存储器优点
根本优点 存储管理 保护 灵活
获得运行比物理存储器更大空间程序的能力
段式虚拟存储管理段长可变,可以适应 程序数据的特点,但容易造成“碎片”。 操作系统可对虚拟空间进行特定保护
程序的某部分可以装入主存的任意位置
提高存储效率 只在主存储器中保留最重要的部分 提高并行度 可扩展
构特性,而是从管理的角度人为划分的结果;
2、页式虚存地址映射
在大多数系统中,每个进程对应一个页表。页表
中每一个虚存页面对应一个表项,表项内容包含 该虚存页面所在主存页面的地址(物理页号), 以及指示该逻辑页是否已调入主存的有效位。
地址变换时,用逻辑页号作为页表内的偏移地址
索引页表(将虚页号看作页表数组下标)并找到 相应物理页号,用物理页号作为实存地址的高字 段,再与虚地址的页内偏移量拼接,就构成完整 的物理地址。现代的中央处理机通常有专门的硬 件支持地址变换。
虚页号
页表基地址 按 地 址 读
虚地址 (程序中给出) 页内地址 实地址 (读写内存用) 页内地址
+
实页号
实页号
控制位:包括修改位、替换位
有效位:表示该页是否已装入主存
页 表
(在内存中)控制位 有效位
页表内容和页式管理
页式虚拟存储器的地址映射过程
3、页式虚拟存储器的访问过程
操作系统得到程序给出的虚地址;

段表本身也是一个段,可以存在辅存中,但一般 驻留在主存中。
逻辑地址
段表基地址
+
段号
段内地址
+
段 表
主存实际地址
段始地址 段长 装入位
段表内容及其管理
段式虚存的地址映射过程
3、段式虚拟存储器的优点
段的分界与程序的自然分界相对应;
易于编译、管理、修改和保护,便于多道程序共享; 段长动态可变;
同的是:
cache的替换全部靠硬件实现,而虚存的替换由操作
系统的支持;
虚存缺页对系统性能的影响比cache未命中要大得多,
因为调页需要访问辅存,并要进行任务切换;
虚存页面替换的选择余地很大,属于一个进程的页
面都可替换。
辅助存储器
一、概述
1. 特点 不直接与 CPU 交换信息,容量大,速度慢
第四章 存储器
第5讲
主要内容
存储器概述 主存储器 高速缓冲存储器 虚拟存储器

概述 段式虚拟存储器
页式虚拟存储器
段页式虚拟存储器 虚存的替换算法

辅助存储器
Cache 的基本结构
地址总 线 主存块号 访问主存 替换Cache 块号 块内地址
Cache Cache 替换机构 替换机构

可装进?

命中?
主存Cache 主存Cache 地址映射 地址映射 变换机构 变换机构
主 存
访问主存装入Cache

是 Cache地址 块号 块内地址
CPU
直接通路
Cache Cache存储体 存储体
数据总 线
Cache – 主存的地址映射
不灵活,命中率低
直接
全相联 组相联
某一 主存块 只能固定 映射到 某一 缓存块
操作系统由虚地址得到虚页号;
访问页表,得到对应的实页号; 若该页已在内存中,则根据实页号得到
实地址,访问内存;
否则,启动输入输出系统,读出对应页
装入主存,再进行访问;
增加由硬件实现的快表,提高访问速度
4、快表
由于页表通常在主存中,因而即使逻辑页已经
在主存中,也至少要访问两次物理存储器才能 实现一次访存,这将使虚拟存储器的存取时间 加倍; 为了避免对主存访问次数的增多,可以对页表 本身实行二级缓存,把页表中的最活跃的部分 存放在高速存储器中,组成快表; 快表,专用于页表缓存的高速存储部件通常称 为快表,或转换后援缓冲器(TLB); 保存在主存中的完整页表则称为慢表。
虚地址 (程序中给出)
虚页号 页内地址
页表基地址
按 地 址 读
实地址
(读写内存用)
页内地址
+
实页号
实页号
慢 表
(在内存中)控制位 有效位
虚 页号
实 页号
比较(按内容选) 快表(专设硬件)
快表内容和页式管理
TLB的地址映射过程
5、内页表和外页表
内页表
页表是虚地址到主存物理地址的变换表,通
常称为内页表;
1. 磁记录原理 通过磁头和记录介质的相对运动完成读/写操作; 2. 磁表面存储器的记录方式
磁记录方式是指如何将一串二进制信息,通过读写电路变
换成磁层介质中的磁化翻转序列,是一种编码方法;
好的编码方法应该具备

更高的编码效率、自同步能力及读写可靠性等
常用的编码方式(RZ/NRZ/NRZ1/PM/FM/MFM)
相同点
出发点相同
二者都是为了提高存储系统的性能价格 比而构造的分层存储体系,都力图使存储系 统的性能接近高速存储器,而价格和容量接 近低速存储器。
原理相同
都是利用了程序运行时的局部性原理把 最近常用的信息块从相对慢速而大容量的存 储器调入相对高速而小容量的存储器。
5、虚存管理要解决的问题
调度问题 决定哪些程序和数据应被调入主存; 地址映射问题 在访问主存时把虚地址变为主存物理地址(这一过 程称为内地址变换);在访问辅存时把虚地址变成 辅存的物理地址(这一过程称为外地址变换),以 便换页。此外还要解决主存分配、存储保护与程序 再定位等问题; 替换问题 决定哪些程序和数据应被调出主存; 更新问题 确保主存与辅存的一致性;
改进的调频制(MFM)
只有连续两个或以上的“0”时,才在位周期的起始位置 翻转;
位周期 T 数据序列 0 1 RZ
1
1
0
0
0
1
0
NRZ
NRZ1 PM FM
MFM
常用磁记录方式波形图
例 NRZ1 的读出代码波形
数据序列 驱动电流 磁通变化 感应电势 同步脉冲 读出代码 0 1 1 0 0 1 0
2、虚存的访问过程
虚存空间的用户程序按照虚地址编程并存放在
辅存中;ຫໍສະໝຸດ Baidu
程序运行时,由地址变换机构依据当时分配给
该程序的实地址空间把程序的一部分调入实存;
每次访存时,首先判断该虚地址所对应的部分
是否在实存中:如果是,则进行地址转换并用 实地址访问主存;否则,按照某种算法将辅存 中的部分程序调度进内存,再按同样的方法访 问主存。
2)在全相联映射方式下,设计主存的地址;
主存字块标记 20 主存字块标记 9 组地址 11
字块内地址 2 字块内地址 2
3)在二路组相联方式下,设计主存地址;
三、Cache替换算法
1. 先进先出 ( FIFO )算法
最早调入Cache的字块最先替换,容易实现,开销小
2. 近期最少使用( LRU)算法
核心问题都在于处理数据的存放与调度
二、段式虚拟存储器
1、基本概念

核心问题在于设立 和管理段表
程序模块化设计的结果,即把程序中逻辑上相对独立
的部分(如过程、函数、数据表等)设计为不同的段, 再经过连接程序连接成更大的程序;
段表
主存中的可再定位的一段信息,用于变换程序中的逻
辑地址为主存单元的实际地址;

归零制(RZ) 线圈中正脉冲为“1”,负脉冲为“0”,信息位之间电流为零
不归零制(NRZ)
线圈中一直有正或负脉冲(包括两位信息位之间);
见1翻转的不归零制(NRZ1)
只有见到“1”才改变电流的方向;
调相制(PM)
用脉冲的边沿来表示“0”和“1”;
调频制(FM)
“1”:位周期中心和位与位之间都翻转; “0”:位周期中心不翻转,位与位之间翻转;
三、页式存储管理
1、基本概念
关键在于设置和管 理好页表
页式存储管理是把虚拟空间和主存空间都分成
大小相同的页(为2的整数幂个字),并以页为 单位进行虚存与主存间的信息交换; 虚存地址和主存地址分别被分为虚存页号、页 内地址和主存页号、页内地址,虚、实二页号 会不同,但使用相同的页内地址;
与段式存储管理不一样,页不是程序本身的结
某一 主存块 能 映射到 任一 缓存块 成本高
某一 主存块 只能 映射到 某一 缓存 组 中的 任一块 r=0时是直接映射方式; r=c 是全相联;
块的大小为B,B=2 字/字节 c Cache共有C块,C=2 m t 主存为M块,M=2 ,T=M/C,T=2 ,m=t+c

b
直接映射 主存字块/组标记 Cache字块地址 t位 c位 全相联映射
道密度 Dt 位密度 Db
2. 磁表面存储器的技术指标
(1) 记录密度 (2) 存储容量 (3) 平均寻址时间 辅存的速度 (4) 数据传输率 (5) 误码率 C=n×k×s 寻道时间 + 等待时间 寻址时间 磁头读写时间 Dr = Db × V
出错信息位数与读出信息的总位数之比
二、磁记录原理和记录方式
4、段式虚拟存储器的缺点
段长各不相同,起点、终点不定; 空间分配困难,容易产生碎片; 需要更多的硬件支持;
由于段长不一定是2的整数次幂,因而不能简单 用虚地址和实地址的最低若干二进制位作为段内偏移 量,并与段号进行直接拼接,必须用加法操作通过段 起址与段内偏移量的求和运算求得物理地址。因此, 段式比页式存储管理方式需要更多的硬件支持。
块内地址 b位
主存字块标记 t+c位 (即m位)
R路组组相联映射 R=2
r
块内地址 b位
主存字块标记 t+r位
组地址 c-r位
块内地址 b位
例2 主存容量4M×16位,Cache容量16K×16位, 块长4×16位,访存地址为字地址。
1)在直接映射方式下,设计主存地址;
主存字块标记 Cache字块地址 字块内地址 8 12 2
在进行段页替换的同时可以执行其它进程
为对象提供了扩展空间的能力
4、虚存与Cache的比较
Cache Cache主要目的是解决存储速度问题,使存 储器的访问速度不太影响CPU的运行速度。 单位时间内数据交换的次数较多,每次交换 的数据量较小,只有几个到几十个字节。 由硬件管理 虚存 “主存——辅存层次”,主要目的是解决存 储容量的问题。 单位时间内数据交换次数较少,但每次交换 的数据量大,达几十至几千字节。 由操作系统管理
2、段表
在段式虚拟存储系统中,虚地址由段号和段内地
址(偏移量)组成,虚地址到实主存地址的变换 通过段表实现; 每个程序设置一个段表,段表的每一个表项对应 一个段,每个表项至少包含下面三个字段:

有效位:指明该段是否已经调入实存。 段起址:指明在该段已经调入实存的情况下,该段在 实存中的首地址。 段长:记录该段的实际长度。设置段长字段的目的是 为了保证访问某段的地址空间时,段内地址不会超出 该段长度导致地址越界而破坏其他段。
相关文档
最新文档