If the block size is 64B and the address is 32 bits, then address [5:0] will be used to index into the block, address [12:6] will be used to identify which block in cache this address can map and remaining address bits address [31:13] will be stored as tag bits along with the data in the cache memory.The disadvantage of this mapping is that even though cache may not be full, but if memory access pattern is to addresses which fall in same block, it can cause more evictions and is not efficient.In fully associative mapping, any block of memory can be mapped to any block in the cache memory.For looking up any memory address, all the address bits [31:6] have to be compared against all the tag bits in the cache location and this demands a bigger comparator logic that can consume more power.The advantage of this mapping is that all locations can be fully utilized as any memory block can map to any cache block.In this mapping, the blocks of cache memory are grouped into a number of sets.Based on the number of blocks in a set, this is known as 2 way set associative cache.In this mapping, the main memory block is direct mapped to a set and then within the set it is associated with any block.Considering the same example of a 32 bit address, address [5:0] will be used to index to a byte in the block, address [11:6] will be used to directly map to one of the 64 sets of the cache and remaining address bits [31:12] will stored as tag bits along with each cache line.What’s the disadvantage of having a cache with more associativity?A cache with more associativity will need a bigger comparator to compare an incoming address against the tags stored in all the ways of the set.This means more power consumption and more hardware.How many blocks does the cache hold?How many tag bits are needed to be stored as part of cache block?