in microprocessors there are two type of caches L1 and L2. L2 is very larger then L1 .cpu first search in L1 if there is not the data in L1 it then search in L2 and if there is not it search in memory and ....but there is another architecture exist for cache named Trace cache.search for it in google and if u want I can send u some articles about it.