CS 14 -- Problem set 2

Answer the questions below clearly and completely. This assignment is due Friday, April 1st at 10:00 am.


  1. In developing a new, revised version of the MIPS instruction set, we decide that 32 registers is not enough -- we want 128 of them. How will that decision affect the range of immediate values for I-type instructions? How far from the current PC will a conditional branching instruction be able to jump?

  2. Consider the fast multiplication circuit (the combinational one) that we considered during lectures. What is the critical path length of this circuit? Show your answer both graphically (indicating where the critical path is within the circuit) and as a number of gates. If each 32-bit adder uses fast-carrying instead of ripple-carrying, how does that affect your answer?

  3. Draw a complete single-cycle datapath for processing MIPS instructions (R-type, I-type, and J-type, including arithmetic, main memory access, jumping, and branching instructions). That is, draw a complete unification of the four preliminary datapaths that we created during lectures.

    Note: Does your unified datapath handle I-type arithmetic instructions such as addi? It should.


Scott F. Kaplan
Last modified: Sun Mar 27 08:46:34 EST 2005