number of blocks present in cache = 16
size of each block =32 bytes
size of integer = 32 bits = 32/8 = 4 bytes
So 1 block can have 32/4 = 8 integers
Now the answer depends according to arrangement of array in memory
1) Row major order
The addition is done column wise as a result there will be miss for every element
So total number of misses = 256*256 = 65536
2) Column major order
each block can accomodate 8 integers. So we can do addition of 8 integers using one block
So to add 256*256 integers, the number of blocks needed = 256*256/8 = 8192
So number of misses = 8192