Buscar

Slides perfeitos do Livro_AOC2_aula9

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 9
2. MIPS pipeline: construção do bloco operativo
pipeline, visualização da execução das instruções
no pipeline, o bloco de controle pipeline.
Prof. José Luís Güntzel
guntzel@ufpel.edu.br
www.ufpel.edu.br/~guntzel/AOC2/AOC2.html
slide 9.2 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
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
Reg a ser
lido #1
Reg a ser
lido #2
Reg a ser
escrito
Dado de
escrita
Dado 
lido #1
Dado
lido #2
Registradores
Zero
Resultado
ULA
Exten-
são de 
sinal
3216
[25-21]
M
U
X
0
1 MU
X
0
1
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
M
U
X
0
1
+
+
[20-16]
[15-11]
[15-0]
Bloco Operativo dos MIPS Monociclo
É possível identificar 5 etapas na execução
slide 9.3 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
É necessário separar a parte operativa em cinco partes, cada uma
correspondendo a um estágio de execução de uma instrução:
1. BI: busca de instrução
2. DI: decodificação da instrução e leitura do banco de
registradores
3. EX: execução ou cálculo de endereço
4. MEM: acesso à memória de dados
5. ER: escrita no banco de registradores
Bloco Operativo em Pipeline (Pipeline Datapath)
Até cinco instruções podem estar em execução durante um dado
ciclo de clock
slide 9.4 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
BI: Busca da instrução DI: Decodif. da instrução/
Leitura do banco de regs.
EX: Execução/
Cálculo do endereço
MEM: acesso à mem ER: escrita no banco
de registradores
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
Zero
Resultado
ULA
Exten-
são de 
sinal
3216
[25-21]
M
U
X
0
1 MU
X
0
1
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
M
U
X
0
1
+
+
[20-16]
[15-11]
[15-0]
Instruções e dados se movem da esquerda para direita
(exceto as linhas marcadas em vermelho)
slide 9.5 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
 Um modo de mostrar a execução em pipeline é imaginar
que cada instrução executa em seu próprio bloco
operativo
 Os blocos operativos são colocados deslocados uns em
relação aos outros, a fim de mostrar a relação entre as
instruções
Bloco Operativo em Pipeline
slide 9.6 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Execução das 3 instruções lw pressupondo o uso de pipeline
lw $1, 100($0)
lw $2, 200($0)
Ordem de
execução
do programa
(em instruções)
Tempo 2 4 6 8 10
lw $3, 300($3)
12 14 16 18
Bloco Operativo em Pipeline
MI Reg MD RegULA
MI Reg MD RegULA
MI Reg MD RegULA
slide 9.7 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Bloco Operativo em Pipeline
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
Exten-
são de 
sinal
3216
M
U
X
0
1 MU
X
0
1
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
M
U
X
0
1
+
+
BI/DI DI/EX EX/MEM MEM/ER
Zero
Resultado
ULA
[25-21]
[20-16]
[15-11]
[15-0]
registradores de pipeline
slide 9.8 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Bloco Operativo em Pipeline: executando lw
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
Exten-
são de 
sinal
3216
M
U
X
0
1 MU
X
0
1
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
M
U
X
0
1
+
BI/DI DI/EX EX/MEM MEM/ER
Zero
Resultado
ULA
[25-21]
[20-16]
[15-11]
[15-0]
Busca da instrução
PC+4 é armazenado para ser usado, caso
a instrução corrente seja um beq
+
slide 9.9 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Bloco Operativo em Pipeline: executando lw
32Endereço
 Instrução
lida
Memória 
de Instruções
PC
4
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
Exten-
são de 
sinal
3216
M
U
X
0
1
+
BI/DI DI/EX
[25-21]
[20-16]
[15-11]
[15-0]
decodificação da instrução
Desl.
à esq.
2 bits
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
M
U
X
0
1
EX/MEM MEM/ER
Zero
Resultado
ULA
+
M
U
X
0
1
slide 9.10 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Bloco Operativo em Pipeline: executando lw
Desl.
à esq.
2 bits
M
U
X
0
1
DI/EX EX/MEM
Zero
Resultado
ULA
execução
+
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
M
U
X
0
1
MEM/ER
32Endereço
 Instrução
lida
Memória 
de Instruções
PC
4
M
U
X
0
1
+
BI/DI
Reg a ser
lido #1
Reg a ser
lido #2
Reg a ser
escrito
Dado de
escrita
Dado 
lido #1
Dado
lido #2
Registradores
Exten-
são de 
sinal
3216
M
U
X
0
1
[25-21]
[20-16]
[15-11]
[15-0]
slide 9.11 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Bloco Operativo em Pipeline: executando lw
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
EX/MEM MEM/ER
memória
M
U
X
0
1
DI/EX
32Endereço
 Instrução
lida
Memória 
de Instruções
PC
4
M
U
X
0
1
+
BI/DI
Reg a ser
lido #1
Reg a ser
lido #2
Reg a ser
escrito
Dado de
escrita
Dado 
lido #1
Dado
lido #2
Registradores
Exten-
são de 
sinal
3216
M
U
X
0
1
[25-21]
[20-16]
[15-11]
[15-0]
Desl.
à esq.
2 bits
M
U
X
0
1
Zero
Resultado
ULA
+
slide 9.12 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Bloco Operativo em Pipeline: executando lw
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
EX/MEM MEM/ERDI/EX
32Endereço
 Instrução
lida
Memória 
de Instruções
PC
4
M
U
X
0
1
+
BI/DI
Reg a ser
lido #1
Reg a ser
lido #2
Reg a ser
escrito
Dado de
escrita
Dado 
lido #1
Dado
lido #2
Registradores
Exten-
são de 
sinal
3216
[25-21]
[20-16]
[15-11]
[15-0]
Desl.
à esq.
2 bits
M
U
X
0
1
Zero
Resultado
ULA
+
Escrita no
banco de
registradoresM
U
X
0
1 M
U
X
0
1
slide 9.13 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Bloco Operativo em Pipeline: executando sw
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
Exten-
são de 
sinal
3216
M
U
X
0
1 MU
X
0
1
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
M
U
X
0
1
+
BI/DI DI/EX EX/MEM MEM/ER
Zero
Resultado
ULA
[25-21]
[20-16]
[15-11]
[15-0]
Busca da instrução
+
Idêntico ao 1o estágio do lw
slide 9.14 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Bloco Operativo em Pipeline: executando sw
32Endereço
 Instrução
lida
Memória 
de Instruções
PC
4
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
Exten-
são de 
sinal
3216
+
BI/DI DI/EX
[25-21]
[20-16]
[15-11]
[15-0]
decodificação da instrução
Desl.
à esq.
2 bits
M
U
X
0
1
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
M
U
X
0
1
EX/MEM MEM/ER
Zero
Resultado
ULA
+
Idêntico ao 2o estágio do lw
M
U
X
0
1
slide 9.15 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Bloco Operativo em Pipeline: executando sw
Desl.
à esq.
2 bits
M
U
X
0
1
DI/EX EX/MEM
Zero
Resultado
ULA
execução
+
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
M
U
X
0
1
MEM/ER
32Endereço
 Instrução
lida
Memória 
de Instruções
PC
4
M
U
X
0
1
+
BI/DI
Reg a ser
lido #1
Reg a ser
lido #2
Reg a ser
escrito
Dado de
escrita
Dado 
lido #1
Dado
lido #2
Registradores
Exten-
são de 
sinal
3216
M
U
X
0
1
[25-21]
[20-16]
[15-11]
[15-0]
conteúdo de Reg[Rt]
é passado adiante
slide 9.16 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Bloco Operativo em Pipeline: executando sw
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
EX/MEM MEM/ER
memória
M
U
X
0
1
DI/EX
32Endereço
 Instrução
lida
Memória 
de Instruções
PC
4
M
U
X
0
1
+
BI/DI
Reg a ser
lido #1
Reg a ser
lido #2
Reg a ser
escrito
Dado de
escrita
Dado 
lido #1
Dado
lido #2
Registradores
Exten-
são de 
sinal
3216
M
U
X
0
1
[25-21]
[20-16]
[15-11]
[15-0]
Desl.
à esq.
2 bits
M
U
X
0
1
Zero
Resultado
ULA
+
conteúdo de Reg[Rt]
é escrito na memória
slide 9.17 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Bloco Operativo em Pipeline: executando sw
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
EX/MEM MEM/ERDI/EX
32Endereço
 Instrução
lida
Memória 
de Instruções
PC
4
M
U
X
0
1
+
BI/DI
Reg a ser
lido #1
Reg a ser
lido #2
Reg a ser
escrito
Dado de
escrita
Dado 
lido #1
Dado
lido #2
Registradores
Exten-
são de 
sinal
3216
[25-21]
[20-16]
[15-11]
[15-0]
Desl.
à esq.
2 bits
M
U
X
0
1
Zero
Resultado
ULA
+
Escrita no
banco de
registradores
M
U
X
0
1 M
U
X
0
1
Nada acontece no 5o estágio…
slide 9.18 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
 Cada componente no bloco operativo só pode ser usado
em um único estágio do pipeline
 Componentes:
 Memória de instruções
 Portas de leitura do banco de registradores
 ULA
 Memória de dados
 Porta de escrita do banco de registradores
Bloco Operativo em Pipeline
slide 9.19 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Bloco Operativo em Pipeline: executando lw
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
EX/MEM MEM/ERDI/EX
32Endereço
 Instrução
lida
Memória 
de Instruções
PC
4
M
U
X
0
1
+
BI/DI
Reg a ser
lido #1
Reg a ser
lido #2
Reg a ser
escrito
Dado de
escrita
Dado 
lido #1
Dado
lido #2
Registradores
Exten-
são de 
sinal
3216
[25-21]
[20-16]
[15-11]
[15-0]
Desl.
à esq.
2 bits
M
U
X
0
1
Zero
Resultado
ULA
+
Escrita no
banco de
registradores
M
U
X
0
1 M
U
X
0
1
Bug! O endereço do registrador a ser escrito
deve viajar junto com a instrução lw
slide 9.20 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Bloco Operativo Pipeline Corrigido
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
EX/MEM MEM/ERDI/EX
32Endereço
 Instrução
lida
Memória 
de Instruções
PC
4
M
U
X
0
1
+
BI/DI
Reg a ser
lido #1
Reg a ser
lido #2
Reg a ser
escrito
Dado de
escrita
Dado 
lido #1
Dado
lido #2
Registradores
Exten-
são de 
sinal
3216
[25-21]
[20-16]
[15-11]
[15-0]
Desl.
à esq.
2 bits
Zero
Resultado
ULA
+
M
U
X
0
1
M
U
X
0
1
M
U
X
0
1
slide 9.21 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Bloco Operativo Pipeline Corrigido
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
EX/MEM MEM/ERDI/EX
32Endereço
 Instrução
lida
Memória 
de Instruções
PC
4
M
U
X
0
1
+
BI/DI
Reg a ser
lido #1
Reg a ser
lido #2
Reg a ser
escrito
Dado de
escrita
Dado 
lido #1
Dado
lido #2
Registradores
Exten-
são de 
sinal
3216
[25-21]
[20-16]
[15-11]
[15-0]
Desl.
à esq.
2 bits
Zero
Resultado
ULA
+
M
U
X
0
1
M
U
X
0
1
Por que este multiplexador
veio parar aqui?
M
U
X
0
1
slide 9.22 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
EX/MEM MEM/ERDI/EX
32Endereço
 Instrução
lida
Memória 
de Instruções
PC
4
M
U
X
0
1
+
BI/DI
Reg a ser
lido #1
Reg a ser
lido #2
Reg a ser
escrito
Dado de
escrita
Dado 
lido #1
Dado
lido #2
Registradores
Exten-
são de 
sinal
3216
[25-21]
[20-16]
[15-11]
[15-0]
Desl.
à esq.
2 bits
M
U
X
0
1
Zero
Resultado
ULA
+
M
U
X
0
1
M
U
X
0
1
Busca da instrução
Bloco Operativo Pipeline Corrigido executando lw
slide 9.23 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
EX/MEM MEM/ERDI/EX
32Endereço
 Instrução
lida
Memória 
de Instruções
PC
4
M
U
X
0
1
+
BI/DI
Reg a ser
lido #1
Reg a ser
lido #2
Reg a ser
escrito
Dado de
escrita
Dado 
lido #1
Dado
lido #2
Registradores
Exten-
são de 
sinal
3216
[25-21]
[20-16]
[15-11]
[15-0]
Desl.
à esq.
2 bits
Zero
Resultado
ULA
+
M
UX
0
1
M
U
X
0
1
decodificação da instrução
M
U
X
0
1
Bloco Operativo Pipeline Corrigido executando lw
slide 9.24 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Bloco Operativo Pipeline Corrigido executando lw
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
EX/MEM MEM/ERDI/EX
32Endereço
 Instrução
lida
Memória 
de Instruções
PC
4
M
U
X
0
1
+
BI/DI
Reg a ser
lido #1
Reg a ser
lido #2
Reg a ser
escrito
Dado de
escrita
Dado 
lido #1
Dado
lido #2
Registradores
Exten-
são de 
sinal
3216
[25-21]
[20-16]
[15-11]
[15-0]
Desl.
à esq.
2 bits
M
U
X
0
1
Zero
Resultado
ULA
+
M
U
X
0
1
M
U
X
0
1
execução
slide 9.25 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
EX/MEM MEM/ERDI/EX
32Endereço
 Instrução
lida
Memória 
de Instruções
PC
4
M
U
X
0
1
+
BI/DI
Reg a ser
lido #1
Reg a ser
lido #2
Reg a ser
escrito
Dado de
escrita
Dado 
lido #1
Dado
lido #2
Registradores
Exten-
são de 
sinal
3216
[25-21]
[20-16]
[15-11]
[15-0]
Desl.
à esq.
2 bits
M
U
X
0
1
Zero
Resultado
ULA
+
M
U
X
0
1
M
U
X
0
1
memória
Bloco Operativo Pipeline Corrigido executando lw
slide 9.26 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
EX/MEM MEM/ERDI/EX
32Endereço
 Instrução
lida
Memória 
de Instruções
PC
4
M
U
X
0
1
+
BI/DI
Reg a ser
lido #1
Reg a ser
lido #2
Reg a ser
escrito
Dado de
escrita
Dado 
lido #1
Dado
lido #2
Registradores
Exten-
são de 
sinal
3216
[25-21]
[20-16]
[15-11]
[15-0]
Desl.
à esq.
2 bits
Zero
Resultado
ULA
+
M
U
X
0
1
M
U
X
0
1
M
U
X
0
1
Escrita no
banco de
registradores
Bloco Operativo Pipeline Corrigido executando lw
slide 9.27 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
 Considere a seguinte seqüência de instruções:
lw $10, 20($1)
sub $11, $2, $3
 Representá-la usando diagrama de pipeline com
múltiplos ciclos de clock (relógio)
Executando uma Seqüência de Instruções
slide 9.28 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Diagrama de Pipeline com Múltiplos Ciclos de Clock: versão 1
Executando uma Seqüência de Instruções
lw $10, 20($1)
sub $11, $2, $3
Ordem de
execução
do programa
(em instruções)
Tempo 
(em ciclos de clock)
CC1
MI Reg MD RegULA
MI Reg MD RegULA
CC2 CC3 CC4 CC5 CC6
 Diagrama não-convencional
 Os recursos usados em cada estágio estão identificados
slide 9.29 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Diagrama de Pipeline com Múltiplos Ciclos de Clock: versão 2
Executando uma Seqüência de Instruções
 Diagrama tradicional
 Identifica cada estágio pelo nome
lw $10, 20($1)
sub $11, $2, $3
Ordem de
execução
do programa
(em instruções)
Tempo 
(em ciclos de clock)
CC1 CC2 CC3 CC4 CC5 CC6
Escrita no banco
de registradores
Acesso 
a dados
Execução
Decodificação
da instrução
Busca da
instrução
Escrita no banco
de registradores
Acesso 
a dados
Execução
Decodificação
da instrução
Busca da
instrução
slide 9.30 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
 Representar a seqüência de instruções abaixo usando
diagrama de pipeline com um único ciclo de clock
(relógio)
lw $10, 20($1)
sub $11, $2, $3
Executando uma Seqüência de Instruções
slide 9.31 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
EX/MEM MEM/ERDI/EX
32Endereço
 Instrução
lida
Memória 
de Instruções
PC
4
M
U
X
0
1
+
BI/DI
Reg a ser
lido #1
Reg a ser
lido #2
Reg a ser
escrito
Dado de
escrita
Dado 
lido #1
Dado
lido #2
Registradores
Exten-
são de 
sinal
3216
[25-21]
[20-16]
[15-11]
[15-0]
Desl.
à esq.
2 bits
M
U
X
0
1
Zero
Resultado
ULA
+
M
U
X
0
1
M
U
X
0
1
Executando uma Seqüência de Instruções
Busca da instrução
lw $10, 20($1)
slide 9.32 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
EX/MEM MEM/ERDI/EXBI/DI
Reg a ser
lido #1
Reg a ser
lido #2
Reg a ser
escrito
Dado de
escrita
Dado 
lido #1
Dado
lido #2
Registradores
Exten-
são de 
sinal
3216
[25-21]
[20-16]
[15-11]
[15-0]
Desl.
à esq.
2 bits
Zero
Resultado
ULA
+
M
U
X
0
1
M
U
X
0
1
M
U
X
0
1
Executando uma Seqüência de Instruções
Decodificação da instrução
lw $10, 20($1)
Busca da instrução
sub $11, $2, $3
32Endereço
 Instrução
lida
Memória 
de Instruções
PC
4
M
U
X
0
1
+
slide 9.33 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
EX/MEM MEM/ERDI/EX
32Endereço
 Instrução
lida
Memória 
de Instruções
PC
4
M
U
X
0
1
+
Desl.
à esq.
2 bits
M
U
X
0
1
Zero
Resultado
ULA
+
M
U
X
0
1
M
U
X
0
1
Executando uma Seqüência de Instruções
Execução
lw $10, 20($1)
Decodificação da instrução
sub $11, $2, $3
BI/DI
Reg a ser
lido #1
Reg a ser
lido #2
Reg a ser
escrito
Dado de
escrita
Dado 
lido #1
Dado
lido #2
Registradores
Exten-
são de 
sinal
3216
[25-21]
[20-16]
[15-11]
[15-0]
slide 9.34 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
EX/MEM MEM/ER
32Endereço
 Instrução
lida
Memória 
de Instruções
PC
4
M
U
X
0
1
+
BI/DI
Reg a ser
lido #1
Reg a ser
lido #2
Reg a ser
escrito
Dado de
escrita
Dado 
lido #1
Dado
lido #2
Registradores
Exten-
são de 
sinal
3216
[25-21]
[20-16]
[15-11]
[15-0]
M
U
X
0
1
Executando uma Seqüência de Instruções
Memória
lw $10, 20($1)
Execução
sub $11, $2, $3
DI/EX
Desl.
à esq.
2 bits
M
U
X
0
1
Zero
Resultado
ULA
+
M
U
X
0
1
slide 9.35 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
EX/MEM MEM/ERDI/EX
32Endereço
 Instrução
lida
Memória 
de Instruções
PC
4
M
U
X
0
1
+
BI/DI
Reg a ser
lido #1
Reg a ser
lido #2
Reg a ser
escrito
Dado de
escrita
Dado 
lido #1
Dado
lido #2
Registradores
Exten-
são de 
sinal
3216
[25-21]
[20-16]
[15-11]
[15-0]
Desl.
à esq.
2 bits
Zero
Resultado
ULA
+
M
U
X
0
1
M
U
X
0
1
M
U
X
0
1
Executandouma Seqüência de Instruções
Escrita no
banco de
registradores
lw $10, 20($1)
Memória
sub $11, $2, $3
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
slide 9.36 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
EX/MEM MEM/ERDI/EX
32Endereço
 Instrução
lida
Memória 
de Instruções
PC
4
M
U
X
0
1
+
BI/DI
Reg a ser
lido #1
Reg a ser
lido #2
Reg a ser
escrito
Dado de
escrita
Dado 
lido #1
Dado
lido #2
Registradores
Exten-
são de 
sinal
3216
[25-21]
[20-16]
[15-11]
[15-0]
Desl.
à esq.
2 bits
Zero
Resultado
ULA
+
M
U
X
0
1
M
U
X
0
1
M
U
X
0
1
Executando uma Seqüência de Instruções
Escrita no
banco de
registradores
sub $11, $2, $3
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
slide 9.37 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
EX/MEM MEM/ERDI/EX
32Endereço
 Instrução
lida
Memória 
de Instruções
PC
4
M
U
X
0
1
+
BI/DI
Reg a ser
lido #1
Reg a ser
lido #2
Reg a ser
escrito
Dado de
escrita
Dado 
lido #1
Dado
lido #2
Registradores
Exten-
são de 
sinal
16
[25-21]
[20-16]
[15-11]
[15-0]
Desl.
à esq.
2 bits
Zero
Resultado
ULA
+
M
U
X
0
1
M
U
X
0
1
M
U
X
0
1
Opera-
ção
da 
ULA
2
ULAOp
3
32 6
EscMem
LerMem
MemParaReg
EscReg
RegDst
ULAFonte
DvC
FontePC
Bloco Operativo em Pipeline com Sinais de Controle
slide 9.38 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
 Iremos aproveitar ao máximo os sinais de controle do
MIPS monociclo
 Isto inclui utilizar a mesma lógica de controle para:
 A ULA
 O desvio condicional
 O multiplexador que controla a fonte do dado do registrador-
destino
 E demais linhas de controle mostradas na transparência
anterior…
Projeto do Bloco de Controle
slide 9.39 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Relembrando 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
slide 9.40 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
0
0
1
1
EscReg
0
1
0
0
EscMem
0
0
1
0
LerMem
1
0
0
0
DvC
1
0
0
0
ULAOp0
0
0
0
1
ULAOp1
0
1
1
0
ULAFonte
X
X
0
1
RegDst
1lw
Xsw
X
0
MemParaReg
beq
Tipo R
instrução
Projeto do Bloco de Controle
Reagrupando os Sinais de Controle do MIPS monociclo, a fim de
reaproveitá-los…
 Conforme pode-se perceber, os sinais de controle são essencialmente os
mesmos do MIPS monociclo
 A única particularidade é que eles precisam “viajar” pelos estágios
juntamente com a instrução
Sinais de Controle a serem usados no estágio
de execução/cálculo do endereço
Sinais de Controle a serem
usados no estágio de
acesso à memória
Sinais de Controle a serem
usados no estágio de
escrita no banco de
registradores
slide 9.41 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Projeto do Bloco de Controle
Endereço Dado
lido
Dado a ser
escrito
Memória
de dados
DI/EX
32Endereço
 Instrução
lida
Memória 
de Instruções
PC
4
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
Exten-
são de 
sinal
16
[25-21]
[20-16]
[15-11]
[15-0]
Desl.
à esq.
2 bits
Zero
Resultado
ULA
+
M
U
X
0
1
M
U
X
0
1
M
U
X
0
1
Opera-
ção
da 
ULA
2
ULAOp
3
32 6
EscMem
LerMem
MemParaReg
EscReg
RegDst
ULAFonte
DvC
FontePC
Controle
EX
M
ER
M
ER
EX/MEM
MEM/ER
ERBI/DI
[31-26]
instrução

Outros materiais