A computer system includes 64KB size main memory (main memory) and 1KB size cache (cache). Blocks (blocks) of 16 * 8 are made. Use the set associative (set associative) method, which includes 2 blocks per set (set). The block in cache is also for the LRU (Most Used) method in decision making. It uses Simple Reading Back methods for direct reading in reading and caching (Allocate Write) for reading.
a) In this system’s main memory, there are two arrays with 20 elements of 8 bits each. The start addresses are: DIZI1 = $ 0000, DIZI2 = $ 0200. An MIPS program compares and reads the elements of these sequences sequentially and writes the larger element starting at DIZI3 = $ 0410. Under the assumption that initially the cache is empty, at first access, show which blocks (blocks) will be placed in the front memory (cache). During the running of the program, at what moments, data transfer occurs between the main memory and the cache.
Note: There are 2 arrays which has 20 elements (each element 8 bits) in main memory of this system. Start addresses of these arrays: Array1=$0000, Array2=$0200.
And a MIPS program will read elements of these arrays one by one(in order) and will compare these elements then will start to write the bigger element (as a result of comparing) to an other array by this starting address: Array3=$0410.
If we assume the cache memory is empty at the beginning; Where will be placed these arrays in cache memory (which sets, which blocks) for first accesses? And Which moments has data transfering between main memory and cache memory while program is running (during run), explan and Show it.