x86-Like CPU

x86-Like CPU

The final project for my computer organization class was to create a y86 CPU, which is a reduced version of x86.

Instruction Set

halt

Ends the program.

nop

Bubbles for a single cycle.

irmovq

Moves a constant to a register.

rrmovq

Moves the values of one register to another.

rmmovq

Moves a value from memory to a register.

mrmovq

Moves a value from a register to memory.

pushq

Push a register to the stack.

popq

Pop the top of the stack to a register.

OPq

Perform an operation between two registers.

jXX

Jump with or without a condition.

About

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.