Buscar

03 - MIPS mono-ciclo - BO da ULA, BO principal, formato e execução de instruções, desempenho

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 34 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 34 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 34 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Universidade Federal de Pelotas
Instituto de Física e Matemática
Departamento de Informática
Bacharelado em Ciência da Computação
Arquitetura Arquitetura e e OrganizaOrganizaçãçãoo
de de Computadores Computadores IIII
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
slide 3.2 Prof. José Luís Güntzel
2. Organizações do MIPS: monociclo
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Bloco Operativo Monociclo
Capaz de Realizar instruções tipo R, lw, sw e beq
32 ULAFonteEndereço
 Instrução
lida
Memória 
de Instruções
PC
+
4 +
Desl.
à esq.
2 bits
M
U
X
0
1
FontePC
Reg a ser
lido #1
Reg a ser
lido #2
Reg a ser
escrito
Dado de
escrita
Dado 
lido #1
Dado
lido #2
Registradores
EscReg
Zero
Resultado
ULA
Controle
ULA
3
Exten-
são de 
sinal
3216
[25-21]
[20-16]
[15-11]
M
U
X
0
1
RegDst
[15-0]
M
U
X
0
1
LerMem
EscMem
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
M
U
X
0
1
MemParaReg
slide 3.3 Prof. José Luís Güntzel
2. Organizações do MIPS: monociclo
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
O Controle da ULA
• A ULA tem 3 entradas de controle (8 combinações possíveis)
• Somente 5 combinações são usadas
Set on less than111
Subtração110
Adição010
OR001
AND000
FunçãoEntrada de controle da ULA
Zero
Resultado
ULA
Operação
da ULA
3
32
32
32
slide 3.4 Prof. José Luís Güntzel
2. Organizações do MIPS: monociclo
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
O Controle 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
Set on less than111
Subtração110
Adição010
OR001
AND000
FunçãoEntrada de controle da ULA Zero
Resultado
ULA
Operação
da ULA
3
32
32
32
slide 3.5 Prof. José Luís Güntzel
2. Organizações do MIPS: monociclo
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
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
-
tipo R
beq
lw/sw
Classe de
instrução
-11
depende do
campo “funct”
10
subtração01
adição00
ULA deve realizarULAOp
Opera-
ção
da 
ULA
ULAOp
Operação
da ULA
funct
6
3
2
slide 3.6 Prof. José Luís Güntzel
2. Organizações do MIPS: monociclo
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
O Controle da ULA
Correspondência entre “funct” & “ULAOp” com “controle da ULA”
010adição10000010add
110subtração10001010sub
000and10010010and
001or10010110or
set on less than
subtração
adição
adição
Operação da ULA
101010
XXXXXX
XXXXXX
XXXXXX
Campo “funct”
10
01
00
00
ULAOp
111slt
110beq
010sw
010lw
Operação da ULAInstrução
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
Opera-
ção
da 
ULA
ULAOp
Operação
da ULA
funct
6
3
2
slide 3.7 Prof. José Luís Güntzel
2. Organizações do MIPS: monociclo
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
O Controle da ULA
Tabela-Verdade para a Geração dos 3 Bits de Controle da ULA
X
X
X
X
X
X
X
F5
X
X
X
X
X
X
X
F4
1
0
0
0
0
X
X
F3
0
1
1
0
0
X
X
F2
1
0
0
1
0
X
X
F1
0100X1
1100X1
0000X1
0011X1
0
X
X
F0
X
1
0
ULAOp2
1111
110X
0100
Operação da ULAULAOp1
010adição10000010add
110subtração10001010sub
000and10010010and
001or10010110or
set on less than
subtração
adição
adição
Operação da ULA
101010
XXXXXX
XXXXXX
XXXXXX
Campo “funct”
10
01
00
00
ULAOp
111slt
110beq
010sw
010lw
Operação da ULAInstrução
slide 3.8 Prof. José Luís Güntzel
2. Organizações do MIPS: monociclo
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
O Controle da ULA
Tabela-Verdade para a Geração dos 3 Bits de Controle da ULA
X
X
X
X
X
X
X
F5
X
X
X
X
X
X
X
F4
1
0
0
0
0
X
X
F3
0
1
1
0
0
X
X
F2
1
0
0
1
0
X
X
F1
0100X1
1100X1
0000X1
0011X1
0
X
X
F0
X
1
0
ULAOp2
1111
110X
0100
Operação da ULAULAOp1
slide 3.9 Prof. José Luís Güntzel
2. Organizações do MIPS: monociclo
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Bloco Operativo + Controle da ULA
32Endereço
 Instrução
lida
Memória 
de Instruções
PC
+
4
+
Desl.
à esq.
2 bits
M
U
X
0
1
Reg a ser
lido #1
Reg a ser
lido #2
Reg a ser
escrito
Dado de
escrita
Dado 
lido #1
Dado
lido #2
Registradores
EscReg
Zero
Resultado
ULA
3
Exten-
são de 
sinal
3216
[25-21]
[20-16]
[15-11]
M
U
X
0
1
RegDst
[15-0]
M
U
X
0
1
ULAFonte
EscMem
LerMem
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
M
U
X
0
1
MemParaReg
Opera-
ção
da 
ULA
2
[5-0] 6
ULAOp
FontePC
slide 3.10 Prof. José Luís Güntzel
2. Organizações do MIPS: monociclo
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
O Bloco de Controle Principal
Relembrando os formatos das 3 principais classes de instrução
shamt
10 6
rd
15 11
opcode
31 26
rs
25 21
rt
20 16
funct
5 0
Instrução tipo R:
Instrução store word :
Instrução load word:
deslocamento
15 0
opcode
31 26
rs
25 21
rt
20 16
deslocamento
15 0
opcode
31 26
rs
25 21
rt
20 16
Reg. a ser
lido #1
Reg. a ser
lido #2
Reg. a ser
escrito
Reg. a ser
lido #1
(reg. base)
Deslocamento a ser
somado com o reg. base
Reg. a ser
lido #2
(dado)
Reg. a ser
lido #1
(reg. base)
Reg. a ser
escrito
Deslocamento a ser
somado com o reg. base
slide 3.11 Prof. José Luís Güntzel
2. Organizações do MIPS: monociclo
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
O Bloco de Controle Principal
Relembrando os formatos das 3 principais classes de instrução
Instrução branch on equal:
deslocamento
15 0
opcode
31 26
rs
25 21
rt
20 16
Reg. a ser
lido #1
Reg. a ser
lido #2
Deslocamento a ser
somado com o PC
comparados
slide 3.12 Prof. José Luís Güntzel
2. Organizações do MIPS: monociclo
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Os Sinais de Controle
32Endereço
 Instrução
lida
Memória 
de Instruções
PC
+
4
+
Desl.
à esq.
2 bits
M
U
X
0
1
FontePC
Reg a ser
lido #1
Reg a ser
lido #2
Rega ser
escrito
Dado de
escrita
Dado 
lido #1
Dado
lido #2
Registradores
EscReg
Zero
Resultado
ULA
3
Exten-
são de 
sinal
3216
[25-21]
[20-16]
[15-11]
M
U
X
0
1
RegDst
[15-0]
M
U
X
0
1
ULAFonte
LerMem
EscMem
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
M
U
X
0
1
MemParaReg
Controle
[31-26]
Opera-
ção
da 
ULA
2
[5-0] 6
ULAOp
DvC
=1 se beq Controle
do beq
slide 3.13 Prof. José Luís Güntzel
2. Organizações do MIPS: monociclo
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
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.
slide 3.14 Prof. José Luís Güntzel
2. Organizações do MIPS: monociclo
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Instrução Tipo R: busca da instrução e cálculo de PC+4 
32Endereço
 Instrução
lida
Memória 
de Instruções
PC
4
Desl.
à esq.
2 bits
M
U
X
0
1
FontePC
Reg a ser
lido #1
Reg a ser
lido #2
Reg a ser
escrito
Dado de
escrita
Dado 
lido #1
Dado
lido #2
Registradores
EscReg
Zero
Resultado
ULA
3
Exten-
são de 
sinal
3216
[25-21]
[20-16]
[15-11]
M
U
X
0
1
RegDst
[15-0]
M
U
X
0
1
ULAFonte
LerMem
EscMem
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
M
U
X
0
1
MemParaReg
Controle
[31-26]
Opera-
ção
da 
ULA
2
[5-0] 6
ULAOp
DvC
CK
+ +
Carga no PC
(início da
execução
4ns
1ns 1ns
1ns
?? ns
2ns
4ns
slide 3.15 Prof. José Luís Güntzel
2. Organizações do MIPS: monociclo
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Instrução Tipo R: leit. de Rs e Rt e geração sinais de controle 
32Endereço
 Instrução
lida
Memória 
de Instruções
PC
4
Desl.
à esq.
2 bits
M
U
X
0
1
FontePC
Reg a ser
lido #1
Reg a ser
lido #2
Reg a ser
escrito
Dado de
escrita
Dado 
lido #1
Dado
lido #2
Registradores
EscReg
Zero
Resultado
ULA
3
Exten-
são de 
sinal
3216
[25-21]
[20-16]
[15-11]
M
U
X
0
1
RegDst
[15-0]
M
U
X
0
1
ULAFonte
LerMem
EscMem
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
M
U
X
0
1
MemParaReg
Controle
[31-26]
Opera-
ção
da 
ULA
2
[5-0] 6
ULAOp
DvC
CK
+ +
1
1
0 10
0
0
10
4ns
1ns 1ns
1ns
?? ns
2ns
4ns
slide 3.16 Prof. José Luís Güntzel
2. Organizações do MIPS: monociclo
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Instrução Tipo R: operação na ULA (depende de “funct”) 
32Endereço
 Instrução
lida
Memória 
de Instruções
PC
4
Desl.
à esq.
2 bits
M
U
X
0
1
FontePC
Reg a ser
lido #1
Reg a ser
lido #2
Reg a ser
escrito
Dado de
escrita
Dado 
lido #1
Dado
lido #2
Registradores
EscReg
3
Exten-
são de 
sinal
3216
[25-21]
[20-16]
[15-11]
RegDst
[15-0]
M
U
X
0
1
ULAFonte
LerMem
EscMem
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
M
U
X
0
1
MemParaReg
Controle
[31-26]
Opera-
ção
da 
ULA
2
[5-0] 6
ULAOp
DvC
CK
+ +
1
1
0 10
0
0
10
Zero
Resultado
ULAM
U
X
0
1
4ns
1ns 1ns
1ns
?? ns
2ns
4ns
slide 3.17 Prof. José Luís Güntzel
2. Organizações do MIPS: monociclo
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Instrução Tipo R: escrita no registrador-destino 
32Endereço
 Instrução
lida
Memória 
de Instruções
PC
4
Desl.
à esq.
2 bits
M
U
X
0
1
FontePC
Reg a ser
lido #1
Reg a ser
lido #2
Reg a ser
escrito
Dado de
escrita
Dado 
lido #1
Dado
lido #2
Registradores
EscReg
3
Exten-
são de 
sinal
3216
[25-21]
[20-16]
[15-11]
RegDst
[15-0]
M
U
X
0
1
ULAFonte
LerMem
EscMem
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
M
U
X
0
1
MemParaReg
Controle
[31-26]
Opera-
ção
da 
ULA
2
[5-0] 6
ULAOp
DvC
CK
+ +
1
1
0 10
0
0
10
Zero
Resultado
ULAM
U
X
0
1
“folga”
4ns
1ns 1ns
1ns+1ns
?? ns
2ns
4ns
slide 3.18 Prof. José Luís Güntzel
2. Organizações do MIPS: monociclo
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Instrução Tipo R: escrita no registrador-destino 
32Endereço
 Instrução
lida
Memória 
de Instruções
PC
4
Desl.
à esq.
2 bits
M
U
X
0
1
FontePC
Reg a ser
lido #1
Reg a ser
lido #2
Reg a ser
escrito
Dado de
escrita
Dado 
lido #1
Dado
lido #2
Registradores
EscReg
3
Exten-
são de 
sinal
3216
[25-21]
[20-16]
[15-11]
RegDst
[15-0]
M
U
X
0
1
ULAFonte
LerMem
EscMem
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
M
U
X
0
1
MemParaReg
Controle
[31-26]
Opera-
ção
da 
ULA
2
[5-0] 6
ULAOp
DvC
CK
+ +
1
1
0 10
0
0
10
Zero
Resultado
ULA
“folga”
A escrita no banco de registradores precisa
estar sincronizada com a borda do relógio
M
U
X
0
1
4ns
1ns 1ns
1ns+1ns
?? ns
2ns
4ns
slide 3.19 Prof. José Luís Güntzel
2. Organizações do MIPS: monociclo
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
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)
slide 3.20 Prof. José Luís Güntzel
2. Organizações do MIPS: monociclo
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Instrução lw: busca da instrução e cálculo de PC+4 
32Endereço
 Instrução
lida
Memória 
de Instruções
PC
4
Desl.
à esq.
2 bits
M
U
X
0
1
FontePC
Reg a ser
lido #1
Reg a ser
lido #2
Reg a ser
escrito
Dado de
escrita
Dado 
lido #1
Dado
lido #2
Registradores
EscReg
Zero
Resultado
ULA
3
Exten-
são de 
sinal
3216
[25-21]
[20-16]
[15-11]
M
U
X
0
1
RegDst
[15-0]
M
U
X
0
1
ULAFonte
LerMem
EscMem
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
M
U
X
0
1
MemParaReg
Controle
[31-26]
Opera-
ção
da 
ULA
2
[5-0] 6
ULAOp
DvC
CK
+ +
Carga no PC
(início da
execução
4ns
1ns 1ns
1ns
?? ns
2ns
4ns
slide 3.21 Prof. José Luís Güntzel
2. Organizações do MIPS: monociclo
ComputaçãoUFPelArquitetura e Organização de Computadores II
32Endereço
 Instrução
lida
Memória 
de Instruções
PC
4
Desl.
à esq.
2 bits
M
U
X
0
1
FontePC
Reg a ser
lido #1
Reg a ser
lido #2
Reg a ser
escrito
Dado de
escrita
Dado 
lido #1
Dado
lido #2
Registradores
EscReg
Zero
Resultado
ULA
3
Exten-
são de 
sinal
3216
[25-21]
[20-16]
[15-11]
RegDst
[15-0]
M
U
X
0
1
ULAFonte
LerMem
EscMem
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
M
U
X
0
1
MemParaReg
Controle
[31-26]
Opera-
ção
da 
ULA
2
[5-0] 6
ULAOp
DvC
CK
+ +
0
1
1 00
1
0
00
M
U
X
0
1
Instrução lw: leitura de Rs (e Rt) e geração sinais de controle 
4ns
1ns 1ns
1ns
?? ns
2ns
4ns
slide 3.22 Prof. José Luís Güntzel
2. Organizações do MIPS: monociclo
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
32Endereço
 Instrução
lida
Memória 
de Instruções
PC
4
Desl.
à esq.
2 bits
M
U
X
0
1
FontePC
Reg a ser
lido #1
Reg a ser
lido #2
Reg a ser
escrito
Dado de
escrita
Dado 
lido #1
Dado
lido #2
Registradores
EscReg
3
Exten-
são de 
sinal
3216
[25-21]
[20-16]
[15-11]
RegDst
[15-0]
M
U
X
0
1
ULAFonte
LerMem
EscMem
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
M
U
X
0
1
MemParaReg
Controle
[31-26]
Opera-
ção
da 
ULA
2
[5-0] 6
ULAOp
DvC
CK
+ +
0
1
1 00
1
0
00
M
U
X
0
1
Instrução lw: cálculo do endereço usando a ULA (adição) 
Zero
Resultado
ULA
4ns
1ns 1ns
1ns
?? ns
2ns
4ns
slide 3.23 Prof. José Luís Güntzel
2. Organizações do MIPS: monociclo
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
32Endereço
 Instrução
lida
Memória 
de Instruções
PC
4
Desl.
à esq.
2 bits
M
U
X
0
1
FontePC
Reg a ser
lido #1
Reg a ser
lido #2
Reg a ser
escrito
Dado de
escrita
Dado 
lido #1
Dado
lido #2
Registradores
EscReg
3
Exten-
são de 
sinal
3216
[25-21]
[20-16]
[15-11]
RegDst
[15-0]
M
U
X
0
1
ULAFonte
LerMem
EscMem
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
M
U
X
0
1
MemParaReg
Controle
[31-26]
Opera-
ção
da 
ULA
2
[5-0] 6
ULAOp
DvC
CK
+ +
0
1
1 00
1
0
00
M
U
X
0
1
Instrução lw: acesso à memória de dados para uma leitura
Zero
Resultado
ULA
4ns
1ns 1ns
1ns
?? ns
2ns
4ns
slide 3.24 Prof. José Luís Güntzel
2. Organizações do MIPS: monociclo
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
32Endereço
 Instrução
lida
Memória 
de Instruções
PC
4
Desl.
à esq.
2 bits
M
U
X
0
1
FontePC
Reg a ser
lido #1
Reg a ser
lido #2
Reg a ser
escrito
Dado de
escrita
Dado 
lido #1
Dado
lido #2
Registradores
EscReg
3
Exten-
são de 
sinal
3216
[25-21]
[20-16]
[15-11]
RegDst
[15-0]
M
U
X
0
1
ULAFonte
LerMem
EscMem
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
M
U
X
0
1
MemParaReg
Controle
[31-26]
Opera-
ção
da 
ULA
2
[5-0] 6
ULAOp
DvC
CK
+ +
0
1
1 00
1
0
00
M
U
X
0
1
Instrução lw: escrita no registrador-destino 
Zero
Resultado
ULA
“folga”
4ns
1ns 1ns
1ns+1ns
?? ns
2ns
4ns
slide 3.25 Prof. José Luís Güntzel
2. Organizações do MIPS: monociclo
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
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.
slide 3.26 Prof. José Luís Güntzel
2. Organizações do MIPS: monociclo
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Instrução beq: busca da instrução e cálculo de PC+4 
32Endereço
 Instrução
lida
Memória 
de Instruções
PC
4
Desl.
à esq.
2 bits
M
U
X
0
1
FontePC
Reg a ser
lido #1
Reg a ser
lido #2
Reg a ser
escrito
Dado de
escrita
Dado 
lido #1
Dado
lido #2
Registradores
EscReg
Zero
Resultado
ULA
3
Exten-
são de 
sinal
3216
[25-21]
[20-16]
[15-11]
M
U
X
0
1
RegDst
[15-0]
M
U
X
0
1
ULAFonte
LerMem
EscMem
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
M
U
X
0
1
MemParaReg
Controle
[31-26]
Opera-
ção
da 
ULA
2
[5-0] 6
ULAOp
DvC
CK
+ +
Carga no PC
(início da
execução
4ns
1ns 1ns
1ns
?? ns
2ns
4ns
slide 3.27 Prof. José Luís Güntzel
2. Organizações do MIPS: monociclo
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Instrução beq: leit. de Rs e Rt e geração sinais de controle 
32Endereço
 Instrução
lida
Memória 
de Instruções
PC
4
Desl.
à esq.
2 bits
M
U
X
0
1
FontePC
Reg a ser
lido #1
Reg a ser
lido #2
Reg a ser
escrito
Dado de
escrita
Dado 
lido #1
Dado
lido #2
Registradores
EscReg
Zero
Resultado
ULA
3
Exten-
são de 
sinal
3216
[25-21]
[20-16]
[15-11]
M
U
X
0
1
RegDst
[15-0]
M
U
X
0
1
ULAFonte
LerMem
EscMem
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
M
U
X
0
1
MemParaReg
Controle
[31-26]
Opera-
ção
da 
ULA
2
[5-0] 6
ULAOp
DvC
CK
+ +
4ns
1ns 1ns
1ns
?? ns
X
0
0 X0
0
1
01
4ns
2ns
slide 3.28 Prof. José Luís Güntzel
2. Organizações do MIPS: monociclo
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Instrução beq: operação na ULA (subtração) 
32Endereço
 Instrução
lida
Memória 
de Instruções
PC
4
Desl.
à esq.
2 bits
M
U
X
0
1
FontePC
Reg a ser
lido #1
Reg a ser
lido #2
Reg a ser
escrito
Dado de
escrita
Dado 
lido #1
Dado
lido #2
Registradores
EscReg
3
Exten-
são de 
sinal
3216
[25-21]
[20-16]
[15-11]
RegDst
[15-0]
M
U
X
0
1
ULAFonte
LerMem
EscMem
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
M
U
X
0
1
MemParaReg
Controle
[31-26]
Opera-
ção
da 
ULA
2
[5-0] 6
ULAOp
DvC
CK
+ +
4ns
1ns 1ns
1ns
?? ns
X
0
0 X0
0
1
01
Zero
Resultado
ULA
2ns
M
U
X
0
1
“folga”
4ns
slide 3.29 Prof. José Luís Güntzel
2. Organizações do MIPS: monociclo
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
1
0
0
0
DvC
0
1
0
0
EscMem
0
1
1
0
ULAFonte
X
X
0
1
RegDst
0
0
1
1
EscReg
0
0
1
0
LerMem
001lw
00Xsw
0
1
ULAOp1
X
0
MemParaReg
1beq
0Tipo R
ULAOp0instrução
Projeto do Bloco de Controle Principal
Valores dos Sinais de Controle para as Instruções R, lw, sw e beq
Valores do campo “opcode” para as Instruções R, lw, sw e beq
0
1
1
0
Op5
0
0
0
0
Op4
0
1
0
0
Op3
1
0
0
0
Op2
0
1
1
0
Op14
43
35
0
Opcode em
decimal
1lw
1sw
0beq
0Tipo R
Op0instrução
slide 3.30 Prof. José Luís Güntzel
2. Organizações do MIPS: monociclo
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
0
1
1
0
Op5
0
0
0
0
Op4
0
1
0
0
Op3
1
0
0
0
Op2
0
1
1
0
Op1
0
1
1
0
Op0
1
0
0
0
0
1
0
0
0
1
1
0
X
X
0
1
0
0
1
1
0
0
1
0
001
00X
0
1
X
0
1
0
Projeto do Bloco de Controle Principal
Tabela-Verdade para os Sinais de Controle
R
eg
D
st
U
L
A
F
o
n
te
M
em
P
ar
aR
eg
E
sc
R
eg
L
er
M
em
E
sc
M
em
D
vC
U
L
A
O
p
1
U
L
A
O
p
0
entradas saídas
slide 3.31 Prof. José Luís Güntzel
2. Organizações do MIPS: monociclo
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Inclusão do Desvio Incondicional (jump) 
• 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)
Instrução jump:
deslocamentoopcode
25 031 26
slide 3.32 Prof. José Luís Güntzel
2. Organizações do MIPS: monociclo
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
26Endereço
 Instrução
lida
Memória 
de Instruções
PC
+
4
+
Desl.
à esq.
2 bits
M
U
X
0
1
FontePC
Reg a ser
lido #1
Reg a ser
lido #2
Reg a ser
escrito
Dado de
escrita
Dado 
lido #1
Dado
lido #2
Registradores
EscReg
Zero
Resultado
ULA
3
Exten-
são de 
sinal
3216
[25-21]
[20-16]
[15-11]
M
U
X
0
1
RegDst
[15-0]
M
U
X
0
1
ULAFonte
LerMem
EscMem
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
M
U
X
0
1
MemParaReg
Controle
[31-26]
Opera-
ção
da 
ULA
2
[5-0] 6
ULAOp
DvC
Inclusão do Desvio Incondicional (jump) 
32
Desl.
à esq.
2 bits
26 28
PC+4[31-28]
M
U
X
1
0
DVI
=1 se jump
slide 3.33 Prof. José Luís Güntzel
2. Organizações do MIPS: monociclo
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Desempenho de Máquinas Monociclo
Unidades funcionais utilizadas por cada instrução
Escreve na
memória
ULALê registrador(es)Busca da instruçãosw
Lê registrador(es)
Lê registrador(es)
Lê registrador(es)
Etapa 2
ULA
ULA
ULA
Etapa3
Lê memória
Escreve
registrador
Etapa 4
Busca da instrução
Busca da instrução
Busca da instrução
Busca da instrução
Etapa 1
Escreve
registrador
lw
beq
jump
Tipo R
Etapa 5instrução
slide 3.34 Prof. José Luís Güntzel
2. Organizações do MIPS: monociclo
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Desempenho de Máquinas Monociclo
Tempo de execução de cada instrução (com valores hipotéticos
de atraso para cada etapa)
---
---
4 ns
4 ns
---
Acesso à
memória de
dados
11 ns---2 ns1 ns4 nssw
---
1 ns
1 ns
1 ns
Leitura de
registradores
---
2 ns
2 ns
2 ns
Operação
na ULA
---
---
1 ns
1 ns
Escrita no
registrador
4 ns
4 ns
4 ns
4 ns
Acesso à memória
de instruções
12 nslw
7 nsbeq
4 nsjump
8 nsTipo R
Totalinstrução

Outros materiais