Architecture & Design Review Lab 4 Completed
Student: Lalo Morales
You have successfully built a fully functional 4-bit Microprocessor. This system is capable of executing programmed instructions stored in memory, performing arithmetic calculations, and making decisions based on logic.
Role: The Calculator
Contains the Arithmetic Logic Unit (ALU) and the Accumulator. It performs math (ADD, SUB) and logic (AND) operations on data.
Role: The Puppet Master
A ROM-based Finite State Machine. It reads "Opcodes" and translates them into control signals (wires) that tell the other parts what to do.
Role: The Navigator
Calculates where to look in memory. It can step forward sequentially (Program Counter) or jump to specific locations (MAR).
Hover over any component to understand its role in your circuit.
Description goes here...
You moved from building hardware to defining software. These are the commands your CPU understands.
Reads a value from RAM and puts it into the Accumulator.
Accum = RAM[PC]
Adds a value from RAM to the current Accumulator value.
Accum = Accum + RAM[PC]
Bitwise AND operation. Keeps bits only if they are 1 in both numbers.
Accum = Accum & RAM[PC]
Clears the Accumulator by subtracting it from itself.
Accum = Accum - Accum
Subtracts a RAM value from the Accumulator.
Accum = Accum - RAM[PC]
Saves the Accumulator value into a specific RAM address.
RAM[Operand] = Accum
Every instruction above is broken down into tiny steps inside the Controller's ROM. For example, STORE takes 2 steps:
Step 1: Fetch address from RAM -> Load into MAR (Memory Address Register)
Step 2: Put Accumulator on Data Bus -> Write enabled -> Save to RAM
This microprocessor is the culmination of 4 labs worth of work.
You built basic Adders and Incrementers. These circuits are now living inside your ALU (Arithmetic Logic Unit) and your PC (Program Counter). Without them, the computer couldn't count or do math.
You built Multiplexers (Muxes). These are the "traffic cops" of your circuit. In the final diagram, you see them choosing whether the address comes from the PC or the MAR.
You built Registers and the "Brainless" CPU. This gave the machine a short-term memory (Accumulator) but it had no way to execute a program automatically.
You added the Controller (ROM) and Address Generator. This closed the loop. Now, the machine fetches its own instructions, decodes them, and executes them in a cycle.