Pipeline é uma técnica que visa o aumento de performance de processamento através da antecipação das instruções. Ao antecipar instruções, temos várias instruções sendo executadas simultaneamente no processador. Mas, para antecipar instruções, devem ser verificadas as dependências (hazards) de dados (verificar, por exemplo, se todas as informações necessárias já se encontram disponíveis) e deve-se, também, verificar as dependências estruturais (verificar se tem hardware disponível).
Pensando-se em hazards estruturais, assinale com “S” a(s) afirmativa(s) abaixo que você julgue como possível(eis) solução(ões) para atenuá-los ou, até, para eliminá-los e marque com “N” aquela(s) que você julgue não ter relação:
( ) Criar memória com dois ou mais canais de leitura/escrita como dividir a memória cache L1 em cache de instruções e cache de dados.
( ) Replicar as unidades funcionais do processador – superescalaridade.
( ) Reprojetar o pipeline variando o número de estágios.
( ) Otimizar o código gerado ativando opções de otimização do compilador.
Marque a opção que corresponda à sequência correta.
a.S; S; N; N.
b.S; S; N; S.
c.N; S; N; N.
d.N; S; N; S.
e.S; N; N; S.
Soluções para a tarefa
Olá, amigo(a)!
A alternativa que responde a sua questão é a letra D. Vamos entender o porquê:
As arquiteturas pipeline criam um paralelismo parcial entre as instruções, o que permite um desempenho de execução de 1 instrução por ciclo (1 IPC – Instruction Per Cycle). Para aumentar o desempenho de uma arquitetura, pode-se fazer o seguinte:
- Superpipelining: quando a pipeline possui muitos dos estágios, eles podem operar em um tempo menor que a metade de um ciclo de clock.
- Superescalaridade: execução de múltiplas instruções escalares simultaneamente. Para isso, múltiplas unidades funcionais são necessárias, e consequentemente, múltiplos pipelines estarão operando em paralelo.
- Very Long Instruction Word (VLIW): empacotamento de várias instruções para que sejam despachadas simultaneamente. É preciso que o compilador seja acionado, gerenciando as pendências e utilização dos recursos de hardware.
Espero ter ajudado!
Boa sorte!