Pepiline
Arquitetura de Computadores II
Pipeline
Gabriel P. Silva
Gabriel P. Silva
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. • O pipeline não reduz o tempo gasto para completar cada instrução individualmente.
Gabriel P. Silva
Exemplo
Vamos supor uma lavanderia, em que cada etapa possa ser realizada em 30 minutos: 1)Colocar a roupa na máquina 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
Gabriel P. Silva
Exemplo sem Pipeline
Gabriel P. Silva
Exemplo com Pipeline
Gabriel P. Silva
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.Gabriel P. Silva
Pipeline
• Não melh ora a l atên cia de cada tarefa indivi dual mente. • Melhora o throu gh put de t odo o t rabal ho. • Várias tarefas ex ecut am s im ult aneam en te us ando rec ur so s d if erentes. • Sp ee dup po tenci al = n úmero de estági os d o pip elin e.
Gabriel P. Silva
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 de Registradores (R0 R31) RS1 RS2
32
Barramento de Endereço
+
6
32
Endereço Operando
RDM
DADOS
oper