Buscar

Slides perfeitos do Livro_AOC2_aula11

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 13 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 13 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 13 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 11
2. MIPS pipeline: conflitos por dados e paradas,
conflitos em desvios condicionais.
Prof. José Luís Güntzel
guntzel@ufpel.edu.br
www.ufpel.edu.br/~guntzel/AOC2/AOC2.html
slide 11.2 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Conflitos por Dados e Paradas
Nem sempre o adiantamento irá resolver um conflito por dados.
Exemplo:
# primeiro operando ($2) depende de lw; registrador $4 é escrito$4, $2, $5and
# registrador $2 é escrito$2, 20($1)lw
# primeiro operando ($2) depende de lw$8, $2 , $6or
# nenhuma dependencia$1, $6, $7slt
# primeiro operando ($4) depende de and; segundo operando ($2)
depende de lw
$9, $4, $2add
slide 11.3 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
lw $2, 20 ($1)
Ordem de execução
do programa
(em instruções)
MI Reg MD RegULA
Conflitos por Dados e Paradas
CC9CC8CC7CC6CC5CC4CC3CC2CC1
Tempo, em
Ciclos de clock
MI Reg MD RegULA
and $4, $2, $5
or $8, $2 , $6
add $9, $4, $2
slt $1, $6, $7
MI Reg MD RegULA
MI Reg MD RegULA
MI Reg MD RegULA
Conflito não pode ser
resolvido por adiantamento
slide 11.4 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Unidade de Detecção de Conflito
 Faz o pipeline parar quando houver uma instrução load word,
seguida de uma instrução que leia o registrador onde esta
instrução de load word escreveu
 Vai operar durante o estágio DI, inserindo uma parada entre a
instrução load word e o uso de seu resultado
 Condição a ser verificada:
Conflitos por Dados e Paradas
Se (DI/EX.LerMem = 1 E
((DI/EX.RegistradorRt = BI/DI.RegistradorRs ) OU
(DI/EX.RegistradorRt = BI/DI.RegistradorRt ))) 
Então pára o pipeline por um ciclo de relógio
load word é a única instrução
que lê dados da memória
slide 11.5 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
lw $2, 20 ($1)
Ordem de execução
do programa
(em instruções)
Conflitos por Dados e Paradas
CC9CC8CC7CC6CC5CC4CC3CC2CC1
Tempo, em
Ciclos de clock
MI Reg MD RegULA
and $4, $2, $5
or $8, $2 , $6
add $9, $4, $2
slt $1, $6, $7
MI Reg MD RegULA
MI Reg MD RegULA
bolha
Assumindo que a existência
da unidade de adiantamento
MI Reg MD RegULAReg
MI MD RegULARegReg
slide 11.6 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Conflitos por Dados e Paradas
Trancando o Prosseguimento das Instruções Posteriores a
uma Instrução “load word”
 Se a instrução que está no estágio DI estiver parada, então o
estágio BI também precisa parar
 Para impedir o avanço de instruções pelo pipeline, basta evitar
que tanto o PC quanto o registrador BI/DI sejam escritos
 As condições do item anterior fazem com que, no ciclo de relógio
seguinte:
 A instrução que está no BI seja lida novamente
 Os registradores lidos no estágio DI serão lidos novamente
slide 11.7 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Conflitos 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
slide 11.8 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Conflitos por Dados e Paradas
Propagando uma Bolha pelo Pipeline
 Como a instrução load word prossegue pelo pipeline, cria-se
uma “bolha” de execução, a qual deve também prosseguir pelo
pipeline
 Uma “bolha” deve executar em cada estágio a mesma coisa que
uma instrução NOP executa
 NOP:
 Todos os sinais de controle em 0 (zero) para os estágios EX, MEM e
ER.
 Estes valores de sinais de controle são passados adiante a cada ciclo
de relógio, produzindo o efeito desejado (nenhum registrador ou
memória é escrito)
slide 11.9 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Desvio Condicional em Pipeline.
Exemplo:
$14, $4, $2add52
……
$10, $4, $8sub36
72
56
48
44
40
$12, $2, $5and
# desvio relativo ao PC para 40 + 4 + 7*4 = 72$1, $3, 7beq
$13, $2, $6or
$4, 50( $7)lw
$15, $6, $7slt
Conflitos de Controle
(ou Conflitos de Desvios Condicionais)
slide 11.10 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
40 beq $1, $3, 7
Ordem de execução
do programa
(em instruções)
MI Reg MD RegULA
MI Reg MD RegULA
Conflitos de Controle
CC9CC8CC7CC6CC5CC4CC3CC2CC1
Tempo, em
Ciclos de clock
MI Reg MD RegULA
MI Reg MD RegULA
MI Reg MD RegULA
44 and $12, $2, $5
48 or $13, $6, $2
52 add $14, $2, $2
72 lw $4, 50($2)
Considerando o Bloco Operativo Pipeline Visto Até Aqui…
Se o desvio ocorrer, 3
instruções terão que ser
descartadas (flushed)
slide 11.11 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
 Conforme já visto anteriormente, a parada no avanço das instruções
não é uma solução viável para o desvio condicional
 Uma alternativa comum é considerar que os desvios condicionais
sempre ocorrem, considerando a seqüência normal de execução das
instruções
 Caso o desvio se realize, será necessário descartar as instruções que
estiverem sendo buscadas e executadas
 E a execução deve continuar a partir da instrução armazenada no
endereço-alvo do desvio condicional…
Conflitos de Controle
slide 11.12 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
 Para descartar instruções, basta mudar para 0 os valores originais
dos sinais de controle e
 Também mudar as instruções que estiverem em BI, DI e EX,
quando a instrução de desvio condicional chegar ao estágio MEM
Conflitos de Controle
slide 11.13 Prof. José Luís Güntzel
2. Organizações do MIPS: pipeline
ComputaçãoUFPel
Arquitetura e Organização de Computadores II
Conflitos 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
ControleEX
M
ER
M
ER
EX/MEM
MEM/ER
ERBI/DI
[31-26]
instrução

Outros materiais