虚拟存储器

1. 知识点回顾

前面我们已经知道,存储的层次结构,以及缓存保存的是内存的数据,且缓存的三种设计结构: 直接隐射,组相连 和全相连。以及缓存的工作原理。

既然我们知道存储是层级结构,第i层的存储器缓存的是第i+1层的存储器的数据。所以就有寄存器缓存缓存器cache的内容, cache缓存内存的数据,而内存就应该缓存磁盘的数据

下面我们就来讨论内存如何缓存磁盘的数据。

2. 缓存的整体架构

继续前面的讨论思路, 我们将依次讨论以下的缓存细节,注意次序很重要,这个是缓存的设计过程。

  1. 缓存块的大小,也就是磁盘和内存之间数据缓存块的大小
  2. 组数量的选择
  3. 选择缓存位置

2.1 缓存块大小的选择

缓存块大小的大小应该是受到程序经常访问的内存密集度来决定的, 也就是局部性

2.2 缓存位置的选择

现在我们来考虑内存和磁盘结构中的特殊术语——虚拟存储器。

虚拟存储器被设计的原因:

1. 多个进程同时使用内存空间,存储容易发生破会
2. 每个进程使用的存储空间受限于物理的内存的大小

针对上面的原因,设计者提出了虚拟存储器的概念。 cpu通过虚拟地址而不是物理地址访问内存。
该虚拟地址可以访问的内存空间大于物理地址空间。每个进程仿佛肚子占用整个空间。

虚拟存储器

下面是虚拟存储器的特点

你可能感兴趣的:(虚拟存储器)