O papel dos dispositivos SBC baseados em ARM vs. dispositivos baseados em X86 e as tendências do mercado em 2023

De acordo com o GPT4, a partir de 2021, a dimensão do mercado global de processadores baseados em ARM foi avaliada em cerca de $17,7 mil milhões, com os dispositivos IoT a representarem uma parte significativa do mercado.

A Intel e outros dispositivos baseados em x86 ainda dominam o mercado, o tamanho do mercado correspondente era (claro) muito maior em 2021.

Lembre-se disso originalmente, mainframes (como o IBM System/360) foram uma grande fatia do mercado. Actualmente, o tamanho de mercado x86 anão do mercado mainframe - mas havia um ponto, quando este era o contrário!

x86 estabeleceu-se através de uma combinação única de IBM escolhendo esta arquitectura particular para o seu PC IBM, e o domínio do mercado que Microsoft DOS (MS-DOS) e, posteriormente, Microsoft Windows foram capazes de construir.

Historicamente, o Windows tem sido portado para outras CPUs. A Microsoft tentou repetidamente oferecer versões que também seriam executadas na arquitectura ARM - mas que (no passado) não suportariam as aplicações x86 herdadas. Não surpreendentemente, os clientes esperam certas coisas do Windows - tais como poder executar o Microsoft Word nos computadores correspondentes.

Hoje, estamos na era da informática de placa única. O SBC mais popular do planeta é o Raspberry Pi, e não corre (realmente) o Microsoft Windows, pelo menos a versão compatível com x86.

Aqui, a Microsoft, também tentou, e criou uma versão do Windows chamada Microsoft Windows IoT.

Existem computadores de placa única que executam Microsoft Windows, uma vez que são dispositivos baseados em x86 (por exemplo o LattePanda), mas isso não importa tanto. É por isso que o Raspberry Pi, que é baseado em ARM, é o SBC mais popular!

Vamos explorar algumas razões por detrás disto

Vantagens / desvantagens de ARM vs. x86

Historicamente, x86 tem sido agressivamente impulsionado pela Intel - cujo modelo de negócio é (ou devemos dizer que foi?) baseado em liderança tecnológica.

Em troca, a Intel poderia exigir preço premiumpelo menos nos seus produtos topo de gama.

x86 vantagens

  • alto desempenho (embora isso esteja a começar a desmoronar-se)
  • total compatibilidade com Microsoft Windows

AMD, o segundo classificado (que teve o seu grande avanço como segunda fonte para o produto baseado em x86 porque os militares precisavam de uma segunda fonte, se a memória me serve correctamente!) foi posicionado como a escolha mais consciente dos custos.

Eventualmente, os níveis de desempenho que a plataforma x86 atingiu foram significativamente mais elevados do que muitas aplicações necessárias.

O hardware especializado assumiu funções de processamento que eram ineficientes de executar no processador.

Por exemplo, se considerarmos o acelerador de hardware Coral AI (que por acaso distribuímos), ele funcionará mais rápido, mais eficiente em termos energéticos, e um BOM total mais baixo em cooperação com um Raspberry Pi, versus um sistema de alta potência baseado em x86 que seria capaz de executar o mesmo modelo de visão de rede neural no seu CPU.

O ARM é um sistema ecológico muito mais fracturado, mas com o ARM como licenciador da arquitectura garantindo uma certa interoperabilidade.

A ARM não fabrica chips (para o mercado de massas). Em vez disso, licencia os seus designs a empresas como a Broadcom (que por exemplo concebeu o SoC do Raspberry Pi), ou Rockchip - que é utilizado no RockPi, ou Tinkerboard SBCs, por exemplo.

Mais licenciados significam mais concorrência (contra a Intel, basicamente, apenas manter o mercado "refém" se quiserem o desempenho líder e o nome da marca).

Num sidenote, muitos destes fabricantes de chips não são realmente nomes familiares - não tão estabelecidos como a Intel. Quero dizer, que consumidor final se importa realmente se tem um chip Broadcom ou um dos seus concorrentes dentro dos seus routers? Isso era uma jogada de marketing muito inteligente da Intel na altura (Intel dentro) - mas eu divago.

ARM, em poucas palavras, oferece as seguintes vantagens:

  • menor custo componentes
  • utilização de energia muito eficiente
  • pode ser arrefecido passivamente em muitas aplicações (não é necessário ventoinha) - desenhos sem ruído possível!
  • as empresas podem misturar e combinar outros IPs nos seus SoCs (por exemplo, Rockchip usa GPUs Mali - também pela ARM, e a Broadcom usa a GPU VideoCore, que foi concebida internamente) como entenderem - tanto quanto sei não existem licenças x86 que lhe permitam fazer isso, por isso basicamente obtém o que é oferecido pela Intel, ARM, etc. - basicamente não há licença para o IP, tem de comprar chips reais
  • como resultado, estas empresas podem realmente direccionar o seu hardware para aplicações específicas (e obter melhor desempenho a um ponto de custo mais baixo!)

Por exemplo, nos SBCs frequentemente, existem codecs de vídeo específicos feitos como circuitos de hardware que permitem descodificar os codecs de vídeo mais populares (para reproduzir os vídeos dos gatos do YouTube).

O ARM avançou agora a um ponto em que alguns dos desenhos baseados nele são incorporados em produtos de maior velocidade do que os seus equivalentes Intel/x86. A Apple, por exemplo, demonstrou que com a arquitectura M2. Realmente joga bem com o design empresarial da Apple - que se concentra numa estreita integração do software, e do hardware subjacente.

A propósito, é por isso que a Apple MANAGED fez a transição para o ARM - controlam o sistema operativo, o hardware e o design SoC - asseguraram que as suas aplicações herdadas ainda pudessem ser executadas no novo hardware a velocidades aceitáveis!

A Microsoft não é capaz de o fazer, uma vez que eles têm um design empresarial diferente. Dependem de muitas empresas, por exemplo a ASUS, para criar PCs. Permitem que estes fabricantes de PC concorram entre si, impulsionando assim o volume do mercado - enquanto asseguram a interoperabilidade nesta plataforma de PC com o seu software. Para fazer a transição para a ARM, teriam de orquestrar uma pletora destes fabricantes, E teriam de construir uma camada de interoperabilidade, para fornecer suporte de software antigo. Uma vez que não conhecem o CPU em que acabarão por executar, não podem fazer uma promessa consistente ao mercado, de que o software antigo irá funcionar a velocidades aceitáveis. (OK, isto é demasiado simplista, mas teriam de colocar os fabricantes a bordo com uma nova estratégia de mudança para ARM, etc.)

Mercado alvo dos SBCs vs. PCs / servidores de secretária

Os computadores de placa única são frequentemente utilizados em aplicações industriais (como os chamados dispositivos de hardware incorporados), ou por entusiastas / funileiros, e também na educação.

Os computadores baseados em Microsoft Windows (e por extensão, a plataforma x86 que está intimamente ligada a este sistema operativo!) são utilizados em configurações de escritório, e tinham sido utilizados como computadores domésticos. As pessoas são criaturas de hábitos, habituam-se a um sistema operativo. Por exemplo, eu não consideraria utilizar Linux como o meu sistema desktop principal (além disso, simplesmente tem demasiada escolha!), uma vez que estou a utilizar Windows, e confio em algumas aplicações que conheço e utilizo há anos (por exemplo, a suite Adobe).

No meu smartphone, no entanto, tenho um sistema baseado no Android. O smartphone foi um reinício completo dos ecossistemas, e o CPU ARM podia jogar a sua grande vantagem de ser muito eficiente em termos energéticos. As pessoas estavam bem com um desempenho inferior num telemóvel, inicialmente. Hoje em dia, alguns destes smartphones são mais potentes do que os computadores de secretária que as pessoas têm. A vantagem do software Windows não importava, pois estes smartphones precisavam de aplicações completamente novas de qualquer forma. Quer dizer, ninguém concebido com um computador com GPS em mente, por exemplo. Ou com interfaces multi-toque - os PCs Windows utilizavam um sistema clássico de clique e ponto do rato, e eram na sua maioria estacionários.

Conseguem ver onde quero chegar com isto?

A arquitectura Windows PC/x86 tem uma certa nicho (embora seja muito grande), na qual existe na mente dos clientes. Isto é para aplicações desktop (o outro grande concorrente é a Apple com MacBooks, por exemplo, e cada vez mais livros cromados). É utilizado em trabalhos de escritório, por exemplo, para processar encomendas de Raspberry Pis por nós.

Também continua a ser relevante em servidores de topo de gama, embora os designs baseados em ARM também tenham começado a ir para lá - devido à eficiência energética, e ao custo, ARM é, em última análise, também um melhor ajuste no centro de dados.

Noutros campos, outros factores são importantes.

Desenhos embutidos, por exemplo, ATMs foram historicamente também construídos usando o Windows - talvez tenha por vezes reparado naquelas telas azuis em ATMs, ou instalações de sinalização digital em redor da cidade.

Não há necessidade de utilizar o Windows nestes dispositivos. O Linux é muitas vezes uma escolha melhor e mais fácil de gerir, e mais rentável de arrancar. Não há taxa de licença nas instalações Linux. O Linux é conhecido como um sistema operativo mais seguro. O Linux, finalmente, não bloqueia tanto na plataforma x86 como o Windows.

Nestes dispositivos especializados as suas aplicações desktop, como Word, Excel, etc., não importam em nada. Eles são frequentemente utilizados com aplicações especializadas para exibir vídeos, interagir com o cliente, ou mostrar-lhe em que nível se encontra (num elevador).

(sidenote: para mostrar em que nível se encontra no elevador, até o Linux é exagerado. Um simples microcontrolador serve perfeitamente! Observe esta área para dispositivos ainda mais simples que já não funcionam com um sistema operativo completo adequado)

Nos dispositivos incorporados - e esta é uma área enorme na qual os SBCs são vendidos - os custos são importantes. Muito. A eficiência energética é importante. Os designs x86 precisam de um melhor arrefecimento (devido à pior eficiência energética), o que muitas vezes significa que teria de acrescentar um design de ventilador, por exemplo ...

As estruturas de software para construir aplicações mudaram significativamente, muitas aplicações hoje em dia podem ser facilmente criadas quer para x86 ou ARM, por exemplo utilizando a estrutura Qt, ou tecnologias web.

Uma nova geração de engenheiros cresceu no node.js, JavaScript, e não se preocupam muito com a arquitectura de hardware subjacente.

custo: Agrupamento de janelas

custo: ARM vs. x86, fragmentação do mercado, concorrência, modelo de licenciamento diferente

RISC V