Problemas no Processador Exynos e as Escolhas de Processadores da Divisão Móvel da Samsung

02/06/2013 13:02

Nos últimos meses tem havido um amplo debate sobre as escolhas do sistema do chip (SoC) que a divisão móvel da Samsung tem feito para seus produtos recentes e futuros.

Em janeiro, durante o anúncio oficial CES 2013 (e várias semanas antes por meio de rumores na internet) analistas coreanos (e eu tamb´me embora não sseja coreano) previram que o S4 Galaxy viria com o próprio Exynos Octa da empresa (eu apenas não botava fé de que a Samsung lançaria dois modelos com processadores diferentes). A maioria das pessoas não sabem o que anda acontecendo nos bastidores da Samsung.

A System LSI Businesse da Samsung (unidade de negócios da divisão de semicondutores da empresa), teve vários projetos de chip em sua mesa de projetos. Sabemos com certeza do 5410 (Octa), o 5450 e o 5440, ambos chip quadcore A15 que parecem nunca ter sido lançados e o 5210, um chip big.LITTLE (supostamente numa configuração 2 + 2).

A divisão de smartphones tomou a decisão de mudar o provedor de chip  para muitas variantes do S4. Há cada vez mais evidências que podem ser encontradas em sobreposições de códigos fonte oficiais com variantes locais específicas das plataformas Qualcomm e Exynos (Samsung). Variantes JF, que são baseados nos chips Snapdragon da Qualcomm foram sobrepostos com variantes JA baseados na plataforma Exynos (Samsung).

As variantes coreana (jf_ktt, jf_lgt, jf_skt <> jaltektt, jaltelgt, jalteskt), européia (jf_eur <> jalte) e japonêsa (jf_dcm <> jaltedcm) foram desenvolvidas para ambas as plataformas. A variante coreana foi a única que realmente chegou ao mercado com a plataforma Exynos, ao contrário da versão 3G global onde não há nenhuma evidente participação da Qualcomm (ou de seus códigos fonte).

O desenvolvimento caótico para todo os smartphones parece ter sido a regra adotada pela Samsung: muitas peças mudaram de fornecedor em revisões de protótipos. Foi o que aconteceu com o controlador de touchscreen da Amtel que foi substituída por um similar da Synaptics. O controlador AMOLED da MagnaChip que estava em falta e o controlador de LED da Philips que foi substituído por um IC da Texas Instruments.

Tudo parece ter sido decidido de última hora, simplesmente pelo fato de que os seus drivers e firmwares são entregues junto com o produto, mesmo se eles não sejam utilizados (mas que alta de noção Samsung!).  Ou seja, as mudanças do revolucionário Samsung Galaxy S4 não foram bem planejadas (lembram que em alguns fóruns, no Facebook, etc eu disse que a Samsung liberou o Galaxy S4 prematuramente? Vai duvidar ainda? Na dúvida compre o Samsung Galaxy S4 Quadcore, pelo menos o processador é o Snapdragon da Qualcomm e você não precisará se preocupar com mortes súbitas e falhas monstruosas que sempre acontecem nos chip Exynnos da Samsung).

Como vocês devem lembrar do artigo que escrevi sobre o chip Exynos 5410 da Samsung (leia em: Processador OctaCore: Quando 4 + 4 Nem Sempre é Igual a Oito), como um chip big.LITTLE, espera-se que ele tenha diferentes tipos de modos de operação, algo que algumas vezes é definido e limitado apenas pelo software:

- Cluster migration, onde apenas um ou os outros clusters Quad Core trabalha(m) a qualquer momento;

- Core migration, onde ambos os grupos podem funcionar em conjunto, mas só existem até 4 CPUs físicos em linha, mas qualquer combinação de núcleos A7 e A15 podem ser efetuadas;

- Multiprocessamento heterogêneo: todos os oito núcleos estão online ao mesmo tempo.

O problema é que, para obter qualquer um dos dois últimos modos de funcionamento, uma peça específica de equipamento é necessáriapara que permita a utilização eficiente e útil desses modelos: o Cache-Coherrent-Interconect (ICC). De acordo com declarações da próprio ARM: "coerência entre hardware e CoreLink CCI-400 é uma parte fundamental do processamento big.LITTLE ARM".

O CCI Exynos da Samsung aparentemente é pobre em silício, não sendo  funcional mesmo ligado ao produto distribuído. Por este motivo o projeto do chip foi quase anulado. E só não foi por causa do trabalho na política de migração de cluster e por desviar o CCI inteiramente.

Internamente no LSI Busines da Samsung, até três projetos foram cancelados no ano passado. Não se sabe as razões para o seu cancelamento, no entanto, é dito que vários são os problemas relacionados (além dos já mencionados), assim como o consumo de energia inaceitável.

Atormentado por atrasos, erros de hardware e alto consumo de energia, pode-se ver o Exynos 5410 como um projeto liberado prematuramente pela Samsung (não considero um fracasso como alguns sites mencionam, pois precisa de aperfeicçoamento). A divisão de smartphones da Samsung está tão desanimada com a situação toda que seus próximos produtos principais deverão vir direto com os processadores da Qualcomm. Rumores de que o Samsung Galaxy Note 3 virá com um conjunto S800 estão provavelmente corretos.

Com projetos confirmados como o Samsung Galaxy Tab 3 que vem com um processador Intel, e no restante da nova linha Galaxy que virão com várias variantes do chip Snapdragon da Qualcomm S series, a divisão  de smartphones da Samsung está buscando fornecer ao usuário a melhor experiência possível (ignorando os seus próprios chip Exynos). E esta estratégia tem tudo para ser bem sucedida.

Quanto à Samsung LSI Business, as coisas parecem muito sombrias para os processadores in-house da Samsung. Estão falhando ao deixar de dar suporte, não só em termos de fornecimento de documentação de hardware adequado e de código-fonte para o público.

Gráficos de desempenho sem brilho e GPUs desatualizado tornaram-se uma espécie de padrão para a empresa, supostamente devido a uma falta de vontade de gastar o dinheiro em licenças de IP de empresas de terceiros. A utilização de GPUs Mali em seus chip deve-se a um acordo de licenciamento livre onde recebem a ARM como um parceiro principal. O uso surpresa da SGX 544MP3 no Exynos 5410 é devido ao pânico causado pelos próprios GPUs T6xx do Mali: mais uma vez uma questão de consumo de energia extremamente excessiva. A primeira geração da linha Midgard foi rapidamente desfeita, deixando o Exynos 5250 e seu T604 órfãos. Produtos como o T658 nunca foram utilizados e sequer são mencionados no site da ARM.

Os benefícios no consumo de energia que envolvem ter um esquema de migração de cluster em relação ao esquema de migração dos cores vem do fato de que, em determinado momento apenas um cluster seria ativado: isso elimina a necessidade de manter o poder a todo o cluster, incluindo seu cache L2. Isso também permite desligar o regulador que é dedicado para esse cluster, novamente ganhando algum benefício no consumo de energia. Há ainda um benefício adiconal por não ter o próprio CCI habilitado.

Apesar de todos esses fatos tecnicamente dar ao esquema de migração de cluster uma vantagem, eles não são exclusivos dele, e são possíveis com um esquema de migração de core também. A própria implementação da Samsung In-Kernel-Switcher no código fonte do kernel  (mesmo não funcionando) trata exatamente deste caso de uso.

É possível simular a migração de cluster, mas com a ajuda do CCI em um esquema de migração dos cores: ao invez de ter o cache L2 liberado para a memória principal e em seguida, voltar para o outro CPU (como é feito atualmente no Samsung Galaxy S4), ele utilizaria o CCI para transferir os dados. No produto distribuído atualmente, este é um problema de ineficiência do uso da energia, além de poder induzir micro-lags (que ninguém vai perceber, é claro).

A Samsung está investindo muito dinheiro no desenvolvimento de sua própria GPU IP a partir do zero. Não há muita informação disponível sobre quando vamos vê-la  em produtos reais, mas acabará por vir, se não for cancelada ou atrasada devido à sua implementação heterodoxo de uma design semelhante ao FPGA re-programável.

Por essas e outras eu digo: se for comprar o Samsung Galaxy S4, compre a versão 4G que usa o processador Snapdragon da Qualcomm.

E para terminar: eu não disse que o octa core foi liberado prematuramente??? Eu disse!