块位置,两者的地址转换简化为块号的转换
(3)组相联映像:组相联映像方式是直接映像和全相联映像方式的一种折衷方案。 按这种映像方式,组间为直接映像,而组内的各字块为全相联映像方式。 主存地址:区号+组号+组内块号+块内地址 Cache地址:组号+组内块号+块内地址
? 替换算法:当新的主存字块需要调入cache存储器而它的可用位置又已被占满时,就
产生替换算法问题。只有在全相联和组相联映射时,才使用替换算法,直接映射时,不需要替换算法。
介绍两种替换算法:先进先出(FIFO)算法和近期最少使用(LRU)算法。 先进先出算法(FIFO):即按进入cache的先后决定淘汰顺序。采用这种算法,有可能产生较大的失效率。近期最少使用算法(LRU):选择“近期最少使用”块作为调出块,这种算法能比较正确反映程序的局部性,因为当前最少使用的块一般来说也是未来最少被访问的块。
? 主存地址和Cache地址的计算:主存地址位数A由主存容量N决定,A=log2N Cache地址位数B由Cache容量H决定,B=log2H
如主存按Cache容量分区则区号位数=主存地址位数-Cache地址位数
主存块、 Cache块大小相同,块内地址位数M取决于块容量Q ,M=log2Q
? 设cache容量为2K字,每块为16字,求:1)该cache可容纳多少个块? 2)如果主存容量为256K字,则有多少个块? 3)主存的地址有多少位? Cache地址有多少位? 4)直接映像方式下,主存地址分为哪几部分?每部分有多少位&#x