GithubHelp home page GithubHelp logo

cpu's People

Contributors

jaswar avatar

Stargazers

 avatar

Watchers

 avatar

cpu's Issues

Fix constructors' documentation

Constructors for the logic gates and control circuitry (Input and Output) miss the mention of the BitStreams that are required as parameters.

Fix exceptions' messages

The exceptions' messages introduce a lot of repeated code. Possible solution would be to have two constructors one with only the object, one with a custom error message.

Create multi AND

Create an AND gate that would take multiple inputs (more than 2).

Create a logic unit

Create a circuit to do logic operations on source and destination streams

Create a splitter

Create a class that would take a list of input BitStreams and a list of output BitStreams and forward the information from the input list to the output list.

Create decoders

Make a circuit that would work as a decoder. Most preferably make it work generally for any input size.

Make the IAG

Make the Instruction Address Generator with the Programme Counter.

Fix changing bit streams

Using methods setBitStream in the nodes only changes the bit stream without removing the node from the bit stream's endpoints and adding the node to another bit stream endpoints.

Improve debugging

Display more important information that currently, something like gdb.

Make interrupts

Let the processor issue and manage interrupts to allow for basic Input/Output.

Switch to D Flip-Flops

Change the D latches in registers and the ALU into flip-flops. This might make it possible to execute microinstructions in one clock cycle.

Make a simulator engine

Try to make a tool to design and possibly simulate circuits to stop using limited external tools for that.

Create BitExtender

Create a Node that would take an input of specific size and then output same inputs but more of them.

Fix ADD/SUB

Very rarely (about 1 in 70000 runs) detecting the overflow does not work.

Make the CPU circuit

Define the CPU circuit that has all the components build so far connected with the control unit.

Create ALU

Create a basic Arithmetic and Logic Unit circuit.

Make a run method for a CPU

Define a run method for a CPU to enable CPU to be a standalone unit. Also put the debug "requestStatus" if wanted.

Clean code

Make general clean-up for the code:

  1. Move the status flags from the microprocessor to the control unit
  2. Check the documentation against the code

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.