Oi, Pedro! Tudo bem?
A ideia de que a Unidade Lógica Aritmética (ULA) está "aguardando" enquanto o processador busca informações na memória RAM é porque, em um processador sem pipeline, cada etapa do ciclo de instrução (buscar, decodificar, executar) é feita uma após a outra. Ou seja, a ULA só começa a executar uma instrução depois que ela foi buscada e decodificada, e enquanto isso, a ULA fica em estado de espera.
No entanto, com a introdução do conceito de pipeline, essas etapas podem ser realizadas simultaneamente para diferentes instruções. Isso é semelhante ao exemplo da lavanderia mencionado no texto: enquanto uma remessa de roupas está sendo lavada, outra remessa pode estar sendo secada, otimizando o tempo e o uso dos recursos.
Quando falamos em duplicar uma Pipeline, estamos nos referindo a duplicar os componentes do processador que realizam essas etapas, permitindo que duas instruções sejam buscadas, decodificadas e executadas ao mesmo tempo. Isso é possível através da criação de um processador Dual-Core, que possui dois núcleos, cada um com sua própria ULA, Unidade de Controle e Registradores de Núcleo.
Nesse caso, cada núcleo pode buscar, decodificar e executar uma instrução simultaneamente, de forma independente do outro núcleo. Isso é como se tivéssemos duas linhas de montagem funcionando ao mesmo tempo, cada uma processando uma instrução diferente.
Portanto, não é que cada passo é repetido duas vezes, mas sim que cada passo é realizado duas vezes simultaneamente, cada um em um núcleo diferente. E sim, duas informações são buscadas de uma vez, cada uma em um núcleo diferente.
Espero ter ajudado! Caso tenha ficado alguma dúvida, sinta-se à vontade em comunicar, estou à disposição!
Um forte abraço e bons estudos!
Caso este post tenha te ajudado, por favor, marcar como solucionado ✓