Processadores: VIA C3 e o Crusoe

Processadores: VIA C3 e o Crusoe

O C3 da VIA e o Crusoe da Transmeta foram dois coadjuvantes durante a briga entre o Athlon e os Pentium III e 4 da Intel. Apesar das vendas terem sido fracas, eles foram foco de grande curiosidade.

O C3 teve uma história conturbada, mudando de nome várias vezes (Jedi, Gobi, Cayenne, Joshua, Samuel…) e tendo samples produzidos com várias configurações de cache e mudanças na arquitetura, até ser finalmente lançado em 2001:

c3-crusoe_html_76467826

Ele foi um sucessor do 6×86 e do MII, produzido pela VIA com base nos projetos anteriores da Cyrix. Ele ele era um processador de baixo consumo, que possuía 128 KB de cache L1 e 64 KB de cache L2 (similar ao Duron), que foi produzido em uma técnica híbrida de produção, com alguns componentes sendo produzidos usando uma técnica de 0.15 e outros em uma técnica de 0.13 micron.

Sendo um fabricante de chipsets, a VIA possuía licenças para o barramento GTL+, o que permitiu que o C3 fosse compatível com placas soquete 370 para o Pentium III e o Celeron. Na época a Intel estava fazendo a transição para o Pentium 4 e existia uma grande oferta de placas soquete 370 de baixo custo, o que ajudou nas vendas.

O C3 oferecia uma arquitetura bastante simples, com apenas duas unidades de execução (como o Pentium 1) e um coprocessador aritmético bastante fraco, que o tornava uma opção passável para aplicativos de escritório (o desempenho era levemente inferior ao de um Celeron do mesmo clock) porém bastante inadequada para jogos.

Por outro lado, a simplicidade o tornou um processador bastante barato de produzir. Mesmo com os 128 KB de cache L1, ele ocupava uma área de apenas 55 mm², o que permitia que a VIA produzisse quase duas vezes mais processadores por wafer que a Intel conseguia obter com o Celeron Coppermine, por exemplo. Isso permitiu que a VIA oferecesse o processador a preços bastante baixos, permitindo o aparecimento de um grande número de PCs e notebooks de baixo custo, que (apesar do fraco desempenho) fizeram um certo sucesso na época.

O C3 foi produzido em três versões. Todas utilizam a mesma configuração de caches (128 KB de L1 e 64 KB de L2, mas se diferenciam na técnica de fabricação e arquitetura.

A primeira era baseada no core Samuel 2, de 0.15 micron e foi produzido em pequenas quantidades em versões de 667 a 800 MHz. O seguinte foi o Erza, que inaugurou o uso da técnica híbrida de 0.15 e 0.13 micron e foi produzido em versões de 800 MHz a 1.0 GHz. O terceiro foi o Nehemiah, que manteve a mesma técnica de fabricação, mas adotou o uso de um pipeline mais longo (16 estágios contra os 12 das versões anteriores), o que permitiu que fosse lançado em versões de 1.0 a 1.4 GHz.

Embora ultrapassado, o C3 continuou sendo vendido em pequenas quantidades nos anos seguintes, servindo como uma espécie de refugo para fabricantes interessados em vender PCs de baixo custo e baixo desempenho, um posto similar ao que é ocupado atualmente pelo Atom.

Com o fim da plataforma soquete 370, a VIA passou a se dedicar à produção da plataforma EPIA, uma linha de placas miniaturizadas, que combinavam processadores C3 (e eventualmente C7) com chipsets próprios.

Entretanto, o baixo desempenho dos processadores, combinados com as dificuldades da VIA em vender as placas a preços competitivos fizeram com que ela nunca fizesse muito sucesso, apesar dos méritos técnicos. Temos aqui uma EPIA SP8000E, com um C3 de 800 MHz:

c3-crusoe_html_m4e4aaa0e

O Crusoe por sua vez foi um projeto bem mais exótico e ambicioso, que adotou o uso de uma arquitetura radicalmente diferente, que foi uma tentativa de resolver o problema da carga de legado dos chips x86, sem com isso comprometer a compatibilidade com os softwares existentes.

c3-crusoe_html_m55727d0f

Diferentes de outros processadores atuais, que utilizam decodificadores de instruções e ordenadores para converter e ordenar as instruções x86 (executando uma boa dose de processamento antes mesmo que elas cheguem às unidades de execução), o Crusoe utilizava um projeto simplificado, onde o chip processava um conjunto próprio de instruções, composto apenas de instruções simples, como em um processador RISC.

A compatibilidade com o conjunto de instruções x86 era obtido através de um software de tradução, batizado de “Code Morphing Software”, que tinha a função de converter as instruções x86 enviadas pelos programas nas instruções simples entendidas pelo processador, 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.

O Code Morphing Software ficava armazenado em uma pequena porção de memória ROM integrada ao processador. Ao ligar o PC, ele era a primeira coisa a ser carregada (antes mesmo do BIOS) e ficava residente em uma área protegida da memória RAM, funcionando como um intermediário entre a parte física do processador e o sistema operacional.

Todas as instruções traduzidas pelo Code Morphing Software eram armazenadas em um cache especial, chamado translation cache. Este cache ocupava 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. Ele evitava que o processador perdesse tempo traduzindo os mesmos blocos de instruções repetidamente, mas em troca consumia parte dos caches e da própria memória RAM, novamente reduzindo o volume de recursos destinados ao processamento propriamente dito.

Internamente, o Crusoe era um chip VLIW de 128 bits, que processava as instruções x86 em agrupamentos de 4 instruções de 32 bits, em um design similar ao utilizado na implementação das instruções SSE, porém aplicado ao processamento de todas as instruções. A sigla “VLIW” vem de “Very Long Instruction Word” e enfatiza justamente o uso de unidades de execução largas, capazes de processar muitos bits de cada vez.

Graças à combinação dos dois fatores, o Crusoe era um chip muito mais simples e que consumia pouca energia. O TM5420 de 600 MHz, por exemplo, consumia menos de 2 watts operando em full-load, menos do que um 486. O grande problema é que o Code Morphing Software consumia grande parte dos recursos do processador, deixando menos recursos para o processamento de instruções. Isso fazia com que o Crusoe fosse muito lento se comparado a um Athlon ou Pentium III do mesmo clock, o que reduziu a procura pelo processador a ponto de inviabilizar o projeto.

O Crusoe existiu em versões de 500 MHz a 1.0 GHz. Todas ofereciam um consumo elétrico bastante baixo, o que fez com que ele fosse usado em alguns notebooks ultra-compactos e também em desknotes fabricados pela ECS. Entretanto, o desempenho era até 50% inferior ao de um Pentium III do mesmo clock, o que tornava os notebooks baseados nele bastante lentos.

Em 2004 a Transmeta lançou o Efficeon, uma versão atualizada do processador, que era baseado em uma arquitetura de 256 bits (ou seja, processava agrupamentos de 8 instruções de 32 bits) e oferecia um desempenho por ciclo quase duas vezes mais alto que o da versão original. O Efficeon foi lançado em versões de até 1.7 GHz e oferecia um desempenho bem mais competitivo, mas ele acabou chegando tarde demais para salvar a Transmeta, que abandonou a fabricação dos processadores em 2005.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X