Quiz submission record for quiz6-2-1 at Tue Jul 27 20:44:56 2004: Your Answer for Question 1: Since the cache has blocks 8 words in size, there are 32 entries in a block that will need to be addressed. 5 bits are necessary to represent 32 different offsets (32 = 2^5). 53 (base 10) = 110101 (base 2) The offset in the block is the 5 least significant bits or 10101. Assuming there is need for an index field, its least significant digit is 1 and spans the next y bits of the memory (which are all 0). So the index is just 1. The tag field is the remaining most significant digits, which in this case is 0. Your Answer for Question 2: The two dimensional array x[][] is stored as a one-dimensional array x[i] whose elements are arrays. Because of this, x[i][j] and x[i][j+1] are stored continguously in memory. Since caches take advantage of sequential memory read speeds, the optimized loop will probably generate more cache hits (due to spatial locality) which will speed up performance. When x[i][j] gets accessed, elements following it in memory will be placed into the cache. Your unique submission ID is quiz6-2-1-cs61c-cj-1090986296-1566.