Processador Superescalar: Arquitetura, Pipelining, Tipos e Suas Aplicações

Experimente Nosso Instrumento Para Eliminar Problemas





Neste mundo, todos querem fazer suas coisas/trabalhos em jejum. não é? De carros a máquinas industriais e domésticas, todos querem que eles trabalhem mais rápido. Você sabe o que está dentro dessas máquinas fazendo-as funcionar? Eles são processadores . Eles podem ser micro ou macro processadores, dependendo da funcionalidade. O processador básico em geral executa uma instrução por ciclo de clock. De forma a melhorar a sua velocidade de processamento para que as máquinas possam melhorar a sua velocidade surgiu é, o processador superescalar que possui algoritmo de pipelining para permitir a execução de duas instruções por ciclo de clock. Foi inventado pela primeira vez pelo CDC 6600 de Seymour Cray, inventado em 1964 e posteriormente aprimorado por Tjaden & Flynn em 1970.


O primeiro microprocessador superescalar de chip único comercial MC88100 foi desenvolvido pela Motorola em 1988, mais tarde a Intel apresentou sua versão I960CA em 1989 e o AMD 29000-série 29050 em 1990.  Atualmente, o processador superescalar típico usado é o processador Intel Core i7 dependendo a microarquitetura Nehalem.



Mesmo assim, as implementações do superescalar estão caminhando para aumentar a complexidade. O design desses processadores normalmente se refere a um conjunto de métodos que permitem que a CPU de um computador atinja uma taxa de transferência acima de uma instrução para cada ciclo enquanto executa um único programa sequencial. Vamos ver ainda neste artigo a arquitetura do processador SuperScalar que reduz seu tempo de execução e suas aplicações.

O que é processador superescalar?

Um tipo de microprocessador usado para implementar um tipo de paralelismo conhecido como paralelismo em nível de instrução em um único processador para executar mais de uma instrução durante um ciclo CLK despachando simultaneamente várias instruções para unidades de execução especial no processador. UMA processador escalar executa uma única instrução para cada ciclo de clock; um processador superescalar pode executar mais de uma instrução durante um ciclo de clock.



As técnicas de projeto do superescalar normalmente compreendem renomeação de registradores paralelos, decodificação de instruções paralelas, execuções fora de ordem e execução especulativa. Portanto, esses métodos são normalmente usados ​​com métodos complementares de design, como pipelining, previsão de ramificação, cache e multinúcleo nos designs atuais de microprocessadores.

  Processador superescalar
Processador superescalar

Recursos

Os recursos dos processadores superescalares incluem o seguinte.

  PCBWay
  • A arquitetura superescalar é uma técnica de computação paralela utilizada em vários processadores.
  • Em um computador superescalar, a CPU gerencia vários pipelines de instrução para executar várias instruções simultaneamente durante um ciclo de clock.
  • Arquiteturas superescalares incluem todos canalização recursos, embora existam várias instruções em execução simultaneamente no mesmo pipeline.
  • Os métodos de projeto superescalar normalmente compreendem renomeação de registradores paralelos, decodificação de instruções paralelas, execução especulativa e execução fora de ordem. Portanto, esses métodos são normalmente usados ​​com métodos de design complementares, como cache, pipelining, previsão de ramificação e multi-core em projetos recentes de microprocessadores.

Arquitetura do Processador Superescalar

Sabemos que um processador superescalar é uma CPU que executa acima de uma instrução para cada ciclo CLK porque as velocidades de processamento são simplesmente medidas em ciclos CLK para cada segundo. Comparado a um processador escalar, este processador é muito mais rápido.

A arquitetura do processador superescalar inclui principalmente unidades de execução paralela onde essas unidades podem implementar instruções simultaneamente. Então, primeiro, essa arquitetura paralela foi implementada em um processador RISC que utiliza instruções simples e curtas para executar cálculos. Então, devido às suas habilidades superescalares, normalmente RISCO os processadores tiveram um desempenho melhor em comparação com os processadores CISC que funcionam no mesmo megahertz. Mas a maioria CISC processadores agora como o Intel Pentium também compreendem alguma arquitetura RISC, o que lhes permite executar instruções em paralelo.

  Arquitetura do Processador Superescalar
Arquitetura do Processador Superescalar

O processador superescalar é equipado com várias unidades de processamento para lidar com várias instruções em paralelo em cada estágio de processamento. Ao usar a arquitetura acima, várias instruções iniciam a execução em um ciclo de clock semelhante. Esses processadores são capazes de obter uma saída de execução de instrução da instrução acima para cada ciclo.

No diagrama de arquitetura acima, um processador é usado com duas unidades de execução onde uma é usada para número inteiro e outra é usada para as operações de ponto flutuante. A unidade de busca de instruções (IFU) é capaz de ler instruções por vez e armazená-las na fila de instruções. Em cada ciclo, a unidade de despacho busca e decodifica até 2 instruções da frente da fila. Se houver um único inteiro, uma única instrução de ponto flutuante e nenhum perigo, ambas as instruções serão despachadas em um ciclo de clock semelhante.

Pipelining

Pipelining é o procedimento de dividir tarefas em subetapas e executá-las em diferentes partes do processador. No pipeline superescalar a seguir, duas instruções podem ser buscadas e despachadas por vez para completar no máximo 2 instruções por ciclo. A arquitetura de pipelining no processador escalar e no processador superescalar é mostrada abaixo.

As instruções em um processador superescalar são emitidas a partir de um fluxo de instruções sequenciais. Ele deve permitir várias instruções para cada ciclo de clock e a CPU deve verificar dinamicamente as dependências de dados entre as instruções.

Na arquitetura de pipeline abaixo, F é buscado, D é decodificado, E é executado e W é registro reescrito. Nesta arquitetura de pipeline, I1, I2, I3 e I4 são instruções.

A arquitetura de pipeline do processador escalar inclui um único pipeline e quatro estágios de busca, decodificação, execução e gravação do resultado. No processador escalar de pipeline único, o pipeline na instrução1 (I1) funciona como; no primeiro período de clock I1 ele irá buscar, no segundo período de clock ele irá decodificar e na segunda instrução, I2 irá buscar. A terceira instrução I3 no terceiro período de clock será buscada, I2 será decodificada e I1 será executada. No quarto período do clock, I4 irá buscar, I3 irá decodificar, I2 irá executar e I1 irá escrever na memória. Assim, em sete períodos de clock, ele executará 4 instruções em um único pipeline.

  Pipelining escalar
Pipelining escalar

A arquitetura de pipeline do processador superescalar inclui dois pipelines e quatro estágios de busca, decodificação, execução e gravação de resultados. É um processador superescalar de 2 edições, o que significa que, ao mesmo tempo, duas instruções serão buscadas, decodificadas, executadas e escritas como resultado. As duas instruções I1 e I2 irão, ao mesmo tempo, buscar, decodificar, executar e escrever de volta em cada período de clock. Simultaneamente, no próximo período de clock, as duas instruções restantes I3 e I4 buscarão, decodificarão, executarão e escreverão de volta. Assim, em cinco períodos de clock, ele executará 4 instruções em um único pipeline.

  Pipelining superescalar
Pipelining superescalar

Assim, um processador escalar emite uma única instrução por ciclo de clock e executa um único estágio de pipeline por ciclo de clock, enquanto um processador superescalar emite duas instruções por ciclo de clock e executa duas instâncias de cada estágio em paralelo. Portanto, a execução de instruções em um processador escalar leva mais tempo, enquanto em um superescalar leva menos tempo para executar as instruções .

Tipos de processadores superescalares

Estes são diferentes tipos de processadores superescalares disponíveis no mercado, que são discutidos abaixo.

Processador Intel Core i7

O Intel Core i7 é um processador superescalar baseado na microarquitetura Nehalem. Em um projeto Core i7, existem vários núcleos de processador onde cada núcleo de processador é um processador superescalar. Esta é a versão mais rápida do processador Intel usada em computadores e dispositivos de consumo. Semelhante ao Intel Corei5, este processador está embutido na tecnologia Intel Turbo Boost. Este processador está disponível em 2 a 6 variedades que suportam até 12 threads diferentes ao mesmo tempo.

  Processador Intel Core i7
Processador Intel Core i7

Processador Intel Pentium

A arquitetura de pipeline superescalar do processador Intel Pentium significa que a CPU executa um mínimo de duas ou mais instruções para cada ciclo. Este processador é amplamente utilizado em computadores pessoais. Dispositivos de processador Intel Pentium são normalmente construídos para uso online, computação em nuvem e colaboração. Portanto, este processador funciona perfeitamente para tablets e Chromebooks para fornecer forte desempenho local e interações on-line eficientes.

  Processador Intel Pentium
Processador Intel Pentium

IBM Power PC601

O processador superescalar como o IBM power PC601 é da família de microprocessadores PowerPC de RISC. Este processador é capaz de emitir e retirar três instruções para cada clock e uma para cada uma das 3 unidades de execução. As instruções estão totalmente fora de ordem para melhorar o desempenho; mas, o PC601 fará com que a execução surja em ordem.

  IBM Power PC601
IBM Power PC601

O processador Power PC601 fornece endereços lógicos de 32 bits, tipos de dados inteiros de 8, 16 e 32 bits e tipos de dados de ponto flutuante de 32 e 64 bits. Para a implementação do PowerPC de 64 bits, a arquitetura deste processador fornece tipos de dados inteiros baseados em 64 bits, endereçamento e outros recursos necessários para completar a arquitetura baseada em 64 bits.

MC 88110

O MC 88110 é um microprocessador RISC de chip único de segunda geração que utiliza métodos avançados para explorar o paralelismo em nível de instrução. Este processador usa vários caches on-chip, problemas de instrução superescalar, gravação de instrução dinâmica limitada e execução especulativa, para alcançar o desempenho máximo, de modo que seja idealmente usado como um processador central em PCs e estações de trabalho de baixo custo.

  MC 88000
MC 88000

Intel i960

O Intel i960 é um processador superescalar capaz de executar e despachar várias instruções independentes durante cada ciclo de clock do processador. Este é um microprocessador baseado em RISC que se tornou muito famoso como um microcontrolador embarcado durante o início dos anos 90. Este processador é usado continuamente em algumas aplicações militares.

  Intel i960
Intel i960

MIPS R

O MIPS R é um microprocessador dinâmico e superescalar usado para executar a arquitetura do conjunto de instruções MIPS de 64 bits. Este processador busca e decodifica 4 instruções para cada ciclo e as emite para cinco unidades de execução completamente em pipeline e de baixa latência. Este processador é especialmente projetado para aplicativos de alto desempenho, grandes e do mundo real com localidade de memória ruim. Com execução aproximada, ele simplesmente calcula endereços de memória. Os processadores MIPS são usados ​​principalmente em vários dispositivos como Nintendo Gamecube, linha de produtos da SGI, Sony Playstation 2, roteadores PSP e Cisco.

  MIPS R
MIPS R

Diferença P/B Superescalar Vs Pipelining

A diferença entre superescalar e pipelining é discutida abaixo.

superescalar

Pipelining

Um superescalar é uma CPU, usada para implementar uma forma de paralelismo chamada paralelismo em nível de instrução em um único processador. Uma técnica de implementação como pipelining é usada onde várias instruções são sobrepostas na execução.
Uma arquitetura superescalar inicia várias instruções simultaneamente e as executa separadamente. A arquitetura de pipeline executa um único estágio de pipeline apenas para cada ciclo de clock.

Esses processadores dependem do paralelismo espacial. Depende do paralelismo temporal.
Várias operações são executadas simultaneamente em hardware separado. Sobreposição de várias operações em hardware comum.
Isso é obtido pela duplicação de recursos de hardware, como portas de arquivos de registro e unidades de execução. É alcançado por unidades de execução com pipelines mais profundos com ciclos CLK muito rápidos.

Características

o características do processador superescalar inclui o seguinte.

  • Um processador superescalar é um modelo de superpipeline onde simplesmente as instruções independentes são executadas em série sem nenhuma situação de espera.
  • Um processador superescalar busca e decodifica ao mesmo tempo várias instruções do fluxo de instruções de entrada.
  • A arquitetura dos processadores superescalares explora o potencial do paralelismo em nível de instrução.
  • Os processadores superescalares emitem principalmente a instrução única acima para cada ciclo.
  • O não. de instruções emitidas depende principalmente das instruções dentro do fluxo de instruções.
  • As instruções são frequentemente reordenadas para se adequarem melhor à arquitetura do processador.
  • O método superescalar geralmente está associado a algumas características de identificação. As instruções são normalmente emitidas a partir de um fluxo de instrução sequencial.
  • A CPU verifica dinamicamente as dependências de dados entre as instruções em tempo de execução.
  • A CPU executa várias instruções para cada ciclo de clock.

Vantagens e desvantagens

o vantagens do processador superescalar inclui o seguinte.

  • Um processador superescalar implementa paralelismo em nível de instrução em um único processador.
  • Esses processadores são feitos simplesmente para executar qualquer conjunto de instruções.
  • O processador superescalar, incluindo previsão de ramificação de execução fora de ordem e execução especulativa, pode simplesmente encontrar paralelismo acima de vários blocos básicos e iterações de loop.

o Desvantagens do processador superescalar inclui o seguinte.

  • Processadores superescalares não são muito usados ​​em pequenos sistemas embarcados devido ao consumo de energia.
  • O problema com agendamento pode acontecer nesta arquitetura.
  • O processador superescalar aumenta o nível de complexidade no projeto de hardware.
  • As instruções neste processador são simplesmente buscadas com base em sua ordem de programa sequencial, mas esta não é a melhor ordem de execução.

Aplicações do processador superescalar

As aplicações de um processador superescalar incluem o seguinte.

  • A execução superescalar é freqüentemente usada por um laptop ou desktop. Esse processador simplesmente examina o programa em execução para descobrir conjuntos de instruções que podem ser executadas como uma só.
  • Um processador superescalar inclui várias cópias de hardware de caminho de dados que executam várias instruções de uma só vez.
  • Este processador é projetado principalmente para gerar uma velocidade de implementação acima de uma instrução para cada ciclo de clock para um único programa sequencial.

Assim, trata-se de tudo uma visão geral do processador superescalar – arquitetura, tipos e aplicações. Aqui está uma pergunta para você, o que é o processador escalar?