O avanço do ARM: Cortex A8 e Cortex A5

O avanço do ARM: Cortex A8 e Cortex A5

Embora não sejam tão conhecidos, nem tão comentados, quanto o i7 ou o Atom, os processadores ARM são produzidos em volumes brutalmente maiores e usados em todo o tipo de dispositivos, de roteadores e modems ADSL a vídeo-games (como o Nintendo DS), celulares e smartphones. Basicamente, os processadores x86 são usados em PCs, notebooks e netbooks, enquanto os ARM são usados em praticamente todo o resto.

Diferente dos processadores x86, que são produzidos pela Intel e pela AMD (e em menor volume também pela VIA), os chips ARM não são produzidos por uma única empresa, mas sim licenciados e produzidos por diversos fabricantes.

A ARM Ltd., que é a responsável pelo desenvolvimento dos chips e detentora dos direitos sobre a arquitetura, não produz os processadores, se limitando a licenciar os projetos a preços módicos para outros fabricantes, que podem optar por diversos tipos de licença, incluindo opções que permitem modificar os chips e incluir componentes adicionais. Este é o caso de fabricantes como a QualComm, a Texas Instruments e a Samsung, que desenvolvem soluções próprias, incluindo controladores auxiliares e modificações diversas.

Os processadores ARM podem ser divididos em duas grandes famílias. A primeira é a dos chips ARM7, ARM9 e ARM11, que são mais antigos (embora sejam ainda os mais usados) e a linha Cortex, que representa a geração mais atual.

Os chips ARM11 são os usados na maioria dos smartphones atuais (praticamente todos os aparelhos com o Symbian ou o Windows Mobile lançados entre 2007 e 2009), enquanto os ARM9 e ARM7 são comuns em aparelhos mais simples e em produtos eletrônicos diversos. Eles são processadores de 32 bits muito baratos e fáceis de programar, o que oferece uma flexibilidade muito grande.

A família Cortex por sua vez é composta for três arquiteturas distintas. Na base da pirâmide temos os Cortex A5, que são chips simples e de baixo consumo, destinados a substituírem os ARM9 e ARM11 e aplicações diversas. Em seguida temos os Cortex A8, que são chips mais poderosos, destinados a smartphones e outros dispositivos móveis e os Cortex A9, que são chips multicore de alto desempenho. Falei brevemente sobre o Cortex A9 no livro de smartphones, vamos então ao A8 e ao A5, que serão utilizados em volumes muito maiores.

O Cortex A8 é o chip mainstream dentro da família. Ele é um processador dual-issue (duas unidades de processamento), que processa instruções em ordem (assim como o Intel Atom) e inclui um cache L1 de 64 KB, dividido em dois blocos de 32 KB (dados e instruções). Ele inclui também um grande (do ponto de vista de um chip para sistemas embarcados) cache L2 de 256 KB, que pode ser expandido para até 1 MB de acordo com o nível de desempenho desejado pelo fabricante.

O Cortex A8 incorporou também um pipeline de 13 estágios (contra os 8 estágios do ARM11), o que possibilita o uso de frequências de operação muito mais altas. Os chips produzidos usando uma técnica de 65 nm (como os usados no iPhone 3GS e no Nokia N900) operam na casa dos 600 MHz, mas dispositivos maiores (como no caso dos smartbooks) e também chips produzidos usando técnicas mais avançadas podem vir a operar em frequências muito mais altas, de até 1.0 GHz.

arm_html_19276b61

Em teoria, um SOC baseado no A8 não teria problemas para operar na casa dos 1.5 GHz, frequência na qual o desempenho seria competitivo em relação ao Intel Atom, mas isso resultaria em um consumo muito mais alto, inaceitável para um smartphone ou outro dispositivo portátil.

A grande vantagem do Cortex A8 sobre o ARM11 é o desempenho. Além de oferecer um desempenho por clock cerca de 60% superior (de até 2 DMIPS por MHz), ele é capaz de operar a frequências mais altas, o que faz com que o desempenho da maioria dos SOCs seja pelo menos duas vezes superior ao dos chips da geração anterior.
A grosso modo, poderíamos comparar o ARM11 com o 486 (que processava uma instrução por ciclo e estacionou na casa dos 100 MHz) e o Cortex A8 com o Pentium (que processava duas instruções por ciclo e chegou aos 200 MHz).

É possível também traçar um paralelo com o Atom, que (sendo baseado na arquitetura do Pentium 1) também processa duas instruções por ciclo e também usa um pipeline relativamente curto (para um processador x86), com 16 estágios. O Atom é capaz de operar a frequências mais altas que o Cortex A8, mas o desempenho por ciclo de clock não é muito diferente.

A grande questão é que o Atom consome quase 5 vezes mais energia que um Cortex A8 do mesmo clock. Se levarmos em conta o consumo total da plataforma (processador, chipset e outros circuitos de apoio) o Atom se torna ainda menos competitivo, já que o chipset 945GSE/ICH7M da plataforma Diamondville é terrivelmente ineficiente.

Um exemplo de SOC baseado no Cortex A8 é o TI OMAP 3430, que é o usado no Nokia N900 e no Palm Pre. Ele é um chip produzido usando uma técnica de 65 nm, que inclui também uma GPU PowerVR SGX 530, um acelerador de vídeo IVA 2+ e um chip ISP, juntamente com todas as interfaces de praxe:

arm_html_48f1bd2b

O PowerVR SGX 530 é um chipset 3D relativamente poderoso, que inclui uma unidade programável para o processamento de shaders, batizada de USSE. Operando a 200 MHz, ele oferece um fill-rate de 250 megapixels, o que equivale à quase metade do poder de processamento de uma GeForce 6200, porém com um consumo elétrico ridiculamente baixo.

Ele é descendente do Kyro II, que concorreu com as GeForce 2 MX no início do milênio e, assim como ele, faz uso do tile-based rendering, para minimizar o uso de processamento e texturas, renderizando apenas os polígonos visíveis dentro de cada frame.

Embora a arquitetura não tenha feito muito sucesso nos PCs (onde perdeu para a força bruta das GPUs da nVidia e da ATI), o Power SGX acabou encontrando um bom nicho nos dispositivos móveis, onde o bom nível de eficiência oferece a possibilidade de desenvolver títulos 3D com gráficos complexos sem comprometer a autonomia das baterias. Um bom exemplo são os jogos 3D do iPhone 3GS, que também é baseado nele:

arm_html_4886112e

Diferente dos jogos para PC, que utilizam primariamente o DirectX 9.0c, os jogos 3D móveis são baseados no OpenGL ES 2.0. Os dois grandes motivos são a ausência de uma versão do DirectX para processadores ARM e o simples fato de que o OpenGL permite a criação de código muito bem otimizado, o que resulta em um melhor desempenho e uma melhor autonomia das baterias.

O Cortex A8 é eficiente também na decodificação de vídeos. Ele é capaz de decodificar vídeos VGA codificados em H.264 operando a apenas 350 MHz. No caso do TI OMAP 3430 ele faz par com um chip acelerador IVA 2+, que é capaz de decodificar vídeos H.264 ou MPEG4 a 720×480 e 25 a 30 FPS (qualidade de DVD), o que não apenas permite assistir vídeos não-HD sem precisar primeiro convertê-los usando o PC, mas fazê-lo sem comprometer a autonomia das baterias.

Graças à técnica de fabricação de 65 nm, os chips Cortex A8 são mais eficientes que os antigos ARM11 (90 nm), demandando menos energia para executarem o mesmo volume de operações. O sistema de gerenciamento de energia é também mais eficiente, fazendo com que o consumo elétrico quando o processador ocioso seja de apenas alguns miliwatts, praticamente insignificante.

O grande problema é que com um sistema mais rápido você tende a fazer mais coisas (navegar em mais páginas, deixar mais aplicativos carregados em segundo plano, etc.) o que faz com que no final o consumo elétrico total acabe sendo maior. Isso explica o fato de muitos dos smartphones baseados no A8 oferecerem uma autonomia longe do ideal, obrigando o dono a recarregar todas as noites.

Em seguida temos o Cortex A5, que é o caçula da família. Como a numeração sugere, ele é um processador de baixo custo e baixo consumo, destinado a substituir os chips ARM9 e ARM11 nos dispositivos mais simples. Ele pode abrir as portas para a criação de smartphones de baixo custo ou de aparelhos com uma autonomia muito maior, além de ser uma opção ao uso do Cortex A8 e A9 em smartbooks e players de mídia low-end.

Do ponto de vista da arquitetura, ele é basicamente uma versão reduzida do Cortex A8, que mantém o mesmo conjunto de instruções, mas adota uma arquitetura mais simples, baseada em uma única unidade de processamento (single-issue), com um pipeline muito mais curto, de apenas 8 estágios. Essa mudança faz com que ele não seja capaz de atingir frequências de clock tão altas, mas em compensação seja muito menor e ofereça um consumo elétrico por ciclo muito mais baixo.

arm_html_7bbba1e4

O Cortex A5 mantém o cache L1 de 64 KB (dois blocos de 32 KB para dados e instruções), mas abandona o uso do cache L2, já que o ganho de desempenho não compensaria o aumento no tamanho do chip. Por ser um processador single-issue e com um pipeline curto, o Cortex A5 não é tão dependente do cache quanto os dois irmãos mais velhos e a ideia central da arquitetura é justamente manter a simplicidade. Vale lembrar que os processadores ARM9 e ARM11 também não utilizam cache L2 e isso não compromete o desempenho.

Além de ser produzido em versões single-core, o A5 suporta também o uso de 2, 3 ou 4 núcleos (a escolha fica por conta do fabricante), o que o torna uma forte opção de processador multicore para smartphones, já que é menor e mais econômico que o Cortex A9.

Produzido usando uma técnica de 40 nm, cada Cortex A5 ocupa uma área de apenas 0.9 mm² (incluindo os 64 KB de cache L1), o que é menos de 4% do tamanho do Atom de 45 nm (com seus 25 mm²). Mesmo uma versão quad-core do A5 ocuparia apenas 6 mm² (incluindo os circuitos de apoio adicionais), o que seria ainda apenas um quarto da área do Atom. Uma área menor significa processadores mais baratos e mais espaço para incluir aceleradores e outros componentes diversos, resultando em SOCs mais completos.

Os processadores Cortex A9 (e mesmo as versões quad-core do A5) oferecem um desempenho por clock bastante competitivo em relação ao Atom. Entretanto, existe uma grande barreira com relação à adoção deles em computadores pessoais, que são os sistemas operacionais.

Não é segredo para ninguém que apesar do Linux vir lentamente crescendo em volume de usuários ao longo dos anos, o sistema operacional mais usado em micros PC é o Windows, que não possui uma versão para processadores ARM. A Microsoft oferece apenas o Windows Mobile, que é muito limitado e possui um conjunto reduzido de softwares.

Com isso, quase todos os projetos de smartbooks, tablets e outros dispositivos baseados em processadores ARM tem sido baseados no Linux, que possui um port ARM bastante completo. Dois bons exemplos são os tablets da Nokia (N770, N800 e N810, juntamente com o N900, que virou smartphone), que são são baseados no Maemo e os diversos dispositivos baseados no Android.

Eles oferecem bons recursos de navegação web, leitores de PDF, organizadores pessoais, players de mídia, jogos e outras funções, mas naturalmente não são capazes de rodar o AutoCAD ou o Photoshop (ou mesmo distribuições Linux regulares, compiladas para processadores x86), o que cria uma divisão clara entre a plataforma ARM e a plataforma PC e impede uma competição mais direta entre as duas.

Um fabricante poderia criar um mini-notebook ou até mesmo um mini-desktop baseado em um processador Cortex A9 quad-core, equipá-lo com 1 GB de RAM e um HD de 250 GB e um LCD de 15 polegadas, mas o fato de a base de softwares ser completamente diferente tornaria muito difícil vendê-lo.

Em vez disso, os fabricantes têm optado por utilizar os chips ARM em dispositivos de acesso à web (smartphones, smartbooks, etc.) e em dispositivos especializados, como Media Centers, atacando algumas áreas que são território dos PCs, mas sem competir com eles diretamente.

Entretanto, as coisas podem começar a esquentar caso alguma empresa desenvolva um sistema operacional para desktops ARM baseado em Linux (como no caso do port do Ubuntu para ARM ou o Maemo) que seja bem aceito pelo público, permitindo que empresas criem “PCs” baseados em processadores ARM e concorram mais abertamente com os processadores x86.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X