Given CPU generated address length = 32
Tag bits = 16
Block offset bits = log2 32 = 5
So set bits = 32 - 16 - 5 = 11
But no of cache blocks = 256 K / 32 = 213
So associativity = 213 / 211
= 4
Hence C) is the correct answer..Here nothing to be confused with valid bit etc as they are not generated by CPU ..They are a part of tag overhead which will be managed by cache controller..Just like a page table entry may contain valid/invalid,dirty bits but they are not part of CPU generated address similar is the case here..