A.
4 * 16 * 16
B.
sizeof(point_color) == 16, B = 32
square[j][i].c = 0
miss, cache 2 point_color, then
square[j][i].m = 0
square[j][i].y = 0
square[j][i].k = 0
all hit.
next loop
square[j+1][i] - square[j][i] == 16*16 == 256
square[j+1][i] miss, cache block not conflict with square[j][i]
square[j+8][i] - square[j][i] == 16*16*8 == 2048
square[j+8][i] miss, cache block overwrite square[j][i] block. so when we reach square[j][i+1], still miss.
so miss count is 4 * 16 * 16 * 1/4
C.
1/4