Sunteți pe pagina 1din 4

Proposal for Team K

1. Team Members
Team Leader: Srishti, ss878@msstate.edu
Team member: Krishna, kvt11@msstate.edu

2. Meetings (Oct 30 – Nov 3)


Ex)
Name # of meetings # of attendance Contribution hours
Srishti 2 2 8
Krishna 2 2 8

3. Design Overview
1. The number of instructions is 16.
2. The clocking methodology is rising edge triggered.
3. The number of registers is 8.

3.1 Instruction Format


R-Format:
opcode Rs Rt Rd Func
4 bits 3 bits 3 bits 3 bits 3 bits

I-Format:
Opcode Rs Rt Imm6
4 bits 3 bits 3 bits 6 bits

J format:
Opcode Imm8(offset) Unused 4 bits
4 bits 8 bits 4 bits

3.2 Instructions

Name Mnemonic Operation OpCode Format


Addition add add $s1, $s2, 0000 R
$s3; #$s1 =
$s2 + $s3
Subtraction sub sub $s1, $s2, 0001 R
$s3; #$s1 =
$s2 -$s3
Add Immediate addi addi $s1, $s2, 0010 I
$s3; #$s1 =
$s2 + $s3
Set on Less Than slt slt $s1, $s2, 0011 R
$s3; #$s1=1 if
$s2<$s3
Load lw lw $s1, $s2, 0100 I
imm4;
#$s1=Mem[$s
2+imm4]
Store sw sw $s1, $s2, 0101 I
imm4;
#Mem[$s2+im
m4]=$s1
Shift left Logical sll sll $s1, $s2, 0110 I
imm4;
#$s1=$s2<<i
mm4
Shift Right Logical srl srl $s1, $s2, 0111 I
imm4;
#$s1=$s2>>i
mm4
Branch On Less Than Or Equal ble ble $s1, $s2, 1000 I
To imm4;# goto
imm4*2+PC+
2 if $s1<=$s2
Branch On Not Equal bne bne $s1, $s2, 1001 I
imm4; #goto
imm4*2+PC+
2 if $s1!=$s2
Ex-Or xor xor $s1, $s2, 1010 R
$s3; #$s1=$s2
xor $s3
Jump jump jump imm8 ; 1011 I
#goto
imm8*2+Pc+2
Or or or $s1, $s2, 1100 R
$s3; #$s1=$s2
| $s3
And and and $s1, $s2, 1101 R
$s3; #$s1=$s2
& $s3
Shift Right Arithmetic sra sra $s1, $s2, 1110 I
imm4;
#$s1=$s2>>i
mm4
Return 1111

4. Assembly language and Machine code for the test program (Pseudocode)
Pseudocode given:

While ($a1 > 0) do


{ $a1 = $a1 –1;
$t0 = Mem[$a0];
$a0 = $a0 + 2;
if ($t0 > 0100hex) then { $v0 = $v0 ÷ 8;
$v1 = $v1 | $t0; //or
Mem[$a0 − 2] = FF00hex; }
else { $v2 = $v2 × 3;
$v3 = $v3 ⊕ $v2; //xor
Mem[$a0 − 2] = 00FFhex;}
}
Return;

Assembly language Machine code


Start: sub $t1,$t1,$t1 #$t1=0 0001111111111000
ble $a1,$t1,22 1000101111010110
addi $a1,$a1,-1 0010101101111111
lw $t0,$a0,0 0100110100000000
addi $a0,$a0,2 0010100100000010
addi $t1,$t1,1 0010111111000001
sll $t1,$t1,8 0110111111001000
ble $t0,$t1,13 1000110111001101
sra $v0,$v0,3 1110000000000011
or $v1,$v1,$t0 1100001001110000
sub $t1,$t1,$t1 0001111111111000
addi $t1,$t1,63 0010111111111111
sll $t1,$t1,2 0110111111000010
addi $t1,$t1,3 0010111111000011
sll $t1,$t1,8 0110111111001000
sw $t1,$a0,-2 0101111100111110
jump 16 1011000100000000
Else: sll $v2,$v2,1 0110010010000001
xor $v3,$v3,$v2 1010011011010000
sub $t1,$t1,$t1 0001111111111000
addi $t1,$t1,15 0010111111001111
sll $t1,$t1,4 0110111111000100
addi $t1,$t1,15 0010111111001111
sw $t1,$a0,-2 0101111100111110
jump 16 1011000100000000
return 1111111111111111
5. Team member Tasks and Schedule

Name Tasks Schedule


week 1 week 2 week 3 week 4 week 5 week 6
Srishti Datapath x x
Control
Unit x
Coding x x x
Report x x x
Web x x x
Design
Krishna Datapath
Control x x
Unit
Coding x x x
Report x x x
Web x x x x x
Design

S-ar putea să vă placă și