编辑: 丶蓶一 2019-07-05
计算机组成原理 COD第5章 虚拟存储器 llxx@ustc.

edu.cn 本章内容 ?COD4第5.4节 ?实方式 vs 虚方式 ?页式虚存管理机制 ?TLB MMU ?MMU ?层次化:TLB-Cache-Memory-Disk 三级存储体系结构 ? 三级存储系统: C 缓存 C 主存 C 辅存 ? 缓存-主存层次 C 映射、查找、读写,替换 CPU 高速缓存 Cache C 映射、查找、读写,替换 ? 主存-辅存层次 C 映射、查找、读写、替换 Cache 主存 辅存 辅助硬件 辅助硬件和软件 Everything is a cache of others 实模式访存:存储器物理地址 虚拟存储系统(Virtual memory) ? 1961年曼彻斯特大学提出 C 程序要求的存储器空间越来越大 ? 虚存 = 主存 + 辅存 C例:CPU地址总线64位,主存4G,磁盘100G C 多任务间的代码和数据访问保护 C 多任务间的代码和数据访问保护 ? 现代虚拟存储系统:将主存作为外存的缓存 C 虚存由硬件(MMU)和OS存储管理器共同管理 ? 使对辅存的访问速度接近主存的速度 C 不同应用具有不同的地址空间和访问权限 ? 程序的地址空间是以

0 地址起始的线性地址集合 ? 这个空间中的地址都是相对地址,也称为逻辑地址. 多任务系统虚存空间划分示例-wince 程序逻辑地址空间与内存物理地址空间 Demand Paging (按需分配) 虚实页大小相等. OS在创建进程时,为其建立页表和disk上的VA空间. HW translates virtual addresses to physical addresses via an OS-managed tab, the page map. Backing Store

10 (a) Paging to static swap area (b) Backing up pages dynamically 虚拟存储器技术的关键问题 ? 访存过程:映射、查找、读写、替换 C 程序的虚空间存在于辅存中,主存只是其镜像,称 页框 ? 映射:虚拟存储器地址空间管理方式 C 页式管理:虚存和主存都划分成固定大小的页 C 段式管理:段为程序的逻辑单位 ? 段表结构: 段名、地址、装入位、段长、访问方式 ? 段表基址寄存器:指明段表的启始地址. ? 段表基址寄存器:指明段表的启始地址. C 段页式管理 ? ? 虚存管理实现机制: 虚存管理实现机制:由MMU+OS实现,对应用透明 C 查找TTW:基于表进行地址变换和查找 ? 保证不同进程的虚拟地址不会映射到相同的物理地址上 ? 地址变换速度:TLB(Translation Look-Aside Buffers) C Page Fault:页面失效,缺页 ? 决定把作业的虚拟地址空间的哪一部分装入主存,以及放在主存的 什么位置;

C 替换:主存空间不够时把哪一部分置换出主存 虚拟地址空间 外存地址空间 虚存页= 内存页= 外存扇区 存储单元(字)地址 = 页基址 + 偏移 例:页式虚存,内存,外存 交换区 swap 独占页 共享页 内存地址空间 独占页 独占页 交换区(swaping): ?以文件形式驻留在disk上 ?大小=所有进程的虚空间之和? ?(每个进程的虚空间都驻留在disk上) ?按页与内存进行交换 文件区 页表:虚实映射 ? 实现虚地址与内存地址或磁盘地址的映射 C 虚实页大小相等 ? OS创建:每个进程一个,存放于内存中 C 保证每个进程的不同虚拟地址不会映射到相同的物理地址! C 同时运行的多个进程的物理内存尽量不要相互重叠! ? page table entry format ? page table entry format C 控制位 ? Valid:装入 C 未装入页:disk地址 ? Dirty ? Count/Ref C Access Rights ? read/write/modify ? 作用:页保护 C page frame number (PFN) ? Disk address ? VPN is the index of the tab C virtual page number (VPN) ? 页表含多少项?多大? Address Translation:TTW 例:page table entry format &

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题