Giter Club home page Giter Club logo

apex-multiplexer's Introduction

APEX Simulator

Design Document Of Apex 5 Stage Pipelining

Run Code using this command: make

Five Stages of Pieplining: Fetch Decode Execute Memory WriteBack

Number of Architectural Registers:R0,R1,R2,R3,R4,R5,R6,R7 which is in linear array from location of 0 to 7 Rest of all as Memory Address from 8 to 9999 Reister "X"

Use of Datastructure: Map ArrayList getter Setter Methods of Java

How it Works? First Stage: Fetch: In this stage instruction get Opcode, Destination and Source registers line by line. And it will check either next stage Decode is empty or not. If empty then set as "Ready" and it will push the instruction to the next stage decode. If the Decode stage is on "Stalled" than pushForward() will not call.

Decode: It will check that if there is any dependency of previous instruction or not using InstructionDependency() method.If there is dependency than stage will be stalled. Other wise "Ready" and go into the execution stage.

Execute: Operation Perform correspondingly according to Opcode of instruction and pushForwar() call will send instruction to the next Memory stage.

WriteBack: Operation Will set Architectural Result to the corresponding register.

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.