Você está na página 1de 34

Universidade Federal de Pelotas

Instituto de Física e Matemática


Departamento de Informática
Bacharelado em Ciência da Computação

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.

Prof. José Luís Güntzel


guntzel@ufpel.edu.br
www.ufpel.edu.br/~guntzel/AOC2/AOC2.html
2. Organizações do MIPS: monociclo
Bloco Operativo Monociclo
Capaz de Realizar instruções tipo R, lw, sw e beq
FontePC

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

ComputaçãoUFPel slide 3.2 Prof. José Luís Güntzel


Arquitetura e Organização de Computadores II
2. Organizações do MIPS: monociclo
O Controle da ULA
• A ULA tem 3 entradas de controle (8 combinações possíveis)
• Somente 5 combinações são usadas

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

ComputaçãoUFPel slide 3.3 Prof. José Luís Güntzel


Arquitetura e Organização de Computadores II
2. Organizações do MIPS: monociclo
O Controle da ULA 32

Entrada de controle da ULA Função Zero


000 AND ULA 32
32
001 OR Resultado

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

ComputaçãoUFPel slide 3.4 Prof. José Luís Güntzel


Arquitetura e Organização de Computadores II
2. Organizações do MIPS: monociclo
O Controle da ULA
• A ULA terá um controle próprio, separado do bloco de controle
principal (e portanto, menos complexo e mais rápido)
• Este controle tem como entradas:
– Os 6 bits do campo “funct”
– 2 bits vindos do bloco de controle global (“ULAOp”), que serve para
identificar a qual classe a instrução a ser executada pertence

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 - -

ComputaçãoUFPel slide 3.5 Prof. José Luís Güntzel


Arquitetura e Organização de Computadores II
2. Organizações do MIPS: monociclo
O Controle da ULA
Correspondência entre “funct” & “ULAOp” com “controle da ULA”
Instrução ULAOp Campo “funct” Operação da ULA Operação da ULA
lw 00 XXXXXX adição 010
Operação sw 00 XXXXXX adição 010
da ULA
beq 01 XXXXXX subtração 110
6
Opera- 3
funct ção add 10 100000 adição 010
da
ULA sub 10 100010 subtração 110
2 and 10 100100 and 000
ULAOp
or 10 100101 or 001
slt 10 101010 set on less than 111

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

ULAOp1 ULAOp2 F5 F4 F3 F2 F1 F0 Operação da ULA


0 0 X X X X X X 010
X 1 X X X X X X 110
1 X X X 0 0 0 0 010
1 X X X 0 0 1 0 110
1 X X X 0 1 0 0 000
1 X X X 0 1 0 1 001
1 X X X 1 0 1 0 111

ComputaçãoUFPel slide 3.7 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

ULAOp1 ULAOp2 F5 F4 F3 F2 F1 F0 Operação da ULA


0 0 X X X X X X 010
X 1 X X X X X X 110
1 X X X 0 0 0 0 010
1 X X X 0 0 1 0 110
1 X X X 0 1 0 0 000
1 X X X 0 1 0 1 001
1 X X X 1 0 1 0 111

ComputaçãoUFPel slide 3.8 Prof. José Luís Güntzel


Arquitetura e Organização de Computadores II
2. Organizações do MIPS: monociclo
Bloco Operativo + Controle da ULA
0
M
U
+ + 1
X
Desl.
4 à esq.
2 bits

FontePC

EscReg

[25-21] Reg a ser EscMem


lido #1 MemParaReg
Dado
[20-16] Reg a ser
PC 32 lido #1 ULAFonte Zero
Endereço lido #2
0
M Registradores ULA
Instrução [15-11] U Reg a ser 0
Resultado Endereço Dado 0
X escrito Dado M M
lida 1
lido #2 U
lido
Dado de U
Memória [15-0] escrita X Memória X
1 3 de dados 1
de Instruções RegDst
Dado a ser
16 32 escrito
Exten-
são de Opera-
sinal ção
da
[5-0] 6 LerMem
ULA
2
ULAOp

ComputaçãoUFPel slide 3.9 Prof. José Luís Güntzel


Arquitetura e Organização de Computadores II
2. Organizações do MIPS: monociclo
O Bloco de Controle Principal
Relembrando os formatos das 3 principais classes de instrução
Reg. a ser Reg. a ser Reg. a ser
Instrução tipo R: lido #1 lido #2 escrito
31 26 25 21 20 16 15 11 10 6 5 0

opcode rs rt rd shamt funct

Reg. a ser Reg. a ser


lido #1 lido #2 Deslocamento a ser
Instrução store word : (reg. base) (dado) somado com o reg. base
31 26 25 21 20 16 15 0

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

ComputaçãoUFPel slide 3.10 Prof. José Luís Güntzel


Arquitetura e Organização de Computadores II
2. Organizações do MIPS: monociclo
O Bloco de Controle Principal
Relembrando os formatos das 3 principais classes de instrução

Instrução branch on equal: Reg. a ser Reg. a ser Deslocamento a ser


lido #1 lido #2 somado com o PC
31 26 25 21 20 16 15 0

opcode rs rt deslocamento

comparados

ComputaçãoUFPel slide 3.11 Prof. José Luís Güntzel


Arquitetura e Organização de Computadores II
2. Organizações do MIPS: monociclo
Os Sinais de Controle
0
M
U
+ + 1
X
Controle
=1 se beq Desl.
4
RegDst
à esq. FontePC do beq
2 bits
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
ULAFonte
[31-26] EscReg

[25-21] Reg a ser


lido #1
Dado
[20-16] Reg a ser
PC 32 lido #1 Zero
Endereço lido #2
0
M Registradores ULA
Instrução [15-11] U Reg a ser 0
Resultado Endereço Dado 0
X escrito Dado M M
lida 1
lido #2 U
lido
Dado de U
Memória [15-0] escrita X Memória X
1 3 de dados 1
de Instruções
Dado a ser
16 32 escrito
Exten-
são de Opera-
sinal ção
da
[5-0] 6
ULA
2

ComputaçãoUFPel slide 3.12 Prof. José Luís Güntzel


Arquitetura e Organização de Computadores II
2. Organizações do MIPS: monociclo
Execução de uma Instrução Tipo R
Seja uma instrução tipo R, como por exemplo add $t1, $t2, $t3:
Podemos imaginar que esta instrução é executada em 4 etapas:
1. Busca da instrução (na memória de instruções) e incremento do
PC
2. Leitura de dois registradores (no caso, $t2 e $t3, ou Rs e Rt) e
geração dos sinais de controle para o resto do bloco operativo
(decodificação da instrução)
3. Operação na ULA
4. Escrita (do resultado da operação realizada na ULA) no
registrador destino ($t1 ou Rd)

Como estes passos ocorrem dentro do mesmo ciclo de relógio (regime


monociclo), a ordem real irá depender do atraso de cada componente.

ComputaçãoUFPel slide 3.13 Prof. José Luís Güntzel


Arquitetura e Organização de Computadores II
2. Organizações do MIPS: monociclo
Instrução Tipo R: busca da instrução e cálculo de PC+4
1ns 1ns
0
M
U
+ + 1
X
?? ns Desl.
4 à esq. FontePC
RegDst 2 bits
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
ULAFonte
[31-26] EscReg
1ns
4ns [25-21] Reg a ser
2ns
lido #1
Dado
PC
[20-16] Reg a ser lido #1 Zero
4ns
Endereço 32 lido #2
0
M Registradores ULA
Instrução [15-11] U Reg a ser 0
Resultado Endereço Dado 0
X escrito Dado M M
Carga no PC lida 1
lido #2 U
lido
Dado de U
Memória [15-0] Memória
(início da escrita
1
X
3 de dados 1
X
de Instruções
execução Dado a ser
16 32 escrito
Exten-
são de Opera-
sinal ção
da
[5-0] 6
CK ULA
2

ComputaçãoUFPel slide 3.14 Prof. José Luís Güntzel


Arquitetura e Organização de Computadores II
2. Organizações do MIPS: monociclo
Instrução Tipo R: leit. de Rs e Rt e geração sinais de controle
1ns 1ns
0
M
U
+ + 1
X
?? ns Desl.
4 à esq. FontePC
RegDst 2 bits 0
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
ULAFonte
[31-26] EscReg
1 1ns 2ns
4ns [25-21] Reg a ser
lido #1
Dado
PC
[20-16] Reg a ser lido #1 Zero
4ns
Endereço 32 lido #2 0 1
0 Registradores 0 ULA
M
Instrução [15-11] U Reg a ser 0
Resultado Endereço Dado 0
X escrito Dado M M
lida 1
lido #2 U
lido
Dado de U
Memória [15-0] escrita X Memória X
de Instruções 1 1 3 de dados 1
Dado a ser
16 32 escrito
Exten-
são de Opera-
sinal ção
da 0
[5-0] 6
CK ULA
10 2

ComputaçãoUFPel slide 3.15 Prof. José Luís Güntzel


Arquitetura e Organização de Computadores II
2. Organizações do MIPS: monociclo
Instrução Tipo R: operação na ULA (depende de “funct”)
1ns 1ns
0
M
U
+ + 1
X
?? ns Desl.
4 à esq. FontePC
RegDst 2 bits 0
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
ULAFonte
[31-26] EscReg
1 1ns 2ns
4ns [25-21] Reg a ser
lido #1
Dado
PC
[20-16] Reg a ser lido #1 Zero
4ns
Endereço 32 lido #2 0 1
0 Registradores 0 ULA
M
Instrução [15-11] U Reg a ser 0
Resultado Endereço Dado 0
X escrito Dado M M
lida 1
lido #2 U
lido
Dado de U
Memória [15-0] escrita X Memória X
de Instruções 1 1 3 de dados 1
Dado a ser
16 32 escrito
Exten-
são de Opera-
sinal ção
da 0
[5-0] 6
CK ULA
10 2

ComputaçãoUFPel slide 3.16 Prof. José Luís Güntzel


Arquitetura e Organização de Computadores II
2. Organizações do MIPS: monociclo
Instrução Tipo R: escrita no registrador-destino
1ns 1ns
0
M
U
+ + 1
X
?? ns Desl.
4 à esq. FontePC
RegDst 2 bits 0
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
ULAFonte
[31-26] EscReg
1 1ns+1ns 2ns
4ns [25-21] Reg a ser
lido #1
Dado
PC
[20-16] Reg a ser lido #1 Zero
4ns
Endereço 32 lido #2 0 1
0 Registradores 0 ULA
M
Instrução [15-11] U Reg a ser 0
Resultado Endereço Dado 0
X escrito Dado M M
lida 1
lido #2 U
lido
Dado de U
Memória [15-0] escrita X Memória X
de Instruções 1 1 3 de dados 1
Dado a ser
16 32 escrito
Exten-
são de Opera-
“folga” sinal ção
0
da
[5-0] 6
CK ULA
10 2

ComputaçãoUFPel slide 3.17 Prof. José Luís Güntzel


Arquitetura e Organização de Computadores II
2. Organizações do MIPS: monociclo
Instrução Tipo R: escrita no registrador-destino
1ns 1ns
0
M
U
+ + 1
X
?? ns Desl.
4 à esq. FontePC
RegDst 2 bits 0

A escrita no banco de registradores precisa


DvC
LerMem
MemParaReg
Controle

estar sincronizada com a borda do relógio


ULAOp
EscMem
ULAFonte
[31-26] EscReg
1 1ns+1ns 2ns
4ns [25-21] Reg a ser
lido #1
Dado
PC
[20-16] Reg a ser lido #1 Zero
4ns
Endereço 32 lido #2 0 1
0 Registradores 0 ULA
M
Instrução [15-11] U Reg a ser 0
Resultado Endereço Dado 0
X escrito Dado M M
lida 1
lido #2 U
lido
Dado de U
Memória [15-0] escrita X Memória X
de Instruções 1 1 3 de dados 1
Dado a ser
16 32 escrito
Exten-
são de Opera-
“folga” sinal ção
0
da
[5-0] 6
CK ULA
10 2

ComputaçãoUFPel slide 3.18 Prof. José Luís Güntzel


Arquitetura e Organização de Computadores II
2. Organizações do MIPS: monociclo
Execução de uma Instrução lw
Seja a instrução load word, lw $t1, deslocamento($t2):
Podemos imaginar que esta instrução é executada em 5 etapas:
1. Busca da instrução (na memória de instruções) e incremento do
PC
2. Leitura de dois registradores (no caso, $t1 e $t2, ou Rs e Rt) e
geração dos sinais de controle para o resto do bloco operativo
(decodificação da instrução). Apenas o registrador $t2 (Rs)
interessa, pois é o registrador-base. Rt será desprezado…
3. Cálculo do endereço usando a ULA (adição)
4. Acesso à memória de dados para uma leitura (endereço =
resultado da ULA)
5. Escrita (do valor lido da memória de dados) no registrador destino
($t1, que neste caso correponde ao campo Rt)
ComputaçãoUFPel slide 3.19 Prof. José Luís Güntzel
Arquitetura e Organização de Computadores II
2. Organizações do MIPS: monociclo
Instrução lw: busca da instrução e cálculo de PC+4
1ns 1ns
0
M
U
+ + 1
X
?? ns Desl.
4 à esq. FontePC
RegDst 2 bits
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
ULAFonte
[31-26] EscReg
1ns
4ns [25-21] Reg a ser
2ns
lido #1
Dado
PC
[20-16] Reg a ser lido #1 Zero
4ns
Endereço 32 lido #2
0
M Registradores ULA
Instrução [15-11] U Reg a ser 0
Resultado Endereço Dado 0
X escrito Dado M M
Carga no PC lida 1
lido #2 U
lido
Dado de U
Memória [15-0] Memória
(início da escrita
1
X
3 de dados 1
X
de Instruções
execução Dado a ser
16 32 escrito
Exten-
são de Opera-
sinal ção
da
[5-0] 6
CK ULA
2

ComputaçãoUFPel slide 3.20 Prof. José Luís Güntzel


Arquitetura e Organização de Computadores II
2. Organizações do MIPS: monociclo
Instrução lw: leitura de Rs (e Rt) e geração sinais de controle
1ns 1ns
0
M
U
+ + 1
X
?? ns Desl.
4 à esq. FontePC
RegDst 2 bits 0
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
ULAFonte
[31-26] EscReg
1 1ns 2ns
4ns [25-21] Reg a ser
lido #1
Dado
PC
[20-16] Reg a ser lido #1 Zero
4ns
Endereço 32 lido #2 0 0
0 Registradores 1 ULA
M
Instrução [15-11] U Reg a ser 0
Resultado Endereço Dado 0
X escrito Dado M M
lida 1
lido #2 U
lido
Dado de U
Memória [15-0] escrita X Memória X
de Instruções 0 1 3 de dados 1
Dado a ser
16 32 escrito
Exten-
são de Opera-
sinal ção
da 1
[5-0] 6
CK ULA
00 2

ComputaçãoUFPel slide 3.21 Prof. José Luís Güntzel


Arquitetura e Organização de Computadores II
2. Organizações do MIPS: monociclo
Instrução lw: cálculo do endereço usando a ULA (adição)
1ns 1ns
0
M
U
+ + 1
X
?? ns Desl.
4 à esq. FontePC
RegDst 2 bits 0
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
ULAFonte
[31-26] EscReg
1 1ns 2ns
4ns [25-21] Reg a ser
lido #1
Dado
PC
[20-16] Reg a ser lido #1 Zero
4ns
Endereço 32 lido #2 0 0
0 Registradores 1 ULA
M
Instrução [15-11] U Reg a ser 0
Resultado Endereço Dado 0
X escrito Dado M M
lida 1
lido #2 U
lido
Dado de U
Memória [15-0] escrita X Memória X
de Instruções 0 1 3 de dados 1
Dado a ser
16 32 escrito
Exten-
são de Opera-
sinal ção
da 1
[5-0] 6
CK ULA
00 2

ComputaçãoUFPel slide 3.22 Prof. José Luís Güntzel


Arquitetura e Organização de Computadores II
2. Organizações do MIPS: monociclo
Instrução lw: acesso à memória de dados para uma leitura
1ns 1ns
0
M
U
+ + 1
X
?? ns Desl.
4 à esq. FontePC
RegDst 2 bits 0
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
ULAFonte
[31-26] EscReg
1 1ns 2ns
4ns [25-21] Reg a ser
lido #1
Dado
PC
[20-16] Reg a ser lido #1 Zero
4ns
Endereço 32 lido #2 0 0
0 Registradores 1 ULA
M
Instrução [15-11] U Reg a ser 0
Resultado Endereço Dado 0
X escrito Dado M M
lida 1
lido #2 U
lido
Dado de U
Memória [15-0] escrita X Memória X
de Instruções 0 1 3 de dados 1
Dado a ser
16 32 escrito
Exten-
são de Opera-
sinal ção
da 1
[5-0] 6
CK ULA
00 2

ComputaçãoUFPel slide 3.23 Prof. José Luís Güntzel


Arquitetura e Organização de Computadores II
2. Organizações do MIPS: monociclo
Instrução lw: escrita no registrador-destino
1ns 1ns
0
M
U
+ + 1
X
?? ns Desl.
4 à esq. FontePC
RegDst 2 bits 0
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
ULAFonte
[31-26] EscReg
1 1ns+1ns 2ns
4ns [25-21] Reg a ser
lido #1
Dado
PC
[20-16] Reg a ser lido #1 Zero
4ns
Endereço 32 lido #2 0 0
0 Registradores 1 ULA
M
Instrução [15-11] U Reg a ser 0
Resultado Endereço Dado 0
X escrito Dado M M
lida 1
lido #2 U
lido
Dado de U
Memória [15-0] escrita X Memória X
de Instruções 0 1 3 de dados 1
Dado a ser
16 32 escrito
Exten-
“folga” são de Opera-
sinal ção
da 1
[5-0] 6
CK ULA
00 2

ComputaçãoUFPel slide 3.24 Prof. José Luís Güntzel


Arquitetura e Organização de Computadores II
2. Organizações do MIPS: monociclo
Execução de uma Instrução beq
Seja a instrução de desvio condicional, beq $t1, $t2, deslocamento:
Podemos imaginar que esta instrução é executada em 3 etapas:
1. Busca da instrução (na memória de instruções) e incremento do PC
2. Leitura de dois registradores (no caso, $t1 e $t2, ou Rs e Rt) e
geração dos sinais de controle para o resto do bloco operativo
(decodificação da instrução)
3. Cálculo da subtração entre os registradores $t1 e $t2 (Rs e Rt)
usando a ULA (adição). O valor na saída “zero” da ULA é usado
para decidir se o PC será atualizado com PC+4 ou com o endereço-
alvo do desvio condicional.

ComputaçãoUFPel slide 3.25 Prof. José Luís Güntzel


Arquitetura e Organização de Computadores II
2. Organizações do MIPS: monociclo
Instrução beq: busca da instrução e cálculo de PC+4
1ns 1ns
0
M
U
+ + 1
X
?? ns Desl.
4 à esq. FontePC
RegDst 2 bits
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
ULAFonte
[31-26] EscReg
1ns
4ns [25-21] Reg a ser
2ns
lido #1
Dado
PC
[20-16] Reg a ser lido #1 Zero
4ns
Endereço 32 lido #2
0
M Registradores ULA
Instrução [15-11] U Reg a ser 0
Resultado Endereço Dado 0
X escrito Dado M M
Carga no PC lida 1
lido #2 U
lido
Dado de U
Memória [15-0] Memória
(início da escrita
1
X
3 de dados 1
X
de Instruções
execução Dado a ser
16 32 escrito
Exten-
são de Opera-
sinal ção
da
[5-0] 6
CK ULA
2

ComputaçãoUFPel slide 3.26 Prof. José Luís Güntzel


Arquitetura e Organização de Computadores II
2. Organizações do MIPS: monociclo
Instrução beq: leit. de Rs e Rt e geração sinais de controle
1ns 1ns
0
M
U
+ + 1
X
?? ns Desl.
4 à esq. FontePC
RegDst 2 bits 1
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
ULAFonte
[31-26] EscReg
0 1ns
4ns [25-21] Reg a ser
2ns
lido #1
Dado
PC
[20-16] Reg a ser lido #1 Zero
4ns
Endereço 32 lido #2 0 X
0 Registradores 0 ULA
M
Instrução [15-11] U Reg a ser 0
Resultado Endereço Dado 0
X escrito Dado M M
lida 1
lido #2 U
lido
Dado de U
Memória [15-0] escrita X Memória X
de Instruções X 1 3 de dados 1
Dado a ser
16 32 escrito
Exten-
são de Opera-
sinal ção
da 0
[5-0] 6
CK ULA
01 2

ComputaçãoUFPel slide 3.27 Prof. José Luís Güntzel


Arquitetura e Organização de Computadores II
2. Organizações do MIPS: monociclo
Instrução beq: operação na ULA (subtração)
1ns 1ns
0
M
U
+ + 1
X
?? ns Desl.
4 à esq. FontePC
RegDst 2 bits 1
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
ULAFonte
[31-26] EscReg
0 1ns
4ns [25-21] Reg a ser
2ns
lido #1
Dado
PC
[20-16] Reg a ser lido #1 Zero
4ns
Endereço 32 lido #2 0 X
0 Registradores 0 ULA
M
Instrução [15-11] U Reg a ser 0
Resultado Endereço Dado 0
X escrito Dado M M
lida 1
lido #2 U
lido
Dado de U
Memória [15-0] escrita X Memória X
de Instruções X 1 3 de dados 1
Dado a ser
16 32 escrito
Exten-
são de Opera-
“folga” sinal ção
da 0
[5-0] 6
CK ULA
01 2

ComputaçãoUFPel slide 3.28 Prof. José Luís Güntzel


Arquitetura e Organização de Computadores II
2. Organizações do MIPS: monociclo
Projeto do Bloco de Controle Principal
Valores dos Sinais de Controle para as Instruções R, lw, sw e beq
instrução RegDst ULAFonte MemParaReg EscReg LerMem EscMem DvC ULAOp1 ULAOp0
Tipo R 1 0 0 1 0 0 0 1 0
lw 0 1 1 1 1 0 0 0 0
sw X 1 X 0 0 1 0 0 0
beq X 0 X 0 0 0 1 0 1

Valores do campo “opcode” para as Instruções R, lw, sw e beq


Opcode em
instrução Op5 Op4 Op3 Op2 Op1 Op0
decimal
Tipo R 0 0 0 0 0 0 0
lw 35 1 0 0 0 1 1
sw 43 1 0 1 0 1 1
beq 4 0 0 0 1 0 0

ComputaçãoUFPel slide 3.29 Prof. José Luís Güntzel


Arquitetura e Organização de Computadores II
2. Organizações do MIPS: monociclo
Projeto do Bloco de Controle Principal
Tabela-Verdade para os Sinais de Controle
entradas saídas

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

ComputaçãoUFPel slide 3.30 Prof. José Luís Güntzel


Arquitetura e Organização de Computadores II
2. Organizações do MIPS: monociclo
Inclusão do Desvio Incondicional (jump)
Instrução jump: 31 26 25 0

opcode deslocamento

• A instrução jump se parece com a instrução beq


• Porém, calcula o endereço-alvo concatenando:
– Os 4 bits de mais significativos de PC+4 com
– Os 26 bits do campo “deslocamento” da instrução de jump (campo
imediato) e com
– os bits “00” (menos significativos)

ComputaçãoUFPel slide 3.31 Prof. José Luís Güntzel


Arquitetura e Organização de Computadores II
2. Organizações do MIPS: monociclo
Inclusão do Desvio Incondicional (jump)
26 28
Desl. 1
à esq. M
0
2 bits U
M X
PC+4[31-28] U 0
+ + 1
X

4 RegDst
=1 se jump Desl.
à esq. FontePC
DVI 2 bits
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
[31-26] ULAFonte
EscReg

[25-21] Reg a ser


lido #1
Dado
[20-16] Reg a ser
PC 32 26 lido #1 Zero
Endereço lido #2
0
M Registradores ULA
Instrução [15-11] U Reg a ser 0
Resultado Endereço Dado 0
X escrito Dado M M
lida 1
lido #2 U
lido
Dado de U
Memória [15-0] escrita X Memória X
1 3 de dados 1
de Instruções
Dado a ser
16 32 escrito
Exten-
são de Opera-
sinal ção
da
[5-0] 6
ULA
2

ComputaçãoUFPel slide 3.32 Prof. José Luís Güntzel


Arquitetura e Organização de Computadores II
2. Organizações do MIPS: monociclo
Desempenho de Máquinas Monociclo
Unidades funcionais utilizadas por cada instrução

instrução Etapa 1 Etapa 2 Etapa3 Etapa 4 Etapa 5


Escreve
Tipo R Busca da instrução Lê registrador(es) ULA
registrador
Escreve
lw Busca da instrução Lê registrador(es) ULA Lê memória
registrador
Escreve na
sw Busca da instrução Lê registrador(es) ULA
memória
beq Busca da instrução Lê registrador(es) ULA
jump Busca da instrução

ComputaçãoUFPel slide 3.33 Prof. José Luís Güntzel


Arquitetura e Organização de Computadores II
2. Organizações do MIPS: monociclo
Desempenho de Máquinas Monociclo
Tempo de execução de cada instrução (com valores hipotéticos
de atraso para cada etapa)

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

ComputaçãoUFPel slide 3.34 Prof. José Luís Güntzel


Arquitetura e Organização de Computadores II

Você também pode gostar