计算机组成原理 COD第5章虚拟存储器 lXX@ustc.edu.cn
计算机组成原理 COD第5章 虚拟存储器 llxx@ustc.edu.cn
本章内容 √CoD4第54节 实方式vs虚方式 √页式虚存管理机制 VTLB √MMU √层次化: TLB-Cache-Memory-Disk a
本章内容 ✓COD4第5.4节 ✓实方式 vs 虚方式 ✓页式虚存管理机制 ✓TLB ✓MMU ✓层次化:TLB-Cache-Memory-Disk
三级存储体系结构 三级存储系统: CPU 缓存 主存 辅存 绥存-主存层次 高速缓存 映射、查找、读写,替换 Cache 主存-辅存层次 辅助硬件 映射、查找、读写、替换 主存 辅助硬件和软件 MMU Cache Address External Bus Memory 辅存 CPU w W Interface Write But
三级存储体系结构 • 三级存储系统: – 缓存 – 主存 – 辅存 • 缓存-主存层次 – 映射、查找、读写,替换 • 主存-辅存层次 – 映射、查找、读写、替换 CPU 高速缓存 Cache 主存 辅存 辅助硬件 辅助硬件和软件
Everything is a cache of others Access time apac ty Managed By On the datapath Registers I cycle I KB Software/Compiler Level I Cache 2-4 cycles 32 KB Hardware Level 2 Cache 10 cycles 256KB Hardware Level 3 Cach 40 cycl I0 MB Hardware On chip Main Memory 200 cycles 10 GB Software/OS Other Flash Drive 10-100us 100GB oftware/OS Mechanical Hard Disk 10ms I TB Software/OS devices Virtual Memory Mapping Cache Mapping Secondary Storage Words Processor Main Memor
Everything is a cache of others
实模式访存:存储器物理地址 Physical Memory Stack AAAA eap 2K×8位 IK×4位 IK×4位 Data Segment ROM RAM RAM PC DDW Text segment Operating Syste
实模式访存:存储器物理地址
虚拟存储系统( irtual memory 1961年曼彻斯特大学提出 CPU 程序要求的存储器空间越来越大 主存 虚存=主存+辅存 辅助硬件和软件 例:CPU地址总线64位,主存4G,磁盘100G0 辅存 多任务间的代码和数据访问保护 现代虚拟存储系统:将主存作为外存的缓存 虚存由硬件(MMU)和OS存储管理器共同管理 ·使对辅存的访问速度接近主存的速度 不同应用具有不同的地址空间和访问权限 程序的地址空间是以“0″地址起始的线性地址集合 这个空间中的地址都是相对地址,也称为逻辑地址
虚拟存储系统(Virtual memory) • 1961年曼彻斯特大学提出 – 程序要求的存储器空间越来越大 • 虚存 = 主存 + 辅存 –例:CPU地址总线64位,主存4G,磁盘100G – 多任务间的代码和数据访问保护 • 现代虚拟存储系统:将主存作为外存的缓存 – 虚存由硬件(MMU)和OS存储管理器共同管理 • 使对辅存的访问速度接近主存的速度 – 不同应用具有不同的地址空间和访问权限 • 程序的地址空间是以“0”地址起始的线性地址集合 • 这个空间中的地址都是相对地址,也称为逻辑地址
多任务系统虚存空间划分示例wnce Physical Memory CE内核 Stack 2 GB 文件系统 内核空间 GWES 驱动程序 Heap 用户虚拟内存 Data segment 内存映射文件 PC Text Segment 2 GB 用户DLLs 进程空间 进程代码 Operating system 用户虚拟内存 32K个 进程
多任务系统虚存空间划分示例-wince
程序逻辑地址空间与内存物理地址空间 Virtual address space Physical address space xo0000000 0x00010000 text 0x00000000 0x10000000 data Oxooffffff stack I page belonging to process Ox ffFf page not belonging to process
程序逻辑地址空间与内存物理地址空间
Demand Paging(按需分配) swap out ol2口3 十5 valid- invalie3 8口9口10口1口 0 A frame 12口13口14口15口 A B swpn16日171819 202口22 2 C C 3 D 26 4E E 5 58V HARD DISK 6 G 11 Some Address OKFFFFFFFF 7 H logical memory 12 13 ome Address ace in RAM 虚实页大小相等。 PhysicalMemory RAM OS在创建进程时,为其建立页表和disk上的VA空间。 HW translates virtual addresses to physical addresses via an OS-managed tab the page map
Demand Paging (按需分配) 虚实页大小相等。 OS在创建进程时,为其建立页表和disk上的VA空间。 HW translates virtual addresses to physical addresses via an OS-managed tab, the page map
Backing Store Main memory Disk Main memory Disk P ages P ages 0 3 Swap area 0 3 Swap area 46 6 P Pac table table Disk map (a) Paging to static swap area (b) Backing up pages dynamically
10 Backing Store (a) Paging to static swap area (b) Backing up pages dynamically