Uma das mudanças mais notáveis na arquitetura de um smartphone em relação à de um PC é o uso de processadores ARM em vez de chips x86. Os chips ARM são processadores RISC de 32 bits, que apresentam uma arquitetura extremamente otimizada, com poucos transístores e um consumo elétrico extremamente baixo.
Os processadores ARM usados nos aparelhos atuais são, em sua maioria, chips ARM7, ARM9 e ARM11. Os chips ARM11 são as atuais estrelas, usados em aparelhos como o Nokia N95, o HTC TyTN II e o iPhone, enquanto os ARM9 são comuns em aparelhos mais antigos, como os Nokia E61 e E62 e diversos modelos da Sony Ericsson, Siemens e outros fabricantes.
Os chips ARM11 oferecem um desempenho por ciclo ligeiramente superior (1.2 DMips por MHz, contra 1.1 DMips por MHz dos ARM9) mas a grande diferença do ponto de vista do desempenho entre as duas famílias reside no número de estágios de pipeline usados no processamento das instruções. Os chips ARM9 utilizam um pipeline de 5 estágios, enquanto os ARM11 utilizam um pipeline de 8 estágios.
Similar ao que temos nos processadores para micros PC, o uso de mais estágios de pipeline permite que cada estágio execute um volume menor de processamento por ciclo, o que permite que o processador opere a uma freqüência mais elevada. Uma analogia simples seria com a de uma linha de produção, onde cada estágio de pipeline corresponde a um operário. Se o trabalho é dividido entre um número maior de operários, cada um passa a executar um número menor de passos e a esteira pode correr mais rápido, resultando em uma produção maior.
Isso explica por que os processadores baseados em chips ARM9 ficam restritos à casa dos 200 a 250 MHz (ficando com isso restritos aos aparelhos mais antigos, ou mais baratos), enquanto os chips mais recentes, baseados em processadores ARM11 atingem freqüências de 400 a 600 MHz.
Os chips ARM7, por sua vez, são processadores muito mais simples, que foram originalmente usados em dispositivos da década de 1990, como o Psion 5 e o Apple Newton, mas que recentemente ressurgiram como chips auxiliares, usados como parte do transmissor 3G. Por serem muito simples, eles desempenham essa tarefa de forma bastante eficiente, consumindo menos energia que outros chips precisariam para executar a mesma tarefa.
A partir de 2009 teremos a migração para os chips baseados ARM Cortex A8, que utiliza uma arquitetura mais complexa, mas em compensação oferece um desempenho por clock consideravelmente superior (de até 2 DMips por MHz) e é capaz de operar a até 1.0 GHz. Ele é usado, por exemplo, no OMAP3430.
Uma questão interessante sobre os chips ARM é que eles não são produzidos por uma única empresa, como no caso dos processadores da Intel, mas sim licenciados e produzidos por diversos fabricantes. A ARM Ltd. (www.arm.com), que é a responsável pelo desenvolvimento dos chips e detentora dos direitos sobre a arquitetura, não produz chips, se limitando a desenvolver os projetos e licenciá-los 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, Texas Instruments e a Samsung, que desenvolvem soluções próprias, incluindo controladores auxiliares e modificações diversas.
Chips multicore: Assim como nos PCs, o clock dos processadores móveis é atualmente limitado não pelo que os chips podem realmente oferecer, mas sim pelo consumo elétrico máximo sob o qual eles devem trabalhar. Do ponto de vista da arquitetura, não seria difícil produzir processadores ARM capazes de operar a 2 ou mesmo 3 GHz, o problema é que operando a essa freqüência o consumo ficaria acima da casa dos 10 watts e eles precisariam de dissipadores de cobre e coolers para funcionarem.
Devido a isso, a freqüência máxima dos processadores móveis tem ficado na faixa dos 450 a 600 MHz e isso não deve mudar muito a curto prazo. A cada nova geração os fabricantes arriscam um processador com clock um pouco mais alto, mas os avanços são lentos e cautelosos.
A solução encontrada para produzir processadores mais rápidos, sem com isso aumentar exageradamente o consumo foi a mesma adoada nos processadores para desktop, ou seja, passar a desenvolver processadores com vários núcleos, em vez de aumentar a freqüência.
Ao contrário do que pode parecer à primeira vista, um processador com um único núcleo, operando a 1 GHz, consome muito mais do que um processador com dois núcleos operando a 500 MHz, pois o clock maior aumenta o gate leakege (a energia perdida na forma de calor cada vez que um transístor muda de estado) e torna necessário aumentar a tensão (voltagem) do processador. Com um sistema de gerenciamento de energia bem desenvolvido, os núcleos adicionais consomem energia apenas quando estão sendo realmente usados, já que o sistema pode desligá-los quando não estão em uso.
Uma dúvida comum é que as especificações de diversos aparelhos atuais falam em dois processadores. Mesmo o Nokia E61, que foi lançado no final de 2005 aparece na página da Nokia como sendo “dual CPU”. A questão é que nesses casos o segundo processador funciona na verdade como um coprocessador, destinado a auxiliar o processador principal em tarefas específicas. Os E61, E61i e E62, por exemplo, são baseados no chip TI OMAP1710, que inclui um processador ARM9 e um chip DSP TMS320C55x, especializado em operações de codificação e decodificação de áudio (ou seja, decodificar arquivos de áudio e vídeo, fazer a compressão do áudio em aplicativos de VoIP, etc) e operações de ponto flutuante:
O E61 e o E61i possuem dois destes processadores, daí o “dual-CPU”. A grande observação é que o segundo processador não é usado como uma segunda CPU, mas sim como um coprocessador, encarregado fazer o processamento relacionado à transmissão de voz e de dados utilizando a rede 3G.
O uso do processador auxiliar não é uma exclusividade do E61, mas sim uma característica comum em praticamente todos os smartphones com suporte a 3G. Devido à velocidade e ao complexo sistema de modulação, a transmissão de dados usando uma rede 3G exige uma boa dose de processamento, se não fosse o processador auxiliar, esta tarefa recairia sobre o processador principal, o que deixaria os aparelhos muito lentos enquanto estivessem transmitindo dados.
O E62, que é o modelo “quase-gêmeo” do E61, é baseado no mesmo processador, o mesmo TI OMAP1710. Entretanto, ele utiliza apenas um processador em vez de dois, o que faz com que toda a modulação precise ser feita pelo processador principal. Este é o principal motivo de ele ser mais lento em algumas operações e, principalmente, de não oferecer suporte a 3G.
Apesar disso, smartphones com processadores multi-core podem se tornar uma realidade nos próximos anos. O chip mais promissor é o ARM Cortex A9 MPCore (sucessor do Cortex A8), que é composto por 4 núcleos, cada um com um coprocessador aritmético independente e uma pequena quantidade de memória cache:
Colocar um processador com 4 núcleos em um smartphone, cujo consumo elétrico é severamente limitado pela bateria pode parecer uma idéia bastante estúpida à primeira vista, mas na prática não é tão ruim assim.
A principal questão é que, assim como outros processadores ARM, o A9 inclui um sistema de gerenciamento de energia bastante eficiente, de forma que o processador pode ativar e desativar os núcleos de acordo com a demanda. A freqüência de operação de cada um pode também ser ajustada conforme o volume de carga, de forma que, na prática, o consumo elétrico do processador pode ser ajustado de forma bastante eficiente de acordo com o uso. Em um projeto bem desenvolvido, o processador ficaria com apenas um dos núcleos ativado na maior parte do tempo, e os outros seriam ativados apenas quando vários aplicativos fossem usados simultaneamente, ou em tarefas específicas, como em jogos capazes de tirar proveito dos vários núcleos.
A principal vantagem de um aparelho com vários núcleos é a possibilidade de realizar mais do que uma tarefa sem que ele engasgue. Você poderia chavear para o navegador para verificar alguma coisa rápida sem que o som do vídeo que estava assistindo (e que continua sendo processado em segundo plano) comece a engasgar enquanto o navegador monta as páginas, por exemplo.
Teoricamente, em algumas tarefas poderiam ser executadas usando menos energia em um processador com vários núcleos, já que um processador com 4 núcleos operando a 150 MHz pode utilizar uma tensão mais baixa e assim consumir menos energia que um processador com apenas um núcleo operando a 600 MHz, por exemplo. Naturalmente, o inverso também pode ocorrer, já que bugs e softwares em loop podem fazer com que os 4 cores passem a operar na freqüência máxima, acabando rapidamente com a carga da bateria.
A previsão é que os primeiros smartphones com processadores multi-core cheguem ao mercado a partir de 2010. Vamos torcer para que até lá os fabricantes consigam aparar as arestas e oferecer aparelhos onde os cores adicionais tragam melhoras positivas e não apenas autonomias de bateria ainda menores.
Esta postagem foi modificada pela última vez em 23/03/2011 14:35