Hardware fundamental
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Hardware fundamental

  • 27,732 views
Uploaded on

Hardware, um Guia Fundamental

Hardware, um Guia Fundamental

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • me da umas resposta imediatamente por favor
    Are you sure you want to
    Your message goes here
  • e ele é tela lcd hp compaq la1905wg
    Are you sure you want to
    Your message goes here
  • meu computador desliga sozinho e o monitor fika ligado e quando eu vou liga mostra dvi sem sinal gva sem sinal aparece a mensagem monitor em modo de suspensao e as vezes nem liga e quando liga e eu tou acessando a tela fika todo colorida trava tudo e eu tenho que renicia e depois nao liga mais
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
27,732
On Slideshare
27,675
From Embeds
57
Number of Embeds
7

Actions

Shares
Downloads
524
Comments
3
Likes
4

Embeds 57

http://www.escoladeapostilas.com.usrfiles.com 22
http://moodle2.givasaju.com.br 15
http://static.usrfiles.com 10
http://htmlcomponentservice.appspot.com 4
http://www.techgig.com 3
http://escoladeapostilast.wix.com.usrfiles.com 2
http://www.docshut.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. 1
  • 2. Autor: Carlos E. MorimotoPáginas: 1038Formato: 23 x 16 cmEditora: GDH Press e Sul EditoresISBN: 978-85-99593-10-2Lançado em: Outubro de 2007 Introdução: Como um PC Capítulo 7: Chipsets e placas funciona o Chipsets para placas o Os Componetes básicos Soquete 7  Processador o Chipsets para o Pentium  Memória II e Pentium III  HD  Chipsets da Intel  Placa de Vídeo  Chipsets da VIA  Placa-mãe  Chipsets da SiS  Hardware X o Chipsets para o Pentium Software 4 (Soquete 423 e soquete  Arquiteturas 478) o Um pouco sobre redes  Chipsets da Intel  Configuração da  Chipsets da SiS rede  Chipsets da VIA  Rede Wireless  Chipsets da Uli Capítulo 1: 54 anos de  Chipsets da ATI história: do ENIAC ao Athlon o Chipsets para o Athlon, o Os primórdios Duron e Sempron o O ENIAC (soquete A) o O transístor  Chipsets da AMD o Como são fabricados os  Chipsets da VIA processadores  Chipsets da SiS o Os supercomputadores  Chipsets da nVidia o A evolução dos o Chipsets para placas computadores pessoais soquete 775 o A década de 80  Chipsets da Intel o Do 486 ao Athlon  Chipsets da nVidia o Sistemas embarcados  Chipsets da SiS Capítulo 2: Processadores  Chipsets da VIA o Pentium4 o Chipsets para Athlon 64  Willamette  Chipsets da nVidia  Hyper  Chipsets da VIA Pipelined  Chipsets da SiS Technology  Chipsets da ULi  Execution Capítulo 8: Montagem, trace cache manutenção e dicas  Bus de 400 o As formas mais comuns MHz de destruir um PC  Rapid  Fonte de Execution alimentação Engine  Cooler  SSE2  Smoke Test  Northwood  Estática 2
  • 3.  Prescott  Componentes  Hyper- defeituosos Threading  Dispositivos USB  Soquete  Softwares 775  Conectores de  Smithfield, Cedar força Mill e Presler o Dicas de compra  O sistema de  Processador numeração  Memória  Pentium 4  HDs  Pentium D o PCs de baixo consumo  Extreme o Ferramentas Edition o Montagem de micros  Celeron D  Preparando o o Athlon e Duron terreno  Athlon Thunderbird  Conectores do  Athlon Palomino painel  Athlon  Headers USB Thoroughbred  Processador  Athlon Barton  Pasta térmica o Athlon 64  Cooler  Desenvolvendo  Memória um sucessor  Instalando a placa-  Itanium mãe  X86-84  HDs e DVD (AMD64)  Finalizando a  A arquitetura K8 montagem  Os modelos o Solucionando problemas  Athlon 64 e Athlon o O máximo de funções no 64 FX mínimo espaço  Athlon 64 X2 o Filtros de linha,  Sempron estabilizadores e  Reconhecendo o nobreaks processador  Filtros de linha  Quad FX  Estabilizadores o A plataforma Core  Nobreaks (UPS)  Conroe  Inversores  Kentsfield  VA x watts  Allendale  Proteção  Conroe-L para a linha o Futuros chips telefônica  Penryn  Autonomia  Nehalem Capítulo 9: Configuração do  Phenom e Setup, drivers e utilitários Barcelona o Discos e RAID  Fusion o BootCapítulo 3: Placas-mãe e o Overclockbarramentos o Timings da Memória o Os Componentes o Componentes integrados  BIOS o Outras opções 3
  • 4. o Formatos o Drivers e utilitários o Barramentos  Drivers da placa-  ISA mãe  MCA, EISA e VLB  Drivers do chipset  PCI  Drivers 3D  PC Card  Drivers de som, (PCMCIA) modem e outros  AMR e CNR  Utilitários e  AGP benchmark  PCI Express o Suporte a hardware no  Como o PCI Linux Express funciona  Drivers  Dentro do proprietários chipset  Opções de boot  As linhas de Capítulo 10: Vídeo e placas 3D dados e os o FPS, V-Sync e tearing periféricos o Recursos  Express  Clock na GPU Mini e  Fill rate ExpressCar  Unidades de vertex d shader  PCI  Unidades de pixel Express 2.0 shader  USB  Unidades de  Firewire (IEEE shader unificadas 1394)  Texture Mapping  WUSB Units (TMUs) o Endereços de IRQ e  Raster Operation DMA Units (ROPs)  APIC  Tipo de memória  DMA e I/O  Freqüência deCapítulo 4: Memórias memória e largura o Formatos do barramento o Tecnologias utilizadas  Quantidade de  Memórias memória Regulares  DirectX e OpenGL  Memórias FPM  Antialiasing e  Memórias EDO Anisotropic  Memórias SDRAM Filtering  Memórias DDR  SLI  Memórias DDR2  CrossFire  Memórias DDR3  TurboCache e o Identificando módulos de HyperMemory memória defeituosos o Chipsets 3D o Limites no  NV40 endereçamento da  G70 memória  G80 o Memória Flash  R520 o Outras tecnologias  R600Capítulo 5: HDs e o Manutenção 4
  • 5. armazenamento o Chipsets de vídeo o Como um HD funciona integrados  A placa o Conectores: VGA x DVI controladora o Monitores: LCD x CRT x  Os discos Plasma x OLED  Correção de erros o Características dos e badblocks Monitores LCD  Desempenho o Monitores USB?  Tempo de Capítulo 11: Notebooks busca o Categorias (Seek Time) o UMPCs e MIDs  Tempo de o Fabricantes latência o Processadores (Latency  Pentium M Time)  Soquetes  Tempo de  Core Duo e Core 2 Acesso Duo (Access  Celeron M Time)  Processadores  Head ULV Switch Time  A plataforma  Taxa de Centrino transferênci  Mobile Athlon 64 a interna  Mobile Sempron (Internal  Turion 64 Transfer  Turion X2 rate)  Via C3 e C7  NCQ  AMD Geode  Cache o Chipsets 3D (Buffer)  Chipsets onboard  MTBF e  Chipsets service life dedicados e placas o As interfaces offboard  IDE  ATI  SATA  nVidia  SCSI o Barebones  SAS o Drivers  As barreiras de  Criando uma 8GB e 128GB imagem de o RAID recuperação  Os modos de o Baterias operação  Chumbo Ácido  As controladoras  Ni-Cad o Opções de  Ni-MH armazenamento externo  Li-ion o SSDs e HHDs  Li-poly o ReadyBoost e  Células de ReadyDrive combustível o O gigabyte de 1 bilhão de  Calculando a bytes capacidade e 5
  • 6. o Drives de disquetes autonomiaCapítulo 6: Sistemas de Capítulo 12: Manutenção dearquivos e recuperação de notebooksdados o Desmontagem e dicas o Formatação física o Desmontando um o Formatação lógica Toshiba A70  FAT16 e FAT32 o Desmontando o HP  Estruturas 6110NX Lógicas o Desmontando a tela  NTFS o Localizando defeitos  Estruturas  Não liga lógicas do  Instabilidade NTFS  HD e DVD  EXT3  Defeitos na tela o Recuperação de dados  Modem e placa  S.M.A.R.T. wireless  Criando uma o Comprando peças de imagem binária reposição no exterior  Reparando Apêndice: Um resumo sobre partições redes e o protocolo TCP/IP  Recuperado a MBR e tabela de partições  Recuperando arquivos apagados  Usando o Easy Recovery  Usando o Photorec  Outras opções  Eliminando dados com segurança  Copiando dados de mídias defeituosas 6
  • 7. Introdução: Como um PC funcionaO primeiro PC foi lançado em 1981, pela IBM. A plataforma PC não é aprimeira nem será a última plataforma de computadores pessoais, mas ela é delonge a mais usada e provavelmente continuará assim por mais algumasdécadas. Para a maioria das pessoas, "PC" é sinônimo de computador.Começando do básico, existem duas maneiras de representar uma informação:analogicamente ou digitalmente. Uma música gravada em uma antiga fita K7 éarmazenada de forma analógica, codificada na forma de uma grande onda desinais magnéticos, que podem assumir um número virtualmente ilimitado defreqüências. Quando a fita é tocada, o sinal magnético é amplificado enovamente convertido em som, gerando uma espécie de "eco" do áudiooriginalmente gravado.O grande problema é que o sinal armazenado na fita se degrada com o tempo,e existe sempre uma certa perda de qualidade ao fazer cópias. Ao tirar váriascópias sucessivas, cópia da cópia, você acabava com uma versão muitodegradada da música original.Ao digitalizar a mesma música, transformando-a em um arquivo MP3, vocêpode copiá-la do PC para o MP3 player, e dele para outro PC, sucessivamente,sem causar qualquer degradação. Você pode perder alguma qualidade aodigitalizar o áudio, ou ao comprimir a faixa original, gerando o arquivo MP3,mas a partir daí pode reproduzir o arquivo indefinidamente e fazer cópiasexatas.Isso é possível devido à própria natureza do sistema digital, que permitearmazenar qualquer informação na forma de uma seqüência de valorespositivos e negativos, ou seja, na forma de uns e zeros.O número 181, por exemplo, pode ser representado digitalmente como10110101; uma foto digitalizada é transformada em uma grande grade depixels e um valor de 8, 16 ou 24 bits é usado para representar cada um; umvídeo é transformado em uma sequência de imagens, também armazenadasna forma de pixels e assim por diante.A grande vantagem do uso do sistema binário é que ele permite armazenarinformações com uma grande confiabilidade, em praticamente qualquer tipo demídia; já que qualquer informação é reduzida a combinações de apenas doisvalores diferentes. A informação pode ser armazenada de forma magnética,como no caso dos HDs; de forma óptica, como no caso dos CDs e DVDs ouaté mesmo na forma de impulsos elétricos, como no caso dos chips dememória flash. 7
  • 8. Chips de memória flashCada um ou zero processado ou armazenado é chamado de "bit", contração de"binary digit" ou "dígito binário". Um conjunto de 8 bits forma um byte, e umconjunto de 1024 bytes forma um kilobyte (ou kbyte).O número 1024 foi escolhido por ser a potência de 2 mais próxima de 1000. Émais fácil para os computadores trabalharem com múltiplos de dois do queusar o sistema decimal como nós. Um conjunto de 1024 kbytes forma ummegabyte e um conjunto de 1024 megabytes forma um gigabyte. Os próximosmúltiplos são o terabyte (1024 gigabytes) e o petabyte (1024 terabytes),exabyte, zettabyte e o yottabyte, que equivale a1.208.925.819.614.629.174.706.176 bytes. :)É provável que, com a evolução da informática, daqui a algumas décadas surjaalgum tipo de unidade de armazenamento capaz de armazenar um yottabyteinteiro, mas atualmente ele é um número quase inatingível.Para armazenar um yottabyte inteiro, usando tecnologia atual, seria necessárioconstruir uma estrutura colossal de servidores. Imagine que, para manter oscustos baixos, fosse adotada uma estratégia estilo Google, usando PCscomuns, com HDs IDE. Cada PC seria equipado com dois HDs de 500 GB, oque resultaria em pouco menos de 1 terabyte por PC (não seria possívelchegar a exatamente 1 terabyte, já que não existem HDs de 512 GB bináriosno mercado, por isso vamos arredondar).Estes PCs seriam então organizados em enormes racks, onde cada rack teriaespaço para 1024 PCs. Os PCs de cada rack seriam ligados a um conjunto deswitchs e cada grupo de switchs seria ligado a um grande roteador. Uma vezligados em rede, os 1024 PCs seriam configurados para atuar como umenorme cluster, trabalhando como se fossem um único sistema.Construiríamos então um enorme galpão, capaz de comportar 1024 dessesracks, construindo uma malha de switchs e roteadores capaz de ligá-los emrede com um desempenho minimamente aceitável. Esse galpão precisa de umsistema de refrigeração colossal, sem falar da energia consumida por mais deum milhão de PCs dentro dele, por isso construímos uma usina hidrelétricapara alimentá-lo, represando um rio próximo.Com tudo isso, conseguiríamos montar uma estrutura computacional capaz dearmazenar 1 exabyte. Ainda precisaríamos construir mais 1.048.576 mega-datacenters como esse para chegar a 1 yottabyte. Se toda a humanidade se 8
  • 9. dividisse em grupos de 6.000 pessoas e cada grupo fosse capaz de construirum ao longo de sua vida, deixando de lado outras necessidades existenciais,poderíamos chegar lá. :PVoltando à realidade, usamos também os termos kbit, megabit e gigabit, pararepresentar conjuntos de 1024 bits. Como um byte corresponde a 8 bits, ummegabyte corresponde a 8 megabits e assim por diante. Quando você comprauma placa de rede de "100 megabits" está na verdade levando para a casauma placa que transmite 12.5 megabytes por segundo, pois cada byte tem 8bits.Quando vamos abreviar, também existe diferença. Quando estamos falando dekbytes ou megabytes, abreviamos respectivamente como KB e MB, semprecom o B maiúsculo.Por outro lado, quando estamos falando de kbits ou megabits abreviamos damesma forma, porém usando o B minúsculo: Kb, Mb e assim por diante.Parece só um daqueles detalhes sem importância, mas esta é uma fonte demuitas confusões. Se alguém anuncia no jornal que está vendendo uma "placade rede de 1000 MB", está dando a entender que a placa trabalha a 8000megabits e não a 1000.Os componentes básicosQualquer PC é composto pelos mesmos componentes básicos: processador,memória, HD, placa-mãe, placa de vídeo e monitor. Essa mesma divisãobásica se aplica também a outros aparelhos eletrônicos, como palmtops ecelulares. A principal diferença é que neles os componentes são integradosnuma única placa de circuito (muitas vezes no mesmo chip) e são utilizadoschips de memória flash no lugar do HD.Antigamente, a placa-mãe funcionava apenas como um ponto central,contendo os slots e barramentos usados pelos demais componentes. Além doprocessador e pentes de memória, era necessário comprar a placa de vídeo,placa de som, modem, rede, etc. Cada componente era uma placa separada.Com a integração dos componentes, a placa-mãe passou a incluir cada vezmais componentes, dando origem às placas "tudo onboard" que utilizamosatualmente (existem placas que já vêm até com o processador e chips dememória!). Isso permitiu que os preços dos PCs caíssem assustadoramente, jáque, com menos componentes, o custo de fabricação é bem menor. Para quemquer mais desempenho ou recursos, é sempre possível instalar placasadicionais, substituindo os componentes onboard.Com o micro montado, o próximo passo é instalar o sistema operacional eprogramas, que finalmente vão permitir que ele faça algo de útil. Vamoscomeçar com um overview da função de cada um destes componentes: 9
  • 10. ProcessadorO processador é o cérebro do micro, encarregado de processar a maior partedas informações. Ele é também o componente onde são usadas as tecnologiasde fabricação mais recentes.Existem no mundo apenas quatro grandes empresas com tecnologia parafabricar processadores competitivos para micros PC: a Intel (que domina maisde 60% do mercado), a AMD (que disputa diretamente com a Intel), a VIA (quefabrica os chips VIA C3 e C7, embora em pequenas quantidades) e a IBM, queesporadicamente fabrica processadores para outras empresas, como aTransmeta. Athlon X2 e Pentium DO processador é o componente mais complexo e freqüentemente o mais caro,mas ele não pode fazer nada sozinho. Como todo cérebro, ele precisa de umcorpo, que é formado pelos outros componentes do micro, incluindo memória,HD, placa de vídeo e de rede, monitor, teclado e mouse.Dentro do mundo PC, tudo começou com o 8088, lançado pela Intel em 1979 eusado no primeiro PC, lançado pela IBM em 1981. Depois veio o 286, lançadoem 1982, e o 386, lançado em 1985.O 386 pode ser considerado o primeiro processador moderno, pois foi oprimeiro a incluir o conjunto de instruções básico, usado até os dias de hoje. O486, que ainda faz parte das lembranças de muita gente que comprou seuprimeiro computador durante a década de 1990, foi lançado em 1989, masainda era comum encontrar micros com ele à venda até por volta de 1997.Depois entramos na era atual, inaugurada pelo Pentium, que foi lançado em1993, mas demorou alguns anos para se popularizar e substituir os 486. Em1997 foi lançado o Pentium MMX, que deu um último fôlego à plataforma.Depois, em 1997, veio o Pentium II, que usava um encaixe diferente e por issoera incompatível com as placas-mãe antigas. A AMD soube aproveitar a 10
  • 11. oportunidade, desenvolvendo o K6-2, um chip com uma arquitetura similar aoPentium II, mas que era compatível com as placas soquete 7 antigas.A partir daí as coisas passaram a acontecer mais rápido. Em 1999 foi lançadoo Pentium III e em 2000 o Pentium 4, que trouxe uma arquitetura bem diferentedos chips anteriores, otimizada para permitir o lançamento de processadoresque trabalham a freqüências mais altas.O último Pentium III trabalhava a 1.0 GHz, enquanto o Pentium 4 atingiurapidamente os 2.0 GHz, depois 3 GHz e depois 3.5 GHz. O problema é que oPentium 4 possuía um desempenho por ciclo de clock inferior a outrosprocessadores, o que faz com que a alta freqüência de operação servissesimplesmente para equilibrar as coisas. A primeira versão do Pentium 4operava a 1.3 GHz e, mesmo assim, perdia para o Pentium III de 1.0 GHz emdiversas aplicações.Quanto mais alta a freqüência do processador, mais ele esquenta e maisenergia consome, o que acaba se tornando um grande problema. Quando aspossibilidades de aumento de clock do Pentium 4 se esgotaram, a Intel lançouo Pentium D, uma versão dual-core do Pentium 4. Inicialmente os Pentium Deram caros, mas com o lançamento do Core 2 Duo eles caíram de preço epassaram a ser usados até mesmo em micros de baixo custo. Os Pentium Deram vendidos sob um sistema de numeração e não sob a freqüência real declock. O Pentium D 820, por exemplo, opera a 2.8 GHz, enquanto o 840 operaa 3.2 GHz.Em 2003 a Intel lançou o Pentium M, um chip derivado da antiga arquitetura doPentium III, que consome pouca energia, esquenta pouco e mesmo assimoferece um excelente desempenho. Um Pentium M de 1.4 GHz chega asuperar um Pentium 4 de 2.6 GHz em diversas aplicações.O Pentium M foi desenvolvido originalmente para ser usado em notebooks,mas se mostrou tão eficiente que acabou sendo usado como base para odesenvolvimento da plataforma Core, usada nos processadores Core 2 Duofabricados atualmente pela Intel. O Pentium 4 acabou se revelando um becosem saída, descontinuado e condenado ao esquecimento.Paralelamente a todos esses processadores, temos o Celeron, uma versãomais barata, mas com um desempenho um pouco inferior, por ter menos cacheou outras limitações. Na verdade, o Celeron não é uma família separada dechips, mas apenas um nome comercial usado nas versões mais baratas (commetade ou um quarto do cache) de vários processadores Intel. ExistemCelerons baseados no Pentium II, Pentium III, Pentium 4, Pentium M e tambémo Celeron 4xx, que é uma versão single-core (e com menos cache) do Core 2Duo.Para efeito de comparação, entre os chips antigos e os atuais, um 486 tinhacerca de 1 milhão de transistores e chegou a 133 MHz, enquanto o PentiumMMX tinha 4.3 milhões e chegou a 233 MHz. Um Pentium 4 (Prescott) tem 125milhões e chegou aos 3.8 GHz, freqüência mais alta atingida por um 11
  • 12. processador Intel (ou AMD) lançado oficialmente até hoje, recorde que deveser quebrado apenas em 2008 ou 2009.O transístor é a unidade básica do processador, capaz de processar um bit decada vez. Mais transistores permitem que o processador processe maisinstruções de cada vez enquanto a freqüência de operação determina quantosciclos de processamento são executados por segundo.Continuando, temos os processadores da AMD. Ela começou produzindoprocessadores 386 e 486, muito similares aos da Intel, porém mais baratos.Quando a Intel lançou o Pentium, que exigia o uso de novas placas-mãe, aAMD lançou o "5x86", um 486 de 133 MHz, que foi bastante popular, servindocomo uma opção barata de upgrade. Embora o "5x86" e o clock de 133 MHzdessem a entender que se tratava de um processador com um desempenhosimilar a um Pentium 133, o desempenho era muito inferior, mal concorrendocom um Pentium 66. Este foi o primeiro de uma série de exemplos, tanto dolado da AMD, quanto do lado da Intel, em que existiu uma diferença gritanteentre o desempenho de dois processadores do mesmo clock. Embora seja umitem importante, a freqüência de operação não é um indicador direto dodesempenho do processador.Uma analogia poderia ser feita em relação aos motores de carro. Os motoresde 1.6 do final da década de 70, usados nas Brasílias e nos Fuscas, tinham 44cavalos de potência, enquanto os motores 1.0 atuais chegam a mais de 70cavalos. Além da capacidade cúbica, existem muitos outros fatores, como aeficiência do sistema de injeção de ar e combustível, taxa de compressão,refrigeração, etc.Depois do 5x68 a AMD lançou o K5, um processador similar ao Pentium, masque não fez tanto sucesso. Ele foi seguido pelo K6 e mais tarde pelo K6-2, quenovamente fez bastante sucesso, servido como uma opção de processador debaixo custo e, ao mesmo tempo, como uma opção de upgrade para quem tinhaum Pentium ou Pentium MMX.Esta era do K6-2 foi uma época negra da informática, não pelo processador emsi (que excluindo o desempenho em jogos, tinha um bom custo-benefício), maspelas placas-mãe baratas que inundaram o mercado. Aproveitando o baixocusto do processador, os fabricantes passaram a desenvolver placas cada vezmais baratas (e de qualidade cada vez pior) para vender mais, oferecendo PCsde baixo custo. A época foi marcada por aberrações. Um certo fabricantechegou a lançar uma família de placas sem cache L2, que pifavam em médiadepois de um ano de uso.As coisas voltaram aos trilhos com o Athlon, que foi o primeiro grandeprocessador (tanto em desempenho, quanto em tamanho :) da AMD. A primeiraversão usava um formato de cartucho (slot A) similar ao Pentium II, masincompatível com as placas para ele. Ele foi sucedido pelo Athlon Thunderbird,que passou a usar o formato de soquete utilizado (com atualizações) até osdias de hoje. 12
  • 13. Athlon XP, para placas soquete ACompetindo com o Celeron, a AMD produziu o Duron, um processador debaixo custo, idêntico ao Athlon, mas com menos cache. Em 2005 o Athlon foidescontinuado e o cargo foi herdado pelo Sempron, uma versão aperfeiçoadado Duron (com mais cache e capaz de atingir freqüências mais altas), quepassou a ser vendido segundo um índice de desempenho (em relação aoPentium 4) e não mais segundo o clock real.Por volta de 2000, surgiram as primeiras notícias do "SledgeHammer", umprocessador de 64 bits, que foi finalmente lançado em versão doméstica naforma do Athlon 64, que passou a ser o topo de linha da AMD. Apesar dasmudanças internas, o Athlon 64 continua sendo compatível com os programasde 32 bits, da mesma forma que os processadores atuais são capazes de rodarsoftwares da época do 386, muito embora tenham incorporado diversos novosrecursos.Na prática, o fato de ser um processador de 64 bits não torna o Athlon 64gritantemente mais rápido, mesmo em aplicativos otimizados (os ganhos dedesempenho surgem mais devido ao controlador de memória integrado e aosnovos registradores). A principal vantagem dos processadores de 64 bits éderrubar uma limitação inerente a todos os processadores de 32 bits, que sãocapazes de acessar apenas 4 GB de memória RAM, um limite que está setornando cada vez mais uma limitação grave em várias áreas.Os 4 GB de memória podem não parecer um obstáculo imediato, mas lembre-se de que há duas décadas os PCs eram vendidos com 128 KB de memória,há uma década já vinham com 4 ou 8 MB, e hoje são vendidos com 512 MB oumais.O Athlon 64 deu origem ao Athlon X2, o primeiro processador dual-core daAMD, onde temos dois processadores Athlon 64 no mesmo encapsulamento,dividindo a carga de processamento e também o Turion, que é uma versão debaixo custo do Athlon 64, destinado a notebooks. 13
  • 14. MemóriaDepois do processador, temos a memória RAM, usada por ele para armazenaros arquivos e programas que estão sendo executados, como uma espécie demesa de trabalho. A quantidade de memória RAM disponível tem um grandeefeito sobre o desempenho, já que sem memória RAM suficiente o sistemapassa a usar memória swap, que é muito mais lenta.A principal característica da memória RAM é que ela é volátil, ou seja, os dadosse perdem ao reiniciar o micro. É por isso que ao ligar é necessário semprerefazer todo o processo de carregamento, em que o sistema operacional eaplicativos usados são transferidos do HD para a memória, onde podem serexecutados pelo processador.Os chips de memória são vendidos na forma de pentes de memória. Existempentes de várias capacidades, e normalmente as placas possuem dois ou trêsencaixes disponíveis. Você pode instalar um pente de 512 MB junto com o de256 MB que veio no micro para ter um total de 768 MB, por exemplo. Módulo DDRAo contrário do processador, que é extremamente complexo, os chips dememória são formados pela repetição de uma estrutura bem simples, formadapor um par de um transístor e um capacitor. Um transístor solitário é capaz deprocessar um único bit de cada vez, e o capacitor permite armazenar ainformação por um certo tempo. Essa simplicidade faz com que os pentes dememória sejam muito mais baratos que os processadores, principalmente selevarmos em conta o número de transistores.Um pente de 1 GB é geralmente composto por 8 chips, cada um deles com umtotal de 1024 megabits, o que equivale a 1024 milhões de transistores. UmAthlon 64 X2 tem "apenas" 233 milhões e custa bem mais caro que um pentede memória.Existem basicamente dois tipos de memória em uso: SDR e DDR. As SDR sãoo tipo tradicional, onde o controlador de memória realiza apenas uma leiturapor ciclo, enquanto as DDR são mais rápidas, pois fazem duas leituras por 14
  • 15. ciclo. O desempenho não chega a dobrar, pois o acesso inicial continuademorando o mesmo tempo, mas melhora bastante.Os pentes de memória SDR são usados em micros antigos: Pentium II ePentium III e os primeiros Athlons e Durons soquete A. Por não serem maisfabricados, eles são atualmente muito mais raros e caros que os DDR, algosemelhante ao que aconteceu com os antigos pentes de 72 vias, usados naépoca do Pentium 1.É fácil diferenciar os pentes SDR e DDR, pois os SDR possuem dois chanfrose os DDR apenas um. Essa diferença faz com que também não seja possíveltrocar as bolas, encaixando por engano um pente DDR numa placa-mãe queuse SDR e vice-versa (a menos que você use um alicate e um martelo, mas aplaca provavelmente não vai funcionar mais depois ;).Mais recentemente, temos assistido a uma nova migração, com a introduçãodos pentes de memória DDR2. Neles, o barramento de acesso à memóriatrabalha ao dobro da freqüência dos chips de memória propriamente ditos. Issopermite que sejam realizadas duas operações de leitura por ciclo, acessandodois endereços diferentes.Como a capacidade de realizar duas transferências por ciclo introduzida nasmemórias DDR foi preservada, as memórias DDR2 são capazes de realizar umtotal de 4 operações de leitura por ciclo, uma marca impressionante :). Existemainda alguns ganhos secundários, como o menor consumo elétrico, útil emnotebooks.Os pentes de memória DDR2 são incompatíveis com as placas-mãe antigas.Eles possuem um número maior de contatos (um total de 240, contra 184 dospentes DDR), e o chanfro central é posicionado de forma diferente, de formaque não seja possível instalá-los nas placas antigas por engano. Muitos pentessão vendidos com um dissipador metálico, que ajuda na dissipação do calor epermite que os módulos operem a freqüências mais altas. Módulo DDR2Algumas placas (geralmente modelos de baixo custo) possuem dois tipos desoquete, permitindo usar módulos SDR e DDR, DDR e DDR2 ou DDR2 eDDR3 de acordo com a conveniência, mas sem misturar os dois tipos. Elas sãocomuns durante os períodos de transição, quando uma tecnologia de memória 15
  • 16. é substituída por outra e podem ser uma opção interessante, já que permitemaproveitar os módulos antigos.De qualquer forma, apesar de toda a evolução a memória RAM continua sendomuito mais lenta que o processador. Para atenuar a diferença, são usados doisníveis de cache, incluídos no próprio processador: o cache L1 e o cache L2.O cache L1 é extremamente rápido, trabalhando próximo à freqüência nativado processador. Na verdade, os dois trabalham na mesma freqüência, mas sãonecessários alguns ciclos de clock para que a informação armazenada no L1chegue até as unidades de processamento. No caso do Pentium 4, chega-seao extremo de armazenar instruções já decodificadas no L1: elas ocupam maisespaço, mas eliminam este tempo inicial.De uma forma geral, quanto mais rápido o cache, mais espaço ele ocupa emenos é possível incluir no processador. É por isso que o Pentium 4 incluiapenas um total de 20 KB desse cache L1 ultra-rápido, contra os 128 KB docache um pouco mais lento usado no Sempron.Em seguida vem o cache L2, que é mais lento tanto em termos de tempo deacesso (o tempo necessário para iniciar a transferência) quanto em largura debanda, mas é bem mais econômico em termos de transistores, permitindo queseja usado em maior quantidade.O volume de cache L2 usado varia muito de acordo com o processador.Enquanto a maior parte dos modelos do Sempron utilizam apenas 256 KB, osmodelos mais caros do Core 2 Duo possuem 4 MB completos.HDNo final das contas, a memória RAM funciona como uma mesa de trabalho,cujo conteúdo é descartado a cada boot. Temos em seguida o disco rígido,também chamado de hard disk (o termo em Inglês), HD ou até mesmo de"disco duro" pelos nossos primos lusitanos. Ele serve como unidade dearmazenamento permanente, guardando dados e programas.O HD armazena os dados em discos magnéticos que mantêm a gravação porvários anos. Os discos giram a uma grande velocidade e um conjunto decabeças de leitura, instaladas em um braço móvel faz o trabalho de gravar ouacessar os dados em qualquer posição nos discos. Junto com o CD-ROM, oHD é um dos poucos componentes mecânicos ainda usados nos micros atuaise, justamente por isso, é o que normalmente dura menos tempo (em média detrês a cinco anos de uso contínuo) e que inspira mais cuidados. 16
  • 17. Mecanismo interno do HDNa verdade, os discos magnéticos dos HDs são selados, pois a superfíciemagnética onde são armazenados os dados é extremamente fina e sensível.Qualquer grão de poeira que chegasse aos discos poderia causar danos àsuperfície, devido à enorme velocidade de rotação dos discos. Fotos em que oHD aparece aberto são apenas ilustrativas, no mundo real ele é apenas umacaixa fechada sem tanta graça.Apesar disso, é importante notar que os HDs não são fechadoshermeticamente, muito menos a vácuo, como muitos pensam. Um pequenofiltro permite que o ar entra e saia, fazendo com que a pressão interna sejasempre igual à do ambiente. O ar é essencial para o funcionamento do HD, jáque ele é necessário para criar o "colchão de ar" que evita que as cabeças deleitura toquem os discos.Tradicionalmente, o sistema operacional era sempre instalado no HD antes depoder ser usado. Enquanto está trabalhando, o sistema precisa freqüentementemodificar arquivos e configurações, o que seria impossível num CD-ROM, jáque os dados gravados nele não podem ser alterados.Isso mudou com o aparecimento do Knoppix, Kurumin e outras distribuiçõesLinux que rodam diretamente do CD-ROM. Neste caso, um conjunto demodificações "enganam" o sistema, fazendo com que ele use a maior parte dosarquivos (os que não precisam ser alterados) a partir do CD-ROM, e o restante(os que realmente precisam ser alterados) a partir da memória RAM.Isto tem algumas limitações: as configurações são perdidas ao desligar (amenos que você as salve em um pendrive ou em uma pasta do HD), pois tudoé armazenado na memória RAM, cujo conteúdo é sempre perdido ao desligar omicro. 17
  • 18. Mas, voltando à função do HD, imagine que, como a memória RAM é cara,você compra sempre uma quantidade relativamente pequena, geralmente de512 MB a 2 GB, de acordo com a aplicação a que o micro se destina e ao seubolso. Por outro lado, você dificilmente vai encontrar um HD com menos que 80ou 120 GB à venda. Ou seja, temos centenas de vezes mais espaço no HD doque na memória RAM.Bem antigamente, nos anos 80, época dos primeiros PCs, você só podia rodarprogramas que coubessem na memória RAM disponível. Naquela época, amemória RAM era muito mais cara que hoje em dia, então o mais comum erausar 256 ou 512 KB (sim, kbytes, duas mil vezes menos que usamos hoje,tempos difíceis aqueles :). Os mais abonados tinham dinheiro para comprar ummegabyte inteiro, mas nada além disso.Se você quisesse rodar um programa com mais de 256 KB, tinha que comprarmais memória, não tinha conversa. Sem outra escolha, os programadores seesforçavam para deixar seus programas o mais compactos possíveis para queeles rodassem nos micros com menos memória.Mais tarde, quando a Intel estava desenvolvendo o 386, foi criado o recurso dememória virtual, que permite simular a existência de mais memória RAM,utilizando espaço do HD. A memória virtual pode ser armazenada em umarquivo especialmente formatado no HD, ou em uma partição dedicada (comono caso do Linux) e a eficiência com que ela é usada varia bastante de acordocom o sistema operacional, mas ela permite que o sistema continuefuncionando, mesmo com pouca memória disponível.O problema é que o HD é muito mais lento que a memória RAM. Enquanto umsimples módulo DDR2-533 (PC2-4200) comunica-se com o processador a umavelocidade teórica de 4200 megabytes por segundo, a velocidade de leiturasequencial dos HDs atuais (situação em que o HD é mais rápido) dificilmenteultrapassa a marca dos 100 MB/s.Existe um comando no Linux que serve para mostrar de forma rápida odesempenho do HD, o "hdparm". Quando o rodo no meu micro, que usa umHD SATA relativamente recente, ele diz o seguinte:# hdparm -t /dev/sda/dev/sda: Timing buffered disk reads: 184 MB in 3.02 seconds = 60.99 MB/secNo Windows, você pode medir a taxa de leitura sequencial do HD usando o HDTach, disponível no http://www.simplisoftware.com/. Não se surpreenda com oresultado. Como disse, o HD é muito lento se comparado à memória.Para piorar as coisas, o tempo de acesso do HD (o tempo necessário paralocalizar a informação e iniciar a transferência) é absurdamente mais alto que oda memória RAM. Enquanto na memória falamos em tempos de acessoinferiores a 10 nanosegundos (milionésimos de segundo), a maioria dos HDstrabalha com tempos de acesso superiores a 10 milissegundos. Isso faz comque o desempenho do HD seja muito mais baixo ao ler pequenos arquivosespalhados pelo disco, como é o caso da memória virtual. Em muitas 18
  • 19. situações, o HD chega ao ponto de não ser capaz de atender a mais do queduas ou três centenas de requisições por segundo.A fórmula é simples: quanto menos memória RAM, mais memória swap(memória virtual) é usada e mais lento o sistema fica. O processador, coitado,não pode fazer nada além de ficar esperando a boa vontade do HD em mandarà conta-gotas os dados de que ele precisa para trabalhar. Ou seja, quandovocê compra um micro com um processador de 3 GHz e 256 MB de RAM, vocêestá literalmente jogando dinheiro no lixo, pois o processador vai ficar boa partedo tempo esperando pelo HD. Vender micros novos com 256, ou pior, comapenas 128 MB de RAM, é uma atrocidade que deveria ser classificada comocrime contra a humanidade. ;)Por outro lado, quando você tem instalado mais memória do que o sistemarealmente precisa, é feito o inverso. Ao invés de copiar arquivos da memóriapara o HD, arquivos do HD, contendo os programas, arquivos e bibliotecas quejá foram anteriormente abertos é que são copiados para a memória, fazendocom que o acesso a eles passe a ser instantâneo. Os programas e arquivospassam a ser abertos de forma gritantemente mais rápida, como se vocêtivesse um HD muito mais rápido do que realmente é.Esse recurso é chamado de cache de disco e (sobretudo no Linux) égerenciado de forma automática pelo sistema, usando a memória disponível.Naturalmente, o cache de disco é descartado imediatamente quando amemória precisa ser usada para outras coisas. Ele é apenas uma forma deaproveitar o excedente de memória, sem causar nenhum efeito desagradável.Ironicamente, a forma mais eficiente de melhorar o desempenho do HD, namaioria das aplicações, é instalar mais memória, fazendo com que umaquantidade maior de arquivos possa ser armazenada no cache de disco. É porisso que servidores de arquivos, servidores proxy e servidores de banco dedados costumam usar muita memória RAM, em muitos casos 4 GB ou mais.Uma outra forma de melhorar o desempenho do HD é usar RAID, onde dois ouquatro HDs passam a ser acessados como se fossem um só, multiplicando avelocidade de leitura e gravação. Esse tipo de RAID, usado para melhorar odesempenho, é chamado de RAID 0. Existe ainda o RAID 1, onde são usadosdois HDs, mas o segundo é uma cópia exata do primeiro, que garante que osdados não sejam perdidos no caso de algum problema mecânico em qualquerum dos dois. O RAID tem se tornado um recurso relativamente popular, já queatualmente a maioria das placas-mãe já vêm com controladoras RAID onboard. 19
  • 20. Placa de vídeoDepois do processador, memória e HD, a placa de vídeo é provavelmente ocomponente mais importante do PC. Originalmente, as placas de vídeo eramdispositivos simples, que se limitavam a mostrar o conteúdo da memória devídeo no monitor. A memória de vídeo continha um simples bitmap da imagematual, atualizada pelo processador, e o RAMDAC (um conversor digital-analógico que faz parte da placa de vídeo) lia a imagem periodicamente e aenviava ao monitor.A resolução máxima suportada pela placa de vídeo era limitada pelaquantidade de memória de vídeo. Na época, memória era um artigo caro, deforma que as placas vinham com apenas 1 ou 2 MB. As placas de 1 MBpermitiam usar no máximo 800x600 com 16 bits de cor, ou 1024x768 com 256cores. Estavam limitadas ao que cabia na memória de vídeo.Esta da foto a seguir é uma Trident 9440, uma placa de vídeo muito comum noinício dos anos 90. Uma curiosidade é que ela foi uma das poucas placas devídeo "atualizáveis" da história. Ela vinha com apenas dois chips de memória,totalizando 1 MB, mas era possível instalar mais dois, totalizando 2 MB. Hojeem dia, atualizar a memória da placa de vídeo é impossível, já que as placasutilizam módulos BGA, que podem ser instalados apenas em fábrica. Trident 9440Em seguida, as placas passaram a suportar recursos de aceleração, quepermitem fazer coisas como mover janelas ou processar arquivos de vídeo deforma a aliviar o processador principal. Esses recursos melhoram bastante avelocidade de atualização da tela (em 2D), tornando o sistema bem maisresponsivo.Finalmente, as placas deram o passo final, passando a suportar recursos 3D.Imagens em três dimensões são formadas por polígonos, formas geométricascomo triângulos e retângulos em diversos formatos. Qualquer objeto em umgame 3D é formado por um grande número destes polígonos, Cada polígonotem sua posição na imagem, um tamanho e cor específicos. O "processador" 20
  • 21. incluído na placa, responsável por todas estas funções é chamado de GPU(Graphics Processing Unit, ou unidade de processamento gráfico). Quase todo o processamento da imagem em games 3D é feito pela placa 3DPara tornar a imagem mais real, são também aplicadas texturas sobre opolígonos. Uma textura nada mais é do que uma imagem 2D comum, aplicadasobre um conjunto de polígonos. O uso de texturas permite que um murorealmente tenha o aspecto de um muro de pedras, por exemplo, já quepodemos usar a imagem de um muro real sobre os polígonos.O uso das texturas não está limitado apenas a superfícies planas. Éperfeitamente possível moldar uma textura sobre uma esfera, por exemplo.Quanto maior o número de polígonos usados e melhor a qualidade das texturasaplicadas sobre eles, melhor será a qualidade final da imagem. Veja umexemplo de aplicação de texturas: 21
  • 22. Polígonos e imagem finalizada (cortesia da nVidia)O processo de criação de uma imagem tridimensional é dividido em trêsetapas, chamadas de desenho, geometria e renderização. Na primeira etapa,é criada uma descrição dos objetos que compõem a imagem, ou seja: quaispolígonos fazem parte da imagem, qual é a forma e tamanho de cada um, qualé a posição de cada polígono na imagem, quais serão as cores usadas e,finalmente, quais texturas e quais efeitos 3D serão aplicados. Depois de feito o"projeto" entramos na fase de geometria, onde a imagem é efetivamente criadae armazenada na memória da placa 3D.Ao final da etapa de geometria, todos os elementos que compõem a imagemestão prontos. O problema é que eles estão armazenados na memória da placade vídeo na forma de um conjunto de operações matemáticas, coordenadas etexturas, que ainda precisam ser transformadas na imagem que será exibida nomonitor. É aqui que chegamos à parte mais complexa e demorada do trabalho,que é a renderização da imagem.Essa última etapa consiste em transformar as informações armazenadas namemória em uma imagem bidimensional que será mostrada no monitor. Oprocesso de renderização é muito mais complicado do que parece; énecessário determinar (a partir do ponto de vista do espectador) quaispolígonos estão visíveis, aplicar os efeitos de iluminação adequados, etc. 22
  • 23. Apesar de o processador também ser capaz de criar imagens tridimensionais,trabalhando sozinho ele não é capaz de gerar imagens de qualidade a grandesvelocidades (como as demandadas por jogos complexos), pois tais imagensexigem um número absurdo de cálculos e processamento. Para piorar aindamais a situação, o processador tem que ao mesmo tempo executar váriasoutras tarefas relacionadas com o aplicativo.As placas aceleradoras 3D, por sua vez, possuem processadores dedicados,cuja função é unicamente processar as imagens, o que podem fazer com umavelocidade incrível, deixando o processador livre para executar outras tarefas.Com elas, é possível construir imagens tridimensionais com uma velocidadesuficiente para criar jogos complexos a um alto frame-rate.Depois dos jogos e aplicativos profissionais, os próximos a aproveitarem asfunções 3D das placas de vídeo foram os próprios sistemas operacionais. Aidéia fundamental é que, apesar de toda a evolução do hardware, continuamosusando interfaces muito similares às dos sistemas operacionais do final dadécada de 80, com janelas, ícones e menus em 2D. Embora o monitor continuesendo uma tela bidimensional, é possível criar a ilusão de um ambiente 3D, damesma forma que nos jogos, permitindo criar todo tipo de efeitos interessantese, em alguns casos, até mesmo úteis ;).No caso do Windows Vista temos o Aero, enquanto no Linux a solução maisusada é o AIGLX, disponível na maioria das distribuições atuais:Efeito de cubo do AIGLX, que permite alternar entre diversos desktops virtuaisCom a evolução das placas 3D, os games passaram a utilizar gráficos cadavez mais elaborados, explorando os recursos das placas recentes. Isso criouum círculo vicioso, que faz com que você precise de uma placa razoavelmenterecente para jogar qualquer game atual.As placas 3D atuais são praticamente um computador à parte, pois além daqualidade generosa de memória RAM, acessada através de um barramentomuito mais rápido que a do sistema, o chipset de vídeo é muito mais complexo 23
  • 24. e absurdamente mais rápido que o processador principal no processamento degráficos. O chipset de uma GeForce 7800 GT, por exemplo, é composto por302 milhões de transistores, mais do que qualquer processador da época emque foi lançada.As placas 3D offboard também incluem uma quantidade generosa de memóriade vídeo (512 MB ou mais nos modelos mais recentes), acessada através deum barramento muito rápido. O GPU (o chipset da placa) é também muitopoderoso, de forma que as duas coisas se combinam para oferecer umdesempenho monstruoso.Com a introdução do PCI Express, surgiu também a possibilidade de instalarduas, ou até mesmo quatro placas, ligadas em SLI (no caso das placas nVidia)ou CrossFire (no caso das placas AMD/ATI), o que oferece um desempenhopróximo do dobro (ou do quádruplo) obtido por uma placa isolada. Aqui, porexemplo, temos duas placas AMD/ATI X1950 em modo CrossFire: CrossFire com duas placas AMD/ATI X1950Longe do mundo brilhante das placas de alto desempenho, temos as placasonboard, que são de longe as mais comuns. Elas são soluções bem maissimples, onde o GPU é integrado ao próprio chipset da placa-mãe e, em vez deutilizar memória dedicada, como nas placas offboard, utiliza parte da memóriaRAM principal, que é "roubada" do sistema.Mesmo uma placa antiga, como a GeForce 4 Ti4600, tem 10.4 GB/s debarramento com a memória de vídeo, enquanto ao usar um pente de memóriaDDR PC 3200, temos apenas 3.2 GB/s de barramento na memória principal,que ainda por cima precisa ser compartilhado entre o vídeo e o processadorprincipal. O processador lida bem com isso, graças aos caches L1 e L2, mas aplaca de vídeo realmente não tem para onde correr. É por isso que os chipsetsde vídeo onboard são normalmente bem mais simples: mesmo um chip caro ecomplexo não ofereceria um desempenho muito melhor, pois o grande limitanteé o acesso à memória.De uma forma geral, as placas de vídeo onboard (pelo menos os modelos quedispõem de drivers adequados) atuais atendem bem às tarefas do dia-a-dia,com a grande vantagem do custo. Elas também permitem rodar os games mais 24
  • 25. antigos, apesar de, naturalmente, ficarem devendo nos lançamentos recentes.As placas mais caras são reservadas a quem realmente faz questão de rodaros games recentes com uma boa qualidade. Existem ainda modelos de placas3D específicos para uso profissional, como as nVidia Quadro. 25
  • 26. Placa-mãeA placa-mãe é o componente mais importante do micro, pois é ela aresponsável pela comunicação entre todos os componentes. Pela enormequantidade de chips, trilhas, capacitores e encaixes, a placa-mãe também é ocomponente que, de uma forma geral, mais dá defeitos. É comum que um slotPCI pare de funcionar (embora os outros continuem normais), que instalar umpente de memória no segundo soquete faça o micro passar a travar, embora omesmo pente funcione perfeitamente no primeiro e assim por diante.A maior parte dos problemas de instabilidade e travamentos são causados porproblemas diversos na placa-mãe, por isso ela é o componente que deve serescolhido com mais cuidado. Em geral, vale mais a pena investir numa boaplaca-mãe e economizar nos demais componentes, do que o contrário.A qualidade da placa-mãe é de longe mais importante que o desempenho doprocessador. Você mal vai perceber uma diferença de 20% no clock doprocessador, mas com certeza vai perceber se o seu micro começar a travar ouse a placa de vídeo onboard não tiver um bom suporte no Linux, por exemplo.Ao montar um PC de baixo custo, economize primeiro no processador, depoisna placa de vídeo, som e outros periféricos. Deixe a placa-mãe por último nocorte de despesas.Não se baseie apenas na marca da placa na hora de comprar, mas também nofornecedor. Como muitos componentes entram no país ilegalmente, "viaParaguai", é muito comum que lotes de placas remanufaturadas ou defeituosasacabem chegando ao mercado. Muita gente compra esses lotes, vende por umpreço um pouco abaixo do mercado e depois desaparece. Outras lojassimplesmente vão vendendo placas que sabem ser defeituosas até acharemalgum cliente que não reclame. Muitas vezes os travamentos da placa sãoconfundidos com "paus do Windows", de forma que sempre aparece algumdesavisado que não percebe o problema.Antigamente existia a polêmica entre as placas com ou sem componentesonboard. Hoje em dia isso não existe mais, pois todas as placas vêm com some rede onboard. Apenas alguns modelos não trazem vídeo onboard, atendendoao público que vai usar uma placa 3D offboard e prefere uma placa mais barataou com mais slots PCI do que com o vídeo onboard que, de qualquer forma,não vai usar.Os conectores disponíveis na placa estão muito relacionados ao nível deatualização do equipamento. Placas atuais incluem conectores PCI Expressx16, usados para a instalação de placas de vídeo offboard, slots PCI Expressx1 e slots PCI, usados para a conexão de periféricos diversos. Placas antigasnão possuem slots PCI Express nem portas SATA, oferecendo no lugar um slotAGP para a conexão da placa de vídeo e duas ou quatro portas IDE para ainstalação dos HDs e drives ópticos. 26
  • 27. Temos ainda soquetes para a instalação dos módulos de memória, o soquetedo processador, o conector para a fonte de alimentação e o painel traseiro, queagrupa os encaixes dos componentes onboard, incluindo o conector VGA ouDVI do vídeo, conectores de som, conector da rede e as portas USB.O soquete (ou slot) para o processador é a principal característica da placa-mãe, pois indica com quais processadores ela é compatível. Você não podeinstalar um Athlon X2 em uma placa soquete A (que é compatível com osantigos Athlons, Durons e Semprons antigos), nem muito menos encaixar umSempron numa placa soquete 478, destinada aos Pentium 4 e Celeronsantigos. O soquete é na verdade apenas um indício de diferenças mais"estruturais" na placa, incluindo o chipset usado, o layout das trilhas de dados,etc. É preciso desenvolver uma placa quase que inteiramente diferente parasuportar um novo processador.Existem dois tipos de portas para a conexão do HD: as portas IDE tradicionais,de 40 pinos (chamadas de PATA, de "Parallel ATA") e os conectores SATA(Serial ATA), que são muito menores. Muitas placas recentes incluem um únicoconector PATA e quatro conectores SATA. Outras incluem as duas portas IDEtradicionais e dois conectores SATA, e algumas já passam a trazer apenasconectores SATA, deixando de lado os conectores antigos.Existem ainda algumas placas "legacy free", que eliminam também osconectores para o drive de disquete, portas seriais e porta paralela, incluindoapenas as portas USB. Isso permite simplificar o design das placas, reduzindoo custo de produção para o fabricante. 27
  • 28. Placa soquete 775Tudo isso é montado dentro do gabinete, que contém outro componenteimportante: a fonte de alimentação. A função da fonte é transformar a correntealternada da tomada em corrente contínua (AC) já nas tensões corretas,usadas pelos componentes. Ela serve também como uma última linha dedefesa contra picos de tensão e instabilidade na corrente, depois do nobreakou estabilizador.Embora quase sempre relegada a último plano, a fonte é outro componenteessencial num PC atual. Com a evolução das placas de vídeo e dosprocessadores, os PCs consomem cada vez mais energia. Na época dos 486,as fontes mais vendidas tinham 200 watts ou menos, enquanto as atuais têm apartir de 450 watts. Existem ainda fontes de maior capacidade, especiais paraquem quer usar duas placas 3D de ponta em SLI, que chegam a oferecer 1000watts!Uma fonte subdimensionada não é capaz de fornecer energia suficiente nosmomentos de pico, causando desde erros diversos, provocados por falhas nofornecimento (o micro trava ao tentar rodar um game pesado, ou trava sempredepois de algum tempo de uso, por exemplo), ou, em casos mais graves, atémesmo danos aos componentes. Uma fonte de má qualidade, obrigada a 28
  • 29. trabalhar além do suportado, pode literalmente explodir, danificando a placa-mãe, memórias, HDs e outros componentes sensíveis. Micro montadoEvite comprar fontes muito baratas e, ao montar um micro mais parrudo, invistanuma fonte de maior capacidade.Não se esqueça também do aterramento, que é outro fator importante, masfreqüentemente esquecido. O fio terra funciona como uma rota de fuga parapicos de tensão provenientes da rede elétrica. A eletricidade flui de uma formasimilar à água: vai sempre pelo caminho mais fácil. Sem ter para onde ir, umraio vai torrar o estabilizador, a fonte de alimentação e, com um pouco mais deazar, a placa-mãe e o resto do micro. O fio terra evita isso, permitindo que aeletricidade escoe por um caminho mais fácil, deixando todo o equipamentointacto.O fio terra é simplesmente uma barra de cobre com dois a três metros decomprimento, que é cravada no solo, no meio de um buraco de 20 cm delargura, preenchido com sal grosso e carvão. Naturalmente, instalar o terra étrabalho para o eletricista, já que um aterramento mal feito pode ser maisprejudicial que não ter aterramento algum. Não acredite em crendices comousar um prego fincado na parede ou um cano metálico como aterramento.Sem o terra, o filtro de linha ou estabilizador perde grande parte de sua função,tornando-se mais um componente decorativo, que vai ser torrado junto com oresto do equipamento, do que uma proteção real.Nas grandes cidades, é relativamente raro que os micros realmente queimempor causa de raios, pois os transformadores e disjuntores oferecem umaproteção razoável. Mas, pequenos picos de tensão são responsáveis porpequenos danos nos pentes de memória e outros componentes sensíveis, 29
  • 30. danos que se acumulam, comprometendo a estabilidade e abreviando a vidaútil do equipamento.A longo prazo, o investimento na instalação do terra e melhorias na instalaçãoelétrica acabam se pagando com juros, principalmente se você tem mais de ummicro.Hardware x SoftwareOs computadores são muito bons em armazenar informações e fazer cálculos,mas não são capazes de tomar decisões sozinhos. Sempre existe um serhumano orientando o computador e dizendo a ele o que fazer a cada passo.Seja você mesmo, teclando e usando o mouse, ou, num nível mais baixo, oprogramador que escreveu os programas que você está usando.Chegamos então aos softwares, gigantescas cadeias de instruções quepermitem que os computadores façam coisas úteis. É aí que entra o sistemaoperacional e, depois dele, os programas que usamos no dia-a-dia.Um bom sistema operacional é invisível. A função dele é detectar e utilizar ohardware da máquina de forma eficiente, fornecendo uma base estável sobre aqual os programas que utilizamos no cotidiano possam ser usados. Como dizLinus Torvalds, as pessoas não usam o sistema operacional, usam osprogramas instalados. Quando você se lembra que está usando um sistemaoperacional, é sinal de que alguma coisa não está funcionando como deveria.O sistema operacional permite que o programador se concentre em adicionarfunções úteis, sem ficar se preocupando com que tipo de placa de vídeo ouplaca de som você tem. O programa diz que quer mostrar uma janela na tela eponto; o modelo de placa de vídeo que está instalado e que comandos sãonecessários para mostrar a janela são problema do sistema operacional.Para acessar a placa de vídeo, ou qualquer outro componente instalado, osistema operacional precisa de um driver, que é um pequeno programa quetrabalha como um intérprete, permitindo que o sistema converse com odispositivo. Cada placa de vídeo ou som possui um conjunto próprio derecursos e comandos que permitem usá-los. O driver converte esses diferentescomandos em comandos padrão, que são entendidos pelo sistemaoperacional.Embora as duas coisas sejam igualmente importantes, existe uma distinçãoentre o "hardware", que inclui todos os componentes físicos, como oprocessador, memória, placa-mãe, etc. e o "software", que inclui o sistemaoperacional, os programas e todas as informações armazenadas. Como diz asabedoria popular, "hardware é o que você chuta, e software é o que vocêxinga". :p 30
  • 31. ArquiteturasNos primórdios da informática, nas décadas de 50, 60 e 70, vários fabricantesdiferentes disputavam o mercado. Cada um desenvolvia seus próprioscomputadores, que eram incompatíveis entre si. Tanto o hardware quanto ossoftwares para cada arquitetura não funcionavam nas outras. Isso causavauma ineficiência generalizada, pois cada fabricante tinha que desenvolver tudo,da placa-mãe ao sistema operacional.No começo dos anos 80, os fabricantes começaram a se especializar. Surgiuentão a plataforma PC, uma arquitetura aberta que permite o uso de periféricosde diversos fabricantes e de diferentes sistemas operacionais.O principal concorrente é a Apple, que produz os Macs. Ao contrário dos PCs,eles possuem uma arquitetura fechada. A Apple desenvolve tanto oscomputadores quanto o sistema operacional.Naturalmente muita coisa é terceirizada, e várias empresas desenvolvemprogramas e acessórios, mas como a Apple precisa manter o controle de tudoe desenvolver muita coisa por conta própria, o custo dos Macs acaba sendomais alto que o dos PCs. Isso faz com que (embora tenham seus atrativos)eles sejam muito menos populares. Atualmente os Macs possuem menos de3% do mercado mundial, o que significa uma proporção de mais de 30 PCspara cada Mac.No início da década de 80, a concorrência era mais acirrada, e muitos achavamque o modelo da Apple poderia prevalecer, mas não foi o que aconteceu.Dentro da história da informática temos inúmeras histórias que mostram que ospadrões abertos quase sempre prevalecem. Um ambiente onde existem váriasempresas concorrendo entre si favorece o desenvolvimento de produtosmelhores, o que cria uma demanda maior e, graças à economia de escala,permite preços mais baixos.Como os micros PC possuem uma arquitetura aberta, diversos fabricantesdiferentes podem participar, desenvolvendo seus próprios componentesbaseados em padrões já definidos. Temos então uma lista enorme decomponentes compatíveis entre si, o que permite escolher as melhores opçõesentre diversas marcas e modelos de componentes.Qualquer novo fabricante, com uma placa-mãe mais barata ou um processadormais rápido, por exemplo, pode entrar no mercado, é apenas uma questão decriar a demanda necessária. A concorrência faz com que os fabricantes sejamobrigados a trabalhar com uma margem de lucro relativamente baixa,ganhando com base no volume de peças vendidas, o que é muito bom paranós que compramos. 31
  • 32. Um pouco sobre redesMontar uma rede já foi complicado e caro. Hoje em dia, praticamente todas asplacas-mãe trazem placas de rede onboard, e os cabos e switchs sãoextremamente baratos, o que fez com que as redes se tornassemextremamente comuns, permitindo compartilhar a conexão com a internet,transferir arquivos, compartilhar impressoras e assim por diante. Como não falosobre a configuração de redes em outros tópicos do livro, vou aproveitar parafazer um apanhado geral sobre o assunto.O uso mais corriqueiro é compartilhar a conexão com a internet. Você temapenas uma linha ADSL ou apenas uma assinatura do serviço de acesso viacabo e pode acessar, ao mesmo tempo, a partir de todos os micros que tiverem sua casa ou empresa. Neste caso um dos micros atua como um ponto deencontro, enviando os pedidos de todos para a internet e devolvendo asrespostas. Além de compartilhar a conexão, este servidor pode compartilhararquivos, servir como firewall (protegendo a rede de acessos externos), rodarum proxy (que permite criar um cache de arquivos e páginas acessados,melhorando a velocidade da conexão), além de outros serviços.Outra necessidade comum é compartilhar arquivos. Antigamente (naquelaépoca em que os micros tinham 512 KB de memória e os homens eramhomens e escreviam seus próprios sistemas operacionais) era usado oprotocolo DPL/DPC (disquete pra lá, disquete pra cá), mas ele não era muitoeficiente, principalmente quando o amigo que estava esperando os arquivosestava em outra cidade.Hoje em dia, você pode compartilhar arquivos entre micros Windowssimplesmente ativando o "Compartilhamento de arquivos para redes Microsoft"e o "Cliente para redes Microsoft" nas propriedades da rede e compartilhandoas pastas desejadas (que passam a aparecer no ambiente de rede para osoutros micros). No Linux, você pode compartilhar arquivos usando o Samba(que permite que os compartilhamentos sejam acessados também pormáquinas Windows), NFS ou mesmo via SFTP (o módulo de transferência dearquivos do SSH).Os componentes básicos da rede são uma placa de rede para cada micro, oscabos e o hub ou switch que serve como um ponto de encontro, permitindo quetodos os micros se enxerguem e conversem entre si. As placas de rede jáforam componentes caros, mas como elas são dispositivos relativamentesimples e o funcionamento é baseado em padrões abertos, qualquer um podeabrir uma fábrica de placas de rede, o que faz com que exista umaconcorrência acirrada que obriga os fabricantes a produzirem placas cada vezmais baratas e trabalhem com margens de lucro cada vez mais estreitas. Asplacas de rede mais baratas chegam a ser vendidas no atacado por menos detrês dólares. O preço final é um pouco mais alto naturalmente, mas não é difícilachar placas por 20 reais ou até menos. 32
  • 33. Placa de rede PCITemos três padrões de redes Ethernet: de 10 megabits, 100 megabits e 1gigabit. As placas são intercompatíveis, mas, ao usar placas de velocidadesdiferentes, as duas vão conversar na velocidade da placa mais lenta.As redes de 10 megabits são obsoletas, mas ainda é possível encontrar muitasinstalações antigas por aí. Caso a rede já use cabos de categoria 5 (o númerovem decalcado no cabo), é possível fazer um upgrade direto para 100megabits, trocando apenas o hub e as placas. Cabo de rede categoria 5eLembre-se de que a velocidade das placas é calculada em bits e não em bytes.Uma rede de 100 megabits permite uma taxa de transmissão (teórica) de 12.5MB/s. Como além dos dados são transmitidas outras informações (a estruturados pacotes, retransmissões, códigos de correção de erros, etc.), a velocidadena prática fica sempre um pouco abaixo disso. Normalmente é possíveltransferir arquivos a no máximo 10.5 MB/s, com a taxa máxima variandosutilmente de acordo com a placa e o sistema operacional usado.A opção para quem precisa de mais velocidade são as redes Gigabit Ethernet,que transmitem a até 1000 megabits (125 megabytes) por segundo. As placasgigabit atuais são compatíveis com os mesmos cabos de par trançadocategoria 5, usados pelas placas de 100 megabits, por isso a diferença decusto fica por conta apenas das placas e do switch. Como hoje em dia amaioria das placas-mãe incluem chipsets de rede gigabit onboard e os switchstambém estão caindo de preço, elas estão se tornando cada vez mais comuns.Os cabos de rede também são um artigo relativamente barato. Os cabos decategoria 5, que usamos em redes de 100 ou 1000 megabits geralmentecustam em torno de 80 centavos o metro, com mais alguns centavos porconector. Os cabos de categoria 5e são construídos dentro de normas umpouco mais estritas e normalmente custam o mesmo preço, por isso sãosempre preferíveis. 33
  • 34. Você pode comprar quantos metros de cabo quiser, junto com o númeronecessário de conectores, e crimpar os cabos você mesmo, ou pode comprá-los já prontos. É no caso dos cabos já crimpados que o preço começa a variarde forma mais expressiva. Algumas lojas chegam a crimpar os cabos na hora,cobrando apenas o valor do material, enquanto outras vendem os cabos porpreços exorbitantes. Cabos de rede de diferentes coresPara crimpar os cabos de rede, o primeiro passo é descascar os cabos,tomando cuidado para não ferir os fios internos, que são frágeis. Normalmente,o alicate inclui uma saliência no canto da guilhotina, que serve bem para isso.Existem também descascadores de cabos específicos para cabos de rede. Descascando o cabo de rede usando a saliência no próprio alicateÉ possível comprar alicates de crimpagem razoáveis por pouco mais de 50reais, mas existem alicates de crimpagem para uso profissional que custambem mais. Existem ainda "alicates" mais baratos, com o corpo feito de plástico,que são mais baratos, mas não valem o papelão da embalagem. Alicates de 34
  • 35. crimpagem precisam ser fortes e precisos, por isso evite produtos muitobaratos.Os quatro pares do cabo são diferenciados por cores. Um par é laranja, outro éazul, outro é verde e o último é marrom. Um dos cabos de cada par tem umacor sólida e o outro é mais claro ou malhado, misturando a cor e pontos debranco. É pelas cores que diferenciamos os 8 fios.O segundo passo é destrançar os cabos, deixando-os soltos. Eu prefirodescascar um pedaço grande do cabo, uns 6 centímetros, para poder organizaros cabos com mais facilidade e depois cortar o excesso, deixando apenas ameia polegada de cabo que entrará dentro do conector. O próprio alicate decrimpagem inclui uma guilhotina para cortar os cabos, mas você pode usaruma tesoura se preferir.Existem dois padrões para a ordem dos fios dentro do conector, o EIA 568B (omais comum) e o EIA 568A. A diferença entre os dois é que a posição dospares de cabos laranja e verde são invertidos dentro do conector.Existe muita discussão em relação com qual dos dois é "melhor", mas naprática não existe diferença de conectividade entre os dois padrões. A únicaobservação é que você deve cabear toda a rede utilizando o mesmo padrão.Como o EIA 568B é de longe o mais comum, recomendo-o que você utilize-oao crimpar seus próprios cabos. Muitos cabos são certificados para apenas umdos dois padrões; caso encontre instruções referentes a isso nasespecificações, ou decalcadas no próprio cabo, crimpe os cabos usando opadrão indicado.No padrão EIA 568B, a ordem dos fios dentro do conector (em ambos os ladosdo cabo) é a seguinte: 1- Branco com Laranja 2- Laranja 3- Branco com Verde 4- Azul 5- Branco com Azul 6- Verde 7- Branco com Marrom 8- MarromOs cabos são encaixados nesta ordem, com a trava do conector virada parabaixo, como neste diagrama:Ou seja, se você olhar o conector "de cima", vendo a trava, o par de fios laranjaestará à direita e, se olhar o conector "de baixo", vendo os contatos, elesestarão à esquerda. 35
  • 36. No caso de um cabo "reto" (straight), que vai ser usado para ligar o micro aohub, você usa esta mesma disposição nas duas pontas do cabo. Existe aindaum outro tipo de cabo, chamado de "cross-over", que permite ligar diretamentedois micros, sem precisar do hub. Ele é uma opção mais barata quando vocêtem apenas dois micros. Neste tipo de cabo a posição dos fios é diferente nosdois conectores, de um dos lados a pinagem é a mesma de um cabo de redenormal, enquanto no outro a posição dos pares verde e laranja são trocados.Daí vem o nome cross-over, que significa, literalmente, "cruzado na ponta".Para fazer um cabo cross-over, você crimpa uma das pontas seguindo opadrão EIA 568B que vimos acima e a outra utilizando o padrão EIA 568A,onde são trocadas as posições dos pares verde e laranja: 1- Branco com Verde 2- Verde 3- Branco com Laranja 4- Azul 5- Branco com Azul 6- Laranja 7- Branco com Marrom 8- MarromEsta mudança faz com que os fios usados para transmitir dados em um dosmicros sejam conectados aos pinos receptores do outro, permitindo que elesconversem diretamente. A maioria dos hub/switchs atuais é capaz de"descruzar" os cabos automaticamente quando necessário, permitindo quevocê misture cabos normais e cabos cross-over dentro do cabeamento da rede.Graças a isso, a rede vai funcionar mesmo que você use um cabo cross-overpara conectar um dos micros ao hub por engano.Na hora de crimpar é preciso fazer um pouco de força para que o conectorfique firme. A função do alicate é fornecer pressão suficiente para que os pinosdo conector RJ-45 (que internamente possuem a forma de lâminas) esmaguemos fios do cabo, alcançando o fio de cobre e criando o contato. Você deveretirar apenas a capa externa do cabo e não descascar individualmente os fios,pois isso, ao invés de ajudar, serviria apenas para causar mau contato,deixando frouxo o encaixe com os pinos do conector. 36
  • 37. Crimpando o caboÉ preciso um pouco de atenção ao cortar e encaixar os fios dentro do conector,pois eles precisam ficar perfeitamente retos. Isso demanda um pouco deprática. No começo, você vai sempre errar algumas vezes antes de conseguir.Veja que o que protege os cabos contra as interferências externas sãojustamente as tranças. A parte destrançada que entra no conector é o pontofraco do cabo, onde ele é mais vulnerável a todo tipo de interferência. Por isso,é recomendável deixar um espaço menor possível sem as tranças. Paracrimpar cabos dentro do padrão, você precisa deixar menos de meia polegadade cabo (1.27 cm) destrançado. Você só vai conseguir isso cortando o excessode cabo solto antes de encaixar o conector, como na foto:O primeiro teste para ver se os cabos foram crimpados corretamente éconectar um dos micros (ligado) ao hub e ver se os LEDs da placa de rede e dohub acendem. Isso mostra que os sinais elétricos enviados estão chegando atéo hub e que ele foi capaz de abrir um canal de comunicação com a placa. Se 37
  • 38. os LEDs nem acenderem, então não existe o que fazer. Corte os conectores etente de novo. Infelizmente, os conectores são descartáveis: depois de crimparerrado uma vez, você precisa usar outro novo, aproveitando apenas o cabo.Mais um motivo para prestar atenção. ;)Os cabos de rede devem ter um mínimo de 30 centímetros e um máximo de100 metros, distância máxima que o sinal elétrico percorre antes que comece ahaver uma degradação que comprometa a comunicação.Todas as placas são ligadas ao hub, ou ao switch, que serve como umacentral, de onde os sinais de um micro são retransmitidos para os demais. Épossível também ligar vários hubs ou switchs entre si (até um máximo de 7),formando redes maiores. Um exemplo de hub/switch baratoA diferença entre um hub e um switch é que o hub apenas retransmite tudo oque recebe para todos os micros conectados a ele, é um tagarela. Isso faz comque apenas um micro consiga transmitir dados de cada vez e que todas asplacas precisem operar na mesma velocidade (sempre nivelada por baixo, casovocê coloque um micro com uma placa de 10 megabits na rede, a rede todapassará a trabalhar a 10 megabits).Os switchs, por sua vez, são aparelhos mais inteligentes. Eles fecham canaisexclusivos de comunicação entre o micro que está enviando dados e o queestá recebendo, permitindo que vários pares de micros troquem dados entre siao mesmo tempo. Isso melhora bastante a velocidade em redescongestionadas, com muitos micros.Antigamente, existia uma grande diferença de preço entre os hubs burros e osswitchs, mas os componentes caíram tanto de preço que a partir de um certoponto a diferença se tornou insignificante, e os fabricantes passaram a fabricarapenas switchs, que por sua vez dividem-se em duas categorias: os switchs"de verdade", aparelhos caros, capazes de gerenciar o tráfego de umaquantidade maior de micros e que possuem várias ferramentas degerenciamento e os "hub-switchs", os modelos mais simples e baratos, queusamos no dia-a-dia. 38
  • 39. Configuração da redeAssim como quase tudo na informática, as redes funcionam graças a umamistura de hardware e software. A parte "física" da rede, que inclui as placas,cabos e switchs é responsável por transportar os sinais elétricos de um microao outro. Para que eles possam efetivamente se comunicar, é necessárioutilizar um conjunto de normas e protocolos, que especificam como enviarinformações e arquivos. Chegamos então ao TCP/IP, o protocolo comum quepermite que computadores rodando diferentes programas e sistemasoperacionais falem a mesma língua.Pense nas placas, hubs e cabos como o sistema telefônico e no TCP/IP comoa língua falada que você usa para realmente se comunicar. Não adianta nadaligar para alguém na China que não saiba falar Português. Sua voz vai chegaraté lá, mas a pessoa do outro lado não vai entender nada. Além da língua emsi, existe um conjunto de padrões, como por exemplo dizer "alô" ao atender otelefone, dizer quem é, se despedir antes de desligar, etc.Ligar os cabos e ver se os leds do hub e das placas estão acesos é o primeiropasso. O segundo é configurar os endereços da rede para que os microspossam conversar entre si, e o terceiro é finalmente compartilhar a internet,arquivos, impressoras e o que mais você quer que os outros micros da redetenham acesso.Graças ao TCP/IP, tanto o Windows quanto o Linux e outros sistemasoperacionais em uso são intercompatíveis dentro da rede. Não existe problemapara as máquinas com o Windows acessarem a internet através da conexãocompartilhada no Linux, por exemplo.Independentemente do sistema operacional usado, as informações básicaspara que ele possa acessar a internet através da rede são:- Endereço IP: Os endereços IP identificam cada micro na rede. A regra básicaé que cada micro deve ter um endereço IP diferente, e todos devem usarendereços dentro da mesma faixa.O endereço IP é dividido em duas partes. A primeira identifica a rede à qual ocomputador está conectado (necessário, pois numa rede TCP/IP podemos tervárias redes conectadas entre si, veja o caso da internet), e a segundaidentifica o computador (chamado de host) dentro da rede. É como se o mesmoendereço contivesse o número do CEP (que indica a cidade e a rua) e onúmero da casa.A parte inicial do endereço identifica a rede, enquanto a parte final identifica ocomputador dentro da rede. Quando temos um endereço "192.168.0.1", porexemplo, temos o micro "1" dentro da rede "192.168.0". Quando alguém diz"uso a faixa 192.168.0.x na minha rede", está querendo dizer justamente queapenas o último número muda de um micro para outro. 39
  • 40. Na verdade, os endereços IP são números binários, de 32 bits. Para facilitar aconfiguração e a memorização dos endereços, eles são quebrados em 4números de 8 bits cada um. Os 8 bits permitem 256 combinações diferentes,por isso usamos 4 números de 0 a 255 para representá-los.Todos os endereços IP válidos na internet possuem dono. Seja algumaempresa ou alguma entidade certificadora que os fornece junto com novoslinks. Por isso não podemos utilizar nenhum deles a esmo.Quando você conecta na internet, seu micro recebe um (e apenas um)endereço IP válido, emprestado pelo provedor de acesso, algo como porexemplo "200.220.231.34". É através desse número que outros computadoresna Internet podem enviar informações e arquivos para o seu.Quando quiser configurar uma rede local, você deve usar um dos endereçosreservados, endereços que não existem na internet e que por isso podemosutilizar à vontade em nossas redes particulares. Algumas das faixas reservadasde endereços são: 10.x.x.x, 172.16.x.x até 172.31.x.x e 192.168.0.x até192.168.255.xVocê pode usar qualquer uma dessas faixas de endereços na sua rede. Umafaixa de endereços das mais usadas é a 192.168.0.x, onde o "192.168.0." vaiser igual em todos os micros da rede e muda apenas o último número, quepode ser de 1 até 254 (o 0 e o 255 são reservados para o endereço da rede epara o sinal de broadcast). Se você tiver 4 micros na rede, os endereços delespodem ser, por exemplo, 192.168.0.1, 192.168.0.2, 192.168.0.3 e 192.168.0.4.- Máscara de sub-rede: A máscara é um componente importante do endereçoIP. É ela que explica para o sistema operacional como é feita a divisão doendereço, ou seja, quais dos 4 octetos compõem o endereço da rede e quaiscontêm o endereço do host, isto é, o endereço de cada micro dentro da rede.Ao contrário do endereço IP, que é formado por valores entre 0 e 255, amáscara de sub-rede é formada por apenas dois valores: 0 e 255, como em255.255.0.0 ou 255.0.0.0, onde um valor 255 indica a parte do endereço IPreferente à rede, e um valor 0 indica a parte do endereço IP referente ao hostdentro da rede.Se você está usando a faixa 192.168.0.x, por exemplo, que é um endereço declasse C, então a máscara de sub-rede vai ser 255.255.255.0 para todos osmicros. Você poderia usar uma máscara diferente: 255.255.0.0 ou mesmo255.0.0.0, desde que a máscara seja a mesma em todos os micros.Se você tiver dois micros, 192.168.0.1 e 192.168.0.2, mas um configurado coma máscara "255.255.255.0" e o outro com "255.255.0.0", você terá na verdadeduas redes diferentes. Um dos micros será o "1" conectado na rede"192.168.0", e o outro será o "0.2", conectado na rede "192.168".- Default Gateway (gateway padrão): Quando você se conecta à internetatravés de um provedor de acesso qualquer, você recebe apenas um endereçoIP válido. A princípio, isso permitiria que apenas um micro acessasse a web, 40
  • 41. mas é possível compartilhar a conexão entre vários micros via NAT, opçãodisponível tanto no Windows quanto no Linux.Quando você compartilha a conexão entre vários micros, apenas o servidorque está compartilhando a conexão possui um endereço IP válido, só ele"existe" na internet. Todos os demais acessam através dele. O default gatewayou gateway padrão é justamente o micro da rede que tem a conexão, é ele queos outros consultarão quando precisarem acessar qualquer coisa na internet.Por exemplo, se você montar uma rede doméstica com 4 PCs, usando osendereços IP 192.168.0.1, 192.168.0.2, 192.168.0.3 e 192.168.0.4, e o PC192.168.0.1 estiver compartilhando o acesso à internet, as outras três estaçõesdeverão ser configuradas para utilizar o endereço 192.168.0.1 como gatewaypadrão.- Servidor DNS: Memorizar os 4 números de um endereço IP é muito maissimples do que memorizar o endereço binário. Mas, mesmo assim, fora osendereços usados na sua rede interna, é complicado sair decorando um montede endereços diferentes.O DNS (domain name system) permite usar nomes amigáveis em vez deendereços IP para acessar servidores, um recurso básico que existepraticamente desde os primórdios da internet. Quando você se conecta àinternet e acessa o endereço http://www.guiadohardware.net, é um servidorDNS que converte o "nome fantasia" no endereço IP real do servidor,permitindo que seu micro possa acessar o site.Para tanto, o servidor DNS mantém uma tabela com todos os nomes fantasia,relacionados com os respectivos endereços IP. A maior dificuldade em manterum servidor DNS é justamente manter esta tabela atualizada, pois o serviçotem que ser feito manualmente. Dentro da internet, temos várias instituiçõesque cuidam dessa tarefa. No Brasil, por exemplo, temos a FAPESP. Pararegistrar um domínio é preciso fornecer à FAPESP o endereço IP real doservidor onde a página ficará hospedada. A FAPESP cobra uma taxa demanutenção anual de R$ 30 por esse serviço. Servidores DNS também sãomuito usados em intranets, para tornar os endereços mais amigáveis e fáceisde guardar.Faz parte da configuração da rede informar os endereços DNS do provedor (ouqualquer outro servidor que você tenha acesso), que é para quem seu micro iráperguntar sempre que você tentar acessar qualquer coisa usando um nome dedomínio e não um endereço IP. O jeito mais fácil de conseguir os endereços doprovedor é simplesmente ligar para o suporte e perguntar.O ideal é informar dois endereços, assim se o primeiro estiver fora do ar, vocêcontinua acessando através do segundo. Também funciona com um endereçosó, mas você perde a redundância. Exemplos de endereços de servidores DNSsão: 200.204.0.10 e 200.204.0.138. 41
  • 42. Um exemplo de configuração de rede completa para um dos micros da rede,que vai acessar a internet através do micro que está compartilhando a conexãoseria: IP: 192.168.0.2 Máscara: 255.255.255.0 Gateway: 192.168.0.1 (o endereço do micro compartilhando a conexão) DNS: 200.204.0.10 200.204.0.138O micro que está compartilhando a conexão, por sua vez, terá duas placas derede, uma para a internet e outra para a rede local, por isso vai ter umaconfiguração separada para cada uma. A configuração da internet é feita daforma normal, de acordo com o tipo de conexão que você usa, e a configuraçãoda rede interna segue o padrão que vimos até aqui.É possível usar também um servidor DHCP, que faz com que os clientespossam obter a configuração da rede automaticamente, a partir do servidor.Hoje em dia, mesmo os modems ADSL mais simples oferecem a opção deativar um servidor DHCP, onde você só precisa especificar a faixa deendereços que será fornecida aos clientes. Também é possível ativar o DHCPao compartilhar a conexão, tanto no Linux, quanto no Windows.Aqui temos um exemplo de configuração do servidor DHCP, num modemADSL Kayomi LP-AL2011P. Assim como outros modems atuais, ele possuiuma interface de administração que pode ser acessada via navegador, atravésde outro micro da rede: 42
  • 43. Redes wirelessApesar de inicialmente muito mais caras, as redes wireless estão gradualmentecaindo de preço e se popularizando. Além da questão da praticidade, as redeswireless podem ser utilizadas em casos onde, por um motivo ou outro, não éviável usar cabos.Em uma rede wireless, o hub é substituído pelo ponto de acesso (access-point em inglês). Ele tem basicamente a mesma função: retransmitir os pacotesde dados, de forma que todos os micros da rede os recebam. Em geral ospontos de acesso possuem uma saída para serem conectados num hubtradicional, permitindo que você "junte" os micros da rede cabeada com os queestão acessando através da rede wireless, formando uma única rede.Ao contrário dos hubs, os pontos de acesso são dispositivos inteligentes, quepodem ser configurados através de uma interface de administração via web.Você se conecta num endereço específico usando o navegador (que muda deaparelho para aparelho, mas pode ser encontrado facilmente no manual), loga-se usando uma senha padrão e altera as configurações (e senhas!) de acordocom as necessidades da sua rede. Ponto de acesso wirelessAo contrário de uma rede cabeada (onde podemos utilizar um switch), emqualquer rede wireless a banda da rede é compartilhada entre os micros queestiverem transmitindo dados simultaneamente. Isso acontece por que nãoexistem cabos independentes ligando o ponto de acesso a cada micro, mas umúnico meio de transmissão (o ar), o que faz com que a rede opere como setodos os micros estivessem ligados ao mesmo cabo. Enquanto um transmite,os outros esperam. Conforme aumenta o número de micros e aumenta otráfego da rede, mais cai o desempenho.Outra questão é que a potência do sinal decai conforme aumenta a distância,enquanto a qualidade decai pela combinação do aumento da distância e dos 43
  • 44. obstáculos pelo caminho. É por isso que num campo aberto o alcance serámuito maior do que dentro de um prédio, por exemplo.Conforme a potência e a qualidade do sinal se degradam, o ponto de acessopode diminuir a velocidade de transmissão, a fim de melhorar a confiabilidadeda transmissão. A velocidade pode cair para 5.5 megabits, 2 megabits ouchegar a apenas 1 megabit por segundo antes que o sinal se percacompletamente.Existem três padrões diferentes de rede wireless em uso. O primeiro (e maislento) é o 802.11b, onde a rede opera a uma taxa teórica de 11 megabits.O seguinte é o 802.11a, que ao contrário do que o nome dá a entender, é maisrecente que o 802.11b. As redes 802.11a são mais rápidas (54 megabits) e sãomais resistentes a interferências, pois operam na faixa de freqüência dos 5GHz, em vez dos 2.4 GHz usados no 802.11b. A desvantagem é que, pelomesmo motivo (a freqüência mais alta), o alcance das redes 802.11a é menor,cerca de metade do alcance de uma rede 802.11b. As placas 802.11a sãorelativamente raras e, como a maioria é capaz de operar nos dois padrões,muitas delas acabam operando a 11 megabits, juntando-se a redes 802.11b jáexistentes.Finalmente, temos o 802.11g, o padrão atual. Ele junta o melhor dos doismundos, operando a 54 megabits, como no 802.11a, e trabalhando na mesmafaixa de freqüência do 802.11b (2.4 GHz), o que mantém o alcance inicial. Paraque a rede funcione a 54 megabits, é necessário que tanto o ponto de acesso,quanto todas as placas sejam 802.11g, caso contrário a rede inteira passa aoperar a 11 megabits, a fim de manter compatibilidade com as placas antigas.Muitos pontos de acesso permitem desativar esse recurso, fazendo com que asplacas de 11 megabits simplesmente fiquem fora da rede, sem prejudicar odesempenho das demais.As redes wireless também são redes Ethernet e também usam o TCP/IP. Mas,além da configuração dos endereços IP, máscara, gateway, etc., feita damesma forma que numa rede cabeada, temos um conjunto de parâmetrosadicional.A configuração da rede wireless é feita em duas etapas. Primeiro você precisaconfigurar o ESSID, o canal e (caso usada encriptação) a chave WEP ou WPAque dá acesso à rede.O ESSID é uma espécie de nome de rede. Dois pontos de acesso, instaladosna mesma área, mas configurados com dois ESSIDs diferentes formam duasredes separadas, permitindo que a sua rede não interfira com a do vizinho, porexemplo. Mesmo que existam várias redes na mesma sala, indicar o ESSIDpermite que você se conecte à rede correta.Em seguida temos o canal, que novamente permite que vários pontos deacesso dentro da mesma área trabalhem sem interferir entre si. Temos um totalde 16 canais (numerados de 1 a 16), mas a legislação de cada país permite ouso de apenas alguns deles. Nos EUA, por exemplo, é permitido usar apenas 44
  • 45. do 1 ao 11 e na França apenas do 10 ao 13. Essa configuração de país édefinida na configuração do ponto de acesso.O ESSID sozinho provê uma segurança muito fraca, pois qualquer um quesoubesse o nome da rede poderia se conectar a ele ou mesmo começar aescutar todas as conexões. Embora o alcance normal de uma rede wireless,usando as antenas padrão das placas e os pontos de acesso, normalmentenão passe de 30 ou 50 metros (em ambientes fechados) usando antenasmaiores, de alto ganho e conseguindo uma rota sem obstáculos, é possívelcaptar o sinal de muito longe, chegando a 2 ou até mesmo a 5 km, de acordocom a potência de sinal do ponto de acesso usado.Como é praticamente impossível impedir que outras pessoas captem o sinal dasua rede, a melhor solução é encriptar as informações, de forma que ela nãotenha utilidade fora do círculo autorizado a acessar a rede.Existem atualmente três padrões de encriptação, o WEP de 64 bits, o WEP de128 bits e o WPA, o padrão mais recente e mais seguro.Embora nenhum dos três seja livre de falhas, elas são uma camada essencialde proteção, que evita que sua rede seja um alvo fácil. É como as portas deuma casa. Nenhuma porta é impossível de arrombar, mas você não gostaria demorar numa casa sem portas. O WEP é relativamente fácil de quebrar, usandoferramentas como o kismet e ao aircrack, mas o WPA pode ser consideradorelativamente seguro.Ao usar WEP, você define uma chave de 10 (WEP de 64 bits) ou 26 (WEP de128 bits) caracteres em hexa, onde podem ser usados números de 0 a 9 e asletras A, B, C, D, E e F. Também é possível usar caracteres ASCII (incluindoacentuação e todo tipo de caracteres especiais); nesse caso as chaves terãorespectivamente 5 e 13 caracteres.A regra básica é que os micros precisam possuir a chave correta para seassociarem ao ponto de acesso e acessarem a rede. Em geral os pontos deacesso permitem que você especifique várias chaves diferentes, de forma quecada micro pode usar uma diferente.Capítulo 1:54 anos de história: do ENIAC ao AthlonAssim como em outras áreas, os computadores começaram como aparelhosrudimentares, que eram capazes de desempenhar apenas tarefas muitosimples. Mesmo componentes básicos, como o HD e outros tipos de unidadede armazenamento foram introduzidos apenas muito mais tarde.Estudar sobre a história da informática permite entender melhor como os PCsatuais funcionam, já que uma coisa é consequência da outra. Do ENIAC,construído em 1945, até os processadores modernos, tivemos um longo 45
  • 46. caminho. Este capítulo é justamente um "resumo da ópera", que resume ahistória da informática, das válvulas e relês até o Athlon, lançado em 1999,passando pelos computadores das décadas de 50, 60 e 70, os primeiroscomputadores pessoais e a era dos processadores modernos, que começoucom o 386.Os primórdiosA história da informática nos remete ao final do século XIX. Na época dosnossos tataravôs, os computadores já existiam, apesar de extremamenterudimentares. Eram os computadores mecânicos, que realizavam cálculosatravés de um sistema de engrenagens, acionado por uma manivela ou outrosistema mecânico qualquer. Esse tipo de sistema, comum na forma de caixasregistradoras, predominou até o início da década de 70, quando ascalculadoras portáteis se popularizaram.No final do século XIX, surgiu o relê, um dispositivo eletromecânico, formadopor um magneto móvel, que se deslocava unindo dois contatos metálicos. Orelê foi muito usado no sistema telefônico, no tempo das centrais analógicas.Nas localidades mais remotas, algumas continuam em atividade até os dias dehoje. relêOs relês podem ser considerados como uma espécie de antepassados dostransístores. Suas limitações eram o fato de serem relativamente caros,grandes demais e, ao mesmo tempo, muito lentos: um relê demora mais de ummilésimo de segundo para fechar um circuito.Apesar disso, os relês são usados até hoje em alguns dispositivos. Umexemplo são os modems discados, onde o relê é usado para ativar o uso dalinha telefônica, ao discar. Eles são usados também em estabilizadores enobreaks (geralmente nos modelos de baixo custo), onde são os responsáveispelos "clicks" que você ouve durante as variações de tensão.O fato de usar relês e fazer barulho, não é um indício de qualidade doestabilizador ou nobreak (muito pelo contrário), mas infelizmente muitaspessoas associam isso com o fato do aparelho estar funcionando, o que fazcom que produtos de baixa qualidade continuem sendo produzidos e vendidos. 46
  • 47. Voltando à história, também no final do século XIX, surgiram as primeirasválvulas. As válvulas foram usadas para criar os primeiros computadoreseletrônicos, na década de 40.As válvulas têm seu funcionamento baseado no fluxo de elétrons no vácuo.Tudo começou numa certa tarde quando Thomas Edson, inventor da lâmpadaelétrica, estava brincando com a sua invenção. Ele percebeu que, ao ligar alâmpada ao pólo positivo de uma bateria e uma placa metálica ao pólonegativo, era possível medir uma certa corrente fluindo do filamento dalâmpada até a chapa metálica, mesmo que não existisse contato entre eles.Havia sido descoberto o efeito termoiônico, o princípio de funcionamento dasválvulas.As válvulas já eram bem mais rápidas que os relês, atingiam freqüências dealguns megahertz, o problema é que esquentavam demais, consumiam muitaeletricidade e se queimavam com facilidade. Era fácil usar válvulas em rádios,que utilizavam poucas, mas construir um computador, que usava milharesdelas era extremamente complicado e caro.Apesar de tudo isso, os primeiros computadores começaram a surgir durante adécada de 40, naturalmente com propósitos militares. Os principais usos erama codificação e a decodificação de mensagens e cálculos de artilharia.O ENIACSem dúvida, o computador mais famoso daquela época foi o ENIAC (ElectronicNumerical Integrator Analyzer and Computer), construído em 1945. O ENIACera composto por nada menos do que 17.468 válvulas, além de 1.500 relês eum grande número de capacitores, resistores e outros componentes.No total, ele pesava 30 toneladas e era tão volumoso que ocupava um grandegalpão. Outro grave problema era o consumo elétrico: um PC típico atual, comum monitor LCD, consome cerca de 100 watts de energia, enquanto o ENIACconsumia incríveis 200 kilowatts.Construir esse monstro custou ao exército Americano 468.000 dólares daépoca, que correspondem a pouco mais de US$ 10 milhões em valorescorrigidos.Porém, apesar do tamanho, o poder de processamento do ENIAC é ridículopara os padrões atuais, suficiente para processar apenas 5.000 adições, 357multiplicações ou 38 divisões por segundo. O volume de processamento doENIAC foi superado pelas calculadoras portáteis ainda na década de 70 e, hojeem dia, mesmo as calculadoras de bolso, das mais baratas, são bem maispoderosas do que ele.A idéia era construir um computador para quebrar códigos de comunicação erealizar vários tipos de cálculos de artilharia para ajudar as tropas aliadasdurante a Segunda Guerra Mundial. Porém, o ENIAC acabou sendo terminadoexatos 3 meses depois do final da guerra e foi usado durante a Guerra Fria,contribuindo por exemplo no projeto da bomba de hidrogênio. 47
  • 48. ENIAC (foto do acervo do Exército dos EUA)Se você acha que programar em C ou em Assembly é complicado, imaginecomo era a vida dos programadores daquela época. A programação do ENIACera feita através de 6.000 chaves manuais e, ao invés de ser feita através deteclas, toda a entrada de dados era feita através de cartões de cartolinaperfurados, que armazenavam poucas operações cada um.Uma equipe preparava os cartões, incluindo as operações a serem realizadas,formando uma pilha, outra ia trocando os cartões no leitor do ENIAC, e umaterceira "traduzia" os resultados, também impressos em cartões, para o padrãodecimal.O ENIAC também possuía sérios problemas de manutenção. A cada 5 minutos,em média, alguma das válvulas se queimava, tornando necessáriasmanutenções freqüentes. A seguir está a foto de uma válvula muito usada nadécada de 40: VálvulaVendo essa foto, é fácil imaginar por que as válvulas eram tão problemáticas ecaras: elas eram simplesmente complexas demais.Mesmo assim, na época, as válvulas eram o que existia de mais avançado,permitindo que computadores como o ENIAC executassem, em poucossegundos, cálculos que um matemático equipado com uma calculadoramecânica demorava horas para executar. 48
  • 49. O transistorDurante a década de 1940 e início da de 1950, a maior parte da indústriacontinuou trabalhando no aperfeiçoamento das válvulas, obtendo modelosmenores e mais confiáveis. Porém, vários pesquisadores, começaram aprocurar alternativas menos problemáticas.Várias dessas pesquisas tinham como objetivo o estudo de novos materiais,tanto condutores quanto isolantes. Os pesquisadores começaram então adescobrir que alguns materiais não se enquadravam nem em um grupo nemem outro, pois, de acordo com a circunstância, podiam atuar tanto comoisolantes quanto como condutores, formando uma espécie de grupointermediário que foi logo apelidado de grupo dos semicondutores.Haviam encontrado a chave para desenvolver o transístor. O primeiro protótiposurgiu em 16 de dezembro de 1947 (veja a foto a seguir), consistindo em umpequeno bloco de germânio (que na época era junto com o silício osemicondutor mais pesquisado) e três filamentos de ouro. Um filamento era opólo positivo, o outro, o pólo negativo, enquanto o terceiro tinha a função decontrole.Tendo apenas uma carga elétrica no pólo positivo, nada acontecia: o germânioatuava como um isolante, bloqueando a corrente. Porém, quando uma certatensão elétrica era aplicada usando o filamento de controle, um fenômenoacontecia e a carga elétrica passava a fluir para o pólo negativo. Haviam criadoum dispositivo que substituía a válvula, que não possuía partes móveis,gastava uma fração da eletricidade e, ao mesmo tempo, era muito mais rápido. O primeiro transístorO primeiro transístor era muito grande, mas não demorou muito para que essemodelo inicial fosse aperfeiçoado. Durante a década de 1950, o transístor foiaperfeiçoado e passou a gradualmente dominar a indústria, substituindo 49
  • 50. rapidamente as problemáticas válvulas. Os modelos foram diminuindo detamanho, caindo de preço e tornando-se mais rápidos. Alguns transístores daépoca podiam operar a até 100 MHz. Claro que essa era a freqüência quepodia ser alcançada por um transístor sozinho, nos computadores da época, afreqüência de operação era muito menor, já que em cada ciclo deprocessamento o sinal precisa passar por vários transístores.Mas, o grande salto foi a substituição do germânio pelo silício. Isso permitiuminiaturizar ainda mais os transístores e baixar seu custo de produção. Osprimeiros transístores de junção comerciais (já similares aos atuais) foramproduzidos a partir de 1960 pela Crystalonics, decretando o final da era dasválvulas.A idéia central no uso do silício para construir transístores é que, adicionandocertas substâncias em pequenas quantidades, é possível alterar aspropriedades elétricas do silício. As primeiras experiências usavam fósforo eboro, que transformavam o silício em condutor por cargas negativas ou emcondutor por cargas positivas, dependendo de qual dos dois materiais fosseusado. Essas substâncias adicionadas ao silício são chamadas de impurezas,e o silício "contaminado" por elas é chamado de silício dopado.O funcionamento de um transístor é bastante simples, quase elementar. Écomo naquele velho ditado "as melhores invenções são as mais simples". Asválvulas eram muito mais complexas que os transístores e, mesmo assim,foram rapidamente substituídas por eles.Um transístor é composto basicamente por três filamentos, chamados de base,emissor e coletor. O emissor é o pólo positivo, o coletor, o pólo negativo,enquanto a base é quem controla o estado do transístor, que como vimos,pode estar ligado ou desligado. Veja como esses três componentes sãoagrupados num transístor moderno: transístorQuando o transístor está desligado, não existe carga elétrica na base, por isso,não existe corrente elétrica entre o emissor e o coletor. Quando é aplicada umacerta tensão na base, o circuito é fechado e é estabelecida a corrente entre oemissor e o receptor.Cada transístor funciona como uma espécie de interruptor, que pode estarligado ou desligado, como uma torneira que pode estar aberta ou fechada, oumesmo como uma válvula. A diferença é que o transístor não tem partes 50
  • 51. móveis como uma torneira e é muito menor, mais barato, mais durável e muitomais rápido que uma válvula.A mudança de estado de um transístor é feita através de uma corrente elétrica.Cada mudança de estado pode então comandar a mudança de estado devários outros transístores ligados ao primeiro, permitindo o processamento dedados. Num transístor essa mudança de estado pode ser feita bilhões de vezespor segundo, porém, a cada mudança de estado é consumida uma certaquantidade de eletricidade, que é transformada em calor. É por isso que quantomais rápidos tornam-se os processadores, mais eles se aquecem e maisenergia consomem.Um 386, por exemplo, consumia pouco mais de 1 watt de energia e podiafuncionar sem nenhum tipo de resfriamento. Um 486DX-4 100 consumia cercade 5 watts e precisava de um cooler simples, enquanto um Athlon X2 chega aconsumir 89 watts de energia (no X2 5600+) e precisa de no mínimo um bomcooler para funcionar bem. Em compensação, a versão mais rápida do 386operava a apenas 40 MHz, enquanto os processadores atuais já superaram abarreira dos 3.0 GHz.O grande salto veio quando descobriu-se que era possível construir váriostransístores sobre o mesmo wafer de silício. Isso permitiu diminuir de formagritante o custo e tamanho dos computadores. Entramos então na era domicrochip.O primeiro microchip comercial foi lançado pela Intel em 1971 e chamava-se4004. Como o nome sugere, ele era um processador que manipulava palavrasde apenas 4 bits (embora já trabalhasse com instruções de 8 bits). Ele eracomposto por pouco mais de 2000 transístores e operava a apenas 740 kHz.Embora fosse muito limitado, ele foi muito usado em calculadoras, área em querepresentou uma pequena revolução. Mais do que isso, o sucesso do 4004mostrou a outras empresas que os microchips eram viáveis, criando umaverdadeira corrida evolucionária, em busca de processadores mais rápidos eavançados. Intel 4004Em 1972 surgiu o Intel 8008, o primeiro processador de 8 bits e, em 1974, foilançado o Intel 8080, antecessor do 8088, que foi o processador usado nos 51
  • 52. primeiros PCs. Em 1977 a AMD passou a vender um clone do 8080,inaugurando a disputa Intel x AMD, que continua até os dias de hoje. O 8080 da AMDUma observação é que o termo original, em inglês é "transistor", sem o acento.O problema é que em português pronunciamos "transístor" e não "transistor",por isso é comum que ao escrever em português o termo seja "aportuguesado"e escrito com o acento. O mesmo acontece com a palavra "micron", que émuitas vezes escrita com acento (mícron), indicando a pronúncia mais usada.Nestes casos você fica livre para escrever da forma que preferir.Como são fabricados os processadoresO componente básico para qualquer chip é o wafer de silício que é obtidoatravés da fusão do silício junto com os materiais que permitirão sua dopagemposteriormente. O silício é um dos materiais mais abundantes da natureza, ogrande problema é que os wafers de silício precisam ser compostos de silício99,9999% puro, o que demanda um caro e complicado processo depurificação. Qualquer impureza que passe despercebida nessa fase acabaráresultando em um chip defeituoso mais adiante.Inicialmente são produzidos cilindros, com de 20 a 30 centímetros de diâmetro,que são posteriormente cortados em fatias bastante finas:Essas "fatias" são polidas e tratadas, obtendo os wafers de silício. A qualidadedo wafer determinará o tipo de chip que poderá ser construído com base nele.Wafers de baixa qualidade, usados para construir circuitos rudimentares, compoucos milhares de transístores, podem ser comprados a preços bastantebaixos, a partir de milhares de fornecedores diferentes. Entretanto, paraproduzir um processador moderno, é preciso utilizar wafers de altíssimaqualidade, que são extremamente caros. 52
  • 53. Embora o silício seja um material extremamente barato e abundante, toda atecnologia necessária para produzir os wafers faz com que eles estejam entreos produtos mais caros produzidos pelo homem. Cada wafer de 30 centímetroscusta mais de 20 mil dólares para um fabricante como a Intel, mesmo quandocomprados em grande quantidade.Cada wafer é usado para produzir vários processadores, que no final daprodução são separados e encapsulados individualmente. Não seria possívelmostrar todos os processos usados na fabricação de um processador, maspara lhe dar uma boa idéia de como eles são produzidos, vou mostrar passo apasso a construção de um único transístor. Imagine que um Core 2 Duo possui291 milhões de transístores e cada wafer permite produzir algumas centenasde processadores.Tudo começa com o wafer de silício em seu estado original:A primeira etapa do processo é oxidar a parte superior do wafer,transformando-a em dióxido de silício. Isso é feito através da exposição dowafer a gases corrosivos e a altas temperaturas. A fina camada de dióxido desilício que se forma é que será usada como base para a construção dotransístor:Em seguida é aplicada uma camada bastante fina de um material fotossensívelsobre a camada de dióxido de silício.Usando uma máscara de litografia, é jogada luz ultravioleta apenas emalgumas áreas da superfície. A máscara tem um padrão diferente para cadaárea do processador, de acordo com o desenho que se pretende obter: 53
  • 54. A técnica usada aqui é chamada de litografia óptica. Existem diversasvariações da tecnologia, como a EUVL (Extreme Ultra Violet Lithography),usada nos processadores atuais. Quanto mais avançada a técnica usada,menores são os transístores, permitindo o desenvolvimento de processadoresmais complexos e rápidos.A camada fotossensível é originalmente sólida, mas ao ser atingida pela luzultravioleta transforma-se numa substância gelatinosa, que pode ser facilmenteremovida. Depois de remover as partes moles da camada fotossensível(através de um banho químico), temos algumas áreas do dióxido de silícioexpostas, e outras que continuam cobertas pelo que restou da camada:O wafer passa por um novo banho químico (baseado em compostosdiferentes), que remove as partes do dióxido de silício que não estãoprotegidas pela camada fotossensível. Apesar disso, o restante continuaintacto:Finalmente, é removida a parte que restou da camada fotossensível. Note que,como temos substâncias diferentes, é possível remover uma camada de cadavez, ora o dióxido de silício, ora a própria camada fotossensível. Com isto épossível "desenhar" as estruturas necessárias para formar os transístores: 54
  • 55. Cada transístor é formado para várias camadas, dependendo do projeto doprocessador. Neste exemplo, temos um transístor simples, mas osprocessadores atuais utilizam um numero muito maior de camadas, mais devinte em alguns casos, dependendo da densidade que o fabricante pretendealcançar.Começa então a construção da segunda camada do transístor. Inicialmente owafer passa novamente pelo processo de oxidação inicial, sendo coberto poruma nova camada (desta vez bem mais fina) de dióxido de silício. Note queapesar da nova camada de dióxido de silício, o desenho anterior é mantido.Em seguida é aplicada uma camada de cristal de silício sobre a estruturaanterior. Sobre ela é aplicada uma nova camada de material fotossensível, queserá usado na fase seguinte:O waffer passa novamente pelo processo de litografia, desta vez utilizandouma máscara diferente. O processo de fabricação das diferentes camadas doprocessador baseia-se justamente na repetição deste processo básico,alternando o uso de diferentes máscaras de litografia e banhos químicos: 55
  • 56. Novamente, a parte da camada fotossensível que foi exposta à luz é removida,deixando expostas partes das camadas de cristal de silício e dióxido de silício,que são removidas em seguida:Como na etapa anterior, é removido o que restou da camada fotossensível.Terminamos a construção da segunda camada do transístor:Chegamos a uma das principais etapas do processo de fabricação, que é aaplicação das impurezas, que transformarão partes do wafer de silício nummaterial condutor. Essas impurezas também são chamadas de íons. Note queos íons aderem apenas à camada de silício que foi exposta no processoanterior e não às camadas de dióxido de silício ou à camada de cristal desilício: 56
  • 57. É adicionada então uma terceira camada, composta por um tipo diferente decristal de silício, e novamente é aplicada a camada fotossensível sobre todo omaterial:O wafer passa novamente pelo processo de litografia, usando mais uma vezuma máscara diferente:As partes do material fotossensível expostas à luz são removidas, expondopartes das camadas inferiores, que são removidas em seguida:Temos agora pronta a terceira camada do transístor. Veja que a estrutura dotransístor já está quase pronta, faltando apenas os filamentos condutores: 57
  • 58. Uma finíssima camada de metal é aplicada sobre a estrutura anterior. Nosprocessadores atuais, que são produzidos através de uma técnica de produçãode 0.065 micron, essa camada metálica tem o equivalente a apenas 3 átomosde espessura.O processo de aplicação da camada fotossensível, de litografia e de remoçãodas camadas, é aplicado mais uma vez, com o objetivo de remover as partesindesejadas da camada de metal. Finalmente temos o transístor pronto.Cada processador é constituído por vários milhões de transístores, divididosem diversos grupos de componentes, entre eles as unidades de execução(onde as instruções são realmente processadas) e os caches. Como todoprocessador atual processa várias instruções por ciclo, são incluídos diversoscircuitos adicionais, que organizam e ordenam as instruções, de forma aaproveitar da melhor maneira possível os recursos disponíveis.Como você viu, embora absurdamente mais avançado, o processo defabricação dos processadores é muito similar ao processo de revelação defotos, onde a imagem do negativo é impressa no papel fotográfico usando luz.O "negativo" neste caso são as retículas (as máscaras de litografia).Embora nesse exemplo tenha mostrado a produção de um único transístor, naprodução real são usadas máscaras contendo todos os componentes doprocessador. No final do processo, teríamos um processador inteiro pronto, emtoda a sua complexidade, ao invés de um transístor solitário.No começo (início da década de 70), os filmes usados para produzir asmáscaras de litografia eram, literalmente, feitos a mão, usando rubylith, umfilme plástico de duas camadas, que é ainda usado por artistas gráficos. Oengenheiro cortava a camada superior usando um estilete, criando um desenhodas trilhas e outros componentes que seriam posteriormente "impressos" nowafer de silício formando o chip. Eram usadas várias máscaras diferentes, quedeveriam combinar-se com precisão absoluta. Esta é uma foto antiga, 58
  • 59. publicada no Intel Technology Journal, que mostra como o trabalho eradelicado:Existiram inclusive histórias engraçadas, como o Intel 3101, o primeiro chip dememória da Intel. A primeira versão acabou ficando com apenas 63 bits (aoinvés de 64) devido a um erro em uma das máscaras de litografia ;).As máscaras feitas no rubylith eram depois transferidas para um filme, atravésde um processo de redução, gerando as retículas usadas na produção. Devidoà enorme precisão envolvida, são utilizados espectros de luz não-visível,utilizando comprimentos de onda incrivelmente curtos, geradas a partir de laserou pulsos de de descarga.Atualmente, o processo de produção das máscaras é completamenteautomatizado. O próprio desenvolvimento dos processadores mudou. Ao invésde projetar os circuitos manualmente, os engenheiros utilizam um HDL(hardware description language), como o VHDL ou o Verilog (os mais usadasatualmente), que são uma espécie de linguagem de programação para odesenvolvimento de processadores, onde o engenheiro "programa" asinstruções que devem ser executadas e outras características do processador,e o HDL gera o projeto do chip.Naturalmente, ainda é possível desenvolver processadores (ou otimizarcomponentes internos específicos) usando o processo manual (assim como épossível programar em assembly), mas o processo se torna muito mais lento etrabalhoso. É comum que os processadores passem por diversas revisões 59
  • 60. durante sua via útil, onde a equipe de desenvolvimento começa com um designproduzido através de um HDL e depois trata de otimizá-lo sucessivamente,obtendo assim ganhos de performance e outras melhorias.No final do processo, temos um grande arquivo, que é enviado para a fábrica,onde são produzidas as retículas e feitas as demais fases do processo. Umavez terminado o projeto, os engenheiros precisam esperar várias semanas atéque os primeiros chips funcionais sejam produzidos. Qualquer erro que chegueaté a fase de produção geraria um prejuízo de vários milhões, por isso o projetopassa por inúmeras revisões.As máquinas de produção (chamadas steppers) repetem a "impressão" váriasvezes, até cobrir toda a área do wafer de silício. Em seguida o wafer é movidopara a máquina com a máscara seguinte e assim continua, até que o processoesteja completo. Todo o processo é feito numa sala limpa, por engenheirosusando os trajes de astronauta que aparecem nos comerciais da Intel. Todocuidado é pouco, já que cada wafer contém centenas de processadores, quejuntos valem algumas dezenas de milhares de dólares. Temos aqui uma fotoilustrativa, cortesia da Intel:Depois de pronto, o wafer é cortado, dando origem aos processadoresindividuais. Desses, muitos acabam sendo descartados, pois qualquerimperfeição na superfície do wafer, partícula de poeira, ou anomalia durante oprocesso de litografia acaba resultando numa área defeituosa. Como não épossível produzir um wafer de silício quadrado, temos também osprocessadores "incompletos", que ocupam as bordas do wafer e que tambémsão descartados no final do processo. 60
  • 61. Processo de corte do wafer de silício (imagem cortesia da Micron)Você poderia perguntar o porquê de não utilizarem retículas maiores paraimprimir todo o wafer de uma única vez, ao invés de ter que repetir o processopara cada processador individual. O problema aqui reside no foco, que éperfeito no centro e sensivelmente pior nas bordas.Já é difícil desenvolver máquinas que consigam manter o foco na área do chip,o que dizer então de mantê-lo em toda o wafer, que é uma superfície muitomaior. É por isso também que os processadores são sempre mais ou menosquadrados, já que o formato permite obter o melhor foco.Cada processador é testado individualmente, através de um processoautomático. O wafer é finalmente cortado e os processadores "bons" sãofinalmente encapsulados, ou seja, instalados dentro da estrutura que osprotege e facilita o manuseio e a instalação:Nem todo processador nasce igual. Pequenas diferenças no foco, pequenosdesvios no posicionamento das máquinas ao "imprimir" cada camada e assimpor diante, fazem com que alguns processadores sejam mais rápidos queoutros e muitos simplesmente não funcionem ou apresentem defeitos diversos. 61
  • 62. Em geral, mesmo grandes fabricantes como a Intel e AMD mantêm uma únicalinha de produção para cada processador. Os processadores são testadosindividualmente e vendidos de acordo com a freqüência de operação em quesão capazes de trabalhar.Um Core Duo 6600 (2.4 GHz) não é diferente de um Core Duo 6800 (2.96GHz), por exemplo. Ambos compartilham a mesma arquitetura e passarampela mesma linha de produção (pode ser que os dois tenham até mesmocompartilhado o mesmo wafer! :). A única diferença é que o 6800 teve a "sorte"de sair mais perfeito e, graças a isso, ser capaz de operar a freqüências maisaltas. Com o passar o tempo o índice de aproveitamento tende a melhorar,fazendo com que mais e mais processadores sejam capazes de operar nasfreqüências mais altas, até que finalmente é introduzida uma nova técnica defabricação, ou uma nova família de processadores, dando início a um novociclo.O formato do encapsulamento varia de processador para processador.Geralmente temos um spreader, ou seja, uma proteção de metal sobre o die doprocessador, que fica entre ele e o cooler. Entretanto em muitosprocessadores, como os Athlons, Durons e Semprons antigos, é usado umencapsulamento mais simples, em que a parte central é a própria parte inferiordo wafer de silício, exposta para melhorar a dissipação de calor. Nesses casos,é preciso redobrar os cuidados na hora de instalar e remover o cooler, poisqualquer dano ao núcleo será suficiente para inutilizar o processador: Sempron soquete A, exemplo de processador sem o spreader metálicoSó a título de curiosidade: o Intel 4004 era produzido usando uma técnica de10 micra, em que cada transístor media o equivalente a 1/100 de milímetro.Considerando que um fio de cabelo possui apenas 1/10 de milímetro deespessura, transístores de 10 micra (micra é o plural de micron) podem parecerpequenos, mas se comparados com os atuais, eles parecem pirâmides, de tãograndes. :)O 486 já foi produzido numa técnica de 1 micron, onde cada transístor ocupauma área 100 vezes menor. Enquanto o 4004 tinha apenas 2.000 transístores,o 486 tinha um milhão deles. 62
  • 63. Como a velocidade de operação do transístor está diretamente relacionada aseu tamanho, o 486 é também brutalmente mais rápido. Enquanto o 4004opera a 740 kHz, o 486 atingiu 100 MHz (nas versões fabricados pela Intel).Mas isso não é nada se comparado aos processadores atuais. Um Core 2 DuoX6800 é fabricado numa técnica de 0.065 micron (237 vezes menores que osdo 486!), possui 291 milhões de transístores e opera a 2.93 GHz.Estão previstos processadores fabricados numa técnica de 0.045 micron em2008 e 0.032 micron em 2010. Depois disso não se sabe até onde a tecnologiapoderá evoluir, pois os fabricantes estão se aproximando dos limites damatéria. A 0.032 micron já temos transístores ocupando uma área equivalentea poucas centenas de átomos de silício.Atualmente, muitos tem passado a utilizar o nanômetro como unidade demedida no lugar do micron, pois é mais fácil de pronunciar. Um nanômetroequivale a um milésimo de micron, de forma que em vez de dizer que oprocessador, x é fabricado numa técnica de 0.045 micron, você pode dizer queele é fabricado numa técnica de 45 nanômetros.Os supercomputadoresNas décadas de 1940 e 1950, todos os computadores do mundo eramgigantescos e caros, agregando tudo o que havia de mais avançado em termosde conhecimento humano. Hoje, pode parecer ridículo que qualquercalculadora de mão de 3 reais possa ter um poder de processamento muitosuperior ao de um ENIAC, que só de manutenção consumia o equivalente aquase 200.000 dólares por dia (em valores corrigidos). Mas, ossupercomputadores continuam existindo, tão grandes e caros quanto o ENIAC,porém incomparavelmente mais rápidos do que os PCs e notebooksdomésticos.Esses mastodontes estão por trás de muitos dos avanços da humanidade e,apesar de estarem escondidos em grandes salas refrigeradas, são alvo degrande curiosidade.Enquanto escrevo, o supercomputador mais rápido do planeta (segundo ohttp://www.top500.org/) é o IBM Blue Gene/L, desenvolvido pela IBM. Ele écomposto por nada menos do que 131.072 processadores PowerPC e possui32 terabytes de memória RAM.Para chegar a esses números, a IBM desenvolveu módulos relativamentesimples, cada um contendo 2 processadores, 512 MB de RAM e uma interfacede rede gigabit Ethernet, similares a um PC doméstico. Esses módulos foramagrupados em racks (chamados de nós), cada um com 128 deles. No final,chegaram a 512 racks, interligados por uma complexa malha de cabos de rede,rodando um software próprio de gerenciamento. Essa gigantesca estruturafunciona como um cluster, onde o processamento é dividido em pequenospedaços e dividido entre os módulos. Veja uma foto mostrando parte dasinstalações: 63
  • 64. IBM Blue Gene/LOs primeiros supercomputadores começaram a surgir na década de 60, aliásuma década de muitos avanços, já que no final da década de 50 foi feita atransição das válvulas para os transístores. Cada transístor era centenas devezes menor que uma válvula, era muito mais durável e tinha a vantagem degerar pouco calor.Todos os computadores da década de 60 já utilizavam transístores, o quepermitiu o desenvolvimento dos primeiros minicomputadores. Naquela época,minicomputador era qualquer coisa do tamanho de um armário, com umacapacidade de processamento inferior ao de uma agenda eletrônica atual, dasmais baratas.Os computadores de grande porte, porém, continuaram a ser desenvolvidos,passando a ser chamados de supercomputadores. O primeirosupercomputador para fins comerciais foi o CDC 6600, que foi seguido pelosIBM 360/95 e 370/195.Na década de 70 surgiu uma nova revolução: o microchip. Um microchipsozinho oferecia uma capacidade de processamento equivalente à de umminicomputador, mas em compensação era escandalosamente menor e maisbarato. Surgiram então os primeiros microcomputadores.Os supercomputadores da década de 70 já eram centenas de vezes maispoderosos do que os produzidos uma década antes. Os principais modelosforam o CDC 7600, o BSP, produzido pela Burroughs, e o ASC da TexasInstruments. 64
  • 65. Esses sistemas atingiram a marca de 100 megaflops, ou seja, 100 milhões decálculos de ponto flutuante por segundo. Essa é a mesma capacidade deprocessamento de um Pentium 60, porém atingida 20 anos antes. :)No final da década de 70 surgiram os supercomputadores Cray, produzidospela Seymour. O primeiro da linha, chamado de Cray 1, também processava100 megaflops, porém o Cray-XMP atingiu a incrível marca de 1 gigaflop, aindano início da década de 80, uma capacidade de processamento próxima à deum Pentium II 350.Só para efeito de comparação, o Blue Gene/L, que citei há pouco, possui 360teraflops de poder de processamento, ou seja, é 360 mil vezes mais rápido.Apesar de mesmo um "PC de baixo custo" atualmente possuir um poder deprocessamento superior ao de um supercomputador, que custava 5 milhões dedólares há 15 anos atrás, a demanda por sistemas cada vez mais rápidoscontinua.As aplicações são várias, englobando principalmente pesquisas científicas,aplicações militares e diversos tipos de aplicativos financeiros e relacionados àInternet; aplicativos que envolvem uma quantidade absurda de processamento,e claro, são necessários para instituições que podem pagar muito mais do que5 ou 10 mil dólares por um computador o mais rápido possível. Existindodemanda, aparecem os fornecedores.Atualmente, todos os supercomputadores são construídos com base empraticamente os mesmos componentes que temos em micros de mesa,memória, HDs e processadores, Intel, IBM ou AMD.Ao invés de usar apenas um disco rígido IDE ou SATA, como num micro demesa, um supercomputador utiliza um array de centenas de HDs, sistemassemelhantes ao RAID, mas numa escala maior, que permitem gravar dados deforma fragmentada em vários discos e ler os pedaços simultaneamente a partirde vários HDs, obtendo taxas de transferência muito altas.Processadores e memória RAM geralmente são agrupados em nós, cada nóengloba de um a quatro processadores e uma certa quantidade de memóriaRAM e cache. Isso garante que os processadores tenham um acesso àmemória tão rápido quanto um PC de mesa.Os nós por sua vez são interligados através de interfaces de rede, o que ostorna partes do mesmo sistema de processamento, assim como neurôniosinterligados para formar um cérebro. Um nó sozinho não tem uma capacidadede processamento tão surpreendente assim, mas ao interligar algumascentenas, ou milhares de nós, a coisa muda de figura.Uma opção mais barata para instituições que precisam de umsupercomputador, mas não possuem muito dinheiro disponível, é usar umsistema de processamento distribuído, ou cluster. Um cluster formado porvários PCs comuns ligados em rede. 65
  • 66. O exemplo mais famoso de processamento distribuído foi o projetoSeti@Home, onde cada voluntário instalava um pequeno programa queutilizava os ciclos de processamento ociosos da máquina para processar asinformações relacionadas ao projeto. Os pacotes de dados de 300 KB cadachegavam pela Internet e demoravam várias horas para serem processados.Isso permitiu que mais de 2 milhões de pessoas, muitas com conexão viamodem, participassem do projeto. O sistema montado pela Seti@Home foiconsiderado por muitos o supercomputador mais poderoso do mundo, naépoca.Esse tipo de sistema pode ser construído usando, por exemplo, a rede internade uma empresa. Rodando o software adequado, todos os micros podem fazerparte do sistema, alcançando juntos um poder de processamento equivalenteao de um supercomputador. O mais interessante é que esses PCs poderiamser usados normalmente pelos funcionários, já que o programa rodariautilizando apenas os ciclos ociosos do processador.A tecnologia de cluster mais usada atualmente são os clusters Beowulf,formados por vários computadores interligados em rede. Não é necessárionenhum hardware muito sofisticado: um grupo de PCs parrudos, ligadosatravés de uma rede gigabit já é o suficiente para montar um cluster Beowulfcapaz de rivalizar com muitos supercomputadores em poder deprocessamento. A idéia é criar um sistema de baixo custo, que possa serutilizado por universidades e pesquisadores com poucos recursos.O primeiro cluster Beowulf foi criado em 1994 na CESDIS, uma subsidiária daNASA. Ele era formado por 16 PCs 486 DX-100 ligados em rede. Para mantera independência do sistema e baixar os custos, os desenvolvedores optarampor utilizar o Linux.Os clusters não servem para processar dados em tempo real (um gamequalquer por exemplo), mas apenas para processar grandes quantidades dedados, que podem ser quebrados em pequenas partes e divididos entre osvários computadores. Uma área onde são populares é na aplicação de efeitosespeciais e renderização de imagens para filmes de cinema. Há inclusive casosde filmes como o Shrek e o Final Fantasy, que foram renderizados inteiramenteutilizando clusters Beowulf.A evolução dos computadores pessoaisAté aqui, falei sobre os supercomputadores e sobre a evolução dosprocessadores, que evoluíram das válvulas para o transístor e depois para ocircuito integrado. Vou agora falar um pouco sobre os primeiros computadorespessoais, que começaram a fazer sua história a partir da década de 70.Tempos difíceis aqueles :).Como disse há pouco, o primeiro microchip, o 4004, foi lançado pela Intel em1971. Era um projeto bastante primitivo, que processava instruções de 8 bits,através de um barramento rudimentar, que permitia transferir apenas 4 bits porciclo, e operava a meros 740 kHz. Na verdade, o 4004 era tão lento que 66
  • 67. demorava 10 ciclos para processar cada instrução, ou seja, ele processavaapenas 74 mil instruções por segundo (mesmo assim, ele era cerca de 15vezes mais rápido que o ENIAC). Hoje em dia esses números parecem piada,mas na época era a última palavra em tecnologia. O 4004 permitiu odesenvolvimento das primeiras calculadoras eletrônicas portáteis.Pouco tempo depois, a Intel lançou um novo processador, que fez sucessodurante muitos anos, o 8080. Ele já era um processador de 8 bits e operava aincríveis 2 MHz: "Ele é capaz de endereçar até 64 KB de memória e é rápido,muito rápido!" como dito num anúncio publicitário do Altair 8800 que, lançadoem 1974, é considerado por muitos o primeiro computador pessoal da história.O Altair era baseado no 8080 da Intel e vinha com apenas 256 bytes dememória, realmente bem pouco, mesmo para os padrões da época. Estavadisponível também uma placa de expansão para 4 KB. Em teoria, seriapossível instalar até 64 KB, mas o custo tornava o upgrade inviável.No modelo básico, o Altair custava apenas 439 dólares, na forma de kit (ondevocê precisava soldar manualmente todos os componentes). Em valorescorrigidos, isso equivale a quase 4.000 dólares, mas na época esse valor foiconsiderado uma pechincha, tanto que foram vendidas 4.000 unidades em 3meses, depois de uma matéria da revista Popular Eletronics.Esse "modelo básico" consistia nas placas, luzes, chips, gabinete, chaves e afonte de alimentação, junto, claro, com um manual que ensinava como montaro aparelho. Existia a opção de comprá-lo já montado, mas custava 182 dólares(da época) a mais.Em sua versão básica, o Altair não tinha muita utilidade prática, a não ser a deservir como fonte de aprendizado de eletrônica e programação. Entretanto,pouco tempo depois, começaram a surgir vários acessórios para o Altair: umteclado que substituía o conjunto de chaves que serviam para programar oaparelho, um terminal de vídeo (bem melhor que ver os resultados na forma deluzes :), um drive de disquetes (naquela época ainda se usavam disquetes de 8polegadas), placas de expansão de memória e até um modelo de impressora.Até mesmo Bill Gates (antes mesmo da fundação da Microsoft) participou,desenvolvendo uma versão do Basic para o Altair.Se você tivesse muito dinheiro, era possível chegar a algo que se parecia comum computador moderno, capaz de editar textos e criar planilhas rudimentares.Algumas empresas perceberam o nicho e passaram a vender versões"completas" do Altair, destinadas ao uso em empresas, como neste anúncio,publicado na revista Popular Eletronics, onde temos um Altair "turbinado", como terminal de vídeo, impressora, dois drives de disquete e 4 KB de memória: 67
  • 68. O Altair serviu para demonstrar a grande paixão que a informática podiaexercer e que, ao contrário do que diziam muitos analistas da época, existiasim um grande mercado para computadores pessoais.Pouco depois, em 1976, foi fundada a Apple, tendo como sócios Steve Jobs(que continua ativo até os dias de hoje) e Steve Wozniak. Na verdade, a Applesó foi fundada porque o projeto do Apple I (desenvolvido pelos dois nas horasvagas) foi recusado pela Atari e pela HP. Uma frase de Steve Jobs descrevebem a história: - Então fomos à Atari e dissemos: “Ei, nós desenvolvemos essa coisa incrível, pode ser construído com alguns dos seus componentes, o que acham de nos financiar?” Podemos até mesmo dar a vocês, nós só queremos ter a oportunidade de desenvolvê-lo, paguem-nos um salário e podemos trabalhar para vocês. Eles disseram não, fomos então à Hewlett-Packard e eles disseram “Nós não precisamos de vocês, vocês mal terminaram a faculdade”.O Apple I não foi lá um grande sucesso de vendas, vendeu pouco mais de 200unidades a 666 dólares (pouco mais de US$ 5000 em valores corrigidos) cadauma. Mesmo assim, os lucros sustentaram a Apple durante o primeiro ano,abrindo caminho para o lançamento de versões mais poderosas. Quemcomprou um, acabou fazendo um bom negócio, pois hoje em dia um Apple I(em bom estado) chega a valer US$ 50.000.Diferente do Altair, o Apple I era vendido já montado. A placa era vendida"pelada" dentro de uma caixa de papelão, sem nenhum tipo de gabinete, porisso era comum que os Apple I fossem instalados dentro de caixas de madeirafeitas artesanalmente.O Apple I era baseado no processador 6502, um clone do Motorola 6800, queera fabricado pela MOS Tecnology. Ele era um processador de 8 bits, queoperava a apenas 1 MHz. Em termos de poder de processamento, o 6502 68
  • 69. perdia para o 8080, mas isso era compensado pelos "espaçosos" 8 KB dememória, suficientes para carregar o interpretador BASIC (que ocupava 4 KB),deixando os outros 4 KB livres para escrever e rodar programas.Uma das vantages é que o Apple I podia ser ligado diretamente a uma TV,dispensando a compra de um terminal de vídeo. Ele possuía também umconector para unidade de fita (o controlador era vendido separadamente por 75dólares) e um conector proprietário reservado para expansões futuras: Apple INaquela época, as fitas K7 eram o meio mais usado para guardar dados eprogramas. Os disquetes já existiam, mas eram muito caros.Os grandes problemas das fitas K7 eram a lentidão e a baixa confiabilidade. NoApple I, os programas eram lidos a meros 1500 bits por segundo e em outroscomputadores o acesso era ainda mais lento, com de 250 a 300 bits. Erapreciso ajustar cuidadosamente o volume no aparelho de som antes decarregar a fita e, conforme a fita se desgastava, era preciso tentar cada vezmais vezes antes de conseguir uma leitura sem erros.Na época, existiam até programas de rádio que transmitiam softwares comoparte da programação. O locutor avisava e em seguida "tocava" a fita com oprograma. Os interessados precisavam ficar com o aparelho de som à mãopara gravar a cópia. Esses programas de rádio foram a primeira rede depirataria de softwares de que se tem notícia, décadas antes da popularizaçãoda internet. ;) 69
  • 70. Fita K7 com o BASIC para o Apple IO Apple I foi logo aperfeiçoado, surgindo então o Apple II, lançado em 1977.Esse sim fez sucesso, apesar do preço salgado para a época: US$ 1.298, queequivalem a quase 10.000 dólares em valores corrigidos.O Apple II vinha com apenas 4 KB de memória, mas incluía mais 12 KB dememória ROM, que armazenava um interpretador BASIC e o software debootstrap, lido no início do boot. Isso foi uma grande evolução, pois você ligavae já podia começar a programar ou a carregar programas. No Apple I, erapreciso primeiro carregar a fita com o BASIC, para depois começar a fazerqualquer coisa.O BASIC era a linguagem mais popular na época (e serviu como base paradiversas linguagens modernas), pois tem uma sintaxe simples se comparadocom o C ou o Assembly, utilizando comandos derivados de palavras do Inglês.Este é um exemplo de programa em BASIC simples, que pede dois números eescreve o produto da multiplicação dos dois: 10 PRINT "MULTIPLICANDO" 20 PRINT "DIGITE O PRIMEIRO NUMERO:" 30 INPUT A 40 PRINT "DIGITE O SEGUNDO NUMERO:" 50 INPUT B 60 LETC=A*B 70 PRINT "RESPOSTA:", CEste pequeno programa precisaria de 121 bytes de memória para rodar (osespaços depois dos comandos são ignorados, por isso não contam). Aodesenvolver programas mais complexos você esbarrava rapidamente nabarreira da memória disponível (principalmente se usasse um ZX80, que tinhaapenas 1 KB ;), o que obrigava os programadores a otimizarem o código aomáximo. Aplicativos comerciais (e o próprio interpretador BASIC) eram escritosdiretamente em linguagem de máquina, utilizando diretamente as instruções doprocessador e endereços de memória, de forma a extraírem o máximo doequipamento.Voltando ao Apple II, a memória RAM podia ser expandida até 52 KB, pois oprocessador Motorola 6502 era capaz de endereçar apenas 64 KB de memória, 70
  • 71. e 12 KB já correspondiam à ROM embutida. Um dos "macetes" naquela épocaera uma placa de expansão, fabricada pela recém formada Microsoft, quepermitia desabilitar a ROM e usar 64 KB completos de memória.Além dos jogos, um dos programas mais populares para o Apple II foi o VisualCalc, ancestral dos programas de planilha atuais: Foto de um manual antigo que mostra a interface do Visual CalcO Apple II já era bem mais parecido com um computador atual. Vinha numgabinete plástico e tinha um teclado incorporado. A versão mais básica eraligada na TV e usava o famigerado controlador de fita K7, ligado a um aparelhode som para carregar programas. Gastando um pouco mais, era possíveladquirir separadamente uma unidade de disquetes. Apple IIA linha Apple II se tornou tão popular que sobreviveu até o início dos anos 90,quase uma década depois do lançamento do Macintosh. O último lançamentofoi o Apple IIC Plus, que utilizava um processador de 4 MHz (ainda de 8 bits) evinha com um drive de disquetes de 3.5", já similar aos drives atuais.Outra inovação dos Apple I e Apple II em relação ao Altair e outroscomputadores anteriores é o tipo de memória usada. O Apple I foi o primeiro a 71
  • 72. utilizar memórias DRAM, que é essencialmente a mesma tecnologia utilizadaaté hoje em pentes de memória.Ao longo das primeiras décadas, a memória RAM passou por duas grandesevoluções. No ENIAC, não existia uma unidade de memória dedicada. Partedas válvulas eram reservadas para armazenar as informações que estavamsendo processadas. Não existia unidade de armazenamento, além dos cartõesperfurados e as anotações feitas manualmente pelos operadores.Na década de 50 surgiram as memórias core, um tipo antiquado de memóriaonde são usados anéis de ferrite, um material que pode ter seu campomagnético alterado através de impulsos elétricos, armazenando o equivalente aum bit 1 ou 0). Esses anéis de ferrite eram carinhosamente chamados de"donuts" (rosquinhas) e eram montados dentro de uma complexa rede de fios,que transportavam os impulsos elétricos usados para ler e escrever dados.Cada anel armazenava apenas um bit, de forma que você precisava de 8.192deles para cada KB de memória. Inicialmente a malha de fios era "tecida"manualmente, mas logo começaram a ser usadas máquinas, que permitiramminiaturizar bastante as estruturas.Este é um exemplo de placa de memória core. Ela mede 11 x 11 cm (um poucomenor que um CD), mas armazena apenas 50 bytes:Essas placas eram ligadas entre si, formando "pilhas" organizadas dentro deestruturas maiores. Imagine que, para atingir 1 MB de memória no início dadécada de 1960, você precisaria de quase 21 mil dessas plaquinhas.Este é um exemplo de unidade de memória, construída usando placas dememória core, que está em exposição no museu no MIT. Apesar do tamanho,ela possui apenas 64 KB: 72
  • 73. Por serem muito caras e precisarem de um grande número de circuitos deapoio, as memórias core ficaram restritas aos computadores de grande porte.O Altair já utilizava memórias "modernas" na forma de chips. Para ser exato,ele utilizava dois chips de 1024 bits (ou 128 bytes) cada um.O Altair utilizava chips de memória SRAM (static RAM), que eram rápidos econfiáveis, porém muito caros. Na memória SRAM, são usados de 4 a 6transístores para cada bit de dados (as do Altair usavam 4 transistores), o quemultiplica o custo dos chips. Atualmente, as memórias SRAM são usadas noscaches L1 e L2 dos processadores, o tipo mais rápido e caro de memória queexiste.O Apple I inovou utilizando um "novo" tipo de memória, as DRAM (dynamicRAM), onde é usado um único transístor para cada bit de dados. Embora àprimeira vista pareçam mais simples, os chips de memória DRAM são muitomais complicados de se trabalhar (principalmente se considerarmos aslimitações da época), pois são capazes de armazenar os dados por apenasuma pequena fração de segundo. Para conservar os dados, eles precisam deum circuito de refresh, que lê e regrava os dados a cada 64 milissegundos (oumenos, de acordo com o projeto).Apesar de todas as dificuldades, foi o uso de memórias DRAM no Apple I quepermitiu que ele viesse com 8 KB de memória, custando pouco mais que umAltair, que vinha com meros 256 bytes. A partir daí, as memórias DRAM setornaram norma, o que continua até os dias de hoje.Voltando à história, em 1979 surgiu um outro modelo interessante, desta vezda Sinclair, o ZX80. Ele não era tão poderoso quanto o Apple II, mas tinha a 73
  • 74. vantagem de custar apenas 99 dólares (pouco mais de 400 em valorescorrigidos). Ele foi o computador mais popular até então, com 100.000unidades vendidas (entre 1979 e 1981), sem contar uma grande quantidade declones, produzidos em diversos países ao longo da década de 80.O ZX80 era baseado no NEC-780C, um clone do Z80, que operava a 3.25MHz. Ele era relativamente poderoso para os padrões da época, mas aqueciabastante. Segundo as más línguas, ele foi o primeiro processador overclocadoda história. :)Para cortar custos, ele vinha de fábrica com apenas 1 KB de memória RAM,combinados com 4 KB de memória ROM que armazenavam o interpretadorBASIC, usado pelo aparelho. Como em qualquer sistema popular da época, osprogramas eram armazenados em fitas K7 e ele era ligado diretamente na TV:Considerando o preço, o ZX80 foi uma máquina surpreendente, mas claro,tinha pesadas limitações, mesmo se comparado com outras máquinas daépoca. Apesar de já vir com uma saída de vídeo, a resolução gráfica era deapenas 64x48, mesmo em modo monocromático, já que o adaptador de vídeotinha apenas 386 bytes de memória. Existia também uma opção de modo texto(usada para programas em BASIC, por exemplo), com 32x24 caracteres.O processador Z80 se tornou incrivelmente popular, superando as vendas dequalquer outro processador da história. Versões modernizadas do Z80 (queconservam o mesmo projeto básico, mas são produzidas com técnicasmodernas de fabricação e trabalham a freqüências mais altas) fazem sucessoaté hoje, sendo utilizadas em todo tipo de eletrônicos, incluindo impressoras,aparelhos de fax, controladores diversos, robôs de uso industrial, brinquedos,diversos tipos de calculadoras, videogames (incluindo o Game Boy e GameBoy color), diversos modelos populares de mp3players, entre inúmerosexemplos. Apesar de não ser nenhum campeão de velocidade, o Z80 é um 74
  • 75. chip extremamente barato e fácil de programar, já que todos os seus truquessão bem conhecidos e documentados.Aqui no Brasil tivemos os TK80 e os TK82 da Microdigital, além do NE-Z80 daPrológica, produzidos na época da reserva de mercado. Eles concorriam comos computadores compatíveis com os Apple, como o AP II, Exato, Craft II eMagnex M10. A linha CP (200, 300, 400 e 500) da Prológica era baseada emchips Z80 e havia também os clones da linha MSX, como os Expert 1.0 eExpert Plus.A reserva de mercado estagnou o desenvolvimento tecnológico do país, deforma que clones de computadores de 8 bits, lançados há uma década atrásera tudo que nossa indústria conseguia produzir. Isso perdurou até 1992,quando a reserva de mercado foi abolida, permitindo a entrada decomputadores importados. Em pouco tempo, todos esses computadores de 8bits foram substituídos por PCs 386 e 486.Concluindo nosso passeio pela década de 70, outro que não poderia deixar deser citado é o Atari 800. Sim, apesar de ser mais vendido como um videogame,o Atari 800 também podia ser usado como um computador relativamentepoderoso, chegando a ser adotado nos laboratórios de informática de algumasuniversidades. Ele foi o antecessor do Atari 2600, o videogame conhecido poraqui.Ele vinha de fábrica com 16 KB de memória RAM, que podiam ser expandidospara até 48 KB, com mais 10 KB de memória ROM. O sistema operacional erao Atari-OS, uma versão do BASIC: Atari 800Originalmente, o sistema vinha apenas com a entrada para os cartuchos, como sistema operacional ou jogos, mas era possível adquirir separadamente umaunidade de disquetes, que o transformavam num computador completo. Nãoexistiram muitos programas para o Atari, já que o foco foram sempre os jogos.A principal função do Atari como computador era desenvolver programas emBASIC, por isso seu uso em escolas. 75
  • 76. A década de 80Como profetizado por Gordon Moore, os processadores vêm, em média,dobrando de desempenho a cada 18 meses desde o início da década de 70.Uma década é uma verdadeira eternidade dentro do mercado de informática, osuficiente para revoluções acontecerem e serem esquecidas.Depois dos dinossauros da primeira metade da década de 70, oscomputadores pessoais finalmente começaram a atingir um nível dedesenvolvimento suficiente para permitir o uso de aplicativos sérios. Surgiramentão os primeiros aplicativos de processamento de texto, planilhas, e atémesmo programas de editoração e desenho.Depois dos Apple I e Apple II, ZX80, Ataris e outros computadores de 8 bits,chegamos finalmente à era PC.A IBM de 1980 era uma gigantesca empresa, especializada em mainframes eterminais burros. Entretanto, percebendo a crescente demanda porcomputadores pessoais, decidiram criar um pequeno grupo (que originalmentepossuía apenas 12 desenvolvedores) para desenvolver um computadorpessoal de baixo custo.O PC era considerado um projeto menor dentro da IBM, apenas umaexperiência para testar a demanda do mercado. O projeto chegou a sermarginalizado dentro da empresa, pois muitos executivos acreditavam que oIBM PC poderia concorrer com outros produtos do portfólio da IBM.Depois de quase um ano de desenvolvimento, o primeiro PC foi lançado em 12de agosto de 1981. O PC original 76
  • 77. Para cortar custos e acelerar o desenvolvimento, a equipe decidiu que usariaapenas componentes-padrão, que pudessem ser encontrados facilmente nomercado. O processador escolhido foi o Intel 8088, uma versão econômica doprocessador 8086, que havia sido lançado pela Intel em 1978. Quando a IBMestava desenvolvendo seu computador pessoal, chegou a ser cogitado o usodo 8086, mas acabou sendo escolhido o 8088 devido ao seu baixo custo.Tanto o 8086 quanto o 8088 são processadores de 16 bits, consideradosbastante avançados para a época. Um processador de 16 bits é capaz deendereçar mais memória (até 64 KB de memória de cada vez) e processarinstruções muito mais complexas que os processadores de 8 bits usados atéentão.A grande diferença entre os dois é que o 8086 é um processador de 16 bits"puro", enquanto o 8088 se comunica com os demais periféricos usando umbarramento de 8 bits. Isso naturalmente prejudicava o desempenho, mastrouxe uma vantagem importante: a possibilidade de usar os componentes de 8bits usados em outros computadores da época, que eram muito mais popularese baratos.Essa arquitetura permitiu ao primeiro PC competir na mesma faixa de preçodos computadores de 8 bits mais populares e, ao mesmo tempo, possuir umdesempenho bem superior devido ao seu processador de 16 bits. O 8088 écapaz de acessar até 1 MB de memória RAM (embora o PC original suportasseapenas 640 KB, devido a limitações por parte do BIOS e por parte da placa-mãe) e funciona a 4.77 MHz, recursos incríveis para a época, já que estamosfalando de um processador lançado no final de 1979.Lembre-se de que o principal concorrente do IBM PC era o Apple II que,embora fosse mais barato e contasse com mais softwares disponíveis, usavaum processador de 8 bits, de apenas 1 MHz e meros 4 KB de memória RAM.Entretanto, o aspecto técnico não foi o determinante para o sucesso do PC. Eleera um bom computador para a época, mas era caro e não tinha nada que osconcorrentes não pudessem usar em seus produtos. Ele tinha tudo para serapenas mais um no mercado, se não fosse um diferencial importante: aarquitetura aberta.Diferente dos Apples e de outros computadores da época, qualquer fabricantepodia desenvolver e vender acessórios para o PC, sem pagar royalties ou fazeracordos de licenciamento. Como todos os componentes podiam serencontrados no mercado, era possível também desenvolver clones,computadores compatíveis com o PC, fabricados por outras empresas. Issolentamente fez com que toda a indústria passasse a orbitar em torno do PC,fazendo com que a plataforma crescesse assustadoramente.Voltando ao tema original, o PC original tinha, em sua versão mais simples,apenas 16 KB de memória RAM, com direito apenas ao gabinete e teclado. Apartir daí, tudo era opcional, incluindo o monitor (você podia usar uma TV,embora a qualidade da imagem ficasse ruim), os drives de disquete e o HD.Também estava disponível um conector para um gravador de fitas K7 77
  • 78. (localizado ao lado do conector para o teclado), mas ele nunca foi muito usadoe desapareceu a partir do XT.Na configuração básica, o PC custava "apenas" 1.564 dólares da época, masincluindo mais 48 KB de memória, dois drives de disquete e um monitor monode 12", o preço chegava facilmente a 2.500 dólares, que equivalem a mais de7.000 dólares em valores atuais.Na época, os HDs ainda eram um componente caro e exótico. Em 1981, umSeagate ST-506 (o modelo mais popular até então) custava mais de 1.000dólares (da época) e tinha apenas 5 MB de capacidade.Este HD da foto a seguir é um ST-225 (também da Seagate), um modelo de 20MB, lançado em 1984, que foi muito usado nos micros 286. Esses primeirosmodelos ainda utilizavam motores de passo para mover as cabeças de leitura(como nos drives de disquete), por isso os problemas eram comuns. Seagate ST-225, de 20 MBAo usar um PC sem HD, o sistema operacional e todos os programas eramcarregados a partir de disquetes de 5¼. Inicialmente eram usados disquetes de180 KB, mas eles foram logo substituídos por disquetes de 360 KB (onde eramusadas as duas faces do disco) e, alguns anos mais tarde, por disquetes de"alta densidade", com 1.2 MB. Os disquetes de de 3.5", com 1.44 MB, queusamos hoje em dia passaram a ser usados nos PCs apenas em 1987, com olançamento do IBM PS/2. Existiu ainda um padrão de disquetes de 2.8 MB,lançado nos anos 90, que acabou não pegando. 78
  • 79. Disquetes de 5¼O PC era monotarefa, de forma que para carregar outro programa, vocêprecisava primeiro encerrar o primeiro e trocar o disquete dentro do drive. Osegundo drive de disquetes era um item extremamente popular (e necessário),pois os disquetes de 5¼ eram extremamente frágeis e a mídia se degradavacom o tempo, de forma que você precisava copiar os discos freqüentemente.Conforme foram sendo lançados PCs com mais memória RAM, surgiu o"macete" de criar um ramdisk (um pedaço da memória RAM usado como sefosse um HD) e usá-lo para copiar disquetes sem precisar de um segundo drive:). Também era comum aparecerem versões "capadas" dos principaisprogramas, com componentes e bibliotecas desativados ou removidos, deforma a rodar nos PCs com menos memória RAM. Naquela época, ainda nãoexistia memória swap, de forma que se o PC não tivesse memória suficiente,os programas simplesmente não rodavam.O sistema operacional usado no PC original era o MS-DOS 1.0 (na épocaainda chamado de PC-DOS), que foi desenvolvido às pressas pela Microsoftcom base num sistema operacional mais simples, chamado QDOS, compradoda Seattle Computers, uma pequena empresa desenvolvedora de sistemas. Naverdade, a Microsoft foi a segunda opção da IBM, depois de ter sua propostade licença recusada pela Digital Research, que desenvolvia versões do seuCP/M para várias arquiteturas diferentes.Na época, a IBM acreditava que ganharia dinheiro vendendo as máquinas enão vendendo sistemas operacionais e softwares, o que era considerado umnegócio menor, dado de bandeja para a Microsoft.Com o passar do tempo, os executivos da IBM se arrependeram amargamenteda decisão, pois a concorrência entre os diversos fabricantes derrubou ospreços e as margens de lucro dos PCs, enquanto a Microsoft conseguiu atingirum quase monopólio do sistema operacional para eles e, sem concorrentes depeso, passou a trabalhar com margens de lucro cada vez maiores.Um fabricante de memórias, como a Micron, trabalha normalmente commargens de lucro abaixo de 1%. Conseguem ganhar dinheiro apenas porvenderem quantidades muito grandes. Um integrador como a Dell trabalha com 79
  • 80. margens de 3 a 5% (e leva prejuízo às vezes, nas unidades que ficam muitotempo em estoque ou não vendem), enquanto a Microsoft (mesmo com toda apirataria) trabalha com margens superiores a 80% vendendo o Windows eOffice, um negócio da China.Hoje em dia, a IBM sequer fabrica PCs. Mesmo os famosos notebooks IBMThinkpad são agora fabricados e vendidos pela Lenovo, uma empresa Chinesaque comprou os direitos sobre a marca em 2000.Voltando à história, dois anos depois foi lançado o PC XT, que apesar decontinuar usando o 8088 de 4.77 MHz, vinha bem mais incrementado, com 256KB de RAM, disco rígido de 10 MB, monitor CGA e o MS-DOS 2.0.O XT se tornou um computador bastante popular e chegou a ser fabricado noBrasil, durante a reserva de mercado. Enquanto os americanos já usavammuitos 386, os clones tupiniquins do XT eram a última palavra em tecnologiaaqui no Brasil...Depois do XT, o próximo passo foi o PC AT (lançado em 1984), já baseado noIntel 286. Na verdade, o processador 286 foi lançado em fevereiro de 1982,apenas 6 meses após a IBM ter lançado o seu primeiro PC, porém demorouaté que a IBM conseguisse desenvolver um computador baseado nele, pois foipreciso desenvolver toda uma nova arquitetura. Da placa de vídeo ao gabinete,praticamente tudo foi mudado, o que somado à burocracia e a longos períodosde testes antes do lançamento, levou mais de 2 anos.Atualmente, o período de desenvolvimento dos periféricos é muito mais curto.Quase sempre quando um novo processador é lançado, já temos placas-mãepara ele disponíveis quase imediatamente, pois o desenvolvimento é feito deforma simultânea.O PC AT vinha com um processador 286 de 6 MHz (depois surgiram versõesmais rápidas, de 8, 12 e até 16 MHz), HD de 10 MB, monitor EGA (640x350,com 64 cores) e já usava disquetes de 5¼ de 1.2 MB. Como a memória RAMainda era um item muito caro, existiam versões com de 256 KB a 2 MB deRAM. Embora fosse extremamente raro usar mais de 2 MB, existia apossibilidade de instalar até 16 MB. 80
  • 81. PC ATO processador 286 trouxe vários avanços sobre o 8088. Ele utilizava palavrasbinárias de 16 bits, tanto interna quanto externamente, o que permitia o uso deperiféricos de 16 bits, muito mais avançados do que os usados no PC original eno XT. O custo dos periféricos desta vez não chegou a ser um grandeobstáculo, pois enquanto o PC AT estava sendo desenvolvido, eles já podiamser encontrados com preços mais acessíveis.Para manter compatibilidade com os periféricos de 8 bits usados no PC originale no XT, a IBM desenvolveu os slots ISA de 16 bits, que permitem usar tantoplacas de 8 bits, quanto de 16 bits. As placas de 8 bits são menores e usamapenas a primeira série de pinos do slot, enquanto as placas de 16 bits usam oslot completo. Devido à sua popularidade, o barramento ISA continuou sendousado por muito tempo. Em 2004 (20 anos depois do lançamento do PC AT)ainda era possível encontrar algumas placas-mãe novas com slots ISA, emboraatualmente eles estejam extintos. Slots ISA, em uma placa-mãe de 386 81
  • 82. O principal avanço trazido pelo 286 são seus dois modos de operação,batizados de "Modo Real" e "Modo Protegido". No modo real, o 286 secomporta exatamente como um 8086 (apesar de mais rápido), oferecendo totalcompatibilidade com os programas anteriores, escritos para rodarem no 8088.Já no modo protegido, ele manifesta todo o seu potencial, incorporandofunções mais avançadas, como a capacidade de acessar até 16 MB dememória RAM (apesar de ser um processador de 16 bits, o 286 usa umsistema de endereçamento de memória de 24 bits), multitarefa, memória virtualem disco e proteção de memória.Assim que ligado, o processador opera em modo real e, com uma instruçãoespecial, passa para o modo protegido. O problema é que, trabalhando emmodo protegido, o 286 deixava de ser compatível com os programas escritospara o modo real, inclusive com o próprio MS-DOS. Para piorar, o 286 nãopossuía nenhuma instrução que fizesse o processador voltar ao modo real, oque era possível apenas resetando o micro. Isso significa que um programaescrito para rodar em modo protegido, não poderia usar nenhuma das rotinasde acesso a dispositivos do MS-DOS, tornando inacessíveis o disco rígido,placa de vídeo, drive de disquetes memória, etc., a menos que fossemdesenvolvidas e incorporadas ao programa todas as rotinas de acesso adispositivos necessárias.Isso era completamente inviável para os desenvolvedores, pois, para projetarum simples jogo, seria praticamente preciso desenvolver todo um novo sistemaoperacional. Além disso, o programa desenvolvido rodaria apenas em microsequipados com processadores 286, que ainda eram minoria na época, tendoum público-alvo muito menor. De fato, apenas algumas versões do UNIX e umaversão do OS/2 foram desenvolvidas para utilizar o modo protegido do 286.Basicamente, os micros baseados no 286 eram usados para rodar aplicativosde modo real, que também podiam ser executados em um XT, aproveitandoapenas a maior velocidade do 286.Devido às várias mudanças na arquitetura, destacando o acesso mais rápido àmemória e as alterações no conjunto de instruções do processador, quepermitiam realizar muitas operações de maneira mais rápida e eficiente, um286 consegue ser quase 4 vezes mais rápido que um 8088 do mesmo clock.Em outubro de 1985 a Intel lançou o 386, que marcou o início dos temposmodernos. Ele trouxe vários recursos novos. Para começar, o 386 trabalhatanto interna quanto externamente com palavras de 32 bits e é capaz deacessar a memória usando um barramento de 32 bits, permitindo umatransferência de dados duas vezes maior. Como o 386 pode trabalhar compalavras binárias de 32 bits, é possível acessar até 4 GB de memória (2elevado a 32ª potência), mesmo sem usar a segmentação de endereços, comono 8088.Assim como o 286, o 386 continua possuindo os dois modos de operação. Adiferença é que no 386 é possível alternar entre o modo real e o modoprotegido livremente. Os programas que rodavam sobre DOS podiam chavearo processador para o modo protegido, para se beneficiarem de suas vantagens 82
  • 83. e voltarem ao modo real sempre que precisavam usar alguma sub-rotina doDOS, de maneira transparente ao usuário. Nesse caso, era usado umprograma de DPMI ("DOS Protected Mode Interface", ou "interface DOS demodo protegido") para fazer o chaveamento entre os dois modos.Toda vez que o programa precisava usar alguma sub-rotina do DOS, elepassava o comando ao chaveador e ficava esperando. O chaveador, por suavez, colocava o processador em modo real, executava o comando, chaveava oprocessador para o modo protegido e entregava o resultado ao aplicativo, quecontinuava trabalhando como se nada tivesse acontecido. Um bom exemplo deprograma de DPMI é o DOS4GW, que é usado por muitos jogos antigos querodam sobre o MS-DOS, como o DOOM, Sim City 2000 e vários emuladores devideogames.O esquema de chaveamento também era utilizado pelo Windows 3.x, queincluía todas as rotinas necessárias, dispensando qualquer programa de DPMI.O Windows 95/98 também pode chavear para o modo real caso precisecarregar algum driver de dispositivo de modo real. No Windows XP osprogramas DOS passaram a ser executados dentro de um emulador (ao invésde nativamente), o que reduziu a compatibilidade do sistema com os aplicativosMS-DOS.Ter um processador 386 é o requisito mínimo para rodar qualquer sistemaoperacional moderno. Com um 386, memória RAM e espaço em discosuficiente, você pode rodar o Windows 95 e aplicativos, embora bemlentamente devido à pouca potência do processador. Você pode tambéminstalar distribuições Linux antigas e (usando algum truque para burlar adetecção da configuração mínima ao instalar o sistema) até mesmo instalar oWindows 98.Com um simples 286, no máximo você poderia rodar o DOS e aplicativos maissimples, que operassem em modo real. Também era possível rodar o Windows3.0, porém em modo "Standard", onde era possível acessar todos os 16 MB dememória permitidos pelo 286, mas sem memória virtual nem multitarefa.Apenas o Athlon 64 e os processadores Intel com o EM64 (o conjunto deinstruções compatíveis com os processadores de 64 bits da AMD) vieram aquebrar essa compatibilidade histórica. Os processadores de 64 bits atuais sãoperfeitamente compatíveis com os aplicativos de 32 bits, mas programasotimizados para eles não rodam mais nas máquinas antigas. Embora maissuave e gradual, estamos assistindo a uma migração similar à que ocorreu natransição do 286 para o 386.Voltando ao lançamento do 386, embora o processador tenha sido lançado em1985, a IBM só foi capaz de lançar um PC baseado nele em 1987, dandotempo para a Compaq sair na frente. Este foi um verdadeiro marco pois, derepente, as companhias perceberam que não eram mais obrigadas a seguir aIBM. Qualquer um que tivesse tecnologia suficiente poderia sair na frente,como fez a Compaq. A partir daí, a IBM começou a gradualmente perder aliderança do mercado, tornando-se apenas mais um entre inúmeros fabricantesde PCs. 83
  • 84. O primeiro 386 operava a apenas 16 MHz. Quando foi lançada a versão de 20MHz, os projetistas perceberam que o processador havia se tornado rápidodemais para as memórias RAM existentes na época. Por isso, a cada acesso,o processador tinha que ficar "esperando" os dados serem liberados pelamemória RAM para poder concluir suas tarefas, perdendo muito emdesempenho. Para solucionar esse problema, passaram a ser usadaspequenas quantidades de memória cache na grande maioria das placas-mãepara micros 386 e superiores.Os chips de memória cache utilizam memória SRAM, um tipo mais caro dememória que não precisa de refresh. O refresh é uma característica inerente atodas as tecnologias de memória RAM, incluindo as DDR e DDR2 atuais. Cadacélula do pente de memória é composta por um transístor e um capacitor. Otransístor controla a passagem do impulso elétrico, enquanto o capacitor oarmazena. O problema é que o capacitor é capaz de manter a carga por umcurto período, de forma que os dados precisam ser reescritos várias vezes porsegundo.A memória cache armazena os dados mais usados pelo processador,reduzindo o número de operações em que é preciso buscar dados diretamentena lenta memória RAM. Mesmo uma pequena quantidade de memória cache écapaz de melhorar bastante o desempenho do processador.Na foto a seguir temos um exemplo de placa para 386. A memória cache écomposta pelos 5 chips, posicionados entre o slot ISA e os pentes de memória.Esta placa ainda utiliza módulos de memória de 30 vias e os 4 módulosinstalados somam apenas 4 MB de memória. Note ainda que ela possuiapenas slots ISA, sem nenhuma opção de barramento mais rápido: 4 MB de memória, com direito a coprocessador aritmético. Wow! :)Outro componente exótico usado na época era o co-processador aritmético, umprocessador adicional, que executava cálculos complexos, as famosas 84
  • 85. operações de ponto flutuante. Até o 386, o co-processador aritmético era umcomponente opcional, que podia ser instalado num soquete vago disponível naplaca-mãe. Ele era necessário para rodar programas de engenharia,modelagem 3D e alguns games, mas não era muito popular, pois custavaquase tanto quanto o processador principal.A partir do 486, o co-processador passou a ser incorporado diretamente aoprocessador principal, eliminando o soquete separado. Com a miniaturizaçãodos transístores, os processadores passaram a trazer cada vez maiscomponentes.Os processadores atuais incluem várias unidades de execução, o que os tornacapazes de processar várias instruções por ciclo, quantidades generosas dememória cache, componentes extras destinados a organizar e decodificar asinstruções que serão processadas, conjuntos de instruções extras e, no casodos Athlon 64 (e derivados), também o controlador de memória, que antes faziaparte da placa-mãe. Os processadores dual-core, onde temos doisprocessadores completos na mesma pastilha de silício, também estão setornando cada vez mais comuns, seguidos pelos processadores quad-core. Éuma corrida que ainda está longe de acabar.Voltando ao 386, como as placas-mãe da época eram muito caras, existiamvárias opções de upgrade. O 386SX, por exemplo, podia ser instalado emmuitas placas para 286. Existiam também os processadores 486 DLC e 486SLC (fabricados pela Texas Instruments), que podiam ser instalados em placaspara o 386, servindo como uma opção de upgrade.Aqui temos um 486 DLC, instalado numa placa de 386. O soquete vago ao ladodo processador é o encaixe para o co-processador aritmético. Note quenaquela época ainda eram usados pentes de memória de 30 vias. Eles erampentes de 8 bits, por isso era necessário instalar sempre 4 ou 8 módulos, paraque eles fornecessem os 32 bits usados pelo processador. O mais comum naépoca era usar pentes de 1 MB, totalizando 4 ou 8 MB. Em 1990, cadamegabyte de memória custava mais de 100 dólares:Naturalmente, a Apple não ficou sentada durante este tempo todo. Além decontinuar aperfeiçoando a linha Apple II, a empresa começou a investir 85
  • 86. pesadamente no desenvolvimento de computadores com interface gráfica emouse. A "inspiração" surgiu numa visita de Steve Jobs ao laboratório daXerox, onde computadores com interface gráfica eram desenvolvidos desde adécada de 70 (embora sem sucesso comercial, devido ao custo proibitivo).Em 1983, eles apresentaram uma grande novidade, o Lisa. Em suaconfiguração original, o Lisa vinha equipado com um processador Motorola68000 de 5 MHz, 1 MB de memória RAM, dois drives de disquete de 5¼ de altadensidade (eram usados discos de 871 KB), HD de 5 MB e um monitor de 12polegadas, com resolução de 720 x 360. Era uma configuração muito melhordo que os PCs da época, sem falar que o Lisa já usava uma interface gráficabastante elaborada e contava com uma suíte de aplicativos de escritório à láOffice. O problema era o preço: 10.000 dólares da época (suficiente paracomprar 5 PCs). Apple LisaEmbora não houvesse nada melhor no mercado, o Lisa acabou não atingindo osucesso esperado. No total, foram produzidas cerca de 100.000 unidades emdois anos, porém a maior parte delas foram vendidas com grandes descontos,muitas vezes abaixo do preço de custo (como um lote de 5.000 unidadesvendido para a Sun em 1987, depois que o Lisa já havia sido descontinuado).Como a Apple investiu aproximadamente US$ 150 milhões no desenvolvimentodo Lisa, a conta acabou ficando no vermelho.Apesar disso, o desenvolvimento do Lisa serviu de base para o Macintosh, umcomputador mais simples, lançado em 1984. Ao contrário do Lisa, ele fez umgrande sucesso, chegando a ameaçar o império dos PCs. A configuração erasimilar à dos PCs da época, com um processador de 8 MHz, 128 KB dememória e um monitor de 9 polegadas. A grande arma do Macintosh era oMacOS 1.0 (derivado do sistema operacional do Lisa, porém otimizado paraconsumir muito menos memória), um sistema inovador de vários pontos devista.Ao contrário do MS-DOS ele era inteiramente baseado no uso da interfacegráfica e mouse, o que o tornava muito mais fácil de ser operado. O MacOS 86
  • 87. continuou evoluindo e incorporando novos recursos, mas sempre mantendo amesma idéia de interface amigável. MacOS 1.0, ainda monocromáticoDepois do Macintosh original, a Apple lançou um modelo atualizado, com 512KB de memória RAM. Para diferenciá-lo do primeiro, a Apple passou a chamá-lo de Macintosh 512k. O modelo antigo continuou sendo vendido até outubrode 1985 como uma opção de baixo custo, passando a ser chamado deMacintosh 128k.Pouco tempo depois foi lançado o Mac Rescue, uma placa de expansão queampliava os 128 ou 512k de memória para 4 MB (algo assustador para aépoca) e dava "de brinde" um ramdisk de 2 MB para armazenamento dearquivos e programas (as primeiras versões do Mac não possuíam HD). O Macjá utilizava um recurso de hibernação, de forma que muita gente nuncadesligava o aparelho, apenas o colocava pra dormir, preservando os dados doramdisk. Embora fosse um upgrade muito bem vindo, o Mac Rescue não foimuito popular, pois era caro demais.Neste mesmo período, a Microsoft desenvolveu a primeira versão do Windows,anunciada em novembro de 1983. Ao contrário do MacOS, o Windows 1.0 erauma interface bastante primitiva, que fez pouco sucesso. Ele rodava sobre oMS-DOS e podia executar tanto aplicativos for Windows quanto os programaspara MS-DOS. O problema era a memória.Os PCs da época vinham com quantidades muito pequenas de memória RAMe na época ainda não existia a possibilidade de usar memória virtual (que viriaa ser suportada apenas a partir do 386). Para rodar o Windows, era precisoprimeiro carregar o MS-DOS. Os dois juntos já consumiam praticamente toda amemória de um PC básico da época. Mesmo nos PCs mais parrudos não erapossível rodar muitos aplicativos ao mesmo tempo, novamente por falta dememória. 87
  • 88. Como os aplicativos for Windows eram muito raros na época, poucos usuáriosviram necessidade de utilizar o Windows para rodar os mesmos aplicativos querodavam (com muito mais memória disponível...) no MS-DOS. Sem contar quea versão inicial do Windows era bastante lenta e tinha vários bugs.O Windows começou a fazer algum sucesso na versão 2.1, quando os micros286 com 1 MB ou mais de memória já eram comuns. Com uma configuraçãomais poderosa, mais memória RAM e mais aplicativos, finalmente começava afazer sentido rodar o Windows. O sistema ainda tinha vários bugs e travavacom freqüência, mas alguns usuários começaram a migrar para ele. Windows 2.0O Windows emplacou mesmo a partir da versão 3.11. Ele era relativamenteleve do ponto de vista dos PCs da época, e já suportava o uso de memóriavirtual, que permitia abrir vários programas, mesmo que a memória RAM seesgotasse. Já existiam também vários aplicativos for Windows e os usuáriostinham a opção de voltar para o MS-DOS quando desejassem.Foi nesta época que os PCs começaram a recuperar o terreno perdido para osMacintoshs da Apple. Convenhamos, o Windows 3.11 travava com muitafreqüência, mas tinha muitos aplicativos e os PCs eram mais baratos que osMacs. Na época começaram a surgir também os primeiros concorrentes para oWindows, como o OS/2 da IBM.Desde o início da era PC, a Microsoft e a IBM vinham trabalhando juntas nodesenvolvimento do MS-DOS e outros programas para a plataforma PC. Mas,em 1990, a IBM e a Microsoft se desentenderam e cada uma ficou com umaparte do trabalho feito, com o qual tentaram tomar a liderança do mercado desistemas operacionais. 88
  • 89. Alguns brincam que a IBM ficou com a parte que funciona e a Microsoft com oresto, mas a verdade é que apesar de o OS/2 da IBM ser tecnicamentesuperior ao Windows 95, foi o sistema das janelas quem levou a melhor, poisera mais fácil de usar e contava com a familiaridade dos usuários com oWindows 3.1, enquanto a IBM derrapava numa combinação de falta deinvestimento, falta de apoio aos desenvolvedores e falta de marketing.Inicialmente, o OS/2 era incompatível com os softwares desenvolvidos para oWindows, o que era um grande empecilho, já que o Windows era muito maispopular entre os desenvolvedores. Depois de muita negociação, a IBMconseguiu um acordo com a Microsoft, que permitia que o OS/2 executasse oWindows 3.11 dentro de uma máquina virtual, oferecendo compatibilidade comseus programas. Entretanto, o tiro acabou saindo pela culatra, poisdesestimulou ainda mais o desenvolvimento de aplicativos nativos para o OS/2,fazendo com que ele acabasse concorrendo (em desvantagem) com oWindows em seu próprio território. Rodar programas Windows dentro do OS/2era muito mais problemático e o desempenho era inferior, fazendo com quemais e mais usuários preferissem usar o Windows diretamente.Embora esteja oficialmente morto, o OS/2 ainda é utilizado por algumasempresas e alguns grupos de entusiastas. Em 2005 a Serenity comprou osdireitos sobre o sistema, dando origem ao eComStation, um sistema comercialdisponível no http://www.ecomstation.com/. OS/2 Warp 3Um sistema muito mais bem-sucedido, que começou a ser desenvolvido noinício da década de 90, é o Linux, que todos já conhecemos. O Linux tem avantagem de ser um sistema aberto, que atualmente conta com a colaboraçãode milhares de desenvolvedores voluntários espalhados pelo globo, além doapoio de empresas de peso, como a IBM. 89
  • 90. Mas, no começo, o sistema era muito mais complicado que as distribuiçõesatuais e não contava com as interfaces gráficas exuberantes que temos hojeem dia. Embora o Linux seja forte em servidores desde o final da década de90, usar Linux em desktops é algo relativamente recente.Voltando ao lado negro da força, a Microsoft continuou melhorando seusistema ao longo da década de 90. Foram lançados o Windows 95, depois o 98e finalmente ME, com todos os problemas que conhecemos, mas com a boa evelha interface fácil de usar e uma grande safra de aplicativos que garantiram amanutenção e o crescimento da popularidade do sistema.Paralelamente, a Microsoft desenvolvia uma família de sistemas Windowsdestinadas a servidores, o Windows NT, que chegou até a versão 4, antes deser transformado no Windows 2000.Em seguida, as duas famílias Windows fundiram-se no Windows XP, umsistema destinado tanto ao uso doméstico quanto em estações de trabalho eservidores, que é bem mais estável que o 98 e o ME, por ser baseado no NT.O XP foi aperfeiçoado ao longo dos anos seguintes, dando origem ao Vista.A Apple, por sua vez, passou por duas grandes revoluções. A primeira foi amigração do MacOS antigo para o OS X, que, por baixo da interface polida, éum sistema Unix, derivado do BSD. A segunda aconteceu em 2005, quando aApple anunciou a migração de toda a sua linha de desktops e notebooks paraprocessadores Intel. Mac OS XDo ponto de vista do hardware, os Macs atuais não são muito diferentes dosPCs, você pode inclusive rodar Windows e Linux através do boot camp.Entretanto, só os Macs são capazes de rodar o Mac OS X, devido ao uso doEFI, um firmware especial, que substitui o BIOS da placa-mãe.Essa combinação permitiu que a Apple se beneficiasse da redução de custonos processadores e outros componentes para micros PCs, mas ao mesmo 90
  • 91. tempo conservasse seu principal diferencial, que é o software. E a históriacontinua... ;)Do 486 ao AthlonCom o final da reserva de mercado, em 1992, a importação de computadoresvoltou a ser permitida no Brasil, sem maiores restrições. Rapidamente, oscomputadores de 8 bits e os XTs de fabricação nacional foram substituídos pormicros 386 e 486, e muita gente teve a chance de comprar o primeiro micro.Isto coincidiu justamente com o início da era 486, fazendo com que elesfossem vendidos em enorme quantidade aqui no Brasil. É por isso que ainda érelativamente comum ver micros 486 por aí, muitos ainda funcionando, mas émuito raro encontrar um 386 ou anterior.Assim como outros processadores da época, o 486 era vendido encapsuladodentro de uma pastilha de cerâmica, que ao mesmo tempo protegia oprocessador e facilitava a dissipação do calor. Os contatos ficavam nasbeiradas internas do processador e eram ligados aos pinos externos através defilamentos de ouro. Atualmente, são utilizados compostos plásticos resistentesem vez de cerâmica, e os contatos do processador são feitos através deminúsculos pontos de solda disponíveis na parte inferior do próprio wafer desilício.Esta foto de divulgação da Intel mostra um close de um 486 aberto. Veja que,graças ao zoom, é possível distinguir os componentes do processador dentroda pastilha de silício:O 486 possuía 1.2 milhões de transistores e era fabricado numa técnica de 1micron. Isto significa que cada transístor media um milionésimo de centímetro.Como tínhamos 1.2 milhões deles, o die do processador tinha cerca de 120milímetros quadrados. Para efeito de comparação, o 386 tinha apenas 275.000transistores, quase 5 vezes menos.Esse brutal aumento de complexidade pode ser justificado por três inovaçõesintroduzidas pelo 486. Em primeiro lugar, ele usa um co-processador aritméticointegrado, ao invés de um chip separado, como no 386. Em segundo, ele 91
  • 92. incorpora 8 KB de cache ultra-rápido diretamente no processador,complementando o cache mais lento disponível na placa-mãe. O cache internopassou a ser chamado de cache L1 (level 1, ou nível 1) e o cache da placa-mãe, de cache L2.O cache L1 integrado se tornou um item de série em todos os processadores apartir do 486, pois melhora de forma considerável o desempenho doprocessador, oferecendo acesso instantâneo aos dados que estão sendoprocessados.Mesmo em casos em que o cache L2 opera à mesma freqüência noprocessador (como no 486 DX-33, onde a placa-mãe também trabalhava a 33MHz, ou nos processadores atuais, onde o cache L2 também é integrado aoprocessador) existe uma grande diferença nos tempos de acesso dos cachesL1 e L2. Enquanto (nos processadores atuais) o cache L1 trabalha sempre comtempos de latência de 2 ou 3 ciclos, o L2 trabalha com latência de 7 ciclos oumais e é acessado através de um barramento mais estreito.Voltando ao 486, foi introduzido também o processamento de instruções emetapas, recurso que é utilizado até os dias de hoje. A unidade de execução do486 é composta por um pipeline de 5 estágios, que possuem funções distintas.Cada instrução passa sucessivamente por cada um dos 5 estágios, sendo quecada um deles faz seu trabalho em apenas um ciclo, passa a instrução adiantee recebe outra. Poderíamos fazer uma analogia com uma linha de produção,que passa a ter 5 trabalhadores em vez de um.O uso do pipeline trouxe duas vantagens. A primeira é que muitas instruçõescomplexas, que consumiam vários ciclos do 386, passaram a ser executadasnuma única passagem. A segunda é a redução do trabalho feito em cadaestágio, o que permite que o processador seja capaz de atingir freqüênciasmais altas.O 486 foi vendido em três versões: o 486DX (a versão completa), o 486SX(uma versão de baixo custo, sem o co-processador aritmético) e o 486SL (umaversão de baixo consumo, destinada a notebooks). O 486SX foi relativamentepopular no começo, devido ao custo mais baixo, mas ele acabou sendo logodescontinuado, de forma que o 486DX tornou-se rapidamente a versão maispopular.Os 486 (a partir do DX-33) foram também os primeiros processadores Intel autilizarem coolers. Naquela época, eram usados dissipadores com menos deum centímetro de altura e exaustores minúsculos. Conforme os processadorespassaram a dissipar cada vez mais calor, os coolers foram crescendo namesma proporção, até chegar às monstruosidades que vemos atualmente ;).Aqui temos um cooler para 486 em comparação com um cooler low-end atual,dos mais baratos: 92
  • 93. Como disse, esse é apenas um cooler low-end, que pode ser usado emprocessadores AMD de até 1.8 GHz. Coolers para processadores dual core, ouvoltados para quem deseja fazer overclock são muito maiores e mais pesados,com exaustores maiores, bases de cobre e hot-pipes, como este Arctic FreezerPro: Exemplo de cooler que combina base de cobre, dissipador de alumínio e hot- pipesO cobre é capaz de absorver quantidades maiores de calor que o alumínio,mas em compensação é mais caro e mais difícil de se trabalhar. O alumínio,por sua vez, permite criar lâminas mais finas, que facilitam a dissipação docalor. Por isso, é comum que os coolers atuais utilizem bases de cobre edissipadores de alumínio.Os hot-pipes são barras de cobre, maciças, ou contendo fluído, que permitem"transportar" o calor da base do cooler para o dissipador. Os hot-pipes sãomuito comuns em notebooks, onde o cooler é montado "na horizontal", com abase de um lado, o exaustor do outro e dois ou mais hot-pipes interligando asduas peças, como neste Toshiba A45: 93
  • 94. Hot-pipes utilizados no dissipador de um Toshiba A45Mais recentemente, os hot-pipes passaram a ser usados também para criar"links" entre os diferentes componentes da placa-mãe, permitindo que elessejam resfriados de forma conjunta, a partir de um único cooler, ou através deum conjunto de dissipadores passivos.Na foto a seguir temos um exemplo de uso, em uma placa Asus P5B Deluxe,onde um hot-pipe é utilizado para ligar o dissipador da ponte norte do chipset eo dissipador instalado sobre os reguladores de tensão da placa. Dessa forma, ofluxo de ar gerado pelo cooler do processador acaba resfriando de formaconjunta os dois componentes: Hot-pipes interligando o dissipador da ponte norte e reguladores de tensão em uma Asus P5B DeluxeDe uma forma geral, os fabricantes de placas-mãe não gostam de utilizarcoolers ativos em suas placas, pois eles aumentam o índice de defeitos. Com otempo, todo cooler acumula poeira e passa a girar mais lentamente, até pararcompletamente. Quando isso acontece, a placa passa a superaquecer e travar,o que prejudica a imagem do fabricante. Além disso, coolers adicionaisaumentam o nível de ruído do equipamento, aumentam (embora pouco) oconsumo elétrico e assim por diante. Soluções de dissipação passiva como 94
  • 95. essa da Asus P5B são cada vez mais populares, já que aproveitam o grandefluxo de ar gerado pelo cooler do processador.Finalmente, temos os water coolers, que utilizam água ou outro líquidorefrigerante no lugar do ar. O líquido é bombeado dentro do sistema, passandopelo water block (o módulo que fica sobre o processador, substituindo o cooler)e em seguida pelo radiador, onde é resfriado.Os water coolers são em geral mais eficientes que os coolers tradicionais, massão sistemas muito caros, destinados a entusiastas. Um "meio termo" entre oscoolers tradicionais e os water coolers são os water coolers self-contained,onde todos os componentes, incluindo a bomba, radiador, water-block e oreservatório para o fluído são combinados na forma de um design bastantecompacto, de tamanho similar ao de um cooler tradicional: Evercool Silver Night, exemplo de water cooler self-containedVoltando ao tema inicial, outra inovação introduzida pelo 486 foi a multiplicaçãode clock, onde o processador trabalha numa freqüência mais alta que a placa-mãe. Isto parece natural hoje em dia, mas na época causou espanto.Graças a todas as inovações, as versões iniciais do 486 eram capazes deoperar a 50 MHz ou mais. Por questões estratégicas, a Intel optou por lançarversões iniciais de 25 e 33 MHz, que funcionavam bem nas placas da época.Quando, pressionada pelos concorrentes, a intel decidiu gastar os cartuchos elançar um 486 operando a 50 MHz, se viu num beco sem saída, pois na épocanão existia tecnologia para produzir uma placa-mãe capaz de trabalharestavelmente a 50 MHz.A solução foi incluir um circuito simples, que fazia com que o processadortrabalhasse ao dobro da freqüência da placa-mãe. Surgiu então o 486 DX-2 50,seguido pelo DX-2 66. Pouco depois, a Intel introduziu uma nova técnica defabricação, com transistores de 0.6 micron, e foi capaz de lançar o 486 DX-4100, que trabalha ao triplo da freqüência da placa-mãe: 95
  • 96. Processador placa-mãe Multiplicador486 25 MHz 25 MHz 1x486 33 MHz 33 MHz 1x486DX-2 50 MHz 25 MHz 2x486DX-2 66 MHz 33 MHz 2x486DX-2 80 MHz 40 MHz 2x486DX-4 75 MHz 25 MHz 3x486DX-4 100 MHz 33 MHz 3x486DX-4 120 MHz 40 MHz 3xO 486DX-4 trouxe um complicador adicional: o uso de 3.3v de tensão, ao invésdos 5v usados pelos processadores anteriores. Os fabricantes passaram aproduzir placas compatíveis com toda a família, onde o ajuste da freqüência daplaca-mãe, multiplicador e tensão usada pelo processador eram configuradosatravés de jumpers.Isto continuou durante toda a era Pentium 1, fazendo com que os manuais deplacas viessem com longas tabelas com as opções disponíveis, como nesteexemplo, de uma placa TX Pro (para Pentium 1):Exemplo de tabela de configuração de jumpers, item de série nos manuais de placas antigasCom isso, surgiu também a possibilidade de fazer overclock do processador,usando uma freqüência ou multiplicador maior que o nominal. Era muitocomum usar um 486DX-2 66 a 80 MHz ou um 486DX-4 100 a 120 MHz, 96
  • 97. aumentando a freqüência da placa-mãe de 33 para 40 MHz. Obviamente, fazeroverclock aumenta o consumo e o aquecimento do processador (exigindomuitas vezes o uso de um cooler mais parrudo), além da possibilidade deredução da vida útil. Mesmo assim, ele se tornou incrivelmente popular, porpermitir aumentar o desempenho do equipamento a custo zero.A partir das placas para Pentium II, os ajustes passaram a ser feitos através dosetup, ao invés de jumpers. A placa detecta automaticamente as configuraçõesusadas pelo processador, mas você pode alterar as configuraçõesmanualmente para fazer overclock. Se, por acaso, você exagerar na dose e omicro não der mais boot, use o jumper do CMOS (o único ainda encontrado emtodas as placas atuais) para limpar o CMOS, restaurando as configuraçõesoriginais.Aqui temos um exemplo de overclock (em uma placa moderna) feito atravésdas configurações do setup. Neste exemplo, a placa foi configurada paraoperar a 148 MHz (em vez de 133), resultando em um aumento proporcional dafreqüência do processador: Overclock através do SetupMesmo depois do lançamento do Pentium 1, a plataforma 486 ainda teve umasobrevida surpreendente graças aos processadores AMD 5x86, Cyrix Cx5x86 eao Pentium overdrive da Intel, que serviam como opções de upgrade paraquem tinha um 486DX-2 ou um 486DX-4, prometendo um desempenho similarao dos processadores Pentium low-end.A grosso modo, um 486 possui um desempenho duas vezes superior ao de um386 do mesmo clock. Isto significa que mesmo um 486SX de 25 MHz ganhafácil de um 386 de 40 MHz. Por outro lado, um 486 apresenta apenas 50 a 60%do desempenho de um Pentium 1 do mesmo clock. Isto significa que mesmoum Pentium 60 consegue superar um 486 DX4-100.O AMD 5x68 é um 486 "modernizado", lançado pela AMD no final de 1995. Elevinha com 16 KB de cache L1, que operava em modo write-back (onde o cachetrabalha cacheando tanto as operações de leitura, quanto as de escrita) e erafabricado numa técnica de produção de 0.35 micron, o que permitia que eletrabalhasse a 133 MHz (4x 33 MHz) e também o tornava menor e mais baratode se produzir. Na época, ele era o processador mais barato do mercado epermitia montar micros usando placas para 486, que também eram bem maisbaratas. Isso o tornou especialmente popular aqui no Brasil.Apesar do clock de 133 MHz, o 5x86 concorria com o Pentium 75 em termosde desempenho. Era comum que o 5x68 fosse overclocado para 160 MHz 97
  • 98. (aumentando a freqüência da placa-mãe de 33 para 40 MHz), resultando emum desempenho próximo ao de um Pentium 90.Concorrendo com o 5x86, a Cyrix lançou o Cx5x86, um processador queutilizava uma arquitetura bastante similar ao Pentium da Intel, mas usavaplacas para 486. A versão de 100 MHz rivalizava com o 5x86 de 133 MHz,enquanto a de 120 MHz conseguia superá-lo com uma certa margem. O maiorproblema é que o Cx5x86 era bem mais caro, por isso acabou não sendo umaopção muito popular.Completando o time, a Intel lançou o Pentium overdrive, um Pentium adaptadopara utilizar as placas para 486, que existia em versões de 63 e 83 MHz.Apesar da diferença de clock, o overdrive de 83 MHz conseguia competir deigual para igual com o 5x86 de 133 MHz, com o vencedor variando de acordocom a aplicação usada. Apesar disso, o AMD 5x86 acabou sendo mais populardevido à questão do custo.Muitas placas-mãe desta época vinham sem memória cache, trazendo no lugarum encaixe marrom, ao lado do processador, que permitia encaixar um móduloCOAST (cache on a stick), com 128, 256 ou 512 KB de cache. Essas placassão bem diferentes da primeira safra de placas para 486, pois já possuem slotsPCI e utilizam pentes de memória de 72 vias, assim como as placas paraPentium 1. Placa mãe para 486, com um 5x86 e o módulo COAST instaladoCom o Pentium, a Intel tentou solucionar os principais gargalos dedesempenho da plataforma anterior, mudando vários aspectos não apenas doprocessador, mas também nas placas-mãe para ele.A primeira mudança trazida pelo Pentium foi o aumento da quantidade decache L1, que passou a ser de 16 KB, dividido em dois blocos de 8 KB. Issomelhorou a eficiência do cache (em relação ao cache unificado do 486),permitindo que o processador consiga acessar instruções e os dadosnecessários (para executá-las) simultaneamente, em vez de precisar fazerduas operações separadas. 98
  • 99. Além do aumento no tamanho, o cache passou a ser acessado através de umbarramento interno de 512 bits (256 bits para o cache de dados e mais 256para o de instruções), contra apenas 128 bits no 486. Assim como no 5x86 daAMD, passou também a ser utilizado cache write-back, que também cacheavaas operações de escrita. O cache usado no 486 cacheia apenas as operaçõesde leitura, o que permite ao processador ganhar tempo ao ler dados, mas nãoajuda na hora de gravar, situação onde o processador tinha que esperar pelamemória RAM.Com a popularização dos games e aplicativos 3D de uma forma geral, odesempenho do processador em ponto flutuante passou a ser cada vez maisimportante. Combinado com as melhorias no cache, foi desenvolvido um co-processador aritmético cerca de 5 vezes mais rápido que o usado no 486. Oco-processador do Pentium era tão rápido (comparado com outrosprocessadores da época), que mesmo um K6-2 perdia para um Pentium damesma freqüência em jogos e aplicativos muito dependentes de cálculos deponto flutuante.O Pentium também foi o primeiro processador Intel a usar uma arquiteturasuperescalar. Internamente, o Pentium possui duas unidades de execução,com a inclusão de um circuito de branch prediction, encarregado de dividir asinstruções entre as duas unidades e antecipar o processamento de instruções,de forma a manter ambas ocupadas na maior parte do tempo.Essa tendência de "executar mais por ciclo de clock" continua até os dias dehoje, com os processadores incluindo um número cada vez maior de unidadesde execução, mais memória cache, circuitos aprimorados de branch prediction,sem falar nos processadores dual-core e quad-core. Mesmo que existisse um486 ou Pentium capaz de operar a 2 ou 3 GHz, o desempenho seriaridiculamente inferior ao de um processador atual operando na mesmafreqüência. Pentium 133, com o encapsulamento de cerâmicaAcompanhando as melhorias no processador, foram feitas mudanças nasplacas-mãe, de forma a melhorar o desempenho de acesso à memória. Emprimeiro lugar, as placas para Pentium operam a freqüências mais altas: 60 ou66 MHz, de acordo com o processador usado. Embora as memórias FPM eEDO usadas na época não fossem capazes de acompanhar a mudança (elaspassaram a trabalhar usando tempos de espera), o aumento da freqüênciapermitiu usar chips de cache L2 mais rápidos (já que eles operavam na 99
  • 100. freqüência da placa-mãe). Além disso, o Pentium passou a acessar a memóriaa 64 bits, ao invés de 32 bits como no 486, o que efetivamente dobrou avelocidade do barramento com a memória.Como os pentes de 72 vias usados na época eram módulos de 32 bits, eranecessário utilizá-los aos pares, sempre 2 ou 4 módulos, sendo que osmódulos dentro de cada par deveriam ser idênticos. Os pentes de 72 vias sãoantecessores diretos dos módulos DIMM usados atualmente.Na foto a seguir temos uma comparação entre um módulo DIMM, um módulode 72 vias e um antigo módulo de 30 vias, dos usados nos micros 386 e nosprimeiros 486:Os processadores Pentium existiram em versões de 60 a 200 MHz, semprecom a placa-mãe operando a 60 ou 66 MHz e usando um multiplicador de 1x,1.5x, 2x, 2.5x ou 3x para atingir a freqüência anunciada. Era comum fazeroverclock aumentando a freqüência da placa-mãe para 75 MHz, opçãooferecida pela maioria das placas soquete 7 da época.Assim como na época dos micros 486, as placas-mãe para processadoresPentium (com exceção de placas muito antigas) suportam várias freqüênciasde barramento e vários multiplicadores distintos. Na maioria dos casos épossível configurar a placa-mãe para utilizar qualquer processador da família.Em 1996 a Intel lançou o Pentium MMX, que foi o integrante final da famíliaPentium 1. Ele chegou ao mercado acompanhado de uma forte campanha demarketing, que divulgava as novas instruções MMX como a maior invenção dahumanidade depois da batata frita ;). As instruções MMX permitiam que até 4instruções simples fossem combinadas numa única instrução complexa, deforma a serem processadas em um único ciclo de clock. A Intel esperava queelas fossem capazes de multiplicar o desempenho do processador emaplicativos multimídia, principalmente em compressão e descompressão deáudio, mas no final acabou dando com os burros nagua.As instruções MMX continuam disponíveis nos processadores atuais, masnunca foram muito utilizadas devido a uma combinação de fatores. O primeiro 100
  • 101. é que elas só ajudam em algumas operações envolvendo números inteiros,enquanto a maioria dos aplicativos de multimídia e jogos utilizampredominantemente instruções de ponto flutuante. O segundo é que para tirarproveito delas, os aplicativos precisam ser manualmente otimizados e nãoexiste nada que os programadores odeiem mais do que ficar otimizando seusprogramas para cada conjunto de instruções existente. O terceiro é que,mesmo em aplicativos otimizados, elas não conseguem fornecer o ganho dedesempenho esperado e, como se não bastasse, logo surgiram conjuntos maiscompletos e adequados de instruções multimídia, como o 3D-Now (introduzidopela AMD no K6-2) e o SSE (desenvolvido pela Intel e usado a partir doPentium III).Para não depender apenas das novas instruções, a Intel aumentou o cache L1do processador, de 16 para 32 KB. Com isto, o MMX passou a ser um poucomais rápido do que um Pentium 1 da mesma freqüência, mesmo nosaplicativos sem otimização. Lembre-se de que naquela época o cache L2 doprocessador ainda fazia parte da placa-mãe e operava a apenas 66 MHz. Umcache L1 competente era essencial.O MMX foi lançado em versões de 200 e 233 MHz, ambas compatíveis com agrande maioria das placas soquete 7 existentes. Ele também foi o primeiroprocessador Intel a usar um encapsulamento plástico com um dissipadormetálico, ao contrário da cerâmica usada nos anteriores. Essa mudança foi naverdade bastante benéfica, pois o dissipador metálico é muito mais eficiente nadissipação do calor do que a cerâmica, o que melhora a eficiência do cooler. Pentium MMX, com o encapsulamento PGANa foto a seguir temos uma VX Pro, uma placa bem comum no final da eraPentium. Ela suporta todos os processadores da família, até o 233 MMX. Noteque ela inclui três slots ISA, pois na época os modems e placas de som ISAainda eram bastante comuns: 101
  • 102. Além dos 4 soquetes para pentes de 72 vias, ela possui também dois soquetespara módulos DIMM, mas eles não servem para muita coisa, pois o chipset soé capaz de endereçar chips de memória de até 2 MB, permitindo que fossemutilizados módulos de no máximo 32 MB. Mesmo que você tentasse instalar ummódulo de maior capacidade, a placa só reconhecia 16 ou 32 MB, de acordocom o número de chips no módulo.Durante a era Pentium, tivemos também os chips K5 e K6 (da AMD), o Cyrix6x86 e o IDT C6, que eram compatíveis com as mesmas placas, mas quepossuíam uma fatia relativamente pequena do mercado. A Cyrix foi compradapela VIA em 1999, que usou sua tecnologia para desenvolver osprocessadores VIA C3 e VIA C7, que são vendidos atualmente. A IDT era umafabricante menor, que desapareceu sem deixar rastros. Das antigasconcorrentes, sobrou a AMD, que, com o lançamento do Athlon 64 e derivados,chegou a superar a Intel em volume de processadores vendidos em 2005 e2006.Na época, a AMD ainda era uma empresa menor, que enfrentava problemasfinanceiros depois das fracas vendas dos processadores K5 e K6. Paracompletar, a Intel passou a utilizar um barramento proprietário no Pentium II,impedindo que a AMD desenvolvesse processadores capazes de utilizar asplacas-mãe para ele.Sem escolha, a AMD apostou tudo no K6-2, um processador relativamentepoderoso, que mantinha compatibilidade com as placas soquete 7. Em termosde processamento de inteiros, o K6-2 competia diretamente com um Pentium IIdo mesmo clock, o maior problema continuava sendo o co-processadoraritmético, que era até duas vezes mais lento. 102
  • 103. AMD K6-2, com o encapsulamento CPGAPara reduzir a diferença, a AMD investiu no desenvolvimento de um novoconjunto de instruções, o 3D-Now, formado por 27 novas instruções, com oobjetivo de agilizar o processamento 3D, sobretudo em jogos. O 3D-Now sóajudava em aplicativos otimizados, mas ao contrário do MMX ele era realmenteeficiente, o que levou muitas empresas a otimizarem seus títulos para ele. OK6-2 também incorporou, sem muito alarde, o suporte às instruções MMX.Junto com a AMD, fabricantes de chipsets, como a VIA, SiS e Ali foramprejudicados pela decisão da Intel, pois não podiam desenvolver chipsets parao Pentium II sem o pagamento de licenças, o que continua até os dias de hoje.Isto causou uma certa "revolta" entre os fabricantes, que passaram a apoiar aAMD, desenvolvendo placas soquete 7 aprimoradas, que suportavambarramento de 100 MHz, utilizavam pentes de memória DIMM e possuíam slotsAGP. Essas placas passaram a ser chamadas de placas super 7 e, junto comos processadores K6-2, se tornaram uma opção de baixo custo para quem nãoqueria gastar com um Pentium II.Esta é uma Asus P5A-B, uma placa super 7 bastante comum na época. Vejaque ela possui slot AGP e três soquetes para pentes de memória DIMM, quepermitem o uso de módulos até 256 MB. Ela oferecia suporte a toda a famíliaK6-2, até o K6-2 550, além de manter suporte aos processadores antigos. Aqualidade da placa não era das melhores, sobretudo se comparada com placasmais caras para o Pentium II, mas ela era barata o que para muitos eraargumento suficiente: 103
  • 104. Asus P5A-B, exemplo de placa super 7Uma das prioridades da AMD foi manter a compatibilidade com as placassoquete 7 antigas. Por isso, optaram por vender o K6-2 com o multiplicadordestravado. Isso permitia instalar processadores K6-2 em placas antigas, quetrabalhavam a apenas 66 MHz, desde que a placa suportasse a tensão de 2.2v(ou 2.4v nas versões mais recentes) utilizada pelo processador. Um K6-2 de300 MHz podia ser utilizado tanto numa placa-mãe configurada para operar a100 MHz com multiplicador de 3x quanto em uma placa configurada paraoperar a 66 MHz com multiplicador de 4.5x.Naturalmente, o desempenho era melhor na placa de 100 MHz, pela diferençana freqüência de operação da memória e do cache L2, mas o esforço emmanter compatibilidade com as placas antigas foi louvável.Em 1999 a AMD lançou uma última atualização para a plataforma K6, na formado K6-3, o primeiro processador AMD a trazer cache L2 integrado aoprocessador. Além de manter os mesmos 64 KB de cache L1 do K6-2, o K6-3incorporou 256 KB de cache L2 full-speed (operando na mesma freqüência doprocessador), assim como os processadores atuais. Ele também aproveitava ocache disponível nas placas soquete 7, que passava a funcionar como umcache L3, resultando em mais um pequeno ganho.Embora fosse perceptivelmente mais rápido que um K6-2 do mesmo clock, oK6-3 era mais caro e foi lançado no finalzinho da era soquete 7, quando aplataforma já caminhava para a obsolência. Por causa disso, ele acabou nãofazendo muito sucesso, sendo substituído rapidamente pelos Athlons e Durons.Como disse, ao desenvolver o Pentium II, a Intel optou por desenvolver umbarramento proprietário (o GTL+), de forma a dificultar a vida dos concorrentes.Inicialmente a AMD continuou usando as placas soquete 7, mas em seguidarespondeu com o EV6, um barramento próprio (na verdade desenvolvido pela 104
  • 105. Alpha Digital e licenciado pela AMD), utilizado pelos processadores Athlon eDuron. A partir daí, nunca mais tivemos um barramento padrão, que permitissea criação de placas-mãe com suporte a processadores dos dois fabricantes,como na época das placas soquete 7.As primeiras versões do Pentium II utilizavam o encapsulamento SEPP(Singled Edge Processor Package), um formato dispendioso, em que ao invésde um pequeno encapsulamento de cerâmica, temos uma placa de circuito,que traz o processador e o cache L2 integrado. Protegendo esta placa, temosuma capa plástica, formando um cartucho muito parecido com um cartucho devideogame, onde o cooler era instalado na parte de trás. O encaixe para ele foibatizado de slot 1: Pentium II, com o encapsulamento SEPPO Pentium II inclui 512 KB de cache L2, que opera à metade da freqüência doprocessador (num Pentium II 400, por exemplo, o cache L2 opera a 200 MHz) epor isso é bem mais rápido que o cache usado nas placas soquete 7, queopera a apenas 66 ou 100 MHz. Com o cache movido para dentro doprocessador, as placas deixaram de trazer cache externo, o que continua atéos dias de hoje.O único processador para micros PC a utilizar cache L3 instalado na placa-mãefoi mesmo o K6-3. Existiram séries de processadores Intel, como o Pentium 4Extreme Edition (lançado em 2005) e algumas versões do Intel Xeon quetambém utilizavam cache L3, mas nesses casos o cache era instalado dentrodo encapsulamento do processador, e não na placa-mãe. Durante muitotempo, a idéia de utilizar cache L3 acabou sendo abandonada, em favor decaches L2 cada vez maiores, mas tudo indica que ele retornará no AMDPhenom e no Intel Nehalem.Além do cache L2, o Pentium II manteve os 32 KB de cache L1 (dividido emdois blocos de 16 KB para dados e instruções) do MMX. Abrindo o cartucho, épossível ver os dois grandes chips de cache L2 instalados próximos ao die doprocessador: 105
  • 106. Pentium II com core Klamath, sem a cobertura plásticaO Pentium II foi produzido em duas arquiteturas diferentes. As versões de até300 MHz utilizaram a arquitetura Klamath, que consistia em uma técnica defabricação de 0.35 micron, muito parecida com a utilizada nos processadoresPentium MMX. Nas versões a partir de 333 MHz foi utilizada a arquiteturaDeschutes de 0.25 micron, que resultou em uma dissipação de calor muitomenor, possibilitando o desenvolvimento de processadores mais rápidos. Asversões do Pentium II de até 333 MHz usam bus de 66 MHz, enquanto que asversões a partir de 350 MHz usam bus de 100 MHz, quebrando acompatibilidade com as placas da geração anterior.Com o lançamento do Pentium II, a Intel abandonou a fabricação do PentiumMMX, passando a vender apenas processadores Pentium II que eram muitomais caros. O problema com essa estratégia foi que a Intel passou a perderterreno rapidamente no mercado de PCs de baixo custo, principalmente para oK6-2.Para preencher a lacuna, a Intel lançou o Celeron, que inicialmente era umasimples versão castrada do Pentium II, sem os chips de cache e o invólucroplástico. O Celeron original era muito lento, pois não possuía cache L2 algum,contando apenas com os 32 KB de cache L1.O cache L2 é um componente extremamente importante nos processadoresatuais, pois apesar de o desempenho dos processadores ter aumentado quase10.000 vezes nas últimas duas décadas, a memória RAM pouco evoluiu emvelocidade. Pouco adianta um processador veloz, se a todo instante ele temque parar o que está fazendo para esperar dados provenientes da memóriaRAM. É justamente aí que entra o cache secundário, reunindo os dados maisimportantes da memória para que o processador não precise ficar esperando.Retirando o cache L2, a performance do equipamento cai em 40% ou mais.Justamente por isso, além de perder feio para o Pentium II, o Celeron semcache perdia até mesmo para processadores mais antigos.Essa primeira safra foi rapidamente substituída pelo Celeron Mendocino, quetrazia 128 KB de cache L1 interno (full-speed), que resolveu o problema daperformance. O Mendocino foi produzido em versões de 300 a 533 MHz,sempre utilizando barramento de 66 MHz. Além de possírem um desempenhopróximo ao de um Pentium II do mesmo clock (o cache do Pentium II é maior,porém mais lento), as versões de 300, 333 e 366 MHz permitiam overclocks de50%, atingindo respectivamente 450, 500 e 550 MHz com boa estabilidade. 106
  • 107. Não poderia ser mais simples: bastava investir num cooler de boa qualidade einstalar o Celeron Mendocino em uma placa-mãe configurada para operar a100 MHz.O Celeron Mendocino foi também o primeiro processador a utilizar o soquete370, que mais tarde seria utilizado pelo Pentium III Coppermine e demaisprocessadores da família. Foram produzidos também adaptadores, quepermitiam usar processadores soquete 370 em placas slot 1 compatíveis: Celeron Mendocino instalado em uma placa slot 1 usando o adaptadorEm fevereiro de 1999 foi lançado o Pentium III. A versão inicial (que utilizava ocore Katmai) não trazia grandes mudanças: era basicamente um Pentium II,que utilizava o encapsulamento SEPP, mantinha o uso do cache externo eoperava a 500 MHz. A novidade foi a inclusão das instruções SSE que, assimcomo as instruções 3D-Now da AMD, eram voltadas para aplicativos multimídiae 3D.Pouco depois, em outubro de 1999, foi lançado o Pentium III Coppermine,uma versão aprimorada, produzida numa técnica de 0.18 micron, que trazia256 KB de cache L2 integrado (operando na mesma freqüência doprocessador) e abandonou o formato SEPP em favor do FC-PGA, destinado auso em conjunto com as placas-mãe soquete 370.A mudança decretou a morte do slot 1, que não voltou a ser utilizado por outrosprocessadores Intel. Apesar disso, as versões do Pentium III PC-PGA queutilizavam bus de 100 MHz ainda podiam ser usadas na maioria das placas slot1 antigas, com a ajuda do adaptador (muitas placas precisavam de umaatualização de BIOS). 107
  • 108. Pentium III, com o encapsulamento FC-PGANão demorou para que a Intel lançasse também uma nova versão do Celeron,baseada na mesma arquitetura, dando continuidade à tradição de overclocksgigantescos. O Celeron Coppermine nada mais era do que um Pentium III commetade do cache L2 desativado (128 KB), que utilizava bus de 66 MHz (em vezde 100 ou 133, como as diferentes versões do Pentium III). Embora fosseoriginalmente mais lento que um Pentium III do mesmo clock, o CeleronCoppermine de 600 MHz podia tranquilamente operar a 900 MHz, utilizandobus de 100 MHz, oferecendo um desempenho similar ao de um Pentium III 800a uma fração do custo. Eu mesmo tenho um, funcionando até hoje. ;)O Celeron acabou se revelando um bom negócio para a Intel, pois permitiaaproveitar processadores Pentium III com defeitos na memória cache, que deoutra forma iriam para o lixo.Quando ocorre um defeito no cache, em geral apenas alguns poucos bits sãoafetados, normalmente bits fisicamente próximos. Antes de saírem de fábrica,todos os processadores são rigorosamente testados, e os que apresentamdefeitos no cache são separados. O Pentium III foi projetado de tal maneira queo cache L2 era dividido em duas seções de 128 KB, que podiam serdesabilitadas individualmente (um processo irreversível). Como é usadaapenas a metade "boa" do cache, o processador funciona perfeitamente etemos mais um consumidor satisfeito.O Celeron Coppermine foi lançado em versões de até 950 MHz, sendo que apartir do Celeron 800 passou a ser utilizado bus de 100 MHz (que melhorou umpouco o desempenho do processador em relação aos antigos). O Pentium IIIpassou a utilizar barramento de 133 MHz e foi lançado em versões de até 1.0GHz, até ser substituído pelo Pentium 4.Entre 2001 e 2002, já depois de descontinuar o Pentium III, a Intel produziupequenas quantidades do Celeron Tualatin, uma versão aprimorada,produzida numa técnica de 0.13 micron e equipada com 256 KB de cache L2.O Tualatin existiu em versões de 1.0 e 1.4 GHz e era compatível com a maioriadas placas soquete 370 para Pentium III (embora muitas precisassem de umaatualização de BIOS). Ele possuía um bom desempenho em relação aoPentium 4 e era bastante econômico com relação ao consumo elétrico e 108
  • 109. aquecimento, mas a Intel optou por não levar o projeto adiante, com medo deprejudicar as vendas do Pentium 4. Exemplar raro do Tualatin de 1.2 GHzUma questão interessante é que os processadores Pentium II e Pentium III sãoderivados do Pentium Pro, um processador destinado a workstations eservidores, lançado pela Intel em 1995, em versões de 150, 166, 180 e 200MHz. Embora fosse contemporâneo do Pentium I, o Pentium Pro era baseadonuma arquitetura completamente diferente (a plataforma P6), inspirada nosprocessadores RISC.Em vez de processar diretamente todas as instruções complexas incluídas noconjunto x86, o Pentium Pro incluía unidades de execução capazes deprocessar apenas instruções simples, porém a uma grande velocidade, quasesempre uma instrução em cada unidade de execução, por ciclo de clock. Antesde chegarem às unidades de execução, as instruções complexas utilizadaspelos programas eram convertidas em instruções simples pelas unidadesdecodificadoras, incluídas no processador. O Pentium Pro incluía três unidadesde execução e uma unidade decodificadora capaz de mantê-las ocupadas namaior parte do tempo.Para completar, o processador incluía 256 KB de cache L2 full speed nomesmo encapsulamento do processador. Isto soa familiar não é? O PentiumPro é muito similar a um Pentium III Coppermine, só que lançado 4 anos antes.Na época a Intel não possuía tecnologia para incluir o cache L2 diretamente nodie do processador, por isso era utilizado um wafer separado, porém incluídono mesmo encapsulamento do processador. Isso fazia com que o Pentium Protivesse um formato retangular: 109
  • 110. Interior de um Pentium Pro, com o chip de cache separadoNaturalmente, o Pentium Pro não possuía as instruções SSE, mas osingredientes básicos já estavam presentes. Podemos dizer que tanto o PentiumII quanto o Pentium III são versões melhoradas do Pentium Pro, adaptadas aomercado doméstico. Uma observação é que também existiram versões doPentium Pro com 512 KB e 1 MB de cache, mas elas eram muito mais caras epor isso foram produzidas em pequenas quantidades.Voltando à AMD, embora o K6-2 tenha dado combate ao Pentium II e àsprimeiras versões do Pentium III, as limitações da antiga plataforma soquete 7limitavam o desempenho do processador. Outro problema é que o K6-2 erauma plataforma de baixo custo, que levava ao aparecimento de placas-mãecada vez mais baratas e de qualidade cada vez pior. Os constantes problemascom as placas acabaram fazendo com que o K6-2 ficasse com má fama nomercado, embora o processador em si apresentasse um bom custo benefício.Em 1999 a AMD finalmente conseguiu lançar o Athlon (na época tambémchamado de K7), uma plataforma completamente nova, que conseguiusolucionar os principais problemas associados ao K6-2. Apesar de toda aevolução, todos os processadores AMD lançados daí em diante, incluindo osAthlon 64 dual-core e quad-core continuam sendo baseados nessa mesmaarquitetura.As primeiras versões do Athlon utilizavam um formato de cartucho, muitosimilar ao usado pelo Pentium II, com chips de memória cache externos,operando à metade da freqüência do processador. As placas-mãe utilizavam oslot A, um conector similar ao usado pelo Pentium II, porém incompatível e comuma pinagem diferente.O uso de cache externo atrapalhou o desempenho dessa versão inicial,principalmente se levarmos em conta que na época a Intel já vendia o PentiumIII Coppermine, com cache full-speed, que era mais rápido e mais barato de seproduzir. Para piorar, a AMD não conseguiu obter chips de memória cachecapazes de operar a mais de 350 MHz, de forma que o divisor da freqüência docache foi aumentando conforme lançava processadores mais rápidos.As versões de até 700 MHz do Athlon slot A trazem cache L2 operando àmetade da freqüência do processador. As versões de 750, 800 e 850 MHz 110
  • 111. trazem cache operando a apenas 2/5 da freqüência, enquanto nas versões de900, 950 e 1 GHz o cache opera a apenas 1/3 da freqüência. Athlon slot A, baseado na arquitetura K7Essa cara e desajeitada versão inicial do Athlon foi rapidamente substituídapelo Athlon Thunderbird, que incorporou 256 KB de cache L2 full-speed evoltou a utilizar o formato soquete, dando início à era soquete A (soquete 462).Esse mesmo formato continuou sendo usado pelos Durons, Athlons XP eSemprons, até a introdução do Athlon 64, que passou a utilizar placas-mãebaseadas no soquete 754 ou 939.O Duron substituiu o K6-2 como processador de baixo custo da AMD e prestoubons serviços, concorrendo com as diferentes versões do Celeron. Em todasas suas encarnações, o Duron possui apenas 64 KB de cache L2. Entretanto,ele conserva o massivo cache L1 de 128 KB do Athlon, o que cria umaconfiguração interessante, com mais cache L1 do que cache L2.Assim como o Athlon, o Duron utiliza um sistema de cache "exclusivo", onde osdados armazenados no cache L1 são sempre diferentes dos armazenados nocache L2. O cache L1 do Celeron, por sua vez, armazena sempre cópias deinformações já armazenadas no cache L2 de 128 KB. Graças a essacaracterística, o Duron acaba levando vantagem com relação ao cache, pois écapaz de armazenar um total de 196 KB de informações nos caches, contraapenas 128 KB no Celeron.A versão inicial do Duron utilizava o core Spitfire (baseado no AthlonThunderbird) e existia em versões de 600 a 950 MHz. Em seguida foi lançado oDuron Morgan (baseado no Athlon XP), que existiu em versões de até 1.3 GHz,quando foi substituído pelo Sempron.As versões iniciais do Athlon Thunderbird utilizavam barramento de 100 ou 133MHz, assim como o Pentium III. Entretanto, as versões seguintes (com coreThoroughbred e Barton) passaram a utilizar bus de 166 ou 200 MHz, memóriasDDR e tensões mais baixas, quebrando a compatibilidade com as placasantigas. Com o uso de memória DDR, o barramento passa a realizar duastransferências por ciclo, por isso é comum que os fabricantes dobrem afreqüência na hora de divulgar as especificações, chegando aos 333 (166 x 2)ou 400 MHz (200 x 2). 111
  • 112. Como citei anteriormente, a Intel patenteou o barramento GTL+ usados pelosprocessadores Pentium II em diante, assim como o slot 1 e o soquete 370, deforma que a AMD não podia utilizá-los em seus processadores. A AMD optouentão por licenciar o barramento EV6, desenvolvido pela Alpha Digital. O EV6possui uma vantagem importante sobre o barramento da Intel, que é o fato deser um barramento ponto a ponto. Nele, cada processador tem seu barramentoexclusivo de comunicação com o chipset, permitindo o desenvolvimento deplacas para dois ou quatro processadores Athlon, trabalhando em SMP, cadaum com o seu barramento exclusivo com a memória e outros componentes,resultando em um ganho considerável de desempenho em relação ao PentiumIII. Embora a AMD não tenha conseguido tirar muito proveito deste recurso nosdesktops, ele ajudou o Athlon a ganhar espaço nos servidores, onde máquinascom dois processadores são comuns.A seguir temos uma foto que mostra como o Athlon é fisicamente. Essa foto foicedida pela própria AMD e é bem interessante, pois ajuda a entender como osdados trafegam dentro do processador:Veja que a foto está dividida em pequenos retângulos, cada um mostrando aárea ocupada por cada componente do processador. Infelizmente tudo está eminglês, mas aqui vai uma breve legenda dos componentes mais importantes (naordem em que cada componente aparece na ilustração, começando de cima) Floating Point Execution Units: São as unidades de execução de ponto flutuante. Nada mais é do que a parte fundamental do coprocessador aritmético, fundamental em vários aplicativos. 112
  • 113. Floating Point Control: Este componente controla a ordem em que as instruções serão executadas pelo co-processador aritmético, permitindo que as unidades de ponto flutuante fiquem ocupadas na maior parte do tempo. Floating Point Scheduler: Armazena as próximas instruções que serão processadas pelo co-processador. Este componente é essencial para o trabalho do Floating Point Control. 64 Kbyte Data Cache: Os 128 KB de cache L1 do Athlon são divididos em dois blocos, 64 KB para dados e 64 KB para instruções. Esta divisão meio a meio é utilizada na maioria dos processadores atuais e melhora a velocidade de acesso, pois permite que os dois blocos sejam acessados simultaneamente. O Data Cache é a metade que armazena dados. Integer Execution Unit: Composto pelas unidades de execução de inteiros, ele é o componente básico de qualquer processador. É aqui que são processadas as operações envolvendo números inteiros. Instruction Control Unit: Circuito que controla o envio de instruções para as unidades de execução de inteiros. Também ordena as instruções, de forma que possam ser processadas mais rápido. Bus Interface Units: É por aqui que os dados entram e saem do processador. Controla a comunicação do processador com o chipset e com os demais componentes do micro. 64 Kbyte Instruction Cache: É o segundo bloco do cache L1, o bloco que armazena instruções. Branch Prediction: O circuito de Branch Prediction é um dos componentes mais importantes dos processadores atuais, responsável por organizar as instruções de forma a manter as unidades de execução do processador ocupadas. Além de procurar adiante no código por instruções que podem ser "adiantadas", ele "adivinha" o resultado de operações de tomada de decisão (levando em conta fatores como o resultado de operações similares executadas anteriormente), permitindo que o processador vá "adiantando o serviço" enquanto o resultado da primeira operação ainda não é conhecido. Como todo bom adivinho, ele às vezes erra, fazendo com que o processador tenha que descartar todo o trabalho feito. Apesar disso, o ganho é muito grande, pois nos processadores atuais o circuito de branch prediction acerta em mais de 90% dos casos. Predecode Array: Esta é a porta de entrada do processador. O predecore array é composto pelos circuitos que convertem as instruções x86 enviadas pelos programas nas instruções simples que o processador executa internamente.Até certo ponto, tanto o Pentium III quanto o Athlon e outros processadores x86atuais trabalham da mesma maneira. Internamente, o processador é capaz de 113
  • 114. executar apenas instruções simples, para ser mais exato apenas quatroinstruções: adição, atribuição, leitura e gravação.Se você já estudou alguma linguagem de programação, aprendeu aimportância das variáveis, que são pequenos espaços de memória reservadospara guardar algum tipo de informação. Existem vários tipos de variáveis, de 8,16, 32 bits, etc. que mudam de nome dependendo da linguagem deprogramação usada. A instrução de atribuição do processador é usada sempreque é necessário criar ou alterar o valor de uma variável.Por exemplo, imagine que um programa qualquer criou uma variável de 8 bitscom o número 5. A próxima instrução manda que o programa compare o valorda variável com o número 6 e, caso o número seja menor, altere o valor para 9.Como 5 é menor que 6, o programa decide fazer a alteração, utilizando aoperação de atribuição do processador, que lê o valor 9 e grava-o no espaçode memória da variável, que passa a ter o valor 9 em vez de 5.A instrução de soma é a operação básica que permite fazer todo tipo deprocessamento, enquanto as instruções de leitura e gravação permitem moveros dados. Basicamente é só isso que um processador atual sabe fazer.Operações mais complexas são executadas através da combinação de váriasinstruções simples.Para calcular uma multiplicação, por exemplo, o processador utilizaráseqüencialmente várias operações de soma. Na verdade, dentro doprocessador todas as operações, mesmo as mais complexas, são calculadascom base em várias operações de soma, feitas entre os valores bináriosprocessados pelo processador. Uma operação de subtração é obtida atravésde uma operação de atribuição, que transforma um dos valores em negativo,seguida por uma operação de soma.Uma operação de divisão é obtida executando-se uma seqüência de operaçõesde subtração e todos os demais cálculos, mesmo os cálculos mais complexos,executados pelo co-processador aritmético, são resolvidos usando apenas asquatro operações, obtidas a partir das simples instruções de soma e atribuição.Pois bem, o conjunto de instruções x86, utilizadas pelos programas e com asquais qualquer processador destinado a micros PC deve ser compatível, écomposto tanto por instruções simples (soma, subtração, leitura, gravação,comparação, etc.) quanto por instruções muito complexas, que devem serquebradas em várias instruções simples para que possam ser executadas peloprocessador.Excluindo-se componentes de apoio, como o cache L1, deixando apenas aparte "funcional" do processador, podemos dividir o processador em trêspartes.A primeira parte é o decodificador de instruções. Esse componente tem afunção de converter as instruções x86 usadas pelos programas nas instruçõessimples que podem ser executadas pelo processador. As instruções simplesvão então para uma unidade de controle (o circuito de branch prediction), queorganiza as instruções da forma que possam ser executadas mais 114
  • 115. rapidamente. As instruções formam então uma fila (organizada pelo scheduler)a fim de permitir que a unidade de controle tenha tempo de fazer seu trabalho.Lembre-se de que os processadores atuais são superescalares, executamvárias instruções por ciclo, simultaneamente, o que torna essencial a existênciade algum circuito que as coloque numa ordem em que a execução de uma nãodependa do resultado da execução de outra.Finalmente, temos as unidades de execução, onde as instruções preparadase organizadas são finalmente processadas. Veja que todos os circuitostrabalham simultaneamente, com o objetivo de manter as unidades deexecução ocupadas:A lógica é que quanto mais unidades de execução tivermos trabalhando aomesmo tempo, mais instruções todas juntas serão capazes de processar equanto mais circuitos de decodificação e controle tivermos, mais eficiente seráa decodificação das instruções, resultando em um processador mais rápido.O maior limitante é que a maioria dos programas são desenvolvidos esperandoque o processador processe uma instrução de cada vez. Temos também umgrande número de operações de tomada de decisão, onde o processadorprecisa resolver uma determinada operação para então poder decidir o que vaifazer depois. Graças aos circuitos de branch prediction, os processadores sãocapazes de ir "adiantando o serviço", processando outras instruções maisadiante, enquanto a operação de tomada de decisão é solucionada. Dequalquer forma, existe um limite para quanto trabalho o processador é capazde executar por ciclo.Com mais do que três ou quatro unidades de execução, o processador acabaficando ocioso grande parte do tempo, de forma que processadores muito maiscomplexos do que isso acabariam sendo um desperdício de recursos.Em vez de adicionar mais e mais unidades de execução aos processadores, osfabricantes passaram, a partir de um certo ponto, a desenvolver processadoresdual-core e quad-core, onde temos dois ou quatro processadores no mesmoencapsulamento, trabalhando como se fossem um único processador. Istoresulta num melhor desempenho ao rodar vários aplicativos simultaneamente(você pode jogar e ripar um DVD ao mesmo tempo, por exemplo) e é muitomais simples e barato para os fabricantes do que desenvolver um único eprocesso super-processador. Como atualmente é comum manter um grandenúmero de aplicativos abertos simultaneamente, somados com o antivírus, 115
  • 116. antispyware, firewall e outros integrantes do "kit Windows", um processadordual-core acaba oferecendo um bom ganho na prática.Aqui temos um diagrama da Intel, que mostra como isso funciona no Core 2Duo. Veja que temos um grande bloco de cache L2, que é compartilhado pordois núcleos (cores). Tudo isso dentro do mesmo die, ou seja, dentro damesma pastilha de silício: Visão ampliada do Core 2 DuoOutros processadores seguem um projeto mais convencional, onde temos doisnúcleos completamente separados, cada um com seu próprio cache L2, oumesmo processadores dual-core formados pela combinação de doisprocessadores separados, instalados dentro do mesmo encapsulamento, comono caso do Pentium D.A partir do Phenom, a AMD passou a utilizar uma arquitetura com dois ouquatro núcleos por processador, cada um com seu próprio cache L1 e L2, quecompartilham um grande bloco de cache L3. Tudo indica que a Intel utilizaráuma arquitetura semelhante no Nehalem, cujo lançamento está agendado parao final de 2008.Sistemas embarcadosPergunte a algum amigo quantos computadores ele tem em casa.Provavelmente ele vai responder "tenho só um", ou talvez "tenho dois".Involuntariamente ele estará mentindo, pois na verdade ele tem 10, 20 ouquem sabe 50 computadores em casa. :)Os demais estão escondidos, dentro do celular, TV, aparelho de som, modemADSL, ponto de acesso, brinquedos, câmeras digitais, mp3 players, fornos demicroondas e outros aparelhos domésticos, controles remotos e assim pordiante. Até mesmo o carro que está na sua garagem inclui vários deles, naforma do sistema de injeção eletrônica, freio ABS, airbag, computador debordo, etc. Seja bem-vindo ao fantástico mundo dos sistemas embarcados. 116
  • 117. Ao contrário de um PC, que pode executar os mais diversos programas ealternar entre eles, desempenhando as mais diversas funções, os sistemasembarcados são dispositivos "invisíveis", que se fundem no nosso cotidiano, deforma que muitas vezes sequer percebemos que eles estão lá. Eles sãoformados, fundamentalmente, pelos mesmos componentes de um PC:processador, memória, algum dispositivo de armazenamento, interfaces eassim por diante. A principal diferença é que, ao contrário de um PC, eles selimitam a executar bem uma única tarefa, de maneira contínua e, na maioriadas vezes, sem travamentos e panes.O fato de ser um sistema embarcado, não diz muito sobre o tamanho ou aimportância do sistema, pode ser desde um furby, até uma máquina comcentenas de processadores, destinada a criar previsões sobre mercados decapitais, ou controlar o tráfego aéreo. Basicamente, qualquer equipamentoautônomo que não é um PC, um Mac ou outro tipo de computador pessoalacaba se enquadrando nessa categoria. Furby, um exemplo de sistema embarcado na forma de brinquedoÉ graças aos sistemas embarcados que o Z80 (em suas inúmeras variações) éaté hoje o processador mais produzido. Por ser um processador muito simples,de 8 bits, ele é incrivelmente barato e possui um baixíssimo consumo elétrico.Não seria possível incluir um Core Duo ou um Athlon X2 em um controleremoto, por exemplo, mas um Z80 cumpre bem a função. Lembra do gameboy? Ele era justamente baseado num Z80, acompanhado de um controladorde áudio externo e outros circuitos. Outro exemplo são os S1 Mp3 players,aqueles Mp3 players genéricos em formato de pendrive, fabricados em massapelos mais diversos fabricantes.Outro processador muito usado é o Motorola 68000, o mesmo chip de 32 bitsutilizado nos primeiros Macintoshs. Naturalmente, não estamos falandoexatamente do mesmo chip introduzido em 1979, mas sim de versões"modernizadas" dele, que conservam o mesmo design básico, mas sãoproduzidas usando tecnologia atual e operam a freqüências mais altas. Umexemplo é o chip DragonBall usado nos primeiros Palms, que incluía umprocessador 68000, controlador de vídeo e outros componentes, tudo nomesmo wafer de silício. 117
  • 118. Processador Motorola DragonBall, usado nas primeiras versões do PalmPara dispositivos que precisam de mais processamento, temos as diversasfamílias de processadores ARM, chips RISC de 32 bits, produzidos pordiversos fabricantes, que vão da Samsung à Intel. Embora possuam um designbastante simples, se comparados aos processadores x86, os chips ARMconservam um bom desempenho. Um Treo 650, por exemplo, que é baseadonum Intel Xscale de 312 MHz, consegue exibir vídeos em Divx com resoluçãode 320x240 sem falhas, tarefa que mesmo um Pentium II 266 tem dificuldadespara realizar.Usando um processador ARM e pelo menos 4 MB de memória, seu sistemaembarcado pode rodar Linux, o que abre grandes possibilidades em termos desoftwares e ferramentas de desenvolvimento. Adicionando um pouco mais dememória, é possível rodar o Windows Mobile ou o Symbian.Embora operem a freqüências relativamente baixas, se comparados aosprocessadores x86 (na maioria dos casos apenas 300, 400 ou 500 MHz), oschips ARM são baratos e possuem um baixo consumo elétrico, por isso sãoextremamente populares em celulares, PDAs, pontos de acesso, modemsADSL, centrais telefônicas, sistemas de automatização em geral, videogames(como o GameBoy Advance) e assim por diante. Cerca de 75% de todos osprocessadores de 32 bits usados em sistemas embarcados são processadoresARM.Além da família ARM e Z80, existem inúmeras outras famílias de chips econtroladores. Cada uma conta com um conjunto próprio de ferramentas dedesenvolvimento (SDK), que incluem compiladores, debuggers, documentaçãoe ferramentas úteis. Em alguns casos o SDK é distribuído gratuitamente, masem outros precisa ser comprado ou licenciado, o que encarece o projeto.Normalmente, o desenvolvedor roda as ferramentas de desenvolvimento emum PC e transfere o software para o sistema embarcado que estádesenvolvendo apenas nos estágios finais do desenvolvimento. Em algunscasos isso é feito através da porta USB (ou de uma porta serial), mas emoutros é necessário gravar um chip de EPROM ou memória flash com a ajudado gravador apropriado e transferir o chip para o sistema embarcado parapoder testar o software.Um bom exemplo de sistema embarcado é este MP4 player da foto a seguir.Ele utiliza apenas três chips, sendo um o controlador principal, outro um chipde memória flash (usado para armazenamento) e o terceiro um sintonizador de 118
  • 119. rádio AM/FM, que poderia muito bem ser retirado do projeto sem prejuízo paraas demais funções do aparelho:Isso é possível porque o chip principal (um Sigmatel STMP3510) é ummicrocontrolador que desempenha sozinho todas as funções do aparelho,incluindo controladores para as diversas funções disponíveis e até mesmo umapequena quantidade de memória RAM:É esse tipo de microcontrolador que permite que modems ADSL, MP3 players,celulares e outros aparelhos que usamos no dia-a-dia sejam tão baratos emrelação ao que custavam há alguns anos. Com menos chips, o custo caiproporcionalmente.Existem no mercado os mais diversos tipos de microcontroladores, cada umcom um conjunto próprio de periféricos e funções. Ao invés de desenvolver efabricar seus próprios chips, as empresas passaram a cada vez mais utilizarcomponentes disponíveis no mercado, que são fabricados em massa e 119
  • 120. vendidos a preços incrivelmente baixos. Para você ter uma idéia, o STMP3510custa apenas 6 dólares se comprado em quantidade. Microcontroladores maissimples podem custar menos de 1 dólar, enquanto chips menores chegam acustar apenas alguns centavos.A maior parte do custo de um processador ou chip qualquer está em seudesenvolvimento. Mesmo um microcontrolador relativamente simples podeconsumir vários milhões para ser desenvolvido. Entretanto, o custo deprodução por unidade é relativamente baixo, de forma que os chips maisvendidos acabam tendo o custo inicial amortizado e passam a ser cada vezmais baratos.Muitos microcontroladores podem ser conectados a dispositivos analógicos,permitindo o uso de sensores diversos. Isso permite a criação de dispositivossimples, que monitoram temperatura, umidade, intensidade da luz, aceleração,campos magnéticos e assim por diante, executando ações predefinidas emcaso de mudanças, como ligar o ar condicionado, abrir ou fechar as persianas,ou mesmo disparar o air bag do seu carro em caso de colisão.Para aplicações em que um chip personalizado é essencial, existe ainda aopção de usar chips programáveis, chamados de FPGAs (field-programmablegate arrays) ou, mais raramente, de LCAs (logic-cell arrays). Como o nomesugere, eles são chips compostos por um enorme número de chavesprogramáveis, que podem ser configurados para simular o comportamento dequalquer outro circuito.Um único FPGA pode simular não apenas um processador simples, mastambém outros circuitos de apoio, como o controlador de vídeo, uma interfaceserial e assim por diante. Os modelos recentes incluem inclusive uma pequenaquantidade de memória RAM e circuitos de apoio, de forma que você pode terum sistema completo usando apenas um chip FPGA previamente programado,um chip de memória EPROM (ou memória flash) com o software, a placa decircuito com as trilhas e conectores e uma bateria ou outra fonte de energia. Chip FPGA 120
  • 121. Os FPGAs são naturalmente muito mais caros que chips produzidos em série,mas são uma opção em situações em que são necessárias apenas algumascentenas de unidades de um design exclusivo. Imagine o caso do ramo daautomação industrial, por exemplo.Eles são também o caminho para projetos artesanais, que são a nova ondaentre quem gosta de eletrônica ou está cursando engenharia da computação.Um bom site dedicado ao assunto é o http://www.fpga.ch/, que disponibilizasoftwares, layouts de placas e até mesmo projetos prontos, como este quereproduz uma máquina de arcade antiga, rodando Pac-Man ou Galaga:Outro bom site é o http://www.fpga4fun.com, que inclui uma grande quantidadede informações e alguns projetos de exemplo. Os componentes necessáriospara construir os projetos podem ser comprados facilmente pela web, basta terum cartão internacional ou uma conta no PayPal.Uma questão interessante nos sistemas embarcados é a memória flash. Com aqueda no preço, mesmo aparelhos que tradicionalmente usavam memóriaSRAM (muito mais cara) como forma de armazenamento, como os palmtops eos celulares, passaram a utilizar memória flash. O problema é que a memóriaflash funciona apenas como espaço de armazenamento e não como memóriade trabalho.Numa analogia com um PC, a memória flash seria similar a um HD, que servepara armazenar arquivos, mas que não elimina a necessidade de usar memóriaRAM. Isso significa que mesmo dispositivos com grandes quantidades dememória flash ainda precisam de uma certa quantidade de memória RAM ouSRAM, seja incorporada ao próprio microcontrolador, seja na forma de um chipseparado.Nos primeiros Palms, por exemplo, tínhamos um chip de memória flash, quearmazenava os softwares e chips adicionais de memória SRAM, que serviamtanto como memória de trabalho quanto como espaço para armazenar dados eprogramas. 121
  • 122. A partir do Treo 650, todos os programas e arquivos passaram a serarmazenados em memória flash (você pode remover a bateria, sem medo deperder dados) e foi adicionado um chip de memória SRAM que serve comomemória de trabalho. A grande questão é que a memória SRAM é muito maiscara que a memória flash, de forma que vale mais a pena utilizar uma pequenaquantidade de SRAM e uma grande quantidade de memória flash, do que ooposto.Temos ainda a questão do fornecimento elétrico. A maioria dos circuitostrabalham com tensão de 5v ou 3.3v, mas é possível usar praticamentequalquer bateria ou fonte de energia, usando fontes de alimentação ou oscircuitos apropriados. Um resistor, acompanhado por um regulador de tensão eum fusível, é geralmente o suficiente para que ele possa ser ligado diretamenteem uma bateria de carro, por exemplo. No caso de dispositivos ligados a umPC, é possível utilizar diretamente a energia fornecida pela porta USB.Também é possível utilizar placas solares ou outras fontes alternativas deenergia, permitindo a criação de sistemas embarcados capazes de operar deforma autônoma. Um exemplo são os pontos de acesso repetidores usados poralguns provedores de acesso, que utilizam painéis solares e baterias, de formaque podem ser instalados num poste ou no topo de um prédio sem precisaremde qualquer cabeamento:O uso de redes sem fio também abre algumas possibilidades interessantes naárea publicitária. Imagine o caso de letreiros eletrônicos ou telões publicitários.Se os anúncios pudessem ser atualizados remotamente, a instalação seriamuito mais simples, já que bastaria ligá-los na eletricidade. Um sistemaembarcado, contendo um transmissor wireless, memória e o softwareadequado, poderia ser acessado remotamente e programado com os anúnciosa exibir.Enfim, embora os PCs normalmente roubem a cena, os sistemas embarcadossão muito mais numerosos e são responsáveis por toda a estrutura que 122
  • 123. utilizamos no dia-a-dia. Eles são também uma das áreas mais promissorasdentro da área de tecnologia, já que um simples FPGA pode ser programadopara desempenhar praticamente qualquer função.Capítulo 2:ProcessadoresNo capítulo anterior fiz um resumo da história dos primeiros processadores,criando uma espécie de linha do tempo. Conhecer a história dos primeirosprocessadores é importante para entender os atuais, mas entrar em detalhessobre, por exemplo, o gerenciamento de memória do 8088, pode ser muitotedioso, daí a idéia de resumir tudo em um único capítulo sobre a história dainformática.Vamos falar agora sobre os processadores atuais (de 2000 pra cá), passando aabordar as coisas de forma mais detalhada. Como um novo projeto deprocessador demora de 3 a 5 anos para ser desenvolvido, os fabricantesaproveitam o mesmo projeto básico em diversos modelos de processadores,incluindo pequenas melhorias e mais cache L2 ao longo do processo. Todosestes processadores baseados na mesma arquitetura podem ser classificadosdentro de uma única família e colocados em um galho separado da árvoreevolutiva.Por exemplo, a arquitetura NetBurst foi utilizada pela Intel de 2000 a 2006,englobando desde os primeiros modelos do Pentium 4 até o Pentium D,passando por diversas variações, como os Pentium Extreme Edition e osCelerons. Entre 2006 e 2007 ela foi substituída rapidamente pelosprocessadores baseados na plataforma Core, incluindo os Core 2 Duo, Core 2Quad, Pentium E e Celerons 4xx.Em vez de tentar abordar os processadores diretamente em ordemcronológica, vou dividi-los em famílias, falando sobre todos os processadoresbaseados na arquitetura NetBurst, depois todos os Athlons de 32 bits, seguidospelos Athlons de 64 bits e pelos processadores baseados na plataforma Core.No final, aproveitei para incluir também um resumo sobre os próximosprocessadores, criando um panorama do que você pode esperar para ospróximos anos.Pentium 4O Pentium 4 foi lançado em novembro de 2000, trazendo uma arquiteturacompletamente redesenhada, baseada na idéia do uso de um longo pipelinepara permitir que o processador fosse capaz de atingir freqüências de clockelevadas e no uso de um cache L1 muito rápido e um barramento de dadoscapaz de realizar 4 transferências por ciclo para mantê-lo alimentado com ovolume necessário de dados e instruções. 123
  • 124. O Pentium 4 representa a sétima geração de processadores Intel. A primeiraforam os processadores 8086 e 8088, lançados no final da década de 70, queforam seguidos pelos processadores 286, 386 e 486 que bem conhecemos. Aquinta geração é representada pelos processadores Pentium e Pentium MMX,enquanto a sexta (também chamada de arquitetura P6) é representada pelosprocessadores Pentium II e Pentium III (incluindo também o Pentium Pro).Por diversos motivos que vou explicar ao longo deste capítulo, o Pentium 4acabou se revelando um beco sem saída. Devido à enorme dissipação térmicados processadores, a Intel não foi capaz de lançar versões com clock acima de3.8 GHz (a versão de 4.0 GHz, que acabou sendo cancelada no últimomomento), e operando a freqüências baixas o Pentium 4 perdia facilmente paraos processadores AMD. Só em 2006 a Intel conseguiu dar a volta por cima,com o lançamento do Core 2 Duo.WillametteO Willamette foi a versão inicial do Pentium 4, produzido usando uma técnicade 0.18 micron (a mesma usada na fabricação dos processadores Pentium IIIcom cache integrado), com apenas 256 KB de cache L2. Ele existiu emversões de 1.3 a 2.0 GHz, com o TDP de 48.9 watts (para o de 1.3) a 73.5watts (para o 2.0).O TDP (Thermal Design Power) indica, em processadores Intel, o consumomédio do processador ao executar aplicativos pesados. O consumo real podesuperar o TDP ao rodar benchmarks e aplicativos específicos, mas na maiorparte do tempo o consumo fica dentro da faixa especificada.Na época, o consumo elétrico não era considerado uma especificaçãoimportante. Se o processador era beberrão demais, você simplesmentegastava um pouco mais, comprando um cooler adequado. Entretanto, com olançamento de versões mais rápidas do Pentium 4, o TDP chegou aos 130watts, o que chamou a atenção do público. A partir de um certo ponto, osfabricantes passaram a falar em "eficiência", dando ênfase não apenas aoclock e ao desempenho geral do processador, mas também ao seu consumoelétrico.Basta fazer as contas. Se você mantém o micro ligado durante 12 horas pordia, um processador que consuma 130 watts (como o Pentium D 830) lhe custa(apenas em eletricidade) cerca de 20 reais mensais a mais do que um queconsuma apenas 30 watts. Calculando que você também gastaria mais com ocooler e que o próprio PC consumiria mais energia devido à necessidade deexaustores adicionais, a diferença total acabaria sendo ainda maior. Ou seja,um processador ineficiente que te custa R$ 400 na hora da compra, poderia lhecustar mais 500 ou 600 reais (incluindo apenas o aumento na conta de luz) aolongo de 2 anos de uso.Voltando ao tema inicial, um ponto interessante sobre as primeiras versões doPentium 4 é que o único chipset disponível durante quase um ano, o i850 daprópria Intel, suportava apenas memórias Rambus, o que obrigava qualquer 124
  • 125. interessado em adquirir um Pentium 4 a comprar também módulos de memóriaRIMM. Este tipo de memória era inicialmente absurdamente caro, tanto que aIntel passou a subsidiar parte do custo das memórias, dando um desconto nosprocessadores vendidos a integradores e dando "de brinde" dois pentes dememórias Rambus de 64 MB cada nos processadores in-a-box, destinados aoconsumidor final.As vendas do Pentium 4 só deslancharam com o lançamento do chipset i845,que oferecia suporte a módulos de memória SDRAM convencionais.Em 2002 a Intel lançou dois modelos (1.7 e 1.8 GHz) do Celeron baseado nocore "Willamette-128", que nada mais é do que uma versão do Pentium 4Willamette com metade do cache L2 desabilitado. Eles foram vendidos apenasem versão soquete 478 e eram relativamente baratos para o padrão dosprocessadores Intel na época, custando abaixo da faixa dos 100 dólares.Embora o desempenho fosse ruim, essa geração inicial do Celeron baseado noPentium 4 foi uma forma de a Intel popularizar o uso das placas soquete 478 eassim abrir caminho para as gerações seguintes do Pentium 4.Para quem pretendia fazer overclock, o Celeron 1.7 era a melhor opção, poisalém de um pouco mais barato ele podia ser overclocado para 2.26 GHz(desde que usado um bom cooler e um gabinete bem ventilado), aumentando oFSB de 400 para 533, opção oferecida por praticamente todas as placassoquete 478. Operando a 2.26 GHz, ele oferecia um desempenho muitopróximo do de um Pentium 4 Willamette de 2.0 GHz.Na época se discutia muito sobre o desempenho dos Celerons baseados nocore Willamette-128 contra os baseados no Core Tualatin (mesmo a 1.2 GHz, oTualatin ganhava em boa parte das aplicações), mas a discussão era emgrande parte irrelevante, pois o Tualatin foi vendido em pequenas quantidadese apenas para integradores, de forma que não era realmente possível comprarum, por melhor que fosse a arquitetura.Devido ao alto custo inicial (incluindo a questão das memórias) o Willametteacabou vendendo poucas unidades e foi rapidamente substituído peloNorthwood, lançado 11 meses depois, em outubro de 2001. Na mesma época,as placas soquete 423 (que oferecem suporte apenas ao Pentium 4 Willamette)foram rapidamente substituídas pelas placas soquete 478, que continuam emuso até 2005/2006, sendo lentamente substituídas pelas placas soquete 775.Apesar de sua vida curta, o Willamette é uma boa oportunidade para explicarum pouco sobre a arquitetura do Pentium 4. O primeiro alerta a se fazer arespeito é que o aumento da freqüência de operação não significa um ganhodireto de desempenho. A arquitetura do Pentium 4 é baseada no uso de maisestágios de pipeline para permitir que o processador seja capaz de atingirfreqüências de clock mais elevadas. É por isso que um Pentium 4 Willametteatingiu a marca dos 2.0 GHz, enquanto o Pentium III Coppermine, quecompartilha da mesma técnica de fabricação de 0.18 micron que ele não foicapaz de superar a marca dos 1.0 GHz. 125
  • 126. Entretanto, a diferença de desempenho entre os dois não é tão grande quantopode parecer à primeira vista. Mesmo com todas as otimizações que foramaplicadas, um Willamette de 2.0 GHz, equipado com memórias SDRAM nãoconsegue ser sequer 50% mais rápido que um Pentium III Coppermine de 1.0GHz.Mesmo quando equipado com pentes de memória RDRAM, o Willamette aindaperde para o Athlon Thunderbird de 1.4 GHz (que foi seu concorrente maisdireto, na época) na maior parte dos aplicativos.A arquitetura do Pentium foi claramente desenvolvida para operar a altasfreqüências e assim compensar o baixo desempenho por ciclo de clock. Issoacabou se revelando um bom golpe de marketing, já que na época o públicoestava acostumado a relacionar a freqüência de clock com o desempenho.Para não ficar para trás, a AMD adotou um índice de desempenho a partir doAthlon XP, que compara o desempenho do processador ao alcançado peloPentium 4. Um Athlon XP 1800+, por exemplo, opera a apenas 1.533 GHz.Mais adiante, o feitiço se voltou contra o feiticeiro e a própria Intel decidiu pararde enfatizar a freqüência de clock e adotar um sistema de numeração paraseus processadores.Voltando ao final de 2000, a Intel batizou a nova arquitetura do Pentium 4 deNetBurst. O nome não tem nada a ver com o desempenho em redes ou nainternet; é apenas um nome mercadológico usado para tentar ilustrar aarquitetura do processador e suas otimizações com relação ao processamentode grandes volumes de dados. Sempre que ouvir falar em um processador"baseado na arquitetura NetBurst", tenha em mente que se trata de algumaderivação do Pentium 4, como um Pentium D ou Celeron.A arquitetura NetBurst é composta por 4 pontos principais: Hyper PipelinedTechnology, Rapid Execution Engine, Execution Trace Cache e o uso do busquad-pumped. Vamos aos detalhes de cada uma das 4 tecnologias:Hyper Pipelined TechnologyO pipeline é um recurso que divide o processador em vários estágios, quetrabalham simultaneamente, dividindo o trabalho de processar as instruções. Écomo uma linha de produção com vários operários, em que cada um montauma peça, até termos no final o produto completo.O primeiro processador Intel a utilizar esse recurso foi o 486, que possuía 5estágios. Como o 486 era um processador muito simples (para os padrõesatuais), que processava uma instrução de cada vez, ele não precisava demuitos dos componentes usados nos processadores modernos, tais como oordenador, circuito de branch-prediction e assim por diante. O processadorsimplesmente recebia cada instrução, fazia a decodificação e em seguida aexecutava. Enquanto a primeira instrução passava do primeiro para o segundoestágio do pipeline, o primeiro estágio recebia a instrução seguinte e assim pordiante. 126
  • 127. O Pentium manteve os 5 estágios do 486, mas incorporou uma segundaunidade de execução e um coprocessador aritmético muito aprimorado. Com ouso de duas unidades de execução, surgiu a necessidade de dividir asinstruções entre elas, o que gerou um problema adicional, já que a grandemaioria dos programas executam processamento de maneira sequencial,esperando que o processador execute uma instrução de cada vez.Surgiu então a necessidade de incluir circuitos adicionais, que ordenam asinstruções de forma que o processador possa executar duas instruções porciclo na maior parte do tempo. O mais importante dele é o circuito de branchprediction, que permite que o processador use o tempo ocioso para ir"adiantando o trabalho", processando um dos caminhos possíveis em umaoperação de tomada de decisão enquanto não sabe o resultado da operaçãoque diz qual dos caminhos é o carreto, como, por exemplo, ao executar umtrecho de código, como neste exemplo: if [ a = b ]; then bloco de código 1 else bloco de código 2 fiAqui o processador não tem escapatória, já que só vai saber se deve executaro bloco de código 1, ou o bloco de código 2 depois que souber o resultado daprimeira operação, ou seja, souber se "a" é igual a "b". O circuito de branchprediction escolhe então o caminho que parece mais provável, permitindo queo processador permaneça ocupado.O nível de exatidão do circuito de branch prediction varia muito de acordo como processador. No Pentium ele era bastante simples, escolhendo qual caminhoseguir praticamente de forma aleatória, enquanto nos processadores atuais eledecide consultando uma tabela com resultados anteriores de operaçõessimilares.Quando o processador escolhe o caminho certo, ele ganha tempo, já que podeaproveitar o trabalho já feito. Mas, quando erra, ele precisa descartar todo otrabalho e recomeçar a partir do outro caminho.O Pentium III possui um total de 10 estágios, além de um conjunto de outroscircuitos (fora do pipeline) que são encarregados de converter e ordenar asinstruções. Ao contrário do Pentium, que é um processador CISC, queprocessa todas as instruções x86 diretamente, o Pentium III e todos os demaisprocessadores atuais, são processadores híbridos CISC/RISC, que quebramas instruções x86 em instruções simples, que são então processadas.Graças à inclusão de todos os demais circuitos, uso do cache integrado emelhorias nas placas-mãe, o aumento no número de estágios de pipeline doPentium III não teve um impacto muito negativo sobre o desempenho. Pelocontrário, um Pentium III é pelo menos duas vezes mais rápido que umPentium I do mesmo clock. O Pentium II, por sua vez, é muito similar ao 127
  • 128. Pentium III em arquitetura, carecendo apenas do cache L2 on-die e dasinstruções SSE.Foi graças ao aumento no número de estágios no pipeline que o Pentium III foicapaz de atingir freqüências de operação tão mais elevadas que o Pentium,que (com o MMX) atingiu apenas 233 MHz. Mesmo que fosse produzido emuma técnica de 0.18 micron, o Pentium provavelmente não seria capaz desuperar a barreira dos 500 MHz, enquanto o Pentium III (de 0.18 micron) existiuem versões de até 1.0 GHz.O Pentium 4 leva essa filosofia adiante, utilizando um total de 20 estágios depipeline, daí o nome "Hyper Pipelined". Temos aqui um slide da Intel quemostra um comparativo entre o pipeline de 10 estágios do Pentium III com os20 estágios do Willamette. Tenha em mente que cada instrução precisapercorrer cada um dos 20 estágios para ser completamente processada:Com mais estágios, cada um responde por uma fração menor doprocessamento, o que permite que o processador seja capaz de operar afreqüências mais elevadas. Voltando ao exemplo da linha de produção, seriacomo se dobrássemos o número de operários e cada um passasse a encaixarapenas uma peça em cada produto que passa através da esteira, em vez deduas. Reduzindo o trabalho de cada operário pela metade, seria possívelmover a esteira ao dobro da velocidade, dobrando a produção.O grande problema é que os processadores atuais executam várias instruçõessimultaneamente, enquanto os programas são uma seqüência de instruções,de forma que sempre existe uma penalidade em adicionar mais estágios.Quanto mais estágios, mais tempo o processador demora para executar asinstruções iniciais de tomada de decisão e mais tempo perde ao escolher ocaminho errado.Ainda no exemplo da linha de produção seria como se o produto a ser montadomudasse constantemente, de acordo com os pedidos recebidos dos clientes.Cada vez que o produto muda, é preciso parar a esteira, desmontar asunidades do produto anterior que já estavam parcialmente montadas e limpar aesteira, para só então poder recomeçar a produção.No Pentium 4, a cada tomada de decisão errada são perdidos pelo menos 20ciclos de processamento, uma eternidade considerando que em média, 14%das instruções processadas são de tomada de decisão.Com exceção do Pentium 4, quase todos os processadores atuais utilizam de 8a 14 estágios de pipeline, que parece ser a faixa com a melhor relação entre 128
  • 129. clock, complexidade e desempenho. Acima disto, mais pipelines equivalem aum desempenho por ciclo de clock cada vez menor.A partir de um certo ponto, aumentar o número de estágios torna-se contraprodutivo, já que o processador precisa operar a freqüências de clock cada vezmais altas para compensar a perda de desempenho causada pelo maiornúmero de estágios. Um bom exemplo disto é o Pentium 4 com core Prescott(que veremos a seguir), que precisou incorporar um conjunto de váriasmelhorias apenas para compensar a perda de desempenho causada pelo novoaumento no número de estágios.Além de ser mais lento que um Athlon Thunderbird da mesma freqüência, oWillamette é também substancialmente mais lento que um Pentium III domesmo clock em praticamente todos os aplicativos. Todas as demaisalterações feitas pela Intel, explicadas a seguir servem como paliativos paratentar diminuir a perda de desempenho trazida pelo maior número de estágiosde pipeline.Foi justamente devido a isto que a Intel optou por lançar diretamente osmodelos de 1.4 e 1.5 GHz do Pentium 4, pulando as versões de 1.1 e 1.2, queseriam o caminho mais óbvio já que o Pentium III ficou estacionado na versãode 1 GHz. Caso fosse lançado, um Pentium 4 de 1.1 GHz perderia para umPentium III de 1 GHz, o que não seria uma boa propaganda.Além da perda de desempenho, outro efeito colateral de se usar mais estágiosde pipeline é o fato de tornar o processador maior e mais complexo efatalmente bem mais caro de se produzir. O Pentium 4 de 0.18 micron mede217 milímetros quadrados, quase o dobro do Athlon Thunderbird, que mede120 mm². Isso significa que o Pentium 4 é proporcionalmente mais caro de seproduzir.Execution trace cacheO Pentium III possui 32 KB de cache L1, dividido em dois blocos, onde 16 KBsão para o armazenamento de dados e os demais 16 KB para oarmazenamento de instruções. O Athlon utiliza um cache L1 de 128,novamente dividido em dois blocos separados, que armazenam dados einstruções.No Pentium 4, o bloco do cache L1 destinado a instruções foi substituído peloExecution trace cache, um tipo de cache ultra-rápido que, em vez deinstruções, armazena diretamente uOPs, que são as instruções jádecodificadas, prontas para serem processadas. Isto garante que o cachetenha apenas um ciclo de latência (a instrução é solicitada em um ciclo erecebida no seguinte), o que faz com que o processador não percapraticamente tempo algum ao utilizar dados armazenados no trace cache, aocontrário do que acontecia no Pentium III, onde são perdidos pelo menos doisciclos em cada leitura, o tempo necessário para decodificar a instrução.Se você está em dúvida sobre o que é um "uOP", e como eles são produzidose processados, aqui vai uma explicação resumida: 129
  • 130. Apesar dos processadores para micros PC continuarem usando o conjunto x86de instruções, que é composto por 184 instruções, internamente eles sãocapazes de processar apenas instruções simples de soma e atribuição. Existeentão um circuito decodificador, que converte as instruções complexas usadaspelos programas nas instruções simples entendidas pelo processador. Umainstrução complexa pode ser quebrada em várias instruções simples. NoPentium 4, cada instrução simples é chamada de uOP. No Athlon cadaconjunto de duas instruções recebe o nome de macro-ops.O trace cache ocupa uma área muito grande do die do processador,equivalente ao que seria ocupado por aproximadamente 96 KB de cache L1convencional. Apesar disso, ele armazena o equivalente a apenas 8 KB deinstruções decodificadas, já que elas ocupam brutalmente mais espaço. Ouseja, por um lado o trace cache melhora o desempenho do processador, já queé muito rápido, mas por outro diminui (em relação ao que seria obtido ao utilizarum cache convencional de maior capacidade), pois o pequeno volume dedados armazenados faz com que ele precise recorrer mais freqüentemente aosdados armazenados no cache L2 e na memória principal.O trace cache é complementado por um cache de dados de baixa latência,consideravelmente mais rápido que o cache L1 encontrado no Pentium III e noAthlon. O problema é que, para atingir o desempenho desejado, as células docache se tornaram extremamente volumosas, de forma que a Intel optou porincluir apenas 8 KB.Ou seja, na prática, o Pentium 4 possui apenas 16 KB de cache L1: 8 KB paradados e mais o equivalente a 8 KB para instruções, armazenadas de formadecodificada no trace cache. Por algum motivo, os projetistas da Intel decidiramque essa configuração seria a melhor em termos de desempenho.Este diagrama mostra as áreas ocupadas pelo trace cache e pelo cache L2dentro do die do Willamette. Veja que, apesar de armazenar um volumepequeno de dados, o trace cache ocupa uma área equivalente a pouco mais de60% da ocupada pelos 256 KB de cache L2: 130
  • 131. Die do Pentium 4 Willamette, com as áreas referentes ao trace cache e ao cache L2 assinaladasBus de 400 MHzO execution trace cache oferece tempos de latência muito baixos, mas emtroca armazena um volume muito pequeno de dados e instruções. Devido aisso, o processador é muito mais dependente do desempenho do cache L2 edo acesso à memória.O plano inicial era utilizar módulos de memória Rambus em dual-channel. Cadamódulo RIMM oferecia (no caso dos módulos PC-800) um barramento dedados de 1.6 GB/s, de forma que combinando a banda oferecida por doismódulos, seria possível obter 3.2 GB/s, o que é 3 vezes o oferecido pelosmódulos de memória PC-133 utilizados pelo Pentium III.Para absorver esse grande volume de dados, o Pentium 4 utiliza umbarramento quad-pumped, ou seja, capaz de realizar 4 transferências por ciclo.Operando a 100 MHz, temos uma taxa efetiva de 400 MHz, que é a freqüênciautilizada nas primeiras placas soquete 423. 131
  • 132. Com a evolução da plataforma, a Intel foi capaz de desenvolver chipsetscapazes a operar a 133, 200 e 266 MHz, que, com as 4 transferências porciclo, equivalem a, respectivamente, 533, 800 e 1066 MHz. Embora oWillamette tenha ficado restrito aos 400 MHz originais, as freqüências maisaltas foram utilizadas pelos processadores lançados posteriormente.Embora o Pentium 4 fosse consideravelmente mais lento quando usado emconjunto com memórias SDRAM, as memórias DDR reduziram a perda deforma expressiva. A partir de um certo ponto cada vez mais placas passaram asuportar o uso de memórias DDR em dual-channel, configuração que superaas memórias Rambus em desempenho, já que, além da maior taxa detransferência, oferece tempos de latência mais baixos.Embora na prática não exista muita diferença, um barramento de 1066 MHz"reais" é diferente, do ponto de vista técnico, de um que opera a 266 MHzrealizando 4 transferências por ciclo. No caso do barramento do Pentium 4existe ainda um agravante, que é o fato dos endereços e instruções seremenviados apenas duas vezes por ciclo, metade da freqüência da transferênciade dados.Apesar disso, como as transferências de dados são muito mais numerosas quea transmissão de endereços, a "inexatidão técnica" do barramento de 1066MHz da Intel acaba passando desapercebida. ;)Rapid Execution EngineTodo processador atual é dividido em dois componentes básicos, as unidadesde execução de inteiros e as unidades de ponto flutuante (FPU). A parte queprocessa as instruções envolvendo números inteiros é responsável pela maiorparte 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 peloprocessamento das instruções envolvendo valores complexos, usadas porjogos e aplicativos gráficos.O "Rapid Execution Engine" do Pentium 4 consiste num reforço nas unidadesde inteiros do processador. O Pentium 4 possui um total de 3 unidades deprocessamento de inteiros, duas ALUs, que processam as instruções maissimples e uma terceira ALU, encarregada de decodificar e processar asinstruções complexas que, embora em menor quantidade, são as que tomammais tempo do processador.Esse conjunto de 3 unidades de execução de inteiros é semelhante ao doPentium III, porém, como diferencial, no Pentium 4 tanto as duas ALUsencarregadas das instruções simples quanto as duas GLUs encarregadas dasleituras e gravações executam duas instruções por ciclo, de forma que, em umWillamette de 2.0 GHz, elas atingem uma freqüência efetiva de nada menosque 4.0 GHz.Este é um recurso que na teoria parece maravilhoso, mas existe um pequenodetalhe que elimina boa parte do ganho que seria de se esperar deste 132
  • 133. esquema. Apesar das duas ALUs de instruções simples terem ficado maisrápidas, visando justamente compensar a perda de desempenho trazida pelos20 estágios de pipeline do Pentium 4, a ALU de instruções complexas não tevea 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 rapidamenteprocessadas, mas as instruções complexas ficam entaladas na vala comum daterceira ALU, causando uma grande perda de desempenho.No coprocessador aritmético o cenário é ainda mais complicado, pois apesardas unidades de execução terem perdido desempenho devido ao pipeline de20 estágios, não houve nenhum avanço para equilibrar a balança, comotivemos nas unidades de inteiros. Pelo contrário, o coprocessador aritméticoencolheu, pois foram podadas duas das unidades de execução, uma das queprocessava 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 doPentium 4 tornou-se ainda mais frágil do que o do Pentium III, trazendo umcenário no mínimo curioso. Enquanto na época do Pentium II e do K6 a AMDcompetia com um processador que, apesar de possuir um bom desempenhoem aplicativos de escritório, era literalmente massacrado nos jogos eaplicativos 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 potenteem inteiros, mas fraco em ponto flutuante.Ironicamente, a solução da Intel para tentar diminuir a deficiência doprocessador 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, quemelhoravam seu desempenho nos jogos otimizados? A Intel optou por seguirexatamente o mesmo caminho, incorporando 144 novas instruções ao Pentium4, chamadas de SSE2 que visam melhorar seu desempenho em jogos eaplicativos gráficos.SSE2As "Double Precision Streaming SIMD Extensions" do Pentium 4 são 144novas instruções de ponto flutuante de dupla precisão. Elas têm basicamente amesma função das instruções SSE do Pentium III e do 3D-Now! Do Athlon:melhorar o desempenho do processador em aplicativos de ponto flutuante. Adiferença é que as instruções do Pentium 4 são mais poderosas que osconjuntos anteriores e podem ser utilizadas em mais situações, o que ajudou oPentium 4 em alguns aplicativos específicos. O grande problema é que existeum número brutalmente grande de softwares em uso e apenas alguns delesacabam sendo devidamente otimizados para usar novos conjuntos deinstruções de forma que no final o ganho acaba não sendo tão grande quantose espera.O Athlon 64 (e os Semprons de 64 bits) incluem um conjunto de instruçõescompatível com o SSE2, desenvolvido pela AMD. Isto permite que eles 133
  • 134. também se beneficiem de aplicativos otimizados para o Pentium 4, equilibrandoa balança e valorizando o trabalho dos desenvolvedores.Vale lembrar que tanto o Pentium 4 quanto os processadores AMD (a partir doAthlon Palomino) são compatíveis também com as instruções SSE do PentiumIII, o que faz com que eles se beneficiem também dos aplicativos otimizadospara o conjunto anterior.NorthwoodO Northwood é a segunda geração do Pentium 4, produzido em uma técnica de0.13 micron. Ele não inclui mudanças na arquitetura, mas a redução notamanho físico dos transístores permitiu que fossem adicionados mais 256 KBde cache L2, totalizando 512 KB.Como o Pentium 4 foi originalmente projetado para trabalhar em conjunto compentes de memória Rambus, que (apesar dos maiores tempos de latência)oferecem taxas de transferência de dados muito elevadas, o desempenho doWillamette era prejudicado de forma significativa ao utilizar memórias SDRAM.O aumento no cache e a popularização das placas com suporte a memóriasDDR melhoraram de forma significativa o desempenho do processador,fazendo com que (respeitadas as diferenças no clock) ele passasse a competirem pé de igualdade com o Athlon Thunderbird da AMD.O Northwood foi produzido em versões de 1.6 a 3.06 GHz, englobando tantomodelos com bus de 400 MHz quanto modelos utilizando bus de 533. A sériecom bus de 400 MHz inclui os modelos de 2.0, 2.2, 2.4, 2.6, 2.8 e 3.0 GHz,enquanto a série com bus de 533 MHz inclui modelos de 2.26, 2.40, 2.53, 2.66,2.8 e 3.06 GHzMais tarde foi lançada uma série com suporte a Hyper-Threading (vendida soba marca "Pentium 4 HT"), que incluiu modelos com de 2.4 a 3.4 GHz. Comexceção do modelo de 3.06 GHz, todos utilizam bus de 800 MHz.Na verdade, os circuitos responsáveis pelo Hyper-Threading estão disponíveisem todos os processadores Pentium 4 (mesmo nos Willamette), incluindo osPentium D e Celerons. A Intel simplesmente habilitava ou desabilitava orecurso de acordo com a faixa de mercado a que cada processador sedestinava, limitando-se a ativar o HT nas séries de alto desempenho, como oPentium 4 HT, ou o Pentium Extreme Edition.Existiram ainda diversos modelos do Celeron baseados no core Northwood,com clock de 1.8 a 2.8 GHz, sempre utilizando bus de 400 MHz. Assim comoos modelos baseados no Willamette, os baseados no Northwood possuemapenas 128 KB de cache e por isso não oferecem nenhum ganho dedesempenho em relação à série anterior.Comparando dois modelos com o mesmo clock, as únicas vantagens reais doCeleron baseado no Northwood é o fato de consumir menos energia e possuiruma maior margem de overclock. De qualquer forma, ambos perdiam por umaboa margem para o AMD Duron, que ainda por cima era mais barato. 134
  • 135. Aqui temos o die de um Pentium 4 com core Northwood. Embora a disposiçãode alguns dos componentes internos tenha mudado em relação ao Willamette,o processador continua quase idêntico, com exceção do cache adicional. Ocache L2 é representado pelos dois retângulos mais escuros na parte superior.O cache é dividido, na verdade, em quatro blocos de 128 KB cada. OsCelerons baseados no Northwood possuem apenas um dos blocos ativados: Pentium 4 com core NorthwoodJunto com o Northwood foi introduzido o soquete 478, onde o processadorutiliza um encapsulamento muito mais compacto que no soquete 423 utilizadopelo Willamette. A principal vantagem técnica do novo soquete foi a de reduziro comprimento das trilhas dentro do encapsulamento do processador, o quereduz a perda de sinal, permitindo que o processador funcione estavelmente afreqüências mais elevadas.O encapsulamento usado pelo processador também ficou um pouco maisbarato de se produzir, o que ajudou a Intel na hora de reduzir os preços devenda e acirrar a competição com a AMD. Inicialmente o Northwood de 2.2GHz custava nada menos que 600 dólares, mas, com o lançamento de versõesde maior clock, ele logo passou a ser vendido por US$ 169.Veja uma comparação entre o Northwood soquete 478 e o Willamette soquete423: 135
  • 136. Pentium 4 Northwood (à esquerda) e Pentium 4 WillamettePrescottO Prescott representa a terceira geração do Pentium 4, produzido a partir de2004, utilizando uma técnica de fabricação de 0.09 micron. A mudançaarquitetural mais significativa foi a adição de 11 novos estágios ao já longopipeline do Northwood. Com isso, o Prescott atingiu a impressionante marca de31 estágios de pipeline, um número sem precedentes entre os processadoresx86.Em um processador atual, o uso de um pipeline mais longo não é exatamenteuma boa notícia, muito pelo contrário. Como vimos, aumentar o número depipelines do processador permite que cada estágio execute um volume menorde processamento. Com isso, o processador passa a ser capaz de operar afreqüências mais altas, mas, em compensação, as instruções demoram umnúmero maior de ciclos de clock para serem processadas (já que precisampercorrer todo o pipeline), o que aumenta brutalmente o tempo perdido emoperações de tomada de decisão, onde o processador precisa aguardar oresultado de uma operação para poder processar a seguinte.Se as alterações parassem por aí, o Prescott seria capaz de operar afreqüências mais elevadas, mas em troca seria brutalmente mais lento que umNorthwood do mesmo clock. Para evitar essa sombria perspectiva, a Intelrealizou um conjunto de melhorias na arquitetura, de forma a anular, ou pelomenos reduzir a perda.A primeira melhoria foi feita no circuito de branch prediction, responsável por"prever" o resultado de operações de tomada de decisão e assim permitir que oprocessador adiante o processamento das instruções seguintes enquanto a 136
  • 137. instrução inicial é processada. O Prescott é especialmente dependente dodesempenho do circuito de branch prediction, pois cada instrução precisapercorrer um longo caminho ao longo dos 31 estágios do pipeline. Sem ele, oprojeto do Prescott seria inviável, pois o processador perderia muito tempo emoperações de tomada de decisão.Em um processador atual, o circuito de branch prediction é capaz de indicar ocaminho correto em mais de 95% das operações. Tal precisão é possível,porque ele se baseia em um histórico de operações já realizadas. Sempre queé preciso "adivinhar" o caminho mais provável de uma operação, ele pesquisapelo resultado de operações semelhantes anteriormente realizadas. A maioriados programas realiza um grande número de operações repetitivas (sobretudoaplicativos pouco otimizados, ou escritos em linguagens de alto nível), o quepermite que o circuito de branch prediction execute seu trabalho com grandeprecisão.O grande problema é que, sempre que ele erra, o processador precisadescartar todo o trabalho adiantado e começar de novo a partir do ponto inicial.Neste caso, são perdidos não apenas os 31 ciclos que a instrução inicialdemora para percorrer o pipeline, mas também os ciclos necessários pararemover os dados anteriores e carregar os registradores com as novasinstruções a processar.Quanto mais longo é o pipeline, maior é a penalidade a cada erro, o que colocao Pescott em uma situação complicada, já que as operações de tomada dedecisão representam até 14% das operações realizadas por um aplicativotípico.Para reduzir a perda, o circuito de branch prediction do Prescott foisensivelmente aprimorado, e passou a ser capaz de trabalhar com um índicede acerto maior que o do Northwood. O scheduler (o circuito que ordena asinstruções, de forma que as unidades de execução possam processar onúmero máximo de instruções a cada ciclo) também foi melhorado, resultandoem outro pequeno ganho.Foram feitas ainda duas pequenas modificações nas unidades de execução,que resultaram em mais um pequeno ganho, muito embora o número deunidades não tenha sido alterado.O primeiro e mais significativo, foi a adição de um circuito dedicado demultiplicação de números inteiros. Até o Northwood, todas as operações demultiplicação eram enviadas à FPU (o coprocessador aritmético), processadasseparadamente e então devolvidas. Com o Prescott, as unidades deprocessamento de números inteiros ganharam a habilidade de processá-lasdiretamente, o que representa uma grande economia de tempo.Como vimos, o Pentium 4 possui três unidades de execução de númerosinteiros. Duas delas são "double-pumped", ou seja, são capazes de processarduas instruções simples por ciclo de clock. Um conjunto específico deinstruções, que incluem operações um pouco mais complexas, são enviados 137
  • 138. para a terceira unidade de execução, que trabalha à freqüência normal. NoPrescott, uma das duas unidades "rápidas" ganhou um novo bloco, capaz deprocessar operações shift/rotate (usadas em várias situações), que antesprecisavam ser processadas na unidade mais lenta. Com isso, a terceiraunidade foi desafogada, resultando em mais um pequeno ganho.O Prescott ganhou também um novo bloco de instruções, o conjunto SSE3. Eleé composto por 13 novas instruções, que complementam os dois conjuntosanteriores, dando sua cota de contribuição em aplicativos otimizados.Finalmente, temos as mudanças no cache. O bloco de dados do cache L1 foiaumentado de 8 para 16 KB e o bloco de instruções (o trace-cache) recebeupequenas melhorias, embora a capacidade tenha permanecido a mesma. Ocache L2 dobrou de tamanho, saltando de 512 KB para 1 MB, mas o aumentoteve como efeito colateral o aumento dos tempos de latência, que aumentaramem aproximadamente 40%. Em outras palavras, o Prescott tem um cache L2maior, porém mais lento, o que anula grande parte do benefício.Com relação à fabricação, o Prescott foi o primeiro processador Intel a serproduzido utilizando a técnica Strained Silicon. Ela consiste em "esticar" asuperfície do wafer de silício, colocando-o sobre um substrato especialmentedesenvolvido. Aumentando a distância entre os átomos do wafer, é reduzida aresistência à passagem dos impulsos elétricos. Essa técnica não tem nenhumefeito direto sobre o desempenho, mas ajuda a reduzir o consumo e adissipação térmica do processador, além de (pelo menos em teoria) permitirque ele seja capaz de operar a freqüências mais elevadas. Slide demonstrando a técnica Strained SiliconDe uma forma geral, o Pentium 4 baseado no core Prescott é um pouco maislento que um Northwood do mesmo clock. Ele ganha por uma pequenamargem em alguns aplicativos otimizados (graças ao aumento no tamanho docache e às novas instruções SSE), mas na prática acabamos tendo um empatetécnico entre os dois cores. 138
  • 139. Isso não é surpresa já que, como vimos, os aperfeiçoamentos feitos noPrescott tiveram como principal objetivo anular a perda de performancecausada pelo aumento no número de estágios do pipeline e não a realmentemelhorar o desempenho por ciclo de clock. Na época o plano era melhorar odesempenho do processador com sucessivos aumentos na freqüência de clocke não com base no aumento da eficiência.O projeto de um novo processador demora de 3 a 5 anos para serdesenvolvido, até o ponto em que está testado e pronto para entrar emprodução. Mesmo em casos onde um projeto já existente é modificado, comono caso do Prescott, o desenvolvimento não toma menos do que 2 anos. Ouseja, é preciso planejar quais modificações realizar com uma antecedênciamuito grande e, qualquer erro estratégico (como o uso das memórias Rambus)acaba demorando muitos anos para ser consertado.Como o Prescott foi lançado no início de 2004, podemos imaginar que a Intelcomeçou a desenvolvê-lo pouco depois do lançamento do Pentium 4Willamette, colocando em prática as idéias que vigoravam na época.Já que o desempenho por ciclo de clock era praticamente o mesmo, asvantagens de possuir um Prescott em vez de um Northwood recaiam apenassobre a maior margem de overclock. Para quem não pretendia fazer overclock,não existiam realmente grandes vantagens em utilizar um Prescott em relaçãoa um Northwood do mesmo clock.Devido ao aumento no número de estágios do pipeline e das melhorias feitasnas unidades de execução, o Prescott dissipa mais calor que um Northwooddo mesmo clock, mesmo sendo produzido em uma técnica de 0.09 micron. Seisso lhe soa estranho, basta ter em mente que apesar da técnica maisavançada de produção, ele possui 125 milhões de transístores, contra apenas55 milhões do Northwood.O TDP (Thermal Design Power, que no caso dos processadores Intel indica oconsumo típico do processador) do Northwood de 3.4 GHz é de 89 watts,enquanto o do Prescott da mesma freqüência é de 103 watts, ou seja, 14 wattsa mais.Um consumo tão elevado torna necessário o uso de uma fonte de alimentaçãode 400 watts ou mais, capaz de fornecer 16 Amperes na saída de 12V(consulte a etiqueta com as especificações da fonte), um cooler adequado eum gabinete com uma boa ventilação, com (de preferência) um exaustoradicional instalado na abertura lateral, soprando ar sobre o processador.Sem uma ventilação adequada, o processador pode facilmente ultrapassar olimite de temperatura estabelecido, fazendo com que o Thermal Throttling entreem ação, reduzindo a freqüência do processador, sem contar que um gabineteabafado causa prejuízos à vida útil e à estabilidade dos demais componentes.Para evitar confusão, os modelos baseados no core Prescott que operam àmesma freqüência dos Northwood recebem a letra "E", como em: 139
  • 140. Pentium 4 3.40E Pentium 4 3.20E Pentium 4 3.00E Pentium 4 2.80ETodos estes modelos utilizam bus de 800 MHz, por isso é necessário queexista suporte por parte da placa-mãe. No caso das placas com chipset Intel, osuporte foi introduzido a partir da série i865, no caso dos chipsets da SiS apartir da série FX (SiS648FX, SiS655FX e SiS661FX) e no caso dos da VIA apartir do PT800. A primeira safra de placas (produzidas na primeira metade de2004) precisava de um upgrade de BIOS para reconhecer corretamente oprocessador.O Prescott acabou se revelando um grande fracasso. Devido ao massivoconsumo e dissipação térmica do processador, a Intel não foi capaz de lançarversões do Prescott acima de 3.8 GHz, ou seja, apenas 400 MHz a mais queos Pentium 4 baseados no core Northwood, fabricados na antiga técnica de0.13 micron. O aumento no número de estágios do pipeline e as outrasmudanças arquiteturais feitas no processador acabaram sendo em vão.Hyper-ThreadingO Hyper-Threading foi introduzido no final de 2002, na forma de duas versõesespeciais do Pentium 4 Northwood (soquete 478), que operavam a 2.8 e 3.06GHz. A partir daí, ele foi utilizado em diversas séries do Prescott. As séries comsuporte ao Hyper-Threading eram identificadas pelo logotipo, que continha asletras "HT", em laranja:Com o Hyper-Threading, o processador se apresenta ao sistema operacionalcomo um sistema dual-core. Com isso, o sistema ativa os módulos que ativam 140
  • 141. o suporte a SMP e passa a dividir o processamento dos aplicativos entre osdois processadores lógicos. Dentro do processador, as instruções sãoreorganizadas, de forma que o processador possa aproveitar os ciclos ociosospara incluir operações relacionadas ao segundo aplicativo. Aumentar o nível deutilização das unidades de execução resulta em um pequeno ganho dedesempenho. Este slide da Intel apresenta o conceito: Slide da Intel que demonstra o uso do Hyper-ThreadingDentro do processador, os circuitos responsáveis pelo Hyper-Threadingrepresentam menos de 5% dos transístores do processador. Embora tenhamsido habilitados apenas em algumas séries de processadores, que eramvendidos a preços mais altos, os circuitos responsáveis estavam presentesdesde o Pentium 4 Willamette, embora desativados.Os circuitos responsáveis pelo Hyper-Threading representam uma expansãodo circuito de TLB e do trace cache, além de três pequenos circuitos adicionais,o Return Stack Predictor, Next Instruction Pointer e o Register Alias Tables.Eles são os responsáveis por criar a "ilusão" de dois processadores, vista pelosistema operacional e por agendar o processamento de instruçõesaproveitando os ciclos ociosos. 141
  • 142. Slide da Intel que mostra os circuitos responsáveis pelo Hyper-ThreadingO Hyper-Threading foi, de certa forma, um ensaio para os processadores dual-core que a Intel viria a lançar cerca de três anos depois. O ganho obtido aoativar o Hyper-Threading não é nem próximo do obtido ao utilizar umprocessador dual-core "de verdade", já que ele se baseia no melhoraproveitamento das unidades de execução do processador e não na presençade um segundo processador físico. Ao ativá-lo você arca com o overhead deutilizar um sistema com dois processadores, já que o sistema operacional eaplicativos precisam lidar com o trabalho adicional de dividir a carga entre osdois processadores. Embora sejam dois processadores lógicos, o impactosobre o desempenho não é nem de longe é o mesmo de ter doisprocessadores reais.Isso faz com que o Hyper-Threading seja uma faca de dois gumes. Em algunsaplicativos, ele pode resultar em ganhos de 10, ou até mesmo 20%, mas namaioria o ganho é muito pequeno, abaixo de 2%. Existe ainda um grandenúmero de aplicativos onde ativar o HT reduz substancialmente o desempenho,o que anula em grande parte o ganho obtido em outros aplicativos.Os aplicativos que mais se beneficiam do HT, de uma forma geral, são osaplicativos de compressão de áudio e vídeo, compactação e descompactaçãode arquivos, aplicativos de renderização 3D e alguns jogos. Os ganhos sãomais expressivos em ambientes multitarefa, já que o maior número deprocessos ativos permite que o processador aproveite melhor o tempo ocioso,adiantando operações em um aplicativo enquanto aguarda pela conclusão deuma operação de tomada de decisão em outro, por exemplo. Os aplicativosque costumam apresentar perdas são sobretudo os aplicativos do dia-a-dia,incluindo navegadores, processadores de texto, planilhas e assim por diante.Outro efeito colateral é que ativar o Hyper-Threading aumenta o consumo e,conseqüentemente, a dissipação térmica do processador em de 6 a 8%. Não éincomum que ao ativar o HT a temperatura do processador suba 5 ou 6 graus,o que pode prejudicar a estabilidade do sistema, caso a ventilação dentro dogabinete não seja boa e o processador já esteja trabalhando próximo limite. Osrelatos de instabilidade ao ativar o HT quase sempre derivam-se disso. 142
  • 143. Como os processadores Pentium 4 (sobretudo os Prescott, que operam afreqüências muito elevadas e ainda são fabricados numa técnica de 0.09micron) possuem uma dissipação térmica muito alta e uma relaçãoconsumo/performance já muito ruim, os ganhos obtidos com a ativação do HTacabam sendo superados pelas desvantagens, de forma que muitos preferiamsimplesmente desativar o recurso através do setup.Soquete 775Junto com o Prescott, foi lançado o soquete LGA775 (também chamado desoquete T), que passou a ser utilizado nas placas de alto desempenho. A siglaLGA é abreviação de "Land Grid Array", onde o nome indica a forma como oprocessador é encaixado, "pousando" sobre a cama de pinos do soquete.Existiram versões do Prescott tanto em versão soquete 478, quanto em versãosoquete 775. A partir de então, todos os processadores de alto desempenhopassaram a utilizar o novo soquete, transformando a plataforma soquete 478em uma plataforma de baixo custo.O soquete 775 foi projetado de forma a melhorar o contato dos pinos e reduzira distância que os sinais elétricos precisam percorrer do processador aochipset, além de permitir que os capacitores instalados na parte inferior doprocessador (responsáveis por filtrar e estabilizar a corrente) possam serinstalados o mais próximo possível do núcleo.Os pinos de encaixe foram retirados do processador e movidos para o soquete,e um novo mecanismo de retenção foi projetado: Soquete 775 143
  • 144. A primeira coisa a ter em mente é que os contatos do soquete 775 sãorealmente muito finos e frágeis. No lugar de sulcos, o processador possuipequenos pontos de contato, que correspondem precisamente aos contatos nosoquete: Pentium 4 com core Prescott em versão LGA775Essa fragilidade faz com que seja muito fácil entornar parte dos contatos daplaca ao instalar o processador de forma desastrada. Ao contrário do quetemos em processadores antigos, onde com um pouco de jeito é possíveldesentortar alguns pinos entortados durante uma tentativa de instalação malfeita, é praticamente impossível desentortar contatos amassados no soquete775, de forma que uma instalação incorreta do processador simplesmenteinutiliza a placa-mãe.Segundo a própria Intel, o índice de falhas é de uma em cada vinte inserções.Ou seja, o soquete foi projetado para resistir a algumas poucas inserções,incluindo a instalação inicial do processador e alguns upgrades futuros, e nãopara suportar inserções e remoções freqüentes.Ao instalar o processador você deve posicioná-lo sobre o soquete esimplesmente soltá-lo, deixando que a lei da gravidade se encarregue deencaixá-lo. Nunca aplique pressão sobre o processador, pois isso só servirápara entortar os pinos que não estiverem bem posicionados.Uma vez fechado, o mecanismo de retenção prende o processador, aplicandoa pressão necessária para que ele fique bem preso ao soquete, maximizando acondutividade elétrica. Graças a isso, a pressão exercida pelo sistema deretenção do cooler pode ser muito menor, o que evita que a placa "envergue",como no caso das placas soquete 478.Você pode notar, pela foto, que não existe um mecanismo de retenção para ocooler, como nas placas soquete 478. Como a pressão sobre o processador é 144
  • 145. exercida pelo mecanismo de retenção do soquete, o cooler é simplesmenteencaixado através dos orifícios disponíveis na placa: O mecanismo de retençãoSmithfield, Cedar Mill e PreslerO core Smithfield é uma versão dual-core do Prescott (1 MB de cache paracada core), produzido em uma técnica de 0.09 micron. Ele foi utilizado nasprimeiras versões do Pentium D (abrangendo modelos de 2.66 a 3.2 GHz) etambém no Pentium Extreme Edition 840. Estes processadores foramproduzidos em quantidades limitadas e foram rapidamente substituídos pelosPentium D baseados no core Presler.Esta imagem mostra o núcleo de um Pentium D baseado no core Smithfield.Como você pode ver, ele nada mais é do que dois Prescotts, que compartilhamo mesmo wafer e são unidos diretamente através do FSB, que no caso dosprocessadores Intel é também usado para ligar o processador à memória e aochipset: 145
  • 146. Núcleo do Pentium D baseado no core SmithfieldO Cedar Mill é uma versão atualizada do Prescott 2M, produzida utilizandouma técnica de 0.065 micron (65 nanômetros). Ele mantêm os 2 MB de cachee não inclui mudanças na arquitetura, nem para melhor, nem para pior. Odesempenho dos processadores baseados no core Cedar Mill é rigorosamenteo mesmo dos Prescott 2M da mesma freqüência. A única vantagem é que adissipação térmica do Cedar Mill é um pouco mais baixa, e ele é capaz deatingir freqüências de clock um pouco maiores (embora a diferença sejapequena) quando em overclock.De um modo geral, é possível atingir até 4.2 GHz fazendo overclock em umprocessador baseado no Core Prescott, enquanto os baseados no Cedar Millatingem até 4.5 GHz (em ambos os casos sem muita estabilidade). Afreqüência máxima não varia muito de acordo com o clock original doprocessador, você precisa apenas ajustar a freqüência do FSB de acordo como multiplicador, já que ele é travado, tanto no Prescott, quanto no Cedar Mill.Foram lançadas apenas 4 versões do Cedar Mill, operando a 3.0, 3.2, 3.4 e 3.6GHz, todas em versão LGA775 e utilizando bus de 800 MHz. Embora o CedarMill fosse capaz de facilmente superar a marca dos 4.0 GHz, em overclock, aIntel decidiu não lançar processadores acima dos 3.6 GHz, dando prioridadepara o lançamento de versões de baixo consumo.O Cedar Mill deu origem também ao Cedar Mill-512, a versão mais competitivado Celeron lançada até então, que contava com 512 KB de cache e erafabricado usando uma técnica de 0.065 micron. Eles existiram em versão de3.06 a 3.6 GHz (todas utilizando bus de 533 MHz) e se tornaram muito baratosdepois do lançamento do Core 2 Duo, oferecendo uma boa relação custo-benefício. 146
  • 147. Utilizando um bom cooler, é possível superar facilmente a faixa dos 4.0 GHzem overclock. Uma configuração muito comum é overclocar o Celeron D 347 (aversão de 3.06 GHz) para 3.83 GHz, aumentando a freqüência do FSB para800 MHz.O Presler, por sua vez, era uma versão dual-chip do Cedar Mill, onde doischips eram instalados dentro do mesmo encapsulamento. Como os dois chipseram separados por uma distância de 5 mm, a dissipação de calor era umpouco mais eficiente do que no Smithfield. Além disso, graças à utilização denúcleos separados, o índice de aproveitamento da Intel era melhor, já que osdois processadores podiam ser testados separadamente. No caso doSmithfield, caso um dos dois cores apresentasse defeito, ambos precisavamser descartados.Externamente, um Pentium D baseado no core Presler não é diferente de umPrescott, Cedar Mill ou Smithfield soquete 775, com o mesmo formato e omesmo dissipador metálico protegendo o processador. Mas, ao remover odissipador, você pode ver os dois cores separados: Pentium D com core Presler (com o dissipador removido)Em teoria, utilizar dois chips separados resulta em um processador capaz deoperar a freqüências mais baixas do que ao utilizar um processador dual-core"de verdade", como o Smithfield. Apesar disso, os ganhos advindos da reduçãode custos parecem ter superado as desvantagens para a Intel. 147
  • 148. O Presler foi lançado em versões de 2.8 a 3.6 GHz, todas com 2 x 2 MB decache L2 e utilizando bus de 800 MHz. Além de representar a maior parte dosPentium D vendidos, ele foi utilizado também em duas versões do PentiumExtreme Edition, operando a 3.46 e 3.73 GHz.Por ser um processador dual-chip, o Presler não era capaz de atingirfreqüências tão altas quanto o Cedar Mill quando em overclock. Mesmo nosmodelos de fabricação mais recente, é muito difícil superar a marca dos 3.9GHz.Devido à concorrência da AMD, a Intel passou a ajustar o preço de seusprocessadores dual-core de forma bastante agressiva. A diferença de preçoentre um Pentium D e um Pentium 4 da série 6xx (baseado no Cedar Mill) nãoera grande, de forma que, em 2006, você podia comprar um Pentium D de 2.8GHz por aproximadamente o mesmo que pagaria por um Pentium 4 631, aversão single-core de 3.0 GHz.De uma forma geral, aplicativos que dividem a carga de processamento emvários threads e por isso se beneficiam de um processador dual-core sãoaplicativos de edição e compressão de vídeo, renderização 3D, edição deimagens (Photoshop, Gimp, etc.) e diversos aplicativos de uso profissional.Aplicativos que trabalham com um único thread e por isso não se beneficiamde um processador dual-core são aplicativos office de uma forma geral,navegadores, players de áudio e vídeo e a maioria dos games.Note entretanto que o uso de um processador dual-core sempre ajuda quandovocê está rodando dois aplicativos pesados simultaneamente. Pode ser que umdeterminado game 3D não apresente ganho algum de FPS ao rodar sobre umprocessador dual-core, mas sem dúvida o FPS será mais alto se você resolvercomprimir um filme em Divx em segundo plano enquanto joga.Nos servidores a coisa muda de figura, pois quase todos os serviços geram umvolume muito grande de threads, de forma que um processador dual-coreoferece sempre um ganho muito grande de desempenho.Sistema de numeraçãoAo migrar seus processadores para o soquete 775, a Intel adotou o sistema denumeração que ainda é usado até os dias de hoje. Ao contrário da AMD, queaté então usava o sistema de numeração como um indicador aproximado dedesempenho, o sistema de numeração da Intel é apenas um código que indicaa família, a "posição hierárquica" do chip e os recursos adicionais (EM64,suporte a virtualização, etc.) suportados por ele. Isso faz com que, em muitoscasos, um processador mais rápido receba um número de identificação muitoinferior ao de um processador mais lento, porém de outra família.Por exemplo, a versão de ultra baixo consumo do Pentium M (com coreDothan) de 1.0 GHz recebe o código 723, enquanto um Pentium M "normal", de1.5 GHz recebe o código 715 e um Prescott de 3.4 GHz recebe o código 551. 148
  • 149. Um Celeron D de 3.6 GHz baseado no core Cedar Mill-512 recebe o número365, enquanto um simples Prescott de 2.66 GHz recebe o número 505.O sistema de numeração é aplicado apenas aos processadores produzidos emversão soquete 775. Mesmo depois do lançamento deles, os processadoressoquete 478 (tanto Pentium 4, quanto Celeron) continuaram sendo vendidossob a freqüência de operação, até serem descontinuados.A partir da segunda metade de 2007, a AMD acabou adotando um sistema denumeração similar ao da Intel, também abandonando a idéia do índice dedesempenho.Pentium 4Os primeiros modelos a adotarem o sistema de numeração foram lançados nofinal de 2004. A série 5xx é formada pelos processadores Pentium 4 com corePrescott e 1 MB de cache.A leva inicial inclui os modelos 505 (2.66 GHz), 505J (2.66 GHz), 506 (2.66GHz), 511 (2.8 GHz), 515 (2.93 GHz), 515J (2.96 GHz), 516 (2.66 GHz), 517(2.93 GHz) 519J (3.06 GHz) e 519K (3.06 GHz), todos utilizando bus de 533MHz.Além do clock, os processadores são diferenciados pela presença dos recursosespeciais, justamente por isso existem tantos modelos com o mesmo clock.Os modelos 506, 516, 517 e 519K oferecem suporte ao EM64 (tambémchamado de Intel 64), o conjunto de instruções de 64 bits desenvolvido pelaIntel e por isso são capazes de rodar as versões de 64 bits do XP, Vista edistribuições Linux compiladas para processadores de 64 bits. Todos osprocessadores da série 5xx com o EM64 oferecem também suporte a Hyper-Threading.O 511 oferece apenas suporte a HT, sem suporte a instruções de 64 bits,enquanto o 505J, 515J e 519J oferecem suporte ao XD bit (eXecute Disablebit), um sistema de proteção utilizado por alguns softwares para aumentar aproteção contra ataques de buffer overflow. Este recurso recebeu uma grandeatenção na época em que foi lançado, mas acabou não sendo tão utilizado naprática. Os demais são modelos "simples" do Prescott, sem nenhum dos trêsrecursos.Em seguida temos a série composta pelos modelos 520 (2.8 GHz), 520J (2.8GHz), 521 (2.8 GHz), 524 (3.06 GHz), 530 (3.0 GHz), 530J (3.0 GHz), 531 (3.0GHz), 540 (3.2 GHz), 540J (3.2 GHz), 541 (3.2 GHz), 550 (3.4 GHz), 550J (3.4GHz), 551 (3.4 GHz), 560 (3.6 GHz), 560J (3.6 GHz), 561 (3.6 GHz), 570J (3.8GHz GHz) e 571 (3.8 GHz). 149
  • 150. Todos estes modelos suportam Hyper-Threading, por isso a informação não émais indicada no número. Estas versões eram vendidas sob a marca "Pentium4 HT", de forma que ficava claro ao comprar que o processador suportava HT.Apesar de serem baseados no mesmo core Prescott com 1 MB da sérieanterior, todos estes modelos utilizam bus de 800 MHz e por isso são umpouco mais rápidos, embora a diferença seja pequena.Todos os modelos cuja numeração termina com "1" oferecem também suporteao EM64 e ao recurso XD bit. A lista completa inclui os modelos HT 521, HT524, HT 531, HT 541, HT551, HT 561 e HT 571.Os modelos cuja numeração inclui um "J" oferecem suporte apenas ao XD bit,que não é nem de longe tão interessante quando o suporte a instruções de 64bits. A lista inclui os modelos HT520J, HT 530J, HT540J, HT 550J, HT 560J, eHT 570J.Os demais modelos, cuja numeração termina com "0" são os modelos"simples", que incluem apenas o suporte a Hyper-Threading inerente à série.Uma curiosidade é que os modelos HT 570J e HT 571 (assim como o 670) sãoos processadores Intel com a maior freqüência de clock, oficialmente suportadaaté hoje. Os modelos dual-core baseados na arquitetura do Pentium 4, assimcomo os Core 2 Duo, trabalham a freqüências mais baixas. É possível superara marca de 3.8 GHz usando um Core 2 Duo em overclock (usando algum tipode refrigeração especial), mas vai demorar um pouco até que seja lançado umCore 2 Duo capaz de operar oficialmente a esta freqüência. Apesar disso, aineficiente arquitetura do Prescott faz com que os processadores da série 5xxtenha um desempenho modesto para os padrões atuais.Em seguida temos os processadores baseados no Prescott 2M. Apesar deterem 2 MB de cache, o dobro dos modelos anteriores, o cache L2 incluídoutiliza um design mais compacto, que tem como efeito colateral um novoaumento na já alta latência do cache L2 do Prescott original. Isto faz com queparte do ganho de desempenho obtido com a ampliação do cache sejaanulado.A série inclui os modelos 620 (2.8 GHz), 630 (3.0 GHz), 640 (3.2 GHz), 650(3.4 GHz), 660 (3.6 GHz), 662 (3.6 GHz), 670 (3.8 GHz) e 672 (3.8 GHz)Todos estes modelos utilizam bus de 800 MHz, oferecem suporte a instruçõesde 64 bits, Hyper-Threading e XD bit. Com exceção do 620, todos suportamtambém o EIST (Enhanced Intel SpeedStep), um sistema aprimorado degerenciamento de energia, que reduz de forma substancial o consumo doprocessador enquanto ele está ocioso. Este recurso é suportado inclusive noLinux, através do daemon "powernowd".Os modelos cuja numeração termina com "2", lista que inclui apenas o 662 e672, incluem também suporte ao Intel VT, um sistema de virtualização que visamelhorar o desempenho de programas de virtualização, como o VMware, 150
  • 151. Virtual PC e Xen (no Linux). Em teoria, o uso do Intel VT poderia melhorar deforma substancial o desempenho destes programas, mas até o presentemomento a promessa ainda não se concretizou.Finalmente, temos os modelos baseados no core Cedar Mill, a atualização docore Prescott 2M, fabricada usando a técnica de fabricação de 0.065 micron.Todos estes modelos mantém os 2 MB de cache, mas possuem um consumoelétrico um pouco mais baixo. A série inclui os modelos 631 (3.0 GHz), 641 (3.2GHz), 651 (3.4 GHz) e 661 (3.6 GHz).Todos os modelos utilizam bus de 800 MHz, EM64, Hyper-Threading e XD bit.Existiram três revisões do core Cedar Mill, com steeping B1, C1 e D0, que sediferenciam com relação ao consumo elétrico. Os mais antigos, baseados nosteeping B1 possuem um TDP de 86 watts e não suportam o EIST. Osbaseados no steeping C1 mantém o mesmo TDP, mas já incluem suporte aoEIST (o que faz com que o processador fique muito mais frio enquanto o PCestá rodando aplicativos leves), enquanto os baseados no steeping D0possuem um TDP mais baixo, de apenas 65 watts.Esta tabela, fornecida pela Intel, mostra todos os modelos, a partir do 521: 151
  • 152. Pentium DAo lançar o Cedar Mill, a Intel estava preocupada em reduzir o consumo eaumentar a eficiência dos processadores. Embora os Cedar Mill fossemcapazes de trabalhar a freqüências ligeiramente superiores aos processadoresbaseados no core Prescott (o que você pode comprovar ao fazer overclock), aperda de corrente ao operar a freqüências acima de 3.6 GHz era muito alta, oque fez a Intel desistir do lançamento de versões mais rápidas.Ao invés disso, os esforços foram concentrados nos modelos dual-core e nafinalização do Core 2 Duo, que viria a ser lançado em Julho de 2006, apenas 6meses depois das 4 versões do Cedar Mill.Os processadores dual-core baseados na arquitetura NetBurst foram vendidossob a marca "Pentium D" (de dual). Existiram duas famílias, baseadas noscores Smithfield (série 8xx) e Presler (9xx).O core Smithfield é uma versão de dois núcleos do Prescott, onde cada umdos dois processadores inclui 1 MB de cache, totalizando 2 MB. Foramproduzidas apenas quatro versões baseadas no Smithfield: 805 (2.66 GHz),820 (2.8 GHz), 830 (3.0 GHz) e 840 (3.2 GHz).O 805 foi uma versão de baixo custo, destinada a ser utilizada em conjuntocom as placas soquete 775 que suportavam apenas bus de 533. As outras trêsversões utilizavam bus de 800 MHz.Com relação aos recursos especiais, os 4 modelos suportam o EM64 e o XDbit, mas apenas o 830 e o 840 (que possuem um TDP mais alto) suportam oAdvanced SpeedStep. Nenhum dos modelos oferece suporte ao Hyper-Threading, que foi desativado em parte para diferenciá-los do Pentium ExtremeEdition 840 (que era bem mais caro) e em parte para reduzir o consumoelétrico dos processadores, que no 830 e 840 já superava a marca dos 130watts em momentos de atividade intensa.Os Pentium D baseados no core Smithfield foram substituídos pelos baseadosno core Presler a partir de Janeiro de 2006. A série foi composta pelosmodelos 915 (2.8 GHz), 920 (2.8 GHz), 925 (3.0 GHz), 930 (3.0 GHz), 935 (3.2GHz), 940 (3.2 GHz), 945 (3.4 GHz), 950 (3.4 GHz) e 960 (3.6 GHz).Assim como no caso da série 8xx, nenhum destes modelos suporta Hyper-Threading, desativado para diferenciá-los dos processadores da série ExtremeEdition. Todos suportam instruções de 64 bits, XD bit e também o AdvancedSpeedStep.Os modelos cujo código termina com "0" (920, 930, 940, 950 e 960) oferecemsuporte ao Intel VT, o mesmo recurso de virtualização que foi introduzido nasérie 6xx. Este é o único recurso que os diferencia dos 9x5. Veja a tabela comtodos os modelos: 152
  • 153. Extreme EditionNo final de 2003, pressionada pela AMD, a Intel criou a série Pentium 4Extreme Edition (Pentium 4 EE), processadores com mais cache, que foramproduzidos em quantidades limitadas e vendidos a preços exorbitantes. Aprincipal função destes processadores foi servir como ferramenta de marketing,atraindo a atenção do público entusiasta.As versões iniciais eram baseadas no core Gallatin, uma versão adaptada doXeon MP (que por sua vez era baseado no core Northwood), que possuíaapenas 512 KB de cache L2, complementados por um generoso cache L3 de 2MB. O Gallatin ainda era fabricado usando a antiga técnica de 0.13 micron, porisso foi lançado em versões de 3.2 a 3.46 GHz, tanto em versão soquete 478(de 3.2 e 3.4 GHz) quanto em versão soquete 775 (versões de 3.4 e 3.46 GHz).Em seguida veio o Pentium 4 EE baseado no core Prescott 2M que, como onome sugere, é uma versão aperfeiçoada do core Prescott, com 2 MB decache L2 (que substituíram o cache L3 do Gallatin). A versão inicial (e única)operava a 3.73 GHz e era destinada exclusivamente a placas soquete 775 comsuporte a bus de 1.06 GHz. A Intel pretendia lançar versões mais rápidas,atingindo a marca de 5 GHz, mas a brutal dissipação térmica do processadorimpediu que isso se concretizasse. 153
  • 154. Mais adiante foram lançadas versões Extreme Edition baseadas nos coresSmithfield e Presler. Elas foram vendidas sob a marca "Pentium ExtremeEdition" (sem o "4"). Para evitar confusão, abreviamos o nome "PentiumExtreme Edition" como "Pentium XE", diferenciando-os da série antiga,abreviada como "Pentium 4 EE".O core Smithfield foi usado em uma única versão do Pentium XE (o XE 840),que operava a 3.2 GHz. A única vantagem real do XE 840 sobre osprocessadores da série 8xx era o suporte a Hyper- Threading. Apesar disso eleera vendido (na época de lançamento) por US$ 999, quase o dobro do preçode um Pentium D 840, que também operava a 3.2 GHz.No início de 2006 foram lançados dois novos modelos, baseados no corePresler: o Pentium XE 955 e o XE 965, que operavam respectivamente a 3.46e 3.73 GHz. O principal diferencial destes dois modelos sobre os demaisprocessadores da série 9xx era o uso do bus de 1.06 GHz, o que melhoravasutilmente o desempenho em relação a um Pentium D do mesmo clock.O XE 965 operava a uma freqüência 133 MHz maior que o Pentium D 960 (3.6GHz), o que o torna o processador mais rápido dentro da plataforma NetBurst.Ao mesmo tempo, ele é um dos piores processadores de todos os tempos comrelação ao custo-benefício, já que custava, em Abril de 2006, nada menos que999 dólares. Três meses depois, era possível comprar dois Core 2 Duo E6700pelo mesmo valor.Celeron DComo de praxe, a Intel lançou versões atualizadas do Celeron baseadas nocore Prescott (com 256 KB de cache) e do Cedar Mill (com 512 KB), quelentamente substituíram os antigos Celerons baseados no Northwood.Apesar do maior número de estágios de pipeline e da maior latência do cacheL2 (cortesia do Prescott), o Celeron D acaba sendo consideravelmente maisrápido que um Celeron Northwood do mesmo clock (de 10 a 20%, de acordocom o aplicativo) devido à combinação do maior cache L1 de dados (16 KB x 8KB), do maior cache L2 e do uso do bus de 533 MHz.Todos os Celeron D utilizam o soquete 775 e bus de 533 MHz. Apesar do "D"no nome, eles não são processadores dual-core. A Intel simplesmente resolveunomear o Celeron de forma parecida para aproveitar o esforço de marketingfeito em torno do Pentium D. O "D" no caso do Celeron não tem nenhumsignificado especial, é apenas uma letra a mais no nome.A lista dos Celerons D baseados no core Prescott-256 inclui o 310 (2.13 GHz),315 (2.26 GHz), 320 (2.4 GHz), 325 (2.53 GHz), 325J (2.53 GHz), 326 (2.53GHz), 330 (2.66 GHz), 330J (2.66 GHz), 331 (2.66 GHz), 335 (2.8 GHz), 335J(2.8 GHz), 336 (2.8 GHz), 340 (2.93 GHz), 340J (2.93 GHz), 341 (2.93 GHz),345 (3.06 GHz), 345J (3.06 GHz), 346 (3.06 GHz), 350 (3.2 GHz), 351 (3.2GHz) e 355 (3.33 GHz). 154
  • 155. Como você pode ver, desta vez a lista é grande e temos um número muitogrande de versões com o mesmo clock. Vamos então entender as diferençasentre elas. :)Nenhum dos Celerons D suporta Hyper-Threading ou o Advanced SpeedStep,mas diversos modelos suportam o XD bit e o EM64.Os modelos que possuem suporte ao XD bit são identificados pela letra "J". Alista inclui os modelos 325J, 330J, 335J, 340J, 345J. Como vimos, o XD bit nãoé um recurso tão interessante, de forma que ter um processador da série J é aomesmo tempo uma boa e uma má notícia. A boa é que ele vem com o XD bitativado e a má é que ele não inclui suporte ao EM64, que seria o recursorealmente importante.Os Celerons D com suporte a instruções de 64 bits foram lançadosposteriormente e tiveram o número de identificação aumentando em 1 paradiferenciá-los dos anteriores. A lista inclui o 326, 331, 336, 341, 346, 351 etambém o 355. Todos estes modelos incluem "de brinde" também o suporte aoXD bit.Em seguida temos os modelos baseados no core Cedar Mill-512. Eles são osmodelos recomendados, pois além de serem fabricados usando a técnica de0.065 micron, possuem 512 KB de cache.Desta vez a escolha é mais simples, já que temos apenas 5 modelos: 347 (3.06GHz), 352 (3.2 GHz), 356 (3.33 GHz), 360 (3.46 GHz) e 365 (3.6 GHz).Todos os 5 modelos suportam tanto o EM64 quanto o XD bit, eliminando aambiguidade da série anterior. Veja a tabela completa, cortesia da Intel: 155
  • 156. Uma questão interessante na informática é que nem sempre processadores eoutros componentes mais lentos ou descontinuados são uma opção ruim decompra, já que, conforme são substituídos, os preços tendem a cairrapidamente.Como sempre, é tudo uma questão de custo-benefício. Em muitos casos, umprocessador 40% mais lento pode custar 10 vezes menos e suportar um 156
  • 157. overclock de 30%, que o deixa com um desempenho próximo do modelo topode linha.Athlon e DuronA versão original do Athlon (em formato de cartucho, com cache L2 externo) foilançada pouco depois do Pentium III com core Katmai. Como os doisprocessadores utilizavam cache L2 trabalhando à metade da freqüência doprocessador, a briga manteve-se equilibrada, com o Pentium III ganhando emalguns aplicativos e o Athlon, em outros. Apesar de, no geral, o Athlon ganharpor uma pequena margem, o posto de processador mais rápido acabava sendoconquistado pelo processador com a freqüência de operação mais alta e assimtrocava de mãos conforme os fabricantes se revezavam no lançamento deversões mais rápidas.Mas, o Athlon começou a ficar para trás depois que a Intel lançou as novasversões do Pentium III, baseadas no core Coppermine, devido ao seu (doAthlon) cache L2 mais lento. Enquanto em um Pentium III de 900 MHz o cacheL2 opera à mesma freqüência do processador, em um Athlon 900 antigo eleopera a apenas 300 MHz, um terço da freqüência.Isto mudou com o lançamento do Athlon Thunderbird, que (com exceção doK6-3) foi o primeiro processador AMD com cache L2 integrado, um designmuito mais elegante e eficiente, que além de mais rápido passou a ser maisbarato de se produzir que a versão anterior, onde além do núcleo doprocessador, era usada uma placa de circuito e dois chips de cache L2separados: Athlon slot A (sem a cobertura plástica). Repare nos dois chips separados de cache L2 157
  • 158. Athlon ThunderbirdCom exceção dos K6-2, que foram vendidos em enorme quantidade e por issoainda vão demorar para serem substituídos completamente, o Thunderbird éprovavelmente o processador AMD mais antigo que você ainda encontrará emuso. O Athlon original era caro e foi produzido em quantidades limitadas,devido a dificuldades da AMD relacionadas ao processo de produção e àobtenção de chips de cache L2 em volume suficiente. Foi a partir doThunderbird que a AMD passou a ter um produto competitivo e a ganharespaço no mercado.As primeiras séries do Athlon slot A (K7), produzidas em versões de 500 a 700MHz foram ainda produzidas em uma antiquada técnica de 0.25 micron, quelimitava pesadamente a freqüência de operação do processador. A partir denovembro de 1999, o Athlon passou a ser produzido em uma técnica de 0.18micron (K75), dando origem às versões de até 1.0 GHz.A Athlon Thunderbird ainda é produzido em uma técnica de 0,18 micron, masele traz como grande destaque o uso de cache L2 integrado, um verdadeirodivisor de águas, que além de melhorar o desempenho do processador, baixouos cursos de produção (e consequentemente o preço de venda), permitiu olançamento de versões com clock mais elevado e, ainda por cima, permitiu olançamento do Duron, que rapidamente substituiu os antigos K6-2 no posto deprocessador de baixo custo.O Thunderbird possui apenas 256 KB de cache L2, contra 512 KB do Athlonantigo. A grande diferença é que nele o cache é integrado diretamente nonúcleo do processador e opera sempre à mesma freqüência que ele, o queresulta em um ganho de desempenho muito grande. O cache L2 écomplementado por mais 128 KB de cache L1, que também opera à mesmafreqüência do processador, mas oferece tempos de latência mais baixos.Em um Athlon slot A de 1.0 GHz, o cache L2 opera a apenas 333 MHz (1/3 dafreqüência do processador), enquanto em um Thunderbird da mesmafreqüência, ele opera a 1.0 GHz. Esta brutal diferença na freqüência do cachecobre com lucro a perda resultante da diminuição do tamanho, fazendo comque o Thunderbird seja mais de 10% mais rápido que o modelo antigo.Outra diferença importante com relação ao cache do Thunderbird é que elepassou a ser "exclusivo" ao invés de "inclusivo", como no Athlon antigo. Issofaz com que o cache L1 armazene sempre dados diferentes dos armazenadosno cache L2, fazendo com que o processador realmente armazene 384 KB deinformações em ambos os caches. No cache inclusivo o Athlon antigo, o cacheL1 armazenava cópias de dados já armazenados no cache L2, fazendo comque o processador armazenasse um total de 512 KB de dados em ambos oscaches: 158
  • 159. Slide da AMD que mostra o uso do cache exclusivo do ThunderbirdCom a simplificação no design do processador, o formato de cartucho deixoude ser necessário, de forma que a AMD voltou a utilizar um encaixe em formatode soquete, dando origem ao soquete A (também chamado de soquete 462),utilizado na segunda geração de placas para o Athlon.Ao contrário da Intel, que permitiu uma migração suave do slot 1 para osoquete 370, desenvolvendo adaptadores e vendendo processadores emambos os formatos durante algum tempo, a AMD optou por fazer umamigração abrupta, substituindo os processadores slot A pelos soquete Arapidamente.Esse movimento foi coordenado com os fabricantes de placas, que retiraramrapidamente as antigas placas slot A do mercado e passaram a vender apenasas placas soquete A, que foram vendidas até 2005.A AMD chegou a produzir uma série do Thunderbird em formato slot A, que foivendida a alguns integradores que ainda tinham estoques de placas slot A,mas essa foi uma série limitada, que não chegou a ser vendida diretamente aoconsumidor. Infelizmente não existe nenhum adaptador que permita instalar umThunderbird numa placa slot A, de forma que elas se tornaram obsoletas. 159
  • 160. Athlon Thunderbird espetado em uma placa soquete AComo você pode ver, o Thunderbird não utiliza nenhum tipo de proteção sobreo núcleo do processador. Isto melhora a dissipação do calor (já que nãoexistem intermediários entre o processador e o cooler), mas em compensaçãotorna o processador muito mais frágil. É preciso ter cuidado redobrado aoinstalar o cooler, para não trincar o núcleo do processador e você não devejamais ligar o micro sem encaixar o cooler corretamente, pois isso vailiteralmente torrar o processador. Não caia na tentação de "ligar o micro só pratestar" antes de encaixar o cooler, pois depois de "testar" você vai precisarcomprar outro processador. :)Em termos de performance, o Thunderbird supera um Pentium III Copperminedo mesmo clock na maioria das aplicações. Em alguns testes o Pentium III eramais rápido, mas no geral o Thunderbird se mostrava superior, apesar de sermais barato.O verdadeiro concorrente do Thunderbird não foi o Pentium III, que já estavaem vias de ser descontinuado, mas sim as versões iniciais do Pentium 4 que,apesar de possuírem um desempenho por ciclo de clock muito inferior,trabalhavam a freqüências de clock muito mais elevadas, competindo na baseda força bruta.Inicialmente o Thunderbird foi lançado em versões de 750, 800, 850, 900, 950e 1000 MHz, utilizando sempre bus de 100 MHz (200 MHz, se levarmos em 160
  • 161. conta as duas transferências por ciclo do barramento EV6). Mais tarde, foramintroduzidas versões de 1.1, 1.2 e 1.3 GHz (ainda utilizando bus de 100 MHz)e, em seguida, versões de 1.13, 1.2, 1.26, 1.33 e 1.4 GHz, utilizando bus de133 MHz.Ao contrário do que temos nos processadores Intel, não existia uma diferençaperceptível de desempenho entre as versões do Thunderbird com bus de 100 e133 MHz, pois as placas da época, baseadas nos chipset VIA KT133 e SiS730S, eram capazes de trabalhar com a memória operando de formaassíncrona, com uma freqüência acima da do FSB. Desta forma, a memóriapodia trabalhar a 133 MHz, mesmo ao utilizar um Thunderbird com bus de 100MHz. Como o barramento EV6 utilizado pelo Athlon realiza duas transferênciaspor ciclo, havia banda mais do que suficiente para absorver os dados enviadospela memória, mesmo a 100 MHz.Em junho de 2000 foi lançado o Duron, que finalmente substituiu os antigosK6-2 e K6-3 como processador de baixo custo.A versão inicial do Duron, baseada no core Spitfire, é um descendente diretodo Athlon Thunderbird. Ambos compartilham a mesma arquitetura (incluindo os128 KB de cache L1), mas o Duron vem com apenas 64 KB de cache L2,apenas um quarto do usado no Thunderbird.O Duron foi possivelmente o primeiro processador da história a vir com maiscache L1 do que cache L2. Apesar de incomum, essa configuração de cachefuncionava muito bem, graças ao sistema de cache exclusivo introduzido pelaAMD no Thunderbird.Graças a ele, o Duron podia armazenar dados diferentes em ambos os caches,totalizando 192 KB de dados. O Celeron Coppermine, que era seu concorrentedireto, possuía 32 KB L1 e 128 KB de cache L2 e utilizava o sistema inclusivo,onde o cache L1 armazenava cópias de dados já armazenados no cache L2.Isso fazia com que o Celeron fosse capaz de armazenar apenas 128 KB deinformações em ambos os caches, um volume muito menor que o Duron.O cache L2 do Duron contava com 16 linhas associativas (o mesmo número doThunderbird), contra 8 do Pentium III e 4 do Celeron. O maior número de linhasde associação melhora bastante a eficiência do cache, agilizando o acesso aosdados gravados e garantindo um melhor aproveitamento do espaço. O grandeproblema é que o Celeron utilizava um barramento de 256 bits para acesso aocache L2, enquanto o Duron utilizava um barramento muito mais lento, comapenas 64 bits. O barramento estreito anulava parte dos ganhos obtidos nosoutros quesitos.Outra diferença em relação ao Celeron é que o Duron era realmente umprocessador diferente, com menos transístores e produzido em fábricasseparadas, enquanto o Celeron Coppermine era um Pentium III com metade docache L2 desativado em fábrica. No início, esse artifício permitiu que a intelaproveitasse um certo número de processadores Pentium III com defeitos nocache, já que podia desativar a parte ruim e vendê-los como Celerons. Mas, apartir de um certo ponto, o número de Celerons vendidos passou a superar em 161
  • 162. muito o número de processadores com defeito, de forma que a Intel precisavarealmente produzir um Pentium III completo, arcando com todos os custos,para então desativar metade do cache e vendê-lo como um Celeron.A partir deste ponto, a estratégia da AMD se revelou mais vantajosa. O DuronSpitfire possui apenas 25 milhões de transístores, contra 37 milhões doThunderbird, resultando em uma redução quase que proporcional no custo deprodução. Os dois processadores eram produzidos em fábricas separadas e,além da questão do cache, existia uma pequena diferença na técnica deprodução utilizada em cada um.Tradicionalmente, os processadores utilizavam alumínio nos filamentos queinterligam os transístores. O alumínio é um material fácil de se trabalhar, quenão reage com o silício. Por outro lado, o alumínio não é um condutor tão bomquanto o cobre, ouro, platina ou outros materiais mais "nobres".O cobre é um bom sucessor, pois é um material barato e que pode ser aplicadoatravés das reações químicas usadas para construir um processador, aocontrário do ouro, por exemplo. A grande dificuldade em utilizar cobre no lugardo alumínio é que ele reage com o silício, tornando o processador imprestávelcaso nada seja feito a respeito.A IBM desenvolveu então uma técnica que permitia usar uma finíssima camadade alumínio entre o silício e o filamento de cobre, isolando os dois materiais(copper interconnects). O uso de cobre permite que o processador seja capazde operar a freqüências mais elevadas e manter-se estável trabalhando atemperaturas mais altas.Na época, a AMD possuía duas fábricas, situadas em Austin (Texas) eDresden (na Alemanha). A fábrica de Austin produzia apenas processadoresna técnica antiga, utilizando filamentos de alumínio, enquanto a de Dresdenproduzia utilizando a técnica mais recente, com filamentos de cobre.As versões mais rápidas do Athlon, começando com a série "AXIA" de 1.0 GHzeram produzidas na fábrica de Dresden, enquanto as versões mais lentas doThunderbird, junto com o Duron, eram produzidas na fábrica de Austin.Durante algum tempo, as séries do Thunderbird com filamentos de cobre setornaram uma febre entre os entusiastas, pois suportavam overclocks muitomaiores que os anteriores. Um Athlon AXIA de 1.0 GHz podia trabalharestavelmente a 1.5 GHz, o que era algo absolutamente espantoso para aépoca.Todos os processadores Athlon soquete A possuem alguns códigosdecalcados na parte superior do processador, na área que fica em contato como cooler. Na primeira linha vai o tradicional "AMD Athlon", enquanto a segundalinha informa a freqüência do processador. A terceira linha traz justamenteinformações sobre a série do processador.A AMD utilizava um sistema de identificação bem simples para seusprocessadores, utilizando um código de identificação de 4 dígitos. O primeiroera a letra "A", de Athlon, enquanto os outros três mudavam de acordo com a 162
  • 163. série do processador. A mudança era sempre em ordem alfabética, o quepermitia diferenciar facilmente os processadores de fabricação mais recente.Os "AXIA" (ou superiores) eram produzidos usando filamentos de cobre,enquanto os anteriores, como a série "AFFA", utilizavam a técnica antiga. Oscódigos mudam de acordo com a família de processadores, por isso eles sótêm alguma serventia ao comparar dois processadores da mesma família (doisThunderbird, ou dois Palominos, por exemplo).A quarta linha trazia mais uma letra de identificação, indicando a sub-série(também classificada na ordem alfabética), como "K" ou "Y". Ela indicavarefinamentos na técnica de produção, de forma que os processadores de sub-séries mais recentes oferecem margens de overclock um pouco maiores: Athlon "AXIA" de 1.0 GHz, da sub-série "K"Como em outros processadores, as possibilidades de overclocks não tinhammuito a ver com a freqüência do processador, mas sim com a série. Um AthlonAXIA de 1.0 GHz e um Athlon AXIA de 1.33 GHz teriam um limite muitoparecido, em torno de 1.5 GHz, de forma que era vantajoso comprar oprocessador mais barato.Voltando ao Duron, a série inicial, baseada no Spitfire, foi composta pormodelos de 550 a 950 MHz, todos utilizando bus de 200 MHz e produzidosutilizando filamentos de alumínio. As primeiras versões, sobretudo os de 600 e650 MHz, suportavam overclocks generosos, atingindo facilmente os 900 MHz(bastava aumentar a tensão do processador de 1.6V para 1.7V no setup). Asversões mais rápidas, por outro lado, trabalham com margens de overclockmuito mais estreitas, já que já operam muito mais próximo do limite daarquitetura. O Duron Spitfire de 950 MHz, por exemplo, mal consegueultrapassar a barreira dos 1000 MHz com estabilidade. 163
  • 164. Athlon PalominoO Palomino foi a quarta geração do Athlon, sucessor do Thunderbird. Aocontrário do que muitos esperavam na época, o Palomino não foi uma versãodo Athlon produzida em uma técnica de 0.13 micron. Ele continuou sendoproduzido na fábrica de Dresden, utilizando a mesma técnica de 0.18 micron,com filamentos de cobre, mas foram feitas uma série de modificações noprojeto, que reduziram o consumo e a dissipação térmica do processador emcerca de 20%, permitindo que ele fosse capaz de operar a freqüências maisaltas.Para efeito de comparação, um Palomino de 1.4 GHz consumia 62.8 watts,contra 72 watts do Thunderbird da mesma freqüência. Pode parecer pouco,mas essa pequena redução permitiu que o Palomino atingisse os 1.73 GHz,uma freqüência de clock quase 20% maior que a versão mais rápida doThunderbird, que compartilhava a mesma técnica de produção.Com relação ao desempenho, o Palomino trouxe duas modificaçõesimportantes. A primeira foi a compatibilidade com as instruções SSE, quehaviam sido introduzidas pela Intel junto com o Pentium III. Quando o Palominofoi lançado, em 2001, já existia uma grande quantidade de softwaresotimizados, de forma que houve um ganho imediato de desempenho emrelação ao Thunderbird. As instruções SSE da AMD foram chamadas de "3D-Now! Professional".A segunda melhoria foi um sistema aperfeiçoado de data prefetch, quemelhorou a eficiência dos caches, permitindo que o processador aproveitasse abanda ociosa no barramento com a memória para carregar instruções e dadosque possuem uma grande probabilidade de serem utilizadas nos ciclosseguintes. Com isso, o número de ciclos de processamento perdidos foireduzido, resultando em um pequeno ganho.Outro pequeno avanço é um aumento nos endereços disponíveis no TLB(Translation Lookaside Buffer). O TLB é uma pequena área de memória quearmazena os endereços necessários para que o processador possa buscardados na memória RAM, caso os mesmos não sejam encontrados nos caches.O processador não tem como armazenar diretamente todos os endereços damemória RAM, pois são realmente muitos. Ao invés disso, são armazenadosapenas os mais usados.O problema é quando o processador precisa acessar uma informação qualquerna memória RAM, cujo endereço não está carregado no TLB. Perde-se umaverdadeira eternidade, pois primeiro será preciso carregar o endereço, para sódepois fazer o já lento acesso à memória. O aumento no número de endereçosdisponíveis no TLB diminui a possibilidade destas "tragédias", permitindo maisum pequeno ganho de desempenho.Foi incluído ainda um diodo térmico, cuja função era proteger o processador,desligando o sistema quando ele atingia uma certa temperatura limite. O diodo 164
  • 165. não evitava a queima caso você ligasse o processador sem o cooler, masoferecia alguma proteção adicional durante o uso normal do sistema.O Palomino trouxe também suporte a multiprocessamento, possibilitando olançamento do Athlon MP e das primeiras placas dual-Athlon, como a TyanTiger MPX. O Athlon MP era mais caro e operava a freqüências mais baixasque as versões domésticas (as versões iniciais operavam a apenas 1.0 e 1.2GHz), de forma a garantir a estabilidade do sistema em conjunto com osegundo processador. Apesar disso, ele oferecia um desempenho muito bomem aplicativos profissionais e servidores em geral. Dois Athlon MP, esperados em uma placa baseada no chipset AMD-760 MPInicialmente, o core Palomino foi utilizado na fabricação do Athlon MP e emuma versão mobile do Athlon (chamada de "Mobile Athlon 4"), que utilizava aversão inicial do PowerNow, o sistema de gerenciamento de energia que, maistarde, viria a ser incluído no Athlon 64.Quando chegou a hora de lançar as versões destinadas a PCs domésticos, aAMD chegou a ameaçar usar o nome "Athlon 4", mas depois mudou de idéia eresolveu apelar para a marca "Athlon XP". Oficialmente o "XP" vem de"Extreme Performance", mas na época pareceu óbvio que a idéia era pegarcarona no esforço de marketing da Microsoft feita em torno do Windows XP.Ao invés de continuar vendendo o Athlon XP com base na freqüência de clock,a AMD passou a utilizar um índice de desempenho que comparava odesempenho do processador com o de um Pentium 4. Foram lançadas no total7 versões do Athlon XP baseado no core Palomino, todas utilizando bus de 133MHz: 1500+ (1.33 GHz), 1600+ (1.4 GHz), 1700+ (1.46 GHz), 1800+ (1.53GHz), 1900+ (1.6 GHz), 2000+ (1.66 GHz) e 2100+ (1.73 GHz).Como você pode notar, a cada aumento de 100 pontos no índice, a AMDaumentava apenas 66 MHz na freqüência do processador, o que foiprogressivamente minando a credibilidade do índice. O XP 1500+ superavacom facilidade um Pentium 4 Willamette de 1.5 GHz, que operava a uma 165
  • 166. freqüência apenas 166 MHz maior, mas quando chegou no 2000+, oWillamette passou a ganhar em muitas aplicações. A situação se tornou maisgrave com o lançamento do Northwood, que era até 10% mais rápido que umWillamette do mesmo clock.A partir do Athlon XP, a AMD passou a utilizar um novo encapsulamento,composto de resinas plásticas, gradualmente substituindo o antigoencapsulamento de cerâmica, usado desde os primeiros chips. Embora o termo"resinas plásticas" não inspire muita confiança, o encapsulamento é bastanteresistente e permitiu uma precisão muito maior no posicionamento do núcleodo processador, dos filamentos de conexão e também dos capacitoresresponsáveis por estabilizar o fornecimento elétrico do processador. Tudo issocontribuiu para permitir o lançamento das versões mais rápidas do Palomino.Alguns processadores foram fabricados na cor verde e outros na cor marrom,mas esses são detalhes estéticos que não têm relação com a performance doprocessador. Athlon XP com o encapsulamento plásticoConcluindo, o Palomino deu origem à segunda geração do Duron, o DuronMorgan. Ele ainda era produzido na mesma técnica de 0.18 micron utilizandofilamentos de alumínio e mantendo o antigo encapsulamento de cerâmica, masas melhorias introduzidas com o Palomino ajudaram o Morgan a atingirfreqüências mais altas.Enquanto o Spitfire estacionou nos 950 MHz, o Morgan foi lançado em versõesde 900, 950, 1000, 1100, 1200 e 1300 MHz, todas utilizando bus de 100 MHz.O suporte às instruções SSE e as demais melhorias também trouxeram ganhos 166
  • 167. de até 7%, se comparado com um Spitfire do mesmo clock. Em algunsbenchmarks, como no caso do SYSMark 2001 (overall performance), o suportea SSE sozinho chegava a representar um ganho de mais de 10%.Com os reforços, o Duron superou de vez os Celerons soquete 370 e começoua concorrer com as versões mais lentas do Pentium 4. Na época a Intel aindanão tinha um processador de baixo custo competitivo (já que estavadescontinuando o Celeron baseado no Pentium III e ainda não havia lançado oCeleron baseado no Northwood), de forma que a AMD aproveitou o ambientefavorável para baixar os preços e aumentar sua participação no mercado. Naépoca, o Duron de 700 MHz (baseado no Spitfire) chegou a ser vendido pormenos de US$ 25.Mesmo visualmente, existem algumas diferenças entre os dois. No Spitfire onúcleo do processador fica na horizontal, enquanto no Morgan fica na vertical.Veja que também mudou a disposição dos gold fingers do processador (usadospara alterar o multiplicador ao fazer overclock): Duron Spitfire e Duron Morgan (à direita)Uma curiosidade é que, ao contrário do Palomino (que consome menosenergia que um Thunderbird da mesma freqüência), o Morgan consome naverdade mais energia que um Spitfire. Isto acontece porque o Spitfire utilizavatensão de 1.6V, enquanto que o Morgan utiliza 1.75V. O aumento na tensãoanulou a redução de consumo trazido pela arquitetura e ainda reverteu emprejuízo. Por já trabalharem a uma tensão elevada e já operarem muitopróximos dos limites da plataforma, os Durons com core Morgan são ruins deoverclock. Na época, as melhores opções eram as versões de baixo clock doAthlon, incluindo o XP 1500+. 167
  • 168. Athlon ThoroughbredCom a arquitetura de 0.18 micron atingindo seu limite com o Palomino de 1.73GHz, a AMD se apressou em terminar a atualização de suas fábricas e assiminiciar a fabricação dos processadores baseados na técnica de 0.13 micron.O primeiro foi o Thoroughbred, uma versão modernizada do Palomino, quemanteve os mesmos 256 KB de cache L2 e demais características, mas queoferecia uma dissipação térmica muito mais baixa e era assim capaz detrabalhar a freqüências de clock mais elevadas, o que era uma boa notíciatanto para quem queria processadores mais rápidos quanto para quem queriaprocessadores bons de overclock. Para efeito de comparação, umThoroughbred de 1.6 GHz consome 52.5 watts, contra 68 watts de umPalomino da mesma freqüência.Existiu uma redução de 1% no número de transístores, mas ela foi causada porpequenas otimizações feitas durante a transição no processo de fabricação,sem efeito sobre o desempenho. Utilizando a mesma placa-mãe e os mesmosmódulos de memória, um Thoroughbred e um Palomino do mesmo clockpossuem rigorosamente o mesmo desempenho.O Thoroughbred original foi produzido em versões de 1.46 a 1.8 GHz, dandoorigem ao Athlon XP 2200+ (1.8 GHz). Foram lançadas ainda as versões1700+ (1.46 GHz), 1800+ (1.53 GHz), 1900+ (1.6 GHz) e 2000+ (1.66 GHz) e2100+ (1.73 GHz), destinadas a substituir os antigos Palominos.Uma forma simples de diferenciar os primeiros Thoroughbreds dos antigosPalominos é observar a posição dos capacitores incluídos no encapsulamentodo processador. Nos Palominos os capacitores são posicionados na faceinferior do processador, enquanto no Thoroughbred eles foram movidos para aface superior.Outra diferença visível é que, graças à técnica de 0.13 micron, o núcleo oThoroughbred é muito menor que o do Palomino. O Thoroughbred ocupa umaárea de 80 mm², enquanto o Palomino ocupa 128 mm², cerca de 60% maior. Adiferença salta à vista ao colocar os dois processadores lado a lado: 168
  • 169. Athlon Thoroughbred (à esquerda) e Athlon PalominoAlém da questão estética, a redução no tamanho físico do processadorrepresentou uma grande economia de custos para a AMD, que passou a sercapaz de produzir 60% mais processadores utilizando o mesmo número dewaffers. Isso fez com que, depois de atualizadas as fábricas e solucionados osentraves inicias, os Palominos fossem rapidamente descontinuados.Todas as versões iniciais do Thoroughbred utilizavam bus de 133 MHz, porisso mantinham a compatibilidade com a maioria das placas antigas. O únicoempecilho era a tensão, que passou a ser de 1.5, 1.6 ou 1.65v (variando deacordo com o clock e a revisão do processador), contra os 1.75v utilizados peloPalomino. Devido a isto, muitas placas precisavam de atualizações de BIOS.Como de praxe, algumas placas antigas não eram compatíveis, devido alimitações dos reguladores de tensão, ou incompatibilidades diversas.Em agosto de 2002 a AMD lançou uma atualização do core Thoroughbred,batizada de "Thoroughbred-B". Embora mantivesse a mesma arquitetura efosse produzida utilizando o mesmo processo de fabricação, ela tinha 400 miltransístores a mais e utilizava uma camada metálica adicional (totalizando 9),incluída de forma a melhorar a comunicação entre os componentes internos doprocessador e assim permitir que ele fosse capaz de atingir freqüências maisaltas.O core Thoroughbred-B foi utilizado nos Athlon XP 2400+ (2.0 GHz) e 2600+(2.13 GHz), que ainda utilizavam bus de 133 MHz e mais adiante nos modelos2600+ (1.83 GHz), 2700+ (2.17 GHz) e 2800+ (2.25 GHz), que passaram autilizar bus de 166 MHz (333). Devido à mudança na freqüência do barramento,estas três versões exigiam uma placa-mãe atualizada, como as baseadas noschipsets VIA KT333, nVidia nForce2 ou SiS 745. Muitas das placas antigas,baseadas nos chipsets VIA KT266A e SiS 735 suportavam trabalhar com FSBa 166 MHz em overclock, de forma que também podiam ser usadas emconjunto com as novas versões. 169
  • 170. O Thoroughbred deu origem à terceira geração do Duron, o Applebred,lançado em agosto de 2003, em versões de 1.4, 1.6 e 1.8 GHz (todas utilizandobus de 133 MHz e tensão de 1.5). O Applebred foi o suspiro final do Duron,antes que ele fosse substituído pelo Sempron.Por manter os mesmos 64 KB de cache L2, o Duron Applebred não oferecianenhum ganho de desempenho em relação a um Morgan do mesmo clock. Ouso da arquitetura de 0.13 micron e do encapsulamento plástico serviramapenas para permitir que ele fosse capaz de operar a freqüências mais altas.Um detalhe que chama a atenção é que o Duron Applebred é exatamente igualao Athlon Thoroughbred, incluindo o tamanho do núcleo do processador,encapsulamento e posição dos capacitores. Se não fosse pela etiqueta deidentificação, você não seria capaz de diferenciar um do outro visualmente: Athlon Thoroughbred e Duron Applebred (à direita)A explicação é que, diferentemente do Spitfire e do Morgan, que eramrealmente produzidos em uma linha separada, o Applebred era umThoroughbred com três quartos do cache L2 desabilitado em fábrica, assimcomo no caso do Celeron. Aparentemente, o núcleo de 80 mm² doThoroughbred era barato de se produzir, de forma que a AMD não se deu aotrabalho de criar uma versão separada do processador.Por ser muito barato, o Duron Applebred foi a opção preferida entre os PCs debaixo custo durante toda a sua vida útil. Era possível inclusive fazer overclocksrelativamente grandes aumentando a tensão do processador de 1.5v para1.65v (a mesma utilizada pelo Thoroughbred). Dependendo do cooler usado, oDuron de 1.6 GHz era capaz de trabalhar estavelmente a 2.0 GHz (utilizandobus de 166 MHz) ou mesmo 2.1 GHz (com bus de 174 MHz, suportado pormuitas placas). 170
  • 171. Athlon BartonO Barton é uma versão do Thoroughbred-B com 512 KB de cache. Éinteressante notar que os 256 KB adicionais de cache adicionaram quase 17milhões de transístores ao processador (totalizando 54.3 milhões, contra 37.6milhões do Thoroughbred-B), mas aumentaram a área do processador emapenas 21 mm², totalizando apenas 101 mm².A princípio, poderia parecer que a AMD decidiu utilizar um cache mais lento,como no caso do Pentium 4 com core Prescott, mas isso felizmente nãoaconteceu. O Barton mantém o mesmo cache com 16 linhas de associação eos mesmos tempos de acesso, de forma que não existem "poréns" na novaarquitetura. O Barton é realmente mais rápido que um Thoroughbred em todasas situações, variando apenas a percentagem.Como o Barton mantém os 128 KB de cache L1 e mantém o uso do sistemaexclusivo, ele é capaz de armazenar até 640 KB de dados em ambos oscaches, um número nada desprezível. Apesar disso, o ganho de desempenhoem relação ao Thoroughbred é relativamente pequeno se comparado com oganho do Pentium 4 Northwood sobre o Willamette, por exemplo, já que oAthlon já possuía um sistema de caches mais equilibrado, sem grandesgargalos.Os maiores beneficiados pelo cache maior são os games 3D. Utilizando umaplaca 3D rápida (onde o gargalo passe a ser o processador), o UT2003 rodacom um FPS 9% maior, enquanto no Comanche 4 o ganho é de 7%. A maioriados aplicativos de produtividade roda com ganhos modestos, de 3 a 6%.Apesar disso, o cache foi uma boa adição, que ajudou a tornar o processadormais equilibrado, sem aumentar o custo de forma considerável.O Barton foi inicialmente lançado em três versões: 2500+ (1.83 GHz), 2800+(2.08 GHz) e 3000+ (2.16 GHz). As três utilizavam bus de 166 MHz emantinham compatibilidade com as placas anteriores, já que o Barton utilizavaos mesmos 1.65v de tensão do Thoroughbred.Mais adiante foram lançados os modelos 3000+ (agora a 2.1 GHz) e 3200+(2.2 GHz). Estas duas versões utilizavam bus de 200 MHz, o que demandavauma placa-mãe compatível. Uma observação é que o Barton 3000+ de 2.1 GHzera levemente mais lento que o de 2.16 GHz, pois o aumento de 33 MHz nafreqüência do barramento não era suficiente para compensar a diminuição de66 MHz no clock do processador. Devido ao grande cache L2, o Barton eramenos dependente do barramento com a memória, de forma que aumentar afreqüência do FSB tinha pouco efeito sobre o desempenho.Outra questão é que o XP 2800+ baseado no Thoroughbred-B (que operava a2.25 GHz) era capaz de superar o Barton 3000+ (que operava a 2.1 ou 2.16GHz) em alguns aplicativos e benchmarks, (como, por exemplo, o testeContent Creation do Winstone 2003), já que, embora com menos cache, oclock do processador era maior. Como disse, o Barton ganha de um 171
  • 172. Thoroughbred do mesmo clock em todas as aplicações, mas comparaçõesentre processadores de clocks diferentes podem sempre revelar surpresas.O Barton 3000+ competia de igual para igual com o Pentium 4 Northwood de3.06 GHz, embora a briga fosse apertada, com o Northwood ganhando emmuitas aplicações. De uma forma geral, o Barton dominava os aplicativos deescritório e de produtividade e, embora com uma margem menor, também namaioria dos games. O Northwood, por sua vez, ganhava nos aplicativos decompressão de áudio e vídeo e também em alguns aplicativos profissionais.O Barton 3200+ acabou sendo o topo da evolução entre os processadoresAMD de 32 bits, marcando o final da era dos processadores soquete A. Depoisdisso, a Intel entrou em seu período negro, andando para o lado com o corePrescott, enquanto a AMD tomou a dianteira lançando os processadores de 64bits. Esse foi o período de maior crescimento da AMD, onde, mesmotrabalhando com margens de lucro mais folgadas, chegou ao ponto de superaras vendas da Intel. Em 2006 a balança voltou a pender novamente para o ladoda Intel, com o lançamento do Core 2 Duo e os cortes de preços nosprocessadores antigos. Ao longo de 2007, a Intel recuperou boa parte doterreno perdido, enquanto a AMD se defendia reduzindo os preços dosprocessadores, assim como na época do K6-2.Mas, voltando ao Barton e suas variações, temos também uma versão commetade do cache L2 desabilitado (provavelmente modelos com defeitos nocache, onde era aproveitada a metade boa), batizada de Thorton. Ele foivendido em quantidades limitadas, com freqüências de 1.6 GHz (2000+) a 2.2GHz (3100+). O índice de desempenho era calculado de forma diferente doBarton, já que com metade do cache desabilitado, o desempenho do Thortonera idêntico ao de um Thoroughbred do mesmo clock.Com o lançamento do Athlon 64 e da plataforma soquete 754, o Athlon XP setornou um processador de baixo custo dentro da linha da AMD. O problema éque essa posição já era ocupada pelo Duron, de forma que o Athlon XP acabouficando no meio, atrapalhando tanto as vendas do Athlon 64, quanto do Duron.Para colocar ordem na casa, a AMD decidiu descontinuar tanto o Duron quantoo Athlon XP em 2004, dando origem ao Sempron, sua nova linha deprocessadores de baixo custo.O Sempron soquete A nada mais é do que um Athlon Thoroughbred-B, Thortonou Barton, vendido sob um índice de desempenho um pouco "afrouxado", ondeo índice dos processadores foi aumentado em de 100 a 200 pontos, sem quefossem feitas mudanças na arquitetura. Basicamente, a AMD usou a linha paravender todos os processadores soquete A que ainda tinha em estoque,aproveitando enquanto havia procura.A versão 2800+, por exemplo, era na verdade um Thorton, operando a apenas2.0 GHz, enquanto o 3300+ era um Barton operando a 2.2 GHz. A explicaçãooficial é que no Sempron o índice passou a ser calculado em relação aodesempenho do Celeron D (que seria seu concorrente direto) e não mais emrelação ao Pentium 4. 172
  • 173. Sempron 2600+ baseado no core Thoroughbred-BOs Semprons soquete A conviveram com os processadores soquete 754 poralgum tempo, até que a plataforma soquete A foi finalmente descontinuada.Athlon 64Todos os processadores Intel e AMD, do 386 ao Athlon, são chamadosgenericamente de "processadores x86", deixando claro que apesar de todas asdiferenças de arquitetura, eles são compatíveis com o mesmo conjunto básicode instruções. É graças a isso que temos um número tão grande de softwares,acumulados ao longo de mais de duas décadas, que continuam funcionandonos PCs atuais. Com exceção da questão dos drivers, você poderiaperfeitamente rodar o DOS e o Windows 3.11 em um Pentium 4, por exemplo.Duas grandes limitações da plataforma x86 são o pequeno número deregistradores e o suporte nativo a apenas 4 GB de memória RAM, limitaçãocompartilhada por todos os processadores de 32 bits.Os registradores são pequenos espaços de memória utilizados peloprocessador para armazenar informações que serão usadas para processar ainstrução seguinte. Você pode pensar nos registradores como uma espécie de"cache L0". Eles estão muito próximos das unidades de execução doprocessador e por isso as informações podem ser acessadas imediatamente,mas em troca eles são incrivelmente limitados em tamanho. A arquitetura x86prevê o uso de apenas 8 registradores, com 32 bits cada um. Ou seja, todos osregistradores somados armazenam apenas 8 bytes de dados. 173
  • 174. Não é possível adicionar mais registradores facilmente, pois softwares escritospara utilizarem os registradores adicionais não seriam mais compatíveis comos processadores antigos. A solução encontrada foi utilizar o recurso chamado"register renaming" onde o processador possui um número maior deregistradores, mas apenas 8 são visíveis. Os demais são gerenciados de formadinâmica pelo processador, que vai chaveando entre eles conforme novasinformações são necessárias. Essa técnica ameniza os problemas dedesempenho causados pelo pequeno número de registradores, mas nãosoluciona a questão completamente.Com relação à memória, o limite de 4 GB se tornou uma limitação séria emalgumas áreas a partir da época do Pentium 1. A solução veio na forma doPAE (Physical Address Extension), um hack (originalmente desenvolvido pelaIntel) que está disponível na maior parte dos processadores a partir do PentiumPro. O PAE consiste numa segunda tabela de endereços, com 4 bitsadicionais, que permitem endereçar 16 páginas de memória, cada uma com 4GB.Com o PAE, passa a ser possível endereçar até 64 GB de memória. Adesvantagem é que o processador continua sendo capaz de acessar apenas 4GB por vez e o chaveamento entre diferentes páginas de memória toma umcerto tempo, o que acaba prejudicando bastante o desempenho. Ou seja,assim como no caso do register renaming, o PAE ameniza o problema, masnão o soluciona completamente.A única forma de solucionar de vez as duas questões, assim como um conjuntode outros problemas comuns a todos os processadores de 32 bits, eradesenvolver uma nova nova arquitetura, composta agora por processadores de64 bits.Desenvolvendo um sucessorEm primeiro lugar, precisamos definir o que são processadores de 64 bits equais são as vantagens sobre os de 32. Processadores de 64 bits não sãoduas vezes mais rápidos nem processam (necessariamente) o dobro de dadospor ciclo de clock. A grande vantagem dos processadores de 64 bits é que elessão capazes de trabalhar com endereços de memória de 64 bits, o que permiteendereçar muito mais do que 4 GB de memória RAM. Temos também umaumento no tamanho dos registradores, que passam a armazenar 64 bits deinformações, em vez de 32, o que representa um pequeno ganho dedesempenho.Outro benefício (embora menos significativo) é que eles são capazes deprocessar números inteiros de até 64 bits, ao invés de 32. Isto oferece ganhosde desempenho em algumas áreas específicas (como, por exemplo, softwaresde encriptação e alguns aplicativos científicos) mas não ajuda muito nosaplicativos do dia-a-dia. Processadores de 32 bits podem processar númerosinteiros de 64 bits, mas eles precisam ser divididos em duas instruçõesseparadas, o que naturalmente toma mais tempo. 174
  • 175. Com relação ao processamento de números de ponto flutuante, não existeganho, pois os co-processadores aritméticos utilizados nos processadoresatuais já são capazes de processar números de ponto flutuante de 64 bits evetores de 128 bits. Nestas duas áreas não existe um ganho direto, já que atransição foi feita há muito tempo.ItaniumA primeira tentativa de criar um sucessor de 64 bits para a plataforma x86 veioda Intel, que em 2001 lançou o Itanium, um processador de 64 bits destinado aservidores.O Itanium quebra a compatibilidade com a família x86, passando a utilizar o IA-64, um novo conjunto de instruções. O plano inicial era popularizar aarquitetura primeiro nos servidores, onde os benefícios de um processador de64 bits são mais evidentes, e em seguida lançar também versões destinadas adesktops. O problema com o Itanium (além do processador ser muito caro) eraque não existiam softwares capazes de se beneficiar da nova plataforma. Eleincluía um sistema de emulação, que permitia rodar softwares de 32 bits, masneste caso o desempenho era muito ruim.As duas versões iniciais do Itanium operavam a 733 e 800 MHz. Elas foramseguidas pelas diferentes versões do Itanium 2, vendidas em versões de 900MHz a 1.67 GHz, incluindo versões dual-core. A Intel continua investindo nodesenvolvimento do Itanium, lançando novas versões, mas o futuro daplataforma é incerto. Itanium 2 175
  • 176. x86-84 (AMD64)Ao invés de repetir o mesmo erro da Intel, lançando uma plataformacompletamente nova, incompatível com os softwares atuais, a AMD decidiudesenvolver um projeto mais simples, que adicionasse suporte a instruções de64 bits no Athlon (incluindo novos registradores, suporte a endereços dememória de 64 bits, etc.) sem entretanto quebrar a compatibilidade com ossoftwares de 32 bits, nem prejudicar o desempenho do processador aoexecutá-los.Com isso chegaram a um processador de 64 bits, que desfruta de um númeromaior de registradores e maior capacidade de endereçamento de memória,mas que é capaz também de rodar aplicativos de 32 bits nativamente, semperda de desempenho.Este slide de apresentação da AMD mostra os novos registradoresadicionados. Os 8 registradores x86 foram expandidos de 32 para 64 bits eforam adicionados 8 novos registradores de 64 bits, o que resultou em umespaço de armazenamento 4 vezes maior. Foram adicionados ainda 8 novosregistradores para instruções SSE ou SSE2, mas neste caso não houveexpansão, já que o SSE utiliza registradores de 128 bits: Novos registradores x86-64No modo "legacy", o processador funciona como um processador x86 comum,executando instruções de 32 bits e utilizando apenas os registradores padrão.Ao mudar para o modo "long", o processador tem acesso a 16 registradores de64 bits cada um e passa a suportar as instruções e endereços de memória de64 bits. O chaveamento entre os dois modos é feito de maneira muito rápida,de forma que o processador pode inclusive rodar aplicativos de 32 bits dentrode um sistema operacional de 64 bits, assim como era possível rodar 176
  • 177. aplicativos DOS ou Windows 3.x (de 16 bits) dentro do Windows 98 (que já eraum sistema de 32 bits).O conjunto de instruções da AMD foi batizado de x86-64 (e posteriormenterenomeado para AMD64) e acabou sendo adotado também pela Intel, na formado EM64T, um conjunto compatível, incluído sem muito alarde a partir doPentium 4 com core Prescott. Pela primeira vez na história, a AMD ditou o novopadrão e a Intel se viu obrigada a segui-lo.Ao utilizar um processador Athlon 64 ou um Intel equipado com o EM64T,existem 3 possibilidades.A primeira é continuar usando as versões de 32 bits do Windows XP, Vista ouLinux, utilizando apenas aplicativos de 32 bits. Neste modo o processador sebeneficia do controlador de memória integrado (no caso dos AMD) e outrasmelhorias na arquitetura, mas não utiliza os novos registradores, nem é capazde endereçar mais do que 4 GB de memória nativamente.A segunda possibilidade é utilizar um sistema operacional de 64 bits, como asversões de 64 bits do XP, Vista e de diversas distribuições Linux. Neste casovocê tem um pequeno ganho de desempenho devido ao uso dos novosregistradores e o processador passa a suportar mais de 4 GB de memóriaRAM. A maior parte dos aplicativos não exibe grandes ganhos de desempenhoao serem recompilados para rodarem em modo 64 bits, mas alguns (sobretudobancos de dados) podem obter 15 ou mesmo 20% de ganho de desempenhoem alguns casos.A grande dificuldade em utilizar um sistema de 64 bits é encontrar versõesnativas de todos os aplicativos. Chegamos então à terceira possibilidade, que érodar um sistema de 64 bits, mas utilizar o modo de compatibilidade paraexecutar aplicativos de 32 bits quando necessário. Neste modo, o sistemaoperacional precisa de mais memória, pois acaba tendo que manter carregadasmuitas bibliotecas e componentes duplicados, mas o desempenho doprocessador não é prejudicado.Como vimos, os aplicativos de 32 bits podem utilizar apenas 4 GB de memória(menos na prática, devido à limitações por parte dos sistemas operacionais).Um efeito colateral interessante é que, em um PC com 8 GB de memória, porexemplo, os aplicativos de 32 bits enxergarão e utilizarão apenas os primeiros4 GB. A memória adicional poderá ser usada pelo sistema operacional eaplicativos de 64 bits, mas não ajudará muito em casos em que os aplicativosde 32 bits sejam os aplicativos principais.Com relação à memória, os processadores AMD64 são capazes de endereçaraté 1 terabyte de memória física, o que corresponde a 40 bits de endereços. Os64 bits completos não são usados por questões relacionadas ao desempenho,já que não existem módulos e placas que permitam utilizar tanta memóriaatualmente.Apesar de o AMD64 reservar "apenas" 40 bits para o endereçamento damemória física, estão disponíveis 48 bits de endereçamento para o virtualaddress space, o que permite endereçar até 256 terabytes. Esse limite não tem 177
  • 178. apenas a ver com o uso de memória swap, mas indica o volume total dememória que o processador é capaz de endereçar, incluindo não apenas amemória RAM, mas também a memória da placa de vídeo (e outrosdispositivos) e está relacionado também com o suporte a arquivos grandes,como bancos de dados. Você poderia imaginar esses dois limites em ação nocaso de um grande servidor, com muita memória RAM e diversos HDs emRAID, que armazenam um grande banco de dados.Quando criamos um array RAID, o sistema passa a enxergar um único egrande disco, ao invés de vários HDs separados, de forma que podemos usartodo o espaço somado para armazenar um único e gigantesco arquivo. Com osistema de endereçamento do AMD64, o nosso hipotético servidor poderia teraté 1 TB de memória RAM, e o sistema operacional seria capaz de gerenciarum banco de dados de até 256 TB espalhado pelos diversos HDs, sem quefosse necessário recorrer a truques ou gambiarras para aumentar o espaço deendereçamento, como é necessário ao acessar mais do que 4 GB de RAM, ougerenciar arquivos maiores do que 4 GB em um processador de 32 bits.Quando esse limite se tornar um empecilho, daqui a talvez mais uma década,novas revisões dos processadores podem estender os limites deendereçamento para 56 ou mesmo 64 bits completos, permitindo gerenciarvolumes virtualmente ilimitados de endereços.Esta tabela, divulgada pela AMD, mostra os diferentes modos de operaçãosuportados. Note que, além dos três modos que citei (64-Bit mode, quecorresponde ao modo de 64 bits nativo; Compatibility Mode, onde são usadosaplicativos de 32 bits, sob um sistema operacional de 64 bits e Protected Mode,onde são executados um sistema operacional e aplicativos de 32 bits) existesuporte também ao modo Virtual-8086 e ao Real Mode, que são os modos delegado, também suportados pelos processadores atuais. Neles o processadorexecuta aplicativos de 16 bits, escritos para o DOS ou Windows 3.x: 178
  • 179. Modos de operação dos processadores x86-64Tenha em mente que a migração para os aplicativos de 64 bits é similar àmigração dos sistemas operacionais de 16 bits (DOS e Windows 3.x) para ossistemas de 32 bits que ocorreu a partir de 1995. Ela acontecerá de maneiragradual, de forma que daqui a 10 anos ainda estaremos rodando algunsaplicativos de 32, ou mesmo de 16 bits, utilizando o modo de compatibilidade.A arquitetura K8Além do x86-64, a arquitetura K8, compartilhada por todos os processadoresde 64 bits da AMD, inclui um circuito de branch-prediction sensivelmentemelhorado, com um global history counter 4 vezes maior que o do Athlon K7.O global history counter é a área reservada a armazenar os resultados deoperações processadas anteriormente. Estas informações são utilizadas comobase de consulta pelo circuito de branch prediction na hora de decidir qualcaminho deve tomar dentro de uma operação de tomada de decisão.Outro recurso, possivelmente o mais famoso, é o controlador de memóriaintegrado, chamado de IMC (Integrated Memory Controller). Tradicionalmente,o controlador de memória faz parte do chipset e opera à mesma freqüência queele. O processador se comunica com o chipset através do Front Side Bus (obarramento principal) e ele (o FSB) é utilizado para todo o tráfego, incluindo aleitura e gravação de dados na memóriaAo mover o controlador de memória para dentro do processador, a AMD foicapaz de reduzir sensivelmente o tempo de latência nos acessos à memória,aumentando assim o desempenho do processador em alguns pontos. Nosprocessadores baseados na arquitetura K8, o processador é ligado diretamenteàs trilhas da placa-mãe que levam aos pentes de memória, e a comunicação 179
  • 180. com o chipset é feita através de um barramento HyperTransport. No caso desistemas com dois processadores em SMP (como no caso de servidoresequipados com o Opteron), barramentos HyperTransport adicionais fazem aligação entre os processadores.O Athlon 64 não utiliza mais um barramento frontal, como nos processadoresantigos, mas sim um link HyperTransport que liga o processador ao chipset.Existe um clock de referência de 200 MHz, que substitui o FSB, gerando afreqüência do processador, da memória e do próprio barramentoHyperTransport. Tecnicamente, seria incorreto dizer que um Athlon 64 ouSempron utiliza "200 MHz de FSB", já que ele não possui FSB e os 200 MHzsão apenas a freqüência de referência, mas para manter as coisas simples,vou continuar usando o termo "FSB" para descrever o clock da freqüência dereferência daqui em diante.O HyperTransport é um barramento ponto a ponto, muito similar ao PCIExpress sob diversos pontos de vista. A principal idéia é criar um barramentobastante rápido e de baixa latência utilizando poucas trilhas de dados.Um link HyperTransport é sempre bidirecional, composto por dois links com de2 a 32 bits de largura cada. Os dados são transmitidos duas vezes por ciclo(como nas memórias DDR) e a freqüência de operação pode ser de 200 MHz a2.6 GHz. Só para efeito de comparação, o barramento PCI opera a apenas 33MHz, com apenas uma transferência por ciclo; isso faz com que a velocidadede transmissão seja muito baixa para os padrões atuais (apenas 133 MB/s),mesmo com o barramento transmitindo 32 bits de dados por ciclo. 180
  • 181. O padrão HyperTransport é desenvolvido por um conjunto de fabricantes, porisso é utilizado em diversos dispositivos, indo do Xbox da Microsoft aroteadores da Cisco. Os chipsets nForce, para placas soquete A, por exemplo,já utilizavam o HyperTransport para interligar a ponte norte e a ponte sul dochipset bem antes do Athlon 64 ser lançado.No caso dos processadores AMD64, são utilizados links com 16 bits de larguraem cada direção (16 pares), operando a 800 MHz (nas placas soquete 754) ou1.0 GHz (nas placas soquete 939, 940 e AM2). Como são realizadas duastransferências por ciclo, podemos dizer também que a freqüência "efetiva" é de(respectivamente) 1.6 GHz e 2.0 GHzAs placas AM3, cujo lançamento está previsto para 2008, trarão umbarramento atualizado, capaz de operar a 2.0 GHz (4.0 GHz efetivos). Estaexpansão não traz ganhos diretos, já que apenas aumenta a banda disponívelpara a comunicação entre o processador e o chipset, sem influenciar navelocidade dos demais componentes. Ela serve apenas para evitar potenciaisgargalos no futuro, conforme novos dispositivos e barramentos forem sendoincorporados.Com 16 bits de largura e operando a 800 MHz, com duas transferências porciclo, temos um total de 6.4 GB/s de transferência de dados (3.2 GB/s em cadadireção), o que é uma marca espantosa. Ao aumentar a freqüência para 1.0GHz, a taxa de transmissão sobe para 8 GB/s e, ao atingir 2.0 GHz, a taxasobe para nada menos do que 16 GB/s.Apesar da brutal taxa de transferência, o link HyperTransport é composto porum número relativamente pequeno de trilhas na placa-mãe. Em muitas placas,é possível ver claramente as trilhas do HyperTransport ligando o processadorao chipset: 181
  • 182. Trilhas referentes ao barramento HyperTransport interligando o processador e o chipset em uma placa da EPOXContinuando, temos a questão do gerenciamento de energia. Com exceção doSempron 2800+, todos os processadores da linha Athlon 64 suportam oCoolnQuiet, um sistema de gerenciamento de energia bastante eficiente que,assim como o SpeedStep da Intel e o PowerNow usado pela AMD nosprocessadores mobile, é capaz de ajustar a freqüência de operação doprocessador de forma dinâmica de acordo com o uso. A principal diferençaentre o CoolnQuiet e o PowerNow é que ele é otimizado para uso emdesktops, de forma que utiliza um sistema menos agressivo de gerenciamento,que tem como prioridade não prejudicar o desempenho.Um Athlon 64 3500+, por exemplo, pode trabalhar a 2.2 GHz (a freqüêncianormal), 2.0, 1.8 ou 1.0 GHz, de acordo com os aplicativos em uso. Operandona freqüência mínima, a tensão do processador cai de 1.4 para 1.1V, gerandouma economia adicional. No final, um Athlon 64, baseado no core Venice, oumais atual, chega a consumir menos de 10 watts quando ocioso, operando nafreqüência e tensão mínimas.Como a freqüência do processador muda muito rapidamente, de acordo com ademanda (segundo a AMD, até 30 vezes por segundo), você mal percebe aredução de clock. Demora exatamente o mesmo tempo para ripar um DVD,renderizar uma imagem 3D, aplicar um filtro no Photoshop, pois logo que oprocessador percebe o aumento na demanda de processamento, passa aoperar na freqüência máxima automaticamente.As áreas em que você acaba percebendo alguma perda são justamente nasoperações mais simples e rápidas, como chavear entre as janelas e abrir 182
  • 183. menus dentro dos programas. Estas operações são muito rápidas para dispararo aumento na freqüência, de forma que, se prestar atenção, você realmentepercebe alguma diferença, embora muito pouco.De uma forma geral, o CoolnQuiet é um recurso muito interessante, poisaumenta a vida útil do equipamento (mesmo componentes como o HD e aplaca-mãe duram mais ao operar numa temperatura mais baixa, sem falar docooler, que acumula menos poeira e assim precisa de menos manutenção) egera economia na conta de luz, em troca de uma redução de desempenhomuito pequena.Com o passar dos meses, a economia pode somar um valor significativo. Emum PC com um Athlon 64 3500+ que ficasse ligado continuamente, teríamosuma economia de aproximadamente 30 kW por mês. Em dois anos, issorepresenta uma economia de mais de R$ 350 na conta de luz, suficiente parapagar parte do próximo upgrade. :)Para utilizar o CoolnQuiet, basta manter o recurso ativado no setup e instalaros drivers da placa. No caso do Linux, o suporte é oferecido através do módulo"powernow-k8" do Kernel e o serviço "powernowd" (instalado através do pacotede mesmo nome). Com os dois componentes disponíveis, a configuração ébem simples, basta carregar o módulo e ativar o serviço, como em:# modprobe powernow-k8# /etc/init.d/powernowd startVocê pode acompanhar a oscilação na freqüência do processador utilizandoum monitor de sistema qualquer. No Linux, você pode utilizar também ocomando "cat /proc/cpuinfo".Com o Athlon 64, a AMD voltou a utilizar o heat spreader sobre o núcleo doprocessador, assim como na época do K6-2. Devido a isso, não é maispossível diferenciar rapidamente as diferentes famílias do Athlon 64 apenasolhando para o tamanho e a posição do núcleo do processador, como na épocado Athlon XP: Athlon 64 e Athlon XP 183
  • 184. Assim como o clock do processador, a técnica de produção e a quantidade decache, o controlador de memória é também usado como um diferencial entreas diferentes famílias de processadores.Tudo começou com o Opteron, o primeiro processador baseado na arquiteturaHammer, destinado a servidores. Ele utilizava um controlador de memória dual-channel e oferecia suporte apenas a memórias registered, módulos especiaisque incluem um pequeno buffer que estabiliza o sinal, permitindo que sejamutilizados mais módulos. Os módulos registered são mais caros e mais lentosque os módulos DDR tradicionais que utilizamos em micros domésticos, maseles são uma necessidade nos servidores, já que eles precisam utilizar umnúmero muito maior de módulos de memória. Devido ao brutal número decontatos utilizados pelo controlador de memória, o soquete utilizado peloOpteron tinha nada menos do que 940 pinos, o que na época era inédito.A partir do momento que passou a ser capaz de produzir um volume maior deprocessadores, a AMD lançou os modelos destinados ao mercado doméstico,que incluem as versões iniciais do Athlon 64 e Athlon 64 FX.O Athlon 64 FX era uma variação do Opteron, que vinha com 1 MB de cacheL2 e mantinha o controlador de memória dual-channel. A grande mudança emrelação ao Opteron é que ele passou a oferecer suporte a memórias DDRcomuns, o que barateou muito o custo dos micros. Para diferenciar as placaspara o Opteron e para o Athlon 64 FX, a AMD criou o soquete 939, que eravirtualmente idêntico ao soquete 940 do Opteron. A posição de alguns dospinos foi alterada apenas para indicar a mudança no tipo de memóriasuportado e impedir que o Opteron fosse usado nas placas para o Athlon 64 FXe vice-versa. Mais tarde, o soquete 939 foi usado também pelas versõesiniciais do Athlon X2.Em seguida temos as versões "domésticas" do Athlon 64, que vinham comapenas 512 KB de cache L2 e utilizavam um controlador de memóriasimplificado, sem suporte a dual-channel. Devido ao menor número de contatosutilizados pelo controlador de memória, eles passaram a utilizar o soquete 754.Athlon 64 FX (soquete 939) e Athlon 64 soquete 754 (à direita) 184
  • 185. Soquete 939 (à esquerda) e soquete 754Considerando dois processadores do mesmo clock, a diferença dedesempenho entre um Athlon 64 "normal" e um Athlon 64 FX não é tão grandequanto se poderia imaginar. O controlador de memória dual-channel e o maiorcache ajudam em alguns aplicativos, mas a diferença não era tão grande aponto de justificar pagar US$ 1000 pelo processador, como chegaram a custaralgumas versões do FX. 185
  • 186. Se você se assustou com o preço, vale lembrar que as primeiras versões doAthlon 64 FX competiam com o Pentium 4 Extreme Edition; ambos eramprocessadores "de vitrine", destinados ao público entusiasta e vendidos apreços exorbitantes. Mais tarde, foram lançadas versões do Athlon 64 soquete754 com 1 MB de cache L2, que praticamente anularam as vantagens do FX.Finalmente, temos os processadores recentes, que utilizam o soquete AM2.Eles trazem um controlador de memória remodelado, com suporte a memóriasDDR2. Apesar de também possuir 940 contatos, o soquete AM2 é incompatívelcom o soquete 940 utilizado pelo Opteron, além de ser incompatível com todosos processadores anteriores.Os módulos de memória DDR2 utilizam 240 contatos, contra apenas 184contatos dos módulos DDR. Com o controlador de memória integrado, oscontatos vão diretamente para o processador, através de pinos no soquete. AAMD conseguiu fazer a migração das memórias DDR para as DDR2 semaumentar o número de pinos do soquete remanejando uma série de contatossem uso no processador.Apesar do ganho de desempenho não ser tão grande quanto poderia parecer àprimeira vista, as memórias DDR2 oferecem a vantagem de trabalharemutilizando uma tensão mais baixa: apenas 1.8v, contra 2.5v das memóriasDDR. Isto faz com que tanto os módulos de memória quanto o própriocontrolador de memória integrado ao processador consumam menos energia (edissipem menos calor), o que ajuda na questão da refrigeração.Atualmente as memórias DDR2 são produzidas em maior quantidade e sãoconsequentemente mais baratas que as DDR, de forma que a migração para oAM2 foi um passo natural. As placas soquete 754 ficaram inicialmenterelegadas à posição de plataforma de baixo custo e eventualmente foramcompletamente substituídas. A partir da segunda metade de 2006, até mesmoos Semprons passaram a ser fabricados em versão AM2.O AM2 trouxe também um novo suporte de retenção do cooler (a "gaiola" emvolta do processador). Ele é preso à placa-mãe por quatro parafusos (em vezde apenas dois), o que tornou o mecanismo de retenção mais firme. Oproblema é que ele passou a usar um formato octagonal (ao invés do formatoquadrado usado no soquete 754 e 939), o que quebrou a compatibilidade comparte dos coolers antigos. 186
  • 187. Cooler NPH para processadores AM2Visualmente, o soquete AM2 é praticamente idêntico ao soquete 939, mudandoapenas a posição de alguns dos pinos. O contato adicional pode ser visto nocanto inferior direito do soquete: 187
  • 188. Soquete AM2, com o pino adicional em destaqueA principal desvantagem de utilizar o controlador de memória integrado é quepassou a ser necessário lançar uma versão atualizada do processador e criarum novo soquete cada vez que é necessário fazer alterações no controlador dememória, ou oferecer suporte a uma nova tecnologia, como no caso dasmemórias DDR2.A partir do final de 2007, serão lançadas placas e processadores baseados nosoquete AM2+, uma pequena atualização do AM2, que oferecerá umbarramento HyperTransport atualizado, operando a 2.0 GHz (o dobro dafreqüência do HyperTransport utilizado no AM2) e oferecerão suporte aosistema avançado de gerenciamento de energia utilizado no Phenom. Estenovo sistema de gerenciamento suportará o ajuste independente dasfreqüências de operação do processador e do controlador de memória, o queresultará em redução do consumo e dissipação térmica do processador.Estas são inovações técnicas, que não possuem um impacto direto sobre odesempenho. Os processadores AM2+ poderão ser usados nas placas AM2atuais e vice-versa, mas neste caso os novos recursos permanecemdesativados.A partir de 2008 a AMD passará a utilizar o soquete AM3 que, como o nomesugere, trará compatibilidade com as memórias DDR3. O soquete AM3manterá a mesma pinagem do AM2 e será eletricamente compatível com ele.Os processadores AM3 terão um controlador de memória compatível tanto commemórias DDR3 quanto com memórias DDR2 e, graças a isso, poderão serusados em placas AM2 compatíveis (neste caso limitados ao uso de memóriasDDR2, por limitações da placa). Infelizmente a compatibilidade será de mãoúnica, sem a possibilidade de utilizar os processadores AM2 atuais emconjunto com as placas AM3, já que eles não oferecem suporte às memóriasDDR3. 188
  • 189. Com o lançamento do AM2+ e do AM3, teremos (desconsiderando o soqueteF, utilizado pelo Opteron e Quad FX) um total de 6 padrões diferentes para osprocessadores AMD de 64 bits, exigindo atenção na hora de comprar ou fazerupgrade.Por outro lado, a vida dos fabricantes de chipsets passou a ser muito maissimples, já que não precisam mais se preocupar com o controlador dememória. O uso dos diferentes soquetes não demanda mudanças no chipset,já que mudam apenas o processador e o encaixe (e trilhas) na placa-mãe.Os modelosAssim como na questão dos soquetes, a lista de modelos do Athlon 64apresenta uma variedade espantosa de arquiteturas, variações na quantidadede cache, soquete usado, freqüência do HyperTransport e assim por diante. Oíndice de desempenho dos processadores é calculado com base nodesempenho médio, de forma que existem casos de processadores comclocks, caches e arquiteturas diferentes vendidos sob o mesmo índice e muitasvezes pelo mesmo preço.Todo processador inclui uma pequena área de memória com detalhes sobre aarquitetura usada, quantidade de cache, freqüência, tensão, conjuntos deinstruções suportados e assim por diante. Estes códigos de identificação sãoacessíveis através de uma série de programas de diagnóstico, que podem serusados para identificar o processador. Um dos mais práticos (para Windows) éo CPU-Z, disponível no: http://www.cpuid.com/cpuz.php. 189
  • 190. No Linux você pode usar o comando "cat /proc/cpuinfo", deixando que opróprio Kernel do sistema leia os códigos de identificação e mostre asinformações na tela.Athlon 64 e Athlon 64 FXTudo começou com os cores ClawHammer e SledgeHammer, que são asversões originais do K8, produzidas em uma técnica de 0.13 micron. Ambostinham originalmente 1 MB de cache L2, a principal diferença entre eles é que oSledgeHammer vinha com ambos os controladores de memória ativados,enquanto o ClawHammer vinha com apenas um, suportando apenas o modosingle-channel de acesso à memória.Muitos modelos do ClawHammer vinham com metade do cache L2 desativado(o que permitia aproveitar processadores com defeitos no cache) e existiramtambém versões com suporte a dual-channel (virtualmente idênticas ao coreSledgeHammer), vendidas em versão soquete 939. Na época a AMD tinhaproblemas para produzir os processadores em quantidade suficiente, de formaque foi lançando novas versões do jeito que conseguia, sem muita organizaçãoou lógica. 190
  • 191. O core ClawHammer foi utilizado nas primeiras versões do Athlon 64, sendovendido nas versões 2800+ (1.8 GHz, 512 KB, soquete 754), 3000+ (2.0 GHz,512 KB, soquete 754), 3200+ (2.0 GHz, 1 MB, soquete 754), 3400+ (2.2 GHz, 1MB, soquete 754), 3500+ (2.2 GHz, 512 KB, soquete 939), 3700+ (2.4 GHz, 1MB, soquete 754) e 4000+ (2.4 GHz, 1 MB, soquete 939).Ele foi utilizado ainda no Athlon 64 FX-53 (2.4 GHz, 1 MB, soquete 939) e noFX-55 (2.6 GHz, 1 MB, soquete 939). Todas as versões do Athlon FX vinhamcom o multiplicador destravado, de forma a facilitar os overclocks. Isto erautilizado pela AMD como um diferencial para justificar a diferença de preçoentre os FX e os modelos "normais" do Athlon 64. Note que o FX não é vendidosob o índice de desempenho, os números seguem apenas uma sequênciacrescente que indica a "posição hierárquica" do processador, mas sem umarelação direta com seu desempenho.Além de ser utilizado no Opteron, a versão do Athlon 64 destinada aservidores, o core SledgeHammer foi utilizado nos Athlon 64 FX-51 (2.2 GHz,1 MB) e FX-53 (2.4 GHz, 1 MB), ambos vendidos apenas em versão soquete940, o que adicionava o custo de utilizar memórias registered. Estas duasversões (lançadas em 2003, quase um ano antes do FX-53 e FX-55 baseadosno ClawHammer) foram processadores "pra inglês ver", vendidos emquantidade muito limitada. O principal motivo da existência deles foi manter aguerra de benchmarks com a Intel.O seguinte foi o core Newcastle, que ainda era fabricado usando a técnica de0.13 micron, mas utilizava apenas 512 KB de cache L2, o que o tornava maisbarato de produzir em relação ao ClawHammer. Ele foi vendido nas versões2800+ (1.8 GHz, 512 KB, soquete 754), 3000+ (2.0 GHz, 512 KB, soquete754), 3000+ (1.8 GHz, 512 KB, soquete 939), 3200+ (2.2 GHz, 512 KB,soquete 754), 3200+ (2.0 GHz, 512 KB, soquete 939), 3400+ (2.4 GHz, 512KB, soquete 754), 3500+ (2.2 GHz, 512 KB, soquete 939) e 3800+ (2.4 GHz,512 KB, soquete 939).Note que, assim como no caso do ClawHammer, as versões soquete 939 sãovendidas sob um índice de desempenho mais alto, muito embora o uso dodual-channel tenha pouca influência sobre o desempenho das versões de baixoclock do Athlon 64. Isso faz com que um 3000+ soquete 754 acabe sendo maisrápido que um soquete 939 (que opera a apenas 1.8 GHz) na maioria dasaplicações. Se você fosse montar um PC de baixo custo, na época, sem dúvidavaleria mais a pena comprar um 3000+ soquete 754 e usar um único pente dememória.O Winchester foi a primeira versão a ser fabricada em uma técnica de 0.09micron. Ele é virtualmente idêntico ao Newcastle, incluindo os 512 KB decache, mas oferece uma dissipação térmica muito mais baixa. Enquanto o TDPdos modelos baseados no Newcastle é de 89 watts, nos baseados noWinchester é apenas 67 watts. O Winchester foi usado somente nos modelos3000+ (1.8 GHz, 512 KB, soquete 939), 3200+ (2.0 GHz, 512 KB, soquete 939)e 3500+ (2.2 GHz, 512 KB, soquete 939). 191
  • 192. O Venice mantém a técnica de 0.09 micron e os 512 KB de cache, masadiciona suporte ao conjunto de instruções SSE3, o que resultou em umpequeno ganho de desempenho, sobretudo em games já otimizados. Asprimeiras versões chegaram ao mercado em abril de 2005, substituindorapidamente os processadores baseados nos cores anteriores.Ele foi vendido nas versões 3000+ (2.0 GHz, 512 KB, soquete 754), 3000+ (1.8GHz, 512 KB, soquete 939), 3200+ (2.2 GHz, 512 KB, soquete 754), 3200+(2.0 GHz, 512 KB, soquete 939), 3400+ (2.4 GHz, 512 KB, soquete 754),3400+ (2.2 GHz, 512 KB, soquete 939), 3500+ (2.2 GHz, 512 KB, soquete 939)e 3800+ (2.4 GHz, 512 KB, soquete 939).Existiu também o Manchester, uma revisão do Venice com um consumoelétrico pouca coisa inferior. Ele existiu em versões 3200+ (2.0 GHz, 512 KB,soquete 939) e 3500+ (2.2 GHz, 512 KB, soquete 939).O próximo é o core San Diego, uma versão do core Manchester com 1 MB decache L2. Ele foi utilizado tanto em modelos do Athlon 64 (um deles commetade do cache desabilitado, assim como na época do ClawHammer) etambém em dois modelos do Athlon FX.Dentro da linha Athlon 64, o San Diego foi utilizado nos modelos 3500+ (2.2GHz, 512 KB, soquete 939), 3700+ (2.2 GHz, 1 MB, soquete 939) e 4000+ (2.4GHz, 1 MB, soquete 939).Dentro da linha FX, ele foi utilizado nos modelos FX-55 (2.6 GHz, 1 MB,soquete 939) e FX-57 (2.8 GHz, 1 MB, soquete 939). Estes dois modelos eramprocessadores escolhidos a dedo dentro da produção do San Diego, incluindoapenas os processadores mais perfeitos, que eram capazes de operarestavelmente a freqüências mais altas. Além do clock (e preço) mais alto, aúnica vantagem deles sobre os da linha Athlon 64 era o fato de virem com omultiplicador destravado.O Orleans é mais um core fabricado utilizando a técnica de 0.09 micron.Apesar disso, ele traz três vantagens sobre os anteriores.A primeira é o suporte ao soquete AM2 (e o consequente suporte a memóriasDDR2), utilizado por todos os modelos. A segunda é o suporte ao AMD-V(também chamado de "Pacifica"), um sistema de virtualização muito similar aoIntel-VT (assim como o Intel-VT, o AMD-V pode ser utilizado para melhorar odesempenho de virtualizadores como o VMware e o Xen). A terceira é umasérie de otimizações e o uso de uma tensão mais baixa, que reduzem o TDPde 89 watts (no Venice 3800+) para apenas 62 watts em todos os modelos doOrleans.O Orleans foi utilizado nos modelos 3000+ (1.8 GHz, 512 KB, soquete AM2),3200+ (2.0 GHz, 512 KB, soquete AM2), 3500+ (2.2 GHz, 512 KB, soqueteAM2), 3800+ (2.4 GHz, 512 KB, soquete AM2) e 4000+ (2.6 GHz, 512 KB,soquete AM2). 192
  • 193. Concluindo, temos o core Lima, o primeiro fabricado usando a nova técnica de0.065 micron. Um dos destaques é o baixo consumo: as duas versõespossuem um TDP de apenas 45 watts.Enquanto escrevo, ele é usado em apenas duas versões do Athlon 64: 3500+(2.2 GHz, 512 KB, soquete AM2) e 3800+ (2.4 GHz, 512 KB, soquete AM2).Athlon 64 X2O Athlon 64 X2 é a versão dual-core do Athlon 64. Quando ele foi lançado, em2005, a Intel ainda se debatia com a plataforma NetBurst, produzindoprimariamente o Pentium D, que era um processador dual-chip (em que temosdois processadores separados, dentro do mesmo encapsulamento) e não umprocessador dual-core "de verdade". No Pentium D, os dois cores comunicam-se entre si e com o chipset, utilizando o FSB, um barramento relativamentelento para acumular as duas funções.No caso do Athlon X2, temos os dois núcleos construídos sobre o mesmowafer. A comunicação entre os dois núcleos é feita internamente, utilizando umbarramento interno, batizado de SRI (System Request Interface), o que garantetempos de latência mais baixos e pequenos ganhos de desempenho ao rodarmuitos aplicativos simultaneamente (que é justamente a área em que osprocessadores dual-core oferecem mais vantagens), além de permitir que oprocessador seja capaz de operar a freqüências um pouco mais elevadas.Na camada mais externa, temos o "Crossbar Switch", responsável por dividir asrequisições entre os dois cores, controlar o acesso de ambos ao controlador dememória (e ao barramento HyperTransport), além de monitorar o nível decarregamento de cada um, informação utilizada, entre outras coisas, pelosistema de gerenciamento de energia. Este diagrama da AMD mostra oconceito: 193
  • 194. Diagrama de blocos do X2Cada processador possui seu próprio cache L2, mas ambos compartilham omesmo controlador de memória e o mesmo barramento HyperTransport,através do qual é feita toda a comunicação com o chipset e os demaiscomponentes do PC. Olhando uma foto ampliada do processador, você podenotar que os dois núcleos ficam no centro, envoltos pelos circuitos referentesao controlador de memória e HyperTransport. Além dos circuitoscompartilhados, os dois núcleos também não são exatamente cópias idênticasum do outro: Athlon 64 X2O uso de dois núcleos torna o processador mais dependente do barramentocom a memória. Devido a isso, o Athlon 64 X2 foi lançado apenas em versões 194
  • 195. soquete 939 e AM2 (futuramente serão lançadas também versões AM2+ eAM3), já que uma versão soquete 754 seria penalizada pelo barramento single-channel. O lançamento do Athlon X2 acelerou a migração para as placassoquete 939, transformando a plataforma 754 em uma opção de baixo custo,destinada ao Sempron e às versões mais lentas do Athlon 64.Ao contrário do que teríamos ao utilizar dois processadores separados emSMP, um processador dual-core atual, como o Athlon X2, Pentium D ou Core 2Duo não consomem o dobro de energia que as versões single-core. Isto épossível graças a sistemas de gerenciamento de energia incluídos noprocessador, que reduzem a freqüência ou mesmo desativam completamente osegundo núcleo quando o processador está ocioso. No caso do Athlon X2,muitos componentes são compartilhados entre os dois processadores, o queaumenta a economia.Se comparado com um Athlon 64 4000+ com core San Diego (que tambémopera a 2.4 GHz), um Athlon X2 4800+ Toledo (2.4 GHz, 1 MB) consome cercade 12 watts a mais enquanto o sistema está ocioso e 24 watts a mais ao rodarum benchmark. Considerando que o TDP do San Diego é de 89 watts, oaumento não é tão significativo.Um aplicativo que conseguisse utilizar simultaneamente todo o processamentode ambos os cores poderia, em teoria, fazer com que o consumo chegasse aser, momentaneamente, próximo do dobro, mas em situações reais isto nãoacontece com freqüência.A carreira do X2 começa com o core Manchester, lançado em maio de 2005.Ele era fabricado usando uma técnica de 0.09 micron, com 512 KB de cache L2por core (1 MB no total) e suporte às instruções SS3. A versão mais lenta tinhametade do cache L2 desabilitado, de forma a aproveitar os cores com defeitosno cache.O Manchester foi usado nos Athlon 64 X2 3600+ (2.0 GHz, 2x 256 KB, soquete939), 3800+ (2.0 GHz, 2x 512 KB, soquete 939), 4200+ (2.2 GHz, 2x 512 KB,soquete 939) e 4600+ (2.4 GHz, 2x 512 KB, soquete 939)O seguinte foi o core Toledo, ainda fabricado em uma técnica de 0.09 micron,mas agora com 1 MB de cache por core, totalizando 2 MB. Ele foi lançadosimultaneamente com o Manchester, e os modelos do X2 baseados em ambosconviveram durante mais de um ano. Apenas três dos modelos produzidosutilizando o core Toledo vieram com todo o cache ativo. O demais vinham commetade do cache desativado, o que os tornava praticamente indistinguíveis dosbaseados no Manchester.O Toledo foi utilizado nos modelos 3800+ (2.0 GHz, 2x 512 KB, soquete 939),4200+ (2.2 GHz, 2x 512 KB, soquete 939), 4400+ (2.2 GHz, 2x 1 MB, soquete939), 4600+ (2.4 GHz, 2x 512 KB, soquete 939) e 4800+ (2.4 GHz, 2x 1 MB,soquete 939).Quase um ano depois, em maio de 2006, foi lançado o Windsor, que passou autilizar o soquete AM2 e adicionou suporte ao AMD-V, mantendo a mesmatécnica de produção de 0.09 micron e o uso de 2x 1 MB de cache. Assim como 195
  • 196. no Toledo, uma grande parte dos modelos vinham com metade do cache L2desabilitado e eram vendidos sob índices de desempenho mais baixos que os"completos".O Windsor foi utilizado nos modelos 3800+ (2.0 GHz, 2x 512 KB, soqueteAM2), 4000+ (2.0 GHz, 2x 1 MB, soquete AM2), 4200+ (2.2 GHz, 2x 512 KB,soquete AM2), 4400+ (2.2 GHz, 2x 1 MB, soque AM2), 4600+ (2.4 GHz, 2x 512KB, soquete AM2), 5000+ (2.6 GHz, 2x 512 KB, soquete AM2), 5200+ (2.6GHz, 2x 1 MB, soquete AM2), 5400+ (2.8 GHz, 2x 512 KB, soquete AM2),5600+ (2.8 GHz, 2x 1 MB, soquete AM2) e 6000+ (3.0 GHz, 2x 1 MB, soqueteAM2).Todos os modelos baseados no core Windsor possuem um TDP de 89 watts,assim como a maior parte das versões baseadas nos cores Manchester eToledo. A exceção fica por conta do 6000+, que apesar da diferença de apenas200 MHz em relação ao 5600+, possui um TDP de 125 watts. Esta diferençatão grande é causada pelo gate leakage, o mesmo problema que a Intelenfrentou com o Pentium 4 ao cruzar a barreira dos 3.0 GHz e que às vezesenfrentamos ao fazer overclocks agressivos.A partir de uma certa freqüência (que varia de acordo com a arquitetura), ostransístores passam a desperdiçar cada vez mais energia, de forma que énecessário utilizar uma tensão cada vez mais alta para estabilizar oprocessador (aumento que aumenta ainda mais o desperdício de energia),criando um ciclo vicioso que se intensifica a cada novo aumento de freqüência.O 6000+ é basicamente uma versão overclocada do 5600+, onde a tensão foiaumentada de 1.30 para 1.35v para estabilizar o processador. Ele é um modeloque deve ser evitado na hora da compra.Como uma opção para quem prefere um processador mais econômico e frio, aAMD lançou a série "Energy Efficient", onde são usadas técnicas derivadasdos processadores mobile, como o uso de tensões mais baixas e detransístores de chaveamento mais lento, que resultam em processadores comum consumo mais baixo, mas que em compensação não são capazes deatingir freqüências de operação tão altas quanto os das séries principais.A série Energy Efficient do Windsor, por exemplo, abrange modelos do 3600+(2.0 GHz, 2x 1MB, soquete AM2) ao 5200+ (2.6 GHz, 2x 1MB, soquete AM2),todos com tensão de 1.2v e TDP de 65 watts. Eles são mais caros que os dasérie regular, com o preço variando de acordo com o clock (nas freqüênciasmais altas, a diferença pode ser de mais de 200 reais, enquanto nos modelospopulares pode cair para menos de 30).De uma forma geral, os modelos Energy Efficiency valem a pena em casos emque a diferença de preço é pequena, pois a economia de energia acaba sepagando com o passar do tempo. Em um PC que fica ligado continuamente,uma economia de 24 watts acaba resultando em uma redução de mais de 200reais na conta de luz ao longo de dois anos.Por último, temos o Brisbane, a primeira série do X2 a ser produzida usandouma técnica de 0.065 micron. Uma informação importante é que, apesar da 196
  • 197. redução do espaço ocupado por cada processador (cortesia da nova técnica defabricação) todos os modelos baseados no Brisbane possuem apenas 512 KBde cache por core. A redução foi feita para aumentar o índice deaproveitamento, já que, como em toda nova técnica de produção, o índice dedefeitos é inicialmente muito grande, de forma que produzir processadoresmenores permite aumentar substancialmente o número de processadores"bons" por wafer.Uma má notícia é que a AMD aumentou os tempos de latência do cache L2 doBrisbane de 12 para 14 tempos, visando facilitar a produção de futurosmodelos com mais cache L2, além de permitir o uso de freqüências de clockligeiramente maiores. Como o Brisbane não inclui melhorias em relação aosmodelos anteriores, ele acaba sendo mais lento que um Manchester domesmo clock (e com a mesma quantidade de cache). Embora a diferença sejapequena, inferior a 2% na maioria dos aplicativos, ela existe.O Brisbane foi usado em 6 modelos da série Energy Efficient, todos eles comTDP de 65 watts: 3600+ (1.9 GHz, 2x 512 KB, soquete AM2), 4000+ (2.1 GHz,2x 512 KB, soquete AM2), 4400+ (2.3 GHz, 2x 512 KB, soquete AM2), 4800+(2.5 GHz, 2x 512 KB, soquete AM2), 5000+ (2.6 GHz, 2x 512 KB, soqueteAM2) e 5200+ (2.7 GHz, 2x 512, soquete AM2).Como de praxe, o uso de um processador dual-core tem seus prós e contras. Oprincipal benefício de usar um processador dual-core é o melhor desempenhoao rodar muitos aplicativos pesados simultaneamente. Se você é do tipo queabre 50 abas do navegador, ouve música, comprime um DVD, retoca imagensno Photoshop (ou Gimp ;) para o cartaz que está diagramando no Corel e aindapor cima quer abrir 3 máquinas virtuais do VMware, tudo ao mesmo tempo, umprocessador dual-core, acompanhado por 2 ou 4 GB de memória DDR2 (ouDDR3), é uma necessidade.Por outro lado, para usuários que rodam um ou dois aplicativos por vez, queusam o PC predominantemente para games (sem executar outras tarefassimultaneamente como, por exemplo, deixar o PC comprimindo um DVD emsegundo plano) ou que rodam apenas aplicativos leves, um processador single-core mais barato, ou com uma freqüência ligeiramente maior ofereceria umarelação custo-benefício melhor.Comparando um X2 4800+ (2.4 GHz, 2x 1 MB, core Toledo) com um Athlon 64single-core 4000+ (2.4 GHz, 1 MB, core San Diego) temos o X2 4800+ganhando por uma margem de 17% no Winstone 2004 (Content Creation), 41%no SYSMark 2004 (3D Content Creation), 1% no Photoshop 7 e 2% noPremiere 6.5 (testes do World Bench 2005), 1% no Doom3 (FPS a 1024x768),2% no Half Life 2 e 3% no Unreal 2004.Você pode notar que, com exceção do SYSMark 2004, todos os demaisbenchmarks e games mostram um ganho de desempenho muito inferior aosugerido pelo aumento de 800 pontos no índice de desempenho da AMD. Issoacontece por que estes testes levam em conta o desempenho ao executarapenas uma tarefa de cada vez. Como disse, um processador dual-core trazbenefícios consideráveis apenas ao rodar vários aplicativos simultaneamente. 197
  • 198. Rodando um aplicativo por vez, ou rodando apenas benchmarks, existem atécasos em que o 4800+ perde do 4000+ por uma pequena margem (1 ou 2%). Éo caso de aplicativos que não conseguem obter nenhum benefício do segundocore e acabam tendo o desempenho penalizado pelo overhead de dividir acarga entre os dois.SempronApesar de serem processadores completamente diferentes dos Sempronssoquete A baseados no Barton, Thorton e Thoroughbred-B, a AMD continuouutilizando a marca "Sempron" ao lançar a linha de processadores de baixocusto, baseada na arquitetura K8.Além da questão do cache menor, as versões iniciais do Sempron vinham semsuporte ao AMD64, ou seja, sem suporte às instruções de 64 bits, incluindo osregistradores extra e as outras melhorias trazidas pela arquitetura. Emborafossem baseados na arquitetura K8, eles eram processadores de 32 bits, sempraticamente nenhuma das inovações trazidas por ela.Outra diferença é que o índice de desempenho do Sempron é calculado comrelação ao desempenho do Celeron D e não ao Pentium 4. Isso faz com queexista uma diferença significativa entre o desempenho de um Sempron "3000+"e de um Athlon 64 também "3000+".Por exemplo, o Athlon 64 3000+ baseado no core Newcastle (2.0 GHz, soquete754, com 512 KB de cache) tem um desempenho parecido com o de umSempron de 2.2 GHz com 256 KB de cache, baseado no core Palermo. Oproblema é que o Palermo de 2.2 GHz recebe o índice "3400+", 400 pontosacima do índice do Athlon 64 equivalente.A primeira encarnação do Sempron K8 foi o core Paris, uma versãosimplificada do ClawHammer, produzido em uma técnica de 0.13 micron, quepossuía nativamente apenas 256 KB de cache e vinha sem suporte àsinstruções de 64 bits, ao CoolnQuiet e também às instruções SSE3.Ele foi lançado em julho de 2004 e foi vendido por pouco mais de um ano.Existiram duas versões: 3000+ (1.8 GHz, 128 KB, soquete 754) e 3100+ (1.8GHz, 256 KB, soquete 754).Como pode ver, o 3000+ vinha com metade do cache desabilitado. Como oSempron já possui pouco cache nativamente, essa nova redução acabavatendo um efeito muito maior sobre o desempenho do que a diferença de 100pontos no índice sugere. O Sempron com core Paris é um modelo a se evitar,mas entre os dois o 3000+ é o pior.A partir de 2005, o core Paris foi rapidamente substituído pelo Palermo,produzido usando uma técnica de 0.09 micron. Nativamente, o core Palermopossui 256 KB de cache e oferece suporte às extensões de 64 bits,CoolnQuiet e também às instruções SSE3. O problema é que, a fim deaproveitar o maior número possível de processadores saídos da linha deprodução, a AMD passou a desativar não apenas metade do cache, como de 198
  • 199. praxe, mas também o suporte às instruções de 64 bits e ao SSE3 nos coresque eram produzidos com defeitos nos componentes relacionados a estesrecursos, o que resultou em uma grande salada de modelos com índice dedesempenho similar, mas com conjuntos muito diferentes de recursos.A chave para diferenciar os Palermos é o código de identificação dosprocessadores. Os processadores cujo código termina com "BA" são os piores,pois não suportam nem instruções de 64 bits, nem SSE3. Os que terminamcom "BO" suportam SSE3, mas ainda não suportam instruções de 64 bits,enquanto os terminados com "BX" são as versões completas, com ambos osrecursos ativados.Com exceção do 2500+, todos os modelos foram fabricados nas três versões,e a presença do suporte a 64 bits ou SSE3 não influenciava no índice dedesempenho ou preço, de forma que era importante checar antes de comprar.A isto soma-se a questão do CoolnQuiet, que não era suportado pelo coreParis e está disponível apenas nos Palermos 3000+ em diante.O Palermo foi usado nas versões 2500+ (1.4 GHz, 256 KB, soquete 754),2600+ (1.6 GHz, 128 KB, soquete 754), 2800+ (1.6 GHz, 256 KB, soquete754), 3000+ (1.8 GHz, 128 KB, soquete 754), 3100+ (1.8 GHz, 256 KB,soquete 754), 3300+ (2.0 GHz, 128 KB, soquete 754) e 3400+ (2.0 GHz, 256KB, soquete 754).Pouco depois, no final de 2005, foi lançada uma versão atualizada do corePalermo, com suporte ao soquete 939 (e consequentemente a dual-channel).Surgiram então os modelos 3000+ (1.8 GHz, 128 KB, soquete 939), 3200+ (1.8GHz, 256 KB, soquete 939), 3400+ (2.0 GHz, 128 KB, soquete 939) e 3500+(2.0 GHz, 256 KB, soquete 939). Estes 4 modelos suportavam SSE3, masapenas as séries com final "BW" ofereciam suporte às instruções de 64 bits. Asséries com final "BP" vinham com o suporte a 64 bits desabilitado e devem serevitadas.Finalmente, temos o Sempron com c