Breve introdução aos pipelines de processadores RISC -- Primeiros passos

download Breve introdução aos pipelines de processadores RISC -- Primeiros passos

of 24

description

Conceitos sobre pipelines de processadores RISC

Transcript of Breve introdução aos pipelines de processadores RISC -- Primeiros passos

  • AbordagemUnidades em um processador antigo

    Pipeline tambm conhecido por linha de montagemClculos em uma pipeline ideal

    Problemas no mundo real

    Breve introduo aos pipelines deprocessadores RISC

    Primeiros passos

    H. G. Fernandes1

    1Curso de Sistemas de InformaoFaculdade Sumar

    Disciplina de Arquitetura de Computadores, 2014

    H. G. Fernandes Hierarquia de armazenamento

  • AbordagemUnidades em um processador antigo

    Pipeline tambm conhecido por linha de montagemClculos em uma pipeline ideal

    Problemas no mundo real

    Outline

    1 AbordagemPutting it all togetherA importncia da repetio

    2 Unidades em um processador antigo

    3 Pipeline tambm conhecido por linha de montagemUma linha de montagem na indstria automobilsticaTranspondo o exemplo para processadores

    4 Clculos em uma pipeline ideal

    5 Problemas no mundo real

    H. G. Fernandes Hierarquia de armazenamento

  • AbordagemUnidades em um processador antigo

    Pipeline tambm conhecido por linha de montagemClculos em uma pipeline ideal

    Problemas no mundo real

    Putting it all togetherA importncia da repetio

    Agenda

    1 AbordagemPutting it all togetherA importncia da repetio

    2 Unidades em um processador antigo

    3 Pipeline tambm conhecido por linha de montagemUma linha de montagem na indstria automobilsticaTranspondo o exemplo para processadores

    4 Clculos em uma pipeline ideal

    5 Problemas no mundo real

    H. G. Fernandes Hierarquia de armazenamento

  • AbordagemUnidades em um processador antigo

    Pipeline tambm conhecido por linha de montagemClculos em uma pipeline ideal

    Problemas no mundo real

    Putting it all togetherA importncia da repetio

    Livros americanos tm abordagem aparentementecotica:

    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

  • AbordagemUnidades em um processador antigo

    Pipeline tambm conhecido por linha de montagemClculos em uma pipeline ideal

    Problemas no mundo real

    Putting it all togetherA importncia da repetio

    Agenda

    1 AbordagemPutting it all togetherA importncia da repetio

    2 Unidades em um processador antigo

    3 Pipeline tambm conhecido por linha de montagemUma linha de montagem na indstria automobilsticaTranspondo o exemplo para processadores

    4 Clculos em uma pipeline ideal

    5 Problemas no mundo real

    H. G. Fernandes Hierarquia de armazenamento

  • AbordagemUnidades em um processador antigo

    Pipeline tambm conhecido por linha de montagemClculos em uma pipeline ideal

    Problemas no mundo real

    Putting it all togetherA importncia da repetio

    Alguns conceitos so muito abstratos ou profundosQualquer ser humano normal vai demorar paraentend-los.

    Alguns conceitos so interrelacionadosEm um primeiro momento, conseguimos ver apenas partedas relaes.

    Portanto, hoje em dia normal aprender e aprender denovo.

    Estamos nos tempos da educao continuada.Principalmente na rea de informtica, nunca paramos deaprender.

    H. G. Fernandes Hierarquia de armazenamento

  • AbordagemUnidades em um processador antigo

    Pipeline tambm conhecido por linha de montagemClculos em uma pipeline ideal

    Problemas no mundo real

    Passos para a execuo de uma instruo demquina

    Em um processador simplificado, mas no muito diferente dosmais modernos:

    Primeiramente, a instruo trazida da memria, noestgio Fetch, representado por Ftc;Depois, ela decodificada, no estgio Decode,representado por Dec;Finalmente, ela executada, no estgio Execute,representado por Exe.

    H. G. Fernandes Hierarquia de armazenamento

  • AbordagemUnidades em um processador antigo

    Pipeline tambm conhecido por linha de montagemClculos em uma pipeline ideal

    Problemas no mundo real

    Algumas contas simples para

    Suponhamos que cada estgio tome, normalmente, umciclo de mquina;Sendo assim, uma instruo, chamada 1 toma no mnimotrs ciclos de mquina, representados na tabela abaixo.

    Tempo T1 T2 T3Estgio Ftc Dec Exe

    Instruo 1 1 1

    H. G. Fernandes Hierarquia de armazenamento

  • AbordagemUnidades em um processador antigo

    Pipeline tambm conhecido por linha de montagemClculos 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 T1 T2 T3 T4 T5 T6 T4 T5 T9Estgio 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 ciclosde mquina.E cada unidade ficar ociosa a maior parte do tempo, nestecaso aguardando 2 ciclos de mquina para receber novainstruo para processar.

    H. G. Fernandes Hierarquia de armazenamento

  • AbordagemUnidades em um processador antigo

    Pipeline tambm conhecido por linha de montagemClculos em uma pipeline ideal

    Problemas no mundo real

    Uma linha de montagem na indstria automobilsticaTranspondo o exemplo para processadores

    Para agilizar o processamento, projetistas pensaramem linha de montagem

    Em uma liha de montagem, h unidades distintas,anlogas quelas de Fetch, Decode e Execute.Mas a diferena que elas podem trabalharsimultaneamente, 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, sotratados simultaneamente.

    H. G. Fernandes Hierarquia de armazenamento

  • AbordagemUnidades em um processador antigo

    Pipeline tambm conhecido por linha de montagemClculos em uma pipeline ideal

    Problemas no mundo real

    Uma linha de montagem na indstria automobilsticaTranspondo o exemplo para processadores

    Agenda

    1 AbordagemPutting it all togetherA importncia da repetio

    2 Unidades em um processador antigo

    3 Pipeline tambm conhecido por linha de montagemUma linha de montagem na indstria automobilsticaTranspondo o exemplo para processadores

    4 Clculos em uma pipeline ideal

    5 Problemas no mundo real

    H. G. Fernandes Hierarquia de armazenamento

  • AbordagemUnidades em um processador antigo

    Pipeline tambm conhecido por linha de montagemClculos em uma pipeline ideal

    Problemas no mundo real

    Uma linha de montagem na indstria automobilsticaTranspondo o exemplo para processadores

    Viso simplista de produo de veculos naVolkswagen

    As fbricas de carros so os exemplos mais intuitivos douso de linhas de montagem.

    Em ingls, o nome literalmente assembly line.

    Um professor de arquitetura de computadores resumia-asdizendo que, em uma linha de montagem, um Fuscacontinuava a levar 48 h para ficar pronto.Mas que usando a linha de montagem, a fbrica era capazde entregar um Fusca a cada 48 minutos.Foi essa produtividade adicional que atraiu os projetistasde processadores, para usar o mesmo conceito naspipelines.

    H. G. Fernandes Hierarquia de armazenamento

  • AbordagemUnidades em um processador antigo

    Pipeline tambm conhecido por linha de montagemClculos em uma pipeline ideal

    Problemas no mundo real

    Uma linha de montagem na indstria automobilsticaTranspondo o exemplo para processadores

    Viso simplista de produo de veculos naVolkswagen (cont.)

    Uma ideia simplstica seria que, na primeira unidade dalinha de montagem, chega um chassis de um Golf, queento recebe os eixos;Vai ento para a unidade seguinte, onde receber asrodas; depois para a unidade onde montada acarroceria.E assim por diante, at que o Golf seja terminado defabricar.

    H. G. Fernandes Hierarquia de armazenamento

  • AbordagemUnidades em um processador antigo

    Pipeline tambm conhecido por linha de montagemClculos em uma pipeline ideal

    Problemas no mundo real

    Uma linha de montagem na indstria automobilsticaTranspondo o exemplo para processadores

    Viso simplista de produo de veculos naVolkswagen (cont.)

    Assim que o Golf deixou a primeira unidade da linha demontagem, pode vir ento o prximo veculo digamosum Voyage;Quando ele terminar de receber as rodas e for para aunidade onde montada a carroceria, entrar em seulugar, digamos uma Saveiro.E cada novo veculo seguido por um outro do mesmomodelo ou no.O importante que cada unidade da linha de montagempermanece ocupada todo o tempo, o que maximiza aprodutividade.

    H. G. Fernandes Hierarquia de armazenamento

  • AbordagemUnidades em um processador antigo

    Pipeline tambm conhecido por linha de montagemClculos em uma pipeline ideal

    Problemas no mundo real

    Uma linha de montagem na indstria automobilsticaTranspondo o exemplo para processadores

    Agenda

    1 AbordagemPutting it all togetherA importncia da repetio

    2 Unidades em um processador antigo

    3 Pipeline tambm conhecido por linha de montagemUma linha de montagem na indstria automobilsticaTranspondo o exemplo para processadores

    4 Clculos em uma pipeline ideal

    5 Problemas no mundo real

    H. G. Fernandes Hierarquia de armazenamento

  • AbordagemUnidades em um processador antigo

    Pipeline tambm conhecido por linha de montagemClculos em uma pipeline ideal

    Problemas no mundo real

    Uma linha de montagem na indstria automobilsticaTranspondo o exemplo para processadores

    Adaptao das linhas de montagem a um processador

    A analogia simples: basta garantir que as unidades doprocessador sejam similares s unidades da linha demontagem.Contudo, importante garantir que no haja nenhumvnculo entre o trabalho de uma unidade e aquele dasseguintes.De modo a que uma instruo possa ser livrementetransportada para a prxima unidade, liberando a anterior.

    H. G. Fernandes Hierarquia de armazenamento

  • AbordagemUnidades em um processador antigo

    Pipeline tambm conhecido por linha de montagemClculos em uma pipeline ideal

    Problemas no mundo real

    Reconsiderando 3 instrues mnimas

    Usando pipeline, o exemplo anterior, com 3 instruesficaria como a seguir:

    Tempo T1 T2 T3 T4 T5Estgio Ftc Dec Exe

    Instruo 1 1 1Estgio Ftc Dec Exe

    Instruo 2 2 2Estgio Ftc Dec Exe

    Instruo 3 3 3

    Um ponto notvel que agora as instrues puderam serexecutadas em 5 ciclos, em vez dos 9 anteriores.

    H. G. Fernandes Hierarquia de armazenamento

  • AbordagemUnidades em um processador antigo

    Pipeline tambm conhecido por linha de montagemClculos em uma pipeline ideal

    Problemas no mundo real

    Considerando 4 instrues mnimas

    Caso fossem 4 instrues:Tempo T1 T2 T3 T4 T5 T6Estgio Ftc Dec Exe

    Instruo 1 1 1Estgio Ftc Dec Exe

    Instruo 2 2 2Estgio Ftc Dec Exe

    Instruo 3 3 3Estgio Ftc Dec Exe

    Instruo 3 3 3

    interessante comentar que, se as 4 instrues noestivessem em um pipeline, seu processamento tomaria12 ciclos. E agora ocuparam apenas 6 ciclos.

    H. G. Fernandes Hierarquia de armazenamento

  • AbordagemUnidades em um processador antigo

    Pipeline tambm conhecido por linha de montagemClculos em uma pipeline ideal

    Problemas no mundo real

    Generalizando o tempo no pipeline para qualquernmero de instrues mnimas

    Um exame breve das tabelas de 3 e 4 instrues mnimasmostra que cada nova instruo mnima acrescentaapenas um ciclo ao tempo total;No difcil concluir que a frmula para o tempo nestascondies P(n) = 2 + nT ,onde n o nmero de instrues mnimas e T o tempode ciclo.

    De fato, relendo as tabelas anteriores, temos realmenteque P(3) = 5T e P(4) = 6T .

    H. G. Fernandes Hierarquia de armazenamento

  • AbordagemUnidades em um processador antigo

    Pipeline tambm conhecido por linha de montagemClculos em uma pipeline ideal

    Problemas no mundo real

    Calculando o ganho no pipeline para qualquer nmerode instrues mnimas

    Caso no houvesse pipeline, fcil ver que o tempo N(n) a multiplicao do tempo total de uma instruo pelonmero de instrues.Isto : N(n) = 3nT .Isto permite calcular o ganho G(n), que , neste casoG(n) = N(n)P(n) =

    3nT2+nT .

    Para um nmero muito grande de instrues G(n) 3.

    H. G. Fernandes Hierarquia de armazenamento

  • AbordagemUnidades em um processador antigo

    Pipeline tambm conhecido por linha de montagemClculos em uma pipeline ideal

    Problemas no mundo real

    Razes para o uso de pipelines

    Estas contas simples ajudam a explicar porque todoprocessador moderno tem pipeline: um processador compipeline pode ter um ganho proporcional ao nmero deestgios.

    Em nosso caso, com 3 estgios o ganho se aproxima de 3,para nmero muito grande instrues.

    Isto tambm explica porque os processadores modernosvo tendo um nmero cada vez maior de estgios depipeline, subdividindo as tarefas realizadas pelas unidadesmais tradicionais.

    Para esse ganho se efetivar, tambm diminudo o tempode um ciclo do processador.Em outras palavras, aumenta-se seu clock.

    H. G. Fernandes Hierarquia de armazenamento

  • AbordagemUnidades em um processador antigo

    Pipeline tambm conhecido por linha de montagemClculos 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 tograndes.

    H instrues que tomam mais tempo do que as instruesmnimas;Por exemplo, operaes matemticas, em ponto flutuanteou no, tendem a ser assim.Alm delas, tambm so mais demoradas as instruesque fazem acesso memria, como carga (load) damemria e armazenamento (ou store) nela.

    H. G. Fernandes Hierarquia de armazenamento

  • AbordagemUnidades em um processador antigo

    Pipeline tambm conhecido por linha de montagemClculos em uma pipeline ideal

    Problemas no mundo real

    Calculando o tamanho dos estragos

    Vamos retomar o exemplo do pipeline com trs instruesmnimas.Suponhamos que a primeira delas, por acessar memria, demande dois ciclos em sua execuo.Neste caso, a unidade de execuo no estarimediatamente disponvel para a instruo 2.

    Tempo T1 T2 T3 T4 T5 T6Estgio Ftc Dec Exe Exe

    Instruo 1 1 1 1Estgio Ftc Dec Exe

    Instruo 2 2 2 2Estgio Ftc Dec - Exe

    Instruo 3 3 3 3

    H. G. Fernandes Hierarquia de armazenamento

  • AbordagemUnidades em um processador antigo

    Pipeline tambm conhecido por linha de montagemClculos 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

    AbordagemPutting it all togetherA importncia da repetio

    Unidades em um processador antigoPipeline tambm conhecido por linha de montagemUma linha de montagem na indstria automobilsticaTranspondo o exemplo para processadores

    Clculos em uma pipeline idealProblemas no mundo real