* 4004
O primeiro microchip comercial foi lançado pela Intel em 1971 e
chamava-se 4004. Como o nome sugere, ele era um processador que
manipulava palavras de apenas 4 bits (embora já trabalhasse com
instruções de 8 bits). Ele era composto por pouco mais de 2000
transístores e operava a apenas 740 kHz.
Na verdade, o 4004 era tão lento que demorava 10 ciclos para processar
cada instrução, ou seja, ele processava apenas 100.000 instruções por
segundo. Hoje em dia esses números perecem piada, mas na época era a
última palavra em tecnologia. O 4004 foi usado em vários modelos de
calculadoras.
Embora fosse muito limitado, ele foi muito usado em calculadoras, área
em que representou uma pequena revolução. Mais do que isso, o sucesso
do 4004 mostrou a outras empresas que os microchips eram viáveis,
criando uma verdadeira corrida evolucionária, em busca de
processadores mais rápidos e avançados.
Em 1972 surgiu o Intel 8008, o primeiro processador de 8 bits e, em
1974, foi lançado o Intel 8080, antecessor do 8088, que foi o
processador usado nos 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.
* Plug-and-play
Atualmente, estamos acostumados a instalar o dispositivo, instalar os
drivers e ver tudo funcionar, mas antigamente as coisas não eram assim
tão simples, de forma que o plug-and-play foi tema de grande destaque.
Tudo começa durante a inicialização do micro. O BIOS envia um sinal de
requisição para todos os periféricos instalados no micro. Um
periférico PnP é capaz de responder ao chamado, permitindo ao BIOS
reconhecer os periféricos PnP instalados. O passo seguinte é criar uma
tabela com todas as interrupções disponíveis e atribuir cada uma a um
dispositivo. O sistema operacional entra em cena logo em seguida,
lendo as informações disponibilizadas pelo BIOS e inicializando os
periféricos de acordo.
As informações sobre a configuração atual da distribuição dos recursos
entre os periféricos é gravada em uma área do CMOS chamada de ESCD.
Tanto o BIOS (durante o POST) quanto o sistema operacional (durante a
inicialização) lêem essa lista e, caso não haja nenhuma mudança no
hardware instalado, mantêm suas configurações. Isso permite que o
sistema operacional (desde que seja compatível com o PnP) possa
alterar as configurações caso necessário. No Windows 95/98, o próprio
usuário pode alterar livremente as configurações do sistema através do
gerenciador de dispositivos, encontrado no ícone sistema, dentro do
painel de controle.
Na maioria das placas-mãe, você encontra a opção "Reset ESCD" ou
"Reset Configuration Data" que, quando ativada, força o BIOS a
atualizar os dados da tabela, descartando as informações anteriores.
Em muitos casos, isso soluciona problemas relacionados à detecção de
periféricos, como, por exemplo, ao substituir a placa de som e
perceber que a nova não ser detectada pelo sistema.
Nos micros atuais, os conflitos de endereços são uma ocorrência
relativamente rara. Na maioria dos casos, problemas de detecção de
periféricos, sobretudo no Linux, estão mais relacionados a problemas
no ACPI, ou à falta de drivers ou suporte por parte dos drivers
existentes.
O ACPI é o responsável não apenas pelo suporte a economia de energia
(incluindo o ajuste dinâmico da freqüência do processador), mas também
pela inicialização de vários periféricos. É comum, por exemplo, que a
placa wireless não seja detectada, ou que você não consiga ativar o
transmissor usando os botões até que instale o driver ou utilitário
fornecido pelo fabricante. No Acer 5043 (e outros modelos similares),
por exemplo, você só consegue ativar o transmissor da placa wireless
depois de instalar o Acer Launch Manager.
Em placas antigas, que ainda possuem slots ISA, existe um complicador
adicional, já que placas legacy ISA (as configuradas via jumper) não
são detectadas pelo BIOS e por isso não entram na tabela de endereços,
o que pode fazer com que os endereços usados por elas sejam atribuídos
a outras placas, causando conflitos, como nos velhos tempos.
Para evitar esse problema, é preciso reservar manualmente os endereços
de IRQ e DMA ocupados por periféricos ISA de legado através da sessão
"PNP/PCI Setup" do Setup. Se, por exemplo, você tiver uma placa de som
não PnP, que esteja configurada para utilizar o IRQ 5 e os canais de
DMA 1 e 5, você deverá reservar os três canais, para que o BIOS não os
atribua a nenhum outro periférico.
O Windows (desde o 95) inclui algumas rotinas que permitem identificar
estes periféricos antigos de maneira indireta, configurando-os e
salvando as configurações no ESCD. A verificação é feita durante a
instalação e através do utilitário "Adicionar novo Hardware". Apesar
de não ser infalível, esse recurso permite diminuir bastante os
conflitos gerados por periféricos antigos.
* Dual-core
Um processador dual-core é um processador de dois núcleos, onde ambos
compartilham a mesma pastilha de silício. Exemplos de processadores
dual-core são o Core 2 Duo e o Athlon X2.
De uma forma geral, aplicativos que dividem a carga de processamento
em vários threads e por isso se beneficiam de um processador dual-core
são aplicativos de edição e compressão de vídeo, renderização 3D,
edição de imagens (Photoshop, Gimp, etc.) e diversos aplicativos de
uso profissional. Aplicativos que trabalham com um único thread e por
isso não se beneficiam de 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
quando você está rodando dois aplicativos pesados simultaneamente.
Pode ser que um determinado game 3D não apresente ganho algum de FPS
ao rodar sobre um processador dual-core, mas sem dúvida o FPS será
mais alto se você resolver comprimir um filme em Divx em segundo plano
enquanto joga.
Nos servidores a coisa muda de figura, pois quase todos os serviços
geram um volume muito grande de threads, de forma que um processador
dual-core oferece sempre um ganho muito grande de desempenho.
Ao contrário do que teríamos ao utilizar dois processadores separados
em SMP, um processador dual-core atual, como o Athlon X2, Pentium D ou
Core 2 Duo 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 no processador, que reduzem a freqüência ou mesmo desativam
completamente o segundo núcleo quando o processador está ocioso. No
caso do Athlon X2, muitos componentes são compartilhados entre os dois
processadores, o que aumenta a economia.
Se comparado com um Athlon 64 4000+ com core San Diego (que também
opera a 2.4 GHz), um Athlon X2 4800+ Toledo (2.4 GHz, 1 MB) consome
cerca de 12 watts a mais enquanto o sistema está ocioso e 24 watts a
mais ao rodar um benchmark. Considerando que o TDP do San Diego é de
89 watts, o aumento não é tão significativo.
Um aplicativo que conseguisse utilizar simultaneamente todo o
processamento de ambos os cores poderia, em teoria, fazer com que o
consumo chegasse a ser, momentaneamente, próximo do dobro, mas em
situações reais isto não acontece com freqüência.
Como de praxe, o uso de um processador dual-core tem seus prós e
contras. O principal benefício de usar um processador dual-core é o
melhor desempenho ao rodar muitos aplicativos pesados simultaneamente.
Se você é do tipo que abre 50 abas do navegador, ouve música, comprime
um DVD, retoca imagens no Photoshop (ou Gimp
para o cartaz que está
diagramando no Corel e ainda por cima quer abrir 3 máquinas virtuais
do VMware, tudo ao mesmo tempo, um processador dual-core, acompanhado
por 2 ou 4 GB de memória DDR2 (ou DDR3), é uma necessidade.
Por outro lado, para usuários que rodam um ou dois aplicativos por
vez, que usam o PC predominantemente para games (sem executar outras
tarefas simultaneamente como, por exemplo, deixar o PC comprimindo um
DVD em segundo plano) ou que rodam apenas aplicativos leves, um
processador single-core mais barato, ou com uma freqüência
ligeiramente maior ofereceria uma relação custo-benefício melhor.
Comparando um X2 4800+ (2.4 GHz, 2x 1 MB, core Toledo) com um Athlon
64 single-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% no
Premiere 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 demais
benchmarks e games mostram um ganho de desempenho muito inferior ao
sugerido pelo aumento de 800 pontos no índice de desempenho da AMD.
Isso acontece por que estes testes levam em conta o desempenho ao
executar apenas uma tarefa de cada vez. Como disse, um processador
dual-core traz benefícios consideráveis apenas ao rodar vários
aplicativos simultaneamente.
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 segundo core e acabam tendo o desempenho penalizado pelo overhead
de dividir a carga entre os dois.

