(12) 2-Way Set Associative data cache of 2 bytes by 2 lines by 2-way is initially empty. Memory starts at address 0 to the left. Memory is initialized as follows : 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 ------------------------------------------------------------------------------------- | T | h | i | r | d | - | t | e | s | t | - | C | S | C | I | - | 4 | 6 | 3 | - | - | ------------------------------------------------------------------------------------- Program below performs the specified memory access. Use first in first out if line full. Show cache after each memory read. Indicate hit or miss on the appropiate line and CIRCLE specific byte in cache being read. A = accumulator m(i) is memory being read where i is specific address. A = m(00) Tag 0 1 Tag 0 1 H/M ---------------++--------------------- | | | || | | | | line 1 ---------------++--------------------- | | | || | | | | line 0 ---------------++--------------------- A = m(0A) Tag 0 1 Tag 0 1 H/M ---------------++--------------------- | | | || | | | | line 1 ---------------++--------------------- | | | || | | | | line 0 ---------------++--------------------- A = m(01) Tag 0 1 Tag 0 1 H/M ---------------++--------------------- | | | || | | | | line 1 ---------------++--------------------- | | | || | | | | line 0 ---------------++--------------------- A = m(0B) Tag 0 1 Tag 0 1 H/M ---------------++--------------------- | | | || | | | | line 1 ---------------++--------------------- | | | || | | | | line 0 ---------------++--------------------- A = m(02) Tag 0 1 Tag 0 1 H/M ---------------++--------------------- | | | || | | | | line 1 ---------------++--------------------- | | | || | | | | line 0 ---------------++--------------------- A = m(0C) Tag 0 1 Tag 0 1 H/M ---------------++--------------------- | | | || | | | | line 1 ---------------++--------------------- | | | || | | | | line 0 ---------------++---------------------