Giter Site home page Giter Site logo

kara-abdelaziz / sep-cpu Goto Github PK

View Code? Open in Web Editor NEW
5.0 1.0 1.0 206 KB

SEP, for Simple Enough Processor, is an elaborated from scratch simulated (on Logisim) educational CPU

Assembly 100.00%
digital-design cpu processor-design processor processor-architecture processor-simulation computer-architecture computer-organization

sep-cpu's Introduction

SEP-CPU

SEP (for Simple Enough Processor) is a simplistic academic processor to construct step-by-step by the student, it is an 8-bits CPU using an academic logic simulator called Logisim, supporting major real-world CPUs capabilities, like multiple programmable registers, multiple addressing modes, shift instruction, comparison and logic instructions, multiple branch and jump instructions the stack and subroutine mechanisms, flags indicators, input/output mechanism, a proper assembler... etc. The processor would comprise 21 instructions and 4 addressing modes, with the capability using the flexible control unit sequencer, to easily add more customizable instructions architectures.

SEP image

How to run/execute a program

To run a program on SEP you have to follow these steps :

  • STEP 1 : Download Logisim to your local machine, a jar version will work for any operating system.
  • STEP 2 : Download this repository, and locate the programs with the extension .RAM, they are found in the directory /programs.
  • STEP 3 : Open with Logisim the circuit SEP architecture.circ in the root directory.
  • STEP 4 : Under Logisim, right-click upon the RAM circuit and click load image menu. Choose one program (.RAM files not .ASM) to load for the architecture.
  • STEP 5 : Finally, you have to launch under Logisim the simulation. Some programs require an input from the user, which could be done using the SEP keyboard (it is a binary 8-bits keyboard).
  • STEP 6 : Simulation could be done step-by-step or continuously, the result will be displayed on the seven segment display.

How to assemble a program

To assemble your own assembly program, you have to write the program with SEP assembly language, you can get some inspiration from programs with the extension .ASM within /programs directory. Then you have to compile them online using CustomAsm. The output format should be Logisim 8-bits. And you have to add the header SEP-CPU definition before the compilation, you can copy-paste it from other programs .ASM (/programs directory). The output is usually saved under .RAM file extension.

sep-cpu's People

Contributors

kara-abdelaziz avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

jbro885

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.