Better Late Than Never - Ece

Better Late Than Never

From Ece

Jump to: navigation, search

Contents

The Team

  • Tyler Wilkinson
  • Mitch Witcher
  • Josh Hall


Design Overview

We have allowed for a 4 bit op-code, making 16 instructions possible on this processor. Also, our registers are allotted a 4 bit name, producing 16 total registers. Each register will hold 2 bytes worth of data. This means that each byte of the register must be changed separately using the “lui” and “li” commands.

Our RISC processor will be simulated using the C++ language.


Instruction Format

R-Format

Opcode Reg A Reg B Reg C
4 Bits 4 Bits 4 Bits 4 Bits

I-Format

Opcode Reg A Reg B Signed Immediate
4 Bits 4 Bits 4 Bits 4 Bits

J-Format

Opcode Reg A Immediate
4 Bits 4 Bits 8 Bits


Instruction Set

Name Mnemonic Operation Opcode Format
Branch Less Than blt If(R[ra] < R[rb]) PC=R[rc] 0000 R
No Operation nop PC = PC + 1 0001 J
Jump and Link Register jalr [ra]=PC+1, PC = R[rb] 0010 I
Store Word sw M[R[ra]+Imm.]=R[rb] 0011 I
Load Word lw R[ra]=M[R[rb]+Imm.] 0100 I
Load Upper Immediate lui R[ra] = regA, Imm 0101 J
Load Immediate li R[ra] = regA+1, Imm 0110 J
Set Less Than slt R[ra]=(R[rb]<R[rc]) ? 1:0 0111 R
Add add R[ra]=R[rb]+R[rc] 1000 R
Add Immediate (mov) addi R[ra]=R[rb]+Imm 1001 I
Subtract sub R[ra]=R[rb]-R[rc] 1010 R
Subtract Immediate subi R[ra]=R[rb]-Imm 1011 I
Multiply mul R[ra]=R[rb]*R[rc] 1100 R
Divide div R[ra]=R[rb]/R[rc] 1101 R
Or or R[rc] 1110 R
Exclusive Or xor R[ra]=R[rb]⊕R[rc] 1111 R


Tasks

Name Tasks
Team Web Page Updates / Final Report / Power Point Presentation
Josh / Mitch Design Hazard Detection Unit
Josh / Tyler Assemble Control Unit
Mitch Assemble Datapath / Code Control Unit
Josh Code Datapath / Code Hazard Detection Unit
Tyler Design Datapath / Code Forwarding Unit


Meetings

March 23, 25, 29

April 14, 18, 20