See, I did like this, please tell me where I went wrong.
#lines in cache=$2^{16}$
Now Array $A[220],B[220]$ are accessed.Each element of int=4 Bytes.
So, 1 Main memory block can store $\frac{64}{4}=16$ elements of int type.
Now Array A[] would require $\lceil\frac{220}{16}\rceil=14$ blocks of MM. and Similar would be required by array B[].
So, total 28 blocks would be required and since arrays are contiguously allocated and cache is large enough to hold both arrays at once, so no conflict miss will occur.
Now this is the code
for (i=0;i<N;i++)
{
read A[i];
read B{i];
}
So, every block for array A and Array B will be mapped onto different line of cache, so no conflicts.
Total 220 accesses to array A.
1 Miss per 16 element access to Array A.
Therefore 14 misses for Array A.So, number of hits=$220-14=206$
So, average access time for one element of Array A=$\frac{(206 \times 1)+(14 \times 145)}{220}=10.16$
Please tell where I went wrong?