For main memory, there are $2^{14}$ blocks and each block size is $2^8$ bytes (A byte is an eight-bit word)
- Size of main memory $=2^{14}\times 2^8=4MB$ ( $22-\text{bits}$ required for addressing the main memory).
- For WORD field, we require $8-\text{bits}$, as each block contains $2^8 $ words.
As there are $4$ blocks in $1$ set, $32$ sets will be needed for $128$ blocks. Thus SET field requires $5- \text{bits}$.
Then, TAG field requires $22-(5+8)= 9- \text{bits}$
$$\begin{array}{|c|c|c|} \hline \text {9-bits (for tag)} & \text{5- bits (for set)}& \text{8-bits (for word)} \\\hline \end{array}$$