Musings, Courses, & Projects by Rob Marano

Final Exam Study Guide ECE251 Sp 2024

Final exam is scheduled for Wednesday, May 8th 6:15-7:20pm ET. Please arrive on-time at 6:00pm ET. We will have lecture after the final on several remaining topics.

The final exam will cover the processor (single-cycle and pipelining; textbook chapter 4, sections 4.1-4.9) and memory hierarchies (textbook chapter 5, sections 5.1-5.5, 5.7, and 5.8).

Topic guide for our final exam:

The Processor

Constraints: For our course we consider the following subset of the core MIP32 instruction set:

  1. Memory reference instructions
    • lw, sw
  2. Arithmetic-logical instructions
    • add, sub, and, or, slt
  3. Branching instructions
    • beq, j

Basic components of the processor:

  1. Program Counter (PC) and its associated full adders for calculating the next instruction memory address.
  2. Memory, laid out as instruction memory and data memory
  3. Register file, for reading from and writing to general purpose registers (GPRs) accessible to the programmer via instructions
  4. Arithmetic Logic Unit (ALU)
  5. Control Unit with its associated multiplexors

Processor Design — Implementation Topics

  1. What are the elements of the MIPS32 datapath?
    • A datapath element is a digital logic unit used to operate on or hold data within the processor. In the MIPS32 implementation, the elements consist of the memory laid out as two separate areas, the register file, the ALU, and a set of other combinational logic circuits, e.g., full adders, sign extenders, shift registers, and control signals.
  2. Simple Implementation Scheme
    • ALU Control Unit
    • Main Control Unit
    • Datapath operation for each instruction type: R-, I-, and J-type. Note the instructions above for this specific implementation, i.e., add, sub, and, or, slt, lw, sw, beq, and j.

Memory Hierarchy