Rapid Execution Engine

Todo processador atual é dividido em dois componentes básicos, as unidades de execução de inteiros e as unidades de ponto flutuante (FPU). A parte que processa as instruções envolvendo números inteiros é responsável pela maior parte das instruções e
pelo desempenho do processador nos aplicativos do dia-a-dia, enquanto as unidades de ponto flutuante são as responsáveis pelo processamento das instruções envolvendo valores complexos, usadas por jogos e aplicativos gráficos.

O “Rapid Execution Engine” do Pentium 4 consiste num reforço nas unidades de inteiros do processador. O Pentium 4 possui um total de 3 unidades de processamento de inteiros, duas ALUs, que processam as instruções mais simples e uma terceira ALU,
encarregada de decodificar e processar as instruções complexas que, embora em menor quantidade, são as que tomam mais tempo do processador.

Esse conjunto de 3 unidades de execução de inteiros é semelhante ao do Pentium III, porém, como diferencial, no Pentium 4 tanto as duas ALUs encarregadas das instruções simples quanto as duas GLUs encarregadas das leituras e gravações executam duas
instruções por ciclo, de forma que, em um Willamette de 2.0 GHz, elas atingem uma freqüência efetiva de nada menos que 4.0 GHz.

Este é um recurso que na teoria parece maravilhoso, mas existe um pequeno detalhe que elimina boa parte do ganho que seria de se esperar deste esquema. Apesar das duas ALUs de instruções simples terem ficado mais rápidas, visando justamente compensar a
perda de desempenho trazida pelos 20 estágios de pipeline do Pentium 4, a ALU de instruções complexas não teve a mesma evolução. Isto significa que ao passar a usar 20 estágios de pipeline, a terceira ALU tornou-se mais lenta que a do Pentium III.

Temos então um cenário onde as instruções simples são rapidamente processadas, mas as instruções complexas ficam entaladas na vala comum da terceira ALU, causando uma grande perda de desempenho.

No coprocessador aritmético o cenário é ainda mais complicado, pois apesar das unidades de execução terem perdido desempenho devido ao pipeline de 20 estágios, não houve nenhum avanço para equilibrar a balança, como tivemos nas unidades de inteiros.
Pelo contrário, o coprocessador aritmético encolheu, pois foram podadas duas das unidades de execução, uma das que processava instruções MMX e uma das que processava instruções SSE.

Ao invés de evoluir, como seria de se esperar, o coprocessador aritmético do Pentium 4 tornou-se ainda mais frágil do que o do Pentium III, trazendo um cenário no mínimo curioso. Enquanto na época do Pentium II e do K6 a AMD competia com um processador
que, apesar de possuir um bom desempenho em aplicativos de escritório, era literalmente massacrado nos jogos e aplicativos gráficos, tivemos com o Pentium 4 x Athlon um cenário semelhante, porém com os lados invertidos: a Intel atacava com um processador
potente em inteiros, mas fraco em ponto flutuante.

Ironicamente, a solução da Intel para tentar diminuir a deficiência do processador em ponto flutuante foi a mesma que a AMD usou na época do K6-2. Lembra-se do 3D-Now, as instruções incorporadas ao K6-2, que melhoravam seu desempenho nos jogos
otimizados? A Intel optou por seguir exatamente o mesmo caminho, incorporando 144 novas instruções ao Pentium 4, chamadas de SSE2 que visam melhorar seu desempenho em jogos e aplicativos gráficos.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X