Idéias para aumentar o desempenho dos PCs

Por:

Na verdade, esta análise que você vai ler agora, surgiu apenas como uma troca de idéias. Recebi do Nuno um e-mail com alguns questionamentos sobre o modo que os PCs funcionam e de idéia que poderiam ser usadas para aumentar seu desempenho. No final, acabamos trocando vários outros mails e resolvi montar esta análise, aproveitando todo este material.

A idéia, é falar um pouco sobre tecnologia. Você vai encontrar vários detalhes interessantes sobre o funcionamento dos PCs, que talvez não tenha visto em lugar algum. Pode não ser nenhum guia definitivo sobre arquitetura de computadores, mas vai valer a leitura 🙂

Este texto está na seção de análises e não na de tutoriais pois não se limita a dizer como um PC funciona (você já viu isso várias vezes em outras áreas do site não é mesmo), mas sim discutir sobre os erros e acertos das tecnologias atuais e do que virá pela frente. Boa leitura 🙂

“Porque não estender a idéia de espelhamento de HDs (RAID) para as memórias RAM? Não seria possível aumentar a velocidade de transferência por um fator de 2 (ou próximo deste)? Claro que o espelhamento da RAM iria exigir o dobro desta e, certamente, um chipset desenhado especialmente para tal, mas nada que encarecesse em demasia o custo de um computador.”

Não daria para implantar um sistema como o RAID usado nos HDs na memória RAM, pois o modo como os dois são acessados é bem diferente. Veja, no caso do RAID nós já temos as interfaces para vários HDs. Sejam interfaces IDE, ou sejam interfaces SCSI, é sempre possível instalar vários HDs e acessa-los simultaneamente.

Usando interfaces IDE é possível ter dois HDs por interface e 4 HDs usando as duas e no SCSI é possível ter até 15 HDs por controladora. Como já existem os meios de acesso, basta apenas incluir uma controladora que se encarregue de distribuir os dados entre os HDs, seja com o objetivo de aumentar a performance (RAID 0) ou seja com o objetivo de melhorar a confiabilidade (RAID 1). (se estiver curiosos por mais detalhes de como o sistema RAID funciona, leia: https://www.hardware.com.br/tutoriais/035/ e https://www.hardware.com.br/artigos/131/)

No caso da memória, é um pouco mais complicado, pois existem trilhas de dados na placa mãe suficientes para acessar apenas um módulo de memória de cada vez. Se você tiver três módulos DIMM por exemplo, o controlador de memória ficará a todo momento alternando o módulo ativo, conforme precise dos dados guardados em um ou em outro.

Para acessar dois módulos de memória ao mesmo tempo, seria preciso aumentar o número de trilhas na placa mãe. Como os módulos de memória atuais, sejam módulos de memória SDRAM ou de memória DDR, são módulos de 64 bits, são necessárias 64 vias de dados e mais outras tantas para alimentação elétrica, sincronismo, etc. Para acessar dois módulos seria preciso o dobro de trilhas.

Com a placa mãe operando a 133 MHz, começa a ficar complicado adicionar muitas trilhas por causa do velho problema da interferência eletromagnética. Surge então o problema do custo, tanto de desenvolvimento quanto de produção. De desenvolvimento por que é preciso ter engenheiros mais qualificados e que demorarão mais tempo para conseguir desenvolver o projeto. De produção pois com mais trilhas é preciso máquinas mais precisas, mais componentes, materiais de melhor qualidade, etc.

É por isso que o nForce, que será o primeiro chipset capaz de acessar a memória a 128 bits (graças ao Twin Bank) existirá em duas versões. Na versão mais barata, o recurso virá desabilitado, permitindo aos fabricantes desenvolver placas de baixo custo, com menos trilhas, mas também com um desempenho inferior.

É a velha questão custo x benefício. Hoje em dia, a maioria dos fabricantes estão concentrados em produzir componentes cada vez mais baratos, para tentar aumentar suas vendas, do que produzir produtos de alto desempenho porém caros.


“E porque não fazer memórias RAM usando Flip-flops? Claro que iriam dissipar bastante calor e certamente seriam tão ou mais caras que o processador, mas teriam a enorme vantagem de poder “rodar” na mesma velocidade que o processador. Ou seja, algo na faixa de 1/2GHz (ou até mais) e com latências baixíssimas se é que podemos chamar o tempo de comutação de um transistor de latência! Certamente não seriam vendidas para usuários comuns, mas para estações de trabalho de altíssimo desempenho (e custo!), o preço desta memória de estado sólido seria perfeitamente aceitável.”

Acho melhor primeiro explicar o que são os Flip-flops 🙂

Um Flip-flop é um tipo especial de circuito de memória, que usa dois ou mais transístores para armazenar cada bit de dados, ao invés de apenas um transístor, como na memória RAM comum. O segundo transístor permite aumentar bastante a velocidade da leitura e gravação de dados na memória, mas em compensação, torna a tecnologia muito mais cara. Esta arquitetura é usada na memória cache e também nos registradores do processador. A memória RAM usa uma arquitetura bem mais simples, chamada Latch, onde um conjunto de um transístor e um capacitor armazena cada bit de dados.

Quanto mais transístores são usados em cada flip-flop, mais rápidas serão as respostas, mas em compensação, mais caro a brincadeira irá custar, pois de qualquer maneira será possível armazenar apenas um bit de dados em cada um. Por exemplo, no cache L2 do Pentium III são usados Flip-flops com 40 transístores cada um! Isso faz com que o cache seja muito rápido, mas em compensação seja caríssimo. Mais da metade do custo de produção do processador vem justamente do cache, e olhe que são apenas 256 KB.

Mesmo que fosse usada uma estrutura mais simples, com apenas dois transístores para cada flip-flop, já seria o suficiente para que a memória RAM ficasse de duas a três vezes mais cara. O pior neste caso é que para produzir as novas memórias, os fabricantes teriam que construir novas fábricas, desenvolver novos projetos, etc. No final das contas, com todo esse custo repassado aos consumidores, acabaríamos parando 5 ou 10 dólares por MB 🙁

Existe um modo mais fácil de aumentar o desempenho da memória, que já vem sendo usado nas memórias DDR. Já que a memória RAM é formada por uma infinidade de endereços, nada impede que sejam feitos dois acessos por ciclo, desde que os dois acessos sejam feitos a endereços diferentes, respeitando algumas limitações. Já estão em desenvolvimento as memórias DDR II, que farão 4 acessos por ciclo.

Teoricamente, seria possível desenvolver memórias capazes de fazer 8, 16, 32 ciclos. É só questão de alguém aparecer com uma solução que permita fazer isso a um custo aceitável. Na minha opinião, as memórias DDR foram uma das coisas mais inteligentes em termos de engenharia que apareceu nos últimos anos. As melhores invenções são sempre as mais simples não é mesmo? 🙂

A melhor solução em termos de custo-benefício, pelo menos dentro dos próximos dois ou três anos, deve ser usar memórias DDR ou (DDR II quando saírem) e cache. Nos processadores domésticos continuaremos tendo 256 ou talvez 512 KB de cache embutidos no próprio processador e nos servidores e máquinas de alto desempenho, teremos também um cache L3 de alguns megabytes.

Hoje em dia, os programas usam cada vez mais memória RAM e criamos o hábito de manter vários programas abertos ao mesmo tempo. Mas, apesar disso, apenas uma pequena parte de todos estes dados é processada pelo processador de cada vez. Com isso, ao invés de substituir toda a memória RAM por uma tecnologia mais rápida, basta aumentar a quantidade de cache, para ter quase o mesmo ganho mas a um custo muito mais baixo.

Mas, eu acredito que para os próximos anos teremos mais novidades em termos de equipamentos com potência suficiente para as tarefas do dia a dia, mas que custem cada vez mais barato, do que tecnologias mirabolantes para produzir sistemas cada vez mais rápidos. Quantos de nós realmente precisam ter um super-servidor em casa, em comparação com os que realmente precisam de computadores mais baratos?

Com tecnologia de hoje, já é possível construir um sistema com um processador com a potência de um Pentium II 400, com vídeo, som, rede e 128 MB de memória RAM, do tamanho de um pente de memória e custando menos de 100 dólares (sem monitor e HD é claro). Alguns fabricantes já estão começando a desenvolver projetos assim. É muito mais fácil do que parece, basta integrar tudo dentro do processador.

O custo de produção é baseado no número de transístores, tanto faz usar 5 milhões de transístores para colocar mais cache L2, ou para colocar um chipset de vídeo, som e rede. Com isto, o processador sozinho passa a ser capaz de fazer o que o conjunto processador/placa mãe/chipset é capaz de fazer, mas com um custo muito mais baixo.

Já existem alguns processadores seguindo esta filosofia. A Cyrix fabrica o Media GX, que vem com chipset, video, som e modem integrados no processador. O Media GX chegou a ser usado em alguns notebooks, a Microsoft pretende lançar o ECO, um sistema magro de acesso à Internet com ele. Outro exemplo é o Transmeta Crusoé, que integra o chipset da placa mãe.

“Quanto à dissipação de calor da CPU ou de Peltiers, porque não adotar um radiador que use ferrofluidos no lugar de água? Seria mais eficiente que os refrigeradores a água e não apresentaria vazamentos por ser selado de fábrica. O calor seria dissipado – para fora do gabinete – por convecção ou com uma micro bomba, se necessário.”

Da forma como as coisas andam, creio que o futuro será este mesmo. A maioria dos watercoolers comerciais já usa um sistema assim. Um circuito fechado com o fluído, um waterblock, que é a peça de metal que fica sobre o processador, o radiador, que é uma serpentina com vários exaustores onde o líquido é resfriado e uma bomba que faz o líquido circular.

O problema dos watercoolers é mais o problema do preço. Custa caro fazer um projeto que seja ao mesmo tempo eficiente e seguro. Pouca gente estaria disposta a pagar 100 ou 150 dólares por um watercooler, a menos que fosse realmente necessário. Se bem feitos, os watercoolers são seguros, o problema é que hoje em dia a maioria é feita artesanalmente, nem sempre usando os materiais adequados. No começo os computadores pessoais também eram feitos assim 🙂 É por isso que evoluíram tanto e o preço caiu tanto nas últimas décadas.

“Outra solução que podia ser adotada nas placas atuais seria fazer uma tampa toda furada como são os gabinetes de monitores e TVs. Quanto muito pode se colocar um tecido ortofônico para evitar a entra de poeira. Foge à minha compreensão que se coloque fontes de calor num gabinete fechado, ainda mais quando esses componentes são tão sensíveis ao calor.”

Acho que a poeira entra de qualquer jeito, se não é pelas frestas no gabinete, é pela fonte, já que o exaustor sopra o ar para dentro. Mas, sobre a questão dos furos no gabinete, muitos dos gabinetes atuais já estão vindo com várias frestas, e até mesmo vários furos na tampa para melhorar a circulação de ar. Alguns modelos chegam a vir com três exaustores, um na parte frontal, outra atrás, perto do processador e mais um na tampa.

Antigamente, na época dos PCs 386 ou 486, não existia tanta necessidade de produzir gabinetes com uma boa ventilação, já que naquela época os processadores dissipavam pouco calor. Por isso os fabricantes se acomodaram, produzindo gabinetes da forma mais barata. Felizmente, hoje em dia isso vem começando a mudar.

“Mas, deixando toda esta parafernália de lado, não entendo porque até agora não adotaram uma medida que me parece muito mais simples e que possivelmente eliminaria até a necessidade de ventilação forçada. Bastava colocar o processador do lado de baixo da placa mãe. Aí o calor seria dissipado ou por um dissipador enfiado num buraco na tampa do gabinete ou usando a própria tampa como dissipador. Não vejo qualquer problema de engenharia que dificulte ou impeça de se adotar esta solução. E nem seria necessário alterar o gabinete propriamente dito. Só a tampa.

O problema maior neste caso seria que seriam necessárias mudanças tanto nas placas mãe, quanto nos gabinetes. Você teria que trocar o seu gabinete ao trocar de placa mãe e ainda por cima, provavelmente teria de pagar mais por ele.

Tem também o aumento na dificuldade de montar os novos PCs, o problema estético e o problema do barulho, já que com o cooler dentro do gabinete a chapa diminui bastante o nível de ruído. Além disso, atualmente isso não funcionaria muito bem, pois a chapa do gabinete é muito fina. Não da para dissipar os 35 Watts de calor de um Duron por exemplo, teria que ser usado um cooler de qualquer maneira.

Pouco depois de enviar a resposta para o Nuno, ele respondeu o e-mail acrescentando mais alguns pontos interessantes:

“Carlos, Quanto às memórias, concordo que o custo de uma placa com dois barramentos de RAM seria algo mais elevado. A necessidade de ter o dobro da memória também aumentaria o custo final do PC. Certamente que tal placa não seria para usuários domésticos navegarem na internet ou trabalharem no Office, mas para workstation, “gamers” e até servidores, o custo me parece aceitável. Inclusive porque os problemas de engenharia seriam aos poucos solucionados, seja através de blindagens embutidas na placa mãe, fibras ópticas (porque não?) e os custos certamente cairiam com o aumento da produção. Já pensou no desempenho de uma DDR II RAID? O único entrave que vejo nessa idéia é que o espelhamento de memória não iria reduzir a latência inicial das memórias. Ou seja, acessar duas partes da memória seria talvez mais lento devido às latências que acessar uma em seqüência. Ela só seria realmente interessante em acessos seqüenciais (modo Burst). Quanto às RAM Solid-State, certamente seriam para uso em workstation científicas de (muitos) milhares de dólares. Na realidade não seria necessário que toda a memória fosse em estado sólido. Bastaria um enorme cache L3, como disse. O problema maior seria fabricar uma placa que suportasse freqüências da ordem de GHz! No entanto não deve ser tão difícil aja visto os celulares.”

Este ponto das memórias é mesmo interessante, pois as memórias continuarão caindo de preço mais rápido do que passamos a usar mais memória RAM em nossos PCs. Isso dá espaço para muitas possibilidade, já que o maior obstáculo à adoção de memórias mais rápidas é justamente o preço.

Eu insisto que não seria uma boa idéia pensar em substituir toda a memória RAM do PC por memória cache, mas da maneira como as coisas estão avançando, logo teremos processadores com mais e mais cache L2, ou talvez até cache L3 embutido, como é o caso do Xeon da Intel (o baseado no Pentium 4). A equação neste caso é baseada na miniaturização dos transístores. Por exemplo, por que um 486 tem apenas 8 KB de cache L1 e nada de cache L2, enquanto um Athlon tem 128 + 256 KB de cache? Por que na época em que o 486 foi lançado, o processador era produzido numa técnica de 1.0 mícron, eram transístores gigantescos em comparação com os atuais.

Como cada transístor ocupava muito espaço, não havia como usar muito mais do que um milhão de transístores no processador. Com menos transístores, não sobra muito espaço para o cache. Hoje em dia, os fabricantes já estão começando a produzir processadores de 0.13 mícron. Isso dá uma margem muito grande para inovações. Se um Pentium 4 tem 42 milhões de transístores e foi originalmente produzido numa técnica de 0.18 mícron, da para imaginar que com tecnologia para produzir transístores bem menores, de apenas 0.13 mícron será possível produzir processadores com 60, 70 milhões de transístores. Com isso, também será possível incluir mais cache e outros dispositivos que sejam úteis para melhorar a performance do processador.

Com 30 milhões de transístores a mais, daria para incluir quase 8 MB de cache L3 dentro do próprio processador, por exemplo.

A memória RAM segue esta mesma curva. Conforme é possível produzir transístores menores e menores, é possível colocar mais memória em cada chip e consequentemente em cada módulo de memória. Como o custo de produção por chip continua o mesmo, ou até cai um pouco com o passar do tempo, continuamos pagando quase o mesmo preço por cada módulo de memória, a vantagem é que eles passam a ter capacidades cada vez maiores.

A 7 anos atrás, pagávamos 40 dólares por um módulo de memória. hoje em dia também. A diferença é que antigamente os módulos de 30 vias tinham apenas 1 MB cada, enquanto os módulos atuais tem 128 ou até 256 MB.

Outra possibilidade que o barateamento dos transístores já está trazendo é o ramo de unidades de armazenamento usando memória Flash.

Assim como a memória cache, a memória Flash é bem mais cara que memória RAM comum, pois também são usados vários transístores para cada bit de dados. A dois anos atrás, a memória flash custava até 10 dólares por megabyte. A alguns meses atrás, os fabricantes já vendiam memória flash por dois dólares por megabyte, enquanto hoje já existem empresas vendendo memória Flash por 50 centavos de dólar por megabyte.

O preço vai continuar caindo, permitindo que logo logo tenhamos a opção de passar a usar HDs de memória Flash, muito mais rápidos e confiáveis que os mecânicos. Se daqui a dois anos o custo da memória Flash cair para, digamos, 10 centavos por megabyte, um “HD” de 2 GB custaria 200 dólares. Ainda não seria barato o suficiente para que você trocasse o seu HD por um de memória Flash, mas já permitiria que você tivesse os dois, usasse o HD de Flash para instalar os programas em que deseja ter mais desempenho e usar o HD tradicional para guardar arquivos.

Isso também vai permitir usar mais memória nos handhelds e celulares. Imagine um Palm com tela colorida de alta resolução, um processador mais rápido e ainda por cima 2 GB de memória? Que tipo de programas não poderíamos rodar num destes? 🙂


“Já para nós, simples mortais, bastaria produzir memórias com transistores de, por exemplo, 200MHz . Como a freqüência de comutação muito mais baixa que o dos processadores, produzi-las deve ser relativamente fácil e barato. Embora não faça idéia do tempo de comutação destas memórias, certamente seria muito abaixo dos atuais 50 ou 60ns das SDRAM (ou 7ns para as PC133 em modo burst). Se uso poderia ser particularmente interessante em placas gráficas.”

As placas 3D são sempre as primeiras a adotar novas tecnologias. enquanto mal se ouvia falar em memórias DDR, muitas placas 3D já as utilizavam. Enquanto estamos aqui discutindo se seria vantajoso ou não aumentar o barramento de acesso à memória de 64 para 128 Bits (a memória “em RAID” como você gosta de dizer 🙂 muitas placas 3D já acessam a memória a 128 bits a vários anos.

O maior problema é que numa placa 3D o cache não é muito útil, pois a placa não fica manipulando os mesmos dados repetitivamente, como o processador, mas processa novos dados a cada quadro de imagem a ser gerado. Com isso, o que importa mesmo é a velocidade das memórias. É por isso que elas foram as primeiras a usar memórias DDR.

Pode ser que algum modelo de placa 3D realmente venha a substituir toda a memória de vídeo por memória cache em breve, talvez algum projetista de Taiwan esteja pensando em como fazer isso neste exato momento. Como disse, é so questão das memórias ficarem mais baratas e de haver mercado para uma placa 3D cara, mas com um desempenho superior.

“Sobre os watercoolers, concordo que o tamanho e o preço assustam um pouco. A minha idéia de usar ferrofluídos é que eles na realidade são uma suspensão de partículas de ferro em água e conduzem muito bem o calor. Um cooler tradicional com ferrofluido no seu interior, certamente dissiparia o calor de forma mais eficiente. E mais ainda se tivesse uma pequena serpentina de cobre por cima do exaustor. A própria convecção se encarregaria de fazer circular o ferrofluido.”

Seria uma idéia interessante aproveitar o exaustor da fonte para resfriar o líquido depois de passar pelo processador 🙂 Sem dúvida teríamos PCs bem mais silenciosos, só seria questão de calcular quanto calor poderia ser dissipado apenas com a convecção. (Em caso de dúvida: a convecção faz o líquido quente que acabou de passar pelo processador, subir para a serpentina instalada na fonte e empurrar o líquido frio, que desce de volta ao processador e é aquecido, recomeçando o ciclo, sem necessidade de usar uma bomba)

“Agora, quero insistir na minha idéia de colocar o processador na parte de baixo da placa mãe. A primeira vantagem que eu vejo é que o calor do processador não afetaria as memórias, a própria placa e os periféricos (HD, CD, etc). A segunda é que se o cooler fosse colocado para fora do gabinete (devidamente protegido, para evitar que pancadas forcem o processador ou danifiquem o exaustor), o calor seria muito mais facilmente dissipado. Isso seria benéfico para toda a parte eletrônica, especialmente os capacitores e o material magnético do HD. Tal idéia é usada à muito tempo em equipamentos eletrônicos como amplificadores e transmissores, onde os transistores e integrados de potência são colocados fora (normalmente atrás) ou aparafusados no gabinete.

Quanto a prender a CPU na parte interna do gabinete sem ventilação, eu concordo. Teria que haver uma mudança no projeto destes, seja colocando aletas na parte externa, seja colocando um enorme dissipador em contato com a lateral do gabinete e/ou abrindo furos em nas laterais do gabinete.

Eu mesmo tenho um exaustor na base da minha torre ATX, mas ele não é tão eficiente quanto se tirasse as laterais. Por isso é que insisto tanto em se fazer furos nos gabinetes. Ficariam até bonitos! No lugar de torres coloridas translúcidas, porque não uma em aço ou alumínio escovado, por exemplo? E, já agora, porque não um cubo? A placa mãe no meio, com os componentes para um lado e o HD/CD e fonte do outro. Seria mais larga mas bem mais curta e baixa, afinal existe um enorme volume morto em cima, ao lado da fonte, e na frente, onde estão os periféricos.”

O meu gabinete não chega a ser de alumínio escovado, mas já tem furos nas laterais para a ventilação, realmente até ajuda no visual 🙂 Os gabinetes de alumínio escovado ainda devem demorar um pouco, pelo problema do preço. Um gabinete ATX que custa 120 reais, 50 ou 60 reais correspondem ao valor da fonte, o gabinete em sí é bem barato, já que só usa um pouco de aço e plástico, materiais baratos hoje em dia. Fazer um de alumínio escovado custaria o triplo do preço, mas bem que gostaria de ter um 🙂

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X