segunda-feira, 26 de julho de 2010

De volta ao processador

Fuçando aqui nos meus alfarrábios, encontrei numa edição antiga do saudoso Curso Dinâmico de Hardware uma matéria sobre microprocessadores que eu redigi lá pela virada do século. Com a sensação de quem reencontra um velho amigo, li o texto de cabo a rabo e constatei que ele continua “atual”, embora tenha sido escrito na época áurea dos Intel Pentium. Cheguei a pensar até em transcrevê-lo na íntegra, mas desisti devido ao tamanho (8 páginas da revista). Entretanto, nada me impede de usá-lo como base para criar uma ou duas postagens sobre o processador mais adequado às nossas necessidades, já que isso é uma questão complicada: embora as opções se restrinjam basicamente a chips da Intel e da AMD, cada um desses fabricantes dispõe de várias famílias com arquiteturas, especificações e recursos distintos.

O microprocessador (ou CPU, ou simplesmente processador) é cantado em prosa e verso como sendo o “cérebro” do computador. No entanto, da mesma forma que um cérebro precisa de um corpo que o abrigue e de um coração que o alimente, a performance de um sistema computacional depende de cada um dos elementos que o integram. Parafraseando o Mestre Carlos Morimoto, todo PC é tão rápido quanto seu dispositivo mais lento.

Observação: A “velocidade” da CPU não deve ser vista como única referência de performance – nem do processador nem (muito menos) do sistema. Essa idéia talvez fosse admissível nos primórdios da informática, mas não hoje, quando outras variáveis se tornaram tão ou mais importantes do que o clock: embora ele espelhe o número de operações executadas a cada segundo, o que o processador é capaz de fazer em cada operação é outra história. Ainda que a “velocidade” da CPU seja tomada como parâmetro de desempenho, ela expressa somente o número de operações executadas pelo chip a cada segundo – uma CPU que opere a 3 GHz, por exemplo, executa três bilhões de operações por segundo.

Para entender melhor essa questão, podemos comparar o sistema computacional a uma orquestra, onde o maestro e os músicos devem atuar em perfeita harmonia para proporcionar um bom espetáculo – músicos gabaritados até podem mascarar a incompetência de um regente chinfrim, mas a recíproca quase nunca é verdadeira. Reproduzindo um exemplo que eu citei na matéria original, o desempenho de um jurássico 486 de 100 MHz era 50% inferior ao de um Pentium de mesma frequência, mas se abastecido com 32 MB de RAM, ele era capaz de rodar o Win95 com mais desenvoltura do que um Pentium III de 1 GHz com apenas 8 MB.

Conquanto fosse interessante detalhar o processo de fabricação dos microchips, sua evolução, formatos, soquetes e outros que tais, isso não teria grande relevância para quem precisa escolher o “maestro que irá reger sua “orquestra”, de modo que fica para outra oportunidade. De momento, cumpre ressalvar apenas que diversos aprimoramentos (aumento do número de transistores, incorporação do coprocessador matemático e da memória cache, dentre outras coisas) tiveram enorme impacto no desempenho e na maneira como as CPUs passaram a decodificar e processar as instruções. Para se ter uma ideia da importância do cache do processador, no final do século passado, quando estava perdendo parte do mercado de PCs de baixo custo para a AMD, a Intel resolveu lançar uma linha de chips mais baratos – que eram basicamente modelos Pentium II desprovidos de cache L2 integrado, com desempenho 40% inferior. Por conta disso, o Celeron não teve boa aceitação e foi severamente criticado pela imprensa especializada. Mesmo que a burrada tenha sido corrigida mais adiante, muitos usuários até hoje torcem o nariz para os integrantes dessa família de microchips.

Amanhã a gente conclui; abraços e até lá.