For a course for understanding computer architecture, the strongest matches are pervognsen/bitwise (Bitwise is a complete educational kit for learning computer), schweigi/assembler-simulator (This is an interactive 8-bit assembler simulator that lets) and logisim-evolution/logisim-evolution (Logisim Evolution is a digital logic simulator and schematic). dman95/sasm and adam-maj/tiny-gpu round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Educational resources, simulators, and documentation for understanding processor architecture, instruction sets, and hardware design principles.
Bitwise is a computer architecture education kit and a comprehensive set of guides for building a custom CPU, operating system, and compiler from scratch. It serves as a CPU design tutorial and a practical framework for implementing a unique instruction set architecture. The project provides a custom instruction set architecture toolchain, including resources for creating a matching assembler and compiler. It further includes a hardware development guide for synthesizing computer components and peripheral controllers for deployment on programmable logic devices and FPGAs. The kit covers full
Bitwise is a complete educational kit for learning computer architecture by building a custom CPU, assembler, and compiler from scratch, with emulation and FPGA synthesis support that covers low-level simulation and gate‑level design.
This project is a web-based educational environment designed to simulate 8-bit processor architecture and assembly language execution. It functions as a virtual machine that translates symbolic assembly code into machine instructions, allowing users to observe the fetch-decode-execute cycle and its impact on system state in real time. The simulator distinguishes itself through a reactive interface that binds visual register and memory displays directly to the underlying processor state. It incorporates a two-pass assembler that manages symbolic label resolution and memory address mapping, pro
This is an interactive 8-bit assembler simulator that lets you write and step through assembly code, making it a good fit for learning low-level CPU concepts, though it does not cover pipelining or gate-level logic.
Logisim Evolution is a digital logic simulator and schematic editor used for designing and verifying digital circuits. It functions as a tool for digital circuit design and real-time logic simulation, allowing users to create schematic representations of electronic hardware using gates and registers. The software distinguishes itself by providing hardware description language tools that allow for the definition of custom component behavior and the translation of visual schematics into synthesis-ready code for FPGA hardware deployment. It also serves as a bridge for physical hardware integrati
Logisim Evolution is a digital logic simulator and schematic editor that lets you design and step through circuits at the gate level, making it a direct educational tool for understanding CPU internals, though it expects you to build the CPU yourself rather than providing ready-made pipelining or assembly support.
SASM is a cross-platform integrated development environment for writing, assembling, and debugging low-level assembly code. It serves as a unified editor and execution flow for assembly language development across different operating systems. The environment supports multiple assembly languages and their respective toolchains, including NASM, MASM, GAS, and FASM, within a single interface. It features a binary-level debugger that allows for stepping through instructions and inspecting CPU registers and variable states. The project provides a toolchain-based build pipeline and a configuration
This is an assembly-language IDE and debugger with register inspection and step-through execution, which supports learning low-level programming but does not simulate CPU internals like pipelining, hazards, memory hierarchy, or gate-level logic.
Tiny-gpu is an educational hardware emulator designed to model the fundamental operations of a graphics processing unit. It provides a software environment that simulates hardware data flow and parallel computing logic, allowing users to visualize the internal execution cycles and memory structures characteristic of graphics hardware. The project distinguishes itself by implementing a cycle-accurate execution model that tracks the progression of operations through discrete processing steps. It utilizes a fixed-function pipeline to process geometric data through sequential transformation and r
Tiny-gpu is an educational hardware emulator focused on GPU architecture and parallel computing, not CPU internals—so while it teaches low-level hardware concepts, it models a GPU pipeline rather than the CPU-specific features like pipelining, hazards, or assembly programming you're after.
The Powder Toy is a physics sandbox simulator and programmable logic simulator. It provides a real-time environment for modeling the interactions of solids, liquids, and gases using a particle physics engine that calculates movement, heat transfer, and pressure on a 2D grid. The system is a scriptable simulation environment that supports custom plugins and scripting to automate workflows. It allows for the construction of functional electronic circuits and complex machines using integrated materials and conductive elements. The software covers environmental dynamics modeling and material int
The Powder Toy is a physics sandbox and logic-circuit simulator, not a dedicated CPU simulator — you could build a simple CPU in it, but it lacks the step-through execution, assembly programming, and pipelining/hazards features needed to learn computer architecture directly.
HelloSilicon is a programming guide and tutorial for writing and debugging low-level 64-bit assembly code specifically for Apple Silicon processors. It serves as an architecture reference for interacting with macOS and iOS kernel services using system calls and hardware registers. The project provides specialized instruction on foreign function interfacing to bridge assembly with high-level languages like C or Python. It also includes a toolkit for configuring Mach-O binaries and compiling universal binaries and dynamic libraries for cross-hardware compatibility. The material covers low-leve
HelloSilicon is a written guide and tutorial for 64-bit ARM assembly on Apple Silicon, not an interactive CPU simulator; it teaches low-level assembly programming for a specific architecture but lacks the interactive simulation, step-through execution, and pipeline modeling this search requires.
XiangShan is a high-performance RISC-V processor core and a hardware description language framework. It provides a construction-based system for designing, simulating, and verifying complex processor micro-architectures and peripheral devices. The project includes a high-performance CPU simulator used for architectural exploration and functional verification of processor execution. The project implements a superscalar out-of-order CPU architecture that uses renaming and reorder buffers to execute instructions in parallel. It generates synthesizable Verilog files from hardware descriptions to
Xiangshan is a professional RISC-V processor core design framework and simulator for architectural exploration, not an interactive educational tool; it lacks the step-through execution, assembly teaching, and gate-level visualization that the visitor needs to learn CPU fundamentals.
Goboy is a GameBoy emulator written in Go that allows original handheld game ROMs to run on modern computer hardware. It supports both monochromatic and color display modes. The project includes specialized tools for retro game debugging and graphics inspection. These capabilities allow for the analysis of game logic by stepping through opcodes, profiling processor execution in real time, and inspecting background palettes, sprite data, and map layouts. The emulator provides game state preservation by writing cartridge RAM to local files. It also implements pixel-buffer rasterization for ren
This GameBoy emulator lets you step through opcodes and inspect CPU state, which touches on low‑level execution, but it is built for running and debugging retro games rather than as a general‑purpose learning tool for computer architecture concepts like pipelining, memory hierarchies, or gate‑level logic.