<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>HardGNU</title>
    <link>https://paper.wf/hardgnu/</link>
    <description>Blog sobre GNU, Linux, software livre, porém com conteúdo mais técnico e avançado. Meu outro blog sem conteúdo técnico é o @easygnu@paper.wf.</description>
    <pubDate>Tue, 09 Jun 2026 07:25:25 +0000</pubDate>
    <item>
      <title>Por que demoramos tanto para trazer processadores ARM aos PCs?</title>
      <link>https://paper.wf/hardgnu/por-que-demoramos-tanto-para-trazer-processadores-arm-aos-pcs</link>
      <description>&lt;![CDATA[No mercado de processadores para computadores de uso pessoal (desktops e laptops) temos duas empresas competindo: Intel e AMD. A Intel desenvolve e fabrica sua prória arquitetura, chamada x86, sob a qual tem todos os direitos reservados. Historicamente, a Intel licenciou a arquitetura para algumas empresas, sendo a AMD a única que permaneceu relevante no mercado. &#xA;&#xA;Arquitetura de um processador se refere ao conjunto de instruções lógicas que ele suporta. A &#34;computação&#34; que um computador faz é, simplificando bastante, ler instruções e dados contidos na memória principal (RAM), executar uma instrução nesses dados, possivelmente guardar o resultado novamente na RAM como dado para outra instrução, e esperar a próxima instrução para executar.&#xA;&#xA;A Intel foi fundada em 1968. O primeiro processador x86 desenvolvido pela Intel foi lançado em 1978, chamado de 8086. Naquele tempo, a RAM era cara, lenta e a programação era de baixíssimo nível de abstração, frequentemente códigos eram escritos na própria linguagem de máquina, especificando manualmente cada instrução. Para resolver esses e outros problemas, a Intel adotou a abordagem de incluir instruções mais complexas no processador. Essa abordagem é conhecida como CISC (Complex Instruction Set Architecture).&#xA;&#xA;A título de exemplo, vamos supor um processador extremamente simples que faça apenas as quatro operações básicas (adição, subtração, multiplicação, divisão) e queremos implementar a operação de fatorial. A abordagem CISC faria a implementação de fatorial no próprio processador como uma única instrução, enquanto uma abordagem RISC (Reduced Instruction Set Architecture) faria o fatorial como multiplicações sucessivas ou, se for mais reduzido ainda, a multiplicação como somas sucessivas.&#xA;&#xA;(Instruções complexas referem-se àquelas que combinam várias operações em uma única execução. O exemplo do fatorial é fictício e tem como objetivo facilitar o entendimento, não refletindo casos reais.)&#xA;&#xA;As vantagens de CISC nesse caso são:&#xA;&#xA;Menor acesso à RAM, pois o fatorial n! precisaria de &#39;n-1&#39; acessos à memória para busca de instruções e dados na abordagem RISC. Na abordagem CISC, apenas uma instrução e um dado é suficiente para o processador executar.&#xA;Programação mais fácil, pois escrever &#39;n!&#39; é mais fácil do que escrever &#39;n(n-1)(n-2)...2&#39;&#xA;&#xA;No entanto, existem desvantagens consideráveis no CISC:&#xA;&#xA;Tamanho (área) do processador é maior, porque precisa de mais transistores para implementar mais instruções&#xA;O consumo de energia do processador também é maior, porque existe mais circuito para ligar&#xA;O preço também é mais caro, porque precisa de mais material para fabricação e é mais complexo para projetar&#xA;&#xA;Hoje em dia, com memórias muito rápidas e eficientes e linguagens de programação de alto nível com baixíssima barreira de entrada, faz sentido usar CISC? Talvez não, e isso foi percebido pela Apple.&#xA;&#xA;Houve um grande investimento da Apple nos seus processadores Apple Silicon série M (M1, M2, M3, e agora M4). Esses processadores utilizam a arquitetura ARM, a mais conhecida do tipo RISC, e licenciada pela empresa ARM Holdings. Ao contrário da Intel, a ARM não fabrica chips, mas licencia para vários fabricantes diferentes. É essa a arquitetura usada em praticamente todos os smartphones Android porque é o que faz sentido: baixo tamanho e baixo consumo para um dispositivo portátil que cabe no bolso e passa a maior parte do tempo ligado em uma bateria. Mas se é tão eficiente assim, por que não utilizar em PC de mesa ou notebook?&#xA;&#xA;O que o processador &#34;entende&#34; para executar é uma correspondência em 0s e 1s da linguagem de máquina, aquela que contém instruções e dados, e que é chamada de assembly. Cada arquitetura possui sua própria linguagem, mas quando programamos em outras linguagens mais &#39;fáceis&#39;, essas linguagens são traduzidas para essa linguagem de máquina, tornando-as mais ou menos independentes da arquitetura que está baixo. Essa tradução é feita por um programa chamado compilador. Esse compilador precisa ter suporte para cada arquitetura diferente e, em alguns casos, o desenvolvedor ou outra pessoa precisa recompilar o programa para uma nova arquitetura. Mas, surgem algumas perguntas:&#xA;&#xA;Qual o interesse comercial do desenvolvedor em adaptar o código e recompilar para uma arquitetura menor e nichada? Vale o investimento?&#xA;Se eu tenho interesse em adaptar o código para meu uso, como vou fazer isso se apenas o desenvolvedor, não eu, tem acesso ao código?&#xA;&#xA;Em outras palavras, um software altamente complexo como um sistema operacional (Windows, Mac, Linux) precisa de investimento financeiro proporcional para rodar em outra arquitetura. Então, qual o interesse da empresa em investir nisso, considerando que apenas ela pode fazer isso?&#xA;&#xA;Devido a ser software livre e código aberto e popular em servidores e entre pessoas técnicas, o kernel Linux possui suporte a várias arquiteturas diferentes. Atualmente, a &#34;distribuição universal&#34;, Debian, lista 10 arquiteturas diferentes. O outro sistema operacional de origem semelhante, NetBSD, lista nada menos do que 42 arquiteturas suportadas. Porém, como vender esses sistemas para o amplo mercado? Esse é o problema, e é o motivo pelo qual ainda não temos competição ampla de arquiteturas no mercado. Temos apenas alguns poucos fabricantes de nicho vendendo máquinas com outras arquiteturas, mas que &#34;só rodam Linux&#34;:&#xA;&#xA;Pinebook Pro (com arquitetura ARM)&#xA;Framework (com arquitetura RISC-V, ainda não lançado)&#xA;&#xA;Nesse sentido, o uso de software de código fechado pode limitar a inovação nesse mercado. Se o software executado em arquiteturas alternativas fosse de amplo uso, poderia ter havido mais pesquisa e desenvolvimento em alternativas modernas e mais eficientes, desde mais cedo na história. Em resumo, ainda utilizamos x86 fundamentalmente por dois motivos: cultura e legado.&#xA;&#xA;Outras arquiteturas interessantes são o RISC-V e POWER. As duas têm a ideia de &#34;hardware aberto&#34;.&#xA;&#xA;O RISC-V, como o nome já diz, é uma arquitetura do tipo RISC e pode competir diretamente com ARM. Seu diferencial é que é totalmente aberta, não há uma empresa licenciando por trás. Qualquer fabricante pode implementar o seu processador com zero burocracia. Existe um consórcio de várias empresas por trás tentando trazer essa arquitetura para o mainstream.&#xA;&#xA;Já a arquitetura POWER, da IBM, tende mais ao CISC e compete com x86. Ao menos dois projetos nichados vendem dispositivos com essa arquitetura: Talos II, voltado ao mercado de servidores, e PowerPC Notebook, um notebook para uso pessoal.&#xA;&#xA;Como será o mercado daqui pra frente? Qual a arquitetura do futuro? Não sei, só sei que vou continuar usando software livre e facilitando o desenvolvimento de tecnologias melhores.&#xA;&#xA;Sobre mim:&#xD;&#xA;&#xD;&#xA;Monaĥo (Vinicius) é ativista vegano e de software livre.&#xD;&#xA;&#xD;&#xA;Contato:&#xD;&#xA;&#xD;&#xA;Mastodon]]&gt;</description>
      <content:encoded><![CDATA[<p>No mercado de processadores para computadores de uso pessoal (desktops e laptops) temos duas empresas competindo: <a href="https://pt.wikipedia.org/wiki/Intel" rel="nofollow">Intel</a> e <a href="https://pt.wikipedia.org/wiki/Advanced_Micro_Devices" rel="nofollow">AMD</a>. A Intel desenvolve e fabrica sua prória arquitetura, chamada <a href="https://pt.wikipedia.org/wiki/X86" rel="nofollow">x86</a>, sob a qual tem todos os direitos reservados. Historicamente, a Intel licenciou a arquitetura para algumas empresas, sendo a AMD a única que permaneceu relevante no mercado.</p>

<p>Arquitetura de um processador se refere ao conjunto de instruções lógicas que ele suporta. A “computação” que um computador faz é, simplificando bastante, ler instruções e dados contidos na memória principal (RAM), executar uma instrução nesses dados, possivelmente guardar o resultado novamente na RAM como dado para outra instrução, e esperar a próxima instrução para executar.</p>

<p>A Intel foi fundada em 1968. O primeiro processador x86 desenvolvido pela Intel foi lançado em 1978, chamado de 8086. Naquele tempo, a RAM era cara, lenta e a programação era de baixíssimo nível de abstração, frequentemente códigos eram escritos na própria linguagem de máquina, especificando manualmente cada instrução. Para resolver esses e outros problemas, a Intel adotou a abordagem de incluir instruções mais complexas no processador. Essa abordagem é conhecida como <a href="https://canaltech.com.br/hardware/o-que-e-a-arquitetura-cisc/" rel="nofollow">CISC</a> (Complex Instruction Set Architecture).</p>

<p>A título de exemplo, vamos supor um processador extremamente simples que faça apenas as quatro operações básicas (adição, subtração, multiplicação, divisão) e queremos implementar a operação de fatorial. A abordagem CISC faria a implementação de fatorial no próprio processador como uma única instrução, enquanto uma abordagem <a href="https://canaltech.com.br/hardware/o-que-e-a-arquitetura-risc-com-conjunto-reduzido-de-instrucoes/" rel="nofollow">RISC</a> (Reduced Instruction Set Architecture) faria o fatorial como multiplicações sucessivas ou, se for mais reduzido ainda, a multiplicação como somas sucessivas.</p>

<p>(Instruções complexas referem-se àquelas que combinam várias operações em uma única execução. O exemplo do fatorial é fictício e tem como objetivo facilitar o entendimento, não refletindo casos reais.)</p>

<p>As vantagens de CISC nesse caso são:</p>
<ul><li>Menor acesso à RAM, pois o fatorial n! precisaria de &#39;n-1&#39; acessos à memória para busca de instruções e dados na abordagem RISC. Na abordagem CISC, apenas uma instrução e um dado é suficiente para o processador executar.</li>
<li>Programação mais fácil, pois escrever &#39;n!&#39; é mais fácil do que escrever &#39;n<em>(n-1)</em>(n-2)<em>...</em>2&#39;</li></ul>

<p>No entanto, existem desvantagens consideráveis no CISC:</p>
<ul><li>Tamanho (área) do processador é maior, porque precisa de mais transistores para implementar mais instruções</li>
<li>O consumo de energia do processador também é maior, porque existe mais circuito para ligar</li>
<li>O preço também é mais caro, porque precisa de mais material para fabricação e é mais complexo para projetar</li></ul>

<p>Hoje em dia, com memórias muito rápidas e eficientes e linguagens de programação de alto nível com baixíssima barreira de entrada, faz sentido usar CISC? Talvez não, e isso foi percebido pela Apple.</p>

<p>Houve um grande investimento da Apple nos seus processadores <a href="https://tecnoblog.net/responde/o-que-e-apple-silicon-processadores/" rel="nofollow">Apple Silicon</a> série M (M1, M2, M3, e agora M4). Esses processadores utilizam a arquitetura <a href="https://www.tecmundo.com.br/produto/211758-processador-arm.htm" rel="nofollow">ARM</a>, a mais conhecida do tipo RISC, e licenciada pela empresa ARM Holdings. Ao contrário da Intel, a ARM não fabrica chips, mas licencia para vários fabricantes diferentes. É essa a arquitetura usada em praticamente todos os smartphones Android porque é o que faz sentido: baixo tamanho e baixo consumo para um dispositivo portátil que cabe no bolso e passa a maior parte do tempo ligado em uma bateria. Mas se é tão eficiente assim, por que não utilizar em PC de mesa ou notebook?</p>

<p>O que o processador “entende” para executar é uma correspondência em 0s e 1s da linguagem de máquina, aquela que contém instruções e dados, e que é chamada de <a href="https://pt.wikipedia.org/wiki/Linguagem_assembly" rel="nofollow"><em>assembly</em></a>. Cada arquitetura possui sua própria linguagem, mas quando programamos em outras linguagens mais &#39;fáceis&#39;, essas linguagens são traduzidas para essa linguagem de máquina, tornando-as mais ou menos independentes da arquitetura que está baixo. Essa tradução é feita por um programa chamado <em>compilador</em>. Esse compilador precisa ter suporte para cada arquitetura diferente e, em alguns casos, o desenvolvedor ou outra pessoa precisa <em>recompilar</em> o programa para uma nova arquitetura. Mas, surgem algumas perguntas:</p>
<ul><li>Qual o interesse comercial do desenvolvedor em adaptar o código e recompilar para uma arquitetura menor e nichada? Vale o investimento?</li>
<li>Se eu tenho interesse em adaptar o código para meu uso, como vou fazer isso se apenas o desenvolvedor, não eu, tem acesso ao código?</li></ul>

<p>Em outras palavras, um software altamente complexo como um sistema operacional (Windows, Mac, Linux) precisa de investimento financeiro proporcional para rodar em outra arquitetura. Então, qual o interesse da empresa em investir nisso, considerando que apenas ela pode fazer isso?</p>

<p>Devido a ser software livre e código aberto e popular em servidores e entre pessoas técnicas, o kernel Linux possui suporte a várias arquiteturas diferentes. Atualmente, a “distribuição universal”, <a href="https://www.debian.org/" rel="nofollow">Debian</a>, lista <a href="https://distrowatch.com/table.php?distribution=debian" rel="nofollow">10 arquiteturas diferentes</a>. O outro sistema operacional de origem semelhante, <a href="https://netbsd.org/" rel="nofollow">NetBSD</a>, lista nada menos do que <a href="https://distrowatch.com/table.php?distribution=netbsd" rel="nofollow">42 arquiteturas suportadas</a>. Porém, como vender esses sistemas para o amplo mercado? Esse é o problema, e é o motivo pelo qual ainda não temos competição ampla de arquiteturas no mercado. Temos apenas alguns poucos fabricantes de nicho vendendo máquinas com outras arquiteturas, mas que “só rodam Linux”:</p>
<ul><li><a href="https://pine64.org/devices/pinebook_pro/" rel="nofollow">Pinebook Pro</a> (com arquitetura ARM)</li>
<li><a href="https://www.tudocelular.com/novos-produtos/noticias/n222626/framework-laptop-13-notebooks-mundo-chip-risc-v.html" rel="nofollow">Framework</a> (com arquitetura RISC-V, ainda não lançado)</li></ul>

<p>Nesse sentido, o uso de software de código fechado pode limitar a inovação nesse mercado. Se o software executado em arquiteturas alternativas fosse de amplo uso, poderia ter havido mais pesquisa e desenvolvimento em alternativas modernas e mais eficientes, desde mais cedo na história. Em resumo, ainda utilizamos x86 fundamentalmente por dois motivos: cultura e legado.</p>

<p>Outras arquiteturas interessantes são o <a href="https://sempreupdate.com.br/linux/tutoriais/tudo-sobre-a-arquitetura-risc-v/" rel="nofollow">RISC-V</a> e <a href="https://unionit.com.br/union-tech/conheca-a-familia-ibm-power/" rel="nofollow">POWER</a>. As duas têm a ideia de “hardware aberto”.</p>

<p>O RISC-V, como o nome já diz, é uma arquitetura do tipo RISC e pode competir diretamente com ARM. Seu diferencial é que é totalmente aberta, não há uma empresa licenciando por trás. Qualquer fabricante pode implementar o seu processador com zero burocracia. Existe um consórcio de várias empresas por trás tentando trazer essa arquitetura para o <em>mainstream</em>.</p>

<p>Já a arquitetura POWER, da IBM, tende mais ao CISC e compete com x86. Ao menos dois projetos nichados vendem dispositivos com essa arquitetura: <a href="https://www.raptorcs.com/content/base/products.html" rel="nofollow">Talos II</a>, voltado ao mercado de servidores, e <a href="https://www.powerpc-notebook.org/pt/" rel="nofollow">PowerPC Notebook</a>, um notebook para uso pessoal.</p>

<p>Como será o mercado daqui pra frente? Qual a arquitetura do futuro? Não sei, só sei que vou continuar usando software livre e facilitando o desenvolvimento de tecnologias melhores.</p>

<p><strong>Sobre mim:</strong></p>

<p>Monaĥo (Vinicius) é ativista vegano e de software livre.</p>

<p><strong>Contato</strong>:</p>

<p><a href="https://bolha.us/@monaho" rel="nofollow">Mastodon</a></p>
]]></content:encoded>
      <guid>https://paper.wf/hardgnu/por-que-demoramos-tanto-para-trazer-processadores-arm-aos-pcs</guid>
      <pubDate>Thu, 09 Jan 2025 23:29:03 +0000</pubDate>
    </item>
  </channel>
</rss>