organização de computadores pipeline. organização de computadores ana, bruno, carla, luiz têm...

21
Organização de Com Pipeline

Upload: internet

Post on 17-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Organização de Computadores Pipeline. Organização de Computadores Ana, Bruno, Carla, Luiz têm roupas sujas a serem lavadas, secadas, dobradas e guardadas

Organização de Computadores

PipelinePipeline

Page 2: Organização de Computadores Pipeline. Organização de Computadores Ana, Bruno, Carla, Luiz têm roupas sujas a serem lavadas, secadas, dobradas e guardadas

Organização de Computadores

• Ana, Bruno, Carla, Luiz têm roupas sujas a serem lavadas,

secadas, dobradas e guardadas

• Lavadora leva 30 minutos

• Secadora leva 30 minutos

• “Dobrar” leva 30 minutos

• “Guardar” leva 30 minutos

A B C D

Processo de Pipelining (exemplo da lavanderia)

Page 3: Organização de Computadores Pipeline. Organização de Computadores Ana, Bruno, Carla, Luiz têm roupas sujas a serem lavadas, secadas, dobradas e guardadas

Organização de Computadores

• Processo seqüencial de lavagem leva oito horas para os quatro

• Quanto tempo levaria, utilizando-se pipelining ?

30Ordem

Tarefas

B

C

D

ATempo

30 30 3030 30 3030 30 30 3030 30 30 3030

6 PM 7 8 9 10 11 12 1 2 AM

Pipelining (exemplo da lavanderia)

Page 4: Organização de Computadores Pipeline. Organização de Computadores Ana, Bruno, Carla, Luiz têm roupas sujas a serem lavadas, secadas, dobradas e guardadas

Organização de Computadores

• Utilizando-se a técnica de pipeline consome-se 3,5 horas no processo de lavagem !

Ordem

Tarefas

12 2 AM6 PM 7 8 9 10 11 1

Tempo

B

C

D

A

3030 30 3030 30 30

Pipelining (exemplo da lavanderia)

Page 5: Organização de Computadores Pipeline. Organização de Computadores Ana, Bruno, Carla, Luiz têm roupas sujas a serem lavadas, secadas, dobradas e guardadas

Organização de Computadores

• Pipelining não ajuda a melhorar a latência de uma atividade, mas aumenta o throughput

• Várias tarefas operando em paralelo utilizam recursos diversos

• Aceleração potencial = Número de estágios de pipe

• Taxa de pipeline limitada pelo estágio mais lento

• Desequilíbrios na duração dos estágios reduz a a aceleração

• Tempo para “encher” o pipeline e para “esvaziá-lo”reduz a aceleração

• Pode parar por dependências

6 PM 7 8 9

Tempo

B

C

D

A

3030 30 3030 30 30

Ordem

Tarefas

Observações sobre Pipelining

Page 6: Organização de Computadores Pipeline. Organização de Computadores Ana, Bruno, Carla, Luiz têm roupas sujas a serem lavadas, secadas, dobradas e guardadas

Organização de Computadores

Idéia Básica

4

32

0

Shiftleft 2

Mux

0

1

PC

0

Mux

1

16

1

Mux

BI: Busca da instrução DI: Decodificação/Leitura do banco de

registradores

EX: Execução/Cálculo do endereço

MEM: Acesso àmemória

ER: Escrita mo bancode registradores

somador

Endereço

InstruçãoMemória deInstruções

Reg a serlido #1

Reg a serlido #2Reg a ser

escrito

Dadolido #1Dado

lido #2

Registradores

Ext.de

sinal

somador

Resultadoda soma

UALZero

Resultadoda UAL

Endereço

Dado a serescrito

Dadolido

Memória deDados

Page 7: Organização de Computadores Pipeline. Organização de Computadores Ana, Bruno, Carla, Luiz têm roupas sujas a serem lavadas, secadas, dobradas e guardadas

Organização de Computadores

• Busca: Busca da instrução da memória de instruções

• Reg/Dec: Leitura do(s) registrador(es) e decodificação da Instrução

• UAL: Calcula o endereço da memória de dados

• Mem: Lê dado da memória de dados

• Reg: Escreve o dado no banco de registradores

Ciclo 1 Ciclo 2 Ciclo 3 Ciclo 4 Ciclo 5

Busca Reg/Dec UAL Mem RegLoad

Os Cinco Estágios da Instrução de Carga

Page 8: Organização de Computadores Pipeline. Organização de Computadores Ana, Bruno, Carla, Luiz têm roupas sujas a serem lavadas, secadas, dobradas e guardadas

Organização de Computadores

Pipelining

8 ns

8 ns

8 ns

lw 0 1001

lw

lw 0 300

2 4 6 8 10 12 14 16 18

2 4 6 8 10 12 14

...

lw

lw

2 ns

2 ns Reg Reg

2 ns 2 ns 2 ns 2 ns 2 ns

Ordem deexecução

do programa(em instruções)

Tempo

Reg RegBusca UALAcesso ao

dado

Reg RegBusca UALAcesso ao

dado

Busca

Ordem deexecução

do programa(em instruções)

Tempo

Busca

Busca

Busca

Reg

Reg

UAL

UAL

UAL

Acesso aodado

Acesso aodado

Acesso aodado

Reg

Reg

0 2 02 0

3

0 1 01 0

l 0 2 02 0

lw 0 3003

Page 9: Organização de Computadores Pipeline. Organização de Computadores Ana, Bruno, Carla, Luiz têm roupas sujas a serem lavadas, secadas, dobradas e guardadas

Organização de Computadores

Clk

Ciclo 1 Ciclo 2 Ciclo 3 Ciclo 4 Ciclo 5 Ciclo 6 Ciclo 7 Ciclo 8 Ciclo 9 Ciclo 10

Implementação Monociclo:

Load Store Waste

Load

Implementação Pipeline:

Busca Reg Exec Mem Escr

Busca Reg Exec Mem EscrStore

Busca Reg Exec Mem EscrTipo R

Clk

Ciclo 1 Ciclo2

Monociclo vs Pipeline

Page 10: Organização de Computadores Pipeline. Organização de Computadores Ana, Bruno, Carla, Luiz têm roupas sujas a serem lavadas, secadas, dobradas e guardadas

Organização de Computadores

• Suponha que vão ser executadas 100 instruções

• Máquina monociclo • 1 ciclo de relógio tem duração de 45 ns

• 45 ns/ciclo 1 CPI x 100 inst = 4500 ns

• Máquina ideal pipelined• 1 ciclo de relógio tem duração de 10 ns

• cada estágio de pipeline utiliza um ciclo de relógio

• 5 1 ciclo + (1 ciclo (100 inst -1)) = 50 ns + 99 10 ns = 1040 ns

Porque Usar Pipeline?

Page 11: Organização de Computadores Pipeline. Organização de Computadores Ana, Bruno, Carla, Luiz têm roupas sujas a serem lavadas, secadas, dobradas e guardadas

Organização de Computadores

Representação Gráfica de Pipeline

Reg RegALU

Reg RegALU

CC 1 CC 2 CC 3 CC 4 CC 5 CC 6 CC 7

lw $2, 200($0)

lw $3, 300($0)

lw $1, 100($0) Reg RegALU

Ordem deexecução

do programa(em instruções)

Tempo (em ciclos de clock)

MI MD

MI

MI

MD

MD

Page 12: Organização de Computadores Pipeline. Organização de Computadores Ana, Bruno, Carla, Luiz têm roupas sujas a serem lavadas, secadas, dobradas e guardadas

Organização de Computadores

Ordem

Instr.r

Tempo (ciclos de clock)

Inst 0

Inst 1

Inst 2

Inst 4

Inst 3

AL

UMi Reg Md Reg

AL

UMi Reg Md Reg

AL

UMi Reg Md Reg

AL

UMi Reg Md Reg

AL

UMi Reg Md Reg

Pipeline - Recursos disponíveis

Page 13: Organização de Computadores Pipeline. Organização de Computadores Ana, Bruno, Carla, Luiz têm roupas sujas a serem lavadas, secadas, dobradas e guardadas

Organização de Computadores

• Conflitos estruturais: tentativa de utilizar o mesmo recurso de modos diferentes ao mesmo tempo

• E.x., lavadora/secadora combinadas, ou pessoa que dobra ocupada com outra atividade (lavando panela)

• sem duas memórias, não poderia ter acesso à instrução simultâneo com dados

Conflitos do Pipeline

Page 14: Organização de Computadores Pipeline. Organização de Computadores Ana, Bruno, Carla, Luiz têm roupas sujas a serem lavadas, secadas, dobradas e guardadas

Organização de Computadores

Ordem

Instr.

Mi

Tempo (ciclos de clock)

Load

Instr 1

Instr 2

Instr 3

Instr 4A

LUMi Reg Md Reg

AL

UMi Reg Md Reg

AL

UMi Reg Md Reg

AL

UReg Md Reg

AL

UMi Reg Md Reg

Deteção fácil nesse caso!

Conflito Estrutural - Memória Única

Page 15: Organização de Computadores Pipeline. Organização de Computadores Ana, Bruno, Carla, Luiz têm roupas sujas a serem lavadas, secadas, dobradas e guardadas

Organização de Computadores

• Conflitos de controle: tentativa de tomar uma decisão antes que a condição seja avaliada

• E.x., lavar uniformes de time de futebol e precisa saber quantidade de sabão; precisa esperar a secadora para colocar próximo uniforme

• instruções de desvio

Conflitos do Pipeline

Page 16: Organização de Computadores Pipeline. Organização de Computadores Ana, Bruno, Carla, Luiz têm roupas sujas a serem lavadas, secadas, dobradas e guardadas

Organização de Computadores• Parada: espera até decisão estar clara

Ordem

Instr

Tempo (ciclos de clock)

Add

Beq

LoadA

LUMi Reg Md Reg

AL

UMi Reg Md Reg

AL

UReg Md RegMi

Soluções para Conflito de Controle

Page 17: Organização de Computadores Pipeline. Organização de Computadores Ana, Bruno, Carla, Luiz têm roupas sujas a serem lavadas, secadas, dobradas e guardadas

Organização de Computadores

• Predição: escolhe uma direção e retorna se errada• predição não executada

• Certo 50% do tempo

Ordem

Instr

Tempo (ciclos de clock)

AddBeqLoad

AL

UMi Reg Md Reg

AL

UMi Reg Md Reg

Mi

AL

UReg Md Reg

Soluções para Conflito de Controle

Page 18: Organização de Computadores Pipeline. Organização de Computadores Ana, Bruno, Carla, Luiz têm roupas sujas a serem lavadas, secadas, dobradas e guardadas

Organização de Computadores

• Conflitos de dados: tentativa de utilizar um item antes de estar pronto

• E.x., uma meia na secadora outro na lavadora; não pode dobrar

• instrução depende de resultado da instrução anterior ainda no pipeline

Conflitos do Pipeline

Page 19: Organização de Computadores Pipeline. Organização de Computadores Ana, Bruno, Carla, Luiz têm roupas sujas a serem lavadas, secadas, dobradas e guardadas

Organização de Computadores

add r2 r3 r1

addi r1 r4 100

Conflito de Dados com r1

Page 20: Organização de Computadores Pipeline. Organização de Computadores Ana, Bruno, Carla, Luiz têm roupas sujas a serem lavadas, secadas, dobradas e guardadas

Organização de Computadores

Ordem

Instr

Tempo (ciclos de clock)

add r2 r3 r1

addi r1 r4 100

BI ID/RF EX MEM REGAL

UMi Reg Md Reg

AL

UMi Reg Md Reg

Conflito de Dados com r1

Page 21: Organização de Computadores Pipeline. Organização de Computadores Ana, Bruno, Carla, Luiz têm roupas sujas a serem lavadas, secadas, dobradas e guardadas

Organização de Computadores• “Adiantamento” do resultado de um estágio para outro

Ordem

Instr

Tempo (ciclos de clock)

BI ID/RF EX MEM ERAL

UMi Reg Md Reg

AL

UMi Reg Md Reg

Solução para Conflito por Dados

add r2 r3 r1

addi r1 r4 100