缓存和虚拟存储器都存在以下几个问题:

一、下级存储器如何影射到上级存储器?

二、如何寻找块?

三、如何在本层存储器缺失的话,如何替换?

四、如何写入到下级存储器?

下级存储器定义:在存储器层次结构中,主存储器是缓存(cache)的下级,磁盘是主存储器的下级。

上级存储器定义:在存储器层次结构中,缓存(cache)是主存储器的上级,主存储器是磁盘的上级。

块定义:操作固定大小的数据集。

虚拟地址:在有MMU模块时,就是CPU发出的地址。

TLB:变换旁视缓冲区。

下面来回答以上4个问题:

第一问题:如何把虚拟空间影射到cache中,采用的方法有全映射,组映射,直接映射等,而把虚拟空间影射到物理地址则采用页表的方式。

第二问题:把虚拟地址划分成虚拟页+页偏移,先假设采用按页方式管理,

对缓存的寻找,则还有划分标记项+索引项+块偏移。

对物理地址寻找,则采用页表来标记项+物理页员。

第三问题:对cache的缺失要考虑到映射方式,来选择不同的替换方法,对于组映射和全映射的考虑采用随机、最近最少使用(LRU)、先进先出(FIFO)等策略,而针对主存储器,相关缺页后,基本由操作系统来考虑替换方法。

第四问题:对cache可采用的直写和回写等策略。

而TLB的作用:是为了防止在虚拟地址转化物理地址时,每次需要去访存储器2次,故把页表的部分信息存入到TLB里面中去,防止不断访问存储器。

以上对最近cache和TLB一定的理解。