Por dentro do Apple A9, chip dos iPhones 6s e 6s Plus (parte 1)

Por Pedro Cipoli | 16 de Novembro de 2015 às 16h07

Já faz algum tempo que a Apple desenha seus próprios chips, projetando-os exclusivamente para os seus iDevices de forma que tanto software quanto hardware consigam alcançar seu potencial máximo. Como o sistema operacional é o mesmo, já que tanto iPhone, iPad, iPod e Apple TV usam alguma variação do iOS, é possível otimizar as características físicas dos chips Apple A exclusivamente para essa plataforma.

Nas próximas linhas vamos entender como isso funciona na prática, partindo de um pouco de história até chegar nos mitos sobre essa integração de plataforma.

Por que a Apple desenha seus próprios chips

Desenhar seus próprios chips não é uma exclusividade da Apple. Vários fabricantes adotam essa estratégia com diferentes graus de personalização e resultados práticos. A Qualcomm, por exemplo, utilizou o Krait durante um bom tempo nos seus chips tops de linha, e voltará a fazê-lo em 2016 com o Kryo no Snapdragon 820 e uma nova Adreno. A NVIDIA projetou seu próprio core, conhecido como Denver, pareado com suas próprias soluções de GPU, sendo os exemplos mais famosos no mercado.

Já fabricantes como Samsung não possuem núcleos próprios. Por mais que os Exynos da Samsung sejam projetados e produzidos in-house, eles utilizam implementações praticamente puras da linha Cortex da ARM, o mesmo válido para GPUs. A LG começará a fazer o mesmo no seus chips futuros, conhecidos como Nuclus, utilizando a mesma estratégia da Samsung: escolher o que a ARM em de mais recente e criar um chip exclusivo para seus smartphones, mas utilizando implementações literais.

Apple A9

Até o iPhone 4s (Apple A5) em 2011 a Apple fazia o mesmo, mudando pouca coisa em relação ao design original da ARM. Ele trazia dois núcleos Cortex-A9 rodando a 1 GHz, 512 MB de memória RAM e GPU PowerVR SGX543 dual-core, que era mais do que o suficiente para rodar o iOS 5 quando lançado. A coisa começou a mudar com o iPhone 5 com o Apple A6, o primeiro modelo a trazer um design exclusivo, ainda sem grandes mudanças na época, já que ainda trazia o conjunto de instruções ARM v7 (32 bits) e poucas mudanças de arquitetura.

Essa geração trazia clocks um pouco mais altos (1,3 GHz), pequenos ajustes nos controles de tensão, ajustes de cache e estágios de frequência, modificações que resultaram na nomenclatura “Swift” que também deu nome à linguagem de programação para o iOS para tirar proveito dessas modificações. As melhorias finais de performance não se deveram somente ao núcleo diferenciado, mas sim ao conjunto de mudanças, já que o iPhone 5 foi o primeiro a trazer 1 GB de memória RAM, além de vir com uma GPU triple-core.

iPhone 5c, 5s, 6 e 6 Plus

A verdadeira, digamos, “revolução” ocorreu com o iPhone 5S e chip Apple A7. Ele ainda trazia dois núcleos com o mesmo clock, só que eram núcleos “Cyclone”. Boa parte do mérito do Apple A7 foi atribuída ao suporte a 64 bits, mas o que aconteceu foi, na verdade, a adoção do conjunto de instruções ARM v8 e adaptação do iOS para tal, além de um “tuning” ainda mais agressivo na quantidade de cache e ajustes de tensão. Outra mudança foi na memória RAM, ainda com 1 GB, mas usando DDR3 em vez de DDR2, o que impulsionou também a performance da já poderosa PowerVR G6430 quad-core, GPU do Apple A7.

Com evoluções contantes e ajustes cada vez mais agressivos no design dos chips, a Apple continuou a desenhar seus próprios núcleos (e continuará por um bom tempo) em gerações sucessivas, com núcleos “Typhoon” nos iPhone 6 e 6 Plus (Apple A8) e núcleos “Twister” nos iPhones 6s e 6s Plus. Mas por que a Apple passou a projetar seus próprios núcleos?

Apple A9

Essa escolha de projetar chips próprios em vez de utilizar designs de empresas já consagradas como Qualcomm ou NVIDIA começou quase ao mesmo tempo em que fabricantes com Android fizeram a sua transição para modelos quad-core, enquanto a Apple continua usando somente dois núcleos até os modelos mais recentes. Em vez de aumentar a quantidade de núcleos, a escolha foi otimizar o que já existe, com uma clara sinalização de que dois núcleos são suficientes para rodar o iOS.

O iPhone 5 representou essa mudança de foco. Projetistas de chips para Android e Windows Phone focaram aumentar a quantidade de núcleos esperando que o Android tirasse proveito desse paralelismo extra enquanto a Apple escolheu a eficiência por núcleo. O fato de ter que lidar com apenas um sistema operacional ajudou e muito, já que os chips da Qualcomm, por exemplo, são usados tanto no Android quanto no Windows Phone e BB OS (usado nos BlackBerries), o que realmente dificulta otimizações extremas para três sistemas operacionais ao mesmo tempo.

Chagou a hora de entender o que o Apple A9, que equipa os iPhones 6s e 6s Plus, tem de especial para conseguir extrair tanto desempenho usando “somente dois núcleos”.

Por dentro do Apple A9

Os iDevices são motivos de piada entre muitos por serem “defasados”, já que o Android usa oito núcleos há anos e já conta com projetos de chips com 10 núcleos, enquanto o iPhone, coitado, só tem dois núcleos. Como um dual-core de 1,84 GHz pode concorrer com um octa-core (4x 2,1 GHz Cortex-A57 + 4x 1,5 GHz Cortex-A53), caso do Exynos 7420 da Samsung, que equipa os principais flagships do ano, como Galaxy S6, S6 Edge, Note 5 e S6 Edge+? Colocando-os lado a lado, usando somente a quantidade de núcleos e clocks como referência, parece que o Apple A9 perde feio.

Até mesmo se comparado com o Apple A8, o A9 não parece grande coisa, já que o ganho de frequência é bem pequeno (de 1,4 GHz para 1,84 GHz). Mais importante do que essas comparações de ficha técnica, porém, é o fato de que os dois núcleos “Twister” são internamente diferentes dos núcleos “Typhoon” do Apple A8 e das implementações literais dos núcleos ARM que a Samsung utiliza no Exynos.

Apple A9

Além do clock maior, os núcleos “Twister” receberam um upgrade de cache L2 de 1 MB para 3 MB e cache L3 de 4 MB para 8 MB. A escolha do dimensionamento de caches é essencial para o desempenho final de um chip, tão importante quanto a quantidade de núcleos ou clock de operação. Aliás, o tamanho dos caches impactam diretamente no custo de produção do chip, motivo pelo qual muitos fabricantes de chips, inclusive de PCs, optam por quantidades menores.

Apple A9

Outros pontos são a diminuição de penalidade do circuito de branch prediction, que caiu de 16 ciclos (em média, varia entre 14 e 19) para 9, adoção de estágios mais precisos de operação e diminuição da latência de operações aritméticas. Naturalmente, o sistema tem que “entender” esse aumento de cache e ser otimizado para tirar proveito disso, de forma que o iOS 9 tenha uma parcela importante de mérito nesse aumento de velocidade, onde a famosa “integração entre software e hardware” entra em operação.

Como dissemos em nosso artigo sobre processadores de oito núcleos, os cores são apenas uma pequena parte do chip, não explicando completamente o ganho de 70% de CPU que a Apple anuncia. Outro ponto é a memória RAM, que mudou do LPDDR3 para o LPDDR4, aumentou de 1 GB para 2 GB, funciona com uma maior frequência e opera com tempos menores de latência, com um ganho em cenários reais de até 80%, o que beneficia tanto a CPU quanto a GPU, que compartilham a mesma memória.

Fontes: Anandtech 1, 2, 3 e 4, GSMArena 1 e 2, PhoneArena, BGR, WCCFtech, The Verge, Apple Insider

Inscreva-se em nosso canal do YouTube!

Análises, dicas, cobertura de eventos e muito mais. Todo dia tem vídeo novo para você.