FINAL EXAM, EE 271

All problems below have been either solved in class or a very similar to problems from the second midterm, to which complete explanations were given. Use your notes as much as you can, but be very careful in your attention to all details.

Your designs should include no errors.

  1. (5 points) Design a complete processor that multiplies two numbers. The numbers are in registers RA and RB, the result in register RC. Use the multiplication algorithm from the book. The processor should implement only shifting and addition operations.
    Draw the complete flowdiagram.
    Draw the controlling Moore state machine.
    Draw the complete Data Path, and how it is connected to control.
    Show how this unit multiplies 3 * 4.
  2. (5 points) Design a combinational multiplier RC = RA * RB. The words are of length 4. Show a complete detailed schematic using blocks composed of NAND gates.
  3. (12 points). Draw a simple 4-bit sliced processor that executes these operations: A+B, A-B , -A+B, A-B, A+1, B+1, A+B+1, A-B+1, shift right, A AND B, shift left. Additionally, each slice can also address 1k of memory. It checks the following predicates:
    A > B, A = 0, MSB(A) = 1, where MSB is the most significant bit.
    Draw only a schematic diagram with blocks such as multiplexers and adders, and not a detailed logic diagram with NAND or NOR gates. Create arbitrary controlling signals. How many operations of the type illustrated above can your ALU execute? How many controlling signals do you need? Show exactly how those controlling signals are used to select the operations.
    Draw a schematic diagram of a single bit-slice.
    Show all data and control intputs and outputs.
    Show iterative signals between slices.
    Show two bit slices connected to the bus and the controller.
    Explain in your own words how your whole system works while executing the operation
    if R5 = 0 and MSB(R3) = 1 then M[2] <- M[1] - M[3]
    else M[3] <- M[2] EXOR R2
  4. (8 points) Design a pipelined processor that takes two vectors X, and Y as arguments, each of them of length 28.
    The processor executes the operation:
    $X sub i ~:=~ ( X sub i ) * ( Y sub i ) + square_root ( Y sub i )$
    for i = 1,...28
    Draw a detailed diagram of the control and the data path.
    Show how they are linked together.
  5. (4 points). Find all hazards in the following circuit. Design the minimal circuit equivalent to it without any kinds of hazard.