Pipeline

Disponível somente no TrabalhosFeitos
  • Páginas : 9 (2015 palavras )
  • Download(s) : 0
  • Publicado : 18 de junho de 2012
Ler documento completo
Amostra do texto
Universidade Federal do Rio de Janeiro Pós-Graduação em Informática IM-NCE/UFRJ

Microarquiteturas de Alto Desempenho

Pipeline
Gabriel P. Silva

Microarquitetura de Alto Desempenho

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 executadassimultaneamente e a taxa de instruções iniciadas e terminadas por unidade de tempo. • O pipeline não reduz o tempo gasto para completar cada instrução individualmente.

Microarquitetura de Alto Desempenho

Exemplo
Vamos supor uma lavanderia, em que cada etapa possa ser realizada em 30 minutos: 2.Colocar a roupa na máquina de lavar 3.Depois de lavada, colocá-la na máquina de secar roupa 4.Depois deseca, passar a ferro 5.Depois de passada, arrumá-la no armário
Microarquitetura de Alto Desempenho

Exemplo sem Pipeline

Microarquitetura de Alto Desempenho

Exemplo com Pipeline

Microarquitetura de Alto Desempenho

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”. • 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
Microarquitetura de Alto Desempenho

Pipeline
• Não melhoraa 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

Microarquitetura de Alto Desempenho

Arquitetura Básica
REM PC
32 RD = RS1 oper R2

RI Endereço de Desvio 4
32 16 INSTRUÇÃO 5 5 5 #RS1 #RS2 #RD

ENDEREÇO

ENDEREÇO

RD Banco deRegistradores (R0  R31) RS1 RS2
32

Barramento de Endereço

+

6

32

Endereço Operando

RDM
DADOS

oper

U.A.L.

32

Barramento de Dados

UNIDADE DE CONTROLE

Microarquitetura de Alto Desempenho

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 daInstrução (D) – Execução da Instrução / Cálculo do Endereço (E) Acesso a um Operando na Memória (M) – Escrita de um Resultado em um Registrador (W)

Microarquitetura de Alto Desempenho

Arquitetura sem Pipeline

Microarquitetura de Alto Desempenho

Arquitetura com Pipeline

Microarquitetura de Alto Desempenho

Exemplo de Pipeline de Instruções
Classe da Instrução Load Word (lw) StoreWord (sw) Aritméti-cas (add, sub, and) Branch (beq) Busca da Instrução Leitura Operando Operação da ULA Acesso à Memória Escrita do Resultado Total

2 ns 2 ns 2 ns 2 ns

1 ns 1 ns 1 ns 1 ns

2 ns 2 ns 2 ns 2 ns

2 ns 2 ns

1 ns

8 ns 7 ns

1ns

6 ns 5 ns

Microarquitetura de Alto Desempenho

Exemplo de Pipeline de Instruções
Classe da Instrução Load Word (lw) Store Word (sw)Aritméti-cas (add, sub, and) Branch (beq) Busca da Instrução Leitura Operando Operação da ULA Acesso à Memória Escrita do Resultado Total

2 ns 2 ns 2 ns 2 ns

1 ns 1 ns 1 ns 1 ns

2 ns 2 ns 2 ns 2 ns

2 ns 2 ns

1 ns

10 ns 10 ns

1ns

10 ns 10 ns

Microarquitetura de Alto Desempenho

Exemplo de Pipeline de Instruções

Microarquitetura de Alto Desempenho

Característicasdos 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. • De um modo geral, com o uso do pipeline, cada instrução ainda leva...
tracking img