SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
1AULA :
Campus	
  Charqueadas	
  
Arquiteturas Paralelas e
Distribuídas
Apresentado por: Cleber Schroeder Fonseca
Adaptado do material do Prof. Gabriel P. Silva
TSI-6AN
2AULA :
Campus	
  Charqueadas	
  
PIPELINE
3AULA :
Campus	
  Charqueadas	
  
Introdução
•  Pipeline é uma técnica de implementação
de processadores que permite a
sobreposição temporal das diversas fases
de execução das instruções.
•  Aumenta o número de instruções
executadas simultaneamente e a taxa de
instruções iniciadas e terminadas por
unidade de tempo.
4AULA :
Campus	
  Charqueadas	
  
Introdução
•  O pipeline não reduz o tempo gasto para
completar uma instrução individualmente.
5AULA :
Campus	
  Charqueadas	
  
Exemplo
Vamos supor uma lavanderia, em que cada
etapa possa ser realizada em 30 minutos:
1.  Colocar a roupa na maquina de lavar
2.  Depois de lavada, colocá-la na máquina
de secar roupa
3.  Depois de seca, passar a ferro
4.  Depois de passada, arrumá-la no armário
6AULA :
Campus	
  Charqueadas	
  
Exemplo sem Pipeline
7AULA :
Campus	
  Charqueadas	
  
Exemplo com Pipeline
8AULA :
Campus	
  Charqueadas	
  
Exemplo
•  Supondo-se que cada uma destas etapas
leve 30 minutos para ser realizada, a
lavagem de um cesto de roupas
continuará levando 2 horas para ser
realizada.
•  Entretanto, podemos iniciar a lavagem de
um cesto de roupas a cada 30 minutos,
até que tenhamos 4 cestos sendo lavados
simultaneamente, um em cada etapa do
“pipeline”.
9AULA :
Campus	
  Charqueadas	
  
Exemplo
•  Depois das primeiras 2 horas, teremos um
cesto de roupa lavada a cada 30 minutos.
Ao final do dia teremos lavado muito mais
cestos de roupa do que sem o uso de
pipeline.
10AULA :
Campus	
  Charqueadas	
  
Pipeline
•  Não melhora a latência de cada tarefa
individualmente.
•  Melhora o throughput de todo o trabalho
•  Várias tarefas executam simultaneamente
usando recursos diferentes
•  Speedup potencial = número de estágios
do pipeline.
11AULA :
Campus	
  Charqueadas	
  
Exemplo de Pipeline de
instruções
Divisão da execução da instrução em 5
estágios:
•  Busca da instrução na memória (B)
•  Leitura dos registradores e decodificação da
instrução (D)
•  Execução da instrução (E)
•  Acesso a um operando na memória (M)
•  Escrita de um resultado em um registrador
(W)
12AULA :
Campus	
  Charqueadas	
  
Exemplo de instruções
13AULA :
Campus	
  Charqueadas	
  
Exemplo de instruções com
Pipeline
O Tempo do ciclo do relógio é igual a 2ns.
14AULA :
Campus	
  Charqueadas	
  
Sem Pipeline
15AULA :
Campus	
  Charqueadas	
  
Com Pipeline
16AULA :
Campus	
  Charqueadas	
  
Características dos Pipelines de
instrução
•  O tempo do ciclo do relógio do processador
deve ser igual ou maior que o tempo de
execução do estágio mais lento do pipeline.
•  Deve-se procurar dividir a execução da
instrução em estágios com o mesmo
tempo.
•  O pipeline deve ser mantido sempre “cheio”
para que o desempenho máximo seja
alcançado.
17AULA :
Campus	
  Charqueadas	
  
Características dos Pipelines de
instrução
•  De um modo geral, com o uso do pipeline,
cada instrução ainda leva o mesmo tempo
para ser executada.
•  Algumas instruções contudo podem ter o
seu tempo de execução aumentado, pois
atravessam estágios em que não realizam
nenhuma operação útil.
18AULA :
Campus	
  Charqueadas	
  
Características dos Pipelines de
instrução
•  O tempo gasto no processamento de M
instruções em um pipeline com K estágios e
ciclo de máquina igual a t é dado por:
T = [K + (M – 1)] * t
•  Se M >> K (caso comum), T é
aproximadamente M * t
19AULA :
Campus	
  Charqueadas	
  
Características dos Pipelines de
instrução
•  Se um programa tem 10.001 instruções.
Quanto tempo leva para ser executado em
um processador com pipeline de 5 estágios
e relógio de 100ns?
T = (5 + (10.000)) * 100x10-9 = ~1ms
(com pipeline)
T = 500ns * 10.000 = ~5ms
(sem pipeline)
20AULA :
Campus	
  Charqueadas	
  
Problemas no uso
de pipelines
•  Estágios pode ter tempos de execução
diferentes:
– Solução 1: Implementar esses estágios como
um pipeline onde cada sub-estágio possui
tempo de execução semelhante aos demais
estágios do pipeline principal.
– Solução 2: Replicar esse estágio, colocando
replicas em paralelo no estágio principal. O
número de replicas é dado pela razão entre o
tempo do estágio mais lento e os demais.
21AULA :
Campus	
  Charqueadas	
  
Problemas no uso
de pipelines
•  O sistema de memória é incapaz de
manter o fluxo de instruções no pipeline
– O uso de memória cache com alta taxa de
acertos e tempo de acesso compatível com o
tempo de ciclo do pipeline.
22AULA :
Campus	
  Charqueadas	
  
Problemas no uso
de pipelines
•  Dependências ou conflitos (“Hazards”)
–  Conflitos estruturais
•  Pode haver acessos simultâneos à memória feitos
por 2 ou mais estágios.
–  Dependência de dados
•  As instruções dependem de resultados de
instruções anteriores, ainda não completadas.
–  Dependência de controle
•  A próxima instrução não está no endereço
subsequente ao da instrução anterior
•  Tratamento de execuções
23AULA :
Campus	
  Charqueadas	
  
Conflitos estruturais
•  Acesso concorrente à memória
– Uso de memórias multi-portas ou com
múltiplos bancos com acessos independentes
•  Leitura de instrução de leitura / escrita de
dados simultâneos à memória
– Uso de arquitetura “Harvard” com cache de
dados e instruções separados
24AULA :
Campus	
  Charqueadas	
  
Conflito estruturais
•  Acesso simultâneo ao banco de
registradores
– Uso de banco de registradores com múltiplas
portas.
•  Uso simultâneo de uma mesma unidade
funcional
– Replicação da unidade funcional ou
implementação “pipelined” dessa unidade.
25AULA :
Campus	
  Charqueadas	
  
Conflitos estruturais
•  Problema: acesso simultâneo à memória por 2
ou mais estágios
•  Soluções
– Caches separados de dados e instruções
– Memória com múltiplos bancos com acessos
independentes.
26AULA :
Campus	
  Charqueadas	
  
Conflitos por dados
•  Problema: uma instrução faz uso de um
operando que vai ser produzido por uma
outra instrução que ainda está no pipeline.
•  A execução da instrução seguinte
depende de operando calculado pela
instrução anterior
27AULA :
Campus	
  Charqueadas	
  
Conflitos por dados
•  Tipos de dependência de dados:
– Dependência verdadeira
– Dependência false
•  Antidependência
•  Dependência de saída
28AULA :
Campus	
  Charqueadas	
  
Conflitos por dados
•  Dependência verdadeira (diretas) ou RAW
– Uma instrução utiliza um operando que é
produzido por uma instrução anterior.
•  Dependências falsas:
– Antidependência ou WAR:
•  Uma instrução lê um operando que é escrito por
uma instrução sucessora.
– Dependência de saída ou WAW:
•  Uma instrução escreve em um operando que é
também escrito por uma instrução sucessora.
29AULA :
Campus	
  Charqueadas	
  
Conflitos por dados
•  Dependência direta:
dadd R1, R2, R3
dsub R4, R1, R6
•  Antidependência:
dadd R4, R1, R6
dsub R1, R2, R3
•  Dependência de saída:
dadd R4, R2, R3
dsub R4, R1, R6
30AULA :
Campus	
  Charqueadas	
  
Dependência de dados
•  Dependência verdadeira (direta):
– O pipeline precisa ser parado durante certo
número de ciclos (interlock)
– Colocação de instruções de “nop” ou
escalonamento adequado das instruções pelo
compilador
– O adiamento dos dados pode resolver em
alguns casos
31AULA :
Campus	
  Charqueadas	
  
Dependência de dados
•  Dependência falsa
– Não é um problema em pipelines onde a
ordem de execução das instruções é mantida
32AULA :
Campus	
  Charqueadas	
  
Adiantamento de dados
•  Caminho interno do pipeline entre as
saídas da ALU e entrada da ALU
– Evita a parada do pipeline
33AULA :
Campus	
  Charqueadas	
  
Escalonamento de instruções
•  Exemplo:
X = Y - W
Z = K + L
•  Código gerado:
ld R1, mem[Y]
ld R2, mem[W]
sub R3, R1, R2 è Situação de interlock
sd R3, mem[X] è Situação de interlock
ld R4, mem[K]
ld R5, mem[L]
add R6, R4, R5 è Situação de interlock
sd R6, mem[Z] è Situação de interlock
34AULA :
Campus	
  Charqueadas	
  
Escalonamento de instruções
•  Código executado com nops inseridos pelo interlock:
ld R1, mem[Y]
ld R2, mem[W]
nop
nop
sub R3, R1, R2 è Situação de interlock
nop
nop
sd R3, mem[X] è Situação de interlock
ld R4, mem[K]
ld R5, mem[L]
nop
nop
add R6, R4, R5 è Situação de interlock
nop
nop
sd R6, mem[Z] è Situação de interlock
35AULA :
Campus	
  Charqueadas	
  
Escalonamento de instruções
•  Código otimizado:
ld R1, mem[Y]
ld R2, mem[W]
ld R4, mem[K]
sub R3, R1, R2
ld R5, mem[L]
sd R3, mem[X]
add R6, R4, R5
sd R6, mem[Z]
36AULA :
Campus	
  Charqueadas	
  
Escalonamento de instruções
•  Código executado com nops inseridos pelo interlock:
ld R1, mem[Y]
ld R2, mem[W]
ld R4, mem[K]
nop
sub R3, R1, R2 è Situação de interlock
ld R5, mem[L]
sd R3, mem[X]
nop
add R6, R4, R5 è Situação de interlock
nop
nop
sd R6, mem[Z] è Situação de interlock

Contenu connexe

Tendances

2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processosComputação Depressão
 
O computador e seu funcionamento
O computador e seu funcionamentoO computador e seu funcionamento
O computador e seu funcionamentoJackerCastilho
 
Sistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockSistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockWellington Oliveira
 
Sistemas Operacionais - Aula 06 (Estrutura do S.O)
Sistemas Operacionais - Aula 06 (Estrutura do S.O)Sistemas Operacionais - Aula 06 (Estrutura do S.O)
Sistemas Operacionais - Aula 06 (Estrutura do S.O)Leinylson Fontinele
 
Linux - Sobre a Disciplina + Introdução ao Linux
Linux - Sobre a Disciplina + Introdução ao LinuxLinux - Sobre a Disciplina + Introdução ao Linux
Linux - Sobre a Disciplina + Introdução ao LinuxFrederico Madeira
 
Aula Introdução a Arquitetura e Organização de Computadores
Aula Introdução a Arquitetura e Organização de ComputadoresAula Introdução a Arquitetura e Organização de Computadores
Aula Introdução a Arquitetura e Organização de ComputadoresGilvan Latreille
 
Processadores - CPU
Processadores - CPUProcessadores - CPU
Processadores - CPURoney Sousa
 
Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)
Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)
Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)Leinylson Fontinele
 
Hierarquia de memória
Hierarquia de memóriaHierarquia de memória
Hierarquia de memóriaPAULO Moreira
 
Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)Leinylson Fontinele
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas OperacionaisVirgínia
 
Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)Leinylson Fontinele
 
Redes de computadores 2 - Protocolos
Redes de computadores 2 - ProtocolosRedes de computadores 2 - Protocolos
Redes de computadores 2 - ProtocolosJosé Ronaldo Trajano
 

Tendances (20)

Protocolos de Redes
Protocolos de RedesProtocolos de Redes
Protocolos de Redes
 
Processamento paralelo
Processamento paraleloProcessamento paralelo
Processamento paralelo
 
2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos
 
O computador e seu funcionamento
O computador e seu funcionamentoO computador e seu funcionamento
O computador e seu funcionamento
 
Sistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockSistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 Deadlock
 
Sistemas Operacionais - Aula 06 (Estrutura do S.O)
Sistemas Operacionais - Aula 06 (Estrutura do S.O)Sistemas Operacionais - Aula 06 (Estrutura do S.O)
Sistemas Operacionais - Aula 06 (Estrutura do S.O)
 
Linux - Sobre a Disciplina + Introdução ao Linux
Linux - Sobre a Disciplina + Introdução ao LinuxLinux - Sobre a Disciplina + Introdução ao Linux
Linux - Sobre a Disciplina + Introdução ao Linux
 
1ª aula sistema operacional
1ª aula  sistema operacional1ª aula  sistema operacional
1ª aula sistema operacional
 
Aula 12 - Processador
Aula 12 - ProcessadorAula 12 - Processador
Aula 12 - Processador
 
Aula 6 a camada de rede
Aula 6   a camada de redeAula 6   a camada de rede
Aula 6 a camada de rede
 
Aula Introdução a Arquitetura e Organização de Computadores
Aula Introdução a Arquitetura e Organização de ComputadoresAula Introdução a Arquitetura e Organização de Computadores
Aula Introdução a Arquitetura e Organização de Computadores
 
Processos e threads cap 02 (i unidade)
Processos e threads   cap 02 (i unidade)Processos e threads   cap 02 (i unidade)
Processos e threads cap 02 (i unidade)
 
Processadores - CPU
Processadores - CPUProcessadores - CPU
Processadores - CPU
 
Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)
Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)
Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)
 
Hierarquia de memória
Hierarquia de memóriaHierarquia de memória
Hierarquia de memória
 
Barramentos
BarramentosBarramentos
Barramentos
 
Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)
 
Redes de computadores 2 - Protocolos
Redes de computadores 2 - ProtocolosRedes de computadores 2 - Protocolos
Redes de computadores 2 - Protocolos
 

En vedette

Arquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadores
Arquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadoresArquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadores
Arquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadoresCleber Fonseca
 
Arquiteturas Paralelas e Distribuídas - Aula 6 - Cloud Computing
Arquiteturas Paralelas e Distribuídas - Aula 6 - Cloud ComputingArquiteturas Paralelas e Distribuídas - Aula 6 - Cloud Computing
Arquiteturas Paralelas e Distribuídas - Aula 6 - Cloud ComputingCleber Fonseca
 
Arquiteturas Paralelas e Distribuídas - Aula1 - Apresentação da disciplina
Arquiteturas Paralelas e Distribuídas - Aula1 - Apresentação da disciplinaArquiteturas Paralelas e Distribuídas - Aula1 - Apresentação da disciplina
Arquiteturas Paralelas e Distribuídas - Aula1 - Apresentação da disciplinaCleber Fonseca
 
Segurança da informação - Aula 8 - Revisão 1º Semestre
Segurança da informação - Aula 8 - Revisão 1º SemestreSegurança da informação - Aula 8 - Revisão 1º Semestre
Segurança da informação - Aula 8 - Revisão 1º SemestreCleber Fonseca
 
Segurança da Informação - Aula 9 - Introdução a Auditoria de Sistemas
Segurança da Informação - Aula 9 - Introdução a Auditoria de SistemasSegurança da Informação - Aula 9 - Introdução a Auditoria de Sistemas
Segurança da Informação - Aula 9 - Introdução a Auditoria de SistemasCleber Fonseca
 
Desenvolvimento de Interface Gráfica - Introdução ao desenvolvimento de int...
Desenvolvimento de Interface Gráfica - Introdução ao desenvolvimento de int...Desenvolvimento de Interface Gráfica - Introdução ao desenvolvimento de int...
Desenvolvimento de Interface Gráfica - Introdução ao desenvolvimento de int...Cleber Fonseca
 
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura Superescalar
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura SuperescalarArquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura Superescalar
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura SuperescalarCleber Fonseca
 
Segurança da Informação - Aula 5 - Criptografia
Segurança da Informação - Aula 5 - CriptografiaSegurança da Informação - Aula 5 - Criptografia
Segurança da Informação - Aula 5 - CriptografiaCleber Fonseca
 
Big data e o desafio omni channel no universo varejista da moda
Big data e o desafio omni channel no universo varejista da modaBig data e o desafio omni channel no universo varejista da moda
Big data e o desafio omni channel no universo varejista da modaCleber Fonseca
 
Sistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaSistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaAdriano Teixeira de Souza
 
Aula 2 introdução a sistemas distribuídos
Aula 2   introdução a sistemas distribuídosAula 2   introdução a sistemas distribuídos
Aula 2 introdução a sistemas distribuídosEduardo de Lucena Falcão
 
Introdução aos Sistemas Distribuídos
Introdução aos Sistemas DistribuídosIntrodução aos Sistemas Distribuídos
Introdução aos Sistemas DistribuídosFrederico Madeira
 

En vedette (15)

Introdução ao pipeline
Introdução  ao  pipelineIntrodução  ao  pipeline
Introdução ao pipeline
 
Arquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadores
Arquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadoresArquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadores
Arquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadores
 
Oficina jQuery
Oficina jQueryOficina jQuery
Oficina jQuery
 
Processador mips - pipeline
Processador mips - pipelineProcessador mips - pipeline
Processador mips - pipeline
 
Arquiteturas Paralelas e Distribuídas - Aula 6 - Cloud Computing
Arquiteturas Paralelas e Distribuídas - Aula 6 - Cloud ComputingArquiteturas Paralelas e Distribuídas - Aula 6 - Cloud Computing
Arquiteturas Paralelas e Distribuídas - Aula 6 - Cloud Computing
 
Arquiteturas Paralelas e Distribuídas - Aula1 - Apresentação da disciplina
Arquiteturas Paralelas e Distribuídas - Aula1 - Apresentação da disciplinaArquiteturas Paralelas e Distribuídas - Aula1 - Apresentação da disciplina
Arquiteturas Paralelas e Distribuídas - Aula1 - Apresentação da disciplina
 
Segurança da informação - Aula 8 - Revisão 1º Semestre
Segurança da informação - Aula 8 - Revisão 1º SemestreSegurança da informação - Aula 8 - Revisão 1º Semestre
Segurança da informação - Aula 8 - Revisão 1º Semestre
 
Segurança da Informação - Aula 9 - Introdução a Auditoria de Sistemas
Segurança da Informação - Aula 9 - Introdução a Auditoria de SistemasSegurança da Informação - Aula 9 - Introdução a Auditoria de Sistemas
Segurança da Informação - Aula 9 - Introdução a Auditoria de Sistemas
 
Desenvolvimento de Interface Gráfica - Introdução ao desenvolvimento de int...
Desenvolvimento de Interface Gráfica - Introdução ao desenvolvimento de int...Desenvolvimento de Interface Gráfica - Introdução ao desenvolvimento de int...
Desenvolvimento de Interface Gráfica - Introdução ao desenvolvimento de int...
 
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura Superescalar
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura SuperescalarArquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura Superescalar
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura Superescalar
 
Segurança da Informação - Aula 5 - Criptografia
Segurança da Informação - Aula 5 - CriptografiaSegurança da Informação - Aula 5 - Criptografia
Segurança da Informação - Aula 5 - Criptografia
 
Big data e o desafio omni channel no universo varejista da moda
Big data e o desafio omni channel no universo varejista da modaBig data e o desafio omni channel no universo varejista da moda
Big data e o desafio omni channel no universo varejista da moda
 
Sistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaSistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e Paralela
 
Aula 2 introdução a sistemas distribuídos
Aula 2   introdução a sistemas distribuídosAula 2   introdução a sistemas distribuídos
Aula 2 introdução a sistemas distribuídos
 
Introdução aos Sistemas Distribuídos
Introdução aos Sistemas DistribuídosIntrodução aos Sistemas Distribuídos
Introdução aos Sistemas Distribuídos
 

Similaire à Arquiteturas Paralelas e Distribuídas - Aula 3 - Pipeline

Aula 8 - Organização Lógica e Funcional de um Processador (Parte 2).pdf
Aula 8 - Organização Lógica e Funcional de um Processador (Parte 2).pdfAula 8 - Organização Lógica e Funcional de um Processador (Parte 2).pdf
Aula 8 - Organização Lógica e Funcional de um Processador (Parte 2).pdfMatheusNS1
 
Redes de computadores 2 - Aula 6 - DNS, DHCP
Redes de computadores 2 - Aula 6 - DNS, DHCPRedes de computadores 2 - Aula 6 - DNS, DHCP
Redes de computadores 2 - Aula 6 - DNS, DHCPCleber Fonseca
 
Arquiteturas de computadores: Paralelismo
Arquiteturas de computadores: ParalelismoArquiteturas de computadores: Paralelismo
Arquiteturas de computadores: ParalelismoElaine Cecília Gatto
 
Arquiteturas de Computadores Paralelos
Arquiteturas de Computadores ParalelosArquiteturas de Computadores Paralelos
Arquiteturas de Computadores ParalelosElaine Cecília Gatto
 
Apresentação PGDAY - Replicação Nativa - PostgreSQL
Apresentação PGDAY - Replicação Nativa - PostgreSQLApresentação PGDAY - Replicação Nativa - PostgreSQL
Apresentação PGDAY - Replicação Nativa - PostgreSQLJohnes Castro
 
Redes de Computadores 2 - Aula 3 - Roteamento
Redes de Computadores 2 - Aula 3 - RoteamentoRedes de Computadores 2 - Aula 3 - Roteamento
Redes de Computadores 2 - Aula 3 - RoteamentoCleber Fonseca
 
Gerências de Processos: Escalonamento de CPU
Gerências de Processos: Escalonamento de CPUGerências de Processos: Escalonamento de CPU
Gerências de Processos: Escalonamento de CPUAlexandre Duarte
 
Aula sobre multithreading
Aula sobre multithreadingAula sobre multithreading
Aula sobre multithreadingBianca Dantas
 
Redes de Computadores 2 - Aula 2 - Protocolo TCP/IP
Redes de Computadores 2 - Aula 2 - Protocolo TCP/IPRedes de Computadores 2 - Aula 2 - Protocolo TCP/IP
Redes de Computadores 2 - Aula 2 - Protocolo TCP/IPCleber Fonseca
 
Arquitetura pentium
Arquitetura pentiumArquitetura pentium
Arquitetura pentiumTiago
 
3 escalonamento processos
3 escalonamento processos3 escalonamento processos
3 escalonamento processosfrteles
 
A performance Comparison of contemporary DRAM Architectures
A performance Comparison of contemporary  DRAM ArchitecturesA performance Comparison of contemporary  DRAM Architectures
A performance Comparison of contemporary DRAM ArchitecturesJuan Ribeiro Reis, MSc.
 
Oracle e SQL Server na prática mitos, semelhanças e diferenças
Oracle e SQL Server na prática mitos, semelhanças e diferençasOracle e SQL Server na prática mitos, semelhanças e diferenças
Oracle e SQL Server na prática mitos, semelhanças e diferençasLeonardo Pedroso Costa
 
Mecânica dos Fluidos para Engenharia Química: o estudo de instalações de bomb...
Mecânica dos Fluidos para Engenharia Química: o estudo de instalações de bomb...Mecânica dos Fluidos para Engenharia Química: o estudo de instalações de bomb...
Mecânica dos Fluidos para Engenharia Química: o estudo de instalações de bomb...Raimundo Ignacio
 
Queues and Hook Functions
Queues and Hook FunctionsQueues and Hook Functions
Queues and Hook FunctionsMayara Mônica
 

Similaire à Arquiteturas Paralelas e Distribuídas - Aula 3 - Pipeline (20)

Aula 8 - Organização Lógica e Funcional de um Processador (Parte 2).pdf
Aula 8 - Organização Lógica e Funcional de um Processador (Parte 2).pdfAula 8 - Organização Lógica e Funcional de um Processador (Parte 2).pdf
Aula 8 - Organização Lógica e Funcional de um Processador (Parte 2).pdf
 
Redes de computadores 2 - Aula 6 - DNS, DHCP
Redes de computadores 2 - Aula 6 - DNS, DHCPRedes de computadores 2 - Aula 6 - DNS, DHCP
Redes de computadores 2 - Aula 6 - DNS, DHCP
 
Arquiteturas de computadores: Paralelismo
Arquiteturas de computadores: ParalelismoArquiteturas de computadores: Paralelismo
Arquiteturas de computadores: Paralelismo
 
Arquiteturas de Computadores Paralelos
Arquiteturas de Computadores ParalelosArquiteturas de Computadores Paralelos
Arquiteturas de Computadores Paralelos
 
Apresentação PGDAY - Replicação Nativa - PostgreSQL
Apresentação PGDAY - Replicação Nativa - PostgreSQLApresentação PGDAY - Replicação Nativa - PostgreSQL
Apresentação PGDAY - Replicação Nativa - PostgreSQL
 
Redes de Computadores 2 - Aula 3 - Roteamento
Redes de Computadores 2 - Aula 3 - RoteamentoRedes de Computadores 2 - Aula 3 - Roteamento
Redes de Computadores 2 - Aula 3 - Roteamento
 
Gerências de Processos: Escalonamento de CPU
Gerências de Processos: Escalonamento de CPUGerências de Processos: Escalonamento de CPU
Gerências de Processos: Escalonamento de CPU
 
Aula sobre multithreading
Aula sobre multithreadingAula sobre multithreading
Aula sobre multithreading
 
Redes de Computadores 2 - Aula 2 - Protocolo TCP/IP
Redes de Computadores 2 - Aula 2 - Protocolo TCP/IPRedes de Computadores 2 - Aula 2 - Protocolo TCP/IP
Redes de Computadores 2 - Aula 2 - Protocolo TCP/IP
 
UPPAAL
UPPAALUPPAAL
UPPAAL
 
Arquitetura pentium
Arquitetura pentiumArquitetura pentium
Arquitetura pentium
 
F oc aula_04
F oc aula_04F oc aula_04
F oc aula_04
 
Pipeline
PipelinePipeline
Pipeline
 
3 escalonamento processos
3 escalonamento processos3 escalonamento processos
3 escalonamento processos
 
A performance Comparison of contemporary DRAM Architectures
A performance Comparison of contemporary  DRAM ArchitecturesA performance Comparison of contemporary  DRAM Architectures
A performance Comparison of contemporary DRAM Architectures
 
Khomp testes complexos!
Khomp   testes complexos!Khomp   testes complexos!
Khomp testes complexos!
 
Oracle e SQL Server na prática mitos, semelhanças e diferenças
Oracle e SQL Server na prática mitos, semelhanças e diferençasOracle e SQL Server na prática mitos, semelhanças e diferenças
Oracle e SQL Server na prática mitos, semelhanças e diferenças
 
P910Aula07
P910Aula07P910Aula07
P910Aula07
 
Mecânica dos Fluidos para Engenharia Química: o estudo de instalações de bomb...
Mecânica dos Fluidos para Engenharia Química: o estudo de instalações de bomb...Mecânica dos Fluidos para Engenharia Química: o estudo de instalações de bomb...
Mecânica dos Fluidos para Engenharia Química: o estudo de instalações de bomb...
 
Queues and Hook Functions
Queues and Hook FunctionsQueues and Hook Functions
Queues and Hook Functions
 

Plus de Cleber Fonseca

Introdução a segurança da informação
Introdução a segurança da informaçãoIntrodução a segurança da informação
Introdução a segurança da informaçãoCleber Fonseca
 
Apresentação do professor e disciplina de segurança da Informação
Apresentação do professor e disciplina de segurança da InformaçãoApresentação do professor e disciplina de segurança da Informação
Apresentação do professor e disciplina de segurança da InformaçãoCleber Fonseca
 
Implementação de Serviços de Rede - Aula 1 - Estrutura do Sistema Operacional
Implementação de Serviços de Rede - Aula 1 - Estrutura do Sistema OperacionalImplementação de Serviços de Rede - Aula 1 - Estrutura do Sistema Operacional
Implementação de Serviços de Rede - Aula 1 - Estrutura do Sistema OperacionalCleber Fonseca
 
Implementação de Serviços de Rede - Aula apresentação
Implementação de Serviços de Rede - Aula apresentaçãoImplementação de Serviços de Rede - Aula apresentação
Implementação de Serviços de Rede - Aula apresentaçãoCleber Fonseca
 
Segurança da Informação - Aula 8 - Segurança em redes de computdores
Segurança da Informação - Aula 8 - Segurança em redes de computdoresSegurança da Informação - Aula 8 - Segurança em redes de computdores
Segurança da Informação - Aula 8 - Segurança em redes de computdoresCleber Fonseca
 
Segurança da informação - Aula 7 - ISO 27002
Segurança da informação - Aula 7 - ISO 27002Segurança da informação - Aula 7 - ISO 27002
Segurança da informação - Aula 7 - ISO 27002Cleber Fonseca
 
Segurança da informação - Aula 7 - NORMA ISO 27002
Segurança da informação - Aula 7 - NORMA ISO 27002Segurança da informação - Aula 7 - NORMA ISO 27002
Segurança da informação - Aula 7 - NORMA ISO 27002Cleber Fonseca
 
Redes de computadores 2 - Aula 4 - Divisão em sub-redes
Redes de computadores 2 - Aula 4 - Divisão em sub-redesRedes de computadores 2 - Aula 4 - Divisão em sub-redes
Redes de computadores 2 - Aula 4 - Divisão em sub-redesCleber Fonseca
 
Redes de Computadores 2 - Aula 1 - Wireless
Redes de Computadores 2 - Aula 1 - WirelessRedes de Computadores 2 - Aula 1 - Wireless
Redes de Computadores 2 - Aula 1 - WirelessCleber Fonseca
 
Segurança da Informação - Aula 4 - Malwares
Segurança da Informação - Aula 4 - MalwaresSegurança da Informação - Aula 4 - Malwares
Segurança da Informação - Aula 4 - MalwaresCleber Fonseca
 
Segurança da informação - Aula 3 - Ciclo de vida, classificação de ativos
Segurança da informação - Aula 3 - Ciclo de vida, classificação de ativosSegurança da informação - Aula 3 - Ciclo de vida, classificação de ativos
Segurança da informação - Aula 3 - Ciclo de vida, classificação de ativosCleber Fonseca
 
Segurança da Informação - Aula 2 - Conceitos de Informação
Segurança da Informação - Aula 2 - Conceitos de InformaçãoSegurança da Informação - Aula 2 - Conceitos de Informação
Segurança da Informação - Aula 2 - Conceitos de InformaçãoCleber Fonseca
 
Segurança da informação - Aula 1 - Apresentação da disciplina
Segurança da informação - Aula 1 - Apresentação da disciplinaSegurança da informação - Aula 1 - Apresentação da disciplina
Segurança da informação - Aula 1 - Apresentação da disciplinaCleber Fonseca
 
Ações de Controle Básica e Controladores Automáticos Industriais
Ações de Controle Básica e Controladores Automáticos IndustriaisAções de Controle Básica e Controladores Automáticos Industriais
Ações de Controle Básica e Controladores Automáticos IndustriaisCleber Fonseca
 

Plus de Cleber Fonseca (14)

Introdução a segurança da informação
Introdução a segurança da informaçãoIntrodução a segurança da informação
Introdução a segurança da informação
 
Apresentação do professor e disciplina de segurança da Informação
Apresentação do professor e disciplina de segurança da InformaçãoApresentação do professor e disciplina de segurança da Informação
Apresentação do professor e disciplina de segurança da Informação
 
Implementação de Serviços de Rede - Aula 1 - Estrutura do Sistema Operacional
Implementação de Serviços de Rede - Aula 1 - Estrutura do Sistema OperacionalImplementação de Serviços de Rede - Aula 1 - Estrutura do Sistema Operacional
Implementação de Serviços de Rede - Aula 1 - Estrutura do Sistema Operacional
 
Implementação de Serviços de Rede - Aula apresentação
Implementação de Serviços de Rede - Aula apresentaçãoImplementação de Serviços de Rede - Aula apresentação
Implementação de Serviços de Rede - Aula apresentação
 
Segurança da Informação - Aula 8 - Segurança em redes de computdores
Segurança da Informação - Aula 8 - Segurança em redes de computdoresSegurança da Informação - Aula 8 - Segurança em redes de computdores
Segurança da Informação - Aula 8 - Segurança em redes de computdores
 
Segurança da informação - Aula 7 - ISO 27002
Segurança da informação - Aula 7 - ISO 27002Segurança da informação - Aula 7 - ISO 27002
Segurança da informação - Aula 7 - ISO 27002
 
Segurança da informação - Aula 7 - NORMA ISO 27002
Segurança da informação - Aula 7 - NORMA ISO 27002Segurança da informação - Aula 7 - NORMA ISO 27002
Segurança da informação - Aula 7 - NORMA ISO 27002
 
Redes de computadores 2 - Aula 4 - Divisão em sub-redes
Redes de computadores 2 - Aula 4 - Divisão em sub-redesRedes de computadores 2 - Aula 4 - Divisão em sub-redes
Redes de computadores 2 - Aula 4 - Divisão em sub-redes
 
Redes de Computadores 2 - Aula 1 - Wireless
Redes de Computadores 2 - Aula 1 - WirelessRedes de Computadores 2 - Aula 1 - Wireless
Redes de Computadores 2 - Aula 1 - Wireless
 
Segurança da Informação - Aula 4 - Malwares
Segurança da Informação - Aula 4 - MalwaresSegurança da Informação - Aula 4 - Malwares
Segurança da Informação - Aula 4 - Malwares
 
Segurança da informação - Aula 3 - Ciclo de vida, classificação de ativos
Segurança da informação - Aula 3 - Ciclo de vida, classificação de ativosSegurança da informação - Aula 3 - Ciclo de vida, classificação de ativos
Segurança da informação - Aula 3 - Ciclo de vida, classificação de ativos
 
Segurança da Informação - Aula 2 - Conceitos de Informação
Segurança da Informação - Aula 2 - Conceitos de InformaçãoSegurança da Informação - Aula 2 - Conceitos de Informação
Segurança da Informação - Aula 2 - Conceitos de Informação
 
Segurança da informação - Aula 1 - Apresentação da disciplina
Segurança da informação - Aula 1 - Apresentação da disciplinaSegurança da informação - Aula 1 - Apresentação da disciplina
Segurança da informação - Aula 1 - Apresentação da disciplina
 
Ações de Controle Básica e Controladores Automáticos Industriais
Ações de Controle Básica e Controladores Automáticos IndustriaisAções de Controle Básica e Controladores Automáticos Industriais
Ações de Controle Básica e Controladores Automáticos Industriais
 

Arquiteturas Paralelas e Distribuídas - Aula 3 - Pipeline

  • 1. 1AULA : Campus  Charqueadas   Arquiteturas Paralelas e Distribuídas Apresentado por: Cleber Schroeder Fonseca Adaptado do material do Prof. Gabriel P. Silva TSI-6AN
  • 3. 3AULA : Campus  Charqueadas   Introdução •  Pipeline é uma técnica de implementação de processadores que permite a sobreposição temporal das diversas fases de execução das instruções. •  Aumenta o número de instruções executadas simultaneamente e a taxa de instruções iniciadas e terminadas por unidade de tempo.
  • 4. 4AULA : Campus  Charqueadas   Introdução •  O pipeline não reduz o tempo gasto para completar uma instrução individualmente.
  • 5. 5AULA : Campus  Charqueadas   Exemplo Vamos supor uma lavanderia, em que cada etapa possa ser realizada em 30 minutos: 1.  Colocar a roupa na maquina de lavar 2.  Depois de lavada, colocá-la na máquina de secar roupa 3.  Depois de seca, passar a ferro 4.  Depois de passada, arrumá-la no armário
  • 6. 6AULA : Campus  Charqueadas   Exemplo sem Pipeline
  • 7. 7AULA : Campus  Charqueadas   Exemplo com Pipeline
  • 8. 8AULA : Campus  Charqueadas   Exemplo •  Supondo-se que cada uma destas etapas leve 30 minutos para ser realizada, a lavagem de um cesto de roupas continuará levando 2 horas para ser realizada. •  Entretanto, podemos iniciar a lavagem de um cesto de roupas a cada 30 minutos, até que tenhamos 4 cestos sendo lavados simultaneamente, um em cada etapa do “pipeline”.
  • 9. 9AULA : Campus  Charqueadas   Exemplo •  Depois das primeiras 2 horas, teremos um cesto de roupa lavada a cada 30 minutos. Ao final do dia teremos lavado muito mais cestos de roupa do que sem o uso de pipeline.
  • 10. 10AULA : Campus  Charqueadas   Pipeline •  Não melhora a latência de cada tarefa individualmente. •  Melhora o throughput de todo o trabalho •  Várias tarefas executam simultaneamente usando recursos diferentes •  Speedup potencial = número de estágios do pipeline.
  • 11. 11AULA : Campus  Charqueadas   Exemplo de Pipeline de instruções Divisão da execução da instrução em 5 estágios: •  Busca da instrução na memória (B) •  Leitura dos registradores e decodificação da instrução (D) •  Execução da instrução (E) •  Acesso a um operando na memória (M) •  Escrita de um resultado em um registrador (W)
  • 12. 12AULA : Campus  Charqueadas   Exemplo de instruções
  • 13. 13AULA : Campus  Charqueadas   Exemplo de instruções com Pipeline O Tempo do ciclo do relógio é igual a 2ns.
  • 14. 14AULA : Campus  Charqueadas   Sem Pipeline
  • 15. 15AULA : Campus  Charqueadas   Com Pipeline
  • 16. 16AULA : Campus  Charqueadas   Características dos Pipelines de instrução •  O tempo do ciclo do relógio do processador deve ser igual ou maior que o tempo de execução do estágio mais lento do pipeline. •  Deve-se procurar dividir a execução da instrução em estágios com o mesmo tempo. •  O pipeline deve ser mantido sempre “cheio” para que o desempenho máximo seja alcançado.
  • 17. 17AULA : Campus  Charqueadas   Características dos Pipelines de instrução •  De um modo geral, com o uso do pipeline, cada instrução ainda leva o mesmo tempo para ser executada. •  Algumas instruções contudo podem ter o seu tempo de execução aumentado, pois atravessam estágios em que não realizam nenhuma operação útil.
  • 18. 18AULA : Campus  Charqueadas   Características dos Pipelines de instrução •  O tempo gasto no processamento de M instruções em um pipeline com K estágios e ciclo de máquina igual a t é dado por: T = [K + (M – 1)] * t •  Se M >> K (caso comum), T é aproximadamente M * t
  • 19. 19AULA : Campus  Charqueadas   Características dos Pipelines de instrução •  Se um programa tem 10.001 instruções. Quanto tempo leva para ser executado em um processador com pipeline de 5 estágios e relógio de 100ns? T = (5 + (10.000)) * 100x10-9 = ~1ms (com pipeline) T = 500ns * 10.000 = ~5ms (sem pipeline)
  • 20. 20AULA : Campus  Charqueadas   Problemas no uso de pipelines •  Estágios pode ter tempos de execução diferentes: – Solução 1: Implementar esses estágios como um pipeline onde cada sub-estágio possui tempo de execução semelhante aos demais estágios do pipeline principal. – Solução 2: Replicar esse estágio, colocando replicas em paralelo no estágio principal. O número de replicas é dado pela razão entre o tempo do estágio mais lento e os demais.
  • 21. 21AULA : Campus  Charqueadas   Problemas no uso de pipelines •  O sistema de memória é incapaz de manter o fluxo de instruções no pipeline – O uso de memória cache com alta taxa de acertos e tempo de acesso compatível com o tempo de ciclo do pipeline.
  • 22. 22AULA : Campus  Charqueadas   Problemas no uso de pipelines •  Dependências ou conflitos (“Hazards”) –  Conflitos estruturais •  Pode haver acessos simultâneos à memória feitos por 2 ou mais estágios. –  Dependência de dados •  As instruções dependem de resultados de instruções anteriores, ainda não completadas. –  Dependência de controle •  A próxima instrução não está no endereço subsequente ao da instrução anterior •  Tratamento de execuções
  • 23. 23AULA : Campus  Charqueadas   Conflitos estruturais •  Acesso concorrente à memória – Uso de memórias multi-portas ou com múltiplos bancos com acessos independentes •  Leitura de instrução de leitura / escrita de dados simultâneos à memória – Uso de arquitetura “Harvard” com cache de dados e instruções separados
  • 24. 24AULA : Campus  Charqueadas   Conflito estruturais •  Acesso simultâneo ao banco de registradores – Uso de banco de registradores com múltiplas portas. •  Uso simultâneo de uma mesma unidade funcional – Replicação da unidade funcional ou implementação “pipelined” dessa unidade.
  • 25. 25AULA : Campus  Charqueadas   Conflitos estruturais •  Problema: acesso simultâneo à memória por 2 ou mais estágios •  Soluções – Caches separados de dados e instruções – Memória com múltiplos bancos com acessos independentes.
  • 26. 26AULA : Campus  Charqueadas   Conflitos por dados •  Problema: uma instrução faz uso de um operando que vai ser produzido por uma outra instrução que ainda está no pipeline. •  A execução da instrução seguinte depende de operando calculado pela instrução anterior
  • 27. 27AULA : Campus  Charqueadas   Conflitos por dados •  Tipos de dependência de dados: – Dependência verdadeira – Dependência false •  Antidependência •  Dependência de saída
  • 28. 28AULA : Campus  Charqueadas   Conflitos por dados •  Dependência verdadeira (diretas) ou RAW – Uma instrução utiliza um operando que é produzido por uma instrução anterior. •  Dependências falsas: – Antidependência ou WAR: •  Uma instrução lê um operando que é escrito por uma instrução sucessora. – Dependência de saída ou WAW: •  Uma instrução escreve em um operando que é também escrito por uma instrução sucessora.
  • 29. 29AULA : Campus  Charqueadas   Conflitos por dados •  Dependência direta: dadd R1, R2, R3 dsub R4, R1, R6 •  Antidependência: dadd R4, R1, R6 dsub R1, R2, R3 •  Dependência de saída: dadd R4, R2, R3 dsub R4, R1, R6
  • 30. 30AULA : Campus  Charqueadas   Dependência de dados •  Dependência verdadeira (direta): – O pipeline precisa ser parado durante certo número de ciclos (interlock) – Colocação de instruções de “nop” ou escalonamento adequado das instruções pelo compilador – O adiamento dos dados pode resolver em alguns casos
  • 31. 31AULA : Campus  Charqueadas   Dependência de dados •  Dependência falsa – Não é um problema em pipelines onde a ordem de execução das instruções é mantida
  • 32. 32AULA : Campus  Charqueadas   Adiantamento de dados •  Caminho interno do pipeline entre as saídas da ALU e entrada da ALU – Evita a parada do pipeline
  • 33. 33AULA : Campus  Charqueadas   Escalonamento de instruções •  Exemplo: X = Y - W Z = K + L •  Código gerado: ld R1, mem[Y] ld R2, mem[W] sub R3, R1, R2 è Situação de interlock sd R3, mem[X] è Situação de interlock ld R4, mem[K] ld R5, mem[L] add R6, R4, R5 è Situação de interlock sd R6, mem[Z] è Situação de interlock
  • 34. 34AULA : Campus  Charqueadas   Escalonamento de instruções •  Código executado com nops inseridos pelo interlock: ld R1, mem[Y] ld R2, mem[W] nop nop sub R3, R1, R2 è Situação de interlock nop nop sd R3, mem[X] è Situação de interlock ld R4, mem[K] ld R5, mem[L] nop nop add R6, R4, R5 è Situação de interlock nop nop sd R6, mem[Z] è Situação de interlock
  • 35. 35AULA : Campus  Charqueadas   Escalonamento de instruções •  Código otimizado: ld R1, mem[Y] ld R2, mem[W] ld R4, mem[K] sub R3, R1, R2 ld R5, mem[L] sd R3, mem[X] add R6, R4, R5 sd R6, mem[Z]
  • 36. 36AULA : Campus  Charqueadas   Escalonamento de instruções •  Código executado com nops inseridos pelo interlock: ld R1, mem[Y] ld R2, mem[W] ld R4, mem[K] nop sub R3, R1, R2 è Situação de interlock ld R5, mem[L] sd R3, mem[X] nop add R6, R4, R5 è Situação de interlock nop nop sd R6, mem[Z] è Situação de interlock