32 bit processor means word size = 32 bit = 4 Bytes
Cache Size is 16 KB , & associativity = 4
Block size = 4 words = 4*4B = 16 B
Now Address has 3 fields Tag , Set index , Block offset
Now, Block Offset = 4 bits (16 Bytes block )
set index dependes on number of sets -
Number of sets = Cache size /(Block size * Associativity)
= 16KB / (16 * 4 )
= 256 sets
So, set offset is 8 bits..
Now memory address is FFFAE 8F A
Here FFAE is tag
8F is set index which gives 143
and A is block offset.