Question 1: Detail for each of the four given MIPS instructions, which actions are being taken at each of their five steps. Don't forget to mention how and during which steps each instruction updates the program counter.
a) jalr $s0, $s1
b) sw $s1, 24($t0)
c) slt $t0, $s3, $s4
d) jal 1048576
Question 2: Consider these two potential additions to the MIPS instruction set and describe how they would restrict pipelining.
a) cp d1(r1), d2(r2):
Copy contents of word at address c address contents of r2 plus offset d2 into the address contents of r1 plus displacement d2.
b) incr d2(r2)
Adds one to the contents of word at address contents of r2 plus offset d2.
Question 3: Describe how you would pipeline the four given pairs of statements.
a) add $t0, $s0, $s1
beq $s1,$s2, 300
b) add $t2, $t0, $t1
sw $t3, 36($t2)
c) add $t0, $s0, $s1
beq $t0,$s2, 300
d) lw $t0, 24($t1)
sub $s2, $t0, $t1
Question 4: A computer system has a two-level memory cache hierarchy. The L1 cache consists of a zero hit penalty, a miss penalty of 5 ns and a hit rate of 95 %. The L2 cache consists of a miss penalty of 100 ns and a hit rate of 90 percent.
a) How many cycles are lost for each instruction accessing the memory if the CPU clock rate is 2 GHz?
b) We can either increase the hit rate of the topmost cache to 98 % or increase the hit rate of the second cache to 95 %. Which improvement would have more impact?
Question 5: A virtual memory system has a virtual address space of 4 Gigabytes and a page size of 8 Kilobytes. Each page table entry occupies 4 bytes.
a) How many bits remain unchanged throughout the address translation?
b) How many bits are used for page number?
c) What is the maximum number of page table entries in the page table?