Pentium Pro

Até aqui, apresentei os processadores numa ordem mais ou menos cronológica (ok, nem tão cronológica assim :-), mas acabei abrindo uma exceção para o Pentium Pro. Na verdade, este processador foi lançado bem antes do MMX, sendo praticamente um contemporâneo do Pentium Clássico.

Porém, a arquitetura usada no Pentium Pro foi usada como base para o Pentium II e o Pentium III, assim como para o Xeon e o Celeron, processadores que examinaremos com detalhes mais adiante.

O Pentium Pro foi desenvolvido para competir no mercado de máquinas de alto desempenho, equipando Workstations e servidores. Apesar de usar um pouco da tecnologia do Pentium, o Pentium Pro é um projeto quase que totalmente novo, trazendo brutais alterações na arquitetura. Entre as inovações trazidas pelo Pentium Pro, podemos destacar a arquitetura superescalar com três canalizações, o suporte a multiprocessamento com até 4 processadores trabalhando em paralelo e o cache L2 integrado ao processador. O barramento de endereços do Pentium Pro também foi ampliado, de 32 para 36 bits, permitindo ao Pentium Pro endereçar até 64 GB de memória (2 elevado à 36º).

Pode parecer um exagero, afinal, mesmo hoje em dia dificilmente um PC tem mais de 256 ou 512 MB de memória. Mas, muitos servidores de alto desempenho usam muito mais memória do que isto, chegando à casa de alguns terabytes em alguns supercomputadores.

Toda esta memória RAM permite executar simulações complexas e cálculos inimagináveis. Se não fosse este tipo de equipamento, a previsão do tempo não seria tão precisa :-)

Três unidades de execução: Enquanto o Pentium pode processar até duas instruções simultaneamente, o Pentium Pro possui três unidades de execução, o que permite processar até três instruções por ciclo.

Mas, as coisas não são tão simples quanto parecem, pois os programas continuam esperando por um processador capaz de executar uma única instrução por ciclo, como um 486. Apenas de alguns anos pra cá é que os aplicativos comerciais começaram a ser otimizados para a arquitetura do Pentium Pro (e consequentemente também para o Pentium III, Celeron e Athlon, que tem um funcionamento semelhante). O Linux leva uma certa vantagem neste aspecto, pois é possível, a qualquer momento recompilar o Kernel do sistema para otimiza-lo para qualquer processador, garantindo um desempenho bastante superior.

Novos problemas, novas soluções. Para garantir que as outras duas unidades de execução não acabassem ociosas na maior parte do tempo foi incluído também o recurso de execução de instruções fora de ordem.

Caso chegue ao processador uma instrução como "Se X >10, então Y = X + 2, senão Y = X + 5" onde as próximas instruções dependem da resolução da primeira, a unidade de controle vasculhará o código do programa em busca de instruções que possam ser executadas antecipadamente. Através deste recurso, enquanto uma das canaletas se ocupa em resolver o primeiro problema, as demais podem se dedicar a resolver as instruções seguintes, ganhando tempo. Caso não seja possível localizar nenhuma instrução que possa ser "adiantada", entra em cena o recurso de execução especulativa, tomando um dos caminhos possíveis. Não é tão vantajoso, pois existe uma grande chance do processador tomar o caminho errado, e ter de recomeçar o trabalho quando perceber o erro, mas é melhor do que não fazer nada enquanto a condição está sendo processada.

Cache L2 integrado: O engenheiro da Intel que inventou a multiplicação de clock deve ter ganho vários prêmios, afinal, este recurso foi um dos fatores que possibilitaram as frequências assombrosas dos processadores atuais. Mas, este recurso também tem seus efeitos colaterais. Um deles, notado até mesmo num 486, é a lentidão do cache L2, pois como ele tradicionalmente se localizava na placa mãe, tinha sua freqüência de operação limitada à velocidade da placa, ou seja, apenas 33, 66 ou 100 MHz, muito mais lento que o processador.

Tínhamos então um gargalo, pois frequentemente os poucos dados gravados no cache L1 se esgotavam, fazendo com que o processador precisasse perder vários ciclos esperando que novos dados fossem entregues pelo cache L2.

Para solucionar este problema, a Intel resolveu integrar o cache L2 ao Pentium Pro, criando também um novo barramento, batizado de "Backside Bus" dedicado unicamente à comunicação entre o núcleo do processador e o cache L2. O uso de um barramento separado, permite que o cache opere na mesma freqüência do processador, independentemente da velocidade da placa mãe, trazendo a vantagem adicional de permitir o acesso simultâneo à memória RAM, já que temos dois barramentos distintos.

Mesmo com o cache L2 trabalhando na mesma freqüência do processador, o cache L1 continua sendo necessário, pois apesar dos dois caches operarem na mesma freqüência, o barramento de dados do cache L1 é bem maior, o que permite taxas de transferências muito mais altas. O tempo de resposta do L1 também é menor, pois além de nele serem usadas memórias mais rápidas, a distância física a ser percorrida pelo sinal será sempre muito menor, já que o L1 faz parte do núcleo do processador.

Justamente devido ao cache, o Pentium Pro era muito difícil de produzir, pois a complexidade do cache L2 resultava em uma alta taxa de defeitos de fabricação. Como no Pentium Pro o cache L2 está embutido no mesmo invólucro do processador, um defeito no cache L2 condenava todo o processador à lata de lixo. Os problemas de fabricação contribuíam para tornar o Pentium Pro ainda mais caro.

Apesar de compartilhar o mesmo invólucro do processador, o cache L2 do Pentium Pro é formado por um chip separado. Isso permitiu que a Intel lançasse várias versões do Pentium Pro, equipadas com quantidades variadas de cache. Existiram três versões, com 256 KB, 512 KB e 1 MB de cache. O preço claro, crescia exponencialmente junto como cache, por isso os de 256 KB foram praticamente os únicos a serem comercializados em PCs domésticos e Workstations.

Quanto à frequência de operação, existiram apenas duas versões, de 166 MHz e 200 MHz. A limitação básica não foi a arquitetura do processador, mas sim o cache. Na época, a Intel tinha condições de lançar versões bem mais rápidas, mas não tinha como produzir chips de cache capazes de operar a mais de 200 MHz.

Multiprocessamento: O Pentium Pro permite o uso de até 4 processadores na mesma placa mãe. Neste caso, as regras são as mesmas do multiprocessamento no Pentium, sendo necessária uma placa mãe especial e um sistema operacional com suporte ao multiprocessamento.

Apesar deste recurso não ser muito útil para um usuário doméstico, ele permitiu o desenvolvimento de servidores com um desempenho incrível a um custo relativamente baixo, usando o Pentium Pro no lugar de caros processadores RISC topo de linha disponíveis na época.

Os mainframes com 2 ou 4 processadores Pentium Pro apresentavam um desempenho tão bom, graças ao cache rápido, que muitas empresas continuam utilizando-os até hoje, mesmo depois do lançamento de processadores muito mais rápidos.

Soquete 8: Com a grande mudança na arquitetura do processador e o novo encapsulamento, o Pentium Pro deixou de ser compatível com as velhas placas soquete 7 usadas pelos processadores anteriores.

Foi criado então um novo tipo de soquete, batizado de soquete 8, que foi utilizado apenas em placas para processadores Pentium Pro. Estas placas são naturalmente incompatíveis com o Pentium, MMX, K6, etc.

Para permitir o uso de todos os novos recursos trazidos pelo Pentium Pro, foi criado também o chipset i440FX, que equipa a maioria das placas mãe para Pentium Pro.

O soquete 8 é bem maior do que o soquete 7 utilizado pelo Pentium clássico e similares, e possui também uma pinagem diferenciada que impede que o processador seja encaixado ao contrário. Como no Pentium Pro o cache L2 é integrado ao processador, as placas para ele não possuem cache algum.


Asus P6NP5

Arquitetura otimizada para instruções de 32 bits: O Pentium Pro pode ser considerado um processador Post-RISC, pois basicamente o processador é composto por um núcleo formado por 3 processadores RISC (as três unidades de execução de instruções) e três decodificares, com a função de converter as instruções x86 usadas pelos programas em instruções mais simples, que possam ser processadas pelo núcleo RISC. Instruções simples, como operações de soma e atribuição, podem ser convertidas em uma única instrução RISC, enquanto instruções mais complexas precisam ser quebradas em várias instruções simples, precisando então de vários ciclos para serem processadas.

Este esquema funciona muito bem com instruções de modo protegido (32 bits), mas o decodificador do Pentium Pro possui uma certa dificuldade para trabalhar com instruções de modo real (16 bits), que acabam sendo decodificadas em muitas instruções RISC, demorando muito mais para serem processadas.

Rodando sistemas operacionais de 32 bits, como o Windows NT, Windows 2000, OS/2, Linux e UNIX, o Pentium Pro apresenta um desempenho bastante superior ao Pentium Clássico. Porém, rodando sistemas de modo real, como o MS-DOS, ou híbridos, como o Windows 95/98, mesmo com o cache mais rápido, o Pentium Pro acaba apresentando um desempenho equivalente, ou até mesmo um pouco mais baixo que um Pentium comum.

No caso de servidores, esta não chegava a ser uma limitação, pois, invariavelmente estas máquinas rodavam versões do Unix, Netware ou Windows NT, sempre sistemas de 32 bits. Os usuários domésticos porém, acabaram sendo penalizados pelo fraco desempenho do Pentium Pro rodando o Windows 95/98, sistemas que ainda possuem muito código de 16 bits.

Para uso doméstico, não faria muito sentido o uso de um Pentium Pro. Porém, num servidor, o cache L2 funcionando na mesma velocidade do processador faz muita diferença, pois o processamento de dados nestas máquinas é muito repetitivo, tanto que, mesmo com o surgimento do Pentium II (onde o cache L2 apesar de ser de 512 KB funciona a apenas metade da velocidade do processador) muitos ainda preferiram continuar usando o Pentium Pro, pois além do cache, ele oferece recursos interessantes para uma máquina servidora, como a possibilidade de usar até quatro processadores em paralelo (o Pentium II é limitado a dois processadores), além da maior quantidade de memória suportada, recursos que só foram superados pelo Xeon, o atual processador Intel destinado a servidores, que traz uma quantidade maior de cache L2, e já encarnou na forma de versões especiais do Pentium II, Pentium III e agora do Pentium 4.


Crie um site gratuito Webnode