Relatório Mips Monociclo
Ciência da Computação
Organização de Computadores
Implementação MIPS Monociclo
Anderson Barberini
Sival Júnior
Chapecó, 2015
1. Introdução
Implementação de um sistema VHDL que simule uma CPU com arquitetura MIPS. O sistema consiste de 32 registradores de 32 bits cada, estruturados em um Banco de Registradores.
As memórias de programa e de dados possuem uma capacidade de 256 bytes. A palavra de processamento do sistema é de 32 bits. O conjunto de instruções suportado é: LW, SW, AND, SUB,
ADD, SLT, BEQ, J,ADDI, SLTI, BNE, JAL e JR.
2. Datapath CPU
2.1. Sinais de Controle
Na tabela abaixo, estão listadas as instruções suportadas pelo datapath, e valor que a
Unidade de Controle deve assumir para cada uma delas.
RegDst
PCtoRa
Jump
Beq
Bne
MemRead
MemtoReg
ALUOp
MemWrite
ALUSrc
RegWrite
R-Format
01
0
0
0
0
0
0
10
0
0
1
LW
00
0
0
0
0
1
1
00
0
1
1
SW xx 0
0
0
0
0 x 00
1
1
0
BEQ xx 0
0
1
0
0 x 01
0
0
0
BNE xx 0
0
0
1
0 x 01
0
0
0
J xx 0
1
X
X
X
X
Xx
0
X
0
JAL xx 1
0
x x x x xx
0
x
1
ADDI
00
0
0
0
0
0
0
00
0
1
1
SLTI
00
0
0
0
0
0
0
11
0
1
1
3. ULA (ALU)
As operações aritméticas suportadas pela ALU são:
Codificação
Operação
AND
OR
Adição
Subtração
Set-on-less-than
000
001
010
110
111
Caso a codificação recebida não corresponda as listadas da tabela acima, o resultado da saída da
ALU será zerado.
3.1. Controle da ULA (ALU Control)
De acordo com a ALUOp, a tabela abaixo descreve a saída da ALU Control, de acordo com cada operação solicitada. Para operações do tipo R-format, observamos o campo Funct, como mostra a tabela abaixo.
ALUOp
00
01
10
10
10
10
10
10
11
F5
X
X
X
X
X
X
X
X
X
F4
X
X
X
X
X
X
X
X
X
Funct
F3 F2
X
X
X
X
0
0
0
0
0
1
0
1
1
0
1
0
X
X
F1
X
X
0
1
0
0
0
1
X
F0
X
X
0
0
0
1
0
0
X
Operação
JR
010
110
010
110
000
001
011
111
111
0
0
0
0
0
0
1
0
0
As instruções que fazem uso da ALU, são listadas na tabela abaixo, com sua devida codificação necessária.
Instrução
LW, SW, ADDI
BEQ, BNE