Escolar Documentos
Profissional Documentos
Cultura Documentos
03 - MIPS Mono-Ciclo - BO Da ULA, BO Principal, Formato e Execução de Instruções, Desempenho PDF
03 - MIPS Mono-Ciclo - BO Da ULA, BO Principal, Formato e Execução de Instruções, Desempenho PDF
Arquitetura e Organização
de Computadores II
Aula 3
2. MIPS monociclo: controle da ULA, execução das
instruções, bloco de controle principal,
desempenho de máquinas monociclo.
0
+ M
U
4
+ 1
X
Desl.
à esq.
2 bits
[25-21]
Reg a ser
lido #1 Dado
[20-16] MemParaReg
PC 32 Reg a ser lido #1
Endereço lido #2
ULAFonte Zero EscMem
0 Registradores
M ULA
Instrução U Reg a ser
[15-11] 0 Resultado Endereço Dado 0
1X
escrito Dado
lida M lido M
Dado de lido #2
Memória [15-0] U Memória U
escrita X
de Instruções 1
3 de dados X
1
RegDst EscReg Dado a ser
escrito
16 Controle
Exten- 32 LerMem
ULA
são de
sinal
32
Entrada de controle da ULA Função
Zero 000 AND
ULA 32 001 OR
32
Resultado 010 Adição
110 Subtração
3
111 Set on less than
Operação
da ULA
010 Adição
3
110 Subtração
111 Set on less than Operação
da ULA
Uso da ULA
• lw/sw: adição (para calcular o endereço de acesso à memória)
• beq: subtração (para testar se os registradores Rs e Rt são
iguais)
• Instruções tipo R: depende do campo “funct”, podendo ser AND,
OR, adição, subtração ou set on less than
Operação
da ULA Classe de
ULAOp ULA deve realizar
6 instrução
Opera- 3
funct ção 00 lw/sw adição
da
ULA 01 beq subtração
2 depende do
10 tipo R
ULAOp campo “funct”
11 - -
Conclusões:
• Apenas algumas das 64 combinações possíveis a partir dos 6 bits do campo
“funct” são de interesse
• O campo “funct” somente interessa quando ULAOp = 10
ComputaçãoUFPel slide 3.6 Prof. José Luís Güntzel
Arquitetura e Organização de Computadores II
2. Organizações do MIPS: monociclo
O Controle da ULA
Tabela-Verdade para a Geração dos 3 Bits de Controle da ULA
Instrução ULAOp Campo “funct” Operação da ULA Operação da ULA
lw 00 XXXXXX adição 010
sw 00 XXXXXX adição 010
beq 01 XXXXXX subtração 110
add 10 100000 adição 010
sub 10 100010 subtração 110
and 10 100100 and 000
or 10 100101 or 001
slt 10 101010 set on less than 111
FontePC
EscReg
opcode rs rt deslocamento
Reg. a ser
lido #1 Reg. a ser Deslocamento a ser
Instrução load word: (reg. base) escrito somado com o reg. base
31 26 25 21 20 16 15 0
opcode rs rt deslocamento
opcode rs rt deslocamento
comparados
MemParaReg
ULAFonte
EscMem
ULAOp0
ULAOp1
LerMem
RegDst
EscReg
DvC
Op5 Op4 Op3 Op2 Op1 Op0
0 0 0 0 0 0 1 0 0 1 0 0 0 1 0
1 0 0 0 1 1 0 1 1 1 1 0 0 0 0
1 0 1 0 1 1 X 1 X 0 0 1 0 0 0
0 0 0 1 0 0 X 0 X 0 0 0 1 0 1
opcode deslocamento
4 RegDst
=1 se jump Desl.
à esq. FontePC
DVI 2 bits
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
[31-26] ULAFonte
EscReg
Acesso à
Acesso à memória Leitura de Operação Escrita no
instrução memória de Total
de instruções registradores na ULA registrador
dados
Tipo R 4 ns 1 ns 2 ns --- 1 ns 8 ns
lw 4 ns 1 ns 2 ns 4 ns 1 ns 12 ns
sw 4 ns 1 ns 2 ns 4 ns --- 11 ns
beq 4 ns 1 ns 2 ns --- --- 7 ns
jump 4 ns --- --- --- --- 4 ns