Parte 2

Por:

O 8086 foi lançado em 79, doze anos antes do Pentium MMX, lançado em 97. Doze anos na indústria de semicondutores, corresponde a 3 ou 4 gerações de processadores, uma eternidade.

Mas, de 97 pra cá, as coisas começaram a avançar ainda mais rápido. Em parte por causa da concorrência entre a Intel, AMD, Cyrix, a novata Transmeta e até empresas como a IBM e a Motorola, que também fabricam chips, apesar de não diretamente para o mercado de PCs.

Outro fator importante é o aumento no número de processadores vendidos. Na década de 70, os poucos computadores pessoais que podiam ser encontrados à venda, eram produzidos quase que artesanalmente e vendiam algumas centenas de unidades por mês. Hoje em dia, empresas como a Dell vendem milhões de PCs todos os anos. Com este crescimento astronômico, foi natural que os investimentos no desenvolvimento de novos processadores aumentassem na mesma proporção.

Durante a década de 70, uma fábrica de microchips não custava mais do que alguns milhões de dólares. Hoje em dia, uma fábrica capaz de produzir processadores de ponta, não sai por menos de 3 bilhões de dólares. É mais do que o PIB de muitos países.

Apesar tudo, o preço dos processadores vem caindo. Hoje em dia, processadores como o Duron e o Celeron custam menos de 100 dólares por unidade. O desempenho claro, é inferior ao dos processadores topo de linha, que custam 300 ou 400 dólares, mas é muito maior do que tudo o que vimos até agora. No futuro, os processadores se tornarão cada vez mais baratos e terão incorporadas cada vez mais funcionalidades.

É só ver o caso do coprocessador aritmético e da memória cache. Na época do 386, ambos eram espetados na placa mãe, enquanto hoje em dia são componentes “de fábrica” mesmo nos processadores mais simples.

Componentes que hoje são adicionados na forma de placas de expansão ou fazem parte do chipset da placa mãe, como vídeo, som, rede, etc. mais cedo ou mais tarde também serão incorporados aos processadores. Continuarão existindo placas de alto desempenho para quem tiver interesse, mas graças à integração, será possível montar PCs básicos muito mais baratos do que os atuais. Mesmo um processador de baixo custo, como todos estes componentes integrados, será muito mais rápido que um atual.

Não estou falando de mais 12 anos, mas de apenas mais 2 ou 3 anos. As coisas agora estão avançando mais rápido lembra-se? 🙂

Mas, vamos encerrar nosso exercício de futurologia por enquanto. Mais adiante teremos várias outras oportunidades para exercitar nossa imaginação.

Pentium MMX

Não existem muitas diferenças entre o Pentium 1 e o MMX. Como o nome já sugere, a principal modificação foram as instruções MMX, que segundo o marketing feito pela Intel na época, seriam suficientes para aumentar de forma considerável o desempenho do processador em aplicativos que envolvem multimídia.

O problema é que as instruções MMX ajudam apenas em aplicativos otimizados. É necessário que o desenvolvedor altere o código do programa, substituindo as instruções x86 padrão por instruções MMX, recompile e redistribua o programa, um processo que exige muito trabalho e custa dinheiro. Mesmo os programas lançados depois do MMX, nem sempre são otimizados para as novas instruções.

Para não depender apenas das novas instruções, a Intel aumentou o cache L1 do processador, de 16 para 32 KB. Com isto, o MMX passou a ser um pouco mais rápido do que um Pentium 1 da mesma frequência, mesmo nos aplicativos sem otimização. Lembre-se que naquela época o cache L2 do processador ainda fazia parte da placa mãe e operava a apenas 66 MHz. Um cache L1 competente era essencial.

A Intel lançou também, modelos de processadores MMX Overdrive, que podem substituir antigos processadores Pentium de 75, 100 ou 120 MHz com a simples troca do processador. O problema é que estes processadores eram mais caros e difíceis de encontrar, assim como os overdrives anteriores. Novamente uma péssima opção de upgrade, já o overdrive chegava a custar mais caro que um MMX “normal” junto com uma nova placa mãe.

Como funcionam as instruções MMX

O Pentium é um processador que trabalha com palavras binárias de 32 bits. O problema é que muitas vezes é preciso realizar cálculos utilizando dados de 8 ou 16 bits, que são utilizados principalmente por programas de edição de imagem ou som. Pela lógica, seria possível processar quatro palavras de 8 bits ou duas de 16 de cada vez, mas na prática, o processador é capaz de processar apenas um valor de cada de cada vez, independentemente do número de bits. A soma de dois números de 8 bits demora tanto quanto a soma de dois números de 32 bits, simplesmente os bits adicionais do processador não são utilizados.

As instruções MMX, permitem juntar várias palavras binárias de 8 ou 16 bits e transformá-las em uma única palavra maior, que pode ser processada (da mesma maneira que seria processada separadamente utilizando as instruções padrão) usando instruções específicas do conjunto MMX.

Para tornar mais fácil a tarefa de adaptar os programas para utilizar as instruções MMX, a Intel optou por adicioná-las ao processador na forma de uma extensão do coprocessador aritmético. Esta arquitetura traz a vantagem de não exigir praticamente nenhuma alteração no projeto do processador, pois seu funcionamento continua sendo idêntico, apenas sendo “remendado” com as novas instruções.

Um programa antigo, simplesmente ignorará as instruções MMX, e acabará não apresentando nenhum ganho de performance. Para tirar proveito das novas instruções, é preciso que o programador altere o código do programa, alterando suas rotinas para que as instruções MMX sejam utilizadas no lugar das instruções x86 padrão. O ganho de performance real depende da habilidade do programador em detectar onde e como o MMX pode ser usado para tornar a execução do programa mais rápida.

Um golpe de Marketing

Teoricamente, as instruções MMX podem tornar a execução de aplicativos gráficos até 400% mais rápida, já que até 4 palavras de 16 bits poderiam ser processadas de cada vez. Outros aplicativos também poderiam ser muito beneficiados. Na prática porém, os ganhos trazidos pelas instruções MMX são muito menores.

Para começar, apenas algumas das rotinas utilizadas pelos programas podem ser otimizadas, já que a única vantagem trazida pelas instruções MMX é o processamento mais rápido de palavras de 8 ou 16 bits. A maioria das instruções continuam sendo executadas através das instruções x86 padrão. Na prática, apenas 30 ou 40% das instruções executadas pelos processadores de imagens poderiam ser executadas mais rápido, resultando em um ganho de performance em torno de 20 ou 30%.

Trinta por cento de ganho real já não seria uma ganho tão ruim, porém, mais um pequeno problema com as instruções MMX tornam o ganho de desempenho ainda menor.

Como o acesso às instruções MMX é feito através do mesmo barramento utilizado pelo coprocessador aritmético, não é possível acessar ao mesmo tempo ambos os dispositivos. Ou seja, o programa pode ou executar uma instrução MMX ou uma instrução de ponto flutuante, nunca fazer as duas coisas ao mesmo tempo.

Para piorar um pouco mais a situação, um certo tempo é perdido para alternar entre o acesso às instruções MMX e o uso do coprocessador aritmético. Como os programas gráficos são muito dependentes do coprocessador aritmético, é preciso constantemente alternar entre as instruções MMX e as instruções de FPU (do coprocessador aritmético) fazendo com que o ganho de performance conseguido através do uso das instruções MMX seja em média de apenas 10 ou 12%.

Vendo o pequeno ganho de desempenho que poderia ser conseguido através do MMX, poucas softwarehouses se interessaram em otimizar seus programas para as novas instruções. A adesão às instruções MMX foi tão pequena que mesmo hoje, vários anos depois do lançamento do MMX, praticamente pode-se contar nos dedos os programas realmente otimizados para as novas instruções, sendo que os programas otimizados rodam em média apenas 10% mais rápido.

O MMX é muito mais um golpe de Marketing, do que realmente um melhoramento nos processadores. Apesar dos ganhos anêmicos de performance, as campanhas publicitárias da Intel foram tão fortes que obrigaram concorrentes como a AMD e a Cyrix a também adotar o MMX em seus processadores, pois caso contrário, simplesmente não conseguiriam vendê-los. Infelizmente, apesar do estardalhaço, as instruções MMX tornaram-se apenas um elefante branco da informática.

AMD K6

Depois do fiasco do K5, a AMD trabalhou duro para atualizar seu projeto e lançar o K6 a tempo de competir com o MMX da Intel.

Em termos de recursos, o K6 trazia 64 KB de cache L1 integrado ao processador e compatibilidade com as instruções MMX. Uma grande sacada da AMD com o K6 foi mantê-lo compatível com as placas mãe soquete 7 usadas pelo Pentium e Pentium MMX, facilitando bastante a vida dos usuários.

Por causa de sua arquitetura mais avançada, o K6 supera em desempenho não somente o Pentium clássico, mas também o Pentium MMX, chegando perto até mesmo do Pentium II em muitos aplicativos.

O calcanhar de Aquiles do K6 porém, é seu coprocessador aritmético, que possui uma arquitetura muito mais simples do que os modelos utilizados pela Intel no Pentium MMX e no Pentium II, sendo por isso bem mais lento.

Apesar deste defeito não atrapalhar o desempenho do K6 em aplicativos de escritório, faz com que seu desempenho em aplicativos gráficos, como processamento de imagens ou vídeos, jogos com gráficos tridimensionais (como o Quake II) fique bastante prejudicado. Nestes aplicativos o K6 chega a ser mais de 20% mais lento que um Pentium MMX do mesmo clock e uma porcentagem ainda maior se comparado com processadores Pentium II ou Pentium III.

Na época do lançamento, o K6 não era exatamente um processador de baixo custo, pelo contrário, o mais enfatizado pela AMD era o seu bom desempenho em inteiros e sua arquitetura mais avançada. Na verdade, o K6 já é um processador de sexta geração, com uma arquitetura muito semelhante à dos processadores Pentium II e Pentium III. A principal diferença entre a arquitetura destes processadores e do Pentium e Pentium MMX antigos é que esta nova safra de processadores já incorpora um núcleo RISC, são na verdade processadores Post-RISC.

Foi esta mudança de filosofia que permitiu que a frequência dos processadores crescesse tanto nos últimos tempos. Veja, um Pentium MMX de 233 MHz utiliza uma arquitetura de 0.35 mícron. Quanto menores os transístores, mais alta será a frequência de operação que o processador será capaz de atingir. Seguindo esta regra, dá para imaginar que se produzido numa técnica de 0.13 mícron, como os processadores mais atuais, o 233 MMX pudesse operar a 700, talvez 800 MHz. Pois bem, a Intel já demonstrou um protótipo do Pentium 4 de 0.13 mícron operando a nada menos que 3.5 GHz. Ou seja, não foi apenas a miniaturização dos transístores, mas também a evolução nos projetos dos processadores que permitiram que a indústria de semicondutores chegasse aonde chegou.

Freqüência x Aquecimento

Quanto mais elevada for a freqüência de operação de um processador, maior será a quantidade de calor gerado. Justamente por isso, os fabricantes procuram desenvolver novas tecnologias de fabricação, que permitam produzir chips com transístores cada vez menores, a fim de diminuir o consumo de energia e consequentemente a geração de calor.

As primeiras versões do K6 utilizavam uma técnica de produção de 0.35 mícron e utilizavam tensão interna de 2.9 ou 3.2 volts. Estas primeiras séries são chamadas de “modelo 6” e costumavam aquecer bastante, necessitando de um cooler de boa qualidade.

A partir da versão de 233 MHz, o K6 passou a ser produzido usando uma nova técnica de produção de 0.25 mícron, o que garante uma geração de calor bem menor. Estas versões são chamadas de “modelo 7” e operam com tensão de apenas 2.2v.

Note que apesar do encaixe ser o mesmo, nem todas as placas soquete 7 oferecem os 2.2v exigidos pelos K6 modelo 7. Na verdade, a maioria das placas antigas só são capazes de fornecer 3.3 ou 3.5v, as tensões utilizadas pelo Pentium antigo.

Todos os K6 de 166 e 200 MHz são produzidos usando-se a técnica de produção de 0.35 mícron, enquanto que todos os processadores de 266 e 300 MHz o são pela técnica de 0.25 mícron. O problema são os processadores de 233 MHz, pois estes foram fabricados com ambas as técnicas, dependendo da série. Para reconhecer um ou outro, basta olhar a voltagem que está estampada no processador.

Evolução dos Processadores

Desde o 4004 da Intel, lançado em 1971, os processadores evoluíram assustadoramente. Os processadores não foram apenas os componentes dos computadores que mais evoluíram, mas sim o dispositivo que evoluiu mais rápido em toda a história da humanidade. Não é à toa que o transístor foi considerado a invenção do século.

O grande segredo para esta evolução vertiginosa pode ser contado em uma única palavra: miniaturização. Foi justamente a miniaturização dos transístores que permitiu criar o circuito integrado, em seguida o microchip e processadores com cada vez mais transístores e operando a frequências cada vez mais altas.

Para você ter uma idéia do quanto as técnicas de construção de processadores evoluíram, o 8088 possuía apenas 29,000 transístores, e operava a apenas 4.7 MHz, enquanto o Pentium 4 tem 42.000.000 de transístores e opera a frequências acima de 2.0 GHz.

Número de transístores:

texto4
O primeiro transístor, criado no início da década de 50, foi feito a mão e não era nada pequeno. Depois de algum tempo, passaram a construir transístores usando silício e desenvolveram a litografia óptica, técnica utilizada até hoje, que usa luz, máscaras e vários produtos químicos diferentes para esculpir as camadas do transístor, permitindo alcançar nível incríveis de miniaturização.

Veja agora uma tabela com o tamanho dos transístores usados em cada processador.

texto5
Um mícron equivale a 1 milésimo de milímetro, ou a 1 milionésimo de metro.

AMD K6-2

Ao desenvolver o projeto do K6, os projetistas da AMD estavam convencidos de que o mais importante num processador era o seu desempenho em números inteiros. Em parte eles estavam certos, se você já teve um 486 ou um Pentium I, quantos jogos 3D você chegou a jogar nele? Poucos não é mesmo? Quantas projetos você fez no Cad ou quantas imagens 3D você renderizou no 3D Max?

Mas, houve um pequeno erro de cálculo neste raciocínio, as aplicações 3D não eram populares na época não por falta de interesse, mas por falta de potência dos processadores para roda-los decentemente. Quando perceberam isso, o K6 já estava sendo produzido.

O coprocessador aritmético do K6 é um projeto bastante simples e elegante. Apenas uma unidade de execução faz todo o trabalho. Isto permitiu eliminar todos os componentes de controle que equipam o coprocessador aritmético de processadores como o Pentium III e o Athlon que possuem respectivamente 2 e 3 unidades de execução no coprocessador aritmético.

Com apenas uma unidade de execução também é possível ter uma latência mais baixa, ou seja, conseguir intervalos mais curtos entre cada instrução processada. Apesar de tudo, isso não foi o suficiente para dar condições para o K6 competir em pé de igualdade com o Pentium II em ponto flutuante.

Desenvolver um projeto de coprocessador aritmético demora anos. Por isso, a AMD novamente optou por umas solução elegante para tentar corrigir este problema no K6-2, seguiu o exemplo da Intel e incorporou novas instruções ao seu processador, o conjunto 3D-Now!, formado por 27 novas instruções que tem o objetivo de agilizar o processamento de imagens tridimensionais, funcionando em conjunto com uma placa aceleradora 3D. Como acontece com as instruções MMX, é necessário que o software usado faça uso do 3D-Now!, caso contrário não existe ganho algum.

Além das novas instruções, os novos K6-2 trouxeram mais uma novidade (pelo menos para a época) que foi o uso de bus de 100 MHz. Lembre-se que o K6-2 ainda utiliza cache L2 na placa mãe. Como o cache opera na mesma frequência que o restante da placa, utilizar placas de 100 MHz trouxe uma grande vantagem para o K6-2, o cache L2 ficou 50% mais rápido, sem falar na memória RAM, que teve seu desempenho aumentado na mesma proporção.

Apesar disso, a AMD continuou produzindo seus processadores K6-2 com o multiplicador destravado. Isso permite instalar processadores K6-2 em placas antigas, que trabalham a apenas 66 MHz, desde claro, que a placa suporte a tensão de 2.2v (ou 2.4v nas versões mais recentes) utilizada pelo processador.

Um K6-2 de 300 MHz pode ser utilizado tanto numa placa mãe configurada para operar a 100 MHz com multiplicador de 3x, quanto numa outra, configurada para operar a 66 MHz com multiplicador de 4.5x. Naturalmente, o desempenho será melhor na placa de 100 MHz, pela diferença na frequência da memória e do cache L2.

Também foi mantida a compatibilidade com as instruções MMX, com a possibilidade de executar até 2 instruções MMX por ciclo de clock. Todos os K6-2 são fabricados usando-se uma técnica de produção de 0.25 mícron. É por isso que o K6-2 chegou a apenas 550 MHz, antes de dar lugar ao Athlon e ao Duron, que trouxeram a resposta para a maior parte dos seus problemas.

3D-Now! x MMX

Por incrível que possa parecer, ao contrário do MMX, o 3D-Now! da AMD conseguiu obter um grande apoio por parte dos desenvolvedores de jogos, conseguindo que a maioria dos jogos atuais sejam otimizados para as novas instruções. Aplicativos 3D otimizados para o 3D-Now! rodam de 10 a 20% mais rápido em processadores K6-2, resultando em um desempenho próximo ao alcançado pelo Pentium II.

Existem também casos de drivers de vídeo otimizados para o 3D-Now!, como os drivers Detonator para placas nVidia (TnT, TnT 2, GeForce, etc.) que garantem um ganho de desempenho considerável mesmo em jogos sem otimização.

A diferença básica entre o MMX e o 3D-Now!, é que enquanto o MMX permite apenas melhorar sutilmente o desempenho do processador no cálculo de números inteiros, onde tanto o Pentium, quanto o K6 e o 6×86 da Cyrix são fortes, o 3D-Now! é capaz de melhorar o desempenho do K6-2 onde ele mais precisa, no cálculo de números de ponto flutuante. Basicamente, temos uma extensão do coprocessador aritmético, que permite a ele desempenhar suas funções de maneira mais rápida, através de instruções mais eficientes.

O 3D-Now continua presente no Athlon e no Duron, os processadores AMD atuais. Apesar de ambos possuírem um coprocessador muito poderoso, capaz de executar 3 instruções por ciclo, o 3D-Now! continua prestando bons serviços.

AMD K6-3

Apesar de desde o final da era 486 a AMD utilizar tecnologia própria, sempre conseguiu lançar bons processadores, que muitas vezes introduziam novas tecnologias que viriam a ser utilizadas apenas nas próximas gerações de processadores Intel, chegando muitas vezes até a superar os processadores Intel em performance, quase sempre custando menos. O problema é que sempre que a AMD conseguia lançar um processador novo, a Intel já estava dois ou três passos à frente, restando à AMD competir com chips obsoletos da Intel no mercado de PCs de baixo custo. Foi assim com o K5, com o K6, e até certo ponto com o K6-2. Vender chips de baixo custo pode ser uma boa maneira de aumentar a participação no mercado, mas definitivamente não é a melhor maneira de conseguir obter lucro.

Lançado em novembro de 98, o Sharptooth, ou simplesmente K6-3 foi a primeira tentativa da AMD em competir diretamente com os processadores topo de linha da Intel, que na época eram os Pentium II de 500 e 550 MHz. Como o K6-3 possui uma arquitetura bem diferente do Pentium II, não é tão fácil fazer uma comparação direta, já que cada processador acaba saindo-se melhor em um tipo de aplicação.

O cache de três níveis

O cache surgiu na época dos processadores 386, como uma forma de acelerar o acesso aos dados gravados na memória RAM. Inicialmente, tínhamos apenas alguns Kbytes de cache espetados na placa mãe, mas, quando a Intel desenvolveu o 486, embutiu uma pequena quantidade de memória cache dentro do processador. Tínhamos agora dois tipos de cache diferentes, um interno ao processador, e outro espetado na própria placa mãe. Para diferenciar os dois, o cache incorporado ao processador passou a ser chamado de cache nível um, ou “L1”, enquanto o cache da placa mãe passou a ser chamado de nível 2, ou “L2”.

A diferença entre o cache L1 e o cache L2 reside na velocidade. Enquanto o cache L1 trabalha na frequência do processador, possuindo tempos de acesso extremamente baixos, o cache L2 trabalha na frequência da placa mãe, sendo bem mais lento do que o cache L1. Justamente por ser mais lento, o cache nível 2 é mais barato, possibilitando o uso de quantidades maiores. Mesmo nos processadores atuais, onde o cache L2 também faz parte do processador, a velocidade é mais baixa.

Os dados mais requisitados pelo processador são inicialmente armazenados no cache L2, sendo os dados que o processador está processando no momento, juntamente com alguns outros dados importantes, transferidos para o cache L1.

Assim que o processador termina de processar uma determinada rotina e passa para a próxima, são trocados os dados do cache L1, evitando ao máximo que o processador precise acessar dados contidos no cache L2 (que sempre será mais lento) e principalmente acessar diretamente a memória RAM, o que resultaria em uma grande perda de tempo. Nos processadores atuais, a velocidade e a quantidade de memória cache são muito mais importantes que a própria velocidade da memória RAM. Vou usar um exemplo tosco, só para tentar tornar mais claro este tema:

Imagine que num sistema qualquer, 40% das vezes que o processador necessite de dados, encontre-os no cache L1, 45% da vezes precise recorrer ao cache L2, e em 15% dos casos os dados não estejam gravados no cache e o processador precise busca-los diretamente na memória RAM.

Imagine que neste sistema, um acesso ao cache L1 demore 2 nanossegundos, um acesso ao cache L2 demore 6 nanos, e um acesso à memória RAM demore 50 nanos (é apenas um exemplo). Usando a estatística anterior (40-45-15), 1000 acessos à dados demorariam 12.800 nanos (400 x 2 + 450 x 6 + 150 x 50).

Imagine agora que aumentamos o tamanho do cache L1 deste processador, aumentamos a velocidade do cache L2, mas foi mantida a mesma memória RAM. Neste caso, poderíamos imaginar que em 50% das vezes que o processador precisar de dados, os encontrará no cache L1 (já que agora é maior do que no exemplo anterior), em 40% das vezes encontrará os no cache L2 e em 10% das vezes será necessário um acesso à memória RAM. Imaginando que um acesso ao cache L1 continue demorando 2 nanos (já que aumentamos apenas seu tamanho, e não a velocidade), um acesso ao cache L2 passe a demorar 4 nanos depois de aumentarmos sua velocidade, e um acesso à memória RAM continue demorando os mesmos 50 nanos, 1000 acessos demorariam agora apenas 6600 nanos (500 x 2 + 400 x 4 + 100 x 50), uma diminuição de quase 50%, muito mais do que conseguiríamos aumentando a velocidade da memória RAM.

Terminando, imagine agora, que fosse acrescentado um cache nível 3, um pouco mais lento do que o cache L2, mas em uma quantidade um pouco maior, e que um acesso a este novo cache demore 10 nanos. Manteríamos então um cache-hit de 50% no cache L1, 40% no cache L2, mas passaríamos a ter um cache-hit de (digamos) 5% no cache L3, fazendo com que em apenas 5% dos casos fosse necessário um acesso à memória RAM. Os 1000 acessos demorariam então apenas 5600 nanos (500 x 2 + 400 x 4 + 50 x 10 + 50 x 50), um aumento de quase 15% na velocidade de acesso, que certamente resultaria em um aumento considerável na velocidade global do equipamento.

A idéia do K6-3 é justamente essa, aumentar o desempenho através de uma maior eficiência da memória cache. O K6-3 traz os mesmos 64 KB de cache L1 do K6-2, mas vem agora com 256 KB de cache L2 embutidos no encapsulamento do processador, cache que trabalha na mesma frequência do processador, assim como o cache usado no Celeron e no Pentium II Xeon. Ora, se apenas 128 KB de cache L2 trabalhando na frequência do processador, conseguiram transformar o anêmico Celeron sem cache, em um processador cujo desempenho chega até mesmo a superar o desempenho do Pentium II em alguns aplicativos, imagine o que o dobro dessa quantidade não pode fazer pelo K6-3.

Para aumentar ainda mais o desempenho do K6-3, a AMD resolveu aproveitar também o cache L2 encontrado em todas as placas mãe Soquete 7, passando a usa-lo como um cache L3. O funcionamento do cache da placa mãe continua idêntico, apenas mudamos seu nome.

O uso do cache L3 consegue aumentar de 3 a 8% o desempenho do K6-3, dependendo da quantidade usada. Não chega a ser nenhuma revolução, mas é um ganho bem perceptível, principalmente se lembrarmos que o Pentium II é apenas 3 ou 5% mais rápido do que o K6-2 em aplicativos de escritório.

Testando o K6-3 em uma placa mãe com 512 KB de cache, o ganho de performance fica em cerca de 3.8%. Segundo números obtidos por outros usuários, o ganho de performance com 1024 KB de cache fica em torno de 6%, chegando a 8% no caso de placas mãe com 2048 KB de cache.

O que mais mudou?

Fora a inclusão do cache L2 trabalhando na mesma frequência do processador, e do uso do cache L3, o K6-3 trouxe poucas mudanças sobre o antigo K6-2. Foram feitas algumas alterações nos registradores do processador, mas nada gritante. O K6-3 continua utilizando as 21 instruções 3D-Now! e o mesmo coprocessador aritmético do K6-2.

Este é o grande problema. O maior defeito do K6-2 não é o cache, mas sim o próprio coprocessador aritmético, com apenas uma unidade de execução, que apesar do reforço do 3D-Now! Não foi alterado desde o primeiro modelo do K6. Graças ao cache rápido, o K6-3 consegue até mesmo superar um Pentium III da mesma frequência em aplicativos de escritório, mas continua perdendo em jogos e aplicativos gráficos.

Mantendo a idéia de deixar de ser uma mera coadjuvante e passar a realmente competir em pé de igualdade com a Intel, a AMD resolveu investir pesado para desenvolver um coprocessador decente para seu próximo processador, o Athlon, que veremos com mais detalhes adiante. Por sinal, o investimento valeu à pena, pois o coprocessador aritmético do Athlon consegue não apenas igualar o desempenho do coprocessador do Pentium III, mas chega a superá-lo. Realmente o desempenho do Athlon vem surpreendendo, principalmente pelo fato da AMD desta vez estar conseguindo lançar versões mais rápidas antes da Intel.

Compatibilidade

Na época em que o K6-3 foi lançado, existia um enorme contingente de usuários de equipamentos baseados em placas mãe Super-7, entre usuários de processadores AMD e de processadores Cyrix, que sem dúvida se sentiam muito mais inclinados a trocar seu processador por outro que continuasse utilizando o soquete 7, permitindo um upgrade sem necessidade de troca da placa mãe. Percebendo isso, a AMD optou por tornar o K6-3 totalmente compatível com as placas mãe soquete 7, mantendo apenas a velha exigência de que a placa mãe seja capaz de fornecer a tensão correta para o processador e seja capaz de sinalizar o multiplicador correto.

Qualquer placa mãe que suporte o AMD K6-2 de 400 MHz, suportará também o K6-3 de 400 e 450 MHz sem problema algum, dispensando inclusive upgrades de BIOS. A voltagem utilizada pelo K6-3 também é a mesma utilizada pelo K6-2: 2.2v, dispensando qualquer configuração adicional. Também não é preciso configurar nada relacionado ao cache L3, pois espetando o K6-3 na placa mãe, o cache da placa passa automaticamente a ser reconhecido como cache L3, novamente dispensando qualquer configuração adicional.

Resumindo, basta configurar o multiplicador da placa mãe para 4x 100 MHz, ou 4.5x 100 (no caso do K6-3 de 450 MHz) e a voltagem para 2.2v para que tudo funcione.

Cyrix 6x86MX

Voltando um pouco no tempo, o 6x86MX foi o concorrente da Cyrix para o MMX da Intel. Como o K6, este processador traz 64 KB de cache L1, instruções MMX, e oferece compatibilidade com as placas mãe soquete 7. A performance em aplicações Windows é muito parecida com um K6, porém, o coprocessador aritmético é ainda mais lento do que o que equipa o K6, tornando muito fraco seu desempenho em jogos e aplicativos que façam uso intenso de cálculos de ponto flutuante.

Enquanto o K6 usa um coprocessador aritmético simples, com apenas uma unidade de execução, mas com otimizações para ser capaz de executar uma instruções por ciclo, o coprocessador 6x86MX da Cyrix pode demorar vários ciclos para processar cada instrução. Apenas as instruções simples são executadas em um único ciclo. Enquanto o coprocessador aritmético do K6 é cerca de 20% mais lento que o do MMX, o do 6x86MX chega a ser 50% mais lento, sem nem mesmo instruções especiais, como o 3D-Now! Para tentar salvar a pátria.

Para aplicações de escritório como o Office, o 6x86MX foi até uma boa opção devido ao baixo custo do processador, que custava até metade do preço de um MMX, mas ele não era nada adequado para PCs destinados principalmente a jogos ou aplicações gráficas.

O 6x86MX usa tensão de 2.9v mas, segundo o fabricante, caso a placa mãe não ofereça esta tensão específica, podemos usar a voltagem 2.8v, como no MMX, sem problemas.

Como o K5, o 6×86 adota o índice Pr, agora comparando seu desempenho com o de um Pentium. O 6x86MX é encontrado nas versões PR150 (120 MHz), PR166 (133 MHz), PR200 (166 MHz), PR233 (187 ou 200 MHz dependendo da série) e PR266 (225 ou 233 MHz). O uso do índice Pr já foi causador de muita confusão. Alguns usuários chegavam a pensar que o Cyrix Pr 266 trabalhava realmente a 266 MHz e não a 233 MHz e acabavam achando que o processador estava com algum defeito, por não trabalhar na frequência “correta”.

Felizmente, o índice Pr deixou de ser usado. Mesmo os processadores atuais da Cyrix, os C3 são vendidos segundo sua frequência real de operação, apesar de alguns já defenderem a volta do índice Pr no caso do Athlon da AMD, que é consideravelmente mais rápido que um Pentium 4 da mesma frequência.

Cyrix 6x86MII

O MII foi na verdade apenas uma continuação da série 686MX, alcançando agora índices PR 300, 333, 350 e 400. Como o 686MX, o MII utiliza tensão de 2.9v ou 2.8v caso a placa não suporte a ideal.

Um dos maiores problemas no 6×86 é justamente seu aquecimento exagerado. Mesmo nas suas versões mais rápidas era utilizada uma técnica de fabricação de 0.35 mícron, resultando em um aquecimento considerável, que pode causar travamentos caso não sejam tomados alguns cuidados. Ao usar um 6×86 é sempre essencial adquirir um bom cooler.

Cyrix Media GX

O Media GX é um processador 6x86MX acrescido de circuitos controladores de memória e cache, assim como controladores de vídeo e som, que se destina ao mercado de PCs de baixo custo e, principalmente, a notebooks. Quando usado em computadores portáteis, o Media GX traz a vantagem de consumir pouca eletricidade, proporcionando maior autonomia da bateria. Já os micros de mesa equipados com o Media GX pecam por oferecerem poucas possibilidades de upgrade.

Por exigir uma placa mãe específica, o media GX destina-se somente aos computadores de arquitetura fechada. Justamente por isso ele foi utilizado apenas em alguns micros de grife.

IDT C6

Lançado no início de 98, o C6 foi a tentativa da IDT de entrar no mercado de processadores, competindo na faixa de processadores de baixo custo com o MMX e o 6×86 MX.

Tecnicamente, o C6 não traz nenhuma novidade. Basicamente temos uma arquitetura não superescalar simples, que lembra um pouco a dos micros 486, combinada com um cache L1 de 64 KB, dividido em dois blocos de 32 KB. O coprocessador também é fraco, ficando atrás até mesmo dos processadores Cyrix. O C6 foi lançado em versões de 180, 200, 225 e 240 MHz, utiliza placas mãe soquete 7 e tensão de 3.5v, como o Pentium antigo.

Apesar do pouco sucesso alcançado com o C6, a IDT lançou depois de algum tempo o C6+, que incorporou instruções equivalentes ao 3D-Now! da AMD, e passou a usar barramento de 100 MHz mas que, como no caso anterior, acabou sendo praticamente ignorado pelo mercado. Foi último processador lançado por esta companhia.

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.

gdh2Cortesia da Intel Corp.

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.

gdh3Asus P6NP5, cortesia da Asus Inc.

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.

Pentium II

A Intel desenvolveu o Pentium II, usando como base o projeto do Pentium Pro. Foram feitas algumas melhorias de um lado, e retirados alguns recursos (como o suporte a 4 processadores) de outro, deixando o processador mais adequado ao mercado doméstico.

A mudança mais visível no Pentium II é o novo encapsulamento SEPP (Singled Edge Processor Package). Ao invés de um pequeno encapsulamento de cerâmica, temos agora uma placa de circuito, que traz o processador e o cache L2 integrado. Protegendo esta placa, temos uma capa plástica, formando um cartucho muito parecido com um cartucho de video-game.

Novamente, foi alterado o encaixe usado pelo processador. O Pentium II não é compatível tanto com as placas soquete 7, quanto com as placas para Pentium Pro, exigindo uma placa mãe com o encaixe slot 1.

A maioria dos usuários não gostou muito da idéia, já que por utilizar um novo encaixe, o Pentium II era incompatível com as placas mãe soquete 7 disponíveis até então, o que obrigava os usuários a trocar também a placa mãe no caso de um upgrade. O uso do slot 1 não deixa de ser uma política predatória da Intel, pois tendo sido criado e patenteado por ela, outros fabricantes não podem fazer uso dessa tecnologia em seus processadores. A utilização do slot 1 pela Intel foi o primeiro passo para a salada de padrões e tecnologias proprietárias que temos atualmente no ramos dos processadores.

Porém, do ponto de vista da Intel, a mudança foi necessária, pois a presença do cache L2 na placa mãe limitava sua freqüência de operação aos 66 ou 100 MHz da placa mãe, formando um gargalo.

gdh4Pentium II

Na época, a Intel não tinha outra solução para mover o cache L2 para mais perto do núcleo do processador e ao mesmo tempo manter custos aceitáveis de produção. A técnica utilizada no Pentium Pro, onde o cache L2 fazia parte do encapsulamento do processador, mas era composto por um chip separado, era mais cara e gerava um índice de defeitos muito maior, o que aumentava os custos de produção.

Já que não tinha outra opção melhor, acabou optando pelo uso do encapsulamento SEPP.

Fora o aspecto externo, o Pentium II traz um cache L1 de 32 KB (dividido em dois blocos de 16 KB para dados e instruções), cache L2 integrado de 512 KB e compatibilidade com as instruções MMX. Como os processadores anteriores, o Pentium II também oferece suporte a até 4 GB de memória RAM.

Como o Pentium II foi desenvolvido para o mercado doméstico, onde ainda o Windows 98 é o sistema operacional mais utilizado, a Intel deu um jeito de solucionar o problema do Pentium Pro com instruções de 16 bits, adicionando ao processador um registrador de segmento. Ao contrário do Pentium Pro, seu antecessor, o Pentium II pode processar instruções de 16 bits tão rapidamente quanto processa as de 32, oferecendo um bom desempenho rodando o DOS, Windows 3.x ou Windows 95/98.

Cache L2 integrado

O Pentium II traz integrados ao processador, nada menos que 512 KB de cache L2, o dobro da quantidade encontrada na versão mais simples do Pentium Pro. No Pentium II porém, o cache L2 trabalha a apenas metade do clock do processador. Em um Pentium II de 266 MHz por exemplo, o cache L2 trabalha a 133 MHz, o dobro da frequência do cache encontrado nas placas mãe soquete 7, mas bem menos do que os 200 MHz do cache encontrado no Pentium Pro. A Intel optou por usar este cache mais lento para solucionar três problemas que atrapalharam o desenvolvimento e a popularização do Pentium Pro:

O primeiro é o alto grau de incidência de defeitos no cache. O cache full-spped do Pentium Pro era muito difícil de se produzir com a tecnologia existente na época, o que gerava um índice de defeitos muito grande. Como não é possível testar o cache separado do processador, era preciso ter o processador pronto para depois testar todo o conjunto. Se o cache apresentasse algum defeito, então todo o processador era condenado à lata do lixo. Este problema inutilizava boa parte dos processadores Pentium Pro produzidos, resultando em custos de produção mais altos e consequentemente preços de venda mais elevados, que tornavam o Pentium Pro ainda mais inacessível ao consumidor final. O cache mais lento utilizado no Pentium II era mais fácil de se produzir, e ao mesmo tempo o formato SEPP permite substituir os chips de cache durante o processo de fabricação, caso estes apresentassem defeito.

O segundo problema é a dificuldade que a Intel encontrou para produzir memórias cache rápidas na época do Pentium Pro; dificuldade acabou impossibilitando o lançamento de processadores desta família operando a mais de 200 MHz. Naquela época, a Intel ainda não tinha tecnologia suficiente para produzir módulos de cache L2 capazes de trabalhar a mais de 200 MHz, com um custo de produção aceitável. Se o cache L2 do Pentium II operasse na mesma freqüência do processador, o mesmo problema logo voltaria a aparecer, atrapalhando o desenvolvimento de versões mais rápidas.

Por último, temos o fator custo, pois utilizando memórias cache um pouco mais lentas no Pentium II, os custos de produção se reduzem, tornando o processador mais atraente ao mercado doméstico.

Você nunca encontrará à venda uma placa mãe para Pentium II com cache, já que o cache L2 já vem embutido na placa de circuito do processador.

Arquitetura

O Pentium II foi produzido em duas arquiteturas diferentes. As versões de até 300 MHz utilizam a arquitetura Klamath, que consiste numa técnica de fabricação de 0.35 mícron, muito parecida com a utilizada nos processadores Pentium MMX. Nas versões a partir de 333 MHz já é utilizada a arquitetura Deschutes de 0.25 mícron, que garante uma dissipação de calor muito menor, o que possibilitou o desenvolvimento de processadores mais rápidos.

Vale lembrar também que no Pentium II não é preciso se preocupar em configurar corretamente a tensão do processador, pois isto é feito automaticamente pela placa mãe. Só para matar sua curiosidade, os processadores baseados na arquitetura Klamath utilizam 2.8 volts, enquanto os baseados na arquitetura Deschutes utilizam 2.0 volts.

Note apenas que é necessário que a placa suporte a voltagem utilizada pelo processador. Se você tiver em mãos uma placa slot 1 antiga, que trabalhe apenas com tensões de 2.8 e 2.0v, você não poderá utilizar por exemplo um Pentium III Coppermine, que usa tensão de 1.75v. Em muitos casos este problema pode ser resolvido com um upgrade de BIOS, cheque se existe algum disponível na página do fabricante.

Uma última consideração a respeito dos processadores Pentium II é sobre a freqüência de barramento utilizada pelo processador. As versões do Pentium II de até 333 MHz usam bus de 66 MHz, enquanto que as versões a partir de 350 MHz usam bus de 100 MHz, o que acelera a troca de dados entre o processador e a memória RAM.

Lembra-se do recurso de Pipeline introduzido no 486? Enquanto o Pentium clássico, assim como o Pentium MMX mantém a mesma estrutura básica do 486, com um Pipeline de 5 níveis, o Pentium II por utilizar a mesma arquitetura do Pentium Pro possui um Pipeline de 10 estágios. Além de melhorar a performance do processador, o uso de um Pipeline de mais estágios visa permitir desenvolver processadores capazes de operar a frequências maiores.

A idéia é que com um Pipeline mais longo, o processador é capaz de processar mais instruções simultaneamente. Porém, ao mesmo tempo, o Pentium II possui um núcleo RISC, o que significa que internamente ele processa apenas instruções simples. A combinação destes dois fatores permite simplificar a operação de cada estágio do Pipeline, fazendo com que cada estágio execute menos processamento, mas em conjunto consigam executar as mesmas tarefas, já que são em maior número. Executando menos processamento por ciclo em cada estágio, é possível fazer o processador operar a frequências mais altas, sem sacrificar a estabilidade. Na prática, existe a possibilidade de desenvolver processadores mais rápidos, mesmo utilizando as mesmas técnicas de fabricação.

Multiprocessamento

Ao contrário do Pentium Pro, o Pentium II oferece suporte ao uso de apenas dois processadores simultaneamente, como o Pentium comum. Esta é mais uma adaptação feita para diminuir um pouco o preço de venda.

Outra razão desta limitação, é tornar mais atraente o Pentium II Xeon (pronuncia-se “Zion”), basicamente um Pentium II equipado com um cache mais rápido, suporte ao uso de até 8 processadores e suporte a mais memória RAM. Naturalmente, o Xeon é um processador muito mais caro, dedicado ao mercado de servidores e Workstations.

Celeron

Com o lançamento do Pentium II, a Intel abandonou a fabricação do Pentium MMX, passando a vender apenas processadores Pentium II que eram muito mais caros. O problema com esta estratégia foi que a Intel passou a perder terreno rapidamente no mercado de PCs de baixo custo, para os processadores K6 e 6×86 respectivamente da AMD e da Cyrix, que apesar de apresentarem um desempenho ligeiramente inferior, custavam menos da metade do preço de um Pentium II do mesmo clock.

Tentando consertar a besteira, a Intel resolveu lançar uma versão de baixo custo do Pentium II, batizada de Celeron, do Latin “Celerus” que significa velocidade. O Celeron original, nada mais era do que um Pentium II desprovido do Cache L2 integrado e do invólucro plástico, responsáveis por boa parte dos custos de produção do Pentium II, ou seja, vinha “pelado”. É impossível evitar uma comparação com o 486SX, que não passava de uma versão “castrada” do 486DX.

As primeiras versões do Celeron, que incluem todos os de 266 MHz e alguns dos de 300 MHz, não traziam cache L2 algum e por isso apresentavam um desempenho muito fraco na maioria dos aplicativos, apesar de ainda conservarem um desempenho razoável em jogos e aplicativos que utilizam muito o coprocessador aritmético.

O Cache L2 é um componente extremamente importante nos processadores atuais, pois apesar da potência dos processadores ter aumentado quase 10,000 vezes nas últimas duas décadas, a memória RAM pouco evoluiu em velocidade. Pouco adianta um processador veloz, se ao todo instante ele tem que parar o que está fazendo para esperar dados provenientes da memória RAM. É justamente aí que entra o cache secundário, reunindo os dados mais importantes da memória para que o processador não precise ficar esperando. Retirando o cache L2, a performance do equipamento cai em quase 40%, só não caindo mais por que ainda conservamos o cache L1. Justamente por isso, além de perder feio para o seu irmão mais velho, o Celeron sem cache perdia até mesmo para processadores mais antigos. De fato, um Celeron sem cache de 266 MHz perde até mesmo para um 233 MMX em muitas aplicações.

Devido ao seu baixo desempenho, o Celeron sem cache não conseguiu uma boa aceitação no mercado, sendo inclusive muito criticado pela imprensa. Numa nova tentativa de consertar a besteira cometida, a Intel resolveu equipar as novas versões do Celeron com 128 KB de cache L2, que ao contrário do cache encontrado no Pentium II, funciona na mesma frequência do processador. Todos os Celerons à venda atualmente possuem cache, isto inclui todas as versões apartir do Celeron de 333 MHz e a maioria dos de 300 MHz. Para não haver confusão, a versão de 300 MHz com cache é chamada de 300A.

Enquanto no Pentium II o cache é formado por chips separados, soldados na placa de circuito do processador, no Celeron o cache L2 faz parte do próprio núcleo do processador. Estes 128 KB de cache fazem uma diferença incrível na performance do processador. Enquanto um Celeron antigo é quase 40% mais lento que um Pentium II do mesmo clock, o Celeron com cache é menos de 6% mais lento, chegando a empatar em algumas aplicações. Isto acontece pois apesar Celeron possuir uma quantidade 4 vezes menor de cache, nele o cache L2 funciona duas vezes mais rápido, compensando em grande parte a diferença. Claro que isso depende do aplicativo que estiver sendo executado.

Alguns programas, como o Word por exemplo, necessitam de uma grande quantidade de cache. Neste caso, mesmo sendo mais lento, o cache do Pentium II acaba sendo muito mais eficiente por ser maior. Em compensação, aplicativos que manipulam imagens em geral necessitam de um cache L2 mais rápido, pois os dados a serem manipulados são menos repetitivos. Neste caso, o cache do Celeron acaba sendo tão ou até mesmo mais eficiente do que o cache encontrado no Pentium II.

Outro ponto a favor do Celeron é seu coprocessador aritmético, que, sendo idêntico ao do Pentium II, é muito mais rápido que o do MMX ou do K6, o que lhe garante um bom desempenho em aplicações gráficas.

Propositadamente, todas as versões do Celeron (com exceção dos Celerons de 800 MHz em diante, recentemente lançados) utilizam barramento de apenas 66 MHz. Este é outro diferencial em relação ao Pentium II e ao Pentium III. Apesar de em termos de processamento o Celeron chegar às vezes a bater uma Pentium II do mesmo clock, acaba sendo mais lento por utilizar um multiplicador mais alto.

Por exemplo, um Pentium II de 400 MHz utiliza bus de 100 MHz e multiplicador de 4x. Um Celeron de 400 MHz por sua vez utiliza bus de 66 MHz e multiplicador de 6.0x. Apesar de nos dois casos o processador trabalhar na mesma freqüência, no caso do Celeron a placa mãe e a memória RAM funcionam mais lentamente, acabando por atrapalhar o desempenho do processador. É por isso que muitas vezes o Celeron acaba ficando 10, até 15% atrás do Pentium II nos benchmarks.

Se por um lado isto atrapalha o desempenho, por outro torna os micros baseados no Celeron ainda mais baratos, e facilita também na hora do upgrade, já que é possível continuar utilizando antigas memórias de 66 MHz e, em muitos casos, a mesma placa mãe utilizada em conjunto com os Pentium II de 266 e 300 MHz.

Soquete 370 x slot 1

Inicialmente, a Intel lançou o Celeron no mesmo formato do Pentium II, ou seja, na forma de uma placa de circuito que utiliza o slot 1, a fim de manter a compatibilidade com todas as placas mãe já existentes e facilitar as vendas do novo processador.

Porém, logo depois foi lançado um novo formato de encapsulamento e um novo encaixe para o Celeron, chamado de soquete 370. O formato é muito parecido com o de um Pentium MMX; a diferença é que o Celeron possui alguns pinos a mais. O Celeron para soquete 370 também é chamado de PPGA, abreviação de “Plastic Pin Grid Array”. Vale lembrar que, apesar dos encaixes serem parecidos, o Celeron PPGA não é compatível com as placas mãe soquete 7 utilizadas em conjunto como o MMX e o K6.

O soquete 370 utiliza a mesma pinagem do slot 1, e as placas utilizam os mesmos chipsets e demais componentes básicos. É possível inclusive encaixar um Celeron soquete 370 em uma placa mãe slot 1 com a ajuda de um adaptador que custa cerca de 15 dólares.

A desculpa da Intel para mudar subitamente o formato do Celeron, foi a de que depois que o cache L2 foi movido para dentro do invólucro do processador, a placa de circuito usada no Pentium II tornou-se desnecessária, servindo apenas para aumentar os custos de produção. Retirando-a do Celeron, seria possível fabricar processadores um pouco mais baratos.

Durante muito tempo, a Intel continuou fabricando o Celeron nos dois formatos, mas a algum tempo atrás cancelou a produção das versões slot 1, continuando a fabricar apenas as versões para soquete 370.

Os Celerons soquete 370 podem ser utilizados tanto em placas mãe para Pentium II ou Pentium III utilizando-se o adaptador, quanto em placas mãe soquete 370. Como disse, os dois encapsulamentos são elétricamente compatíveis, o que muda é apenas o formato.

gdh5Adaptador soquete 370 > slot 1

Pentium II Xeon

O Pentium II acabou revelando-se uma solução muito mais adequada que o Pentium Pro para o mercado doméstico. O Celeron trouxe mais um avanço neste sentido, pois manteve um bom desempenho (se comparado aos processadores da época) a um custo mais baixo.

Mas, nem todo mundo ficou satisfeito com o cache L2 operando à metade da frequência do processador usado no Pentium II, nem com o minúsculo cache de 128 KB do Celeron. Sim, são os donos de servidores de alto desempenho, que precisam de máquinas com vários processadores e muito cache.

O Pentium II Xeon surgiu como uma alternativa para quem precisava de mais desempenho e podia pagar por ele. Assim como no Celeron, o cache L2 opera na mesma frequência do processador, a diferença é a quantidade. Existiram versões do Pentium II Xeon com 512 KB, 1 MB e 2 MB de cache e operando a 400, 450 e 500 MHz.

Outra característica do Xeon é um melhor suporte a multiprocessamento. Existe suporte para o uso de até 4 processadores na mesma placa, ou até 8 processadores em cluster.

O Xeon foi especialmente concebido para equipar servidores, pois nestes ambientes o processamento é muito repetitivo, e por isso, o cache mais rápido e em maior quantidade faz uma grande diferença, Claro que não faz muito sentido pensar em usar um desses para uso doméstico, justamente devido ao seu alto preço.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X