Giter Site home page Giter Site logo

cse141l-cpu-desgin's Introduction

CSE 141L Final CPU Desgin: 9-Bit Instruction Set Architecture

Author: Yichen Li, Yeyao Tao, Bohan Yao

Introduction:

The instruction set architecture is named 3Y. It is designed specifically to solve the 3 problems introduced in this lab assignment, which are product of three unsigned numbers, string match and closest pair. The detailed descriptions of those 3 problems will be included afterwards.This architecture is designed to support a special-purpose reduced instruction set(RISC) processor and it tries to accomplish the tasks in a very limited 9-bit instruction size. Thus, the amount of operations is very limited. The architecture follows the classical model of accumulator to keep a balance between the number of registers and the number of operations it supports. It also follows conventions used by ARM architecture to make the design more feasible before we move on to hardware design.

Instruction formats:

Since we adopt the accumulator model in our ISA design, we chose our instruction format to be 5-bit opcode and 4-bit operand so that the architecture can support up to 32 types of instructions and 16 registers.

Internal operands:

5 bits for opcode and 4 bits for operand, so 16 registers are supported. One would be a 1-bit overflow condition register.

Control flow:

The architecture support two kinds of branches, operation bโ€‹ for direct jump and operation beq for conditional jump under equal condition. We will predefine a lookup table beforehand to map the 4 bit operand to the number of lines it needs to jump in a 16*8 two dimensional array. When branch operation is called, the architecture references the lookup table and add the signed number fetched to the current program counter to reach the line the assembly program needs to go to.

Addressing modes:

This instruction will reference the 8-bit address element at index 1 at the lookup table and the value stored in that memory address will be loaded into the accumulator.

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.