Transmeta Crusoé

A Transmeta é uma companhia relativamente jovem, que trouxe um novo conceito de processador. A idéia fundamental pode ser definida com as palavras do seu CEO, David Ditze*: “Hoje em dia, no mercado de processadores RISC, temos grandes grupos de designers trabalhando em projetos cada vez mais complexos. A questão da performance está muito menos clara agora. Os processadores RISC não são mais simples e pequenos, não creio que isto faça muito sentido”…”Processadores superescalares, e execução de instruções fora de ordem são graves problemas que limitam a performance. Processadores RISC como o MIPS R10000 e o HP PA-8000 parecem muito mais complexos para mim do que os processadores CISC, como o Pentium II. Qual então é a vantagem dos processadores RISC, se eles não são mais nem simples nem baratos?” (*Traduzido do original em Inglês.)

Na verdade, os simples e baratos processadores RISC do início da década de 80, acabaram renunciando a seus projetos simples em nome de performance. Os fabricantes acabam adotando qualquer coisa que possa aumentar a performance de seus chips, mesmo que isso acabe por torná-los mais complexos.

Em se tratando de processadores destinados a micros PC, o AMD Athlon é um exemplo vivo desta característica. Para conseguir desenvolver um processador com todo este desempenho, os projetistas da AMD acabaram optando por desenvolver um processador extremamente complexo, que gera muito calor e consome muita eletricidade. As versões mais rápidas do Athlon chegam a atingir a marca de 80 Watts, uma verdadeira lâmpada de silício. Apesar de consumir um pouco menos de eletricidade (comparando processadores da mesma frequência), o Pentium 4 também não fica atrás em termos de complexidade e número de transístores, pelo contrário, possui incríveis 42 milhões de transístores, contra os 35 milhões do Athlon Thunderbird.

A idéia da Transmeta ao desenvolver o seu processador Crusoé é abandonar a idéia de “o mais rápido possível” para criar um projeto “o mais eficiente possível”. Isto significa que o Crusoé não nasceu para ser um processador capaz de gerar 5000 frames por segundo no Quake 3, mas para ser uma alternativa de chip barato, que consome um mínimo de energia e é compatível com a plataforma PC. Um processador perfeito para ser usado em todo tipo de micros portáteis e, quem sabe, também em desktops em suas futuras versões. Vamos às características do novo projeto:

Conceito: Os processadores atuais são tão complexos por que executam todas as tarefas via hardware. Isto significa que existem circuitos dedicados para cada tipo de tarefa que processador seja capaz de executar.

Temos então um conjunto bem complexo, com um decodificador de instruções, que converte as instruções x86 nas instruções processadas internamente pelo processador; um circuito que reordena as instruções, colocando-as em uma ordem em que várias instruções possam ser processadas simultaneamente, um controlador de registradores, execução especulativa, etc. Todos estes recursos permitem aumentar consideravelmente a performance, mas consomem a maior parte dos transístores utilizados nos processadores atuais.

A idéia do Crusoé, é mover estas funções para um software especial, chamado “Code Morphing Software”, algo como “Software de transformação de código”. Como a maior parte das tarefas são executadas via software, é possível ter um processador muito mais simples, com um mínimo de transístores. Perde-se uma parcela considerável do desempenho, mas em troca existe a possibilidade de ganhar bastante em termos de redução de custo, redução do consumo elétrico, etc.

Na foto abaixo, temos uma comparação de temperatura entre um Crusoé (à direita) e um Pentium III Coppermine, ambos exibindo um filme em DVD, sem refrigeração especial (as fotos são cortesia da Transmeta Inc.).


Code Morphing Software: O Crusoé pode ser classificado como um “hybrid software-hardware CPU”, um processador híbrido de hardware e software. Claro que na verdade tudo acaba sendo feito via hardware, mas no Crusoé temos uma camada extra de software, justamente o Code Morphing Software.

Veja os dois diagramas abaixo. Veja que nos processadores atuais, todas as funções executadas pelo processador são feitas por circuitos dedicados, o que torna o processador muito grande e complexo. Veja que o Crusoé por sua vez é dividido em duas partes. O quadrado maior representa a parte física do processador, enquanto os retângulos separados representam as funções que são executadas via software.

O Code Morphing, o programa que executa a maior parte das funções que outros processadores executam via hardware, fica armazenado em uma pequena porção de memória ROM integrada ao processador. Quando o processador é ligado, o code morphing é a primeira coisa a ser carregada, que fica residente na memória RAM, como se fosse um outro programa qualquer, mas com uma prioridade de execução altíssima. São carregados então o BIOS o sistema operacional e demais programas. O Code Morphing fica então residente, funcionando como um intermediário entre a parte física do processador e os programas.

No Crusoé, é o Code Morphing que faz a tarefa de converter as instruções x86 enviadas pelo programa, ordená-las de forma a serem executadas mais rápido e coordenar o uso dos registradores, tarefas que em outros processadores são executadas via Hardware.

Todas as instruções traduzidas pelo code morphing são armazenadas num cache especial, chamado translation cache. Este cache ocupa parte dos caches L1 e L2 do processador e também uma área reservada da memória RAM que pode variar de tamanho de acordo com o volume de instruções diferentes processadas.

O uso do translation cache evita que o processador perca tempo traduzindo várias vezes uma instrução muito usada pelo programa. Naturalmente, as instruções que forem sendo mais utilizadas vão assumindo as primeiras posições no cache, enquanto as menos utilizadas vão sendo movidas para a memória RAM ou eliminadas. Outro recurso, é que cada vez que uma instrução é reutilizada apartir do cache, o Code Morphing trata de dedicar mais alguns ciclos de processamento, de modo a otimiza-la cada vez mais. Quanto mais é usada, mais rápido a instrução irá rodar.

Para prevenir possíveis erros de tradução de instruções, existem mais duas pequenas áreas de memória, que servem para armazenar o estado dos registradores do processador a cada bloco de instruções executado. Como os registradores armazenam tudo o que está sendo processado pelo processador no momento, salvando os dados armazenados nos registradores é possível voltar ao estado anterior caso qualquer erro ocorra, de modo completamente transparente ao sistema operacional e ao usuário. As duas áreas são chamadas de “Working Copy” e “Shadow Copy”. A work copy, ou cópia de trabalho armazena os dados dos registradores cada vez que um novo bloco de instruções começa a ser processado. Caso tudo ocorra bem, então a copia armazenada na work copy é armazenada na shadow copy (copia sombra); caso ocorra algum erro, a cópia anteriormente é carregada e o Code Morphing Software faz uma nova tradução do bloco de instruções, desta vez usando algoritmos especiais para descobrir qual instrução causou o erro, de modo que não ocorra novamente. Veja que este sistema causa apenas uma pequena perda de tempo cada vez que ocorre um erro, não causa travamentos ou outros efeitos colaterais.

O uso do Code Morphing, traz uma grande flexibilidade ao Crusoé. É possível criar chips compatíveis com várias plataformas diferentes apenas alterando a camada de software, sem ter que alterar um único transístor no processador. Isto torna possível para a Transmeta desenvolver várias versões diferentes do Crusoé para as mais diferentes aplicações.

Consumo elétrico: Talvez você já tenha ouvido falar de um recurso do mobile Pentium III (uma versão do Pentium III de baixo consumo elétrico destinada a notebooks) que faz com que o processador reduza sua frequência de operação sempre que não estiver sendo muito exigido, de modo a economizar eletricidade.

O Crusoé possui um recurso parecido, porém mais avançado. Durante a execução dos programas, o processador pode alterar dinamicamente sua frequência de operação, ajustando-se às demandas do programa. Se você tem um Crusoé de 700 MHz, mas no momento o programa só estiver utilizando processamento equivalente a 200 MHz, por exemplo, o processador irá baixar sua frequência de operação e consequentemente seu consumo elétrico, mas ficará de prontidão para aumentá-la imediatamente assim que for necessário, de modo transparente ao usuário. Este recurso é chamado “LongRun technology”.

Isto permite que o Crusoé consuma realmente um mínimo de eletricidade. A versão de 700 MHz trabalhando a todo vapor consome pouco menos de 2 Watts. Como na maioria do tempo não é utilizada toda a potência do processador, pode-se imaginar quão pequeno seja o consumo na prática.

O Crusoé traz instigados ao processador também os circuitos de acesso à memória e o controlador PCI, substituindo a porte norte do chipset. Em futuras versões, é possível que o Crusoé traga também controladores de vídeo e som integrados, o que permitiria desenvolver sistemas ainda mais económicos.

As primeiras versões: Inicialmente foram lançadas duas versões do Crusoé, a TM3120 e a TM5420. A primeira possui um desempenho menor, assim como um consumo elétrico mais baixo, enquanto a segunda consome um pouco mais de eletricidade, mas apresenta um desempenho bem superior

Veja os recursos apresentados por cada versão:

TM3120

TM5420

Versões de

333 e 400 MHz

500, 600 e 700 MHz

Cache L1

96 KB

128 KB

Cache L2

não tem

256 KB

Tipos de memória RAM suportados

SDRAM

SDRAM e DDR-SDRAM

Controlador de memória e controlador PCI

Integrados ao processador

Integrados ao processador

Encapsulamento

474 BGA

474 BGA

Consumo mínimo (com o processador ocioso)

0.015 Watt

0.030 Watt

Consumo elétrico com o processador operando na capacidade máxima

0.9 Watt

1.8 Watts

O Crusoé nasceu como um chip destinado a equipamentos portáteis, já que seu projeto tem como objetivo baixo consumo elétrico e baixo custo de produção e, não necessariamente, a performance, como em outros projetos de processadores. Isto não significa que não possam ser lançadas versões do Crusoé destinadas a micros desktop no futuro, mas sim que este mercado provavelmente nunca será seu forte.

Para muitos, isto sugere que o Crusoé nunca competirá diretamente com os chips da Intel ou da AMD, mas a realidade é que o mercado de computadores portáteis irá crescer muito nos próximos anos. Calcula-se que dentro de quatro anos, existirão mais computadores portáteis do que micros de mesa e, sem dúvida, a Transmeta saiu na frente na corrida para dominar este nicho de mercado.


Crusoé TM5420

A segunda geração: Depois das duas versões iniciais, a Transmeta lançou duas novas versões chamadas TM5500 e TM5800. As novidades em relação às versões anteriores são muitas. Em primeiro lugar, vem uma vantagem estratégica, que é a adoção de uma técnica de produção de 0.13 mícron. Sem dúvida um avanço importante, já que uma técnica de produção antiga poderia colocar a perder todo o esforço de diminuir o consumo do processador.

O TM5500, a versão mais barata, vem com 256 KB de cache L2, enquanto o TM5800 é equipado com generosos 512 KB de cache. A tensão usada pelos processadores é de 0.9 V a 1.3 V, dependendo da versão. Em ambos os casos foram inicialmente lançadas versões de 600 a 800 MHz.

A voltagem mais baixa ajuda a diminuir ainda mais o consumo. Na verdade, ao diminuir a voltagem de um processador, seu consumo elétrico diminui proporcionalmente, pois é usada menos energia em cada ciclo de clock. Em compensação, é preciso desenvolver o projeto muito cuidadosamente para poder baixar a tensão sem comprometer a estabilidade do processador.

Junto com o aumento na freqüência e na quantidade de cache, veio um pequeno aumento no consumo elétrico dos chips. Operando a 800 MHz, o TM5800 consome 6 Watts. Entretanto, este é o consumo do chip operando à plena carga. Graças ao sistema de gerenciamento de energia, ao menos que o processador seja usado para alguma tarefa intensiva, compactar vídeos, aplicar filtros gráficos pesados, rodar jogos 3D, etc. o consumo sempre ficará bem abaixo disso, na casa dos 2 ou 3 Watts na maior parte do tempo. Só para efeito de comparação, um Celeron 600, um dos chips mais económicos para PCs de mesa atualmente, consome 15 Watts e os Athlons e Pentiums 4 topo de linha já estão se aproximando da marca dos 100 Watts…

Mais um reforço para os novos chips veio com a nova versão do code morphing software. Como os Crusoé são baseados neste software, é possível melhorar o desempenho dos processadores, ou mesmo diminuir seu consumo elétrico através de melhorias no software. Foi isso que a Transmeta fez.

Os antigos TM5420 rodavam o code Morphing versão 4.1.7, enquanto os atuais rodam a versão 4.2.0. Segundo a Transmeta, a nova versão aumentou o desempenho dos chips em até 28% e possibilitou uma diminuição no consumo elétrico entre 2 e 42%, dependendo do aplicativo (quanto mais intensivo o aplicativo, menor será a economia, já que com o chip trabalhando à plena carga não existe muito o que fazer para economizar energia sem diminuir o desempenho).

Mais uma novidade é que a Transmeta está desenvolvendo uma versão de 256 bits do Crusoé, que será lançada em 2002. As versões atuais são processadores de 128 bits. No caso do Crusoé, é possível alterar à vontade o design do chip, pois não é preciso manter compatibilidade com as instruções x86, usadas pelos aplicativos atuais, como acontece no caso dos chips Intel e AMD. Na verdade, o processador não roda os aplicativos e sim o code morphing software, é este programa quem se encarrega de “traduzir” as instruções dos programas nas instruções entendidas pelo processador.

Ao alterar a arquitetura do chip, tudo o que é necessário fazer é alterar também o code morphing, para que ele rode sobre a nova arquitetura. Esta é uma vantagem competitiva para a Transmeta, pois seus engenheiros podem incorporar todas as novas idéias e tecnologias no chip, sem precisar se preocupar com a questão da compatibilidade com aplicativos.

Concordo que até agora o Crusoé fez bem pouco, pouquíssimo. As versões atuais chegam a ser 50% mais lentas que um Pentium III da mesma freqüência e o baixo consumo elétrico não é capaz de aumentar perceptivelmente a autonomia de bateria dos notebooks, já que num notebook moderno quem consome mais energia, até 50% do total é a tela de LCD de matriz ativa. O consumo do processador poderia cair a níveis próximos de zero, que mesmo assim a autonomia das baterias só aumentaria em 20 ou 30%.

Entretanto, o Crusoé já conseguiu também algumas vitórias, por exemplo no ramo de servidores. Como neste tipo de equipamento, geralmente são usados vários processadores, a dissipação do calor começa a tornar-se algo crítico. Ao mesmo tempo, como a maioria das empresas está passando a armazenar seus servidores em data centers, onde paga-se pelo espaço usado, o Crusoé começou a ser uma solução atrativa, já que gera pouco calor e justamente por isso permite construir servidores pequenos (fisicamente), mas com vários processadores. Várias empresas já vem ganhando dinheiro vendendo servidores equipados com os chips Crusoé.

Na minha opinião, o interessante nos chips Crusoé não são os chips em sí, que comparados com os chips da Intel e AMD atuais em quesitos como desempenho e custo/benefício, podem ser considerados no máximo “regulares”, mas sim pela idéia por trás do code morphing software e de outras inovações desenvolvidas pelos engenheiros da Transmeta. Os Crusoés podem não ser lá a melhor opção de compra atualmente, mas a tecnologia usada neles vai mudar muita coisa na indústria e influenciar os futuros processadores. Os fabricantes estão começando a perceber que ao invés de simplesmente socar mais transístores dentro do processador, também é possível melhorar seu desempenho ou outras características que sejam consideradas importantes, tornando seus processadores mais inteligentes.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X