Giter Club home page Giter Club logo

thebestisa's Introduction

Pipelined MIPS datapath simulator

  • Implemented with Java

Description

  • This simulator is a low-level cycle-accurate pipelined MIPS datapath simulator that simulates the datapath including all of its storage components (register file, memories, and pipeline registers) and all of its control signals.

Stages of the pipeline

  • IF : Instruction Fetch Stage
  • ID : Instruction Decode Stage
  • EX : Execution Stage
  • MEM : Memory Stage
  • WB : Write Back Stage

Implemented Instruction Set

  • Arithmetic Operations: add, sub, addi, mul
  • Logic Operations: or, andi, srl, sll
  • Data Transfer: lw, sw
  • Conditional Branch: beq, blt
  • Unconditional Jump : j
  • Comparison: slti

Implementation notes

  • The register file contains 32 general purpose registers of size 32-bit.
  • The chosen microarchitecture is the Von Neumann architecture having one memory for both data and instructions.
  • In order to protect and handle our memory safely we adopted the no-execute bit approach which is an array of bits (Booleans) to differentiate the data from the instructions to prevent data from being executed
  • The instruction and data memory combined have a size of 2048 words (2048 * 32 bits).
  • The Cache has a size of 512 words and use the direct mapping replacement policy using tag and index and valid bits.

Simulation

  • The Whole Programm is given as an input to the Simulator and it outputs all cycles info like : in clock cycle 2, what instruction is in each stage of the five stages in the pipelining, what are the operands, their values and the control signals values.

More Details

  • A Detailed Report for each component and detailed output

    Report

thebestisa's People

Contributors

sarahmed avatar alikabeel avatar amanallahrafat avatar mohamedk1 avatar

Watchers

Salma Abdalla avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.