Please enable JavaScript.
Coggle requires JavaScript to display documents.
Pipeline (O que é? (Técnica onde várias instruções são sobrepostas em…
Pipeline
O que é?
Técnica onde várias instruções são sobrepostas em execução, permitindo a CPU executar um ou mais instruções além da próxima a ser executada.
Tira proveito do paralelismo existente entre as etapas do ciclo de instrução (Buscar - Decodificar - Executar)
Normalmente cada instrução ocupa no máximo cinco clocks da CPU, onde a cada clock usa um circuito do hardware diferente, essa tecnica consiste em quando uma instrução deixa de usar uma parte do circuito, o sistema já implementa outra instrução para este circuito, evitando assim que o mesmo fique ocioso e acelerando o processamento.
Isso permite que muitas instruções possam ser executadas na unidade de tempo de uma só instrução, melhorando assim a vazão do sistema.
Penalidades do Pipeline
Ocorre que essa técnica não é perfeita, há fatores que podem afetar o desempenho da mesma, são chamados de penalidades e se dividem em 3 tipos:
Penalidades Estruturais
Ocorrem quando as duas instruções tentam acessar o mesmo circuito ou recurso do hardware, como o hardware só pode atender um, uma das instruções terá que esperar, o que irá atrasar o pipeline
-
Penalidades de Controle
Ocorre quando o hardware precisa tomar uma decisão (if) em uma instrução com base em outra instrução que ainda não foi concluída
Um exemplo básico é: o hardware só vai saber se vai executar a condição verdadeira do if ou o else depois de executar e testar a condição do if
-