Baixe o app para aproveitar ainda mais
Prévia do material em texto
Disciplina: Arquitetura de Computadores ● Pesquisar o conceito de Pipeline Pipeline é o processo no qual uma instrução de processamento é subdividido em etapas. Nesse conceito uma instrução executa um estágio, e ao terminar a execução do primeiro estágio outra instrução ocupa o lugar da primeira, enquanto a primeira já começa a executar o segundo estágio. ● Faça uma analogia entre Pipeline e os estágios de um trabalho qualquer (lavar roupas, fábrica de carros, etc) Uma analogia interessante seria a de lavar roupas, suponhamos que cada processo leve 30 minutos. O primeiro processo é o de colocar a roupa na máquina e lavar O segundo processo é o de secar O terceiro é o de passar E o quarto é o de guardar no armário. Com pipeline, assim que eu terminar de lavar, e iniciar o processo de secagem, é possível iniciar o processo de lavar com outras roupas. Sendo assim, posso executar dois processos simultâneos em estágios diferentes de tempo. ● Quais vantagens uma CPU com Pipeline possui Aumento da velocidade de operação da CPU, uma vez que a próxima instrução a ser executada está normalmente armazenada nos registradores da CPU e não precisa ser buscada da memória principal que é muito mais lenta. ● Desempenho do Pipeline T k,n =[k+(n-1)]T ● Fatores que limitam os ganhos "prometidos" pelo Pipeline Duas ou mais instruções competem pelo mesmo recurso de CPU e memória Duas ou mais instruções conflitam no acesso a um operando Instruções de desvio ● Exercício 01: Qual o tempo de execução de um programa com 7,5 milhões de instruções, considerando que o pipeline é de 12 estágios e que cada estágio leva 100ns (nanosegundos) para ser executado. T k,n =[k+(n-1)]T T k,n =[12+(7500000-1)] 10−7 T k,n =[7500011] x , 000010 0 T k,n = 7,5 segundos ● Exercício 02: Qual o ganho de desempenho do pipeline do exercício 01 se comparado à execução deste mesmo programa, porém sem pipeline. T k,n = 7.500.000 x ( ), 000010 0 12x T k,n = 7.500.000 x , 000010 0 12x T k,n = 90 segundos ● Exercício 03: explique o porquê das instruções de desvio ("if", "while", "chamadas de função", etc) trazerem limitações de desempenho ao Pipeline. Caso ocorra uma instrução de desvio, o pipeline que estava sendo executado deve ser descartado, e as instruções devem ser executadas novamente.
Compartilhar