Trabalho de Arquitetura de Computadores Prof. MSc. Lucilena de Lima
Jos Aparecido Bicharelli RA 180084 Renan Borilli Fernandes RA 199806 Vinicius do Nascimento Souza RA 199975 Pipeline: Otimizando o processamento A instruo executada em fases Ganho substancial de velocidade utilizada para acelerar a velocidade de operao da CPU Instrues sem Pipeline Execuo Sequencial
Considere a execuo sequencial de 4 instrues em um processador onde cada instruo composta de 4 estgios, cada um consumindo um ciclo de clock:
Instruo 1 E1 E2 E3 E4
Instruo 2 E1 E2 E3 E4
Instruo 3 E1 E2 E3 E4
Instruo 4 E1 E2 E3 E4
T T T T Tempo total = 4T (16 ciclos de clock) Pipeline de 4 estgios
Execuo em Paralelo (Pipeline)
Considere agora que as mesmas instrues sejam executadas em um processador cuja execuo feita em pipeline:
Instruo 1 E1 E2 E3 E4
Instruo 2 E1 E2 E3 E4
Instruo 3 E1 E2 E3 E4
Instruo 4 E1 E2 E3 E4
As mesmas 4 instrues passam a ser executadas em menos da metade do tempo do processador anterior.
1,75T (7 ciclos de clock) Pipeline de 4 estgios
Para o exemplo anterior, a partir do 4 ciclo de clock, os circuitos de cada um dos estgios passam a ser permanentemente utilizados, cada ciclo por uma instruo diferente.
Todos os 4 estgios esto em uso Pipeline de 4 estgios
Naturalmente, para os circuitos de cada estgio de uma mquina possam operar em pipeline, devem haver registradores ou latches separando um estgio do outro:
Eles garantem que o resultado do estgio anterior, necessrio operao do estgio atual, no ser alterado pela prxima instruo ao usar o estgio anterior. Ex.: Arquitetura para Execuo Sequencial
E1: Busca de Instruo E2: Decodificao e Leitura dos Registradores E3: Operao da ULA e do Deslocador
E4: Escrita nos Registradores Ex.: Arquitetura para Execuo em Pipeline
E1: Busca de Instruo E2: L1 Decodificao L2 e Leitura dos Registradores E3: Operao da ULA e do Deslocador
E4: L3 Escrita nos Registradores
Exemplo clssico da Lavanderia
4 pessoas (A, B, C, D) possuem sacolas de roupa para lavar, secar e dobrar
A B C D
Lavar leva 30 minutos
Secar leva 40 minutos
Dobrar leva 20 minutos Sem pipelining 6 Meia-noite 7 8 9 Tempo 11 10
30 40 20 30 40 20 30 40 20 30 40 20 T
a A
r e B
f a C
s
D
Lavanderia sequencial leva 6 horas para terminar
Se eles conhecessem computao, quanto tempo levaria? Com pipelining
30 40 40 40 40 40 T
a A
r e B
f a C
s
D
Lavanderia com pipelining leva 3,5 horas 6 Meia-noite 7 8 9 Tempo 11 10 Caractersticas Pipeline no melhora a latncia de uma nica tarefa, mas melhora o throughput de todo trabalho
Tempo de execuo de uma tarefa o mesmo, com ou sem pipelining
Ganho comea a existir a partir da segunda tarefa
Taxa de insero de tarefas limitada pela tarefa mais lenta
Pipeline explora o paralelismo entre as instrues em um fluxo de instrues sequenciais
uma tcnica invisvel ao programador, ao contrrio de tcnicas de multiprocessadores