虚拟存储器
虚拟存储器指的是“主存-辅存”层次,它能使计算机具有辅存的容量,接近于主存的速度和辅存的每位成本。使程序员可以按比主存大得多的空间来编制程序,即按虚存空间编址。
1
主存-辅存与 Cache-主存
CPU-Cache-主存之间的关系
CPU-主存-辅存之间的关系
CPU
主存
Cache
CPU
主存
辅存
2
两种存储层次的比较
区别:
主存/cache的访问“时间比”较小,典型为10:1。每次传送的基本信息单元较小(字块),几个至几十个字节。
辅存/主存的访问“时间比”达100:1至1000:1。每次传送的基本信息单元较大(段或页),几十至几千字节。
相同:
它们采用的地址变换及映像方法和替换策略,从原理上看是相同的。
3
主存-辅存信息传递的单位
以程序段为单位----段式管理
段 1
段2
段3
段4
段5
段1
段5
段3
1K
2K
3K
1K
2K
主存用户空间大小 8K
0K
1K
3K
6K
8K-1
4
段的管理----段表
段号主存中的起始地址装入标记段长
1 0 1 1K
2 0
3 3K 1 3K
4 0
5 1K 1 2K
5
主存-辅存信息传递的单位
以固定大小的页面为单位----页式管理
程序按页面大小划分
0页
1页
2页
3页
4页
5页
6页
第0页
第1页
第2页
第3页
主存用户空间的页面数目
6
页的管理----页表
程序的页号主存的页号装入位
0 0 1
1 2 1
2 3 1
3 0
4 0
5 0
6 1 1
7
虚拟地址的结构及页表
页表的结构-----在内存中
页框号页内地址
逻辑页号实存页号装入位修改位….
0
1
2
3
2
1
4
0
1
1
1
1
0
0
0
虚拟地址结构—对用户程序而言
8
虚拟地址到物理地址的转换
页表在主存中的地址由页表寄存器指出
1 1 0 0 0 0 0 0 0 0 0 0 1 0 0
虚拟地址
0
000
5
1
100
4
1
000
3
1
110
2
1
001
1
1
010
0
110
0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0
存在位
12 位偏移
实存(主存)地址
程序页表
9
转换后备缓冲器(TLB)
TLB:translation look-aside buffer, 也称页表Cache,或快表。经过快表和慢表实现的虚实地址的转换。
f
disp
physical
address
page
frame
p
disp
p
page
table
Logical
address
f
f
TLB
TLB中—快表
内存中—慢表
10
第7章 存储系统(2)虚拟存储器 来自淘豆网www.taodocs.com转载请标明出处.