Answer from cs61c-el (David Tung 16479725) for Question 2 The advantage of using the lower order bits, instead of the higher order bits, is that this will take advantage of spatial locality. Suppose we are using the simplest cache that stores one word per position. Since we typically will access memory that is close to each other (like an array, since everything in it is sequential), by using the lower order bits, we will be able to load all of the elements of the array (since each one will be mapped to a different block in the cache, since they are sequential); however, if we use the high-order bits, every element of the array would be mapped to the same position, so we would lose time loading and unloading them from the cache.