Já que sabemos como serão os novos processos de produção de processadores, os novos materiais e seus benefícios em consumo elétrico, vamos ver como são os processadores com mais de um núcleo.
É bom lembrar que estamos falando de tecnologia e não de produtos, ou seja, não espere ter no curto prazo em seu desktop um processador de 64 núcleos em paralelo. Embora esses modelos venham a existir no futuro, a sua viabilidade comercial depende exclusivamente do mercado a qual se destina.
Diariamente quando você usa seu Windows XP ou Linux, em atividades típicas como navegar na internet, ler e-mails e processar fotos, por trás da área visível do sistema há uma série de serviços que estão sendo continuamente processados para manter a funcionalidade da sua máquina. Desde aqueles básicos que verificam alterações nas configurações ou monitoram a entrada de outros computadores na rede local até outros menos nobres como serviços antivírus, anti-spans entre outras anti-pragas do mundo conectado. Além disso, praticamente qualquer tarefa que o usuário vá realizar pode ser dividida em sub tarefas, como por exemplo, a aplicação de um filtro de luz em uma foto. Uma foto é um mapa de pixels, e aplicar um filtro de luz é em termos práticos alterar a cor de cada um desses pixels de acordo com aqueles que estão a sua volta.
Pelo método linear mono-tarefa, podemos exemplificar essa foto sendo processada de cima para baixo, pixel a pixel, até que o ultimo pixel da parte de baixo tenha sido alterado. No modo paralelo multi-tarefa, vários blocos de pixels seriam processados ao mesmo tempo, cada bloco por uma unidade de processamento, e no final seriam agrupados novamente. O ganho de performance nesse modo é muito maior, e será relativamente ainda maior quanto mais serviços de background (como os antivírus e serviços de rede) estiverem sendo executados.
Acho que já é claro para a grande maioria dos leitores que um sistema com dois processadores é mais interessante do que um mono processado, mas vamos ver como isso acontece se esses dois processadores estiverem agrupados em um mesmo núcleo.
[singlepic id=4630 w=320 h=240 float=]
Um dos efeitos que ainda não comentamos é a capacitância dos transistores, ou seja, eles acumulam elétrons durante sua operação e por isso é preciso mais voltagem para fazê-los mudar de estado e consequentemente aumenta-se o vazamento de elétrons () para o substrato. Quanto maior a freqüência de operação ou a voltagem, mais importante é o efeito nocivo da capacitância dos transistores.
Um sistema com dois núcleos operando em velocidades menores oferecerá mais potência computacional com menos voltagem e o mesmo consumo do que um único processador, e assim dissipará menos calor por área (centímetro quadrado). Além disso, dois processadores, ou dois núcleos, são capazes de processar tarefas ao mesmo tempo desde que essas tenham sido programadas para tal. A percepção do beneficio para o usuário será maior, mesmo que a freqüência de operação não tenha sido aumentada.
Há ainda a questão da inteligência dos processos de busca na memória cache e na memória do sistema. As primeiras placas gráficas equipada com dois processadores (me lembro bem das 3Dfx Voodoo 5), cada processador tinha seu bloco de memória separado e o conteúdo era duplicado para cada bloco. Embora os benefícios do processamento paralelo estivessem presentes, o conjunto não estava otimizado para fazer o melhor uso possível dos recursos.
Hoje a idéia é compartilhar tudo, evitando a duplicação de registros desnecessários e se possível colocando parte de um processador (ou núcleo) para buscar as informações que o outro irá precisar logo em seguida. Essas técnicas permitem uma grande aceleração no tráfego de dados útil do sistema e conseqüentemente maior desempenho para o usuário.
[singlepic id=4631 w=320 h=240 float=]
O modelo multi-core, que será usado primordialmente em servidores, deixa claro que vários processadores menores e mais otimizados tornam o conjunto mais eficiente em termos de consumo, calor e potência computacional do que um único e grande processador mono-tarefa.
A necessidade da boa programação
Processamento em paralelo requer softwares preparados para isso. Em poucas palavras, para obter a melhor performance possível os códigos precisam levar em consideração o uso de threads (tarefas) simultâneas e saber aguardar o resultado de algumas delas caso sejam necessárias para a execução do próximo bloco de código.
Para isso funcionar, utiliza-se técnicas semelhantes aos sinais de transito, onde uma tarefa recebe um sinal vermelho (STOP ou WAIT) para execução enquanto outra que é pré-requisito dela ainda não foi concluída. Enquanto essa tarefa está em STOP, a próxima da fila que está livre pode ser executada até que aquele pré-requisito tenha sido concluído trocando o sinal de STOP da tarefa que estava parada para verde (GO), e assim por diante.
Mas o que são essas tarefas?
Poderíamos simplificar dizendo que uma delas é um anti-virus rodando, enquanto a outra é a chamada “abrir e-mail”, mas na verdade estamos falando de códigos muito profundos e por isso mesmo precisam ser otimizados com muito critério. É como se na fórmula de cálculo de um financiamento de longo prazo, a variável com o valor da prestação tivesse que aguardar a variável com o valor do calculo do juros e a variável como o período restante do financiamento para só depois terminar a tarefa de calcular a prestação.
Otimizar processos para tarefas simultâneas é uma disciplina complexa e seria impossível comercialmente se não existissem os famosos compiladores. A Intel está desenvolvendo em conjunto com a Microsoft e com as principais distribuições Linux um conjunto de compiladores otimizados não só para o processamento em paralelo como também para a introdução dos registradores de 64 bits compatíveis com a tecnologia x86. A grande experiência adquirida nos códigos utilizados na tecnologia IA-64 dos processadores Itanium, que são multi-cores e operam com 64 bits, e que já possuíam uma série de compiladores e programas para tuning das aplicações, está facilitando muito a migração das instruções e o desenvolvimento dessas ferramentas de desenvolvimento.
As ferramentas de desenvolvimento estão disponíveis gratuitamente para avaliação no endereço
Em minhas conversas particulares com os representantes das empresas de software que estavam presente no IDF, todos foram unânimes ao afirmar que o apoio dos softwares e ambientes de desenvolvimento da Intel estão sendo fundamentais nesse momento de transição, e que os ganhos de desempenho obtidos com os primeiros protótipos estão surpreendendo.
[singlepic id=6434 w=320 h=240 float=]
[singlepic id=6435 w=320 h=240 float=]
Dois novos processadores Dual Core
Ou seja, o Pentium D aparecerá no Windows XP como tendo dois processadores, enquanto o Extreme Edition terá quadro processadores internos, e será lançado inicialmente apenas na freqüência de 3.2 GHz, enquanto o Pentium D terá versões de 2.8 GHz até 3.2 GHz inicialmente.
É importante comentar algumas características interessantes desses processadores, especialmente no que tange a sua fabricação. Esses primeiros modelos ainda são de 90 nanômetros e são essencialmente uma pastilha dupla do wafer, ou seja, para obtê-los é preciso encontrar no wafer de silício dois núcleos perfeitos que estejam lado a lado. Ao produzir qualquer lote de processadores há uma perda natural por defeito no processo que varia de 60% a 30% de perdas por wafer. Quanto maior a área do processador, maior a probabilidade dele apresentar um defeito de construção que impeça sua comercialização.
É provável que ao se identificar um núcleo “bom” no wafer sem um par perfeito ao seu lado, este seja cortado e montado em um processador mono-core, e comercializado normalmente. Acreditamos que a disponibilidade desses modelos Dual-Core seja reduzida em um primeiro momento, mas tende a ser normalizada quando os modelos de 65 nanômetros, que serão montados com dois núcleos distintos e independentes que podem estar em qualquer parte do wafer, entrarem em produção comercial.
[singlepic id=4634 w=320 h=240 float=]
Anderson Figueiredo pertence a uma geração que viu a tecnologia deixar os laboratórios e ocupar…
Por Cláudio Fontes O potencial IPO da SpaceX não deve ser interpretado apenas como um…
A Microsoft realiza nesta terça-feira (02), sua conferência anual de desenvolvedores de software, com expectativa…
Um grupo restrito de empresas já conseguiu transformar a inteligência artificial em resultados financeiros concretos…
A inteligência artificial começa a ganhar espaço em uma das etapas mais sensíveis da operação…
No Snowflake Summit 26, realizado em San Francisco nesta semana, a Snowflake apresentou o Horizon…