Execução Espuculativa
Se o processador tivesse que processar uma instrução de tomada de decisão, como em “Se X > 0 então Y = 30, senão Y = 20”, enquanto a primeira canaleta do processador verifica se X é maior ou menor que 0, a segunda ao invés de ficar ociosa, pode executar uma das duas opções seguintes (atribuir o valor 30 ou atribuir o valor 20 a Y). No próximo ciclo, quando a primeira canaleta tivesse terminado de processar sua instrução, teríamos 50% de chance da segunda canaleta ter adivinhado qual seria a instrução seguinte e já tê-la executado. O nome “execução especulativa” foi dado por que a segunda canaleta escolhe aleatoriamente a instrução a executar, entre as duas possíveis.
Acesso mais rápido a memória
O Pentium é capaz de acessar a memória usando palavras binárias de 64 bits, o dobro do 486, que a acessa a 32 bits. Este recurso permite que sejam lidos 8 bytes por ciclo, ao invés de apenas 4, dobrando a velocidade de acesso à memória. Isto diminuiu bastante o antigo problema de lentidão das memórias, mas apenas provisoriamente, pois logo surgiram processadores Pentium utilizando multiplicadores de clock cada vez mais altos.
Como a maioria das placas para processadores Pentium utiliza módulos de memória de 72 vias, que são módulos de 32 bits, é preciso usa-los em pares. O processador acessa cada dupla como se fosse um único módulo, chegando aos 64 bits necessários.
Mesmo com a capacidade de acessar a memória a 64 bits e sendo composto internamente por dois processadores de 32 bits, o Pentium continua sendo um processador de 32 bits. Estes novos recursos servem apenas para melhorar o desempenho do processador.
Multiprocessamento
Visando o mercado de Workstations (máquinas muito rápidas, destinadas a aplicações pesadas como processamento de imagens 3D ou vídeo) e servidores de rede, a Intel incluiu no Pentium o recurso de multiprocessamento simétrico, que permite o uso de dois processadores na mesma placa mãe. Neste caso, é preciso adquirir uma placa mãe especial, com encaixe para dois processadores e um chipset com suporte ao multiprocessamento.
Como a divisão das tarefas entre os dois processadores não é feita automaticamente pelo chipset, é preciso que o sistema operacional seja capaz de reconhecer os dois processadores e acessá-los individualmente, dividindo as tarefas entre eles da melhor maneira possível.
Caso o sistema operacional não ofereça suporte ao multiprocessamento, como é o caso do Windows 95 e do Windows 98, apenas um dos processadores será usado pelo sistema, ficando o outro inativo. Neste caso, será como se tivéssemos apenas um processador instalado. A maioria dos sistemas operacionais, incluindo o Windows NT, 2000 e XP, Linux e a maioria das versões do Unix suportam multiprocessamento, as excessões mais notáveis ficam por conta do Windows 95,98 e ME.
Apesar de, pela lógica, o desempenho dobrar com dois processadores trabalhando em paralelo, na prática o ganho dificilmente passa de 40 ou 60%, pois dificilmente será possível organizar a execução das tarefas de modo a deixar ambos os processadores ocupados todo o tempo, assim como é difícil manter as duas canaletas do Pentium cheias 100% do tempo.
Até pouco tempo atrás, o recurso de multiprocessamento foi exclusividade dos processadores Intel. Tanto o Pentium, quanto o MMX, o Pentium II e o Pentium III suportam o uso de até dois processadores simultaneamente, enquanto o Xeon suporta o uso de até quatro processadores (8 com a adição de um circuito especial na placa mãe). Com exceção do Athlon MP, todos os demais processadores da AMD e Cyrix não suportam multiprocessamento, o que não chega a ser uma grande desvantagem para um usuário doméstico, já que fora do ramo dos servidores de alto desempenho, este recurso raramente é usado.
Clock e Overclock
Ao contrário do que muitos pensam, velocidade de operação dos processadores não é fixa, mas sim determinada pela placa mãe.
Na placa mãe temos um pequeno cristal de Quartzo, chamado gerador de clock, que vibra alguns milhões de vezes por segundo, com uma precisão quase absoluta. As vibrações deste cristal são usadas para sincronizar os ciclos da placa mãe, que sabe que a cada vibração do cristal deve gerar um certo número de ciclos de processamento.
É mais ou menos como um farol, que abre e fecha algumas vezes por minuto. Quando o farol está fechado, o trânsito fica parado, voltando a fluir quando a farol abre. Um pulso de clock é justamente a abertura do farol, um “já!” que faz todos os periféricos trabalharem simultaneamente e de forma sincronizada. O funcionamento de todos os periféricos, da placa de vídeo ao disco rígido, é coordenado por este relógio.
O processador não possui um gerador de clock, e por isso trabalha usando o sinal recebido da placa mãe. Num Pentium MMX de 200 MHz, por exemplo, a placa mãe funciona a 66 MHz, e o multiplicador é 3x, o que significa que para cada ciclo da placa mãe, o processador gerará 3 ciclos.
Justamente por estar limitada à frequência indicada pela placa mãe, a frequência do processador não é fixa; pode ser maior ou menor do que o especificado, dependendo de como a placa mãe estiver configurada.
Como as placas mãe atuais, para manter compatibilidade com vários processadores podem operar a várias frequências diferentes, é possível fazer o processador trabalhar mais rápido simplesmente configurando a placa mãe para trabalhar a uma frequência maior. Esta técnica é chamada de Overclock, uma gíria que significa “acima do clock” numa tradução livre.
Um Pentium 120 por exemplo, usa bus 60 MHz e multiplicador de 2x. Se configurássemos a placa mãe para trabalhar a 66 MHz, mantendo o multiplicador em 2x, o processador passaria a trabalhar a 133 MHz. Se a freqüência da placa mãe fosse aumentada para 75 MHz, o processador funcionaria a 150 MHz.
Em muitos casos, o processador também aceita um multiplicador maior. Um AMD K6 de 266 MHz por exemplo, trabalha com a placa mãe funcionando a 66 MHz e usando multiplicador de 4x. Se aumentássemos o multiplicador para 4.5x, mantendo a placa mãe funcionando a 66 MHz, faríamos o processador funcionar a 300 MHz.
A performance de um processador trabalhando em overclock é idêntica à de um processador “normal” funcionando a essa velocidade. Um Pentium 120 overclocado para 133 MHz por exemplo, apresenta exatamente a mesma performance de um Pentium 133 “de verdade”.
Quando um fabricante desenvolve um projeto de processador, testa-o a várias frequências diferentes, a fim de determinar sua freqüência ideal de operação. Geralmente, os fabricantes adotam uma certa margem de segurança, vendendo o processador com uma freqüência ligeiramente inferior à freqüência máxima. É justamente esta margem de segurança que permite o overclock; estaríamos então simplesmente fazendo o processador funcionar na sua frequência máxima. Esta margem muda de fabricante para fabricante e de processador para processador. Por isso, alguns processadores aceitam overclocks maiores que outros. Existem casos de processadores que aceitam trabalhar sem problemas a uma freqüência 50% maior que a original, assim como existem casos de processadores que apresentam instabilidade operando a uma freqüência apenas 10% maior que a original.
Obviamente, o overclock também traz algumas desvantagens. Fazendo o processador trabalhar a uma freqüência maior do que a ideal, podemos ter problemas de travamentos, superaquecimento e sempre haverá alguma diminuição de sua vida útil.
Outros Processadores
Além dos processadores “principais” que vimos até agora, existiram alguns modelos lançados como processadores de baixo custo, alternativa de upgrade para quem tinha um processador antigo e não queria gastar muito.
486DLC e 486SLC
Estes dois processadores foram a tentativa da Cyrix de entrar no mercado de processadores de baixo custo, oferecendo uma opção barata de upgrade para usuários de micros 386 e também uma opção de processador para micros de baixo custo, especialmente micros de menos de 1.000 dólares.
Estes processadoes são basicamente processadores 386 (respectivamente o DX e o SX), que incorporam um pequeno cache L1 de apenas 1 KB. O cache não fazia milagres, mas já era o suficiente para aumentar um pouco o desempenho do processador, o que somado ao baixo preço de venda, foi suficiente para vários usuários investirem no upgrade, já que os 486DLC e SLC eram totalmente compatíveis com as placas para micros 386.
Vale lembrar que, como o 386 padrão, estes processadores não possuem coprocessador aritmético, podendo ser acoplados a eles o 387DCL ou o 387SLC, que deviam ser comprados separadamente.
Sob licença da Cyrix, a Texas Instruments desenvolveu versões próprias do 486DLC e SLC, preservando a mesma arquitetura, mas aumentando a quantidade de cache L1 para 8KB.
AMD 5x86
No início, a AMD produzia clones de processadores Intel, utilizando os projetos desenvolvidos pela Intel e pagando royalties em troca. Porém, devido a várias divergências, a aliança acabou sendo desfeita e a AMD passou a batalhar seus próprios projetos de processadores. Apesar de, durante muito tempo, a AMD ter tido que se contentar com um distante segundo lugar, produzindo basicamente processadores de baixo custo, atualmente ela vem competindo diretamente com a Intel também no ramo de processadores de alto desempenho com seu Athlon, conseguindo na maioria das vezes manter preços mais baixos que a concorrente.
Mas, voltando à nossa aula de história, depois que a Intel lançou o 486DX4-100, abandonou o desenvolvimento de processadores 486 para se dedicar somente ao desenvolvimento do Pentium. Com a intenção de apresentar um processador que possuísse um desempenho semelhante a um Pentium low end (os modelos mais lentos e baratos), mas que ao mesmo tempo tivesse um preço competitivo, a AMD continuou o desenvolvimento do seu processador 486, lançando uma versão de 120 MHz (que opera usando barramento de 40 MHz e multiplicador de 3x),e logo em seguida também uma versão de 133 MHz.
Por questões de Marketing, a AMD batizou este 486 de 133 MHz de “AMD 5x86” o que confundiu alguns usuários, que pensaram tratar-se de um processador semelhante ao Pentium. O AMD 5x86 utiliza placas mãe para 486, necessita apenas que a placa seja capaz de sinalizar o multiplicador de 4x. O clock fica em 33 MHz, totalizando seus 133 MHz.
Como o AMD 5x86 não passa de um 486 funcionando a 133 MHz, seu desempenho é pouco menos de 33% superior a um 486DX4-100, sendo mais ou menos equivalente ao de um Pentium de 75 MHz. Aliás, outra medida de marketing tomada pela AMD na época, foi criar um índice Pr, ou “Pentium Rating”, comparando o desempenho do 5x86 ao do Pentium. O 5x86 de 133 MHz recebeu o índice Pr 75, indicando possuir um desempenho semelhante ao apresentado por um Pentium de 75 MHz.
A AMD conseguiu fazer um razoável sucesso com este processador, já que além de ser sido muito usado em micros de baixo custo, o 5x86 passou a ser uma alternativa barata de upgrade para usuários de micros 486 com processadores mais lentos.
Cyrix Cx5x86
Além de desenvolver projetos de processadores 486, que foram fabricados pela Texas Instruments, a Cyrix lançou um processador que mistura recursos do 486 e do Pentium, oferecendo um desempenho bastante superior a um 486 padrão.
Este processador foi batizado como Cx5x86, e apresenta um cache L1 de 16 KB, além de algumas outras melhorias que tornam seu desempenho cerca de 35% superior ao de um 486 do mesmo clock. A versão de 100 MHz do Cx5x86 possui um desempenho equivalente ao 5x86 de 133 MHz da AMD e ao Pentium 75, enquanto a versão de 120 MHz rivaliza em desempenho com um Pentium 90.
Como o 5x86 da AMD, Cx5x86 é totalmente compatível com as placas mãe para 486, bastando configurar a placa com multiplicador de 3x e bus de 33 MHz para instalar a versão de 100 MHz e, 3x 40 MHz para utilizar a versão de 120 MHz.
AMD K5
Depois de muitos atrasos, a AMD finalmente conseguiu lançar um processador que pudesse concorrer diretamente com o Pentium. O K5, porém, não chegou a tornar-se muito popular devido ao seu lançamento atrasado. Quando finalmente saíram as versões Pr 120 e Pr 133 do K5, a Intel já havia lançado as versões de 166 e 200 MHz do Pentium, ficando difícil a concorrência. Ao invés de simplesmente tentar copiar o projeto da Intel, a AMD optou por desenvolver um processador completamente novo, tecnicamente superior ao Pentium.
O K5 também utiliza uma arquitetura superescalar, mas ao invés de duas, possui quatro canalizações. O cache L1 também foi ampliado, passando a ser de 24 KB, dividido em dois blocos, um de 16 KB para instruções e outro de 8 KB para dados.
O coprocessador aritmético porém não foi muito melhorado, apresentando um desempenho quase 50% inferior ao apresentado pelo coprocessador do Pentium, devido principalmente à ausência de Pipeline. Este acabou sendo o calcanhar de Aquiles do K5, que a AMD sempre fez o possível para tentar esconder. Mas, como na maioria das aplicações o K5 era bem mais rápido que o Pentium, a AMD optou novamente por vender seu processador segundo um índice Pr, que compara seu desempenho com o dos processadores Pentium:
-
Processador |
Frequência Real de Operação |
K5-Pr 120 |
90 MHz (1.5x 60 MHz) |
K5-Pr 133 |
100 MHz (1.5x 66 MHz) |
K5-Pr 166 |
116 MHz (1.75x 66 MHz) |
-
- Pentium Overdrive
Como fez com os antigos 386 SX, a Intel lançou (ou pelo menos tentou, pois este processador nunca chegou a ser muito vendido) também um Pentium “low cost”. Este processador, apesar de internamente ter um funcionamento idêntico a um Pentium, utiliza placas mãe para processadores 486, sendo por isso chamando de Overdrive.
A Intel lançou o Overdrive em versões de 63 MHz (25 MHz x 2.5) e 83 MHz (33 MHz x 2.5) mas, por utilizarem placas de 486, que operam a frequências muito mais baixas e acessam a memória a apenas 32 bits, estes processadores perdem feio em performance se comparados com um Pentium “de verdade”. O Overdrive de 63 MHz apresenta performance idêntica ao 486DX4-100, enquanto o de 83 MHz empata com o 5x86 de 133 MHz da AMD.
Além da baixa performance, o Overdrive era extremamente caro (por isso usei o low cost entre aspas no parágrafo anterior :-), e acabou sendo uma péssima opção de compra. Em termos de custo-beneficio, o 5x86 da AMD foi uma opção muito melhor.
Mesmo após este primeiro fracasso, a Intel continuou tentando lançar sucessivamente vários processadores Overdrive, entre eles uma versão do MMX que funciona em placas soquete 7 antigas e uma versão do Pentium II que funciona em placas mãe para Pentium Pro. Apesar da propaganda feita por alguns “especialistas” nenhum destes modelos de Overdrive foi uma opção de compra que sequer merecesse ser considerada, pois devido à baixa procura e consequentemente à baixa produção, sempre custaram muito mais caro do que processadores equivalentes.
A única vantagem de se utilizar um processador Overdrive seria continuar utilizando a mesma placa mãe, trocando apenas o processador. Porém, na maioria vezes, por causa da baixa produção o processador Overdrive custa mais caro que um processador normal mais uma placa mãe para ele, tornando-se uma opção lusitana de upgrade.
É bem possível que no futuro sejam lançados outros modelos de processadores Overdrive, mas não espere ver boas opções. Adianta muito pouco trocar apenas o processador, mantendo a mesma velha e ultrapassada placa mãe, a mesma quantidade de memória de RAM, o mesmo velho e lento disco rígido etc. e vale menos à pena ainda pagar caro por isso. Seria como comprar uma Brasília e trocar o motor, você vai continuar com o mesmo carro velho. Na maioria das vezes, é mais sensato gastar em mais memória RAM, num disco rígido maior e mais rápido, ou numa placa 3D, caso o micro seja utilizado para jogos.
Um tal de 186
- O 8086 foi o pai do 8088, que equipou os primeiros PCs. Depois vieram os processadores 286, que também conhecemos bem. Mas, entre as duas gerações, existiu um modelo intermediário, pouco conhecido, mas igualmente importante. O 80186 é uma evolução do 8086, que trouxe algumas instruções novas e um sistema de tolerância à falhas. Apesar de não ter sido usado como processador em micros PC, o 80186 tornou-se um componente bastante popular, sendo usado em controladores de HDs, controladores de interrupção entre vários outros periféricos. Nestas aplicações, o 80186 continua em uso até hoje.
|