Pipeline aumenta a quantidade de instruções executando simultaneamente no processador. Hazards (perigos) podem afetar o desempenho, podendo ser causados por conflitos no uso de recursos, por dependência de dados entre instruções ou por previsão incorreta de desvios. No que se refere a hazards em pipelines, assinale a alternativa correta.
- A. Forward (adiantamento) é um mecanismo que permite buscar um dado em qualquer estágio do pipeline para o estágio de execução (ULA unidade lógico-aritmética), evitando bloqueio do pipeline devido à espera de o dado desejado ser escrito como resultado no registrador destino.
- B. Se houver dependência de um dado que é escrito como registrador destino nas duas instruções que antecedem a instrução que se encontra no estágio de execução (ULA unidade lógico-aritmética), o dado em questão deve ser buscado do estágio de memória e não do de escrita de resultado (write-back).
- C. A dependência de um dado por um valor lido da memória na instrução anterior exige forward (adiantamento) do estágio de memória para o de execução.
- D. A penalidade por erro na previsão de desvios pode ser reduzida trazendo o teste de igualdade de registradores do estágio de execução para o primeiro estágio do pipeline.
- E. Forward (adiantamento) é equivalente ao uso de nops (instruções sem operação) entre a instrução que produz o dado e a que o utiliza.