1) O documento discute pipelines em processadores, comparando-os a linhas de montagem industriais onde objetos passam simultaneamente por diferentes estágios de produção.
2) As pipelines em processadores dividem a execução de instruções em estágios como busca, decodificação e execução, permitindo que múltiplas instruções sejam processadas ao mesmo tempo.
3) Isso aumenta a eficiência em relação a processadores sem pipeline, onde cada estágio de uma instrução precisa ser concluído antes do próximo começar.
Descrição original:
Conceitos sobre pipelines de processadores RISC
Título original
Breve introdução aos pipelines de processadores RISC -- Primeiros passos
1) O documento discute pipelines em processadores, comparando-os a linhas de montagem industriais onde objetos passam simultaneamente por diferentes estágios de produção.
2) As pipelines em processadores dividem a execução de instruções em estágios como busca, decodificação e execução, permitindo que múltiplas instruções sejam processadas ao mesmo tempo.
3) Isso aumenta a eficiência em relação a processadores sem pipeline, onde cada estágio de uma instrução precisa ser concluído antes do próximo começar.
1) O documento discute pipelines em processadores, comparando-os a linhas de montagem industriais onde objetos passam simultaneamente por diferentes estágios de produção.
2) As pipelines em processadores dividem a execução de instruções em estágios como busca, decodificação e execução, permitindo que múltiplas instruções sejam processadas ao mesmo tempo.
3) Isso aumenta a eficiência em relação a processadores sem pipeline, onde cada estágio de uma instrução precisa ser concluído antes do próximo começar.
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