1
resposta

Processadores Moderno

O professor informou que em certo ponto de melhoria o processador poderia fazer duas instruções simultaneamente em um mesmo núcleo, ou seja duas etapas de busca ao mesmo tempo isso de acordo com a imagem.

O pipeline cria uma esteira de operações, ele não executa nenhuma das operações simultaneamente exceto se tiver vários núcleos. Foi dado um exemplo a onde, se um instrução está na etapa de busca a outra se for uma operação matemática poderiam mandar a ULA que está livre executar, mas se o principio do processar é sincronizar as operações isso não estaria indo contra,?.

1 resposta

Olá, Saulo! Entendo que a ideia de execução simultânea de instruções em um único núcleo de processador possa parecer um pouco confusa. Vamos tentar esclarecer isso um pouco.

O conceito que o professor está explicando é chamado de "pipeline". Imagine que o processador é uma linha de montagem com três etapas: buscar, decodificar e executar. Em um modelo sem pipeline, cada instrução passa por essas três etapas uma após a outra. Então, se tivermos três instruções, teríamos que passar nove etapas (3 instruções x 3 etapas) para concluir todas as instruções.

Agora, com o pipeline, assim que a primeira instrução passa da etapa de busca para a etapa de decodificação, a próxima instrução já pode entrar na etapa de busca. Isso significa que podemos ter três instruções em diferentes etapas ao mesmo tempo. Portanto, em vez de termos nove etapas para concluir as três instruções, agora temos apenas cinco etapas (2 etapas para a primeira instrução + 2 etapas para a segunda instrução + 1 etapa para a terceira instrução).

No entanto, você está correto em apontar que isso pode parecer ir contra o princípio de sincronização das operações. O que acontece é que a sincronização ainda está acontecendo, mas agora está ocorrendo em um nível mais granular. Em vez de sincronizar a execução completa de cada instrução, estamos sincronizando cada etapa individual dentro de cada instrução.

Espero que isso ajude a esclarecer a sua dúvida. Lembre-se, a ideia do pipeline é como uma linha de montagem, onde diferentes partes de um produto são montadas simultaneamente em diferentes estágios da linha. No caso do processador, as "partes" são as etapas de buscar, decodificar e executar, e o "produto" é a instrução completa.

Espero ter ajudado e bons estudos!