Paralelismo
Um processador superescalar é aquele no qual são usadas várias pipelines de instrução independentes. Cada pipeline tem diversos estágios, podendo manipular várias instruções a cada instante. O uso de várias pipelines introduz um novo nível de paralelismo, possibilitando processar diversos fluxos de instrução de cada vez. Um processador superescalar explora o que é conhecido como paralelismo no nível de instrução, que diz respeito ao nível em que instruções de um programa podem ser executadas em paralelo. Se os dados de entrada de uma instrução dependem da saída produzida por uma instrução precedente, a execução dessa instrução não pode ser completada antes ou ao mesmo tempo que a execução da instrução da qual ela depende. Uma vez que essas dependências de dados sejam identificadas, o processador pode executar e completar instruções em uma ordem diferente da que ocorre no código de máquina original. Computação paralela é uma forma de computação em que vários cálculos são realizados simultaneamente, operando sob o princípio de que grande problemas geralmente podem ser divididos em problemas menores, que então são resolvidos concorrentemente(em paralelo). Existem diferentes formas de computação paralela: em bit, instrução, de dado ou de tarefa. A técnica de paralelismo já é empregada por vários anos, principalmente na computação de alto desempenho, mas recentemente o interesse no tema cresceu devido às limitações físicas que previnem o aumento de frequência de processamento. Com o aumento da preocupação do consumo de energia dos computadores, a computação paralela se tornou o paradigma dominante nas arquitetura de computadores sob forma de processadores multinúcleo. Uma abordagem alternativa para obter maior desempenho é conhecida como superpipeline. A técnica explora o fato de que muitos dos estágios de uma pipeline desempenham tarefas que requerem um tempo menor que a metade de um ciclo de relógio. Tipos de Paralelismo Nível de instruções: um único