Answer from cs61c-ew (Joo-Rak Son 16103505) for Question 2 The rightmost two bits are unnecessary because words are byte-addressed. And then we want to mod the remaining bits with the size of cache, and in the book, that was 1024 words, so we are only using bits 11...2 for chache addressing. We don't want to use the high-order bits following the principle of spatial locality. If we do so, then we are putting in the same cache location all the data that are closely addressed from each other. By using the lower bits, we are able to have in our cache memory addresses that are close to each other.