
The final project for my computer organization class was to create a y86 CPU, which is a reduced version of x86.
Ends the program.
Bubbles for a single cycle.
Moves a constant to a register.
Moves the values of one register to another.
Moves a value from memory to a register.
Moves a value from a register to memory.
Push a register to the stack.
Pop the top of the stack to a register.
Perform an operation between two registers.
Jump with or without a condition.
This project was the final assignment for a computer organization class, requiring the implementation of a y86 CPU. The y86 instruction set architecture is a simplified version of x86, designed for educational purposes.
The CPU implementation includes all the core components: instruction fetch, decode, execute, memory access, and writeback stages. The instruction set supports basic arithmetic operations, memory access, stack operations, and control flow.
This project provided hands-on experience with CPU architecture, instruction pipelining, and the low-level operations that make modern computing possible.