Qual é a diferença entre processadores escalares e superscalares?
Existem diferentes tipos de unidades de processamento central (CPUs) disponíveis para computadores. Esses tipos de CPUs realmente não diferem em termos de hardware e arquitetura de processamento. A maioria deles executa as tarefas básicas de uma CPU, como ler e gravar dados, aritmética básica e salto de endereço. Eles podem, no entanto, diferir em termos de tamanho de barramento e arquitetura do processador. Vários tipos de hardware de processador de computador estão disponíveis, dois dos quais são os processadores escalar e superescalar.
Um processador que executa dados escalares é chamado de processador escalar. Usando operandos de ponto fixo, instruções inteiras são executadas por processadores escalares, mesmo em seu estado mais simples. Processadores escalares mais poderosos geralmente executam operações de ponto flutuante e número inteiro. Os processadores escalares produzidos recentemente contêm uma unidade de ponto flutuante e uma unidade inteira, todos no mesmo chip da CPU. A maioria desses processadores escalares modernos usa instruções do tipo 32 bits.
O processador superescalar, por outro lado, executa várias instruções por vez devido ao seu número múltiplo de pipelines. Essa estrutura da CPU implementa o paralelismo em nível de instrução, que é uma forma de paralelismo no hardware do computador, dentro de um único processador. Isso significa que pode permitir uma taxa de transferência rápida da CPU, que nem sequer é remotamente possível em outros processadores que não implementam paralelismo no nível de instruções. Em vez de executar uma instrução por vez, um processador superescalar usa suas unidades funcionais redundantes na execução de várias instruções. Essas unidades funcionais não são núcleos de CPU separados, mas os recursos de extensão de uma única CPU, como multiplicadores, shifters de bits e unidades lógicas aritméticas (ALUs).
As diferenças entre processadores escalares e superescalares geralmente se resumem a quantidade e velocidade. Um processador escalar, considerado o mais simples de todos os processadores, funciona em um ou dois itens de dados do computador em um determinado momento. O processador superescalar trabalha com várias instruções e vários grupos de vários itens de dados por vez. Os processadores escalar e superescalar funcionam da mesma maneira em termos de como eles manipulam dados, mas sua diferença está em quantas manipulações e itens de dados eles podem trabalhar em um determinado momento. Os processadores superescalares podem lidar com várias instruções e itens de dados, enquanto o processador escalar simplesmente não pode, tornando o primeiro um processador mais poderoso que o último.
Os processadores escalar e superescalar têm algumas semelhanças com os processadores vetoriais. Como um processador escalar, um processador vetorial também executa uma única instrução de cada vez, mas, em vez de apenas manipular um item de dados, sua única instrução pode acessar vários itens de dados. Semelhante ao processador superescalar, um processador vetorial possui várias unidades funcionais redundantes que permitem manipular vários itens de dados, mas só pode funcionar com uma única instrução de cada vez. Em essência, um processador superescalar é uma combinação de um processador escalar e um processador vetorial.