Spring 2019 EE380 Assignment 5

Use this WWW form to submit your assignment. You may submit your assignment as many times as you wish; when the submission deadline is reached, your last recorded submission will be the one counted by the TA for grading.


Your account is .
Your password is .


  1. For this question, check all that apply. Consider the following two MIPS subset implementations:


    Which of the following statements about how pipelining changes the architecture is true?
    The Data Memory module could be the same circuit in both implementations
    The Instruction Memory module could be the same circuit in both implementations
    The ALU used to add 4 to the PC could be the same circuit in both implementations
    The ALU used for operations like add and xor could be the same circuit in both implementations
  2. Suppose that a single-cycle design can execute with a clock cycle of 500ns. When broken into a 5-stage pipeline, the delays for each of the stages are 100ns, 50ns, 200ns, 100ns, and 50ns. Approximately what clock rate would you expect the pipelined version to run at and what speedup would that give over the single-cycle design?
  3. For this question, check all that apply. Consider executing each of the following code sequences on the pipelined MIPS implementation given below:

    Which of the following statements best describes the execution times you would expect to observe?
    (A)  addi $t1,$t0,4
         lw   $t2,0($t1)
         xor  $t2,$t2,$t3
    
    (B)  addi $t1,$t0,4
         lw   $t2,0($t0)
         xor  $t4,$t0,$t3
    

    (A) would be sped up if we used value forwarding
    (B) would be sped up if we used value forwarding
    (A) would be faster than (B) without value forwarding
    (B) would be faster than (A) without value forwarding
  4. Consider executing each of the following code sequences on the pipelined MIPS implementation given below:

    Reorder the following code so that it completes in fewer clock cycles and explain what you did. You should assume the that the processor does not implement value forwarding.
    sub  $t2,$t1,$t0
    add  $t3,$t2,$t0
    ori  $t4,$t4,42
    lw   $t2,0($t0)
    

  5. Briefly explain the difference between a BHB and a BTB.


Although this is not a secure server, users are bound by the UK code of conduct not to abuse the system. Any abuses will be dealt with as serious offenses.


EE380 Computer Organization and Design.