In alpha 21164 systems the l1 instruction and data

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: ] x[2] x[3] x[4] x[5] x[6] x[7] Address 0 4 8 12 16 20 24 28 Set index 0 0 0 0 1 1 1 1 Element y[0] y[1] y[2] y[3] y[4] y[5] y[6] y[7] Address 32 36 40 44 48 52 56 60 Set index 0 0 0 0 1 1 1 1 At runtime, the first iteration of the loop references x[0], a miss that causes the block containing x[0] – x[3] to be loaded into set 0. The next reference is to y[0], another miss that causes the block containing y[0]–y[3] to be copied into set 0, overwriting the values of x that were copied in by the previous reference. During the next iteration, the reference to x[1] misses, which causes the x[0]–x[3] block to be 312 CHAPTER 6. THE MEMORY HIERARCHY loaded back into set 0, overwriting the y[0]–y[3] block. So now we have a conflict miss, and in fact each subsequent reference to x and y will result in a conflict miss as we thrash back and forth between blocks of x and y. The term thrashing describes any situation where a cache is repeatedly loading and evicting the same sets of cache blocks. The bottom line is that even though the program has good spatial locality and we have ro...
View Full Document

This note was uploaded on 09/02/2010 for the course ELECTRICAL 360 taught by Professor Schultz during the Spring '10 term at BYU.

Ask a homework question - tutors are online