全相联映射是指主存中任一块都可以映射到 Cache中任一块的方式,也就是说,当主存中的一块需调入Cache吋,可根据当时Cache的块占用或分配情况,选择一个块给主存块存储,所选的Cache块可以是Cache中的任意一块。
直接相联映射方式是指主存的某块i只能映射到满足特定关系的Cache块i中。
全相联映射和直接相联映射方式的优缺点正好相反。对于全相联映射方式来说为优点的恰是直接相联映射方式的缺点,而对于全相联映射方式来说为缺点的恰是直接相联映射方式的优点。
组相联映像了兼顾这两种方式的优点:主存和 Cache按同样大小划分成块;主存和Cache按同样大小划分成组;主存容量是缓存容量的整数倍,将主存空间按缓冲区的大小分成区,主存中每一区的组数与缓存的组数相同;当主存的数据调入缓存时,主存与缓存的组号应相等,也就是各区中的某一块只能存入缓存的同组号的空间内,但组内各块地址之间则可以任意存放,即从主存的组到Cache的组之间采用直接映象方式;在两个对应的组内部采用全相联映象方式。