This document provides an overview of implementing a processor that executes a subset of the MIPS instruction set. It describes the basic components needed, including an instruction memory to store and fetch instructions, registers to hold data, an ALU to perform arithmetic and logical operations, multiplexers to direct data flow, and a program counter to keep track of the next instruction address. The implementation is built up incrementally, first explaining how instructions are fetched and the program counter updated. It then describes adding components for R-type instructions like arithmetic and logical operations. Finally, it discusses adding units to support load/store memory instructions by sign-extending offsets and calculating effective addresses. The goal is to explain at a high level how the MIPS