A Windows Forms application written in C# that simulates the Mano Microprogrammed Computer, inspired by the architecture described in M. Morris Mano's foundational books on computer system design.
This project serves as a simulation of a basic microprogrammed computer. It is intended for educational purposes, helping students visualize and interact with low-level operations such as:
- Register transfers
- ALU operations
- Control signal flows
- Microinstruction sequencing
The simulator allows users to step through the operation of a simplified CPU and observe how each control signal affects data movement and processing.
- GUI-based simulation of the microprogram control unit
- Emulation of CPU registers, memory, and data paths
- Step-by-step microinstruction execution
- Real-time visual feedback of control signals and state changes
- Load and run custom instruction sequences
- Language: C#
- Platform: .NET Framework (Windows Forms)
- Development Environment: Visual Studio
β Control.cs # Contains microprogram control logic and signal definitions β Cpu.cs # Models the CPU, its registers, and micro-operations β Form1.cs # Main application logic for the GUI β Form1.Designer.cs # Windows Forms layout auto-generated code β Form1.resx # Resource file for GUI components β Microprogram.csproj # Project configuration for the application β Microprogram.sln # Visual Studio solution file
- Visual Studio 2019 or newer
- .NET Framework (4.x)
- Clone or download this repository.
- Open the
Microprogram.slnfile in Visual Studio. - Build the solution (Ctrl + Shift + B).
- Run the project (F5) to launch the simulator.
This simulator implements a simplified microprogrammed control unit similar to the one described in Mano's model computer architecture. Key components include:
- Control Memory: Stores microinstructions that guide CPU behavior.
- Control Logic: Determines which microinstruction to execute next.
- Registers: Accumulator, Program Counter, Instruction Register, etc.
- ALU: Executes arithmetic and logic operations based on control signals.
The system provides a clear window into how a basic CPU processes instructions at the micro-operation level.
This project is provided for educational purposes. Feel free to use, modify, and share it in accordance with your institution's guidelines.
Developed as part of a university project to demonstrate understanding of microprogrammed computer systems and control logic.