前言
本文主要介绍关于存储器缓存、虚拟存储的重要知识及概念。
一、虚拟器缓存
1.1 局部性原理介绍
- 时间局部性:刚刚用到的程序,过一会还会再用。
- 空间局部性:这个内存地址用到的数据,过一会还会再用。
Cache存储器的主存系统都采用多体交叉存储器:这个多体交叉存储器就和3.1进行了关联,内存和cache内存传输的大小都是一个line,那么存储器一次不是才能传输64位或者32吗?怎么一次传输一个line呢,首先通过行地址选出来整行的数据,放到行缓存中,然后多模块的内存条可以通过流水线传输,并且行缓存中用的是SRAM,这样就会很快咯。
1.2 工作原理
1、cpu把逻辑地址转成物理地址后就会查询cache。物理地址可以分成快号+块内地址。
2.拿出来快号和cache目录表中的tag进行对比。如果没有相同的就需要去内存取数据。如果有相同的就取cache取数据。
1.3 三种方式
1.3.1全相联
首先拿着主存的块号到目录表中查找,如果找到那么就使用。如果找不到就从内存取数据。
1.3.1 直接映射
根据块号找到目录表的相应位置,然后和区号比较。
1.3.1 组相联
拿组号去每一路进行比较。
1.4 虚拟存储
介绍下上面这个图,首先查询内页表,如果内页表能找到,说明在主存,然后运行主存。如果没有在内页表,那么就查询外页表,并且同时查询主存页面表,看看主存哪里能放,并且调用外页表,查询虚地址在外存的位置,放入到内页表中。