as we know cpu size is 32 bit
cache size = 256KB = 2$^{18}$B
block size = 32B = 2$^{5}$B
and they ask tag directory remember
tag directory = no of bit in tag field * no of cache line (without associativity)
no of cache line = $\frac{cache size}{block size}$ =$\frac{2^{18}}{2^{5}}$ =2$^{13}$
now cache line is 4 way set associative so 2$^{13}$/4 = 2$^{11}$
now the formate is look like
|__tag= 16_bit_____________|_______#of cache line set =11___________|_____block offset= 5__________|
tag directry = 16 * 2$^{13}$ { by using tag directory = no of bit in tag field * no of cache line
=128Kb