This project implements a Virtual CPU Emulator to simulate essential CPU components and operations. The emulator is designed to cover concepts such as Instruction Set Architecture (ISA), Arithmetic Logic Unit (ALU), memory management, and I/O operations. The project follows a structured multi-week development plan, allowing incremental progress and feature integration.
- Instruction Set Architecture (ISA): Supports basic instructions like
ADD
,SUB
,LOAD
, andSTORE
. - ALU Operations: Performs arithmetic and logic calculations.
- Memory Management: Implements memory read and write functionalities.
- I/O Operations: Includes basic input and output mechanisms.
- Testing Environment: Supports testing assembly programs within the emulator.
- Member 1: Aqib Jawwad Nahin ID: 11220320969
- Member 2: Mst. Suraia Akter ID: 11220320951
- Member 3: MD Robayet Hassan Rupom ID: 11220320979
- Course Name: Computer Architecture
- Course Code: 3101
- Section: 5D
- Department: Computer Science & Engineering
- Instructor: Vashkar Kar (Lecturer)
- Institute: Northern University of Business & Technology Khulna
- Website: www.nubtkhulna.ac.bd
The project is divided into weekly tasks to ensure gradual and systematic progress:
- Setting up the project environment.
- Writing initial documentation and creating project scaffolding.
- Developing the assembler to translate assembly language instructions into machine code.
- Implementing the register module for storing temporary data during execution.
- Building the fetch mechanism to retrieve instructions from memory.
- Implementing memory management and testing data read/write operations.
- Python Interpreter: Ensure Python 3.x is installed on your system.
- pip: Python's package manager for installing dependencies.
- Git: Version control for collaborative development.
- Clone the repository:
git clone https://github.com/Aqib2607/Virtual_CPU_Emulator.git cd Virtual_CPU_Emulator
- Set up the virtual environment:
python3 -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate`
- Install the required Python packages:
pip install -r requirements.txt
To run the assembler:
python assembler.py input.asm output.bin
Our team uses GitHub for version control and progress tracking. Contributions are welcome!
This project is licensed under the MIT License.
For more details, refer to individual week documentation within the project folders.