cache-主存机制和虚存-主存机制的异同分析

一、相同点

1.1 出发点相同

二者都是为了提高存储系统的性能价格比而构造的分层存储体系,都力图使存储系统的性能接近高速存储器,而价格和容量接近低速存储器。

1.2 原理相同

都利用了CSAPP著名的局部性原理,把最近常用的信息块从相对慢速的大容量存储器调入相对高速而小容量的存储器。

二、不同点

2.1 侧重点不同

  • cache的出现主要是为了解决主存与CPU的速度差异问题;
  • 虚存的出现主要是为了解决存储容量问题,除此之外还有:存储管理、主存分配和存储保护等。

2.2 数据通路不同

cache与CPU以及主存之间均有直接访问通路,cache miss hit 可以直接访问主存;而虚存所依赖的辅助存储空间与CPU之间不存在直接的数据通路,当主存 miss hit 时通过缺页中断然后调页来解决,CPU最终还是要访问主存。

2.3 透明性不同

cache的管理机制完全由硬件完成,对系统程序员和应用程序员均透明;而虚存管理机制需要软件(OS)和硬件共同完成,因此虚存管理机制只对应用程序员透明,对开发维护存储管理的系统程序员并不透明。

2.4 未命中时的损失不同

由于主存的存取时间时cache的存取时间的5~10倍,而主存的存取速度又比辅存(硬盘)的存取速度快上千倍,所以主存未命中时系统的性能损失要远大于cache未命中时的损失。

你可能感兴趣的:(OS)