Question 1 Indicate TRUE or FALSE for each of the following. No credit for letters halfway between T and F! (a) In a four-way set associative cache, two of the address bits are used to select which cache block within a set will be chosen. (b) Programs using arrays will be more likely than programs using linked lists to benefit from a wide cache design. (c) Increasing the size of a direct mapped cache decreases conflict misses. (d) The choice of write-through or write-back design involves a tradeoff between miss rate and miss penalty. (e) The choice of direct mapped or associative design involves a tradeoff between miss rate and hit cost. Question 2 Given the physical address 0x0f1653f8, compute its block offset, set number, and tag for each of the following caches: size width policy offset set tag (words) (words) 1024 8 direct- mapped 4096 16 4-way set associative 4096 4 fully associative Question 3 Running the cache program from homework 13 on the Wazcog Mark IV computer, you get the following results: stride-> 4 8 16 32 64 128 256 size ---- 64: 109 126 122 121 101 115 116 128: 120 118 116 121 117 105 112 256: 119 116 102 117 113 113 110 512: 466 966 949 949 983 308 311 1024: 458 949 983 966 949 983 307 2048: 449 992 954 966 979 979 979 (Stride and size in bytes, times in nanoseconds. Yes, this is an artificially small example, to make the numbers fit easily.) What is the cache size in bytes? What is the block size in bytes? What is the allocation policy? (Direct mapped, fully associative, or set associative? If N-way set associative, what is N?) Question 4 You have a direct mapped cache with 16K data words (64K bytes), arranged in blocks that are four words (16 bytes) wide. You run the following program: int array[SIZE], i; for (i=0; i