Você está na página 1de 24

Abordagem

Unidades em um processador antigo


Pipeline tambm conhecido por linha de montagem
Clculos em uma pipeline ideal
Problemas no mundo real
Breve introduo aos pipelines de
processadores RISC
Primeiros passos
H. G. Fernandes
1
1
Curso de Sistemas de Informao
Faculdade Sumar
Disciplina de Arquitetura de Computadores, 2014
H. G. Fernandes Hierarquia de armazenamento
Abordagem
Unidades em um processador antigo
Pipeline tambm conhecido por linha de montagem
Clculos em uma pipeline ideal
Problemas no mundo real
Outline
1
Abordagem
Putting it all together
A importncia da repetio
2
Unidades em um processador antigo
3
Pipeline tambm conhecido por linha de montagem
Uma linha de montagem na indstria automobilstica
Transpondo o exemplo para processadores
4
Clculos em uma pipeline ideal
5
Problemas no mundo real
H. G. Fernandes Hierarquia de armazenamento
Abordagem
Unidades em um processador antigo
Pipeline tambm conhecido por linha de montagem
Clculos em uma pipeline ideal
Problemas no mundo real
Putting it all together
A importncia da repetio
Agenda
1
Abordagem
Putting it all together
A importncia da repetio
2
Unidades em um processador antigo
3
Pipeline tambm conhecido por linha de montagem
Uma linha de montagem na indstria automobilstica
Transpondo o exemplo para processadores
4
Clculos em uma pipeline ideal
5
Problemas no mundo real
H. G. Fernandes Hierarquia de armazenamento
Abordagem
Unidades em um processador antigo
Pipeline tambm conhecido por linha de montagem
Clculos em uma pipeline ideal
Problemas no mundo real
Putting it all together
A importncia da repetio
Livros americanos tm abordagem aparentemente
cotica:
Listam cada vez mais informaes. . .
. . . aparentemente sem ordem alguma.
Mas a surge a seo Putting it all together.
Ou Juntando as coisas, ou Juntando tudo.
H. G. Fernandes Hierarquia de armazenamento
Abordagem
Unidades em um processador antigo
Pipeline tambm conhecido por linha de montagem
Clculos em uma pipeline ideal
Problemas no mundo real
Putting it all together
A importncia da repetio
Agenda
1
Abordagem
Putting it all together
A importncia da repetio
2
Unidades em um processador antigo
3
Pipeline tambm conhecido por linha de montagem
Uma linha de montagem na indstria automobilstica
Transpondo o exemplo para processadores
4
Clculos em uma pipeline ideal
5
Problemas no mundo real
H. G. Fernandes Hierarquia de armazenamento
Abordagem
Unidades em um processador antigo
Pipeline tambm conhecido por linha de montagem
Clculos em uma pipeline ideal
Problemas no mundo real
Putting it all together
A importncia da repetio
Alguns conceitos so muito abstratos ou profundos
Qualquer ser humano normal vai demorar para
entend-los.
Alguns conceitos so interrelacionados
Em um primeiro momento, conseguimos ver apenas parte
das relaes.
Portanto, hoje em dia normal aprender e aprender de
novo.
Estamos nos tempos da educao continuada.
Principalmente na rea de informtica, nunca paramos de
aprender.
H. G. Fernandes Hierarquia de armazenamento
Abordagem
Unidades em um processador antigo
Pipeline tambm conhecido por linha de montagem
Clculos em uma pipeline ideal
Problemas no mundo real
Passos para a execuo de uma instruo de
mquina
Em um processador simplicado, mas no muito diferente dos
mais modernos:
Primeiramente, a instruo trazida da memria, no
estgio Fetch, representado por Ftc;
Depois, ela decodicada, no estgio Decode,
representado por Dec;
Finalmente, ela executada, no estgio Execute,
representado por Exe.
H. G. Fernandes Hierarquia de armazenamento
Abordagem
Unidades em um processador antigo
Pipeline tambm conhecido por linha de montagem
Clculos em uma pipeline ideal
Problemas no mundo real
Algumas contas simples para
Suponhamos que cada estgio tome, normalmente, um
ciclo de mquina;
Sendo assim, uma instruo, chamada 1 toma no mnimo
trs ciclos de mquina, representados na tabela abaixo.
Tempo T
1
T
2
T
3
Estgio Ftc Dec Exe
Instruo 1 1 1
H. G. Fernandes Hierarquia de armazenamento
Abordagem
Unidades em um processador antigo
Pipeline tambm conhecido por linha de montagem
Clculos em uma pipeline ideal
Problemas no mundo real
Considerando 3 instrues mnimas
Suponhamos trs instrues que mesmo sendo diferentes,
tomem tambm um mnimo trs ciclos de mquina,
representadas na tabela abaixo.
Tempo T
1
T
2
T
3
T
4
T
5
T
6
T
4
T
5
T
9
Estgio Ftc Dec Exe Ftc Dec Exe Ftc Dec Exe
Instruo 1 1 1 2 2 2 3 3 3
Naturalmente, estas 3 instrues tomaro um total de 9 ciclos
de mquina.
E cada unidade car ociosa a maior parte do tempo, neste
caso aguardando 2 ciclos de mquina para receber nova
instruo para processar.
H. G. Fernandes Hierarquia de armazenamento
Abordagem
Unidades em um processador antigo
Pipeline tambm conhecido por linha de montagem
Clculos em uma pipeline ideal
Problemas no mundo real
Uma linha de montagem na indstria automobilstica
Transpondo o exemplo para processadores
Para agilizar o processamento, projetistas pensaram
em linha de montagem
Em uma liha de montagem, h unidades distintas,
anlogas quelas de Fetch, Decode e Execute.
Mas a diferena que elas podem trabalhar
simultaneamente, em paralelo.
Um objeto comea a ser processado na primeira unidade;
quando esta termina, passa-o para a segunda.
Ento a primeira pode apanhar um segundo objeto,
enquanto a segunda unidade trabalha no primeiro.
Assim, objetos diferentes, em diferentes estgios, so
tratados simultaneamente.
H. G. Fernandes Hierarquia de armazenamento
Abordagem
Unidades em um processador antigo
Pipeline tambm conhecido por linha de montagem
Clculos em uma pipeline ideal
Problemas no mundo real
Uma linha de montagem na indstria automobilstica
Transpondo o exemplo para processadores
Agenda
1
Abordagem
Putting it all together
A importncia da repetio
2
Unidades em um processador antigo
3
Pipeline tambm conhecido por linha de montagem
Uma linha de montagem na indstria automobilstica
Transpondo o exemplo para processadores
4
Clculos em uma pipeline ideal
5
Problemas no mundo real
H. G. Fernandes Hierarquia de armazenamento
Abordagem
Unidades em um processador antigo
Pipeline tambm conhecido por linha de montagem
Clculos em uma pipeline ideal
Problemas no mundo real
Uma linha de montagem na indstria automobilstica
Transpondo o exemplo para processadores
Viso simplista de produo de veculos na
Volkswagen
As fbricas de carros so os exemplos mais intuitivos do
uso de linhas de montagem.
Em ingls, o nome literalmente assembly line.
Um professor de arquitetura de computadores resumia-as
dizendo que, em uma linha de montagem, um Fusca
continuava a levar 48 h para car pronto.
Mas que usando a linha de montagem, a fbrica era capaz
de entregar um Fusca a cada 48 minutos.
Foi essa produtividade adicional que atraiu os projetistas
de processadores, para usar o mesmo conceito nas
pipelines.
H. G. Fernandes Hierarquia de armazenamento
Abordagem
Unidades em um processador antigo
Pipeline tambm conhecido por linha de montagem
Clculos em uma pipeline ideal
Problemas no mundo real
Uma linha de montagem na indstria automobilstica
Transpondo o exemplo para processadores
Viso simplista de produo de veculos na
Volkswagen (cont.)
Uma ideia simplstica seria que, na primeira unidade da
linha de montagem, chega um chassis de um Golf, que
ento recebe os eixos;
Vai ento para a unidade seguinte, onde receber as
rodas; depois para a unidade onde montada a
carroceria.
E assim por diante, at que o Golf seja terminado de
fabricar.
H. G. Fernandes Hierarquia de armazenamento
Abordagem
Unidades em um processador antigo
Pipeline tambm conhecido por linha de montagem
Clculos em uma pipeline ideal
Problemas no mundo real
Uma linha de montagem na indstria automobilstica
Transpondo o exemplo para processadores
Viso simplista de produo de veculos na
Volkswagen (cont.)
Assim que o Golf deixou a primeira unidade da linha de
montagem, pode vir ento o prximo veculo digamos
um Voyage;
Quando ele terminar de receber as rodas e for para a
unidade onde montada a carroceria, entrar em seu
lugar, digamos uma Saveiro.
E cada novo veculo seguido por um outro do mesmo
modelo ou no.
O importante que cada unidade da linha de montagem
permanece ocupada todo o tempo, o que maximiza a
produtividade.
H. G. Fernandes Hierarquia de armazenamento
Abordagem
Unidades em um processador antigo
Pipeline tambm conhecido por linha de montagem
Clculos em uma pipeline ideal
Problemas no mundo real
Uma linha de montagem na indstria automobilstica
Transpondo o exemplo para processadores
Agenda
1
Abordagem
Putting it all together
A importncia da repetio
2
Unidades em um processador antigo
3
Pipeline tambm conhecido por linha de montagem
Uma linha de montagem na indstria automobilstica
Transpondo o exemplo para processadores
4
Clculos em uma pipeline ideal
5
Problemas no mundo real
H. G. Fernandes Hierarquia de armazenamento
Abordagem
Unidades em um processador antigo
Pipeline tambm conhecido por linha de montagem
Clculos em uma pipeline ideal
Problemas no mundo real
Uma linha de montagem na indstria automobilstica
Transpondo o exemplo para processadores
Adaptao das linhas de montagem a um processador
A analogia simples: basta garantir que as unidades do
processador sejam similares s unidades da linha de
montagem.
Contudo, importante garantir que no haja nenhum
vnculo entre o trabalho de uma unidade e aquele das
seguintes.
De modo a que uma instruo possa ser livremente
transportada para a prxima unidade, liberando a anterior.
H. G. Fernandes Hierarquia de armazenamento
Abordagem
Unidades em um processador antigo
Pipeline tambm conhecido por linha de montagem
Clculos em uma pipeline ideal
Problemas no mundo real
Reconsiderando 3 instrues mnimas
Usando pipeline, o exemplo anterior, com 3 instrues
caria como a seguir:
Tempo T
1
T
2
T
3
T
4
T
5
Estgio Ftc Dec Exe
Instruo 1 1 1
Estgio Ftc Dec Exe
Instruo 2 2 2
Estgio Ftc Dec Exe
Instruo 3 3 3
Um ponto notvel que agora as instrues puderam ser
executadas em 5 ciclos, em vez dos 9 anteriores.
H. G. Fernandes Hierarquia de armazenamento
Abordagem
Unidades em um processador antigo
Pipeline tambm conhecido por linha de montagem
Clculos em uma pipeline ideal
Problemas no mundo real
Considerando 4 instrues mnimas
Caso fossem 4 instrues:
Tempo T
1
T
2
T
3
T
4
T
5
T
6
Estgio Ftc Dec Exe
Instruo 1 1 1
Estgio Ftc Dec Exe
Instruo 2 2 2
Estgio Ftc Dec Exe
Instruo 3 3 3
Estgio Ftc Dec Exe
Instruo 3 3 3
interessante comentar que, se as 4 instrues no
estivessem em um pipeline, seu processamento tomaria
12 ciclos. E agora ocuparam apenas 6 ciclos.
H. G. Fernandes Hierarquia de armazenamento
Abordagem
Unidades em um processador antigo
Pipeline tambm conhecido por linha de montagem
Clculos em uma pipeline ideal
Problemas no mundo real
Generalizando o tempo no pipeline para qualquer
nmero de instrues mnimas
Um exame breve das tabelas de 3 e 4 instrues mnimas
mostra que cada nova instruo mnima acrescenta
apenas um ciclo ao tempo total;
No difcil concluir que a frmula para o tempo nestas
condies
P(n) = 2 + nT,
onde n o nmero de instrues mnimas e T o tempo
de ciclo.
De fato, relendo as tabelas anteriores, temos realmente
que P(3) = 5T e P(4) = 6T.
H. G. Fernandes Hierarquia de armazenamento
Abordagem
Unidades em um processador antigo
Pipeline tambm conhecido por linha de montagem
Clculos em uma pipeline ideal
Problemas no mundo real
Calculando o ganho no pipeline para qualquer nmero
de instrues mnimas
Caso no houvesse pipeline, fcil ver que o tempo N(n)
a multiplicao do tempo total de uma instruo pelo
nmero de instrues.
Isto : N(n) = 3nT.
Isto permite calcular o ganho G(n), que , neste caso
G(n) =
N(n)
P(n)
=
3nT
2+nT
.
Para um nmero muito grande de instrues G(n) 3.
H. G. Fernandes Hierarquia de armazenamento
Abordagem
Unidades em um processador antigo
Pipeline tambm conhecido por linha de montagem
Clculos em uma pipeline ideal
Problemas no mundo real
Razes para o uso de pipelines
Estas contas simples ajudam a explicar porque todo
processador moderno tem pipeline: um processador com
pipeline pode ter um ganho proporcional ao nmero de
estgios.
Em nosso caso, com 3 estgios o ganho se aproxima de 3,
para nmero muito grande instrues.
Isto tambm explica porque os processadores modernos
vo tendo um nmero cada vez maior de estgios de
pipeline, subdividindo as tarefas realizadas pelas unidades
mais tradicionais.
Para esse ganho se efetivar, tambm diminudo o tempo
de um ciclo do processador.
Em outras palavras, aumenta-se seu clock.
H. G. Fernandes Hierarquia de armazenamento
Abordagem
Unidades em um processador antigo
Pipeline tambm conhecido por linha de montagem
Clculos em uma pipeline ideal
Problemas no mundo real
O que limita os ganhos das pipelines no mundo real
Infelizmente, no mundo real os ganhos no so to
grandes.
H instrues que tomam mais tempo do que as instrues
mnimas;
Por exemplo, operaes matemticas, em ponto utuante
ou no, tendem a ser assim.
Alm delas, tambm so mais demoradas as instrues
que fazem acesso memria, como carga (load) da
memria e armazenamento (ou store) nela.
H. G. Fernandes Hierarquia de armazenamento
Abordagem
Unidades em um processador antigo
Pipeline tambm conhecido por linha de montagem
Clculos em uma pipeline ideal
Problemas no mundo real
Calculando o tamanho dos estragos
Vamos retomar o exemplo do pipeline com trs instrues
mnimas.
Suponhamos que a primeira delas, por acessar
memria, demande dois ciclos em sua execuo.
Neste caso, a unidade de execuo no estar
imediatamente disponvel para a instruo 2.
Tempo T
1
T
2
T
3
T
4
T
5
T
6
Estgio Ftc Dec Exe Exe
Instruo 1 1 1 1
Estgio Ftc Dec Exe
Instruo 2 2 2 2
Estgio Ftc Dec - Exe
Instruo 3 3 3 3
H. G. Fernandes Hierarquia de armazenamento
Abordagem
Unidades em um processador antigo
Pipeline tambm conhecido por linha de montagem
Clculos em uma pipeline ideal
Problemas no mundo real
Calculando o tamanho dos estragos
O sinal indica um perodo de inatividade.
Conforme se v na tabela,
H. G. Fernandes Hierarquia de armazenamento

Você também pode gostar